2008-07-26 Keishi Hattori <casey.hattori@gmail.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2
3         Reviewed by Adam Roben.
4
5         Add console.time/timeEnd.
6         https://bugs.webkit.org/show_bug.cgi?id=19159
7
8         * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
9         * page/Console.cpp:
10         (WebCore::Console::time): Added.
11         (WebCore::Console::timeEnd): Added.
12         * page/Console.h:
13         * page/Console.idl: Added console.time/timeEnd.
14         * page/InspectorController.cpp:
15         (WebCore::InspectorController::startTiming): Added.
16         (WebCore::InspectorController::stopTiming): Added.
17         * page/InspectorController.h:
18
19 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
20
21         Reviewed by Nikolas Zimmermann.
22
23         Fixes rendering issues with gradients in SVG/Cairo.
24
25         * platform/graphics/cairo/PathCairo.cpp:
26         (WebCore::Path::boundingRect):
27         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
28         (WebCore::applyStrokeStyleToContext):
29         (WebCore::SVGPaintServerGradient::setup):
30
31 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
32
33         Reviewed by Nikolas Zimmermann.
34
35         Added pattern-support for SVG in Cairo.
36
37         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
38         (WebCore::applyStrokeStyleToContext):
39         (WebCore::SVGPaintServerPattern::setup):
40
41 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
42
43         Reviewed by Adam Roben.
44
45         Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
46         <https://bugs.webkit.org/show_bug.cgi?id=18540>
47
48         * page/inspector/Console.js:
49         (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
50
51 2008-07-26  Anthony Ricaud  <rik24d@gmail.com>
52
53         Reviewed by Tim Hatcher.
54
55         <https://bugs.webkit.org/show_bug.cgi?id=17589> Line highlighting should last longer
56
57         Restore the fade out effect after highlighting.
58
59         * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
60
61 2008-07-26  Michelangelo De Simone  <michelangelo@me.com>
62
63         Reviewed by Adele Petersen.
64
65         Added the simple willValidate attribute to form controls according to
66         WebForms 2 spec.
67
68         URL: http://www.w3.org/TR/web-forms-2/#willvalidate
69
70         Tests: fast/forms/willvalidate-000.html
71                fast/forms/willvalidate-001.html
72                fast/forms/willvalidate-002.html
73                fast/forms/willvalidate-003.html
74                fast/forms/willvalidate-004.html
75                fast/forms/willvalidate-005.html
76                fast/forms/willvalidate-006.html
77                fast/forms/willvalidate-007.html
78                fast/forms/willvalidate-008.html
79                fast/forms/willvalidate-009.html
80
81         * html/HTMLButtonElement.h: Added willValidate(), always false.
82         * html/HTMLButtonElement.idl: willValidate attribute exposed.
83         * html/HTMLFieldSetElement.h: Added willValidate(), always false.
84         * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
85         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
86         Added base willValidate() implementation.
87         * html/HTMLFormControlElement.h: Added willValidate().
88         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
89         Added willValidate(), checks for input type.
90         * html/HTMLInputElement.h: Added willValidate()
91         * html/HTMLInputElement.idl: willValidate attribute exposed.
92         * html/HTMLSelectElement.idl: willValidate attribute exposed.
93         * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
94
95 2008-07-26  Mark Rowe  <mrowe@apple.com>
96
97         Build fix.
98
99         * loader/FrameLoader.cpp:
100         (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
101
102 2008-07-26  Mark Rowe  <mrowe@apple.com>
103
104         Build fix.
105
106         * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
107
108 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
109
110         Reviewed by Geoff Garen.
111
112         Revised the FrameLoader class to clean up a variety of load methods, and hopefully
113         move things closer to integrating into a smaller set of load methods. To this
114         end, I renamed many of the overloaded load() methods to have more meaningful and 
115         easier to search names.  I added comments to the header file to provide clues as 
116         to how many of the load methods are being used, and how they fit into the loading 
117         process. I suspect that the renamed methods and comments indicating their present 
118         usage will facilitate easier cleanup by myself and others as inspiration strikes.
119
120         Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
121
122         Combined the 3 canLoad() methods into a single canLoad which expresses the 
123         intended logic of the 3 with a single method interface.
124
125         Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
126         one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
127
128         Removed unused userGesture parameter to one variant of the urlSelected method, and 
129         moved one of the urlSelected methods so that it lives nearer to its overloaded 
130         sibling.
131
132         * WebCore.base.exp:
133         * loader/Cache.cpp:
134         (WebCore::Cache::requestResource):
135         * loader/CachedResource.cpp:
136         (WebCore::CachedResource::CachedResource):
137         * loader/CachedResource.h:
138         (WebCore::CachedResource::errorOccurred):
139         * loader/FrameLoader.cpp:
140         (WebCore::FrameLoader::createWindow):
141         (WebCore::FrameLoader::urlSelected):
142         (WebCore::FrameLoader::loadURLIntoChildFrame):
143         (WebCore::FrameLoader::loadPlugin):
144         (WebCore::FrameLoader::loadFrameRequestWithFormState):
145         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
146         (WebCore::FrameLoader::loadURL):
147         (WebCore::FrameLoader::loadWithNavigationAction):
148         (WebCore::FrameLoader::load):
149         (WebCore::FrameLoader::loadWithDocumentLoader):
150         (WebCore::FrameLoader::canLoad):
151         (WebCore::FrameLoader::reloadAllowingStaleData):
152         (WebCore::FrameLoader::reload):
153         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
154         (WebCore::FrameLoader::submitForm):
155         (WebCore::FrameLoader::loadPostRequest):
156         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
157         (WebCore::FrameLoader::loadItem):
158         * loader/FrameLoader.h:
159         * loader/SubresourceLoader.cpp:
160         (WebCore::SubresourceLoader::create):
161         * page/ContextMenuController.cpp:
162         (WebCore::ContextMenuController::contextMenuItemSelected):
163
164 2008-07-26  Sam Weinig  <sam@webkit.org>
165
166         Reviewed by Dan Bernstein.
167
168         Fix https://bugs.webkit.org/show_bug.cgi?id=20122
169         <rdar://problem/6089522>
170         REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
171
172         Use strict parsing when in AlmostStrict mode.
173
174         Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
175                fast/dom/SelectorAPI/id-fastpath-almost-strict.html
176                fast/dom/SelectorAPI/id-fastpath-strict.html
177
178         * dom/Node.cpp:
179         (WebCore::Node::querySelector):
180         (WebCore::Node::querySelectorAll):
181
182 2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
183
184         Reviewed by Simon.
185
186         Switch off QPainter's anti aliasing when painting the widgets using QStyle
187         because otherwise the widgets will look blurry and not crisp.
188
189         * platform/qt/RenderThemeQt.cpp:
190         (WebCore::StylePainter::StylePainter):
191         (WebCore::StylePainter::~StylePainter):
192         * platform/qt/RenderThemeQt.h:
193
194 2008-07-25  Dan Bernstein  <mitz@apple.com>
195
196         Reviewed by Anders Carlsson.
197
198         - fix crash due to re-entering purgeInactiveFontData() now that it is
199           called by releaseFontData()
200
201         Not testable in DumpRenderTree
202
203         * platform/graphics/FontCache.cpp:
204         (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
205
206 2008-07-25  Brady Eidson  <beidson@apple.com>
207
208         Reviewed by Sam
209
210         Test: security/set-form-autocomplete-attribute.html
211
212         Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
213
214         The autocomplete attribute works on both <form> and <input> elements, but was not
215         inherited properly when someone asked an <input> if it should autocomplete.
216
217         I fixed this up based on the rules in the current WF2 spec so if the <input> element
218         has its own autocomplete attribute set, it will follow that but otherwise it will
219         inherit from its parent <form>
220
221         * WebCore.base.exp:
222
223         * html/HTMLInputElement.cpp:
224         (WebCore::HTMLInputElement::init):
225         (WebCore::HTMLInputElement::autoComplete):
226         (WebCore::HTMLInputElement::parseMappedAttribute):
227         * html/HTMLInputElement.h:
228         (WebCore::HTMLInputElement::):
229
230 2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
231
232         Reviewed by Holger Freyther.
233
234         https://bugs.webkit.org/show_bug.cgi?id=20078
235         [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
236
237         * plugins/gtk/gtk2xtbin.h:
238
239 2008-07-25  Anders Carlsson  <andersca@apple.com>
240
241         Reviewed by Sam.
242
243         Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
244
245         * platform/network/mac/WebCoreURLResponse.mm:
246         (-[NSURLResponse _webcore_MIMEType]):
247
248 2008-07-25  chris fleizach  <cfleizach@apple.com>
249
250         Reviewed by Beth Dakin
251
252         <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
253
254         Tests: accessibility/textarea-insertion-point-line-number.html
255                accessibility/textarea-line-for-index.html
256
257         * page/AccessibilityObject.cpp:
258         (WebCore::AccessibilityObject::lineForPosition):
259         * page/AccessibilityObject.h:
260         * page/mac/AccessibilityObjectWrapper.mm:
261         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
262         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
263
264 2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
265
266         Reviewed by mitz.
267
268         - fix https://bugs.webkit.org/show_bug.cgi?id=17906
269         <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
270         
271         Test: fast/block/float/editable-text-overlapping-float.html
272
273         * rendering/RenderBlock.h:
274         * rendering/bidi.cpp:
275         (WebCore::RenderBlock::skipTrailingWhitespace):
276         - renamed to reflect usage and removed call to position floats; 
277           they only get added
278         (WebCore::RenderBlock::skipLeadingWhitespace):
279         - renamed to reflect usage
280         (WebCore::RenderBlock::findNextLineBreak):
281         - use skipTrailingWhitespace at end of line (as before but with new
282           name)
283
284 2008-07-25  Dan Bernstein  <mitz@apple.com>
285
286         Reviewed by Sam Weinig.
287
288         - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
289           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
290
291         * platform/graphics/FontCache.cpp:
292         (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
293         instances hold references to the platform resources and release them in the destructor.
294         (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
295         number of inactive FontData instances to leave in the cache when automatically purging.
296         (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
297         inactive FontData instances and if so calls purgeInactiveFontData() from here...
298         (WebCore::FontCache::releaseFontData): ... to here.
299         (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
300         cache. All FontPlatformData instances that do not have entries in the font data cache are
301         removed, thus releasing the platform resources (such as HFONTs and NSFonts).
302
303 2008-07-24  David Hyatt  <hyatt@apple.com>
304
305         Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
306         both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
307
308         Reviewed by Dan
309
310         Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
311
312         * css/CSSGrammar.y:
313         * css/CSSParser.cpp:
314         (WebCore::CSSParser::createVariablesRule):
315         (WebCore::CSSParser::checkForVariables):
316         * css/CSSParser.h:
317         * css/CSSParserValues.cpp:
318         (WebCore::CSSParserValue::isVariable):
319         (WebCore::CSSParserValueList::addValue):
320         (WebCore::CSSParserValueList::deleteValueAt):
321         (WebCore::CSSParserValue::createCSSValue):
322         * css/CSSParserValues.h:
323         * css/CSSPrimitiveValue.cpp:
324         (WebCore::CSSPrimitiveValue::cleanup):
325         (WebCore::CSSPrimitiveValue::getStringValue):
326         (WebCore::CSSPrimitiveValue::cssText):
327         (WebCore::CSSPrimitiveValue::parserValue):
328         * css/CSSPrimitiveValue.h:
329         (WebCore::CSSPrimitiveValue::):
330         (WebCore::CSSPrimitiveValue::isVariable):
331         * css/CSSStyleSelector.cpp:
332         (WebCore::CSSStyleSelector::addMatchedDeclaration):
333         * css/CSSVariablesRule.cpp:
334         (WebCore::CSSVariablesRule::CSSVariablesRule):
335         (WebCore::CSSVariablesRule::cssText):
336         * css/CSSVariablesRule.h:
337         (WebCore::CSSVariablesRule::create):
338         * css/maketokenizer:
339         * css/tokenizer.flex:
340
341 2008-07-25  Maxime Britto  <britto@apple.com>
342
343         Reviewed by Anders Carlsson.
344
345         <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
346
347         * page/EventHandler.cpp:
348         (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
349
350 2008-07-25  Adele Peterson  <adele@apple.com>
351
352         Another build fix.
353
354         * platform/win/PlatformScrollBarSafari.cpp:
355         (WebCore::PlatformScrollbar::paint):
356
357 2008-07-25  Adele Peterson  <adele@apple.com>
358
359         More build fixes.
360
361         * platform/win/PlatformScrollBarSafari.cpp:
362         (WebCore::PlatformScrollbar::paint):
363
364 2008-07-25  Adele Peterson  <adele@apple.com>
365
366         Build fix.
367
368         * platform/win/PlatformScrollBarSafari.cpp:
369
370 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
371
372         Reviewed by Simon
373
374         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
375
376         * platform/PlatformKeyboardEvent.h: add accessor and member.
377         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
378         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
379
380 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
381
382         Fix linking of QtWebKit against the statically built JavaScriptCore
383         library, under Windows/Mac we may need _d/_debug suffixes.
384
385         * WebCore.pro:
386
387 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
388
389         Rubber-stamped by Lars.
390
391         Fix the Qt build by adapting to the latest ArgList API changes and
392         replacing the inclusion of npapi.h in MainThreadScheduler with a forward
393         declaration of NPP to avoid an include conflict. npapi.h on X11 includes
394         X headers, which include wonderful defines such as "#define Status" that
395         cause conflicts.
396
397         * bridge/qt/qt_runtime.cpp:
398         (KJS::Bindings::findMethodIndex):
399         (KJS::Bindings::QtRuntimeConnectionMethod::call):
400         * plugins/PluginMainThreadScheduler.h:
401
402 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
403
404         Discussed with and rubber-stamped by Lars.
405
406         Fix the build system for the Qt port.
407
408         Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
409         include search path. With a build process that combines JavaScriptCore and
410         WebCore in one build process/Makefile the existance of
411         JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
412
413         This commit solves this by introducing a separate build of JavaScriptCore into
414         a static library.
415
416         As a result of the split-up a race-condition due to broken dependencies of
417         regular source files to header files of generated sources showed up very
418         frequently when doing parallel builds (which the buildbot does). This commit at
419         the same time tries to address the dependency problem by making the
420         addExtraCompiler() function also generate a pseudo extra compiler that
421         represents the header file output, so that qmake is aware of the creation of
422         the header file for dependency calculation.
423
424         At the same time I removed a lot of cruft from the pro files to ease maintenance.
425
426         * WebCore.pro:
427
428 2008-07-24  kevino  <kevino@theolliviers.com>
429
430         wx build fix on Win for plugins coode.
431
432         * plugins/PluginDatabase.cpp:
433         * plugins/PluginView.cpp:
434         (WebCore::PluginView::PluginView):
435         * plugins/PluginView.h:
436
437 2008-07-24  Sam Weinig  <sam@webkit.org>
438
439         Reviewed by Anders Carlsson.
440
441         Make isElementNode() non-virtual for a speedup on many benchmarks
442         including 20% on http://ejohn.org/apps/fragment/.
443
444         - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
445           Element and Attr where space was available.  Use the new free bit
446           to represent if an node is an element or not.
447
448         * dom/Attr.cpp:
449         (WebCore::Attr::Attr):
450         * dom/Attr.h:
451         (WebCore::Attr::specified):
452         (WebCore::Attr::setSpecified):
453         * dom/ContainerNode.cpp:
454         (WebCore::ContainerNode::ContainerNode):
455         * dom/ContainerNode.h:
456         * dom/Element.cpp:
457         (WebCore::Element::Element):
458         * dom/Element.h:
459         (WebCore::Element::hasRareData):
460         (WebCore::Element::setHasRareData):
461         * dom/EventTargetNode.cpp:
462         (WebCore::EventTargetNode::EventTargetNode):
463         * dom/EventTargetNode.h:
464         * dom/Node.cpp:
465         (WebCore::Node::Node):
466         * dom/Node.h:
467         (WebCore::Node::isElementNode):
468
469 2008-07-24  Dan Bernstein  <mitz@apple.com>
470
471         Reviewed by Dave Hyatt.
472
473         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
474
475         Not testable in DumpRenderTree
476
477         * rendering/RenderView.cpp:
478         (WebCore::RenderView::layout): Ensured that all children with percentage
479         heights get laid out again if the height changes.
480
481 2008-07-24  kevino  <kevino@theolliviers.com>
482
483         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
484
485         * page/EventHandler.cpp:
486         (WebCore::EventHandler::handleAutoscroll):
487         (WebCore::EventHandler::autoscrollTimerFired):
488         (WebCore::EventHandler::stopAutoscrollTimer):
489         (WebCore::EventHandler::handleMousePressEvent):
490
491 2008-07-24  David Hyatt  <hyatt@apple.com>
492
493         Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
494         intrinsicSizeChanged when we are first setting our style.
495
496         Reviewed by olliej
497
498         * ChangeLog:
499         * rendering/RenderReplaced.cpp:
500         (WebCore::RenderReplaced::setStyle):
501
502 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
503
504         Reviewed by Eric.
505
506         Bug 20053: .in files should use a custom format instead of XML
507
508         - Remove our XML parser perl module (XML::Tiny)
509
510         - Add a custom perl parser
511
512         - Move XML files to the new format
513
514         * bindings/scripts/InFilesParser.pm: Added.
515         * bindings/scripts/XMLTiny.pm: Removed.
516         * dom/make_names.pl: Switched to our new
517         parser.
518
519         * html/HTMLAttributeNames.in: Switched to
520         our custom format.
521         * html/HTMLTagNames.in: Ditto.
522         * svg/svgattrs.in: Ditto.
523         * svg/svgtags.in: Ditto.
524         * svg/xlinkattrs.in: Ditto.
525         * xml/xmlattrs.in: Ditto.
526
527 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
528
529         Reviewed by Eric.
530
531         Bug 19588: CRASH doing open() on destroyed window
532         https://bugs.webkit.org/show_bug.cgi?id=19588
533
534         Add frame's page null check as it could have been
535         detached from the page.
536
537         Test: fast/frames/crash-removed-iframe.html
538
539         * bindings/js/JSDOMWindowBase.cpp:
540         (WebCore::windowProtoFuncOpen):
541         * page/FrameTree.cpp:
542         (WebCore::FrameTree::find):
543
544 2008-07-23  Dan Bernstein  <mitz@apple.com>
545
546         Reviewed by Alexey Proskuryakov.
547
548         - fix a leak when using hex color values in CSS variables
549
550         - fix CSSOM access to hex color values in variables declarations
551
552         Test: fast/css/variables/color-hex-test.html
553
554         Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
555         CSSParserValues coming from colors in hex notation. CSSParserValues can
556         no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
557         used as the type for CSSValues in CSS variables declarations where the
558         parser value was a hex color. However the type of all other color
559         CSSValues remains CSS_RGBCOLOR.
560
561         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
562         for color values in hex notation.
563         * css/CSSParser.cpp:
564         (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
565         * css/CSSParserValues.cpp:
566         (WebCore::CSSParserValue::createCSSValue): Ditto.
567         * css/CSSPrimitiveValue.cpp:
568         (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
569         string containing the color.
570         (WebCore::CSSPrimitiveValue::cssText): Added support for
571         CSS_PARSER_HEXCOLOR for when serializing variable values.
572         (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
573         * css/CSSPrimitiveValue.h:
574         (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
575
576 2008-07-23  Beth Dakin  <bdakin@apple.com>
577
578         Reviewed by Dan Bernstein.
579
580         Fix for <rdar://problem/5997215> display: table-row-group 
581         for :before content causes a crash
582  
583         The actual bug fix here is to ddd the generated content container 
584         as a child before adding any of the generated content to the 
585         container. There are two correctness fixes as well that deal with 
586         style changes and correctly.
587
588         This patch also makes Node::diff() a static function.
589
590         * dom/Node.cpp:
591         (WebCore::Node::diff):
592         * dom/Node.h:
593         (WebCore::Node::):
594         (WebCore::Node::recalcStyle):
595         * rendering/RenderContainer.cpp:
596         (WebCore::findBeforeAfterParent):
597         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
598         * svg/SVGUseElement.cpp:
599         (WebCore::SVGUseElement::recalcStyle):
600
601 2008-07-23  Timothy Hatcher  <timothy@apple.com>
602
603         Updates the elements DOM tree when nodes are added or removed from
604         the inspected document.
605
606         https://bugs.webkit.org/show_bug.cgi?id=6590
607         <rdar://problem/5712921>
608
609         Reviewed by Adam Roben.
610
611         * loader/FrameLoader.cpp:
612         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
613         InspectorController::inspectedWindowScriptObjectCleared.
614         * page/InspectorController.cpp:
615         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
616         Calls the WebInspector.inspectedWindowCleared script function.
617         * page/InspectorController.h:
618         * page/inspector/ElementsPanel.js:
619         (WebInspector.ElementsPanel): Create the event listener callback wrappers.
620         (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
621         there are any recently modified nodes.
622         (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
623         Adds a check for InspectorController.isWindowVisible to prevent adding
624         event listeners when the window isn't visible.
625         (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
626         (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
627         DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
628         (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
629         added in _addMutationEventListeners.
630         (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
631         again to reinstate the listners if the document changed or window cleared them.
632         (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
633         _mutationMonitoredWindows and call _addMutationEventListeners.
634         (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
635         _mutationMonitoredWindows and call _removeMutationEventListeners.
636         (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
637         _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
638         clear _mutationMonitoredWindows.
639         (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
640         to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
641         (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
642         (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
643         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
644         _updateModifiedNodes on a zero timeout.
645         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
646         the recentlyModifiedNodes array and call updateChildren on all the parent
647         elements that had changes. Only calls updateChildren once per parent element.
648         (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
649         false if the nodes are the same. Return true if the nodes are the same while
650         looking at ancestor frame elements. THis use to return false, which was incorrect.
651         (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
652         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
653         onpopulate and changed to rebuild the children elements by adding new children,
654         moving existing children and removed old children.
655         (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
656         call registerMutationEventListeners to track any mutations.
657         * page/inspector/inspector.js:
658         (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
659         * page/inspector/treeoutline.js:
660         (TreeElement.prototype.get hasChildren): Return _hasChildren.
661         (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
662         (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
663         (TreeElement.prototype.expand): Fix an exception that can happen if expand is
664         called before _attach.
665         * WebCore/manual-tests/inspector/dom-mutation.html: Added.
666         * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
667         * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
668
669 2008-07-22  Timothy Hatcher  <timothy@apple.com>
670
671         Fix an exception that occurred when double clicking the closing tag
672         of an element in the DOM tree.
673
674         Reviewed by Anders Carlsson.
675
676         * page/inspector/ElementsPanel.js:
677         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
678         element.ondblclick.
679
680 2008-07-22  Timothy Hatcher  <timothy@apple.com>
681
682         Fix a regression where elements in subframes would not be revealed
683         or selected when inspected from the context menu. This was caused by
684         JavaScript equality is not being true for JSInspectedObjectWrappers
685         of the same node wrapped with different global ExecStates. This change
686         adds a helper function that uses isSameNode to compare wrapped nodes.
687
688         https://bugs.webkit.org/show_bug.cgi?id=19377
689
690         Reviewed by Adam Roben.
691
692         * page/inspector/ElementsPanel.js:
693         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
694         to compare nodes.
695         (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
696         (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
697         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
698         (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
699         (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
700         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
701         * page/inspector/treeoutline.js:
702         (TreeOutline.prototype.findTreeElement): Add an equal argument
703         to accept a functions to compare two representedObjects. Defaults
704         to strict equal if not supplied. All current clients pass objectsAreSame.
705         * page/inspector/utilities.js:
706         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
707         to compare nodes.
708         (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
709         (Element.prototype.query): Use the ownerDocument of the node, not document.
710         (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
711         it exists on both objects.
712         (isAncestorNode): Use objectsAreSame to compare nodes.
713         (firstCommonNodeAncestor): Ditto.
714         (traverseNextNode): Ditto.
715
716 2008-07-21  Timothy Hatcher  <timothy@apple.com>
717
718         Added InspectorController.isWindowVisible to the JavaScript class
719         for use in an upcoming change. This will allow the Inspector to not
720         perform selective actions while the window is hidden.
721
722         Reviewed by Adam Roben.
723
724         * page/InspectorController.cpp:
725         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
726         (WebCore::InspectorController::windowScriptObjectAvailable): Add
727         the isWindowVisible function to the JavaScript class.
728
729 2008-07-21  Timothy Hatcher  <timothy@apple.com>
730
731         Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
732         for efficiency of callers that know the index of the child. This
733         will be used in an upcoming change.
734
735         Reviewed by Adam Roben.
736
737         * page/inspector/treeoutline.js:
738         (TreeOutline._removeChildAtIndex): Renamed from _removeChild
739         and modified to take an index.
740         (TreeOutline._removeChild): Call _removeChildAtIndex with the
741         child index found using indexOf.
742         (TreeOutline.prototype.removeChildAtIndex): Added. Calls
743         TreeOutline._removeChildAtIndex.
744         (TreeElement.prototype.removeChildAtIndex): Ditto.
745
746 2008-07-21  Timothy Hatcher  <timothy@apple.com>
747
748         Fixes a regression where TreeOutline.findTreeElement would
749         return the parent TreeElement of the representedObject instead
750         of the TreeElement for the representedObject. Regressed with the
751         fix for bug 19164.
752
753         Reviewed by Adam Roben.
754
755         * page/inspector/treeoutline.js:
756         (TreeOutline.prototype.findTreeElement): When performing a slow search,
757         do a final search for representedObject instead of returning item, which
758         is the parent of representedObject.
759
760 2008-07-23  Adele Peterson  <adele@apple.com>
761
762         Reviewed by Adam.
763
764         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
765
766         * WebCore.base.exp: Added symbols.
767         * page/Chrome.cpp:
768         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
769         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
770         * page/ChromeClient.h:
771         * page/Settings.cpp:
772         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
773         (WebCore::Settings::setShouldPaintCustomScrollbars):
774         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
775         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
776         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
777         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
778         * platform/win/PlatformScrollBarSafari.cpp:
779         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
780         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
781         (WebCore::ScrollbarControlStateFromThemeState): ditto.
782         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
783          Added new code to paint the custom scrollbars if necessary.
784         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
785
786 2008-07-23  Sam Weinig  <sam@webkit.org>
787
788         Reviewed by Anders Carlsson.
789
790         Cleanup and pack the member variables in Node.
791
792         * bindings/js/JSNodeCustom.cpp:
793         (WebCore::JSNode::mark):
794         * dom/Attr.cpp:
795         (WebCore::Attr::Attr):
796         * dom/Attr.h:
797         (WebCore::Attr::specified):
798         (WebCore::Attr::setSpecified):
799         * dom/ContainerNode.cpp:
800         (WebCore::ContainerNode::setFocus):
801         * dom/Document.cpp:
802         (WebCore::Document::adoptNode):
803         * dom/Element.cpp:
804         (WebCore::Element::~Element):
805         (WebCore::Element::rareData):
806         (WebCore::Element::createRareData):
807         * dom/Element.h:
808         (WebCore::Element::hasRareData):
809         (WebCore::Element::setHasRareData):
810         * dom/Node.h:
811         (WebCore::Node::setIsLink):
812         (WebCore::Node::inSubtreeMark):
813         (WebCore::Node::setInSubtreeMark):
814         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
815         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
816         * html/HTMLAnchorElement.cpp:
817         (WebCore::HTMLAnchorElement::supportsFocus):
818         (WebCore::HTMLAnchorElement::isFocusable):
819         (WebCore::HTMLAnchorElement::defaultEventHandler):
820         (WebCore::HTMLAnchorElement::parseMappedAttribute):
821         (WebCore::HTMLAnchorElement::isLiveLink):
822         * html/HTMLImageElement.cpp:
823         (WebCore::HTMLImageElement::parseMappedAttribute):
824         * html/HTMLInputElement.cpp:
825         (WebCore::HTMLInputElement::setInputType):
826         * html/HTMLTableElement.cpp:
827         (WebCore::HTMLTableElement::attach):
828         * svg/SVGAElement.cpp:
829         (WebCore::SVGAElement::svgAttributeChanged):
830         (WebCore::SVGAElement::defaultEventHandler):
831
832 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
833
834         Reviewed by Adele.
835
836         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
837
838         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
839
840         * platform/graphics/win/QTMovieWin.cpp:
841         (QTMovieWinPrivate::QTMovieWinPrivate):
842         (QTMovieWinPrivate::~QTMovieWinPrivate):
843         (QTMovieWinPrivate::task):
844         (QTMovieWinPrivate::createMovieController):
845         (QTMovieWinPrivate::createGWorld):
846         (QTMovieWinPrivate::setSize):
847         (QTMovieWinPrivate::deleteGWorld):
848         (QTMovieWin::play):
849         (QTMovieWin::pause):
850         (QTMovieWin::setRate):
851         (QTMovieWin::setCurrentTime):
852         (QTMovieWin::load):
853
854 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
855
856         Reviewed by Adele.
857
858         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
859         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
860         Unless either flags is turned on there is no change to the code for video frame drawing.
861
862         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
863         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
864         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
865         (WebCore::MediaPlayerPrivate::play):
866         (WebCore::MediaPlayerPrivate::pause):
867         (WebCore::MediaPlayerPrivate::didEnd):
868         (WebCore::MediaPlayerPrivate::repaint):
869         (WebCore::MediaPlayerPrivate::paint):
870         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
871         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
872         (WebCore::MediaPlayerPrivate::play):
873         (WebCore::MediaPlayerPrivate::pause):
874         (WebCore::MediaPlayerPrivate::didEnd):
875         (WebCore::MediaPlayerPrivate::paint):
876         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
877         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
878
879 2008-07-23  Adele Peterson  <adele@apple.com>
880
881         Reviewed by Sam.
882
883         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
884
885         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
886         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
887         * platform/graphics/GraphicsContext.h:
888         (WebCore::): Added InterpolationQuality enum.
889         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
890         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
891         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
892         * platform/graphics/cg/GraphicsContextCG.cpp:
893         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
894         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
895         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
896         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
897
898 2008-07-23  Sam Weinig  <sam@webkit.org>
899
900         Reviewed by Anders Carlsson.
901
902         Remove extraneous allocations by using equalIgnoringCase rather than
903         String::lower.
904
905         * dom/StyledElement.cpp:
906         (WebCore::StyledElement::addCSSColor):
907         * html/HTMLCollection.cpp:
908         (WebCore::HTMLCollection::checkForNameMatch):
909         * html/HTMLFormCollection.cpp:
910         (WebCore::HTMLFormCollection::getNamedFormItem):
911         * html/HTMLLinkElement.cpp:
912         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
913         * html/HTMLObjectElement.cpp:
914         (WebCore::HTMLObjectElement::containsJavaApplet):
915         * html/PreloadScanner.cpp:
916         (WebCore::PreloadScanner::emitCSSRule):
917         * loader/FrameLoader.cpp:
918         (WebCore::FrameLoader::createJavaAppletWidget):
919         * page/DOMSelection.cpp:
920         (WebCore::DOMSelection::modify):
921         * rendering/RenderPartObject.cpp:
922         (WebCore::RenderPartObject::updateWidget):
923
924 2008-07-23  Maxime Britto  <britto@apple.com>
925
926         Reviewed by Adam Roben.
927
928         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
929         Add a check for the m_page member value before asking for page()->mainFrame()
930
931         * page/EventHandler.cpp:
932         (WebCore::EventHandler::stopAutoscrollTimer):
933
934 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
935
936        Reviewed by Adele.
937
938        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
939
940        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
941        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
942
943         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
944         (WebCore::MediaPlayerPrivate::load):
945         (WebCore::MediaPlayerPrivate::updateStates):
946         (WebCore::MediaPlayerPrivate::setVisible):
947
948 2008-07-22  Maxime Britto  <britto@apple.com>
949
950         Reviewed by John Sullivan.
951
952         <rdar://problem/6083116>
953         When pan-scrolling, Back then Forward causes pan-scrolling to start again
954
955         * page/Frame.cpp:
956         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
957         * loader/FrameLoader.cpp:
958         (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.
959
960 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
961
962         Reviewed by Oliver Hunt and Sam Weinig.
963
964         Next step toward putting doubles in registers: Prepare the Register class
965         and its clients for registers that don't contain JSValue*s.
966         
967 2008-07-22  Sam Weinig  <sam@webkit.org>
968
969         Reviewed by Mark Rowe.
970
971         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
972         Add additional support for JPEG and GIF for toDataURL encoding canvases.
973
974         * platform/MIMETypeRegistry.cpp:
975         (WebCore::initializeSupportedImageMIMETypesForEncoding):
976         * platform/graphics/cg/ImageBufferCG.cpp:
977         (WebCore::utiFromMIMEType):
978
979 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
980
981         Reviewed by Dave Hyatt.
982
983         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
984         Test: accessibility/internal-link-anchors2.html
985
986         * page/AccessibilityRenderObject.cpp:
987         (WebCore::AccessibilityRenderObject::internalLinkElement):
988
989 2008-07-22  Anders Carlsson  <andersca@apple.com>
990
991         Reviewed by Adam.
992
993         Allocate the empty StringImpl from the heap.
994         
995         * platform/text/StringImpl.cpp:
996         (WebCore::StringImpl::empty):
997
998 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
999
1000         Reviewed by Tim.
1001
1002         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
1003         view (19228)
1004         - Implement UI for Heavy (Bottom Up) view.
1005
1006         * English.lproj/localizedStrings.js:
1007         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
1008         profile from a profile to the Web Inspector's JavaScript.
1009         (WebCore::getHeavyProfileCallback):
1010         (WebCore::getTreeProfileCallback):
1011         (WebCore::ProfileClass):
1012         * page/inspector/ProfileView.js: Implement the dropdown for changing
1013         profile views.
1014         * page/inspector/inspector.css:
1015
1016 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
1017
1018         Reviewed by Adam Roben.
1019
1020         <rdar://problem/5955602> WebKit should support charset name x-windows-949
1021
1022         Test: fast/encoding/char-decoding.html
1023
1024         * platform/text/TextCodecICU.cpp:
1025         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
1026         Firefox compatibility.
1027
1028 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
1029
1030         Reviewed by Alexey Proskuryakov.
1031
1032         New test to check that arrays fail gracefully (throw an out of memory exception)
1033         when the vector grows to large.
1034
1035         * manual-tests/array-out-of-memory.html: Added.
1036
1037 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
1038
1039         Reviewed by Dan Bernstein.
1040
1041         https://bugs.webkit.org/show_bug.cgi?id=20117
1042         setBaseAndExtent fails to reverse the current selection
1043
1044         Test: editing/selection/setBaseAndExtent-revert-selection.html
1045
1046         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
1047
1048 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
1049
1050         Reviewed by Sam Weinig.
1051
1052         Bug 19919: Add selectors' string parsing in CSSParser
1053         https://bugs.webkit.org/show_bug.cgi?id=19919
1054
1055         No functional change.
1056
1057         * css/CSSGrammar.y: Added entry for parsing only a selector.
1058         * css/CSSParser.cpp:
1059         (WebCore::CSSParser::CSSParser):
1060         (WebCore::CSSParser::parseSelector):
1061         * css/CSSParser.h: Added m_floatingSelector to hold the
1062         Selector parsed in parseSelector.
1063
1064         * css/tokenizer.flex: Added "@-webkit-selector" token.
1065         * dom/Node.cpp:
1066         (WebCore::Node::querySelector):
1067         (WebCore::Node::querySelectorAll): Switched to parseSelector
1068         method.
1069
1070 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1071
1072         Reviewed by Adele.
1073
1074         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
1075
1076         * platform/graphics/win/QTMovieWin.cpp:
1077         (initializeSupportedTypes): Do a Quicktime version minimum version check.
1078         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
1079
1080 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1081
1082         Reviewed by Adele.
1083
1084         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
1085
1086         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
1087         so that everything starts back up normally when the page is retrieved from the cache.
1088
1089 2008-07-21  Sam Weinig  <sam@webkit.org>
1090
1091         Reviewed by Mark Rowe.
1092
1093         Remove unused interface declaration.
1094
1095         * platform/network/mac/ResourceHandleMac.mm:
1096
1097 2008-07-21  Mark Rowe  <mrowe@apple.com>
1098
1099         Reviewed by Sam Weinig.
1100
1101         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1102
1103         * Configurations/Version.xcconfig:
1104         * Info.plist:
1105
1106 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1107
1108         Reviewed by Adele.
1109
1110         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
1111
1112         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
1113         * platform/graphics/MediaPlayer.h:
1114         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
1115         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
1116
1117 2008-07-21  Anders Carlsson  <andersca@apple.com>
1118
1119         Reviewed by Jon.
1120
1121         Don't allow requests to be made when the document loader is stopping all loaders.
1122
1123         * plugins/PluginView.cpp:
1124         (WebCore::PluginView::load):
1125
1126 2008-07-20  Maxime Britto  <britto@apple.com>
1127
1128         Reviewed by John Sullivan.
1129
1130         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
1131         Accelerate and enhance the smoothness of the pan scrollling.
1132
1133         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
1134         * rendering/RenderLayer.cpp: 
1135         (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.
1136
1137 2008-07-18  David Hyatt  <hyatt@apple.com>
1138
1139         Change the cached clip rects to not assume they should be infinite when the root layer has been
1140         shifted as the result of a transformation.
1141
1142         Reviewed by Maciej
1143
1144         Added fast/transforms/overflow-with-transform.html
1145
1146         * rendering/RenderLayer.cpp:
1147         (WebCore::RenderLayer::calculateClipRects):
1148
1149 2008-07-21  Rob Buis  <buis@kde.org>
1150
1151         Reviewed by Mitz.
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=19966
1154         CSS variables crash when using hex notation for colors
1155
1156         Support hex colors as values for the css variables.
1157
1158         Test: fast/css/variables/color-hex-test.html
1159
1160         * css/CSSParserValues.cpp:
1161         (WebCore::CSSParserValue::createCSSValue):
1162         * css/CSSPrimitiveValue.cpp:
1163         (WebCore::CSSPrimitiveValue::parserValue):
1164         * css/CSSVariablesRule.cpp:
1165
1166 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1167
1168         Reviewed by Holger.
1169
1170         Fix drawing of windowless plugins on Windows with the Qt port by
1171         avoiding the reset of the translation of the HDC to 0, 0.
1172
1173         * plugins/win/PluginViewWin.cpp:
1174         (WebCore::PluginView::paint):
1175
1176 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1177
1178         Reviewed by Holger.
1179
1180         Fix rendering of transparent windowless netscape plugins by passing
1181         the right conversion parameter to QPixmap::fromWinHBITMAP when
1182         converting from HBITMAP to QPixmap.
1183
1184         * platform/graphics/qt/GraphicsContextQt.cpp:
1185         (WebCore::GraphicsContext::releaseWindowsContext):
1186
1187 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1188
1189         Reviewed by Holger.
1190
1191         In the implementation of getValue for NPNVnetscapeWindow treat
1192         windowHandleForPlatformWidget on the return value of
1193         containingWindow() to receive the correct HWND for the Qt port.
1194
1195         * plugins/win/PluginViewWin.cpp:
1196         (WebCore::PluginView::getValue):
1197
1198 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1199
1200         Reviewed by Holger.
1201
1202         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
1203         a QWidget. This can happen on page/view destruction for example.
1204
1205         * plugins/win/PluginViewWin.cpp:
1206         (windowHandleForPlatformWidget):
1207
1208 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
1209
1210         Touch file to force rebuild for vsprops change.
1211
1212         * WebCorePrefix.h:
1213
1214 2008-07-20  Sam Weinig  <sam@webkit.org>
1215
1216         Remove extra space Oliver Hunt left in.
1217
1218         * page/Console.cpp:
1219         (WebCore::Console::reportException):
1220         (WebCore::Console::reportCurrentException):
1221
1222 2008-07-20  Oliver Hunt  <oliver@apple.com>
1223
1224         Reviewed by Dan Bernstein.
1225
1226         Bug 19757: Crash when an ondragstart handler hides the element
1227         <https://bugs.webkit.org/show_bug.cgi?id=19757>
1228
1229         The solution to this is problem is just to null check the renderer
1230         immediately before launching the system drag, and terminate the
1231         drag if the renderer is gone.
1232
1233         * page/EventHandler.cpp:
1234         (WebCore::EventHandler::handleDrag):
1235
1236 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1237
1238         Reviewed by Oliver.
1239
1240         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
1241
1242         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
1243         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
1244
1245         * svg/SVGPointList.cpp:
1246         (WebCore::SVGPointList::valueAsString):
1247         * svg/SVGPointList.h:
1248         (WebCore::SVGPointList::create):
1249         * svg/SVGPolyElement.cpp:
1250         (WebCore::SVGPolyElement::SVGPolyElement):
1251         (WebCore::SVGPolyElement::svgAttributeChanged):
1252         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
1253         * svg/SVGPolyElement.h:
1254
1255 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1256
1257         Reviewed by Oliver.
1258
1259         Cleanup JSSVGPODTypeWrapper code.
1260
1261         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
1262                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
1263                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
1264
1265         No functional changes.
1266
1267         * bindings/js/JSSVGMatrixCustom.cpp:
1268         (WebCore::JSSVGMatrix::multiply):
1269         (WebCore::JSSVGMatrix::inverse):
1270         (WebCore::JSSVGMatrix::translate):
1271         (WebCore::JSSVGMatrix::scale):
1272         (WebCore::JSSVGMatrix::scaleNonUniform):
1273         (WebCore::JSSVGMatrix::rotate):
1274         (WebCore::JSSVGMatrix::rotateFromVector):
1275         (WebCore::JSSVGMatrix::flipX):
1276         (WebCore::JSSVGMatrix::flipY):
1277         (WebCore::JSSVGMatrix::skewX):
1278         (WebCore::JSSVGMatrix::skewY):
1279         * bindings/js/JSSVGPODTypeWrapper.h:
1280         (WebCore::JSSVGDynamicPODTypeWrapper::create):
1281         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
1282         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
1283         (WebCore::JSSVGStaticPODTypeWrapper::create):
1284         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
1285         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
1286         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
1287         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
1288         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
1289         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
1290         (WebCore::PODTypeWrapperCacheInfo::operator==):
1291         (WebCore::PODTypeWrapperCacheInfoHash::hash):
1292         (WebCore::PODTypeWrapperCacheInfoHash::equal):
1293         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
1294         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
1295         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
1296         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
1297         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
1298         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
1299         * bindings/js/JSSVGPointListCustom.cpp:
1300         (WebCore::finishGetter):
1301         (WebCore::finishSetter):
1302         (WebCore::finishSetterReadOnlyResult):
1303         (WebCore::JSSVGPointList::initialize):
1304         (WebCore::JSSVGPointList::insertItemBefore):
1305         (WebCore::JSSVGPointList::replaceItem):
1306         (WebCore::JSSVGPointList::appendItem):
1307         * bindings/js/JSSVGTransformListCustom.cpp:
1308         (WebCore::finishGetter):
1309         (WebCore::finishSetter):
1310         (WebCore::finishSetterReadOnlyResult):
1311         (WebCore::JSSVGTransformList::initialize):
1312         (WebCore::JSSVGTransformList::getItem):
1313         (WebCore::JSSVGTransformList::insertItemBefore):
1314         (WebCore::JSSVGTransformList::replaceItem):
1315         (WebCore::JSSVGTransformList::removeItem):
1316         (WebCore::JSSVGTransformList::appendItem):
1317         * bindings/scripts/CodeGeneratorJS.pm:
1318
1319 2008-07-19  Oliver Hunt  <oliver@apple.com>
1320
1321         Reviewed by Mark Rowe.
1322
1323         Bug 15979: Console logs in a database callback lose line number information
1324         <https://bugs.webkit.org/show_bug.cgi?id=15979>
1325
1326         The problem was that there were multiple versions of the logic to
1327         log an exception to the console, many of which were incorrect.  We
1328         resolve this by making one single shared reportException method,
1329         which handles the exceptions correctly.
1330
1331         This improves fidelity of callback errors, and ensures that
1332         exceptions thrown in timer callbacks correctly report line numbers,
1333         etc.
1334
1335         Test: fast/js/exceptions-thrown-in-callbacks.html
1336
1337         * bindings/js/JSCustomSQLStatementCallback.cpp:
1338         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1339         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1340         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1341         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1342         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1343         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1344         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1345         * bindings/js/JSCustomVoidCallback.cpp:
1346         (WebCore::JSCustomVoidCallback::handleEvent):
1347         * bindings/js/JSCustomXPathNSResolver.cpp:
1348         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1349         * bindings/js/JSEventListener.cpp:
1350         (WebCore::JSAbstractEventListener::handleEvent):
1351         * bindings/js/ScheduledAction.cpp:
1352         (WebCore::ScheduledAction::execute):
1353         * bindings/js/ScriptController.cpp:
1354         (WebCore::ScriptController::evaluate):
1355         * bindings/objc/WebScriptObject.mm:
1356         (WebCore::addExceptionToConsole):
1357         * page/Console.cpp:
1358         (WebCore::Console::reportException):
1359         * page/Console.h:
1360
1361 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1362
1363         Rubber stamped by Oliver.
1364
1365         Another attempt to fix the win build.
1366
1367         * svg/SVGAnimatedProperty.h:
1368
1369 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
1370
1371         Reviewed by David Kilzer.
1372
1373         Fix high CPU usage on testmyiphone.com.
1374
1375         - Made the logic for determining when to stop looking for meta charset more strainghtforward.
1376         Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
1377         bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
1378         offending tag was seen at any point before).
1379
1380         - The above change made one of our regression tests fail, because it had its <meta>
1381         declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
1382
1383         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
1384
1385         - Moved a check for XML content type out of the loop.
1386
1387         * loader/TextResourceDecoder.cpp:
1388         (WebCore::TextResourceDecoder::checkForHeadCharset): 
1389
1390 2008-07-20  Oliver Hunt  <oliver@apple.com>
1391
1392         Reviewed by NOBODY (build fix).
1393
1394         Attempt to fix windows build
1395
1396         * svg/SVGAnimatedProperty.h:
1397
1398 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
1399
1400         Reviewed by Oliver & parts by Eric.
1401
1402         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
1403
1404         Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
1405         Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
1406
1407         * dom/Element.cpp:
1408         (WebCore::Element::attributes):
1409         (WebCore::Element::getAttribute):
1410         (WebCore::Element::hasAttributes):
1411         * dom/Element.h:
1412         (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
1413         * svg/SVGAElement.cpp:
1414         (WebCore::SVGAElement::SVGAElement):
1415         * svg/SVGAElement.h:
1416         * svg/SVGAltGlyphElement.h:
1417         * svg/SVGAnimatedProperty.h: Added.
1418         * svg/SVGAnimatedTemplate.h:
1419         (WebCore::lookupOrCreateWrapper):
1420         * svg/SVGAnimationElement.h:
1421         * svg/SVGCircleElement.cpp:
1422         (WebCore::SVGCircleElement::SVGCircleElement):
1423         * svg/SVGCircleElement.h:
1424         * svg/SVGClipPathElement.cpp:
1425         (WebCore::SVGClipPathElement::SVGClipPathElement):
1426         * svg/SVGClipPathElement.h:
1427         * svg/SVGComponentTransferFunctionElement.cpp:
1428         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
1429         * svg/SVGComponentTransferFunctionElement.h:
1430         * svg/SVGCursorElement.cpp:
1431         (WebCore::SVGCursorElement::SVGCursorElement):
1432         * svg/SVGCursorElement.h:
1433         * svg/SVGDefsElement.h:
1434         (WebCore::SVGDefsElement::contextElement):
1435         * svg/SVGElement.cpp:
1436         (WebCore::SVGElement::updateAnimatedSVGAttribute):
1437         * svg/SVGElement.h:
1438         (WebCore::SVGElement::supplementalTransform):
1439         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
1440         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
1441         (WebCore::SVGElement::addSVGPropertySynchronizer):
1442         * svg/SVGEllipseElement.cpp:
1443         (WebCore::SVGEllipseElement::SVGEllipseElement):
1444         * svg/SVGEllipseElement.h:
1445         * svg/SVGExternalResourcesRequired.cpp:
1446         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
1447         * svg/SVGExternalResourcesRequired.h:
1448         * svg/SVGFEBlendElement.cpp:
1449         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1450         * svg/SVGFEBlendElement.h:
1451         * svg/SVGFEColorMatrixElement.cpp:
1452         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1453         * svg/SVGFEColorMatrixElement.h:
1454         * svg/SVGFEComponentTransferElement.cpp:
1455         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1456         * svg/SVGFEComponentTransferElement.h:
1457         * svg/SVGFECompositeElement.cpp:
1458         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1459         * svg/SVGFECompositeElement.h:
1460         * svg/SVGFEDiffuseLightingElement.cpp:
1461         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1462         * svg/SVGFEDiffuseLightingElement.h:
1463         * svg/SVGFEDisplacementMapElement.cpp:
1464         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1465         * svg/SVGFEDisplacementMapElement.h:
1466         * svg/SVGFEFloodElement.h:
1467         * svg/SVGFEGaussianBlurElement.cpp:
1468         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1469         * svg/SVGFEGaussianBlurElement.h:
1470         * svg/SVGFEImageElement.cpp:
1471         (WebCore::SVGFEImageElement::SVGFEImageElement):
1472         * svg/SVGFEImageElement.h:
1473         * svg/SVGFELightElement.cpp:
1474         (WebCore::SVGFELightElement::SVGFELightElement):
1475         * svg/SVGFELightElement.h:
1476         (WebCore::SVGFELightElement::contextElement):
1477         * svg/SVGFEMergeElement.h:
1478         * svg/SVGFEMergeNodeElement.cpp:
1479         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
1480         * svg/SVGFEMergeNodeElement.h:
1481         * svg/SVGFEOffsetElement.cpp:
1482         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1483         * svg/SVGFEOffsetElement.h:
1484         * svg/SVGFESpecularLightingElement.cpp:
1485         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1486         * svg/SVGFESpecularLightingElement.h:
1487         * svg/SVGFETileElement.cpp:
1488         (WebCore::SVGFETileElement::SVGFETileElement):
1489         * svg/SVGFETileElement.h:
1490         * svg/SVGFETurbulenceElement.cpp:
1491         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1492         * svg/SVGFETurbulenceElement.h:
1493         * svg/SVGFilterElement.cpp:
1494         (WebCore::SVGFilterElement::SVGFilterElement):
1495         * svg/SVGFilterElement.h:
1496         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1497         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1498         * svg/SVGFilterPrimitiveStandardAttributes.h:
1499         * svg/SVGFitToViewBox.cpp:
1500         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1501         * svg/SVGFitToViewBox.h:
1502         * svg/SVGFontElement.h:
1503         (WebCore::SVGFontElement::rendererIsNeeded):
1504         (WebCore::SVGFontElement::contextElement):
1505         * svg/SVGForeignObjectElement.cpp:
1506         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1507         * svg/SVGForeignObjectElement.h:
1508         * svg/SVGGElement.h:
1509         * svg/SVGGradientElement.cpp:
1510         (WebCore::SVGGradientElement::SVGGradientElement):
1511         * svg/SVGGradientElement.h:
1512         (WebCore::SVGGradientElement::contextElement):
1513         * svg/SVGImageElement.cpp:
1514         (WebCore::SVGImageElement::SVGImageElement):
1515         * svg/SVGImageElement.h:
1516         * svg/SVGLineElement.cpp:
1517         (WebCore::SVGLineElement::SVGLineElement):
1518         * svg/SVGLineElement.h:
1519         * svg/SVGLinearGradientElement.cpp:
1520         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1521         * svg/SVGLinearGradientElement.h:
1522         * svg/SVGMarkerElement.cpp:
1523         (WebCore::SVGMarkerElement::SVGMarkerElement):
1524         (WebCore::SVGMarkerElement::canvasResource):
1525         * svg/SVGMarkerElement.h:
1526         * svg/SVGMaskElement.cpp:
1527         (WebCore::SVGMaskElement::SVGMaskElement):
1528         * svg/SVGMaskElement.h:
1529         * svg/SVGPathElement.cpp:
1530         (WebCore::SVGPathElement::SVGPathElement):
1531         (WebCore::SVGPathElement::parseMappedAttribute):
1532         * svg/SVGPathElement.h:
1533         * svg/SVGPatternElement.cpp:
1534         (WebCore::SVGPatternElement::SVGPatternElement):
1535         * svg/SVGPatternElement.h:
1536         (WebCore::SVGPatternElement::contextElement):
1537         * svg/SVGPolyElement.h:
1538         * svg/SVGPreserveAspectRatio.cpp:
1539         * svg/SVGRadialGradientElement.cpp:
1540         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1541         * svg/SVGRadialGradientElement.h:
1542         * svg/SVGRectElement.cpp:
1543         (WebCore::SVGRectElement::SVGRectElement):
1544         * svg/SVGRectElement.h:
1545         * svg/SVGSVGElement.cpp:
1546         (WebCore::SVGSVGElement::SVGSVGElement):
1547         * svg/SVGSVGElement.h:
1548         * svg/SVGScriptElement.cpp:
1549         * svg/SVGScriptElement.h:
1550         * svg/SVGStopElement.cpp:
1551         (WebCore::SVGStopElement::SVGStopElement):
1552         * svg/SVGStopElement.h:
1553         * svg/SVGStyledElement.cpp:
1554         (WebCore::SVGStyledElement::SVGStyledElement):
1555         * svg/SVGStyledElement.h:
1556         * svg/SVGStyledTransformableElement.cpp:
1557         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1558         * svg/SVGStyledTransformableElement.h:
1559         * svg/SVGSwitchElement.h:
1560         * svg/SVGSymbolElement.h:
1561         (WebCore::SVGSymbolElement::contextElement):
1562         * svg/SVGTRefElement.h:
1563         * svg/SVGTSpanElement.h:
1564         * svg/SVGTextContentElement.cpp:
1565         (WebCore::SVGTextContentElement::SVGTextContentElement):
1566         * svg/SVGTextContentElement.h:
1567         (WebCore::SVGTextContentElement::contextElement):
1568         * svg/SVGTextElement.cpp:
1569         (WebCore::SVGTextElement::SVGTextElement):
1570         * svg/SVGTextElement.h:
1571         * svg/SVGTextPathElement.cpp:
1572         (WebCore::SVGTextPathElement::SVGTextPathElement):
1573         * svg/SVGTextPathElement.h:
1574         * svg/SVGTextPositioningElement.cpp:
1575         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1576         * svg/SVGTextPositioningElement.h:
1577         * svg/SVGTransformable.h:
1578         * svg/SVGURIReference.cpp:
1579         (WebCore::SVGURIReference::SVGURIReference):
1580         * svg/SVGURIReference.h:
1581         * svg/SVGUseElement.cpp:
1582         (WebCore::SVGUseElement::SVGUseElement):
1583         * svg/SVGUseElement.h:
1584         * svg/SVGViewElement.h:
1585         * svg/SVGViewSpec.h:
1586
1587 2008-07-18  Maxime Britto  <britto@apple.com>
1588
1589         Reviewed by Adele.
1590         
1591         Fixed <rdar://problem/6049803>
1592         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
1593
1594         Test: fast/events/autoscroll-with-non-scrollable-parent.html
1595
1596         * ChangeLog:
1597         * page/EventHandler.cpp: Edited
1598         (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
1599         (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
1600         * rendering/RenderLayer.cpp:
1601         (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
1602         * rendering/RenderListBox.h:
1603         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
1604         * rendering/RenderObject.cpp:
1605         (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
1606         (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
1607         * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
1608         * rendering/RenderTextControl.h:
1609         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
1610
1611 2008-07-18  Sam Weinig  <sam@webkit.org>
1612
1613         Reviewed by Anders Carlsson.
1614
1615         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
1616
1617         - Overload XMLHttpRequests send() method to accept File tokens.
1618
1619         * bindings/js/JSXMLHttpRequestCustom.cpp:
1620         (WebCore::JSXMLHttpRequest::send): 
1621         * xml/XMLHttpRequest.cpp:
1622         (WebCore::XMLHttpRequest::send):
1623         * xml/XMLHttpRequest.h:
1624
1625 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
1626
1627         Reviewed by Cameron Zwarich.
1628         
1629         Three renames:
1630         
1631         "CallTypeNative" => "CallTypeHost"
1632         "code" => "byteCode"
1633         "generatedCode" => "generatedByteCode"
1634
1635 2008-07-18  Adele Peterson  <adele@apple.com>
1636
1637         Reviewed by Dan Bernstein.
1638
1639         I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
1640         which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
1641         This change will now check both the media element and the player to decide whether or not to make the controls persistent.
1642
1643         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
1644
1645 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1646
1647         Reviewed by mitz
1648
1649         Remove braces around single-line conditional.
1650         
1651         * css/CSSComputedStyleDeclaration.cpp:
1652         (WebCore::computedTransform):
1653
1654 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1655
1656         Reviewed by Dave Hyatt
1657
1658         getComputedStyle() for -webkit-transform should return 
1659         'none' for elements with no renderer, or those with no
1660         transform.
1661
1662         https://bugs.webkit.org/show_bug.cgi?id=20008
1663
1664         Testcase: LayoutTests/fast/css/computed-style-without-renderer
1665                   LayoutTests/fast/css/computed-style-expected.txt
1666
1667         * css/CSSComputedStyleDeclaration.cpp:
1668         (WebCore::computedTransform):
1669
1670 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
1671
1672         Reviewed by Dave Hyatt
1673
1674         Fix assertion about creating Length values with percentage types
1675         when blending transforms.
1676         https://bugs.webkit.org/show_bug.cgi?id=20086
1677
1678         * rendering/style/RenderStyle.cpp:
1679         (WebCore::TranslateTransformOperation::blend):
1680
1681 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
1682
1683         Reviewed by rwlbuis@gmail.com
1684
1685         https://bugs.webkit.org/show_bug.cgi?id=19965
1686
1687         - Added "@"{ident} rule (below other @-rules) to use flex for longest match
1688           (if an earlier rule - e.g. @media - also matches then flex chooses that one
1689            however, if a longer match - e.g. @mediaall matches flex will choose that)
1690         - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
1691           in the error recovery grammar. 
1692
1693         Test: css2.1/atrule_longest_match.html
1694
1695         * ChangeLog:
1696         * css/CSSGrammar.y:
1697         * css/tokenizer.flex:
1698
1699 2008-07-17  David Hyatt  <hyatt@apple.com>
1700
1701         Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
1702         recursive (and checks for transparency layers all the way up the ancestor document chain back to
1703         the top-level frame).
1704
1705         Reviewed by Dan
1706
1707         * rendering/RenderView.cpp:
1708         (WebCore::RenderView::paintBoxDecorations):
1709
1710 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
1711
1712         REGRESSION: Can't create windowless plug-in with Flash 9
1713         https://bugs.webkit.org/show_bug.cgi?id=20070
1714
1715         Reviewed by Mark Rowe.
1716
1717         * plugins/win/PluginPackageWin.cpp:
1718         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
1719         PlatformModuleVersion constructor takes leastSig, mostSig.
1720
1721 2008-07-16  Eric Seidel  <eric@webkit.org>
1722
1723         Reviewed by mitz.
1724
1725         Attempt to make initializeATSUStyle human-readable by
1726         splitting it out into better-named static inline functions.
1727
1728         No functional changes, thus no tests.
1729
1730         * platform/graphics/mac/FontMac.mm:
1731         (WebCore::fontHasMirroringInfo):
1732         (WebCore::disableLigatures):
1733         (WebCore::initializeATSUStyle):
1734
1735 2008-07-16  Eric Seidel  <eric@webkit.org>
1736
1737         No review, build fix only.
1738
1739         Attempt to fix Mac build
1740
1741         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
1742
1743 2008-07-16  Eric Seidel  <eric@webkit.org>
1744
1745         Reviewed by mitz.
1746
1747         Make ATSULayoutParameters a real C++ class
1748         (Give it a destructor to clean up after itself)
1749         (Also use OwnArrayPtr instead of manual member cleanup)
1750
1751         * platform/graphics/mac/FontMac.mm:
1752         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1753         (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
1754         (WebCore::overrideLayoutOperation):
1755         (WebCore::ATSULayoutParameters::initialize):
1756         (WebCore::Font::selectionRectForComplexText):
1757         (WebCore::Font::drawComplexText):
1758         (WebCore::Font::floatWidthForComplexText):
1759         (WebCore::Font::offsetForPositionForComplexText):
1760
1761 2008-07-16  Eric Seidel  <eric@webkit.org>
1762
1763         Reviewed by mitz.
1764
1765         Make ownership of copied UChar buffer clearer
1766         (and more leak-proof) by using a OwnArrayPtr.
1767
1768         No functional changes, thus no tests.
1769
1770         * platform/graphics/mac/FontMac.mm:
1771         (WebCore::copyRunForDirectionalOverrideIfNecessary):
1772         (WebCore::Font::selectionRectForComplexText):
1773         (WebCore::Font::drawComplexText):
1774         (WebCore::Font::offsetForPositionForComplexText):
1775
1776 2008-07-16  Eric Seidel  <eric@webkit.org>
1777
1778         Reviewed by Sam.
1779
1780         Split out TextRun into its own header file.
1781         Re-order members to place all bools together
1782         (to allow compilers to better pack the struct)
1783
1784         No functional changes, thus no tests.
1785
1786         * WebCore.vcproj/WebCore.vcproj:
1787         * WebCore.xcodeproj/project.pbxproj:
1788         * platform/graphics/Font.h: Moved TextRun into its own file.
1789         * platform/graphics/TextRun.h: Split out from Font.h
1790
1791 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
1792
1793         Reviewed by Dave Hyatt
1794
1795         AnimationController needs to adjust z-index in the blended
1796         style in case opacity or transform were changed by blending.
1797
1798         https://bugs.webkit.org/show_bug.cgi?id=20047
1799         
1800         Test: transitions/opacity-transition-zindex.html
1801
1802         * page/AnimationController.cpp:
1803         (WebCore::AnimationController::updateImplicitAnimations):
1804
1805 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1806
1807         Reviewed by Sam.
1808
1809         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
1810         Prepare SVGAnimatedProperty introduction.
1811
1812         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
1813         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
1814         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
1815
1816         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
1817         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
1818         * svg/svgattrs.in: Export all SVG attributes as strings.
1819         * svg/svgtags.in: Export all SVG tags as strings.
1820         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
1821
1822 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1823
1824         Reviewed by Eric.
1825
1826         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
1827         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
1828
1829         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1830
1831         * GNUmakefile.am:
1832         * WebCore.pro:
1833         * WebCore.vcproj/WebCore.vcproj:
1834         * WebCore.xcodeproj/project.pbxproj:
1835         * bindings/js/JSSVGLengthCustom.cpp: Added.
1836         (WebCore::JSSVGLength::value):
1837         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1838         * bindings/scripts/CodeGeneratorObjC.pm:
1839         * css/CSSCursorImageValue.cpp:
1840         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1841         * rendering/RenderForeignObject.cpp:
1842         (WebCore::RenderForeignObject::translationForAttributes):
1843         * rendering/RenderSVGImage.cpp:
1844         (WebCore::RenderSVGImage::layout):
1845         * rendering/RenderSVGRoot.cpp:
1846         (WebCore::RenderSVGRoot::calcViewport):
1847         * rendering/RenderSVGText.cpp:
1848         (WebCore::RenderSVGText::layout):
1849         * rendering/RenderSVGViewportContainer.cpp:
1850         (WebCore::RenderSVGViewportContainer::calcViewport):
1851         * rendering/SVGCharacterLayoutInfo.cpp:
1852         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
1853         (WebCore::SVGCharacterLayoutInfo::addStackContent):
1854         * rendering/SVGCharacterLayoutInfo.h:
1855         * rendering/SVGRootInlineBox.cpp:
1856         (WebCore::SVGRootInlineBox::buildTextChunks):
1857         * svg/SVGAnimateElement.h:
1858         * svg/SVGAnimateMotionElement.h:
1859         * svg/SVGAnimateTransformElement.h:
1860         * svg/SVGAnimationElement.h:
1861         (WebCore::SVGAnimationElement::contextElement):
1862         * svg/SVGCircleElement.cpp:
1863         (WebCore::SVGCircleElement::SVGCircleElement):
1864         (WebCore::SVGCircleElement::parseMappedAttribute):
1865         (WebCore::SVGCircleElement::toPathData):
1866         * svg/SVGCursorElement.cpp:
1867         (WebCore::SVGCursorElement::SVGCursorElement):
1868         (WebCore::SVGCursorElement::parseMappedAttribute):
1869         * svg/SVGEllipseElement.cpp:
1870         (WebCore::SVGEllipseElement::SVGEllipseElement):
1871         (WebCore::SVGEllipseElement::parseMappedAttribute):
1872         (WebCore::SVGEllipseElement::toPathData):
1873         * svg/SVGFilterElement.cpp:
1874         (WebCore::SVGFilterElement::SVGFilterElement):
1875         (WebCore::SVGFilterElement::parseMappedAttribute):
1876         (WebCore::SVGFilterElement::canvasResource):
1877         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1878         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1879         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1880         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1881         * svg/SVGForeignObjectElement.cpp:
1882         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1883         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1884         * svg/SVGImageElement.cpp:
1885         (WebCore::SVGImageElement::SVGImageElement):
1886         (WebCore::SVGImageElement::parseMappedAttribute):
1887         * svg/SVGLength.cpp:
1888         (WebCore::SVGLength::SVGLength):
1889         (WebCore::SVGLength::value):
1890         (WebCore::SVGLength::convertToSpecifiedUnits):
1891         (WebCore::SVGLength::PercentageOfViewport):
1892         * svg/SVGLength.h:
1893         * svg/SVGLength.idl:
1894         * svg/SVGLengthList.cpp:
1895         (WebCore::SVGLengthList::parse):
1896         * svg/SVGLengthList.h:
1897         * svg/SVGLineElement.cpp:
1898         (WebCore::SVGLineElement::SVGLineElement):
1899         (WebCore::SVGLineElement::parseMappedAttribute):
1900         (WebCore::SVGLineElement::toPathData):
1901         * svg/SVGLinearGradientElement.cpp:
1902         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1903         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1904         * svg/SVGMarkerElement.cpp:
1905         (WebCore::SVGMarkerElement::SVGMarkerElement):
1906         (WebCore::SVGMarkerElement::parseMappedAttribute):
1907         (WebCore::SVGMarkerElement::canvasResource):
1908         * svg/SVGMaskElement.cpp:
1909         (WebCore::SVGMaskElement::SVGMaskElement):
1910         (WebCore::SVGMaskElement::parseMappedAttribute):
1911         (WebCore::SVGMaskElement::drawMaskerContent):
1912         * svg/SVGPatternElement.cpp:
1913         (WebCore::SVGPatternElement::SVGPatternElement):
1914         (WebCore::SVGPatternElement::parseMappedAttribute):
1915         (WebCore::SVGPatternElement::buildPattern):
1916         * svg/SVGRadialGradientElement.cpp:
1917         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1918         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1919         * svg/SVGRectElement.cpp:
1920         (WebCore::SVGRectElement::SVGRectElement):
1921         (WebCore::SVGRectElement::parseMappedAttribute):
1922         (WebCore::SVGRectElement::toPathData):
1923         * svg/SVGSVGElement.cpp:
1924         (WebCore::SVGSVGElement::SVGSVGElement):
1925         (WebCore::SVGSVGElement::viewport):
1926         (WebCore::SVGSVGElement::parseMappedAttribute):
1927         (WebCore::SVGSVGElement::getCTM):
1928         (WebCore::SVGSVGElement::getScreenCTM):
1929         * svg/SVGTextContentElement.cpp:
1930         (WebCore::SVGTextContentElement::SVGTextContentElement):
1931         (WebCore::SVGTextContentElement::parseMappedAttribute):
1932         * svg/SVGTextPathElement.cpp:
1933         (WebCore::SVGTextPathElement::SVGTextPathElement):
1934         (WebCore::SVGTextPathElement::parseMappedAttribute):
1935         * svg/SVGTextPositioningElement.cpp:
1936         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1937         * svg/SVGUseElement.cpp:
1938         (WebCore::SVGUseElement::SVGUseElement):
1939         (WebCore::SVGUseElement::parseMappedAttribute):
1940         (WebCore::SVGUseElement::buildPendingResource):
1941         (WebCore::SVGUseElement::buildInstanceTree):
1942         (WebCore::SVGUseElement::handleDeepUseReferencing):
1943         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1944         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1945         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1946         * svg/SVGUseElement.h:
1947         * svg/SynchronizableTypeWrapper.h:
1948         * svg/graphics/SVGImage.cpp:
1949         (WebCore::SVGImage::size):
1950
1951 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
1952
1953         Reviewed by Oliver Hunt.
1954
1955         Support for JavaScriptCore's first step toward putting doubles in
1956         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1957
1958         * bindings/js/ScheduledAction.cpp:
1959         (WebCore::ScheduledAction::ScheduledAction):
1960
1961 2008-07-15  Maxime Britto  <britto@apple.com>
1962
1963         Reviewed by Eric.
1964
1965         https://bugs.webkit.org/show_bug.cgi?id=17589
1966         <rdar://problem/5770893>
1967         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
1968         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
1969         For the other platforms, nothing is changed but if someone want to activate this feature 
1970         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
1971
1972         * ChangeLog:
1973         * page/EventHandler.cpp:
1974         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
1975         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
1976         * platform/PlatformWheelEvent.h:
1977         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
1978         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
1979         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
1980         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
1981         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1982         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1983         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1984         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1985         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1986         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1987         * 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
1988         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
1989         (WebCore::ScrollView::updateScrollbars):
1990         (WebCore::ScrollView::wheelEvent):
1991         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
1992         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1993         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1994         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1995
1996 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
1997
1998         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1999
2000         * WebCoreSources.bkl:
2001
2002 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
2003
2004         Reviewed by Dan.
2005
2006         <rdar://problem/5620273> REGRESSION: Apparent caching between form
2007         submits twice (on Maconomy) (18401)
2008
2009         Frames did not set the createdByParser flag even when they were.
2010
2011         * html/HTMLElementFactory.cpp:
2012         (WebCore::frameConstructor):
2013         (WebCore::iframeConstructor):
2014
2015 2008-07-15  Dan Bernstein  <mitz@apple.com>
2016
2017         Reviewed by Dave Hyatt.
2018
2019         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
2020           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
2021
2022         Test: fast/reflections/inline-crash.html
2023
2024         * rendering/RenderInline.cpp:
2025         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
2026         Inline flows never have reflections.
2027
2028 2008-07-14  David Hyatt  <hyatt@apple.com>
2029
2030         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
2031         no <body> exists yet though.
2032
2033         Reviewed by Sam
2034
2035         Added fast/css/style-parsed-outside-of-head.html
2036
2037         * html/HTMLElement.cpp:
2038         (WebCore::inlineTagList):
2039
2040 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
2041
2042         Reviewed by Geoff.
2043
2044         Rename pageGroupIdentifier to profileGroup to keep mention of a
2045         pageGroup out of JavaScriptCore.
2046
2047         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2048         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
2049         * bindings/js/ScriptController.cpp:
2050         (WebCore::ScriptController::clear):
2051         (WebCore::ScriptController::initScript):
2052         * history/CachedPage.cpp:
2053         (WebCore::CachedPage::restore):
2054
2055 2008-07-15  Adam Roben  <aroben@apple.com>
2056
2057         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
2058
2059         <rdar://6059127>
2060
2061         Reviewed by John Sullivan.
2062
2063         * platform/graphics/win/FontCGWin.cpp:
2064         (WebCore::Font::drawGlyphs): Pass the result of
2065         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
2066         * platform/win/WebCoreTextRenderer.cpp:
2067         (WebCore::WebCoreSetShouldUseFontSmoothing):
2068         (WebCore::WebCoreShouldUseFontSmoothing):
2069         Added.
2070         * platform/win/WebCoreTextRenderer.h:
2071
2072 2008-07-15  Adam Roben  <aroben@apple.com>
2073
2074         Windows build fix
2075
2076         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
2077         to the project.
2078
2079 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
2080
2081         Build fix for the Gtk+ and Qt platform.
2082
2083         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
2084         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
2085
2086 2008-07-14  Dan Bernstein  <mitz@apple.com>
2087
2088         - Tiger build fix
2089
2090         * platform/mac/WidgetMac.mm:
2091         (WebCore::Widget::paint):
2092
2093 2008-07-14  Dan Bernstein  <mitz@apple.com>
2094
2095         Reviewed by John Sullivan.
2096
2097         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
2098
2099         * platform/mac/WidgetMac.mm:
2100         (WebCore::Widget::paint): Changed to account for the case of drawing
2101         into a bitmap context that is not a window's backing store. In that
2102         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
2103         drawing to the correct context, after setting up the right transform
2104         on it. For subframes, additional code ensures that the scroll view will
2105         not paint the background behind a transparent frame.
2106
2107 2008-07-14  chris fleizach  <cfleizach@apple.com>
2108
2109         Reviewed by Beth Dakin
2110
2111         <rdar://problem/6038106> AXChildren returned for this web area is null
2112         Accessibility of image maps needed to be updated
2113
2114         Tests: accessibility/image-map1.html
2115                accessibility/image-map2.html
2116
2117         * WebCore.xcodeproj/project.pbxproj:
2118         * page/AXObjectCache.cpp:
2119         (WebCore::AXObjectCache::get):
2120         * page/AccessibilityImageMapLink.cpp: Added.
2121         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
2122         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
2123         (WebCore::AccessibilityImageMapLink::create):
2124         (WebCore::AccessibilityImageMapLink::parentObject):
2125         (WebCore::AccessibilityImageMapLink::anchorElement):
2126         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2127         (WebCore::AccessibilityImageMapLink::title):
2128         (WebCore::AccessibilityImageMapLink::elementRect):
2129         (WebCore::AccessibilityImageMapLink::size):
2130         * page/AccessibilityImageMapLink.h: Added.
2131         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
2132         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
2133         (WebCore::AccessibilityImageMapLink::roleValue):
2134         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
2135         (WebCore::AccessibilityImageMapLink::isLink):
2136         * page/AccessibilityListBoxOption.h:
2137         * page/AccessibilityObject.cpp:
2138         (WebCore::AccessibilityObject::selectedChildren):
2139         (WebCore::AccessibilityObject::visibleChildren):
2140         * page/AccessibilityObject.h:
2141         (WebCore::):
2142         * page/AccessibilityRenderObject.cpp:
2143         (WebCore::AccessibilityRenderObject::parentObject):
2144         (WebCore::AccessibilityRenderObject::isAnchor):
2145         (WebCore::AccessibilityRenderObject::anchorElement):
2146         (WebCore::AccessibilityRenderObject::helpText):
2147         (WebCore::AccessibilityRenderObject::intValue):
2148         (WebCore::AccessibilityRenderObject::stringValue):
2149         (WebCore::AccessibilityRenderObject::title):
2150         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2151         (WebCore::AccessibilityRenderObject::elementRect):
2152         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2153         (WebCore::AccessibilityRenderObject::roleValue):
2154         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2155         (WebCore::AccessibilityRenderObject::addChildren):
2156         * page/AccessibilityRenderObject.h:
2157         * page/mac/AccessibilityObjectWrapper.mm:
2158         (convertToNSArray):
2159         (RoleEntry::):
2160
2161 2008-07-14  Sam Weinig  <sam@webkit.org>
2162
2163         Rubber-stamped by David Hyatt.
2164
2165         Remove unused ExceptionCode parameter from compareDocumentPosition.
2166
2167         * dom/Document.cpp:
2168         (WebCore::Document::addStyleSheetCandidateNode):
2169         * dom/Node.cpp:
2170         (WebCore::Node::compareDocumentPosition):
2171         * dom/Node.h:
2172         * dom/Node.idl:
2173
2174 2008-07-14  David Hyatt  <hyatt@apple.com>
2175
2176         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
2177
2178         Reviewed by Sam
2179
2180         Added fast/css/style-outside-head.html
2181         Added fast/css/link-outside-head.html
2182
2183         * dom/Document.cpp:
2184         (WebCore::Document::addStyleSheetCandidateNode):
2185         (WebCore::Document::removeStyleSheetCandidateNode):
2186         (WebCore::Document::recalcStyleSelector):
2187         * dom/Document.h:
2188         * dom/Node.cpp:
2189         (WebCore::Node::compareDocumentPosition):
2190         * dom/ProcessingInstruction.cpp:
2191         (WebCore::ProcessingInstruction::checkStyleSheet):
2192         (WebCore::ProcessingInstruction::insertedIntoDocument):
2193         (WebCore::ProcessingInstruction::removedFromDocument):
2194         (WebCore::ProcessingInstruction::finishParsingChildren):
2195         * dom/ProcessingInstruction.h:
2196         (WebCore::ProcessingInstruction::setCreatedByParser):
2197         * dom/StyleElement.cpp:
2198         (WebCore::StyleElement::removedFromDocument):
2199         * dom/XMLTokenizer.cpp:
2200         (WebCore::XMLTokenizer::startElementNs):
2201         (WebCore::XMLTokenizer::processingInstruction):
2202         (WebCore::):
2203         * html/HTMLElementFactory.cpp:
2204         (WebCore::linkConstructor):
2205         * html/HTMLLinkElement.cpp:
2206         (WebCore::HTMLLinkElement::HTMLLinkElement):
2207         (WebCore::HTMLLinkElement::insertedIntoDocument):
2208         (WebCore::HTMLLinkElement::removedFromDocument):
2209         (WebCore::HTMLLinkElement::finishParsingChildren):
2210         * html/HTMLLinkElement.h:
2211         (WebCore::HTMLLinkElement::setCreatedByParser):
2212         * html/HTMLStyleElement.cpp:
2213         (WebCore::HTMLStyleElement::insertedIntoDocument):
2214         (WebCore::HTMLStyleElement::removedFromDocument):
2215         * svg/SVGStyleElement.cpp:
2216         (WebCore::SVGStyleElement::insertedIntoDocument):
2217         (WebCore::SVGStyleElement::removedFromDocument):
2218
2219 2008-07-14  Sam Weinig  <sam@webkit.org>
2220
2221         Reviewed by Mark Rowe.
2222
2223         Sort interface extended attributes to appease *the* Mark Rowe.
2224
2225         * page/DOMWindow.idl:
2226
2227 2008-07-14  Anders Carlsson  <andersca@apple.com>
2228
2229         Reviewed by Geoff.
2230
2231         <rdar://problem/6073974>
2232         https://bugs.webkit.org/show_bug.cgi?id=18106
2233         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
2234
2235         Don't bubble the scroll event.
2236         
2237         * rendering/RenderLayer.cpp:
2238         (WebCore::RenderLayer::scrollToOffset):
2239         * rendering/RenderListBox.cpp:
2240         (WebCore::RenderListBox::valueChanged):
2241
2242 2008-07-14  Adele Peterson  <adele@apple.com>
2243
2244         Reviewed by Geoff.
2245
2246         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
2247
2248         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
2249         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
2250         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
2251         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
2252         is being deprecated in favor of "application/xml".  We decided that the best solution is 
2253         to match Firefox 3 and stop sending "text/xml" in the Accept header.
2254
2255         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
2256
2257         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
2258
2259 2008-07-14  Sam Weinig  <sam@webkit.org>
2260
2261         Reviewed by Adele Peterson.
2262
2263         Fix for <rdar://problem/5769819>
2264
2265         Test: http/tests/security/cross-frame-access-object-prototype.html
2266
2267         * bindings/js/JSDOMWindowCustom.cpp:
2268         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
2269         (WebCore::JSDOMWindow::defineGetter): Ditto.
2270         (WebCore::JSDOMWindow::defineSetter): Ditto.
2271         (WebCore::JSDOMWindow::lookupGetter): Ditto.
2272         (WebCore::JSDOMWindow::lookupSetter): Ditto.
2273         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
2274         of all the core JSObject functionality.
2275         * page/DOMWindow.idl: Override remaining core JSObject functionality,
2276         to inject security checks.
2277
2278 2008-07-14  Adam Roben  <aroben@apple.com>
2279
2280         Windows build fixes
2281
2282         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
2283         path.
2284         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
2285         bindings to regenerate.
2286         * loader/FTPDirectoryDocument.cpp:
2287         * loader/FTPDirectoryParser.cpp:
2288         Fixed some duplicate macro definitions now that we're including
2289         pthread.h again.
2290
2291 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2292
2293         Reviewed by Kevin McCullough.
2294
2295         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
2296         global data.
2297
2298         * bindings/js/JSDOMWindowBase.cpp:
2299         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
2300
2301 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
2302
2303         Reviewed by Holger.
2304
2305         Make listDirectory() in the Qt port work with empty namefilters.
2306         Don't include . and .. to avoid scanning the parent directory.
2307
2308         * platform/qt/FileSystemQt.cpp:
2309         (WebCore::listDirectory):
2310
2311 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2312
2313         Reviewed by Geoff Garen.
2314
2315         Eliminate per-thread JavaScript global data instance support and make arbitrary
2316         global data/global object combinations possible.
2317
2318         * bindings/js/JSDOMWindowBase.h:
2319         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
2320         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
2321
2322         * bindings/js/JSDOMWindowShell.cpp:
2323         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2324         (WebCore::JSDOMWindowShell::operator new):
2325         * bindings/js/ScriptController.cpp:
2326         (WebCore::ScriptController::clear):
2327         * bindings/scripts/CodeGeneratorJS.pm:
2328         Pass commonJSGlobalData() as an allocator.
2329
2330         * bridge/c/c_utility.cpp:
2331         (KJS::Bindings::identifierFromNPIdentifier):
2332         * bridge/jni/jni_class.cpp:
2333         (JavaClass::JavaClass):
2334         * history/CachedPage.cpp:
2335         (WebCore::CachedPage::restore):
2336         * storage/Database.cpp:
2337         (WebCore::Database::Database):
2338         * bindings/js/GCController.cpp:
2339         (WebCore::collect):
2340         (WebCore::GCController::gcTimerFired):
2341         (WebCore::GCController::garbageCollectNow):
2342         Use JSDOMWindow::commonJSGlobalData().
2343
2344         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
2345         it need to be accesible outside of JSC).
2346
2347         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
2348
2349 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2350
2351         Reviewed by Simon.
2352
2353         MinGW build fixes
2354
2355         * plugins/win/PluginDatabaseWin.cpp:
2356         * plugins/win/PluginViewWin.cpp:
2357         (WebCore::PluginView::handleKeyboardEvent):
2358         (WebCore::PluginView::handleMouseEvent):
2359         * svg/SynchronizableTypeWrapper.h:
2360         (WebCore::::SynchronizableTypeWrapper):
2361
2362 2008-07-13  Sam Weinig  <sam@webkit.org>
2363
2364         Reviewed by Oliver Hunt and Dan Bernstein.
2365
2366         Fix for <rdar://problem/5888127>
2367         https://bugs.webkit.org/show_bug.cgi?id=18699
2368
2369         - Match Firefox in restricting the size of custom cursor to images to
2370           128x128 px.
2371         - Restrict custom cursor hotspots to values within the bounds of the
2372           cursor image.
2373
2374         * manual-tests/cursor-max-size.html: Added.
2375         * page/EventHandler.cpp:
2376         (WebCore::EventHandler::selectCursor):
2377
2378 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
2379
2380         wx build fix.
2381
2382         * platform/graphics/wx/AffineTransformWx.cpp:
2383         (WebCore::AffineTransform::a):
2384         (WebCore::AffineTransform::b):
2385         (WebCore::AffineTransform::c):
2386         (WebCore::AffineTransform::d):
2387         (WebCore::AffineTransform::e):
2388         (WebCore::AffineTransform::f):
2389
2390 2008-07-12  Dan Bernstein  <mitz@apple.com>
2391
2392         Reviewed by Oliver Hunt.
2393
2394         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
2395           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
2396
2397         Test: fast/block/basic/min-pref-width-nowrap-floats.html
2398
2399         * rendering/RenderBlock.cpp:
2400         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
2401         float's width was added to the minimum preferred widths instead of just
2402         acting as a lower bound on the minimum preferred width (since the float
2403         can always be pushed down to be the only thing on the line).
2404
2405 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
2406
2407         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
2408
2409         <https://bugs.webkit.org/show_bug.cgi?id=13067>
2410
2411         Reviewed by Darin.
2412
2413         Test: WebCore/manual-tests/hash-ref.html
2414
2415         * loader/FrameLoader.cpp:
2416         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
2417              FrameLoadType newLoadType, const String& frameName, Event* event,
2418              PassRefPtr<FormState> formState)): Extracted logic into
2419         shouldScrollToAnchor() for determining when to scroll to an anchor.
2420
2421         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
2422              PassRefPtr<FormState> formState)): Added check for
2423         shouldScrollToAnchor() to catch cases when the user manually added a
2424         hash ref to the URL in the address bar.  This is the bug fix.
2425
2426         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
2427         We only need to check if the destinationURL has a hash ref, not the
2428         currentURL, per the comment in the method.
2429
2430         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
2431         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
2432         of arguments to shouldReload() since they were backwards, although the
2433         previous logic in the method made this irrelevant.
2434
2435         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
2436         we're navigating to a HistoryItem, it doesn't make sense to ask whether
2437         we need to reload the page or not.  Additionally, the logic at the end
2438         of shouldReload() is also checked in urlsMatchItem(), so there's no need
2439         to call the method.  This fixed the fast/css/target-fragment-match.html
2440         test from continuously reloading after the other changes.
2441
2442         * loader/FrameLoader.h:
2443         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
2444
2445         * manual-tests/hash-ref.html: Added.
2446         * manual-tests/resources/hash-ref-test.html: Added.
2447
2448 2008-07-11  Stephanie Lewis  <slewis@apple.com>
2449
2450         Reviewed by Darin Adler.
2451
2452         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
2453
2454         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2455         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2456         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
2457         * bindings/js/JSEventListener.cpp:
2458         (WebCore::JSEventListener::JSEventListener):
2459         (WebCore::JSEventListener::~JSEventListener):
2460         * dom/Node.cpp:
2461         (WebCore::Node::Node):
2462         (WebCore::Node::~Node):
2463         * dom/Range.cpp:
2464         (WebCore::Range::Range):
2465         (WebCore::Range::~Range):
2466         * history/CachedPage.cpp:
2467         (WebCore::CachedPage::CachedPage):
2468         (WebCore::CachedPage::~CachedPage):
2469         * loader/SubresourceLoader.cpp:
2470         (WebCore::SubresourceLoader::SubresourceLoader):
2471         (WebCore::SubresourceLoader::~SubresourceLoader):
2472         * page/Frame.cpp:
2473         (WebCore::Frame::Frame):
2474         (WebCore::Frame::~Frame):
2475         * page/Page.cpp:
2476         (WebCore::Page::Page):
2477         (WebCore::Page::~Page):
2478         * rendering/RenderObject.cpp:
2479         (WebCore::RenderObject::RenderObject):
2480         (WebCore::RenderObject::~RenderObject):
2481         * rendering/bidi.cpp:
2482         (WebCore::throw):
2483         (WebCore::BidiRun::operator delete):
2484
2485 2008-07-11  Sam Weinig  <sam@webkit.org>
2486
2487         Reviewed by Mark Rowe.
2488
2489         Update getSubStringLength and selectSubString methods exception throwing conditions
2490         based on SVG working group errata.
2491
2492         Test: svg/custom/selectSubString.html
2493
2494         * svg/SVGTextContentElement.cpp:
2495         (WebCore::SVGTextContentElement::getSubStringLength):
2496         (WebCore::SVGTextContentElement::selectSubString):
2497
2498 2008-07-11  Sam Weinig  <sam@webkit.org>
2499
2500         Reviewed by Mark Rowe.
2501
2502         We can only use the Id fast path for querySelector and querySelectorAll
2503         if the selector is purely an Id selector.
2504
2505         Test: fast/dom/SelectorAPI/id-fastpath.html
2506
2507         * dom/Node.cpp:
2508         (WebCore::Node::querySelector):
2509         * dom/SelectorNodeList.cpp:
2510         (WebCore::createSelectorNodeList):
2511
2512 2008-07-11  David Hyatt  <hyatt@apple.com>
2513
2514         Implement the DOM level 3 compareDocumentPosition method on Node.
2515
2516         Reviewed by Darin
2517
2518         * dom/Node.cpp:
2519         (WebCore::Node::compareDocumentPosition):
2520         * dom/Node.h:
2521         * dom/Node.idl:
2522
2523 2008-07-11  Brady Eidson  <beidson@apple.com>
2524
2525         Rubberstamped by Sam
2526
2527         Removed unneeded export
2528
2529         * WebCore.base.exp:
2530
2531 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
2532
2533         Reviewed by Geoff.
2534
2535         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
2536         now profiles inspector rather than actual page (19833)
2537         - The JSQuarantinedObjectWrapper should use the wrapped exec state
2538         so that calls to it execute in its quarantined world.
2539
2540         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2541         (WebCore::JSQuarantinedObjectWrapper::construct):
2542         (WebCore::JSQuarantinedObjectWrapper::call):
2543
2544 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
2545
2546         Reviewed by Dave Hyatt
2547
2548         StyleRareNonInheritedData needs to initialize and compare
2549         m_maskBoxImage.
2550         <https://bugs.webkit.org/show_bug.cgi?id=20005>
2551
2552         * rendering/style/RenderStyle.cpp:
2553         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2554         (WebCore::StyleRareNonInheritedData::operator==):
2555
2556 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
2557
2558         Reviewed by Dave Hyatt
2559
2560         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
2561         look for transforms, since transforms create containing
2562         blocks.
2563         <https://bugs.webkit.org/show_bug.cgi?id=18885>
2564
2565         Test: fast/transforms/transform-positioned-ancestor.html
2566
2567         * rendering/RenderLayer.cpp:
2568         (WebCore::RenderLayer::stackingContext):
2569         (WebCore::RenderLayer::enclosingPositionedAncestor):
2570         (WebCore::RenderLayer::enclosingTransformedAncestor):
2571
2572 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
2573
2574         Reviewed by Darin Adler
2575
2576         http://bugs.webkit.org/show_bug.cgi?id=19978
2577         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
2578
2579         - Optimized KURL::removeRef() and used it rather than setRef("")
2580           which after r35040 does the wrong thing.
2581
2582         * platform/KURL.cpp:
2583         (WebCore::KURL::removeRef):
2584         * platform/network/curl/ResourceHandleManager.cpp:
2585         (WebCore::ResourceHandleManager::initializeHandle):
2586
2587 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
2588
2589         Fix the Qt/Windows build, include windows.h for HWND directly
2590         instead of implicit inclusion through Timer.h.
2591
2592         * plugins/win/PluginMessageThrottlerWin.h:
2593
2594 2008-07-11  Dan Bernstein  <mitz@apple.com>
2595
2596         Reviewed by Darin Adler.
2597
2598         - fix popularity tracking for cached resources, which regressed in r23923
2599
2600         * loader/Cache.cpp:
2601         (WebCore::Cache::requestResource): Changed to increase the access count
2602         whenever this function returns a CachedResource and the cache is
2603         enabled, instead of only when creating a new CachedResources. The
2604         incorrect behavior resulted in all resources in the cache having an
2605         access count of exactly 1 at all times.
2606         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
2607
2608 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2609
2610         Reviewed by Simon.
2611
2612         Enable Netscape plugins for the Qt/Windows build.
2613
2614         This required various smaller fixes across a wider set of
2615         files described below.
2616
2617         * WebCore.pro: Add various windows specific files to the build.
2618         * page/Page.h: Extend the #ifdeffery for windows types to include the
2619         Qt/Windows build.
2620         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
2621         the Qt port, as PluginViewWin.cpp uses it.
2622         * platform/graphics/qt/GraphicsContextQt.cpp:
2623         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
2624         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
2625         are now implemented through *Win.cpp files.
2626         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
2627         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
2628         (WebCore::PluginView::setFrameGeometry): Ditto.
2629         (WebCore::PluginView::PluginView): Ditto.
2630         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
2631         which expands to HWND directly for the Qt/Windows build and
2632         PlatformWidget for the remaining platforms. That is because
2633         PlatformWidget is QWidget* for the Qt build but for the plugin
2634         window we need a native window, aka HWND.
2635         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
2636         after config.h.
2637         * plugins/win/PluginViewWin.cpp:
2638         (windowHandleForPlatformWidget): Added a little helper function to
2639         determine the HWND from a PlatformWidget.
2640         (WebCore::registerPluginView): For the Qt port we need to set the
2641         global application instance handle here in the library, as the
2642         browser doesn't do it.
2643         (WebCore::PluginView::handleMouseEvent): Mask out
2644         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
2645         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
2646         manually just here to avoid compiling in IntRectWin.cpp.
2647         (WebCore::PluginView::invalidateRegion): Ditto.
2648         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
2649         on containingWindow() to get the correct HWND for the Qt port.
2650         (WebCore::PluginView::init): Determine the parent HWND for m_window
2651         using windowHandleForPlatformWidget.
2652
2653 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
2654
2655         Rubber-stamped by Holger.
2656
2657         Enable Database and Icondatabase functionality for the Qt/Windows
2658         build when building inside Qt, as we can use the builtin copy of
2659         sqlite then.
2660
2661         * WebCore.pro:
2662
2663 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2664
2665         Reviewed by Adam Roben.
2666
2667         Fix compile with MinGW since it does not like friend static function.
2668
2669         * plugins/PluginView.h:
2670         * plugins/win/PluginViewWin.cpp:
2671
2672 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2673
2674         Reviewed by Simon.
2675
2676         Fix Qt/Win32 build.
2677
2678         * platform/graphics/qt/GraphicsContextQt.cpp:
2679
2680 2008-07-10  Sam Weinig  <sam@webkit.org>
2681
2682         Reviewed by Oliver Hunt.
2683
2684         Add support for NSResolver to resolve namespaces for querySelector 
2685         and querySelectorAll.
2686
2687         - Namespace resolution is done after parsing by iterating over all the
2688           parts of the CSSSelector.
2689
2690         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
2691                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
2692
2693         * GNUmakefile.am: Updated with new files.
2694         * WebCore.pro: Ditto.
2695         * WebCore.vcproj/WebCore.vcproj: Ditto.
2696         * WebCore.xcodeproj/project.pbxproj: Ditto.
2697         * WebCoreSources.bkl: Ditto.
2698
2699         * bindings/js/JSDOMBinding.cpp:
2700         (WebCore::execStateFromNode):
2701         * bindings/js/JSDOMBinding.h:
2702         Move execStateFromNode here from NodeFilter.
2703
2704         * bindings/js/JSDocumentCustom.cpp:
2705         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
2706         and instead create one if the argument is not undefined or null.
2707         (WebCore::JSDocument::querySelectorAll): Ditto.
2708         * bindings/js/JSDocumentFragmentCustom.cpp:
2709         (WebCore::JSDocumentFragment::querySelector): Ditto.
2710         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2711         * bindings/js/JSElementCustom.cpp:
2712         (WebCore::JSElement::querySelector): Ditto.
2713         (WebCore::JSElement::querySelectorAll): Ditto.
2714
2715         * bindings/js/JSNSResolver.cpp: Added.
2716         (WebCore::JSNSResolver::JSNSResolver):
2717         (WebCore::JSNSResolver::mark):
2718         (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
2719         from the passed in argument, either the value itself, or the result of
2720         getting the lookupNamespaceURI property, and call it.
2721         (WebCore::toNSResolver):
2722         * bindings/js/JSNSResolver.h: Added.
2723         (WebCore::JSNSResolver::create):
2724
2725         * dom/Document.idl: Update with NSResolver parameter.
2726         * dom/DocumentFragment.idl: Ditto.
2727         * dom/Element.idl: Ditto.
2728
2729         * dom/NSResolver.h: Added.
2730         (WebCore::NSResolver::~NSResolver):
2731         (WebCore::NSResolver::mark):
2732         Abstract base class.
2733
2734         * dom/NSResolver.idl: Added.
2735
2736         * dom/Node.cpp:
2737         (WebCore::forEachTagSelector):
2738         (WebCore::forEachSelector):
2739         Functions to iterate over all parts of the selector.
2740
2741         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2742         Functor to be passed to forEachSelector to determine if a selector
2743         needs namespace resolution, for the case when no NSResolver is passed
2744         and we need to determine whether to throw a NAMESPACE_ERR.
2745
2746         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2747         (WebCore::ResolveNamespaceFunctor::operator()):
2748         Functor to resolve namespaces for the selector.
2749
2750         (WebCore::selectorNeedsNamespaceResolution):
2751         (WebCore::resolveNamespacesForSelector):
2752         (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
2753         if a NSResolver is passed in.
2754         (WebCore::Node::querySelectorAll): Ditto.
2755         * dom/Node.h:
2756
2757         * dom/NodeFilter.cpp:
2758         * dom/NodeFilter.h:
2759         * dom/NodeIterator.h:
2760         (WebCore::NodeIterator::nextNode):
2761         (WebCore::NodeIterator::previousNode):
2762         * dom/TreeWalker.h:
2763         (WebCore::TreeWalker::parentNode):
2764         (WebCore::TreeWalker::firstChild):
2765         (WebCore::TreeWalker::lastChild):
2766         (WebCore::TreeWalker::previousSibling):
2767         (WebCore::TreeWalker::nextSibling):
2768         (WebCore::TreeWalker::previousNode):
2769         (WebCore::TreeWalker::nextNode):
2770         Use the version of execStateFromNode in JSDOMBinding.
2771
2772 2008-07-10  Mark Rowe  <mrowe@apple.com>
2773
2774         Reviewed by Sam Weinig.
2775
2776         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2777
2778         * Configurations/WebCore.xcconfig:
2779
2780 2008-07-10  Dean Jackson  <dino@apple.com>
2781
2782         Reviewed by hyatt.
2783
2784         Calculate computed style for -webkit-transform property
2785         https://bugs.webkit.org/show_bug.cgi?id=19864
2786
2787         Test: css3/transform-computed-style-001.html
2788
2789         * css/CSSComputedStyleDeclaration.cpp:
2790         (WebCore::computedTransform):
2791         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2792             handles -webkit-transform property now
2793         * manual-tests/computed-transform-value.html: Added.
2794
2795 2008-07-10  Dan Bernstein  <mitz@apple.com>
2796
2797         Reviewed by Adam Roben.
2798
2799         - fix a parse error in inspector.js
2800
2801         * page/inspector/inspector.js: Added missing brace.
2802
2803 2008-07-10  Adam Roben  <aroben@apple.com>
2804
2805         Build fix
2806
2807         * WebCore.vcproj/QTMovieWin.vcproj: Add
2808         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2809
2810 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
2811
2812         Reviewed by Dan Bernstein
2813
2814         <rdar://problem/6067408> AX: internal anchors broken
2815
2816         * page/AccessibilityRenderObject.cpp:
2817         (WebCore::AccessibilityRenderObject::internalLinkElement):
2818         * platform/KURL.cpp:
2819         (WebCore::KURL::removeRef):
2820         * platform/KURL.h:
2821
2822 2008-07-10  Mark Rowe  <mrowe@apple.com>
2823
2824         Build fix.
2825
2826         * bridge/npapi.h: Remove extra comma.
2827
2828 2008-07-10  Sam Weinig  <sam@webkit.org>
2829
2830         Reviewed by Mark Rowe.
2831
2832         Remove no-op debug method.
2833
2834         * css/CSSSelector.cpp:
2835         * css/CSSSelector.h:
2836
2837 2008-07-10  Sam Weinig  <sam@webkit.org>
2838
2839         Reviewed by Dave Hyatt and Darin Adler.
2840
2841         Add support for calling querySelector and querySelectorAll on DocumentFragments
2842
2843         - Fixes bug where nodes not in the document tree would not match based on ID due
2844           to over optimization.
2845
2846         Test: fast/dom/SelectorAPI/detached-element.html
2847
2848         * GNUmakefile.am:
2849         * WebCore.pro:
2850         * WebCore.vcproj/WebCore.vcproj:
2851         * WebCore.xcodeproj/project.pbxproj:
2852         * WebCoreSources.bkl:
2853         * bindings/js/JSDocumentFragmentCustom.cpp: Added.
2854         (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
2855         and JSDocument that checks for a 2nd arguments and throws an exception indicating
2856         we do not currently support the optional NSResolver part of the Selectors API spec.
2857         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2858         * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
2859
2860         * dom/Node.cpp:
2861         (WebCore::Node::querySelector): Make the CSS parser parse the selector
2862         according to the strictness of the document so that mixed case ID selectors
2863         match in quirks mode.  Also, don't use the fast ID path if the root is not
2864         in the DOM tree, as it won't work.
2865         (WebCore::Node::querySelectorAll): Ditto.
2866         * dom/SelectorNodeList.cpp:
2867         (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
2868         in the DOM tree, as it won't work.
2869
2870 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
2871
2872         Bug 19389: querySelectorAll exception while searching invalid CSS selector
2873         <https://bugs.webkit.org/show_bug.cgi?id=19389>
2874
2875         Reviewed by Tim Hatcher.
2876
2877         * page/inspector/inspector.js: Added a try/catch block.
2878
2879 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
2880
2881         Correct a build regression due to an uninitialized variable.
2882
2883         <https://bugs.webkit.org/show_bug.cgi?id=19976>
2884
2885         Reviewed by Darin.
2886
2887         * platform/graphics/cairo/FontCairo.cpp:
2888         (WebCore::Font::drawGlyphs):
2889
2890 2008-07-10  Adam Roben  <aroben@apple.com>
2891
2892         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2893         HTMLCollection::resetCollectionInfo (codegen issue?)
2894
2895         <https://bugs.webkit.org/show_bug.cgi?id=19580>
2896         <rdar://6029794>
2897
2898         Reviewed by Cameron Zwarich.
2899
2900         * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
2901         which was causing some bad codegen in HTMLFormElement::elements.
2902         * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
2903
2904 2008-07-10  Anders Carlsson  <andersca@apple.com>
2905
2906         Reviewed by Jon.
2907
2908         <rdar://problem/6067135>
2909         WebKit should respond true to a query for NPNVSupportsWindowless.
2910         
2911         Handle NPNVSupportsWindowless and return true.
2912         
2913         * bridge/npapi.h:
2914         * plugins/win/PluginViewWin.cpp:
2915         (WebCore::PluginView::getValue):
2916
2917 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
2918
2919         Reviewed by Darin.
2920
2921         -Minor cleanup. Renamed callTree() to head() and no longer use m_head
2922         directly but instead keep it private and access via a method().
2923
2924         * page/JavaScriptProfile.cpp:
2925         (WebCore::getHeadCallback):
2926
2927 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2928
2929         When a mask image changes, ensure that elements
2930         that use that mask image are repainted correctly.
2931         
2932         <https://bugs.webkit.org/show_bug.cgi?id=19954>
2933         
2934         Reviewed by Dave Hyatt
2935
2936         * manual-tests/canvas-mask-redraw.html
2937           Manual testcase
2938         * rendering/RenderBox.cpp:
2939         (WebCore::RenderBox::imageChanged):
2940         (WebCore::RenderBox::repaintLayerRectsForImage):
2941         * rendering/RenderBox.h:
2942         Loop through background layers and mask layers, and
2943         if this image is used in a layer, compute a repaint
2944         rect and repaint.
2945         * rendering/RenderImage.cpp:
2946         (WebCore::RenderImage::imageChanged):
2947         If this image has a mask, call the base class method.
2948         * rendering/RenderObject.cpp:
2949         Remove a bogus 'return'.
2950
2951 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2952
2953         Transforms create a containing block, so
2954         RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
2955         <https://bugs.webkit.org/show_bug.cgi?id=18886>
2956         
2957         Reviewed by Dave Hyatt
2958
2959         Test: fast/transforms/transform-overflow.html
2960
2961         * rendering/RenderLayer.cpp:
2962         (WebCore::RenderLayer::shouldBeOverflowOnly):
2963
2964 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
2965
2966         Reviewed by Oliver Hunt.
2967
2968         bug 19835: WebKit needs cross-platform filter system
2969         <https://bugs.webkit.org/show_bug.cgi?id=19835>
2970
2971         More class refactoring in preparation for cross-platform filter 
2972         implementation.
2973
2974         * WebCore.xcodeproj/project.pbxproj:
2975         * rendering/SVGRenderTreeAsText.h:
2976         (WebCore::operator<<):
2977         * svg/FilterEffect.cpp:
2978         (WebCore::FilterEffect::externalRepresentation):
2979         * svg/FilterEffect.h:
2980         * svg/SVGFEBlendElement.cpp:
2981         (WebCore::SVGFEBlendElement::build):
2982         * svg/SVGFEBlendElement.h:
2983         * svg/SVGFEColorMatrixElement.cpp:
2984         (WebCore::SVGFEColorMatrixElement::build):
2985         * svg/SVGFEColorMatrixElement.h:
2986         * svg/SVGFEComponentTransferElement.cpp:
2987         (WebCore::SVGFEComponentTransferElement::build):
2988         * svg/SVGFEComponentTransferElement.h:
2989         * svg/SVGFECompositeElement.cpp:
2990         (WebCore::SVGFECompositeElement::build):
2991         * svg/SVGFECompositeElement.h:
2992         * svg/SVGFEDiffuseLightingElement.cpp:
2993         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2994         (WebCore::SVGFEDiffuseLightingElement::build):
2995         (WebCore::SVGFEDiffuseLightingElement::findLights):
2996         * svg/SVGFEDiffuseLightingElement.h:
2997         * svg/SVGFEDisplacementMapElement.cpp:
2998         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2999         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
3000         (WebCore::SVGFEDisplacementMapElement::filterEffect):
3001         (WebCore::SVGFEDisplacementMapElement::build):
3002         * svg/SVGFEDisplacementMapElement.h:
3003         * svg/SVGFEFloodElement.cpp:
3004         (WebCore::SVGFEFloodElement::filterEffect):
3005         (WebCore::SVGFEFloodElement::build):
3006         * svg/SVGFEFloodElement.h:
3007         (WebCore::SVGFEFloodElement::contextElement):
3008         * svg/SVGFEGaussianBlurElement.cpp:
3009         (WebCore::SVGFEGaussianBlurElement::filterEffect):
3010         (WebCore::SVGFEGaussianBlurElement::build):
3011         * svg/SVGFEGaussianBlurElement.h:
3012         * svg/SVGFEImageElement.cpp:
3013         (WebCore::SVGFEImageElement::filterEffect):
3014         (WebCore::SVGFEImageElement::build):
3015         * svg/SVGFEImageElement.h:
3016         * svg/SVGFEMergeElement.cpp:
3017         (WebCore::SVGFEMergeElement::filterEffect):
3018         (WebCore::SVGFEMergeElement::build):
3019         * svg/SVGFEMergeElement.h:
3020         (WebCore::SVGFEMergeElement::contextElement):
3021         * svg/SVGFEOffsetElement.cpp:
3022         (WebCore::SVGFEOffsetElement::filterEffect):
3023         (WebCore::SVGFEOffsetElement::build):
3024         * svg/SVGFEOffsetElement.h:
3025         * svg/SVGFESpecularLightingElement.cpp:
3026         (WebCore::SVGFESpecularLightingElement::filterEffect):
3027         (WebCore::SVGFESpecularLightingElement::findLights):
3028         (WebCore::SVGFESpecularLightingElement::build):
3029         * svg/SVGFESpecularLightingElement.h:
3030         * svg/SVGFETileElement.cpp:
3031         (WebCore::SVGFETileElement::filterEffect):
3032         (WebCore::SVGFETileElement::build):
3033         * svg/SVGFETileElement.h:
3034         * svg/SVGFETurbulenceElement.cpp:
3035         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3036         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
3037         (WebCore::SVGFETurbulenceElement::filterEffect):
3038         (WebCore::SVGFETurbulenceElement::build):
3039         * svg/SVGFETurbulenceElement.h:
3040         * svg/SVGFilterPrimitiveStandardAttributes.h:
3041         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3042         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
3043         (WebCore::FEConvolveMatrix::create):
3044         (WebCore::FEConvolveMatrix::kernelSize):
3045         (WebCore::FEConvolveMatrix::setKernelSize):
3046         (WebCore::FEConvolveMatrix::kernel):
3047         (WebCore::FEConvolveMatrix::setKernel):
3048         (WebCore::FEConvolveMatrix::divisor):
3049         (WebCore::FEConvolveMatrix::setDivisor):
3050         (WebCore::FEConvolveMatrix::bias):
3051         (WebCore::FEConvolveMatrix::setBias):
3052         (WebCore::FEConvolveMatrix::targetOffset):
3053         (WebCore::FEConvolveMatrix::setTargetOffset):
3054         (WebCore::FEConvolveMatrix::edgeMode):
3055         (WebCore::FEConvolveMatrix::setEdgeMode):
3056         (WebCore::FEConvolveMatrix::kernelUnitLength):
3057         (WebCore::FEConvolveMatrix::setKernelUnitLength):
3058         (WebCore::FEConvolveMatrix::preserveAlpha):
3059         (WebCore::FEConvolveMatrix::setPreserveAlpha):
3060         (WebCore::FEConvolveMatrix::apply):
3061         (WebCore::FEConvolveMatrix::dump):
3062         (WebCore::operator<<):
3063         (WebCore::FEConvolveMatrix::externalRepresentation):
3064         * svg/graphics/filters/SVGFEConvolveMatrix.h:
3065         (WebCore::):
3066         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3067         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
3068         (WebCore::FEDiffuseLighting::create):
3069         (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
3070         (WebCore::FEDiffuseLighting::lightingColor):
3071         (WebCore::FEDiffuseLighting::setLightingColor):
3072         (WebCore::FEDiffuseLighting::surfaceScale):
3073         (WebCore::FEDiffuseLighting::setSurfaceScale):
3074         (WebCore::FEDiffuseLighting::diffuseConstant):
3075         (WebCore::FEDiffuseLighting::setDiffuseConstant):
3076         (WebCore::FEDiffuseLighting::kernelUnitLengthX):
3077         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3078         (WebCore::FEDiffuseLighting::kernelUnitLengthY):
3079         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3080         (WebCore::FEDiffuseLighting::lightSource):
3081         (WebCore::FEDiffuseLighting::setLightSource):
3082         (WebCore::FEDiffuseLighting::apply):
3083         (WebCore::FEDiffuseLighting::dump):
3084         (WebCore::FEDiffuseLighting::externalRepresentation):
3085         * svg/graphics/filters/SVGFEDiffuseLighting.h:
3086         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3087         (WebCore::FEDisplacementMap::FEDisplacementMap):
3088         (WebCore::FEDisplacementMap::create):
3089         (WebCore::FEDisplacementMap::xChannelSelector):
3090         (WebCore::FEDisplacementMap::setXChannelSelector):
3091         (WebCore::FEDisplacementMap::yChannelSelector):
3092         (WebCore::FEDisplacementMap::setYChannelSelector):
3093         (WebCore::FEDisplacementMap::scale):
3094         (WebCore::FEDisplacementMap::setScale):
3095         (WebCore::FEDisplacementMap::apply):
3096         (WebCore::FEDisplacementMap::dump):
3097         (WebCore::operator<<):
3098         (WebCore::FEDisplacementMap::externalRepresentation):
3099         * svg/graphics/filters/SVGFEDisplacementMap.h:
3100         (WebCore::):
3101         * svg/graphics/filters/SVGFEFlood.cpp:
3102         (WebCore::FEFlood::FEFlood):
3103         (WebCore::FEFlood::create):
3104         (WebCore::FEFlood::floodColor):
3105         (WebCore::FEFlood::setFloodColor):
3106         (WebCore::FEFlood::floodOpacity):
3107         (WebCore::FEFlood::setFloodOpacity):
3108         (WebCore::FEFlood::apply):
3109         (WebCore::FEFlood::dump):
3110         (WebCore::FEFlood::externalRepresentation):
3111         * svg/graphics/filters/SVGFEFlood.h:
3112         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3113         (WebCore::FEGaussianBlur::FEGaussianBlur):
3114         (WebCore::FEGaussianBlur::create):
3115         (WebCore::FEGaussianBlur::stdDeviationX):
3116         (WebCore::FEGaussianBlur::setStdDeviationX):
3117         (WebCore::FEGaussianBlur::stdDeviationY):
3118         (WebCore::FEGaussianBlur::setStdDeviationY):
3119         (WebCore::FEGaussianBlur::apply):
3120         (WebCore::FEGaussianBlur::dump):
3121         (WebCore::FEGaussianBlur::externalRepresentation):
3122         * svg/graphics/filters/SVGFEGaussianBlur.h:
3123         * svg/graphics/filters/SVGFEImage.cpp:
3124         (WebCore::FEImage::FEImage):
3125         (WebCore::FEImage::create):
3126         (WebCore::FEImage::~FEImage):
3127         (WebCore::FEImage::cachedImage):
3128         (WebCore::FEImage::apply):
3129         (WebCore::FEImage::dump):
3130         (WebCore::FEImage::externalRepresentation):
3131         * svg/graphics/filters/SVGFEImage.h:
3132         * svg/graphics/filters/SVGFEMerge.cpp:
3133         (WebCore::FEMerge::FEMerge):
3134         (WebCore::FEMerge::create):
3135         (WebCore::FEMerge::mergeInputs):
3136         (WebCore::FEMerge::setMergeInputs):
3137         (WebCore::FEMerge::apply):
3138         (WebCore::FEMerge::dump):
3139         (WebCore::FEMerge::externalRepresentation):
3140         * svg/graphics/filters/SVGFEMerge.h:
3141         * svg/graphics/filters/SVGFEMorphology.cpp:
3142         (WebCore::FEMorphology::FEMorphology):
3143         (WebCore::FEMorphology::create):
3144         (WebCore::FEMorphology::morphologyOperator):
3145         (WebCore::FEMorphology::setMorphologyOperator):
3146         (WebCore::FEMorphology::radiusX):
3147         (WebCore::FEMorphology::setRadiusX):
3148         (WebCore::FEMorphology::radiusY):
3149         (WebCore::FEMorphology::setRadiusY):
3150         (WebCore::FEMorphology::apply):
3151         (WebCore::FEMorphology::dump):
3152         (WebCore::operator<<):
3153         (WebCore::FEMorphology::externalRepresentation):
3154         * svg/graphics/filters/SVGFEMorphology.h:
3155         (WebCore::):
3156         * svg/graphics/filters/SVGFEOffset.cpp:
3157         (WebCore::FEOffset::FEOffset):
3158         (WebCore::FEOffset::create):
3159         (WebCore::FEOffset::dx):
3160         (WebCore::FEOffset::setDx):
3161         (WebCore::FEOffset::dy):
3162         (WebCore::FEOffset::setDy):
3163         (WebCore::FEOffset::apply):
3164         (WebCore::FEOffset::dump):
3165         (WebCore::FEOffset::externalRepresentation):
3166         * svg/graphics/filters/SVGFEOffset.h:
3167         * svg/graphics/filters/SVGFESpecularLighting.cpp:
3168         (WebCore::FESpecularLighting::FESpecularLighting):
3169         (WebCore::FESpecularLighting::create):
3170         (WebCore::FESpecularLighting::~FESpecularLighting):
3171         (WebCore::FESpecularLighting::lightingColor):
3172         (WebCore::FESpecularLighting::setLightingColor):
3173         (WebCore::FESpecularLighting::surfaceScale):
3174         (WebCore::FESpecularLighting::setSurfaceScale):
3175         (WebCore::FESpecularLighting::specularConstant):
3176         (WebCore::FESpecularLighting::setSpecularConstant):
3177         (WebCore::FESpecularLighting::specularExponent):
3178         (WebCore::FESpecularLighting::setSpecularExponent):
3179         (WebCore::FESpecularLighting::kernelUnitLengthX):
3180         (WebCore::FESpecularLighting::setKernelUnitLengthX):
3181         (WebCore::FESpecularLighting::kernelUnitLengthY):
3182         (WebCore::FESpecularLighting::setKernelUnitLengthY):
3183         (WebCore::FESpecularLighting::lightSource):
3184         (WebCore::FESpecularLighting::setLightSource):
3185         (WebCore::FESpecularLighting::apply):
3186         (WebCore::FESpecularLighting::dump):
3187         (WebCore::FESpecularLighting::externalRepresentation):
3188         * svg/graphics/filters/SVGFESpecularLighting.h:
3189         * svg/graphics/filters/SVGFETile.cpp:
3190         (WebCore::FETile::FETile):
3191         (WebCore::FETile::create):
3192         (WebCore::FETile::apply):
3193         (WebCore::FETile::dump):
3194         (WebCore::FETile::externalRepresentation):
3195         * svg/graphics/filters/SVGFETile.h:
3196         * svg/graphics/filters/SVGFETurbulence.cpp:
3197         (WebCore::FETurbulence::FETurbulence):
3198         (WebCore::FETurbulence::create):
3199         (WebCore::FETurbulence::type):
3200         (WebCore::FETurbulence::setType):
3201         (WebCore::FETurbulence::baseFrequencyY):
3202         (WebCore::FETurbulence::setBaseFrequencyY):
3203         (WebCore::FETurbulence::baseFrequencyX):
3204         (WebCore::FETurbulence::setBaseFrequencyX):
3205         (WebCore::FETurbulence::seed):
3206         (WebCore::FETurbulence::setSeed):
3207         (WebCore::FETurbulence::numOctaves):
3208         (WebCore::FETurbulence::setNumOctaves):
3209         (WebCore::FETurbulence::stitchTiles):
3210         (WebCore::FETurbulence::setStitchTiles):
3211         (WebCore::FETurbulence::apply):
3212         (WebCore::FETurbulence::dump):
3213         (WebCore::operator<<):
3214         (WebCore::FETurbulence::externalRepresentation):
3215         * svg/graphics/filters/SVGFETurbulence.h:
3216         (WebCore::):
3217         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3218         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3219         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3220         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3221         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3222         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3223         (WebCore::getVectorForChannel):
3224         * svg/graphics/filters/cg/SVGFEImageCg.mm:
3225         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3226         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3227         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3228         * svg/graphics/filters/cg/SVGFETileCg.mm:
3229
3230 2008-07-09  Mark Rowe  <mrowe@apple.com>
3231
3232         Reviewed by Geoff Garen.
3233
3234         Don't warn about deprecated functions in production builds.
3235
3236         * Configurations/Base.xcconfig:
3237         * Configurations/DebugRelease.xcconfig:
3238
3239 2008-07-09  Brady Eidson  <beidson@apple.com>
3240
3241         Reviewed by Darin
3242
3243         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
3244         has been installed in a frame tree.
3245
3246         The root of this problem was that calling init() on a new frame could end up calling arbitrary
3247         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
3248         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
3249         destroying the frame.
3250
3251         Test: fast/loader/frame-creation-removal.html
3252
3253         * loader/FrameLoader.cpp:
3254         (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
3255           the document and parser because they don't exist, and this frame is on its way out.
3256         (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
3257           because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
3258           false if the Frame is being destroyed.
3259
3260 2008-07-09  Dean Jackson  <dino@apple.com>
3261
3262         Changed to use the correct license in header comment (via Darin)
3263
3264         * css/WebKitCSSTransformValue.idl:
3265
3266 2008-07-09  Dean Jackson  <dino@apple.com>
3267
3268         Add DOM interface for WebKitCSSTransformValue.
3269         https://bugs.webkit.org/show_bug.cgi?id=19863
3270
3271         Reviewed by Hyatt.
3272
3273         * bindings/objc/DOMInternal.h:
3274         * css/WebKitCSSTransformValue.idl: Added.
3275
3276         * bindings/scripts/CodeGeneratorObjC.pm:
3277             make sure new class inherits from CSSValue not Node
3278
3279         * DerivedSources.make:
3280         * GNUmakefile.am:
3281         * WebCore.pro:
3282         * WebCore.vcproj/WebCore.vcproj:
3283         * WebCore.xcodeproj/project.pbxproj:
3284         * WebCoreSources.bkl:
3285             Adding new generated files
3286
3287 2008-07-09  Maxime Britto  <britto@apple.com>
3288
3289         Reviewed by Adele.
3290
3291         http://bugs.webkit.org/show_bug.cgi?id=14227
3292         Add the middle click panning feature to the windows release.
3293         Details on almost each method below.
3294         Manual test is included in the patch.
3295
3296         * ChangeLog:
3297         * WebCore.vcproj/WebCore.vcproj:
3298         * manual-tests/panScroll.html: Added.
3299         * manual-tests/resources/big-page.html: Added.
3300         * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
3301         (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
3302         (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
3303         (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
3304         (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
3305         (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
3306         (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
3307         (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.
3308         * page/EventHandler.h:
3309         (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
3310         (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
3311         * 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
3312         * platform/gtk/ScrollViewGtk.cpp:
3313         (WebCore::ScrollView::isScrollable): Not implemented : returns true
3314         * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
3315         (WebCore::ScrollView::isScrollable):
3316         * platform/qt/ScrollViewQt.cpp:
3317         (WebCore::ScrollView::isScrollable): Not implemented : returns true
3318         * platform/win/ScrollViewWin.cpp:
3319         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
3320         (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.
3321         (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  
3322         (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
3323         (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
3324         (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
3325         (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
3326         (WebCore::ScrollView::paint): Modified to draw the icon if needed.
3327         * platform/wx/ScrollViewWx.cpp:
3328         (WebCore::ScrollView::isScrollable): Not implemented : returns true
3329         * rendering/RenderLayer.cpp:
3330         (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.
3331         * rendering/RenderLayer.h:
3332         * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
3333         (WebCore::RenderListBox::panScroll):
3334         (WebCore::RenderListBox::scrollToward):
3335         (WebCore::RenderListBox::autoscroll):
3336         * rendering/RenderListBox.h:
3337         (WebCore::RenderListBox::shouldPanScroll):
3338         * rendering/RenderObject.cpp: 
3339         (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
3340         (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
3341         * rendering/RenderObject.h:
3342         (WebCore::RenderObject::stopPanScroll): 
3343
3344 2008-07-09  Dean Jackson  <dino@apple.com>
3345
3346         Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
3347         the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
3348         https://bugs.webkit.org/show_bug.cgi?id=19861
3349
3350         Reviewed by Hyatt
3351
3352         * css/CSSParser.cpp:
3353         * css/CSSStyleSelector.cpp:
3354         * css/CSSTransformValue.cpp: Removed.
3355         * css/CSSTransformValue.h: Removed.
3356         * css/CSSValueList.h:
3357         * css/WebKitCSSTransformValue.cpp: Added.
3358         * css/WebKitCSSTransformValue.h: Added.
3359
3360         * GNUmakefile.am:
3361         * WebCore.order:
3362         * WebCore.pro:
3363         * WebCore.vcproj/WebCore.vcproj:
3364         * WebCore.xcodeproj/project.pbxproj:
3365         * WebCoreSources.bkl:
3366             updated for new file names
3367         
3368
3369 2008-07-09  David Hyatt  <hyatt@apple.com>
3370
3371         Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
3372         change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
3373         completion.
3374
3375         Reviewed by Dean
3376
3377         * manual-tests/transitions.html:
3378         * manual-tests/transitions2.html:
3379         * page/AnimationController.cpp:
3380         (WebCore::ImplicitAnimation::reset):
3381         (WebCore::CompositeImplicitAnimation::animate):
3382         (WebCore::AnimationControllerPrivate::get):
3383         (WebCore::AnimationController::updateImplicitAnimations):
3384
3385 2008-07-09  Michelangelo De Simone  <m.des@mac.com>
3386
3387         Reviewed by Adele.
3388
3389         Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
3390
3391         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3392         Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
3393         * dom/Node.h: Added base isTextControl().
3394         * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
3395         * html/HTMLTextAreaElement.h: Added isTextControl().
3396
3397 2008-07-09  Rob Buis  <buis@kde.org>
3398
3399         Reviewed by Eric.
3400
3401         https://bugs.webkit.org/show_bug.cgi?id=15431
3402         SVGRenderStyle should store pre-modified resource URIs
3403
3404         Store pre-modified resource URIs to decrease string
3405         operations during layout/rendering.
3406
3407         * css/SVGCSSStyleSelector.cpp:
3408         (WebCore::CSSStyleSelector::applySVGProperty):
3409         * rendering/RenderPath.cpp:
3410         (WebCore::RenderPath::absoluteClippedOverflowRect):
3411         (WebCore::RenderPath::drawMarkersIfNeeded):
3412         * rendering/RenderSVGContainer.cpp:
3413         (WebCore::RenderSVGContainer::selfWillPaint):
3414         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
3415         * rendering/RenderSVGImage.cpp:
3416         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3417         * rendering/RenderSVGRoot.cpp:
3418         (WebCore::RenderSVGRoot::paint):
3419         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
3420         * rendering/RenderSVGText.cpp:
3421         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
3422         * rendering/SVGRenderSupport.cpp:
3423         (WebCore::prepareToRenderSVGContent):
3424
3425 2008-07-09  Anders Carlsson  <andersca@apple.com>
3426
3427         Reviewed by Mitz.
3428
3429         Remove an unused instance variable.
3430
3431         * loader/DocumentLoader.h:
3432
3433 2008-07-09  Dan Bernstein  <mitz@apple.com>
3434
3435         Reviewed by Anders Carlsson.
3436
3437         - remove unused #includes
3438
3439         * dom/XMLTokenizer.cpp:
3440         * html/PreloadScanner.cpp:
3441         * loader/CachedCSSStyleSheet.cpp:
3442         * loader/CachedScript.cpp:
3443         * loader/CachedXBLDocument.cpp:
3444         * loader/CachedXSLStyleSheet.cpp:
3445         * page/mac/FrameMac.mm:
3446         * xml/XSLTProcessor.cpp:
3447
3448 2008-07-08  Geoffrey Garen  <ggaren@apple.com>
3449
3450         Reviewed by Oliver Hunt.
3451         
3452         Only artificially mark JS DOM wrappers if they have custom properties.
3453         
3454         21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
3455         
3456         No, that is not a typo.
3457
3458         * bindings/js/JSDOMBinding.cpp:
3459         (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3460
3461 2008-07-08  Kevin Watters  <kevinwatters@gmail.com>
3462
3463         Reviewed by Kevin Ollivier.
3464
3465         Fix to previous patch for handling mouse up events.
3466         
3467         https://bugs.webkit.org/show_bug.cgi?id=18464
3468
3469         * platform/wx/MouseEventWx.cpp:
3470         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3471
3472 2008-07-08  Dan Bernstein  <mitz@apple.com>
3473
3474         Reviewed by Brady Eidson.
3475
3476         - initialize the Archives log channel's state
3477
3478         * platform/mac/LoggingMac.mm:
3479         (WebCore::InitializeLoggingChannelsIfNecessary):
3480
3481 2008-07-08  Kevin McCullough  <kmccullough@apple.com>
3482
3483         Added manual test for the new heavy view.
3484
3485         * manual-tests/inspector/profiler-test-heavy-view.html: Added.
3486
3487 2008-07-08  Darin Adler  <darin@apple.com>
3488
3489         Reviewed by Mitz.
3490
3491         - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
3492           looks wrong due to OpenCube QuickMenu appVersion check
3493
3494         * page/Navigator.cpp:
3495         (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
3496
3497 2008-07-08  Dan Bernstein  <mitz@apple.com>
3498
3499         Reviewed by John Sullivan.
3500
3501         - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
3502
3503         Added a setting, updatesWhenOffscreen(), which controls whether an
3504         offscreen web view gets marked as needing update when its contents
3505         change (the existing behavior) or not (a new behavior), in which case it
3506         will be marked as needing update just before it goes on screen. The
3507         existing behavior (updating while offscreen) remains the default.
3508
3509         * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
3510         * page/FrameView.cpp:
3511         (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
3512         value from settings.
3513         * page/FrameView.h:
3514         * page/Settings.cpp:
3515         (WebCore::Settings::setUpdatesWhenOffscreen): Added.
3516         * page/Settings.h:
3517         (WebCore::Settings::updatesWhenOffscreen): Added.
3518         * platform/ScrollView.h:
3519         * platform/mac/ScrollViewMac.mm:
3520         (WebCore::ScrollView::updateContents): Added code to return early and
3521         not call -setNeedsDisplayInRect: if the view is not in a visible window
3522         and the setting is not to update when offscreen.
3523
3524 2008-07-08  Simon Hausmann  <hausmann@webkit.org>
3525
3526         Fix the build with enabled SVG filters.
3527
3528         * svg/SVGFESpecularLightingElement.cpp: The last argument to
3529         ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
3530         the attr suffix.
3531
3532 2008-07-07  Sam Weinig  <sam@webkit.org>
3533
3534         Reviewed by Anders Carlsson.
3535
3536         Remove extraneous null check.
3537
3538         * dom/Node.cpp:
3539         (WebCore::Node::querySelector):
3540         (WebCore::Node::querySelectorAll):
3541
3542 2008-07-07  Sam Weinig  <sam@webkit.org>
3543
3544         Reviewed by Anders Carlsson.
3545
3546         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3547         Use of CSS3 Namespaces syntax in Selectors API should throw an exception
3548
3549         - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
3550           used in a selector passed to querySelector or querySelectorAll.
3551
3552         Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
3553
3554         * dom/Node.cpp:
3555         (WebCore::selectorNeedsNamespaceResolution):
3556         (WebCore::Node::querySelector):
3557         (WebCore::Node::querySelectorAll):
3558
3559 2008-07-07  Simon Fraser  <simon.fraser@apple.com>
3560
3561         Reviewed by Darin.
3562
3563         Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
3564         nodeIterator with filter fails on documents not in a frame
3565
3566         Tests: traversal/node-iterator-009.html
3567                traversal/tree-walker-006.html
3568
3569         * bindings/js/JSNodeFilterCondition.cpp:
3570         * bindings/js/JSNodeFilterCondition.h:
3571         * bindings/js/JSNodeFilterCustom.cpp:
3572         * bindings/js/JSNodeIteratorCustom.cpp:
3573         * bindings/js/JSTreeWalkerCustom.cpp:
3574         * bindings/objc/DOM.mm:
3575         * dom/NodeFilter.cpp:
3576         * dom/NodeFilter.h:
3577         * dom/NodeFilterCondition.cpp:
3578         * dom/NodeFilterCondition.h:
3579         * dom/NodeIterator.cpp:
3580         * dom/NodeIterator.h:
3581         * dom/Traversal.cpp:
3582         * dom/Traversal.h:
3583         * dom/TreeWalker.cpp:
3584         *