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