Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive...
[WebKit-https.git] / WebCore / ChangeLog
1 2008-12-01  David Kilzer  <ddkilzer@apple.com>
2
3         Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
4
5         <https://bugs.webkit.org/show_bug.cgi?id=22466>
6         <rdar://problem/6403593>
7
8         Reviewed by Brady Eidson.
9
10         Test: http/tests/webarchive/test-preload-resources.html
11
12         * loader/archive/cf/LegacyWebArchive.cpp:
13         (WebCore::LegacyWebArchive::create): Check the WebCore cache for
14         resources if DocumentLoader::subresource() doesn't return them.
15         Note that the DocumentLoader::subresource() method returned
16         preloaded resources before r35867, but this caused a regression in
17         Mail.
18
19 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
20
21         Reviewed by Eric Seidel.
22
23         Bug 22564: Make HTML elements' constructors take a QualifiedName
24         https://bugs.webkit.org/show_bug.cgi?id=22564
25
26         - Modified the remaining HTML elements' constructors to take a QualifiedName.
27
28         - Added an assertion that the QualifiedName given corresponds to the element constructed.
29
30         * bindings/js/JSAudioConstructor.cpp:
31         (WebCore::constructAudio):
32         * html/HTMLAudioElement.cpp:
33         (WebCore::HTMLAudioElement::HTMLAudioElement):
34         * html/HTMLAudioElement.h:
35         * html/HTMLBRElement.cpp:
36         (WebCore::HTMLBRElement::HTMLBRElement):
37         * html/HTMLBRElement.h:
38         * html/HTMLElement.cpp:
39         (WebCore::HTMLElement::setInnerText):
40         * html/HTMLElementFactory.cpp:
41         (WebCore::brConstructor):
42         (WebCore::quoteConstructor):
43         (WebCore::marqueeConstructor):
44         (WebCore::audioConstructor):
45         (WebCore::videoConstructor):
46         (WebCore::sourceConstructor):
47         * html/HTMLMarqueeElement.cpp:
48         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
49         * html/HTMLMarqueeElement.h:
50         * html/HTMLQuoteElement.cpp:
51         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
52         * html/HTMLQuoteElement.h:
53         * html/HTMLSourceElement.cpp:
54         (WebCore::HTMLSourceElement::HTMLSourceElement):
55         * html/HTMLSourceElement.h:
56         * html/HTMLVideoElement.cpp:
57         (WebCore::HTMLVideoElement::HTMLVideoElement):
58         * html/HTMLVideoElement.h:
59         * rendering/RenderTextControl.cpp:
60         (WebCore::RenderTextControl::updateFromElement):
61
62 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
63
64         Reviewed by Antti Koivisto.
65
66         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
67         https://bugs.webkit.org/show_bug.cgi?id=22441
68
69         Add an assertion to the modified HTML elements' constructor
70         to check that the QualifiedName parameter is the one that
71         matches the Element's.
72
73         * html/HTMLBaseElement.cpp:
74         (WebCore::HTMLBaseElement::HTMLBaseElement):
75         * html/HTMLBlockquoteElement.cpp:
76         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
77         * html/HTMLBodyElement.cpp:
78         (WebCore::HTMLBodyElement::HTMLBodyElement):
79         * html/HTMLButtonElement.cpp:
80         (WebCore::HTMLButtonElement::HTMLButtonElement):
81         * html/HTMLDListElement.cpp:
82         (WebCore::HTMLDListElement::HTMLDListElement):
83         * html/HTMLDirectoryElement.cpp:
84         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
85         * html/HTMLDivElement.cpp:
86         (WebCore::HTMLDivElement::HTMLDivElement):
87         * html/HTMLFieldSetElement.cpp:
88         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
89         * html/HTMLFormElement.cpp:
90         (WebCore::HTMLFormElement::HTMLFormElement):
91         * html/HTMLFrameElement.cpp:
92         (WebCore::HTMLFrameElement::HTMLFrameElement):
93         * html/HTMLFrameSetElement.cpp:
94         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
95         * html/HTMLHeadElement.cpp:
96         (WebCore::HTMLHeadElement::HTMLHeadElement):
97         * html/HTMLHtmlElement.cpp:
98         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
99         * html/HTMLIFrameElement.cpp:
100         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
101         * html/HTMLInputElement.cpp:
102         (WebCore::HTMLInputElement::HTMLInputElement):
103         * html/HTMLIsIndexElement.cpp:
104         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
105         * html/HTMLKeygenElement.cpp:
106         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
107         * html/HTMLLIElement.cpp:
108         (WebCore::HTMLLIElement::HTMLLIElement):
109         * html/HTMLLabelElement.cpp:
110         (WebCore::HTMLLabelElement::HTMLLabelElement):
111         * html/HTMLLegendElement.cpp:
112         (WebCore::HTMLLegendElement::HTMLLegendElement):
113         * html/HTMLLinkElement.cpp:
114         (WebCore::HTMLLinkElement::HTMLLinkElement):
115         * html/HTMLMenuElement.cpp:
116         (WebCore::HTMLMenuElement::HTMLMenuElement):
117         * html/HTMLMetaElement.cpp:
118         (WebCore::HTMLMetaElement::HTMLMetaElement):
119         * html/HTMLOListElement.cpp:
120         (WebCore::HTMLOListElement::HTMLOListElement):
121         * html/HTMLOptGroupElement.cpp:
122         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
123         * html/HTMLOptionElement.cpp:
124         (WebCore::HTMLOptionElement::HTMLOptionElement):
125         * html/HTMLSelectElement.cpp:
126         (WebCore::HTMLSelectElement::HTMLSelectElement):
127         * html/HTMLStyleElement.cpp:
128         (WebCore::HTMLStyleElement::HTMLStyleElement):
129         * html/HTMLTextAreaElement.cpp:
130         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
131         * html/HTMLTitleElement.cpp:
132         (WebCore::HTMLTitleElement::HTMLTitleElement):
133         * html/HTMLUListElement.cpp:
134         (WebCore::HTMLUListElement::HTMLUListElement):
135
136 2008-12-01  Chris Marrin  <cmarrin@apple.com>
137
138         Reviewed by Darin Adler.
139
140         https://bugs.webkit.org/show_bug.cgi?id=22046
141
142         Fixed another case of crashing because the animation object is getting deleted when
143         it's in the middle of a callback. I actually moved where I am retaining the pointer
144         up out of the lower level AnimationBase code and into the timer callback that calls
145         them. So now the pointer is valid throughout the entire sequence of callback code.
146
147         The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
148         crash which this patch fixes. 
149
150         * page/animation/AnimationBase.cpp:
151         (WebCore::AnimationBase::updateStateMachine):
152         (WebCore::AnimationBase::animationTimerCallbackFired):
153         * page/animation/CompositeAnimation.cpp:
154         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
155         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
156         (WebCore::CompositeAnimationPrivate::styleAvailable):
157         * page/animation/ImplicitAnimation.cpp:
158         (WebCore::ImplicitAnimation::sendTransitionEvent):
159         * page/animation/KeyframeAnimation.cpp:
160         (WebCore::KeyframeAnimation::sendAnimationEvent):
161         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
162
163 2008-12-01  Tor Arne Vestbø  <tavestbo@trolltech.com>
164
165         Reviewed by Simon Hausmann.
166
167         [Qt/Mac] Initialize NPAPI plugins before getting their entry points
168
169         The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
170         copied from Windows, but caused Silverlight on Mac to crash when loaded.
171
172         Apparently the call order of NP_Initialize and NP_GetEntryPoints is
173         reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
174
175         Reported-by: Peter Johnson <peter@zattoo.com>
176
177         * plugins/mac/PluginPackageMac.cpp:
178         (WebCore::PluginPackage::load):
179
180 2008-11-30  Chris Fleizach  <cfleizach@apple.com>
181
182         Reviewed by John Sullivan.
183
184         https://bugs.webkit.org/show_bug.cgi?id=22510
185         Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
186
187         A nil pointer needed to be checked
188
189         * page/AccessibilityRenderObject.cpp:
190         (WebCore::AccessibilityRenderObject::activeDescendant):
191
192 2008-11-30  Alexey Proskuryakov  <ap@webkit.org>
193
194         Reviewed by Dan Bernstein.
195
196         https://bugs.webkit.org/show_bug.cgi?id=22530
197         Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
198
199         * dom/WorkerThread.cpp:
200         (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
201         function runs to completion before the thread begins execution.
202         (WebCore::WorkerThread::workerThread): Updated comments.
203         (WebCore::WorkerThread::stop): Ditto.
204         * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
205         protects startup as a whole.
206
207         * storage/DatabaseThread.cpp:
208         * storage/DatabaseThread.h:
209         * storage/LocalStorageThread.cpp:
210         * storage/LocalStorageThread.h:
211         Fixed the same m_threadID problem.
212
213 2008-11-29  Brent Fulgham  <bfulgham@gmail.com>
214
215         Reviewed by Alexey Proskuryakov.
216
217         Remove Visual Studio project dependencies on non-redistributable
218         components in the Debug_Cairo and Release_Cairo build targets.
219         See https://bugs.webkit.org/show_bug.cgi?id=22527
220
221         * WebCore.vcproj/WebCore.vcproj:
222
223 2008-11-29  Sam Weinig  <sam@webkit.org>
224
225         Rubber-stamped by Alexey Proskuryakov.
226
227         Fix some sorting
228
229         * WebCore.xcodeproj/project.pbxproj:
230
231 2008-11-28  Sam Weinig  <sam@webkit.org>
232
233         Reviewed by Alexey Proskuryakov.
234
235         Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
236         NULL pointer crash in dispatchEvent(null);
237
238         Test: fast/events/dispatchEvent-crash.html
239
240         * dom/MessagePort.cpp:
241         (WebCore::MessagePort::dispatchEvent):
242         * dom/Worker.cpp:
243         (WebCore::Worker::dispatchEvent):
244         * dom/WorkerContext.cpp:
245         (WebCore::WorkerContext::dispatchEvent):
246         * loader/appcache/DOMApplicationCache.cpp:
247         (WebCore::DOMApplicationCache::dispatchEvent):
248         * xml/XMLHttpRequest.cpp:
249         (WebCore::XMLHttpRequest::dispatchEvent):
250         * xml/XMLHttpRequestUpload.cpp:
251         (WebCore::XMLHttpRequestUpload::dispatchEvent):
252
253 2008-11-29  Dan Bernstein  <mitz@apple.com>
254
255         Reviewed by Alexey Proskuryakov.
256
257         - fix https://bugs.webkit.org/show_bug.cgi?id=22454
258           <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
259
260         Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
261
262         The crash happened because style recalculation was invoked by
263         CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
264         before another CSSSegmentedFontFace using the same CSSFontFace had done
265         so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
266         prune their tables before telling the CSSFontSelector to recalc style.
267
268         * css/CSSFontFace.cpp:
269         (WebCore::CSSFontFace::fontLoaded):
270         * css/CSSFontSelector.cpp:
271         (WebCore::CSSFontSelector::fontLoaded):
272         * css/CSSFontSelector.h:
273         * css/CSSSegmentedFontFace.cpp:
274         (WebCore::CSSSegmentedFontFace::fontLoaded):
275
276 2008-11-29  Alexey Proskuryakov  <ap@webkit.org>
277
278         Reviewed by Eric Seidel.
279
280         https://bugs.webkit.org/show_bug.cgi?id=14968
281         document.open() erroneously returns void instead of the new Document
282
283         Test: fast/dom/HTMLDocument/document-open-return-value.html
284
285         * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
286         Return the document on which this method was invoked, per HTML5.
287
288 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
289
290         Reviewed by Cameron Zwarich.
291
292         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
293
294         Add <timer> element support. It provides a way to execute a task with a delay.
295         The user is notified by firing the task associated with the <card>'s ontimer attribute.
296         Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
297
298         * WebCore.xcodeproj/project.pbxproj:
299         * wml/WMLCardElement.cpp:
300         (WebCore::WMLCardElement::WMLCardElement):
301         (WebCore::WMLCardElement::setIntrinsicEventTimer):
302         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
303         * wml/WMLCardElement.h:
304         * wml/WMLDoElement.cpp:
305         (WebCore::WMLDoElement::defaultEventHandler):
306         * wml/WMLErrorHandling.cpp:
307         (WebCore::reportWMLError):
308         * wml/WMLPageState.h:
309         (WebCore::WMLPageState::getVariable):
310         * wml/WMLPrevElement.cpp:
311         (WebCore::WMLPrevElement::executeTask):
312         * wml/WMLRefreshElement.cpp:
313         (WebCore::WMLRefreshElement::executeTask):
314         * wml/WMLTagNames.in:
315         * wml/WMLTimerElement.cpp: Added.
316         (WebCore::WMLTimerElement::WMLTimerElement):
317         (WebCore::WMLTimerElement::parseMappedAttribute):
318         (WebCore::WMLTimerElement::insertedIntoDocument):
319         (WebCore::WMLTimerElement::timerFired):
320         (WebCore::WMLTimerElement::start):
321         (WebCore::WMLTimerElement::stop):
322         (WebCore::WMLTimerElement::storeIntervalToPageState):
323         * wml/WMLTimerElement.h: Added.
324
325 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
326
327         Reviewed by Holger Freyther.
328
329         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
330
331         Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. 
332         Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
333
334         * WebCore.xcodeproj/project.pbxproj:
335         * rendering/RenderButton.cpp:
336         (WebCore::RenderButton::updateFromElement):
337         * wml/WMLCardElement.cpp:
338         (WebCore::WMLCardElement::registerDoElement):
339         * wml/WMLCardElement.h:
340         * wml/WMLDoElement.cpp: Added.
341         (WebCore::WMLDoElement::WMLDoElement):
342         (WebCore::WMLDoElement::defaultEventHandler):
343         (WebCore::WMLDoElement::parseMappedAttribute):
344         (WebCore::WMLDoElement::insertedIntoDocument):
345         (WebCore::WMLDoElement::createRenderer):
346         (WebCore::WMLDoElement::recalcStyle):
347         * wml/WMLDoElement.h: Added.
348         (WebCore::WMLDoElement::registerTask):
349         (WebCore::WMLDoElement::isActive):
350         (WebCore::WMLDoElement::label):
351         (WebCore::WMLDoElement::name):
352         (WebCore::WMLDoElement::setActive):
353         (WebCore::WMLDoElement::setNoop):
354         * wml/WMLNoopElement.cpp:
355         (WebCore::WMLNoopElement::insertedIntoDocument):
356         * wml/WMLTagNames.in:
357         * wml/WMLTaskElement.cpp:
358         (WebCore::WMLTaskElement::insertedIntoDocument):
359
360 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
361
362         Reviewed by Sam Weinig.
363
364         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
365
366         Add onenterforward/onenterbackward/ontimer support for <card> elements.
367
368         No testing possible at the moment because WMLGoElement is not yet implemented.
369         After that we can add tests covering the <card> event handling.
370
371         * wml/WMLCardElement.cpp:
372         (WebCore::WMLCardElement::WMLCardElement):
373         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
374         (WebCore::WMLCardElement::parseMappedAttribute):
375         (WebCore::WMLCardElement::setActiveCardInDocument):
376         * wml/WMLCardElement.h:
377         (WebCore::WMLCardElement::isNewContext):
378         (WebCore::WMLCardElement::isOrdered):
379         * wml/WMLDocument.cpp:
380         (WebCore::WMLDocument::finishedParsing):
381         * wml/WMLIntrinsicEvent.cpp:
382         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
383         * wml/WMLIntrinsicEvent.h:
384         (WebCore::WMLIntrinsicEvent::create):
385
386 2008-11-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
387
388         Reviewed by Tor Arne Vestbø.
389
390         Regression seen on QtWebKit - causes a build failure on Win using MinGW
391
392         https://bugs.webkit.org/show_bug.cgi?id=22536
393
394         * WebCore.pro:
395
396 2008-11-28  Simon Hausmann  <hausmann@webkit.org>
397
398         Reviewed by Tor Arne Vestbø.
399
400         Fix compilation and linking on Windows CE.
401
402         Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
403         from the Windows'ish build.
404
405         Link against the newly required mmtimer.
406
407         * WebCore.pro:
408         * plugins/PluginPackage.cpp:
409
410 2008-11-28  David Levin  <levin@chromium.org>
411
412         Reviewed by Alexey Proskuryakov.
413
414         http://bugs.webkit.org/show_bug.cgi?id=22524
415
416         Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
417         of XMLHttpRequest by Workers (on threads).
418
419         No observable change in behavior, so no test.
420
421         * xml/XMLHttpRequest.cpp:
422         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
423         (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
424         (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
425         (WebCore::PreflightResultCacheItem::allowsRequest):
426         (WebCore::createXMLHttpRequestStaticData):
427         (WebCore::initializeXMLHttpRequestStaticData):
428         (WebCore::XMLHttpRequest::XMLHttpRequest):
429         (WebCore::XMLHttpRequest::isSafeRequestHeader):
430         (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
431         * xml/XMLHttpRequest.h:
432
433 2008-11-27  Cameron Zwarich  <zwarich@apple.com>
434
435         Not reviewed.
436
437         r38825, was committed without checking whether anything in WebCore
438         uses JSFunction::m_body. Use the appropriate getters and setters
439         instead.
440
441         * inspector/JavaScriptDebugServer.cpp:
442         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
443
444 2008-11-27  Alexey Proskuryakov  <ap@webkit.org>
445
446         Reviewed by Dan Bernstein.
447
448         https://bugs.webkit.org/show_bug.cgi?id=22529
449         Crashes seen on buildbots due to trying to stop a worker thread twice
450
451         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
452         Don't try to stop the thread if it's already stopping.
453
454 2008-11-27  Kent Hansen  <khansen@trolltech.com>
455
456         Reviewed by Simon Hausmann.
457
458         Make JavaScript bindings for Qt plugin widgets work again
459         this was a regression; need to handle non-NPAPI plugins as in 4.4.
460
461         * bindings/js/ScriptControllerQt.cpp:
462         (WebCore::ScriptController::createScriptInstanceForWidget):
463
464 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
465
466         Reviewed by George Staikos.
467
468         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
469
470         Catch WML errors (invalid variable name/reference, multiple access elements, etc)
471         while parsing the document, and stop parsing immediately and wrap the document
472         fragment in a XHTML error document, just like it's done from XML parsing errors.
473
474         Until now all card elements were hidden by default (no renderer created), and
475         WMLDocument::finishedParsing() took care of showing the right card (either the first,
476         or any named card in the document, specified by document URL reference). Change this
477         behaviour to support displaying partially parsed WML document fragments: Mark the first
478         WMLCardElement inserted into the document as visible. If the document parsing finishes
479         without problems, WMLDocument::finishedParsing() will be called, which takes care of
480         showing the desired card (common case: first card in the document, which is already
481         visible, so nothing actually has to be done). If an error occours, the document is
482         correctly rendered until the error happened - wrapped in a XHTML document.
483
484         Fixes: fast/wml/err-event-binding-conflict.wml
485                fast/wml/err-invalid-variable-name.wml
486                fast/wml/err-multi-access.wml
487                fast/wml/err-unallowed-task-in-anchor.wml
488
489         * WebCore.xcodeproj/project.pbxproj:
490         * wml/WMLAccessElement.cpp:
491         (WebCore::WMLAccessElement::parseMappedAttribute):
492         (WebCore::WMLAccessElement::insertedIntoDocument):
493         * wml/WMLAccessElement.h:
494         * wml/WMLCardElement.cpp:
495         (WebCore::WMLCardElement::insertedIntoDocument):
496         (WebCore::WMLCardElement::setActiveCardInDocument):
497         * wml/WMLCardElement.h:
498         * wml/WMLDocument.cpp:
499         (WebCore::WMLDocument::finishedParsing):
500         * wml/WMLErrorHandling.cpp: Added.
501         (WebCore::reportWMLError):
502         * wml/WMLErrorHandling.h: Added.
503         (WebCore::):
504         * wml/WMLIntrinsicEventHandler.cpp:
505         (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
506         * wml/WMLIntrinsicEventHandler.h:
507         * wml/WMLNoopElement.cpp:
508         (WebCore::WMLNoopElement::insertedIntoDocument):
509         * wml/WMLOnEventElement.cpp:
510         (WebCore::WMLOnEventElement::parseMappedAttribute):
511         (WebCore::WMLOnEventElement::registerTask):
512         * wml/WMLPageState.cpp:
513         (WebCore::WMLPageState::setNeedCheckDeckAccess):
514         * wml/WMLPageState.h:
515         * wml/WMLSetvarElement.cpp:
516         (WebCore::WMLSetvarElement::parseMappedAttribute):
517
518 2008-11-26  Glenn Wilson  <gwilson@chromium.org>
519
520         Reviewed by Dan Bernstein.
521
522         Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
523
524         This fixes the crash when the small-caps font variant is used
525         on a lower-case glyph that does not have a corresponding
526         upper-case glyph defined in the set of available fonts.
527
528         This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
529         
530         Test: fast/css/small-caps-crash.html
531
532         * platform/graphics/Font.cpp:
533         (WebCore::Font::glyphDataForCharacter):
534
535 2008-11-26  Tony Chang  <tony@chromium.org>
536
537         Reviewed by Oliver Hunt.
538
539         Add a new platform specific method cleanupAfterSystemDrag
540         that platforms can ue to clean up drag state after a
541         system drag.  Use this method on PLAFORM(MAC).
542         https://bugs.webkit.org/show_bug.cgi?id=21956
543
544         * ChangeLog:
545         * page/DragController.cpp:
546         (WebCore::DragController::doSystemDrag):
547         * page/DragController.h:
548         * page/gtk/DragControllerGtk.cpp:
549         (WebCore::DragController::cleanupAfterSystemDrag):
550         * page/mac/DragControllerMac.mm:
551         (WebCore::DragController::cleanupAfterSystemDrag):
552         * page/qt/DragControllerQt.cpp:
553         (WebCore::DragController::cleanupAfterSystemDrag):
554         * page/win/DragControllerWin.cpp:
555         (WebCore::DragController::cleanupAfterSystemDrag):
556         * page/wx/DragControllerWx.cpp:
557       (WebCore::DragController::cleanupAfterSystemDrag):
558
559 2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>
560
561         Reviewed by Oliver Hunt.
562
563         Fix path to string logic, correctly taking closed (sub-)paths into account.
564         Code was just broken on cg, observed by Dirk Schulze.
565
566         QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
567         using the elementAt() function. There might be a workaround - Dirk will investigate.
568
569         * platform/graphics/cg/PathCG.cpp:
570         (WebCore::CGPathToCFStringApplierFunction):
571         * platform/graphics/cairo/PathCairo.cpp:
572         (WebCore::Path::debugString):
573
574 2008-11-26  Darin Fisher  <darin@chromium.org>
575
576         Reviewed by Eric Seidel.
577
578         https://bugs.webkit.org/show_bug.cgi?id=22519
579         Remove unnecessary include.
580
581         * dom/XMLTokenizer.cpp:
582
583 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
584
585         Reviewed by Oliver Hunt.
586
587         Add <noop> element support, completing the task element support.
588
589         * WebCore.xcodeproj/project.pbxproj:
590         * wml/WMLNoopElement.cpp: Added.
591         (WebCore::WMLNoopElement::WMLNoopElement):
592         (WebCore::WMLNoopElement::insertedIntoDocument):
593         * wml/WMLNoopElement.h: Added.
594         * wml/WMLTagNames.in: Reorganize file a bit.
595
596 2008-11-26  Julien Chaffraix  <jchaffraix@webkit.org>
597
598         Reviewed by Eric Seidel.
599
600         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
601         https://bugs.webkit.org/show_bug.cgi?id=22441
602
603         Make more HTML elements' constructors take a QualifiedName.
604
605         * editing/DeleteButtonController.cpp:
606         (WebCore::DeleteButtonController::createDeletionUI):
607         * html/HTMLBlockquoteElement.cpp:
608         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
609         * html/HTMLBlockquoteElement.h:
610         * html/HTMLButtonElement.cpp:
611         (WebCore::HTMLButtonElement::HTMLButtonElement):
612         * html/HTMLButtonElement.h:
613         * html/HTMLDListElement.cpp:
614         (WebCore::HTMLDListElement::HTMLDListElement):
615         * html/HTMLDListElement.h:
616         * html/HTMLDirectoryElement.cpp:
617         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
618         * html/HTMLDirectoryElement.h:
619         * html/HTMLDivElement.cpp:
620         (WebCore::HTMLDivElement::HTMLDivElement):
621         * html/HTMLDivElement.h:
622         * html/HTMLElementFactory.cpp:
623         (WebCore::styleConstructor):
624         (WebCore::titleConstructor):
625         (WebCore::frameConstructor):
626         (WebCore::framesetConstructor):
627         (WebCore::iframeConstructor):
628         (WebCore::formConstructor):
629         (WebCore::buttonConstructor):
630         (WebCore::inputConstructor):
631         (WebCore::isindexConstructor):
632         (WebCore::fieldsetConstructor):
633         (WebCore::keygenConstructor):
634         (WebCore::labelConstructor):
635         (WebCore::legendConstructor):
636         (WebCore::optgroupConstructor):
637         (WebCore::optionConstructor):
638         (WebCore::selectConstructor):
639         (WebCore::textareaConstructor):
640         (WebCore::dlConstructor):
641         (WebCore::ulConstructor):
642         (WebCore::olConstructor):
643         (WebCore::dirConstructor):
644         (WebCore::menuConstructor):
645         (WebCore::liConstructor):
646         (WebCore::blockquoteConstructor):
647         (WebCore::divConstructor):
648         (WebCore::headingConstructor):
649         * html/HTMLFieldSetElement.cpp:
650         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
651         * html/HTMLFieldSetElement.h:
652         * html/HTMLFormElement.cpp:
653         (WebCore::HTMLFormElement::HTMLFormElement):
654         * html/HTMLFormElement.h:
655         * html/HTMLFrameElement.cpp:
656         (WebCore::HTMLFrameElement::HTMLFrameElement):
657         * html/HTMLFrameElement.h:
658         * html/HTMLFrameSetElement.cpp:
659         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
660         * html/HTMLFrameSetElement.h:
661         * html/HTMLIFrameElement.cpp:
662         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
663         * html/HTMLIFrameElement.h:
664         * html/HTMLInputElement.cpp:
665         * html/HTMLInputElement.h:
666         * html/HTMLIsIndexElement.cpp:
667         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
668         * html/HTMLIsIndexElement.h:
669         * html/HTMLKeygenElement.cpp:
670         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
671         * html/HTMLKeygenElement.h:
672         * html/HTMLLIElement.cpp:
673         (WebCore::HTMLLIElement::HTMLLIElement):
674         * html/HTMLLIElement.h:
675         * html/HTMLLabelElement.cpp:
676         (WebCore::HTMLLabelElement::HTMLLabelElement):
677         * html/HTMLLabelElement.h:
678         * html/HTMLLegendElement.cpp:
679         (WebCore::HTMLLegendElement::HTMLLegendElement):
680         * html/HTMLLegendElement.h:
681         * html/HTMLMenuElement.cpp:
682         (WebCore::HTMLMenuElement::HTMLMenuElement):
683         * html/HTMLMenuElement.h:
684         * html/HTMLOListElement.cpp:
685         (WebCore::HTMLOListElement::HTMLOListElement):
686         * html/HTMLOListElement.h:
687         * html/HTMLOptGroupElement.cpp:
688         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
689         * html/HTMLOptGroupElement.h:
690         * html/HTMLOptionElement.cpp:
691         (WebCore::HTMLOptionElement::HTMLOptionElement):
692         * html/HTMLOptionElement.h:
693         * html/HTMLParser.cpp:
694         (WebCore::HTMLParser::formCreateErrorCheck):
695         (WebCore::HTMLParser::handleIsindex):
696         * html/HTMLSelectElement.cpp:
697         * html/HTMLSelectElement.h:
698         * html/HTMLStyleElement.cpp:
699         (WebCore::HTMLStyleElement::HTMLStyleElement):
700         * html/HTMLStyleElement.h:
701         * html/HTMLTextAreaElement.cpp:
702         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
703         * html/HTMLTextAreaElement.h:
704         * html/HTMLTitleElement.cpp:
705         (WebCore::HTMLTitleElement::HTMLTitleElement):
706         * html/HTMLTitleElement.h:
707         * html/HTMLUListElement.cpp:
708         (WebCore::HTMLUListElement::HTMLUListElement):
709         * html/HTMLUListElement.h:
710         * html/HTMLViewSourceDocument.cpp:
711         (WebCore::HTMLViewSourceDocument::createContainingTable):
712         * rendering/MediaControlElements.cpp:
713         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
714         (WebCore::MediaControlInputElement::MediaControlInputElement):
715         * rendering/RenderFileUploadControl.cpp:
716         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
717         * rendering/RenderMedia.cpp:
718         (WebCore::RenderMedia::createPanel):
719         (WebCore::RenderMedia::createTimeDisplay):
720         * rendering/RenderSlider.cpp:
721         (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
722         * rendering/TextControlInnerElements.cpp:
723         (WebCore::TextControlInnerElement::TextControlInnerElement):
724
725 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
726
727         Reviewed by Sam Weinig.
728
729         Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
730
731         * wml/WMLPageState.cpp:
732         (WebCore::WMLPageState::WMLPageState):
733
734 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
735
736         Fix Qt bustage.
737
738         See https://bugs.webkit.org/show_bug.cgi?id=22051
739
740         * platform/qt/RenderThemeQt.cpp:
741         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
742
743 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
744
745         Reviewed by Maciej Stachowiak.
746
747         Fix https://bugs.webkit.org/show_bug.cgi?id=22051
748         Renderthemes should be able to supply additional CSS rules to the core
749         ones.
750
751         * DerivedSources.make:
752         * css/CSSStyleSelector.cpp:
753         (WebCore::parseUASheet):
754         (WebCore::loadFullDefaultStyle):
755         (WebCore::loadSimpleDefaultStyle):
756         * css/themeWin.css: Added.
757         * css/themeWinQuirks.css: Added.
758         * platform/qt/RenderThemeQt.cpp:
759         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
760         * platform/qt/RenderThemeQt.h:
761         * rendering/RenderTheme.cpp:
762         * rendering/RenderTheme.h:
763         (WebCore::RenderTheme::extraDefaultStyleSheet):
764         (WebCore::RenderTheme::extraQuirksStyleSheet):
765         * rendering/RenderThemeWin.cpp:
766         (WebCore::RenderThemeWin::extraDefaultStyleSheet):
767         (WebCore::RenderThemeWin::extraQuirksStyleSheet):
768         * rendering/RenderThemeWin.h:
769
770 2008-11-26  David Kilzer  <ddkilzer@apple.com>
771
772         Make CSSStyleSheet::addSubresourceURLStrings() iterative
773
774         Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
775         <https://bugs.webkit.org/show_bug.cgi?id=11850>
776
777         Reviewed by Brady Eidson.
778
779         * css/CSSStyleSheet.cpp:
780         (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
781         from recursive to iterative for gathering the list of all CSS
782         stylesheets referenced in @import statements.
783
784 2008-11-26  Dirk Schulze  <krit@webkit.org>
785
786         Reviewed by Simon Hausmann.
787
788         Transformations to the context shouldn't transform the currentPath.
789         Fixed this on Qt.
790
791         [QT] GraphicsContext's currenPath can be transformed
792         https://bugs.webkit.org/show_bug.cgi?id=22163
793
794         * platform/graphics/GraphicsContextPrivate.h:
795         * platform/graphics/qt/GraphicsContextQt.cpp:
796         (WebCore::GraphicsContext::restorePlatformState):
797         (WebCore::GraphicsContext::fillPath):
798         (WebCore::GraphicsContext::strokePath):
799         (WebCore::GraphicsContext::fillRect):
800         (WebCore::GraphicsContext::translate):
801         (WebCore::GraphicsContext::rotate):
802         (WebCore::GraphicsContext::scale):
803         (WebCore::GraphicsContext::concatCTM):
804
805 2008-11-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
806
807         Gtk build script minor fixes. Not reviewed.
808
809         * GNUmakefile.am:
810           - Add ScriptInstance.h (introduced in r38774) to
811         the build.
812           - Move WML and GEOLOCATION conditionals before the SVG
813         conditional to be consistent with the style of the script.
814           - Move GeolocationGtk sources to webcoregtk_sources.
815
816 2008-11-26  Dmitry Titov  <dimich@chromium.org>
817
818         Reviewed by Darin Adler and Eric Seidel.
819
820         https://bugs.webkit.org/show_bug.cgi?id=22469
821
822         Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
823         preparation to making it work for Workers. For now, just move the code and couple
824         of global variables.
825
826         * GNUmakefile.am:
827         * WebCore.pro:
828         * WebCore.vcproj/WebCore.vcproj:
829         * WebCore.xcodeproj/project.pbxproj:
830         * WebCoreSources.bkl:
831         * bindings/js/JSDOMWindowBase.cpp:
832         (WebCore::JSDOMWindowBase::installTimeout):
833         (WebCore::JSDOMWindowBase::pauseTimeouts):
834         (WebCore::JSDOMWindowBase::resumeTimeouts):
835         (WebCore::JSDOMWindowBase::timerFired):
836         * bindings/js/JSDOMWindowBase.h:
837         * bindings/js/DOMTimer.cpp: Added.
838         (WebCore::DOMTimer::DOMTimer):
839         (WebCore::DOMTimer::~DOMTimer):
840         (WebCore::DOMTimer::fired):
841         * bindings/js/DOMTimer.h: Added.
842         (WebCore::DOMTimer::timeoutId):
843         (WebCore::DOMTimer::nestingLevel):
844         (WebCore::DOMTimer::setNestingLevel):
845         (WebCore::DOMTimer::action):
846         (WebCore::DOMTimer::takeAction):
847
848 2008-11-25  Darin Fisher  <darin@chromium.org>
849
850         Fix bustage.
851
852         https://bugs.webkit.org/show_bug.cgi?id=22493
853         Need to expose bridge/*.h to the WebKit build.
854
855         * WebCore.vcproj/WebCore.vcproj:
856
857 2008-11-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
858
859         Not reviewed. Fix build, by removing some wrong last-minute changes.
860
861         * wml/WMLIntrinsicEvent.cpp:
862         (WebCore::createTaskElement):
863         * wml/WMLOnEventElement.cpp:
864         (WebCore::WMLOnEventElement::registerTask):
865
866 2008-11-25  Darin Fisher  <darin@chromium.org>
867
868         Reviewed by Geoffrey Garen.
869
870         https://bugs.webkit.org/show_bug.cgi?id=22493
871         Abstract away JSC:: usage in WebCore/html
872
873         * WebCore.xcodeproj/project.pbxproj:
874         * bindings/js/JSPluginElementFunctions.cpp:
875         (WebCore::pluginInstance):
876         * bindings/js/ScriptController.h:
877         * bindings/js/ScriptControllerMac.mm:
878         (WebCore::ScriptController::createScriptInstanceForWidget):
879         * bindings/js/ScriptInstance.h: Added.
880         * html/HTMLPlugInElement.cpp:
881         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
882         (WebCore::HTMLPlugInElement::getInstance):
883         * html/HTMLPlugInElement.h:
884
885 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
886
887         Reviewed by Sam Weinig.
888
889         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
890
891         A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
892         Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
893
894         Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
895         centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
896         function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
897         <template>/<option> or <card> element.
898
899         Add complete <onevent> support.
900
901         * WebCore.xcodeproj/project.pbxproj:
902         * wml/WMLCardElement.cpp:
903         (WebCore::WMLCardElement::WMLCardElement):
904         (WebCore::WMLCardElement::setActiveCardInDocument):
905         * wml/WMLCardElement.h:
906         (WebCore::WMLCardElement::isVisible):
907         (WebCore::WMLCardElement::setVisible):
908         * wml/WMLElement.h:
909         (WebCore::WMLElement::isWMLTaskElement):
910         * wml/WMLEventHandlingElement.cpp: Added.
911         (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
912         (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
913         * wml/WMLEventHandlingElement.h: Added.
914         (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
915         (WebCore::WMLEventHandlingElement::eventHandler):
916         * wml/WMLOnEventElement.cpp: Added.
917         (WebCore::WMLOnEventElement::WMLOnEventElement):
918         (WebCore::WMLOnEventElement::parseMappedAttribute):
919         (WebCore::WMLOnEventElement::registerTask):
920         * wml/WMLOnEventElement.h: Added.
921         * wml/WMLSetvarElement.cpp:
922         (WebCore::WMLSetvarElement::parseMappedAttribute):
923         (WebCore::WMLSetvarElement::insertedIntoDocument):
924         * wml/WMLTagNames.in:
925         * wml/WMLTaskElement.cpp:
926         (WebCore::WMLTaskElement::insertedIntoDocument):
927         * wml/WMLTaskElement.h:
928         (WebCore::WMLTaskElement::isWMLTaskElement):
929
930 2008-11-25  Pierre-Olivier Latour  <pol@apple.com>
931
932         Reviewed by Mark Rowe.
933
934         createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
935
936         https://bugs.webkit.org/show_bug.cgi?id=22503
937
938         * platform/graphics/mac/FontCustomPlatformData.cpp:
939         (WebCore::createFontCustomPlatformData):
940
941 2008-11-25  Julien Chaffraix  <jchaffraix@webkit.org>
942
943         Reviewed by Eric Seidel.
944
945         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
946         https://bugs.webkit.org/show_bug.cgi?id=22441
947
948         Element's other than HTML ones take a QualifiedName in their constructors.
949         To make HTMLElementFactory closer to the other ElementFactory, we need
950         to make them take the same arguments.
951         This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
952         will go into the next patch.
953
954         * dom/Document.cpp:
955         (WebCore::Document::implicitClose):
956         * html/HTMLBaseElement.cpp:
957         (WebCore::HTMLBaseElement::HTMLBaseElement):
958         * html/HTMLBaseElement.h:
959         * html/HTMLBodyElement.cpp:
960         (WebCore::HTMLBodyElement::HTMLBodyElement):
961         * html/HTMLBodyElement.h:
962         * html/HTMLElementFactory.cpp:
963         (WebCore::htmlConstructor):
964         (WebCore::headConstructor):
965         (WebCore::bodyConstructor):
966         (WebCore::baseConstructor):
967         (WebCore::linkConstructor):
968         (WebCore::metaConstructor):
969         * html/HTMLHeadElement.cpp:
970         (WebCore::HTMLHeadElement::HTMLHeadElement):
971         * html/HTMLHeadElement.h:
972         * html/HTMLHtmlElement.cpp:
973         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
974         * html/HTMLHtmlElement.h:
975         * html/HTMLLinkElement.cpp:
976         (WebCore::HTMLLinkElement::HTMLLinkElement):
977         * html/HTMLLinkElement.h:
978         * html/HTMLMetaElement.cpp:
979         (WebCore::HTMLMetaElement::HTMLMetaElement):
980         * html/HTMLMetaElement.h:
981         * html/HTMLParser.cpp:
982         (WebCore::HTMLParser::handleError):
983         (WebCore::HTMLParser::headCreateErrorCheck):
984         (WebCore::HTMLParser::createHead):
985         (WebCore::HTMLParser::finished):
986         * html/HTMLViewSourceDocument.cpp:
987         (WebCore::HTMLViewSourceDocument::createContainingTable):
988
989 2008-11-25  Chris Marrin  <cmarrin@apple.com>
990
991         Reviewed by Dan Bernstein.
992
993         Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
994         I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
995
996         Tests: animations/empty-keyframes.html
997                animations/fill-unset-properties.html
998
999         * css/CSSStyleSelector.cpp:
1000         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1001
1002 2008-11-25  Chris Marrin  <cmarrin@apple.com>
1003
1004         Reviewed by Darin Adler
1005
1006         https://bugs.webkit.org/show_bug.cgi?id=22046
1007
1008         Fix a crash when an animation or transition end event handler
1009         removes the element upon which the transition/animation is running,
1010         by keeping a reference to the AnimationBase object on the stack.
1011
1012         Tests: animations/transform-animation-event-destroy-element.html
1013                transitions/transform-transition-event-destroy-element.html
1014
1015         * page/animation/AnimationBase.cpp:
1016         (WebCore::AnimationBase::setChanged):
1017         (WebCore::AnimationBase::updateStateMachine):
1018         * page/animation/AnimationBase.h:
1019         (WebCore::AnimationBase::clearRenderer):
1020         * page/animation/AnimationController.cpp:
1021         (WebCore::AnimationControllerPrivate::clear):
1022         * page/animation/CompositeAnimation.cpp:
1023         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1024         * page/animation/CompositeAnimation.h:
1025
1026 2008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
1027
1028         Better wx build fix - support PurgeableBuffer on Mac.
1029
1030         * platform/PurgeableBuffer.h:
1031         * webcore-wx.bkl:
1032
1033 2008-11-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1034
1035         Reviewed by David Kilzer.
1036
1037         https://bugs.webkit.org/show_bug.cgi?id=22022
1038
1039         Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
1040
1041         Add stubs for a Gtk Implementation.
1042
1043         * GNUmakefile.am:
1044         * platform/gtk/GeolocationServiceGtk.cpp: Added.
1045         (WebCore::GeolocationService::create):
1046         (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
1047         (WebCore::GeolocationServiceGtk::startUpdating):
1048         (WebCore::GeolocationServiceGtk::stopUpdating):
1049         (WebCore::GeolocationServiceGtk::suspend):
1050         (WebCore::GeolocationServiceGtk::resume):
1051         (WebCore::GeolocationServiceGtk::lastPosition):
1052         (WebCore::GeolocationServiceGtk::lastError):
1053         * platform/gtk/GeolocationServiceGtk.h: Added.
1054
1055 2008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
1056
1057         wx build fix - we don't support PurgeableBuffer on Leopard for now.
1058         
1059         * platform/PurgeableBuffer.h:
1060
1061 2008-11-25  Antti Koivisto  <antti@apple.com>
1062
1063         Reviewed by Mark Rowe.
1064
1065         Fix https://bugs.webkit.org/show_bug.cgi?id=22483
1066         Assertion failure in CachedResource::makePurgeable during layout tests
1067         
1068         Deleting SVG image can re-enter destroyDecodedData.
1069
1070         * loader/CachedImage.cpp:
1071         (WebCore::CachedImage::destroyDecodedData):
1072
1073 2008-11-25  David Levin  <levin@chromium.org>
1074
1075         Reviewed by Alexey Proskuryakov.
1076
1077         https://bugs.webkit.org/show_bug.cgi?id=22443
1078         Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
1079         Workers on threads.
1080
1081         No observable change in behavior, so no test.
1082
1083         * platform/text/PlatformString.h:
1084         * platform/text/String.cpp:
1085         (WebCore::String::substringCopy):
1086         * platform/text/StringImpl.cpp:
1087         (WebCore::StringImpl::substringCopy):
1088         * platform/text/StringImpl.h:
1089         Added the ability to copy a substring.
1090
1091         * xml/XMLHttpRequest.cpp:
1092         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
1093         (WebCore::PreflightResultCache::PreflightResultCache):
1094         (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
1095         (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
1096         (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
1097         (WebCore::PreflightResultCacheItem::parse):
1098         (WebCore::PreflightResultCacheItem::allowsRequest):
1099         (WebCore::PreflightResultCache::shared):
1100         (WebCore::PreflightResultCache::appendEntry):
1101         (WebCore::PreflightResultCache::canSkipPreflight):
1102         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1103         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1104         Made the PreflightResultCache threadsafe.
1105
1106         (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
1107         (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
1108         Consolidation of duplicate logic.
1109
1110 2008-11-24  Jungshik Shin  <jshin@chromium.org>
1111
1112         Reviewed by Darin Adler.
1113
1114         For Unicode encodings other than UTF-8, use UTF-8 for
1115         form submission and URL query part encoding.
1116
1117         See https://bugs.webkit.org/show_bug.cgi?id=21635
1118
1119         Tests: http/tests/misc/submit-get-in-utf16be.html
1120                http/tests/misc/submit-get-in-utf16le.html
1121                http/tests/misc/submit-get-in-utf32be.html
1122                http/tests/misc/submit-get-in-utf32le.html
1123                http/tests/misc/submit-get-in-utf7.html
1124                http/tests/misc/submit-post-in-utf16be.html
1125                http/tests/misc/submit-post-in-utf16le.html
1126                http/tests/misc/submit-post-in-utf32be.html
1127                http/tests/misc/submit-post-in-utf32le.html
1128                http/tests/misc/submit-post-in-utf7.html
1129                http/tests/misc/url-in-utf16be.html
1130                http/tests/misc/url-in-utf16le.html
1131                http/tests/misc/url-in-utf32be.html
1132                http/tests/misc/url-in-utf32le.html
1133                http/tests/misc/url-in-utf7.html
1134  
1135         * html/HTMLFormElement.cpp:
1136         (WebCore::HTMLFormElement::formData):
1137         * loader/TextResourceDecoder.cpp:
1138         (WebCore::TextResourceDecoder::setEncoding):
1139         * platform/KURL.cpp:
1140         (WebCore::KURL::KURL):
1141         * platform/text/TextEncoding.cpp:
1142         (WebCore::UTF7Encoding):
1143         (WebCore::TextEncoding::isNonByteBasedEncoding):
1144         (WebCore::TextEncoding::closestByteBasedEquivalent):
1145         (WebCore::TextEncoding::encodingForFormSubmission):
1146         * platform/text/TextEncoding.h:
1147
1148 2008-11-24  Julien Chaffraix  <jchaffraix@webkit.org>
1149
1150         Reviewed by Darin Adler.
1151
1152         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1153         https://bugs.webkit.org/show_bug.cgi?id=22441
1154
1155         - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
1156
1157         - Tweaked the generated files to better match our coding style.
1158
1159         * dom/make_names.pl:
1160
1161 2008-11-24  Antti Koivisto  <antti@apple.com>
1162
1163         Reviewed by Darin Adler.
1164         
1165         Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
1166         REGRESSION(r33544): Palace in the Sky crashes WebKit
1167         
1168         HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
1169         there were no scripts left to execute. 
1170         
1171         If m_hasScriptsWaitingForStylesheets becomes true during script execution
1172         bail out from executing more scripts synchronously.
1173
1174         Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
1175
1176         * html/HTMLTokenizer.cpp:
1177         (WebCore::HTMLTokenizer::reset):
1178         (WebCore::HTMLTokenizer::notifyFinished):
1179
1180 2008-11-24  Darin Fisher  <darin@chromium.org>
1181
1182         Reviewed by Geoffrey Garen.
1183
1184         https://bugs.webkit.org/show_bug.cgi?id=22465
1185         Define KURL::copy() and use it in WorkerThread.cpp
1186
1187         * dom/WorkerThread.cpp:
1188         (WebCore::WorkerThread::WorkerThread):
1189         * platform/KURL.cpp:
1190         (WebCore::KURL::copy):
1191         * platform/KURL.h:
1192
1193 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1194
1195         Reviewed by Sam Weinig.
1196
1197         Name enum values in a style guide compatible way.
1198         Allow WMLIntrinsicEvent inclusion, without needing other includes.
1199
1200         * wml/WMLIntrinsicEvent.cpp:
1201         (WebCore::createTaskElement):
1202         * wml/WMLIntrinsicEvent.h:
1203         * wml/WMLIntrinsicEventHandler.cpp:
1204         * wml/WMLIntrinsicEventHandler.h:
1205         (WebCore::):
1206
1207 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1208
1209         Reviewed by Sam Weinig.
1210
1211         Add wmlPageStateForDocument() helper function and use it in some places.
1212
1213         * wml/WMLAccessElement.cpp:
1214         (WebCore::WMLAccessElement::parseMappedAttribute):
1215         * wml/WMLDocument.cpp:
1216         (WebCore::WMLDocument::WMLDocument):
1217         (WebCore::WMLDocument::finishedParsing):
1218         (WebCore::wmlPageStateForDocument):
1219         * wml/WMLDocument.h:
1220         * wml/WMLGoElement.cpp:
1221         (WebCore::WMLGoElement::executeTask):
1222         * wml/WMLPrevElement.cpp:
1223         (WebCore::WMLPrevElement::executeTask):
1224         * wml/WMLRefreshElement.cpp:
1225         (WebCore::WMLRefreshElement::executeTask):
1226         * wml/WMLTaskElement.cpp:
1227         (WebCore::WMLTaskElement::storeVariableState):
1228         * wml/WMLTaskElement.h:
1229
1230 2008-11-24  Antti Koivisto  <antti@apple.com>
1231
1232         Reviewed by Geoff Garen and Sam Weinig.
1233
1234         https://bugs.webkit.org/show_bug.cgi?id=22214
1235         Keep dead resources in memory cache in purgeable memory.
1236         <rdar://problem/6333088>
1237         
1238         OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
1239         areas as less important. Under memory pressure system can steal pages that have
1240         been marked purgeable for (hopefully) better uses. This is ideal for caches.
1241         
1242         Only resources larger than 16KB will be moved to the purgeable memory.
1243
1244         * WebCore.base.exp:
1245         * WebCore.vcproj/WebCore.vcproj:
1246         * WebCore.xcodeproj/project.pbxproj:
1247         * loader/Cache.cpp:
1248         (WebCore::Cache::requestResource):
1249         (WebCore::Cache::requestUserCSSStyleSheet):
1250         (WebCore::Cache::resourceForURL):
1251         (WebCore::Cache::pruneDeadResources):
1252         (WebCore::Cache::TypeStatistic::addResource):
1253         (WebCore::Cache::getStatistics):
1254         (WebCore::Cache::dumpStats):
1255         * loader/Cache.h:
1256         (WebCore::Cache::TypeStatistic::TypeStatistic):
1257         * loader/CachedCSSStyleSheet.cpp:
1258         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
1259         (WebCore::CachedCSSStyleSheet::sheetText):
1260         * loader/CachedCSSStyleSheet.h:
1261         * loader/CachedImage.cpp:
1262         (WebCore::CachedImage::addClient):
1263         (WebCore::CachedImage::image):
1264         (WebCore::CachedImage::imageSize):
1265         (WebCore::CachedImage::imageRect):
1266         (WebCore::CachedImage::destroyDecodedData):
1267         * loader/CachedResource.cpp:
1268         (WebCore::CachedResource::addClient):
1269         (WebCore::CachedResource::makePurgeable):
1270         (WebCore::CachedResource::isPurgeable):
1271         (WebCore::CachedResource::wasPurged):
1272         * loader/CachedResource.h:
1273         (WebCore::CachedResource::data):
1274         * loader/CachedScript.cpp:
1275         (WebCore::CachedScript::allClientsRemoved):
1276         (WebCore::CachedScript::script):
1277         (WebCore::CachedScript::destroyDecodedData):
1278         * platform/PurgeableBuffer.h: Added.
1279         (WebCore::PurgeableBuffer::create):
1280         (WebCore::PurgeableBuffer::size):
1281         (WebCore::PurgeableBuffer::):
1282         (WebCore::PurgeableBuffer::purgePriority):
1283         (WebCore::PurgeableBuffer::isPurgeable):
1284         (WebCore::PurgeableBuffer::~PurgeableBuffer):
1285         (WebCore::PurgeableBuffer::data):
1286         (WebCore::PurgeableBuffer::setPurgePriority):
1287         (WebCore::PurgeableBuffer::wasPurged):
1288         (WebCore::PurgeableBuffer::makePurgeable):
1289         * platform/SharedBuffer.cpp:
1290         (WebCore::SharedBuffer::~SharedBuffer):
1291         (WebCore::SharedBuffer::adoptPurgeableBuffer):
1292         (WebCore::SharedBuffer::size):
1293         (WebCore::SharedBuffer::data):
1294         (WebCore::SharedBuffer::append):
1295         (WebCore::SharedBuffer::clear):
1296         (WebCore::SharedBuffer::releasePurgeableBuffer):
1297         * platform/SharedBuffer.h:
1298         (WebCore::SharedBuffer::hasPurgeableBuffer):
1299         * platform/cf/SharedBufferCF.cpp:
1300         * platform/mac/PurgeableBufferMac.cpp: Added.
1301         (WebCore::PurgeableBuffer::PurgeableBuffer):
1302         (WebCore::PurgeableBuffer::~PurgeableBuffer):
1303         (WebCore::PurgeableBuffer::create):
1304         (WebCore::PurgeableBuffer::makePurgeable):
1305         (WebCore::PurgeableBuffer::wasPurged):
1306         (WebCore::PurgeableBuffer::setPurgePriority):
1307         (WebCore::PurgeableBuffer::data):
1308
1309 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1310
1311         Reviewed by George Staikos & Eric Seidel.
1312
1313         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
1314
1315         Regenerate WML layout test results after implementing WML specific <card> handling:
1316         Only the first <card> element should be visible after loading the document, others
1317         can be shown by using the <go> task element.
1318
1319         * dom/Document.h: Make 'finishedParsing()' a virtual function.
1320         * wml/WMLCardElement.cpp:
1321         (WebCore::WMLCardElement::WMLCardElement):
1322         (WebCore::WMLCardElement::~WMLCardElement):
1323         (WebCore::WMLCardElement::createRenderer):
1324         (WebCore::WMLCardElement::setActiveCardInDocument):
1325         (WebCore::WMLCardElement::setVisibility):
1326         * wml/WMLCardElement.h:
1327         * wml/WMLDocument.cpp:
1328         (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
1329         * wml/WMLDocument.h:
1330
1331 2008-11-24  Glenn Wilson  <gwilson@chromium.org>
1332
1333         Reviewed by Alexey Proskuryakov.
1334
1335         http://bugs.webkit.org/show_bug.cgi?id=15643
1336
1337         Added support for clients that wish to disable smart insert/delete
1338         and enable the "trailing whitespace selection" work-around.
1339
1340         Tests: editing/selection/doubleclick-whitespace.html
1341
1342         * editing/Editor.cpp:
1343         (WebCore::Editor::selectTrailingWhitespaceEnabled):
1344         * editing/Editor.h:
1345         * editing/Selection.cpp:
1346         (WebCore::Selection::includeTrailingWhitespace):
1347         * editing/Selection.h:
1348         * loader/EmptyClients.h:
1349         (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
1350         * page/EditorClient.h:
1351         * page/EventHandler.cpp:
1352         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1353
1354 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1355
1356         Not reviewed. Forgot to include WMLPageState.h in last commit.
1357
1358         * wml/WMLPageState.h:
1359         (WebCore::WMLPageState::restrictDeckAccessToDomain):
1360         (WebCore::WMLPageState::restrictDeckAccessToPath):
1361
1362 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1363
1364         Reviewed by Oliver Hunt & Eric Seidel.
1365
1366         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
1367
1368         Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
1369
1370         * WebCore.xcodeproj/project.pbxproj:
1371         * wml/WMLAccessElement.cpp: Added.
1372         (WebCore::WMLAccessElement::WMLAccessElement):
1373         (WebCore::WMLAccessElement::parseMappedAttribute):
1374         * wml/WMLAccessElement.h: Added.
1375         * wml/WMLTagNames.in:
1376         * wml/WMLPageState.h: Rename functions.
1377         (WebCore::WMLPageState::restrictDeckAccessToDomain):
1378         (WebCore::WMLPageState::restrictDeckAccessToPath):
1379         * wml/WMLVariables.cpp: Add new helper function.
1380         (WebCore::valueContainsVariableReference):
1381         * wml/WMLVariables.h:
1382         (WebCore::):
1383
1384 2008-11-24  Darin Adler  <darin@apple.com>
1385
1386         Reviewed by Dan Bernstein.
1387
1388         - https://bugs.webkit.org/show_bug.cgi?id=22470
1389           remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
1390
1391         * loader/EmptyClients.h:
1392         (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
1393         * loader/FrameLoader.cpp:
1394         (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
1395         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
1396         * loader/FrameLoaderClient.h: Remove argument.
1397
1398 2008-11-24  Finnur Thorarinsson  <finnur.webkit@gmail.com>
1399
1400         Reviewed by Darin Adler.
1401
1402         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
1403
1404         Add plumbing for tickmark support for the scrollbars. The painting code
1405         for the scrollbar just needed to call paintTickmarks at the right time
1406         and a default no-op implementation is provided, which the ports will
1407         need to override.
1408
1409         * platform/ScrollbarThemeComposite.cpp:
1410         (WebCore::ScrollbarThemeComposite::paint):
1411         * platform/ScrollbarThemeComposite.h:
1412         (WebCore::ScrollbarThemeComposite::paintTickmarks):
1413
1414 2008-11-24  Darin Fisher  <darin@chromium.org>
1415
1416         Reviewed by Sam Weinig.
1417
1418         https://bugs.webkit.org/show_bug.cgi?id=22448
1419         Create an abstraction for JSC::SourceCode
1420
1421         * WebCore.vcproj/WebCore.vcproj:
1422         * bindings/js/CachedScriptSourceProvider.h:
1423         * bindings/js/ScriptController.cpp:
1424         (WebCore::ScriptController::evaluate):
1425         * bindings/js/ScriptController.h:
1426         * bindings/js/ScriptSourceCode.h: Added.
1427         (WebCore::ScriptSourceCode::ScriptSourceCode):
1428         (WebCore::ScriptSourceCode::length):
1429         (WebCore::ScriptSourceCode::jsSourceCode):
1430         * bindings/js/WorkerScriptController.cpp:
1431         (WebCore::Workevn ScriptController::evaluate):
1432         * bindings/js/WorkerScriptController.h:
1433         * dom/ScriptElement.cpp:
1434         (WebCore::ScriptElement::insertedIntoDocument):
1435         (WebCore::ScriptElement::childrenChanged):
1436         (WebCore::ScriptElementData::evaluateScript):
1437         (WebCore::ScriptElementData::notifyFinished):
1438         * dom/ScriptElement.h:
1439         * dom/WorkerThread.cpp:
1440         (WebCore::WorkerThread::workerThread):
1441         * dom/WorkerThread.h:
1442         * dom/XMLTokenizer.cpp:
1443         (WebCore::XMLTokenizer::notifyFinished):
1444         * dom/XMLTokenizerLibxml2.cpp:
1445         (WebCore::XMLTokenizer::endElementNs):
1446         * dom/XMLTokenizerQt.cpp:
1447         (WebCore::XMLTokenizer::parseEndElement):
1448         * html/HTMLTokenizer.cpp:
1449         (WebCore::HTMLTokenizer::scriptHandler):
1450         (WebCore::HTMLTokenizer::scriptExecution):
1451         (WebCore::HTMLTokenizer::notifyFinished):
1452         * html/HTMLTokenizer.h:
1453         * loader/FrameLoader.cpp:
1454         (WebCore::FrameLoader::executeScript):
1455         * loader/FrameLoader.h:
1456
1457 2008-11-24  Darin Adler  <darin@apple.com>
1458
1459         Reviewed by Dan Bernstein.
1460
1461         - finish https://bugs.webkit.org/show_bug.cgi?id=22295
1462           track which history items are from page load failures
1463
1464         * WebCore.base.exp: Exported new function.
1465
1466         * loader/DocumentLoader.cpp:
1467         (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
1468         * loader/DocumentLoader.h: Ditto.
1469
1470 2008-11-24  Chris Fleizach  <cfleizach@apple.com>
1471
1472         Reviewed by Beth Dakin.
1473
1474         Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
1475         https://bugs.webkit.org/show_bug.cgi?id=22461
1476  
1477         Changing AccessibilityListBox to use its parent's signature for hit testing
1478
1479         * page/AccessibilityListBox.cpp:
1480         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1481         * page/AccessibilityListBox.h:
1482
1483 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
1484
1485         Fix Windows build: selectionRect() -> selectionBounds().
1486
1487         * page/win/FrameCGWin.cpp:
1488         (WebCore::imageFromSelection):
1489
1490 2008-11-24  Glenn Wilson  <gwilson@chromium.org>
1491
1492         Reviewed by Darin Adler.
1493
1494         http://bugs.webkit.org/show_bug.cgi?id=18703
1495         "Changing the 'size' property on a text input does not affect its length"
1496
1497         Text fields would not repaint themselves after having their "size" 
1498         attributes modified.  This fix tells the object to recalculate its 
1499         width and repaint itself when its "size" attribute is parsed.
1500
1501         Test: fast/js/text-field-resize.html
1502
1503         * html/HTMLInputElement.cpp:
1504         (WebCore::HTMLInputElement::parseMappedAttribute):
1505
1506 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
1507
1508         Reviewed by Darin Adler
1509
1510         Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
1511         
1512         Make RenderView::selectionRect() private to cause compile-time
1513         errors if someone tries to call it.
1514
1515         * rendering/RenderView.h:
1516
1517 2008-11-24  Simon Fraser  <simon.fraser@apple.com>
1518
1519         Reviewed by Dan Bernstein
1520
1521         Via: https://bugs.webkit.org/show_bug.cgi?id=22433
1522         
1523         Rename RenderView::selectionRect() to selectionBounds(), to remove
1524         longstanding ambiguity with the base class selectionRect() method.
1525         Do the same on Frame for consistency with RenderView. Assert
1526         that RenderView::selectionRect() is never called.
1527
1528         * WebCore.base.exp:
1529         * editing/SelectionController.cpp:
1530         (WebCore::SelectionController::focusedOrActiveStateChanged):
1531         * page/DragController.cpp:
1532         (WebCore::dragLocForSelectionDrag):
1533         * page/Frame.cpp:
1534         (WebCore::Frame::selectionBounds):
1535         (WebCore::Frame::revealSelection):
1536         * page/Frame.h:
1537         * page/mac/FrameMac.mm:
1538         (WebCore::Frame::selectionImage):
1539         * rendering/RenderView.cpp:
1540         (WebCore::RenderView::selectionRect):
1541         (WebCore::RenderView::selectionBounds):
1542         * rendering/RenderView.h:
1543
1544 2008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>
1545
1546         Reviewed by Darin Adler.
1547
1548         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1549         https://bugs.webkit.org/show_bug.cgi?id=22441
1550
1551         - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
1552         an AtomicString.
1553
1554         - Updated the elements' constructors and the callers to reflect the previous change.
1555
1556         * dom/Document.cpp:
1557         (WebCore::Document::createElement):
1558         * html/HTMLDocument.cpp:
1559         (WebCore::HTMLDocument::createElement):
1560         * html/HTMLElement.cpp:
1561         (WebCore::HTMLElement::cloneNode):
1562         * html/HTMLElementFactory.cpp:
1563         (WebCore::htmlConstructor):
1564         (WebCore::headConstructor):
1565         (WebCore::bodyConstructor):
1566         (WebCore::baseConstructor):
1567         (WebCore::linkConstructor):
1568         (WebCore::metaConstructor):
1569         (WebCore::styleConstructor):
1570         (WebCore::titleConstructor):
1571         (WebCore::frameConstructor):
1572         (WebCore::framesetConstructor):
1573         (WebCore::iframeConstructor):
1574         (WebCore::formConstructor):
1575         (WebCore::buttonConstructor):
1576         (WebCore::inputConstructor):
1577         (WebCore::isindexConstructor):
1578         (WebCore::fieldsetConstructor):
1579         (WebCore::keygenConstructor):
1580         (WebCore::labelConstructor):
1581         (WebCore::legendConstructor):
1582         (WebCore::optgroupConstructor):
1583         (WebCore::optionConstructor):
1584         (WebCore::selectConstructor):
1585         (WebCore::textareaConstructor):
1586         (WebCore::dlConstructor):
1587         (WebCore::ulConstructor):
1588         (WebCore::olConstructor):
1589         (WebCore::dirConstructor):
1590         (WebCore::menuConstructor):
1591         (WebCore::liConstructor):
1592         (WebCore::blockquoteConstructor):
1593         (WebCore::divConstructor):
1594         (WebCore::headingConstructor):
1595         (WebCore::hrConstructor):
1596         (WebCore::paragraphConstructor):
1597         (WebCore::preConstructor):
1598         (WebCore::basefontConstructor):
1599         (WebCore::fontConstructor):
1600         (WebCore::modConstructor):
1601         (WebCore::anchorConstructor):
1602         (WebCore::imageConstructor):
1603         (WebCore::mapConstructor):
1604         (WebCore::areaConstructor):
1605         (WebCore::canvasConstructor):
1606         (WebCore::appletConstructor):
1607         (WebCore::embedConstructor):
1608         (WebCore::objectConstructor):
1609         (WebCore::paramConstructor):
1610         (WebCore::scriptConstructor):
1611         (WebCore::tableConstructor):
1612         (WebCore::tableCaptionConstructor):
1613         (WebCore::tableColConstructor):
1614         (WebCore::tableRowConstructor):
1615         (WebCore::tableCellConstructor):
1616         (WebCore::tableSectionConstructor):
1617         (WebCore::brConstructor):
1618         (WebCore::quoteConstructor):
1619         (WebCore::marqueeConstructor):
1620         (WebCore::audioConstructor):
1621         (WebCore::videoConstructor):
1622         (WebCore::sourceConstructor):
1623         (WebCore::HTMLElementFactory::createHTMLElement):
1624         * html/HTMLElementFactory.h:
1625         * html/HTMLParser.cpp:
1626         (WebCore::HTMLParser::getNode):
1627
1628 2008-11-24  Brent Fulgham  <bfulgham@gmail.com>
1629
1630         Reviewed by Alexey Proskuryakov.
1631
1632         https://bugs.webkit.org/show_bug.cgi?id=22444
1633
1634         Correct bad default constructor for Cairo FontPlatformData so that
1635         the m_scaledFont member is initialized.  Previously this would be
1636         set to 0xbaadf00d, which would result in infinite loops while
1637         attempting to deal with the font cache.
1638
1639         * platform/graphics/win/FontPlatformData.h:
1640         (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
1641
1642 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
1643
1644         Reviewed by Darin Adler.
1645
1646         https://bugs.webkit.org/show_bug.cgi?id=22455
1647         Add support for Worker.terminate()
1648
1649         Test: fast/workers/worker-terminate.html
1650
1651         * dom/Worker.idl:
1652         * dom/Worker.cpp:
1653         * dom/Worker.h:
1654         Added terminate().
1655
1656         * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
1657         * dom/WorkerMessagingProxy.cpp:
1658         (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
1659         to terminate (this is not mentioned in draft spec, but makes sense anyway).
1660         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
1661         asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
1662         to only track messages that were posted to worker thread, avoiding a leak if the script
1663         could not be loaded.
1664         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
1665         (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
1666         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
1667         was destroyed, the worker object may still be alive now, so don't delete self in this case.
1668         (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
1669         remember to stop it when it is created.
1670         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
1671         if the thread asked to stop anyway.
1672         (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
1673
1674         * dom/WorkerThread.cpp:
1675         * dom/WorkerThread.h:
1676         Fixed a race condition in stop().
1677
1678 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
1679
1680         Reviewed by Mark Rowe.
1681
1682         https://bugs.webkit.org/show_bug.cgi?id=22439
1683         Won't load stylesheets with filenames less than 2 characters long in xhtml.
1684
1685         Test: http/tests/misc/single-character-pi-stylesheet.xhtml
1686
1687         * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
1688         Fix up the logic.
1689
1690 2008-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1691
1692         Reviewed by Mark Rowe.
1693
1694         [Gtk+] Add configure option to enable Web Workers and enable it by default
1695
1696         Add --enable-workers to the buildsystem (used by build-webkit) add
1697         the to be build files to the GNUmakefile.am and change build-webkit
1698         to enable Web Workers by default.
1699
1700         * GNUmakefile.am:
1701
1702 2008-11-24  Alexey Proskuryakov  <ap@webkit.org>
1703
1704         Build fix (for Windows Cairo port?)
1705
1706         * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
1707         the ENABLE macro is not available in idls.
1708
1709 2008-11-22  Dimitri Glazkov  <dglazkov@chromium.org>
1710
1711         Reviewed by Darin Adler.
1712
1713         https://bugs.webkit.org/show_bug.cgi?id=22421
1714         Added ScriptValue to Visual Studio and XCode projects.
1715
1716         * WebCore.vcproj/WebCore.vcproj:
1717         * WebCore.xcodeproj/project.pbxproj:
1718
1719 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1720
1721         Reviewed by Holger Freyther.
1722
1723         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
1724
1725         Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
1726
1727         * WebCore.xcodeproj/project.pbxproj:
1728         * wml/WMLIntrinsicEvent.cpp: Added.
1729         (WebCore::createTaskElement):
1730         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
1731         * wml/WMLIntrinsicEvent.h: Added.
1732         (WebCore::WMLIntrinsicEvent::create):
1733         (WebCore::WMLIntrinsicEvent::createWithTask):
1734         (WebCore::WMLIntrinsicEvent::taskElement):
1735         * wml/WMLIntrinsicEventHandler.cpp: Added.
1736         (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
1737         (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
1738         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1739         (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
1740         * wml/WMLIntrinsicEventHandler.h: Added.
1741         (WebCore::):
1742
1743 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1744
1745         Reviewed by Holger Freyther.
1746
1747         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
1748
1749         Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
1750         Activate code handling <setvar> registration in WMLTaskElement.
1751
1752         * wml/WMLGoElement.cpp: Added.
1753         (WebCore::WMLGoElement::WMLGoElement):
1754         (WebCore::WMLGoElement::~WMLGoElement):
1755         (WebCore::WMLGoElement::parseMappedAttribute):
1756         (WebCore::WMLGoElement::executeTask):
1757         * wml/WMLGoElement.h: Added.
1758         * wml/WMLPrevElement.cpp: Added.
1759         (WebCore::WMLPrevElement::WMLPrevElement):
1760         (WebCore::WMLPrevElement::~WMLPrevElement):
1761         (WebCore::WMLPrevElement::executeTask):
1762         * wml/WMLPrevElement.h: Added.
1763         * wml/WMLRefreshElement.cpp: Added.
1764         (WebCore::WMLRefreshElement::WMLRefreshElement):
1765         (WebCore::WMLRefreshElement::~WMLRefreshElement):
1766         (WebCore::WMLRefreshElement::executeTask):
1767         * wml/WMLRefreshElement.h: Added.
1768         * wml/WMLSetvarElement.cpp: Added.
1769         (WebCore::WMLSetvarElement::WMLSetvarElement):
1770         (WebCore::WMLSetvarElement::~WMLSetvarElement):
1771         (WebCore::WMLSetvarElement::parseMappedAttribute):
1772         (WebCore::WMLSetvarElement::insertedIntoDocument):
1773         (WebCore::WMLSetvarElement::name):
1774         (WebCore::WMLSetvarElement::value):
1775         * wml/WMLSetvarElement.h: Added.
1776         * wml/WMLTagNames.in:
1777         * wml/WMLTaskElement.cpp:
1778         (WebCore::WMLTaskElement::registerVariableSetter):
1779         (WebCore::WMLTaskElement::storeVariableState):
1780         * wml/WMLTaskElement.h:
1781         * WebCore.xcodeproj/project.pbxproj:
1782
1783 2008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1784
1785         Not reviewed. Forgot to include WMLPageState.* in the last commit.
1786
1787         * wml/WMLPageState.cpp:
1788         (WebCore::WMLPageState::setNeedCheckDeckAccess):
1789         * wml/WMLPageState.h:
1790         (WebCore::WMLPageState::storeVariables):
1791
1792 2008-11-21  Alexey Proskuryakov  <ap@webkit.org>
1793
1794         Reviewed by Darin Adler.
1795
1796         https://bugs.webkit.org/show_bug.cgi?id=22397
1797         Worker threads are not destroyed if running a JS loop
1798
1799         Since the event loop is not ever entered again in this case, the fix necessarily involves
1800         some shared data hackery.
1801
1802         * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
1803         * dom/WorkerThread.h:
1804         Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
1805         may need to abort other kinds of synchronous processing, such as importScripts or XHR.
1806
1807         * bindings/js/WorkerScriptController.cpp:
1808         (WebCore::WorkerScriptController::WorkerScriptController):
1809         (WebCore::WorkerScriptController::evaluate):
1810         (WebCore::WorkerScriptController::forbidExecution):
1811         * bindings/js/WorkerScriptController.h:
1812         Added a forbidExecution() method, which interrupts currently running JS, and makes any
1813         future calls to evaluate() return immediately.
1814
1815         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1816         Call WorkerThread::stop().
1817
1818 2008-11-21  Kevin Watters  <kevinwatters@gmail.com>
1819
1820         Reviewed by Kevin Ollivier.
1821
1822         Improve wx image drawing performance considerably when using wxGraphicsContext
1823         by avoiding unnecessary copies and drawing.
1824         
1825         https://bugs.webkit.org/show_bug.cgi?id=22404
1826
1827         * platform/graphics/wx/ImageWx.cpp:
1828         (WebCore::BitmapImage::draw):
1829         (WebCore::BitmapImage::drawPattern):
1830
1831
1832 2008-11-21  Kevin Watters  <kevinwatters@gmail.com>
1833
1834         Reviewed by Kevin Ollivier.
1835
1836         Implementation of AffineTransform::mapRect for wx.
1837         
1838         https://bugs.webkit.org/show_bug.cgi?id=22401
1839
1840         * platform/graphics/wx/AffineTransformWx.cpp:
1841         (WebCore::AffineTransform::mapRect):
1842
1843 2008-11-21  Justin Garcia  <justin.garcia@apple.com>
1844
1845         Reviewed by Darin Adler.
1846
1847         <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
1848         
1849         Change link editing behavior to match TextEdit and MS Word when editing before and after 
1850         a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we 
1851         used to, so it's difficult to get out of link editing mode):
1852         When inserting before or after a link, always insert content outside of the link.  This
1853         makes it impossible to get stuck in link editing mode, while making it slightly more 
1854         difficult to edit link labels.  WebKit editors that care about this can add UI for editing 
1855         link labels, like GMail and GoogleDocs have done.  We never actually had any bugs complaining
1856         about how it was difficult to edit link labels at the start/end, the code was just introduced 
1857         with another bug fix without much thought.
1858         
1859         Don't remember removed links anymore, no other editor does this and it made it 
1860         difficult/impossible to get out of link editing mode.  This code was added to fix
1861         <rdar://problem/4069359>, which is fixed instead by removing the styles from an 
1862         enclosing anchor element from those styles that we remember when we delete content.
1863
1864         * editing/CompositeEditCommand.cpp:
1865         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
1866         * editing/CompositeEditCommand.h:
1867         * editing/DeleteSelectionCommand.cpp:
1868         (WebCore::removeEnclosingAnchorStyle):
1869         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1870         (WebCore::DeleteSelectionCommand::doApply):
1871         * editing/DeleteSelectionCommand.h:
1872         * editing/EditCommand.cpp:
1873         (WebCore::EditCommand::apply):
1874         * editing/Editor.cpp:
1875         (WebCore::Editor::appliedEditing):
1876         * editing/InsertTextCommand.cpp:
1877         (WebCore::InsertTextCommand::prepareForTextInsertion):
1878         (WebCore::InsertTextCommand::input):
1879         * editing/RemoveFormatCommand.cpp:
1880         (WebCore::RemoveFormatCommand::doApply):
1881         * editing/SelectionController.cpp:
1882         (WebCore::SelectionController::setSelection):
1883         * editing/SelectionController.h:
1884
1885 2008-11-21  Alice Liu  <alice.liu@apple.com>
1886
1887         Rubber-stamped by Dan Bernstein.
1888
1889         fixed <rdar://6340771> crashing on print preview
1890
1891         * platform/graphics/win/GraphicsContextCGWin.cpp:
1892         (WebCore::GraphicsContext::drawWindowsBitmap):
1893
1894 2008-11-21  Darin Fisher  <darin@chromium.org>
1895
1896         Reviewed by Geoffrey Garen.
1897
1898         https://bugs.webkit.org/show_bug.cgi?id=22390
1899         Abstract away JSC:: usage in WebCore/xml
1900
1901         * bindings/js/ScriptString.h: Added.
1902         (WebCore::ScriptString::ScriptString):
1903         (WebCore::ScriptString::operator JSC::UString):
1904         (WebCore::ScriptString::isNull):
1905         (WebCore::ScriptString::size):
1906         (WebCore::ScriptString::operator=):
1907         (WebCore::ScriptString::operator+=):
1908         * inspector/InspectorController.cpp:
1909         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1910         (WebCore::InspectorResource::setXMLHttpRequestProperties):
1911         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1912         * inspector/InspectorController.h:
1913         * xml/XMLHttpRequest.cpp:
1914         (WebCore::XMLHttpRequest::responseText):
1915         (WebCore::XMLHttpRequest::clearResponse):
1916         (WebCore::XMLHttpRequest::dropProtection):
1917         (WebCore::XMLHttpRequest::didFinishLoading):
1918         (WebCore::XMLHttpRequest::didReceiveData):
1919         * xml/XMLHttpRequest.h:
1920         (WebCore::XMLHttpRequest::setLastSendURL):
1921
1922 2008-11-21  Sam Weinig  <sam@webkit.org>
1923
1924         Reviewed by Geoffrey Garen.
1925
1926         Destroy script decoded data on a zero-delay timer after
1927         decoding.  This means we now have no decoded script data
1928         at the end of Membuster.
1929
1930         * loader/CachedScript.cpp:
1931         (WebCore::CachedScript::CachedScript):
1932         (WebCore::CachedScript::allClientsRemoved):
1933         (WebCore::CachedScript::script):
1934         (WebCore::CachedScript::decodedDataDeletionTimerFired):
1935         * loader/CachedScript.h:
1936
1937 2008-11-21  Simon Fraser  <simon.fraser@apple.com>
1938
1939         Reviewed by Darin Adler
1940
1941         https://bugs.webkit.org/show_bug.cgi?id=22159
1942
1943         RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
1944         maximalOutlineSize(), since a child might have an outline which projects
1945         outside the parent overflowRect().
1946         
1947         We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
1948         so that it is valid for these repaints.
1949
1950         Test: fast/repaint/outline-child-repaint.html
1951
1952         * WebCore.xcodeproj/project.pbxproj:
1953         * rendering/RenderBox.cpp:
1954         (WebCore::RenderBox::styleDidChange):
1955         (WebCore::RenderBox::absoluteClippedOverflowRect):
1956
1957 2008-11-21  Jan Michael Alonzo  <jmalonzo@webkit.org>
1958
1959         Gtk, Qt, and Wx build fix.
1960
1961         Add LinkHash.cpp in the build scripts.
1962         Add LinkHash.h to Gtk's build script.
1963
1964         LinkHash.cpp/h was introduced in r38661.
1965
1966         * GNUmakefile.am:
1967         * WebCore.pro:
1968         * WebCoreSources.bkl:
1969
1970 2008-11-21  Sam Weinig  <sam@webkit.org>
1971
1972         Reviewed by Dan Bernstein.
1973
1974         Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
1975         Be more eager in destroying script decoded data
1976
1977         Destroy the decoded data when all clients are removed from a CachedScript.
1978
1979         * loader/CachedScript.cpp:
1980         (WebCore::CachedScript::allClientsRemoved):
1981         * loader/CachedScript.h:
1982         (WebCore::CachedScript::allClientsRemoved):
1983
1984 2008-11-21  Pierre-Olivier Latour  <pol@apple.com>
1985
1986         Reviewed by Dan Bernstein.
1987
1988         WebKit should be using Device RGB colorspace everywhere for
1989         consistency.
1990
1991         https://bugs.webkit.org/show_bug.cgi?id=22300
1992
1993         * page/mac/AccessibilityObjectWrapper.mm:
1994         (CreateCGColorIfDifferent):
1995         * platform/graphics/mac/ColorMac.h:
1996         * platform/graphics/mac/ColorMac.mm:
1997         (WebCore::nsColor):
1998         (+[WebCoreControlTintObserver controlTintDidChange]):
1999         * rendering/RenderThemeMac.mm:
2000         (WebCore::convertNSColorToColor):
2001         (WebCore::menuBackgroundColor):
2002
2003 2008-11-20  Julien Chaffraix  <jchaffraix@webkit.org>
2004
2005         Reviewed by Darin Adler.
2006
2007         Bug 22388: Add JSInterfaceName to the .in files
2008         https://bugs.webkit.org/show_bug.cgi?id=22388        
2009
2010         Add JSInterfaceName that is similar to interfaceName but
2011         for the JS wrappers. JSInterfaceName is always equal to interfaceName
2012         unless explicitly set.
2013         
2014         * dom/make_names.pl:
2015         * html/HTMLTagNames.in:
2016         * svg/svgtags.in:
2017
2018 2008-11-21  Sam Weinig  <sam@webkit.org>
2019
2020         Reviewed by Geoffrey Garen.
2021
2022         Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
2023         Be more eager in destroying script decoded data
2024
2025         Use a new CachedScriptSourceProvider to keep CachedScripts as
2026         CachedScripts, even down into JSC.  This has the added benefit
2027         of showing the CachedScripts as live in the Caches window.
2028
2029         * GNUmakefile.am:
2030         * WebCore.vcproj/WebCore.vcproj:
2031         * WebCore.xcodeproj/project.pbxproj:
2032         * bindings/js/CachedScriptSourceProvider.h: Added.
2033         (WebCore::CachedScriptSourceProvider::create):
2034         (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
2035         (WebCore::CachedScriptSourceProvider::getRange):
2036         (WebCore::CachedScriptSourceProvider::data):
2037         (WebCore::CachedScriptSourceProvider::length):
2038         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2039         (WebCore::makeSource):
2040         * dom/ScriptElement.cpp:
2041         (WebCore::ScriptElementData::notifyFinished):
2042         * dom/XMLTokenizer.cpp:
2043         (WebCore::XMLTokenizer::notifyFinished):
2044         * html/HTMLTokenizer.cpp:
2045         (WebCore::HTMLTokenizer::notifyFinished):
2046
2047 2008-11-21  Brett Wilson  <brettw@chromium.org>
2048
2049         Fix debug-only build bustage due to a typo in an assert, and add new
2050         files to the Windows build.
2051
2052         * Info.plist:
2053         * WebCore.vcproj/WebCore.vcproj:
2054         * platform/LinkHash.h:
2055         (WebCore::LinkHashHash::avoidDeletedValue):
2056
2057 2008-11-20  Brett Wilson  <brettw@chromium.org>
2058
2059         Reviewed by Eric Seidel.
2060
2061         https://bugs.webkit.org/show_bug.cgi?id=22131
2062
2063         Factor out visited link hashing and types into a new file, LinkHash.
2064         This also changes the hash type to 64 bits, but does not actually use
2065         the extra bits yet.
2066
2067         * WebCore.xcodeproj/project.pbxproj:
2068         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
2069         (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
2070         * css/CSSStyleSelector.h:
2071         (WebCore::CSSStyleSelector::visitedStateChanged):
2072         * dom/Document.cpp:
2073         * dom/Document.h:
2074         * page/Page.cpp:
2075         (WebCore::Page::visitedStateChanged):
2076         * page/Page.h:
2077         * page/PageGroup.cpp:
2078         (WebCore::PageGroup::isLinkVisited):
2079         (WebCore::PageGroup::addVisitedLink):
2080         * page/PageGroup.h:
2081         * platform/LinkHash.cpp: Added.
2082         (WebCore::findSlashDotDotSlash):
2083         (WebCore::findSlashSlash):
2084         (WebCore::findSlashDotSlash):
2085         (WebCore::containsColonSlashSlash):
2086         (WebCore::cleanPath):
2087         (WebCore::matchLetter):
2088         (WebCore::needsTrailingSlash):
2089         (WebCore::visitedLinkHash):
2090         * platform/LinkHash.h: Added
2091         (WebCore::LinkHashHash::hash):
2092         (WebCore::LinkHashHash::equal):
2093         (WebCore::LinkHashHash::avoidDeletedValue):
2094
2095 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2096
2097         Reviewed by Alexey Proskuryakov.
2098
2099         No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
2100
2101         * wml/WMLPElement.cpp:
2102         (WebCore::WMLPElement::insertedIntoDocument):
2103
2104 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2105
2106         Reviewed by Alexey Proskuryakov.
2107
2108         Fix some coding style/formatting issues in WMLAElement.
2109
2110         * wml/WMLAElement.cpp:
2111         (WebCore::WMLAElement::parseMappedAttribute):
2112         (WebCore::WMLAElement::defaultEventHandler):
2113         * wml/WMLAElement.h:
2114
2115 2008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2116
2117         Reviewed by Alexey Proskuryakov.
2118
2119         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
2120
2121         Implement <anchor> support for WML, add WMLVariables file containing helper functions
2122         for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
2123
2124         * css/CSSStyleSelector.cpp:
2125         (WebCore::linkAttribute):
2126         * rendering/HitTestResult.cpp:
2127         (WebCore::HitTestResult::absoluteImageURL):
2128         (WebCore::HitTestResult::absoluteLinkURL):
2129         (WebCore::HitTestResult::isLiveLink):
2130         * wml/WMLAnchorElement.cpp: Added.
2131         (WebCore::WMLAnchorElement::WMLAnchorElement):
2132         (WebCore::WMLAnchorElement::~WMLAnchorElement):
2133         (WebCore::WMLAnchorElement::defaultEventHandler):
2134         * wml/WMLAnchorElement.h: Added.
2135         (WebCore::WMLAnchorElement::registerTask):
2136         * wml/WMLTagNames.in:
2137         * wml/WMLTaskElement.cpp: Added.
2138         (WebCore::WMLTaskElement::WMLTaskElement):
2139         (WebCore::WMLTaskElement::~WMLTaskElement):
2140         (WebCore::WMLTaskElement::insertedIntoDocument):
2141         (WebCore::WMLTaskElement::addVariableSetter):
2142         (WebCore::WMLTaskElement::removeVariableSetter):
2143         (WebCore::WMLTaskElement::storeVariableState):
2144         * wml/WMLTaskElement.h: Added.
2145         * wml/WMLVariables.cpp: Added.
2146         (WebCore::isValidVariableCharacter):
2147         (WebCore::isValidVariableReferenceCharacter):
2148         (WebCore::isValidVariableName):
2149         (WebCore::substituteVariableReferences):
2150         * wml/WMLVariables.h: Added.
2151         (WebCore::):
2152
2153 2008-11-21  Julien Chaffraix  <jchaffraix@pleyo.com>
2154
2155         Rubber-stamped by Alexey Proskuryakov.
2156
2157         Build fix when building without WORKERS on non-POSIX, non-WINDOWS
2158         machine.
2159
2160         Spotted by Mario Bensi.
2161
2162         * platform/text/TextCodecICU.cpp:
2163
2164 2008-11-20  Sam Weinig  <sam@webkit.org>
2165
2166         Reviewed by Geoffrey Garen.
2167
2168         First step in https://bugs.webkit.org/show_bug.cgi?id=22394
2169         Be more eager in destroying script decoded data
2170
2171         Pass data to be used in script execution around as JSC::SourceCode instead
2172         of a source, url, and starting line.
2173
2174         * bindings/js/ScriptController.cpp:
2175         (WebCore::ScriptController::evaluate):
2176         * bindings/js/ScriptController.h:
2177         * bindings/js/StringSourceProvider.h:
2178         (WebCore::makeSource):
2179         * bindings/js/WorkerScriptController.cpp:
2180         (WebCore::WorkerScriptController::evaluate):
2181         * bindings/js/WorkerScriptController.h:
2182         * dom/ScriptElement.cpp:
2183         (WebCore::ScriptElement::insertedIntoDocument):
2184         (WebCore::ScriptElement::childrenChanged):
2185         (WebCore::ScriptElementData::evaluateScript):
2186         (WebCore::ScriptElementData::notifyFinished):
2187         * dom/ScriptElement.h:
2188         * dom/WorkerThread.cpp:
2189         (WebCore::WorkerThread::workerThread):
2190         * dom/XMLTokenizer.cpp:
2191         (WebCore::XMLTokenizer::notifyFinished):
2192         * dom/XMLTokenizerLibxml2.cpp:
2193         (WebCore::XMLTokenizer::endElementNs):
2194         * dom/XMLTokenizerQt.cpp:
2195         (WebCore::XMLTokenizer::parseEndElement):
2196         * html/HTMLTokenizer.cpp:
2197         (WebCore::HTMLTokenizer::scriptHandler):
2198         (WebCore::HTMLTokenizer::scriptExecution):
2199         (WebCore::HTMLTokenizer::notifyFinished):
2200         * html/HTMLTokenizer.h:
2201         * loader/FrameLoader.cpp:
2202         (WebCore::FrameLoader::executeScript):
2203         * loader/FrameLoader.h:
2204
2205 2008-11-20  Sam Weinig  <sam@webkit.org>
2206
2207         Reviewed by Geoffrey Garen.
2208
2209         Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
2210         REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
2211
2212         - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
2213
2214         * bindings/js/JSXMLHttpRequestCustom.cpp:
2215         (WebCore::JSXMLHttpRequest::responseText):
2216         * xml/XMLHttpRequest.idl:
2217
2218 2008-11-20  Simon Fraser  <simon.fraser@apple.com>
2219
2220         Reviewed by Dan Bernstein
2221
2222         https://bugs.webkit.org/show_bug.cgi?id=19623
2223         
2224         When an non-layer object gained a transform, it would only repaint
2225         the bounds of the new layer, which could result in redraw artifacts
2226         if the new layer was smaller. So if we're gaining a transform, we
2227         repaint.
2228         
2229         Test: fast/repaint/change-transform.html
2230
2231         * rendering/RenderObject.cpp:
2232         (WebCore::RenderObject::styleWillChange):
2233
2234 2008-11-20  Adele Peterson  <adele@apple.com>
2235
2236         Reviewed by Darin Adler. 
2237
2238         Fix for <rdar://problem/6111436> Support upload progress events on Windows
2239
2240         * platform/network/cf/ResourceHandleCFNet.cpp:
2241         (WebCore::didSendBodyData): Added.
2242         (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
2243
2244 2008-11-20  Justin Garcia  <justin.garcia@apple.com>
2245
2246         Reviewed by Darin Adler.
2247
2248         <rdar://problem/2610675> Blank line that is quoted can't be deleted
2249         
2250         If the caret is in an empty quoted paragraph, and either there is nothing before that
2251         paragraph, or what is before is unquoted, and the user presses delete, unquote that
2252         paragraph.
2253
2254         * editing/CompositeEditCommand.cpp:
2255         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
2256         Removes the line break that holds open an empty paragraph and then attempts to
2257         prune the blockquote(s) that held that line break in case they have been emptied
2258         out.  Places a line break to create in empty unquoted paragraph in place of the
2259         quoted one that was removed.
2260         * editing/CompositeEditCommand.h:
2261         * editing/TypingCommand.cpp:
2262         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
2263         * editing/htmlediting.cpp:
2264         (WebCore::highestEnclosingNodeOfType): Added.
2265         * editing/htmlediting.h:
2266
2267 2008-11-20  Dean Jackson  <dino@apple.com>
2268
2269         Reviewed by Antti Koivisto
2270
2271         https://bugs.webkit.org/show_bug.cgi?id=21247
2272
2273         Make transition shorthand property accept transition-delay.
2274
2275         Test: transitions/transition-shorthand-delay.html
2276
2277         * css/CSSParser.cpp:
2278         (WebCore::CSSParser::parseTransitionShorthand):
2279
2280 2008-11-20  Dean Jackson  <dino@apple.com>
2281
2282         Reviewed by Antti Koivisto
2283
2284         https://bugs.webkit.org/show_bug.cgi?id=22368
2285
2286         Make sure pauseTransition API takes transition delay into account.
2287
2288         Test: transitions/transition-drt-api-delay.html
2289
2290         * page/animation/AnimationBase.cpp:
2291         (WebCore::AnimationBase::pauseAtTime):
2292
2293 2008-11-20  Simon Fraser  <simon.fraser@apple.com>
2294
2295         Reviewed by Darin Adler
2296
2297         https://bugs.webkit.org/show_bug.cgi?id=20368
2298
2299         Implement getComputedStyle for animation properties. Remove individual
2300         computed values for transform-origin-x, transform-origin-y, and just
2301         return transform-origin instead. Return "none" for default animation-name,
2302         and fix the initial value.
2303         
2304         Tests: animations/computed-style.html
2305                transforms/computed-style-origin.html
2306
2307         * css/CSSComputedStyleDeclaration.cpp:
2308         (WebCore::):
2309         (WebCore::getDelayValue):
2310         (WebCore::getDurationValue):
2311         (WebCore::getTimingFunctionValue):
2312         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2313         * rendering/style/RenderStyle.h:
2314         (WebCore::InheritedFlags::initialAnimationName):
2315
2316 2008-11-20  Justin Garcia  <justin.garcia@apple.com>
2317
2318         Reviewed by Beth Dakin.
2319         
2320         Preparation for:
2321         <rdar://problem/2610675> Blank line that is quoted can't be deleted
2322         
2323         To fix this we need to make changes to the code that creates selections to delete
2324         when the user does a backward or forward delete with a caret selection.  For certain
2325         caret positions, we now want to remove something other than the standard "caret extended
2326         backward/forward by one unit".  The problem is that there were two pieces of code 
2327         responsible for doing this, one in Editor::deleteWithDirection, and another inside 
2328         TypingCommand::deleteKeyPressed.  The code in deleteWithDirection is a recent 
2329         addition (r19172), and adding it there caused regressions because it prevented the 
2330         code in deleteKeyPressed from ever running.  The regressions were never caught because 
2331         JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
2332         
2333         This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
2334         can handle it.  That required moving code to handle the kill ring down into deleteKeyPressed.
2335         
2336         Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the 
2337         discrepancies between the behavior of JS deletions and manual deletions, so that we 
2338         have better test coverage.
2339
2340         * editing/Editor.cpp:
2341         (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
2342         of checking for that periodically throughout the function.  There's really nothing to be done
2343         if it's null anyway.
2344         Move kill ring code down into deleteKeyPressed.
2345         * editing/Editor.h:
2346         * editing/TypingCommand.cpp:
2347         (WebCore::TypingCommand::TypingCommand):
2348         (WebCore::TypingCommand::deleteKeyPressed):
2349         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2350         (WebCore::TypingCommand::doApply):
2351         * editing/TypingCommand.h:
2352         (WebCore::TypingCommand::create):
2353
2354 2008-11-20  Darin Adler  <darin@apple.com>
2355
2356         Earlier version reviewed by Justin Garcia.
2357
2358         - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
2359
2360         * editing/Editor.cpp:
2361         (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
2362         handled even when the selection is not in an editable area.
2363         (WebCore::Editor::handleInputMethodKeydown): Ditto.
2364
2365         * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
2366         allow use when there's a selection even if it's not in an editable area. This includes commands
2367         like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
2368         insertion point.
2369
2370 2008-11-20  Alexey Proskuryakov  <ap@webkit.org>
2371
2372         Reviewed by Darin Adler.
2373
2374         https://bugs.webkit.org/show_bug.cgi?id=22380
2375         Fix WorkerContext refcounting
2376
2377         * dom/WorkerContext.cpp:
2378         (WebCore::WorkerContext::WorkerContext):
2379         * dom/WorkerContext.h:
2380         (WebCore::WorkerContext::script):
2381         (WebCore::WorkerContext::clearScript):
2382         Added a method to manually destroy WorkerScriptController.
2383
2384         * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
2385         Destroy WorkerScriptController to release any references to WorkerContext.
2386
2387 2008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>
2388
2389         Reviewed by Darin Adler.
2390
2391         Last part of bug 21106: .in format discussed changes
2392         https://bugs.webkit.org/show_bug.cgi?id=21106
2393
2394         - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
2395
2396         - Cleaned up additionnal function parameters that were unneeded.
2397
2398         * dom/make_names.pl:
2399         * html/HTMLTagNames.in:
2400
2401 2008-11-20  Alexey Proskuryakov  <ap@webkit.org>
2402
2403         Reviewed by Darin Adler.
2404
2405         https://bugs.webkit.org/show_bug.cgi?id=22383
2406         Worker tests spill error messages over to consequent tests
2407
2408         * dom/Worker.cpp: (WebCore::Worker::Worker):
2409         Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
2410         in this case, and there is no sense in starting a thread and trying to parse document source
2411         as JavaScript.
2412
2413         * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
2414         Return quickly if toString() raised an exception.
2415
2416 2008-11-19  Simon Fraser  <simon.fraser@apple.com>
2417
2418         Reviewed by Adele Peterson.
2419
2420         https://bugs.webkit.org/show_bug.cgi?id=22190
2421
2422         Fix the painting and event handling in transformed search fields.
2423         When painting the cancel and results button parts,  get the rect from AppKit
2424         relative to the input bounds (rather than in absolute coords), then convert
2425         it into the coords of the part's renderer (which is the one that is painting).
2426         To do this we need to compute an offset relative to some container, so expose
2427         a method on RenderObject for that.
2428         
2429         Also fix the location at which the search popup shows up to take transforms
2430         into account, and fix the math that is used to figure out if the search
2431         results button, or the cancel button should get the mouse events.
2432         
2433         Test: fast/forms/search-transformed.html
2434
2435         * rendering/RenderBox.h:
2436         * rendering/RenderObject.cpp:
2437         (WebCore::RenderObject::offsetFromContainer):
2438         * rendering/RenderObject.h:
2439         * rendering/RenderTextControl.cpp:
2440         (WebCore::RenderTextControl::forwardEvent):
2441         (WebCore::RenderTextControl::showPopup):
2442         * rendering/RenderThemeMac.h:
2443         * rendering/RenderThemeMac.mm:
2444         (WebCore::RenderThemeMac::convertToPaintingRect):
2445         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2446         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2447         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2448
2449 2008-11-20  Joerg Bornemann  <joerg.bornemann@trolltech.com>
2450
2451         Reviewed by Simon Hausmann.
2452
2453         Steps towards making the the Qt port of WebKit compile on Windows CE
2454
2455         https://bugs.webkit.org/show_bug.cgi?id=20746
2456
2457         * WebCore.pro: Various fixes to include windows specific build options
2458         also in the Windows CE build.
2459         * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
2460         * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2461         * platform/graphics/qt/GraphicsContextQt.cpp:
2462         (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
2463         not available on CE.
2464         * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
2465         * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2466         * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
2467         constants on CE.
2468         * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
2469         * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
2470         pcre.h inclusions.
2471         * platform/win/SystemTimeWin.cpp:
2472         (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
2473         exist.
2474
2475 2008-11-20  Antti Koivisto  <antti@apple.com>
2476
2477         Reviewed by Maciej Stachowiak.
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=22379
2480         Make CSSOM use less memory
2481         
2482         - Shrink CSSProperty by half by using bitfields.
2483         - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
2484           and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
2485
2486         * css/CSSMutableStyleDeclaration.cpp:
2487         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2488         (WebCore::CSSMutableStyleDeclaration::operator=):
2489         * css/CSSMutableStyleDeclaration.h:
2490         (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
2491         (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
2492         * css/CSSProperty.h:
2493         * css/CSSStyleSheet.cpp:
2494         (WebCore::CSSStyleSheet::CSSStyleSheet):
2495         * css/CSSStyleSheet.h:
2496         (WebCore::CSSStyleSheet::setStrictParsing):
2497         (WebCore::CSSStyleSheet::useStrictParsing):
2498         * css/StyleBase.h:
2499         (WebCore::StyleBase::useStrictParsing):
2500         (WebCore::StyleBase::StyleBase):
2501
2502 2008-11-19  Darin Fisher  <darin@chromium.org>
2503
2504         Fix bustage.
2505
2506         https://bugs.webkit.org/show_bug.cgi?id=22373
2507         Ports busted by addition of ScriptValue.{h,cpp}
2508         
2509         * plugins/PluginView.cpp:
2510         (WebCore::PluginView::performRequest):
2511
2512 2008-11-19  Darin Fisher  <darin@chromium.org>
2513
2514         Bustage fix.
2515
2516         https://bugs.webkit.org/show_bug.cgi?id=22373
2517         Ports busted by addition of ScriptValue.{h,cpp}
2518
2519         * GNUmakefile.am:
2520         * WebCore.pro:
2521         * WebCoreSources.bkl:
2522         * dom/XMLTokenizerQt.cpp:
2523         * plugins/PluginView.cpp:
2524
2525 2008-11-19  Darin Fisher  <darin@chromium.org>
2526
2527         Reviewed by Geoff Garen.
2528
2529         https://bugs.webkit.org/show_bug.cgi?id=22345
2530         Define ScriptValue as a thin container for a JSC::Value*.
2531
2532         * WebCore.vcproj/WebCore.vcproj:
2533         * WebCore.xcodeproj/project.pbxproj:
2534         * bindings/js/ScheduledAction.cpp:
2535         * bindings/js/ScriptController.cpp:
2536         (WebCore::ScriptController::evaluate):
2537         * bindings/js/ScriptController.h:
2538         * bindings/js/ScriptValue.cpp: Added.
2539         (WebCore::ScriptValue::getString):
2540         * bindings/js/ScriptValue.h: Added.
2541         (WebCore::ScriptValue::ScriptValue):
2542         (WebCore::ScriptValue::jsValue):
2543         * dom/ScriptElement.cpp:
2544         * dom/XMLTokenizer.cpp:
2545         * dom/XMLTokenizerLibxml2.cpp:
2546         * html/HTMLTokenizer.cpp:
2547         * loader/FrameLoader.cpp:
2548         (WebCore::FrameLoader::executeIfJavaScriptURL):
2549         (WebCore::FrameLoader::executeScript):
2550         * loader/FrameLoader.h:
2551
2552 2008-11-19  Beth Dakin  <bdakin@apple.com>
2553
2554         Reviewed by Justin Garcia.
2555
2556         Fix for <rdar://problem/5472507> Remove color property when a user 
2557         sets color to black
2558
2559         This patch prevents us from inserting font nodes during the 
2560         ApplyStyleCommand if they will not change the computed style of an 
2561         element.
2562
2563         * editing/ApplyStyleCommand.cpp:
2564         (WebCore::fontColorChangesComputedStyle):
2565         (WebCore::fontSizeChangesComputedStyle):
2566         (WebCore::fontFaceChangesComputedStyle):
2567         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2568
2569 2008-11-19  Simon Fraser  <simon.fraser@apple.com>
2570
2571         Reviewed by Antti Koivisto
2572         
2573         https://bugs.webkit.org/show_bug.cgi?id=22111
2574         
2575         Fix hit testing in controls on transformed video elements
2576         by replacing absoluteBoundingBoxRect().contains() with
2577         code that maps the point into local coords, taking
2578         transforms into account.
2579
2580         Test: media/video-controls-transformed.html
2581
2582         * platform/graphics/MediaPlayer.h:
2583         * rendering/RenderMedia.cpp:
2584         (WebCore::rendererContainsPoint):
2585         (WebCore::RenderMedia::forwardEvent):
2586
2587 2008-11-19  Simon Fraser  <simon.fraser@apple.com>
2588
2589         Reviewed by Darin Adler
2590
2591         https://bugs.webkit.org/show_bug.cgi?id=22348
2592         
2593         Need to educate style sharing about autofill, so that style does not
2594         get shared between input elements that are autofilled, and those
2595         that are not. Setting autofill should also do a setChanged on the node.
2596
2597         * css/CSSStyleSelector.cpp:
2598         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2599         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2600         * dom/Node.h:
2601         (WebCore::Node::isAutofilled):
2602         * html/HTMLInputElement.cpp:
2603         (WebCore::HTMLInputElement::setAutofilled):
2604         * html/HTMLInputElement.h:
2605         (WebCore::HTMLInputElement::isAutofilled):
2606
2607 2008-11-19  Brett Wilson  <brettw@chromium.org>
2608
2609         Reviewed by Antti Koivisto.
2610
2611         https://bugs.webkit.org/show_bug.cgi?id=22349
2612
2613         Clear the subresource loader client when the client is removed in
2614         response to a 304 (not modified). This prevents an inconsistent state
2615         where the loader thinks it's active and the loader::Host doesn't.
2616
2617         * loader/loader.cpp:
2618         (WebCore::Loader::Host::didReceiveResponse):
2619
2620 2008-11-19  Alexey Proskuryakov  <ap@webkit.org>
2621
2622         Reviewed by Darin Adler.
2623
2624         https://bugs.webkit.org/show_bug.cgi?id=22355
2625         Systematize code for replacing global constructors
2626
2627         Test: fast/workers/worker-replace-global-constructor.html
2628
2629         * bindings/js/JSDOMWindowBase.cpp:
2630         (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
2631         code for global constructor setters does.
2632         (setJSDOMWindowBaseAudio): Ditto.
2633         (setJSDOMWindowBaseImage): Ditto.
2634         (setJSDOMWindowBaseMessageChannel): Ditto.
2635         (setJSDOMWindowBaseOption): Ditto.
2636         (setJSDOMWindowBaseWorker): Ditto.
2637         (setJSDOMWindowBaseXMLHttpRequest): Ditto.
2638         (setJSDOMWindowBaseXSLTProcessor): Ditto.
2639         (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
2640
2641         * bindings/js/JSWorkerContext.cpp:
2642         (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
2643         as it is done for Window.
2644         (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
2645         constructors are.
2646         (WebCore::setJSWorkerContextWorkerLocation): Ditto.
2647
2648 2008-11-19  Alexey Proskuryakov  <ap@webkit.org>
2649
2650         Reviewed by Darin Adler.
2651
2652         https://bugs.webkit.org/show_bug.cgi?id=22341
2653         Text codecs should not use static data without locking
2654
2655         * platform/text/TextCodecICU.cpp:
2656         * platform/text/mac/TextCodecMac.cpp:
2657         Made cached converters per-thread.
2658
2659         * platform/text/TextEncodingRegistry.cpp:
2660         (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
2661         (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
2662         causes a deadlock due to a recursive call into registry.
2663         (WebCore::buildBaseTextCodecMaps): Added assertions.
2664         (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
2665         (WebCore::atomicCanonicalTextEncodingName): Ditto.
2666         (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
2667         necessary here.
2668
2669 2008-11-19  Alexey Proskuryakov  <ap@webkit.org>
2670
2671         Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
2672
2673         * WebCorePrefix.h:
2674
2675 2008-11-19  Alexey Proskuryakov  <ap@webkit.org>
2676
2677         Reviewed by Darin Adler.
2678
2679         https://bugs.webkit.org/show_bug.cgi?id=22310
2680         Worker exceptions should be printed to console
2681
2682         * dom/Document.cpp: (WebCore::Document::reportException):
2683         * dom/Document.h:
2684         * dom/ScriptExecutionContext.h:
2685         * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
2686         * dom/WorkerContext.h:
2687         Added a reportException() method on ScriptExecutionContext. It forwards the exception info
2688         up until it finds a Document context, and then it prints it to console.
2689
2690         * bindings/js/JSEventListener.cpp:
2691         (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
2692         ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
2693         could be called from workers.
2694         (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
2695
2696         * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
2697         Report exceptions to ScriptExecutionContext.
2698
2699         * dom/WorkerMessagingProxy.cpp:
2700         (WebCore::MessageWorkerTask::performTask):
2701         (WebCore::WorkerExceptionTask::create):
2702         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2703         (WebCore::WorkerExceptionTask::performTask):
2704         (WebCore::WorkerMessagingProxy::postWorkerException):
2705         * dom/WorkerMessagingProxy.h:
2706         Added a task for posting exception information.
2707
2708         * bindings/js/JSDOMBinding.cpp:
2709         (WebCore::reportException):
2710         (WebCore::reportCurrentException):
2711         * bindings/js/JSDOMBinding.h:
2712         Added helper methods for reporting exceptions via ScriptExecutionContext.
2713
2714         * page/Console.cpp:
2715         * page/Console.h:
2716         Removed methods for directly reporting exceptions to console.
2717
2718         * bindings/js/JSCustomPositionCallback.cpp:
2719         (WebCore::JSCustomPositionCallback::handleEvent):
2720         * bindings/js/JSCustomPositionErrorCallback.cpp:
2721         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2722         * bindings/js/JSCustomSQLStatementCallback.cpp:
2723         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2724         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2725         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2726         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2727         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2728         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2729         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2730         * bindings/js/JSCustomVoidCallback.cpp:
2731         (WebCore::JSCustomVoidCallback::handleEvent):
2732         * bindings/js/JSCustomXPathNSResolver.cpp:
2733         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2734         * bindings/js/ScheduledAction.cpp:
2735         (WebCore::ScheduledAction::execute):
2736         * bindings/js/ScriptController.cpp:
2737         (WebCore::ScriptController::evaluate):
2738         * bindings/objc/WebScriptObject.mm:
2739         (WebCore::addExceptionToConsole):
2740         Switch to JSDOMBinding methods for reporting exceptions.
2741
2742 2008-11-18  Dan Bernstein  <mitz@apple.com>
2743
2744         Reviewed by Mark Rowe.
2745
2746         - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
2747           <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
2748
2749         * platform/ContextMenuItem.h:
2750         (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
2751         the one in WebUIDelegate.h.
2752
2753 2008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
2754
2755         Reviewed by Darin Adler.
2756
2757         https://bugs.webkit.org/show_bug.cgi?id=22346
2758         PlatformString should also include HashSet.h for non-JSC builds
2759
2760         * platform/text/PlatformString.h:
2761
2762 2008-11-18  Adele Peterson  <adele@apple.com>
2763
2764         Reviewed by Holger Hans Peter Freyther.
2765
2766         Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
2767
2768         * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2769
2770 2008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
2771
2772         Reviewed by Sam Weinig.
2773
2774         https://bugs.webkit.org/show_bug.cgi?id=22343
2775         Remove unused runtime/Collector, JSLock includes in Page.cpp
2776
2777         * page/Page.cpp:
2778
2779 2008-11-18  Ada Chan  <adachan@apple.com>
2780
2781         Bug 22344: Make select popup window opaque
2782         https://bugs.webkit.org/show_bug.cgi?id=22344
2783
2784         Reviewed by Steve Falkenburg.
2785
2786         * platform/win/PopupMenuWin.cpp:
2787         (WebCore::PopupMenu::show):
2788
2789 2008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
2790
2791         Reviewed by Sam Weinig.
2792
2793         https://bugs.webkit.org/show_bug.cgi?id=22342
2794         Remove unused JSLock.h include
2795
2796         * dom/Document.cpp:
2797
2798 2008-11-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2799
2800         Reviewed by Sam Weinig.
2801
2802         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
2803
2804         Add WMLBRElement, correcting <br/> behaviour in WML.
2805         Enable entity replacment for WML documents.
2806         Handle WML specific <p> 'mode' attribute.
2807
2808         Generate layout tests results for fast/wml.
2809
2810         Tests cases that pass now:
2811         fast/wml/br-element-in-table.wml
2812         fast/wml/br-element-in-text.wml
2813         fast/wml/case-sensitivity.wml
2814         fast/wml/cdata-section.wml
2815         fast/wml/comment.wml
2816         fast/wml/entity.wml
2817         fast/wml/p-align.wml
2818         fast/wml/p-mode.wml
2819         fast/wml/text-emphasis.wml
2820         fast/wml/validate-dtd.wml
2821
2822         * GNUmakefile.am:
2823         * WebCore.pro:
2824         * WebCore.xcodeproj/project.pbxproj:
2825         * dom/XMLTokenizer.cpp:
2826         (WebCore::XMLTokenizer::isWMLDocument):
2827         (WebCore::XMLTokenizer::insertErrorMessageBlock):
2828         * dom/XMLTokenizer.h:
2829         * dom/XMLTokenizerLibxml2.cpp:
2830         (WebCore::XMLTokenizer::internalSubset):
2831         (WebCore::getEntityHandler):
2832         * dom/XMLTokenizerQt.cpp:
2833         (WebCore::XMLTokenizer::parse):
2834         * wml/WMLBRElement.cpp: Added.
2835         (WebCore::WMLBRElement::WMLBRElement):
2836         (WebCore::WMLBRElement::mapToEntry):
2837         (WebCore::WMLBRElement::parseMappedAttribute):
2838         (WebCore::WMLBRElement::createRenderer):
2839         * wml/WMLBRElement.h: Added.
2840         * wml/WMLPElement.cpp:
2841         (WebCore::WMLPElement::parseMappedAttribute):
2842         (WebCore::WMLPElement::insertedIntoDocument):
2843         * wml/WMLPElement.h:
2844         * wml/WMLTagNames.in:
2845
2846 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
2847
2848         Windows build fix.
2849
2850         * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
2851
2852 2008-11-18  Darin Adler  <darin@apple.com>
2853
2854         - try to fix Wx build
2855
2856         * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
2857
2858 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
2859
2860         Reviewed by Darin Adler.
2861
2862         https://bugs.webkit.org/show_bug.cgi?id=22337
2863         Enable workers by default
2864
2865         Tests: fast/workers/worker-constructor.html
2866                fast/workers/worker-event-listener.html
2867                fast/workers/worker-gc.html
2868                fast/workers/worker-location.html
2869
2870         * Configurations/WebCore.xcconfig:
2871         * WebCore.vcproj/WebCore.vcproj:
2872         * WebCore.vcproj/build-generated-files.sh:
2873         Define ENABLE_WORKERS.
2874
2875 2008-11-18  Darin Adler  <darin@apple.com>
2876
2877         Reviewed by Alexey Proskuryakov.
2878
2879         - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
2880           <rdar://problem/5516594> please add support for HTTP-only cookies
2881
2882         Test: http/tests/xmlhttprequest/get-dangerous-headers.html
2883
2884         No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
2885         require an updated CFNetwork.
2886
2887         * platform/mac/CookieJar.mm:
2888         (WebCore::isHTTPOnly): Added.
2889         (WebCore::filterCookies): Added.
2890         (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2891         (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
2892
2893         * platform/network/win/CookieJarCFNetWin.cpp:
2894         (WebCore::isHTTPOnly): Added.
2895         (WebCore::filterCookies): Added.
2896         (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
2897         (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2898
2899         * xml/XMLHttpRequest.cpp:
2900         (WebCore::isSetCookieHeader): Added.
2901         (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
2902         clients that don't have local-resource privileges.
2903         (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
2904
2905         - clean soup-specific details out of shared cookie jar header
2906
2907         * platform/CookieJar.h: Removed the soup-specific parts of this.
2908         * platform/network/soup/CookieJarSoup.cpp: Changed to include
2909         CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
2910         * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
2911         part of CookieJar.h.
2912         * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
2913         CookieJarSoup.h.
2914
2915 2008-11-18  Steve Falkenburg  <sfalken@apple.com>
2916
2917         https://bugs.webkit.org/show_bug.cgi?id=22329
2918         Improper bitwise and tests against 0 in Windows context menu code
2919
2920         Reviewed by John Sullivan.
2921
2922         * platform/win/ContextMenuItemWin.cpp:
2923         (WebCore::ContextMenuItem::type):
2924         (WebCore::ContextMenuItem::enabled):
2925
2926 2008-11-18  John Sullivan  <sullivan@apple.com>
2927
2928         Yet more Mac build fixing
2929
2930         * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
2931
2932 2008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
2933
2934         Reviewed by Simon Hausmann.
2935
2936         React properly to frame rect changes for QWidget based plugins
2937
2938         We now set the geometry of the QWidget in frameRectsChanged,
2939         intead of setFrameRect, which means we pick up the changes to
2940         the frame rect when scrolling. We also set a mask on the
2941         widget to keep it from painting over scrollbars and the like
2942
2943         * platform/qt/WidgetQt.cpp:
2944         (WebCore::Widget::setFrameRect):
2945
2946 2008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
2947
2948         Rubber-stamped by Simon Hausmann.
2949
2950         Don't mark scrollbars as focused in QtWebKit
2951
2952         When initing from the widget we also got the focus state,
2953         but this does not make sense for scrollbars.
2954
2955         * platform/qt/ScrollbarThemeQt.cpp:
2956         (WebCore::styleOptionSlider):
2957
2958 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
2959
2960         More Mac build fixing.
2961
2962         * WebCore.base.exp: Export FrameLoaderClient destructor.
2963
2964 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
2965
2966         Mac build fix.
2967
2968         * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
2969
2970 2008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2971
2972         Reviewed by Simon Hausmann.
2973
2974         https://bugs.webkit.org/show_bug.cgi?id=22056
2975
2976         Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
2977
2978         After Hyatt's work on Widget and ScrollView there is little difference
2979         between the implementation of Qt, Gtk+ and Win. In fact any kind of
2980         difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
2981         port and the Qt port has at least one of them left.
2982
2983         The only difference between the implementations is in getting the the
2984         IntSize for the new FrameView, the background color to be applied and
2985         eventually some post processing.
2986
2987         Unify the implementations by providing a static helper function that
2988         takes a Frame, IntSize, color and transparency bit and calling it from
2989         the Gtk+, the Qt and the Windows port.
2990
2991         * GNUmakefile.am:
2992         * WebCore.pro:
2993         * WebCore.vcproj/WebCore.vcproj:
2994         * loader/FrameLoaderClient.cpp: Added.
2995         (WebCore::FrameLoaderClient::~FrameLoaderClient):
2996         (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2997         * loader/FrameLoaderClient.h:
2998
2999 2008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
3000
3001         Reviewed by Simon Hausmann.
3002
3003         https://bugs.webkit.org/show_bug.cgi?id=22056
3004
3005         Move setting the background color and transparency from WebKit/win
3006         to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
3007         to share this code.
3008
3009         * page/FrameView.cpp:
3010         (WebCore::FrameView::updateBackgroundRecursively):
3011         * page/FrameView.h:
3012
3013 2008-11-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3014
3015         Reviewed by Tor Arne Vestbø.
3016
3017         Fix the bug where select elements are painted without border.
3018         http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
3019
3020         * platform/qt/RenderThemeQt.cpp:
3021         (WebCore::RenderThemeQt::paintMenuList):
3022
3023 2008-11-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
3024
3025         Gtk build fix. Not reviewed.
3026
3027         * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
3028         not in wml/.
3029
3030 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
3031
3032         Reviewed by Darin Adler.
3033
3034         https://bugs.webkit.org/show_bug.cgi?id=22308
3035         Improve Worker GC behavior
3036
3037         * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
3038         * dom/ActiveDOMObject.h:
3039         Made hasPendingActivity() virtual, letting Worker add behavior to it.
3040
3041         * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
3042         * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
3043         Tell message proxy whether there are active objects in the worker whenever JS execution
3044         finishes.
3045
3046         * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
3047         Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
3048
3049         * dom/Worker.h:
3050         * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
3051         loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
3052
3053         * dom/WorkerContext.h:
3054         * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
3055         active objects for pending activity.
3056
3057         * dom/WorkerMessagingProxy.cpp:
3058         (WebCore::MessageWorkerContextTask::performTask):
3059         (WebCore::WorkerThreadActivityReportTask::create):
3060         (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
3061         (WebCore::WorkerThreadActivityReportTask::performTask):
3062         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3063         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
3064         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3065         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
3066         (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
3067         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
3068         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
3069         (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
3070         * dom/WorkerMessagingProxy.h:
3071         Track outstanding messages, and activity reported by worker thread.
3072
3073 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
3074
3075         Rubber-stamped by Darin Adler.
3076
3077         https://bugs.webkit.org/show_bug.cgi?id=22306
3078         Disable channel messaging support
3079
3080         * bindings/js/JSDOMWindowBase.cpp:
3081         (jsDOMWindowBaseMessageChannel):
3082         * page/DOMWindow.idl:
3083         Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
3084         constructor is added, it remains enumerable, but undefined.
3085
3086 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3087
3088         Reviewed by Mark Rowe.
3089
3090         Remove WBXML code. MainResourceLoader is not an appropriate location.
3091         Revert until we find a better place.
3092
3093         The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
3094         Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
3095
3096         * WebCore.pro:
3097         * dom/DOMImplementation.cpp:
3098         (WebCore::DOMImplementation::createDocument):
3099         * loader/MainResourceLoader.cpp:
3100         (WebCore::MainResourceLoader::addData):
3101         * platform/MIMETypeRegistry.cpp:
3102         (WebCore::initializeSupportedNonImageMimeTypes):
3103
3104 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3105
3106         Not reviewed. Build fix.
3107
3108         Oops, disable WML by default on Qt.
3109
3110         * WebCore.pro:
3111
3112 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3113
3114         Reviewed by George Staikos.
3115
3116         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
3117
3118         Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
3119         Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
3120
3121         WML is not build by default.
3122
3123         * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
3124         * GNUmakefile.am: Add new files and generator hooks.
3125         * WebCore.pro: Ditto.
3126         * WebCore.xcodeproj/project.pbxproj: Ditto.
3127         * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
3128         (WebCore::linkAttribute):
3129         (WebCore::CSSStyleSelector::styleForElement):c
3130         * css/wml.css: Added.
3131         * dom/DOMImplementation.cpp: Handle WMLDocument creation
3132         (WebCore::DOMImplementation::createDocument):
3133         * dom/Document.cpp: Handle WMLElement creation.
3134         (WebCore::Document::createElement):
3135         * dom/Document.h: Add helper function identifying WML documents.
3136         (WebCore::Document::isWMLDocument):
3137         * dom/Node.h: Add heper function identifying WML elements.
3138         (WebCore::Node::isWMLElement):
3139         * dom/XMLTokenizer.cpp: Handle errors in WML documents
3140         (WebCore::XMLTokenizer::insertErrorMessageBlock):
3141         * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
3142         (WebCore::XMLTokenizer::internalSubset):
3143         * dom/XMLTokenizerQt.cpp: Ditto.
3144         (WebCore::):
3145         * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
3146         * history/BackForwardList.cpp: Add WML specific function for clearing the history.
3147         (WebCore::BackForwardList::clearWmlPageHistory):
3148         * history/BackForwardList.h:
3149         * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
3150         (WebCore::FrameLoader::FrameLoader):
3151         (WebCore::FrameLoader::setForceReloadWmlDeck):
3152         (WebCore::FrameLoader::shouldReload):
3153         (WebCore::FrameLoader::loadItem):
3154         * loader/FrameLoader.h:
3155         * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
3156         (WebCore::MainResourceLoader::addData):
3157         * page/Frame.cpp: Initialize WMLNames.
3158         (WebCore::Frame::Frame):
3159         * page/Page.cpp: Maintain WMLPageState object per Page.
3160         (WebCore::Page::Page):
3161         (WebCore::Page::setWMLPageState):
3162         (WebCore::Page::wmlPageState):
3163         * page/Page.h:
3164         * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
3165         (WebCore::initializeSupportedNonImageMimeTypes):
3166         * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
3167         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3168         * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
3169         (WebCore::):
3170         * platform/win/MIMETypeRegistryWin.cpp: Ditto.
3171         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3172         * manual-tests/wml: Added.
3173         * manual-tests/wml/a-br-element.wml: Added.
3174         * manual-tests/wml/a-element.wml: Added.
3175         * manual-tests/wml/a-img-element.wml: Added.
3176         * manual-tests/wml/access-target.wml: Added.
3177         * manual-tests/wml/anchor-br-element.wml: Added.
3178         * manual-tests/wml/anchor-element.wml: Added.
3179         * manual-tests/wml/anchor-img-element.wml: Added.
3180         * manual-tests/wml/card-newcontext-attr.wml: Added.
3181         * manual-tests/wml/card-onenterbackward.wml: Added.
3182         * manual-tests/wml/card-onenterforward.wml: Added.
3183         * manual-tests/wml/card-ontimer.wml: Added.
3184         * manual-tests/wml/deck-access-control.wml: Added.
3185         * manual-tests/wml/go-element.wml: Added.
3186         * manual-tests/wml/input-emptyok.wml: Added.
3187         * manual-tests/wml/input-format.wml: Added.
3188         * manual-tests/wml/onevent-go.wml: Added.
3189         * manual-tests/wml/onevent-noop.wml: Added.
3190         * manual-tests/wml/onevent-prev.wml: Added.
3191         * manual-tests/wml/onevent-refresh.wml: Added.
3192         * manual-tests/wml/onevent-shadow.wml: Added.
3193         * manual-tests/wml/postfield-get.wml: Added.
3194         * manual-tests/wml/postfield-post.wml: Added.
3195         * manual-tests/wml/select-element.wml: Added.
3196         * manual-tests/wml/select-onpick-event.wml: Added.
3197         * manual-tests/wml/setvar-element.wml: Added.
3198         * manual-tests/wml/targetdeck.wml: Added.
3199         * manual-tests/wml/task-go-in-anchor.wml: Added.
3200         * manual-tests/wml/task-noop-in-do.wml: Added.
3201         * manual-tests/wml/task-noop-in-onevent.wml: Added.
3202         * manual-tests/wml/task-prev-in-anchor.wml: Added.
3203         * manual-tests/wml/task-refresh-in-anchor.wml: Added.
3204         * manual-tests/wml/template-go.wml: Added.
3205         * manual-tests/wml/template-onevent.wml: Added.
3206         * manual-tests/wml/template-ontimer.wml: Added.
3207         * manual-tests/wml/timer.wml: Added.
3208         * manual-tests/wml/variable-substitution.wml: Added.
3209         * wml: Added.
3210         * wml/WMLAElement.cpp: Added.
3211         (WebCore::WMLAElement::WMLAElement):
3212         (WebCore::WMLAElement::parseMappedAttribute):
3213         (WebCore::WMLAElement::supportsFocus):
3214         (WebCore::WMLAElement::isFocusable):
3215         (WebCore::WMLAElement::isMouseFocusable):
3216         (WebCore::WMLAElement::isKeyboardFocusable):
3217         (WebCore::WMLAElement::defaultEventHandler):
3218         (WebCore::WMLAElement::accessKeyAction):
3219         (WebCore::WMLAElement::isURLAttribute):
3220         (WebCore::WMLAElement::target):
3221         * wml/WMLAElement.h: Added.
3222         * wml/WMLAttributeNames.in: Added.
3223         * wml/WMLCardElement.cpp: Added.
3224         (WebCore::WMLCardElement::WMLCardElement):
3225         * wml/WMLCardElement.h: Added.
3226         * wml/WMLDocument.cpp: Added.
3227         (WebCore::WMLDocument::WMLDocument):
3228         (WebCore::WMLDocument::~WMLDocument):
3229         * wml/WMLDocument.h: Added.
3230         (WebCore::WMLDocument::create):
3231         (WebCore::WMLDocument::isWMLDocument):
3232         * wml/WMLElement.cpp: Added.
3233         (WebCore::WMLElement::WMLElement):
3234         (WebCore::WMLElement::mapToEntry):
3235         (WebCore::WMLElement::parseMappedAttribute):
3236         (WebCore::WMLElement::rendererIsNeeded):
3237         (WebCore::WMLElement::createRenderer):
3238         * wml/WMLElement.h: Added.
3239         (WebCore::WMLElement::isWMLElement):
3240         * wml/WMLPElement.cpp: Added.
3241         (WebCore::WMLPElement::WMLPElement):
3242         (WebCore::WMLPElement::mapToEntry):
3243         (WebCore::WMLPElement::parseMappedAttribute):
3244         * wml/WMLPElement.h: Added.
3245         * wml/WMLPageState.cpp: Added.
3246         (WebCore::WMLPageState::WMLPageState):
3247         (WebCore::WMLPageState::~WMLPageState):
3248         (WebCore::WMLPageState::reset):
3249         (WebCore::WMLPageState::setNeedCheckDeckAccess):
3250         (WebCore::WMLPageState::isDeckAccessible):
3251         * wml/WMLPageState.h: Added.
3252         (WebCore::WMLPageState::storeVariable):
3253         (WebCore::WMLPageState::storeVariables):
3254         (WebCore::WMLPageState::getVaribale):
3255         (WebCore::WMLPageState::hasVariables):
3256         (WebCore::WMLPageState::historyLength):
3257         (WebCore::WMLPageState::setHistoryLength):
3258         (WebCore::WMLPageState::page):
3259         (WebCore::WMLPageState::activeCard):
3260         (WebCore::WMLPageState::setActiveCard):
3261         (WebCore::WMLPageState::setDeckAccessDomain):
3262         (WebCore::WMLPageState::setDeckAccessPath):
3263         (WebCore::WMLPageState::hasDeckAccess):
3264         * wml/WMLTagNames.in: Added.
3265
3266 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3267
3268         Reviewed by Sam Weinig.
3269         
3270         Updated for JavaScriptCore renames.
3271
3272         * WebCore.pro:
3273         * webcore-base.bkl:
3274
3275 2008-11-17  Justin Garcia  <justin.garcia@apple.com>
3276
3277         Reviewed by Beth Dakin.
3278
3279         <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
3280         
3281         There was code to intentionally avoid quoting pasted content if less than a paragraph of 
3282         it was copied.  That was added for <rdar://problem/5006779>, but was unnecessary because
3283         that bug was about Paste and Match style for single paragraphs.  And quote stripping for
3284         Paste and Match style is handled elsewhere.
3285
3286         * editing/markup.cpp:
3287         (WebCore::createMarkup):
3288
3289 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3290
3291         Reviewed by Sam Weinig.
3292         
3293         Updated for JavaScriptCore rename.
3294
3295         * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
3296         * ForwardingHeaders/runtime/ExecState.h: Removed.
3297         * bindings/objc/WebScriptObject.mm:
3298         * bridge/c/c_instance.cpp:
3299         * bridge/jni/jni_jsobject.mm:
3300         * dom/Node.cpp:
3301         * dom/NodeFilter.cpp:
3302         * dom/NodeIterator.cpp:
3303         * dom/TreeWalker.cpp:
3304         * inspector/JavaScriptCallFrame.h:
3305
3306 2008-11-17  Pierre-Olivier Latour  <pol@apple.com>
3307
3308         Reviewed by Sam Weinig.
3309
3310         Added functionality to AnimationController to allow pausing a running
3311         animation or transition at a given time for testing purposes.
3312
3313         https://bugs.webkit.org/show_bug.cgi?id=21261
3314
3315         Tests: animations/animation-drt-api.html
3316                transitions/transition-drt-api.html
3317
3318         * WebCore.base.exp:
3319         * WebCore.xcodeproj/project.pbxproj:
3320         * page/animation/AnimationBase.cpp:
3321         (WebCore::AnimationBase::updateStateMachine):
3322         (WebCore::AnimationBase::progress):
3323         (WebCore::AnimationBase::pauseAtTime):
3324         * page/animation/AnimationBase.h:
3325         * page/animation/AnimationController.cpp:
3326         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3327         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3328         (WebCore::AnimationController::pauseAnimationAtTime):
3329         (WebCore::AnimationController::pauseTransitionAtTime):
3330         * page/animation/AnimationController.h:
3331         * page/animation/CompositeAnimation.cpp:
3332         (WebCore::CompositeAnimationPrivate::isAnimating):
3333         (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
3334         (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
3335         (WebCore::CompositeAnimation::pauseAnimationAtTime):
3336         (WebCore::CompositeAnimation::pauseTransitionAtTime):
3337         * page/animation/CompositeAnimation.h:
3338         * page/animation/ImplicitAnimation.cpp:
3339         (WebCore::ImplicitAnimation::animate):
3340
3341 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3342
3343         Reviewed by Sam Weinig.
3344         
3345         Updated for JavaScriptCore renames.
3346
3347         * ForwardingHeaders/VM: Removed.
3348         * ForwardingHeaders/VM/Machine.h: Removed.
3349         * ForwardingHeaders/interpreter: Added.
3350         * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
3351         * WebCore.pro:
3352         * bindings/js/JSXMLHttpRequestCustom.cpp:
3353         * page/Console.cpp:
3354         * webcore-base.bkl:
3355
3356 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3357
3358         Reviewed by Sam Weinig.
3359
3360         Updated for JavaScriptCore renames.
3361
3362         * ForwardingHeaders/runtime/Interpreter.h: Removed.
3363         * WebCore.vcproj/WebCore.vcproj:
3364         * bindings/js/JSDOMBinding.h:
3365         * bindings/js/WorkerScriptController.cpp:
3366         * bindings/objc/WebScriptObject.mm:
3367         * bridge/NP_jsobject.cpp:
3368         * bridge/jni/jni_jsobject.mm:
3369         * html/CanvasRenderingContext2D.cpp:
3370         * inspector/JavaScriptCallFrame.cpp:
3371         * page/Console.cpp:
3372
3373 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3374
3375         Not reviewed.
3376
3377         Try to fix wx build.
3378
3379         * webcore-base.bkl:
3380
3381 2008-11-17  Greg Bolsinga  <bolsinga@apple.com>
3382
3383         Reviewed by Darin Adler.
3384
3385         https://bugs.webkit.org/show_bug.cgi?id=21810
3386         Remove use of static C++ objects that are destroyed at exit time (destructors)
3387
3388         Find some missing DEFINE_STATIC_LOCAL use cases.
3389         
3390         * bindings/js/JSSVGPODTypeWrapper.h:
3391         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3392         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3393         * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
3394         * page/AccessibilityRenderObject.cpp:
3395         (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
3396         * platform/graphics/FontCache.cpp:
3397         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3398         (WebCore::FontDataCacheKeyTraits::emptyValue):
3399         * rendering/style/RenderStyle.h:
3400         (WebCore::InheritedFlags::initialTransform):
3401
3402 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
3403
3404         Not reviewed.
3405
3406         Try to fix Qt build.
3407
3408         * WebCore.pro:
3409
3410 2008-11-16  Simon Fraser  <simon.fraser@apple.com>
3411
3412         Reviewed by Dan Bernstein
3413
3414         https://bugs.webkit.org/show_bug.cgi?id=22118
3415         
3416         Fix resize corner tracking in transformed elements by using 
3417         mapping the point into local coords using absoluteToLocal,
3418         rather than convertToLayerCoords.
3419         
3420         Test: fast/css/resize-corner-tracking-transformed.html
3421
3422         * page/EventHandler.h:
3423         * rendering/RenderLayer.cpp:
3424         (WebCore::RenderLayer::absoluteToContents):
3425         (WebCore::RenderLayer::offsetFromResizeCorner):
3426         (WebCore::RenderLayer::isPointInResizeControl):
3427         * rendering/RenderLayer.h:
3428
3429 2008-11-16  Geoffrey Garen  <ggaren@apple.com>
3430
3431         Not reviewed.
3432
3433         Try to fix Qt build.
3434
3435         * WebCore.pro:
3436
3437 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
3438
3439         Reviewed by Geoffrey Garen.
3440
3441         Use RefPtr and PassRefPtr where appropriate.
3442
3443         * loader/FTPDirectoryDocument.cpp:
3444         (WebCore::createTemplateDocumentData):
3445
3446 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
3447
3448         Fix build break for real.
3449
3450         * loader/FTPDirectoryDocument.cpp:
3451         (WebCore::createTemplateDocumentData):
3452
3453 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
3454
3455         Fix build break and bug.
3456
3457         * loader/FTPDirectoryDocument.cpp:
3458         (WebCore::createTemplateDocumentData):
3459
3460 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
3461
3462         Reviewed by Darin Adler.
3463
3464         https://bugs.webkit.org/show_bug.cgi?id=21810
3465         Remove use of static C++ objects that are destroyed at exit time (destructors)
3466
3467         Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
3468         uses of DEFINE_STATIC_LOCAL where appropriate.
3469
3470         * html/HTMLTableElement.cpp:
3471         (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
3472         * loader/CachedImage.cpp:
3473         (WebCore::brokenImage):
3474         (WebCore::nullImage):
3475         * loader/FTPDirectoryDocument.cpp:
3476         (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
3477         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
3478         * loader/icon/IconDatabase.cpp:
3479         (WebCore::loadDefaultIconRecord):
3480         * page/AccessibilityObject.cpp:
3481         (WebCore::AccessibilityObject::actionVerb):
3482         * page/AccessibilityRenderObject.cpp:
3483         (WebCore::AccessibilityRenderObject::actionVerb):
3484         * page/mac/EventHandlerMac.mm:
3485         (WebCore::currentEvent):
3486         * platform/ScrollView.cpp:
3487         (WebCore::ScrollView::paint):
3488         * platform/graphics/Image.cpp:
3489         (WebCore::Image::nullImage):
3490         * platform/graphics/mac/ColorMac.mm:
3491         (WebCore::nsColor):
3492         * platform/graphics/mac/FontCacheMac.mm: new the Strings
3493         (WebCore::FontCache::getSimilarFontPlatformData):
3494         * platform/graphics/mac/GraphicsContextMac.mm:
3495         (WebCore::_createPatternColor): Created so accessor has one line initialization
3496         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3497         * platform/graphics/mac/SimpleFontDataMac.mm:
3498         (WebCore::webFallbackFontFamily):
3499         * platform/mac/PasteboardMac.mm:
3500         (WebCore::writableTypesForURL):
3501         (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
3502         (WebCore::writableTypesForImage):
3503         (WebCore::stripAttachmentCharacters):
3504         * rendering/RenderLayer.cpp:
3505         (WebCore::RenderLayer::paintResizer):
3506
3507 2008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
3508
3509         Reviewed by Darin Adler.
3510
3511         Do not spit Curl errors into the stdout as this is used by DRT
3512
3513         We have failing tests results due the curl errors printed to stdout,
3514         move them to stderr to be able to pass those tests.
3515
3516         * platform/network/curl/ResourceHandleManager.cpp:
3517         (WebCore::ResourceHandleManager::startJob):
3518
3519 2008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
3520
3521         - fix the Gtk+ build
3522
3523         * GNUmakefile.am:
3524
3525 2008-11-16  Darin Adler  <darin@apple.com>
3526
3527         - try to fix Qt build
3528
3529         * WebCore.pro: Add the worker-related source files.
3530
3531 2008-11-16  Darin Adler  <darin@apple.com>
3532
3533         Suggested by Alexey Proskuryakov.
3534
3535         - fix the GTK build another way
3536
3537         * GNUmakefile.am: Add the worker-related source files.
3538         * bindings/js/JSEventTarget.cpp: Take the #if back out.
3539
3540 2008-11-16  Darin Adler  <darin@apple.com>
3541
3542         - try to fix GTK build
3543
3544         * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
3545
3546 2008-11-16  Darin Adler  <darin@apple.com>
3547
3548         Reviewed by Dan Bernstein.
3549
3550         - https://bugs.webkit.org/show_bug.cgi?id=22295
3551           track which history items are from page load failures
3552
3553         * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
3554         no-longer-needed ones.
3555         (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
3556         (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
3557         String, since that's not efficient.
3558
3559         * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
3560         setLastVisitWasFailure, and m_lastVisitWasFailure.
3561
3562         * history/mac/HistoryItemMac.mm: Add newly-needed include
3563         (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
3564         m_transientProperties map around when it is empty.
3565
3566         * loader/FrameLoader.cpp:
3567         (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
3568         the page was unreachable or an HTTP page with a status code that indicates
3569         failure.
3570
3571 2008-11-16  Yong Li  <yong.li@torchmobile.com>
3572
3573         Reviewed by Timothy Hatcher.
3574         Landed by George Staikos.
3575
3576         Optimization: don't relayout, repaint, or emit a DOM event if the
3577         scroll event didn't scroll anywhere.
3578
3579         * rendering/RenderLayer.cpp:
3580         (WebCore::RenderLayer::scrollToOffset): add early exit
3581
3582 2008-11-16  Alexey Proskuryakov  <ap@webkit.org>
3583
3584         Reviewed by Dan Bernstein.
3585
3586         https://bugs.webkit.org/show_bug.cgi?id=22290
3587         Remove cross-heap GC and MessagePort multi-threading support
3588
3589         It is broken (and may not be implementable at all), and no longer needed, as we
3590         don't use MessagePorts for communication with workers any more.
3591
3592         * bindings/js/JSDOMBinding.cpp:
3593         * bindings/js/JSDOMBinding.h:
3594         * bindings/js/JSDOMWindowBase.cpp:
3595         * bindings/js/JSDOMWindowBase.h:
3596         Removed cross-heap GC implementation.
3597
3598         * dom/MessagePort.cpp:
3599         (WebCore::MessagePort::hasPendingActivity):
3600         * dom/MessagePort.h:
3601         Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
3602         unnecessarily complicated for single threaded case.
3603
3604 2008-11-14  Alexey Proskuryakov  <ap@webkit.org>
3605
3606         Reviewed by Maciej Stachowiak.
3607
3608         https://bugs.webkit.org/show_bug.cgi?id=22266
3609         Stop using MessagePort for communication with workers
3610
3611         The current MessagePort specification is not well suited for being implemented in a
3612         multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
3613         This patch implements a simpler Mozilla API for workers instead.
3614
3615         * WebCore.xcodeproj/project.pbxproj:
3616         * DerivedSources.make:
3617         * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
3618         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
3619         * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
3620         * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
3621         * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
3622         * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
3623         * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
3624         * dom/DedicatedWorker.cpp: Removed.
3625         * dom/DedicatedWorker.h: Removed.
3626         * dom/DedicatedWorker.idl: Removed.
3627         Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
3628
3629