2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2
3         Reviewed by Simon
4
5         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
6
7         * platform/PlatformKeyboardEvent.h: add accessor and member.
8         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
9         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
10
11 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
12
13         Fix linking of QtWebKit against the statically built JavaScriptCore
14         library, under Windows/Mac we may need _d/_debug suffixes.
15
16         * WebCore.pro:
17
18 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
19
20         Rubber-stamped by Lars.
21
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
26         cause conflicts.
27
28         * bridge/qt/qt_runtime.cpp:
29         (KJS::Bindings::findMethodIndex):
30         (KJS::Bindings::QtRuntimeConnectionMethod::call):
31         * plugins/PluginMainThreadScheduler.h:
32
33 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
34
35         Discussed with and rubber-stamped by Lars.
36
37         Fix the build system for the Qt port.
38
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.
43
44         This commit solves this by introducing a separate build of JavaScriptCore into
45         a static library.
46
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.
54
55         At the same time I removed a lot of cruft from the pro files to ease maintenance.
56
57         * WebCore.pro:
58
59 2008-07-24  kevino  <kevino@theolliviers.com>
60
61         wx build fix on Win for plugins coode.
62
63         * plugins/PluginDatabase.cpp:
64         * plugins/PluginView.cpp:
65         (WebCore::PluginView::PluginView):
66         * plugins/PluginView.h:
67
68 2008-07-24  Sam Weinig  <sam@webkit.org>
69
70         Reviewed by Anders Carlsson.
71
72         Make isElementNode() non-virtual for a speedup on many benchmarks
73         including 20% on http://ejohn.org/apps/fragment/.
74
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.
78
79         * dom/Attr.cpp:
80         (WebCore::Attr::Attr):
81         * dom/Attr.h:
82         (WebCore::Attr::specified):
83         (WebCore::Attr::setSpecified):
84         * dom/ContainerNode.cpp:
85         (WebCore::ContainerNode::ContainerNode):
86         * dom/ContainerNode.h:
87         * dom/Element.cpp:
88         (WebCore::Element::Element):
89         * dom/Element.h:
90         (WebCore::Element::hasRareData):
91         (WebCore::Element::setHasRareData):
92         * dom/EventTargetNode.cpp:
93         (WebCore::EventTargetNode::EventTargetNode):
94         * dom/EventTargetNode.h:
95         * dom/Node.cpp:
96         (WebCore::Node::Node):
97         * dom/Node.h:
98         (WebCore::Node::isElementNode):
99
100 2008-07-24  Dan Bernstein  <mitz@apple.com>
101
102         Reviewed by Dave Hyatt.
103
104         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
105
106         Not testable in DumpRenderTree
107
108         * rendering/RenderView.cpp:
109         (WebCore::RenderView::layout): Ensured that all children with percentage
110         heights get laid out again if the height changes.
111
112 2008-07-24  kevino  <kevino@theolliviers.com>
113
114         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
115
116         * page/EventHandler.cpp:
117         (WebCore::EventHandler::handleAutoscroll):
118         (WebCore::EventHandler::autoscrollTimerFired):
119         (WebCore::EventHandler::stopAutoscrollTimer):
120         (WebCore::EventHandler::handleMousePressEvent):
121
122 2008-07-24  David Hyatt  <hyatt@apple.com>
123
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.
126
127         Reviewed by olliej
128
129         * ChangeLog:
130         * rendering/RenderReplaced.cpp:
131         (WebCore::RenderReplaced::setStyle):
132
133 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
134
135         Reviewed by Eric.
136
137         Bug 20053: .in files should use a custom format instead of XML
138
139         - Remove our XML parser perl module (XML::Tiny)
140
141         - Add a custom perl parser
142
143         - Move XML files to the new format
144
145         * bindings/scripts/InFilesParser.pm: Added.
146         * bindings/scripts/XMLTiny.pm: Removed.
147         * dom/make_names.pl: Switched to our new
148         parser.
149
150         * html/HTMLAttributeNames.in: Switched to
151         our custom format.
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.
157
158 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
159
160         Reviewed by Eric.
161
162         Bug 19588: CRASH doing open() on destroyed window
163         https://bugs.webkit.org/show_bug.cgi?id=19588
164
165         Add frame's page null check as it could have been
166         detached from the page.
167
168         Test: fast/frames/crash-removed-iframe.html
169
170         * bindings/js/JSDOMWindowBase.cpp:
171         (WebCore::windowProtoFuncOpen):
172         * page/FrameTree.cpp:
173         (WebCore::FrameTree::find):
174
175 2008-07-23  Dan Bernstein  <mitz@apple.com>
176
177         Reviewed by Alexey Proskuryakov.
178
179         - fix a leak when using hex color values in CSS variables
180
181         - fix CSSOM access to hex color values in variables declarations
182
183         Test: fast/css/variables/color-hex-test.html
184
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.
191
192         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
193         for color values in hex notation.
194         * css/CSSParser.cpp:
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.
206
207 2008-07-23  Beth Dakin  <bdakin@apple.com>
208
209         Reviewed by Dan Bernstein.
210
211         Fix for <rdar://problem/5997215> display: table-row-group 
212         for :before content causes a crash
213  
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.
218
219         This patch also makes Node::diff() a static function.
220
221         * dom/Node.cpp:
222         (WebCore::Node::diff):
223         * dom/Node.h:
224         (WebCore::Node::):
225         (WebCore::Node::recalcStyle):
226         * rendering/RenderContainer.cpp:
227         (WebCore::findBeforeAfterParent):
228         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
229         * svg/SVGUseElement.cpp:
230         (WebCore::SVGUseElement::recalcStyle):
231
232 2008-07-23  Timothy Hatcher  <timothy@apple.com>
233
234         Updates the elements DOM tree when nodes are added or removed from
235         the inspected document.
236
237         https://bugs.webkit.org/show_bug.cgi?id=6590
238         <rdar://problem/5712921>
239
240         Reviewed by Adam Roben.
241
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.
299
300 2008-07-22  Timothy Hatcher  <timothy@apple.com>
301
302         Fix an exception that occurred when double clicking the closing tag
303         of an element in the DOM tree.
304
305         Reviewed by Anders Carlsson.
306
307         * page/inspector/ElementsPanel.js:
308         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
309         element.ondblclick.
310
311 2008-07-22  Timothy Hatcher  <timothy@apple.com>
312
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.
318
319         https://bugs.webkit.org/show_bug.cgi?id=19377
320
321         Reviewed by Adam Roben.
322
323         * page/inspector/ElementsPanel.js:
324         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
325         to compare nodes.
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
338         to compare nodes.
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.
346
347 2008-07-21  Timothy Hatcher  <timothy@apple.com>
348
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.
352
353         Reviewed by Adam Roben.
354
355         * page/InspectorController.cpp:
356         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
357         (WebCore::InspectorController::windowScriptObjectAvailable): Add
358         the isWindowVisible function to the JavaScript class.
359
360 2008-07-21  Timothy Hatcher  <timothy@apple.com>
361
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.
365
366         Reviewed by Adam Roben.
367
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.
376
377 2008-07-21  Timothy Hatcher  <timothy@apple.com>
378
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
382         fix for bug 19164.
383
384         Reviewed by Adam Roben.
385
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.
390
391 2008-07-23  Adele Peterson  <adele@apple.com>
392
393         Reviewed by Adam.
394
395         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
396
397         * WebCore.base.exp: Added symbols.
398         * page/Chrome.cpp:
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:
402         * page/Settings.cpp:
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.
416
417 2008-07-23  Sam Weinig  <sam@webkit.org>
418
419         Reviewed by Anders Carlsson.
420
421         Cleanup and pack the member variables in Node.
422
423         * bindings/js/JSNodeCustom.cpp:
424         (WebCore::JSNode::mark):
425         * dom/Attr.cpp:
426         (WebCore::Attr::Attr):
427         * dom/Attr.h:
428         (WebCore::Attr::specified):
429         (WebCore::Attr::setSpecified):
430         * dom/ContainerNode.cpp:
431         (WebCore::ContainerNode::setFocus):
432         * dom/Document.cpp:
433         (WebCore::Document::adoptNode):
434         * dom/Element.cpp:
435         (WebCore::Element::~Element):
436         (WebCore::Element::rareData):
437         (WebCore::Element::createRareData):
438         * dom/Element.h:
439         (WebCore::Element::hasRareData):
440         (WebCore::Element::setHasRareData):
441         * dom/Node.h:
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):
462
463 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
464
465         Reviewed by Adele.
466
467         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
468
469         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
470
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):
479         (QTMovieWin::play):
480         (QTMovieWin::pause):
481         (QTMovieWin::setRate):
482         (QTMovieWin::setCurrentTime):
483         (QTMovieWin::load):
484
485 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
486
487         Reviewed by Adele.
488
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.
492
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:
509
510 2008-07-23  Adele Peterson  <adele@apple.com>
511
512         Reviewed by Sam.
513
514         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
515
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.
528
529 2008-07-23  Sam Weinig  <sam@webkit.org>
530
531         Reviewed by Anders Carlsson.
532
533         Remove extraneous allocations by using equalIgnoringCase rather than
534         String::lower.
535
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):
554
555 2008-07-23  Maxime Britto  <britto@apple.com>
556
557         Reviewed by Adam Roben.
558
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()
561
562         * page/EventHandler.cpp:
563         (WebCore::EventHandler::stopAutoscrollTimer):
564
565 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
566
567        Reviewed by Adele.
568
569        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
570
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.
573
574         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
575         (WebCore::MediaPlayerPrivate::load):
576         (WebCore::MediaPlayerPrivate::updateStates):
577         (WebCore::MediaPlayerPrivate::setVisible):
578
579 2008-07-22  Maxime Britto  <britto@apple.com>
580
581         Reviewed by John Sullivan.
582
583         <rdar://problem/6083116>
584         When pan-scrolling, Back then Forward causes pan-scrolling to start again
585
586         * page/Frame.cpp:
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.
590
591 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
592
593         Reviewed by Oliver Hunt and Sam Weinig.
594
595         Next step toward putting doubles in registers: Prepare the Register class
596         and its clients for registers that don't contain JSValue*s.
597         
598 2008-07-22  Sam Weinig  <sam@webkit.org>
599
600         Reviewed by Mark Rowe.
601
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.
604
605         * platform/MIMETypeRegistry.cpp:
606         (WebCore::initializeSupportedImageMIMETypesForEncoding):
607         * platform/graphics/cg/ImageBufferCG.cpp:
608         (WebCore::utiFromMIMEType):
609
610 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
611
612         Reviewed by Dave Hyatt.
613
614         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
615         Test: accessibility/internal-link-anchors2.html
616
617         * page/AccessibilityRenderObject.cpp:
618         (WebCore::AccessibilityRenderObject::internalLinkElement):
619
620 2008-07-22  Anders Carlsson  <andersca@apple.com>
621
622         Reviewed by Adam.
623
624         Allocate the empty StringImpl from the heap.
625         
626         * platform/text/StringImpl.cpp:
627         (WebCore::StringImpl::empty):
628
629 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
630
631         Reviewed by Tim.
632
633         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
634         view (19228)
635         - Implement UI for Heavy (Bottom Up) view.
636
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
644         profile views.
645         * page/inspector/inspector.css:
646
647 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
648
649         Reviewed by Adam Roben.
650
651         <rdar://problem/5955602> WebKit should support charset name x-windows-949
652
653         Test: fast/encoding/char-decoding.html
654
655         * platform/text/TextCodecICU.cpp:
656         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
657         Firefox compatibility.
658
659 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
660
661         Reviewed by Alexey Proskuryakov.
662
663         New test to check that arrays fail gracefully (throw an out of memory exception)
664         when the vector grows to large.
665
666         * manual-tests/array-out-of-memory.html: Added.
667
668 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
669
670         Reviewed by Dan Bernstein.
671
672         https://bugs.webkit.org/show_bug.cgi?id=20117
673         setBaseAndExtent fails to reverse the current selection
674
675         Test: editing/selection/setBaseAndExtent-revert-selection.html
676
677         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
678
679 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
680
681         Reviewed by Sam Weinig.
682
683         Bug 19919: Add selectors' string parsing in CSSParser
684         https://bugs.webkit.org/show_bug.cgi?id=19919
685
686         No functional change.
687
688         * css/CSSGrammar.y: Added entry for parsing only a selector.
689         * css/CSSParser.cpp:
690         (WebCore::CSSParser::CSSParser):
691         (WebCore::CSSParser::parseSelector):
692         * css/CSSParser.h: Added m_floatingSelector to hold the
693         Selector parsed in parseSelector.
694
695         * css/tokenizer.flex: Added "@-webkit-selector" token.
696         * dom/Node.cpp:
697         (WebCore::Node::querySelector):
698         (WebCore::Node::querySelectorAll): Switched to parseSelector
699         method.
700
701 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
702
703         Reviewed by Adele.
704
705         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
706
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.
710
711 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
712
713         Reviewed by Adele.
714
715         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
716
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.
719
720 2008-07-21  Sam Weinig  <sam@webkit.org>
721
722         Reviewed by Mark Rowe.
723
724         Remove unused interface declaration.
725
726         * platform/network/mac/ResourceHandleMac.mm:
727
728 2008-07-21  Mark Rowe  <mrowe@apple.com>
729
730         Reviewed by Sam Weinig.
731
732         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
733
734         * Configurations/Version.xcconfig:
735         * Info.plist:
736
737 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
738
739         Reviewed by Adele.
740
741         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
742
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):
747
748 2008-07-21  Anders Carlsson  <andersca@apple.com>
749
750         Reviewed by Jon.
751
752         Don't allow requests to be made when the document loader is stopping all loaders.
753
754         * plugins/PluginView.cpp:
755         (WebCore::PluginView::load):
756
757 2008-07-20  Maxime Britto  <britto@apple.com>
758
759         Reviewed by John Sullivan.
760
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.
763
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.
767
768 2008-07-18  David Hyatt  <hyatt@apple.com>
769
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.
772
773         Reviewed by Maciej
774
775         Added fast/transforms/overflow-with-transform.html
776
777         * rendering/RenderLayer.cpp:
778         (WebCore::RenderLayer::calculateClipRects):
779
780 2008-07-21  Rob Buis  <buis@kde.org>
781
782         Reviewed by Mitz.
783
784         https://bugs.webkit.org/show_bug.cgi?id=19966
785         CSS variables crash when using hex notation for colors
786
787         Support hex colors as values for the css variables.
788
789         Test: fast/css/variables/color-hex-test.html
790
791         * css/CSSParserValues.cpp:
792         (WebCore::CSSParserValue::createCSSValue):
793         * css/CSSPrimitiveValue.cpp:
794         (WebCore::CSSPrimitiveValue::parserValue):
795         * css/CSSVariablesRule.cpp:
796
797 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
798
799         Reviewed by Holger.
800
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.
803
804         * plugins/win/PluginViewWin.cpp:
805         (WebCore::PluginView::paint):
806
807 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
808
809         Reviewed by Holger.
810
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.
814
815         * platform/graphics/qt/GraphicsContextQt.cpp:
816         (WebCore::GraphicsContext::releaseWindowsContext):
817
818 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
819
820         Reviewed by Holger.
821
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.
825
826         * plugins/win/PluginViewWin.cpp:
827         (WebCore::PluginView::getValue):
828
829 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
830
831         Reviewed by Holger.
832
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.
835
836         * plugins/win/PluginViewWin.cpp:
837         (windowHandleForPlatformWidget):
838
839 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
840
841         Touch file to force rebuild for vsprops change.
842
843         * WebCorePrefix.h:
844
845 2008-07-20  Sam Weinig  <sam@webkit.org>
846
847         Remove extra space Oliver Hunt left in.
848
849         * page/Console.cpp:
850         (WebCore::Console::reportException):
851         (WebCore::Console::reportCurrentException):
852
853 2008-07-20  Oliver Hunt  <oliver@apple.com>
854
855         Reviewed by Dan Bernstein.
856
857         Bug 19757: Crash when an ondragstart handler hides the element
858         <https://bugs.webkit.org/show_bug.cgi?id=19757>
859
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.
863
864         * page/EventHandler.cpp:
865         (WebCore::EventHandler::handleDrag):
866
867 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
868
869         Reviewed by Oliver.
870
871         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
872
873         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
874         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
875
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:
885
886 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
887
888         Reviewed by Oliver.
889
890         Cleanup JSSVGPODTypeWrapper code.
891
892         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
893                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
894                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
895
896         No functional changes.
897
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:
949
950 2008-07-19  Oliver Hunt  <oliver@apple.com>
951
952         Reviewed by Mark Rowe.
953
954         Bug 15979: Console logs in a database callback lose line number information
955         <https://bugs.webkit.org/show_bug.cgi?id=15979>
956
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.
961
962         This improves fidelity of callback errors, and ensures that
963         exceptions thrown in timer callbacks correctly report line numbers,
964         etc.
965
966         Test: fast/js/exceptions-thrown-in-callbacks.html
967
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):
988         * page/Console.cpp:
989         (WebCore::Console::reportException):
990         * page/Console.h:
991
992 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
993
994         Rubber stamped by Oliver.
995
996         Another attempt to fix the win build.
997
998         * svg/SVGAnimatedProperty.h:
999
1000 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
1001
1002         Reviewed by David Kilzer.
1003
1004         Fix high CPU usage on testmyiphone.com.
1005
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).
1010
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.
1013
1014         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
1015
1016         - Moved a check for XML content type out of the loop.
1017
1018         * loader/TextResourceDecoder.cpp:
1019         (WebCore::TextResourceDecoder::checkForHeadCharset): 
1020
1021 2008-07-20  Oliver Hunt  <oliver@apple.com>
1022
1023         Reviewed by NOBODY (build fix).
1024
1025         Attempt to fix windows build
1026
1027         * svg/SVGAnimatedProperty.h:
1028
1029 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
1030
1031         Reviewed by Oliver & parts by Eric.
1032
1033         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
1034
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.)
1037
1038         * dom/Element.cpp:
1039         (WebCore::Element::attributes):
1040         (WebCore::Element::getAttribute):
1041         (WebCore::Element::hasAttributes):
1042         * dom/Element.h:
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):
1068         * svg/SVGElement.h:
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:
1217
1218 2008-07-18  Maxime Britto  <britto@apple.com>
1219
1220         Reviewed by Adele.
1221         
1222         Fixed <rdar://problem/6049803>
1223         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
1224
1225         Test: fast/events/autoscroll-with-non-scrollable-parent.html
1226
1227         * ChangeLog:
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):
1241
1242 2008-07-18  Sam Weinig  <sam@webkit.org>
1243
1244         Reviewed by Anders Carlsson.
1245
1246         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
1247
1248         - Overload XMLHttpRequests send() method to accept File tokens.
1249
1250         * bindings/js/JSXMLHttpRequestCustom.cpp:
1251         (WebCore::JSXMLHttpRequest::send): 
1252         * xml/XMLHttpRequest.cpp:
1253         (WebCore::XMLHttpRequest::send):
1254         * xml/XMLHttpRequest.h:
1255
1256 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
1257
1258         Reviewed by Cameron Zwarich.
1259         
1260         Three renames:
1261         
1262         "CallTypeNative" => "CallTypeHost"
1263         "code" => "byteCode"
1264         "generatedCode" => "generatedByteCode"
1265
1266 2008-07-18  Adele Peterson  <adele@apple.com>
1267
1268         Reviewed by Dan Bernstein.
1269
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.
1273
1274         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
1275
1276 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1277
1278         Reviewed by mitz
1279
1280         Remove braces around single-line conditional.
1281         
1282         * css/CSSComputedStyleDeclaration.cpp:
1283         (WebCore::computedTransform):
1284
1285 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1286
1287         Reviewed by Dave Hyatt
1288
1289         getComputedStyle() for -webkit-transform should return 
1290         'none' for elements with no renderer, or those with no
1291         transform.
1292
1293         https://bugs.webkit.org/show_bug.cgi?id=20008
1294
1295         Testcase: LayoutTests/fast/css/computed-style-without-renderer
1296                   LayoutTests/fast/css/computed-style-expected.txt
1297
1298         * css/CSSComputedStyleDeclaration.cpp:
1299         (WebCore::computedTransform):
1300
1301 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1302
1303         Reviewed by Dave Hyatt
1304
1305         Fix assertion about creating Length values with percentage types
1306         when blending transforms.
1307         https://bugs.webkit.org/show_bug.cgi?id=20086
1308
1309         * rendering/style/RenderStyle.cpp:
1310         (WebCore::TranslateTransformOperation::blend):
1311
1312 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
1313
1314         Reviewed by rwlbuis@gmail.com
1315
1316         https://bugs.webkit.org/show_bug.cgi?id=19965
1317
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. 
1323
1324         Test: css2.1/atrule_longest_match.html
1325
1326         * ChangeLog:
1327         * css/CSSGrammar.y:
1328         * css/tokenizer.flex:
1329
1330 2008-07-17  David Hyatt  <hyatt@apple.com>
1331
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).
1335
1336         Reviewed by Dan
1337
1338         * rendering/RenderView.cpp:
1339         (WebCore::RenderView::paintBoxDecorations):
1340
1341 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
1342
1343         REGRESSION: Can't create windowless plug-in with Flash 9
1344         https://bugs.webkit.org/show_bug.cgi?id=20070
1345
1346         Reviewed by Mark Rowe.
1347
1348         * plugins/win/PluginPackageWin.cpp:
1349         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
1350         PlatformModuleVersion constructor takes leastSig, mostSig.
1351
1352 2008-07-16  Eric Seidel  <eric@webkit.org>
1353
1354         Reviewed by mitz.
1355
1356         Attempt to make initializeATSUStyle human-readable by
1357         splitting it out into better-named static inline functions.
1358
1359         No functional changes, thus no tests.
1360
1361         * platform/graphics/mac/FontMac.mm:
1362         (WebCore::fontHasMirroringInfo):
1363         (WebCore::disableLigatures):
1364         (WebCore::initializeATSUStyle):
1365
1366 2008-07-16  Eric Seidel  <eric@webkit.org>
1367
1368         No review, build fix only.
1369
1370         Attempt to fix Mac build
1371
1372         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
1373
1374 2008-07-16  Eric Seidel  <eric@webkit.org>
1375
1376         Reviewed by mitz.
1377
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)
1381
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):
1391
1392 2008-07-16  Eric Seidel  <eric@webkit.org>
1393
1394         Reviewed by mitz.
1395
1396         Make ownership of copied UChar buffer clearer
1397         (and more leak-proof) by using a OwnArrayPtr.
1398
1399         No functional changes, thus no tests.
1400
1401         * platform/graphics/mac/FontMac.mm:
1402         (WebCore::copyRunForDirectionalOverrideIfNecessary):
1403         (WebCore::Font::selectionRectForComplexText):
1404         (WebCore::Font::drawComplexText):
1405         (WebCore::Font::offsetForPositionForComplexText):
1406
1407 2008-07-16  Eric Seidel  <eric@webkit.org>
1408
1409         Reviewed by Sam.
1410
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)
1414
1415         No functional changes, thus no tests.
1416
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
1421
1422 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
1423
1424         Reviewed by Dave Hyatt
1425
1426         AnimationController needs to adjust z-index in the blended
1427         style in case opacity or transform were changed by blending.
1428
1429         https://bugs.webkit.org/show_bug.cgi?id=20047
1430         
1431         Test: transitions/opacity-transition-zindex.html
1432
1433         * page/AnimationController.cpp:
1434         (WebCore::AnimationController::updateImplicitAnimations):
1435
1436 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1437
1438         Reviewed by Sam.
1439
1440         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
1441         Prepare SVGAnimatedProperty introduction.
1442
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.
1446
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.
1452
1453 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1454
1455         Reviewed by Eric.
1456
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.
1459
1460         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1461
1462         * GNUmakefile.am:
1463         * WebCore.pro:
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):
1523         * svg/SVGLength.h:
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):
1581
1582 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
1583
1584         Reviewed by Oliver Hunt.
1585
1586         Support for JavaScriptCore's first step toward putting doubles in
1587         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1588
1589         * bindings/js/ScheduledAction.cpp:
1590         (WebCore::ScheduledAction::ScheduledAction):
1591
1592 2008-07-15  Maxime Britto  <britto@apple.com>
1593
1594         Reviewed by Eric.
1595
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.
1602
1603         * ChangeLog:
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):
1626
1627 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
1628
1629         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1630
1631         * WebCoreSources.bkl:
1632
1633 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
1634
1635         Reviewed by Dan.
1636
1637         <rdar://problem/5620273> REGRESSION: Apparent caching between form
1638         submits twice (on Maconomy) (18401)
1639
1640         Frames did not set the createdByParser flag even when they were.
1641
1642         * html/HTMLElementFactory.cpp:
1643         (WebCore::frameConstructor):
1644         (WebCore::iframeConstructor):
1645
1646 2008-07-15  Dan Bernstein  <mitz@apple.com>
1647
1648         Reviewed by Dave Hyatt.
1649
1650         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
1651           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
1652
1653         Test: fast/reflections/inline-crash.html
1654
1655         * rendering/RenderInline.cpp:
1656         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
1657         Inline flows never have reflections.
1658
1659 2008-07-14  David Hyatt  <hyatt@apple.com>
1660
1661         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
1662         no <body> exists yet though.
1663
1664         Reviewed by Sam
1665
1666         Added fast/css/style-parsed-outside-of-head.html
1667
1668         * html/HTMLElement.cpp:
1669         (WebCore::inlineTagList):
1670
1671 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
1672
1673         Reviewed by Geoff.
1674
1675         Rename pageGroupIdentifier to profileGroup to keep mention of a
1676         pageGroup out of JavaScriptCore.
1677
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):
1685
1686 2008-07-15  Adam Roben  <aroben@apple.com>
1687
1688         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
1689
1690         <rdar://6059127>
1691
1692         Reviewed by John Sullivan.
1693
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):
1700         Added.
1701         * platform/win/WebCoreTextRenderer.h:
1702
1703 2008-07-15  Adam Roben  <aroben@apple.com>
1704
1705         Windows build fix
1706
1707         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
1708         to the project.
1709
1710 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1711
1712         Build fix for the Gtk+ and Qt platform.
1713
1714         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
1715         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
1716
1717 2008-07-14  Dan Bernstein  <mitz@apple.com>
1718
1719         - Tiger build fix
1720
1721         * platform/mac/WidgetMac.mm:
1722         (WebCore::Widget::paint):
1723
1724 2008-07-14  Dan Bernstein  <mitz@apple.com>
1725
1726         Reviewed by John Sullivan.
1727
1728         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1729
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.
1737
1738 2008-07-14  chris fleizach  <cfleizach@apple.com>
1739
1740         Reviewed by Beth Dakin
1741
1742         <rdar://problem/6038106> AXChildren returned for this web area is null
1743         Accessibility of image maps needed to be updated
1744
1745         Tests: accessibility/image-map1.html
1746                accessibility/image-map2.html
1747
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:
1772         (WebCore::):
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:
1789         (convertToNSArray):
1790         (RoleEntry::):
1791
1792 2008-07-14  Sam Weinig  <sam@webkit.org>
1793
1794         Rubber-stamped by David Hyatt.
1795
1796         Remove unused ExceptionCode parameter from compareDocumentPosition.
1797
1798         * dom/Document.cpp:
1799         (WebCore::Document::addStyleSheetCandidateNode):
1800         * dom/Node.cpp:
1801         (WebCore::Node::compareDocumentPosition):
1802         * dom/Node.h:
1803         * dom/Node.idl:
1804
1805 2008-07-14  David Hyatt  <hyatt@apple.com>
1806
1807         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
1808
1809         Reviewed by Sam
1810
1811         Added fast/css/style-outside-head.html
1812         Added fast/css/link-outside-head.html
1813
1814         * dom/Document.cpp:
1815         (WebCore::Document::addStyleSheetCandidateNode):
1816         (WebCore::Document::removeStyleSheetCandidateNode):
1817         (WebCore::Document::recalcStyleSelector):
1818         * dom/Document.h:
1819         * dom/Node.cpp:
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):
1833         (WebCore::):
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):
1849
1850 2008-07-14  Sam Weinig  <sam@webkit.org>
1851
1852         Reviewed by Mark Rowe.
1853
1854         Sort interface extended attributes to appease *the* Mark Rowe.
1855
1856         * page/DOMWindow.idl:
1857
1858 2008-07-14  Anders Carlsson  <andersca@apple.com>
1859
1860         Reviewed by Geoff.
1861
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
1865
1866         Don't bubble the scroll event.
1867         
1868         * rendering/RenderLayer.cpp:
1869         (WebCore::RenderLayer::scrollToOffset):
1870         * rendering/RenderListBox.cpp:
1871         (WebCore::RenderListBox::valueChanged):
1872
1873 2008-07-14  Adele Peterson  <adele@apple.com>
1874
1875         Reviewed by Geoff.
1876
1877         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
1878
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.
1885
1886         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
1887
1888         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
1889
1890 2008-07-14  Sam Weinig  <sam@webkit.org>
1891
1892         Reviewed by Adele Peterson.
1893
1894         Fix for <rdar://problem/5769819>
1895
1896         Test: http/tests/security/cross-frame-access-object-prototype.html
1897
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.
1908
1909 2008-07-14  Adam Roben  <aroben@apple.com>
1910
1911         Windows build fixes
1912
1913         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
1914         path.
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
1920         pthread.h again.
1921
1922 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1923
1924         Reviewed by Kevin McCullough.
1925
1926         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
1927         global data.
1928
1929         * bindings/js/JSDOMWindowBase.cpp:
1930         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
1931
1932 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
1933
1934         Reviewed by Holger.
1935
1936         Make listDirectory() in the Qt port work with empty namefilters.
1937         Don't include . and .. to avoid scanning the parent directory.
1938
1939         * platform/qt/FileSystemQt.cpp:
1940         (WebCore::listDirectory):
1941
1942 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1943
1944         Reviewed by Geoff Garen.
1945
1946         Eliminate per-thread JavaScript global data instance support and make arbitrary
1947         global data/global object combinations possible.
1948
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.
1952
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.
1960
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:
1970         (WebCore::collect):
1971         (WebCore::GCController::gcTimerFired):
1972         (WebCore::GCController::garbageCollectNow):
1973         Use JSDOMWindow::commonJSGlobalData().
1974
1975         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
1976         it need to be accesible outside of JSC).
1977
1978         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
1979
1980 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1981
1982         Reviewed by Simon.
1983
1984         MinGW build fixes
1985
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):
1992
1993 2008-07-13  Sam Weinig  <sam@webkit.org>
1994
1995         Reviewed by Oliver Hunt and Dan Bernstein.
1996
1997         Fix for <rdar://problem/5888127>
1998         https://bugs.webkit.org/show_bug.cgi?id=18699
1999
2000         - Match Firefox in restricting the size of custom cursor to images to
2001           128x128 px.
2002         - Restrict custom cursor hotspots to values within the bounds of the
2003           cursor image.
2004
2005         * manual-tests/cursor-max-size.html: Added.
2006         * page/EventHandler.cpp:
2007         (WebCore::EventHandler::selectCursor):
2008
2009 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
2010
2011         wx build fix.
2012
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):
2020
2021 2008-07-12  Dan Bernstein  <mitz@apple.com>
2022
2023         Reviewed by Oliver Hunt.
2024
2025         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
2026           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
2027
2028         Test: fast/block/basic/min-pref-width-nowrap-floats.html
2029
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).
2035
2036 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
2037
2038         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
2039
2040         <https://bugs.webkit.org/show_bug.cgi?id=13067>
2041
2042         Reviewed by Darin.
2043
2044         Test: WebCore/manual-tests/hash-ref.html
2045
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.
2051
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.
2056
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.
2060
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.
2065
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.
2072
2073         * loader/FrameLoader.h:
2074         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
2075
2076         * manual-tests/hash-ref.html: Added.
2077         * manual-tests/resources/hash-ref-test.html: Added.
2078
2079 2008-07-11  Stephanie Lewis  <slewis@apple.com>
2080
2081         Reviewed by Darin Adler.
2082
2083         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
2084
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):
2091         * dom/Node.cpp:
2092         (WebCore::Node::Node):
2093         (WebCore::Node::~Node):
2094         * dom/Range.cpp:
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):
2103         * page/Frame.cpp:
2104         (WebCore::Frame::Frame):
2105         (WebCore::Frame::~Frame):
2106         * page/Page.cpp:
2107         (WebCore::Page::Page):
2108         (WebCore::Page::~Page):
2109         * rendering/RenderObject.cpp:
2110         (WebCore::RenderObject::RenderObject):
2111         (WebCore::RenderObject::~RenderObject):
2112         * rendering/bidi.cpp:
2113         (WebCore::throw):
2114         (WebCore::BidiRun::operator delete):
2115
2116 2008-07-11  Sam Weinig  <sam@webkit.org>
2117
2118         Reviewed by Mark Rowe.
2119
2120         Update getSubStringLength and selectSubString methods exception throwing conditions
2121         based on SVG working group errata.
2122
2123         Test: svg/custom/selectSubString.html
2124
2125         * svg/SVGTextContentElement.cpp:
2126         (WebCore::SVGTextContentElement::getSubStringLength):
2127         (WebCore::SVGTextContentElement::selectSubString):
2128
2129 2008-07-11  Sam Weinig  <sam@webkit.org>
2130
2131         Reviewed by Mark Rowe.
2132
2133         We can only use the Id fast path for querySelector and querySelectorAll
2134         if the selector is purely an Id selector.
2135
2136         Test: fast/dom/SelectorAPI/id-fastpath.html
2137
2138         * dom/Node.cpp:
2139         (WebCore::Node::querySelector):
2140         * dom/SelectorNodeList.cpp:
2141         (WebCore::createSelectorNodeList):
2142
2143 2008-07-11  David Hyatt  <hyatt@apple.com>
2144
2145         Implement the DOM level 3 compareDocumentPosition method on Node.
2146
2147         Reviewed by Darin
2148
2149         * dom/Node.cpp:
2150         (WebCore::Node::compareDocumentPosition):
2151         * dom/Node.h:
2152         * dom/Node.idl:
2153
2154 2008-07-11  Brady Eidson  <beidson@apple.com>
2155
2156         Rubberstamped by Sam
2157
2158         Removed unneeded export
2159
2160         * WebCore.base.exp:
2161
2162 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
2163
2164         Reviewed by Geoff.
2165
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.
2170
2171         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2172         (WebCore::JSQuarantinedObjectWrapper::construct):
2173         (WebCore::JSQuarantinedObjectWrapper::call):
2174
2175 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
2176
2177         Reviewed by Dave Hyatt
2178
2179         StyleRareNonInheritedData needs to initialize and compare
2180         m_maskBoxImage.
2181         <https://bugs.webkit.org/show_bug.cgi?id=20005>
2182
2183         * rendering/style/RenderStyle.cpp:
2184         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2185         (WebCore::StyleRareNonInheritedData::operator==):
2186
2187 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
2188
2189         Reviewed by Dave Hyatt
2190
2191         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
2192         look for transforms, since transforms create containing
2193         blocks.
2194         <https://bugs.webkit.org/show_bug.cgi?id=18885>
2195
2196         Test: fast/transforms/transform-positioned-ancestor.html
2197
2198         * rendering/RenderLayer.cpp:
2199         (WebCore::RenderLayer::stackingContext):
2200         (WebCore::RenderLayer::enclosingPositionedAncestor):
2201         (WebCore::RenderLayer::enclosingTransformedAncestor):
2202
2203 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
2204
2205         Reviewed by Darin Adler
2206
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)
2209
2210         - Optimized KURL::removeRef() and used it rather than setRef("")
2211           which after r35040 does the wrong thing.
2212
2213         * platform/KURL.cpp:
2214         (WebCore::KURL::removeRef):
2215         * platform/network/curl/ResourceHandleManager.cpp:
2216         (WebCore::ResourceHandleManager::initializeHandle):
2217
2218 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
2219
2220         Fix the Qt/Windows build, include windows.h for HWND directly
2221         instead of implicit inclusion through Timer.h.
2222
2223         * plugins/win/PluginMessageThrottlerWin.h:
2224
2225 2008-07-11  Dan Bernstein  <mitz@apple.com>
2226
2227         Reviewed by Darin Adler.
2228
2229         - fix popularity tracking for cached resources, which regressed in r23923
2230
2231         * loader/Cache.cpp:
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.
2238
2239 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2240
2241         Reviewed by Simon.
2242
2243         Enable Netscape plugins for the Qt/Windows build.
2244
2245         This required various smaller fixes across a wider set of
2246         files described below.
2247
2248         * WebCore.pro: Add various windows specific files to the build.
2249         * page/Page.h: Extend the #ifdeffery for windows types to include the
2250         Qt/Windows build.
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
2267         after config.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.
2283
2284 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
2285
2286         Rubber-stamped by Holger.
2287
2288         Enable Database and Icondatabase functionality for the Qt/Windows
2289         build when building inside Qt, as we can use the builtin copy of
2290         sqlite then.
2291
2292         * WebCore.pro:
2293
2294 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2295
2296         Reviewed by Adam Roben.
2297
2298         Fix compile with MinGW since it does not like friend static function.
2299
2300         * plugins/PluginView.h:
2301         * plugins/win/PluginViewWin.cpp:
2302
2303 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2304
2305         Reviewed by Simon.
2306
2307         Fix Qt/Win32 build.
2308
2309         * platform/graphics/qt/GraphicsContextQt.cpp:
2310
2311 2008-07-10  Sam Weinig  <sam@webkit.org>
2312
2313         Reviewed by Oliver Hunt.
2314
2315         Add support for NSResolver to resolve namespaces for querySelector 
2316         and querySelectorAll.
2317
2318         - Namespace resolution is done after parsing by iterating over all the
2319           parts of the CSSSelector.
2320
2321         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
2322                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
2323
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.
2329
2330         * bindings/js/JSDOMBinding.cpp:
2331         (WebCore::execStateFromNode):
2332         * bindings/js/JSDOMBinding.h:
2333         Move execStateFromNode here from NodeFilter.
2334
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.
2345
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):
2355
2356         * dom/Document.idl: Update with NSResolver parameter.
2357         * dom/DocumentFragment.idl: Ditto.
2358         * dom/Element.idl: Ditto.
2359
2360         * dom/NSResolver.h: Added.
2361         (WebCore::NSResolver::~NSResolver):
2362         (WebCore::NSResolver::mark):
2363         Abstract base class.
2364
2365         * dom/NSResolver.idl: Added.
2366
2367         * dom/Node.cpp:
2368         (WebCore::forEachTagSelector):
2369         (WebCore::forEachSelector):
2370         Functions to iterate over all parts of the selector.
2371
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.
2376
2377         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2378         (WebCore::ResolveNamespaceFunctor::operator()):
2379         Functor to resolve namespaces for the selector.
2380
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.
2386         * dom/Node.h:
2387
2388         * dom/NodeFilter.cpp:
2389         * dom/NodeFilter.h:
2390         * dom/NodeIterator.h:
2391         (WebCore::NodeIterator::nextNode):
2392         (WebCore::NodeIterator::previousNode):
2393         * dom/TreeWalker.h:
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.
2402
2403 2008-07-10  Mark Rowe  <mrowe@apple.com>
2404
2405         Reviewed by Sam Weinig.
2406
2407         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2408
2409         * Configurations/WebCore.xcconfig:
2410
2411 2008-07-10  Dean Jackson  <dino@apple.com>
2412
2413         Reviewed by hyatt.
2414
2415         Calculate computed style for -webkit-transform property
2416         https://bugs.webkit.org/show_bug.cgi?id=19864
2417
2418         Test: css3/transform-computed-style-001.html
2419
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.
2425
2426 2008-07-10  Dan Bernstein  <mitz@apple.com>
2427
2428         Reviewed by Adam Roben.
2429
2430         - fix a parse error in inspector.js
2431
2432         * page/inspector/inspector.js: Added missing brace.
2433
2434 2008-07-10  Adam Roben  <aroben@apple.com>
2435
2436         Build fix
2437
2438         * WebCore.vcproj/QTMovieWin.vcproj: Add
2439         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2440
2441 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
2442
2443         Reviewed by Dan Bernstein
2444
2445         <rdar://problem/6067408> AX: internal anchors broken
2446
2447         * page/AccessibilityRenderObject.cpp:
2448         (WebCore::AccessibilityRenderObject::internalLinkElement):
2449         * platform/KURL.cpp:
2450         (WebCore::KURL::removeRef):
2451         * platform/KURL.h:
2452
2453 2008-07-10  Mark Rowe  <mrowe@apple.com>
2454
2455         Build fix.
2456
2457         * bridge/npapi.h: Remove extra comma.
2458
2459 2008-07-10  Sam Weinig  <sam@webkit.org>
2460
2461         Reviewed by Mark Rowe.
2462
2463         Remove no-op debug method.
2464
2465         * css/CSSSelector.cpp:
2466         * css/CSSSelector.h:
2467
2468 2008-07-10  Sam Weinig  <sam@webkit.org>
2469
2470         Reviewed by Dave Hyatt and Darin Adler.
2471
2472         Add support for calling querySelector and querySelectorAll on DocumentFragments
2473
2474         - Fixes bug where nodes not in the document tree would not match based on ID due
2475           to over optimization.
2476
2477         Test: fast/dom/SelectorAPI/detached-element.html
2478
2479         * GNUmakefile.am:
2480         * WebCore.pro:
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.
2490
2491         * dom/Node.cpp:
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.
2500
2501 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
2502
2503         Bug 19389: querySelectorAll exception while searching invalid CSS selector
2504         <https://bugs.webkit.org/show_bug.cgi?id=19389>
2505
2506         Reviewed by Tim Hatcher.
2507
2508         * page/inspector/inspector.js: Added a try/catch block.
2509
2510 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
2511
2512         Correct a build regression due to an uninitialized variable.
2513
2514         <https://bugs.webkit.org/show_bug.cgi?id=19976>
2515
2516         Reviewed by Darin.
2517
2518         * platform/graphics/cairo/FontCairo.cpp:
2519         (WebCore::Font::drawGlyphs):
2520
2521 2008-07-10  Adam Roben  <aroben@apple.com>
2522
2523         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2524         HTMLCollection::resetCollectionInfo (codegen issue?)
2525
2526         <https://bugs.webkit.org/show_bug.cgi?id=19580>
2527         <rdar://6029794>
2528
2529         Reviewed by Cameron Zwarich.
2530
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.
2534
2535 2008-07-10  Anders Carlsson  <andersca@apple.com>
2536
2537         Reviewed by Jon.
2538
2539         <rdar://problem/6067135>
2540         WebKit should respond true to a query for NPNVSupportsWindowless.
2541         
2542         Handle NPNVSupportsWindowless and return true.
2543         
2544         * bridge/npapi.h:
2545         * plugins/win/PluginViewWin.cpp:
2546         (WebCore::PluginView::getValue):
2547
2548 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
2549
2550         Reviewed by Darin.
2551
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().
2554
2555         * page/JavaScriptProfile.cpp:
2556         (WebCore::getHeadCallback):
2557
2558 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2559
2560         When a mask image changes, ensure that elements
2561         that use that mask image are repainted correctly.
2562         
2563         <https://bugs.webkit.org/show_bug.cgi?id=19954>
2564         
2565         Reviewed by Dave Hyatt
2566
2567         * manual-tests/canvas-mask-redraw.html
2568           Manual testcase
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
2575         rect and 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'.
2581
2582 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2583
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>
2587         
2588         Reviewed by Dave Hyatt
2589
2590         Test: fast/transforms/transform-overflow.html
2591
2592         * rendering/RenderLayer.cpp:
2593         (WebCore::RenderLayer::shouldBeOverflowOnly):
2594
2595 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
2596
2597         Reviewed by Oliver Hunt.
2598
2599         bug 19835: WebKit needs cross-platform filter system
2600         <https://bugs.webkit.org/show_bug.cgi?id=19835>
2601
2602         More class refactoring in preparation for cross-platform filter 
2603         implementation.
2604
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:
2696         (WebCore::):
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:
2731         (WebCore::):
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:
2786         (WebCore::):
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:
2847         (WebCore::):
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:
2860
2861 2008-07-09  Mark Rowe  <mrowe@apple.com>
2862
2863         Reviewed by Geoff Garen.
2864
2865         Don't warn about deprecated functions in production builds.
2866
2867         * Configurations/Base.xcconfig:
2868         * Configurations/DebugRelease.xcconfig:
2869
2870 2008-07-09  Brady Eidson  <beidson@apple.com>
2871
2872         Reviewed by Darin
2873
2874         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2875         has been installed in a frame tree.
2876
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.
2881
2882         Test: fast/loader/frame-creation-removal.html
2883
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.
2890
2891 2008-07-09  Dean Jackson  <dino@apple.com>
2892
2893         Changed to use the correct license in header comment (via Darin)
2894
2895         * css/WebKitCSSTransformValue.idl:
2896
2897 2008-07-09  Dean Jackson  <dino@apple.com>
2898
2899         Add DOM interface for WebKitCSSTransformValue.
2900         https://bugs.webkit.org/show_bug.cgi?id=19863
2901
2902         Reviewed by Hyatt.
2903
2904         * bindings/objc/DOMInternal.h:
2905         * css/WebKitCSSTransformValue.idl: Added.
2906
2907         * bindings/scripts/CodeGeneratorObjC.pm:
2908             make sure new class inherits from CSSValue not Node
2909
2910         * DerivedSources.make:
2911         * GNUmakefile.am:
2912         * WebCore.pro:
2913         * WebCore.vcproj/WebCore.vcproj:
2914         * WebCore.xcodeproj/project.pbxproj:
2915         * WebCoreSources.bkl:
2916             Adding new generated files
2917
2918 2008-07-09  Maxime Britto  <britto@apple.com>
2919
2920         Reviewed by Adele.
2921
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.
2926
2927         * ChangeLog:
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): 
2974
2975 2008-07-09  Dean Jackson  <dino@apple.com>
2976
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
2980
2981         Reviewed by Hyatt
2982
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.
2990
2991         * GNUmakefile.am:
2992         * WebCore.order:
2993         * WebCore.pro:
2994         * WebCore.vcproj/WebCore.vcproj:
2995         * WebCore.xcodeproj/project.pbxproj:
2996         * WebCoreSources.bkl:
2997             updated for new file names
2998         
2999
3000 2008-07-09  David Hyatt  <hyatt@apple.com>
3001
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
3004         completion.
3005
3006         Reviewed by Dean
3007
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):
3015
3016 2008-07-09  Michelangelo De Simone  <m.des@mac.com>
3017
3018         Reviewed by Adele.
3019
3020         Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
3021
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().
3027
3028 2008-07-09  Rob Buis  <buis@kde.org>
3029
3030         Reviewed by Eric.
3031
3032         https://bugs.webkit.org/show_bug.cgi?id=15431
3033         SVGRenderStyle should store pre-modified resource URIs
3034
3035         Store pre-modified resource URIs to decrease string
3036         operations during layout/rendering.
3037
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):
3055
3056 2008-07-09  Anders Carlsson  <andersca@apple.com>
3057
3058         Reviewed by Mitz.
3059
3060         Remove an unused instance variable.
3061
3062         * loader/DocumentLoader.h:
3063
3064 2008-07-09  Dan Bernstein  <mitz@apple.com>
3065
3066         Reviewed by Anders Carlsson.
3067
3068         - remove unused #includes
3069
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:
3078
3079 2008-07-08  Geoffrey Garen  <ggaren@apple.com>
3080
3081         Reviewed by Oliver Hunt.
3082         
3083         Only artificially mark JS DOM wrappers if they have custom properties.
3084         
3085         21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
3086         
3087         No, that is not a typo.
3088
3089         * bindings/js/JSDOMBinding.cpp:
3090         (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3091
3092 2008-07-08  Kevin Watters  <kevinwatters@gmail.com>
3093
3094         Reviewed by Kevin Ollivier.
3095
3096         Fix to previous patch for handling mouse up events.
3097         
3098         https://bugs.webkit.org/show_bug.cgi?id=18464
3099
3100         * platform/wx/MouseEventWx.cpp:
3101         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3102
3103 2008-07-08  Dan Bernstein  <mitz@apple.com>
3104
3105         Reviewed by Brady Eidson.
3106
3107         - initialize the Archives log channel's state
3108
3109         * platform/mac/LoggingMac.mm:
3110         (WebCore::InitializeLoggingChannelsIfNecessary):
3111
3112 2008-07-08  Kevin McCullough  <kmccullough@apple.com>
3113
3114         Added manual test for the new heavy view.
3115
3116         * manual-tests/inspector/profiler-test-heavy-view.html: Added.
3117
3118 2008-07-08  Darin Adler  <darin@apple.com>
3119
3120         Reviewed by Mitz.
3121
3122         - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
3123           looks wrong due to OpenCube QuickMenu appVersion check
3124
3125         * page/Navigator.cpp:
3126         (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
3127
3128 2008-07-08  Dan Bernstein  <mitz@apple.com>
3129
3130         Reviewed by John Sullivan.
3131
3132         - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
3133
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.
3139
3140         * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
3141         * page/FrameView.cpp:
3142         (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
3143         value from settings.
3144         * page/FrameView.h:
3145         * page/Settings.cpp:
3146         (WebCore::Settings::setUpdatesWhenOffscreen): Added.
3147         * page/Settings.h:
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.
3154
3155 2008-07-08  Simon Hausmann  <hausmann@webkit.org>
3156
3157         Fix the build with enabled SVG filters.
3158
3159         * svg/SVGFESpecularLightingElement.cpp: The last argument to
3160         ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
3161         the attr suffix.
3162
3163 2008-07-07  Sam Weinig  <sam@webkit.org>
3164
3165         Reviewed by Anders Carlsson.
3166
3167         Remove extraneous null check.
3168
3169         * dom/Node.cpp:
3170         (WebCore::Node::querySelector):
3171         (WebCore::Node::querySelectorAll):
3172
3173 2008-07-07  Sam Weinig  <sam@webkit.org>
3174
3175         Reviewed by Anders Carlsson.
3176
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
3179
3180         - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
3181           used in a selector passed to querySelector or querySelectorAll.
3182
3183         Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
3184
3185         * dom/Node.cpp:
3186         (WebCore::selectorNeedsNamespaceResolution):
3187         (WebCore::Node::querySelector):
3188         (WebCore::Node::querySelectorAll):
3189
3190 2008-07-07  Simon Fraser  <simon.fraser@apple.com>
3191
3192         Reviewed by Darin.
3193
3194         Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
3195         nodeIterator with filter fails on documents not in a frame
3196
3197         Tests: traversal/node-iterator-009.html
3198                traversal/tree-walker-006.html
3199
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:
3207         * dom/NodeFilter.h:
3208         * dom/NodeFilterCondition.cpp:
3209         * dom/NodeFilterCondition.h:
3210         * dom/NodeIterator.cpp:
3211         * dom/NodeIterator.h:
3212         * dom/Traversal.cpp:
3213         * dom/Traversal.h:
3214         * dom/TreeWalker.cpp:
3215         * dom/TreeWalker.h:
3216
3217 2008-07-07  Adele Peterson  <adele@apple.com>
3218
3219         Reviewed by Dan Bernstein.
3220
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.
3223
3224         * page/DragController.cpp: (WebCore::DragController::concludeDrag):
3225         Check that the file control is enabled before taking dropped files.
3226
3227 2008-07-07  Adele Peterson  <adele@apple.com>
3228
3229         Reviewed by Beth.
3230
3231         Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
3232
3233         Change default volume setting to 1.0.
3234
3235         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
3236         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
3237
3238 2008-07-07  Darin Adler  <darin@apple.com>
3239
3240         Reviewed by Mark Rowe.
3241
3242         - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
3243
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.
3248
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.
3260
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.
3264
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.
3270
3271 2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3272
3273         Reviewed by Geoff.
3274
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>
3277
3278         Clear exceptions set on ExecStates before returning from NPAPI
3279         callbacks, in order to avoid causing problems for the next script that
3280         executes.
3281
3282         While fixing this bug, the question was raised of whether we are
3283         correctly propagating exception information back to the caller:
3284
3285         Bug 19936: Correctly propagate exception information from NPAPI callbacks
3286         <https://bugs.webkit.org/show_bug.cgi?id=19936>
3287
3288         * bridge/NP_jsobject.cpp:
3289         (_NPN_InvokeDefault):
3290         (_NPN_Invoke):
3291         (_NPN_Evaluate):
3292         (_NPN_GetProperty):
3293         (_NPN_SetProperty):
3294         (_NPN_RemoveProperty):
3295         (_NPN_HasProperty):
3296         (_NPN_HasMethod):
3297         (_NPN_Enumerate):
3298
3299 2008-07-07  Dan Bernstein  <mitz@apple.com>
3300
3301         Reviewed by Darin Adler.
3302
3303         - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
3304
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.
3320
3321 2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
3322
3323         Not reviewed.
3324
3325         No svg build fix.
3326
3327         * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
3328         * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
3329
3330 2008-07-07  Michelangelo De Simone  <m.des@mac.com>
3331
3332         Reviewed by Adele.
3333
3334         Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
3335
3336         URL: http://www.w3.org/TR/web-forms-2/#relation
3337
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
3343
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
3350         text controls.
3351
3352 2008-07-07  Sam Weinig  <sam@webkit.org>
3353
3354         Reviewed by Geoffrey Garen.
3355
3356         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3357         querySelectorAll should throw an exception if a NSResolver is passed in.
3358
3359         - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
3360           as the second argument to querySelector or querySelectorAll.
3361
3362         Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
3363
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):
3370         * dom/Document.idl:
3371         * dom/Element.idl:
3372
3373 2008-07-07  Brady Eidson  <beidson@apple.com>
3374
3375         Reviewed by Mitz and Geoff
3376
3377         Test: fast/loader/empty-ref-versus-no-ref.html
3378
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 '#'"
3381
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
3385         javascript.
3386
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"
3390
3391 2008-07-07  Kevin McCullough  <kmccullough@apple.com>
3392
3393         Reviewed by Darin.
3394
3395         Because profiler.h no longer #includes profile.h we need to explicitly
3396         include it in console.cpp.
3397
3398         * page/Console.cpp:
3399
3400 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3401
3402         Not reviewed. Build fix.
3403
3404         Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
3405
3406         * svg/SVGFEColorMatrixElement.cpp:
3407         * svg/SVGFEDiffuseLightingElement.cpp:
3408         * svg/SVGFEImageElement.cpp:
3409         * svg/SVGFELightElement.cpp:
3410         * svg/SVGFESpecularLightingElement.cpp:
3411
3412 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3413
3414         Reviewed by Antti.
3415
3416         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3417
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.
3420
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)
3425
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).
3428
3429         Add a new synchronization layer to handle SVG DOM -> XML changes.
3430
3431         Added test: svg/custom/svg-xml-dom-sync.html
3432         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3433
3434         * dom/Element.cpp:
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):
3459         * svg/SVGElement.h:
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.
3547
3548 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3549
3550         Reviewed by Oliver.
3551
3552         Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3553
3554         Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
3555
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.
3559
3560         * svg/SVGAnimatedTemplate.h:
3561         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3562         (WebCore::lookupOrCreateWrapper):
3563         (WebCore::SVGAnimatedTypeValue::null):
3564         (WebCore::SVGAnimatedTypeValue::toString):
3565         (WebCore::):
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:
3574