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