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