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