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