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