2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
2
3         Reviewed by Sam Weinig.
4
5         https://bugs.webkit.org/show_bug.cgi?id=22343
6         Remove unused runtime/Collector, JSLock includes in Page.cpp
7
8         * page/Page.cpp:
9
10 2008-11-18  Ada Chan  <adachan@apple.com>
11
12         Bug 22344: Make select popup window opaque
13         https://bugs.webkit.org/show_bug.cgi?id=22344
14
15         Reviewed by Steve Falkenburg.
16
17         * platform/win/PopupMenuWin.cpp:
18         (WebCore::PopupMenu::show):
19
20 2008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
21
22         Reviewed by Sam Weinig.
23
24         https://bugs.webkit.org/show_bug.cgi?id=22342
25         Remove unused JSLock.h include
26
27         * dom/Document.cpp:
28
29 2008-11-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
30
31         Reviewed by Sam Weinig.
32
33         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
34
35         Add WMLBRElement, correcting <br/> behaviour in WML.
36         Enable entity replacment for WML documents.
37         Handle WML specific <p> 'mode' attribute.
38
39         Generate layout tests results for fast/wml.
40
41         Tests cases that pass now:
42         fast/wml/br-element-in-table.wml
43         fast/wml/br-element-in-text.wml
44         fast/wml/case-sensitivity.wml
45         fast/wml/cdata-section.wml
46         fast/wml/comment.wml
47         fast/wml/entity.wml
48         fast/wml/p-align.wml
49         fast/wml/p-mode.wml
50         fast/wml/text-emphasis.wml
51         fast/wml/validate-dtd.wml
52
53         * GNUmakefile.am:
54         * WebCore.pro:
55         * WebCore.xcodeproj/project.pbxproj:
56         * dom/XMLTokenizer.cpp:
57         (WebCore::XMLTokenizer::isWMLDocument):
58         (WebCore::XMLTokenizer::insertErrorMessageBlock):
59         * dom/XMLTokenizer.h:
60         * dom/XMLTokenizerLibxml2.cpp:
61         (WebCore::XMLTokenizer::internalSubset):
62         (WebCore::getEntityHandler):
63         * dom/XMLTokenizerQt.cpp:
64         (WebCore::XMLTokenizer::parse):
65         * wml/WMLBRElement.cpp: Added.
66         (WebCore::WMLBRElement::WMLBRElement):
67         (WebCore::WMLBRElement::mapToEntry):
68         (WebCore::WMLBRElement::parseMappedAttribute):
69         (WebCore::WMLBRElement::createRenderer):
70         * wml/WMLBRElement.h: Added.
71         * wml/WMLPElement.cpp:
72         (WebCore::WMLPElement::parseMappedAttribute):
73         (WebCore::WMLPElement::insertedIntoDocument):
74         * wml/WMLPElement.h:
75         * wml/WMLTagNames.in:
76
77 2008-11-18  Aaron Boodman  aa@chromium.org
78
79         Reviewed by Maciej Stachowiak.
80
81         https://bugs.webkit.org/show_bug.cgi?id=22301
82         Always call dispatchDidFinishDocumentLoad before Window's onload event.
83
84         * loader/FrameLoader.cpp:
85         (WebCore::FrameLoader::finishedParsing):
86
87 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
88
89         Windows build fix.
90
91         * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
92
93 2008-11-18  Darin Adler  <darin@apple.com>
94
95         - try to fix Wx build
96
97         * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
98
99 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
100
101         Reviewed by Darin Adler.
102
103         https://bugs.webkit.org/show_bug.cgi?id=22337
104         Enable workers by default
105
106         Tests: fast/workers/worker-constructor.html
107                fast/workers/worker-event-listener.html
108                fast/workers/worker-gc.html
109                fast/workers/worker-location.html
110
111         * Configurations/WebCore.xcconfig:
112         * WebCore.vcproj/WebCore.vcproj:
113         * WebCore.vcproj/build-generated-files.sh:
114         Define ENABLE_WORKERS.
115
116 2008-11-18  Darin Adler  <darin@apple.com>
117
118         Reviewed by Alexey Proskuryakov.
119
120         - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
121           <rdar://problem/5516594> please add support for HTTP-only cookies
122
123         Test: http/tests/xmlhttprequest/get-dangerous-headers.html
124
125         No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
126         require an updated CFNetwork.
127
128         * platform/mac/CookieJar.mm:
129         (WebCore::isHTTPOnly): Added.
130         (WebCore::filterCookies): Added.
131         (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
132         (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
133
134         * platform/network/win/CookieJarCFNetWin.cpp:
135         (WebCore::isHTTPOnly): Added.
136         (WebCore::filterCookies): Added.
137         (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
138         (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
139
140         * xml/XMLHttpRequest.cpp:
141         (WebCore::isSetCookieHeader): Added.
142         (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
143         clients that don't have local-resource privileges.
144         (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
145
146         - clean soup-specific details out of shared cookie jar header
147
148         * platform/CookieJar.h: Removed the soup-specific parts of this.
149         * platform/network/soup/CookieJarSoup.cpp: Changed to include
150         CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
151         * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
152         part of CookieJar.h.
153         * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
154         CookieJarSoup.h.
155
156 2008-11-18  Steve Falkenburg  <sfalken@apple.com>
157
158         https://bugs.webkit.org/show_bug.cgi?id=22329
159         Improper bitwise and tests against 0 in Windows context menu code
160
161         Reviewed by John Sullivan.
162
163         * platform/win/ContextMenuItemWin.cpp:
164         (WebCore::ContextMenuItem::type):
165         (WebCore::ContextMenuItem::enabled):
166
167 2008-11-18  John Sullivan  <sullivan@apple.com>
168
169         Yet more Mac build fixing
170
171         * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
172
173 2008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
174
175         Reviewed by Simon Hausmann.
176
177         React properly to frame rect changes for QWidget based plugins
178
179         We now set the geometry of the QWidget in frameRectsChanged,
180         intead of setFrameRect, which means we pick up the changes to
181         the frame rect when scrolling. We also set a mask on the
182         widget to keep it from painting over scrollbars and the like
183
184         * platform/qt/WidgetQt.cpp:
185         (WebCore::Widget::setFrameRect):
186
187 2008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
188
189         Rubber-stamped by Simon Hausmann.
190
191         Don't mark scrollbars as focused in QtWebKit
192
193         When initing from the widget we also got the focus state,
194         but this does not make sense for scrollbars.
195
196         * platform/qt/ScrollbarThemeQt.cpp:
197         (WebCore::styleOptionSlider):
198
199 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
200
201         More Mac build fixing.
202
203         * WebCore.base.exp: Export FrameLoaderClient destructor.
204
205 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
206
207         Mac build fix.
208
209         * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
210
211 2008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
212
213         Reviewed by Simon Hausmann.
214
215         https://bugs.webkit.org/show_bug.cgi?id=22056
216
217         Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
218
219         After Hyatt's work on Widget and ScrollView there is little difference
220         between the implementation of Qt, Gtk+ and Win. In fact any kind of
221         difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
222         port and the Qt port has at least one of them left.
223
224         The only difference between the implementations is in getting the the
225         IntSize for the new FrameView, the background color to be applied and
226         eventually some post processing.
227
228         Unify the implementations by providing a static helper function that
229         takes a Frame, IntSize, color and transparency bit and calling it from
230         the Gtk+, the Qt and the Windows port.
231
232         * GNUmakefile.am:
233         * WebCore.pro:
234         * WebCore.vcproj/WebCore.vcproj:
235         * loader/FrameLoaderClient.cpp: Added.
236         (WebCore::FrameLoaderClient::~FrameLoaderClient):
237         (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
238         * loader/FrameLoaderClient.h:
239
240 2008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
241
242         Reviewed by Simon Hausmann.
243
244         https://bugs.webkit.org/show_bug.cgi?id=22056
245
246         Move setting the background color and transparency from WebKit/win
247         to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
248         to share this code.
249
250         * page/FrameView.cpp:
251         (WebCore::FrameView::updateBackgroundRecursively):
252         * page/FrameView.h:
253
254 2008-11-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
255
256         Reviewed by Tor Arne Vestbø.
257
258         Fix the bug where select elements are painted without border.
259         http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
260
261         * platform/qt/RenderThemeQt.cpp:
262         (WebCore::RenderThemeQt::paintMenuList):
263
264 2008-11-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
265
266         Gtk build fix. Not reviewed.
267
268         * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
269         not in wml/.
270
271 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
272
273         Reviewed by Darin Adler.
274
275         https://bugs.webkit.org/show_bug.cgi?id=22308
276         Improve Worker GC behavior
277
278         * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
279         * dom/ActiveDOMObject.h:
280         Made hasPendingActivity() virtual, letting Worker add behavior to it.
281
282         * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
283         * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
284         Tell message proxy whether there are active objects in the worker whenever JS execution
285         finishes.
286
287         * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
288         Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
289
290         * dom/Worker.h:
291         * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
292         loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
293
294         * dom/WorkerContext.h:
295         * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
296         active objects for pending activity.
297
298         * dom/WorkerMessagingProxy.cpp:
299         (WebCore::MessageWorkerContextTask::performTask):
300         (WebCore::WorkerThreadActivityReportTask::create):
301         (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
302         (WebCore::WorkerThreadActivityReportTask::performTask):
303         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
304         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
305         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
306         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
307         (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
308         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
309         (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
310         (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
311         * dom/WorkerMessagingProxy.h:
312         Track outstanding messages, and activity reported by worker thread.
313
314 2008-11-18  Alexey Proskuryakov  <ap@webkit.org>
315
316         Rubber-stamped by Darin Adler.
317
318         https://bugs.webkit.org/show_bug.cgi?id=22306
319         Disable channel messaging support
320
321         * bindings/js/JSDOMWindowBase.cpp:
322         (jsDOMWindowBaseMessageChannel):
323         * page/DOMWindow.idl:
324         Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
325         constructor is added, it remains enumerable, but undefined.
326
327 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
328
329         Reviewed by Mark Rowe.
330
331         Remove WBXML code. MainResourceLoader is not an appropriate location.
332         Revert until we find a better place.
333
334         The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
335         Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
336
337         * WebCore.pro:
338         * dom/DOMImplementation.cpp:
339         (WebCore::DOMImplementation::createDocument):
340         * loader/MainResourceLoader.cpp:
341         (WebCore::MainResourceLoader::addData):
342         * platform/MIMETypeRegistry.cpp:
343         (WebCore::initializeSupportedNonImageMimeTypes):
344
345 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
346
347         Not reviewed. Build fix.
348
349         Oops, disable WML by default on Qt.
350
351         * WebCore.pro:
352
353 2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
354
355         Reviewed by George Staikos.
356
357         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
358
359         Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
360         Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
361
362         WML is not build by default.
363
364         * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
365         * GNUmakefile.am: Add new files and generator hooks.
366         * WebCore.pro: Ditto.
367         * WebCore.xcodeproj/project.pbxproj: Ditto.
368         * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
369         (WebCore::linkAttribute):
370         (WebCore::CSSStyleSelector::styleForElement):c
371         * css/wml.css: Added.
372         * dom/DOMImplementation.cpp: Handle WMLDocument creation
373         (WebCore::DOMImplementation::createDocument):
374         * dom/Document.cpp: Handle WMLElement creation.
375         (WebCore::Document::createElement):
376         * dom/Document.h: Add helper function identifying WML documents.
377         (WebCore::Document::isWMLDocument):
378         * dom/Node.h: Add heper function identifying WML elements.
379         (WebCore::Node::isWMLElement):
380         * dom/XMLTokenizer.cpp: Handle errors in WML documents
381         (WebCore::XMLTokenizer::insertErrorMessageBlock):
382         * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
383         (WebCore::XMLTokenizer::internalSubset):
384         * dom/XMLTokenizerQt.cpp: Ditto.
385         (WebCore::):
386         * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
387         * history/BackForwardList.cpp: Add WML specific function for clearing the history.
388         (WebCore::BackForwardList::clearWmlPageHistory):
389         * history/BackForwardList.h:
390         * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
391         (WebCore::FrameLoader::FrameLoader):
392         (WebCore::FrameLoader::setForceReloadWmlDeck):
393         (WebCore::FrameLoader::shouldReload):
394         (WebCore::FrameLoader::loadItem):
395         * loader/FrameLoader.h:
396         * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
397         (WebCore::MainResourceLoader::addData):
398         * page/Frame.cpp: Initialize WMLNames.
399         (WebCore::Frame::Frame):
400         * page/Page.cpp: Maintain WMLPageState object per Page.
401         (WebCore::Page::Page):
402         (WebCore::Page::setWMLPageState):
403         (WebCore::Page::wmlPageState):
404         * page/Page.h:
405         * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
406         (WebCore::initializeSupportedNonImageMimeTypes):
407         * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
408         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
409         * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
410         (WebCore::):
411         * platform/win/MIMETypeRegistryWin.cpp: Ditto.
412         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
413         * manual-tests/wml: Added.
414         * manual-tests/wml/a-br-element.wml: Added.
415         * manual-tests/wml/a-element.wml: Added.
416         * manual-tests/wml/a-img-element.wml: Added.
417         * manual-tests/wml/access-target.wml: Added.
418         * manual-tests/wml/anchor-br-element.wml: Added.
419         * manual-tests/wml/anchor-element.wml: Added.
420         * manual-tests/wml/anchor-img-element.wml: Added.
421         * manual-tests/wml/card-newcontext-attr.wml: Added.
422         * manual-tests/wml/card-onenterbackward.wml: Added.
423         * manual-tests/wml/card-onenterforward.wml: Added.
424         * manual-tests/wml/card-ontimer.wml: Added.
425         * manual-tests/wml/deck-access-control.wml: Added.
426         * manual-tests/wml/go-element.wml: Added.
427         * manual-tests/wml/input-emptyok.wml: Added.
428         * manual-tests/wml/input-format.wml: Added.
429         * manual-tests/wml/onevent-go.wml: Added.
430         * manual-tests/wml/onevent-noop.wml: Added.
431         * manual-tests/wml/onevent-prev.wml: Added.
432         * manual-tests/wml/onevent-refresh.wml: Added.
433         * manual-tests/wml/onevent-shadow.wml: Added.
434         * manual-tests/wml/postfield-get.wml: Added.
435         * manual-tests/wml/postfield-post.wml: Added.
436         * manual-tests/wml/select-element.wml: Added.
437         * manual-tests/wml/select-onpick-event.wml: Added.
438         * manual-tests/wml/setvar-element.wml: Added.
439         * manual-tests/wml/targetdeck.wml: Added.
440         * manual-tests/wml/task-go-in-anchor.wml: Added.
441         * manual-tests/wml/task-noop-in-do.wml: Added.
442         * manual-tests/wml/task-noop-in-onevent.wml: Added.
443         * manual-tests/wml/task-prev-in-anchor.wml: Added.
444         * manual-tests/wml/task-refresh-in-anchor.wml: Added.
445         * manual-tests/wml/template-go.wml: Added.
446         * manual-tests/wml/template-onevent.wml: Added.
447         * manual-tests/wml/template-ontimer.wml: Added.
448         * manual-tests/wml/timer.wml: Added.
449         * manual-tests/wml/variable-substitution.wml: Added.
450         * wml: Added.
451         * wml/WMLAElement.cpp: Added.
452         (WebCore::WMLAElement::WMLAElement):
453         (WebCore::WMLAElement::parseMappedAttribute):
454         (WebCore::WMLAElement::supportsFocus):
455         (WebCore::WMLAElement::isFocusable):
456         (WebCore::WMLAElement::isMouseFocusable):
457         (WebCore::WMLAElement::isKeyboardFocusable):
458         (WebCore::WMLAElement::defaultEventHandler):
459         (WebCore::WMLAElement::accessKeyAction):
460         (WebCore::WMLAElement::isURLAttribute):
461         (WebCore::WMLAElement::target):
462         * wml/WMLAElement.h: Added.
463         * wml/WMLAttributeNames.in: Added.
464         * wml/WMLCardElement.cpp: Added.
465         (WebCore::WMLCardElement::WMLCardElement):
466         * wml/WMLCardElement.h: Added.
467         * wml/WMLDocument.cpp: Added.
468         (WebCore::WMLDocument::WMLDocument):
469         (WebCore::WMLDocument::~WMLDocument):
470         * wml/WMLDocument.h: Added.
471         (WebCore::WMLDocument::create):
472         (WebCore::WMLDocument::isWMLDocument):
473         * wml/WMLElement.cpp: Added.
474         (WebCore::WMLElement::WMLElement):
475         (WebCore::WMLElement::mapToEntry):
476         (WebCore::WMLElement::parseMappedAttribute):
477         (WebCore::WMLElement::rendererIsNeeded):
478         (WebCore::WMLElement::createRenderer):
479         * wml/WMLElement.h: Added.
480         (WebCore::WMLElement::isWMLElement):
481         * wml/WMLPElement.cpp: Added.
482         (WebCore::WMLPElement::WMLPElement):
483         (WebCore::WMLPElement::mapToEntry):
484         (WebCore::WMLPElement::parseMappedAttribute):
485         * wml/WMLPElement.h: Added.
486         * wml/WMLPageState.cpp: Added.
487         (WebCore::WMLPageState::WMLPageState):
488         (WebCore::WMLPageState::~WMLPageState):
489         (WebCore::WMLPageState::reset):
490         (WebCore::WMLPageState::setNeedCheckDeckAccess):
491         (WebCore::WMLPageState::isDeckAccessible):
492         * wml/WMLPageState.h: Added.
493         (WebCore::WMLPageState::storeVariable):
494         (WebCore::WMLPageState::storeVariables):
495         (WebCore::WMLPageState::getVaribale):
496         (WebCore::WMLPageState::hasVariables):
497         (WebCore::WMLPageState::historyLength):
498         (WebCore::WMLPageState::setHistoryLength):
499         (WebCore::WMLPageState::page):
500         (WebCore::WMLPageState::activeCard):
501         (WebCore::WMLPageState::setActiveCard):
502         (WebCore::WMLPageState::setDeckAccessDomain):
503         (WebCore::WMLPageState::setDeckAccessPath):
504         (WebCore::WMLPageState::hasDeckAccess):
505         * wml/WMLTagNames.in: Added.
506
507 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
508
509         Reviewed by Sam Weinig.
510         
511         Updated for JavaScriptCore renames.
512
513         * WebCore.pro:
514         * webcore-base.bkl:
515
516 2008-11-17  Justin Garcia  <justin.garcia@apple.com>
517
518         Reviewed by Beth Dakin.
519
520         <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
521         
522         There was code to intentionally avoid quoting pasted content if less than a paragraph of 
523         it was copied.  That was added for <rdar://problem/5006779>, but was unnecessary because
524         that bug was about Paste and Match style for single paragraphs.  And quote stripping for
525         Paste and Match style is handled elsewhere.
526
527         * editing/markup.cpp:
528         (WebCore::createMarkup):
529
530 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
531
532         Reviewed by Sam Weinig.
533         
534         Updated for JavaScriptCore rename.
535
536         * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
537         * ForwardingHeaders/runtime/ExecState.h: Removed.
538         * bindings/objc/WebScriptObject.mm:
539         * bridge/c/c_instance.cpp:
540         * bridge/jni/jni_jsobject.mm:
541         * dom/Node.cpp:
542         * dom/NodeFilter.cpp:
543         * dom/NodeIterator.cpp:
544         * dom/TreeWalker.cpp:
545         * inspector/JavaScriptCallFrame.h:
546
547 2008-11-17  Pierre-Olivier Latour  <pol@apple.com>
548
549         Reviewed by Sam Weinig.
550
551         Added functionality to AnimationController to allow pausing a running
552         animation or transition at a given time for testing purposes.
553
554         https://bugs.webkit.org/show_bug.cgi?id=21261
555
556         Tests: animations/animation-drt-api.html
557                transitions/transition-drt-api.html
558
559         * WebCore.base.exp:
560         * WebCore.xcodeproj/project.pbxproj:
561         * page/animation/AnimationBase.cpp:
562         (WebCore::AnimationBase::updateStateMachine):
563         (WebCore::AnimationBase::progress):
564         (WebCore::AnimationBase::pauseAtTime):
565         * page/animation/AnimationBase.h:
566         * page/animation/AnimationController.cpp:
567         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
568         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
569         (WebCore::AnimationController::pauseAnimationAtTime):
570         (WebCore::AnimationController::pauseTransitionAtTime):
571         * page/animation/AnimationController.h:
572         * page/animation/CompositeAnimation.cpp:
573         (WebCore::CompositeAnimationPrivate::isAnimating):
574         (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
575         (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
576         (WebCore::CompositeAnimation::pauseAnimationAtTime):
577         (WebCore::CompositeAnimation::pauseTransitionAtTime):
578         * page/animation/CompositeAnimation.h:
579         * page/animation/ImplicitAnimation.cpp:
580         (WebCore::ImplicitAnimation::animate):
581
582 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
583
584         Reviewed by Sam Weinig.
585         
586         Updated for JavaScriptCore renames.
587
588         * ForwardingHeaders/VM: Removed.
589         * ForwardingHeaders/VM/Machine.h: Removed.
590         * ForwardingHeaders/interpreter: Added.
591         * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
592         * WebCore.pro:
593         * bindings/js/JSXMLHttpRequestCustom.cpp:
594         * page/Console.cpp:
595         * webcore-base.bkl:
596
597 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
598
599         Reviewed by Sam Weinig.
600
601         Updated for JavaScriptCore renames.
602
603         * ForwardingHeaders/runtime/Interpreter.h: Removed.
604         * WebCore.vcproj/WebCore.vcproj:
605         * bindings/js/JSDOMBinding.h:
606         * bindings/js/WorkerScriptController.cpp:
607         * bindings/objc/WebScriptObject.mm:
608         * bridge/NP_jsobject.cpp:
609         * bridge/jni/jni_jsobject.mm:
610         * html/CanvasRenderingContext2D.cpp:
611         * inspector/JavaScriptCallFrame.cpp:
612         * page/Console.cpp:
613
614 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
615
616         Not reviewed.
617
618         Try to fix wx build.
619
620         * webcore-base.bkl:
621
622 2008-11-17  Greg Bolsinga  <bolsinga@apple.com>
623
624         Reviewed by Darin Adler.
625
626         https://bugs.webkit.org/show_bug.cgi?id=21810
627         Remove use of static C++ objects that are destroyed at exit time (destructors)
628
629         Find some missing DEFINE_STATIC_LOCAL use cases.
630         
631         * bindings/js/JSSVGPODTypeWrapper.h:
632         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
633         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
634         * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
635         * page/AccessibilityRenderObject.cpp:
636         (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
637         * platform/graphics/FontCache.cpp:
638         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
639         (WebCore::FontDataCacheKeyTraits::emptyValue):
640         * rendering/style/RenderStyle.h:
641         (WebCore::InheritedFlags::initialTransform):
642
643 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
644
645         Not reviewed.
646
647         Try to fix Qt build.
648
649         * WebCore.pro:
650
651 2008-11-16  Simon Fraser  <simon.fraser@apple.com>
652
653         Reviewed by Dan Bernstein
654
655         https://bugs.webkit.org/show_bug.cgi?id=22118
656         
657         Fix resize corner tracking in transformed elements by using 
658         mapping the point into local coords using absoluteToLocal,
659         rather than convertToLayerCoords.
660         
661         Test: fast/css/resize-corner-tracking-transformed.html
662
663         * page/EventHandler.h:
664         * rendering/RenderLayer.cpp:
665         (WebCore::RenderLayer::absoluteToContents):
666         (WebCore::RenderLayer::offsetFromResizeCorner):
667         (WebCore::RenderLayer::isPointInResizeControl):
668         * rendering/RenderLayer.h:
669
670 2008-11-16  Geoffrey Garen  <ggaren@apple.com>
671
672         Not reviewed.
673
674         Try to fix Qt build.
675
676         * WebCore.pro:
677
678 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
679
680         Reviewed by Geoffrey Garen.
681
682         Use RefPtr and PassRefPtr where appropriate.
683
684         * loader/FTPDirectoryDocument.cpp:
685         (WebCore::createTemplateDocumentData):
686
687 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
688
689         Fix build break for real.
690
691         * loader/FTPDirectoryDocument.cpp:
692         (WebCore::createTemplateDocumentData):
693
694 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
695
696         Fix build break and bug.
697
698         * loader/FTPDirectoryDocument.cpp:
699         (WebCore::createTemplateDocumentData):
700
701 2008-11-16  Greg Bolsinga  <bolsinga@apple.com>
702
703         Reviewed by Darin Adler.
704
705         https://bugs.webkit.org/show_bug.cgi?id=21810
706         Remove use of static C++ objects that are destroyed at exit time (destructors)
707
708         Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
709         uses of DEFINE_STATIC_LOCAL where appropriate.
710
711         * html/HTMLTableElement.cpp:
712         (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
713         * loader/CachedImage.cpp:
714         (WebCore::brokenImage):
715         (WebCore::nullImage):
716         * loader/FTPDirectoryDocument.cpp:
717         (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
718         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
719         * loader/icon/IconDatabase.cpp:
720         (WebCore::loadDefaultIconRecord):
721         * page/AccessibilityObject.cpp:
722         (WebCore::AccessibilityObject::actionVerb):
723         * page/AccessibilityRenderObject.cpp:
724         (WebCore::AccessibilityRenderObject::actionVerb):
725         * page/mac/EventHandlerMac.mm:
726         (WebCore::currentEvent):
727         * platform/ScrollView.cpp:
728         (WebCore::ScrollView::paint):
729         * platform/graphics/Image.cpp:
730         (WebCore::Image::nullImage):
731         * platform/graphics/mac/ColorMac.mm:
732         (WebCore::nsColor):
733         * platform/graphics/mac/FontCacheMac.mm: new the Strings
734         (WebCore::FontCache::getSimilarFontPlatformData):
735         * platform/graphics/mac/GraphicsContextMac.mm:
736         (WebCore::_createPatternColor): Created so accessor has one line initialization
737         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
738         * platform/graphics/mac/SimpleFontDataMac.mm:
739         (WebCore::webFallbackFontFamily):
740         * platform/mac/PasteboardMac.mm:
741         (WebCore::writableTypesForURL):
742         (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
743         (WebCore::writableTypesForImage):
744         (WebCore::stripAttachmentCharacters):
745         * rendering/RenderLayer.cpp:
746         (WebCore::RenderLayer::paintResizer):
747
748 2008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
749
750         Reviewed by Darin Adler.
751
752         Do not spit Curl errors into the stdout as this is used by DRT
753
754         We have failing tests results due the curl errors printed to stdout,
755         move them to stderr to be able to pass those tests.
756
757         * platform/network/curl/ResourceHandleManager.cpp:
758         (WebCore::ResourceHandleManager::startJob):
759
760 2008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
761
762         - fix the Gtk+ build
763
764         * GNUmakefile.am:
765
766 2008-11-16  Darin Adler  <darin@apple.com>
767
768         - try to fix Qt build
769
770         * WebCore.pro: Add the worker-related source files.
771
772 2008-11-16  Darin Adler  <darin@apple.com>
773
774         Suggested by Alexey Proskuryakov.
775
776         - fix the GTK build another way
777
778         * GNUmakefile.am: Add the worker-related source files.
779         * bindings/js/JSEventTarget.cpp: Take the #if back out.
780
781 2008-11-16  Darin Adler  <darin@apple.com>
782
783         - try to fix GTK build
784
785         * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
786
787 2008-11-16  Darin Adler  <darin@apple.com>
788
789         Reviewed by Dan Bernstein.
790
791         - https://bugs.webkit.org/show_bug.cgi?id=22295
792           track which history items are from page load failures
793
794         * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
795         no-longer-needed ones.
796         (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
797         (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
798         String, since that's not efficient.
799
800         * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
801         setLastVisitWasFailure, and m_lastVisitWasFailure.
802
803         * history/mac/HistoryItemMac.mm: Add newly-needed include
804         (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
805         m_transientProperties map around when it is empty.
806
807         * loader/FrameLoader.cpp:
808         (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
809         the page was unreachable or an HTTP page with a status code that indicates
810         failure.
811
812 2008-11-16  Yong Li  <yong.li@torchmobile.com>
813
814         Reviewed by Timothy Hatcher.
815         Landed by George Staikos.
816
817         Optimization: don't relayout, repaint, or emit a DOM event if the
818         scroll event didn't scroll anywhere.
819
820         * rendering/RenderLayer.cpp:
821         (WebCore::RenderLayer::scrollToOffset): add early exit
822
823 2008-11-16  Alexey Proskuryakov  <ap@webkit.org>
824
825         Reviewed by Dan Bernstein.
826
827         https://bugs.webkit.org/show_bug.cgi?id=22290
828         Remove cross-heap GC and MessagePort multi-threading support
829
830         It is broken (and may not be implementable at all), and no longer needed, as we
831         don't use MessagePorts for communication with workers any more.
832
833         * bindings/js/JSDOMBinding.cpp:
834         * bindings/js/JSDOMBinding.h:
835         * bindings/js/JSDOMWindowBase.cpp:
836         * bindings/js/JSDOMWindowBase.h:
837         Removed cross-heap GC implementation.
838
839         * dom/MessagePort.cpp:
840         (WebCore::MessagePort::hasPendingActivity):
841         * dom/MessagePort.h:
842         Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
843         unnecessarily complicated for single threaded case.
844
845 2008-11-14  Alexey Proskuryakov  <ap@webkit.org>
846
847         Reviewed by Maciej Stachowiak.
848
849         https://bugs.webkit.org/show_bug.cgi?id=22266
850         Stop using MessagePort for communication with workers
851
852         The current MessagePort specification is not well suited for being implemented in a
853         multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
854         This patch implements a simpler Mozilla API for workers instead.
855
856         * WebCore.xcodeproj/project.pbxproj:
857         * DerivedSources.make:
858         * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
859         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
860         * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
861         * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
862         * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
863         * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
864         * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
865         * dom/DedicatedWorker.cpp: Removed.
866         * dom/DedicatedWorker.h: Removed.
867         * dom/DedicatedWorker.idl: Removed.
868         Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
869
870         * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
871         Clear worker exceptions to avoid hitting an assertion.
872
873         * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
874         * dom/EventTarget.h:
875         * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
876         WorkerContext is now an EventTarget, too.
877
878         * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
879         MessagePort. Added postMessage() and onmessage.
880
881         * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
882         when posting a task - this operation is not thread safe. It is also not necessary any more,
883         as the context is kept alive by WorkerMessagingProxy.
884
885         * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
886         (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
887         that on a timer.
888         (WebCore::Worker::~Worker): Notify messaging proxy.
889         (WebCore::Worker::postMessage): Just ask the proxy to post the message.
890         (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
891         available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
892         I'm not sure if this is the right lifetime for workers, as unreachable workers with event
893         listeners should probably be kept alive, but it at least lets the object be collected.
894         (WebCore::Worker::addEventListener): Added an EventTarget implementation.
895         (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
896         (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
897
898         * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
899         * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
900         Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
901
902         * dom/WorkerContext.cpp:
903         (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
904         down successfully.
905         (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
906
907         * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
908
909         * dom/WorkerMessagingProxy.cpp: Added.
910         * dom/WorkerMessagingProxy.h: Added.
911         This new class implements actual messaging. It is notified when a Worker is garbage collected,
912         and asks the thread to shut down. It also owns the thread object, and references script
913         execution context, making it safe to post messages to it remotely.
914
915         * dom/WorkerThread.cpp:
916         * dom/WorkerThread.h:
917         Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
918         keeps itself alive - it is now the job of messaging proxy.
919
920 2008-11-15  Darin Adler  <darin@apple.com>
921
922         Rubber stamped by Geoff Garen.
923
924         - do the long-planned StructureID -> Structure rename
925
926         * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
927         * ForwardingHeaders/runtime/StructureID.h: Removed.
928         * bindings/js/JSAudioConstructor.cpp:
929         (WebCore::JSAudioConstructor::JSAudioConstructor):
930         * bindings/js/JSDOMBinding.cpp:
931         (WebCore::getCachedDOMStructure):
932         (WebCore::cacheDOMStructure):
933         * bindings/js/JSDOMBinding.h:
934         (WebCore::DOMObject::DOMObject):
935         (WebCore::getDOMStructure):
936         * bindings/js/JSDOMGlobalObject.cpp:
937         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
938         * bindings/js/JSDOMGlobalObject.h:
939         * bindings/js/JSDOMWindowBase.cpp:
940         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
941         * bindings/js/JSDOMWindowBase.h:
942         * bindings/js/JSDOMWindowShell.cpp:
943         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
944         (WebCore::JSDOMWindowShell::setWindow):
945         * bindings/js/JSDOMWindowShell.h:
946         (WebCore::JSDOMWindowShell::createStructure):
947         * bindings/js/JSDedicatedWorkerConstructor.cpp:
948         (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
949         * bindings/js/JSHTMLAllCollection.h:
950         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
951         (WebCore::JSHTMLAllCollection::createStructure):
952         * bindings/js/JSImageConstructor.cpp:
953         (WebCore::JSImageConstructor::JSImageConstructor):
954         * bindings/js/JSInspectedObjectWrapper.cpp:
955         (WebCore::JSInspectedObjectWrapper::wrap):
956         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
957         * bindings/js/JSInspectedObjectWrapper.h:
958         * bindings/js/JSInspectorCallbackWrapper.cpp:
959         (WebCore::leakInspectorCallbackWrapperStructure):
960         (WebCore::JSInspectorCallbackWrapper::wrap):
961         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
962         * bindings/js/JSInspectorCallbackWrapper.h:
963         * bindings/js/JSMessageChannelConstructor.cpp:
964         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
965         * bindings/js/JSNamedNodesCollection.h:
966         (WebCore::JSNamedNodesCollection::createStructure):
967         * bindings/js/JSOptionConstructor.cpp:
968         (WebCore::JSOptionConstructor::JSOptionConstructor):
969         * bindings/js/JSQuarantinedObjectWrapper.cpp:
970         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
971         * bindings/js/JSQuarantinedObjectWrapper.h:
972         (WebCore::JSQuarantinedObjectWrapper::createStructure):
973         * bindings/js/JSRGBColor.h:
974         (WebCore::JSRGBColor::createStructure):
975         * bindings/js/JSWorkerContext.cpp:
976         (WebCore::createJSWorkerContextStructure):
977         (WebCore::JSWorkerContext::JSWorkerContext):
978         (WebCore::JSWorkerContext::createPrototype):
979         * bindings/js/JSWorkerContext.h:
980         (WebCore::JSWorkerContext::createStructure):
981         (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
982         (WebCore::JSWorkerContextPrototype::createStructure):
983         * bindings/js/JSXMLHttpRequestConstructor.cpp:
984         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
985         * bindings/js/JSXSLTProcessorConstructor.cpp:
986         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
987         * bindings/scripts/CodeGeneratorJS.pm:
988         * bridge/objc/objc_runtime.h:
989         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
990         * bridge/qt/qt_runtime.cpp:
991         (JSC::Bindings::QtConnectionObject::execute):
992         * bridge/qt/qt_runtime.h:
993         (JSC::Bindings::QtRuntimeMethod::createStructure):
994         * bridge/runtime_array.h:
995         (JSC::RuntimeArray::createStructure):
996         * bridge/runtime_method.h:
997         (JSC::RuntimeMethod::createStructure):
998         * bridge/runtime_object.cpp:
999         (JSC::RuntimeObjectImp::RuntimeObjectImp):
1000         * bridge/runtime_object.h:
1001         (JSC::RuntimeObjectImp::createStructure):
1002
1003 2008-11-15  Darin Adler  <darin@apple.com>
1004
1005         Reviewed by Dan Bernstein.
1006
1007         - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
1008
1009         This gets rid of the crash. It restores the behavior of the CG case from before Dirk
1010         Shulze removed the platorm-dependent code, but perhaps it should be changed further
1011         in the future so that the default for no style is "no stroke". I think the patch is
1012         fine for fill.
1013
1014         * svg/graphics/SVGPaintServerSolid.cpp:
1015         (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
1016         (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
1017
1018 2008-11-15  Kevin Ollivier  <kevino@theolliviers.com>
1019
1020         Reviewed by Timothy Hatcher.
1021
1022         Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
1023         
1024         https://bugs.webkit.org/show_bug.cgi?id=22284
1025
1026         * platform/network/NetworkStateNotifier.h:
1027         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1028
1029 2008-11-15  Dirk Schulze  <krit@webkit.org>
1030
1031         Reviewed by Geoffrey Garen.
1032
1033         r38426 caused a wrong drawing of a LayoutTest. Use another
1034         way to set the color to pass this test again.
1035
1036         * svg/graphics/SVGPaintServerSolid.cpp:
1037         (WebCore::SVGPaintServerSolid::setup):
1038
1039 2008-11-15  Dirk Schulze  <krit@webkit.org>
1040
1041         Reviewed by Darin Adler.
1042
1043         Removed platform dependent code on SVGPaintServerSolid.
1044
1045         * GNUmakefile.am:
1046         * WebCore.pro:
1047         * WebCore.vcproj/WebCore.vcproj:
1048         * WebCore.xcodeproj/project.pbxproj:
1049         * svg/graphics/SVGPaintServerSolid.cpp:
1050         (WebCore::SVGPaintServerSolid::setup):
1051         (WebCore::SVGPaintServerSolid::renderPath):
1052         * svg/graphics/SVGPaintServerSolid.h:
1053         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
1054         * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
1055         * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
1056
1057 2008-11-15  Geoffrey Garen  <ggaren@apple.com>
1058
1059         Reviewed by Sam Weinig.
1060         
1061         Updated for JavaScriptCore renames.
1062
1063         * bindings/js/JSNodeCustom.cpp:
1064         (WebCore::JSNode::mark):
1065         * bindings/js/JSXMLHttpRequestCustom.cpp:
1066         (WebCore::JSXMLHttpRequest::send):
1067         * bindings/js/ScriptController.cpp:
1068         (WebCore::ScriptController::evaluate):
1069         * bindings/js/WorkerScriptController.cpp:
1070         (WebCore::WorkerScriptController::evaluate):
1071         * bindings/objc/WebScriptObject.mm:
1072         (-[WebScriptObject evaluateWebScript:]):
1073         * bridge/NP_jsobject.cpp:
1074         (_NPN_Evaluate):
1075         * bridge/jni/jni_jsobject.mm:
1076         (JavaJSObject::eval):
1077         * page/Console.cpp:
1078         (WebCore::retrieveLastCaller):
1079         (WebCore::Console::trace):
1080
1081 2008-11-14  Greg Bolsinga  <bolsinga@apple.com>
1082
1083         Reviewed by Darin Adler.
1084
1085         https://bugs.webkit.org/show_bug.cgi?id=21810
1086         Remove use of static C++ objects that are destroyed at exit time (destructors)
1087
1088         Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid 
1089         exit-time destructor. Update code that was changed to fix this issue that ran 
1090         into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference 
1091         in gcc build 5465). Also typdefs for template types needed to be added in some 
1092         cases so the type could make it through the macro successfully.
1093
1094         Basically code of the form:
1095         static T m;
1096         becomes:
1097         DEFINE_STATIC_LOCAL(T, m, ());
1098
1099         Also any code of the form:
1100         static T& m = *new T;
1101         also becomes:
1102         DEFINE_STATIC_LOCAL(T, m, ());
1103
1104         * ForwardingHeaders/wtf/StdLibExtras.h: Added.
1105         * bindings/js/GCController.cpp:
1106         (WebCore::gcController):
1107         * bindings/js/JSDOMBinding.cpp:
1108         (WebCore::wrapperSet):
1109         * bindings/js/JSInspectedObjectWrapper.cpp:
1110         (WebCore::wrappers):
1111         * bindings/js/JSInspectorCallbackWrapper.cpp:
1112         (WebCore::wrappers):
1113         * bindings/js/JSNavigatorCustom.cpp:
1114         (WebCore::needsYouTubeQuirk):
1115         * bridge/runtime_root.cpp:
1116         (JSC::Bindings::rootObjectSet):
1117         * css/CSSMutableStyleDeclaration.cpp:
1118         (WebCore::initShorthandMap):
1119         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1120         * css/CSSPrimitiveValue.cpp:
1121         (WebCore::CSSPrimitiveValue::cssText):
1122         * css/CSSSelector.cpp:
1123         (WebCore::CSSSelector::extractPseudoType):
1124         * css/CSSStyleSelector.cpp:
1125         (WebCore::screenEval):
1126         (WebCore::printEval):
1127         * dom/DOMImplementation.cpp:
1128         (WebCore::addString):
1129         (WebCore::isSVG10Feature):
1130         (WebCore::isSVG11Feature):
1131         (WebCore::DOMImplementation::isXMLMIMEType):
1132         * dom/Document.cpp:
1133         (WebCore::Document::hasPrefixNamespaceMismatch):
1134         * dom/ScriptElement.cpp:
1135         (WebCore::isSupportedJavaScriptLanguage):
1136         * editing/ApplyStyleCommand.cpp:
1137         (WebCore::styleSpanClassString):
1138         * editing/HTMLInterchange.cpp:
1139         (WebCore::):
1140         * editing/IndentOutdentCommand.cpp:
1141         (WebCore::indentBlockquoteString):
1142         * editing/ReplaceSelectionCommand.cpp:
1143         (WebCore::isInterchangeNewlineNode):
1144         (WebCore::isInterchangeConvertedSpaceSpan):
1145         * editing/htmlediting.cpp:
1146         (WebCore::stringWithRebalancedWhitespace):
1147         (WebCore::nonBreakingSpaceString):
1148         * editing/markup.cpp:
1149         (WebCore::appendAttributeValue):
1150         (WebCore::appendEscapedContent):
1151         (WebCore::shouldAddNamespaceAttr):
1152         (WebCore::appendNamespace):
1153         (WebCore::appendStartMarkup):
1154         (WebCore::createMarkup):
1155         * html/HTMLButtonElement.cpp:
1156         (WebCore::HTMLButtonElement::type):
1157         * html/HTMLElement.cpp:
1158         (WebCore::HTMLElement::isRecognizedTagName):
1159         (WebCore::inlineTagList):
1160         (WebCore::blockTagList):
1161         * html/HTMLFieldSetElement.cpp:
1162         (WebCore::HTMLFieldSetElement::type):
1163         * html/HTMLInputElement.cpp:
1164         (WebCore::HTMLInputElement::type):
1165         * html/HTMLKeygenElement.cpp:
1166         (WebCore::HTMLKeygenElement::type):
1167         * html/HTMLLegendElement.cpp:
1168         (WebCore::HTMLLegendElement::type):
1169         * html/HTMLOptGroupElement.cpp:
1170         (WebCore::HTMLOptGroupElement::type):
1171         * html/HTMLOptionElement.cpp:
1172         (WebCore::HTMLOptionElement::type):
1173         * html/HTMLParser.cpp:
1174         (WebCore::HTMLParser::getNode):
1175         (WebCore::HTMLParser::isHeaderTag):
1176         (WebCore::HTMLParser::isResidualStyleTag):
1177         (WebCore::HTMLParser::isAffectedByResidualStyle):
1178         * html/HTMLSelectElement.cpp:
1179         (WebCore::HTMLSelectElement::type):
1180         * html/HTMLTextAreaElement.cpp:
1181         (WebCore::HTMLTextAreaElement::type):
1182         * inspector/InspectorController.cpp:
1183         (WebCore::platform):
1184         * inspector/JavaScriptDebugServer.cpp:
1185         (WebCore::JavaScriptDebugServer::shared):
1186         * inspector/JavaScriptProfile.cpp:
1187         (WebCore::profileCache):
1188         * inspector/JavaScriptProfileNode.cpp:
1189         (WebCore::profileNodeCache):
1190         * loader/FrameLoader.cpp:
1191         (WebCore::localSchemes):
1192         * loader/appcache/ApplicationCacheStorage.cpp:
1193         (WebCore::cacheStorage):
1194         * loader/archive/ArchiveFactory.cpp:
1195         (WebCore::archiveMIMETypes):
1196         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
1197         * loader/icon/IconDatabase.cpp:
1198         (WebCore::IconDatabase::defaultDatabaseFilename):
1199         * page/EventHandler.cpp:
1200         (WebCore::EventHandler::dragState):
1201         * page/Frame.cpp:
1202         (WebCore::createRegExpForLabels):
1203         (WebCore::keepAliveSet):
1204         * page/Page.cpp:
1205         (WebCore::Page::groupName):
1206         * page/SecurityOrigin.cpp:
1207         (WebCore::isDefaultPortForProtocol):
1208         (WebCore::SecurityOrigin::databaseIdentifier):
1209         * page/mac/FrameMac.mm:
1210         (WebCore::regExpForLabels):
1211         * platform/KURL.cpp:
1212         (WebCore::blankURL):
1213         * platform/graphics/FontCache.cpp:
1214         (WebCore::alternateFamilyName):
1215         * platform/graphics/mac/FontCacheMac.mm:
1216         (WebCore::FontCache::getSimilarFontPlatformData):
1217         (WebCore::FontCache::getLastResortFallbackFont):
1218         * platform/mac/CursorMac.mm:
1219         (WebCore::leakNamedCursor):
1220         (WebCore::pointerCursor):
1221         (WebCore::crossCursor):
1222         (WebCore::handCursor):
1223         (WebCore::moveCursor):
1224         (WebCore::verticalTextCursor):
1225         (WebCore::cellCursor):
1226         (WebCore::contextMenuCursor):
1227         (WebCore::aliasCursor):
1228         (WebCore::zoomInCursor):
1229         (WebCore::zoomOutCursor):
1230         (WebCore::copyCursor):
1231         (WebCore::noneCursor):
1232         (WebCore::progressCursor):
1233         (WebCore::noDropCursor):
1234         (WebCore::notAllowedCursor):
1235         (WebCore::iBeamCursor):
1236         (WebCore::waitCursor):
1237         (WebCore::helpCursor):
1238         (WebCore::eastResizeCursor):
1239         (WebCore::northResizeCursor):
1240         (WebCore::northEastResizeCursor):
1241         (WebCore::northWestResizeCursor):
1242         (WebCore::southResizeCursor):
1243         (WebCore::southEastResizeCursor):
1244         (WebCore::southWestResizeCursor):
1245         (WebCore::westResizeCursor):
1246         (WebCore::northSouthResizeCursor):
1247         (WebCore::eastWestResizeCursor):
1248         (WebCore::northEastSouthWestResizeCursor):
1249         (WebCore::northWestSouthEastResizeCursor):
1250         (WebCore::columnResizeCursor):
1251         (WebCore::rowResizeCursor):
1252         (WebCore::grabCursor):
1253         (WebCore::grabbingCursor):
1254         * platform/mac/ScrollbarThemeMac.mm:
1255         (WebCore::ScrollbarTheme::nativeTheme):
1256         * platform/mac/ThemeMac.mm:
1257         (WebCore::platformTheme):
1258         * platform/mac/ThreadCheck.mm:
1259         (WebCoreReportThreadViolation):
1260         * platform/network/NetworkStateNotifier.cpp:
1261         (WebCore::networkStateNotifier):
1262         * platform/network/mac/FormDataStreamMac.mm:
1263         (WebCore::getStreamFormDataMap):
1264         (WebCore::getStreamResourceHandleMap):
1265         * platform/network/mac/ResourceResponseMac.mm:
1266         (WebCore::ResourceResponse::platformLazyInit):
1267         * platform/text/TextEncoding.cpp:
1268         (WebCore::TextEncoding::isJapanese):
1269         * plugins/PluginMainThreadScheduler.cpp:
1270         (WebCore::PluginMainThreadScheduler::scheduler):
1271         * rendering/RenderBlock.cpp:
1272         (WebCore::continuationOutlineTable):
1273         (WebCore::RenderBlock::addContinuationWithOutline):
1274         (WebCore::RenderBlock::paintContinuationOutlines):
1275         * rendering/RenderCounter.cpp:
1276         (WebCore::counterMaps):
1277         * rendering/RenderFlexibleBox.cpp:
1278         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1279         * rendering/RenderListItem.cpp:
1280         (WebCore::RenderListItem::markerText):
1281         * rendering/RenderScrollbarTheme.cpp:
1282         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
1283         * rendering/RenderThemeMac.mm:
1284         (WebCore::RenderThemeMac::systemFont):
1285         * rendering/bidi.cpp:
1286         (WebCore::RenderBlock::checkLinesForTextOverflow):
1287         * rendering/style/RenderStyle.cpp:
1288         (WebCore::RenderStyle::initialDashboardRegions):
1289         (WebCore::RenderStyle::noneDashboardRegions):
1290         * storage/Database.cpp:
1291         (WebCore::guidMutex):
1292         (WebCore::guidToVersionMap):
1293         (WebCore::guidToDatabaseMap):
1294         (WebCore::Database::databaseInfoTableName):
1295         (WebCore::databaseVersionKey):
1296         (WebCore::Database::getVersionFromDatabase):
1297         (WebCore::Database::setVersionInDatabase):
1298         (WebCore::guidForOriginAndName):
1299         * storage/DatabaseTracker.cpp:
1300         (WebCore::DatabaseTracker::tracker):
1301         (WebCore::notificationMutex):
1302         (WebCore::notificationQueue):
1303         * storage/LocalStorage.cpp:
1304         (WebCore::localStorageMap):
1305         * svg/SVGAnimateMotionElement.cpp:
1306         (WebCore::SVGAnimateMotionElement::rotateMode):
1307         * svg/SVGAnimationElement.cpp:
1308         (WebCore::SVGAnimationElement::calcMode):
1309         (WebCore::SVGAnimationElement::attributeType):
1310         (WebCore::SVGAnimationElement::isAdditive):
1311         (WebCore::SVGAnimationElement::isAccumulated):
1312         * svg/SVGLangSpace.cpp:
1313         (WebCore::SVGLangSpace::xmlspace):
1314         * svg/SVGSVGElement.cpp:
1315         (WebCore::SVGSVGElement::contentScriptType):
1316         (WebCore::SVGSVGElement::contentStyleType):
1317         * svg/SVGStyleElement.cpp:
1318         (WebCore::SVGStyleElement::type):
1319         (WebCore::SVGStyleElement::media):
1320         * svg/SVGTextContentElement.cpp:
1321         (WebCore::SVGTextContentElement::parseMappedAttribute):
1322         * svg/animation/SVGSMILElement.cpp:
1323         (WebCore::SVGSMILElement::parseClockValue):
1324         (WebCore::SVGSMILElement::restart):
1325         (WebCore::SVGSMILElement::fill):
1326         (WebCore::SVGSMILElement::repeatCount):
1327         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
1328         * svg/graphics/SVGResource.cpp:
1329         (WebCore::clientMap):
1330         (WebCore::SVGResource::removeClient):
1331         * svg/graphics/SVGResourceMarker.cpp:
1332         (WebCore::SVGResourceMarker::draw):
1333         * xml/XMLHttpRequest.cpp:
1334         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
1335         (WebCore::preflightResultCache):
1336         (WebCore::appendPreflightResultCacheEntry):
1337         (WebCore::isSafeRequestHeader):
1338         (WebCore::isOnAccessControlResponseHeaderWhitelist):
1339         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1340         * xml/XPathExpressionNode.cpp:
1341         (WebCore::XPath::Expression::evaluationContext):
1342         * xml/XPathParser.cpp:
1343         (WebCore::XPath::setUpAxisNamesMap):
1344         (WebCore::XPath::isAxisName):
1345         (WebCore::XPath::isNodeTypeName):
1346         * xml/XPathValue.cpp:
1347         (WebCore::XPath::Value::toNodeSet):
1348
1349 2008-11-14  Dan Bernstein  <mitz@apple.com>
1350
1351         - attempt to fix the Qt build
1352
1353         * platform/qt/Localizations.cpp:
1354         (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
1355         needs to go somewhere else in addition to here.
1356
1357 2008-11-14  Kevin Ollivier  <kevino@theolliviers.com>
1358
1359         wx build fix.
1360
1361         * platform/wx/LocalizedStringsWx.cpp:
1362         (WebCore::contextMenuItemTagTextDirectionMenu):
1363
1364 2008-11-14  Dan Bernstein  <mitz@apple.com>
1365
1366         Reviewed by Darin Adler.
1367
1368         - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
1369         - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
1370
1371         * WebCore.base.exp: Exported
1372         WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
1373
1374         * editing/ApplyStyleCommand.cpp:
1375         (StyleChange::init): Changed to always include the direction property
1376         in the result if the unicode-bidi property is included.
1377         (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
1378         highest ancestor of the given node that establishes bidi embedding. If
1379         that embedding agrees with the given allowed direction, finds the
1380         second-highest embedding ancestor. Splits all nodes through that
1381         ancestor. If the highest embedding ancestor did not need to be split,
1382         it is returned.
1383         (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
1384         bidi embedding attributes and styles from all ancestors of the given
1385         node up to its enclosing block or the given node.
1386         (ApplyStyleCommand::applyInlineStyle): Added code to handle the
1387         unicode-bidi property. Applying style the includes this property
1388         involves removing all bidi embedding in effect, except  for one-level
1389         embedding that agrees with the desired embedding, then applying the
1390         desired embedding where it is not already in effect.
1391         (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
1392         applyInlineStyle().
1393         (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
1394         "dir" attribute if necessary and the element if it becomes an unstyled
1395         style span.
1396         (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
1397         property when removing the unicode-bidi property.
1398         (ApplyStyleCommand::removeInlineStyle): Added a call to
1399         removeHTMLBidiEmbeddingStyle().
1400
1401         * editing/ApplyStyleCommand.h:
1402         * editing/Editor.cpp:
1403         (Editor::textDirectionForSelection): Added. Returns the character-level
1404         writing direction of the selection if it is uniform and simple (at most
1405         one level of embedding).
1406         (Editor::hasBidiSelection): Added. Returns true if the selection lies
1407         entirely within a single block, and that block has direction:rtl or
1408         contains any inline boxes with non-zero bidi embedding level.
1409
1410         * editing/Editor.h:
1411         * editing/EditorCommand.cpp:
1412         (stateTextWritingDirection): Added this helper function for deciding
1413         the state of Text Direction submenu items.
1414         (executeMakeTextWritingDirectionLeftToRight): Added. Applies
1415         "unicode-bidi: embed; direction: ltr;".
1416         (executeMakeTextWritingDirectionNatural): Added. Applies
1417         "unicode-bidi: normal;"
1418         (executeMakeTextWritingDirectionRightToLeft): Added. Applies
1419         "unicode-bidi: embed; direction: rtl;".
1420         (stateTextWritingDirectionLeftToRight): Added.
1421         (stateTextWritingDirectionNatural): Added.
1422         (stateTextWritingDirectionRightToLeft): Added.
1423         (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
1424         "MakeTextWritingDirectionNatural",
1425         and "MakeTextWritingDirectionRightToLeft".
1426
1427         * editing/InsertTextCommand.cpp:
1428         (InsertTextCommand::input): Added code to maintain the unicode-bidi
1429         and direction properties in the typing style. Even if they have the
1430         same values as the computed style at the caret, they need to be included
1431         in the typing style so that inserted text will not inherit any nested
1432         embedding.
1433
1434         * page/ContextMenuController.cpp:
1435         (ContextMenuController::contextMenuItemSelected): Added calls to
1436         the editor for the text direction menu items.
1437
1438         * page/Frame.cpp
1439         (Frame::computeAndSetTypingStyle): Added code to maintain the
1440         unicode-bidi and direction properties in the typing style.
1441
1442         * page/Settings.cpp:
1443         (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
1444
1445         * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
1446         an m_textDirectionSubmenuInclusionBehavior member, and accessors.
1447
1448         * page/mac/WebCoreViewFactory.h:
1449         * platform/ContextMenu.cpp:
1450         (WebCore::createAndAppendTextDirectionSubMenu): Added.
1451         (ContextMenu::populate): Added the Text Direction submenu item based on
1452         the inclusion behavior and the existence of a bidi selection.
1453         (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
1454         menu items.
1455
1456         * platform/ContextMenuItem.h:
1457         * platform/LocalizedStrings.h: Declared
1458         contextMenuItemTagTextDirectionMenu().
1459
1460         * platform/mac/LocalizedStringsMac.mm: Defined
1461         contextMenuItemTagTextDirectionMenu().
1462
1463         * rendering/RenderBlock.cpp:
1464         (RenderBlock::containsNonZeroBidiLevel): Added.
1465         * rendering/RenderBlock.h:
1466
1467 2008-11-14  Greg Bolsinga  <bolsinga@apple.com>
1468
1469         Reviewed by Darin Adler.
1470
1471         https://bugs.webkit.org/show_bug.cgi?id=22264
1472         Need to update to latest Geolocation spec (13 November 2008)
1473         
1474         Update to new error code constants and values.
1475
1476         * page/Geolocation.cpp: Use new named ErrorCode enums
1477         (WebCore::Geolocation::GeoNotifier::timerFired):
1478         (WebCore::Geolocation::getCurrentPosition):
1479         (WebCore::Geolocation::watchPosition):
1480         * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
1481         (WebCore::PositionError::):
1482         * page/PositionError.idl: Add new named error constants
1483
1484 2008-11-14  Beth Dakin  <bdakin@apple.com>
1485
1486         Reviewed by Justin Garcia.
1487
1488         Fix (again) for <rdar://problem/5089327> Too much indentation when 
1489         pasting quoted paragraphs
1490
1491         This patch goes back to Justin's original approach to fix this bug, 
1492         written in revision 38273. That fix was mostly rolled out by 
1493         revision 38310 because of styling issues created by the addition of 
1494         extra blockquote nodes. This patch again goes back to Justin's 
1495         original fix because of cases we discovered the newer fix could not 
1496         possibly cover. This version of the patch minimizes the styling 
1497         issues of extra blockquotes by opting into the merge start code. 
1498
1499         * editing/ReplaceSelectionCommand.cpp:
1500         (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to 
1501         return true when the quoting level of the end of the inserted 
1502         content matches the quoting level of the end of the existing 
1503         content.
1504         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls 
1505         hasMatchingQuoteLevel
1506         (WebCore::ReplaceSelectionCommand::doApply):
1507
1508 2008-11-14  Dirk Schulze  <vbs85@gmx.de>
1509
1510         Reviewed by Eric Seidel.
1511
1512         Made SVGResourceClipper platform independent.
1513         https://bugs.webkit.org/show_bug.cgi?id=21444
1514
1515         * GNUmakefile.am:
1516         * WebCore.pro:
1517         * WebCore.vcproj/WebCore.vcproj:
1518         * WebCore.xcodeproj/project.pbxproj:
1519         * platform/graphics/GraphicsContext.h:
1520         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1521         (WebCore::GraphicsContext::clipPath):
1522         * platform/graphics/cg/GraphicsContextCG.cpp:
1523         (WebCore::GraphicsContext::clipPath):
1524         * platform/graphics/qt/GraphicsContextQt.cpp:
1525         (WebCore::GraphicsContext::addPath):
1526         (WebCore::GraphicsContext::clipPath):
1527         * svg/graphics/SVGResourceClipper.cpp:
1528         (WebCore::SVGResourceClipper::applyClip):
1529         * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
1530         * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
1531         * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
1532
1533 2008-11-14  Antti Koivisto  <antti@apple.com>
1534
1535         Reviewed by Anders Carlsson.
1536
1537         Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
1538
1539         * loader/FrameLoader.cpp:
1540         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
1541         * loader/FrameLoader.h:
1542
1543 2008-11-14  Sam Weinig  <sam@webkit.org>
1544
1545         Reviewed by Eric Seidel.
1546
1547         Remove unneeded forward declaration.
1548
1549         * plugins/Plugin.h:
1550
1551 2008-11-14  Darin Fisher  <darin@chromium.org>
1552
1553         Reviewed by Darin Adler.
1554
1555         https://bugs.webkit.org/show_bug.cgi?id=22251
1556         HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
1557
1558         * html/HTMLCanvasElement.cpp:
1559
1560 2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
1561
1562         Reviewed by Simon Hausmann.
1563
1564         Add new files from the Qt port to the build.
1565
1566         * WebCore.pro:
1567
1568 2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
1569
1570         Reviewed by Simon Hausmann.
1571
1572         Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
1573         port to apply a default quota only if there is no entry in the
1574         database for a given origin yet.
1575
1576         * storage/DatabaseTracker.h:
1577
1578 2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
1579
1580         Reviewed by Simon Hausmann.
1581
1582         Make it possible to get the cache directory set in the application
1583         cache storage.
1584
1585         * loader/appcache/ApplicationCacheStorage.cpp:
1586         (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
1587         * loader/appcache/ApplicationCacheStorage.h:
1588
1589 2008-11-14  Justin Garcia  <justin.garcia@apple.com>
1590
1591         Reviewed by Beth Dakin.
1592
1593         <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
1594         
1595         When applying block styles, we would add block properties to the body element, and Mail's
1596         Make Plain Text feature isn't equipped to remove those.  This could have been fixed on our side,
1597         but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
1598         
1599         We have code that puts the paragraphs that we're operating on into blocks of their own before
1600         adding or removing block properties from the blocks that enclose them.  We need to run this code 
1601         when the enclosing block is the body element.
1602         
1603         * editing/CompositeEditCommand.cpp:
1604         (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
1605         to here.
1606         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
1607         Added a few comments.  Fixed bug by not bailing out when the block about to be used is the body element.
1608         * editing/CompositeEditCommand.h:
1609
1610 2008-11-14  Cameron Zwarich  <zwarich@apple.com>
1611
1612         Reviewed by Darin Adler.
1613
1614         Bug 22245: Move wtf/dtoa.h into the WTF namespace
1615         <https://bugs.webkit.org/show_bug.cgi?id=22245>
1616
1617         Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
1618
1619         * platform/text/String.cpp:
1620         (WebCore::charactersToDouble):
1621
1622 2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
1623
1624         Rubber-stamped by Simon Hausmann.
1625
1626         Make sure Qt scrollbars follow the style with regard to context menus
1627
1628         * platform/qt/ScrollbarQt.cpp:
1629         (WebCore::Scrollbar::contextMenu):
1630
1631 2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
1632
1633         Rubber-stamped by Simon Hausmann.
1634
1635         Make scrollbar look active when the window is active on Qt/Mac
1636
1637         * platform/qt/ScrollbarThemeQt.cpp:
1638         (WebCore::styleOptionSlider):
1639         (WebCore::ScrollbarThemeQt::paint):
1640
1641 2008-11-13  Eric Seidel  <eric@webkit.org>
1642
1643         Reviewed by Adam Roben.
1644
1645         Add a basic Scons-based build system for building
1646         Chromium-Mac WebCore.
1647         https://bugs.webkit.org/show_bug.cgi?id=21991
1648
1649         The build currently fails due to missing files from our
1650         platform directory (platform skia and platform chromium)
1651         I will be sending those up shortly in separate patches.
1652         I expect it will be a while before our WebCore build links.
1653
1654         * SConstruct: Added.
1655         * WebCore.scons: Added.
1656
1657 2008-11-13  Darin Fisher  <darin@chromium.org>
1658
1659         Reviewed by Darin Adler.
1660
1661         https://bugs.webkit.org/show_bug.cgi?id=22248
1662         AtomicString.cpp uses JSC types outside of #if USE(JSC)
1663
1664         * platform/text/AtomicString.cpp:
1665         (WebCore::AtomicString::add):
1666         
1667 2008-11-13  Justin Garcia  <justin.garcia@apple.com>
1668
1669         Reviewed by Darin Adler.
1670         
1671         https://bugs.webkit.org/show_bug.cgi?id=18620
1672         Long hang under TextIterator::advance() when loading http://www.lsvd.de/
1673
1674         A huge section at the beginning of this document is invisible.  As we iterate through it,
1675         we create VisiblePositions unnecessarily.
1676
1677         * editing/TextIterator.cpp:
1678         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition 
1679         creation if m_node is unrendered or invisible.  The answers wouldn't have much meaning 
1680         and would be wasteful.  Also fixed some comments to reflect the fact that this function
1681         isn't specifically about emitting a newline.
1682
1683 2008-11-13  Pierre-Olivier Latour  <pol@apple.com>
1684
1685         Reviewed by Sam Weinig.
1686
1687         Remove unused or unnecessary code from AnimationBase class.
1688
1689         * page/animation/AnimationBase.cpp:
1690         (WebCore::AnimationBase::AnimationBase):
1691         (WebCore::AnimationBase::playStatePlaying):
1692         * page/animation/AnimationBase.h:
1693
1694 2008-11-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
1695
1696         Reviewed by Simon Hausmann.
1697
1698         Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
1699
1700         Currently only used by QtWebKit. See also:
1701
1702         https://bugs.webkit.org/show_bug.cgi?id=21427
1703
1704         * WebCore.pro:
1705         * platform/qt/TemporaryLinkStubs.cpp:
1706         (PluginView::userAgentStatic):
1707         (PluginView::getValueStatic):
1708         * plugins/PluginView.cpp:
1709         (WebCore::PluginView::handleEvent):
1710         (WebCore::PluginView::setValue):
1711         (WebCore::PluginView::PluginView):
1712         * plugins/PluginView.h:
1713         (WebCore::PluginView::setPlatformPluginWidget):
1714         * plugins/mac/PluginPackageMac.cpp: Added.
1715         (WebCore::PluginPackage::determineQuirks):
1716         (WebCore::readPListFile):
1717         (WebCore::stringListFromResourceId):
1718         (WebCore::PluginPackage::fetchInfo):
1719         (WebCore::PluginPackage::load):
1720         (WebCore::PluginPackage::hash):
1721         (WebCore::PluginPackage::equal):
1722         (WebCore::PluginPackage::compareFileVersion):
1723         * plugins/mac/PluginViewMac.cpp: Added.
1724         (WebCore::nativeWindowFor):
1725         (WebCore::cgHandleFor):
1726         (WebCore::topLevelOffsetFor):
1727         (WebCore::PluginView::init):
1728         (WebCore::PluginView::~PluginView):
1729         (WebCore::PluginView::stop):
1730         (WebCore::PluginView::getValueStatic):
1731         (WebCore::PluginView::getValue):
1732         (WebCore::PluginView::setParent):
1733         (WebCore::PluginView::show):
1734         (WebCore::PluginView::hide):
1735         (WebCore::PluginView::setFocus):
1736         (WebCore::PluginView::setParentVisible):
1737         (WebCore::PluginView::setNPWindowRect):
1738         (WebCore::PluginView::setNPWindowIfNeeded):
1739         (WebCore::PluginView::updatePluginWidget):
1740         (WebCore::PluginView::paint):
1741         (WebCore::PluginView::invalidateRect):
1742         (WebCore::PluginView::invalidateRegion):
1743         (WebCore::PluginView::forceRedraw):
1744         (WebCore::PluginView::handleMouseEvent):
1745         (WebCore::PluginView::handleKeyboardEvent):
1746         (WebCore::PluginView::nullEventTimerFired):
1747         (WebCore::modifiersForEvent):
1748         (WebCore::PluginView::globalMousePosForPlugin):
1749         (WebCore::PluginView::dispatchNPEvent):
1750         (WebCore::PluginView::userAgent):
1751         (WebCore::PluginView::userAgentStatic):
1752         (WebCore::PluginView::handlePostReadFile):
1753
1754 2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
1755
1756         Reviewed by Darin Adler.
1757
1758         https://bugs.webkit.org/show_bug.cgi?id=22200
1759         Crash when close event is dispatched to MessagePort due to document destruction
1760
1761         Test: fast/events/message-port-onclose.html
1762
1763         * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
1764         Don't dispatch close event, even though HTML5 currently says that we should. It is not
1765         right for GC to have observable effects.
1766
1767 2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
1768
1769         Reviewed by Darin Adler.
1770
1771         https://bugs.webkit.org/show_bug.cgi?id=22203
1772         Implement Worker messaging
1773
1774         No test cases included, because this functionality is disabled by default.
1775
1776         The implementation is known to still have many race condition, but works quite well for
1777         testing.
1778
1779         * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
1780
1781         * bindings/js/JSDOMBinding.cpp:
1782         (WebCore::markActiveObjectsForContext): Re-worded comments a little.
1783         (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
1784         incorrect, changed it to a much simpler (but still incorrect) version.
1785
1786         * dom/WorkerTask.cpp: Added.
1787         (WebCore::WorkerTask::~WorkerTask):
1788         * dom/WorkerTask.h: Added.
1789         Tasks posted to workers implement this new interface.
1790
1791         * bindings/js/JSDedicatedWorkerCustom.cpp:
1792         (WebCore::JSDedicatedWorker::mark):
1793         (WebCore::JSDedicatedWorker::connect):
1794         * dom/DedicatedWorker.h:
1795         * dom/DedicatedWorker.idl:
1796         Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
1797         WHATWG discussions.
1798
1799         * dom/DedicatedWorker.cpp:
1800         (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
1801         operations.
1802         (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
1803         (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
1804         one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
1805         this port starts with a null context pointer.
1806         (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
1807         after creation, we have to queue tasks until after a WorkerThread object is created. Then we
1808         forward all queued tasks to its queue.
1809
1810         * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
1811         * dom/EventTarget.h:
1812         * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
1813         Added cases for WorkerContext, which is now an EventTarget, too.
1814
1815         * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
1816         * bindings/js/JSWorkerContext.cpp:
1817         (WebCore::JSWorkerContext::mark): Mark event listeners.
1818         (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
1819         (WebCore::JSWorkerContext::put): Implemented.
1820         (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
1821         (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
1822         (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
1823         (WebCore::jsWorkerContextOnconnect): Added.
1824         (WebCore::setJSWorkerContextOnconnect): Added.
1825
1826         * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
1827         Made it actually work by adding necessary setup.
1828
1829         * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
1830         Check the right variable - it is the wrapper that may not be initialized yet.
1831
1832         * dom/ActiveDOMObject.cpp:
1833         (WebCore::ActiveDOMObject::ActiveDOMObject):
1834         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1835         Assert being called from the correct thread, as active DOM object tracking is not thread safe.
1836
1837         * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
1838         for asynchronously executing tasks in context's thread.
1839
1840         * dom/ScriptExecutionContext.cpp:
1841         (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
1842         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
1843         It was an optimization that couldn't be easily preserved without introducing race conditions
1844         in multithreading case.
1845         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
1846         (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
1847         why it's OK to not ref() ports in a frozen copy.
1848         (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
1849         from a wrong thread.
1850         (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
1851         (WebCore::ScriptExecutionContextTaskTimer): Part of
1852         ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
1853         thread.
1854         (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
1855         to a worker.
1856         (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
1857         to main thread from a secondary one.
1858         (WebCore::performTask): A helper function for callOnMainThread().
1859         (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
1860
1861         * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
1862         ref/deref EventData::message from different threads, which is not allowed.
1863
1864         * dom/MessagePort.cpp:
1865         (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
1866         (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
1867         (WebCore::MessagePort::EventData::EventData): Ditto.
1868         (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
1869         first, because we need to create ports for posting to other threads, and it is not possible
1870         to register in a context from another thread.
1871         (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
1872         receiver's job to set the context.
1873         (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
1874         context yet.
1875         (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
1876         (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
1877         (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
1878         context.
1879         (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
1880         (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
1881         (WebCore::MessagePort::queueCloseEvent): Use postTask().
1882         (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
1883         MessagePort cross-heap GC is still quite wrong.
1884
1885         * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
1886         * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
1887         now, but there is no harm in tracking it in release builds, too.
1888
1889         * dom/WorkerThread.cpp:
1890         (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
1891         (WebCore::WorkerThread::workerThread): Implemented a message loop.
1892         * dom/WorkerThread.h:
1893         (WebCore::WorkerThread::threadID): Also only used for assertions.
1894         (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
1895
1896         * page/DOMWindow.cpp:
1897         (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
1898         always sets it to null.
1899         (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
1900
1901 2008-11-12  Dirk Schulze  <vbs85@gmx.de>
1902
1903         Reviewed Darin Adler.
1904
1905         use strokeColor.alpha() instead of fillColor.alpha()
1906         on GraphicsContext::strokePath()
1907
1908         [Canvas] Transparent fillStyle stops line rendering
1909         https://bugs.webkit.org/show_bug.cgi?id=21888
1910
1911         Test: fast/canvas/canvas-stroke-empty-fill.html
1912
1913         * ChangeLog:
1914         * platform/graphics/cg/GraphicsContextCG.cpp:
1915         (WebCore::GraphicsContext::strokePath):
1916
1917 2008-11-12  Stephanie  <slewis@apple.com>
1918
1919         Reviewed by Mark Rowe.
1920
1921         Fix context leak in XSLStyleSheets.
1922         See bug https://bugs.webkit.org/show_bug.cgi?id=15715
1923
1924         * xml/XSLStyleSheet.cpp:
1925         (WebCore::XSLStyleSheet::parseString):
1926
1927 2008-11-12  Alp Toker  <alp@nuanti.com>
1928
1929         autotools: List web worker-related headers needed for a successful
1930         build. distcheck is passing again with this change.
1931
1932         * GNUmakefile.am:
1933
1934 2008-11-12  Alp Toker  <alp@nuanti.com>
1935
1936         autotools build system fix-up only. Add FloatQuad.h to the source
1937         lists and sort them.
1938
1939         * GNUmakefile.am:
1940
1941 2008-11-12  Alp Toker  <alp@nuanti.com>
1942
1943         Build fixes for r38346. FloatQuad.cpp is missing:
1944
1945         1) #include "config.h"
1946         2) #include <algorithm> for various mathematical definitions it uses.
1947
1948         * platform/graphics/FloatQuad.cpp:
1949
1950 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
1951
1952         Reviewed by Dan Bernstein
1953
1954         https://bugs.webkit.org/show_bug.cgi?id=22212
1955
1956         Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
1957         it may be the bounding outline box of a transformed element, and fix it
1958         to respect transforms by mapping the outline box to an absolute quad and
1959         taking the enclosing rect.
1960         
1961         RenderBox::localToAbsoluteQuad() can no longer assert that there is no
1962         LayoutState, but LayoutState cannot be used during quad mapping (it knows
1963         nothing about transforms).
1964         
1965         Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
1966         borderTopExtra() from the object, rather than its container (as localToAbsolute()
1967         does).
1968         
1969         Test: fast/repaint/transform-absolute-child.html
1970
1971         * rendering/RenderBlock.cpp:
1972         (WebCore::RenderBlock::layoutBlock):
1973         * rendering/RenderBox.cpp:
1974         (WebCore::RenderBox::localToAbsoluteQuad):
1975         * rendering/RenderFlexibleBox.cpp:
1976         (WebCore::RenderFlexibleBox::layoutBlock):
1977         * rendering/RenderForeignObject.cpp:
1978         (WebCore::RenderForeignObject::layout):
1979         * rendering/RenderLayer.cpp:
1980         (WebCore::RenderLayer::updateLayerPositions):
1981         (WebCore::RenderLayer::setHasVisibleContent):
1982         * rendering/RenderObject.cpp:
1983         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1984         (WebCore::RenderObject::absoluteOutlineBounds):
1985         * rendering/RenderObject.h:
1986         * rendering/RenderPath.cpp:
1987         (WebCore::RenderPath::layout):
1988         * rendering/RenderReplaced.cpp:
1989         (WebCore::RenderReplaced::layout):
1990         * rendering/RenderSVGContainer.cpp:
1991         (WebCore::RenderSVGContainer::layout):
1992         * rendering/RenderSVGImage.cpp:
1993         (WebCore::RenderSVGImage::layout):
1994         * rendering/RenderSVGRoot.cpp:
1995         (WebCore::RenderSVGRoot::layout):
1996         * rendering/RenderSVGText.cpp:
1997         (WebCore::RenderSVGText::layout):
1998         * rendering/RenderSVGViewportContainer.cpp:
1999         (WebCore::RenderSVGViewportContainer::layout):
2000         * rendering/RenderTable.cpp:
2001         (WebCore::RenderTable::layout):
2002
2003 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
2004
2005         Reviewed by Dave Hyatt
2006
2007         https://bugs.webkit.org/show_bug.cgi?id=21942
2008         https://bugs.webkit.org/show_bug.cgi?id=18557
2009         
2010         Add methods which can be used to map renderer-local rectangles
2011         to quads in absolute coordinates, taking transforms into account:
2012             localToAbsoluteQuad() converts a local rect into an absolute quad.
2013             collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
2014                 that works with quads.
2015             absoluteQuads() is an analogue of absoluteRects(), for quads.
2016         
2017         Use the quad methods to fix the inspector highlight for transformed
2018         elements.
2019
2020         * GNUmakefile.am:
2021         * WebCore.pro:
2022         * WebCore.vcproj/WebCore.vcproj:
2023         * WebCore.xcodeproj/project.pbxproj:
2024         * WebCoreSources.bkl:
2025         * inspector/InspectorController.cpp:
2026         (WebCore::drawOutlinedQuad):
2027         (WebCore::drawHighlightForBoxes):
2028         (WebCore::frameToMainFrameOffset):
2029         (WebCore::InspectorController::drawNodeHighlight):
2030         * platform/graphics/AffineTransform.cpp:
2031         (WebCore::AffineTransform::mapQuad):
2032         * platform/graphics/AffineTransform.h:
2033         * platform/graphics/FloatQuad.cpp: Added.
2034         (WebCore::min4):
2035         (WebCore::max4):
2036         (WebCore::FloatQuad::boundingBox):
2037         * platform/graphics/FloatQuad.h: Added.
2038         (WebCore::FloatQuad::FloatQuad):
2039         (WebCore::FloatQuad::p1):
2040         (WebCore::FloatQuad::p2):
2041         (WebCore::FloatQuad::p3):
2042         (WebCore::FloatQuad::p4):
2043         (WebCore::FloatQuad::setP1):
2044         (WebCore::FloatQuad::setP2):
2045         (WebCore::FloatQuad::setP3):
2046         (WebCore::FloatQuad::setP4):
2047         (WebCore::FloatQuad::isEmpty):
2048         (WebCore::FloatQuad::enclosingBoundingBox):
2049         (WebCore::FloatQuad::move):
2050         (WebCore::operator+=):
2051         (WebCore::operator-=):
2052         (WebCore::operator==):
2053         (WebCore::operator!=):
2054         * rendering/RenderBox.cpp:
2055         (WebCore::RenderBox::localToAbsoluteQuad):
2056         * rendering/RenderBox.h:
2057         * rendering/RenderContainer.cpp:
2058         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
2059         * rendering/RenderContainer.h:
2060         * rendering/RenderInline.cpp:
2061         (WebCore::RenderInline::absoluteQuads):
2062         * rendering/RenderInline.h:
2063         * rendering/RenderObject.cpp:
2064         (WebCore::RenderObject::absoluteBoundingBoxRect):
2065         (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
2066         (WebCore::RenderObject::absoluteQuads):
2067         (WebCore::RenderObject::localToAbsoluteQuad):
2068         (WebCore::RenderObject::absoluteContentQuad):
2069         * rendering/RenderObject.h:
2070         * rendering/RenderPath.cpp:
2071         (WebCore::RenderPath::absoluteQuads):
2072         * rendering/RenderPath.h:
2073         * rendering/RenderSVGContainer.cpp:
2074         (WebCore::RenderSVGContainer::absoluteQuads):
2075         * rendering/RenderSVGContainer.h:
2076         * rendering/RenderSVGHiddenContainer.cpp:
2077         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
2078         * rendering/RenderSVGHiddenContainer.h:
2079         * rendering/RenderSVGImage.cpp:
2080         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
2081         (WebCore::RenderSVGImage::absoluteQuads):
2082         * rendering/RenderSVGImage.h:
2083         * rendering/RenderSVGInlineText.cpp:
2084         (WebCore::RenderSVGInlineText::absoluteQuads):
2085         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
2086         * rendering/RenderSVGInlineText.h:
2087         * rendering/RenderSVGRoot.cpp:
2088         (WebCore::RenderSVGRoot::absoluteQuads):
2089         * rendering/RenderSVGRoot.h:
2090         * rendering/RenderSVGTSpan.cpp:
2091         (WebCore::RenderSVGTSpan::absoluteRects):
2092         (WebCore::RenderSVGTSpan::absoluteQuads):
2093         * rendering/RenderSVGTSpan.h:
2094         * rendering/RenderSVGText.cpp:
2095         (WebCore::RenderSVGText::absoluteRects):
2096         (WebCore::RenderSVGText::absoluteQuads):
2097         * rendering/RenderSVGText.h:
2098         * rendering/RenderSVGTextPath.cpp:
2099         (WebCore::RenderSVGTextPath::absoluteRects):
2100         (WebCore::RenderSVGTextPath::absoluteQuads):
2101         * rendering/RenderSVGTextPath.h:
2102         * rendering/RenderTableCell.cpp:
2103         (WebCore::RenderTableCell::localToAbsolute):
2104         (WebCore::RenderTableCell::localToAbsoluteQuad):
2105         * rendering/RenderTableCell.h:
2106         * rendering/RenderText.cpp:
2107         (WebCore::RenderText::absoluteQuads):
2108         (WebCore::RenderText::collectAbsoluteLineBoxQuads):
2109         * rendering/RenderText.h:
2110         * rendering/RenderView.cpp:
2111         (WebCore::RenderView::localToAbsoluteQuad):
2112         (WebCore::RenderView::absoluteQuads):
2113         * rendering/RenderView.h:
2114
2115 2008-11-12  Brent Fulgham <bfulgham@gmail.com>
2116
2117         Fix Bug 22178: Build errors in WebKit Cairo port
2118
2119         <https://bugs.webkit.org/show_bug.cgi?id=22178>
2120
2121         Reviewed by Mark Rowe.
2122
2123         * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
2124         Visual Studio.
2125         (WebCore::Pattern::createPlatformPattern):
2126
2127 2008-11-12  Adam Roben  <aroben@apple.com>
2128
2129         Fix a typo in the include path for the Release_Cairo configuration
2130
2131         * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
2132
2133 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
2134
2135         Reviewed by Dave Hyatt
2136
2137         https://bugs.webkit.org/show_bug.cgi?id=17840
2138         Patch 2
2139         
2140         Code cleanup in RenderBox::computeAbsoluteRepaintRect().
2141
2142         * rendering/RenderBox.cpp:
2143         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2144
2145 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
2146
2147         Reviewed by Dave Hyatt
2148
2149         https://bugs.webkit.org/show_bug.cgi?id=17840
2150
2151         Fix repainting when the transform on a positioned element changes.
2152         In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
2153         and being in a positioned container after applying the transform to the local
2154         rect.
2155
2156         Tests: fast/repaint/transform-absolute-in-positioned-container.html
2157                fast/repaint/transform-relative-position.html
2158
2159         * rendering/RenderBox.cpp:
2160         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2161
2162 2008-11-12  Justin Garcia  <justin.garcia@apple.com>
2163  
2164         Reviewed by Beth Dakin.
2165  
2166         <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
2167         <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
2168         
2169         We don't want to merge into a block if it will mean changing the quote level of content after deleting 
2170         selections that contain a whole number paragraphs plus a line break, since it is unclear to most users 
2171         that such a selection actually ends at the start of the next paragraph.  Instead we want to completely
2172         remove the selected paragraph(s) and all evidence of the first one's quote level.  This matches TextEdit behavior 
2173         for indented paragraphs.
2174  
2175         * editing/DeleteSelectionCommand.cpp:
2176         (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
2177         try to merge after the deletion.  Instead try and prune the start block or blocks if they've been emptied
2178         so that we remove evidence of the deleted paragraphs' quote level.
2179         (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary.  Also 
2180         make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection 
2181         started on, instead of one higher.
2182         * editing/DeleteSelectionCommand.h:
2183         * editing/htmlediting.cpp:
2184         (WebCore::numEnclosingMailBlockquotes): Added.
2185         * editing/htmlediting.h:
2186
2187 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
2188
2189         Reviewed by Simon Hausmann.
2190
2191         Move _web_encodingForResource from WebKit into WebCore and change return type
2192
2193         This change is needed to implement NSAPI in WebCore for Mac, see:
2194
2195         https://bugs.webkit.org/show_bug.cgi?id=21427
2196
2197         * WebCore.base.exp:
2198         * platform/mac/WebCoreNSStringExtras.h:
2199         * platform/mac/WebCoreNSStringExtras.mm:
2200         (stringEncodingForResource):
2201
2202 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
2203
2204         Reviewed by Simon Hausmann.
2205
2206         Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
2207         WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
2208
2209         This change is needed to implement NSAPI in WebCore for Mac, see:
2210
2211         https://bugs.webkit.org/show_bug.cgi?id=21427
2212
2213         * WebCore.base.exp:
2214         * platform/mac/WebCoreNSStringExtras.h:
2215         * platform/mac/WebCoreNSStringExtras.mm:
2216         (stringIsCaseInsensitiveEqualToString):
2217
2218 2008-11-11  Stephanie  <slewis@apple.com>
2219
2220         Reviewed by Dan Bernstein.
2221
2222         Null check image data before setting it as image source.
2223
2224         Test: fast/images/image-empty-data.html
2225
2226         * platform/graphics/BitmapImage.cpp:
2227         (WebCore::BitmapImage::destroyDecodedData):
2228
2229 2008-11-11  Adele Peterson  <adele@apple.com>
2230
2231         Reviewed by Tim Hatcher.
2232
2233         Remove ifdef so future OS versions can use the new delegate method.
2234
2235         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
2236
2237 2008-11-11  Eric Seidel  <eric@webkit.org>
2238
2239         Reviewed by Antti Koivisto and Sam Weinig.
2240
2241         Clean up HTMLTokenizer a litle
2242         https://bugs.webkit.org/show_bug.cgi?id=22188
2243
2244         Rename pendingScripts to m_pendingScripts
2245         Rename scriptNode to m_scriptNode make the type specific
2246         Rename pendingSrc to m_pendingSrc
2247         Rename currentPrependingSrc to m_currentPrependingSrc
2248         Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
2249         Remove long-since-dead kdDebug and qDebug calls
2250         Rename brokenComments to m_brokenComments
2251         Remove HTMLTokenizer includes and document the rest
2252         Rename src to m_src
2253         Rename parser to m_parser and make it an OwnPtr
2254         Rename inWrite to m_inWrite and jsProxy to scriptController
2255         Rename brokenServer to m_brokenServer
2256         Rename buffer to m_buffer and dest to m_dest
2257         Rename size to m_bufferSize
2258         Rename attrName to m_attrName
2259         Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
2260         Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
2261         Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
2262         Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
2263         Rename flat to selfClosingTag
2264         Rename currToken to m_currentToken
2265
2266         * css/CSSParser.cpp:
2267         * dom/XMLTokenizer.cpp:
2268         * dom/XMLTokenizerLibxml2.cpp:
2269         * html/HTMLDocument.cpp:
2270         * html/HTMLElement.cpp:
2271         * html/HTMLFormControlElement.cpp:
2272         * html/HTMLParser.h:
2273         * html/HTMLTokenizer.cpp:
2274         (WebCore::Token::addAttribute):
2275         (WebCore::HTMLTokenizer::HTMLTokenizer):
2276         (WebCore::HTMLTokenizer::reset):
2277         (WebCore::HTMLTokenizer::begin):
2278         (WebCore::HTMLTokenizer::processListing):
2279         (WebCore::HTMLTokenizer::parseSpecial):
2280         (WebCore::HTMLTokenizer::scriptHandler):
2281         (WebCore::HTMLTokenizer::scriptExecution):
2282         (WebCore::HTMLTokenizer::parseComment):
2283         (WebCore::HTMLTokenizer::parseServer):
2284         (WebCore::HTMLTokenizer::parseProcessingInstruction):
2285         (WebCore::HTMLTokenizer::parseText):
2286         (WebCore::HTMLTokenizer::parseEntity):
2287         (WebCore::HTMLTokenizer::parseTag):
2288         (WebCore::HTMLTokenizer::write):
2289         (WebCore::HTMLTokenizer::processingData):
2290         (WebCore::HTMLTokenizer::end):
2291         (WebCore::HTMLTokenizer::finish):
2292         (WebCore::HTMLTokenizer::processToken):
2293         (WebCore::HTMLTokenizer::processDoctypeToken):
2294         (WebCore::HTMLTokenizer::~HTMLTokenizer):
2295         (WebCore::HTMLTokenizer::enlargeBuffer):
2296         (WebCore::HTMLTokenizer::enlargeScriptBuffer):
2297         (WebCore::HTMLTokenizer::notifyFinished):
2298         (WebCore::HTMLTokenizer::setSrc):
2299         * html/HTMLTokenizer.h:
2300         (WebCore::Token::Token):
2301         (WebCore::Token::reset):
2302         (WebCore::HTMLTokenizer::processingContentWrittenByScript):
2303         (WebCore::HTMLTokenizer::htmlParser):
2304         (WebCore::HTMLTokenizer::checkBuffer):
2305         (WebCore::HTMLTokenizer::checkScriptBuffer):
2306         * html/HTMLViewSourceDocument.h:
2307         * rendering/RenderBlock.cpp:
2308         (WebCore::RenderBlock::leftRelOffset):
2309         (WebCore::RenderBlock::rightRelOffset):
2310         (WebCore::RenderBlock::lineWidth):
2311         * xml/XSLTProcessor.cpp:
2312
2313 2008-11-11  Sam Weinig  <sam@webkit.org>
2314
2315         Reviewed by Dan Bernstein.
2316
2317         Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
2318         Track CachedScript decoded data
2319
2320         We now track the decoded size of CachedScripts in the Cache allowing
2321         them to accounted for when deciding when to evict data.  The decoded
2322         data itself can be evicted when Cache pressure gets high enough through
2323         CachedScript::destroyDecodedData.
2324
2325         * loader/CachedResource.h:
2326         (WebCore::CachedResource::allClientsRemoved):
2327         (WebCore::CachedResource::destroyDecodedData):
2328         * loader/CachedScript.cpp:
2329         (WebCore::CachedScript::script):
2330         (WebCore::CachedScript::data):
2331         (WebCore::CachedScript::destroyDecodedData):
2332         * loader/CachedScript.h:
2333
2334 2008-11-11  Cameron Zwarich  <zwarich@apple.com>
2335
2336         Reviewed by Geoff Garen.
2337
2338         Remove pointless dependencies on the now-deleted kjs directory and
2339         mentions of it in comments that are no longer relevant.
2340
2341         * WebCore.pro:
2342         * webcore-base.bkl:
2343
2344 2008-11-11  Dan Bernstein  <mitz@apple.com>
2345
2346         Reviewed by Adam Roben.
2347
2348         WebCore part of adding a master volume control for media elements in a WebView
2349
2350         * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
2351         * dom/Document.cpp:
2352         (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
2353         when the media volume is changed.
2354         (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
2355         elements to register for a callback when the media volume is changed.
2356         (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
2357         elements to unregister for the callback.
2358         * dom/Document.h:
2359         * dom/Element.h:
2360         (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
2361         * html/HTMLMediaElement.cpp:
2362         (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
2363         registerForMediaVolumeCallbacks().
2364         (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
2365         unregisterForMediaVolumeCallbacks().
2366         (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
2367         element's intrinsic volume by the master volume from the page.
2368         (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
2369         updateVolume().
2370         * html/HTMLMediaElement.h:
2371         * page/Page.cpp:
2372         (WebCore::Page::Page): Initialize m_mediaVolume to 1.
2373         (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
2374         every document in the page when the master volume changes.
2375         * page/Page.h:
2376         (WebCore::Page::mediaVolume): Added this getter.
2377
2378 2008-11-11  David Hyatt  <hyatt@apple.com>
2379
2380         https://bugs.webkit.org/show_bug.cgi?id=22182
2381
2382         Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
2383         is turned on.  Make sure to only jump the thumb if the click happens in the track.  Also fix some math
2384         errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
2385
2386         Reviewed by Adele
2387
2388         * platform/Scrollbar.cpp:
2389         (WebCore::Scrollbar::mouseDown):
2390
2391 2008-11-11  Beth Dakin  <bdakin@apple.com>
2392
2393         Reviewed by Darin Adler.
2394
2395         Fix for <rdar://problem/5089327> Too much indentation when pasting 
2396         quoted paragraphs
2397
2398         This patch re-addresses pasting blockquotes into blockquotes. It 
2399         backs out most of revision 38273. 38273 fixed the bug by inserting 
2400         the pasted content as a sibling blockquote node to the pre-existing 
2401         blockquote node. The problem with that is that by default, 
2402         blockquotes have a giant margin, so visually, this can be weird. 
2403         This patch instead inserts the pasted content as siblings of the 
2404         the content already inside the outer blockquote, and then removes 
2405         the blockquote node from the pasted content itself, so that it 
2406         doesn't nest itself into the outer blockquote.
2407         * editing/ReplaceSelectionCommand.cpp:
2408         (WebCore::ReplaceSelectionCommand::doApply):
2409
2410         Move contains() from Element to Node since there is nothing 
2411         Element-specific about it.
2412         * dom/Element.cpp:
2413         * dom/Element.h:
2414         * dom/Node.cpp:
2415         (WebCore::Node::contains):
2416         * dom/Node.h:
2417
2418 2008-11-11  David Hyatt  <hyatt@apple.com>
2419
2420         https://bugs.webkit.org/show_bug.cgi?id=17997
2421
2422         Stop using the new Leopard API tiling call for scaled tiles when drawing background images.  The method
2423         is buggy.  Fall back to using the slower (and more correct) pattern tiling that Tiger still uses.  This
2424         is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
2425
2426         Reviewed by John Sullivan
2427
2428         * platform/graphics/cg/ImageCG.cpp:
2429         (WebCore::Image::drawPattern):
2430
2431 2008-11-10  David Hyatt  <hyatt@apple.com>
2432
2433         Disable the Aqua look for menu lists when full page zoom is turned on.  Because the control is buggy
2434         when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
2435         how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
2436
2437         Reviewed by Adam Roben
2438
2439         * rendering/RenderThemeMac.mm:
2440         (WebCore::RenderThemeMac::isControlStyled):
2441
2442 2008-11-11  Darin Adler  <darin@apple.com>
2443
2444         Reviewed by Dan Bernstein.
2445
2446         - https://bugs.webkit.org/show_bug.cgi?id=22160
2447         speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
2448         (previousLinePosition, too) uses a nil node
2449
2450         * editing/visible_units.cpp:
2451         (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
2452         to check editingIgnoresContent. It makes sense to use the associated DOM node for
2453         this, even in cases of anonymous content, and it avoids the case where element() can
2454         be 0.
2455         (WebCore::previousLinePosition): Ditto.
2456
2457 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
2458
2459         Reviewed by Darin Adler.
2460
2461         Removed default: in applySpreadMethod. This causes the problems
2462         in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
2463         or CSS.
2464
2465         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2466         (WebCore::applySpreadMethod):
2467
2468 2008-11-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2469
2470         Reviewed by Tor Arne Vestbø.
2471
2472         Fix crash when rendering the file chooser.
2473         Also proper implementation for multi-selected files.
2474
2475         * platform/qt/FileChooserQt.cpp:
2476         (WebCore::FileChooser::basenameForWidth):
2477
2478 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
2479
2480         Reviewed by Oliver Hunt.
2481
2482         PatternCairo needs to invert the pattern matrix because
2483         of transformation from user space to pattern space.
2484         Give a identity matrix to pattern for Qt and Cairo. Because the 
2485         context is transformed already.
2486
2487         [CAIRO][QT] Canvas transformations applied twice to Patterns
2488         https://bugs.webkit.org/show_bug.cgi?id=21555
2489
2490         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2491         (WebCore::GraphicsContext::fillPath):
2492         (WebCore::GraphicsContext::strokePath):
2493         * platform/graphics/cairo/PatternCairo.cpp:
2494         (WebCore::Pattern::createPlatformPattern):
2495         * platform/graphics/qt/GraphicsContextQt.cpp:
2496         (WebCore::GraphicsContext::strokePath):
2497         (WebCore::GraphicsContext::fillRect):
2498
2499 2008-11-10  Stephanie Lewis  <slewis@apple.com>
2500
2501         Reviewed by Dan Bernstein.
2502
2503         Clear the image source cache even if we haven't decoded any of the image data.
2504         We use the image source cache when calculating layout.
2505
2506         * loader/Cache.cpp:
2507         (WebCore::Cache::pruneDeadResources):
2508         * platform/graphics/BitmapImage.cpp:
2509         (WebCore::BitmapImage::destroyDecodedData):
2510
2511 2008-11-10  Adam Roben  <aroben@apple.com>
2512
2513         Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
2514         loading microsoftpdc.com
2515
2516         <https://bugs.webkit.org/show_bug.cgi?id=22161>
2517
2518         Reviewed by Dan Bernstein.
2519
2520         Test: fast/css/outline-invert-assertion.html
2521
2522         * rendering/RenderThemeWin.cpp:
2523         (WebCore::RenderThemeWin::systemColor): If we can't determine a good
2524         Win32 system color to use, defer to RenderTheme instead of asserting.
2525         This matches what RenderThemeMac does.
2526
2527 2008-11-10  Justin Garcia  <justin.garcia@apple.com>
2528
2529         Reviewed by Beth Dakin.
2530
2531         <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 
2532         into quoted text yields double-quoting
2533         
2534         Don't nest inserted content in Mail blockquotes.  Perform a 
2535         BreakBlockquoteCommand if we're in
2536         one and insert the incoming fragment between the split blockquotes.
2537
2538         * editing/ReplaceSelectionCommand.cpp:
2539         (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 
2540         source and to -> destination.
2541         (WebCore::ReplaceSelectionCommand::doApply):
2542
2543 2008-11-10  Adam Roben  <aroben@apple.com>
2544
2545         Fix Bug 22158: Would like to turn on WebCore logging channels via an
2546         environment variable
2547
2548         <https://bugs.webkit.org/show_bug.cgi?id=22158>
2549
2550         Logging channels can now be enabled by setting the WebCoreLogLevel
2551         environment variable to a hexadecimal number.
2552
2553         Reviewed by Anders Carlsson.
2554
2555         * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
2556         * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
2557         (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
2558         environment variable, parse its value as a hexadecimal number, and
2559         turn the channel on/off based on whether the mask bit is set.
2560         (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
2561         logging channel in turn.
2562
2563 2008-11-10  Darin Adler  <darin@apple.com>
2564
2565         Reviewed by Adam Roben.
2566
2567         - fix https://bugs.webkit.org/show_bug.cgi?id=22103
2568           Changing fonts in preferences does not immediately update WebViews
2569
2570         This broke when the meaning of FrameView::invalidate changed.
2571         I changed setNeedsReapplyStyles to no longer depend on invalidate.
2572
2573         * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
2574         Removed the part of this function that duplicated what's already in
2575         FrameView::needsLayout, since the copy here left out a few key things.
2576         For example, it didn't handle the fact that "needs reapply styles"
2577         counts as needing layout.
2578
2579         * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
2580         FrameView::invalidate before. There were two things wrong with that.
2581         1) It requested that the entire view repaint even if the style change
2582         didn't necessitate that. 2) FrameView::invalidate no longer causes any
2583         repainting at all in certain cases, because of Hyatt's changes to how
2584         widgets and the host window are involved in the repainting process.
2585         So call FrameView::scheduleRelayout instead, which is more precisely
2586         what we want and need here.
2587
2588         * page/FrameView.cpp:
2589         (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
2590         so that Document::shouldScheduleLayout doesn't have to replicate the
2591         logic that's in needsLayout and can instead rely on the fact that it
2592         was already called.
2593         (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
2594         in this function.
2595
2596 2008-11-10  Darin Adler  <darin@apple.com>
2597
2598         Reviewed by Adam Roben.
2599
2600         - speculative fix for <rdar://problem/5557243> crashes in Safari at
2601           WebCore::HTMLSelectElement::updateListBoxSelection + 280
2602
2603         * html/HTMLSelectElement.cpp:
2604         (WebCore::HTMLSelectElement::updateListBoxSelection):
2605         Check index against size of vector before indexing into the vector.
2606
2607 2008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
2608
2609         Reviewed by Tor Arne Vestbø.
2610
2611         Fix QtWebkit build failure on arm.
2612
2613         pen.widthF() is a qreal, which means it's a float on arm.
2614
2615         * platform/graphics/qt/GraphicsContextQt.cpp:
2616         (WebCore::GraphicsContext::setLineDash):
2617
2618 2008-11-10  Morten Sørvig  <msorvig@trolltech.com>
2619
2620         Reviewed by Simon Hausmann.
2621
2622         Improve mouse wheel scolling on Qt/Cocoa.
2623         Cocoa differs from Carbon (and other platforms I think) in that the
2624         mouse wheel events we get have a much higher acceleration factor.
2625
2626         This submit switches over to scroll-per-pixel from scroll-per-line
2627         for most of our scrolling views. This matches the native views
2628         and works well with the increased acceleration.
2629
2630         * platform/qt/WheelEventQt.cpp:
2631
2632 2008-11-09  Cameron Zwarich  <zwarich@apple.com>
2633
2634         Reviewed by Darin Adler.
2635
2636         Bug 19541: Null pointer in showModalDialog()
2637         <https://bugs.webkit.org/show_bug.cgi?id=19541>
2638
2639         Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
2640         and JSDOMWindowBase::canShowModalDialogNow()C
2641
2642         * bindings/js/JSDOMWindowBase.cpp:
2643         (WebCore::canShowModalDialog):
2644         (WebCore::canShowModalDialogNow):
2645
2646 2008-11-09  Darin Adler  <darin@apple.com>
2647
2648         - try to fix Windows build
2649
2650         * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
2651         about needed a separate definition for static const integer data members.
2652         Until I get to the bottom of this, put the definitions inside an ifdef.
2653
2654 2008-11-09  David Kilzer  <ddkilzer@apple.com>
2655
2656         BUILD FIX: Qt build broke after r38235.
2657
2658         Added HAVE(ACCESSIBILITY) header guards to platform implementation
2659         source files.
2660
2661         * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
2662         guards.
2663         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
2664         * page/qt/AccessibilityObjectQt.cpp: Ditto.
2665         * page/win/AccessibilityObjectWin.cpp: Ditto.
2666         * page/wx/AccessibilityObjectWx.cpp: Ditto.
2667
2668 2008-11-09  Alexey Proskuryakov  <ap@webkit.org>
2669
2670         Reviewed by Darin Adler.
2671
2672         https://bugs.webkit.org/show_bug.cgi?id=22104
2673         Javascript URL percent encoding/decoding broken by some characters
2674
2675         Test: fast/loader/javascript-url-encoding-2.html
2676
2677         * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
2678
2679 2008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
2680
2681         Reviewed and tweaked by Darin Adler.
2682
2683         * platform/graphics/Color.cpp: Added definitions for the static data members
2684         in this class. Static data members need a definition, even when they are the
2685         simple integer constant kind that can be initialized in the header.
2686
2687 2008-11-08  Antti Koivisto  <antti@apple.com>
2688
2689         Reviewed by Sam Weinig.
2690         
2691         Fix https://bugs.webkit.org/show_bug.cgi?id=22141
2692         REGRESSION: Safari error page is not fully styled when loaded from cache
2693         
2694         Reset text decoder on flush so it does not pass through the BOM when it is reused.
2695
2696         Test: fast/encoding/css-cached-bom.html
2697
2698         * loader/TextResourceDecoder.cpp:
2699         (WebCore::TextResourceDecoder::flush):
2700
2701 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
2702  
2703         Reviewed by Mark Rowe.
2704
2705         Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
2706         it was causing these errors to end up in the page's text representation.
2707
2708         * platform/network/curl/ResourceHandleManager.cpp:
2709         (WebCore::ResourceHandleManager::downloadTimerCallback):
2710
2711 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
2712
2713         wx build fixes after addition of JSCore parser and bycompiler dirs. 
2714
2715         * webcore-base.bkl:
2716         * webcore-wx.bkl:
2717
2718 2008-11-08  Simon Fraser  <simon.fraser@apple.com>
2719
2720         Reviewed by Dan Bernstein
2721
2722         https://bugs.webkit.org/show_bug.cgi?id=21906
2723         
2724         Override addFocusRingRects() in RenderTextControl to avoid
2725         the RenderFlow behavior of recursing on descendent renderers.
2726         RenderTextControl should only ever need a simple focus rect.
2727         
2728         This fixes focus ring issues with transforms on text controls.
2729         
2730         Test: fast/transforms/transformed-focused-text-input.html
2731
2732         * rendering/RenderTextControl.cpp:
2733         (WebCore::RenderTextControl::addFocusRingRects):
2734         * rendering/RenderTextControl.h:
2735
2736 2008-11-08  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
2737
2738         Make sure the icon thumbnail width/height is at least 1px in
2739         the Web Inspector's resource panel.
2740
2741         <rdar://problem/5988888>
2742
2743         Reviewed by Tim Hatcher.
2744
2745         * inspector/front-end/inspector.css:
2746
2747 2008-11-08  David Kilzer  <ddkilzer@apple.com>
2748
2749         Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
2750
2751         <https://bugs.webkit.org/show_bug.cgi?id=22137>
2752
2753         Reviewed by Darin Adler.
2754
2755         * page/AccessibilityObject.h:
2756         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2757         Provide a default implementation when HAVE(ACCESSIBILITY) is false.
2758         * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
2759         * page/mac/AccessibilityObjectMac.mm: Ditto.
2760         * page/mac/AccessibilityObjectWrapper.mm: Ditto.
2761
2762 2008-11-08  Dan Bernstein  <mitz@apple.com>
2763
2764         Reviewed by Darin Adler.
2765
2766         - WebCore part of adding WebPreferences for controlling databases and local storage
2767
2768         * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
2769         Settings::setLocalStorageEnabled().
2770         * page/DOMWindow.cpp:
2771         (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
2772         is disabled in settings.
2773         (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
2774         are disabled in settings.
2775         * page/Settings.cpp:
2776         (WebCore::Settings::Settings): Initialize m_databasesEnabled and
2777         m_localStorageEnabled.
2778         (WebCore::Settings::setDatabasesEnabled): Added.
2779         (WebCore::Settings::setLocalStorageEnabled): Added.
2780         * page/Settings.h:
2781         (WebCore::Settings::databasesEnabled): Added.
2782         (WebCore::Settings::localStorageEnabled): Added.
2783
2784 2008-11-07  Alp Toker  <alp@nuanti.com>
2785
2786         Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
2787         now require that only their top-level header file is included.
2788
2789         Patch tested and still builds fine with older GTK+ versions (back to
2790         2.8).
2791
2792         Future WebKit GTK+ contributions are required to adhere to this
2793         policy.
2794
2795         * platform/gtk/FileSystemGtk.cpp:
2796         * platform/gtk/KeyEventGtk.cpp:
2797         * platform/gtk/MouseEventGtk.cpp:
2798         * platform/gtk/WheelEventGtk.cpp:
2799         * platform/gtk/gtkdrawing.h:
2800         * plugins/gtk/gtk2xtbin.c:
2801         * plugins/gtk/gtk2xtbin.h:
2802
2803 2008-11-07  Anders Carlsson  <andersca@apple.com>
2804
2805         Reviewed by Kevin Decker
2806
2807         Explicitly initialize the NPDrawingModelCoreAnimation.
2808
2809         * bridge/npapi.h:
2810
2811 2008-11-07  Alp Toker  <alp@nuanti.com>
2812
2813         autotools fix. Always use the configured perl binary (which may be
2814         different to the one in $PATH) when generating sources.
2815
2816         * GNUmakefile.am:
2817
2818 2008-11-07  Simon Fraser  <simon.fraser@apple.com>
2819
2820         Reviewed by Dan Bernstein
2821
2822         https://bugs.webkit.org/show_bug.cgi?id=22122
2823         
2824         Use a stack-based object to simplify the pushLayoutState/popLayoutState
2825         code. LayoutStateMaintainer either pushes in the constructor, or allows
2826         an explicit push() later. Both cases require an explicit pop().
2827
2828         * rendering/RenderBlock.cpp:
2829         (WebCore::RenderBlock::layoutBlock):
2830         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2831         * rendering/RenderContainer.cpp:
2832         (WebCore::RenderContainer::layout):
2833         * rendering/RenderFlexibleBox.cpp:
2834         (WebCore::RenderFlexibleBox::layoutBlock):
2835         * rendering/RenderTable.cpp:
2836         (WebCore::RenderTable::layout):
2837         * rendering/RenderTableRow.cpp:
2838         (WebCore::RenderTableRow::layout):
2839         * rendering/RenderTableSection.cpp:
2840         (WebCore::RenderTableSection::setCellWidths):
2841         (WebCore::RenderTableSection::calcRowHeight):
2842         (WebCore::RenderTableSection::layoutRows):
2843         * rendering/RenderView.h:
2844         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2845         (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
2846         (WebCore::LayoutStateMaintainer::pop):
2847         (WebCore::LayoutStateMaintainer::push):
2848         (WebCore::LayoutStateMaintainer::didPush):
2849
2850 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
2851
2852         Fix the QtWebKit build on Mac
2853
2854         * platform/qt/TemporaryLinkStubs.cpp:
2855         (PluginView::invalidateRect):
2856
2857 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
2858
2859         Rubber-stamped by Simon Hausmann.
2860
2861         Don't allow Phonon's invisible video widget to keep the app running
2862
2863         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2864         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2865
2866 2008-11-07  Henrik Hartz  <henrik.hartz@nokia.com>
2867
2868         Reviewed by Simon Hausmann.
2869
2870         Fix valgrind warning about uninitialized lastStop variable.
2871
2872         * platform/graphics/qt/GradientQt.cpp:
2873         (WebCore::Gradient::platformGradient):
2874
2875 2008-11-07  Alexey Proskuryakov  <ap@webkit.org>
2876
2877         Reviewed by Maciej Stachowiak.
2878
2879         Fix layout test brokenness following r38211.
2880
2881         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2882         Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
2883         matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
2884         inadvertently. This may or may not be a good thing, but it's certainly not something that
2885         should change by accident.
2886
2887 2008-11-06  Antti Koivisto  <antti@apple.com>
2888
2889         Eh, this trivial last minute change was wrong.
2890
2891         * loader/CachedCSSStyleSheet.cpp:
2892         (WebCore::CachedCSSStyleSheet::sheetText):
2893
2894 2008-11-06  Antti Koivisto  <antti@apple.com>
2895
2896         Reviewed by Dan Bernstein.
2897
2898         https://bugs.webkit.org/show_bug.cgi?id=22093
2899         
2900         Delaying the text decoding caused regression since the decoding
2901         also determines the encoding in case of @charset rule. 
2902         
2903         Decode immediately in data() and keep the decoded string around
2904         during the checkNotify().
2905
2906         * loader/CachedCSSStyleSheet.cpp:
2907         (WebCore::CachedCSSStyleSheet::sheetText):
2908         (WebCore::CachedCSSStyleSheet::data):
2909         * loader/CachedCSSStyleSheet.h:
2910
2911 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
2912
2913         Reviewed by Darin Adler.
2914
2915         https://bugs.webkit.org/show_bug.cgi?id=22097
2916         Expose MessageEvent constructor on WorkerContext
2917
2918         * bindings/js/JSWorkerContext.cpp:
2919         (WebCore::jsWorkerContextMessageEvent):
2920         (WebCore::setJSWorkerContextMessageEvent):
2921
2922 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
2923
2924         Reviewed by Darin Adler.
2925
2926         https://bugs.webkit.org/show_bug.cgi?id=21107
2927         <rdar://problem/6264219> New access key combination conflicts with VoiceOver
2928
2929         * page/EventHandler.h:
2930         * page/gtk/EventHandlerGtk.cpp:
2931         (WebCore::EventHandler::accessKeyModifiers):
2932         * page/qt/EventHandlerQt.cpp:
2933         (WebCore::EventHandler::accessKeyModifiers):
2934         * page/win/EventHandlerWin.cpp:
2935         (WebCore::EventHandler::accessKeyModifiers):
2936         * page/wx/EventHandlerWx.cpp:
2937         (WebCore::EventHandler::accessKeyModifiers):
2938         Access access key modifiers via a function, not a static variable.
2939
2940         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
2941         Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
2942         less troublesome than one with VO keys.
2943
2944         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2945         Also fix an access key matching bug introduced in r32424 - Any superset of specified
2946         modifier set invoked access keys. We can use simple equality comparison instead because
2947         CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
2948
2949 2008-11-06  Anders Carlsson  <andersca@apple.com>
2950
2951         Reviewed by Kevin Decker.
2952
2953         https://bugs.webkit.org/show_bug.cgi?id=22115
2954         NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
2955
2956         Export _NPN_HasMethod and _NPN_HasProperty.
2957         
2958         * WebCore.NPAPI.exp:
2959
2960 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
2961
2962         Reviewed by Antti Koivisto
2963
2964         https://bugs.webkit.org/show_bug.cgi?id=15678
2965         
2966         Fix transformed menu selects to show the popup in the correct
2967         location.
2968
2969         * rendering/RenderMenuList.cpp:
2970         (WebCore::RenderMenuList::showPopup):
2971
2972 2008-11-06  David Kilzer  <ddkilzer@apple.com>
2973
2974         BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
2975
2976         Apparently older versions of gcc have issues with this patch.
2977         Backing out a second time until the issues are resolved.
2978
2979 2008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
2980
2981         Reviewed by Maciej Stachowiak.
2982
2983         Bug 21106: .in format discussed changes
2984         https://bugs.webkit.org/show_bug.cgi?id=21106
2985
2986         Include the namespace into the interfaceName.
2987
2988         * dom/make_names.pl: Do not append the namespace when
2989         using the interfaceName.
2990         * html/HTMLTagNames.in: Added namespace prefix for custom
2991         interfaceName.
2992         * svg/svgtags.in: Ditto.
2993
2994 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
2995
2996         Reviewed by Geoff Garen.
2997
2998         Move the remaining files in the kjs subdirectory of JavaScriptCore to
2999         a new parser subdirectory, and remove the kjs subdirectory entirely.
3000
3001         * ForwardingHeaders/kjs: Removed.
3002         * ForwardingHeaders/kjs/Parser.h: Removed.
3003         * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
3004         * ForwardingHeaders/kjs/SourceCode.h: Removed.
3005         * ForwardingHeaders/kjs/SourceProvider.h: Removed.
3006         * ForwardingHeaders/parser: Added.
3007         * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
3008         * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
3009         * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
3010         * WebCore.pro:
3011         * WebCore.vcproj/WebCore.vcproj:
3012         * bindings/js/StringSourceProvider.h:
3013         * bindings/js/WorkerScriptController.cpp:
3014         * bridge/NP_jsobject.cpp:
3015         * bridge/jni/jni_jsobject.mm:
3016         * bridge/testbindings.pro:
3017         * inspector/JavaScriptDebugServer.cpp:
3018
3019 2008-11-06  David Kilzer  <ddkilzer@apple.com>
3020
3021         BUILD WAS NOT BROKEN: Rolling r38189 back in.
3022
3023         Please perform a clean build if you see crashes.
3024
3025 2008-11-06  David Kilzer  <ddkilzer@apple.com>
3026
3027         BUILD FIX: Backed out r38189 since it apparently broke the world.
3028
3029 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
3030
3031         Reviewed by Beth Dakin.
3032
3033         Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
3034         https://bugs.webkit.org/show_bug.cgi?id=22112
3035
3036         Test: accessibility/content-editable.html
3037
3038         * page/AccessibilityRenderObject.cpp:
3039         (WebCore::AccessibilityRenderObject::isReadOnly):
3040
3041 2008-11-06  Sam Weinig  <sam@webkit.org>
3042
3043         Reviewed by Alice Liu.
3044
3045         Fix failed assert at launch caused by unintialized data member on the mac.
3046
3047         * platform/network/mac/NetworkStateNotifierMac.cpp:
3048         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3049
3050 2008-11-06  Steve Falkenburg  <sfalken@apple.com>
3051
3052         Fix failed assert at launch caused by unintialized data member.
3053         
3054         Reviewed by Maciej Stachowiak.
3055
3056         * platform/network/win/NetworkStateNotifierWin.cpp:
3057         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3058
3059 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
3060
3061         Reviewed by Antti Koivisto
3062
3063         https://bugs.webkit.org/show_bug.cgi?id=22109
3064         Make <input type="range"> work correctly with transforms
3065
3066         Test: fast/forms/slider-transformed.html
3067
3068         * html/HTMLInputElement.cpp:
3069         (WebCore::HTMLInputElement::defaultEventHandler):
3070             Compute a correct local point when the event is retargeted
3071         * rendering/RenderSlider.cpp:
3072         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3073             Compute m_initialClickPoint in slider-local coords, so that
3074             deltas are computed correctly with transforms
3075         (WebCore::RenderSlider::mouseEventIsInThumb):
3076             Rather than computing an absolute bounds for the thumb,
3077             convert the point to local coords and compare it with the border box.
3078
3079 2008-11-06  Greg Bolsinga  <bolsinga@apple.com>
3080
3081         Reviewed by Darin Adler.
3082
3083         Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
3084         https://bugs.webkit.org/show_bug.cgi?id=21810
3085
3086         * bindings/js/GCController.cpp:
3087         (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
3088         * bindings/js/JSDOMBinding.cpp:
3089         (WebCore::wrapperSet): Ditto
3090         * bindings/js/JSInspectedObjectWrapper.cpp:
3091         (WebCore::wrappers): Ditto
3092         * bindings/js/JSInspectorCallbackWrapper.cpp:
3093         (WebCore::wrappers): Ditto
3094         * bridge/runtime_root.cpp:
3095         (JSC::Bindings::rootObjectSet): Ditto
3096         * css/CSSMutableStyleDeclaration.cpp:
3097         (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
3098         * css/CSSPrimitiveValue.cpp:
3099         (WebCore::CSSPrimitiveValue::cssText): Ditto
3100         * css/CSSSelector.cpp:
3101         (WebCore::CSSSelector::extractPseudoType): Ditto
3102         * css/CSSStyleSelector.cpp:
3103         (WebCore::screenEval): Ditto
3104         (WebCore::printEval): Ditto
3105         * dom/DOMImplementation.cpp:
3106         (WebCore::isSVG10Feature): Ditto
3107         (WebCore::isSVG11Feature): Ditto
3108         (WebCore::DOMImplementation::isXMLMIMEType): Ditto
3109         * dom/Document.cpp:
3110         (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
3111         * dom/ScriptElement.cpp:
3112         (WebCore::isSupportedJavaScriptLanguage): Ditto
3113         * editing/ApplyStyleCommand.cpp:
3114         (WebCore::styleSpanClassString): Ditto
3115         * editing/HTMLInterchange.cpp:
3116         (WebCore::): Ditto
3117         * editing/IndentOutdentCommand.cpp:
3118         (WebCore::indentBlockquoteString): Ditto
3119         * editing/ReplaceSelectionCommand.cpp:
3120         (WebCore::isInterchangeNewlineNode): Ditto
3121         (WebCore::isInterchangeConvertedSpaceSpan): Ditto
3122         * editing/htmlediting.cpp:
3123         (WebCore::stringWithRebalancedWhitespace): Ditto
3124         (WebCore::nonBreakingSpaceString): Ditto
3125         * editing/markup.cpp:
3126         (WebCore::appendAttributeValue): Ditto
3127         (WebCore::appendEscapedContent): Ditto
3128         (WebCore::shouldAddNamespaceAttr): Ditto
3129         (WebCore::appendNamespace): Ditto
3130         (WebCore::appendStartMarkup): Ditto
3131         (WebCore::createMarkup): Ditto
3132         * html/HTMLButtonElement.cpp:
3133         (WebCore::HTMLButtonElement::type): Ditto
3134         * html/HTMLElement.cpp:
3135         (WebCore::HTMLElement::isRecognizedTagName): Ditto
3136         (WebCore::inlineTagList): Ditto
3137         (WebCore::blockTagList): Ditto
3138         * html/HTMLFieldSetElement.cpp:
3139         (WebCore::HTMLFieldSetElement::type): Ditto
3140         * html/HTMLInputElement.cpp:
3141         (WebCore::HTMLInputElement::type): Ditto
3142         * html/HTMLKeygenElement.cpp:
3143         (WebCore::HTMLKeygenElement::type): Ditto
3144         * html/HTMLLegendElement.cpp:
3145         (WebCore::HTMLLegendElement::type): Ditto
3146         * html/HTMLOptGroupElement.cpp:
3147         (WebCore::HTMLOptGroupElement::type): Ditto
3148         * html/HTMLOptionElement.cpp:
3149         (WebCore::HTMLOptionElement::type): Ditto
3150         * html/HTMLParser.cpp:
3151         (WebCore::HTMLParser::getNode): Ditto
3152         (WebCore::HTMLParser::isHeaderTag): Ditto
3153         (WebCore::HTMLParser::isResidualStyleTag): Ditto
3154         (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
3155         * html/HTMLSelectElement.cpp:
3156         (WebCore::HTMLSelectElement::type): Ditto
3157         * html/HTMLTextAreaElement.cpp:
3158         (WebCore::HTMLTextAreaElement::type): Ditto
3159         * inspector/InspectorController.cpp:
3160         (WebCore::platform): Ditto
3161         * inspector/JavaScriptDebugServer.cpp:
3162         (WebCore::JavaScriptDebugServer::shared): Ditto
3163         * inspector/JavaScriptProfile.cpp:
3164         (WebCore::profileCache): Ditto
3165         * inspector/JavaScriptProfileNode.cpp:
3166         (WebCore::profileNodeCache): Ditto
3167         * loader/FrameLoader.cpp:
3168         (WebCore::localSchemes): Ditto
3169         * loader/appcache/ApplicationCacheStorage.cpp:
3170         (WebCore::cacheStorage): Ditto
3171         * loader/archive/ArchiveFactory.cpp:
3172         (WebCore::archiveMIMETypes): Ditto
3173         * loader/icon/IconDatabase.cpp:
3174         (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
3175         * page/EventHandler.cpp:
3176         (WebCore::EventHandler::dragState): Ditto
3177         * page/Frame.cpp:
3178         (WebCore::createRegExpForLabels): Ditto
3179         (WebCore::keepAliveSet): Ditto
3180         * page/Page.cpp:
3181         (WebCore::Page::groupName): Ditto
3182         * page/SecurityOrigin.cpp:
3183         (WebCore::isDefaultPortForProtocol): Ditto
3184         (WebCore::SecurityOrigin::databaseIdentifier): Ditto
3185         * page/mac/FrameMac.mm:
3186         (WebCore::regExpForLabels): Ditto
3187         * platform/KURL.cpp:
3188         (WebCore::blankURL): Ditto
3189         * platform/graphics/FontCache.cpp:
3190         (WebCore::alternateFamilyName): Ditto
3191         * platform/graphics/mac/FontCacheMac.mm:
3192         (WebCore::FontCache::getSimilarFontPlatformData): Ditto
3193         (WebCore::FontCache::getLastResortFallbackFont): Ditto
3194         * platform/mac/ScrollbarThemeMac.mm:
3195         (WebCore::ScrollbarTheme::nativeTheme): Ditto
3196         * platform/mac/ThemeMac.mm:
3197         (WebCore::platformTheme): Ditto
3198         * platform/mac/ThreadCheck.mm:
3199         (WebCoreReportThreadViolation): Ditto
3200         * platform/network/NetworkStateNotifier.cpp:
3201         (WebCore::networkStateNotifier): Ditto
3202         * platform/network/mac/FormDataStreamMac.mm:
3203         (WebCore::getStreamFormDataMap): Ditto
3204         (WebCore::getStreamResourceHandleMap): Ditto
3205         * platform/network/mac/ResourceResponseMac.mm:
3206         (WebCore::ResourceResponse::platformLazyInit): Ditto
3207         * platform/text/TextEncoding.cpp:
3208         (WebCore::TextEncoding::isJapanese): Ditto
3209         * rendering/RenderBlock.cpp:
3210         (WebCore::continuationOutlineTable): Ditto
3211         * rendering/RenderCounter.cpp:
3212         (WebCore::counterMaps): Ditto
3213         * rendering/RenderFlexibleBox.cpp:
3214         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
3215         * rendering/RenderListItem.cpp:
3216         (WebCore::RenderListItem::markerText): Ditto
3217         * rendering/RenderScrollbarTheme.cpp:
3218         (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
3219         * rendering/RenderThemeMac.mm:
3220         (WebCore::RenderThemeMac::systemFont): Ditto
3221         * rendering/bidi.cpp:
3222         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
3223         * rendering/style/RenderStyle.cpp:
3224         (WebCore::RenderStyle::initialDashboardRegions): Ditto
3225         (WebCore::RenderStyle::noneDashboardRegions): Ditto
3226         * storage/LocalStorage.cpp:
3227         (WebCore::localStorageMap): Ditto
3228         * svg/SVGAnimateMotionElement.cpp:
3229         (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
3230         * svg/SVGAnimationElement.cpp:
3231         (WebCore::SVGAnimationElement::calcMode): Ditto
3232         (WebCore::SVGAnimationElement::attributeType): Ditto
3233         (WebCore::SVGAnimationElement::isAdditive): Ditto
3234         (WebCore::SVGAnimationElement::isAccumulated): Ditto
3235         * svg/SVGLangSpace.cpp:
3236         (WebCore::SVGLangSpace::xmlspace): Ditto
3237         * svg/SVGSVGElement.cpp:
3238         (WebCore::SVGSVGElement::contentScriptType): Ditto
3239         (WebCore::SVGSVGElement::contentStyleType): Ditto
3240         * svg/SVGStyleElement.cpp:
3241         (WebCore::SVGStyleElement::type): Ditto
3242         (WebCore::SVGStyleElement::media): Ditto
3243         * svg/SVGTextContentElement.cpp:
3244         (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
3245         * svg/animation/SVGSMILElement.cpp:
3246         (WebCore::SVGSMILElement::parseClockValue): Ditto
3247         (WebCore::SVGSMILElement::restart): Ditto
3248         (WebCore::SVGSMILElement::fill): Ditto
3249         (WebCore::SVGSMILElement::repeatCount): Ditto
3250         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
3251         * svg/graphics/SVGResource.cpp:
3252         (WebCore::clientMap): Ditto
3253         * svg/graphics/SVGResourceMarker.cpp:
3254         (WebCore::SVGResourceMarker::draw): Ditto
3255         * xml/XMLHttpRequest.cpp:
3256         (WebCore::preflightResultCache): Ditto
3257         (WebCore::isSafeRequestHeader): Ditto
3258         (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
3259         * xml/XPathExpressionNode.cpp:
3260         (WebCore::XPath::Expression::evaluationContext): Ditto
3261         * xml/XPathParser.cpp:
3262         (WebCore::XPath::isAxisName): Ditto
3263         (WebCore::XPath::isNodeTypeName): Ditto
3264         * xml/XPathValue.cpp:
3265         (WebCore::XPath::Value::toNodeSet): Ditto
3266
3267 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
3268
3269         Rubber-stamped by Simon Hausmann.
3270
3271         Remove a bunch of unused methods in the Qt media element implementation
3272
3273         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3274         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3275         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3276
3277 2008-11-05  Simon Fraser  <simon.fraser@apple.com>
3278
3279         Reviewed by Dave Hyatt
3280
3281         https://bugs.webkit.org/show_bug.cgi?id=21870
3282         
3283         Implement absoluteToLocal() to convert a point from absolute
3284         to local coordinates, optionally taking transforms into account.
3285         
3286         Use this to set offsetX/offsetY in mouse events, thus fixing
3287         offsetX/offsetY in events on elements with transforms.
3288
3289         Test: fast/events/offsetX-offsetY.html
3290
3291         * dom/MouseRelatedEvent.cpp:
3292         (WebCore::MouseRelatedEvent::receivedTarget):
3293         * rendering/RenderBox.cpp:
3294         (WebCore::RenderBox::localToAbsolute):
3295         (WebCore::RenderBox::absoluteToLocal):
3296         (WebCore::RenderBox::offsetFromContainer):
3297         * rendering/RenderBox.h:
3298         * rendering/RenderObject.cpp:
3299         (WebCore::RenderObject::absoluteToLocal):
3300         * rendering/RenderObject.h:
3301         * rendering/RenderTableCell.cpp:
3302         (WebCore::RenderTableCell::localToAbsolute):
3303         (WebCore::RenderTableCell::absoluteToLocal):
3304         * rendering/RenderTableCell.h:
3305         * rendering/RenderView.cpp:
3306         (WebCore::RenderView::absoluteToLocal):
3307         * rendering/RenderView.h:
3308
3309 2008-11-06  Alp Toker  <alp@nuanti.com>
3310
3311         Reviewed by Cameron Zwarich.
3312
3313         https://bugs.webkit.org/show_bug.cgi?id=22067
3314         [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
3315
3316         null-check symbols loaded from plugin modules, initialize the function
3317         table (like Win already does) and update it with the latest
3318         additions. Adjust whitespace for easy diff'ing with the Win port code
3319         from which it was forked.
3320
3321         This fixes crashes with libnspr4.so and any other plugins that don't
3322         provide the symbols we expect.
3323
3324         * plugins/gtk/PluginPackageGtk.cpp:
3325         (WebCore::PluginPackage::fetchInfo):
3326         (WebCore::PluginPackage::load):
3327
3328 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
3329
3330         Reviewed by Simon Hausmann.
3331
3332         Removed dead (and broken) code from an ancient Symbian port.
3333
3334         * config.h:
3335         * platform/text/AtomicString.h:
3336         * platform/text/PlatformString.h:
3337
3338 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
3339
3340         Reviewed by Simon Hausmann.
3341
3342         Use QLibrary as PlatformModule when compiling with Qt for S60.
3343
3344         * platform/FileSystem.h:
3345
3346 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
3347
3348         Reviewed by Simon Hausmann.
3349
3350         Compile fix for Symbian.
3351         The snprintf function is defined in stdio.h, the inclusion
3352         of snprintf.h inside this PLATFORM(SYMBIAN) block does not
3353         compile.
3354
3355         * config.h:
3356
3357 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
3358
3359         Reviewed by Simon Hausmann.
3360
3361         Disable webkit plugins for Symbian.
3362
3363         * WebCore.pro:
3364
3365 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
3366
3367         Fix build break in debug mode when XSLT is not enabled
3368
3369         * loader/Cache.cpp:
3370         (WebCore::Cache::dumpStats):
3371
3372 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
3373
3374         Reviewed by Simon Hausmann.
3375
3376         Repaint video on UpdateRequest to prevent recursive painting
3377
3378         Calling QWidget::render() to update the video generates a paint
3379         event that's then picked up by the event filter once more :(
3380
3381         We're really only interested in updates from Phonon, which we
3382         get through the UpdateRequest for each new frame.
3383
3384         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3385         (WebCore::MediaPlayerPrivate::eventFilter):
3386
3387 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
3388
3389         Not reviewed.
3390
3391         Fix the WebCore build for some platforms by changing build scripts to
3392         account for the recent move of the create_hash_table script from the kjs
3393         subdirectory of JavaScriptCore to the root directory.
3394
3395         * WebCore.pro:
3396         * make-generated-sources.sh:
3397
3398 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
3399
3400         Not reviewed.
3401
3402         Fix a case-sensitivity issue in Mac forwarding headers. Strangely
3403         enough, this does not always cause the build to break, even with a
3404         case-sensitive filesystem.
3405
3406         * ForwardingHeaders/runtime/Interpreter.h:
3407
3408 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
3409
3410         Reviewed by Maciej Stachowiak.
3411
3412         https://bugs.webkit.org/show_bug.cgi?id=22083
3413         MessageEvents cannot be used across threads
3414
3415         * dom/Event.idl:
3416         * dom/MessageEvent.idl:
3417         Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
3418         won't work.
3419
3420         * dom/MessagePort.cpp:
3421         (WebCore::MessagePort::EventData::EventData):
3422         (WebCore::MessagePort::EventData::~EventData):
3423         (WebCore::MessagePort::clone):
3424         (WebCore::MessagePort::postMessage):
3425         (WebCore::MessagePort::startConversation):
3426         (WebCore::MessagePort::dispatchMessages):
3427         * dom/MessagePort.h:
3428         Don't create a MessageEvent until dispatch time - messages can be posted across threads,
3429         but MessageEvents are tied to the thread that they were created in.
3430
3431 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
3432
3433         Reviewed by Darin Adler.
3434
3435         https://bugs.webkit.org/show_bug.cgi?id=22066
3436         Implement Worker global object
3437
3438         * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
3439
3440         * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
3441         support is still disabled by default.
3442
3443         * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
3444
3445         * bindings/js/JSMessageChannelConstructor.cpp:
3446         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
3447
3448         * bindings/js/JSWorkerContext.cpp: Added.
3449         * bindings/js/JSWorkerContext.h: Added.
3450         * bindings/js/WorkerScriptController.cpp: Added.
3451         * bindings/js/WorkerScriptController.h: Added.
3452         * dom/WorkerContext.cpp: Added.
3453         * dom/WorkerContext.h: Added.
3454         Added an implementation of worker contexts.
3455
3456         * dom/DedicatedWorker.cpp:
3457         (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
3458         (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
3459         and lifetime is not clear at all.
3460
3461         * dom/WorkerLocation.cpp: Added.
3462         * dom/WorkerLocation.h: Added.
3463         * dom/WorkerLocation.idl: Added.
3464         Added WorkerLocation, which is one of the objects available to workers.
3465
3466         * dom/WorkerThread.cpp: Added.
3467         (WebCore::WorkerThread::WorkerThread):
3468         (WebCore::WorkerThread::start):
3469         (WebCore::WorkerThread::workerThreadStart):
3470         (WebCore::WorkerThread::workerThread):
3471         * dom/WorkerThread.h: Added.
3472         (WebCore::WorkerThread::create):
3473         Run some code in a worker thread (no message loop yet).
3474
3475 2008-11-05  Antti Koivisto  <antti@apple.com>
3476
3477         Reviewed by Dan Bernstein.
3478         
3479         https://bugs.webkit.org/show_bug.cgi?id=22093
3480         Don't keep decoded stylesheet data in cache
3481         
3482         <rdar://problem/6343588>
3483
3484         Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
3485         performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
3486         style sheet data in cache by 2/3 in common case.  
3487
3488         * loader/CachedCSSStyleSheet.cpp:
3489         (WebCore::CachedCSSStyleSheet::sheetText):
3490         (WebCore::CachedCSSStyleSheet::data):
3491         * loader/CachedCSSStyleSheet.h:
3492
3493 2008-11-05  David Kilzer  <ddkilzer@apple.com>
3494
3495         Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
3496
3497         <https://bugs.webkit.org/show_bug.cgi?id=21596>
3498
3499         Reviewed by Antti.
3500
3501         This patch adds real parsing for Pragma and Cache-Control headers
3502         based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
3503         new String and StringImpl methods to assist with the parsing.
3504
3505         * loader/Cache.cpp:
3506         (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
3507         stats outside of Safari.
3508         * loader/Cache.h: Declared dumpStats().
3509
3510         * loader/CachedResource.cpp:
3511         (WebCore::CachedResource::mustRevalidate): Updated to use
3512         ResourceResponseBase::cacheControlDirectives() instead of substring
3513         matching of the entire Cache-Control header.
3514
3515         * loader/loader.cpp:
3516         (WebCore::Loader::Host::didReceiveResponse): Used the local
3517         'resource' variable instead of 'request->cachedResource()'.
3518
3519         * platform/network/ResourceResponseBase.cpp:
3520         (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
3521         m_haveParsedCacheControlHeader to false when a "Cache-Control"
3522         header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
3523         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
3524         Provides parsed Pragma header directives.
3525         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
3526         Provides parsed Cache-Control header directives.
3527         (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
3528         character is a separator character per RFC 2616, Section 2.2, else
3529         returns false.
3530         (WebCore::isControlCharacter): Added.  Returns true if a character
3531         is a control character per RFC 2616 Section 2.2, else returns false.
3532         (WebCore::trimToNextSeparator): Added.  Returns a string truncated
3533         at the first separator character per isCacheHeaderSeparator().
3534         (WebCore::parseCacheHeader): Added.  This is the main parsing
3535         routine for both Cache-Control and Pragma headers.
3536         (WebCore::parseCacheControlDirectiveValues): Added.  This splits
3537         certain Cache-Control directive values into a vector of strings.
3538         * platform/network/ResourceResponseBase.h:
3539         (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
3540         Cache-Control header.
3541         (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
3542         header.
3543         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
3544         declaration.
3545         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
3546         (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
3547         Added.  Boolean to describe when the "Cache-Control" header needs to
3548         be reparsed.
3549         (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
3550         Boolean to describe when the "Pragma" header needs to be reparsed.
3551         (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
3552         Cached map to hold parsed "Cache-Control" headers.
3553         (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
3554         Cached map to hold parsed "Pragma" headers.
3555
3556         * platform/text/PlatformString.h:
3557         (WebCore::String::find): Added.  Returns the first match based on
3558         the character-matching function pointer passed in.
3559         (WebCore::String::removeCharacters): Added declaration.
3560         (WebCore::find): Added.  Inline method that takes a character-
3561         matching function pointer.  Called by StringImpl::find().
3562         * platform/text/String.cpp:
3563         (WebCore::String::removeCharacters): Added.  Calls
3564         StringImpl::removeCharacters().
3565         * platform/text/StringImpl.cpp:
3566         (WebCore::StringImpl::removeCharacters): Added.  Returns a string
3567         with all characters removed that match the character-matching
3568         function pointer passed in.  If there is no change to the string, it
3569         returns itself.  Based heavily on StringImpl::simplifyWhitespace().
3570         (WebCore::StringImpl::find): Added.  Calls WebCore::find().
3571         * platform/text/StringImpl.h:
3572         (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
3573         matching function pointer.
3574         (WebCore::StringImpl::removeCharacters): Added declaration.
3575         (WebCore::StringImpl::find): Ditto.
3576
3577 2008-11-05  Justin Garcia  <justin.garcia@apple.com>
3578
3579         Reviewed by Beth Dakin.
3580
3581         <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
3582         
3583         As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node 
3584         between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
3585         determine whether or not we should do the end merge, it incorrectly appears as though the end merge 
3586    &