2008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
2
3         Reviewed by Maciej Stachowiak.
4
5         Bug 21106: .in format discussed changes
6         https://bugs.webkit.org/show_bug.cgi?id=21106
7
8         Include the namespace into the interfaceName.
9
10         * dom/make_names.pl: Do not append the namespace when
11         using the interfaceName.
12         * html/HTMLTagNames.in: Added namespace prefix for custom
13         interfaceName.
14         * svg/svgtags.in: Ditto.
15
16 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
17
18         Reviewed by Geoff Garen.
19
20         Move the remaining files in the kjs subdirectory of JavaScriptCore to
21         a new parser subdirectory, and remove the kjs subdirectory entirely.
22
23         * ForwardingHeaders/kjs: Removed.
24         * ForwardingHeaders/kjs/Parser.h: Removed.
25         * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
26         * ForwardingHeaders/kjs/SourceCode.h: Removed.
27         * ForwardingHeaders/kjs/SourceProvider.h: Removed.
28         * ForwardingHeaders/parser: Added.
29         * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
30         * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
31         * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
32         * WebCore.pro:
33         * WebCore.vcproj/WebCore.vcproj:
34         * bindings/js/StringSourceProvider.h:
35         * bindings/js/WorkerScriptController.cpp:
36         * bridge/NP_jsobject.cpp:
37         * bridge/jni/jni_jsobject.mm:
38         * bridge/testbindings.pro:
39         * inspector/JavaScriptDebugServer.cpp:
40
41 2008-11-06  David Kilzer  <ddkilzer@apple.com>
42
43         BUILD WAS NOT BROKEN: Rolling r38189 back in.
44
45         Please perform a clean build if you see crashes.
46
47 2008-11-06  David Kilzer  <ddkilzer@apple.com>
48
49         BUILD FIX: Backed out r38189 since it apparently broke the world.
50
51 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
52
53         Reviewed by Beth Dakin.
54
55         Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
56         https://bugs.webkit.org/show_bug.cgi?id=22112
57
58         Test: accessibility/content-editable.html
59
60         * page/AccessibilityRenderObject.cpp:
61         (WebCore::AccessibilityRenderObject::isReadOnly):
62
63 2008-11-06  Sam Weinig  <sam@webkit.org>
64
65         Reviewed by Alice Liu.
66
67         Fix failed assert at launch caused by unintialized data member on the mac.
68
69         * platform/network/mac/NetworkStateNotifierMac.cpp:
70         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
71
72 2008-11-06  Steve Falkenburg  <sfalken@apple.com>
73
74         Fix failed assert at launch caused by unintialized data member.
75         
76         Reviewed by Maciej Stachowiak.
77
78         * platform/network/win/NetworkStateNotifierWin.cpp:
79         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
80
81 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
82
83         Reviewed by Antti Koivisto
84
85         https://bugs.webkit.org/show_bug.cgi?id=22109
86         Make <input type="range"> work correctly with transforms
87
88         Test: fast/forms/slider-transformed.html
89
90         * html/HTMLInputElement.cpp:
91         (WebCore::HTMLInputElement::defaultEventHandler):
92             Compute a correct local point when the event is retargeted
93         * rendering/RenderSlider.cpp:
94         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
95             Compute m_initialClickPoint in slider-local coords, so that
96             deltas are computed correctly with transforms
97         (WebCore::RenderSlider::mouseEventIsInThumb):
98             Rather than computing an absolute bounds for the thumb,
99             convert the point to local coords and compare it with the border box.
100
101 2008-11-06  Greg Bolsinga  <bolsinga@apple.com>
102
103         Reviewed by Darin Adler.
104
105         Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
106         https://bugs.webkit.org/show_bug.cgi?id=21810
107
108         * bindings/js/GCController.cpp:
109         (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
110         * bindings/js/JSDOMBinding.cpp:
111         (WebCore::wrapperSet): Ditto
112         * bindings/js/JSInspectedObjectWrapper.cpp:
113         (WebCore::wrappers): Ditto
114         * bindings/js/JSInspectorCallbackWrapper.cpp:
115         (WebCore::wrappers): Ditto
116         * bridge/runtime_root.cpp:
117         (JSC::Bindings::rootObjectSet): Ditto
118         * css/CSSMutableStyleDeclaration.cpp:
119         (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
120         * css/CSSPrimitiveValue.cpp:
121         (WebCore::CSSPrimitiveValue::cssText): Ditto
122         * css/CSSSelector.cpp:
123         (WebCore::CSSSelector::extractPseudoType): Ditto
124         * css/CSSStyleSelector.cpp:
125         (WebCore::screenEval): Ditto
126         (WebCore::printEval): Ditto
127         * dom/DOMImplementation.cpp:
128         (WebCore::isSVG10Feature): Ditto
129         (WebCore::isSVG11Feature): Ditto
130         (WebCore::DOMImplementation::isXMLMIMEType): Ditto
131         * dom/Document.cpp:
132         (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
133         * dom/ScriptElement.cpp:
134         (WebCore::isSupportedJavaScriptLanguage): Ditto
135         * editing/ApplyStyleCommand.cpp:
136         (WebCore::styleSpanClassString): Ditto
137         * editing/HTMLInterchange.cpp:
138         (WebCore::): Ditto
139         * editing/IndentOutdentCommand.cpp:
140         (WebCore::indentBlockquoteString): Ditto
141         * editing/ReplaceSelectionCommand.cpp:
142         (WebCore::isInterchangeNewlineNode): Ditto
143         (WebCore::isInterchangeConvertedSpaceSpan): Ditto
144         * editing/htmlediting.cpp:
145         (WebCore::stringWithRebalancedWhitespace): Ditto
146         (WebCore::nonBreakingSpaceString): Ditto
147         * editing/markup.cpp:
148         (WebCore::appendAttributeValue): Ditto
149         (WebCore::appendEscapedContent): Ditto
150         (WebCore::shouldAddNamespaceAttr): Ditto
151         (WebCore::appendNamespace): Ditto
152         (WebCore::appendStartMarkup): Ditto
153         (WebCore::createMarkup): Ditto
154         * html/HTMLButtonElement.cpp:
155         (WebCore::HTMLButtonElement::type): Ditto
156         * html/HTMLElement.cpp:
157         (WebCore::HTMLElement::isRecognizedTagName): Ditto
158         (WebCore::inlineTagList): Ditto
159         (WebCore::blockTagList): Ditto
160         * html/HTMLFieldSetElement.cpp:
161         (WebCore::HTMLFieldSetElement::type): Ditto
162         * html/HTMLInputElement.cpp:
163         (WebCore::HTMLInputElement::type): Ditto
164         * html/HTMLKeygenElement.cpp:
165         (WebCore::HTMLKeygenElement::type): Ditto
166         * html/HTMLLegendElement.cpp:
167         (WebCore::HTMLLegendElement::type): Ditto
168         * html/HTMLOptGroupElement.cpp:
169         (WebCore::HTMLOptGroupElement::type): Ditto
170         * html/HTMLOptionElement.cpp:
171         (WebCore::HTMLOptionElement::type): Ditto
172         * html/HTMLParser.cpp:
173         (WebCore::HTMLParser::getNode): Ditto
174         (WebCore::HTMLParser::isHeaderTag): Ditto
175         (WebCore::HTMLParser::isResidualStyleTag): Ditto
176         (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
177         * html/HTMLSelectElement.cpp:
178         (WebCore::HTMLSelectElement::type): Ditto
179         * html/HTMLTextAreaElement.cpp:
180         (WebCore::HTMLTextAreaElement::type): Ditto
181         * inspector/InspectorController.cpp:
182         (WebCore::platform): Ditto
183         * inspector/JavaScriptDebugServer.cpp:
184         (WebCore::JavaScriptDebugServer::shared): Ditto
185         * inspector/JavaScriptProfile.cpp:
186         (WebCore::profileCache): Ditto
187         * inspector/JavaScriptProfileNode.cpp:
188         (WebCore::profileNodeCache): Ditto
189         * loader/FrameLoader.cpp:
190         (WebCore::localSchemes): Ditto
191         * loader/appcache/ApplicationCacheStorage.cpp:
192         (WebCore::cacheStorage): Ditto
193         * loader/archive/ArchiveFactory.cpp:
194         (WebCore::archiveMIMETypes): Ditto
195         * loader/icon/IconDatabase.cpp:
196         (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
197         * page/EventHandler.cpp:
198         (WebCore::EventHandler::dragState): Ditto
199         * page/Frame.cpp:
200         (WebCore::createRegExpForLabels): Ditto
201         (WebCore::keepAliveSet): Ditto
202         * page/Page.cpp:
203         (WebCore::Page::groupName): Ditto
204         * page/SecurityOrigin.cpp:
205         (WebCore::isDefaultPortForProtocol): Ditto
206         (WebCore::SecurityOrigin::databaseIdentifier): Ditto
207         * page/mac/FrameMac.mm:
208         (WebCore::regExpForLabels): Ditto
209         * platform/KURL.cpp:
210         (WebCore::blankURL): Ditto
211         * platform/graphics/FontCache.cpp:
212         (WebCore::alternateFamilyName): Ditto
213         * platform/graphics/mac/FontCacheMac.mm:
214         (WebCore::FontCache::getSimilarFontPlatformData): Ditto
215         (WebCore::FontCache::getLastResortFallbackFont): Ditto
216         * platform/mac/ScrollbarThemeMac.mm:
217         (WebCore::ScrollbarTheme::nativeTheme): Ditto
218         * platform/mac/ThemeMac.mm:
219         (WebCore::platformTheme): Ditto
220         * platform/mac/ThreadCheck.mm:
221         (WebCoreReportThreadViolation): Ditto
222         * platform/network/NetworkStateNotifier.cpp:
223         (WebCore::networkStateNotifier): Ditto
224         * platform/network/mac/FormDataStreamMac.mm:
225         (WebCore::getStreamFormDataMap): Ditto
226         (WebCore::getStreamResourceHandleMap): Ditto
227         * platform/network/mac/ResourceResponseMac.mm:
228         (WebCore::ResourceResponse::platformLazyInit): Ditto
229         * platform/text/TextEncoding.cpp:
230         (WebCore::TextEncoding::isJapanese): Ditto
231         * rendering/RenderBlock.cpp:
232         (WebCore::continuationOutlineTable): Ditto
233         * rendering/RenderCounter.cpp:
234         (WebCore::counterMaps): Ditto
235         * rendering/RenderFlexibleBox.cpp:
236         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
237         * rendering/RenderListItem.cpp:
238         (WebCore::RenderListItem::markerText): Ditto
239         * rendering/RenderScrollbarTheme.cpp:
240         (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
241         * rendering/RenderThemeMac.mm:
242         (WebCore::RenderThemeMac::systemFont): Ditto
243         * rendering/bidi.cpp:
244         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
245         * rendering/style/RenderStyle.cpp:
246         (WebCore::RenderStyle::initialDashboardRegions): Ditto
247         (WebCore::RenderStyle::noneDashboardRegions): Ditto
248         * storage/LocalStorage.cpp:
249         (WebCore::localStorageMap): Ditto
250         * svg/SVGAnimateMotionElement.cpp:
251         (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
252         * svg/SVGAnimationElement.cpp:
253         (WebCore::SVGAnimationElement::calcMode): Ditto
254         (WebCore::SVGAnimationElement::attributeType): Ditto
255         (WebCore::SVGAnimationElement::isAdditive): Ditto
256         (WebCore::SVGAnimationElement::isAccumulated): Ditto
257         * svg/SVGLangSpace.cpp:
258         (WebCore::SVGLangSpace::xmlspace): Ditto
259         * svg/SVGSVGElement.cpp:
260         (WebCore::SVGSVGElement::contentScriptType): Ditto
261         (WebCore::SVGSVGElement::contentStyleType): Ditto
262         * svg/SVGStyleElement.cpp:
263         (WebCore::SVGStyleElement::type): Ditto
264         (WebCore::SVGStyleElement::media): Ditto
265         * svg/SVGTextContentElement.cpp:
266         (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
267         * svg/animation/SVGSMILElement.cpp:
268         (WebCore::SVGSMILElement::parseClockValue): Ditto
269         (WebCore::SVGSMILElement::restart): Ditto
270         (WebCore::SVGSMILElement::fill): Ditto
271         (WebCore::SVGSMILElement::repeatCount): Ditto
272         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
273         * svg/graphics/SVGResource.cpp:
274         (WebCore::clientMap): Ditto
275         * svg/graphics/SVGResourceMarker.cpp:
276         (WebCore::SVGResourceMarker::draw): Ditto
277         * xml/XMLHttpRequest.cpp:
278         (WebCore::preflightResultCache): Ditto
279         (WebCore::isSafeRequestHeader): Ditto
280         (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
281         * xml/XPathExpressionNode.cpp:
282         (WebCore::XPath::Expression::evaluationContext): Ditto
283         * xml/XPathParser.cpp:
284         (WebCore::XPath::isAxisName): Ditto
285         (WebCore::XPath::isNodeTypeName): Ditto
286         * xml/XPathValue.cpp:
287         (WebCore::XPath::Value::toNodeSet): Ditto
288
289 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
290
291         Rubber-stamped by Simon Hausmann.
292
293         Remove a bunch of unused methods in the Qt media element implementation
294
295         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
296         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
297         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
298
299 2008-11-05  Simon Fraser  <simon.fraser@apple.com>
300
301         Reviewed by Dave Hyatt
302
303         https://bugs.webkit.org/show_bug.cgi?id=21870
304         
305         Implement absoluteToLocal() to convert a point from absolute
306         to local coordinates, optionally taking transforms into account.
307         
308         Use this to set offsetX/offsetY in mouse events, thus fixing
309         offsetX/offsetY in events on elements with transforms.
310
311         Test: fast/events/offsetX-offsetY.html
312
313         * dom/MouseRelatedEvent.cpp:
314         (WebCore::MouseRelatedEvent::receivedTarget):
315         * rendering/RenderBox.cpp:
316         (WebCore::RenderBox::localToAbsolute):
317         (WebCore::RenderBox::absoluteToLocal):
318         (WebCore::RenderBox::offsetFromContainer):
319         * rendering/RenderBox.h:
320         * rendering/RenderObject.cpp:
321         (WebCore::RenderObject::absoluteToLocal):
322         * rendering/RenderObject.h:
323         * rendering/RenderTableCell.cpp:
324         (WebCore::RenderTableCell::localToAbsolute):
325         (WebCore::RenderTableCell::absoluteToLocal):
326         * rendering/RenderTableCell.h:
327         * rendering/RenderView.cpp:
328         (WebCore::RenderView::absoluteToLocal):
329         * rendering/RenderView.h:
330
331 2008-11-06  Alp Toker  <alp@nuanti.com>
332
333         Reviewed by Cameron Zwarich.
334
335         https://bugs.webkit.org/show_bug.cgi?id=22067
336         [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
337
338         null-check symbols loaded from plugin modules, initialize the function
339         table (like Win already does) and update it with the latest
340         additions. Adjust whitespace for easy diff'ing with the Win port code
341         from which it was forked.
342
343         This fixes crashes with libnspr4.so and any other plugins that don't
344         provide the symbols we expect.
345
346         * plugins/gtk/PluginPackageGtk.cpp:
347         (WebCore::PluginPackage::fetchInfo):
348         (WebCore::PluginPackage::load):
349
350 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
351
352         Reviewed by Simon Hausmann.
353
354         Removed dead (and broken) code from an ancient Symbian port.
355
356         * config.h:
357         * platform/text/AtomicString.h:
358         * platform/text/PlatformString.h:
359
360 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
361
362         Reviewed by Simon Hausmann.
363
364         Use QLibrary as PlatformModule when compiling with Qt for S60.
365
366         * platform/FileSystem.h:
367
368 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
369
370         Reviewed by Simon Hausmann.
371
372         Compile fix for Symbian.
373         The snprintf function is defined in stdio.h, the inclusion
374         of snprintf.h inside this PLATFORM(SYMBIAN) block does not
375         compile.
376
377         * config.h:
378
379 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
380
381         Reviewed by Simon Hausmann.
382
383         Disable webkit plugins for Symbian.
384
385         * WebCore.pro:
386
387 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
388
389         Fix build break in debug mode when XSLT is not enabled
390
391         * loader/Cache.cpp:
392         (WebCore::Cache::dumpStats):
393
394 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
395
396         Reviewed by Simon Hausmann.
397
398         Repaint video on UpdateRequest to prevent recursive painting
399
400         Calling QWidget::render() to update the video generates a paint
401         event that's then picked up by the event filter once more :(
402
403         We're really only interested in updates from Phonon, which we
404         get through the UpdateRequest for each new frame.
405
406         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
407         (WebCore::MediaPlayerPrivate::eventFilter):
408
409 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
410
411         Not reviewed.
412
413         Fix the WebCore build for some platforms by changing build scripts to
414         account for the recent move of the create_hash_table script from the kjs
415         subdirectory of JavaScriptCore to the root directory.
416
417         * WebCore.pro:
418         * make-generated-sources.sh:
419
420 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
421
422         Not reviewed.
423
424         Fix a case-sensitivity issue in Mac forwarding headers. Strangely
425         enough, this does not always cause the build to break, even with a
426         case-sensitive filesystem.
427
428         * ForwardingHeaders/runtime/Interpreter.h:
429
430 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
431
432         Reviewed by Maciej Stachowiak.
433
434         https://bugs.webkit.org/show_bug.cgi?id=22083
435         MessageEvents cannot be used across threads
436
437         * dom/Event.idl:
438         * dom/MessageEvent.idl:
439         Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
440         won't work.
441
442         * dom/MessagePort.cpp:
443         (WebCore::MessagePort::EventData::EventData):
444         (WebCore::MessagePort::EventData::~EventData):
445         (WebCore::MessagePort::clone):
446         (WebCore::MessagePort::postMessage):
447         (WebCore::MessagePort::startConversation):
448         (WebCore::MessagePort::dispatchMessages):
449         * dom/MessagePort.h:
450         Don't create a MessageEvent until dispatch time - messages can be posted across threads,
451         but MessageEvents are tied to the thread that they were created in.
452
453 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
454
455         Reviewed by Darin Adler.
456
457         https://bugs.webkit.org/show_bug.cgi?id=22066
458         Implement Worker global object
459
460         * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
461
462         * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
463         support is still disabled by default.
464
465         * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
466
467         * bindings/js/JSMessageChannelConstructor.cpp:
468         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
469
470         * bindings/js/JSWorkerContext.cpp: Added.
471         * bindings/js/JSWorkerContext.h: Added.
472         * bindings/js/WorkerScriptController.cpp: Added.
473         * bindings/js/WorkerScriptController.h: Added.
474         * dom/WorkerContext.cpp: Added.
475         * dom/WorkerContext.h: Added.
476         Added an implementation of worker contexts.
477
478         * dom/DedicatedWorker.cpp:
479         (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
480         (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
481         and lifetime is not clear at all.
482
483         * dom/WorkerLocation.cpp: Added.
484         * dom/WorkerLocation.h: Added.
485         * dom/WorkerLocation.idl: Added.
486         Added WorkerLocation, which is one of the objects available to workers.
487
488         * dom/WorkerThread.cpp: Added.
489         (WebCore::WorkerThread::WorkerThread):
490         (WebCore::WorkerThread::start):
491         (WebCore::WorkerThread::workerThreadStart):
492         (WebCore::WorkerThread::workerThread):
493         * dom/WorkerThread.h: Added.
494         (WebCore::WorkerThread::create):
495         Run some code in a worker thread (no message loop yet).
496
497 2008-11-05  Antti Koivisto  <antti@apple.com>
498
499         Reviewed by Dan Bernstein.
500         
501         https://bugs.webkit.org/show_bug.cgi?id=22093
502         Don't keep decoded stylesheet data in cache
503         
504         <rdar://problem/6343588>
505
506         Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
507         performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
508         style sheet data in cache by 2/3 in common case.  
509
510         * loader/CachedCSSStyleSheet.cpp:
511         (WebCore::CachedCSSStyleSheet::sheetText):
512         (WebCore::CachedCSSStyleSheet::data):
513         * loader/CachedCSSStyleSheet.h:
514
515 2008-11-05  David Kilzer  <ddkilzer@apple.com>
516
517         Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
518
519         <https://bugs.webkit.org/show_bug.cgi?id=21596>
520
521         Reviewed by Antti.
522
523         This patch adds real parsing for Pragma and Cache-Control headers
524         based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
525         new String and StringImpl methods to assist with the parsing.
526
527         * loader/Cache.cpp:
528         (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
529         stats outside of Safari.
530         * loader/Cache.h: Declared dumpStats().
531
532         * loader/CachedResource.cpp:
533         (WebCore::CachedResource::mustRevalidate): Updated to use
534         ResourceResponseBase::cacheControlDirectives() instead of substring
535         matching of the entire Cache-Control header.
536
537         * loader/loader.cpp:
538         (WebCore::Loader::Host::didReceiveResponse): Used the local
539         'resource' variable instead of 'request->cachedResource()'.
540
541         * platform/network/ResourceResponseBase.cpp:
542         (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
543         m_haveParsedCacheControlHeader to false when a "Cache-Control"
544         header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
545         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
546         Provides parsed Pragma header directives.
547         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
548         Provides parsed Cache-Control header directives.
549         (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
550         character is a separator character per RFC 2616, Section 2.2, else
551         returns false.
552         (WebCore::isControlCharacter): Added.  Returns true if a character
553         is a control character per RFC 2616 Section 2.2, else returns false.
554         (WebCore::trimToNextSeparator): Added.  Returns a string truncated
555         at the first separator character per isCacheHeaderSeparator().
556         (WebCore::parseCacheHeader): Added.  This is the main parsing
557         routine for both Cache-Control and Pragma headers.
558         (WebCore::parseCacheControlDirectiveValues): Added.  This splits
559         certain Cache-Control directive values into a vector of strings.
560         * platform/network/ResourceResponseBase.h:
561         (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
562         Cache-Control header.
563         (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
564         header.
565         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
566         declaration.
567         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
568         (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
569         Added.  Boolean to describe when the "Cache-Control" header needs to
570         be reparsed.
571         (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
572         Boolean to describe when the "Pragma" header needs to be reparsed.
573         (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
574         Cached map to hold parsed "Cache-Control" headers.
575         (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
576         Cached map to hold parsed "Pragma" headers.
577
578         * platform/text/PlatformString.h:
579         (WebCore::String::find): Added.  Returns the first match based on
580         the character-matching function pointer passed in.
581         (WebCore::String::removeCharacters): Added declaration.
582         (WebCore::find): Added.  Inline method that takes a character-
583         matching function pointer.  Called by StringImpl::find().
584         * platform/text/String.cpp:
585         (WebCore::String::removeCharacters): Added.  Calls
586         StringImpl::removeCharacters().
587         * platform/text/StringImpl.cpp:
588         (WebCore::StringImpl::removeCharacters): Added.  Returns a string
589         with all characters removed that match the character-matching
590         function pointer passed in.  If there is no change to the string, it
591         returns itself.  Based heavily on StringImpl::simplifyWhitespace().
592         (WebCore::StringImpl::find): Added.  Calls WebCore::find().
593         * platform/text/StringImpl.h:
594         (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
595         matching function pointer.
596         (WebCore::StringImpl::removeCharacters): Added declaration.
597         (WebCore::StringImpl::find): Ditto.
598
599 2008-11-05  Justin Garcia  <justin.garcia@apple.com>
600
601         Reviewed by Beth Dakin.
602
603         <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
604         
605         As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node 
606         between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
607         determine whether or not we should do the end merge, it incorrectly appears as though the end merge 
608         is merging out of a blockquote.  The fix is to determine whether or not we should do the end merge
609         before we do the start merge, so that the start merge doesn't effect our decision.
610
611         * editing/ReplaceSelectionCommand.cpp:
612         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
613         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
614         (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
615         * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
616
617 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
618
619         Not reviewed.
620
621         Speculatively fix the Windows build, even though these changes may not
622         actually matter for anything in the build, because the Windows bots are
623         behind.
624
625         * WebCore.vcproj/WebCore.vcproj:
626
627 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
628
629         Not reviewed.
630
631         Fix the Qt build.
632
633         * bridge/qt/qt_class.cpp:
634         * bridge/qt/qt_runtime.h:
635
636 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
637
638         Rubber-stamped by Sam Weinig.
639
640         Move more files to the runtime subdirectory of JavaScriptCore.
641
642         * ForwardingHeaders/kjs/collector.h: Removed.
643         * ForwardingHeaders/kjs/completion.h: Removed.
644         * ForwardingHeaders/kjs/identifier.h: Removed.
645         * ForwardingHeaders/kjs/interpreter.h: Removed.
646         * ForwardingHeaders/kjs/lookup.h: Removed.
647         * ForwardingHeaders/kjs/operations.h: Removed.
648         * ForwardingHeaders/kjs/protect.h: Removed.
649         * ForwardingHeaders/kjs/ustring.h: Removed.
650         * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
651         * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
652         * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
653         * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
654         * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
655         * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
656         * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
657         * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
658         * bindings/js/GCController.cpp:
659         * bindings/js/JSCustomPositionCallback.h:
660         * bindings/js/JSCustomPositionErrorCallback.h:
661         * bindings/js/JSCustomSQLStatementCallback.h:
662         * bindings/js/JSCustomSQLStatementErrorCallback.h:
663         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
664         * bindings/js/JSCustomVoidCallback.h:
665         * bindings/js/JSDOMBinding.h:
666         * bindings/js/JSDOMWindowBase.h:
667         * bindings/js/JSEventListener.h:
668         * bindings/js/ScheduledAction.h:
669         * bindings/js/ScriptController.cpp:
670         * bindings/js/ScriptController.h:
671         * bindings/objc/WebScriptObject.mm:
672         * bindings/scripts/CodeGeneratorJS.pm:
673         * bridge/NP_jsobject.cpp:
674         * bridge/c/c_class.cpp:
675         * bridge/jni/jni_class.cpp:
676         * bridge/jni/jni_jsobject.mm:
677         * bridge/npruntime.cpp:
678         * bridge/runtime_root.h:
679         * history/CachedPage.h:
680         * html/CanvasRenderingContext2D.cpp:
681         * html/HTMLCanvasElement.cpp:
682         * inspector/InspectorController.cpp:
683         * inspector/JavaScriptCallFrame.cpp:
684         * page/Console.cpp:
685         * page/Page.cpp:
686         * platform/text/AtomicString.cpp:
687         * platform/text/PlatformString.h:
688
689 2008-11-05  Sam Weinig  <sam@webkit.org>
690
691         Reviewed by Anders Carlsson.
692
693         Fix https://bugs.webkit.org/show_bug.cgi?id=22085
694         The Plugin JS object should expose item() and namedItem() methods to match Firefox
695
696         * bindings/js/JSPluginCustom.cpp:
697         (WebCore::JSPlugin::nameGetter):
698         * plugins/Plugin.cpp:
699         (WebCore::Plugin::namedItem):
700         * plugins/Plugin.h:
701         * plugins/Plugin.idl:
702
703 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
704
705         Reviewed by Maciej Stachowiak.
706
707         https://bugs.webkit.org/show_bug.cgi?id=21060
708         Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
709
710         Test: fast/dom/Range/surroundContents-check-boundary-points.html
711
712         * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
713
714 2008-11-05  Anders Carlsson  <andersca@apple.com>
715
716         Reviewed by Dan Bernstein.
717
718         Remove two global destructors from CoreTextController.
719         
720         * platform/graphics/mac/CoreTextController.cpp:
721         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
722
723 2008-11-05  Darin Fisher  <darin@chromium.org>
724
725         Reviewed by Darin Adler.
726
727         CRASH at Scrollbar::invalidateRect due to null m_client
728         https://bugs.webkit.org/show_bug.cgi?id=22080
729
730         * platform/Scrollbar.cpp:
731         (WebCore::Scrollbar::isWindowActive):
732         (WebCore::Scrollbar::invalidateRect):
733
734 2008-11-04  Sam Weinig  <sam@webkit.org>
735
736         Reviewed by Simon Hausmann.
737
738         Fix https://bugs.webkit.org/show_bug.cgi?id=21648
739         navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
740
741         - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
742
743         * bindings/js/JSMimeTypeArrayCustom.cpp:
744         (WebCore::JSMimeTypeArray::nameGetter):
745         * bindings/js/JSPluginArrayCustom.cpp:
746         (WebCore::JSPluginArray::nameGetter):
747         * page/DOMWindow.idl:
748         * plugins/MimeType.idl:
749         * plugins/MimeTypeArray.cpp:
750         (WebCore::MimeTypeArray::namedItem):
751         * plugins/MimeTypeArray.h:
752         * plugins/MimeTypeArray.idl:
753         * plugins/Plugin.idl:
754         * plugins/PluginArray.cpp:
755         (WebCore::PluginArray::namedItem):
756         * plugins/PluginArray.h:
757         * plugins/PluginArray.idl:
758
759 2008-11-05  Steve Falkenburg  <sfalken@apple.com>
760
761         Build fix.
762
763         * plugins/PluginPackage.cpp:
764
765 2008-11-05  Jeff Cook  <cookiecaper@gmail.com>
766
767         Reviewed by Simon Hausmann and Tor Arne.
768
769         Fix crash in the Qt port when unloading swfdec and Flash 10
770         by reordering window destruction and plugin stop.
771
772         See https://bugs.webkit.org/show_bug.cgi?id=20779
773
774         * plugins/qt/PluginViewQt.cpp:
775         (WebCore::PluginView::stop):
776
777 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
778
779         Reviewed by Tor Arne Vestbø
780
781         Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
782
783         Otherwise Flash refuses to load and function :(
784
785         * plugins/PluginPackage.cpp:
786         (WebCore::PluginPackage::determineQuirks):
787         * plugins/PluginQuirkSet.h:
788         (WebCore::):
789         * plugins/qt/PluginViewQt.cpp:
790         (WebCore::PluginView::getValue):
791
792 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
793
794         Reviewed by Tor Arne Vestbø
795
796         Unify determineQuirks between the Qt and the Gtk PluginPackage.
797         Share the code for parsing the module version from the description.
798         This is currently used to determine Flash based quirks.
799
800         * plugins/PluginPackage.cpp:
801         (WebCore::PluginPackage::createPackage):
802         (WebCore::PluginPackage::determineQuirks):
803         (WebCore::PluginPackage::determineModuleVersionFromDescription):
804         * plugins/PluginPackage.h:
805         * plugins/gtk/PluginPackageGtk.cpp:
806         (WebCore::PluginPackage::fetchInfo):
807         * plugins/qt/PluginPackageQt.cpp:
808         (WebCore::PluginPackage::fetchInfo):
809
810 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
811
812         Rubber-stamped by Sam Weinig.
813
814         Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
815
816         * ForwardingHeaders/kjs/dtoa.h: Removed.
817         * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
818         * css/CSSParser.cpp:
819         * platform/text/String.cpp:
820         * platform/text/StringImpl.cpp:
821
822 2008-11-04  Jonathan Haas  <myrdred@gmail.com>
823
824         Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
825
826         Reviewed by Darin Adler.
827
828         Fixed an issue which could cause memory corruption using ToT libxml.
829         See https://bugs.webkit.org/show_bug.cgi?id=15715
830
831         Test: fast/xsl/xslt-nested-stylesheets.xml
832
833         * xml/XSLImportRule.cpp:
834         (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
835         * xml/XSLStyleSheet.cpp:
836         (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
837         (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
838         (WebCore::XSLStyleSheet::setParentStyleSheet): Added
839         * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
840
841 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
842
843         No review.
844
845         Improved buid fix: include MathExtras.h to get roundf on all platforms.
846
847         * platform/graphics/FloatPoint.h:
848
849 2008-11-04  Brady Eidson  <beidson@apple.com>
850
851         Reviewed by John Sullivan
852
853         Add a simple "visited" method to HistoryItem for use by global history
854
855         * WebCore.base.exp:
856
857         * history/HistoryItem.cpp:
858         (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
859           and bump the visit count.  All things that should happen when a url is visited again!
860         * history/HistoryItem.h:
861
862 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
863
864         Build fix. Not reviewed.
865
866         * platform/graphics/FloatPoint.h: include math.h.
867         reported by zdobersek in #webkit.
868
869 2008-11-04  Darin Fisher  <darin@chromium.org>
870  
871         Reviewed by Anders Carlsson.
872  
873         No need to clobber all ResourceRequest fields in FrameLoader::reload()
874         https://bugs.webkit.org/show_bug.cgi?id=21949
875  
876         * loader/FrameLoader.cpp:
877         (WebCore::FrameLoader::reload):
878
879 2008-11-04  Darin Adler  <darin@apple.com>
880
881         Reviewed by Tim Hatcher.
882
883         * storage/Database.cpp:
884         (WebCore::databaseVersionKey): Tweaked formatting.
885
886 2008-11-03  Darin Adler  <darin@apple.com>
887
888         Reviewed by Tim Hatcher.
889
890         - https://bugs.webkit.org/show_bug.cgi?id=22061
891           create script to check for exit-time destructors
892
893         * WebCore.xcodeproj/project.pbxproj: Added a script
894         phase that runs the check-for-exit-time-destructors script.
895
896         * html/HTMLAttributeNames.in: Removed some unused attribute names.
897
898         * html/HTMLEmbedElement.cpp:
899         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
900         sets the write-only m_pluginPage.
901         * html/HTMLEmbedElement.h: Ditto.
902
903         * platform/mac/CursorMac.mm:
904         (WebCore::leakNamedCursor): Changed to return a Cursor&.
905         (WebCore::pointerCursor): Changed to leak an object to avoid an
906         exit-time destructor.
907         (WebCore::crossCursor): Ditto.
908         (WebCore::handCursor): Ditto.
909         (WebCore::moveCursor): Ditto.
910         (WebCore::verticalTextCursor): Ditto.
911         (WebCore::cellCursor): Ditto.
912         (WebCore::contextMenuCursor): Ditto.
913         (WebCore::aliasCursor): Ditto.
914         (WebCore::zoomInCursor): Ditto.
915         (WebCore::zoomOutCursor): Ditto.
916         (WebCore::copyCursor): Ditto.
917         (WebCore::noneCursor): Ditto.
918         (WebCore::progressCursor): Ditto.
919         (WebCore::noDropCursor): Ditto.
920         (WebCore::notAllowedCursor): Ditto.
921         (WebCore::iBeamCursor): Ditto.
922         (WebCore::waitCursor): Ditto.
923         (WebCore::helpCursor): Ditto.
924         (WebCore::eastResizeCursor): Ditto.
925         (WebCore::northResizeCursor): Ditto.
926         (WebCore::northEastResizeCursor): Ditto.
927         (WebCore::northWestResizeCursor): Ditto.
928         (WebCore::southResizeCursor): Ditto.
929         (WebCore::southEastResizeCursor): Ditto.
930         (WebCore::southWestResizeCursor): Ditto.
931         (WebCore::westResizeCursor): Ditto.
932         (WebCore::northSouthResizeCursor): Ditto.
933         (WebCore::eastWestResizeCursor): Ditto.
934         (WebCore::northEastSouthWestResizeCursor): Ditto.
935         (WebCore::northWestSouthEastResizeCursor): Ditto.
936         (WebCore::columnResizeCursor): Ditto.
937         (WebCore::rowResizeCursor): Ditto.
938         (WebCore::grabCursor): Ditto.
939         (WebCore::grabbingCursor): Ditto.
940
941         * storage/Database.cpp:
942         (WebCore::guidMutex): Changed to leak an object to avoid an
943         exit-time destructor. Also added a comment explaining why it's
944         thread safe.
945         (WebCore::guidToVersionMap): Ditto.
946         (WebCore::guidToDatabaseMap): Ditto.
947         (WebCore::Database::databaseInfoTableName): Ditto.
948         (WebCore::databaseVersionKey): Ditto.
949         (WebCore::Database::getVersionFromDatabase): Ditto.
950         (WebCore::Database::setVersionInDatabase): Ditto.
951         (WebCore::guidForOriginAndName): Ditto.
952         * storage/DatabaseTracker.cpp:
953         (WebCore::DatabaseTracker::tracker): Ditto.
954         (WebCore::notificationMutex): Ditto.
955         (WebCore::notificationQueue): Ditto.
956         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
957
958 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
959
960         Reviewed by Dave Hyatt
961
962         https://bugs.webkit.org/show_bug.cgi?id=21941
963
964         Rename absolutePosition() to localToAbsolute(), and add the ability
965         to optionally take transforms into account (which will eventually be the
966         default behavior).
967
968         * WebCore.base.exp:
969         * WebCore.xcodeproj/project.pbxproj:
970         * dom/ContainerNode.cpp:
971         (WebCore::ContainerNode::getUpperLeftCorner):
972         (WebCore::ContainerNode::getLowerRightCorner):
973         (WebCore::ContainerNode::getRect):
974         * dom/ContainerNode.h:
975         * dom/MouseRelatedEvent.cpp:
976         (WebCore::MouseRelatedEvent::receivedTarget):
977         * dom/Node.cpp:
978         (WebCore::Node::getRect):
979         * editing/SelectionController.cpp:
980         (WebCore::SelectionController::layout):
981         (WebCore::SelectionController::caretRect):
982         * editing/visible_units.cpp:
983         (WebCore::previousLinePosition):
984         (WebCore::nextLinePosition):
985         * html/HTMLAnchorElement.cpp:
986         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
987         (WebCore::HTMLAnchorElement::defaultEventHandler):
988         * html/HTMLAreaElement.cpp:
989         (WebCore::HTMLAreaElement::getRect):
990         * html/HTMLImageElement.cpp:
991         (WebCore::HTMLImageElement::x):
992         (WebCore::HTMLImageElement::y):
993         * html/HTMLInputElement.cpp:
994         (WebCore::HTMLInputElement::defaultEventHandler):
995         * html/HTMLInputElement.h:
996         * page/AccessibilityRenderObject.cpp:
997         (WebCore::AccessibilityRenderObject::boundingBoxRect):
998         * page/EventHandler.cpp:
999         (WebCore::EventHandler::handleDrag):
1000         * platform/graphics/FloatPoint.h:
1001         (WebCore::roundedIntPoint):
1002         * platform/graphics/IntSize.h:
1003         (WebCore::IntSize::expand):
1004         * rendering/LayoutState.cpp:
1005         (WebCore::LayoutState::LayoutState):
1006         * rendering/RenderBlock.cpp:
1007         (WebCore::RenderBlock::layoutBlock):
1008         (WebCore::RenderBlock::paintObject):
1009         (WebCore::RenderBlock::selectionGapRects):
1010         (WebCore::RenderBlock::fillBlockSelectionGaps):
1011         (WebCore::RenderBlock::nodeAtPoint):
1012         (WebCore::RenderBlock::positionForCoordinates):
1013         * rendering/RenderBox.cpp:
1014         (WebCore::RenderBox::localToAbsolute):
1015         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1016         (WebCore::RenderBox::caretRect):
1017         * rendering/RenderBox.h:
1018         (WebCore::RenderBox::relativePositionOffset):
1019         * rendering/RenderContainer.cpp:
1020         (WebCore::RenderContainer::addLineBoxRects):
1021         * rendering/RenderFlow.cpp:
1022         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1023         (WebCore::RenderFlow::caretRect):
1024         (WebCore::RenderFlow::addFocusRingRects):
1025         * rendering/RenderLayer.cpp:
1026         (WebCore::RenderLayer::updateLayerPosition):
1027         (WebCore::RenderLayer::convertToLayerCoords):
1028         (WebCore::RenderLayer::addScrolledContentOffset):
1029         (WebCore::RenderLayer::subtractScrolledContentOffset):
1030         (WebCore::RenderLayer::scrollRectToVisible):
1031         * rendering/RenderLayer.h:
1032         (WebCore::RenderLayer::scrolledContentOffset):
1033         (WebCore::RenderLayer::relativePositionOffset):
1034         * rendering/RenderListBox.cpp:
1035         (WebCore::RenderListBox::panScroll):
1036         (WebCore::RenderListBox::scrollToward):
1037         * rendering/RenderListMarker.cpp:
1038         (WebCore::RenderListMarker::selectionRect):
1039         * rendering/RenderObject.cpp:
1040         (WebCore::RenderObject::absoluteBoundingBoxRect):
1041         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1042         (WebCore::RenderObject::localToAbsolute):
1043         (WebCore::RenderObject::addDashboardRegions):
1044         (WebCore::RenderObject::absoluteContentBox):
1045         (WebCore::RenderObject::absoluteOutlineBox):
1046         * rendering/RenderObject.h:
1047         (WebCore::RenderObject::localToAbsoluteForContent):
1048         * rendering/RenderPart.cpp:
1049         (WebCore::RenderPart::updateWidgetPosition):
1050         * rendering/RenderReplaced.cpp:
1051         (WebCore::RenderReplaced::selectionRect):
1052         * rendering/RenderSVGInlineText.cpp:
1053         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1054         * rendering/RenderSVGText.cpp:
1055         (WebCore::RenderSVGText::absoluteRects):
1056         * rendering/RenderTableCell.cpp:
1057         (WebCore::RenderTableCell::localToAbsolute):
1058         * rendering/RenderTableCell.h:
1059         * rendering/RenderText.cpp:
1060         (WebCore::RenderText::addLineBoxRects):
1061         (WebCore::RenderText::caretRect):
1062         (WebCore::RenderText::selectionRect):
1063         * rendering/RenderVideo.cpp:
1064         (WebCore::RenderVideo::updatePlayer):
1065         * rendering/RenderView.cpp:
1066         (WebCore::RenderView::localToAbsolute):
1067         * rendering/RenderView.h:
1068         * rendering/RenderWidget.cpp:
1069         (WebCore::RenderWidget::updateWidgetPosition):
1070         * svg/SVGSVGElement.cpp:
1071         (WebCore::SVGSVGElement::getScreenCTM):
1072
1073 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
1074
1075         Reviewed by Simon Hausmann.
1076
1077         Add methods for getting and setting user data on History Item.
1078         This change is limited to QT port only. Tests were added in
1079         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
1080
1081         Minor change by Simon: made the functions inline and added a missing
1082         const.
1083
1084         * history/HistoryItem.h:
1085
1086 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
1087
1088         Reviewed by Darin Adler.
1089
1090         https://bugs.webkit.org/show_bug.cgi?id=22030
1091         Make EventNames usable from multiple threads
1092
1093         * platform/text/AtomicString.cpp:
1094         (WebCore::stringTable):
1095         (WebCore::AtomicString::add):
1096         (WebCore::AtomicString::remove):
1097         (WebCore::AtomicString::find):
1098         (WebCore::AtomicString::init):
1099         * platform/text/AtomicString.h:
1100         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
1101         so global AtomicString constants cannot be used from threads other than the main one.
1102
1103         * dom/EventNames.cpp:
1104         (WebCore::EventNames::EventNames):
1105         (WebCore::eventNames):
1106         (WebCore::EventNames::init):
1107         * dom/EventNames.h:
1108         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
1109         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
1110         threads.
1111
1112         * WebCore.base.exp:
1113         * bindings/js/JSDOMWindowBase.cpp:
1114         * bindings/js/JSEventListener.cpp:
1115         * bindings/js/ScriptController.cpp:
1116         (WebCore::ScriptController::processingUserGesture):
1117         * dom/BeforeTextInsertedEvent.cpp:
1118         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
1119         * dom/BeforeUnloadEvent.cpp:
1120         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
1121         * dom/CharacterData.cpp:
1122         (WebCore::CharacterData::dispatchModifiedEvent):
1123         * dom/ContainerNode.cpp:
1124         (WebCore::dispatchChildInsertionEvents):
1125         (WebCore::dispatchChildRemovalEvents):
1126         * dom/DedicatedWorker.cpp:
1127         (WebCore::DedicatedWorker::dispatchErrorEvent):
1128         * dom/Document.cpp:
1129         (WebCore::Document::implicitClose):
1130         (WebCore::Document::setFocusedNode):
1131         (WebCore::Document::addListenerTypeIfNeeded):
1132         (WebCore::Document::removeWindowInlineEventListenerForType):
1133         (WebCore::Document::addWindowEventListener):
1134         (WebCore::Document::removeWindowEventListener):
1135         (WebCore::Document::finishedParsing):
1136         * dom/EventTargetNode.cpp:
1137         (WebCore::EventTargetNode::dispatchGenericEvent):
1138         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
1139         (WebCore::EventTargetNode::dispatchWindowEvent):
1140         (WebCore::EventTargetNode::dispatchUIEvent):
1141         (WebCore::EventTargetNode::dispatchSimulatedClick):
1142         (WebCore::EventTargetNode::dispatchMouseEvent):
1143         (WebCore::EventTargetNode::dispatchFocusEvent):
1144         (WebCore::EventTargetNode::dispatchBlurEvent):
1145         (WebCore::EventTargetNode::defaultEventHandler):
1146         (WebCore::EventTargetNode::on*): (multiple methods)
1147         (WebCore::EventTargetNode::setOn*): (multiple methods)
1148         * dom/KeyboardEvent.cpp:
1149         (WebCore::eventTypeForKeyboardEventType):
1150         (WebCore::KeyboardEvent::keyCode):
1151         (WebCore::KeyboardEvent::charCode):
1152         * dom/MessageEvent.cpp:
1153         (WebCore::MessageEvent::MessageEvent):
1154         * dom/MessagePort.cpp:
1155         (WebCore::MessagePort::dispatchMessages):
1156         (WebCore::MessagePort::dispatchCloseEvent):
1157         * dom/MouseEvent.cpp:
1158         (WebCore::MouseEvent::isDragEvent):
1159         (WebCore::MouseEvent::toElement):
1160         (WebCore::MouseEvent::fromElement):
1161         * dom/OverflowEvent.cpp:
1162         (WebCore::OverflowEvent::OverflowEvent):
1163         * dom/TextEvent.cpp:
1164         (WebCore::TextEvent::TextEvent):
1165         * dom/WebKitAnimationEvent.cpp:
1166         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
1167         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
1168         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
1169         (WebCore::WebKitAnimationEvent::animationName):
1170         (WebCore::WebKitAnimationEvent::elapsedTime):
1171         * dom/WebKitTransitionEvent.cpp:
1172         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
1173         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
1174         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
1175         (WebCore::WebKitTransitionEvent::propertyName):
1176         (WebCore::WebKitTransitionEvent::elapsedTime):
1177         * dom/WheelEvent.cpp:
1178         (WebCore::WheelEvent::WheelEvent):
1179         (WebCore::WheelEvent::initWheelEvent):
1180         * dom/XMLTokenizerLibxml2.cpp:
1181         * dom/XMLTokenizerQt.cpp:
1182         * editing/DeleteButton.cpp:
1183         (WebCore::DeleteButton::defaultEventHandler):
1184         * editing/EditCommand.cpp:
1185         * editing/Editor.cpp:
1186         (WebCore::Editor::canDHTMLCut):
1187         (WebCore::Editor::canDHTMLCopy):
1188         (WebCore::Editor::canDHTMLPaste):
1189         (WebCore::Editor::tryDHTMLCopy):
1190         (WebCore::Editor::tryDHTMLCut):
1191         (WebCore::Editor::tryDHTMLPaste):
1192         (WebCore::dispatchEditableContentChangedEvents):
1193         * editing/ReplaceSelectionCommand.cpp:
1194         (WebCore::ReplacementFragment::ReplacementFragment):
1195         * editing/SelectionController.cpp:
1196         (WebCore::SelectionController::setFocused):
1197         * html/HTMLAnchorElement.cpp:
1198         (WebCore::HTMLAnchorElement::defaultEventHandler):
1199         * html/HTMLBodyElement.cpp:
1200         (WebCore::HTMLBodyElement::parseMappedAttribute):
1201         * html/HTMLButtonElement.cpp:
1202         (WebCore::HTMLButtonElement::parseMappedAttribute):
1203         (WebCore::HTMLButtonElement::defaultEventHandler):
1204         * html/HTMLElement.cpp:
1205         (WebCore::HTMLElement::parseMappedAttribute):
1206         * html/HTMLFormControlElement.cpp:
1207         (WebCore::HTMLFormControlElement::onChange):
1208         * html/HTMLFormElement.cpp:
1209         (WebCore::HTMLFormElement::handleLocalEvents):
1210         (WebCore::HTMLFormElement::prepareSubmit):
1211         (WebCore::HTMLFormElement::reset):
1212         (WebCore::HTMLFormElement::parseMappedAttribute):
1213         * html/HTMLFrameElementBase.cpp:
1214         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1215         * html/HTMLFrameSetElement.cpp:
1216         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1217         * html/HTMLImageElement.cpp:
1218         (WebCore::HTMLImageElement::parseMappedAttribute):
1219         * html/HTMLImageLoader.cpp:
1220         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1221         * html/HTMLInputElement.cpp:
1222         (WebCore::HTMLInputElement::parseMappedAttribute):
1223         (WebCore::HTMLInputElement::setValueFromRenderer):
1224         (WebCore::HTMLInputElement::preDispatchEventHandler):
1225         (WebCore::HTMLInputElement::postDispatchEventHandler):
1226         (WebCore::HTMLInputElement::defaultEventHandler):
1227         (WebCore::HTMLInputElement::onSearch):
1228         * html/HTMLLabelElement.cpp:
1229         (WebCore::HTMLLabelElement::defaultEventHandler):
1230         * html/HTMLMediaElement.cpp:
1231         (WebCore::HTMLMediaElement::load):
1232         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
1233         (WebCore::HTMLMediaElement::setReadyState):
1234         (WebCore::HTMLMediaElement::progressEventTimerFired):
1235         (WebCore::HTMLMediaElement::seek):
1236         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
1237         (WebCore::HTMLMediaElement::setPlaybackRate):
1238         (WebCore::HTMLMediaElement::play):
1239         (WebCore::HTMLMediaElement::pause):
1240         (WebCore::HTMLMediaElement::setVolume):
1241         (WebCore::HTMLMediaElement::setMuted):
1242         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1243         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
1244         * html/HTMLObjectElement.cpp:
1245         (WebCore::HTMLObjectElement::parseMappedAttribute):
1246         * html/HTMLOptionElement.cpp:
1247         * html/HTMLScriptElement.cpp:
1248         (WebCore::HTMLScriptElement::parseMappedAttribute):
1249         (WebCore::HTMLScriptElement::dispatchLoadEvent):
1250         (WebCore::HTMLScriptElement::dispatchErrorEvent):
1251         * html/HTMLSelectElement.cpp:
1252         (WebCore::HTMLSelectElement::parseMappedAttribute):
1253         (WebCore::HTMLSelectElement::defaultEventHandler):
1254         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1255         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1256         * html/HTMLTextAreaElement.cpp:
1257         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1258         (WebCore::HTMLTextAreaElement::defaultEventHandler):
1259         * html/HTMLTokenizer.cpp:
1260         (WebCore::HTMLTokenizer::notifyFinished):
1261         * loader/FrameLoader.cpp:
1262         (WebCore::FrameLoader::stopLoading):
1263         (WebCore::FrameLoader::canCachePage):
1264         * loader/ImageDocument.cpp:
1265         (WebCore::ImageEventListener::handleEvent):
1266         * loader/ImageLoader.cpp:
1267         * loader/MediaDocument.cpp:
1268         (WebCore::MediaDocument::defaultEventHandler):
1269         * loader/appcache/DOMApplicationCache.cpp:
1270         (WebCore::DOMApplicationCache::callCheckingListener):
1271         (WebCore::DOMApplicationCache::callErrorListener):
1272         (WebCore::DOMApplicationCache::callNoUpdateListener):
1273         (WebCore::DOMApplicationCache::callDownloadingListener):
1274         (WebCore::DOMApplicationCache::callProgressListener):
1275         (WebCore::DOMApplicationCache::callUpdateReadyListener):
1276         (WebCore::DOMApplicationCache::callCachedListener):
1277         * page/AccessibilityObject.cpp:
1278         * page/AccessibilityRenderObject.cpp:
1279         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1280         * page/ContextMenuController.cpp:
1281         (WebCore::ContextMenuController::handleContextMenuEvent):
1282         * page/DOMWindow.cpp:
1283         (WebCore::DOMWindow::on*): (multiple methods)
1284         (WebCore::DOMWindow::setOn*): (multiple methods)
1285         * page/EventHandler.cpp:
1286         (WebCore::EventHandler::handleMousePressEvent):
1287         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1288         (WebCore::EventHandler::handleMouseMoveEvent):
1289         (WebCore::EventHandler::handleMouseReleaseEvent):
1290         (WebCore::EventHandler::updateDragAndDrop):
1291         (WebCore::EventHandler::cancelDragAndDrop):
1292         (WebCore::EventHandler::performDragAndDrop):
1293         (WebCore::EventHandler::updateMouseEventTargetNode):
1294         (WebCore::EventHandler::dispatchMouseEvent):
1295         (WebCore::EventHandler::sendContextMenuEvent):
1296         (WebCore::EventHandler::canMouseDownStartSelect):
1297         (WebCore::EventHandler::canMouseDragExtendSelect):
1298         (WebCore::EventHandler::defaultKeyboardEventHandler):
1299         (WebCore::EventHandler::dragSourceMovedTo):
1300         (WebCore::EventHandler::dragSourceEndedAt):
1301         (WebCore::EventHandler::handleDrag):
1302         (WebCore::EventHandler::handleTextInputEvent):
1303         * page/FocusController.cpp:
1304         * page/Frame.cpp:
1305         (WebCore::Frame::sendResizeEvent):
1306         (WebCore::Frame::sendScrollEvent):
1307         * page/Page.cpp:
1308         (WebCore::networkStateChanged):
1309         * page/animation/AnimationBase.cpp:
1310         (WebCore::AnimationBase::updateStateMachine):
1311         (WebCore::AnimationBase::animationTimerCallbackFired):
1312         (WebCore::AnimationBase::primeEventTimers):
1313         * page/animation/ImplicitAnimation.cpp:
1314         (WebCore::ImplicitAnimation::onAnimationEnd):
1315         (WebCore::ImplicitAnimation::sendTransitionEvent):
1316         * page/animation/KeyframeAnimation.cpp:
1317         (WebCore::KeyframeAnimation::onAnimationStart):
1318         (WebCore::KeyframeAnimation::onAnimationIteration):
1319         (WebCore::KeyframeAnimation::onAnimationEnd):
1320         (WebCore::KeyframeAnimation::sendAnimationEvent):
1321         * page/gtk/EventHandlerGtk.cpp:
1322         * page/mac/EventHandlerMac.mm:
1323         (WebCore::isKeyboardOptionTab):
1324         * page/mac/FrameMac.mm:
1325         * page/qt/EventHandlerQt.cpp:
1326         (WebCore::isKeyboardOptionTab):
1327         * plugins/PluginView.cpp:
1328         * plugins/gtk/PluginViewGtk.cpp:
1329         * plugins/qt/PluginViewQt.cpp:
1330         * plugins/win/PluginViewWin.cpp:
1331         (WebCore::PluginView::handleKeyboardEvent):
1332         (WebCore::PluginView::handleMouseEvent):
1333         * rendering/MediaControlElements.cpp:
1334         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
1335         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
1336         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
1337         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1338         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
1339         * rendering/RenderFrameSet.cpp:
1340         (WebCore::RenderFrameSet::userResize):
1341         * rendering/RenderLayer.cpp:
1342         (WebCore::RenderLayer::scrollToOffset):
1343         * rendering/RenderListBox.cpp:
1344         (WebCore::RenderListBox::valueChanged):
1345         * rendering/RenderMedia.cpp:
1346         (WebCore::RenderMedia::forwardEvent):
1347         * rendering/RenderObject.cpp:
1348         * rendering/RenderSlider.cpp:
1349         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1350         * rendering/RenderTextControl.cpp:
1351         (WebCore::RenderTextControl::forwardEvent):
1352         (WebCore::RenderTextControl::selectionChanged):
1353         * rendering/RenderWidget.cpp:
1354         * rendering/TextControlInnerElements.cpp:
1355         (WebCore::TextControlInnerTextElement::defaultEventHandler):
1356         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
1357         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
1358         * storage/LocalStorageArea.cpp:
1359         (WebCore::LocalStorageArea::dispatchStorageEvent):
1360         * storage/SessionStorageArea.cpp:
1361         (WebCore::SessionStorageArea::dispatchStorageEvent):
1362         * svg/SVGAElement.cpp:
1363         (WebCore::SVGAElement::defaultEventHandler):
1364         * svg/SVGDocument.cpp:
1365         (WebCore::SVGDocument::dispatchZoomEvent):
1366         (WebCore::SVGDocument::dispatchScrollEvent):
1367         * svg/SVGElement.cpp:
1368         (WebCore::SVGElement::parseMappedAttribute):
1369         (WebCore::hasLoadListener):
1370         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1371         * svg/SVGElementInstance.cpp:
1372         (WebCore::SVGElementInstance::on*): (multiple methods)
1373         (WebCore::SVGElementInstance::setOn*): (multiple methods)
1374         * svg/SVGImageLoader.cpp:
1375         (WebCore::SVGImageLoader::dispatchLoadEvent):
1376         * svg/SVGSVGElement.cpp:
1377         (WebCore::SVGSVGElement::parseMappedAttribute):
1378         * svg/SVGScriptElement.cpp:
1379         (WebCore::SVGScriptElement::dispatchErrorEvent):
1380         * xml/XMLHttpRequest.cpp:
1381         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1382         (WebCore::XMLHttpRequest::dispatchAbortEvent):
1383         (WebCore::XMLHttpRequest::dispatchErrorEvent):
1384         (WebCore::XMLHttpRequest::dispatchLoadEvent):
1385         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1386         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1387         * xml/XMLHttpRequestUpload.cpp:
1388         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
1389         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
1390         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
1391         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
1392         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1393         * xml/XPathResult.cpp:
1394         (WebCore::XPathResult::XPathResult):
1395         (WebCore::XPathResult::~XPathResult):
1396         (WebCore::XPathResult::invalidateIteratorState):
1397         Access event names via eventNames() function.
1398
1399 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1400
1401         Reviewed by Mark Rowe.
1402
1403         Delete unused forwarding headers.
1404
1405         * ForwardingHeaders/kjs/Activation.h: Removed.
1406         * ForwardingHeaders/kjs/Register.h: Removed.
1407         * ForwardingHeaders/kjs/RegisterID.h: Removed.
1408
1409 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1410
1411         Not reviewed.
1412
1413         Fix stupid typo in previous build fix.
1414
1415         * bindings/js/JSStorageCustom.cpp:
1416         * bindings/scripts/CodeGeneratorJS.pm:
1417         * bridge/NP_jsobject.cpp:
1418
1419 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1420
1421         Not reviewed.
1422
1423         Fix the build for all non-Mac platforms.
1424
1425         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
1426         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
1427         * bindings/js/JSStorageCustom.cpp:
1428         * bindings/scripts/CodeGeneratorJS.pm:
1429         * bridge/NP_jsobject.cpp:
1430
1431 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1432
1433         Not reviewed.
1434
1435         Fix the wxWindows build.
1436
1437         * bridge/c/c_instance.cpp:
1438
1439 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1440
1441         Rubber-stamped by Maciej Stachowiak.
1442
1443         Move more files into the runtime subdirectory of JavaScriptCore.
1444
1445         * ForwardingHeaders/kjs/ArgList.h: Removed.
1446         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
1447         * ForwardingHeaders/kjs/ExecState.h: Removed.
1448         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
1449         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
1450         * ForwardingHeaders/kjs/JSLock.h: Removed.
1451         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
1452         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
1453         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
1454         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1455         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
1456         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
1457         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
1458         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
1459         * bindings/js/GCController.cpp:
1460         * bindings/js/JSCustomPositionCallback.cpp:
1461         * bindings/js/JSCustomPositionErrorCallback.cpp:
1462         * bindings/js/JSCustomSQLStatementCallback.cpp:
1463         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1464         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1465         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1466         * bindings/js/JSCustomVoidCallback.cpp:
1467         * bindings/js/JSCustomXPathNSResolver.cpp:
1468         * bindings/js/JSDOMWindowBase.cpp:
1469         * bindings/js/JSEventCustom.cpp:
1470         * bindings/js/JSEventListener.cpp:
1471         * bindings/js/JSNodeFilterCondition.cpp:
1472         * bindings/js/ScheduledAction.cpp:
1473         * bindings/js/ScriptController.cpp:
1474         * bindings/js/ScriptControllerMac.mm:
1475         * bindings/objc/WebScriptObject.mm:
1476         * bridge/NP_jsobject.cpp:
1477         * bridge/c/c_class.cpp:
1478         * bridge/c/c_instance.cpp:
1479         * bridge/c/c_runtime.cpp:
1480         * bridge/c/c_utility.cpp:
1481         * bridge/jni/jni_class.cpp:
1482         * bridge/jni/jni_instance.cpp:
1483         * bridge/jni/jni_jsobject.mm:
1484         * bridge/jni/jni_objc.mm:
1485         * bridge/jni/jni_runtime.cpp:
1486         * bridge/jni/jni_runtime.h:
1487         * bridge/jni/jni_utility.cpp:
1488         * bridge/npruntime.cpp:
1489         * bridge/objc/objc_instance.mm:
1490         * bridge/objc/objc_runtime.mm:
1491         * bridge/objc/objc_utility.mm:
1492         * bridge/runtime.cpp:
1493         * dom/Document.cpp:
1494         * dom/Node.cpp:
1495         * dom/NodeFilter.cpp:
1496         * dom/NodeIterator.cpp:
1497         * dom/TreeWalker.cpp:
1498         * history/CachedPage.cpp:
1499         * inspector/InspectorController.cpp:
1500         * inspector/JavaScriptCallFrame.cpp:
1501         * inspector/JavaScriptCallFrame.h:
1502         * inspector/JavaScriptDebugServer.cpp:
1503         * inspector/JavaScriptProfileNode.cpp:
1504         * loader/FrameLoader.cpp:
1505         * loader/icon/IconDatabase.cpp:
1506         * page/Console.cpp:
1507         * page/Page.cpp:
1508         * page/mac/FrameMac.mm:
1509         * plugins/PluginView.cpp:
1510         * plugins/gtk/PluginViewGtk.cpp:
1511         * plugins/qt/PluginViewQt.cpp:
1512         * plugins/win/PluginViewWin.cpp:
1513         * storage/Database.cpp:
1514         * xml/XMLHttpRequest.cpp:
1515
1516 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1517
1518         Reviewed by Sam Weinig.
1519
1520         Remove the forwarding header for FunctionCallProfile, because it was
1521         renamed to ProfileNode in r33466.
1522
1523         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
1524
1525 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
1526
1527         Reviewed by Dave Hyatt
1528
1529         https://bugs.webkit.org/show_bug.cgi?id=22026
1530
1531         When computing the bounds of the transparency layer, we need to
1532         map the clipRect through the enclosing transform.
1533         
1534         Test: fast/layers/opacity-transforms.html
1535
1536         * rendering/RenderLayer.cpp:
1537         (WebCore::transparencyClipBox):
1538
1539 2008-11-03  Kevin Decker  <kdecker@apple.com>
1540
1541         Reviewed by Anders Carlsson.
1542
1543         https://bugs.webkit.org/show_bug.cgi?id=22053
1544
1545         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
1546
1547         * bridge/npapi.h:
1548
1549 2008-11-03  Xan Lopez  <xan@gnome.org>
1550
1551         Reviewed by Alp Toker.
1552
1553         Update parseDataUrl() function in the libsoup http backend with
1554         the one from the curl backend which has recent correctness and crash
1555         fixes.
1556
1557         * platform/network/soup/ResourceHandleSoup.cpp:
1558         (WebCore::parseDataUrl):
1559
1560 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
1561
1562         Reviewed by Alp Toker.
1563
1564         https://bugs.webkit.org/show_bug.cgi?id=22041
1565         Fix CURL crashes on the test suite
1566
1567         Fix segfault with setDefersLoading(). Do not call into curl when we
1568         don't have a CURL handle.
1569
1570         It is attempted to defer the loading before the load has been
1571         started (no curl handle was allocated yet). If that happens then
1572         just remember that. ResourceHandleManager::startJob is already taking
1573         care of this and in initResourceHandle the the downloading will
1574         be paused if needed.
1575
1576         Fixes fast/loader/simultaneous-reloads-assert.html
1577
1578         * platform/network/curl/ResourceHandleCurl.cpp:
1579         (WebCore::ResourceHandle::setDefersLoading):
1580
1581 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
1582
1583         Reviewed by Alp Toker.
1584
1585         https://bugs.webkit.org/show_bug.cgi?id=22041
1586         Fix CURL crashes on the test suite
1587
1588         Do not send "no data" to WebCore in parseDataUrl().
1589
1590         Fixes assert on fast/tokenizer/image-empty-crash.html
1591
1592         * platform/network/curl/ResourceHandleManager.cpp:
1593         (WebCore::parseDataUrl):
1594
1595 2008-11-02  Xan Lopez  <xan@gnome.org>
1596
1597         Reviewed by Holger Freyther.
1598
1599         https://bugs.webkit.org/show_bug.cgi?id=22009
1600         HTML5 Video with GStreamer pulls gnome-vfs without using it
1601
1602         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1603         Remove gnome-vfs include.
1604
1605 2008-11-01  Adam Barth  <abarth@webkit.org>
1606
1607         Reviewed by Sam Weinig.
1608
1609         Be sure to check the final URLs of requested resources to make sure we
1610         don't get fooled by HTTP redirects.
1611
1612         https://bugs.webkit.org/show_bug.cgi?id=21963
1613
1614         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
1615                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
1616
1617         * dom/XMLTokenizerLibxml2.cpp:
1618         (WebCore::openFunc):
1619         * loader/DocLoader.cpp:
1620         (WebCore::DocLoader::canRequest):
1621         (WebCore::DocLoader::requestResource):
1622         * loader/DocLoader.h:
1623         * xml/XSLTProcessor.cpp:
1624         (WebCore::docLoaderFunc):
1625
1626 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
1627
1628         Reviewed by Darin Adler.
1629
1630         https://bugs.webkit.org/show_bug.cgi?id=22001
1631         AtomicStringImpl* keys of event listener maps can outlive their strings
1632
1633         Test: fast/events/destroyed-atomic-string.html
1634
1635         * dom/MessagePort.cpp:
1636         (WebCore::MessagePort::addEventListener):
1637         (WebCore::MessagePort::removeEventListener):
1638         (WebCore::MessagePort::dispatchEvent):
1639         * dom/MessagePort.h:
1640         * loader/appcache/DOMApplicationCache.cpp:
1641         (WebCore::DOMApplicationCache::addEventListener):
1642         (WebCore::DOMApplicationCache::removeEventListener):
1643         (WebCore::DOMApplicationCache::dispatchEvent):
1644         * loader/appcache/DOMApplicationCache.h:
1645         * xml/XMLHttpRequest.cpp:
1646         (WebCore::XMLHttpRequest::addEventListener):
1647         (WebCore::XMLHttpRequest::removeEventListener):
1648         (WebCore::XMLHttpRequest::dispatchEvent):
1649         * xml/XMLHttpRequest.h:
1650         * xml/XMLHttpRequestUpload.cpp:
1651         (WebCore::XMLHttpRequestUpload::addEventListener):
1652         (WebCore::XMLHttpRequestUpload::removeEventListener):
1653         (WebCore::XMLHttpRequestUpload::dispatchEvent):
1654         * xml/XMLHttpRequestUpload.h:
1655         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
1656
1657 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
1658
1659         Reviewed by Darin Adler.
1660
1661         https://bugs.webkit.org/show_bug.cgi?id=21998
1662         Use JSDOMGlobalObject in EventListener-related bindings
1663
1664         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
1665
1666         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
1667         bindings for inline event handlers.
1668
1669         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1670         (WebCore::JSDOMApplicationCache::addEventListener):
1671         (WebCore::JSDOMApplicationCache::removeEventListener):
1672         * bindings/js/JSEventTargetNodeCustom.cpp:
1673         (WebCore::JSEventTargetNode::addEventListener):
1674         (WebCore::JSEventTargetNode::removeEventListener):
1675         * bindings/js/JSMessagePortCustom.cpp:
1676         (WebCore::JSMessagePort::removeEventListener):
1677         * bindings/js/JSSVGElementInstanceCustom.cpp:
1678         (WebCore::JSSVGElementInstance::addEventListener):
1679         (WebCore::JSSVGElementInstance::removeEventListener):
1680         * bindings/js/JSXMLHttpRequestCustom.cpp:
1681         (WebCore::JSXMLHttpRequest::addEventListener):
1682         (WebCore::JSXMLHttpRequest::removeEventListener):
1683         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1684         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1685         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1686         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
1687
1688         * dom/EventTarget.h:
1689         * dom/EventTargetNode.cpp:
1690         (WebCore::EventTargetNode::scriptExecutionContext):
1691         * dom/EventTargetNode.h:
1692         * dom/MessagePort.cpp:
1693         * dom/MessagePort.h:
1694         (WebCore::MessagePort::scriptExecutionContext):
1695         * loader/appcache/DOMApplicationCache.cpp:
1696         (WebCore::DOMApplicationCache::scriptExecutionContext):
1697         * loader/appcache/DOMApplicationCache.h:
1698         * svg/SVGElementInstance.cpp:
1699         (WebCore::SVGElementInstance::scriptExecutionContext):
1700         * svg/SVGElementInstance.h:
1701         * xml/XMLHttpRequest.cpp:
1702         (WebCore::XMLHttpRequest::scriptExecutionContext):
1703         * xml/XMLHttpRequest.h:
1704         * xml/XMLHttpRequestUpload.cpp:
1705         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
1706         * xml/XMLHttpRequestUpload.h:
1707         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
1708         available yet.
1709
1710 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
1711
1712         Rubber-stamped by Geoff Garen.
1713
1714         Rename SourceRange.h to SourceCode.h.
1715
1716         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
1717         * ForwardingHeaders/kjs/SourceRange.h: Removed.
1718         * bindings/js/StringSourceProvider.h:
1719         * bridge/NP_jsobject.cpp:
1720
1721 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
1722
1723         Reviewed by Darin Adler.
1724
1725         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
1726         <https://bugs.webkit.org/show_bug.cgi?id=22019>
1727
1728         * WebCore.base.exp:
1729         * page/Console.cpp:
1730         (WebCore::printToStandardOut):
1731         (WebCore::Console::shouldPrintExceptions):
1732         (WebCore::Console::setShouldPrintExceptions):
1733         * page/Console.h:
1734
1735 2008-10-31  Dan Bernstein  <mitz@apple.com>
1736
1737         Reviewed by John Sullivan.
1738
1739         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
1740
1741         * dom/Document.cpp:
1742         (WebCore::Document::cookie): Added checking if cookies are disabled.
1743         (WebCore::Document::setCookie): Ditto.
1744         * page/Navigator.cpp:
1745         (WebCore::Navigator::cookieEnabled): Ditto.
1746         * page/Page.cpp:
1747         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
1748         * page/Page.h:
1749         (WebCore::Page::cookieEnabled): Added.
1750         (WebCore::Page::setCookieEnabled): Added.
1751
1752 2008-10-31  Adele Peterson  <adele@apple.com>
1753
1754         Reviewed by Darin Adler.
1755
1756         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
1757         https://bugs.webkit.org/show_bug.cgi?id=22008
1758
1759         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
1760         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
1761         * platform/graphics/Icon.h: ditto.
1762         * platform/graphics/gtk/IconGtk.cpp:
1763         (WebCore::Icon::createIconForFile): ditto.
1764         (WebCore::Icon::createIconForFiles): ditto.
1765         * platform/graphics/mac/IconMac.mm:
1766         (WebCore::Icon::createIconForFile): ditto.
1767         (WebCore::Icon::createIconForFiles): ditto.
1768         * platform/graphics/qt/IconQt.cpp:
1769         (WebCore::Icon::createIconForFile): ditto.
1770         (WebCore::Icon::createIconForFiles): ditto.
1771         * platform/wx/TemporaryLinkStubs.cpp:
1772         (Icon::createIconForFile): ditto.
1773         (Icon::createIconForFiles): ditto.
1774         * platform/graphics/win/IconWin.cpp:
1775         (WebCore::Icon::createIconForFile): ditto.
1776         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
1777
1778         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
1779         Improve icon creation code to match new code in Icon::createIconForFiles
1780         
1781 2008-10-31  Timothy Hatcher  <timothy@apple.com>
1782
1783         Add manual tests that check breakpoints on a blockless body of "for" loops.
1784
1785         https://bugs.webkit.org/show_bug.cgi?id=22004
1786
1787         Reviewed by Darin Adler.
1788
1789         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
1790         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
1791
1792 2008-10-31  Darin Adler  <darin@apple.com>
1793
1794         - fix build
1795
1796         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
1797
1798 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
1799
1800         Reviewed by Darin Adler.
1801
1802         https://bugs.webkit.org/show_bug.cgi?id=21970
1803         Make MessagePort event dispatch work in workers
1804
1805         * bindings/js/JSDOMGlobalObject.cpp:
1806         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
1807         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
1808         (WebCore::JSDOMGlobalObject::findJSEventListener):
1809         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1810         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
1811         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
1812         (WebCore::JSDOMGlobalObject::jsEventListeners):
1813         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
1814         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
1815         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
1816         (WebCore::JSDOMGlobalObject::setCurrentEvent):
1817         (WebCore::JSDOMGlobalObject::currentEvent):
1818         (WebCore::toJSDOMGlobalObject):
1819         * bindings/js/JSDOMGlobalObject.h:
1820         * bindings/js/JSDOMWindowBase.cpp:
1821         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
1822         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1823         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
1824         * bindings/js/JSDOMWindowBase.h:
1825         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
1826
1827         * bindings/js/JSEventListener.cpp:
1828         (WebCore::JSAbstractEventListener::handleEvent):
1829         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1830         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1831         (WebCore::JSUnprotectedEventListener::globalObject):
1832         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
1833         (WebCore::JSEventListener::JSEventListener):
1834         (WebCore::JSEventListener::~JSEventListener):
1835         (WebCore::JSEventListener::globalObject):
1836         (WebCore::JSEventListener::clearGlobalObject):
1837         (WebCore::JSLazyEventListener::JSLazyEventListener):
1838         (WebCore::JSLazyEventListener::parseCode):
1839         * bindings/js/JSEventListener.h:
1840         (WebCore::JSUnprotectedEventListener::create):
1841         (WebCore::JSEventListener::create):
1842         (WebCore::JSLazyEventListener::create):
1843         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
1844
1845         * bindings/js/JSMessagePortCustom.cpp:
1846         (WebCore::JSMessagePort::startConversation):
1847         (WebCore::JSMessagePort::addEventListener):
1848         (WebCore::JSMessagePort::removeEventListener):
1849         (WebCore::JSMessagePort::setOnmessage):
1850         (WebCore::JSMessagePort::setOnclose):
1851         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
1852         such code, and stop using a custom implementation for JSMessagePort inline event handler
1853         getters and setters.
1854
1855         * dom/Document.cpp:
1856         (WebCore::Document::virtualURL):
1857         * dom/Document.h:
1858         * dom/ScriptExecutionContext.h:
1859         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
1860         JSLazyEventListener).
1861
1862 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
1863
1864         Not reviewed.
1865
1866         Speculative wxWindows build fix.
1867
1868         * webcore-base.bkl:
1869
1870 2008-10-30  Mark Rowe  <mrowe@apple.com>
1871
1872         Reviewed by Jon Homeycutt.
1873
1874         Explicitly default to building for only the native architecture in debug and release builds.
1875
1876         * Configurations/DebugRelease.xcconfig:
1877
1878 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
1879
1880         Rubber-stamped by Sam Weinig.
1881
1882         Create a debugger directory in JavaScriptCore and move the relevant
1883         files to it.
1884
1885         * ForwardingHeaders/debugger: Added.
1886         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
1887         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
1888         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
1889         * ForwardingHeaders/kjs/debugger.h: Removed.
1890         * WebCore.pro:
1891         * bindings/js/ScriptController.cpp:
1892         * inspector/JavaScriptCallFrame.cpp:
1893         * inspector/JavaScriptCallFrame.h:
1894         * inspector/JavaScriptDebugServer.cpp:
1895         * inspector/JavaScriptDebugServer.h:
1896
1897 2008-10-30  Tony Chang <tony@chromium.org>
1898
1899         Fix 2 Windows theme bugs:
1900         1) Checkboxes marked readonly were rendered incorrectly
1901         2) If a button has focus and is pressed, it was rendered
1902            as focused rather than pressed.
1903
1904         https://bugs.webkit.org/show_bug.cgi?id=21859
1905
1906         Reviewed by Dave Hyatt.
1907
1908         * rendering/RenderThemeWin.cpp:
1909         (WebCore::RenderThemeWin::determineState):
1910         (WebCore::RenderThemeWin::determineButtonState):
1911
1912 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
1913
1914         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
1915         warnings; add some parentheses to disambiguate things. No functional
1916         changes, so no tests.
1917
1918         https://bugs.webkit.org/show_bug.cgi?id=21973
1919         Add parentheses to clean up some gcc warnings
1920
1921         Reviewed by Dan Bernstein.
1922
1923         * platform/graphics/Font.h:
1924         (WebCore::Font::treatAsZeroWidthSpace):
1925
1926 2008-10-30  Aaron Boodman  <aa@chromium.org>
1927
1928         Added an explicit dependency on HashMap.h. It was getting pulled in via
1929         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
1930
1931         Reviewed by Darin Adler.
1932
1933         * platform/text/PlatformString.h:
1934
1935 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1936
1937         Reviewed by Sam Weinig
1938
1939         https://bugs.webkit.org/show_bug.cgi?id=21967
1940         
1941         For some platforms the GeolocationService must be suspended and resumed.
1942
1943         * page/Geolocation.cpp:
1944         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
1945         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
1946         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
1947         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
1948         * page/Geolocation.h:
1949         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
1950         * platform/GeolocationService.h:
1951         (WebCore::GeolocationService::suspend): empty implementation
1952         (WebCore::GeolocationService::resume): empty implementation
1953
1954 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1955
1956         Reviewed by Sam Weinig
1957
1958         https://bugs.webkit.org/show_bug.cgi?id=21966
1959         
1960         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
1961         http://dev.w3.org/geo/api/spec-source.html
1962
1963         * page/Geolocation.cpp:
1964         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
1965         * page/Geoposition.cpp: velocity is now called speed
1966         (WebCore::Geoposition::toString):
1967         * page/Geoposition.h: velocity is now called speed
1968         (WebCore::Geoposition::create):
1969         (WebCore::Geoposition::speed):
1970         (WebCore::Geoposition::Geoposition):
1971         * page/Geoposition.idl: velocity is now called speed
1972         * page/PositionOptions.h: timeout is now unsigned
1973         (WebCore::PositionOptions::create):
1974         (WebCore::PositionOptions::timeout):
1975         (WebCore::PositionOptions::setTimeout):
1976         (WebCore::PositionOptions::PositionOptions):
1977         * page/PositionOptions.idl: timeout is now unsigned long
1978
1979 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1980
1981         Also handle preserved newlines.
1982
1983         * editing/BreakBlockquoteCommand.cpp:
1984         (WebCore::BreakBlockquoteCommand::doApply):
1985
1986 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1987
1988         Reviewed by Beth Dakin.
1989
1990         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1991
1992         * editing/BreakBlockquoteCommand.cpp:
1993         (WebCore::BreakBlockquoteCommand::doApply): 
1994         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
1995         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
1996         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
1997         we now use visiblePos (in order to avoid VisiblePosition creation).
1998         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
1999         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
2000         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
2001         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
2002         where the caret is between text and a br work correctly.
2003
2004 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
2005
2006         Reviewed by Darin Adler.
2007
2008         Fix the Qt build.
2009
2010         https://bugs.webkit.org/show_bug.cgi?id=21969
2011
2012         * inspector/front-end/WebKit.qrc:
2013         * platform/graphics/qt/ImageBufferQt.cpp:
2014         (WebCore::ImageBufferData::ImageBufferData):
2015         (WebCore::ImageBuffer::ImageBuffer):
2016         (WebCore::ImageBuffer::context):
2017         (WebCore::ImageBuffer::image):
2018         (WebCore::ImageBuffer::toDataURL):
2019
2020 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
2021
2022         Reviewed by Darin Adler.
2023
2024         More preparation for:
2025         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
2026
2027         * editing/BreakBlockquoteCommand.cpp:
2028         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
2029         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
2030         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
2031         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
2032         topBlockquote, but it simplifies the code.
2033
2034 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
2035
2036         Reviewed by Alp Toker.
2037
2038         https://bugs.webkit.org/show_bug.cgi?id=21883
2039         [CAIRO] globalAlpha has to be stored and restored
2040
2041         Cairo's globalAlpha has to be stored and reloaded on calling
2042         save() and restore(). We use the power of GraphicsContextState for this.
2043
2044         * platform/graphics/GraphicsContextPrivate.h:
2045         (WebCore::GraphicsContextState::GraphicsContextState):
2046         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2047         (WebCore::GraphicsContext::fillPath):
2048         (WebCore::GraphicsContext::strokePath):
2049         (WebCore::GraphicsContext::setAlpha):
2050         (WebCore::GraphicsContext::getAlpha):
2051         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2052         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2053
2054 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2055
2056         Reviewed by Maciej Stachowiak.
2057
2058         Rename "attachedToEventTargetNode" to "isInline".
2059
2060         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
2061         XMLHttpRequest, MessagePort et al.
2062
2063         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
2064         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
2065         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
2066         "inlineEventListenerForType", as they work with inline listeners.
2067
2068         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2069         (WebCore::JSDOMApplicationCache::addEventListener):
2070         (WebCore::JSDOMApplicationCache::removeEventListener):
2071         * bindings/js/JSMessagePortCustom.cpp:
2072         (WebCore::JSMessagePort::setOnmessage):
2073         (WebCore::JSMessagePort::setOnclose):
2074         * bindings/js/JSXMLHttpRequestCustom.cpp:
2075         (WebCore::JSXMLHttpRequest::addEventListener):
2076         (WebCore::JSXMLHttpRequest::removeEventListener):
2077         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2078         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2079         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2080         Pass a correct value for this argument - callers used to be confused, because they didn't
2081         consider themselves event target nodes. This doesn't affect behavior however, as the only
2082         difference between inline and non-inline event handlers is that the former treat
2083         "return false" as "event.preventDefault()", which is not important to any of these objects.
2084
2085         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
2086         Assert that isInline is true instead of checking its value, as the constructor of this class
2087         always sets it to true.
2088
2089         * bindings/js/JSDOMWindowBase.cpp:
2090         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2091         (WebCore::JSDOMWindowBase::findJSEventListener):
2092         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2093         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2094         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2095         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
2096         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
2097         * bindings/js/JSDOMWindowBase.h:
2098         * bindings/js/JSEventListener.cpp:
2099         (WebCore::JSAbstractEventListener::handleEvent):
2100         (WebCore::JSAbstractEventListener::isInline):
2101         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2102         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2103         (WebCore::JSEventListener::JSEventListener):
2104         (WebCore::JSEventListener::~JSEventListener):
2105         (WebCore::JSLazyEventListener::parseCode):
2106         * bindings/js/JSEventListener.h:
2107         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
2108         (WebCore::JSUnprotectedEventListener::create):
2109         (WebCore::JSEventListener::create):
2110         * bindings/js/ScriptController.cpp:
2111         (WebCore::ScriptController::createInlineEventHandler):
2112         * bindings/js/ScriptController.h:
2113         * dom/Document.cpp:
2114         (WebCore::Document::setWindowInlineEventListenerForType):
2115         (WebCore::Document::windowInlineEventListenerForType):
2116         (WebCore::Document::removeWindowInlineEventListenerForType):
2117         (WebCore::Document::createEventListener):
2118         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
2119         * dom/Document.h:
2120         * dom/EventListener.h:
2121         (WebCore::EventListener::isInline):
2122         * dom/EventTargetNode.cpp:
2123         (WebCore::EventTargetNode::removeInlineEventListenerForType):
2124         (WebCore::EventTargetNode::setInlineEventListenerForType):
2125         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
2126         (WebCore::EventTargetNode::inlineEventListenerForType):
2127         (WebCore::EventTargetNode::on*): (many methods)
2128         (WebCore::EventTargetNode::setOn*): (many methods)
2129         * dom/EventTargetNode.h:
2130         * editing/ReplaceSelectionCommand.cpp:
2131         (WebCore::ReplacementFragment::ReplacementFragment):
2132         * html/HTMLBodyElement.cpp:
2133         (WebCore::HTMLBodyElement::parseMappedAttribute):
2134         * html/HTMLButtonElement.cpp:
2135         (WebCore::HTMLButtonElement::parseMappedAttribute):
2136         * html/HTMLElement.cpp:
2137         (WebCore::HTMLElement::parseMappedAttribute):
2138         * html/HTMLFormElement.cpp:
2139         (WebCore::HTMLFormElement::parseMappedAttribute):
2140         * html/HTMLFrameElementBase.cpp:
2141         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2142         * html/HTMLFrameSetElement.cpp:
2143         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2144         * html/HTMLImageElement.cpp:
2145         (WebCore::HTMLImageElement::parseMappedAttribute):
2146         * html/HTMLInputElement.cpp:
2147         (WebCore::HTMLInputElement::parseMappedAttribute):
2148         * html/HTMLObjectElement.cpp:
2149         (WebCore::HTMLObjectElement::parseMappedAttribute):
2150         * html/HTMLScriptElement.cpp:
2151         (WebCore::HTMLScriptElement::parseMappedAttribute):
2152         * html/HTMLSelectElement.cpp:
2153         (WebCore::HTMLSelectElement::parseMappedAttribute):
2154         * html/HTMLTextAreaElement.cpp:
2155         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2156         * page/AccessibilityRenderObject.cpp:
2157         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2158         * page/DOMWindow.cpp:
2159         (WebCore::DOMWindow::setInlineEventListenerForType):
2160         (WebCore::DOMWindow::inlineEventListenerForType):
2161         (WebCore::DOMWindow::on*): (many methods)
2162         (WebCore::DOMWindow::setOn*): (many methods)
2163         * page/DOMWindow.h:
2164         * svg/SVGElement.cpp:
2165         (WebCore::SVGElement::parseMappedAttribute):
2166         * svg/SVGElementInstance.cpp:
2167         (WebCore::SVGElementInstance::on*): (many methods)
2168         (WebCore::SVGElementInstance::setOn*): (many methods)
2169         * svg/SVGSVGElement.cpp:
2170         (WebCore::SVGSVGElement::parseMappedAttribute):
2171         Rename things, as described above.
2172
2173 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
2174
2175         Reviewed and slightly changed by Holger Freyther.
2176
2177         Added all the files that need to be installed for the Inspector to
2178         work.
2179
2180         * GNUmakefile.am: Invoke the shell to get the files.
2181
2182 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
2183
2184         Reviewed by Darin Adler
2185
2186         Add MediaPlayerPrivateChromium to MediaPlayer
2187         https://bugs.webkit.org/show_bug.cgi?id=21930
2188
2189         * platform/graphics/MediaPlayer.cpp:
2190
2191 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
2192
2193         Reviewed by Darin Adler.
2194
2195         Some preparation for:
2196         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
2197         
2198         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
2199         need to rebalance whitespace before the early return but for now don't risk any change in behavior
2200         I'll revisit that later.
2201
2202         * editing/BreakBlockquoteCommand.cpp:
2203         (WebCore::BreakBlockquoteCommand::doApply):
2204
2205 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
2206
2207         wx build fixes after addition of runtime and ImageBuffer changes.
2208         
2209         * platform/graphics/wx/ImageBufferData.h: Added.
2210         * platform/graphics/wx/ImageBufferWx.cpp:
2211         (WebCore::ImageBufferData::ImageBufferData):
2212         (WebCore::ImageBuffer::ImageBuffer):
2213         (WebCore::ImageBuffer::context):
2214         * webcore-base.bkl:
2215
2216 2008-10-29  Brett Wilson  <brettw@chromium.org>
2217
2218         Reviewed by Darin Adler
2219         https://bugs.webkit.org/attachment.cgi?id=24745
2220
2221         Allow Skia implementations to get text style changed notifications.
2222
2223         * platform/graphics/GraphicsContext.cpp:
2224
2225 2008-10-29  Timothy Hatcher  <timothy@apple.com>
2226
2227         Add a manual test that checks breakpoints on a blockless body of
2228         an "else" statement.
2229
2230         https://bugs.webkit.org/show_bug.cgi?id=21944
2231
2232         Reviewed by Maciej Stachowiak.
2233
2234         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
2235
2236 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2237
2238         Reviewed by Darin Adler.
2239
2240         https://bugs.webkit.org/show_bug.cgi?id=21921
2241         MessagePort messages are dispatched to documents that are not fully active
2242
2243         Covered by corrected fast/events/message-port-inactive-document.html
2244
2245         * bindings/js/JSEventListener.cpp:
2246         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
2247         that are not fully active.
2248
2249 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2250
2251         Reviewed by Sam Weinig.
2252
2253         https://bugs.webkit.org/show_bug.cgi?id=21922
2254         Expose MessagePort global constructor
2255
2256         Covered by existing dumper tests.
2257
2258         * dom/MessagePort.idl:
2259         * page/DOMWindow.idl:
2260
2261 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2262
2263         Reviewed by Darin Adler.
2264
2265         https://bugs.webkit.org/show_bug.cgi?id=21924
2266         HashTable internal index is not always deleted
2267
2268         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
2269         Call deleteTable for HashTables that are being deleted.
2270
2271 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
2272
2273         Reviewed by Darin Adler.
2274
2275         https://bugs.webkit.org/show_bug.cgi?id=21923
2276         Create an abstraction for script execution context
2277
2278         * GNUmakefile.am:
2279         * WebCore.pro:
2280         * WebCore.vcproj/WebCore.vcproj:
2281         * WebCore.xcodeproj/project.pbxproj:
2282         * WebCoreSources.bkl:
2283         Added ScriptExecutionContext.{h,cpp}.
2284
2285         * bindings/js/JSAudioConstructor.cpp:
2286         (WebCore::JSAudioConstructor::JSAudioConstructor):
2287         * bindings/js/JSAudioConstructor.h:
2288         * bindings/js/JSImageConstructor.cpp:
2289         (WebCore::JSImageConstructor::JSImageConstructor):
2290         * bindings/js/JSImageConstructor.h:
2291         * bindings/js/JSOptionConstructor.cpp:
2292         (WebCore::JSOptionConstructor::JSOptionConstructor):
2293         * bindings/js/JSOptionConstructor.h:
2294         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2295         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2296         * bindings/js/JSXMLHttpRequestConstructor.h:
2297         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
2298         Since these objects can only work within documents now, it is immediately converted back
2299         to Document.
2300
2301         * bindings/js/JSMessageChannelConstructor.cpp:
2302         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
2303         (WebCore::JSMessageChannelConstructor::construct):
2304         * bindings/js/JSMessageChannelConstructor.h:
2305         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
2306         MessageChannel needs to be supported in workers right away, so the constructor operates with
2307         it directly.
2308
2309         * dom/ActiveDOMObject.cpp:
2310         (WebCore::ActiveDOMObject::ActiveDOMObject):
2311         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2312         (WebCore::ActiveDOMObject::contextDestroyed):
2313         * dom/ActiveDOMObject.h:
2314         (WebCore::ActiveDOMObject::scriptExecutionContext):
2315         * bindings/js/JSDOMBinding.cpp:
2316         (WebCore::markActiveObjectsForContext):
2317         (WebCore::markCrossHeapDependentObjectsForContext):
2318         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
2319         tracking is handled by ScriptExecutionContext.
2320
2321         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
2322
2323         * bindings/js/JSDOMGlobalObject.h:
2324         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
2325         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
2326         to worker context implementation.
2327         (WebCore::scriptExecutionContext): Added a pure virtual method to access
2328         ScriptExecutionContext, implemented by subclasses.
2329
2330         * bindings/js/JSDOMWindowBase.h:
2331         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
2332         Implement by returning the associated document. Note that this method currently gives bogus
2333         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
2334         that is currently in the frame, not the one associated with this window.
2335
2336         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
2337
2338         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
2339         Call markActiveObjectsForContext() by its new name.
2340
2341         * dom/DedicatedWorker.cpp:
2342         (WebCore::DedicatedWorker::DedicatedWorker):
2343         (WebCore::DedicatedWorker::document):
2344         * dom/DedicatedWorker.h:
2345         * xml/XMLHttpRequest.cpp:
2346         (WebCore::XMLHttpRequest::document):
2347         * xml/XMLHttpRequest.h:
2348         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
2349         within documents currently (at least for XMLHttpRequest, this will change soon though).
2350
2351         * dom/Document.cpp:
2352         (WebCore::Document::Document):
2353         (WebCore::Document::~Document):
2354         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
2355         with workers.
2356         
2357         * dom/Document.h:
2358         (WebCore::Document::isDocument):
2359         (WebCore::Document::refScriptExecutionContext):
2360         (WebCore::Document::derefScriptExecutionContext):
2361         Inherit from ScriptExecutionContext.
2362
2363         * dom/MessageChannel.cpp:
2364         (WebCore::MessageChannel::MessageChannel):
2365         * dom/MessageChannel.h:
2366         (WebCore::MessageChannel::create):
2367         Use ScriptExecutionContext instead of Document.
2368
2369         * dom/MessagePort.cpp:
2370         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
2371         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
2372         unrelated issue that was causing random crashes in layout tests).
2373         (WebCore::MessagePort::MessagePort):
2374         (WebCore::MessagePort::~MessagePort):
2375         (WebCore::MessagePort::associatedFrame):
2376         (WebCore::MessagePort::clone):
2377         (WebCore::MessagePort::postMessage):
2378         (WebCore::MessagePort::startConversation):
2379         (WebCore::MessagePort::start):
2380         (WebCore::MessagePort::contextDestroyed):
2381         (WebCore::MessagePort::dispatchMessages):
2382         * dom/MessagePort.h:
2383         (WebCore::MessagePort::create):
2384         (WebCore::MessagePort::scriptExecutionContext):
2385         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
2386         work in worker contexts - we need to also make some its method thread safe for cross-thread
2387         messaging, and make event dispatching thread safe.
2388
2389         * dom/ScriptExecutionContext.cpp: Added.
2390         * dom/ScriptExecutionContext.h: Added.
2391         ActiveDOMObject and MessagePort tracking is moved from Document.
2392         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
2393         but as I'm just moving Document code, and it is Document that is the main context object
2394         in our implementation currently.
2395         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
2396         seem non-trivial to fix, and isn't really a part of this task.
2397
2398 2008-10-28  Alp Toker  <alp@nuanti.com>
2399
2400         List newly-added ImageBufferData.h in build system.
2401
2402         * GNUmakefile.am:
2403
2404 2008-10-28  Alp Toker  <alp@nuanti.com>
2405
2406         Reviewed by Cameron Zwarich.
2407
2408         De-list unused WebCore ForwardingHeaders to fix the dist target.
2409
2410         * GNUmakefile.am:
2411
2412 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2413
2414         Not reviewed.
2415
2416         Attempt to fix the Windows build by generating Forwardingheaders for the
2417         runtime directory in JavaScriptCore.
2418
2419         * WebCore.vcproj/WebCore.vcproj:
2420
2421 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
2422
2423         Reviewed by Darin Adler.
2424
2425         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
2426
2427         * editing/Editor.cpp:
2428         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
2429         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
2430         will probably require a change more complicated than just marking the learned word as 
2431         misspelled.  I'll address it with a separate patch.
2432         * editing/EditorCommand.cpp:
2433         (WebCore::executeIgnoreSpelling): Added.
2434         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
2435
2436 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2437
2438         Reviewed by Mark Rowe.
2439
2440         Move ForwardingHeaders to their correct location after the creation of
2441         the runtime directory in JavaScriptCore.
2442
2443         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
2444         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
2445         * ForwardingHeaders/kjs/CallData.h: Removed.
2446         * ForwardingHeaders/kjs/ConstructData.h: Removed.
2447         * ForwardingHeaders/kjs/DateInstance.h: Removed.
2448         * ForwardingHeaders/kjs/Error.h: Removed.
2449         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
2450         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
2451         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
2452         * ForwardingHeaders/kjs/JSArray.h: Removed.
2453         * ForwardingHeaders/kjs/JSFunction.h: Removed.
2454         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
2455         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
2456         * ForwardingHeaders/kjs/JSObject.h: Removed.
2457         * ForwardingHeaders/kjs/JSString.h: Removed.
2458         * ForwardingHeaders/kjs/JSValue.h: Removed.
2459         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
2460         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
2461         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
2462         * ForwardingHeaders/kjs/StringObject.h: Removed.
2463         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
2464         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
2465         * ForwardingHeaders/kjs/StructureID.h: Removed.
2466         * ForwardingHeaders/runtime: Added.
2467         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
2468         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
2469         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
2470         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
2471         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
2472         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
2473         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
2474         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
2475         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
2476         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
2477         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
2478         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
2479         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
2480         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
2481         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
2482         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
2483         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
2484         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
2485         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
2486         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
2487         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
2488         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
2489         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
2490         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2491         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2492         * bindings/js/JSClipboardCustom.cpp:
2493         * bindings/js/JSConsoleCustom.cpp:
2494         * bindings/js/JSCustomPositionCallback.h:
2495         * bindings/js/JSCustomPositionErrorCallback.h:
2496         * bindings/js/JSCustomSQLStatementCallback.h:
2497         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2498         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2499         * bindings/js/JSCustomVoidCallback.h:
2500         * bindings/js/JSCustomXPathNSResolver.h:
2501         * bindings/js/JSDOMBinding.cpp:
2502         * bindings/js/JSDOMBinding.h:
2503         * bindings/js/JSDOMGlobalObject.h:
2504         * bindings/js/JSDOMWindowBase.cpp:
2505         * bindings/js/JSDOMWindowCustom.cpp:
2506         * bindings/js/JSDOMWindowShell.cpp:
2507         * bindings/js/JSDatabaseCustom.cpp:
2508         * bindings/js/JSEventListener.cpp:
2509         * bindings/js/JSEventTarget.h:
2510         * bindings/js/JSHTMLDocumentCustom.cpp:
2511         * bindings/js/JSHistoryCustom.cpp:
2512         * bindings/js/JSInspectedObjectWrapper.cpp:
2513         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2514         * bindings/js/JSLocationCustom.cpp:
2515         * bindings/js/JSNodeFilterCondition.h:
2516         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2517         * bindings/js/JSQuarantinedObjectWrapper.h:
2518         * bindings/js/JSXMLHttpRequestCustom.cpp:
2519         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2520         * bindings/objc/WebScriptObject.mm:
2521         * bindings/objc/WebScriptObjectPrivate.h:
2522         * bindings/scripts/CodeGeneratorJS.pm:
2523         * bridge/NP_jsobject.cpp:
2524         * bridge/c/c_instance.cpp:
2525         * bridge/c/c_utility.cpp:
2526         * bridge/c/c_utility.h:
2527         * bridge/jni/jni_instance.cpp:
2528         * bridge/jni/jni_jsobject.h:
2529         * bridge/jni/jni_jsobject.mm:
2530         * bridge/jni/jni_runtime.cpp:
2531         * bridge/jni/jni_utility.cpp:
2532         * bridge/jni/jni_utility.h:
2533         * bridge/objc/objc_instance.mm:
2534         * bridge/objc/objc_runtime.h:
2535         * bridge/objc/objc_runtime.mm:
2536         * bridge/objc/objc_utility.h:
2537         * bridge/objc/objc_utility.mm:
2538         * bridge/runtime.h:
2539         * bridge/runtime_array.cpp:
2540         * bridge/runtime_array.h:
2541         * bridge/runtime_method.cpp:
2542         * bridge/runtime_method.h:
2543         * bridge/runtime_object.cpp:
2544         * bridge/runtime_object.h:
2545         * bridge/runtime_root.cpp:
2546         * inspector/JavaScriptCallFrame.cpp:
2547         * inspector/JavaScriptProfile.cpp:
2548         * inspector/JavaScriptProfile.h:
2549         * inspector/JavaScriptProfileNode.cpp:
2550         * inspector/JavaScriptProfileNode.h:
2551         * loader/FrameLoader.cpp:
2552         * page/Console.cpp:
2553         * plugins/PluginView.cpp:
2554         * plugins/gtk/PluginViewGtk.cpp:
2555         * plugins/qt/PluginViewQt.cpp:
2556         * plugins/win/PluginViewWin.cpp:
2557
2558 2008-10-28  Adele Peterson  <adele@apple.com>
2559
2560         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
2561
2562         * WebCore.vcproj/WebCore.vcproj:
2563
2564 2008-10-28  Adele Peterson  <adele@apple.com>
2565
2566         Windows build fix.
2567
2568         * platform/graphics/ImageBuffer.h:
2569         (WebCore::ImageBuffer::create):
2570
2571 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2572
2573         Not reviewed.
2574
2575         Roll out a mistaken attempt at fixing the GTK build in r37947.
2576
2577         * GNUmakefile.am:
2578
2579 2008-10-28  Adele Peterson  <adele@apple.com>
2580
2581         Reviewed by John Sullivan.
2582
2583         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
2584         "files" string for multifile uploads needs to be localized
2585
2586         * page/mac/WebCoreViewFactory.h:
2587         * platform/LocalizedStrings.h:
2588         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
2589         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
2590         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
2591         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
2592         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
2593         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
2594
2595 2008-10-28  Brett Wilson  <brettw@chromium.org>
2596
2597         Reviewed by Darin Adler.
2598
2599         https://bugs.webkit.org/show_bug.cgi?id=21816
2600
2601         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
2602         into a new PlatformImageBuffer class. Move the static create function
2603         into the header because it can be cross-platform. Initialization now
2604         happens in the cunstructor which sets a flag that create uses to know
2605         whether it should return null or not. I also made passing of IntSize
2606         more consistent (always by reference).
2607
2608         This change also changes the ifdefs in GraphicsContext to allow Skia
2609         ports to implement text drawing modes.
2610
2611         * platform/graphics/ImageBuffer.h:
2612         (WebCore::ImageBuffer::create):
2613         (WebCore::ImageBuffer::size):
2614         * platform/graphics/cairo/ImageBufferCairo.cpp:
2615         (WebCore::ImageBufferData::ImageBufferData):
2616         (WebCore::ImageBuffer::ImageBuffer):
2617         (WebCore::ImageBuffer::~ImageBuffer):
2618         (WebCore::ImageBuffer::image):
2619         (WebCore::ImageBuffer::getImageData):
2620         (WebCore::ImageBuffer::putImageData):
2621         * platform/graphics/cairo/ImageBufferData.h:
2622         * platform/graphics/cg/ImageBufferCG.cpp:
2623         (WebCore::ImageBufferData::ImageBufferData):
2624         (WebCore::ImageBuffer::ImageBuffer):
2625         (WebCore::ImageBuffer::~ImageBuffer):
2626         (WebCore::ImageBuffer::getImageData):
2627         (WebCore::ImageBuffer::putImageData):
2628         * platform/graphics/cg/ImageBufferData.h:
2629         * platform/graphics/qt/ImageBufferData.h:
2630         * platform/graphics/qt/ImageBufferQt.cpp:
2631         (WebCore::ImageBufferData::ImageBufferData):
2632         (WebCore::ImageBuffer::ImageBuffer):
2633         (WebCore::ImageBuffer::~ImageBuffer):
2634
2635 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2636
2637         Not reviewed.
2638
2639         Fix the GTK build.
2640
2641         * GNUmakefile.am:
2642
2643 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2644
2645         Not reviewed.
2646
2647         Another Qt build fix.
2648
2649         * WebCore.pro:
2650
2651 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
2652
2653         Reviewed by David Kilzer.
2654
2655         https://bugs.webkit.org/show_bug.cgi?id=21932
2656         Add non-pointer constant lookups to SoftLinking.h
2657
2658         * platform/mac/SoftLinking.h:
2659
2660 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
2661
2662         Reviewed by David Kilzer.
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=2192
2665         Missing semi-colons in Geoposition.idl
2666
2667         * page/Geoposition.idl: Add missing semi-colons
2668
2669 2008-10-28  Timothy Hatcher  <timothy@apple.com>
2670
2671         Make the Profiles panel in the Web Inspector have an enable screen.
2672         Profiling now needs to be enabled before console.profile() works.
2673
2674         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
2675         not slow down JavaScript all the time
2676
2677         Reviewed by Darin Adler and Kevin McCullough.
2678
2679         * English.lproj/localizedStrings.js: New strings.
2680         * WebCore.base.exp: New and changed exports.
2681         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
2682         * bindings/js/JSDOMWindowBase.cpp:
2683         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
2684         * inspector/InspectorController.cpp:
2685         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
2686         Timer to call InspectorController::startUserInitiatedProfiling.
2687         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
2688         that calls InspectorController::startUserInitiatedProfiling.
2689         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
2690         and enable the profiler if the profiler was not enabled.
2691         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
2692         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
2693         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
2694         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
2695         Call the profilerWasEnabled script function.
2696         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
2697         so it won't be started later.
2698         * inspector/InspectorController.h:
2699         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
2700         * inspector/front-end/Images/debuggingButtons.png: Remove.
2701         * inspector/front-end/Images/enableButtons.png: Added.
2702         * inspector/front-end/Images/profilesSilhouette.png: Added.
2703         * inspector/front-end/Images/scriptsSilhouette.png: Added.
2704         * inspector/front-end/PanelEnablerView.js: Added.
2705         (WebInspector.PanelEnablerView):
2706         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
2707         event so listeners can do their thing.
2708         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
2709         * inspector/front-end/ProfilesPanel.js:
2710         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
2711         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
2712         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
2713         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
2714         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
2715         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
2716         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
2717         show/hide other buttons. Also show/hide the PanelEnablerView.
2718         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
2719         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
2720         disableProfiler or enableProfiler.
2721         * inspector/front-end/ScriptsPanel.js:
2722         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
2723         debuggingButton with the enableToggleButton.
2724         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
2725         the enableToggleButton.
2726         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
2727         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
2728         with the enableToggleButton.
2729         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
2730         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
2731         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
2732         * inspector/front-end/View.js: Inherit from WebInspector.Object.
2733         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
2734         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
2735         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
2736         * inspector/front-end/inspector.js:
2737         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
2738         (WebInspector.profilerWasDisabled): Ditto.
2739         * page/Console.cpp:
2740         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
2741         (WebCore::Console::info): Ditto.
2742         (WebCore::Console::log): Ditto.
2743         (WebCore::Console::assertCondition): Ditto.
2744         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
2745         (WebCore::Console::count): Ditto.
2746         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
2747         (WebCore::Console::profileEnd): Ditto.
2748         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
2749         * page/Settings.cpp:
2750         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
2751         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
2752         Now just sets the member boolean.
2753         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
2754
2755 2008-10-28  Timothy Hatcher  <timothy@apple.com>
2756
2757         Rename a few methods related to attaching and detaching the debugger. Also
2758         adds stub methods for enabling and disabling the profiler.
2759
2760         * Rename attachDebugger to enableDebugger.
2761         * Rename detachDebugger to disableDebugger.
2762         * Rename the debuggerAttached getter to debuggerEnabled.
2763         * Rename the debuggerAttached callback to debuggerWasEnabled.
2764         * Rename the debuggerDetached callback to debuggerWasDisabled.
2765
2766         Reviewed by Darin Adler.
2767
2768         * WebCore.base.exp:
2769         * inspector/InspectorController.cpp:
2770         (WebCore::InspectorController::InspectorController):
2771         (WebCore::InspectorController::setWindowVisible):
2772         (WebCore::InspectorController::windowScriptObjectAvailable):
2773         (WebCore::InspectorController::close):
2774         (WebCore::InspectorController::enableProfiler):
2775         (WebCore::InspectorController::disableProfiler):
2776         (WebCore::InspectorController::enableDebugger):
2777         (WebCore::InspectorController::disableDebugger):
2778         (WebCore::InspectorController::pauseInDebugger):
2779         (WebCore::InspectorController::resumeDebugger):
2780         (WebCore::InspectorController::stepOverStatementInDebugger):
2781         (WebCore::InspectorController::stepIntoStatementInDebugger):
2782         (WebCore::InspectorController::stepOutOfFunctionInDebugger):
2783         * inspector/InspectorController.h:
2784         (WebCore::InspectorController::profilerEnabled):
2785         (WebCore::InspectorController::debuggerEnabled):
2786         * inspector/front-end/BreakpointsSidebarPane.js:
2787         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2788         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
2789         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2790         * inspector/front-end/Object.js:
2791         * inspector/front-end/ProfilesPanel.js:
2792         (WebInspector.ProfilesPanel):
2793         * inspector/front-end/ScriptsPanel.js:
2794         (WebInspector.ScriptsPanel):
2795         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
2796         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
2797         (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
2798         (WebInspector.ScriptsPanel.prototype.reset):
2799         (WebInspector.ScriptsPanel.prototype.canShowResource):
2800         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
2801         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2802         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2803         * inspector/front-end/View.js:
2804         * inspector/front-end/inspector.css:
2805         * inspector/front-end/inspector.html:
2806         * inspector/front-end/inspector.js:
2807         (WebInspector.addResource):
2808         (WebInspector.debuggerWasEnabled):
2809         (WebInspector.debuggerWasDisabled):
2810
2811 2008-10-28  Timothy Hatcher  <timothy@apple.com>
2812
2813         Fix an exception when searching the Resources panel while there
2814         and resources queued to be added to the list.
2815
2816         Reviewed by Kevin McCullough.
2817
2818         * inspector/front-end/ResourcesPanel.js:
2819         (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
2820         the _resourcesTreeElement property.
2821         (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
2822
2823 2008-10-28  Alp Toker  <alp@nuanti.com>
2824
2825         GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
2826         isn't defined.
2827
2828         * platform/graphics/gtk/FontGtk.cpp:
2829         (WebCore::getDefaultPangoLayout):
2830         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2831
2832 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
2833
2834         Reviewed by Darin Adler.
2835
2836         https://bugs.webkit.org/show_bug.cgi?id=21893
2837         Character set is incorrect for external scripts in XHTML pages
2838
2839         <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
2840
2841         Test: fast/encoding/external-script-charset.xhtml
2842
2843         Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
2844
2845         * dom/ScriptElement.h:
2846         * dom/XMLTokenizerLibxml2.cpp:
2847         (WebCore::XMLTokenizer::endElementNs):
2848         * dom/XMLTokenizerQt.cpp:
2849         (WebCore::XMLTokenizer::parseEndElement):
2850         * html/HTMLScriptElement.h:
2851         * svg/SVGScriptElement.cpp:
2852         (WebCore::SVGScriptElement::scriptCharset):
2853         * svg/SVGScriptElement.h:
2854
2855 2008-10-28  Alp Toker  <alp@nuanti.com>
2856
2857         Include copyright license files in the autotools dist target and
2858         exclude unused zlib headers.
2859
2860         Change suggested by Mike Hommey.
2861
2862         * GNUmakefile.am:
2863
2864 2008-10-27  Sam Weinig  <sam@webkit.org>
2865
2866         Reviewed by Maciej Stachowiak.
2867
2868         Clear the window shell when destroying a page to allow documents
2869         which have no way of being reached anymore, to be torn down.
2870
2871         * page/Frame.cpp:
2872         (WebCore::Frame::pageDestroyed):
2873
2874 2008-10-27  Kevin Watters  <kevinwatters@gmail.com>
2875
2876         Reviewed by Kevin Ollivier.
2877         
2878         Update the active state as well as the focused state as both need to be true
2879         for the caret to be drawn.
2880         
2881         https://bugs.webkit.org/show_bug.cgi?id=21900
2882
2883         * WebView.cpp:
2884         (wxWebView::OnSetFocus):
2885         (wxWebView::OnKillFocus):
2886
2887 2008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
2888
2889         wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
2890
2891         * webcore-wx.bkl:
2892
2893 2008-10-27  Michael Knaup  <michael.knaup@mac.com>
2894
2895         Reviewed and tweaked by Darin Adler.
2896
2897         - https://bugs.webkit.org/show_bug.cgi?id=8988
2898
2899         Bug 8988: Add support for Mozilla CSS custom cursors.
2900         Added -webkit-grab and -webkit-grabbing cursor suppport
2901         for the Mac, dummy implementations for other platforms.
2902
2903         * css/CSSParser.cpp:
2904         (WebCore::CSSParser::parseValue): Updated since the
2905         -webkit-grabbing cursor is now the last one.
2906
2907         * css/CSSPrimitiveValueMappings.h:
2908         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
2909         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2910
2911         * css/CSSValueKeywords.in: Added -webkit-grab and
2912         -webkit-grabbing.
2913
2914         * manual-tests/cursor.html: Added -webkit-zoom-in,
2915         webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
2916
2917         * page/EventHandler.cpp:
2918         (WebCore::EventHandler::selectCursor): Added
2919         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2920
2921         * platform/Cursor.h: Added grabCursor and grabbingCursor.
2922
2923         * platform/gtk/CursorGtk.cpp:
2924         (WebCore::grabCursor): Added.
2925         (WebCore::grabbingCursor): Added.
2926         * platform/mac/CursorMac.mm:
2927         (WebCore::grabCursor): Added.
2928         (WebCore::grabbingCursor): Added.
2929         * platform/qt/CursorQt.cpp:
2930         (WebCore::grabCursor): Added.
2931         (WebCore::grabbingCursor): Added.
2932         * platform/win/CursorWin.cpp:
2933         (WebCore::grabCursor): Added.
2934         (WebCore::grabbingCursor): Added.
2935         * platform/wx/CursorWx.cpp:
2936         (WebCore::grabCursor): Added.
2937         (WebCore::grabbingCursor): Added.
2938
2939         * rendering/style/RenderStyleConstants.h:
2940         Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2941         Also broke ECursor out into a single constant per line.
2942         Also added a couple of comments.
2943
2944 2008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
2945
2946         Reviewed by Darin Adler.
2947
2948         * svg/SVGAnimatedTemplate.h: needed a HashMap define
2949
2950 2008-10-21  Eric Seidel  <eric@webkit.org>
2951
2952         Reviewed by Dave Hyatt.
2953
2954         Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
2955         https://bugs.webkit.org/show_bug.cgi?id=20400
2956
2957         Test: svg/custom/stop-crash.svg
2958
2959         * WebCore.xcodeproj/project.pbxproj:
2960         * rendering/RenderSVGGradientStop.h:
2961         (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
2962
2963 2008-10-27  Anders Carlsson  <andersca@apple.com>
2964
2965         Reviewed by Sam Weinig.
2966
2967         No need to call release if the connection is null.
2968         
2969         * platform/network/mac/ResourceHandleMac.mm:
2970         (WebCore::ResourceHandle::start):
2971
2972 2008-10-27  Anders Carlsson  <andersca@apple.com>
2973
2974         Reviewed by Kevin Decker.
2975
2976         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
2977         
2978         Make sure to null check the NSURLConnection object.
2979         
2980         * platform/network/mac/ResourceHandleMac.mm:
2981         (WebCore::ResourceHandle::start):
2982         (WebCore::ResourceHandle::setDefersLoading):
2983
2984 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
2985
2986         Fix non-Mac builds.
2987
2988         * GNUmakefile.am:
2989         * WebCore.pro:
2990         * WebCore.vcproj/WebCore.vcproj:
2991         * WebCoreSources.bkl:
2992         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2993
2994 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
2995
2996         Reviewed by Sam Weinig.
2997
2998         https://bugs.webkit.org/show_bug.cgi?id=21886
2999         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
3000
3001         Test: fast/dom/HTMLOptionElement/option-prototype.html
3002
3003         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
3004         "constructor" cannot be used to construct anything. This matches Firefox behavior.
3005
3006         * WebCore.xcodeproj/project.pbxproj:
3007         * bindings/js/JSDOMWindowBase.cpp:
3008         (jsDOMWindowBaseOption):
3009         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
3010         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
3011         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
3012         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
3013         * html/HTMLOptionElement.idl:
3014         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
3015
3016         * html/HTMLOptionElement.idl: Generate a constructor.
3017
3018 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
3019
3020         Not reviewed.
3021         
3022         Try to fix Mac debug build on the buildbot.
3023
3024         * platform/FileChooser.cpp:
3025         (WebCore::FileChooserClient::~FileChooserClient):
3026         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
3027         weak exported symbol.
3028
3029 2008-10-25  Jade Han  <jade.han@nokia.com>
3030
3031         Reviewed by Anders.
3032
3033         Enable custom properties for Qt runtime objects in QtWebKit
3034
3035         https://bugs.webkit.org/show_bug.cgi?id=21813
3036
3037         * bridge/runtime_object.cpp:
3038         (JSC::RuntimeObjectImp::getOwnPropertySlot):
3039         (JSC::RuntimeObjectImp::put):
3040
3041 2008-10-24  Sam Weinig  <sam@webkit.org>
3042
3043         Fix windows build.
3044
3045         * page/Chrome.cpp:
3046         * page/Chrome.h:
3047
3048 2008-10-24  Sam Weinig  <sam@webkit.org>
3049
3050         Fix Qt build.
3051
3052         * platform/qt/FileChooserQt.cpp:
3053
3054 2008-10-24  Sam Weinig  <sam@webkit.org>
3055
3056         Reviewed by Dan Bernstein.
3057
3058         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
3059         Layering violation: FileChooser should not depend on Document/Frame/Page
3060
3061         Move file choosing into WebKit ChromeClient.
3062
3063         * loader/EmptyClients.h:
3064         (WebCore::EmptyChromeClient::runOpenPanel):
3065         * page/Chrome.cpp:
3066         (WebCore::Chrome::runOpenPanel):
3067         * page/Chrome.h:
3068         * page/ChromeClient.h:
3069         * page/mac/ChromeMac.mm:
3070         * platform/FileChooser.h:
3071         * platform/mac/FileChooserMac.mm:
3072         * platform/qt/FileChooserQt.cpp:
3073         * platform/win/FileChooserWin.cpp:
3074         * platform/wx/TemporaryLinkStubs.cpp:
3075         * rendering/RenderFileUploadControl.cpp:
3076         (WebCore::RenderFileUploadControl::click):
3077
3078 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
3079
3080         wx build fix - add newIconForFiles stub.
3081
3082         * platform/wx/TemporaryLinkStubs.cpp:
3083         (Icon::newIconForFiles):
3084
3085 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
3086
3087         Reviewed by Kevin Ollivier.
3088
3089         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
3090         value the text is drawn at (it was a couple pixels off before because wx
3091         internally adds to the y value.
3092
3093         https://bugs.webkit.org/show_bug.cgi?id=21853
3094
3095         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3096         (wxFontProperties::wxFontProperties):
3097         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
3098         (WebCore::drawTextWithSpacing):
3099
3100 2008-10-24  Eric Seidel  <eric@webkit.org>
3101
3102         Reviewed by Sam Weinig.
3103
3104         Generate missing constructors and add test to prevent missing ones in the future
3105         https://bugs.webkit.org/show_bug.cgi?id=21846
3106
3107         Test: fast/js/global-constructors.html
3108
3109         * css/CSSStyleSheet.idl:
3110         * css/RGBColor.idl:
3111         * dom/NodeIterator.idl:
3112         * dom/TreeWalker.idl:
3113         * xml/XPathExpression.idl:
3114
3115 2008-10-24  Alexey Proskuryakov  <ap@webkit.org>
3116
3117         Reviewed by Darin Adler.
3118
3119         https://bugs.webkit.org/show_bug.cgi?id=21836
3120         REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
3121
3122         Test: http/tests/xmlhttprequest/detaching-frame.html
3123
3124         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
3125         even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
3126         when dispatching the same callback that results in this function being called.
3127
3128 2008-10-24  David Kilzer  <ddkilzer@apple.com>
3129
3130         Gtk build fix.
3131
3132         * platform/gtk/TemporaryLinkStubs.cpp:
3133         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
3134
3135 2008-10-24  Mark Rowe  <mrowe@apple.com>
3136
3137         Reviewed by Sam Weinig.
3138
3139         <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
3140
3141         * platform/graphics/cg/GraphicsContextCG.cpp:
3142         (WebCore::GraphicsContext::setImageInterpolationQuality):
3143         (WebCore::GraphicsContext::imageInterpolationQuality):
3144
3145 2008-10-24  Anders Carlsson  <andersca@apple.com>
3146
3147         Reviewed by Sam Weinig.
3148
3149         <rdar://problem/5440917> Support NPN_Construct
3150                 
3151         * WebCore.NPAPI.exp:
3152         Export _NPN_Construct.
3153         
3154         * bridge/NP_jsobject.cpp:
3155         (_NPN_Construct):
3156         Implement this.
3157         
3158         * bridge/c/c_instance.cpp:
3159         (JSC::Bindings::CInstance::supportsConstruct):
3160         (JSC::Bindings::CInstance::invokeConstruct):
3161         Have this call the appropriate NPClass method.
3162         
3163         * bridge/npruntime.h:
3164         Add NPN_Construct.
3165
3166         * bridge/npruntime_impl.h:
3167         Add _NPN_Construct.
3168         
3169         * bridge/runtime.h:
3170         (JSC::Bindings::Instance::supportsConstruct):
3171         (JSC::Bindings::Instance::invokeConstruct):
3172         New methods.
3173         
3174         * bridge/runtime_object.cpp:
3175         (JSC::callRuntimeConstructor):
3176         Call the native instance.
3177         
3178         (JSC::RuntimeObjectImp::getConstructData):
3179         Implement this.
3180         
3181         * bridge/runtime_object.h:
3182         Add new method declarations.
3183         
3184         * plugins/gtk/PluginPackageGtk.cpp:
3185         (WebCore::PluginPackage::load):
3186         * plugins/qt/PluginPackageQt.cpp:
3187         (WebCore::PluginPackage::load):
3188         * plugins/win/PluginPackageWin.cpp:
3189         (WebCore::PluginPackage::load):
3190         Initialize m_pluginFuncs.construct.
3191
3192 2008-10-24  Adele Peterson  <adele@apple.com>
3193
3194         Build fix.
3195
3196         * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
3197         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
3198
3199 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
3200
3201         Fix GTK build break.
3202
3203         Reviewed by David Kilzer.
3204
3205         * GNUmakefile.am: Do not include .idl files whose generated files should not be
3206         compiled.
3207
3208 2008-10-24  David Kilzer  <ddkilzer@apple.com>
3209
3210         Wx build fix.
3211
3212         * platform/wx/TemporaryLinkStubs.cpp:
3213         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
3214
3215 2008-10-24  Adele Peterson  <adele@apple.com>
3216
3217         Reviewed by Sam Weinig.
3218
3219         WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
3220
3221         This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
3222         This is consistent with the direction HTML5 will be going in the future.
3223
3224         The initial implementation here will show "n files" as the text next to the control when multiple files are selected.  You can view
3225         the individual files in a tooltip for now.  Improvements to this control will come later.  
3226
3227         Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.  
3228         These FileList Files can also be sent in an XMLHTTPRequest.
3229
3230         * manual-tests/post-multi-file-upload.html: Added.
3231         * manual-tests/resources/multiFileResources: Added.
3232         * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
3233         * manual-tests/resources/multiFileResources/testFile1.html: Added.
3234         * manual-tests/resources/multiFileResources/testFile2.html: Added.
3235         * manual-tests/resources/multiFileResources/testFile3.html: Added.
3236
3237         * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
3238
3239         * html/HTMLInputElement.cpp:
3240         (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
3241         (WebCore::HTMLInputElement::value): Added comments.  The HTML5 spec says that value shouldn't apply for the file upload control,
3242         but we don't want to break the behavior for existing websites that may rely on this.
3243         (WebCore::HTMLInputElement::setValue): ditto.
3244         (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
3245         (WebCore::HTMLInputElement::setFileListFromRenderer): Added. 
3246         * html/HTMLInputElement.h:
3247
3248         * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
3249
3250         * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
3251
3252         * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
3253         (WebCore::FileChooser::FileChooser):
3254         (WebCore::FileChooser::create):
3255         (WebCore::FileChooser::clear):
3256         (WebCore::FileChooser::chooseFile):
3257         (WebCore::FileChooser::chooseFiles):
3258         (WebCore::FileChooser::chooseIcon):
3259         * platform/FileChooser.h:
3260         (WebCore::FileChooser::filePaths):
3261         (WebCore::FileChooser::allowsMultipleFiles):
3262
3263         * platform/graphics/Icon.h:
3264         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
3265         * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
3266         * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
3267         * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
3268
3269         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):  Updated to deal with new filenames vector.
3270         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
3271         * platform/qt/FileChooserQt.cpp:
3272         (WebCore::FileChooser::openFileChooser):
3273         (WebCore::FileChooser::basenameForWidth):
3274         * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
3275
3276         * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
3277         Removed unnecessary assertion.  This can get hit when connectionDidFinishLoading and cancel
3278         both get called for the same ResourceHandle.  This getting called twice has no negative effect.
3279
3280         * rendering/RenderFileUploadControl.cpp:
3281         (WebCore::RenderFileUploadControl::valueChanged):  Calls setFileListFromRenderer.
3282         (WebCore::RenderFileUploadControl::allowsMultipleFiles):  Added.
3283         (WebCore::RenderFileUploadControl::updateFromElement):  Uses the new filenames call from FileChooser.
3284         (WebCore::RenderFileUploadControl::receiveDroppedFiles):  Updated to support multiple files.
3285         * rendering/RenderFileUploadControl.h:
3286
3287 2008-10-23  Peter Kasting  <pkasting@google.com>
3288
3289         Reviewed by David Hyatt.
3290
3291         https://bugs.webkit.org/show_bug.cgi?id=21844
3292         Remove setFocusRingColorChangeFunction.
3293
3294         * page/Page.cpp:
3295         (WebCore::Page::Page):
3296         * platform/graphics/Color.h:
3297         * platform/graphics/mac/ColorMac.mm:
3298         (WebCore::focusRingColor):
3299         * platform/graphics/qt/GraphicsContextQt.cpp:
3300         * platform/graphics/win/ColorSafari.cpp:
3301
3302 2008-10-24  David Kilzer  <ddkilzer@apple.com>
3303
3304         Build fix for Qt.
3305
3306         Reviewed by Greg.
3307
3308         * WebCore.pro: Added missing *.idl files.
3309
3310 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
3311
3312         Reviewed by Sam Weinig.
3313
3314         https://bugs.webkit.org/show_bug.cgi?id=21475
3315         
3316         Provide support for the Geolocation API
3317         
3318         http://dev.w3.org/geo/api/spec-source.html
3319
3320         Test: geolocation/geolocation-not-implemented.html
3321
3322         * DerivedSources.make:
3323         * GNUmakefile.am: Added Geolocation support
3324         * WebCore.pro: Added Geolocation support
3325         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
3326         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
3327         * WebCoreSources.bkl: Added Geolocation support
3328         * bindings/js/JSCustomPositionCallback.cpp: Added.
3329         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
3330         (WebCore::JSCustomPositionCallback::handleEvent):
3331         * bindings/js/JSCustomPositionCallback.h: Added.
3332         (WebCore::JSCustomPositionCallback::create):
3333         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
3334         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
3335         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3336         * bindings/js/JSCustomPositionErrorCallback.h: Added.
3337         (WebCore::JSCustomPositionErrorCallback::create):
3338         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
3339         (WebCore::markDOMObjectWrapper):
3340         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
3341         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
3342         * bindings/js/JSGeolocationCustom.cpp: Added.
3343         (WebCore::JSGeolocation::getCurrentPosition):
3344         (WebCore::JSGeolocation::watchPosition):
3345         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
3346         (WebCore::JSNavigator::mark):
3347         * dom/Document.cpp:
3348         (WebCore::Document::Document):
3349         * dom/Document.h:
3350         (WebCore::Document::setUsingGeolocation):
3351         (WebCore::Document::usingGeolocation):
3352         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
3353         (WebCore::FrameLoader::canCachePage):
3354         * page/Geolocation.cpp: Added.
3355         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
3356         (WebCore::Geolocation::GeoNotifier::timerFired):
3357         (WebCore::Geolocation::Geolocation):
3358         (WebCore::Geolocation::disconnectFrame):
3359         (WebCore::Geolocation::getCurrentPosition):
3360         (WebCore::Geolocation::watchPosition):
3361         (WebCore::Geolocation::clearWatch):
3362         (WebCore::Geolocation::stopUpdatingIfEmpty):
3363         (WebCore::Geolocation::sendErrorToOneShots):
3364         (WebCore::Geolocation::sendErrorToWatchers):
3365         (WebCore::Geolocation::sendPositionToOneShots):
3366         (WebCore::Geolocation::sendPositionToWatchers):
3367         (WebCore::Geolocation::handleError):
3368         (WebCore::Geolocation::geolocationServicePositionChanged):
3369         (WebCore::Geolocation::geolocationServiceErrorOccurred):
3370         * page/Geolocation.h: Added.
3371         (WebCore::Geolocation::create):
3372         (WebCore::Geolocation::~Geolocation):
3373         (WebCore::Geolocation::lastPosition):
3374         (WebCore::Geolocation::GeoNotifier::create):
3375         * page/Geolocation.idl: Added.
3376         * page/Geoposition.cpp: Added.
3377         (WebCore::Geoposition::toString):
3378         * page/Geoposition.h: Added.
3379         (WebCore::Geoposition::create):
3380         (WebCore::Geoposition::latitude):
3381         (WebCore::Geoposition::longitude):
3382         (WebCore::Geoposition::altitude):
3383         (WebCore::Geoposition::accuracy):
3384         (WebCore::Geoposition::altitudeAccuracy):
3385         (WebCore::Geoposition::heading):
3386         (WebCore::Geoposition::velocity):
3387         (WebCore::Geoposition::timestamp):
3388         (WebCore::Geoposition::Geoposition):
3389         * page/Geoposition.idl: Added.
3390         * page/Navigator.cpp:
3391         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
3392         (WebCore::Navigator::geolocation): accessor for Geolocation
3393         * page/Navigator.h:
3394         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
3395         * page/Navigator.idl: accessor for Geolocation
3396         * page/PositionCallback.h: Added.
3397         (WebCore::PositionCallback::~PositionCallback):
3398         * page/PositionCallback.idl: Added.
3399         * page/PositionError.h: Added.
3400         (WebCore::PositionError::):
3401         (WebCore::PositionError::create):
3402         (WebCore::PositionError::code):
3403         (WebCore::PositionError::message):
3404         (WebCore::PositionError::PositionError):
3405         * page/PositionError.idl: Added.
3406         * page/PositionErrorCallback.h: Added.
3407         (WebCore::PositionErrorCallback::~PositionErrorCallback):
3408         * page/PositionErrorCallback.idl: Added.
3409         * page/PositionOptions.h: Added.
3410         (WebCore::PositionOptions::create):
3411         (WebCore::PositionOptions::enableHighAccuracy):
3412         (WebCore::PositionOptions::setEnableHighAccuracy):
3413         (WebCore::PositionOptions::timeout):
3414         (WebCore::PositionOptions::setTimeout):
3415         (WebCore::PositionOptions::PositionOptions):
3416         * page/PositionOptions.idl: Added.
3417         * platform/GeolocationService.cpp: Added.
3418         (WebCore::GeolocationService::GeolocationService):
3419         (WebCore::GeolocationService::positionChanged):
3420         (WebCore::GeolocationService::errorOccurred):
3421         * platform/GeolocationService.h: Added.
3422         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
3423         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
3424         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
3425         (WebCore::GeolocationService::~GeolocationService):
3426
3427 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
3428
3429         Reviewed by Darin Adler
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=21818
3432         
3433         Add HashTraits for AtomicString so that AtomicString can be used as
3434         the key for a HashMap or HashSet.
3435
3436         * GNUmakefile.am: add AtomicStringHash.h
3437         * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
3438         * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
3439         * platform/text/AtomicString.h:
3440         (WebCore::AtomicString::AtomicString):
3441         (WebCore::AtomicString::isHashTableDeletedValue):
3442             specialize DefaultHash for AtomicString to use AtomicStringHash
3443         * platform/text/AtomicStringHash.h: Added.
3444         * platform/text/StringImpl.cpp:
3445         (WebCore::StringImpl::StringImpl):
3446             compute the hash up-front for the empty string
3447         * platform/text/StringImpl.h:
3448         (WebCore::StringImpl::existingHash):
3449             method to get the hash without a test and branch, for callers like
3450             AtomicStringHash who can guarantee that the hash has already been computed.
3451
3452 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
3453
3454         Reviewed by Sam Weinig
3455
3456         https://bugs.webkit.org/show_bug.cgi?id=21857
3457
3458         Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
3459         switch in _wrapCSSRule.
3460         
3461         * bindings/objc/DOMCSS.mm:
3462         (+[DOMCSSRule _wrapCSSRule:WebCore::]):
3463
3464 2008-10-24  Adam Roben  <aroben@apple.com>
3465
3466         Windows build fix
3467
3468         * plugins/PluginView.cpp:
3469
3470 2008-10-24  Dan Bernstein  <mitz@apple.com>
3471
3472         Reviewed by Sam Weinig.
3473
3474         - fix https://bugs.webkit.org/show_bug.cgi?id=21851
3475           <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
3476
3477         Test: fast/replaced/percent-height-in-anonymous-block-widget.html
3478
3479         * rendering/RenderWidget.cpp:
3480         (WebCore::RenderWidget::destroy): Copied code added to
3481         RenderBox::destroy() in r36513 into this function.
3482
3483 2008-10-24  Timothy Hatcher  <timothy@apple.com>
3484
3485         Add a mechanism to ask the InspectorClient for key/value setting pairs.
3486         These settings can be strings, numbers, booleans or string vectors. The
3487         settings are also bridged to and from JavaScript.
3488
3489         https://bugs.webkit.org/show_bug.cgi?id=21856
3490
3491         Reviewed by Darin Adler.
3492
3493         * WebCore.base.exp: Expose the String CFStringRef constructor.
3494         * inspector/InspectorClient.h:
3495         (WebCore::InspectorClient::populateSetting): Added, pure virtual.
3496         (WebCore::InspectorClient::storeSetting): Ditto.
3497         (WebCore::InspectorClient::removeSetting): Ditto.
3498         * inspector/InspectorController.cpp:
3499         (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
3500         (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
3501         (WebCore::InspectorController::InspectorController): Increment a global static
3502         to track the number of live InspectorControllers.
3503         (WebCore::InspectorController::~InspectorController): Decrement the global static
3504         that tracks the number of live InspectorControllers. Delete the setting cache if there
3505         are no more live controllers.
3506         (WebCore::InspectorController::setting): Check the cache and return the setting from there,
3507         otherwise make a new Setting and ask the client to populate it.
3508         (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
3509         (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
3510         to the InspectorController script class.
3511         * inspector/InspectorController.h:
3512         (WebCore::InspectorController::Setting::Setting):
3513         (WebCore::InspectorController::Setting::operator=):
3514         (WebCore::InspectorController::Setting::type): Return m_type.
3515         (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
3516         (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
3517         Assert the type is correct.
3518         (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
3519         Assert the type is correct.
3520         (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
3521         Assert the type is correct.
3522         (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
3523         Assert the type is correct.
3524         (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
3525         field and the type.
3526         * loader/EmptyClients.h:
3527         (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
3528         (WebCore::EmptyInspectorClient::storeSetting): Ditto.
3529         (WebCore::EmptyInspectorClient::removeSetting): Ditto.
3530
3531 2008-10-24  Cameron Zwarich  <zwarich@apple.com>
3532
3533         Reviewed by Sam Weinig.
3534
3535         Remove some C-style casts.
3536
3537         * html/HTMLViewSourceDocument.cpp:
3538         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
3539
3540 2008-10-24  Darin Adler  <darin@apple.com>
3541
3542         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
3543
3544         * bindings/js/JSAttrCustom.cpp:
3545         * bindings/js/JSCSSRuleCustom.cpp:
3546         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3547         * bindings/js/JSCSSValueCustom.cpp:
3548         * bindings/js/JSCanvasPixelArrayCustom.h:
3549         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3550         * bindings/js/JSClipboardCustom.cpp:
3551         * bindings/js/JSConsoleCustom.cpp:
3552         * bindings/js/JSCustomSQLStatementCallback.cpp:
3553         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3554         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3555         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3556         * bindings/js/JSCustomVoidCallback.cpp:
3557         * bindings/js/JSCustomVoidCallback.h:
3558         * bindings/js/JSCustomXPathNSResolver.cpp:
3559         * bindings/js/JSCustomXPathNSResolver.h:
3560         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3561         * bindings/js/JSDOMBinding.cpp:
3562         * bindings/js/JSDOMBinding.h:
3563         * bindings/js/JSDOMWindowBase.cpp:
3564         * bindings/js/JSDOMWindowBase.h:
3565         * bindings/js/JSDOMWindowCustom.cpp:
3566         * bindings/js/JSDOMWindowCustom.h:
3567         * bindings/js/JSDOMWindowShell.cpp:
3568         * bindings/js/JSDOMWindowShell.h:
3569         * bindings/js/JSDatabaseCustom.cpp:
3570         * bindings/js/JSDedicatedWorkerCustom.cpp:
3571         * bindings/js/JSDocumentCustom.cpp:
3572         * bindings/js/JSElementCustom.cpp:
3573         * bindings/js/JSEventCustom.cpp:
3574         * bindings/js/JSEvent