1 2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>
5 Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
7 * platform/PlatformKeyboardEvent.h: add accessor and member.
8 * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
9 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11 2008-07-25 Simon Hausmann <hausmann@webkit.org>
13 Fix linking of QtWebKit against the statically built JavaScriptCore
14 library, under Windows/Mac we may need _d/_debug suffixes.
18 2008-07-25 Simon Hausmann <hausmann@webkit.org>
20 Rubber-stamped by Lars.
22 Fix the Qt build by adapting to the latest ArgList API changes and
23 replacing the inclusion of npapi.h in MainThreadScheduler with a forward
24 declaration of NPP to avoid an include conflict. npapi.h on X11 includes
25 X headers, which include wonderful defines such as "#define Status" that
28 * bridge/qt/qt_runtime.cpp:
29 (KJS::Bindings::findMethodIndex):
30 (KJS::Bindings::QtRuntimeConnectionMethod::call):
31 * plugins/PluginMainThreadScheduler.h:
33 2008-07-25 Simon Hausmann <hausmann@webkit.org>
35 Discussed with and rubber-stamped by Lars.
37 Fix the build system for the Qt port.
39 Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
40 include search path. With a build process that combines JavaScriptCore and
41 WebCore in one build process/Makefile the existance of
42 JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
44 This commit solves this by introducing a separate build of JavaScriptCore into
47 As a result of the split-up a race-condition due to broken dependencies of
48 regular source files to header files of generated sources showed up very
49 frequently when doing parallel builds (which the buildbot does). This commit at
50 the same time tries to address the dependency problem by making the
51 addExtraCompiler() function also generate a pseudo extra compiler that
52 represents the header file output, so that qmake is aware of the creation of
53 the header file for dependency calculation.
55 At the same time I removed a lot of cruft from the pro files to ease maintenance.
59 2008-07-24 kevino <kevino@theolliviers.com>
61 wx build fix on Win for plugins coode.
63 * plugins/PluginDatabase.cpp:
64 * plugins/PluginView.cpp:
65 (WebCore::PluginView::PluginView):
66 * plugins/PluginView.h:
68 2008-07-24 Sam Weinig <sam@webkit.org>
70 Reviewed by Anders Carlsson.
72 Make isElementNode() non-virtual for a speedup on many benchmarks
73 including 20% on http://ejohn.org/apps/fragment/.
75 - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in
76 Element and Attr where space was available. Use the new free bit
77 to represent if an node is an element or not.
80 (WebCore::Attr::Attr):
82 (WebCore::Attr::specified):
83 (WebCore::Attr::setSpecified):
84 * dom/ContainerNode.cpp:
85 (WebCore::ContainerNode::ContainerNode):
86 * dom/ContainerNode.h:
88 (WebCore::Element::Element):
90 (WebCore::Element::hasRareData):
91 (WebCore::Element::setHasRareData):
92 * dom/EventTargetNode.cpp:
93 (WebCore::EventTargetNode::EventTargetNode):
94 * dom/EventTargetNode.h:
96 (WebCore::Node::Node):
98 (WebCore::Node::isElementNode):
100 2008-07-24 Dan Bernstein <mitz@apple.com>
102 Reviewed by Dave Hyatt.
104 - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
106 Not testable in DumpRenderTree
108 * rendering/RenderView.cpp:
109 (WebCore::RenderView::layout): Ensured that all children with percentage
110 heights get laid out again if the height changes.
112 2008-07-24 kevino <kevino@theolliviers.com>
114 Windows build fix for wx. wx doesn't implement pan scrolling yet.
116 * page/EventHandler.cpp:
117 (WebCore::EventHandler::handleAutoscroll):
118 (WebCore::EventHandler::autoscrollTimerFired):
119 (WebCore::EventHandler::stopAutoscrollTimer):
120 (WebCore::EventHandler::handleMousePressEvent):
122 2008-07-24 David Hyatt <hyatt@apple.com>
124 Fix for bug 18673, crash when using full page zoom on generated content. Don't call
125 intrinsicSizeChanged when we are first setting our style.
130 * rendering/RenderReplaced.cpp:
131 (WebCore::RenderReplaced::setStyle):
133 2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
137 Bug 20053: .in files should use a custom format instead of XML
139 - Remove our XML parser perl module (XML::Tiny)
141 - Add a custom perl parser
143 - Move XML files to the new format
145 * bindings/scripts/InFilesParser.pm: Added.
146 * bindings/scripts/XMLTiny.pm: Removed.
147 * dom/make_names.pl: Switched to our new
150 * html/HTMLAttributeNames.in: Switched to
152 * html/HTMLTagNames.in: Ditto.
153 * svg/svgattrs.in: Ditto.
154 * svg/svgtags.in: Ditto.
155 * svg/xlinkattrs.in: Ditto.
156 * xml/xmlattrs.in: Ditto.
158 2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
162 Bug 19588: CRASH doing open() on destroyed window
163 https://bugs.webkit.org/show_bug.cgi?id=19588
165 Add frame's page null check as it could have been
166 detached from the page.
168 Test: fast/frames/crash-removed-iframe.html
170 * bindings/js/JSDOMWindowBase.cpp:
171 (WebCore::windowProtoFuncOpen):
172 * page/FrameTree.cpp:
173 (WebCore::FrameTree::find):
175 2008-07-23 Dan Bernstein <mitz@apple.com>
177 Reviewed by Alexey Proskuryakov.
179 - fix a leak when using hex color values in CSS variables
181 - fix CSSOM access to hex color values in variables declarations
183 Test: fast/css/variables/color-hex-test.html
185 Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
186 CSSParserValues coming from colors in hex notation. CSSParserValues can
187 no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
188 used as the type for CSSValues in CSS variables declarations where the
189 parser value was a hex color. However the type of all other color
190 CSSValues remains CSS_RGBCOLOR.
192 * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
193 for color values in hex notation.
195 (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
196 * css/CSSParserValues.cpp:
197 (WebCore::CSSParserValue::createCSSValue): Ditto.
198 * css/CSSPrimitiveValue.cpp:
199 (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
200 string containing the color.
201 (WebCore::CSSPrimitiveValue::cssText): Added support for
202 CSS_PARSER_HEXCOLOR for when serializing variable values.
203 (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
204 * css/CSSPrimitiveValue.h:
205 (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
207 2008-07-23 Beth Dakin <bdakin@apple.com>
209 Reviewed by Dan Bernstein.
211 Fix for <rdar://problem/5997215> display: table-row-group
212 for :before content causes a crash
214 The actual bug fix here is to ddd the generated content container
215 as a child before adding any of the generated content to the
216 container. There are two correctness fixes as well that deal with
217 style changes and correctly.
219 This patch also makes Node::diff() a static function.
222 (WebCore::Node::diff):
225 (WebCore::Node::recalcStyle):
226 * rendering/RenderContainer.cpp:
227 (WebCore::findBeforeAfterParent):
228 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
229 * svg/SVGUseElement.cpp:
230 (WebCore::SVGUseElement::recalcStyle):
232 2008-07-23 Timothy Hatcher <timothy@apple.com>
234 Updates the elements DOM tree when nodes are added or removed from
235 the inspected document.
237 https://bugs.webkit.org/show_bug.cgi?id=6590
238 <rdar://problem/5712921>
240 Reviewed by Adam Roben.
242 * loader/FrameLoader.cpp:
243 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
244 InspectorController::inspectedWindowScriptObjectCleared.
245 * page/InspectorController.cpp:
246 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
247 Calls the WebInspector.inspectedWindowCleared script function.
248 * page/InspectorController.h:
249 * page/inspector/ElementsPanel.js:
250 (WebInspector.ElementsPanel): Create the event listener callback wrappers.
251 (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
252 there are any recently modified nodes.
253 (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
254 Adds a check for InspectorController.isWindowVisible to prevent adding
255 event listeners when the window isn't visible.
256 (WebInspector.ElementsPanel.prototype.inspectedWindowCleared):
257 (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
258 DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
259 (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
260 added in _addMutationEventListeners.
261 (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
262 again to reinstate the listners if the document changed or window cleared them.
263 (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
264 _mutationMonitoredWindows and call _addMutationEventListeners.
265 (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
266 _mutationMonitoredWindows and call _removeMutationEventListeners.
267 (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
268 _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
269 clear _mutationMonitoredWindows.
270 (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
271 to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
272 (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
273 (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
274 (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
275 _updateModifiedNodes on a zero timeout.
276 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
277 the recentlyModifiedNodes array and call updateChildren on all the parent
278 elements that had changes. Only calls updateChildren once per parent element.
279 (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
280 false if the nodes are the same. Return true if the nodes are the same while
281 looking at ancestor frame elements. THis use to return false, which was incorrect.
282 (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
283 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
284 onpopulate and changed to rebuild the children elements by adding new children,
285 moving existing children and removed old children.
286 (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
287 call registerMutationEventListeners to track any mutations.
288 * page/inspector/inspector.js:
289 (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
290 * page/inspector/treeoutline.js:
291 (TreeElement.prototype.get hasChildren): Return _hasChildren.
292 (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
293 (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
294 (TreeElement.prototype.expand): Fix an exception that can happen if expand is
295 called before _attach.
296 * WebCore/manual-tests/inspector/dom-mutation.html: Added.
297 * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
298 * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
300 2008-07-22 Timothy Hatcher <timothy@apple.com>
302 Fix an exception that occurred when double clicking the closing tag
303 of an element in the DOM tree.
305 Reviewed by Anders Carlsson.
307 * page/inspector/ElementsPanel.js:
308 (WebInspector.ElementsPanel.prototype._ondblclick): Null check
311 2008-07-22 Timothy Hatcher <timothy@apple.com>
313 Fix a regression where elements in subframes would not be revealed
314 or selected when inspected from the context menu. This was caused by
315 JavaScript equality is not being true for JSInspectedObjectWrappers
316 of the same node wrapped with different global ExecStates. This change
317 adds a helper function that uses isSameNode to compare wrapped nodes.
319 https://bugs.webkit.org/show_bug.cgi?id=19377
321 Reviewed by Adam Roben.
323 * page/inspector/ElementsPanel.js:
324 (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
326 (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
327 (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto.
328 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
329 (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
330 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
331 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
332 * page/inspector/treeoutline.js:
333 (TreeOutline.prototype.findTreeElement): Add an equal argument
334 to accept a functions to compare two representedObjects. Defaults
335 to strict equal if not supplied. All current clients pass objectsAreSame.
336 * page/inspector/utilities.js:
337 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
339 (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
340 (Element.prototype.query): Use the ownerDocument of the node, not document.
341 (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
342 it exists on both objects.
343 (isAncestorNode): Use objectsAreSame to compare nodes.
344 (firstCommonNodeAncestor): Ditto.
345 (traverseNextNode): Ditto.
347 2008-07-21 Timothy Hatcher <timothy@apple.com>
349 Added InspectorController.isWindowVisible to the JavaScript class
350 for use in an upcoming change. This will allow the Inspector to not
351 perform selective actions while the window is hidden.
353 Reviewed by Adam Roben.
355 * page/InspectorController.cpp:
356 (WebCore::isWindowVisible): Call InspectorController::windowVisible.
357 (WebCore::InspectorController::windowScriptObjectAvailable): Add
358 the isWindowVisible function to the JavaScript class.
360 2008-07-21 Timothy Hatcher <timothy@apple.com>
362 Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
363 for efficiency of callers that know the index of the child. This
364 will be used in an upcoming change.
366 Reviewed by Adam Roben.
368 * page/inspector/treeoutline.js:
369 (TreeOutline._removeChildAtIndex): Renamed from _removeChild
370 and modified to take an index.
371 (TreeOutline._removeChild): Call _removeChildAtIndex with the
372 child index found using indexOf.
373 (TreeOutline.prototype.removeChildAtIndex): Added. Calls
374 TreeOutline._removeChildAtIndex.
375 (TreeElement.prototype.removeChildAtIndex): Ditto.
377 2008-07-21 Timothy Hatcher <timothy@apple.com>
379 Fixes a regression where TreeOutline.findTreeElement would
380 return the parent TreeElement of the representedObject instead
381 of the TreeElement for the representedObject. Regressed with the
384 Reviewed by Adam Roben.
386 * page/inspector/treeoutline.js:
387 (TreeOutline.prototype.findTreeElement): When performing a slow search,
388 do a final search for representedObject instead of returning item, which
389 is the parent of representedObject.
391 2008-07-23 Adele Peterson <adele@apple.com>
395 WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
397 * WebCore.base.exp: Added symbols.
399 (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
400 (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
401 * page/ChromeClient.h:
403 (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
404 (WebCore::Settings::setShouldPaintCustomScrollbars):
405 * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
406 * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
407 * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
408 * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
409 * platform/win/PlatformScrollBarSafari.cpp:
410 (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
411 (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
412 (WebCore::ScrollbarControlStateFromThemeState): ditto.
413 (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
414 Added new code to paint the custom scrollbars if necessary.
415 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
417 2008-07-23 Sam Weinig <sam@webkit.org>
419 Reviewed by Anders Carlsson.
421 Cleanup and pack the member variables in Node.
423 * bindings/js/JSNodeCustom.cpp:
424 (WebCore::JSNode::mark):
426 (WebCore::Attr::Attr):
428 (WebCore::Attr::specified):
429 (WebCore::Attr::setSpecified):
430 * dom/ContainerNode.cpp:
431 (WebCore::ContainerNode::setFocus):
433 (WebCore::Document::adoptNode):
435 (WebCore::Element::~Element):
436 (WebCore::Element::rareData):
437 (WebCore::Element::createRareData):
439 (WebCore::Element::hasRareData):
440 (WebCore::Element::setHasRareData):
442 (WebCore::Node::setIsLink):
443 (WebCore::Node::inSubtreeMark):
444 (WebCore::Node::setInSubtreeMark):
445 (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
446 (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
447 * html/HTMLAnchorElement.cpp:
448 (WebCore::HTMLAnchorElement::supportsFocus):
449 (WebCore::HTMLAnchorElement::isFocusable):
450 (WebCore::HTMLAnchorElement::defaultEventHandler):
451 (WebCore::HTMLAnchorElement::parseMappedAttribute):
452 (WebCore::HTMLAnchorElement::isLiveLink):
453 * html/HTMLImageElement.cpp:
454 (WebCore::HTMLImageElement::parseMappedAttribute):
455 * html/HTMLInputElement.cpp:
456 (WebCore::HTMLInputElement::setInputType):
457 * html/HTMLTableElement.cpp:
458 (WebCore::HTMLTableElement::attach):
459 * svg/SVGAElement.cpp:
460 (WebCore::SVGAElement::svgAttributeChanged):
461 (WebCore::SVGAElement::defaultEventHandler):
463 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
467 Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
469 Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
471 * platform/graphics/win/QTMovieWin.cpp:
472 (QTMovieWinPrivate::QTMovieWinPrivate):
473 (QTMovieWinPrivate::~QTMovieWinPrivate):
474 (QTMovieWinPrivate::task):
475 (QTMovieWinPrivate::createMovieController):
476 (QTMovieWinPrivate::createGWorld):
477 (QTMovieWinPrivate::setSize):
478 (QTMovieWinPrivate::deleteGWorld):
481 (QTMovieWin::setRate):
482 (QTMovieWin::setCurrentTime):
485 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
489 Added a debug mode for viewing frames per second for videos. This is controlled by two
490 independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
491 Unless either flags is turned on there is no change to the code for video frame drawing.
493 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
494 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
495 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
496 (WebCore::MediaPlayerPrivate::play):
497 (WebCore::MediaPlayerPrivate::pause):
498 (WebCore::MediaPlayerPrivate::didEnd):
499 (WebCore::MediaPlayerPrivate::repaint):
500 (WebCore::MediaPlayerPrivate::paint):
501 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
502 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
503 (WebCore::MediaPlayerPrivate::play):
504 (WebCore::MediaPlayerPrivate::pause):
505 (WebCore::MediaPlayerPrivate::didEnd):
506 (WebCore::MediaPlayerPrivate::paint):
507 (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
508 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
510 2008-07-23 Adele Peterson <adele@apple.com>
514 Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
516 * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
517 Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
518 * platform/graphics/GraphicsContext.h:
519 (WebCore::): Added InterpolationQuality enum.
520 (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
521 The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
522 (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
523 * platform/graphics/cg/GraphicsContextCG.cpp:
524 (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
525 (WebCore::GraphicsContext::imageInterpolationQuality): Added.
526 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
527 Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
529 2008-07-23 Sam Weinig <sam@webkit.org>
531 Reviewed by Anders Carlsson.
533 Remove extraneous allocations by using equalIgnoringCase rather than
536 * dom/StyledElement.cpp:
537 (WebCore::StyledElement::addCSSColor):
538 * html/HTMLCollection.cpp:
539 (WebCore::HTMLCollection::checkForNameMatch):
540 * html/HTMLFormCollection.cpp:
541 (WebCore::HTMLFormCollection::getNamedFormItem):
542 * html/HTMLLinkElement.cpp:
543 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
544 * html/HTMLObjectElement.cpp:
545 (WebCore::HTMLObjectElement::containsJavaApplet):
546 * html/PreloadScanner.cpp:
547 (WebCore::PreloadScanner::emitCSSRule):
548 * loader/FrameLoader.cpp:
549 (WebCore::FrameLoader::createJavaAppletWidget):
550 * page/DOMSelection.cpp:
551 (WebCore::DOMSelection::modify):
552 * rendering/RenderPartObject.cpp:
553 (WebCore::RenderPartObject::updateWidget):
555 2008-07-23 Maxime Britto <britto@apple.com>
557 Reviewed by Adam Roben.
559 <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
560 Add a check for the m_page member value before asking for page()->mainFrame()
562 * page/EventHandler.cpp:
563 (WebCore::EventHandler::stopAutoscrollTimer):
565 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
569 Fix for <rdar://problem/5710065> QT movies should be inactive when opened
571 Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
572 until after movie tracks of unsupported types have been disabled, to make sure they never draw.
574 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
575 (WebCore::MediaPlayerPrivate::load):
576 (WebCore::MediaPlayerPrivate::updateStates):
577 (WebCore::MediaPlayerPrivate::setVisible):
579 2008-07-22 Maxime Britto <britto@apple.com>
581 Reviewed by John Sullivan.
583 <rdar://problem/6083116>
584 When pan-scrolling, Back then Forward causes pan-scrolling to start again
587 (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
588 * loader/FrameLoader.cpp:
589 (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
591 2008-07-22 Geoffrey Garen <ggaren@apple.com>
593 Reviewed by Oliver Hunt and Sam Weinig.
595 Next step toward putting doubles in registers: Prepare the Register class
596 and its clients for registers that don't contain JSValue*s.
598 2008-07-22 Sam Weinig <sam@webkit.org>
600 Reviewed by Mark Rowe.
602 <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
603 Add additional support for JPEG and GIF for toDataURL encoding canvases.
605 * platform/MIMETypeRegistry.cpp:
606 (WebCore::initializeSupportedImageMIMETypesForEncoding):
607 * platform/graphics/cg/ImageBufferCG.cpp:
608 (WebCore::utiFromMIMEType):
610 2008-07-22 Chris Fleizach <cfleizach@apple.com>
612 Reviewed by Dave Hyatt.
614 <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
615 Test: accessibility/internal-link-anchors2.html
617 * page/AccessibilityRenderObject.cpp:
618 (WebCore::AccessibilityRenderObject::internalLinkElement):
620 2008-07-22 Anders Carlsson <andersca@apple.com>
624 Allocate the empty StringImpl from the heap.
626 * platform/text/StringImpl.cpp:
627 (WebCore::StringImpl::empty):
629 2008-07-21 Kevin McCullough <kmccullough@apple.com>
633 <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
635 - Implement UI for Heavy (Bottom Up) view.
637 * English.lproj/localizedStrings.js:
638 * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
639 profile from a profile to the Web Inspector's JavaScript.
640 (WebCore::getHeavyProfileCallback):
641 (WebCore::getTreeProfileCallback):
642 (WebCore::ProfileClass):
643 * page/inspector/ProfileView.js: Implement the dropdown for changing
645 * page/inspector/inspector.css:
647 2008-07-22 Alexey Proskuryakov <ap@webkit.org>
649 Reviewed by Adam Roben.
651 <rdar://problem/5955602> WebKit should support charset name x-windows-949
653 Test: fast/encoding/char-decoding.html
655 * platform/text/TextCodecICU.cpp:
656 (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
657 Firefox compatibility.
659 2008-07-22 Gavin Barraclough <barraclough@apple.com>
661 Reviewed by Alexey Proskuryakov.
663 New test to check that arrays fail gracefully (throw an out of memory exception)
664 when the vector grows to large.
666 * manual-tests/array-out-of-memory.html: Added.
668 2008-07-21 Alexey Proskuryakov <ap@webkit.org>
670 Reviewed by Dan Bernstein.
672 https://bugs.webkit.org/show_bug.cgi?id=20117
673 setBaseAndExtent fails to reverse the current selection
675 Test: editing/selection/setBaseAndExtent-revert-selection.html
677 * editing/Selection.h: (WebCore::operator==): Compare direction, too.
679 2008-07-21 Julien Chaffraix <jchaffraix@webkit.org>
681 Reviewed by Sam Weinig.
683 Bug 19919: Add selectors' string parsing in CSSParser
684 https://bugs.webkit.org/show_bug.cgi?id=19919
686 No functional change.
688 * css/CSSGrammar.y: Added entry for parsing only a selector.
690 (WebCore::CSSParser::CSSParser):
691 (WebCore::CSSParser::parseSelector):
692 * css/CSSParser.h: Added m_floatingSelector to hold the
693 Selector parsed in parseSelector.
695 * css/tokenizer.flex: Added "@-webkit-selector" token.
697 (WebCore::Node::querySelector):
698 (WebCore::Node::querySelectorAll): Switched to parseSelector
701 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
705 Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
707 * platform/graphics/win/QTMovieWin.cpp:
708 (initializeSupportedTypes): Do a Quicktime version minimum version check.
709 (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
711 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
715 Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
717 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
718 so that everything starts back up normally when the page is retrieved from the cache.
720 2008-07-21 Sam Weinig <sam@webkit.org>
722 Reviewed by Mark Rowe.
724 Remove unused interface declaration.
726 * platform/network/mac/ResourceHandleMac.mm:
728 2008-07-21 Mark Rowe <mrowe@apple.com>
730 Reviewed by Sam Weinig.
732 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
734 * Configurations/Version.xcconfig:
737 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
741 Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
743 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
744 * platform/graphics/MediaPlayer.h:
745 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
746 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
748 2008-07-21 Anders Carlsson <andersca@apple.com>
752 Don't allow requests to be made when the document loader is stopping all loaders.
754 * plugins/PluginView.cpp:
755 (WebCore::PluginView::load):
757 2008-07-20 Maxime Britto <britto@apple.com>
759 Reviewed by John Sullivan.
761 [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
762 Accelerate and enhance the smoothness of the pan scrollling.
764 * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
765 * rendering/RenderLayer.cpp:
766 (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
768 2008-07-18 David Hyatt <hyatt@apple.com>
770 Change the cached clip rects to not assume they should be infinite when the root layer has been
771 shifted as the result of a transformation.
775 Added fast/transforms/overflow-with-transform.html
777 * rendering/RenderLayer.cpp:
778 (WebCore::RenderLayer::calculateClipRects):
780 2008-07-21 Rob Buis <buis@kde.org>
784 https://bugs.webkit.org/show_bug.cgi?id=19966
785 CSS variables crash when using hex notation for colors
787 Support hex colors as values for the css variables.
789 Test: fast/css/variables/color-hex-test.html
791 * css/CSSParserValues.cpp:
792 (WebCore::CSSParserValue::createCSSValue):
793 * css/CSSPrimitiveValue.cpp:
794 (WebCore::CSSPrimitiveValue::parserValue):
795 * css/CSSVariablesRule.cpp:
797 2008-07-21 Simon Hausmann <hausmann@webkit.org>
801 Fix drawing of windowless plugins on Windows with the Qt port by
802 avoiding the reset of the translation of the HDC to 0, 0.
804 * plugins/win/PluginViewWin.cpp:
805 (WebCore::PluginView::paint):
807 2008-07-21 Simon Hausmann <hausmann@webkit.org>
811 Fix rendering of transparent windowless netscape plugins by passing
812 the right conversion parameter to QPixmap::fromWinHBITMAP when
813 converting from HBITMAP to QPixmap.
815 * platform/graphics/qt/GraphicsContextQt.cpp:
816 (WebCore::GraphicsContext::releaseWindowsContext):
818 2008-07-21 Simon Hausmann <hausmann@webkit.org>
822 In the implementation of getValue for NPNVnetscapeWindow treat
823 windowHandleForPlatformWidget on the return value of
824 containingWindow() to receive the correct HWND for the Qt port.
826 * plugins/win/PluginViewWin.cpp:
827 (WebCore::PluginView::getValue):
829 2008-07-21 Simon Hausmann <hausmann@webkit.org>
833 Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
834 a QWidget. This can happen on page/view destruction for example.
836 * plugins/win/PluginViewWin.cpp:
837 (windowHandleForPlatformWidget):
839 2008-07-20 Steve Falkenburg <sfalken@apple.com>
841 Touch file to force rebuild for vsprops change.
845 2008-07-20 Sam Weinig <sam@webkit.org>
847 Remove extra space Oliver Hunt left in.
850 (WebCore::Console::reportException):
851 (WebCore::Console::reportCurrentException):
853 2008-07-20 Oliver Hunt <oliver@apple.com>
855 Reviewed by Dan Bernstein.
857 Bug 19757: Crash when an ondragstart handler hides the element
858 <https://bugs.webkit.org/show_bug.cgi?id=19757>
860 The solution to this is problem is just to null check the renderer
861 immediately before launching the system drag, and terminate the
862 drag if the renderer is gone.
864 * page/EventHandler.cpp:
865 (WebCore::EventHandler::handleDrag):
867 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
871 Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
873 Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
874 Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
876 * svg/SVGPointList.cpp:
877 (WebCore::SVGPointList::valueAsString):
878 * svg/SVGPointList.h:
879 (WebCore::SVGPointList::create):
880 * svg/SVGPolyElement.cpp:
881 (WebCore::SVGPolyElement::SVGPolyElement):
882 (WebCore::SVGPolyElement::svgAttributeChanged):
883 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
884 * svg/SVGPolyElement.h:
886 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
890 Cleanup JSSVGPODTypeWrapper code.
892 Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
893 JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper
894 JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache
896 No functional changes.
898 * bindings/js/JSSVGMatrixCustom.cpp:
899 (WebCore::JSSVGMatrix::multiply):
900 (WebCore::JSSVGMatrix::inverse):
901 (WebCore::JSSVGMatrix::translate):
902 (WebCore::JSSVGMatrix::scale):
903 (WebCore::JSSVGMatrix::scaleNonUniform):
904 (WebCore::JSSVGMatrix::rotate):
905 (WebCore::JSSVGMatrix::rotateFromVector):
906 (WebCore::JSSVGMatrix::flipX):
907 (WebCore::JSSVGMatrix::flipY):
908 (WebCore::JSSVGMatrix::skewX):
909 (WebCore::JSSVGMatrix::skewY):
910 * bindings/js/JSSVGPODTypeWrapper.h:
911 (WebCore::JSSVGDynamicPODTypeWrapper::create):
912 (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
913 (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
914 (WebCore::JSSVGStaticPODTypeWrapper::create):
915 (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
916 (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
917 (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
918 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
919 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
920 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
921 (WebCore::PODTypeWrapperCacheInfo::operator==):
922 (WebCore::PODTypeWrapperCacheInfoHash::hash):
923 (WebCore::PODTypeWrapperCacheInfoHash::equal):
924 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
925 (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
926 (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
927 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
928 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
929 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
930 * bindings/js/JSSVGPointListCustom.cpp:
931 (WebCore::finishGetter):
932 (WebCore::finishSetter):
933 (WebCore::finishSetterReadOnlyResult):
934 (WebCore::JSSVGPointList::initialize):
935 (WebCore::JSSVGPointList::insertItemBefore):
936 (WebCore::JSSVGPointList::replaceItem):
937 (WebCore::JSSVGPointList::appendItem):
938 * bindings/js/JSSVGTransformListCustom.cpp:
939 (WebCore::finishGetter):
940 (WebCore::finishSetter):
941 (WebCore::finishSetterReadOnlyResult):
942 (WebCore::JSSVGTransformList::initialize):
943 (WebCore::JSSVGTransformList::getItem):
944 (WebCore::JSSVGTransformList::insertItemBefore):
945 (WebCore::JSSVGTransformList::replaceItem):
946 (WebCore::JSSVGTransformList::removeItem):
947 (WebCore::JSSVGTransformList::appendItem):
948 * bindings/scripts/CodeGeneratorJS.pm:
950 2008-07-19 Oliver Hunt <oliver@apple.com>
952 Reviewed by Mark Rowe.
954 Bug 15979: Console logs in a database callback lose line number information
955 <https://bugs.webkit.org/show_bug.cgi?id=15979>
957 The problem was that there were multiple versions of the logic to
958 log an exception to the console, many of which were incorrect. We
959 resolve this by making one single shared reportException method,
960 which handles the exceptions correctly.
962 This improves fidelity of callback errors, and ensures that
963 exceptions thrown in timer callbacks correctly report line numbers,
966 Test: fast/js/exceptions-thrown-in-callbacks.html
968 * bindings/js/JSCustomSQLStatementCallback.cpp:
969 (WebCore::JSCustomSQLStatementCallback::handleEvent):
970 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
971 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
972 * bindings/js/JSCustomSQLTransactionCallback.cpp:
973 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
974 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
975 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
976 * bindings/js/JSCustomVoidCallback.cpp:
977 (WebCore::JSCustomVoidCallback::handleEvent):
978 * bindings/js/JSCustomXPathNSResolver.cpp:
979 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
980 * bindings/js/JSEventListener.cpp:
981 (WebCore::JSAbstractEventListener::handleEvent):
982 * bindings/js/ScheduledAction.cpp:
983 (WebCore::ScheduledAction::execute):
984 * bindings/js/ScriptController.cpp:
985 (WebCore::ScriptController::evaluate):
986 * bindings/objc/WebScriptObject.mm:
987 (WebCore::addExceptionToConsole):
989 (WebCore::Console::reportException):
992 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
994 Rubber stamped by Oliver.
996 Another attempt to fix the win build.
998 * svg/SVGAnimatedProperty.h:
1000 2008-07-20 Alexey Proskuryakov <ap@webkit.org>
1002 Reviewed by David Kilzer.
1004 Fix high CPU usage on testmyiphone.com.
1006 - Made the logic for determining when to stop looking for meta charset more strainghtforward.
1007 Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
1008 bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
1009 offending tag was seen at any point before).
1011 - The above change made one of our regression tests fail, because it had its <meta>
1012 declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
1014 - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
1016 - Moved a check for XML content type out of the loop.
1018 * loader/TextResourceDecoder.cpp:
1019 (WebCore::TextResourceDecoder::checkForHeadCharset):
1021 2008-07-20 Oliver Hunt <oliver@apple.com>
1023 Reviewed by NOBODY (build fix).
1025 Attempt to fix windows build
1027 * svg/SVGAnimatedProperty.h:
1029 2008-07-19 Nikolas Zimmermann <zimmermann@kde.org>
1031 Reviewed by Oliver & parts by Eric.
1033 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
1035 Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
1036 Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
1039 (WebCore::Element::attributes):
1040 (WebCore::Element::getAttribute):
1041 (WebCore::Element::hasAttributes):
1043 (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
1044 * svg/SVGAElement.cpp:
1045 (WebCore::SVGAElement::SVGAElement):
1046 * svg/SVGAElement.h:
1047 * svg/SVGAltGlyphElement.h:
1048 * svg/SVGAnimatedProperty.h: Added.
1049 * svg/SVGAnimatedTemplate.h:
1050 (WebCore::lookupOrCreateWrapper):
1051 * svg/SVGAnimationElement.h:
1052 * svg/SVGCircleElement.cpp:
1053 (WebCore::SVGCircleElement::SVGCircleElement):
1054 * svg/SVGCircleElement.h:
1055 * svg/SVGClipPathElement.cpp:
1056 (WebCore::SVGClipPathElement::SVGClipPathElement):
1057 * svg/SVGClipPathElement.h:
1058 * svg/SVGComponentTransferFunctionElement.cpp:
1059 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
1060 * svg/SVGComponentTransferFunctionElement.h:
1061 * svg/SVGCursorElement.cpp:
1062 (WebCore::SVGCursorElement::SVGCursorElement):
1063 * svg/SVGCursorElement.h:
1064 * svg/SVGDefsElement.h:
1065 (WebCore::SVGDefsElement::contextElement):
1066 * svg/SVGElement.cpp:
1067 (WebCore::SVGElement::updateAnimatedSVGAttribute):
1069 (WebCore::SVGElement::supplementalTransform):
1070 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
1071 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
1072 (WebCore::SVGElement::addSVGPropertySynchronizer):
1073 * svg/SVGEllipseElement.cpp:
1074 (WebCore::SVGEllipseElement::SVGEllipseElement):
1075 * svg/SVGEllipseElement.h:
1076 * svg/SVGExternalResourcesRequired.cpp:
1077 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
1078 * svg/SVGExternalResourcesRequired.h:
1079 * svg/SVGFEBlendElement.cpp:
1080 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1081 * svg/SVGFEBlendElement.h:
1082 * svg/SVGFEColorMatrixElement.cpp:
1083 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1084 * svg/SVGFEColorMatrixElement.h:
1085 * svg/SVGFEComponentTransferElement.cpp:
1086 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1087 * svg/SVGFEComponentTransferElement.h:
1088 * svg/SVGFECompositeElement.cpp:
1089 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1090 * svg/SVGFECompositeElement.h:
1091 * svg/SVGFEDiffuseLightingElement.cpp:
1092 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1093 * svg/SVGFEDiffuseLightingElement.h:
1094 * svg/SVGFEDisplacementMapElement.cpp:
1095 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1096 * svg/SVGFEDisplacementMapElement.h:
1097 * svg/SVGFEFloodElement.h:
1098 * svg/SVGFEGaussianBlurElement.cpp:
1099 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1100 * svg/SVGFEGaussianBlurElement.h:
1101 * svg/SVGFEImageElement.cpp:
1102 (WebCore::SVGFEImageElement::SVGFEImageElement):
1103 * svg/SVGFEImageElement.h:
1104 * svg/SVGFELightElement.cpp:
1105 (WebCore::SVGFELightElement::SVGFELightElement):
1106 * svg/SVGFELightElement.h:
1107 (WebCore::SVGFELightElement::contextElement):
1108 * svg/SVGFEMergeElement.h:
1109 * svg/SVGFEMergeNodeElement.cpp:
1110 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
1111 * svg/SVGFEMergeNodeElement.h:
1112 * svg/SVGFEOffsetElement.cpp:
1113 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1114 * svg/SVGFEOffsetElement.h:
1115 * svg/SVGFESpecularLightingElement.cpp:
1116 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1117 * svg/SVGFESpecularLightingElement.h:
1118 * svg/SVGFETileElement.cpp:
1119 (WebCore::SVGFETileElement::SVGFETileElement):
1120 * svg/SVGFETileElement.h:
1121 * svg/SVGFETurbulenceElement.cpp:
1122 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1123 * svg/SVGFETurbulenceElement.h:
1124 * svg/SVGFilterElement.cpp:
1125 (WebCore::SVGFilterElement::SVGFilterElement):
1126 * svg/SVGFilterElement.h:
1127 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1128 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1129 * svg/SVGFilterPrimitiveStandardAttributes.h:
1130 * svg/SVGFitToViewBox.cpp:
1131 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1132 * svg/SVGFitToViewBox.h:
1133 * svg/SVGFontElement.h:
1134 (WebCore::SVGFontElement::rendererIsNeeded):
1135 (WebCore::SVGFontElement::contextElement):
1136 * svg/SVGForeignObjectElement.cpp:
1137 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1138 * svg/SVGForeignObjectElement.h:
1139 * svg/SVGGElement.h:
1140 * svg/SVGGradientElement.cpp:
1141 (WebCore::SVGGradientElement::SVGGradientElement):
1142 * svg/SVGGradientElement.h:
1143 (WebCore::SVGGradientElement::contextElement):
1144 * svg/SVGImageElement.cpp:
1145 (WebCore::SVGImageElement::SVGImageElement):
1146 * svg/SVGImageElement.h:
1147 * svg/SVGLineElement.cpp:
1148 (WebCore::SVGLineElement::SVGLineElement):
1149 * svg/SVGLineElement.h:
1150 * svg/SVGLinearGradientElement.cpp:
1151 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1152 * svg/SVGLinearGradientElement.h:
1153 * svg/SVGMarkerElement.cpp:
1154 (WebCore::SVGMarkerElement::SVGMarkerElement):
1155 (WebCore::SVGMarkerElement::canvasResource):
1156 * svg/SVGMarkerElement.h:
1157 * svg/SVGMaskElement.cpp:
1158 (WebCore::SVGMaskElement::SVGMaskElement):
1159 * svg/SVGMaskElement.h:
1160 * svg/SVGPathElement.cpp:
1161 (WebCore::SVGPathElement::SVGPathElement):
1162 (WebCore::SVGPathElement::parseMappedAttribute):
1163 * svg/SVGPathElement.h:
1164 * svg/SVGPatternElement.cpp:
1165 (WebCore::SVGPatternElement::SVGPatternElement):
1166 * svg/SVGPatternElement.h:
1167 (WebCore::SVGPatternElement::contextElement):
1168 * svg/SVGPolyElement.h:
1169 * svg/SVGPreserveAspectRatio.cpp:
1170 * svg/SVGRadialGradientElement.cpp:
1171 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1172 * svg/SVGRadialGradientElement.h:
1173 * svg/SVGRectElement.cpp:
1174 (WebCore::SVGRectElement::SVGRectElement):
1175 * svg/SVGRectElement.h:
1176 * svg/SVGSVGElement.cpp:
1177 (WebCore::SVGSVGElement::SVGSVGElement):
1178 * svg/SVGSVGElement.h:
1179 * svg/SVGScriptElement.cpp:
1180 * svg/SVGScriptElement.h:
1181 * svg/SVGStopElement.cpp:
1182 (WebCore::SVGStopElement::SVGStopElement):
1183 * svg/SVGStopElement.h:
1184 * svg/SVGStyledElement.cpp:
1185 (WebCore::SVGStyledElement::SVGStyledElement):
1186 * svg/SVGStyledElement.h:
1187 * svg/SVGStyledTransformableElement.cpp:
1188 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1189 * svg/SVGStyledTransformableElement.h:
1190 * svg/SVGSwitchElement.h:
1191 * svg/SVGSymbolElement.h:
1192 (WebCore::SVGSymbolElement::contextElement):
1193 * svg/SVGTRefElement.h:
1194 * svg/SVGTSpanElement.h:
1195 * svg/SVGTextContentElement.cpp:
1196 (WebCore::SVGTextContentElement::SVGTextContentElement):
1197 * svg/SVGTextContentElement.h:
1198 (WebCore::SVGTextContentElement::contextElement):
1199 * svg/SVGTextElement.cpp:
1200 (WebCore::SVGTextElement::SVGTextElement):
1201 * svg/SVGTextElement.h:
1202 * svg/SVGTextPathElement.cpp:
1203 (WebCore::SVGTextPathElement::SVGTextPathElement):
1204 * svg/SVGTextPathElement.h:
1205 * svg/SVGTextPositioningElement.cpp:
1206 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1207 * svg/SVGTextPositioningElement.h:
1208 * svg/SVGTransformable.h:
1209 * svg/SVGURIReference.cpp:
1210 (WebCore::SVGURIReference::SVGURIReference):
1211 * svg/SVGURIReference.h:
1212 * svg/SVGUseElement.cpp:
1213 (WebCore::SVGUseElement::SVGUseElement):
1214 * svg/SVGUseElement.h:
1215 * svg/SVGViewElement.h:
1216 * svg/SVGViewSpec.h:
1218 2008-07-18 Maxime Britto <britto@apple.com>
1222 Fixed <rdar://problem/6049803>
1223 Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
1225 Test: fast/events/autoscroll-with-non-scrollable-parent.html
1228 * page/EventHandler.cpp: Edited
1229 (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
1230 (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
1231 * rendering/RenderLayer.cpp:
1232 (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
1233 * rendering/RenderListBox.h:
1234 (WebCore::RenderListBox::canBeProgramaticallyScrolled):
1235 * rendering/RenderObject.cpp:
1236 (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer
1237 (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
1238 * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
1239 * rendering/RenderTextControl.h:
1240 (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
1242 2008-07-18 Sam Weinig <sam@webkit.org>
1244 Reviewed by Anders Carlsson.
1246 <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
1248 - Overload XMLHttpRequests send() method to accept File tokens.
1250 * bindings/js/JSXMLHttpRequestCustom.cpp:
1251 (WebCore::JSXMLHttpRequest::send):
1252 * xml/XMLHttpRequest.cpp:
1253 (WebCore::XMLHttpRequest::send):
1254 * xml/XMLHttpRequest.h:
1256 2008-07-18 Geoffrey Garen <ggaren@apple.com>
1258 Reviewed by Cameron Zwarich.
1262 "CallTypeNative" => "CallTypeHost"
1263 "code" => "byteCode"
1264 "generatedCode" => "generatedByteCode"
1266 2008-07-18 Adele Peterson <adele@apple.com>
1268 Reviewed by Dan Bernstein.
1270 I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
1271 which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
1272 This change will now check both the media element and the player to decide whether or not to make the controls persistent.
1274 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
1276 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1280 Remove braces around single-line conditional.
1282 * css/CSSComputedStyleDeclaration.cpp:
1283 (WebCore::computedTransform):
1285 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1287 Reviewed by Dave Hyatt
1289 getComputedStyle() for -webkit-transform should return
1290 'none' for elements with no renderer, or those with no
1293 https://bugs.webkit.org/show_bug.cgi?id=20008
1295 Testcase: LayoutTests/fast/css/computed-style-without-renderer
1296 LayoutTests/fast/css/computed-style-expected.txt
1298 * css/CSSComputedStyleDeclaration.cpp:
1299 (WebCore::computedTransform):
1301 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1303 Reviewed by Dave Hyatt
1305 Fix assertion about creating Length values with percentage types
1306 when blending transforms.
1307 https://bugs.webkit.org/show_bug.cgi?id=20086
1309 * rendering/style/RenderStyle.cpp:
1310 (WebCore::TranslateTransformOperation::blend):
1312 2008-07-17 Jacob Refstrup <jacob.refstrup@hp.com>
1314 Reviewed by rwlbuis@gmail.com
1316 https://bugs.webkit.org/show_bug.cgi?id=19965
1318 - Added "@"{ident} rule (below other @-rules) to use flex for longest match
1319 (if an earlier rule - e.g. @media - also matches then flex chooses that one
1320 however, if a longer match - e.g. @mediaall matches flex will choose that)
1321 - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
1322 in the error recovery grammar.
1324 Test: css2.1/atrule_longest_match.html
1328 * css/tokenizer.flex:
1330 2008-07-17 David Hyatt <hyatt@apple.com>
1332 Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
1333 recursive (and checks for transparency layers all the way up the ancestor document chain back to
1334 the top-level frame).
1338 * rendering/RenderView.cpp:
1339 (WebCore::RenderView::paintBoxDecorations):
1341 2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>
1343 REGRESSION: Can't create windowless plug-in with Flash 9
1344 https://bugs.webkit.org/show_bug.cgi?id=20070
1346 Reviewed by Mark Rowe.
1348 * plugins/win/PluginPackageWin.cpp:
1349 (WebCore::PluginPackage::determineQuirks): Reverse argument order;
1350 PlatformModuleVersion constructor takes leastSig, mostSig.
1352 2008-07-16 Eric Seidel <eric@webkit.org>
1356 Attempt to make initializeATSUStyle human-readable by
1357 splitting it out into better-named static inline functions.
1359 No functional changes, thus no tests.
1361 * platform/graphics/mac/FontMac.mm:
1362 (WebCore::fontHasMirroringInfo):
1363 (WebCore::disableLigatures):
1364 (WebCore::initializeATSUStyle):
1366 2008-07-16 Eric Seidel <eric@webkit.org>
1368 No review, build fix only.
1370 Attempt to fix Mac build
1372 * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
1374 2008-07-16 Eric Seidel <eric@webkit.org>
1378 Make ATSULayoutParameters a real C++ class
1379 (Give it a destructor to clean up after itself)
1380 (Also use OwnArrayPtr instead of manual member cleanup)
1382 * platform/graphics/mac/FontMac.mm:
1383 (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1384 (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
1385 (WebCore::overrideLayoutOperation):
1386 (WebCore::ATSULayoutParameters::initialize):
1387 (WebCore::Font::selectionRectForComplexText):
1388 (WebCore::Font::drawComplexText):
1389 (WebCore::Font::floatWidthForComplexText):
1390 (WebCore::Font::offsetForPositionForComplexText):
1392 2008-07-16 Eric Seidel <eric@webkit.org>
1396 Make ownership of copied UChar buffer clearer
1397 (and more leak-proof) by using a OwnArrayPtr.
1399 No functional changes, thus no tests.
1401 * platform/graphics/mac/FontMac.mm:
1402 (WebCore::copyRunForDirectionalOverrideIfNecessary):
1403 (WebCore::Font::selectionRectForComplexText):
1404 (WebCore::Font::drawComplexText):
1405 (WebCore::Font::offsetForPositionForComplexText):
1407 2008-07-16 Eric Seidel <eric@webkit.org>
1411 Split out TextRun into its own header file.
1412 Re-order members to place all bools together
1413 (to allow compilers to better pack the struct)
1415 No functional changes, thus no tests.
1417 * WebCore.vcproj/WebCore.vcproj:
1418 * WebCore.xcodeproj/project.pbxproj:
1419 * platform/graphics/Font.h: Moved TextRun into its own file.
1420 * platform/graphics/TextRun.h: Split out from Font.h
1422 2008-07-16 Simon Fraser <simon.fraser@apple.com>
1424 Reviewed by Dave Hyatt
1426 AnimationController needs to adjust z-index in the blended
1427 style in case opacity or transform were changed by blending.
1429 https://bugs.webkit.org/show_bug.cgi?id=20047
1431 Test: transitions/opacity-transition-zindex.html
1433 * page/AnimationController.cpp:
1434 (WebCore::AnimationController::updateImplicitAnimations):
1436 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1440 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
1441 Prepare SVGAnimatedProperty introduction.
1443 Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
1444 contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
1445 See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
1447 * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
1448 * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
1449 * svg/svgattrs.in: Export all SVG attributes as strings.
1450 * svg/svgtags.in: Export all SVG tags as strings.
1451 * svg/xlinkattrs.in: Expose all XLink attributes as strings.
1453 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1457 Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
1458 Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
1460 Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1464 * WebCore.vcproj/WebCore.vcproj:
1465 * WebCore.xcodeproj/project.pbxproj:
1466 * bindings/js/JSSVGLengthCustom.cpp: Added.
1467 (WebCore::JSSVGLength::value):
1468 (WebCore::JSSVGLength::convertToSpecifiedUnits):
1469 * bindings/scripts/CodeGeneratorObjC.pm:
1470 * css/CSSCursorImageValue.cpp:
1471 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1472 * rendering/RenderForeignObject.cpp:
1473 (WebCore::RenderForeignObject::translationForAttributes):
1474 * rendering/RenderSVGImage.cpp:
1475 (WebCore::RenderSVGImage::layout):
1476 * rendering/RenderSVGRoot.cpp:
1477 (WebCore::RenderSVGRoot::calcViewport):
1478 * rendering/RenderSVGText.cpp:
1479 (WebCore::RenderSVGText::layout):
1480 * rendering/RenderSVGViewportContainer.cpp:
1481 (WebCore::RenderSVGViewportContainer::calcViewport):
1482 * rendering/SVGCharacterLayoutInfo.cpp:
1483 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
1484 (WebCore::SVGCharacterLayoutInfo::addStackContent):
1485 * rendering/SVGCharacterLayoutInfo.h:
1486 * rendering/SVGRootInlineBox.cpp:
1487 (WebCore::SVGRootInlineBox::buildTextChunks):
1488 * svg/SVGAnimateElement.h:
1489 * svg/SVGAnimateMotionElement.h:
1490 * svg/SVGAnimateTransformElement.h:
1491 * svg/SVGAnimationElement.h:
1492 (WebCore::SVGAnimationElement::contextElement):
1493 * svg/SVGCircleElement.cpp:
1494 (WebCore::SVGCircleElement::SVGCircleElement):
1495 (WebCore::SVGCircleElement::parseMappedAttribute):
1496 (WebCore::SVGCircleElement::toPathData):
1497 * svg/SVGCursorElement.cpp:
1498 (WebCore::SVGCursorElement::SVGCursorElement):
1499 (WebCore::SVGCursorElement::parseMappedAttribute):
1500 * svg/SVGEllipseElement.cpp:
1501 (WebCore::SVGEllipseElement::SVGEllipseElement):
1502 (WebCore::SVGEllipseElement::parseMappedAttribute):
1503 (WebCore::SVGEllipseElement::toPathData):
1504 * svg/SVGFilterElement.cpp:
1505 (WebCore::SVGFilterElement::SVGFilterElement):
1506 (WebCore::SVGFilterElement::parseMappedAttribute):
1507 (WebCore::SVGFilterElement::canvasResource):
1508 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1509 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1510 (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1511 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1512 * svg/SVGForeignObjectElement.cpp:
1513 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1514 (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1515 * svg/SVGImageElement.cpp:
1516 (WebCore::SVGImageElement::SVGImageElement):
1517 (WebCore::SVGImageElement::parseMappedAttribute):
1518 * svg/SVGLength.cpp:
1519 (WebCore::SVGLength::SVGLength):
1520 (WebCore::SVGLength::value):
1521 (WebCore::SVGLength::convertToSpecifiedUnits):
1522 (WebCore::SVGLength::PercentageOfViewport):
1524 * svg/SVGLength.idl:
1525 * svg/SVGLengthList.cpp:
1526 (WebCore::SVGLengthList::parse):
1527 * svg/SVGLengthList.h:
1528 * svg/SVGLineElement.cpp:
1529 (WebCore::SVGLineElement::SVGLineElement):
1530 (WebCore::SVGLineElement::parseMappedAttribute):
1531 (WebCore::SVGLineElement::toPathData):
1532 * svg/SVGLinearGradientElement.cpp:
1533 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1534 (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1535 * svg/SVGMarkerElement.cpp:
1536 (WebCore::SVGMarkerElement::SVGMarkerElement):
1537 (WebCore::SVGMarkerElement::parseMappedAttribute):
1538 (WebCore::SVGMarkerElement::canvasResource):
1539 * svg/SVGMaskElement.cpp:
1540 (WebCore::SVGMaskElement::SVGMaskElement):
1541 (WebCore::SVGMaskElement::parseMappedAttribute):
1542 (WebCore::SVGMaskElement::drawMaskerContent):
1543 * svg/SVGPatternElement.cpp:
1544 (WebCore::SVGPatternElement::SVGPatternElement):
1545 (WebCore::SVGPatternElement::parseMappedAttribute):
1546 (WebCore::SVGPatternElement::buildPattern):
1547 * svg/SVGRadialGradientElement.cpp:
1548 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1549 (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1550 * svg/SVGRectElement.cpp:
1551 (WebCore::SVGRectElement::SVGRectElement):
1552 (WebCore::SVGRectElement::parseMappedAttribute):
1553 (WebCore::SVGRectElement::toPathData):
1554 * svg/SVGSVGElement.cpp:
1555 (WebCore::SVGSVGElement::SVGSVGElement):
1556 (WebCore::SVGSVGElement::viewport):
1557 (WebCore::SVGSVGElement::parseMappedAttribute):
1558 (WebCore::SVGSVGElement::getCTM):
1559 (WebCore::SVGSVGElement::getScreenCTM):
1560 * svg/SVGTextContentElement.cpp:
1561 (WebCore::SVGTextContentElement::SVGTextContentElement):
1562 (WebCore::SVGTextContentElement::parseMappedAttribute):
1563 * svg/SVGTextPathElement.cpp:
1564 (WebCore::SVGTextPathElement::SVGTextPathElement):
1565 (WebCore::SVGTextPathElement::parseMappedAttribute):
1566 * svg/SVGTextPositioningElement.cpp:
1567 (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1568 * svg/SVGUseElement.cpp:
1569 (WebCore::SVGUseElement::SVGUseElement):
1570 (WebCore::SVGUseElement::parseMappedAttribute):
1571 (WebCore::SVGUseElement::buildPendingResource):
1572 (WebCore::SVGUseElement::buildInstanceTree):
1573 (WebCore::SVGUseElement::handleDeepUseReferencing):
1574 (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1575 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1576 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1577 * svg/SVGUseElement.h:
1578 * svg/SynchronizableTypeWrapper.h:
1579 * svg/graphics/SVGImage.cpp:
1580 (WebCore::SVGImage::size):
1582 2008-07-16 Geoffrey Garen <ggaren@apple.com>
1584 Reviewed by Oliver Hunt.
1586 Support for JavaScriptCore's first step toward putting doubles in
1587 registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1589 * bindings/js/ScheduledAction.cpp:
1590 (WebCore::ScheduledAction::ScheduledAction):
1592 2008-07-15 Maxime Britto <britto@apple.com>
1596 https://bugs.webkit.org/show_bug.cgi?id=17589
1597 <rdar://problem/5770893>
1598 Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
1599 Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
1600 For the other platforms, nothing is changed but if someone want to activate this feature
1601 he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
1604 * page/EventHandler.cpp:
1605 (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
1606 (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters
1607 * platform/PlatformWheelEvent.h:
1608 (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
1609 (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
1610 (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
1611 (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
1612 * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1613 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1614 * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1615 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1616 * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1617 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1618 * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
1619 (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
1620 (WebCore::ScrollView::updateScrollbars):
1621 (WebCore::ScrollView::wheelEvent):
1622 * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
1623 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1624 * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1625 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1627 2008-07-15 Kevin Ollivier <kevino@theolliviers.com>
1629 wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1631 * WebCoreSources.bkl:
1633 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1637 <rdar://problem/5620273> REGRESSION: Apparent caching between form
1638 submits twice (on Maconomy) (18401)
1640 Frames did not set the createdByParser flag even when they were.
1642 * html/HTMLElementFactory.cpp:
1643 (WebCore::frameConstructor):
1644 (WebCore::iframeConstructor):
1646 2008-07-15 Dan Bernstein <mitz@apple.com>
1648 Reviewed by Dave Hyatt.
1650 - fix https://bugs.webkit.org/show_bug.cgi?id=19525
1651 <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
1653 Test: fast/reflections/inline-crash.html
1655 * rendering/RenderInline.cpp:
1656 (WebCore::RenderInline::setStyle): Added setHasReflection(false).
1657 Inline flows never have reflections.
1659 2008-07-14 David Hyatt <hyatt@apple.com>
1661 Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if
1662 no <body> exists yet though.
1666 Added fast/css/style-parsed-outside-of-head.html
1668 * html/HTMLElement.cpp:
1669 (WebCore::inlineTagList):
1671 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1675 Rename pageGroupIdentifier to profileGroup to keep mention of a
1676 pageGroup out of JavaScriptCore.
1678 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1679 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
1680 * bindings/js/ScriptController.cpp:
1681 (WebCore::ScriptController::clear):
1682 (WebCore::ScriptController::initScript):
1683 * history/CachedPage.cpp:
1684 (WebCore::CachedPage::restore):
1686 2008-07-15 Adam Roben <aroben@apple.com>
1688 WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
1692 Reviewed by John Sullivan.
1694 * platform/graphics/win/FontCGWin.cpp:
1695 (WebCore::Font::drawGlyphs): Pass the result of
1696 WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
1697 * platform/win/WebCoreTextRenderer.cpp:
1698 (WebCore::WebCoreSetShouldUseFontSmoothing):
1699 (WebCore::WebCoreShouldUseFontSmoothing):
1701 * platform/win/WebCoreTextRenderer.h:
1703 2008-07-15 Adam Roben <aroben@apple.com>
1707 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
1710 2008-07-15 Holger Hans Peter Freyther <zecke@selfish.org>
1712 Build fix for the Gtk+ and Qt platform.
1714 * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
1715 * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
1717 2008-07-14 Dan Bernstein <mitz@apple.com>
1721 * platform/mac/WidgetMac.mm:
1722 (WebCore::Widget::paint):
1724 2008-07-14 Dan Bernstein <mitz@apple.com>
1726 Reviewed by John Sullivan.
1728 - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1730 * platform/mac/WidgetMac.mm:
1731 (WebCore::Widget::paint): Changed to account for the case of drawing
1732 into a bitmap context that is not a window's backing store. In that
1733 case, -displayRectIgnoringOpacity:inContext: is used to redirect the
1734 drawing to the correct context, after setting up the right transform
1735 on it. For subframes, additional code ensures that the scroll view will
1736 not paint the background behind a transparent frame.
1738 2008-07-14 chris fleizach <cfleizach@apple.com>
1740 Reviewed by Beth Dakin
1742 <rdar://problem/6038106> AXChildren returned for this web area is null
1743 Accessibility of image maps needed to be updated
1745 Tests: accessibility/image-map1.html
1746 accessibility/image-map2.html
1748 * WebCore.xcodeproj/project.pbxproj:
1749 * page/AXObjectCache.cpp:
1750 (WebCore::AXObjectCache::get):
1751 * page/AccessibilityImageMapLink.cpp: Added.
1752 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
1753 (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
1754 (WebCore::AccessibilityImageMapLink::create):
1755 (WebCore::AccessibilityImageMapLink::parentObject):
1756 (WebCore::AccessibilityImageMapLink::anchorElement):
1757 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
1758 (WebCore::AccessibilityImageMapLink::title):
1759 (WebCore::AccessibilityImageMapLink::elementRect):
1760 (WebCore::AccessibilityImageMapLink::size):
1761 * page/AccessibilityImageMapLink.h: Added.
1762 (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
1763 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1764 (WebCore::AccessibilityImageMapLink::roleValue):
1765 (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
1766 (WebCore::AccessibilityImageMapLink::isLink):
1767 * page/AccessibilityListBoxOption.h:
1768 * page/AccessibilityObject.cpp:
1769 (WebCore::AccessibilityObject::selectedChildren):
1770 (WebCore::AccessibilityObject::visibleChildren):
1771 * page/AccessibilityObject.h:
1773 * page/AccessibilityRenderObject.cpp:
1774 (WebCore::AccessibilityRenderObject::parentObject):
1775 (WebCore::AccessibilityRenderObject::isAnchor):
1776 (WebCore::AccessibilityRenderObject::anchorElement):
1777 (WebCore::AccessibilityRenderObject::helpText):
1778 (WebCore::AccessibilityRenderObject::intValue):
1779 (WebCore::AccessibilityRenderObject::stringValue):
1780 (WebCore::AccessibilityRenderObject::title):
1781 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1782 (WebCore::AccessibilityRenderObject::elementRect):
1783 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1784 (WebCore::AccessibilityRenderObject::roleValue):
1785 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1786 (WebCore::AccessibilityRenderObject::addChildren):
1787 * page/AccessibilityRenderObject.h:
1788 * page/mac/AccessibilityObjectWrapper.mm:
1792 2008-07-14 Sam Weinig <sam@webkit.org>
1794 Rubber-stamped by David Hyatt.
1796 Remove unused ExceptionCode parameter from compareDocumentPosition.
1799 (WebCore::Document::addStyleSheetCandidateNode):
1801 (WebCore::Node::compareDocumentPosition):
1805 2008-07-14 David Hyatt <hyatt@apple.com>
1807 Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
1811 Added fast/css/style-outside-head.html
1812 Added fast/css/link-outside-head.html
1815 (WebCore::Document::addStyleSheetCandidateNode):
1816 (WebCore::Document::removeStyleSheetCandidateNode):
1817 (WebCore::Document::recalcStyleSelector):
1820 (WebCore::Node::compareDocumentPosition):
1821 * dom/ProcessingInstruction.cpp:
1822 (WebCore::ProcessingInstruction::checkStyleSheet):
1823 (WebCore::ProcessingInstruction::insertedIntoDocument):
1824 (WebCore::ProcessingInstruction::removedFromDocument):
1825 (WebCore::ProcessingInstruction::finishParsingChildren):
1826 * dom/ProcessingInstruction.h:
1827 (WebCore::ProcessingInstruction::setCreatedByParser):
1828 * dom/StyleElement.cpp:
1829 (WebCore::StyleElement::removedFromDocument):
1830 * dom/XMLTokenizer.cpp:
1831 (WebCore::XMLTokenizer::startElementNs):
1832 (WebCore::XMLTokenizer::processingInstruction):
1834 * html/HTMLElementFactory.cpp:
1835 (WebCore::linkConstructor):
1836 * html/HTMLLinkElement.cpp:
1837 (WebCore::HTMLLinkElement::HTMLLinkElement):
1838 (WebCore::HTMLLinkElement::insertedIntoDocument):
1839 (WebCore::HTMLLinkElement::removedFromDocument):
1840 (WebCore::HTMLLinkElement::finishParsingChildren):
1841 * html/HTMLLinkElement.h:
1842 (WebCore::HTMLLinkElement::setCreatedByParser):
1843 * html/HTMLStyleElement.cpp:
1844 (WebCore::HTMLStyleElement::insertedIntoDocument):
1845 (WebCore::HTMLStyleElement::removedFromDocument):
1846 * svg/SVGStyleElement.cpp:
1847 (WebCore::SVGStyleElement::insertedIntoDocument):
1848 (WebCore::SVGStyleElement::removedFromDocument):
1850 2008-07-14 Sam Weinig <sam@webkit.org>
1852 Reviewed by Mark Rowe.
1854 Sort interface extended attributes to appease *the* Mark Rowe.
1856 * page/DOMWindow.idl:
1858 2008-07-14 Anders Carlsson <andersca@apple.com>
1862 <rdar://problem/6073974>
1863 https://bugs.webkit.org/show_bug.cgi?id=18106
1864 The "onscroll" event bubbles, which is inconsistent with Firefox and IE
1866 Don't bubble the scroll event.
1868 * rendering/RenderLayer.cpp:
1869 (WebCore::RenderLayer::scrollToOffset):
1870 * rendering/RenderListBox.cpp:
1871 (WebCore::RenderListBox::valueChanged):
1873 2008-07-14 Adele Peterson <adele@apple.com>
1877 Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
1879 The web server on this particular piece of hardware doesn't handle "text/xml" in the
1880 Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in
1881 the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web
1882 server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it
1883 is being deprecated in favor of "application/xml". We decided that the best solution is
1884 to match Firefox 3 and stop sending "text/xml" in the Accept header.
1886 No test. There appears to be no way to get the raw headers in the original order in perl/php.
1888 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
1890 2008-07-14 Sam Weinig <sam@webkit.org>
1892 Reviewed by Adele Peterson.
1894 Fix for <rdar://problem/5769819>
1896 Test: http/tests/security/cross-frame-access-object-prototype.html
1898 * bindings/js/JSDOMWindowCustom.cpp:
1899 (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
1900 (WebCore::JSDOMWindow::defineGetter): Ditto.
1901 (WebCore::JSDOMWindow::defineSetter): Ditto.
1902 (WebCore::JSDOMWindow::lookupGetter): Ditto.
1903 (WebCore::JSDOMWindow::lookupSetter): Ditto.
1904 * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
1905 of all the core JSObject functionality.
1906 * page/DOMWindow.idl: Override remaining core JSObject functionality,
1907 to inject security checks.
1909 2008-07-14 Adam Roben <aroben@apple.com>
1913 * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
1915 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
1916 bindings to regenerate.
1917 * loader/FTPDirectoryDocument.cpp:
1918 * loader/FTPDirectoryParser.cpp:
1919 Fixed some duplicate macro definitions now that we're including
1922 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1924 Reviewed by Kevin McCullough.
1926 Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
1929 * bindings/js/JSDOMWindowBase.cpp:
1930 (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
1932 2008-07-14 Simon Hausmann <hausmann@webkit.org>
1936 Make listDirectory() in the Qt port work with empty namefilters.
1937 Don't include . and .. to avoid scanning the parent directory.
1939 * platform/qt/FileSystemQt.cpp:
1940 (WebCore::listDirectory):
1942 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1944 Reviewed by Geoff Garen.
1946 Eliminate per-thread JavaScript global data instance support and make arbitrary
1947 global data/global object combinations possible.
1949 * bindings/js/JSDOMWindowBase.h:
1950 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
1951 WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
1953 * bindings/js/JSDOMWindowShell.cpp:
1954 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1955 (WebCore::JSDOMWindowShell::operator new):
1956 * bindings/js/ScriptController.cpp:
1957 (WebCore::ScriptController::clear):
1958 * bindings/scripts/CodeGeneratorJS.pm:
1959 Pass commonJSGlobalData() as an allocator.
1961 * bridge/c/c_utility.cpp:
1962 (KJS::Bindings::identifierFromNPIdentifier):
1963 * bridge/jni/jni_class.cpp:
1964 (JavaClass::JavaClass):
1965 * history/CachedPage.cpp:
1966 (WebCore::CachedPage::restore):
1967 * storage/Database.cpp:
1968 (WebCore::Database::Database):
1969 * bindings/js/GCController.cpp:
1971 (WebCore::GCController::gcTimerFired):
1972 (WebCore::GCController::garbageCollectNow):
1973 Use JSDOMWindow::commonJSGlobalData().
1975 * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
1976 it need to be accesible outside of JSC).
1978 * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
1980 2008-07-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
1986 * plugins/win/PluginDatabaseWin.cpp:
1987 * plugins/win/PluginViewWin.cpp:
1988 (WebCore::PluginView::handleKeyboardEvent):
1989 (WebCore::PluginView::handleMouseEvent):
1990 * svg/SynchronizableTypeWrapper.h:
1991 (WebCore::::SynchronizableTypeWrapper):
1993 2008-07-13 Sam Weinig <sam@webkit.org>
1995 Reviewed by Oliver Hunt and Dan Bernstein.
1997 Fix for <rdar://problem/5888127>
1998 https://bugs.webkit.org/show_bug.cgi?id=18699
2000 - Match Firefox in restricting the size of custom cursor to images to
2002 - Restrict custom cursor hotspots to values within the bounds of the
2005 * manual-tests/cursor-max-size.html: Added.
2006 * page/EventHandler.cpp:
2007 (WebCore::EventHandler::selectCursor):
2009 2008-07-13 Kevin Ollivier <kevino@theolliviers.com>
2013 * platform/graphics/wx/AffineTransformWx.cpp:
2014 (WebCore::AffineTransform::a):
2015 (WebCore::AffineTransform::b):
2016 (WebCore::AffineTransform::c):
2017 (WebCore::AffineTransform::d):
2018 (WebCore::AffineTransform::e):
2019 (WebCore::AffineTransform::f):
2021 2008-07-12 Dan Bernstein <mitz@apple.com>
2023 Reviewed by Oliver Hunt.
2025 - fix https://bugs.webkit.org/show_bug.cgi?id=18088
2026 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
2028 Test: fast/block/basic/min-pref-width-nowrap-floats.html
2030 * rendering/RenderBlock.cpp:
2031 (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
2032 float's width was added to the minimum preferred widths instead of just
2033 acting as a lower bound on the minimum preferred width (since the float
2034 can always be pushed down to be the only thing on the line).
2036 2008-07-12 David D. Kilzer <ddkilzer@webkit.org>
2038 Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
2040 <https://bugs.webkit.org/show_bug.cgi?id=13067>
2044 Test: WebCore/manual-tests/hash-ref.html
2046 * loader/FrameLoader.cpp:
2047 (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
2048 FrameLoadType newLoadType, const String& frameName, Event* event,
2049 PassRefPtr<FormState> formState)): Extracted logic into
2050 shouldScrollToAnchor() for determining when to scroll to an anchor.
2052 (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
2053 PassRefPtr<FormState> formState)): Added check for
2054 shouldScrollToAnchor() to catch cases when the user manually added a
2055 hash ref to the URL in the address bar. This is the bug fix.
2057 (WebCore::FrameLoader::shouldReload): Simplified early return logic.
2058 We only need to check if the destinationURL has a hash ref, not the
2059 currentURL, per the comment in the method.
2061 (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted
2062 from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order
2063 of arguments to shouldReload() since they were backwards, although the
2064 previous logic in the method made this irrelevant.
2066 (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since
2067 we're navigating to a HistoryItem, it doesn't make sense to ask whether
2068 we need to reload the page or not. Additionally, the logic at the end
2069 of shouldReload() is also checked in urlsMatchItem(), so there's no need
2070 to call the method. This fixed the fast/css/target-fragment-match.html
2071 test from continuously reloading after the other changes.
2073 * loader/FrameLoader.h:
2074 (WebCore::FrameLoader::shouldScrollToAnchor): Added.
2076 * manual-tests/hash-ref.html: Added.
2077 * manual-tests/resources/hash-ref-test.html: Added.
2079 2008-07-11 Stephanie Lewis <slewis@apple.com>
2081 Reviewed by Darin Adler.
2083 No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.
2085 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2086 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2087 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
2088 * bindings/js/JSEventListener.cpp:
2089 (WebCore::JSEventListener::JSEventListener):
2090 (WebCore::JSEventListener::~JSEventListener):
2092 (WebCore::Node::Node):
2093 (WebCore::Node::~Node):
2095 (WebCore::Range::Range):
2096 (WebCore::Range::~Range):
2097 * history/CachedPage.cpp:
2098 (WebCore::CachedPage::CachedPage):
2099 (WebCore::CachedPage::~CachedPage):
2100 * loader/SubresourceLoader.cpp:
2101 (WebCore::SubresourceLoader::SubresourceLoader):
2102 (WebCore::SubresourceLoader::~SubresourceLoader):
2104 (WebCore::Frame::Frame):
2105 (WebCore::Frame::~Frame):
2107 (WebCore::Page::Page):
2108 (WebCore::Page::~Page):
2109 * rendering/RenderObject.cpp:
2110 (WebCore::RenderObject::RenderObject):
2111 (WebCore::RenderObject::~RenderObject):
2112 * rendering/bidi.cpp:
2114 (WebCore::BidiRun::operator delete):
2116 2008-07-11 Sam Weinig <sam@webkit.org>
2118 Reviewed by Mark Rowe.
2120 Update getSubStringLength and selectSubString methods exception throwing conditions
2121 based on SVG working group errata.
2123 Test: svg/custom/selectSubString.html
2125 * svg/SVGTextContentElement.cpp:
2126 (WebCore::SVGTextContentElement::getSubStringLength):
2127 (WebCore::SVGTextContentElement::selectSubString):
2129 2008-07-11 Sam Weinig <sam@webkit.org>
2131 Reviewed by Mark Rowe.
2133 We can only use the Id fast path for querySelector and querySelectorAll
2134 if the selector is purely an Id selector.
2136 Test: fast/dom/SelectorAPI/id-fastpath.html
2139 (WebCore::Node::querySelector):
2140 * dom/SelectorNodeList.cpp:
2141 (WebCore::createSelectorNodeList):
2143 2008-07-11 David Hyatt <hyatt@apple.com>
2145 Implement the DOM level 3 compareDocumentPosition method on Node.
2150 (WebCore::Node::compareDocumentPosition):
2154 2008-07-11 Brady Eidson <beidson@apple.com>
2156 Rubberstamped by Sam
2158 Removed unneeded export
2162 2008-07-11 Kevin McCullough <kmccullough@apple.com>
2166 <rdar://problem/6067178> REGRESSION: Start profile button in profiler
2167 now profiles inspector rather than actual page (19833)
2168 - The JSQuarantinedObjectWrapper should use the wrapped exec state
2169 so that calls to it execute in its quarantined world.
2171 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2172 (WebCore::JSQuarantinedObjectWrapper::construct):
2173 (WebCore::JSQuarantinedObjectWrapper::call):
2175 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2177 Reviewed by Dave Hyatt
2179 StyleRareNonInheritedData needs to initialize and compare
2181 <https://bugs.webkit.org/show_bug.cgi?id=20005>
2183 * rendering/style/RenderStyle.cpp:
2184 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2185 (WebCore::StyleRareNonInheritedData::operator==):
2187 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2189 Reviewed by Dave Hyatt
2191 Bug 18885: RenderLayer::enclosingPositionedAncestor() should
2192 look for transforms, since transforms create containing
2194 <https://bugs.webkit.org/show_bug.cgi?id=18885>
2196 Test: fast/transforms/transform-positioned-ancestor.html
2198 * rendering/RenderLayer.cpp:
2199 (WebCore::RenderLayer::stackingContext):
2200 (WebCore::RenderLayer::enclosingPositionedAncestor):
2201 (WebCore::RenderLayer::enclosingTransformedAncestor):
2203 2008-07-11 Jacob Refstrup <jacob.refstrup@hp.com>
2205 Reviewed by Darin Adler
2207 http://bugs.webkit.org/show_bug.cgi?id=19978
2208 GTK port always ends up with # at the end of resource URLs (and hence can't load files)
2210 - Optimized KURL::removeRef() and used it rather than setRef("")
2211 which after r35040 does the wrong thing.
2213 * platform/KURL.cpp:
2214 (WebCore::KURL::removeRef):
2215 * platform/network/curl/ResourceHandleManager.cpp:
2216 (WebCore::ResourceHandleManager::initializeHandle):
2218 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2220 Fix the Qt/Windows build, include windows.h for HWND directly
2221 instead of implicit inclusion through Timer.h.
2223 * plugins/win/PluginMessageThrottlerWin.h:
2225 2008-07-11 Dan Bernstein <mitz@apple.com>
2227 Reviewed by Darin Adler.
2229 - fix popularity tracking for cached resources, which regressed in r23923
2232 (WebCore::Cache::requestResource): Changed to increase the access count
2233 whenever this function returns a CachedResource and the cache is
2234 enabled, instead of only when creating a new CachedResources. The
2235 incorrect behavior resulted in all resources in the cache having an
2236 access count of exactly 1 at all times.
2237 (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
2239 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2243 Enable Netscape plugins for the Qt/Windows build.
2245 This required various smaller fixes across a wider set of
2246 files described below.
2248 * WebCore.pro: Add various windows specific files to the build.
2249 * page/Page.h: Extend the #ifdeffery for windows types to include the
2251 * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
2252 the Qt port, as PluginViewWin.cpp uses it.
2253 * platform/graphics/qt/GraphicsContextQt.cpp:
2254 (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
2255 * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
2256 are now implemented through *Win.cpp files.
2257 * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
2258 * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
2259 (WebCore::PluginView::setFrameGeometry): Ditto.
2260 (WebCore::PluginView::PluginView): Ditto.
2261 * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
2262 which expands to HWND directly for the Qt/Windows build and
2263 PlatformWidget for the remaining platforms. That is because
2264 PlatformWidget is QWidget* for the Qt build but for the plugin
2265 window we need a native window, aka HWND.
2266 * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
2268 * plugins/win/PluginViewWin.cpp:
2269 (windowHandleForPlatformWidget): Added a little helper function to
2270 determine the HWND from a PlatformWidget.
2271 (WebCore::registerPluginView): For the Qt port we need to set the
2272 global application instance handle here in the library, as the
2273 browser doesn't do it.
2274 (WebCore::PluginView::handleMouseEvent): Mask out
2275 ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
2276 (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
2277 manually just here to avoid compiling in IntRectWin.cpp.
2278 (WebCore::PluginView::invalidateRegion): Ditto.
2279 (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
2280 on containingWindow() to get the correct HWND for the Qt port.
2281 (WebCore::PluginView::init): Determine the parent HWND for m_window
2282 using windowHandleForPlatformWidget.
2284 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2286 Rubber-stamped by Holger.
2288 Enable Database and Icondatabase functionality for the Qt/Windows
2289 build when building inside Qt, as we can use the builtin copy of
2294 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2296 Reviewed by Adam Roben.
2298 Fix compile with MinGW since it does not like friend static function.
2300 * plugins/PluginView.h:
2301 * plugins/win/PluginViewWin.cpp:
2303 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2309 * platform/graphics/qt/GraphicsContextQt.cpp:
2311 2008-07-10 Sam Weinig <sam@webkit.org>
2313 Reviewed by Oliver Hunt.
2315 Add support for NSResolver to resolve namespaces for querySelector
2316 and querySelectorAll.
2318 - Namespace resolution is done after parsing by iterating over all the
2319 parts of the CSSSelector.
2321 Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
2322 fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
2324 * GNUmakefile.am: Updated with new files.
2325 * WebCore.pro: Ditto.
2326 * WebCore.vcproj/WebCore.vcproj: Ditto.
2327 * WebCore.xcodeproj/project.pbxproj: Ditto.
2328 * WebCoreSources.bkl: Ditto.
2330 * bindings/js/JSDOMBinding.cpp:
2331 (WebCore::execStateFromNode):
2332 * bindings/js/JSDOMBinding.h:
2333 Move execStateFromNode here from NodeFilter.
2335 * bindings/js/JSDocumentCustom.cpp:
2336 (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
2337 and instead create one if the argument is not undefined or null.
2338 (WebCore::JSDocument::querySelectorAll): Ditto.
2339 * bindings/js/JSDocumentFragmentCustom.cpp:
2340 (WebCore::JSDocumentFragment::querySelector): Ditto.
2341 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2342 * bindings/js/JSElementCustom.cpp:
2343 (WebCore::JSElement::querySelector): Ditto.
2344 (WebCore::JSElement::querySelectorAll): Ditto.
2346 * bindings/js/JSNSResolver.cpp: Added.
2347 (WebCore::JSNSResolver::JSNSResolver):
2348 (WebCore::JSNSResolver::mark):
2349 (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
2350 from the passed in argument, either the value itself, or the result of
2351 getting the lookupNamespaceURI property, and call it.
2352 (WebCore::toNSResolver):
2353 * bindings/js/JSNSResolver.h: Added.
2354 (WebCore::JSNSResolver::create):
2356 * dom/Document.idl: Update with NSResolver parameter.
2357 * dom/DocumentFragment.idl: Ditto.
2358 * dom/Element.idl: Ditto.
2360 * dom/NSResolver.h: Added.
2361 (WebCore::NSResolver::~NSResolver):
2362 (WebCore::NSResolver::mark):
2363 Abstract base class.
2365 * dom/NSResolver.idl: Added.
2368 (WebCore::forEachTagSelector):
2369 (WebCore::forEachSelector):
2370 Functions to iterate over all parts of the selector.
2372 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2373 Functor to be passed to forEachSelector to determine if a selector
2374 needs namespace resolution, for the case when no NSResolver is passed
2375 and we need to determine whether to throw a NAMESPACE_ERR.
2377 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2378 (WebCore::ResolveNamespaceFunctor::operator()):
2379 Functor to resolve namespaces for the selector.
2381 (WebCore::selectorNeedsNamespaceResolution):
2382 (WebCore::resolveNamespacesForSelector):
2383 (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
2384 if a NSResolver is passed in.
2385 (WebCore::Node::querySelectorAll): Ditto.
2388 * dom/NodeFilter.cpp:
2390 * dom/NodeIterator.h:
2391 (WebCore::NodeIterator::nextNode):
2392 (WebCore::NodeIterator::previousNode):
2394 (WebCore::TreeWalker::parentNode):
2395 (WebCore::TreeWalker::firstChild):
2396 (WebCore::TreeWalker::lastChild):
2397 (WebCore::TreeWalker::previousSibling):
2398 (WebCore::TreeWalker::nextSibling):
2399 (WebCore::TreeWalker::previousNode):
2400 (WebCore::TreeWalker::nextNode):
2401 Use the version of execStateFromNode in JSDOMBinding.
2403 2008-07-10 Mark Rowe <mrowe@apple.com>
2405 Reviewed by Sam Weinig.
2407 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2409 * Configurations/WebCore.xcconfig:
2411 2008-07-10 Dean Jackson <dino@apple.com>
2415 Calculate computed style for -webkit-transform property
2416 https://bugs.webkit.org/show_bug.cgi?id=19864
2418 Test: css3/transform-computed-style-001.html
2420 * css/CSSComputedStyleDeclaration.cpp:
2421 (WebCore::computedTransform):
2422 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2423 handles -webkit-transform property now
2424 * manual-tests/computed-transform-value.html: Added.
2426 2008-07-10 Dan Bernstein <mitz@apple.com>
2428 Reviewed by Adam Roben.
2430 - fix a parse error in inspector.js
2432 * page/inspector/inspector.js: Added missing brace.
2434 2008-07-10 Adam Roben <aroben@apple.com>
2438 * WebCore.vcproj/QTMovieWin.vcproj: Add
2439 OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2441 2008-07-10 Chris Fleizach <cfleizach@apple.com>
2443 Reviewed by Dan Bernstein
2445 <rdar://problem/6067408> AX: internal anchors broken
2447 * page/AccessibilityRenderObject.cpp:
2448 (WebCore::AccessibilityRenderObject::internalLinkElement):
2449 * platform/KURL.cpp:
2450 (WebCore::KURL::removeRef):
2453 2008-07-10 Mark Rowe <mrowe@apple.com>
2457 * bridge/npapi.h: Remove extra comma.
2459 2008-07-10 Sam Weinig <sam@webkit.org>
2461 Reviewed by Mark Rowe.
2463 Remove no-op debug method.
2465 * css/CSSSelector.cpp:
2466 * css/CSSSelector.h:
2468 2008-07-10 Sam Weinig <sam@webkit.org>
2470 Reviewed by Dave Hyatt and Darin Adler.
2472 Add support for calling querySelector and querySelectorAll on DocumentFragments
2474 - Fixes bug where nodes not in the document tree would not match based on ID due
2475 to over optimization.
2477 Test: fast/dom/SelectorAPI/detached-element.html
2481 * WebCore.vcproj/WebCore.vcproj:
2482 * WebCore.xcodeproj/project.pbxproj:
2483 * WebCoreSources.bkl:
2484 * bindings/js/JSDocumentFragmentCustom.cpp: Added.
2485 (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
2486 and JSDocument that checks for a 2nd arguments and throws an exception indicating
2487 we do not currently support the optional NSResolver part of the Selectors API spec.
2488 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2489 * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
2492 (WebCore::Node::querySelector): Make the CSS parser parse the selector
2493 according to the strictness of the document so that mixed case ID selectors
2494 match in quirks mode. Also, don't use the fast ID path if the root is not
2495 in the DOM tree, as it won't work.
2496 (WebCore::Node::querySelectorAll): Ditto.
2497 * dom/SelectorNodeList.cpp:
2498 (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
2499 in the DOM tree, as it won't work.
2501 2008-07-10 Anthony Ricaud <rik24d@gmail.com>
2503 Bug 19389: querySelectorAll exception while searching invalid CSS selector
2504 <https://bugs.webkit.org/show_bug.cgi?id=19389>
2506 Reviewed by Tim Hatcher.
2508 * page/inspector/inspector.js: Added a try/catch block.
2510 2008-07-10 Brent Fulgham <bfulgham@gmail.com>
2512 Correct a build regression due to an uninitialized variable.
2514 <https://bugs.webkit.org/show_bug.cgi?id=19976>
2518 * platform/graphics/cairo/FontCairo.cpp:
2519 (WebCore::Font::drawGlyphs):
2521 2008-07-10 Adam Roben <aroben@apple.com>
2523 Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2524 HTMLCollection::resetCollectionInfo (codegen issue?)
2526 <https://bugs.webkit.org/show_bug.cgi?id=19580>
2529 Reviewed by Cameron Zwarich.
2531 * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
2532 which was causing some bad codegen in HTMLFormElement::elements.
2533 * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
2535 2008-07-10 Anders Carlsson <andersca@apple.com>
2539 <rdar://problem/6067135>
2540 WebKit should respond true to a query for NPNVSupportsWindowless.
2542 Handle NPNVSupportsWindowless and return true.
2545 * plugins/win/PluginViewWin.cpp:
2546 (WebCore::PluginView::getValue):
2548 2008-07-10 Kevin McCullough <kmccullough@apple.com>
2552 -Minor cleanup. Renamed callTree() to head() and no longer use m_head
2553 directly but instead keep it private and access via a method().
2555 * page/JavaScriptProfile.cpp:
2556 (WebCore::getHeadCallback):
2558 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2560 When a mask image changes, ensure that elements
2561 that use that mask image are repainted correctly.
2563 <https://bugs.webkit.org/show_bug.cgi?id=19954>
2565 Reviewed by Dave Hyatt
2567 * manual-tests/canvas-mask-redraw.html
2569 * rendering/RenderBox.cpp:
2570 (WebCore::RenderBox::imageChanged):
2571 (WebCore::RenderBox::repaintLayerRectsForImage):
2572 * rendering/RenderBox.h:
2573 Loop through background layers and mask layers, and
2574 if this image is used in a layer, compute a repaint
2576 * rendering/RenderImage.cpp:
2577 (WebCore::RenderImage::imageChanged):
2578 If this image has a mask, call the base class method.
2579 * rendering/RenderObject.cpp:
2580 Remove a bogus 'return'.
2582 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2584 Transforms create a containing block, so
2585 RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
2586 <https://bugs.webkit.org/show_bug.cgi?id=18886>
2588 Reviewed by Dave Hyatt
2590 Test: fast/transforms/transform-overflow.html
2592 * rendering/RenderLayer.cpp:
2593 (WebCore::RenderLayer::shouldBeOverflowOnly):
2595 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com>
2597 Reviewed by Oliver Hunt.
2599 bug 19835: WebKit needs cross-platform filter system
2600 <https://bugs.webkit.org/show_bug.cgi?id=19835>
2602 More class refactoring in preparation for cross-platform filter
2605 * WebCore.xcodeproj/project.pbxproj:
2606 * rendering/SVGRenderTreeAsText.h:
2607 (WebCore::operator<<):
2608 * svg/FilterEffect.cpp:
2609 (WebCore::FilterEffect::externalRepresentation):
2610 * svg/FilterEffect.h:
2611 * svg/SVGFEBlendElement.cpp:
2612 (WebCore::SVGFEBlendElement::build):
2613 * svg/SVGFEBlendElement.h:
2614 * svg/SVGFEColorMatrixElement.cpp:
2615 (WebCore::SVGFEColorMatrixElement::build):
2616 * svg/SVGFEColorMatrixElement.h:
2617 * svg/SVGFEComponentTransferElement.cpp:
2618 (WebCore::SVGFEComponentTransferElement::build):
2619 * svg/SVGFEComponentTransferElement.h:
2620 * svg/SVGFECompositeElement.cpp:
2621 (WebCore::SVGFECompositeElement::build):
2622 * svg/SVGFECompositeElement.h:
2623 * svg/SVGFEDiffuseLightingElement.cpp:
2624 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2625 (WebCore::SVGFEDiffuseLightingElement::build):
2626 (WebCore::SVGFEDiffuseLightingElement::findLights):
2627 * svg/SVGFEDiffuseLightingElement.h:
2628 * svg/SVGFEDisplacementMapElement.cpp:
2629 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2630 (WebCore::SVGFEDisplacementMapElement::stringToChannel):
2631 (WebCore::SVGFEDisplacementMapElement::filterEffect):
2632 (WebCore::SVGFEDisplacementMapElement::build):
2633 * svg/SVGFEDisplacementMapElement.h:
2634 * svg/SVGFEFloodElement.cpp:
2635 (WebCore::SVGFEFloodElement::filterEffect):
2636 (WebCore::SVGFEFloodElement::build):
2637 * svg/SVGFEFloodElement.h:
2638 (WebCore::SVGFEFloodElement::contextElement):
2639 * svg/SVGFEGaussianBlurElement.cpp:
2640 (WebCore::SVGFEGaussianBlurElement::filterEffect):
2641 (WebCore::SVGFEGaussianBlurElement::build):
2642 * svg/SVGFEGaussianBlurElement.h:
2643 * svg/SVGFEImageElement.cpp:
2644 (WebCore::SVGFEImageElement::filterEffect):
2645 (WebCore::SVGFEImageElement::build):
2646 * svg/SVGFEImageElement.h:
2647 * svg/SVGFEMergeElement.cpp:
2648 (WebCore::SVGFEMergeElement::filterEffect):
2649 (WebCore::SVGFEMergeElement::build):
2650 * svg/SVGFEMergeElement.h:
2651 (WebCore::SVGFEMergeElement::contextElement):
2652 * svg/SVGFEOffsetElement.cpp:
2653 (WebCore::SVGFEOffsetElement::filterEffect):
2654 (WebCore::SVGFEOffsetElement::build):
2655 * svg/SVGFEOffsetElement.h:
2656 * svg/SVGFESpecularLightingElement.cpp:
2657 (WebCore::SVGFESpecularLightingElement::filterEffect):
2658 (WebCore::SVGFESpecularLightingElement::findLights):
2659 (WebCore::SVGFESpecularLightingElement::build):
2660 * svg/SVGFESpecularLightingElement.h:
2661 * svg/SVGFETileElement.cpp:
2662 (WebCore::SVGFETileElement::filterEffect):
2663 (WebCore::SVGFETileElement::build):
2664 * svg/SVGFETileElement.h:
2665 * svg/SVGFETurbulenceElement.cpp:
2666 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2667 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2668 (WebCore::SVGFETurbulenceElement::filterEffect):
2669 (WebCore::SVGFETurbulenceElement::build):
2670 * svg/SVGFETurbulenceElement.h:
2671 * svg/SVGFilterPrimitiveStandardAttributes.h:
2672 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2673 (WebCore::FEConvolveMatrix::FEConvolveMatrix):
2674 (WebCore::FEConvolveMatrix::create):
2675 (WebCore::FEConvolveMatrix::kernelSize):
2676 (WebCore::FEConvolveMatrix::setKernelSize):
2677 (WebCore::FEConvolveMatrix::kernel):
2678 (WebCore::FEConvolveMatrix::setKernel):
2679 (WebCore::FEConvolveMatrix::divisor):
2680 (WebCore::FEConvolveMatrix::setDivisor):
2681 (WebCore::FEConvolveMatrix::bias):
2682 (WebCore::FEConvolveMatrix::setBias):
2683 (WebCore::FEConvolveMatrix::targetOffset):
2684 (WebCore::FEConvolveMatrix::setTargetOffset):
2685 (WebCore::FEConvolveMatrix::edgeMode):
2686 (WebCore::FEConvolveMatrix::setEdgeMode):
2687 (WebCore::FEConvolveMatrix::kernelUnitLength):
2688 (WebCore::FEConvolveMatrix::setKernelUnitLength):
2689 (WebCore::FEConvolveMatrix::preserveAlpha):
2690 (WebCore::FEConvolveMatrix::setPreserveAlpha):
2691 (WebCore::FEConvolveMatrix::apply):
2692 (WebCore::FEConvolveMatrix::dump):
2693 (WebCore::operator<<):
2694 (WebCore::FEConvolveMatrix::externalRepresentation):
2695 * svg/graphics/filters/SVGFEConvolveMatrix.h:
2697 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2698 (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2699 (WebCore::FEDiffuseLighting::create):
2700 (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
2701 (WebCore::FEDiffuseLighting::lightingColor):
2702 (WebCore::FEDiffuseLighting::setLightingColor):
2703 (WebCore::FEDiffuseLighting::surfaceScale):
2704 (WebCore::FEDiffuseLighting::setSurfaceScale):
2705 (WebCore::FEDiffuseLighting::diffuseConstant):
2706 (WebCore::FEDiffuseLighting::setDiffuseConstant):
2707 (WebCore::FEDiffuseLighting::kernelUnitLengthX):
2708 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2709 (WebCore::FEDiffuseLighting::kernelUnitLengthY):
2710 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2711 (WebCore::FEDiffuseLighting::lightSource):
2712 (WebCore::FEDiffuseLighting::setLightSource):
2713 (WebCore::FEDiffuseLighting::apply):
2714 (WebCore::FEDiffuseLighting::dump):
2715 (WebCore::FEDiffuseLighting::externalRepresentation):
2716 * svg/graphics/filters/SVGFEDiffuseLighting.h:
2717 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2718 (WebCore::FEDisplacementMap::FEDisplacementMap):
2719 (WebCore::FEDisplacementMap::create):
2720 (WebCore::FEDisplacementMap::xChannelSelector):
2721 (WebCore::FEDisplacementMap::setXChannelSelector):
2722 (WebCore::FEDisplacementMap::yChannelSelector):
2723 (WebCore::FEDisplacementMap::setYChannelSelector):
2724 (WebCore::FEDisplacementMap::scale):
2725 (WebCore::FEDisplacementMap::setScale):
2726 (WebCore::FEDisplacementMap::apply):
2727 (WebCore::FEDisplacementMap::dump):
2728 (WebCore::operator<<):
2729 (WebCore::FEDisplacementMap::externalRepresentation):
2730 * svg/graphics/filters/SVGFEDisplacementMap.h:
2732 * svg/graphics/filters/SVGFEFlood.cpp:
2733 (WebCore::FEFlood::FEFlood):
2734 (WebCore::FEFlood::create):
2735 (WebCore::FEFlood::floodColor):
2736 (WebCore::FEFlood::setFloodColor):
2737 (WebCore::FEFlood::floodOpacity):
2738 (WebCore::FEFlood::setFloodOpacity):
2739 (WebCore::FEFlood::apply):
2740 (WebCore::FEFlood::dump):
2741 (WebCore::FEFlood::externalRepresentation):
2742 * svg/graphics/filters/SVGFEFlood.h:
2743 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2744 (WebCore::FEGaussianBlur::FEGaussianBlur):
2745 (WebCore::FEGaussianBlur::create):
2746 (WebCore::FEGaussianBlur::stdDeviationX):
2747 (WebCore::FEGaussianBlur::setStdDeviationX):
2748 (WebCore::FEGaussianBlur::stdDeviationY):
2749 (WebCore::FEGaussianBlur::setStdDeviationY):
2750 (WebCore::FEGaussianBlur::apply):
2751 (WebCore::FEGaussianBlur::dump):
2752 (WebCore::FEGaussianBlur::externalRepresentation):
2753 * svg/graphics/filters/SVGFEGaussianBlur.h:
2754 * svg/graphics/filters/SVGFEImage.cpp:
2755 (WebCore::FEImage::FEImage):
2756 (WebCore::FEImage::create):
2757 (WebCore::FEImage::~FEImage):
2758 (WebCore::FEImage::cachedImage):
2759 (WebCore::FEImage::apply):
2760 (WebCore::FEImage::dump):
2761 (WebCore::FEImage::externalRepresentation):
2762 * svg/graphics/filters/SVGFEImage.h:
2763 * svg/graphics/filters/SVGFEMerge.cpp:
2764 (WebCore::FEMerge::FEMerge):
2765 (WebCore::FEMerge::create):
2766 (WebCore::FEMerge::mergeInputs):
2767 (WebCore::FEMerge::setMergeInputs):
2768 (WebCore::FEMerge::apply):
2769 (WebCore::FEMerge::dump):
2770 (WebCore::FEMerge::externalRepresentation):
2771 * svg/graphics/filters/SVGFEMerge.h:
2772 * svg/graphics/filters/SVGFEMorphology.cpp:
2773 (WebCore::FEMorphology::FEMorphology):
2774 (WebCore::FEMorphology::create):
2775 (WebCore::FEMorphology::morphologyOperator):
2776 (WebCore::FEMorphology::setMorphologyOperator):
2777 (WebCore::FEMorphology::radiusX):
2778 (WebCore::FEMorphology::setRadiusX):
2779 (WebCore::FEMorphology::radiusY):
2780 (WebCore::FEMorphology::setRadiusY):
2781 (WebCore::FEMorphology::apply):
2782 (WebCore::FEMorphology::dump):
2783 (WebCore::operator<<):
2784 (WebCore::FEMorphology::externalRepresentation):
2785 * svg/graphics/filters/SVGFEMorphology.h:
2787 * svg/graphics/filters/SVGFEOffset.cpp:
2788 (WebCore::FEOffset::FEOffset):
2789 (WebCore::FEOffset::create):
2790 (WebCore::FEOffset::dx):
2791 (WebCore::FEOffset::setDx):
2792 (WebCore::FEOffset::dy):
2793 (WebCore::FEOffset::setDy):
2794 (WebCore::FEOffset::apply):
2795 (WebCore::FEOffset::dump):
2796 (WebCore::FEOffset::externalRepresentation):
2797 * svg/graphics/filters/SVGFEOffset.h:
2798 * svg/graphics/filters/SVGFESpecularLighting.cpp:
2799 (WebCore::FESpecularLighting::FESpecularLighting):
2800 (WebCore::FESpecularLighting::create):
2801 (WebCore::FESpecularLighting::~FESpecularLighting):
2802 (WebCore::FESpecularLighting::lightingColor):
2803 (WebCore::FESpecularLighting::setLightingColor):
2804 (WebCore::FESpecularLighting::surfaceScale):
2805 (WebCore::FESpecularLighting::setSurfaceScale):
2806 (WebCore::FESpecularLighting::specularConstant):
2807 (WebCore::FESpecularLighting::setSpecularConstant):
2808 (WebCore::FESpecularLighting::specularExponent):
2809 (WebCore::FESpecularLighting::setSpecularExponent):
2810 (WebCore::FESpecularLighting::kernelUnitLengthX):
2811 (WebCore::FESpecularLighting::setKernelUnitLengthX):
2812 (WebCore::FESpecularLighting::kernelUnitLengthY):
2813 (WebCore::FESpecularLighting::setKernelUnitLengthY):
2814 (WebCore::FESpecularLighting::lightSource):
2815 (WebCore::FESpecularLighting::setLightSource):
2816 (WebCore::FESpecularLighting::apply):
2817 (WebCore::FESpecularLighting::dump):
2818 (WebCore::FESpecularLighting::externalRepresentation):
2819 * svg/graphics/filters/SVGFESpecularLighting.h:
2820 * svg/graphics/filters/SVGFETile.cpp:
2821 (WebCore::FETile::FETile):
2822 (WebCore::FETile::create):
2823 (WebCore::FETile::apply):
2824 (WebCore::FETile::dump):
2825 (WebCore::FETile::externalRepresentation):
2826 * svg/graphics/filters/SVGFETile.h:
2827 * svg/graphics/filters/SVGFETurbulence.cpp:
2828 (WebCore::FETurbulence::FETurbulence):
2829 (WebCore::FETurbulence::create):
2830 (WebCore::FETurbulence::type):
2831 (WebCore::FETurbulence::setType):
2832 (WebCore::FETurbulence::baseFrequencyY):
2833 (WebCore::FETurbulence::setBaseFrequencyY):
2834 (WebCore::FETurbulence::baseFrequencyX):
2835 (WebCore::FETurbulence::setBaseFrequencyX):
2836 (WebCore::FETurbulence::seed):
2837 (WebCore::FETurbulence::setSeed):
2838 (WebCore::FETurbulence::numOctaves):
2839 (WebCore::FETurbulence::setNumOctaves):
2840 (WebCore::FETurbulence::stitchTiles):
2841 (WebCore::FETurbulence::setStitchTiles):
2842 (WebCore::FETurbulence::apply):
2843 (WebCore::FETurbulence::dump):
2844 (WebCore::operator<<):
2845 (WebCore::FETurbulence::externalRepresentation):
2846 * svg/graphics/filters/SVGFETurbulence.h:
2848 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
2849 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
2850 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
2851 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
2852 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2853 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2854 (WebCore::getVectorForChannel):
2855 * svg/graphics/filters/cg/SVGFEImageCg.mm:
2856 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
2857 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
2858 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
2859 * svg/graphics/filters/cg/SVGFETileCg.mm:
2861 2008-07-09 Mark Rowe <mrowe@apple.com>
2863 Reviewed by Geoff Garen.
2865 Don't warn about deprecated functions in production builds.
2867 * Configurations/Base.xcconfig:
2868 * Configurations/DebugRelease.xcconfig:
2870 2008-07-09 Brady Eidson <beidson@apple.com>
2874 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2875 has been installed in a frame tree.
2877 The root of this problem was that calling init() on a new frame could end up calling arbitrary
2878 javascript that might end up removing the frame from the tree. This opened up a small can of worms
2879 such as the frame not having yet been installed in its frame tree, and other assumed behavior while
2880 destroying the frame.
2882 Test: fast/loader/frame-creation-removal.html
2884 * loader/FrameLoader.cpp:
2885 (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up
2886 the document and parser because they don't exist, and this frame is on its way out.
2887 (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?"
2888 because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be
2889 false if the Frame is being destroyed.
2891 2008-07-09 Dean Jackson <dino@apple.com>
2893 Changed to use the correct license in header comment (via Darin)
2895 * css/WebKitCSSTransformValue.idl:
2897 2008-07-09 Dean Jackson <dino@apple.com>
2899 Add DOM interface for WebKitCSSTransformValue.
2900 https://bugs.webkit.org/show_bug.cgi?id=19863
2904 * bindings/objc/DOMInternal.h:
2905 * css/WebKitCSSTransformValue.idl: Added.
2907 * bindings/scripts/CodeGeneratorObjC.pm:
2908 make sure new class inherits from CSSValue not Node
2910 * DerivedSources.make:
2913 * WebCore.vcproj/WebCore.vcproj:
2914 * WebCore.xcodeproj/project.pbxproj:
2915 * WebCoreSources.bkl:
2916 Adding new generated files
2918 2008-07-09 Maxime Britto <britto@apple.com>
2922 http://bugs.webkit.org/show_bug.cgi?id=14227
2923 Add the middle click panning feature to the windows release.
2924 Details on almost each method below.
2925 Manual test is included in the patch.
2928 * WebCore.vcproj/WebCore.vcproj:
2929 * manual-tests/panScroll.html: Added.
2930 * manual-tests/resources/big-page.html: Added.
2931 * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
2932 (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
2933 (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
2934 (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
2935 (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
2936 (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
2937 (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
2938 (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
2939 * page/EventHandler.h:
2940 (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
2941 (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
2942 * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
2943 * platform/gtk/ScrollViewGtk.cpp:
2944 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2945 * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
2946 (WebCore::ScrollView::isScrollable):
2947 * platform/qt/ScrollViewQt.cpp:
2948 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2949 * platform/win/ScrollViewWin.cpp:
2950 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
2951 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
2952 (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method
2953 (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
2954 (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
2955 (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
2956 (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
2957 (WebCore::ScrollView::paint): Modified to draw the icon if needed.
2958 * platform/wx/ScrollViewWx.cpp:
2959 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2960 * rendering/RenderLayer.cpp:
2961 (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
2962 * rendering/RenderLayer.h:
2963 * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
2964 (WebCore::RenderListBox::panScroll):
2965 (WebCore::RenderListBox::scrollToward):
2966 (WebCore::RenderListBox::autoscroll):
2967 * rendering/RenderListBox.h:
2968 (WebCore::RenderListBox::shouldPanScroll):
2969 * rendering/RenderObject.cpp:
2970 (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
2971 (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
2972 * rendering/RenderObject.h:
2973 (WebCore::RenderObject::stopPanScroll):
2975 2008-07-09 Dean Jackson <dino@apple.com>
2977 Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
2978 the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
2979 https://bugs.webkit.org/show_bug.cgi?id=19861
2983 * css/CSSParser.cpp:
2984 * css/CSSStyleSelector.cpp:
2985 * css/CSSTransformValue.cpp: Removed.
2986 * css/CSSTransformValue.h: Removed.
2987 * css/CSSValueList.h:
2988 * css/WebKitCSSTransformValue.cpp: Added.
2989 * css/WebKitCSSTransformValue.h: Added.
2994 * WebCore.vcproj/WebCore.vcproj:
2995 * WebCore.xcodeproj/project.pbxproj:
2996 * WebCoreSources.bkl:
2997 updated for new file names
3000 2008-07-09 David Hyatt <hyatt@apple.com>
3002 Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
3003 change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
3008 * manual-tests/transitions.html:
3009 * manual-tests/transitions2.html:
3010 * page/AnimationController.cpp:
3011 (WebCore::ImplicitAnimation::reset):
3012 (WebCore::CompositeImplicitAnimation::animate):
3013 (WebCore::AnimationControllerPrivate::get):
3014 (WebCore::AnimationController::updateImplicitAnimations):
3016 2008-07-09 Michelangelo De Simone <m.des@mac.com>
3020 Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
3022 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3023 Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
3024 * dom/Node.h: Added base isTextControl().
3025 * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
3026 * html/HTMLTextAreaElement.h: Added isTextControl().
3028 2008-07-09 Rob Buis <buis@kde.org>
3032 https://bugs.webkit.org/show_bug.cgi?id=15431
3033 SVGRenderStyle should store pre-modified resource URIs
3035 Store pre-modified resource URIs to decrease string
3036 operations during layout/rendering.
3038 * css/SVGCSSStyleSelector.cpp:
3039 (WebCore::CSSStyleSelector::applySVGProperty):
3040 * rendering/RenderPath.cpp:
3041 (WebCore::RenderPath::absoluteClippedOverflowRect):
3042 (WebCore::RenderPath::drawMarkersIfNeeded):
3043 * rendering/RenderSVGContainer.cpp:
3044 (WebCore::RenderSVGContainer::selfWillPaint):
3045 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
3046 * rendering/RenderSVGImage.cpp:
3047 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3048 * rendering/RenderSVGRoot.cpp:
3049 (WebCore::RenderSVGRoot::paint):
3050 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
3051 * rendering/RenderSVGText.cpp:
3052 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
3053 * rendering/SVGRenderSupport.cpp:
3054 (WebCore::prepareToRenderSVGContent):
3056 2008-07-09 Anders Carlsson <andersca@apple.com>
3060 Remove an unused instance variable.
3062 * loader/DocumentLoader.h:
3064 2008-07-09 Dan Bernstein <mitz@apple.com>
3066 Reviewed by Anders Carlsson.
3068 - remove unused #includes
3070 * dom/XMLTokenizer.cpp:
3071 * html/PreloadScanner.cpp:
3072 * loader/CachedCSSStyleSheet.cpp:
3073 * loader/CachedScript.cpp:
3074 * loader/CachedXBLDocument.cpp:
3075 * loader/CachedXSLStyleSheet.cpp:
3076 * page/mac/FrameMac.mm:
3077 * xml/XSLTProcessor.cpp:
3079 2008-07-08 Geoffrey Garen <ggaren@apple.com>
3081 Reviewed by Oliver Hunt.
3083 Only artificially mark JS DOM wrappers if they have custom properties.
3085 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
3087 No, that is not a typo.
3089 * bindings/js/JSDOMBinding.cpp:
3090 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3092 2008-07-08 Kevin Watters <kevinwatters@gmail.com>
3094 Reviewed by Kevin Ollivier.
3096 Fix to previous patch for handling mouse up events.
3098 https://bugs.webkit.org/show_bug.cgi?id=18464
3100 * platform/wx/MouseEventWx.cpp:
3101 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3103 2008-07-08 Dan Bernstein <mitz@apple.com>
3105 Reviewed by Brady Eidson.
3107 - initialize the Archives log channel's state
3109 * platform/mac/LoggingMac.mm:
3110 (WebCore::InitializeLoggingChannelsIfNecessary):
3112 2008-07-08 Kevin McCullough <kmccullough@apple.com>
3114 Added manual test for the new heavy view.
3116 * manual-tests/inspector/profiler-test-heavy-view.html: Added.
3118 2008-07-08 Darin Adler <darin@apple.com>
3122 - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
3123 looks wrong due to OpenCube QuickMenu appVersion check
3125 * page/Navigator.cpp:
3126 (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
3128 2008-07-08 Dan Bernstein <mitz@apple.com>
3130 Reviewed by John Sullivan.
3132 - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
3134 Added a setting, updatesWhenOffscreen(), which controls whether an
3135 offscreen web view gets marked as needing update when its contents
3136 change (the existing behavior) or not (a new behavior), in which case it
3137 will be marked as needing update just before it goes on screen. The
3138 existing behavior (updating while offscreen) remains the default.
3140 * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
3141 * page/FrameView.cpp:
3142 (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
3143 value from settings.
3145 * page/Settings.cpp:
3146 (WebCore::Settings::setUpdatesWhenOffscreen): Added.
3148 (WebCore::Settings::updatesWhenOffscreen): Added.
3149 * platform/ScrollView.h:
3150 * platform/mac/ScrollViewMac.mm:
3151 (WebCore::ScrollView::updateContents): Added code to return early and
3152 not call -setNeedsDisplayInRect: if the view is not in a visible window
3153 and the setting is not to update when offscreen.
3155 2008-07-08 Simon Hausmann <hausmann@webkit.org>
3157 Fix the build with enabled SVG filters.
3159 * svg/SVGFESpecularLightingElement.cpp: The last argument to
3160 ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
3163 2008-07-07 Sam Weinig <sam@webkit.org>
3165 Reviewed by Anders Carlsson.
3167 Remove extraneous null check.
3170 (WebCore::Node::querySelector):
3171 (WebCore::Node::querySelectorAll):
3173 2008-07-07 Sam Weinig <sam@webkit.org>
3175 Reviewed by Anders Carlsson.
3177 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3178 Use of CSS3 Namespaces syntax in Selectors API should throw an exception
3180 - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
3181 used in a selector passed to querySelector or querySelectorAll.
3183 Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
3186 (WebCore::selectorNeedsNamespaceResolution):
3187 (WebCore::Node::querySelector):
3188 (WebCore::Node::querySelectorAll):
3190 2008-07-07 Simon Fraser <simon.fraser@apple.com>
3194 Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
3195 nodeIterator with filter fails on documents not in a frame
3197 Tests: traversal/node-iterator-009.html
3198 traversal/tree-walker-006.html
3200 * bindings/js/JSNodeFilterCondition.cpp:
3201 * bindings/js/JSNodeFilterCondition.h:
3202 * bindings/js/JSNodeFilterCustom.cpp:
3203 * bindings/js/JSNodeIteratorCustom.cpp:
3204 * bindings/js/JSTreeWalkerCustom.cpp:
3205 * bindings/objc/DOM.mm:
3206 * dom/NodeFilter.cpp:
3208 * dom/NodeFilterCondition.cpp:
3209 * dom/NodeFilterCondition.h:
3210 * dom/NodeIterator.cpp:
3211 * dom/NodeIterator.h:
3212 * dom/Traversal.cpp:
3214 * dom/TreeWalker.cpp:
3217 2008-07-07 Adele Peterson <adele@apple.com>
3219 Reviewed by Dan Bernstein.
3221 Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
3222 <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
3224 * page/DragController.cpp: (WebCore::DragController::concludeDrag):
3225 Check that the file control is enabled before taking dropped files.
3227 2008-07-07 Adele Peterson <adele@apple.com>
3231 Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
3233 Change default volume setting to 1.0.
3235 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
3236 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
3238 2008-07-07 Darin Adler <darin@apple.com>
3240 Reviewed by Mark Rowe.
3242 - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
3244 The old version of the OpenCube QuickMenu library used on this site still has code
3245 that detects Netscape 4 by checking appVersion to see if it has the substring "4."
3246 in it. We decided to special-case the filename of the script and tweak the appVersion
3247 for files with that name.
3249 * bindings/js/ScriptController.cpp:
3250 (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
3251 m_sourceURL. Use false instead of 0 to initialize a boolean.
3252 (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
3253 Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
3254 maintained the value of m_processingInlineCode, since the old code set it to
3255 false rather than restoring it. Renamed a local variable named sourceURL to
3256 exceptionSourceURL for clarity.
3257 (WebCore::ScriptController::processingUserGesture): Code that formerly used
3258 m_processingInlineCode to detect that it was evaluating code with no URL now
3259 uses m_sourceURL to do the same check.
3261 * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
3262 been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
3263 removed m_processingInlineCode.
3265 * page/Navigator.cpp:
3266 (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
3267 a source URL ending in "/dqm_script.js" and if the settings say we should do
3268 site-specific quirks (really JavaScript-library-specific in this case).
3269 (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
3271 2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
3275 Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
3276 <https://bugs.webkit.org/show_bug.cgi?id=19907>
3278 Clear exceptions set on ExecStates before returning from NPAPI
3279 callbacks, in order to avoid causing problems for the next script that
3282 While fixing this bug, the question was raised of whether we are
3283 correctly propagating exception information back to the caller:
3285 Bug 19936: Correctly propagate exception information from NPAPI callbacks
3286 <https://bugs.webkit.org/show_bug.cgi?id=19936>
3288 * bridge/NP_jsobject.cpp:
3289 (_NPN_InvokeDefault):
3294 (_NPN_RemoveProperty):
3299 2008-07-07 Dan Bernstein <mitz@apple.com>
3301 Reviewed by Darin Adler.
3303 - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
3305 * css/CSSFontFaceSource.cpp:
3306 (WebCore::CSSFontFaceSource::getFontData): Added a null check because
3307 docLoader() can return 0 now.
3308 * css/CSSFontSelector.cpp:
3309 (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
3310 (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
3311 (WebCore::CSSFontSelector::fontLoaded): Ditto.
3312 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
3313 (WebCore::fontDataForGenericFamily): Added a null check of document.
3314 * css/CSSFontSelector.h:
3315 (WebCore::CSSFontSelector::clearDocument): Added.
3316 * css/CSSStyleSelector.cpp:
3317 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
3318 CSSFontSelector::clearDocument(). When the style selector is destroyed,
3319 there is no guarantee that the document will continue to exist.
3321 2008-07-07 Julien Chaffraix <jchaffraix@webkit.org>
3327 * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
3328 * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
3330 2008-07-07 Michelangelo De Simone <m.des@mac.com>
3334 Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
3336 URL: http://www.w3.org/TR/web-forms-2/#relation
3338 Tests: fast/css/readonly-pseudoclass-opera-001.html
3339 fast/css/readonly-pseudoclass-opera-002.html
3340 fast/css/readonly-pseudoclass-opera-003.html
3341 fast/css/readonly-pseudoclass-opera-004.html
3342 fast/css/readonly-pseudoclass-opera-005.html
3344 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3345 Added "read-only" and "read-write" values for PseudoType extraction.
3346 * css/CSSSelector.h: (WebCore::CSSSelector::):
3347 Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
3348 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3349 Checks to determine whether to match :read-only and :read-write pseudoclasses on
3352 2008-07-07 Sam Weinig <sam@webkit.org>
3354 Reviewed by Geoffrey Garen.
3356 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3357 querySelectorAll should throw an exception if a NSResolver is passed in.
3359 - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
3360 as the second argument to querySelector or querySelectorAll.
3362 Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
3364 * bindings/js/JSDocumentCustom.cpp:
3365 (WebCore::JSDocument::querySelector):
3366 (WebCore::JSDocument::querySelectorAll):
3367 * bindings/js/JSElementCustom.cpp:
3368 (WebCore::JSElement::querySelector):
3369 (WebCore::JSElement::querySelectorAll):
3373 2008-07-07 Brady Eidson <beidson@apple.com>
3375 Reviewed by Mitz and Geoff
3377 Test: fast/loader/empty-ref-versus-no-ref.html
3379 Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
3380 "all DOM operations stop working when location.hash set to '#'"
3382 The underlying problem is that KURL didn't really know the difference between "empty ref"
3383 and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up
3384 affecting removal of the ref, which ended up causing an infinite load load, also killing
3387 * platform/KURL.cpp:
3388 (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special
3389 meaning of "no ref at all" while empty means "empty ref"
3391 2008-07-07 Kevin McCullough <kmccullough@apple.com>
3395 Because profiler.h no longer #includes profile.h we need to explicitly
3396 include it in console.cpp.
3400 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3402 Not reviewed. Build fix.
3404 Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
3406 * svg/SVGFEColorMatrixElement.cpp:
3407 * svg/SVGFEDiffuseLightingElement.cpp:
3408 * svg/SVGFEImageElement.cpp:
3409 * svg/SVGFELightElement.cpp:
3410 * svg/SVGFESpecularLightingElement.cpp:
3412 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3416 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3418 Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
3419 Remove unneccessary parameters of all macros.
3421 SVG Errata states: "All SVG DOM objects that directly correspond to an
3422 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
3423 means that any changes made to the attribute are immediately reflected in the
3424 corresponding SVG DOM object." (see linked URL on bug report)
3426 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
3427 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
3429 Add a new synchronization layer to handle SVG DOM -> XML changes.
3431 Added test: svg/custom/svg-xml-dom-sync.html
3432 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3435 (WebCore::Element::Element): Initialize the two new bits.
3436 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
3437 (WebCore::Element::getAttribute): Ditto.
3438 (WebCore::Element::hasAttributes): Ditto.
3439 * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
3440 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
3441 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
3442 * svg/SVGAElement.cpp:
3443 * svg/SVGAElement.h:
3444 * svg/SVGAnimatedTemplate.h:
3445 (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
3446 * svg/SVGCircleElement.cpp:
3447 (WebCore::SVGCircleElement::SVGCircleElement):
3448 * svg/SVGCircleElement.h:
3449 * svg/SVGClipPathElement.cpp:
3450 * svg/SVGClipPathElement.h:
3451 * svg/SVGComponentTransferFunctionElement.cpp:
3452 * svg/SVGComponentTransferFunctionElement.h:
3453 * svg/SVGCursorElement.cpp:
3454 (WebCore::SVGCursorElement::SVGCursorElement):
3455 * svg/SVGCursorElement.h:
3456 * svg/SVGElement.cpp:
3457 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
3458 (WebCore::SVGElement::setSynchronizedSVGAttributes):
3460 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
3461 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
3462 (WebCore::SVGElement::addSVGPropertySynchronizer):
3463 * svg/SVGEllipseElement.cpp:
3464 * svg/SVGEllipseElement.h:
3465 * svg/SVGExternalResourcesRequired.cpp:
3466 * svg/SVGExternalResourcesRequired.h:
3467 * svg/SVGFEBlendElement.cpp:
3468 * svg/SVGFEBlendElement.h:
3469 * svg/SVGFEColorMatrixElement.cpp:
3470 * svg/SVGFEColorMatrixElement.h:
3471 * svg/SVGFEComponentTransferElement.cpp:
3472 * svg/SVGFEComponentTransferElement.h:
3473 * svg/SVGFECompositeElement.cpp:
3474 * svg/SVGFECompositeElement.h:
3475 * svg/SVGFEDiffuseLightingElement.cpp:
3476 * svg/SVGFEDiffuseLightingElement.h:
3477 * svg/SVGFEDisplacementMapElement.cpp:
3478 * svg/SVGFEDisplacementMapElement.h:
3479 * svg/SVGFEGaussianBlurElement.cpp:
3480 * svg/SVGFEGaussianBlurElement.h:
3481 * svg/SVGFEImageElement.cpp:
3482 * svg/SVGFEImageElement.h:
3483 * svg/SVGFELightElement.cpp:
3484 * svg/SVGFELightElement.h:
3485 * svg/SVGFEMergeNodeElement.cpp:
3486 * svg/SVGFEMergeNodeElement.h:
3487 * svg/SVGFEOffsetElement.cpp:
3488 * svg/SVGFEOffsetElement.h:
3489 * svg/SVGFESpecularLightingElement.cpp:
3490 * svg/SVGFESpecularLightingElement.h:
3491 * svg/SVGFETileElement.cpp:
3492 * svg/SVGFETileElement.h:
3493 * svg/SVGFETurbulenceElement.cpp:
3494 * svg/SVGFETurbulenceElement.h:
3495 * svg/SVGFilterElement.cpp:
3496 * svg/SVGFilterElement.h:
3497 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3498 * svg/SVGFilterPrimitiveStandardAttributes.h:
3499 * svg/SVGFitToViewBox.cpp:
3500 * svg/SVGFitToViewBox.h:
3501 * svg/SVGForeignObjectElement.cpp:
3502 * svg/SVGForeignObjectElement.h:
3503 * svg/SVGGradientElement.cpp:
3504 * svg/SVGGradientElement.h:
3505 * svg/SVGImageElement.cpp:
3506 * svg/SVGImageElement.h:
3507 * svg/SVGLineElement.cpp:
3508 * svg/SVGLineElement.h:
3509 * svg/SVGLinearGradientElement.cpp:
3510 * svg/SVGLinearGradientElement.h:
3511 * svg/SVGMarkerElement.cpp:
3512 * svg/SVGMarkerElement.h:
3513 * svg/SVGMaskElement.cpp:
3514 * svg/SVGMaskElement.h:
3515 * svg/SVGPathElement.cpp:
3516 * svg/SVGPathElement.h:
3517 * svg/SVGPatternElement.cpp:
3518 * svg/SVGPatternElement.h:
3519 * svg/SVGRadialGradientElement.cpp:
3520 * svg/SVGRadialGradientElement.h:
3521 * svg/SVGRectElement.cpp:
3522 * svg/SVGRectElement.h:
3523 * svg/SVGSVGElement.cpp:
3524 * svg/SVGSVGElement.h:
3525 * svg/SVGScriptElement.h:
3526 * svg/SVGStopElement.cpp:
3527 * svg/SVGStopElement.h:
3528 * svg/SVGStyledElement.cpp:
3529 * svg/SVGStyledElement.h:
3530 * svg/SVGStyledTransformableElement.cpp:
3531 * svg/SVGStyledTransformableElement.h:
3532 * svg/SVGSymbolElement.h:
3533 * svg/SVGTextContentElement.cpp:
3534 * svg/SVGTextContentElement.h:
3535 * svg/SVGTextElement.cpp:
3536 * svg/SVGTextElement.h:
3537 * svg/SVGTextPathElement.cpp:
3538 * svg/SVGTextPathElement.h:
3539 * svg/SVGTextPositioningElement.cpp:
3540 * svg/SVGTextPositioningElement.h:
3541 * svg/SVGURIReference.cpp:
3542 * svg/SVGURIReference.h:
3543 * svg/SVGUseElement.cpp:
3544 * svg/SVGUseElement.h:
3545 * svg/SVGViewElement.h:
3546 * svg/SynchronizableTypeWrapper.h: Added.
3548 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3552 Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3554 Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
3556 Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
3557 Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
3558 in SVGAnimatedTemplate.
3560 * svg/SVGAnimatedTemplate.h:
3561 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3562 (WebCore::lookupOrCreateWrapper):
3563 (WebCore::SVGAnimatedTypeValue::null):
3564 (WebCore::SVGAnimatedTypeValue::toString):
3566 * svg/SVGDocumentExtensions.h:
3567 (WebCore::SVGDocumentExtensions::baseValue):
3568 * svg/SVGLengthList.cpp:
3569 (WebCore::SVGLengthList::valueAsString):
3570 * svg/SVGLengthList.h:
3571 * svg/SVGNumberList.cpp:
3572 (WebCore::SVGNumberList::valueAsString):
3573 * svg/SVGNumberList.h: