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