643c2021ed87417dde05dd2f3b87eae676bf7b0f
[WebKit-https.git] / WebCore / ChangeLog
1 2008-12-08  Trenton Schulz <trenton.schulz@nokia.com>
2
3         Rubber-stamped by Tor Arne Vestbø.
4
5         Fix build warning on Mac
6
7         * platform/text/mac/StringImplMac.mm:
8
9 2008-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
10
11         Fix the Qt build.
12
13         * bridge/qt/qt_runtime.cpp:
14         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
15           constructor.
16
17 2008-12-08  Oliver Hunt  <oliver@apple.com>
18
19         Reviewed by Alexey Proskuryakov.
20
21         Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
22         <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
23
24         This regression was caused by r39059 replacing the protector on the active
25         animation with a protector on just the composition.  It turns out that both
26         protectors are necessary.
27
28         Test: transitions/transition-duration-cleared-in-transitionend-crash.html
29
30         * page/animation/AnimationBase.cpp:
31         (WebCore::AnimationBase::animationTimerCallbackFired):
32
33 2008-12-08  Dmitry Titov  <dimich@chromium.org>
34
35         Reviewed by Alexey Proskuryakov.
36
37         https://bugs.webkit.org/show_bug.cgi?id=22732
38         Remove unused files PausedTimeouts.h,.cpp
39         The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
40
41         * GNUmakefile.am:
42         * WebCore.pro:
43         * WebCore.scons:
44         * WebCore.vcproj/WebCore.vcproj:
45         * WebCore.xcodeproj/project.pbxproj:
46         * WebCoreSources.bkl:
47           These are build files which had PausedTimeouts referenced.
48
49         * bindings/js/PausedTimeouts.cpp: Removed.
50         * bindings/js/PausedTimeouts.h: Removed.
51         * bindings/js/ScriptController.cpp: Removed '#include'
52         * page/Chrome.cpp: Removed '#include' and unused variable.
53
54 2008-12-07  Simon Fraser  <simon.fraser@apple.com>
55
56         Reviewed by Dan Bernstein
57
58         https://bugs.webkit.org/show_bug.cgi?id=22594
59
60         Fix issues which break reading inline style for -webkit-transition
61         and -webkit-transform-origin.
62         
63         Test: fast/css/transform-inline-style.html
64
65         * css/CSSMutableStyleDeclaration.cpp:
66         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases 
67         for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
68         so that these shorthand properties are returned correctly.
69         * css/CSSParser.cpp:
70         (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
71         with the correct CSSValueAll and CSSValueNone identifiers, not the
72         RenderStyle-level cAnimateAll, cAnimateNone.
73         * css/CSSStyleSelector.cpp:
74         (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
75         and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
76
77 2008-12-07  Antti Koivisto  <antti@apple.com>
78
79         Reviewed by Darin Adler.
80
81         https://bugs.webkit.org/show_bug.cgi?id=22717
82         Make CSS values use less memory
83         
84         Share CSSPrimitiveValue objects for commonly used values including
85         - idents
86         - colors
87         - small integers
88         
89         This reduces the amount CSSPrimitiveValue instances by > 80%.
90
91         * css/CSSPrimitiveValue.cpp:
92         (WebCore::CSSPrimitiveValue::createIdentifier):
93         (WebCore::CSSPrimitiveValue::createColor):
94         (WebCore::CSSPrimitiveValue::create):
95         * css/CSSPrimitiveValue.h:
96         (WebCore::CSSPrimitiveValue::create):
97
98 2008-12-07  Antti Koivisto  <antti@apple.com>
99
100         Reviewed by Darin Adler.
101
102         https://bugs.webkit.org/show_bug.cgi?id=22717
103         Make CSS values use less memory
104
105         Get CSSValues off from the common StyleBase base class. They don't
106         need a parent pointer or anything else there and there is no real
107         reason to have them in same data structures with other CSSOM objects.
108         
109         Disabled (instead of refactoring around the lack of common base) the ability 
110         to have style declaration blocks as CSS variable values. They don't exist in 
111         the spec so I wasn't sure if they have future or not. It would not be hard to 
112         get them back. CSS variables are in any case an experimental feature and 
113         not enabled by default.
114
115         * css/CSSInitialValue.h:
116         (WebCore::CSSInitialValue::createExplicit):
117         (WebCore::CSSInitialValue::createImplicit):
118         * css/CSSParser.cpp:
119         (WebCore::CSSParser::addVariableDeclarationBlock):
120         * css/CSSParser.h:
121         * css/CSSValue.h:
122         (WebCore::CSSValue::~CSSValue):
123         (WebCore::CSSValue::parserValue):
124         * css/CSSVariablesDeclaration.cpp:
125         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
126         (WebCore::CSSVariablesDeclaration::getVariableValue):
127         (WebCore::CSSVariablesDeclaration::removeVariable):
128         (WebCore::CSSVariablesDeclaration::addParsedVariable):
129         (WebCore::CSSVariablesDeclaration::getParsedVariable):
130         (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
131         * css/CSSVariablesDeclaration.h:
132         (WebCore::CSSVariablesDeclaration::create):
133         * css/StyleBase.h:
134
135 2008-12-07  Dirk Schulze  <krit@webkit.org>
136
137         Reviewed by Oliver Hunt.
138
139         Add gradient and pattern support for strokeRect on canvas/Cg.
140
141         Canvas strokeRect() doesn't support gradients
142         https://bugs.webkit.org/show_bug.cgi?id=19790
143
144         Test: fast/canvas/canvas-strokeRect.html
145
146         * platform/graphics/cg/GraphicsContextCG.cpp:
147         (WebCore::GraphicsContext::strokeRect):
148
149 2008-12-06  Dirk Schulze  <krit@webkit.org>
150
151         Reviewed by Oliver Hunt.
152
153         Add support for setTransform() in canvas.
154
155         <canvas> lacks transform() and setTransform()
156         https://bugs.webkit.org/show_bug.cgi?id=16604
157
158         Test: fast/canvas/canvas-setTransform.html
159
160         * html/CanvasRenderingContext2D.cpp:
161         (WebCore::CanvasRenderingContext2D::State::State):
162         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
163         (WebCore::CanvasRenderingContext2D::setFillStyle):
164         (WebCore::CanvasRenderingContext2D::scale):
165         (WebCore::CanvasRenderingContext2D::rotate):
166         (WebCore::CanvasRenderingContext2D::translate):
167         (WebCore::CanvasRenderingContext2D::transform):
168         (WebCore::CanvasRenderingContext2D::setTransform):
169         (WebCore::CanvasRenderingContext2D::beginPath):
170         (WebCore::CanvasRenderingContext2D::closePath):
171         (WebCore::CanvasRenderingContext2D::moveTo):
172         (WebCore::CanvasRenderingContext2D::lineTo):
173         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
174         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
175         (WebCore::CanvasRenderingContext2D::arcTo):
176         (WebCore::CanvasRenderingContext2D::arc):
177         (WebCore::CanvasRenderingContext2D::rect):
178         (WebCore::CanvasRenderingContext2D::fill):
179         (WebCore::CanvasRenderingContext2D::stroke):
180         (WebCore::CanvasRenderingContext2D::clip):
181         (WebCore::CanvasRenderingContext2D::isPointInPath):
182         (WebCore::CanvasRenderingContext2D::clearRect):
183         (WebCore::CanvasRenderingContext2D::fillRect):
184         (WebCore::CanvasRenderingContext2D::strokeRect):
185         (WebCore::CanvasRenderingContext2D::drawImage):
186         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
187         (WebCore::CanvasRenderingContext2D::willDraw):
188         (WebCore::CanvasRenderingContext2D::drawTextInternal):
189         * html/CanvasRenderingContext2D.h:
190         * html/CanvasRenderingContext2D.idl:
191         * html/HTMLCanvasElement.cpp:
192         (WebCore::HTMLCanvasElement::baseTransform):
193         * html/HTMLCanvasElement.h:
194         * platform/graphics/ImageBuffer.h:
195         (WebCore::ImageBuffer::baseTransform):
196
197 2008-12-06  Antti Koivisto  <antti@apple.com>
198
199         Reviewed by Darin Adler.
200
201         Also copy m_implicit field. Darin wanted this change commited separately.
202
203         * css/CSSProperty.h:
204         (WebCore::CSSProperty::operator=):
205
206 2008-12-06  Antti Koivisto  <antti@apple.com>
207
208         Reviewed by Darin Adler.
209
210         https://bugs.webkit.org/show_bug.cgi?id=22379
211         Make CSSOM use less memory
212         
213         Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
214         
215         Taught setter functions to use existing slots to avoid memory moves, plus some
216         other optimizations.
217
218         * WebCore.xcodeproj/project.pbxproj:
219         * css/CSSMutableStyleDeclaration.cpp:
220         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
221         (WebCore::CSSMutableStyleDeclaration::operator=):
222         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
223         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
224         (WebCore::CSSMutableStyleDeclaration::removeProperty):
225         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
226         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
227         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
228         (WebCore::CSSMutableStyleDeclaration::setProperty):
229         (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
230         (WebCore::CSSMutableStyleDeclaration::setStringProperty):
231         (WebCore::CSSMutableStyleDeclaration::setImageProperty):
232         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
233         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
234         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
235         (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
236         (WebCore::CSSMutableStyleDeclaration::length):
237         (WebCore::CSSMutableStyleDeclaration::item):
238         (WebCore::CSSMutableStyleDeclaration::cssText):
239         (WebCore::CSSMutableStyleDeclaration::setCssText):
240         (WebCore::CSSMutableStyleDeclaration::merge):
241         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
242         (WebCore::CSSMutableStyleDeclaration::copy):
243         (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
244         * css/CSSMutableStyleDeclaration.h:
245         (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
246         (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
247         (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
248         (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
249         (WebCore::CSSMutableStyleDeclaration::create):
250         (WebCore::CSSMutableStyleDeclaration::begin):
251         (WebCore::CSSMutableStyleDeclaration::end):
252         (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
253         (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
254         (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
255         (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
256         (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
257         * css/CSSProperty.h:
258         (WTF::):
259         * css/CSSStyleDeclaration.cpp:
260         (WebCore::CSSStyleDeclaration::diff):
261         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
262         * css/CSSStyleSelector.cpp:
263         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
264         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
265         (WebCore::CSSStyleSelector::applyDeclarations):
266         * dom/EventTarget.h:
267         * editing/ApplyStyleCommand.cpp:
268         (WebCore::StyleChange::init):
269         (WebCore::ApplyStyleCommand::isHTMLStyleNode):
270         (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
271         (WebCore::ApplyStyleCommand::removeCSSStyle):
272         * editing/Editor.cpp:
273         (WebCore::Editor::selectionStartHasStyle):
274         (WebCore::updateState):
275         * editing/ReplaceSelectionCommand.cpp:
276         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
277         * editing/markup.cpp:
278         (WebCore::appendStartMarkup):
279
280 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
281
282         Reviewed by Antti Koivisto, Dan Bernstein
283
284         https://bugs.webkit.org/show_bug.cgi?id=22088
285
286         Fix logic related to repainting when transform changes:
287         If an object has a layer, and the transform changes, then we need
288         to do a repaintIncludingDescendants(), not just a repaint.
289         
290         Test: fast/repaint/transform-repaint-descendants.html
291
292         * rendering/RenderObject.cpp:
293         (WebCore::RenderObject::styleWillChange):
294
295 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
296
297         Reviewed by Dan Bernstein
298
299         https://bugs.webkit.org/show_bug.cgi?id=15739
300
301         When painting the selection on a replaced element, paint
302         using local coordinates so that the selection is correctly
303         painted for transformed elements.
304
305         Test: fast/replaced/selection-rect-transform.html
306
307         * rendering/RenderReplaced.cpp:
308         (WebCore::RenderReplaced::paint):
309
310 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
311
312         Reviewed by Dave Hyatt
313
314         https://bugs.webkit.org/show_bug.cgi?id=15671
315         
316         Fix caret rendering to behave correctly with transforms:
317         * Rename caretRect() methods to localCaretRect() and
318           absoluteCaretBounds() as appropriate
319         * Fix localCaretRect() methods to return a rect in the
320           appropriate coordinates.
321         * Pass tx, ty down through the paintCaret() methods, after fixing them
322           up to account for differences between contents coords, and renderer-local
323           coords (via RenderBlock::offsetForContents()).
324         * Remove m_caretPositionOnLayout from SelectionController, and instead
325           call invalidateSelection() from RenderLayer::scrollToOffset(), because
326           we can no longer assume simple x/y offsets from scrolling with transforms.
327         * Move the logic to compute which RenderObject actually paints the caret into
328           SelectionController::caretRenderer(), rather than having it in RenderBlock.
329         * SelectionController now computes and caches a local caret rect. For invalidation,
330           it computes the absolute bounds of that (possibly transformed) local rect.
331           The local rect is computed in the coordinate system of the RenderObject that
332           will paint the caret (this may require offsetting from the actual renderer
333           at the start of the selection).
334         * Fix LayoutState(RenderObject* root) to take transforms into account
335         * Make offsetFromContainer() a virtual method on RenderObject, and implement
336           the RenderObject version. It's used to map from selection start renderer
337           to caret renderer.
338
339         Test: fast/transforms/transformed-caret.html
340
341         * WebCore.base.exp:
342         * editing/DeleteSelectionCommand.cpp:
343         (WebCore::DeleteSelectionCommand::mergeParagraphs):
344         * editing/SelectionController.cpp:
345         (WebCore::SelectionController::SelectionController):
346         (WebCore::absoluteCaretY):
347         (WebCore::SelectionController::modify):
348         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
349         (WebCore::SelectionController::layout):
350         (WebCore::SelectionController::caretRenderer):
351         (WebCore::SelectionController::localCaretRect):
352         (WebCore::SelectionController::absoluteCaretBounds):
353         (WebCore::SelectionController::caretRepaintRect):
354         (WebCore::SelectionController::recomputeCaretRect):
355         (WebCore::SelectionController::invalidateCaretRect):
356         (WebCore::SelectionController::paintCaret):
357         (WebCore::SelectionController::caretRendersInsideNode):
358         * editing/SelectionController.h:
359         * editing/VisiblePosition.cpp:
360         (WebCore::VisiblePosition::localCaretRect):
361         (WebCore::VisiblePosition::absoluteCaretBounds):
362         (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
363         * editing/VisiblePosition.h:
364         * editing/mac/SelectionControllerMac.mm:
365         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
366         * html/HTMLElement.cpp:
367         (WebCore::HTMLElement::isContentEditable):
368         * page/AccessibilityRenderObject.cpp:
369         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
370         * page/Frame.cpp:
371         (WebCore::Frame::firstRectForRange):
372         (WebCore::Frame::selectionLayoutChanged):
373         (WebCore::Frame::paintCaret):
374         (WebCore::Frame::paintDragCaret):
375         (WebCore::Frame::revealSelection):
376         (WebCore::Frame::revealCaret):
377         * page/Frame.h:
378         * rendering/LayoutState.cpp:
379         (WebCore::LayoutState::LayoutState):
380         * rendering/RenderBlock.cpp:
381         (WebCore::RenderBlock::paintCaret):
382         (WebCore::RenderBlock::paintObject):
383         (WebCore::RenderBlock::positionForCoordinates):
384         (WebCore::RenderBlock::offsetForContents):
385         * rendering/RenderBlock.h:
386         * rendering/RenderBox.cpp:
387         (WebCore::RenderBox::localCaretRect):
388         * rendering/RenderBox.h:
389         * rendering/RenderFlow.cpp:
390         (WebCore::RenderFlow::localCaretRect):
391         * rendering/RenderFlow.h:
392         * rendering/RenderLayer.cpp:
393         (WebCore::RenderLayer::scrollToOffset):
394         * rendering/RenderObject.cpp:
395         (WebCore::RenderObject::localCaretRect):
396         * rendering/RenderObject.h:
397         * rendering/RenderSVGInlineText.cpp:
398         (WebCore::RenderSVGInlineText::localCaretRect):
399         * rendering/RenderSVGInlineText.h:
400         * rendering/RenderText.cpp:
401         (WebCore::RenderText::RenderText):
402         (WebCore::RenderText::localCaretRect):
403         * rendering/RenderText.h:
404
405 2008-12-06  David Kilzer  <ddkilzer@apple.com>
406
407         Bug 22711: Current svn (build 39065) fails to compile
408
409         <https://bugs.webkit.org/show_bug.cgi?id=22711>
410
411         BUILD FIX for r39065: Forgot parentheses after "document".
412
413         Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
414         <https://bugs.webkit.org/show_bug.cgi?id=22666>
415
416         * svg/SVGFEImageElement.cpp:
417         (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
418         document to document().
419
420 2008-12-06  Dmitry Titov  <dimich@chromium.org>
421
422         Reviewed by Alexey Proskuryakov.
423
424         https://bugs.webkit.org/show_bug.cgi?id=22710
425         Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
426
427         * bindings/js/DOMTimer.cpp:
428         (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
429
430 2008-12-06  David Kilzer  <ddkilzer@apple.com>
431
432         Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
433
434         <https://bugs.webkit.org/show_bug.cgi?id=22666>
435
436         Reviewed by Darin Adler.
437
438         When creating a webarchive from WebCore::LegacyWebArchive::create(),
439         HashSet<String>, Vector<KURL> and Vector<String> were all used to
440         store a list of URLs for resources found in the document.  Instead
441         use a single ListHashSet<KURL> to store the list and resolve the
442         relative URLs as they're added.  We use a new inline method called
443         WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
444         to prevent "null" KURL objects from crashing in the KURL hashing
445         function.
446
447         * WebCore.base.exp: Changed export of
448         WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
449         argument instead of a Vector<KURL>.
450
451         * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
452         header for use in WebKit.
453
454         * css/CSSStyleSheet.cpp:
455         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
456         addSubresourceURLStrings().  Changed to use ListHashSet<KURL>
457         instead of HashSet<String>.  Cleaned up code.
458         * css/CSSStyleSheet.h:
459         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
460         * css/StyleSheet.h:
461         (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
462
463         * dom/Node.cpp:
464         (WebCore::Node::getSubresourceURLs): Changed to use
465         ListHashSet<KURL> instead of Vector<KURL>.  Cleaned up code.
466         * dom/Node.h:
467         (WebCore::Node::getSubresourceURLs): Ditto.
468         (WebCore::Node::addSubresourceAttributeURLs): Renamed from
469         getSubresourceAttributeStrings().  Changed to use ListHashSet<KURL>
470         instead of Vector<String>.
471         (WebCore::addSubresourceURL): Added.  Safely adds new KURL objects
472         to a ListHashSet<KURL> object.  A "null" KURL object will cause the
473         hash function to crash since it contains a null StringImpl.  Used in
474         Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
475         the style subsystem.
476
477         * dom/ProcessingInstruction.cpp:
478         (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
479         Renamed from getSubresourceAttributeStrings().  Changed to use
480         ListHashSet<KURL> instead of Vector<String>.  Use
481         WebCore::addSubresourceURL() to add new KURL objects.
482         * dom/ProcessingInstruction.h: Ditto.
483         * html/HTMLBodyElement.cpp:
484         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
485         * html/HTMLBodyElement.h: Ditto.
486         * html/HTMLEmbedElement.cpp:
487         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
488         * html/HTMLEmbedElement.h: Ditto.
489         * html/HTMLImageElement.cpp:
490         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
491         * html/HTMLImageElement.h: Ditto.
492         * html/HTMLInputElement.cpp:
493         (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
494         * html/HTMLInputElement.h: Ditto.
495         * html/HTMLLinkElement.cpp:
496         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
497         * html/HTMLLinkElement.h: Ditto.
498         * html/HTMLObjectElement.cpp:
499         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
500         * html/HTMLObjectElement.h: Ditto.
501         * html/HTMLParamElement.cpp:
502         (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
503         * html/HTMLParamElement.h: Ditto.
504         * html/HTMLScriptElement.cpp:
505         (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
506         * html/HTMLScriptElement.h: Ditto.
507         * html/HTMLStyleElement.cpp:
508         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
509         * html/HTMLStyleElement.h: Ditto.
510         * html/HTMLTableCellElement.cpp:
511         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
512         * html/HTMLTableCellElement.h: Ditto.
513         * html/HTMLTableElement.cpp:
514         (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
515         * html/HTMLTableElement.h: Ditto.
516
517         * loader/archive/cf/LegacyWebArchive.cpp:
518         (WebCore::LegacyWebArchive::create): Changed from using
519         HashSet<String> to ListHashSet<KURL> for tracking unique
520         subresources.  Changed from using Vector<KURL> to ListHashSet<KURL>
521         when calling WebCore::Node::getSubresourceURLs().  Cleaned up code.
522
523         * svg/SVGCursorElement.cpp:
524         (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
525         from getSubresourceAttributeStrings().  Changed to use
526         ListHashSet<KURL> instead of Vector<String>.  Use
527         WebCore::addSubresourceURL() to add new KURL objects.
528         * svg/SVGCursorElement.h: Ditto.
529         * svg/SVGFEImageElement.cpp:
530         (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
531         * svg/SVGFEImageElement.h: Ditto.
532         * svg/SVGImageElement.cpp:
533         (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
534         * svg/SVGImageElement.h: Ditto.
535         * svg/SVGScriptElement.cpp:
536         (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
537         * svg/SVGScriptElement.h: Ditto.
538
539 2008-12-05  Brett Wilson  <brettw@chromium.org>
540
541         Reviewed by Darin Adler.
542
543         Make the page group use the proper link hashing functions rather than
544         calling the string hash functions directly. Add Chromium-specfic ifdefs
545         in the visited link computation functions to allow integration.
546
547         * page/PageGroup.cpp:
548         (WebCore::PageGroup::isLinkVisited):
549         (WebCore::PageGroup::addVisitedLink):
550         * platform/LinkHash.cpp:
551         (WebCore::visitedLinkHash):
552         * platform/LinkHash.h:
553
554 2008-12-05  Chris Marrin  <cmarrin@apple.com>
555
556         Reviewed by Dave Hyatt.
557
558         Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
559         For iteration and end events, previous fixes to prevent the deletion of
560         Animation objects (ref counting and hanging onto a ref during event callbacks)
561         was sufficient to prevent dangling pointers. But start events are sent in
562         the styleAvailable() call, which iterates over CompositeAnimation objects,
563         which are not ref counted. So that object can get destroyed in the event
564         handler while still active. So I added refcounting for CompositeAnimations.
565
566         Additionally, when am iterating over the CompositingAnimation list, it can
567         be deleted, which mutates the list. So I now make one pass over the list
568         building a vector of CompositeAnimation objects that need to be called and
569         then iterate over that vector to make the actual calls.
570
571         Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
572         the Animation objects it owns, I now keep a ref to the CompositeAnimation
573         in the timer callback for the iteration and end events. That means I no
574         longer need to keep a ref to the Animation objects themselves in that timer
575         callback, since the CompositeAnimation already has one.
576
577         Tests: animations/animation-iteration-event-destroy-renderer.html
578                animations/animation-start-event-destroy-renderer.html
579
580         * page/animation/AnimationBase.cpp:
581         (WebCore::AnimationBase::updateStateMachine):
582         (WebCore::AnimationBase::animationTimerCallbackFired):
583         * page/animation/AnimationController.cpp:
584         (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
585         (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
586         (WebCore::AnimationControllerPrivate::clear):
587         (WebCore::AnimationControllerPrivate::styleAvailable):
588         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
589         (WebCore::AnimationControllerPrivate::animationTimerFired):
590         (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
591         (WebCore::AnimationControllerPrivate::suspendAnimations):
592         (WebCore::AnimationControllerPrivate::resumeAnimations):
593         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
594         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
595         (WebCore::AnimationController::updateAnimations):
596         (WebCore::AnimationController::setAnimationStartTime):
597         (WebCore::AnimationController::setTransitionStartTime):
598         * page/animation/CompositeAnimation.cpp:
599         (WebCore::CompositeAnimationPrivate::animationController):
600         (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
601         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
602         (WebCore::CompositeAnimationPrivate::clearRenderer):
603         (WebCore::CompositeAnimation::clearRenderer):
604         (WebCore::CompositeAnimation::animationController):
605         (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
606         * page/animation/CompositeAnimation.h:
607         (WebCore::CompositeAnimation::create):
608
609 2008-12-05  David Kilzer  <ddkilzer@apple.com>
610
611         Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
612
613         <https://bugs.webkit.org/show_bug.cgi?id=22609>
614         <rdar://problem/6331749>
615
616         Reviewed by Darin Adler.
617
618         Initial patch by Yosen Lin.  Adapted for ToT WebKit by David Kilzer.
619
620         Added back the code that generates a "compact" hash (instead of a
621         perfect hash) as a build-time option using the
622         ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
623
624         * bindings/scripts/CodeGeneratorJS.pm:
625         (GenerateImplementation): Compute the number of elements that will
626         be stored in each hash table and pass it to GenerateHashTable().
627         (GenerateHashTable): Added new second parameter representing the
628         number of elements to store in the compact hash table.  Added back
629         code to compute compact hash tables.  Generate both hash table sizes
630         and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
631
632 2008-12-05  Brett Wilson  <brettw@chromium.org>
633
634         Fix build bustage from previous patch.
635
636         * css/CSSSelector.h:
637
638 2008-12-05  Brett Wilson  <brettw@chromium.org>
639
640         Reviewed by Eric Seidel.
641
642         Add a missing include for OwnPtr to make CSSSelector compile without
643         precompiled headers.
644
645         * css/CSSSelector.h:
646
647 2008-12-05  Finnur Thorarinsson  <finnur.webkit@gmail.com>
648
649         Reviewed by Darin Adler.
650
651         Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
652         without relying on high-level WebCore types, as requested by Dave Hyatt.
653         
654         No functional changes, thus no test cases.
655
656         * page/FrameView.cpp:
657         (WebCore::FrameView::getTickmarks):
658         * page/FrameView.h:
659         * platform/ScrollbarClient.h:
660
661 2008-12-05  Dean Jackson  <dino@apple.com>
662
663         Reviewed by David Hyatt.
664
665         Make sure Window event listeners also tell the
666         Document about the event type, so noisy events
667         will be dispatched even if nothing in the document
668         is listening.
669         https://bugs.webkit.org/show_bug.cgi?id=20572
670
671         * dom/Document.cpp:
672         (WebCore::Document::addWindowEventListener):
673
674 2008-12-05  Adam Roben  <aroben@apple.com>
675
676         Windows build fix after r39026
677
678         * platform/network/cf/ResourceRequestCFNet.cpp:
679         (WebCore::ResourceRequest::doUpdatePlatformRequest):
680         (WebCore::ResourceRequest::doUpdateResourceRequest):
681         Add some missing .get()s.
682
683 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
684
685         Tiger build fix.
686
687         * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
688
689 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
690
691         Reviewed by Darin Adler.
692
693         <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
694         in Safari before opening a mail message in Mail
695
696         * platform/mac/WebCoreObjCExtras.mm:
697         (WebCoreObjCFinalizeOnMainThread):
698         Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
699         Tiger and post-Tiger behavior in line.
700
701         * bindings/objc/DOMRGBColor.mm:
702         (+[DOMRGBColor initialize]):
703         * bindings/objc/WebScriptObject.mm:
704         (+[WebScriptObject initialize]):
705         * page/mac/AccessibilityObjectWrapper.mm:
706         (+[AccessibilityObjectWrapper initialize]):
707         * platform/mac/SharedBufferMac.mm:
708         (+[WebCoreSharedBufferData initialize]):
709         Call JSC::initializeThreading();
710
711 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
712
713         Reviewed by Darin Adler.
714
715         <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
716
717         * platform/network/ResourceRequestBase.cpp:
718         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
719         * platform/network/ResourceRequestBase.h:
720         * platform/network/cf/ResourceRequestCFNet.cpp:
721         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
722         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
723         (WebCore::setContentDispositionEncodingFallbackArray):
724         (WebCore::copyContentDispositionEncodingFallbackArray):
725         (WebCore::ResourceRequest::doUpdatePlatformRequest):
726         (WebCore::ResourceRequest::doUpdateResourceRequest):
727         * platform/network/mac/ResourceRequestMac.mm:
728         (WebCore::ResourceRequest::doUpdateResourceRequest):
729         (WebCore::ResourceRequest::doUpdatePlatformRequest):
730         Added a way to specify encoding fallback list for Content-Disposition header.
731
732         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
733         pass a list of encodings to try when decoding Content-Disposition header, as described
734         in comments.
735
736 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
737
738         Reviewed by Darin Adler.
739
740         https://bugs.webkit.org/show_bug.cgi?id=22672
741         ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
742
743         Test: http/tests/xmlhttprequest/send-on-abort.html
744
745         * dom/ScriptExecutionContext.cpp:
746         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
747         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
748         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
749         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
750         Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
751
752         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
753         reverts a recent change that made the behavior slightly closer to Firefox - but the
754         compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
755
756 2008-12-05  Tobias König <tobias.koenig@nokia.com>
757
758         Reviewed by Simon Hausmann.
759
760         Record required package dependencies for the Qt build for a correct
761         pkg-config file.
762
763         * WebCore.pro:
764
765 2008-12-05  Tor Arne Vestbø  <tavestbo@trolltech.com>
766
767         Rubber-stamped by Simon Hausmann.
768
769         [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
770
771         * plugins/mac/PluginPackageMac.cpp:
772         (WebCore::PluginPackage::fetchInfo):
773         (WebCore::PluginPackage::isPluginBlacklisted):
774
775 2008-12-05  Jungshik Shin  <jshin@chromium.org>
776
777         Reviewed by Alexey Proskuryakov.
778
779         https://bugs.webkit.org/show_bug.cgi?id=22472
780
781         Revises charset alias map for TextCodecICU.
782         - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
783         - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
784         - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
785           mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
786           alias 'dos-874' to 'windows-874'.
787         - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
788           Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
789           directly going to 'GBK'.
790         - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
791
792         Tests: fast/encoding/char-decoding-mac.html
793                fast/encoding/char-decoding.html
794
795         * platform/text/TextCodecICU.cpp:
796         (WebCore::TextCodecICU::registerExtendedEncodingNames):
797
798 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
799
800         Reviewed by Kevin Ollivier.
801
802         Add a MIME mapping for the .htm extension to wx and GTK ports.
803         
804         https://bugs.webkit.org/show_bug.cgi?id=22668
805         
806         * platform/gtk/MIMETypeRegistryGtk.cpp:
807         (WebCore::):
808         * platform/wx/MimeTypeRegistryWx.cpp:
809         (WebCore::):
810
811 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
812
813         Reviewed by Kevin Ollivier.
814
815         Implement basic text paste support in wx and add notImplemented stubs
816         to catch other methods.
817         
818         https://bugs.webkit.org/show_bug.cgi?id=22667
819
820         * platform/wx/PasteboardWx.cpp:
821         (WebCore::Pasteboard::canSmartReplace):
822         (WebCore::Pasteboard::plainText):
823         (WebCore::Pasteboard::documentFragment):
824         (WebCore::Pasteboard::writeImage):
825
826 2008-12-04  Kevin Ollivier  <kevino@theolliviers.com>
827
828         wx build fix for !USE(WXGC) build config.
829
830         * platform/graphics/wx/PathWx.cpp:
831         (WebCore::Path::contains):
832         (WebCore::Path::addLineTo):
833         (WebCore::Path::addQuadCurveTo):
834         (WebCore::Path::addBezierCurveTo):
835         (WebCore::Path::addArcTo):
836         (WebCore::Path::closeSubpath):
837         (WebCore::Path::addArc):
838         (WebCore::Path::addRect):
839         (WebCore::Path::addEllipse):
840         (WebCore::Path::transform):
841         (WebCore::Path::apply):
842         (WebCore::Path::isEmpty):
843
844 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
845
846         Reviewed by Kevin Ollivier.
847
848         Turn off styled controls until we can implement them properly.
849         
850         https://bugs.webkit.org/show_bug.cgi?id=22662
851
852         * platform/wx/RenderThemeWx.cpp:
853         (WebCore::RenderThemeWx::isControlStyled):
854
855 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
856
857         Reviewed by Kevin Ollivier.
858
859         wx implementations for Path API.
860
861         https://bugs.webkit.org/show_bug.cgi?id=22661
862
863         * platform/graphics/wx/PathWx.cpp:
864         (WebCore::Path::~Path):
865         (WebCore::Path::contains):
866         (WebCore::Path::addLineTo):
867         (WebCore::Path::addQuadCurveTo):
868         (WebCore::Path::addBezierCurveTo):
869         (WebCore::Path::addArcTo):
870         (WebCore::Path::closeSubpath):
871         (WebCore::Path::addArc):
872         (WebCore::Path::addRect):
873         (WebCore::Path::addEllipse):
874         (WebCore::Path::transform):
875         (WebCore::Path::isEmpty):
876
877 2008-12-04  Julien Chaffraix  <jchaffraix@webkit.org>
878
879         Reviewed by Eric Seidel.
880
881         Bug 22564: Make HTML elements' constructors take a QualifiedName
882         https://bugs.webkit.org/show_bug.cgi?id=22564
883
884         Updated the remaining constructors.
885
886         * bindings/js/JSImageConstructor.cpp:
887         (WebCore::constructImage):
888         * dom/Document.cpp:
889         (WebCore::Document::getCSSCanvasElement):
890         * editing/DeleteButton.cpp:
891         (WebCore::DeleteButton::DeleteButton):
892         * html/HTMLAppletElement.cpp:
893         (WebCore::HTMLAppletElement::HTMLAppletElement):
894         * html/HTMLAppletElement.h:
895         * html/HTMLAreaElement.cpp:
896         (WebCore::HTMLAreaElement::HTMLAreaElement):
897         * html/HTMLAreaElement.h:
898         * html/HTMLBaseFontElement.cpp:
899         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
900         * html/HTMLBaseFontElement.h:
901         * html/HTMLCanvasElement.cpp:
902         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
903         * html/HTMLCanvasElement.h:
904         * html/HTMLElementFactory.cpp:
905         (WebCore::hrConstructor):
906         (WebCore::paragraphConstructor):
907         (WebCore::basefontConstructor):
908         (WebCore::fontConstructor):
909         (WebCore::anchorConstructor):
910         (WebCore::imageConstructor):
911         (WebCore::mapConstructor):
912         (WebCore::areaConstructor):
913         (WebCore::canvasConstructor):
914         (WebCore::appletConstructor):
915         (WebCore::embedConstructor):
916         (WebCore::objectConstructor):
917         (WebCore::paramConstructor):
918         (WebCore::scriptConstructor):
919         (WebCore::tableConstructor):
920         (WebCore::tableCaptionConstructor):
921         (WebCore::tableRowConstructor):
922         * html/HTMLEmbedElement.cpp:
923         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
924         * html/HTMLEmbedElement.h:
925         * html/HTMLFontElement.cpp:
926         (WebCore::HTMLFontElement::HTMLFontElement):
927         * html/HTMLFontElement.h:
928         * html/HTMLHRElement.cpp:
929         (WebCore::HTMLHRElement::HTMLHRElement):
930         * html/HTMLHRElement.h:
931         * html/HTMLImageElement.cpp:
932         (WebCore::HTMLImageElement::HTMLImageElement):
933         * html/HTMLImageElement.h:
934         * html/HTMLMapElement.cpp:
935         (WebCore::HTMLMapElement::HTMLMapElement):
936         * html/HTMLMapElement.h:
937         * html/HTMLObjectElement.cpp:
938         (WebCore::HTMLObjectElement::HTMLObjectElement):
939         * html/HTMLObjectElement.h:
940         * html/HTMLParagraphElement.cpp:
941         (WebCore::HTMLParagraphElement::HTMLParagraphElement):
942         * html/HTMLParagraphElement.h:
943         * html/HTMLParamElement.cpp:
944         (WebCore::HTMLParamElement::HTMLParamElement):
945         * html/HTMLParamElement.h:
946         * html/HTMLParser.cpp:
947         (WebCore::HTMLParser::handleError):
948         (WebCore::HTMLParser::mapCreateErrorCheck):
949         (WebCore::HTMLParser::handleIsindex):
950         * html/HTMLScriptElement.cpp:
951         (WebCore::HTMLScriptElement::HTMLScriptElement):
952         * html/HTMLScriptElement.h:
953         * html/HTMLTableCaptionElement.cpp:
954         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
955         * html/HTMLTableCaptionElement.h:
956         * html/HTMLTableElement.cpp:
957         (WebCore::HTMLTableElement::HTMLTableElement):
958         (WebCore::HTMLTableElement::createCaption):
959         (WebCore::HTMLTableElement::insertRow):
960         * html/HTMLTableElement.h:
961         * html/HTMLTableRowElement.cpp:
962         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
963         * html/HTMLTableRowElement.h:
964         * html/HTMLTableSectionElement.cpp:
965         (WebCore::HTMLTableSectionElement::insertRow):
966         * html/HTMLViewSourceDocument.cpp:
967         (WebCore::HTMLViewSourceDocument::createContainingTable):
968         (WebCore::HTMLViewSourceDocument::addLine):
969         * loader/ImageDocument.cpp:
970         (WebCore::ImageDocumentElement::ImageDocumentElement):
971
972 2008-12-04  Eric Seidel  <eric@webkit.org>
973
974         No review, build fix only.
975
976         Add file missing from last commit.
977
978         * bindings/js/ScriptState.h: Added.
979
980 2008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
981
982         Reviewed by Geoff Garen.
983
984         Implement ScriptState abstraction (initially, a simple typedef)
985         as means of carrying exception information across bindings boundaries
986         and in a script engine-independent way.
987
988         * WebCore.vcproj/WebCore.vcproj:
989         * WebCore.xcodeproj/project.pbxproj:
990         * bindings/js/JSDOMBinding.cpp:
991         (WebCore::scriptStateFromNode):
992         * bindings/js/JSDOMBinding.h:
993         * bindings/js/JSNodeFilterCondition.h:
994         * bindings/js/ScriptState.h: Added.
995         * dom/NodeFilter.cpp:
996         (WebCore::NodeFilter::acceptNode):
997         * dom/NodeFilter.h:
998         (WebCore::NodeFilter::acceptNode):
999         * dom/NodeFilterCondition.cpp:
1000         (WebCore::NodeFilterCondition::acceptNode):
1001         * dom/NodeFilterCondition.h:
1002         * dom/NodeIterator.cpp:
1003         (WebCore::NodeIterator::nextNode):
1004         (WebCore::NodeIterator::previousNode):
1005         * dom/NodeIterator.h:
1006         (WebCore::NodeIterator::nextNode):
1007         (WebCore::NodeIterator::previousNode):
1008         * dom/Traversal.cpp:
1009         (WebCore::Traversal::acceptNode):
1010         * dom/Traversal.h:
1011         * dom/TreeWalker.cpp:
1012         (WebCore::TreeWalker::parentNode):
1013         (WebCore::TreeWalker::firstChild):
1014         (WebCore::TreeWalker::lastChild):
1015         (WebCore::TreeWalker::previousSibling):
1016         (WebCore::TreeWalker::nextSibling):
1017         (WebCore::TreeWalker::previousNode):
1018         (WebCore::TreeWalker::nextNode):
1019         * dom/TreeWalker.h:
1020         (WebCore::TreeWalker::parentNode):
1021         (WebCore::TreeWalker::firstChild):
1022         (WebCore::TreeWalker::lastChild):
1023         (WebCore::TreeWalker::previousSibling):
1024         (WebCore::TreeWalker::nextSibling):
1025         (WebCore::TreeWalker::previousNode):
1026         (WebCore::TreeWalker::nextNode):
1027
1028 2008-12-04  Pierre-Olivier Latour  <pol@apple.com>
1029
1030         Reviewed by Dan Bernstein.
1031
1032         Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
1033         and potential similar issue with pauseAnimationAtTimeOnElementWithId().
1034
1035         https://bugs.webkit.org/show_bug.cgi?id=22641
1036
1037         * page/animation/CompositeAnimation.cpp:
1038         (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
1039         (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
1040
1041 2008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
1042
1043         Reviewed by Darin Adler.
1044
1045         Remove unused Completion.h include.
1046
1047         * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
1048
1049 2008-11-13  David Hyatt  <hyatt@apple.com>
1050
1051         Fix a bug in ScrollView's refactoring.  An isVisible check should have been isSelfVisible.
1052
1053         Reviewed by Darin Adler
1054
1055         * platform/ScrollView.cpp:
1056         (WebCore::ScrollView::setParentVisible):
1057
1058 2008-12-04  Friedemann Kleint  <friedemann.kleint@nokia.com>
1059
1060         Reviewed by Tor Arne Vestbø.
1061
1062         Fix small translation glitch in the Qt file chooser.
1063
1064         * platform/qt/FileChooserQt.cpp:
1065         (WebCore::FileChooser::basenameForWidth):
1066
1067 2008-12-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
1068
1069         Rubber-stamped by Simon Hausmann.
1070
1071         Blacklist Silverlight plugin on Qt/Mac until supported
1072
1073         Currently the plugin crashes with a corrupted stack trace, possibly
1074         related to https://bugs.webkit.org/show_bug.cgi?id=20635
1075
1076         * plugins/mac/PluginPackageMac.cpp:
1077         (WebCore::PluginPackage::fetchInfo):
1078         (WebCore::PluginPackage::isPluginBlacklisted):
1079
1080 2008-12-03  Dmitry Titov  <dimich@chromium.org>
1081
1082         Reviewed by Alexey Proskuryakov.
1083
1084         Fix non-Mac build.
1085
1086         * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1087
1088 2008-12-03  David Levin  <levin@chromium.org>
1089
1090         Reviewed by Alexey Proskuryakov.
1091
1092         Remove uses of document() in XMLHttpRequest where simple.
1093         https://bugs.webkit.org/show_bug.cgi?id=22619
1094
1095         * xml/XMLHttpRequest.cpp:
1096         (WebCore::XMLHttpRequest::responseXML):
1097         Return NULL in the worker case which is according to spec (and avoids using document()).
1098
1099         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1100         (WebCore::XMLHttpRequest::initSend):
1101         Use scriptExecutionContext() instead of document().
1102
1103 2008-12-03  David Levin  <levin@chromium.org>
1104
1105         Reviewed by Alexey Proskuryakov.
1106
1107         Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
1108         https://bugs.webkit.org/show_bug.cgi?id=22642
1109
1110         * dom/Document.cpp:
1111         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
1112         (WebCore::ScriptExecutionContextTaskTimer::fired):
1113         (WebCore::PerformTaskContext::PerformTaskContext):
1114         (WebCore::performTask):
1115         (WebCore::Document::postTask):
1116         * dom/Document.h:
1117         * dom/ScriptExecutionContext.cpp:
1118         * dom/ScriptExecutionContext.h:
1119         * dom/WorkerContext.cpp:
1120         (WebCore::ScriptExecutionContextTaskWorkerTask::create):
1121         (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
1122         (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
1123         (WebCore::WorkerContext::postTask):
1124         * dom/WorkerContext.h:
1125
1126 2008-12-03  Dmitry Titov  <dimich@chromium.org>
1127
1128         Reviewed by Alexey Proskuryakov.
1129
1130         Using ActiveDOMObject as base class for DOMTimer.
1131         https://bugs.webkit.org/show_bug.cgi?id=22620
1132
1133         Using ActiveDOMObject simplifies the code because ActiveDOMObject
1134         is wired for stop/pause/resume on loading/unloading/caching the page etc
1135         so the timer-specific code that does the same can be removed.
1136         In addition, timers can be now paused/resumed 'in place' which
1137         makes it unnecessary to 'serialize' them into special PausedTimeouts
1138         instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
1139         Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
1140         of timeouts and makes it possible to not roundtrip them via PausedTimeouts 
1141         every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
1142
1143         Timeouts are now paused with other ActiveDOMObjects:
1144         - before creating CachedPage in FrameLoader::commitProvisionalLoad()
1145         - in JavaScriptDebugServer::setJavaScriptPaused
1146         - during modal UI operations in Chrome::*
1147         this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
1148
1149         Timeouts are stopped to prevent future firing from:
1150         - FrameLoader::clear()
1151         - FrameLoader::frameDetached()
1152         this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
1153
1154         This is also one of the steps to having timers in Workers. See the plan of
1155         the next steps in the bug above.
1156
1157         * bindings/js/DOMTimer.cpp:
1158         (WebCore::DOMTimer::DOMTimer):
1159         (WebCore::DOMTimer::fired):
1160         (WebCore::DOMTimer::hasPendingActivity):
1161         (WebCore::DOMTimer::contextDestroyed):
1162         (WebCore::DOMTimer::stop):
1163         (WebCore::DOMTimer::suspend):
1164         (WebCore::DOMTimer::resume):
1165         (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
1166
1167         * bindings/js/DOMTimer.h:
1168         * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
1169         (WebCore::markActiveObjectsForContext): 
1170
1171         * bindings/js/JSDOMWindowBase.cpp:
1172         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1173         (WebCore::JSDOMWindowBase::clear):
1174         (WebCore::JSDOMWindowBase::installTimeout):
1175         (WebCore::JSDOMWindowBase::removeTimeout):
1176         (WebCore::JSDOMWindowBase::timerFired):
1177         (WebCore::JSDOMWindowBase::disconnectFrame):
1178         * bindings/js/JSDOMWindowBase.h:
1179         * bindings/js/ScriptController.cpp:
1180         * bindings/js/ScriptController.h:
1181
1182         * dom/Document.cpp: Document now holds a hash map id->timeout
1183         (WebCore::Document::addTimeout):
1184         (WebCore::Document::removeTimeout):
1185         (WebCore::Document::findTimeout):
1186         * dom/Document.h:
1187         * history/CachedPage.cpp:
1188         (WebCore::CachedPage::CachedPage):
1189         (WebCore::CachedPage::restore):
1190         (WebCore::CachedPage::clear):
1191         * history/CachedPage.h:
1192         * inspector/JavaScriptDebugServer.cpp:
1193         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
1194         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
1195         * inspector/JavaScriptDebugServer.h:
1196
1197         * loader/FrameLoader.cpp:
1198         (WebCore::FrameLoader::commitProvisionalLoad): 
1199         removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
1200         I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
1201         and then calls into client which can be external code and can cause any active object created in onunload
1202         to fire. We can stop them all before firing onunload but it does not make a lot of sense.
1203         I have a test to go with the next patch which verifies that timers set in onunload do not fire.
1204
1205         (WebCore::FrameLoader::open):
1206         * page/Chrome.cpp:
1207         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1208         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1209
1210 2008-12-03  Justin Garcia  <justin.garcia@apple.com>
1211
1212         Reviewed by Beth Dakin.
1213
1214         <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
1215         
1216         In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
1217         end of pasted content so that users don't get stuck with non-standard pargraph
1218         spacing.  This content threw off our handling of interchange newlines.  Any interchange
1219         newline, regardless of it's position in the incoming fragment was considered to be
1220         "at the start" of the fragment, and would result in us inserting in a newline before 
1221         inserted content.  This patch makes the checks for interchange newlines more strict, 
1222         and treats interchange newlines found elsewhere as normal <br>s.
1223
1224         * editing/ReplaceSelectionCommand.cpp:
1225         (WebCore::ReplacementFragment::ReplacementFragment):
1226         (WebCore::ReplacementFragment::removeInterchangeNodes):
1227         * editing/VisiblePosition.cpp:
1228         (WebCore::VisiblePosition::init):
1229         (WebCore::VisiblePosition::canonicalPosition):
1230         * editing/VisiblePosition.h:
1231
1232 2008-12-03  Eric Seidel  <eric@webkit.org>
1233
1234         Rubber-stamped by David Hyatt.
1235
1236         Bring the WebCore chromium build a couple steps closer to building.
1237
1238         * WebCore.scons:
1239
1240 2008-12-03  Kevin Ollivier  <kevino@theolliviers.com>
1241
1242         wx build fix.
1243
1244         * WebCoreSources.bkl:
1245
1246 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1247
1248         Reviewed by George Staikos.
1249
1250         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
1251
1252         Implement WML variable substitution & validation.
1253         Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
1254
1255         Tests: wml/variable-reference-invalid-character.html
1256                wml/variable-reference-valid.html
1257
1258         * wml/WMLVariables.cpp:
1259         (WebCore::isValidFirstVariableNameCharacter):
1260         (WebCore::isValidVariableNameCharacter):
1261         (WebCore::isValidVariableEscapingModeString):
1262         (WebCore::isValidVariableName):
1263         (WebCore::containsVariableReference):
1264         (WebCore::substituteVariableReferences):
1265         * wml/WMLVariables.h:
1266
1267 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1268
1269         Reviewed by Cameron Zwarich.
1270
1271         Further preparations for WML layout tests.
1272         - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
1273         - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
1274         - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
1275           (will be used in the upcoming LayoutTests/wml testcases)
1276
1277          * dom/Document.cpp:
1278         (WebCore::Document::resetWMLPageState):
1279         * dom/Document.h:
1280         * dom/Document.idl:
1281         * dom/Text.cpp:
1282         (WebCore::Text::insertedIntoDocument):
1283         * dom/Text.h:
1284         * page/Console.cpp:
1285         (WebCore::Console::addMessage):
1286         * wml/WMLPageState.h: Readd heper function
1287         (WebCore::WMLPageState::hasVariables):
1288
1289 2008-12-03  Antti Koivisto  <antti@apple.com>
1290
1291         Reviewed by Sam Weinig.
1292
1293         Don't leak selectors in case selector list parsing failed.
1294
1295         * css/CSSGrammar.y:
1296         * css/CSSParser.cpp:
1297         (WebCore::CSSParser::~CSSParser):
1298
1299 2008-12-03  Chris Marrin  <cmarrin@apple.com>
1300
1301         Reviewed by Dave Hyatt.
1302
1303         Fix https://bugs.webkit.org/show_bug.cgi?id=22520
1304
1305         This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
1306         This patch fixes the testcase.
1307
1308         This is another case of animations getting destroyed in the end animation callback and causing dangling
1309         pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
1310         So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
1311         and skip that call.
1312
1313         * page/animation/AnimationBase.cpp:
1314         (WebCore::AnimationBase::updateStateMachine):
1315
1316 2008-12-03  Antti Koivisto  <antti@apple.com>
1317
1318         Reviewed by Darin Adler.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=22379
1321         Make CSSOM use less memory
1322
1323         Reduce size of the CSSSelector by one more pointer by using an array
1324         instead of a linked list to store them.
1325
1326         * WebCore.xcodeproj/project.pbxproj:
1327         * css/CSSGrammar.y:
1328         * css/CSSParser.cpp:
1329         (WebCore::CSSParser::CSSParser):
1330         (WebCore::CSSParser::parseSelector):
1331         (WebCore::CSSParser::createStyleRule):
1332         * css/CSSParser.h:
1333         (WebCore::CSSParser::reusableSelectorVector):
1334         * css/CSSSelector.h:
1335         (WebCore::CSSSelector::CSSSelector):
1336         (WebCore::CSSSelector::~CSSSelector):
1337         (WebCore::CSSSelector::isLastInSelectorList):
1338         (WebCore::CSSSelector::setLastInSelectorList):
1339         * css/CSSStyleRule.cpp:
1340         (WebCore::CSSStyleRule::CSSStyleRule):
1341         (WebCore::CSSStyleRule::~CSSStyleRule):
1342         (WebCore::CSSStyleRule::selectorText):
1343         * css/CSSStyleRule.h:
1344         (WebCore::CSSStyleRule::adoptSelectorVector):
1345         (WebCore::CSSStyleRule::selectorList):
1346         * css/CSSStyleSelector.cpp:
1347         (WebCore::CSSRuleSet::addRulesFromSheet):
1348         * dom/Node.cpp:
1349         (WebCore::forEachSelector):
1350         (WebCore::selectorNeedsNamespaceResolution):
1351         (WebCore::Node::querySelector):
1352         (WebCore::Node::querySelectorAll):
1353         * dom/SelectorNodeList.cpp:
1354         (WebCore::createSelectorNodeList):
1355         * dom/SelectorNodeList.h:
1356
1357 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
1358
1359         Reviewed by Darin Adler.
1360
1361         https://bugs.webkit.org/show_bug.cgi?id=22630
1362         Assertion failure in XMLHttpRequest::contextDestroyed
1363
1364         Test: http/tests/xmlhttprequest/close-window.html
1365
1366         * loader/FrameLoader.cpp:
1367         (WebCore::FrameLoader::clear):
1368         (WebCore::FrameLoader::commitProvisionalLoad):
1369         Move stopping active objects to clear(), so that closing a window is also covered.
1370
1371         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
1372         because internalAbort() deref()'s.
1373
1374 2008-12-03  Dean Jackson  <dino@apple.com>
1375
1376         Reviewed by Dan Bernstein.
1377
1378         Implement CSS 3 <angle> turn unit and support it
1379         in rotations.
1380         https://bugs.webkit.org/show_bug.cgi?id=22497
1381
1382         * css/CSSGrammar.y:
1383         * css/CSSParser.cpp:
1384         (WebCore::CSSParser::validUnit):
1385         (WebCore::unitFromString):
1386         (WebCore::CSSParser::lex):
1387         * css/CSSPrimitiveValue.cpp:
1388         (WebCore::CSSPrimitiveValue::cssText):
1389         (WebCore::CSSPrimitiveValue::parserValue):
1390         * css/CSSPrimitiveValue.h:
1391         (WebCore::CSSPrimitiveValue::):
1392         * css/CSSStyleSelector.cpp:
1393         (WebCore::CSSStyleSelector::createTransformOperations):
1394         * css/tokenizer.flex:
1395
1396 2008-12-03  Dirk Schulze  <krit@webkit.org>
1397
1398         Reviewed by Nikolas Zimmermann.
1399
1400         Make use of the gradient code in GraphicsContext and get rid of most of the
1401         platform dependent code.
1402
1403         SVG should use the new Gradient support on GraphicsContext
1404         https://bugs.webkit.org/show_bug.cgi?id=20543
1405
1406         * GNUmakefile.am:
1407         * WebCore.pro:
1408         * WebCore.vcproj/WebCore.vcproj:
1409         * WebCore.xcodeproj/project.pbxproj:
1410         * platform/graphics/FloatSize.h:
1411         (WebCore::FloatSize::shrunkTo):
1412         * svg/SVGLinearGradientElement.cpp:
1413         (WebCore::SVGLinearGradientElement::buildGradient):
1414         * svg/SVGRadialGradientElement.cpp:
1415         (WebCore::SVGRadialGradientElement::buildGradient):
1416         * svg/graphics/SVGPaintServer.h:
1417         * svg/graphics/SVGPaintServerGradient.cpp:
1418         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1419         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
1420         (WebCore::SVGPaintServerGradient::gradient):
1421         (WebCore::SVGPaintServerGradient::setGradient):
1422         (WebCore::findTextRootObject):
1423         (WebCore::createMaskAndSwapContextForTextGradient):
1424         (WebCore::clipToTextMask):
1425         (WebCore::SVGPaintServerGradient::setup):
1426         (WebCore::SVGPaintServerGradient::renderPath):
1427         (WebCore::SVGPaintServerGradient::teardown):
1428         * svg/graphics/SVGPaintServerGradient.h:
1429         (WebCore::SVGPaintServerGradient::setGradientStops):
1430         (WebCore::SVGPaintServerGradient::gradientStops):
1431         * svg/graphics/SVGPaintServerLinearGradient.h:
1432         * svg/graphics/SVGPaintServerRadialGradient.h:
1433         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
1434         * svg/graphics/cg/SVGPaintServerCg.cpp:
1435         * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
1436         * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
1437         * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
1438         * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
1439
1440 2008-12-03  Sam Weinig  <sam@webkit.org>
1441
1442         Reviewed by Mark Rowe.
1443
1444         Fix formatting.
1445
1446         * css/CSSSelector.h:
1447         (WebCore::CSSSelector::createRareData):
1448
1449 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1450
1451         Reviewed by Adam Roben.
1452
1453         As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
1454
1455         * inspector/front-end/Console.js:
1456         * page/Console.h:
1457
1458 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1459
1460         Reviewed by Alexey Proskuryakov.
1461
1462         Next steps to make LayoutTests work:
1463         Never access the main frame from WMLRefreshElement/WMLCardElement, but
1464         the current documents frame (WML layout tests will run in an <iframe>)
1465
1466         Prepare WMLErrorHandling for the case that no tokenizer is available anymore
1467         -> report errors through Console::addMessage(), so they get logged in the
1468            expected layout test results.
1469
1470         * wml/WMLCardElement.cpp:
1471         (WebCore::WMLCardElement::setActiveCardInDocument):
1472         * wml/WMLErrorHandling.cpp:
1473         (WebCore::reportWMLError):
1474         (WebCore::errorMessageForErrorCode):
1475         * wml/WMLErrorHandling.h:
1476         * wml/WMLRefreshElement.cpp:
1477         (WebCore::WMLRefreshElement::executeTask):
1478         * page/Console.cpp: Handle WMLMessageSource.
1479         (WebCore::printMessageSourceAndLevelPrefix):
1480         * page/Console.h: Add WMLMessageSource.
1481         (WebCore::):
1482
1483 2008-12-03  Tor Arne Vestbø  <tavestbo@trolltech.com>
1484
1485         Reviewed by Simon Hausmann.
1486
1487         Allow passing jsNull and jsUndefined to Qt plugins
1488
1489         Currently limited to functions with QString and QVariant arguments,
1490         and properties of these types. Both jsNull and jsUndefined ends up
1491         as default-constructed QStrings and QVariants, which means you can
1492         check for isEmpty() and isValid() in the native plugin code.
1493
1494         Based on patches by Jade Han <jade.han@nokia.com>
1495
1496         * bridge/qt/qt_runtime.cpp:
1497         (JSC::Bindings::convertValueToQVariant):
1498         (JSC::Bindings::findMethodIndex):
1499
1500 2008-12-03  Trenton Schulz  <trenton.schulz@nokia.com>
1501
1502         Reviewed by Simon Hausmann.
1503
1504         Fix the build with Qt for Mac OS X.
1505
1506         * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
1507
1508 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1509
1510         Reviewed by Alexey Proskuryakov.
1511
1512         Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
1513         in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
1514         reported, instead of 'WMLErrorInvalidVariableReference'.
1515
1516         * wml/WMLElement.cpp:
1517         (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
1518         (WebCore::WMLElement::parseValueForbiddingVariableReferences):
1519         * wml/WMLElement.h:
1520         * wml/WMLSetvarElement.cpp:
1521         (WebCore::WMLSetvarElement::parseMappedAttribute):
1522         * wml/WMLSetvarElement.h:
1523         (WebCore::WMLSetvarElement::name):
1524         (WebCore::WMLSetvarElement::value):
1525
1526 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1527
1528         Reviewed by Alexey Proskuryakov.
1529
1530         Preparations to get WML layout tests going.
1531         Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
1532
1533         * page/Page.cpp:
1534         (WebCore::Page::Page):
1535         (WebCore::Page::wmlPageState):
1536         * page/Page.h:
1537         * wml/WMLDocument.cpp:
1538         (WebCore::WMLDocument::WMLDocument):
1539         (WebCore::WMLDocument::finishedParsing):
1540         (WebCore::wmlPageStateForDocument):
1541         * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
1542         (WebCore::WMLPageState::hasVariables): Remove helper function.
1543
1544 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
1545
1546         Reviewed by Mark Rowe.
1547
1548         https://bugs.webkit.org/show_bug.cgi?id=22627
1549         fast/workers/worker-terminate.html fails randomly
1550
1551         The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
1552         is raised, and it sometimes reaches the main thread.
1553
1554         * dom/WorkerMessagingProxy.cpp:
1555         (WebCore::WorkerExceptionTask::create):
1556         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
1557         (WebCore::WorkerExceptionTask::performTask):
1558         (WebCore::WorkerMessagingProxy::postWorkerException):
1559         * dom/WorkerMessagingProxy.h:
1560         Ignore exceptions that happen in terminated workers.
1561
1562 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1563
1564         Reviewed by Alexey Proskuryakov.
1565
1566         Remove some unncessary includes.
1567
1568         * wml/WMLAccessElement.cpp:
1569         * wml/WMLDocument.h:
1570         * wml/WMLRefreshElement.cpp:
1571
1572 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
1573
1574         Rubber-stamped by Cameron Zwarich and Adam Roben.
1575
1576         Fix a typo: m_executionForbidded.
1577
1578         * bindings/js/WorkerScriptController.cpp:
1579         (WebCore::WorkerScriptController::WorkerScriptController):
1580         (WebCore::WorkerScriptController::evaluate):
1581         (WebCore::WorkerScriptController::forbidExecution):
1582         * bindings/js/WorkerScriptController.h:
1583
1584 2008-12-03  Dean McNamee  <deanm@chromium.org>
1585
1586         Bug 22623: Uninitialized memory access in cache parsing code
1587         <https://bugs.webkit.org/show_bug.cgi?id=22623>
1588
1589         Reviewed by David Kilzer.
1590
1591         Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
1592
1593         * platform/network/ResourceResponseBase.h:
1594         (WebCore::ResourceResponseBase::ResourceResponseBase):
1595
1596 2008-12-03  Antti Koivisto  <antti@apple.com>
1597
1598         Probable build fix.
1599
1600         * WebCoreSources.bkl:
1601
1602 2008-12-03  Antti Koivisto  <antti@apple.com>
1603
1604         Forgot to commit these.
1605
1606         * dom/Node.cpp:
1607         (WebCore::forEachTagSelector):
1608         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1609         (WebCore::Node::querySelector):
1610         * dom/SelectorNodeList.cpp:
1611         (WebCore::createSelectorNodeList):
1612
1613 2008-12-03  Antti Koivisto  <antti@apple.com>
1614
1615         Reviewed by Dan Bernstein and Mark Rowe.
1616
1617         https://bugs.webkit.org/show_bug.cgi?id=22379
1618         Make CSSOM use less memory
1619
1620         Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
1621         struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
1622         encountered had rare data.
1623         
1624         This also eliminates the CSSNthSelector subclass which will make possible to store
1625         CSSSelectors in an array instead of a linked list for futher memory savings.
1626
1627         * css/CSSGrammar.y:
1628         * css/CSSNthSelector.cpp: Removed.
1629         * css/CSSNthSelector.h: Removed.
1630         * css/CSSParser.cpp:
1631         (WebCore::CSSParser::createFloatingSelector):
1632         * css/CSSParser.h:
1633         * css/CSSSelector.cpp:
1634         (WebCore::CSSSelector::specificity):
1635         (WebCore::CSSSelector::operator==):
1636         (WebCore::CSSSelector::selectorText):
1637         (WebCore::CSSSelector::setTagHistory):
1638         (WebCore::CSSSelector::attribute):
1639         (WebCore::CSSSelector::setAttribute):
1640         (WebCore::CSSSelector::setArgument):
1641         (WebCore::CSSSelector::setSimpleSelector):
1642         (WebCore::CSSSelector::parseNth):
1643         (WebCore::CSSSelector::matchNth):
1644         (WebCore::CSSSelector::RareData::parseNth):
1645         (WebCore::CSSSelector::RareData::matchNth):
1646         * css/CSSSelector.h:
1647         (WebCore::CSSSelector::CSSSelector):
1648         (WebCore::CSSSelector::~CSSSelector):
1649         (WebCore::CSSSelector::tagHistory):
1650         (WebCore::CSSSelector::hasAttribute):
1651         (WebCore::CSSSelector::argument):
1652         (WebCore::CSSSelector::simpleSelector):
1653         (WebCore::CSSSelector::RareData::RareData):
1654         (WebCore::CSSSelector::createRareData):
1655         (WebCore::CSSSelector::):
1656         * css/CSSStyleSelector.cpp:
1657         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1658         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1659
1660 2008-12-03  Jian Li  <jianli@chromium.org>
1661
1662         Reviewed by Alexey Proskuryakov.
1663
1664         Remove unneeded included file in WorkerThread.cpp.
1665         https://bugs.webkit.org/show_bug.cgi?id=22613
1666
1667         * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
1668
1669 2008-12-02  Alexey Proskuryakov  <ap@webkit.org>
1670
1671         Reviewed by Maciej Stachowiak.
1672
1673         https://bugs.webkit.org/show_bug.cgi?id=22543
1674         Consolidate ActiveDOMObject page cache interaction
1675
1676         Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
1677
1678         * dom/ActiveDOMObject.cpp:
1679         (WebCore::ActiveDOMObject::canSuspend):
1680         (WebCore::ActiveDOMObject::suspend):
1681         (WebCore::ActiveDOMObject::resume):
1682         * dom/ActiveDOMObject.h:
1683         * dom/ScriptExecutionContext.cpp:
1684         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1685         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1686         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1687         * dom/ScriptExecutionContext.h:
1688         Added methods for suspending and resuming active objects.
1689
1690         * dom/Worker.cpp:
1691         (WebCore::Worker::canSuspend):
1692         (WebCore::Worker::stop):
1693         * dom/Worker.h:
1694         Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
1695         running until their owner was destroyed.
1696
1697         * loader/FrameLoader.cpp:
1698         (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
1699         their activity is not necessarily loading.
1700         (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
1701         Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
1702         uncacheable due to no-null main document error.
1703         (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
1704         whether the document will be cached.
1705         (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
1706         context is destroyed.
1707
1708         * xml/XMLHttpRequest.h: added canSuspend().
1709         * xml/XMLHttpRequest.cpp:
1710         (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
1711         (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
1712         for Firefox compatibility. This is a change in behavior that helps test that requests do
1713         get aborted.
1714         (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
1715         assert that.
1716
1717 2008-12-02  Chris Fleizach  <cfleizach@apple.com>
1718
1719         Reviewed by Beth Dakin.
1720
1721         Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
1722
1723         Test: accessibility/th-as-title-ui.html
1724
1725         * page/AccessibilityObject.h:
1726         (WebCore::AccessibilityObject::isGroup):
1727         * page/AccessibilityRenderObject.cpp:
1728         (WebCore::AccessibilityRenderObject::isGroup):
1729         * page/AccessibilityRenderObject.h:
1730         * page/AccessibilityTableCell.cpp:
1731         (WebCore::AccessibilityTableCell::rowIndexRange):
1732         (WebCore::AccessibilityTableCell::columnIndexRange):
1733         (WebCore::AccessibilityTableCell::titleUIElement):
1734         * page/AccessibilityTableCell.h:
1735         * page/mac/AccessibilityObjectWrapper.mm:
1736         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1737
1738 2008-12-02  Simon Fraser  <simon.fraser@apple.com>
1739
1740         Reviewed by Dave Hyatt
1741
1742         https://bugs.webkit.org/show_bug.cgi?id=22472
1743         
1744         Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
1745         that is large enough to encompass the selection, so that the repainting of
1746         selected replaced elements works correctly.
1747         
1748         Test: fast/repaint/selected-replaced.html
1749
1750         * rendering/RenderReplaced.cpp:
1751         (WebCore::RenderReplaced::selectionRect):
1752         (WebCore::RenderReplaced::localSelectionRect):
1753         (WebCore::RenderReplaced::absoluteClippedOverflowRect):
1754         * rendering/RenderReplaced.h:
1755
1756 2008-12-02  Gregory Hughes  <ghughes@apple.com>
1757
1758         Reviewed by Beth Dakin.
1759
1760         Bug 22513: ZOOM: text selection does not send correct zoom bounds
1761
1762         When zoomed, text selection must send the zoom bounds in flipped
1763         screen coordinates.
1764
1765         * editing/mac/SelectionControllerMac.mm:
1766         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1767         * page/mac/WebCoreViewFactory.h:
1768
1769 2008-12-02  Dean Jackson  <dino@apple.com>
1770
1771         Reviewed by Sam Weinig.
1772
1773         Remove support for 'now' from CSS (was
1774         erroneously added to transition and animation delay)
1775         https://bugs.webkit.org/show_bug.cgi?id=22571
1776
1777         * css/CSSParser.cpp:
1778         (WebCore::CSSParser::parseAnimationDelay):
1779         * css/CSSStyleSelector.cpp:
1780         (WebCore::CSSStyleSelector::mapAnimationDelay):
1781         * css/CSSValueKeywords.in:
1782
1783 2008-12-02  Eric Seidel  <eric@webkit.org>
1784
1785         Build fix, no review.
1786
1787         Fix the Mac and gtk builds:
1788         Don't use a float to hold a double.
1789         Remove a now duplicate symbol.
1790
1791         * page/Frame.cpp:
1792         (WebCore::Frame::selectionLayoutChanged):
1793         * platform/gtk/TemporaryLinkStubs.cpp:
1794
1795 2008-12-02  Chris Fleizach  <cfleizach@apple.com>
1796
1797         Bug 22596: Some elements don't report AXBlockQuoteLevel
1798         https://bugs.webkit.org/show_bug.cgi?id=22596
1799  
1800         Reviewed by John Sullivan.
1801
1802         * page/mac/AccessibilityObjectWrapper.mm:
1803         (blockquoteLevel):
1804         (AXAttributeStringSetBlockquoteLevel):
1805         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1806         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1807
1808 2008-12-02  Dean McNamee  <deanm@chromium.org>
1809
1810         Reviewed by Eric Seidel.
1811
1812         Correctly handle a theme returning a non-blinking interval.  We should
1813         not set any timers when the interval is 0 (non-blinking), otherwise we
1814         repeatedly set and destroy a blinking timer, causing a paint and timer
1815         storm.  This is applicable to GTK and Windows, where a user can set a
1816         non-blinking caret in their system preferences.
1817
1818         Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
1819
1820         * page/Frame.cpp:
1821         (WebCore::Frame::selectionLayoutChanged):
1822         * platform/Theme.h:
1823         (WebCore::Theme::caretBlinkInterval):
1824         * platform/gtk/RenderThemeGtk.cpp:
1825         (WebCore::RenderThemeGtk::caretBlinkInterval):
1826         * platform/gtk/RenderThemeGtk.h:
1827         * rendering/RenderTheme.h:
1828         (WebCore::RenderTheme::caretBlinkInterval):
1829
1830 2008-12-02  David Levin  <levin@chromium.org>
1831
1832         Reviewed by Eric Seidel.
1833
1834         https://bugs.webkit.org/show_bug.cgi?id=22538
1835         
1836         startsWith uses find which searches through the whole string if no match is found.
1837         Using reverseFind with an index of 0 has the benefit of only searching for the match
1838         at the beginning of the string.  This may only be a small benefit in the overall program,
1839         but it may help in some cases when the string is big.
1840
1841         No observable change in behavior, so no test.
1842  
1843         * platform/text/StringImpl.h:
1844         (WebCore::StringImpl::startsWith):
1845
1846 2008-10-29  Eric Seidel  <eric@webkit.org>
1847
1848         Reviewed by Darin Adler.
1849
1850         Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
1851         https://bugs.webkit.org/show_bug.cgi?id=21951
1852
1853         * svg/SVGElementInstance.cpp:
1854         (WebCore::SVGElementInstance::forgetWrapper):
1855
1856 2008-12-02  Eric Seidel  <eric@webkit.org>
1857
1858         Reviewed by Darin Adler.
1859
1860         Add an ASSERT to try and catch the root cause of:
1861         https://bugs.webkit.org/show_bug.cgi?id=22168
1862         http://code.google.com/p/chromium/issues/detail?id=4122
1863
1864         * editing/TextIterator.cpp:
1865         (WebCore::TextIterator::emitText):
1866
1867 2008-12-02  Brent Fulgham  <bfulgham@gmail.com>
1868
1869         Reviewed by Adam Roben.
1870
1871         Remove some CG-specific code from the Windows Cairo build.
1872         https://bugs.webkit.org/show_bug.cgi?id=22586
1873
1874         No new test cases since this update should create no user-visible
1875         changes, and should be fully covered by the existing regression
1876         tests.
1877
1878         * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
1879         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1880         (WebCore::focusRingColor): Add stub method
1881         * platform/win/TemporaryLinkStubs.cpp:
1882         (WebCore::populateFontDatabase): Add stub method.
1883
1884 2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1885
1886         Reviewed by Tor Arne Vestbø.
1887
1888         MinGW compilation fix for PluginPackageWin.cpp
1889
1890         https://bugs.webkit.org/show_bug.cgi?id=22585
1891
1892         * plugins/win/PluginPackageWin.cpp:
1893         (WebCore::PluginPackage::fetchInfo):
1894
1895 2008-12-02  Adam Roben  <aroben@apple.com>
1896
1897         Build fix for Windows projects with NOMINMAX defined globally
1898
1899         * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
1900         defined.
1901
1902 2008-12-02  Simon Hausmann  <hausmann@webkit.org>
1903
1904         Reviewed by Tor Arne Vestbø.
1905
1906         Build JavaScriptCore into libQtWebKit.so through a direct build
1907         instead of a static library. When linking a static library into
1908         a shared library qmake generates an incorrect .prl file, which
1909         causes all sorts of different build problems when linking against
1910         QtWebKit. Fixing this in qmake requires bigger changes that are
1911         currently not possible, so we need to work around this limitation
1912         for now. The advantages of the separate build did not outweight the
1913         build problems it caused.
1914
1915         * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
1916         and rename the lut generator to domlut to avoid a conflict with
1917         JavaScriptCore.pri's lut generator.
1918
1919 2008-12-02  David Levin  <levin@chromium.org>
1920
1921         Reviewed by Alexey Proskuryakov.
1922
1923         https://bugs.webkit.org/show_bug.cgi?id=22588
1924         Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
1925
1926         No observable change in behavior, so no test.
1927         
1928         * dom/Document.cpp:
1929         (WebCore::Document::open):
1930         (WebCore::Document::domain):
1931         (WebCore::Document::setDomain):
1932         (WebCore::Document::initSecurityContext):
1933         (WebCore::Document::setSecurityOrigin):
1934         * dom/Document.h:
1935         * dom/ScriptExecutionContext.cpp:
1936         (WebCore::ScriptExecutionContext::setSecurityOrigin):
1937         * dom/ScriptExecutionContext.h:
1938         (WebCore::ScriptExecutionContext::securityOrigin):
1939         * dom/WorkerContext.cpp:
1940         (WebCore::WorkerContext::WorkerContext):
1941         * dom/WorkerContext.h:
1942         These changes are for the move of securityOrigin().
1943         
1944         * xml/XMLHttpRequest.cpp:
1945         (WebCore::XMLHttpRequest::createRequest):
1946         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1947         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1948         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1949         (WebCore::XMLHttpRequest::setRequestHeader):
1950         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1951         (WebCore::XMLHttpRequest::getResponseHeader):
1952         (WebCore::XMLHttpRequest::processSyncLoadResults):
1953         (WebCore::XMLHttpRequest::willSendRequest):
1954         (WebCore::XMLHttpRequest::accessControlCheck):
1955         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1956         Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
1957
1958 2008-12-02  André Pönitz  <apoenitz@trolltech.com>
1959
1960         Reviewed by Simon Hausmann.
1961
1962         Disable the creation of debug information for the Qt build when done
1963         inside Qt. With 670 mb it was slowing down gdb start significantly
1964         for third-party applications that usually don't need it.
1965
1966         * WebCore.pro:
1967
1968 2008-12-01  Beth Dakin  <bdakin@apple.com>
1969
1970         Reviewed by Dan Bernstein.
1971
1972         Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION 
1973         (r19811): Using the down arrow in a textarea gets "stuck" at the 
1974         end of a wrapped line
1975         And corresponding: <rdar://problem/5347931>
1976
1977         The basic problem here is that Position::getInlineBoxAndOffset() 
1978         failed to look beyond a single renderer. This patch looks for a 
1979         better match beyond the first renderer when the affinity is 
1980         downstream and we failed to find a "perfect" match. 
1981         * dom/Position.cpp:
1982         (WebCore::isNonTextLeafChild):
1983         (WebCore::searchAheadForBetterMatch):
1984         (WebCore::Position::getInlineBoxAndOffset):
1985
1986         This is a fix I made based on code inspection. It looks like the 
1987         old code here and skipped over the parent as a possible match. 
1988         * rendering/RenderObject.cpp:
1989         (WebCore::RenderObject::nextInPreOrderAfterChildren):
1990
1991 2008-12-01  Brent Fulgham  <bfulgham@gmail.com>
1992
1993         Reviewed by Adam Roben.
1994
1995         Add WML related files to Visual Studio projects.
1996         https://bugs.webkit.org/show_bug.cgi?id=22561
1997
1998         * WebCore.vcproj/WebCore.vcproj:
1999           1. Add files from the wml directory to the set of windows files.
2000           2. Extend include paths with new wml directory. 
2001           3. Add new autogenerated WML files to DerivedSources.
2002           4. Alphabetize preprocesor includes (holdover from earlier debugging).
2003
2004 2008-12-01  Steve Falkenburg  <sfalken@apple.com>
2005
2006         Revise node/selection image fix.
2007         Moved updateLayout call so selection rect is fetched after the layout.
2008         
2009         Reviewed by Adam Roben.
2010
2011         * page/win/FrameCGWin.cpp:
2012         (WebCore::imageFromRect):
2013         (WebCore::imageFromSelection):
2014         (WebCore::Frame::nodeImage):
2015
2016 2008-12-01  Steve Falkenburg  <sfalken@apple.com>
2017
2018         Support needed to implement renderedImage for Windows.
2019         https://bugs.webkit.org/show_bug.cgi?25648
2020
2021         Reviewed by Adam Roben.
2022
2023         * page/Frame.h:
2024         * page/win/FrameCGWin.cpp:
2025         (WebCore::imageFromRect):
2026         (WebCore::imageFromSelection):
2027         (WebCore::Frame::nodeImage):
2028         * page/win/FrameCairoWin.cpp:
2029         (WebCore::imageFromNode):
2030
2031 2008-12-01  Simon Fraser  <simon.fraser@apple.com>
2032
2033         Reviewed by Dan Bernstein
2034
2035         https://bugs.webkit.org/show_bug.cgi?id=22581
2036         
2037         Fix the painting of the caps lock indicator for transformed text inputs,
2038         by replacing a call to absoluteContentBox() with code that computes the
2039         painting rect for the input contents.
2040
2041         * rendering/RenderTextControl.cpp:
2042         (WebCore::RenderTextControl::paint):
2043
2044 2008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2045
2046         Reviewed by George Staikos.
2047
2048         Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
2049
2050         Convert all elements to parse their attribute values using these new helper functions. This simplifies the
2051         actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
2052         an error if there's a variable reference used in the attribute value, or if it's invalid.
2053
2054         Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
2055         in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
2056
2057         * wml/WMLAccessElement.cpp:
2058         (WebCore::WMLAccessElement::parseMappedAttribute):
2059         * wml/WMLDoElement.cpp:
2060         (WebCore::WMLDoElement::defaultEventHandler):
2061         (WebCore::WMLDoElement::parseMappedAttribute):
2062         * wml/WMLElement.cpp:
2063         (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2064         (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2065         * wml/WMLElement.h:
2066         * wml/WMLErrorHandling.cpp:
2067         (WebCore::reportWMLError):
2068         * wml/WMLErrorHandling.h:
2069         (WebCore::):
2070         * wml/WMLOnEventElement.cpp:
2071         (WebCore::WMLOnEventElement::parseMappedAttribute):
2072         * wml/WMLPrevElement.cpp:
2073         (WebCore::WMLPrevElement::executeTask):
2074         * wml/WMLSetvarElement.cpp:
2075         (WebCore::WMLSetvarElement::parseMappedAttribute):
2076         * wml/WMLTimerElement.cpp:
2077         (WebCore::WMLTimerElement::parseMappedAttribute):
2078
2079 2008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2080
2081         Reviewed by George Staikos.
2082
2083         Fix switching active cards within a document. No way to test, until <go> support is implemented.
2084
2085         * wml/WMLCardElement.cpp:
2086         (WebCore::WMLCardElement::showCard):
2087         (WebCore::WMLCardElement::hideCard):
2088         (WebCore::WMLCardElement::setActiveCardInDocument):
2089         * wml/WMLCardElement.h:
2090
2091 2008-12-01  David Kilzer  <ddkilzer@apple.com>
2092
2093         Fix logic error in LegacyWebArchive::create() from r38884.
2094
2095         * loader/archive/cf/LegacyWebArchive.cpp:
2096         (WebCore::LegacyWebArchive::create): Only continue if the
2097         subresource is actually added.
2098
2099 2008-12-01  David Kilzer  <ddkilzer@apple.com>
2100
2101         Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
2102
2103         <https://bugs.webkit.org/show_bug.cgi?id=22466>
2104         <rdar://problem/6403593>
2105
2106         Reviewed by Brady Eidson.
2107
2108         Test: http/tests/webarchive/test-preload-resources.html
2109
2110         * loader/archive/cf/LegacyWebArchive.cpp:
2111         (WebCore::LegacyWebArchive::create): Check the WebCore cache for
2112         resources if DocumentLoader::subresource() doesn't return them.
2113         Note that the DocumentLoader::subresource() method returned
2114         preloaded resources before r35867, but this caused a regression in
2115         Mail.
2116
2117 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
2118
2119         Reviewed by Eric Seidel.
2120
2121         Bug 22564: Make HTML elements' constructors take a QualifiedName
2122         https://bugs.webkit.org/show_bug.cgi?id=22564
2123
2124         - Modified the remaining HTML elements' constructors to take a QualifiedName.
2125
2126         - Added an assertion that the QualifiedName given corresponds to the element constructed.
2127
2128         * bindings/js/JSAudioConstructor.cpp:
2129         (WebCore::constructAudio):
2130         * html/HTMLAudioElement.cpp:
2131         (WebCore::HTMLAudioElement::HTMLAudioElement):
2132         * html/HTMLAudioElement.h:
2133         * html/HTMLBRElement.cpp:
2134         (WebCore::HTMLBRElement::HTMLBRElement):
2135         * html/HTMLBRElement.h:
2136         * html/HTMLElement.cpp:
2137         (WebCore::HTMLElement::setInnerText):
2138         * html/HTMLElementFactory.cpp:
2139         (WebCore::brConstructor):
2140         (WebCore::quoteConstructor):
2141         (WebCore::marqueeConstructor):
2142         (WebCore::audioConstructor):
2143         (WebCore::videoConstructor):
2144         (WebCore::sourceConstructor):
2145         * html/HTMLMarqueeElement.cpp:
2146         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
2147         * html/HTMLMarqueeElement.h:
2148         * html/HTMLQuoteElement.cpp:
2149         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2150         * html/HTMLQuoteElement.h:
2151         * html/HTMLSourceElement.cpp:
2152         (WebCore::HTMLSourceElement::HTMLSourceElement):
2153         * html/HTMLSourceElement.h:
2154         * html/HTMLVideoElement.cpp:
2155         (WebCore::HTMLVideoElement::HTMLVideoElement):
2156         * html/HTMLVideoElement.h:
2157         * rendering/RenderTextControl.cpp:
2158         (WebCore::RenderTextControl::updateFromElement):
2159
2160 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
2161
2162         Reviewed by Antti Koivisto.
2163
2164         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
2165         https://bugs.webkit.org/show_bug.cgi?id=22441
2166
2167         Add an assertion to the modified HTML elements' constructor
2168         to check that the QualifiedName parameter is the one that
2169         matches the Element's.
2170
2171         * html/HTMLBaseElement.cpp:
2172         (WebCore::HTMLBaseElement::HTMLBaseElement):
2173         * html/HTMLBlockquoteElement.cpp:
2174         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
2175         * html/HTMLBodyElement.cpp:
2176         (WebCore::HTMLBodyElement::HTMLBodyElement):
2177         * html/HTMLButtonElement.cpp:
2178         (WebCore::HTMLButtonElement::HTMLButtonElement):
2179         * html/HTMLDListElement.cpp:
2180         (WebCore::HTMLDListElement::HTMLDListElement):
2181         * html/HTMLDirectoryElement.cpp:
2182         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
2183         * html/HTMLDivElement.cpp:
2184         (WebCore::HTMLDivElement::HTMLDivElement):
2185         * html/HTMLFieldSetElement.cpp:
2186         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2187         * html/HTMLFormElement.cpp:
2188         (WebCore::HTMLFormElement::HTMLFormElement):
2189         * html/HTMLFrameElement.cpp:
2190         (WebCore::HTMLFrameElement::HTMLFrameElement):
2191         * html/HTMLFrameSetElement.cpp:
2192         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2193         * html/HTMLHeadElement.cpp:
2194         (WebCore::HTMLHeadElement::HTMLHeadElement):
2195         * html/HTMLHtmlElement.cpp:
2196         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
2197         * html/HTMLIFrameElement.cpp:
2198         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
2199         * html/HTMLInputElement.cpp:
2200         (WebCore::HTMLInputElement::HTMLInputElement):
2201         * html/HTMLIsIndexElement.cpp:
2202         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2203         * html/HTMLKeygenElement.cpp:
2204         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2205         * html/HTMLLIElement.cpp:
2206         (WebCore::HTMLLIElement::HTMLLIElement):
2207         * html/HTMLLabelElement.cpp:
2208         (WebCore::HTMLLabelElement::HTMLLabelElement):
2209         * html/HTMLLegendElement.cpp:
2210         (WebCore::HTMLLegendElement::HTMLLegendElement):
2211         * html/HTMLLinkElement.cpp:
2212         (WebCore::HTMLLinkElement::HTMLLinkElement):
2213         * html/HTMLMenuElement.cpp:
2214         (WebCore::HTMLMenuElement::HTMLMenuElement):
2215         * html/HTMLMetaElement.cpp:
2216         (WebCore::HTMLMetaElement::HTMLMetaElement):
2217         * html/HTMLOListElement.cpp:
2218         (WebCore::HTMLOListElement::HTMLOListElement):
2219         * html/HTMLOptGroupElement.cpp:
2220         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
2221         * html/HTMLOptionElement.cpp:
2222         (WebCore::HTMLOptionElement::HTMLOptionElement):
2223         * html/HTMLSelectElement.cpp:
2224         (WebCore::HTMLSelectElement::HTMLSelectElement):
2225         * html/HTMLStyleElement.cpp:
2226         (WebCore::HTMLStyleElement::HTMLStyleElement):
2227         * html/HTMLTextAreaElement.cpp:
2228         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2229         * html/HTMLTitleElement.cpp:
2230         (WebCore::HTMLTitleElement::HTMLTitleElement):
2231         * html/HTMLUListElement.cpp:
2232         (WebCore::HTMLUListElement::HTMLUListElement):
2233
2234 2008-12-01  Chris Marrin  <cmarrin@apple.com>
2235
2236         Reviewed by Darin Adler.
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=22046
2239
2240         Fixed another case of crashing because the animation object is getting deleted when
2241         it's in the middle of a callback. I actually moved where I am retaining the pointer
2242         up out of the lower level AnimationBase code and into the timer callback that calls
2243         them. So now the pointer is valid throughout the entire sequence of callback code.
2244
2245         The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
2246         crash which this patch fixes. 
2247
2248         * page/animation/AnimationBase.cpp:
2249         (WebCore::AnimationBase::updateStateMachine):
2250         (WebCore::AnimationBase::animationTimerCallbackFired):
2251         * page/animation/CompositeAnimation.cpp:
2252         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
2253         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
2254         (WebCore::CompositeAnimationPrivate::styleAvailable):
2255         * page/animation/ImplicitAnimation.cpp:
2256         (WebCore::ImplicitAnimation::sendTransitionEvent):
2257         * page/animation/KeyframeAnimation.cpp:
2258         (WebCore::KeyframeAnimation::sendAnimationEvent):
2259         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
2260
2261 2008-12-01  Tor Arne Vestbø  <tavestbo@trolltech.com>
2262
2263         Reviewed by Simon Hausmann.
2264
2265         [Qt/Mac] Initialize NPAPI plugins before getting their entry points
2266
2267         The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
2268         copied from Windows, but caused Silverlight on Mac to crash when loaded.
2269
2270         Apparently the call order of NP_Initialize and NP_GetEntryPoints is
2271         reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
2272
2273         Reported-by: Peter Johnson <peter@zattoo.com>
2274
2275         * plugins/mac/PluginPackageMac.cpp:
2276         (WebCore::PluginPackage::load):
2277
2278 2008-11-30  Chris Fleizach  <cfleizach@apple.com>
2279
2280         Reviewed by John Sullivan.
2281
2282         https://bugs.webkit.org/show_bug.cgi?id=22510
2283         Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
2284
2285         A nil pointer needed to be checked
2286
2287         * page/AccessibilityRenderObject.cpp:
2288         (WebCore::AccessibilityRenderObject::activeDescendant):
2289
2290 2008-11-30  Alexey Proskuryakov  <ap@webkit.org>
2291
2292         Reviewed by Dan Bernstein.
2293
2294         https://bugs.webkit.org/show_bug.cgi?id=22530
2295         Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
2296
2297         * dom/WorkerThread.cpp:
2298         (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
2299         function runs to completion before the thread begins execution.
2300         (WebCore::WorkerThread::workerThread): Updated comments.
2301         (WebCore::WorkerThread::stop): Ditto.
2302         * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
2303         protects startup as a whole.
2304
2305         * storage/DatabaseThread.cpp:
2306         * storage/DatabaseThread.h:
2307         * storage/LocalStorageThread.cpp:
2308         * storage/LocalStorageThread.h:
2309         Fixed the same m_threadID problem.
2310
2311 2008-11-29  Brent Fulgham  <bfulgham@gmail.com>
2312
2313         Reviewed by Alexey Proskuryakov.
2314
2315         Remove Visual Studio project dependencies on non-redistributable
2316         components in the Debug_Cairo and Release_Cairo build targets.
2317         See https://bugs.webkit.org/show_bug.cgi?id=22527
2318
2319         * WebCore.vcproj/WebCore.vcproj:
2320
2321 2008-11-29  Sam Weinig  <sam@webkit.org>
2322
2323         Rubber-stamped by Alexey Proskuryakov.
2324
2325         Fix some sorting
2326
2327         * WebCore.xcodeproj/project.pbxproj:
2328
2329 2008-11-28  Sam Weinig  <sam@webkit.org>
2330
2331         Reviewed by Alexey Proskuryakov.
2332
2333         Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
2334         NULL pointer crash in dispatchEvent(null);
2335
2336         Test: fast/events/dispatchEvent-crash.html
2337
2338         * dom/MessagePort.cpp:
2339         (WebCore::MessagePort::dispatchEvent):
2340         * dom/Worker.cpp:
2341         (WebCore::Worker::dispatchEvent):
2342         * dom/WorkerContext.cpp:
2343         (WebCore::WorkerContext::dispatchEvent):
2344         * loader/appcache/DOMApplicationCache.cpp:
2345         (WebCore::DOMApplicationCache::dispatchEvent):
2346         * xml/XMLHttpRequest.cpp:
2347         (WebCore::XMLHttpRequest::dispatchEvent):
2348         * xml/XMLHttpRequestUpload.cpp:
2349         (WebCore::XMLHttpRequestUpload::dispatchEvent):
2350
2351 2008-11-29  Dan Bernstein  <mitz@apple.com>
2352
2353         Reviewed by Alexey Proskuryakov.
2354
2355         - fix https://bugs.webkit.org/show_bug.cgi?id=22454
2356           <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
2357
2358         Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
2359
2360         The crash happened because style recalculation was invoked by
2361         CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
2362         before another CSSSegmentedFontFace using the same CSSFontFace had done
2363         so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
2364         prune their tables before telling the CSSFontSelector to recalc style.
2365
2366         * css/CSSFontFace.cpp:
2367         (WebCore::CSSFontFace::fontLoaded):
2368         * css/CSSFontSelector.cpp:
2369         (WebCore::CSSFontSelector::fontLoaded):
2370         * css/CSSFontSelector.h:
2371         * css/CSSSegmentedFontFace.cpp:
2372         (WebCore::CSSSegmentedFontFace::fontLoaded):
2373
2374 2008-11-29  Alexey Proskuryakov  <ap@webkit.org>
2375
2376         Reviewed by Eric Seidel.
2377
2378         https://bugs.webkit.org/show_bug.cgi?id=14968
2379         document.open() erroneously returns void instead of the new Document
2380
2381         Test: fast/dom/HTMLDocument/document-open-return-value.html
2382
2383         * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
2384         Return the document on which this method was invoked, per HTML5.
2385
2386 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2387
2388         Reviewed by Cameron Zwarich.
2389
2390         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
2391
2392         Add <timer> element support. It provides a way to execute a task with a delay.
2393         The user is notified by firing the task associated with the <card>'s ontimer attribute.
2394         Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
2395
2396         * WebCore.xcodeproj/project.pbxproj:
2397         * wml/WMLCardElement.cpp:
2398         (WebCore::WMLCardElement::WMLCardElement):
2399         (WebCore::WMLCardElement::setIntrinsicEventTimer):
2400         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
2401         * wml/WMLCardElement.h:
2402         * wml/WMLDoElement.cpp:
2403         (WebCore::WMLDoElement::defaultEventHandler):
2404         * wml/WMLErrorHandling.cpp:
2405         (WebCore::reportWMLError):
2406         * wml/WMLPageState.h:
2407         (WebCore::WMLPageState::getVariable):
2408         * wml/WMLPrevElement.cpp:
2409         (WebCore::WMLPrevElement::executeTask):
2410         * wml/WMLRefreshElement.cpp:
2411         (WebCore::WMLRefreshElement::executeTask):
2412         * wml/WMLTagNames.in:
2413         * wml/WMLTimerElement.cpp: Added.
2414         (WebCore::WMLTimerElement::WMLTimerElement):
2415         (WebCore::WMLTimerElement::parseMappedAttribute):
2416         (WebCore::WMLTimerElement::insertedIntoDocument):
2417         (WebCore::WMLTimerElement::timerFired):
2418         (WebCore::WMLTimerElement::start):
2419         (WebCore::WMLTimerElement::stop):
2420         (WebCore::WMLTimerElement::storeIntervalToPageState):
2421         * wml/WMLTimerElement.h: Added.
2422
2423 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2424
2425         Reviewed by Holger Freyther.
2426
2427         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
2428
2429         Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. 
2430         Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
2431
2432         * WebCore.xcodeproj/project.pbxproj:
2433         * rendering/RenderButton.cpp:
2434         (WebCore::RenderButton::updateFromElement):
2435         * wml/WMLCardElement.cpp:
2436         (WebCore::WMLCardElement::registerDoElement):
2437         * wml/WMLCardElement.h:
2438         * wml/WMLDoElement.cpp: Added.
2439         (WebCore::WMLDoElement::WMLDoElement):
2440         (WebCore::WMLDoElement::defaultEventHandler):
2441         (WebCore::WMLDoElement::parseMappedAttribute):
2442         (WebCore::WMLDoElement::insertedIntoDocument):
2443         (WebCore::WMLDoElement::createRenderer):
2444         (WebCore::WMLDoElement::recalcStyle):
2445         * wml/WMLDoElement.h: Added.
2446         (WebCore::WMLDoElement::registerTask):
2447         (WebCore::WMLDoElement::isActive):
2448         (WebCore::WMLDoElement::label):
2449         (WebCore::WMLDoElement::name):
2450         (WebCore::WMLDoElement::setActive):
2451         (WebCore::WMLDoElement::setNoop):
2452         * wml/WMLNoopElement.cpp:
2453         (WebCore::WMLNoopElement::insertedIntoDocument):
2454         * wml/WMLTagNames.in:
2455         * wml/WMLTaskElement.cpp:
2456         (WebCore::WMLTaskElement::insertedIntoDocument):
2457
2458 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2459
2460         Reviewed by Sam Weinig.
2461
2462         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
2463
2464         Add onenterforward/onenterbackward/ontimer support for <card> elements.
2465
2466         No testing possible at the moment because WMLGoElement is not yet implemented.
2467         After that we can add tests covering the <card> event handling.
2468
2469         * wml/WMLCardElement.cpp:
2470         (WebCore::WMLCardElement::WMLCardElement):
2471         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
2472         (WebCore::WMLCardElement::parseMappedAttribute):
2473         (WebCore::WMLCardElement::setActiveCardInDocument):
2474         * wml/WMLCardElement.h:
2475         (WebCore::WMLCardElement::isNewContext):
2476         (WebCore::WMLCardElement::isOrdered):
2477         * wml/WMLDocument.cpp:
2478         (WebCore::WMLDocument::finishedParsing):
2479         * wml/WMLIntrinsicEvent.cpp:
2480         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
2481         * wml/WMLIntrinsicEvent.h:
2482         (WebCore::WMLIntrinsicEvent::create):
2483
2484 2008-11-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2485
2486         Reviewed by Tor Arne Vestbø.
2487
2488         Regression seen on QtWebKit - causes a build failure on Win using MinGW
2489
2490         https://bugs.webkit.org/show_bug.cgi?id=22536
2491
2492         * WebCore.pro:
2493
2494 2008-11-28  Simon Hausmann  <hausmann@webkit.org>
2495
2496         Reviewed by Tor Arne Vestbø.
2497
2498         Fix compilation and linking on Windows CE.
2499
2500         Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
2501         from the Windows'ish build.
2502
2503         Link against the newly required mmtimer.
2504
2505         * WebCore.pro:
2506         * plugins/PluginPackage.cpp:
2507
2508 2008-11-28  David Levin  <levin@chromium.org>
2509
2510         Reviewed by Alexey Proskuryakov.
2511
2512         http://bugs.webkit.org/show_bug.cgi?id=22524
2513
2514         Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
2515         of XMLHttpRequest by Workers (on threads).
2516
2517         No observable change in behavior, so no test.
2518
2519         * xml/XMLHttpRequest.cpp:
2520         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
2521         (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
2522         (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
2523         (WebCore::PreflightResultCacheItem::allowsRequest):
2524         (WebCore::createXMLHttpRequestStaticData):
2525         (WebCore::initializeXMLHttpRequestStaticData):
2526         (WebCore::XMLHttpRequest::XMLHttpRequest):
2527         (WebCore::XMLHttpRequest::isSafeRequestHeader):
2528         (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
2529         * xml/XMLHttpRequest.h:
2530
2531 2008-11-27  Cameron Zwarich  <zwarich@apple.com>
2532
2533         Not reviewed.
2534
2535         r38825, was committed without checking whether anything in WebCore
2536         uses JSFunction::m_body. Use the appropriate getters and setters
2537         instead.
2538
2539         * inspector/JavaScriptDebugServer.cpp:
2540         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2541
2542 2008-11-27  Alexey Proskuryakov  <ap@webkit.org>
2543
2544         Reviewed by Dan Bernstein.
2545
2546         https://bugs.webkit.org/show_bug.cgi?id=22529
2547         Crashes seen on buildbots due to trying to stop a worker thread twice
2548
2549         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
2550         Don't try to stop the thread if it's already stopping.
2551
2552 2008-11-27  Kent Hansen  <khansen@trolltech.com>
2553
2554         Reviewed by Simon Hausmann.
2555
2556         Make JavaScript bindings for Qt plugin widgets work again
2557         this was a regression; need to handle non-NPAPI plugins as in 4.4.
2558
2559         * bindings/js/ScriptControllerQt.cpp:
2560         (WebCore::ScriptController::createScriptInstanceForWidget):
2561
2562 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2563
2564         Reviewed by George Staikos.
2565
2566         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
2567
2568         Catch WML errors (invalid variable name/reference, multiple access elements, etc)
2569         while parsing the document, and stop parsing immediately and wrap the document
2570         fragment in a XHTML error document, just like it's done from XML parsing errors.
2571
2572         Until now all card elements were hidden by default (no renderer created), and
2573         WMLDocument::finishedParsing() took care of showing the right card (either the first,
2574         or any named card in the document, specified by document URL reference). Change this
2575         behaviour to support displaying partially parsed WML document fragments: Mark the first
2576         WMLCardElement inserted into the document as visible. If the document parsing finishes
2577         without problems, WMLDocument::finishedParsing() will be called, which takes care of
2578         showing the desired card (common case: first card in the document, which is already
2579         visible, so nothing actually has to be done). If an error occours, the document is
2580         correctly rendered until the error happened - wrapped in a XHTML document.
2581
2582         Fixes: fast/wml/err-event-binding-conflict.wml
2583                fast/wml/err-invalid-variable-name.wml
2584                fast/wml/err-multi-access.wml
2585                fast/wml/err-unallowed-task-in-anchor.wml
2586
2587         * WebCore.xcodeproj/project.pbxproj:
2588         * wml/WMLAccessElement.cpp:
2589         (WebCore::WMLAccessElement::parseMappedAttribute):
2590         (WebCore::WMLAccessElement::insertedIntoDocument):
2591         * wml/WMLAccessElement.h:
2592         * wml/WMLCardElement.cpp:
2593         (WebCore::WMLCardElement::insertedIntoDocument):
2594         (WebCore::WMLCardElement::setActiveCardInDocument):
2595         * wml/WMLCardElement.h:
2596         * wml/WMLDocument.cpp:
2597         (WebCore::WMLDocument::finishedParsing):
2598         * wml/WMLErrorHandling.cpp: Added.
2599         (WebCore::reportWMLError):
2600         * wml/WMLErrorHandling.h: Added.
2601         (WebCore::):
2602         * wml/WMLIntrinsicEventHandler.cpp:
2603         (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
2604         * wml/WMLIntrinsicEventHandler.h:
2605         * wml/WMLNoopElement.cpp:
2606         (WebCore::WMLNoopElement::insertedIntoDocument):
2607         * wml/WMLOnEventElement.cpp:
2608         (WebCore::WMLOnEventElement::parseMappedAttribute):
2609         (WebCore::WMLOnEventElement::registerTask):
2610         * wml/WMLPageState.cpp:
2611         (WebCore::WMLPageState::setNeedCheckDeckAccess):
2612         * wml/WMLPageState.h:
2613         * wml/WMLSetvarElement.cpp:
2614         (WebCore::WMLSetvarElement::parseMappedAttribute):
2615
2616 2008-11-26  Glenn Wilson  <gwilson@chromium.org>
2617
2618         Reviewed by Dan Bernstein.
2619
2620         Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
2621
2622         This fixes the crash when the small-caps font variant is used
2623         on a lower-case glyph that does not have a corresponding
2624         upper-case glyph defined in the set of available fonts.
2625
2626         This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
2627         
2628         Test: fast/css/small-caps-crash.html
2629
2630         * platform/graphics/Font.cpp:
2631         (WebCore::Font::glyphDataForCharacter):
2632
2633 2008-11-26  Tony Chang  <tony@chromium.org>
2634
2635         Reviewed by Oliver Hunt.
2636
2637         Add a new platform specific method cleanupAfterSystemDrag
2638         that platforms can ue to clean up drag state after a
2639         system drag.  Use this method on PLAFORM(MAC).
2640         https://bugs.webkit.org/show_bug.cgi?id=21956
2641
2642         * ChangeLog:
2643         * page/DragController.cpp:
2644         (WebCore::DragController::doSystemDrag):
2645         * page/DragController.h:
2646         * page/gtk/DragControllerGtk.cpp:
2647         (WebCore::DragController::cleanupAfterSystemDrag):
2648         * page/mac/DragControllerMac.mm:
2649         (WebCore::DragController::cleanupAfterSystemDrag):
2650         * page/qt/DragControllerQt.cpp:
2651         (WebCore::DragController::cleanupAfterSystemDrag):
2652         * page/win/DragControllerWin.cpp:
2653         (WebCore::DragController::cleanupAfterSystemDrag):
2654         * page/wx/DragControllerWx.cpp:
2655       (WebCore::DragController::cleanupAfterSystemDrag):
2656
2657 2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>
2658
2659         Reviewed by Oliver Hunt.
2660
2661         Fix path to string logic, correctly taking closed (sub-)paths into account.
2662         Code was just broken on cg, observed by Dirk Schulze.
2663
2664         QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
2665         using the elementAt() function. There might be a workaround - Dirk will investigate.
2666
2667         * platform/graphics/cg/PathCG.cpp:
2668         (WebCore::CGPathToCFStringApplierFunction):
2669         * platform/graphics/cairo/PathCairo.cpp:
2670         (WebCore::Path::debugString):
2671
2672 2008-11-26  Darin Fisher  <darin@chromium.org>
2673
2674         Reviewed by Eric Seidel.
2675
2676         https://bugs.webkit.org/show_bug.cgi?id=22519
2677         Remove unnecessary include.
2678
2679         * dom/XMLTokenizer.cpp:
2680
2681 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2682
2683         Reviewed by Oliver Hunt.
2684
2685         Add <noop> element support, completing the task element support.
2686
2687         * WebCore.xcodeproj/project.pbxproj:
2688         * wml/WMLNoopElement.cpp: Added.
2689         (WebCore::WMLNoopElement::WMLNoopElement):
2690         (WebCore::WMLNoopElement::insertedIntoDocument):
2691         * wml/WMLNoopElement.h: Added.
2692         * wml/WMLTagNames.in: Reorganize file a bit.
2693
2694 2008-11-26  Julien Chaffraix  <jchaffraix@webkit.org>
2695
2696         Reviewed by Eric Seidel.
2697
2698         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
2699         https://bugs.webkit.org/show_bug.cgi?id=22441
2700
2701         Make more HTML elements' constructors take a QualifiedName.
2702
2703         * editing/DeleteButtonController.cpp:
2704         (WebCore::DeleteButtonController::createDeletionUI):
2705         * html/HTMLBlockquoteElement.cpp:
2706         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
2707         * html/HTMLBlockquoteElement.h:
2708         * html/HTMLButtonElement.cpp:
2709         (WebCore::HTMLButtonElement::HTMLButtonElement):
2710         * html/HTMLButtonElement.h:
2711         * html/HTMLDListElement.cpp:
2712         (WebCore::HTMLDListElement::HTMLDListElement):
2713         * html/HTMLDListElement.h:
2714         * html/HTMLDirectoryElement.cpp:
2715         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
2716         * html/HTMLDirectoryElement.h:
2717         * html/HTMLDivElement.cpp:
2718         (WebCore::HTMLDivElement::HTMLDivElement):
2719         * html/HTMLDivElement.h:
2720         * html/HTMLElementFactory.cpp:
2721         (WebCore::styleConstructor):
2722         (WebCore::titleConstructor):
2723         (WebCore::frameConstructor):
2724         (WebCore::framesetConstructor):
2725         (WebCore::iframeConstructor):
2726         (WebCore::formConstructor):
2727         (WebCore::buttonConstructor):
2728         (WebCore::inputConstructor):
2729         (WebCore::isindexConstructor):
2730         (WebCore::fieldsetConstructor):
2731         (WebCore::keygenConstructor):
2732         (WebCore::labelConstructor):
2733         (WebCore::legendConstructor):
2734         (WebCore::optgroupConstructor):
2735         (WebCore::optionConstructor):
2736         (WebCore::selectConstructor):
2737         (WebCore::textareaConstructor):
2738         (WebCore::dlConstructor):
2739         (WebCore::ulConstructor):
2740         (WebCore::olConstructor):
2741         (WebCore::dirConstructor):
2742         (WebCore::menuConstructor):
2743         (WebCore::liConstructor):
2744         (WebCore::blockquoteConstructor):
2745         (WebCore::divConstructor):
2746         (WebCore::headingConstructor):
2747         * html/HTMLFieldSetElement.cpp:
2748         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2749         * html/HTMLFieldSetElement.h:
2750         * html/HTMLFormElement.cpp:
2751         (WebCore::HTMLFormElement::HTMLFormElement):
2752         * html/HTMLFormElement.h:
2753         * html/HTMLFrameElement.cpp:
2754         (WebCore::HTMLFrameElement::HTMLFrameElement):
2755         * html/HTMLFrameElement.h:
2756         * html/HTMLFrameSetElement.cpp:
2757         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2758         * html/HTMLFrameSetElement.h:
2759         * html/HTMLIFrameElement.cpp:
2760         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
2761         * html/HTMLIFrameElement.h:
2762         * html/HTMLInputElement.cpp:
2763         * html/HTMLInputElement.h:
2764         * html/HTMLIsIndexElement.cpp:
2765         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2766         * html/HTMLIsIndexElement.h:
2767         * html/HTMLKeygenElement.cpp:
2768         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2769         * html/HTMLKeygenElement.h:
2770         * html/HTMLLIElement.cpp:
2771         (WebCore::HTMLLIElement::HTMLLIElement):
2772         * html/HTMLLIElement.h:
2773         * html/HTMLLabelElement.cpp:
2774         (WebCore::HTMLLabelElement::HTMLLabelElement):
2775         * html/HTMLLabelElement.h:
2776         * html/HTMLLegendElement.cpp:
2777         (WebCore::HTMLLegendElement::HTMLLegendElement):
2778         * html/HTMLLegendElement.h:
2779         * html/HTMLMenuElement.cpp:
2780         (WebCore::HTMLMenuElement::HTMLMenuElement):
2781         * html/HTMLMenuElement.h:
2782         * html/HTMLOListElement.cpp:
2783         (WebCore::HTMLOListElement::HTMLOListElement):
2784         * html/HTMLOListElement.h:
2785         * html/HTMLOptGroupElement.cpp:
2786         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
2787         * html/HTMLOptGroupElement.h:
2788         * html/HTMLOptionElement.cpp:
2789         (WebCore::HTMLOptionElement::HTMLOptionElement):
2790         * html/HTMLOptionElement.h:
2791         * html/HTMLParser.cpp:
2792         (WebCore::HTMLParser::formCreateErrorCheck):
2793         (WebCore::HTMLParser::handleIsindex):
2794         * html/HTMLSelectElement.cpp:
2795         * html/HTMLSelectElement.h:
2796         * html/HTMLStyleElement.cpp:
2797         (WebCore::HTMLStyleElement::HTMLStyleElement):
2798         * html/HTMLStyleElement.h:
2799         * html/HTMLTextAreaElement.cpp:
2800         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2801         * html/HTMLTextAreaElement.h:
2802         * html/HTMLTitleElement.cpp:
2803         (WebCore::HTMLTitleElement::HTMLTitleElement):
2804         * html/HTMLTitleElement.h:
2805         * html/HTMLUListElement.cpp:
2806         (WebCore::HTMLUListElement::HTMLUListElement):
2807         * html/HTMLUListElement.h:
2808         * html/HTMLViewSourceDocument.cpp:
2809         (WebCore::HTMLViewSourceDocument::createContainingTable):
2810         * rendering/MediaControlElements.cpp:
2811         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
2812         (WebCore::MediaControlInputElement::MediaControlInputElement):
2813         * rendering/RenderFileUploadControl.cpp:
2814         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
2815         * rendering/RenderMedia.cpp:
2816         (WebCore::RenderMedia::createPanel):
2817         (WebCore::RenderMedia::createTimeDisplay):
2818         * rendering/RenderSlider.cpp:
2819         (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
2820         * rendering/TextControlInnerElements.cpp:
2821         (WebCore::TextControlInnerElement::TextControlInnerElement):
2822
2823 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2824
2825         Reviewed by Sam Weinig.
2826
2827         Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
2828
2829         * wml/WMLPageState.cpp:
2830         (WebCore::WMLPageState::WMLPageState):
2831
2832 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
2833
2834         Fix Qt bustage.
2835
2836         See https://bugs.webkit.org/show_bug.cgi?id=22051
2837
2838         * platform/qt/RenderThemeQt.cpp:
2839         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
2840
2841 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
2842
2843         Reviewed by Maciej Stachowiak.
2844
2845         Fix https://bugs.webkit.org/show_bug.cgi?id=22051
2846         Renderthemes should be able to supply additional CSS rules to the core
2847         ones.
2848
2849         * DerivedSources.make:
2850         * css/CSSStyleSelector.cpp:
2851         (WebCore::parseUASheet):
2852         (WebCore::loadFullDefaultStyle):
2853         (WebCore::loadSimpleDefaultStyle):
2854         * css/themeWin.css: Added.
2855         * css/themeWinQuirks.css: Added.
2856         * platform/qt/RenderThemeQt.cpp:
2857         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
2858         * platform/qt/RenderThemeQt.h:
2859         * rendering/RenderTheme.cpp:
2860         * rendering/RenderTheme.h:
2861         (WebCore::RenderTheme::extraDefaultStyleSheet):
2862         (WebCore::RenderTheme::extraQuirksStyleSheet):
2863         * rendering/RenderThemeWin.cpp:
2864         (WebCore::RenderThemeWin::extraDefaultStyleSheet):
2865         (WebCore::RenderThemeWin::extraQuirksStyleSheet):
2866         * rendering/RenderThemeWin.h:
2867
2868 2008-11-26  David Kilzer  <ddkilzer@apple.com>
2869
2870         Make CSSStyleSheet::addSubresourceURLStrings() iterative
2871
2872         Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
2873         <https://bugs.webkit.org/show_bug.cgi?id=11850>
2874
2875         Reviewed by Brady Eidson.
2876
2877         * css/CSSStyleSheet.cpp:
2878         (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
2879         from recursive to iterative for gathering the list of all CSS
2880         stylesheets referenced in @import statements.
2881
2882 2008-11-26  Dirk Schulze  <krit@webkit.org>
2883
2884         Reviewed by Simon Hausmann.
2885
2886         Transformations to the context shouldn't transform the currentPath.
2887         Fixed this on Qt.
2888
2889         [QT] GraphicsContext's currenPath can be transformed
2890         https://bugs.webkit.org/show_bug.cgi?id=22163
2891
2892         * platform/graphics/GraphicsContextPrivate.h:
2893         * platform/graphics/qt/GraphicsContextQt.cpp:
2894         (WebCore::GraphicsContext::restorePlatformState):
2895         (WebCore::GraphicsContext::fillPath):
2896         (WebCore::GraphicsContext::strokePath):
2897         (WebCore::GraphicsContext::fillRect):
2898         (WebCore::GraphicsContext::translate):
2899         (WebCore::GraphicsContext::rotate):
2900         (WebCore::GraphicsContext::scale):
2901         (WebCore::GraphicsContext::concatCTM):
2902
2903 2008-11-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
2904
2905         Gtk build script minor fixes. Not reviewed.
2906
2907         * GNUmakefile.am:
2908           - Add ScriptInstance.h (introduced in r38774) to
2909         the build.
2910           - Move WML and GEOLOCATION conditionals before the SVG
2911         conditional to be consistent with the style of the script.
2912           - Move GeolocationGtk sources to webcoregtk_sources.
2913
2914 2008-11-26  Dmitry Titov  <dimich@chromium.org>
2915
2916         Reviewed by Darin Adler and Eric Seidel.
2917
2918         https://bugs.webkit.org/show_bug.cgi?id=22469
2919
2920         Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
2921         preparation to making it work for Workers. For now, just move the code and couple
2922         of global variables.
2923
2924         * GNUmakefile.am:
2925         * WebCore.pro:
2926         * WebCore.vcproj/WebCore.vcproj:
2927         * WebCore.xcodeproj/project.pbxproj:
2928         * WebCoreSources.bkl:
2929         * bindings/js/JSDOMWindowBase.cpp:
2930         (WebCore::JSDOMWindowBase::installTimeout):
2931         (WebCore::JSDOMWindowBase::pauseTimeouts):
2932         (WebCore::JSDOMWindowBase::resumeTimeouts):
2933         (WebCore::JSDOMWindowBase::timerFired):
2934         * bindings/js/JSDOMWindowBase.h:
2935         * bindings/js/DOMTimer.cpp: Added.
2936         (WebCore::DOMTimer::DOMTimer):
2937         (WebCore::DOMTimer::~DOMTimer):
2938         (WebCore::DOMTimer::fired):
2939         * bindings/js/DOMTimer.h: Added.
2940         (WebCore::DOMTimer::timeoutId):
2941         (WebCore::DOMTimer::nestingLevel):
2942         (WebCore::DOMTimer::setNestingLevel):
2943         (WebCore::DOMTimer::action):
2944         (WebCore::DOMTimer::takeAction):
2945
2946 2008-11-25  Darin Fisher  <darin@chromium.org>
2947
2948         Fix bustage.
2949
2950         https://bugs.webkit.org/show_bug.cgi?id=22493
2951         Need to expose bridge/*.h to the WebKit build.
2952
2953         * WebCore.vcproj/WebCore.vcproj:
2954
2955 2008-11-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2956
2957         Not reviewed. Fix build, by removing some wrong last-minute changes.
2958
2959         * wml/WMLIntrinsicEvent.cpp:
2960         (WebCore::createTaskElement):
2961         * wml/WMLOnEventElement.cpp:
2962         (WebCore::WMLOnEventElement::registerTask):
2963
2964 2008-11-25  Darin Fisher  <darin@chromium.org>
2965
2966         Reviewed by Geoffrey Garen.
2967
2968         https://bugs.webkit.org/show_bug.cgi?id=22493
2969         Abstract away JSC:: usage in WebCore/html
2970
2971         * WebCore.xcodeproj/project.pbxproj:
2972         * bindings/js/JSPluginElementFunctions.cpp:
2973         (WebCore::pluginInstance):
2974         * bindings/js/ScriptController.h:
2975         * bindings/js/ScriptControllerMac.mm:
2976         (WebCore::ScriptController::createScriptInstanceForWidget):
2977         * bindings/js/ScriptInstance.h: Added.
2978         * html/HTMLPlugInElement.cpp:
2979         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
2980         (WebCore::HTMLPlugInElement::getInstance):
2981         * html/HTMLPlugInElement.h:
2982
2983 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2984
2985         Reviewed by Sam Weinig.
2986
2987         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
2988
2989         A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
2990         Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
2991
2992         Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
2993         centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
2994         function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
2995         <template>/<option> or <card> element.
2996
2997         Add complete <onevent> support.
2998
2999         * WebCore.xcodeproj/project.pbxproj:
3000         * wml/WMLCardElement.cpp:
3001         (WebCore::WMLCardElement::WMLCardElement):
3002         (WebCore::WMLCardElement::setActiveCardInDocument):
3003         * wml/WMLCardElement.h:
3004         (WebCore::WMLCardElement::isVisible):
3005         (WebCore::WMLCardElement::setVisible):
3006         * wml/WMLElement.h:
3007         (WebCore::WMLElement::isWMLTaskElement):
3008         * wml/WMLEventHandlingElement.cpp: Added.
3009         (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
3010         (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
3011         * wml/WMLEventHandlingElement.h: Added.
3012         (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
3013         (WebCore::WMLEventHandlingElement::eventHandler):
3014         * wml/WMLOnEventElement.cpp: Added.
3015         (WebCore::WMLOnEventElement::WMLOnEventElement):
3016         (WebCore::WMLOnEventElement::parseMappedAttribute):
3017         (WebCore::WMLOnEventElement::registerTask):
3018         * wml/WMLOnEventElement.h: Added.
3019         * wml/WMLSetvarElement.cpp:
3020         (WebCore::WMLSetvarElement::parseMappedAttribute):
3021         (WebCore::WMLSetvarElement::insertedIntoDocument):
3022         * wml/WMLTagNames.in:
3023         * wml/WMLTaskElement.cpp:
3024         (WebCore::WMLTaskElement::insertedIntoDocument):
3025         * wml/WMLTaskElement.h:
3026         (WebCore::WMLTaskElement::isWMLTaskElement):
3027
3028 2008-11-25  Pierre-Olivier Latour  <pol@apple.com>
3029
3030         Reviewed by Mark Rowe.
3031
3032         createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
3033
3034         https://bugs.webkit.org/show_bug.cgi?id=22503
3035
3036         * platform/graphics/mac/FontCustomPlatformData.cpp:
3037         (WebCore::createFontCustomPlatformData):
3038
3039 2008-11-25  Julien Chaffraix  <jchaffraix@webkit.org>
3040
3041         Reviewed by Eric Seidel.
3042
3043         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3044         https://bugs.webkit.org/show_bug.cgi?id=22441
3045
3046         Element's other than HTML ones take a QualifiedName in their constructors.
3047         To make HTMLElementFactory closer to the other ElementFactory, we need
3048         to make them take the same arguments.
3049         This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
3050         will go into the next patch.
3051
3052         * dom/Document.cpp:
3053         (WebCore::Document::implicitClose):
3054         * html/HTMLBaseElement.cpp:
3055         (WebCore::HTMLBaseElement::HTMLBaseElement):
3056         * html/HTMLBaseElement.h:
3057         * html/HTMLBodyElement.cpp:
3058         (WebCore::HTMLBodyElement::HTMLBodyElement):
3059         * html/HTMLBodyElement.h:
3060         * html/HTMLElementFactory.cpp:
3061         (WebCore::htmlConstructor):
3062         (WebCore::headConstructor):
3063         (WebCore::bodyConstructor):
3064         (WebCore::baseConstructor):
3065         (WebCore::linkConstructor):
3066         (WebCore::metaConstructor):
3067         * html/HTMLHeadElement.cpp:
3068         (WebCore::HTMLHeadElement::HTMLHeadElement):
3069         * html/HTMLHeadElement.h:
3070         * html/HTMLHtmlElement.cpp:
3071         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3072         * html/HTMLHtmlElement.h:
3073         * html/HTMLLinkElement.cpp:
3074         (WebCore::HTMLLinkElement::HTMLLinkElement):
3075         * html/HTMLLinkElement.h:
3076         * html/HTMLMetaElement.cpp:
3077         (WebCore::HTMLMetaElement::HTMLMetaElement):
3078         * html/HTMLMetaElement.h:
3079         * html/HTMLParser.cpp:
3080         (WebCore::HTMLParser::handleError):
3081         (WebCore::HTMLParser::headCreateErrorCheck):
3082         (WebCore::HTMLParser::createHead):
3083         (WebCore::HTMLParser::finished):
3084         * html/HTMLViewSourceDocument.cpp:
3085         (WebCore::HTMLViewSourceDocument::createContainingTable):
3086
3087 2008-11-25  Chris Marrin  <cmarrin@apple.com>
3088
3089         Reviewed by Dan Bernstein.
3090
3091         Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
3092         I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
3093
3094         Tests: animations/empty-keyframes.html
3095                animations/fill-unset-properties.html
3096
3097         * css/CSSStyleSelector.cpp:
3098         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3099
3100 2008-11-25  Chris Marrin  <cmarrin@apple.com>
3101
3102         Reviewed by Darin Adler
3103
3104         https://bugs.webkit.org/show_bug.cgi?id=22046
3105
3106         Fix a crash when an animation or transition end event handler
3107         removes the element upon which the transition/animation is running,
3108         by keeping a reference to the AnimationBase object on the stack.
3109
3110         Tests: animations/transform-animation-event-destroy-element.html
3111                transitions/transform-transition-event-destroy-element.html
3112
3113         * page/animation/AnimationBase.cpp:
3114         (WebCore::AnimationBase::setChanged):
3115         (WebCore::AnimationBase::updateStateMachine):
3116         * page/animation/AnimationBase.h:
3117         (WebCore::AnimationBase::clearRenderer):
3118         * page/animation/AnimationController.cpp:
3119         (WebCore::AnimationControllerPrivate::clear):
3120         * page/animation/CompositeAnimation.cpp:
3121         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
3122         * page/animation/CompositeAnimation.h:
3123
3124 2008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
3125
3126         Better wx build fix - support PurgeableBuffer on Mac.
3127
3128         * platform/PurgeableBuffer.h:
3129         * webcore-wx.bkl:
3130
3131 2008-11-25  Holger Hans Peter Freyther  <zecke@selfish.org>
3132
3133         Reviewed by David Kilzer.
3134
3135         https://bugs.webkit.org/show_bug.cgi?id=22022
3136
3137         Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
3138
3139         Add stubs for a Gtk Implementation.
3140
3141         * GNUmakefile.am:
3142         * platform/gtk/GeolocationServiceGtk.cpp: Added.
3143         (WebCore::GeolocationService::create):
3144         (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
3145         (WebCore::GeolocationServiceGtk::startUpdating):
3146         (WebCore::GeolocationServiceGtk::stopUpdating):
3147         (WebCore::GeolocationServiceGtk::suspend):
3148         (WebCore::GeolocationServiceGtk::resume):
3149         (WebCore::GeolocationServiceGtk::lastPosition):
3150         (WebCore::GeolocationServiceGtk::lastError):
3151         * platform/gtk/GeolocationServiceGtk.h: Added.
3152
3153 2008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
3154
3155         wx build fix - we don't support PurgeableBuffer on Leopard for now.
3156         
3157         * platform/PurgeableBuffer.h:
3158
3159 2008-11-25  Antti Koivisto  <antti@apple.com>
3160
3161         Reviewed by Mark Rowe.
3162
3163         Fix https://bugs.webkit.org/show_bug.cgi?id=22483
3164         Assertion failure in CachedResource::makePurgeable during layout tests
3165         
3166         Deleting SVG image can re-enter destroyDecodedData.
3167
3168         * loader/CachedImage.cpp:
3169         (WebCore::CachedImage::destroyDecodedData):
3170
3171 2008-11-25  David Levin  <levin@chromium.org>
3172
3173         Reviewed by Alexey Proskuryakov.
3174
3175         https://bugs.webkit.org/show_bug.cgi?id=22443
3176         Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
3177         Workers on threads.
3178
3179         No observable change in behavior, so no test.
3180
3181         * platform/text/PlatformString.h:
3182         * platform/text/String.cpp:
3183         (WebCore::String::substringCopy):
3184         * platform/text/StringImpl.cpp:
3185         (WebCore::StringImpl::substringCopy):
3186         * platform/text/StringImpl.h:
3187         Added the ability to copy a substring.
3188
3189         * xml/XMLHttpRequest.cpp:
3190         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
3191         (WebCore::PreflightResultCache::PreflightResultCache):
3192         (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
3193         (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
3194         (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
3195         (WebCore::PreflightResultCacheItem::parse):
3196         (WebCore::PreflightResultCacheItem::allowsRequest):
3197         (WebCore::PreflightResultCache::shared):
3198         (WebCore::PreflightResultCache::appendEntry):
3199         (WebCore::PreflightResultCache::canSkipPreflight):
3200         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3201         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3202         Made the PreflightResultCache threadsafe.
3203
3204         (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
3205         (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
3206         Consolidation of duplicate logic.
3207
3208 2008-11-24  Jungshik Shin  <jshin@chromium.org>
3209
3210         Reviewed by Darin Adler.
3211
3212         For Unicode encodings other than UTF-8, use UTF-8 for
3213         form submission and URL query part encoding.
3214
3215         See https://bugs.webkit.org/show_bug.cgi?id=21635
3216
3217         Tests: http/tests/misc/submit-get-in-utf16be.html
3218                http/tests/misc/submit-get-in-utf16le.html
3219                http/tests/misc/submit-get-in-utf32be.html
3220                http/tests/misc/submit-get-in-utf32le.html
3221                http/tests/misc/submit-get-in-utf7.html
3222                http/tests/misc/submit-post-in-utf16be.html
3223                http/tests/misc/submit-post-in-utf16le.html
3224                http/tests/misc/submit-post-in-utf32be.html
3225                http/tests/misc/submit-post-in-utf32le.html
3226                http/tests/misc/submit-post-in-utf7.html
3227                http/tests/misc/url-in-utf16be.html
3228                http/tests/misc/url-in-utf16le.html
3229                http/tests/misc/url-in-utf32be.html
3230                http/tests/misc/url-in-utf32le.html
3231                http/tests/misc/url-in-utf7.html
3232  
3233         * html/HTMLFormElement.cpp:
3234         (WebCore::HTMLFormElement::formData):
3235         * loader/TextResourceDecoder.cpp:
3236         (WebCore::TextResourceDecoder::setEncoding):
3237         * platform/KURL.cpp:
3238         (WebCore::KURL::KURL):
3239         * platform/text/TextEncoding.cpp:
3240         (WebCore::UTF7Encoding):
3241         (WebCore::TextEncoding::isNonByteBasedEncoding):
3242         (WebCore::TextEncoding::closestByteBasedEquivalent):
3243         (WebCore::TextEncoding::encodingForFormSubmission):
3244         * platform/text/TextEncoding.h:
3245
3246 2008-11-24  Julien Chaffraix  <jchaffraix@webkit.org>
3247
3248         Reviewed by Darin Adler.
3249
3250         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3251         https://bugs.webkit.org/show_bug.cgi?id=22441
3252
3253         - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
3254
3255         - Tweaked the generated files to better match our coding style.
3256
3257         * dom/make_names.pl:
3258
3259 2008-11-24  Antti Koivisto  <antti@apple.com>
3260
3261         Reviewed by Darin Adler.
3262         
3263         Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
3264         REGRESSION(r33544): Palace in the Sky crashes WebKit
3265         
3266         HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
3267         there were no scripts left to execute. 
3268         
3269         If m_hasScriptsWaitingForStylesheets becomes true during script execution
3270         bail out from executing more scripts synchronously.
3271
3272         Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
3273
3274         * html/HTMLTokenizer.cpp:
3275         (WebCore::HTMLTokenizer::reset):
3276         (WebCore::HTMLTokenizer::notifyFinished):
3277
3278 2008-11-24  Darin Fisher  <darin@chromium.org>
3279
3280         Reviewed by Geoffrey Garen.
3281
3282         https://bugs.webkit.org/show_bug.cgi?id=22465
3283         Define KURL::copy() and use it in WorkerThread.cpp
3284
3285         * dom/WorkerThread.cpp:
3286         (WebCore::WorkerThread::WorkerThread):
3287         * platform/KURL.cpp:
3288         (WebCore::KURL::copy):
3289         * platform/KURL.h:
3290
3291 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3292
3293         Reviewed by Sam Weinig.
3294
3295         Name enum values in a style guide compatible way.
3296         Allow WMLIntrinsicEvent inclusion, without needing other includes.
3297
3298         * wml/WMLIntrinsicEvent.cpp:
3299         (WebCore::createTaskElement):
3300         * wml/WMLIntrinsicEvent.h:
3301         * wml/WMLIntrinsicEventHandler.cpp:
3302         * wml/WMLIntrinsicEventHandler.h:
3303         (WebCore::):
3304
3305 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3306
3307         Reviewed by Sam Weinig.
3308
3309         Add wmlPageStateForDocument() helper function and use it in some places.
3310
3311         * wml/WMLAccessElement.cpp:
3312         (WebCore::WMLAccessElement::parseMappedAttribute):
3313         * wml/WMLDocument.cpp:
3314         (WebCore::WMLDocument::WMLDocument):
3315         (WebCore::WMLDocument::finishedParsing):
3316         (WebCore::wmlPageStateForDocument):
3317         * wml/WMLDocument.h:
3318         * wml/WMLGoElement.cpp:
3319         (WebCore::WMLGoElement::executeTask):
3320         * wml/WMLPrevElement.cpp:
3321         (WebCore::WMLPrevElement::executeTask):
3322         * wml/WMLRefreshElement.cpp:
3323         (WebCore::WMLRefreshElement::executeTask):
3324         * wml/WMLTaskElement.cpp:
3325         (WebCore::WMLTaskElement::storeVariableState):
3326         * wml/WMLTaskElement.h:
3327
3328 2008-11-24  Antti Koivisto  <antti@apple.com>
3329
3330         Reviewed by Geoff Garen and Sam Weinig.
3331
3332         https://bugs.webkit.org/show_bug.cgi?id=22214
3333         Keep dead resources in memory cache in purgeable memory.
3334         <rdar://problem/6333088>
3335         
3336         OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
3337         areas as less important. Under memory pressure system can steal pages that have
3338         been marked purgeable for (hopefully) better uses. This is ideal for caches.
3339         
3340         Only resources larger than 16KB will be moved to the purgeable memory.
3341
3342         * WebCore.base.exp:
3343         * WebCore.vcproj/WebCore.vcproj:
3344         * WebCore.xcodeproj/project.pbxproj:
3345         * loader/Cache.cpp:
3346         (WebCore::Cache::requestResource):
3347         (WebCore::Cache::requestUserCSSStyleSheet):
3348         (WebCore::Cache::resourceForURL):
3349         (WebCore::Cache::pruneDeadResources):
3350         (WebCore::Cache::TypeStatistic::addResource):
3351         (WebCore::Cache::getStatistics):
3352         (WebCore::Cache::dumpStats):
3353         * loader/Cache.h:
3354         (WebCore::Cache::TypeStatistic::TypeStatistic):
3355         * loader/CachedCSSStyleSheet.cpp:
3356         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
3357         (WebCore::CachedCSSStyleSheet::sheetText):
3358         * loader/CachedCSSStyleSheet.h:
3359         * loader/CachedImage.cpp:
3360         (WebCore::CachedImage::addClient):
3361         (WebCore::CachedImage::image):
3362         (WebCore::CachedImage::imageSize):
3363         (WebCore::CachedImage::imageRect):
3364         (WebCore::CachedImage::destroyDecodedData):
3365         * loader/CachedResource.cpp:
3366         (WebCore::CachedResource::addClient):
3367         (WebCore::CachedResource::makePurgeable):
3368         (WebCore::CachedResource::isPurgeable):
3369         (WebCore::CachedResource::wasPurged):
3370         * loader/CachedResource.h:
3371         (WebCore::CachedResource::data):
3372         * loader/CachedScript.cpp:
3373         (WebCore::CachedScript::allClientsRemoved):
3374         (WebCore::CachedScript::script):
3375         (WebCore::CachedScript::destroyDecodedData):
3376         * platform/PurgeableBuffer.h: Added.
3377         (WebCore::PurgeableBuffer::create):
3378         (WebCore::PurgeableBuffer::size):
3379         (WebCore::PurgeableBuffer::):
3380         (WebCore::PurgeableBuffer::purgePriority):
3381         (WebCore::PurgeableBuffer::isPurgeable):
3382         (WebCore::PurgeableBuffer::~PurgeableBuffer):
3383         (WebCore::PurgeableBuffer::data):
3384         (WebCore::PurgeableBuffer::setPurgePriority):
3385         (WebCore::PurgeableBuffer::wasPurged):
3386         (WebCore::PurgeableBuffer::makePurgeable):
3387         * platform/SharedBuffer.cpp:
3388         (WebCore::SharedBuffer::~SharedBuffer):
3389         (WebCore::SharedBuffer::adoptPurgeableBuffer):
3390         (WebCore::SharedBuffer::size):
3391         (WebCore::SharedBuffer::data):
3392         (WebCore::SharedBuffer::append):
3393         (WebCore::SharedBuffer::clear):
3394         (WebCore::SharedBuffer::releasePurgeableBuffer):
3395         * platform/SharedBuffer.h:
3396         (WebCore::SharedBuffer::hasPurgeableBuffer):
3397         * platform/cf/SharedBufferCF.cpp:
3398         * platform/mac/PurgeableBufferMac.cpp: Added.
3399         (WebCore::PurgeableBuffer::PurgeableBuffer):
3400         (WebCore::PurgeableBuffer::~PurgeableBuffer):
3401         (WebCore::PurgeableBuffer::create):
3402         (WebCore::PurgeableBuffer::makePurgeable):
3403         (WebCore::PurgeableBuffer::wasPurged):
3404         (WebCore::PurgeableBuffer::setPurgePriority):
3405         (WebCore::PurgeableBuffer::data):
3406
3407 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3408
3409         Reviewed by George Staikos & Eric Seidel.
3410
3411         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
3412
3413         Regenerate WML layout test results after implementing WML specific <card> handling:
3414         Only the first <card> element should be visible after loading the document, others
3415         can be shown by using the <go> task element.
3416
3417         * dom/Document.h: Make 'finishedParsing()' a virtual function.
3418         * wml/WMLCardElement.cpp:
3419         (WebCore::WMLCardElement::WMLCardElement):
3420         (WebCore::WMLCardElement::~WMLCardElement):
3421         (WebCore::WMLCardElement::createRenderer):
3422         (WebCore::WMLCardElement::setActiveCardInDocument):
3423         (WebCore::WMLCardElement::setVisibility):
3424         * wml/WMLCardElement.h:
3425         * wml/WMLDocument.cpp:
3426         (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
3427         * wml/WMLDocument.h:
3428
3429 2008-11-24  Glenn Wilson  <gwilson@chromium.org>
3430
3431         Reviewed by Alexey Proskuryakov.
3432
3433         http://bugs.webkit.org/show_bug.cgi?id=15643
3434
3435         Added support for clients that wish to disable smart insert/delete
3436         and enable the "trailing whitespace selection" work-around.
3437
3438         Tests: editing/selection/doubleclick-whitespace.html
3439
3440         * editing/Editor.cpp:
3441         (WebCore::Editor::selectTrailingWhitespaceEnabled):
3442         * editing/Editor.h:
3443         * editing/Selection.cpp:
3444         (WebCore::Selection::includeTrailingWhitespace):
3445         * editing/Selection.h:
3446         * loader/EmptyClients.h:
3447         (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
3448         * page/EditorClient.h:
3449         * page/EventHandler.cpp:
3450         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
3451
3452 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3453
3454         Not reviewed. Forgot to include WMLPageState.h in last commit.
3455
3456         * wml/WMLPageState.h:
3457         (WebCore::WMLPageState::restrictDeckAccessToDomain):
3458         (WebCore::WMLPageState::restrictDeckAccessToPath):
3459
3460 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3461
3462         Reviewed by Oliver Hunt & Eric Seidel.
3463
3464         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
3465
3466         Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
3467
3468         * WebCore.xcodeproj/project.pbxproj:
3469         * wml/WMLAccessElement.cpp: Added.
3470         (WebCore::WMLAccessElement::WMLAccessElement):
3471         (WebCore::WMLAccessElement::parseMappedAttribute):
3472         * wml/WMLAccessElement.h: Added.
3473         * wml/WMLTagNames.in:
3474         * wml/WMLPageState.h: Rename functions.
3475         (WebCore::WMLPageState::restrictDeckAccessToDomain):
3476         (WebCore::WMLPageState::restrictDeckAccessToPath):
3477         * wml/WMLVariables.cpp: Add new helper function.
3478         (WebCore::valueContainsVariableReference):
3479         * wml/WMLVariables.h:
3480         (WebCore::):
3481
3482 2008-11-24  Darin Adler  <darin@apple.com>
3483
3484         Reviewed by Dan Bernstein.
3485
3486         - https://bugs.webkit.org/show_bug.cgi?id=22470
3487           remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
3488
3489         * loader/EmptyClients.h:
3490         (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
3491         * loader/FrameLoader.cpp:
3492         (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
3493         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
3494         * loader/FrameLoaderClient.h: Remove argument.
3495
3496 2008-11-24  Finnur Thorarinsson  <finnur.webkit@gmail.com>
3497
3498         Reviewed by Darin Adler.
3499
3500         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
3501
3502         Add plumbing for tickmark support for the scrollbars. The painting code
3503         for the scrollbar just needed to call paintTickmarks at the right time
3504         and a default no-op implementation is provided, which the ports will
3505         need to override.
3506
3507         * platform/ScrollbarThemeComposite.cpp:
3508         (WebCore::ScrollbarThemeComposite::paint):
3509         * platform/ScrollbarThemeComposite.h:
3510         (WebCore::ScrollbarThemeComposite::paintTickmarks):
3511
3512 2008-11-24  Darin Fisher  <darin@chromium.org>
3513
3514         Reviewed by Sam Weinig.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=22448
3517         Create an abstraction for JSC::SourceCode
3518
3519         * WebCore.vcproj/WebCore.vcproj:
3520         * bindings/js/CachedScriptSourceProvider.h:
3521         * bindings/js/ScriptController.cpp:
3522         (WebCore::ScriptController::evaluate):
3523         * bindings/js/ScriptController.h:
3524         * bindings/js/ScriptSourceCode.h: Added.
3525         (WebCore::ScriptSourceCode::ScriptSourceCode):
3526         (WebCore::ScriptSourceCode::length):
3527         (WebCore::ScriptSourceCode::jsSourceCode):
3528         * bindings/js/WorkerScriptController.cpp:
3529         (WebCore::Workevn ScriptController::evaluate):
3530         * bindings/js/WorkerScriptController.h:
3531         * dom/ScriptElement.cpp:
3532         (WebCore::ScriptElement::insertedIntoDocument):
3533         (WebCore::ScriptElement::childrenChanged):
3534         (WebCore::ScriptElementData::evaluateScript):
3535         (WebCore::ScriptElementData::notifyFinished):
3536         * dom/ScriptElement.h:
3537         * dom/WorkerThread.cpp:
3538         (WebCore::WorkerThread::workerThread):
3539         * dom/WorkerThread.h:
3540         * dom/XMLTokenizer.cpp:
3541         (WebCore::XMLTokenizer::notifyFinished):
3542         * dom/XMLTokenizerLibxml2.cpp:
3543         (WebCore::XMLTokenizer::endElementNs):
3544         * dom/XMLTokenizerQt.cpp:
3545         (WebCore::XMLTokenizer::parseEndElement):
3546         * html/HTMLTokenizer.cpp:
3547         (WebCore::HTMLTokenizer::scriptHandler):
3548         (WebCore::HTMLTokenizer::scriptExecution):
3549         (WebCore::HTMLTokenizer::notifyFinished):
3550         * html/HTMLTokenizer.h:
3551         * loader/FrameLoader.cpp:
3552         (WebCore::FrameLoader::executeScript):
3553         * loader/FrameLoader.h:
3554
3555 2008-11-24  Darin Adler  <darin@apple.com>
3556
3557         Reviewed by Dan Bernstein.
3558
3559         - finish https://bugs.webkit.org/show_bug.cgi?id=22295
3560           track which history items are from page load failures
3561
3562         * WebCore.base.exp: Exported new function.
3563
3564         * loader/DocumentLoader.cpp:
3565         (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
3566         * loader/DocumentLoader.h: Ditto.
3567
3568 2008-11-24  Chris Fleizach  <cfleizach@apple.com>
3569
3570         Reviewed by Beth Dakin.
3571
3572         Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
3573         https://bugs.webkit.org/show_bug.cgi?id=22461
3574  
3575         Changing AccessibilityListBox to use its parent's signature for hit testing
3576
3577         * page/AccessibilityListBox.cpp:
3578         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
3579         * page/AccessibilityListBox.h:
3580
3581 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
3582
3583         Fix Windows build: selectionRect() -> selectionBounds().
3584
3585         * page/win/FrameCGWin.cpp:
3586         (WebCore::imageFromSelection):
3587
3588 2008-11-24  Glenn Wilson  <gwilson@chromium.org>
3589
3590         Reviewed by Darin Adler.
3591
3592         http://bugs.webkit.org/show_bug.cgi?id=18703
3593         "Changing the 'size' property on a text input does not affect its length"
3594
3595         Text fields would not repaint themselves after having their "size" 
3596         attributes modified.  This fix tells the object to recalculate its 
3597         width and repaint itself when its "size" attribute is parsed.
3598
3599         Test: fast/js/text-field-resize.html
3600
3601         * html/HTMLInputElement.cpp:
3602         (WebCore::HTMLInputElement::parseMappedAttribute):
3603
3604 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
3605
3606         Reviewed by Darin Adler
3607
3608         Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
3609         
3610         Make RenderView::selectionRect() private to cause compile-time
3611         errors if someone tries to call it.
3612
3613         * rendering/RenderView.h:
3614
3615 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
3616
3617         Reviewed by Dan Bernstein
3618
3619         Via: https://bugs.webkit.org/show_bug.cgi?id=22433
3620         
3621         Rename RenderView::selectionRect() to selectionBounds(), to remove
3622         longstanding ambiguity with the base class selectionRect() method.
3623         Do the same on Frame for consistency with RenderView. Assert
3624         that RenderView::selectionRect() is never called.
3625
3626         * WebCore.base.exp:
3627         * editing/SelectionController.cpp:
3628         (WebCore::SelectionController::focusedOrActiveStateChanged):
3629         * page/DragController.cpp:
3630         (WebCore::dragLocForSelectionDrag):
3631         * page/Frame.cpp:
3632         (WebCore::Frame::selectionBounds):
3633         (WebCore::Frame::revealSelection):
3634         * page/Frame.h:
3635         * page/mac/FrameMac.mm:
3636         (WebCore::Frame::selectionImage):
3637         * rendering/RenderView.cpp:
3638         (WebCore::RenderView::selectionRect):
3639         (WebCore::RenderView::selectionBounds):
3640         * rendering/RenderView.h:
3641
3642 2008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>
3643
3644         Reviewed by Darin Adler.
3645
3646         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3647         https://bugs.webkit.org/show_bug.cgi?id=22441
3648
3649         - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
3650         an AtomicString.
3651
3652         - Updated the elements' constructors and the callers to reflect the previous change.
3653
3654         * dom/Document.cpp:
3655         (WebCore::Document::createElement):
3656         * html/HTMLDocument.cpp:
3657         (WebCore::HTMLDocument::createElement):
3658         * html/HTMLElement.cpp:
3659         (WebCore::HTMLElement::cloneNode):
3660         * html/HTMLElementFactory.cpp:
3661         (WebCore::htmlConstructor):
3662         (WebCore::headConstructor):
3663         (WebCore::bodyConstructor):
3664         (WebCore::baseConstructor):
3665         (WebCore::linkConstructor):
3666         (WebCore::metaConstructor):
3667         (WebCore::styleConstructor):
3668         (WebCore::titleConstructor):
3669         (WebCore::frameConstructor):
3670         (WebCore::framesetConstructor):
3671         (WebCore::iframeConstructor):
3672         (WebCore::formConstructor):
3673         (WebCore::buttonConstructor):
3674         (WebCore::inputConstructor):
3675         (WebCore::isindexConstructor):
3676         (WebCore::fieldsetConstructor):
3677         (WebCore::keygenConstructor):
3678         (WebCore::labelConstructor):
3679         (WebCore::legendConstructor):
3680         (WebCore::optgroupConstructor):
3681         (WebCore::optionConstructor):
3682         (WebCore::selectConstructor):
3683         (WebCore::textareaConstructor):
3684         (WebCore::dlConstructor):
3685         (WebCore::ulConstructor):
3686         (WebCore::olConstructor):
3687         (WebCore::dirConstructor):
3688         (WebCore::menuConstructor):
3689         (WebCore::liConstructor):
3690         (WebCore::blockquoteConstructor):
3691         (WebCore::divConstructor):
3692         (WebCore::headingConstructor):
3693         (WebCore::hrConstructor):
3694         (WebCore::paragraphConstructor):
3695         (WebCore::preConstructor):
3696         (WebCore::basefontConstructor):
3697         (WebCore::fontConstructor):
3698         (WebCore::modConstructor):
3699         (WebCore::anchorConstructor):
3700         (WebCore::imageConstructor):
3701         (WebCore::mapConstructor):
3702         (WebCore::areaConstructor):
3703         (WebCore::canvasConstructor):
3704         (WebCore::appletConstructor):
3705         (WebCore::embedConstructor):
3706         (WebCore::objectConstructor):
3707         (WebCore::paramConstructor):
3708         (WebCore::scriptConstructor):
3709         (WebCore::tableConstructor):
3710         (WebCore::tableCaptionConstructor):
3711         (WebCore::tableColConstructor):
3712         (WebCore::tableRowConstructor):
3713         (WebCore::tableCellConstructor):
3714         (WebCore::tableSectionConstructor):
3715         (WebCore::brConstructor):
3716         (WebCore::quoteConstructor):
3717         (WebCore::marqueeConstructor):
3718         (WebCore::audioConstructor):
3719         (WebCore::videoConstructor):
3720         (WebCore::sourceConstructor):
3721         (WebCore::HTMLElementFactory::createHTMLElement):
3722         * html/HTMLElementFactory.h:
3723         * html/HTMLParser.cpp:
3724         (WebCore::HTMLParser::getNode):
3725
3726 2008-11-24  Brent Fulgham  <bfulgham@gmail.com>
3727
3728         Reviewed by Alexey Proskuryakov.
3729
3730         https://bugs.webkit.org/show_bug.cgi?id=22444
3731
3732         Correct bad default constructor for Cairo FontPlatformData so that
3733         the m_scaledFont member is initialized.  Previously this would be
3734         set to 0xbaadf00d, which would result in infinite loops while
3735         attempting to deal with the font cache.
3736
3737         * platform/graphics/win/FontPlatformData.h:
3738         (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
3739
3740 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
3741
3742         Reviewed by Darin Adler.
3743
3744         https://bugs.webkit.org/show_bug.cgi?id=22455
3745         Add support for Worker.terminate()
3746
3747         Test: fast/workers/worker-terminate.html
3748
3749         * dom/Worker.idl:
3750         * dom/Worker.cpp:
3751         * dom/Worker.h:
3752         Added terminate().
3753
3754         * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
3755         * dom/WorkerMessagingProxy.cpp:
3756         (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
3757         to terminate (this is not mentioned in draft spec, but makes sense anyway).
3758         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
3759         asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
3760         to only track messages that were posted to worker thread, avoiding a leak if the script
3761         could not be loaded.
3762         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
3763         (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
3764         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
3765         was destroyed, the worker object may still be alive now, so don't delete self in this case.
3766         (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
3767         remember to stop it when it is created.
3768         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
3769         if the thread asked to stop anyway.
3770         (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
3771
3772         * dom/WorkerThread.cpp:
3773         * dom/WorkerThread.h:
3774         Fixed a race condition in stop().
3775
3776 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
3777
3778         Reviewed by Mark Rowe.
3779
3780         https://bugs.webkit.org/show_bug.cgi?id=22439
3781         Won't load stylesheets with filenames less than 2 characters long in xhtml.
3782
3783         Test: http/tests/misc/single-character-pi-stylesheet.xhtml
3784
3785         * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
3786         Fix up the logic.
3787
3788 2008-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3789
3790         Reviewed by Mark Rowe.
3791
3792         [Gtk+] Add configure option to enable Web Workers and enable it by default
3793
3794         Add --enable-workers to the buildsystem (used by build-webkit) add
3795         the to be build files to the GNUmakefile.am and change build-webkit
3796         to enable Web Workers by default.
3797
3798         * GNUmakefile.am:
3799
3800 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
3801
3802         Build fix (for Windows Cairo port?)
3803
3804         * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
3805         the ENABLE macro is not available in idls.
3806
3807 2008-11-22  Dimitri Glazkov  <dglazkov@chromium.org>
3808
3809         Reviewed by Darin Adler.
3810
3811         https://bugs.webkit.org/show_bug.cgi?id=22421
3812         Added ScriptValue to Visual Studio and XCode projects.
3813
3814         * WebCore.vcproj/WebCore.vcproj:
3815         * WebCore.xcodeproj/project.pbxproj:
3816
3817 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3818
3819         Reviewed by Holger Freyther.
3820
3821         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
3822
3823         Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
3824
3825         * WebCore.xcodeproj/project.pbxproj:
3826         * wml/WMLIntrinsicEvent.cpp: Added.
3827         (WebCore::createTaskElement):
3828         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
3829         * wml/WMLIntrinsicEvent.h: Added.
3830         (WebCore::WMLIntrinsicEvent::create):
3831         (WebCore::WMLIntrinsicEvent::createWithTask):
3832         (WebCore::WMLIntrinsicEvent::taskElement):
3833         * wml/WMLIntrinsicEventHandler.cpp: Added.
3834         (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
3835         (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
3836         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
3837         (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
3838         * wml/WMLIntrinsicEventHandler.h: Added.
3839         (WebCore::):
3840
3841 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3842
3843         Reviewed by Holger Freyther.
3844
3845         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
3846
3847         Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
3848         Activate code handling <setvar> registration in WMLTaskElement.
3849
3850         * wml/WMLGoElement.cpp: Added.
3851         (WebCore::WMLGoElement::WMLGoElement):
3852         (WebCore::WMLGoElement::~WMLGoElement):
3853         (WebCore::WMLGoElement::parseMappedAttribute):
3854         (WebCore::WMLGoElement::executeTask):
3855         * wml/WMLGoElement.h: Added.
3856         * wml/WMLPrevElement.cpp: Added.
3857         (WebCore::WMLPrevElement::WMLPrevElement):
3858         (WebCore::WMLPrevElement::~WMLPrevElement):
3859         (WebCore::WMLPrevElement::executeTask):
3860         * wml/WMLPrevElement.h: Added.
3861         * wml/WMLRefreshElement.cpp: Added.
3862         (WebCore::WMLRefreshElement::WMLRefreshElement):
3863         (WebCore::WMLRefreshElement::~WMLRefreshElement):
3864         (WebCore::WMLRefreshElement::executeTask):
3865         * wml/WMLRefreshElement.h: Added.
3866         * wml/WMLSetvarElement.cpp: Added.
3867         (WebCore::WMLSetvarElement::WMLSetvarElement):
3868         (WebCore::WMLSetvarElement::~WMLSetvarElement):
3869         (WebCore::WMLSetvarElement::parseMappedAttribute):
3870         (WebCore::WMLSetvarElement::insertedIntoDocument):
3871         (WebCore::WMLSetvarElement::name):
3872         (WebCore::WMLSetvarElement::value):
3873         * wml/WMLSetvarElement.h: Added.
3874         * wml/WMLTagNames.in:
3875         * wml/WMLTaskElement.cpp:
3876         (WebCore::WMLTaskElement::registerVariableSetter):
3877         (WebCore::WMLTaskElement::storeVariableState):
3878         * wml/WMLTaskElement.h:
3879         * WebCore.xcodeproj/project.pbxproj:
3880
3881 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3882
3883         Not reviewed. Forgot to include WMLPageState.* in the last commit.
3884
3885         * wml/WMLPageState.cpp:
3886         (WebCore::WMLPageState::setNeedCheckDeckAccess):
3887         * wml/WMLPageState.h:
3888         (WebCore::WMLPageState::storeVariables):
3889
3890 2008-11-21  Alexey Proskuryakov  <ap@webkit.org>
3891
3892         Reviewed by Darin Adler.
3893
3894         https://bugs.webkit.org/show_bug.cgi?id=22397
3895         Worker threads are not destroyed if running a JS loop
3896
3897         Since the event loop is not ever entered again in this case, the fix necessarily involves
3898         some shared data hackery.
3899
3900         * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
3901         * dom/WorkerThread.h:
3902         Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
3903         may need to abort other kinds of synchronous processing, such as importScripts or XHR.
3904
3905         * bindings/js/WorkerScriptController.cpp:
3906         (WebCore::WorkerScriptController::WorkerScriptController):
3907         (WebCore::WorkerScriptController::evaluate):
3908         (WebCore::WorkerScriptController::forbidExecution):
3909         * bindings/js/WorkerScriptController.h:
3910         Added a forbidExecution() method, which interrupts currently running JS, and makes any
3911         future calls to evaluate() return immediately.
3912
3913         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3914         Call WorkerThread::stop().
3915
3916 2008-11-21  Kevin Watters  <kevinwatters@gmail.com>
3917
3918         Reviewed by Kevin Ollivier.
3919
3920         Improve wx image drawing performance considerably when using wxGraphicsContext
3921         by avoiding unnecessary copies and drawing.
3922         
3923         https://bugs.webkit.org/show_bug.cgi?id=22404
3924
3925         * platform/graphics/wx/ImageWx.cpp:
3926         (WebCore::BitmapImage::draw):
3927         (WebCore::BitmapImage::drawPattern):
3928
3929
3930 2008-11-21  Kevin Watters  <kevinwatters@gmail.com>
3931
3932         Reviewed by Kevin Ollivier.
3933
3934         Implementation of AffineTransform::mapRect for wx.
3935         
3936         https://bugs.webkit.org/show_bug.cgi?id=22401
3937
3938         * platform/graphics/wx/AffineTransformWx.cpp:
3939         (WebCore::AffineTransform::mapRect):
3940
3941 2008-11-21  Justin Garcia  <justin.garcia@apple.com>
3942
3943         Reviewed by Darin Adler.
3944
3945         <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
3946         
3947         Change link editing behavior to match TextEdit and MS Word when editing before and after 
3948         a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we 
3949         used to, so it's difficult to get out of link editing mode):
3950         When inserting before or after a link, always insert content outside of the link.  This
3951         makes it impossible to get stuck in link editing mode, while making it slightly more 
3952         difficult to edit link labels.  WebKit editors that care about this can add UI for editing 
3953         link labels, like GMail and GoogleDocs have done.  We never actually had any bugs complaining
3954         about how it was difficult to edit link labels at the start/end, the code was just introduced 
3955         with another bug fix without much thought.
3956         
3957         Don't remember removed links anymore, no other editor does this and it made it 
3958         difficult/impossible to get out of link editing mode.  This code was added to fix
3959         <rdar://problem/4069359>, which is fixed instead by removing the styles from an 
3960         enclosing anchor element from those styles that we remember when we delete content.
3961
3962         * editing/CompositeEditCommand.cpp:
3963         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
3964         * editing/CompositeEditCommand.h:
3965         * editing/DeleteSelectionCommand.cpp:
3966         (WebCore::removeEnclosingAnchorStyle):
3967         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
3968         (WebCore::DeleteSelectionCommand::doApply):
3969         * editing/DeleteSelectionCommand.h:
3970         * editing/EditCommand.cpp:
3971         (WebCore::EditCommand::apply):
3972         * editing/Editor.cpp:
3973         (WebCore::Editor::appliedEditing):
3974         * editing/InsertTextCommand.cpp:
3975         (WebCore::InsertTextCommand::prepareForTextInsertion):
3976         (WebCore::InsertTextCommand::input):
3977         * editing/RemoveFormatCommand.cpp:
3978         (WebCore::RemoveFormatCommand::doApply):
3979         * editing/SelectionController.cpp:
3980         (WebCore::SelectionController::setSelection):
3981         * editing/SelectionController.h:
3982
3983 2008-11-21  Alice Liu  <alice.liu@apple.com>
3984
3985         Rubber-stamped by Dan Bernstein.
3986
3987         fixed <rdar://6340771> crashing on print preview
3988
3989         * platform/graphics/win/GraphicsContextCGWin.cpp:
3990         (WebCore::GraphicsContext::drawWindowsBitmap):
3991
3992 2008-11-21  Darin Fisher  <darin@chromium.org>
3993
3994         Reviewed by Geoffrey Garen.
3995
3996         https://bugs.webkit.org/show_bug.cgi?id=22390
3997         Abstract away JSC:: usage in WebCore/xml
3998
3999         * bindings/js/ScriptString.h: Added.
4000         (WebCore::ScriptString::ScriptString):
4001         (WebCore::ScriptString::operator JSC::UString):
4002         (WebCore::ScriptString::isNull):
4003         (WebCore::ScriptString::size):
4004         (WebCore::ScriptString::operator=):
4005         (WebCore::ScriptString::operator+=):
4006         * inspector/InspectorController.cpp:
4007         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
4008         (WebCore::InspectorResource::setXMLHttpRequestProperties):
4009         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
4010         * inspector/InspectorController.h:
4011         * xml/XMLHttpRequest.cpp:
4012         (WebCore::XMLHttpRequest::responseText):
4013         (WebCore::XMLHttpRequest::clearResponse):
4014         (WebCore::XMLHttpRequest::dropProtection):
4015         (WebCore::XMLHttpRequest::didFinishLoading):
4016         (WebCore::XMLHttpRequest::didReceiveData):
4017         * xml/XMLHttpRequest.h:
4018         (WebCore::XMLHttpRequest::setLastSendURL):
4019
4020 2008-11-21  Sam Weinig  <sam@webkit.org>
4021
4022         Reviewed by Geoffrey Garen.
4023
4024         Destroy script decoded data on a zero-delay timer after
4025         decoding.  This means we now have no decoded script data
4026         at the end of Membuster.
4027
4028         * loader/CachedScript.cpp:
4029         (WebCore::CachedScript::CachedScript):
4030         (WebCore::CachedScript::allClientsRemoved):
4031         (WebCore::CachedScript::script):
4032         (WebCore::CachedScript::decodedDataDeletionTimerFired):
4033         * loader/CachedScript.h:
4034
4035 2008-11-21  Simon Fraser  <simon.fraser@apple.com>
4036
4037         Reviewed by Darin Adler
4038
4039         https://bugs.webkit.org/show_bug.cgi?id=22159
4040
4041         RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
4042         maximalOutlineSize(), since a child might have an outline which projects
4043         outside the parent overflowRect().
4044         
4045         We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
4046         so that it is valid for these repaints.
4047
4048         Test: fast/repaint/outline-child-repaint.html
4049
4050         * WebCore.xcodeproj/project.pbxproj:
4051         * rendering/RenderBox.cpp:
4052         (WebCore::RenderBox::styleDidChange):
4053         (WebCore::RenderBox::absoluteClippedOverflowRect):
4054
4055 2008-11-21  Jan Michael Alonzo  <jmalonzo@webkit.org>
4056
4057         Gtk, Qt, and Wx build fix.
4058
4059         Add LinkHash.cpp in the build scripts.
4060         Add LinkHash.h to Gtk's build script.
4061
4062         LinkHash.cpp/h was introduced in r38661.
4063
4064         * GNUmakefile.am:
4065         * WebCore.pro:
4066         * WebCoreSources.bkl:
4067
4068 2008-11-21  Sam Weinig  <sam@webkit.org>
4069
4070         Reviewed by Dan Bernstein.
4071
4072         Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
4073         Be more eager in destroying script decoded data
4074
4075         Destroy the decoded data when all clients are removed from a CachedScript.
4076
4077         * loader/CachedScript.cpp:
4078         (WebCore::CachedScript::allClientsRemoved):
4079         * loader/CachedScript.h:
4080         (WebCore::CachedScript::allClientsRemoved):
4081
4082 2008-11-21  Pierre-Olivier Latour  <pol@apple.com>
4083
4084         Reviewed by Dan Bernstein.
4085
4086         WebKit should be using Device RGB colorspace everywhere for
4087         consistency.
4088
4089         https://bugs.webkit.org/show_bug.cgi?id=22300
4090
4091         * page/mac/AccessibilityObjectWrapper.mm:
4092         (CreateCGColorIfDifferent):
4093         * platform/graphics/mac/ColorMac.h:
4094         * platform/graphics/mac/ColorMac.mm:
4095         (WebCore::nsColor):
4096         (+[WebCoreControlTintObserver controlTintDidChange]):
4097         * rendering/RenderThemeMac.mm:
4098         (WebCore::convertNSColorToColor):
4099         (WebCore::menuBackgroundColor):
4100
4101 2008-11-20  Julien Chaffraix  <jchaffraix@webkit.org>
4102
4103         Reviewed by Darin Adler.
4104
4105         Bug 22388: Add JSInterfaceName to the .in files
4106         https://bugs.webkit.org/show_bug.cgi?id=22388        
4107
4108         Add JSInterfaceName that is similar to interfaceName but
4109         for the JS wrappers. JSInterfaceName is always equal to interfaceName
4110         unless explicitly set.
4111         
4112         * dom/make_names.pl:
4113         * html/HTMLTagNames.in:
4114         * svg/svgtags.in:
4115
4116 2008-11-21  Sam Weinig  <sam@webkit.org>
4117
4118         Reviewed by Geoffrey Garen.
4119
4120         Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
4121         Be more eager in destroying script decoded data
4122
4123         Use a new CachedScriptSourceProvider to keep CachedScripts as
4124         CachedScripts, even down into JSC.  This has the added benefit
4125         of showing the CachedScripts as live in the Caches window.
4126
4127         * GNUmakefile.am:
4128         * WebCore.vcproj/WebCore.vcproj:
4129         * WebCore.xcodeproj/project.pbxproj:
4130         * bindings/js/CachedScriptSourceProvider.h: Added.
4131         (WebCore::CachedScriptSourceProvider::create):
4132         (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
4133         (WebCore::CachedScriptSourceProvider::getRange):
4134         (WebCore::CachedScriptSourceProvider::data):
4135         (WebCore::CachedScriptSourceProvider::length):
4136         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
4137         (WebCore::makeSource):
4138         * dom/ScriptElement.cpp:
4139         (WebCore::ScriptElementData::notifyFinished):
4140         * dom/XMLTokenizer.cpp:
4141         (WebCore::XMLTokenizer::notifyFinished):
4142         * html/HTMLTokenizer.cpp:
4143         (WebCore::HTMLTokenizer::notifyFinished):
4144
4145 2008-11-21  Brett Wilson  <brettw@chromium.org>
4146
4147         Fix debug-only build bustage due to a typo in an assert, and add new
4148         files to the Windows build.
4149
4150         * Info.plist:
4151         * WebCore.vcproj/WebCore.vcproj:
4152         * platform/LinkHash.h:
4153         (WebCore::LinkHashHash::avoidDeletedValue):
4154
4155 2008-11-20  Brett Wilson  <brettw@chromium.org>
4156
4157         Reviewed by Eric Seidel.
4158
4159         https://bugs.webkit.org/show_bug.cgi?id=22131
4160
4161         Factor out visited link hashing and types into a new file, LinkHash.
4162         This also changes the hash type to 64 bits, but does not actually use
4163         the extra bits yet.
4164
4165         * WebCore.xcodeproj/project.pbxproj:
4166         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
4167         (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
4168         * css/CSSStyleSelector.h:
4169         (WebCore::CSSStyleSelector::visitedStateChanged):
4170         * dom/Document.cpp:
4171         * dom/Document.h:
4172         * page/Page.cpp:
4173         (WebCore::Page::visitedStateChanged):
4174         * page/Page.h:
4175         * page/PageGroup.cpp:
4176         (WebCore::PageGroup::isLinkVisited):
4177         (WebCore::PageGroup::addVisitedLink):
4178         * page/PageGroup.h:
4179         * platform/LinkHash.cpp: Added.
4180         (WebCore::findSlashDotDotSlash):
4181         (WebCore::findSlashSlash):
4182         (WebCore::findSlashDotSlash):
4183         (WebCore::containsColonSlashSlash):
4184         (WebCore::cleanPath):
4185         (WebCore::matchLetter):
4186         (WebCore::needsTrailingSlash):
4187         (WebCore::visitedLinkHash):
4188         * platform/LinkHash.h: Added
4189         (WebCore::LinkHashHash::hash):
4190         (WebCore::LinkHashHash::equal):
4191         (WebCore::LinkHashHash::avoidDeletedValue):
4192
4193 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4194
4195         Reviewed by Alexey Proskuryakov.
4196
4197         No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
4198
4199         * wml/WMLPElement.cpp:
4200         (WebCore::WMLPElement::insertedIntoDocument):
4201
4202 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4203
4204         Reviewed by Alexey Proskuryakov.
4205
4206         Fix some coding style/formatting issues in WMLAElement.
4207
4208         * wml/WMLAElement.cpp:
4209         (WebCore::WMLAElement::parseMappedAttribute):
4210         (WebCore::WMLAElement::defaultEventHandler):
4211         * wml/WMLAElement.h:
4212
4213 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4214
4215         Reviewed by Alexey Proskuryakov.
4216
4217         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
4218
4219         Implement <anchor> support for WML, add WMLVariables file containing helper functions
4220         for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
4221
4222         * css/CSSStyleSelector.cpp:
4223         (WebCore::linkAttribute):
4224         * rendering/HitTestResult.cpp:
4225         (WebCore::HitTestResult::absoluteImageURL):
4226         (WebCore::HitTestResult::absoluteLinkURL):
4227         (WebCore::HitTestResult::isLiveLink):
4228         * wml/WMLAnchorElement.cpp: Added.
4229         (WebCore::WMLAnchorElement::WMLAnchorElement):
4230         (WebCore::WMLAnchorElement::~WMLAnchorElement):
4231         (WebCore::WMLAnchorElement::defaultEventHandler):
4232         * wml/WMLAnchorElement.h: Added.
4233         (WebCore::WMLAnchorElement::registerTask):
4234         * wml/WMLTagNames.in:
4235         * wml/WMLTaskElement.cpp: Added.
4236         (WebCore::WMLTaskElement::WMLTaskElement):
4237         (WebCore::WMLTaskElement::~WMLTaskElement):
4238         (WebCore::WMLTaskElement::insertedIntoDocument):
4239         (WebCore::WMLTaskElement::addVariableSetter):
4240         (WebCore::WMLTaskElement::removeVariableSetter):
4241         (WebCore::WMLTaskElement::storeVariableState):
4242         * wml/WMLTaskElement.h: Added.
4243         * wml/WMLVariables.cpp: Added.
4244         (WebCore::isValidVariableCharacter):
4245         (WebCore::isValidVariableReferenceCharacter):
4246         (WebCore::isValidVariableName):
4247         (WebCore::substituteVariableReferences):
4248         * wml/WMLVariables.h: Added.
4249         (WebCore::):
4250
4251 2008-11-21  Julien Chaffraix  <jchaffraix@pleyo.com>
4252
4253         Rubber-stamped by Alexey Proskuryakov.
4254
4255         Build fix when building without WORKERS on non-POSIX, non-WINDOWS
4256         machine.
4257
4258         Spotted by Mario Bensi.
4259
4260         * platform/text/TextCodecICU.cpp:
4261
4262 2008-11-20  Sam Weinig  <sam@webkit.org>
4263
4264         Reviewed by Geoffrey Garen.
4265
4266         First step in https://bugs.webkit.org/show_bug.cgi?id=22394
4267         Be more eager in destroying script decoded data
4268
4269         Pass data to be used in script execution around as JSC::SourceCode instead
4270         of a source, url, and starting line.
4271
4272         * bindings/js/ScriptController.cpp:
4273         (WebCore::ScriptController::evaluate):
4274         * bindings/js/ScriptController.h:
4275         *&n