b039efe020d5973f1b8ef054574f3f614a0f6880
[WebKit-https.git] / WebCore / ChangeLog
1 2007-11-20  Alp Toker  <alp@atoker.com>
2
3         Reviewed by Mark Rowe.
4
5         Avoid pointlessly mallocing and freeing this transform matrix.
6
7         * platform/gtk/FontPlatformDataGtk.cpp:
8         (WebCore::FontPlatformData::FontPlatformData):
9
10 2007-11-20  Naiem Shaik  <naiem.shaik@gmail.com>
11
12         Reviewed by Alp Toker.
13
14         http://bugs.webkit.org/show_bug.cgi?id=15763
15         [GTK] Enter key does not take to the link highlighted.
16
17         Add missing keycode cases.
18
19         * platform/gtk/KeyEventGtk.cpp:
20         (WebCore::keyIdentifierForGdkKeyCode):
21         (WebCore::windowsKeyCodeForKeyEvent):
22         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
23
24 2007-11-20  Mark Rowe  <mrowe@apple.com>
25
26         Reviewed by Sam Weinig.
27
28         Fix http://bugs.webkit.org/show_bug.cgi?id=16074
29         Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
30
31         For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
32         not result in an id being set.
33
34         * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
35
36 2007-11-20  Dan Bernstein  <mitz@apple.com>
37
38         Reviewed by Adam Roben.
39
40         - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
41
42         * platform/win/PlatformScrollBar.h:
43         * platform/win/PlatformScrollBarSafari.cpp:
44         Added the "hit inset" constants (representing how far the track eats
45         into the button).
46         (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
47         the thumb only if they should be showing.
48         (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
49         arrows should be drawn.
50         (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
51         should be drawn.
52         (WebCore::PlatformScrollbar::forwardButtonRect):
53         (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
54         bounds of the scrollbar if the scrollbar has no buttons.
55         (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
56         track along the entire scrollbar if it has not buttons.
57         (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
58         parts that the scrollbar has in its current dimensions.
59
60 2007-11-20  Mark Rowe  <mrowe@apple.com>
61
62         Reviewed by Alp Toker.
63
64         * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
65
66 2007-11-20  Simon Hausmann  <hausmann@kde.org>
67
68         Reviewed by Adam Treat <treat@kde.org>.
69
70         Remove static linkage of QtWebKit against the ICO image format plugin.
71         Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
72
73         * WebCore.pro:
74         * platform/graphics/qt/ImageDecoderQt.cpp:
75
76 2007-11-20  David D. Kilzer  <ddkilzer@webkit.org>
77
78         no-svg build broken after r27278
79         <http://bugs.webkit.org/show_bug.cgi?id=16061>
80
81         Reviewed by Eric.
82
83         * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
84         and DOMHTMLObjectElementPrivate.h for no-svg build.
85
86 2007-11-20  Adam Treat  <treat@kde.org>
87
88         Reviewed by Simon.
89
90         * Don't use so much heap memory.
91
92         WARNING: NO TEST CASES ADDED OR CHANGED
93
94         * platform/graphics/qt/ImageDecoderQt.cpp:
95         * platform/graphics/qt/ImageDecoderQt.h:
96         * platform/graphics/qt/ImageSourceQt.cpp:
97         (WebCore::ImageSource::createFrameAtIndex):
98
99 2007-11-20  Lars Knoll  <lars@trolltech.com>
100
101         Reviewed by Simon.
102
103         Fix text break interators.
104         
105         The break iterators where trying to be smart about the input
106         string and caching their results. Unfortunately a pointer/string length
107         comparison is not good enough in all cases (since some input is stack based
108         temp strings). Removed the caching but at the same time started to use a more
109         efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
110         most strings.
111         
112         Fixes two test cases that test "text-transform: capitalize".
113
114         * platform/qt/TextBreakIteratorQt.cpp:
115         (WebCore::wordBreakIterator):
116         (WebCore::characterBreakIterator):
117         (WebCore::lineBreakIterator):
118         (WebCore::sentenceBreakIterator):
119
120 2007-11-20  Adam Treat  <treat@kde.org>
121
122         Reviewed by George.
123
124         * Make gif animations work for instance.
125
126         WARNING: NO TEST CASES ADDED OR CHANGED
127
128         * platform/graphics/qt/ImageDecoderQt.cpp:
129         (WebCore::ImageDecoderQt::reset):
130         (WebCore::ImageDecoderQt::setData):
131         (WebCore::ImageDecoderQt::frameCount):
132         (WebCore::ImageDecoderQt::repetitionCount):
133         * platform/graphics/qt/ImageDecoderQt.h:
134
135 2007-11-20  Adam Treat  <treat@kde.org>
136
137         * Build in release mode
138
139         WARNING: NO TEST CASES ADDED OR CHANGED
140
141         * platform/NotImplemented.h:
142
143 2007-11-20  Adam Treat  <treat@kde.org>
144
145         Reviewed by Simon and George.
146
147         * Be quiet and allow suppression of NotImplemented calls at runtime.
148
149         WARNING: NO TEST CASES ADDED OR CHANGED
150
151         * platform/NotImplemented.h:
152
153 2007-11-19  Doug Turner  <dougt@meer.net>
154
155         Reviewed by Alp Toker.
156
157         http://bugs.webkit.org/show_bug.cgi?id=16054
158         Crash when GlyphPage::fill is called with more than 256 bytes of data
159
160         http://bugs.webkit.org/show_bug.cgi?id=14446
161         [GDK] Crash on http://www.wikipedia.org/
162
163         setGlyphDataForIndex() uses a fixed array of size 256 which we can't
164         exceed. We need to return failure if the buffer has Unicode
165         supplementary characters for now.
166
167         This strategy matches the Win port, which also doesn't support this
168         case yet.
169
170         Add an assertion so nobody makes this mistake again.
171
172         * platform/GlyphPageTreeNode.h:
173         (WebCore::GlyphPage::setGlyphDataForIndex):
174         * platform/gtk/GlyphPageTreeNodeGtk.cpp:
175         (WebCore::GlyphPage::fill):
176
177 2007-11-19  Doug Turner  <dougt@meer.net>
178
179         Reviewed by Timothy Hatcher.
180
181         http://bugs.webkit.org/show_bug.cgi?id=16050
182         sqlite3_prepare16_v2 build bustage.
183
184         Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
185         to fix build bustage.
186
187         * platform/sql/SQLiteStatement.cpp:
188         (WebCore::SQLiteStatement::prepare):
189
190 2007-11-19  Mark Rowe  <mrowe@apple.com>
191
192         Build fix.  Don't over-qualify the constructor name.
193
194         * storage/DatabaseDetails.h:
195
196 2007-11-19  Brady Eidson <beidson@apple.com>
197
198         Reviewed by Maciej
199
200         Stub out the WebCore parts of the WebKit API
201
202         * WebCore.base.exp:
203         * WebCore.xcodeproj/project.pbxproj:
204
205         * storage/DatabaseDetails.h: Added.  Simple container for vitals on a specific database
206         (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
207         (WebCore::DatabaseDetails::DatabaseDetails):
208         (WebCore::DatabaseDetails::isValid):
209         (WebCore::DatabaseDetails::name):
210         (WebCore::DatabaseDetails::version):
211         (WebCore::DatabaseDetails::displayName):
212         (WebCore::DatabaseDetails::expectedUsage):
213         (WebCore::DatabaseDetails::currentUsage):
214
215         * storage/DatabaseTracker.cpp:  Added various methods for API usage
216         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
217         (WebCore::DatabaseTracker::usageForOrigin):
218         (WebCore::DatabaseTracker::quotaForOrigin):
219         (WebCore::DatabaseTracker::setQuota):
220         * storage/DatabaseTracker.h:
221
222 2007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
223
224         wx port build fix.
225
226         * platform/graphics/wx/AffineTransformWx.cpp:
227         (WebCore::AffineTransform::operator== ):
228         m_transform is only available when using wxGraphicsContext.
229
230 2007-11-19  Alp Toker  <alp@atoker.com>
231
232         Reviewed by Mark Rowe.
233
234         GTK+ drawing fixes.
235
236         Add a check to avoid crashing when the GraphicsContext is not
237         associated with a GdkDrawable. This was noticed when adding printing
238         support but might be triggered in other situations too.
239
240         Do not render themes when painting is disabled. This is an
241         optimisation for cases where GraphicsContext is used to calculate page
242         dimensions etc. without actually rendering.
243
244         * platform/graphics/cairo/GraphicsContextCairo.cpp:
245         (WebCore::GraphicsContext::gdkDrawable):
246         * platform/gtk/RenderThemeGtk.cpp:
247         (WebCore::paintMozWidget):
248
249 2007-11-13  Rahul Abrol  <ra5ul@comcast.net>
250
251         Reviewed by Tim Hatcher.
252
253         http://bugs.webkit.org/show_bug.cgi?id=15977
254         Resizing images preference now toggles default image state.
255
256         * loader/ImageDocument.cpp:
257         (WebCore::ImageDocument::ImageDocument):
258         (WebCore::ImageDocument::createDocumentStructure):
259         (WebCore::ImageDocument::imageChanged):
260
261 2007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
262
263         Update wx port build sources with recent changes, update
264         wx FontPlatformData to be a class (MSVC7 gets confused
265         otherwise...) and implement its hash() method.
266
267         Reviewed by Adam.
268
269         * WebCoreSources.bkl:
270         * platform/wx/FontPlatformData.h:
271         (WebCore::FontPlatformData::hash):
272
273 2007-11-19  Julien Chaffraix  <julien.chaffraix@gmail.com>
274
275         Reviewed by Darin.
276
277         http://bugs.webkit.org/show_bug.cgi?id=12194
278         Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they 
279         are not available should raise an exception
280
281         Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
282                http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
283
284         * bindings/js/JSXMLHttpRequest.cpp:
285         (KJS::JSXMLHttpRequest::getValueProperty):
286         * xml/XMLHttpRequest.cpp:
287         (WebCore::XMLHttpRequest::getResponseText):
288         (WebCore::XMLHttpRequest::getResponseXML):
289         * xml/XMLHttpRequest.h:
290
291 2007-11-19  Peter Kasting  <zerodpx@gmail.com>
292
293         Reviewed by Darin Adler.
294
295         http://bugs.webkit.org/show_bug.cgi?id=15971
296         The GIF decoder should not fail decoding if the caller asks it to
297         decode again when no new data has arrived since the last call.
298
299         * platform/image-decoders/gif/GIFImageReader.cpp:
300         (GIFImageReader::read):
301
302 2007-11-18  Brady Eidson <beidson@apple.com>
303
304         Reviewed by Eric
305
306         Fix a crash hashing a default SecurityOriginData object 
307
308         * storage/DatabaseTracker.cpp:
309         (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
310           StringImpls - don't try to hash those!
311
312 2007-11-18  Timothy Hatcher  <timothy@apple.com>
313
314         Reviewed by Sam Weinig.
315
316         Bug 16043: Remove InspectorController.log now that console.log works
317         http://bugs.webkit.org/show_bug.cgi?id=16043
318
319         Remove the last uses of InspectorController.log. Once use was no longer needed,
320         checking an erro case that can't happen anymore. The other case now uses console.error.
321
322         * page/InspectorController.cpp: Remove the log function.
323         (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
324         InspectorController script class.
325         * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
326         * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
327
328 2007-11-18  Timothy Hatcher  <timothy@apple.com>
329
330         Reviewed by Brady.
331
332         Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
333         http://bugs.webkit.org/show_bug.cgi?id=16041
334
335         * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
336           and transaction(). Refactored some code for the success and error callbacks to use.
337
338 2007-11-18  Alexey Proskuryakov  <ap@webkit.org>
339
340         Reviewed by Maciej.
341
342         <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
343
344         HTML5 definition is the same as MSIE's, with the exception that the latter strips null
345         characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
346
347         Test: fast/parser/html-whitespace.html
348
349         * html/HTMLTokenizer.cpp:
350         (WebCore::HTMLTokenizer::parseSpecial):
351         (WebCore::HTMLTokenizer::parseTag):
352         Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
353         check for whitespace almost everywhere.
354
355 2007-11-17  Mark Rowe  <mrowe@apple.com>
356
357         Reviewed by Darin Adler.
358
359         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
360              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
361              http://bugs.webkit.org/show_bug.cgi?id=16033
362
363         Update for changes in Interpreter method signatures.
364
365         * bindings/js/kjs_binding.cpp:
366         (KJS::ScriptInterpreter::ScriptInterpreter):
367         * bindings/js/kjs_window.cpp:
368         (KJS::Window::clear):
369
370 2007-11-17  Timothy Hatcher  <timothy@apple.com>
371
372         Reviewed by Mark Rowe.
373
374         Bug 13470: i18n: The Web Inspector is not localizable
375         http://bugs.webkit.org/show_bug.cgi?id=13470
376
377         Add support for localization to the Web Inspector. Clients need to
378         implement localizedStringsURL() to return the URL of the
379         InspectorLocalizedStrings.js that best matches the user's language.
380
381         * English.lproj: Added.
382         * English.lproj/InspectorLocalizedStrings.js: Added.
383         * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
384         * page/InspectorClient.h: Add localizedStringsURL.
385         * page/InspectorController.cpp: Add localizedStringsURL that calls
386           the client. Also added a version exposed to JavaScript.
387         * page/InspectorController.h: Add localizedStringsURL.
388         * page/inspector/ConsolePanel.js: Call WebInspector.UIString
389           for user visible strings.
390         * page/inspector/DatabasePanel.js: Ditto.
391         * page/inspector/DocumentPanel.js: Ditto.
392         * page/inspector/ImagePanel.js: Ditto.
393         * page/inspector/MetricsSidebarPane.js: Ditto.
394         * page/inspector/NetworkPanel.js: Ditto.
395         * page/inspector/Panel.js: Ditto.
396         * page/inspector/PropertiesSidebarPane.js: Ditto.
397         * page/inspector/Resource.js: Ditto.
398         * page/inspector/ResourceCategory.js: Ditto.
399         * page/inspector/SourcePanel.js: Ditto.
400         * page/inspector/StylesSidebarPane.js: Ditto.
401         * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
402         * page/inspector/inspector.html: Remove some user visible strings.
403         * page/inspector/inspector.js: Added WebInspector.UIString and call
404           WebInspector.UIString for user visible strings. Some code needed to be 
405           moved to WebInspector.loaded to use UIString after the localized strings
406           get loaded.
407         * platform/graphics/svg/SVGImageEmptyClients.h:
408         (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
409         (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
410         (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
411         (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
412         (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
413
414 2007-11-17  Timothy Hatcher  <timothy@apple.com>
415
416         Reviewed by Adam.
417
418         Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
419         String.vsprintf so it can be used later for the localization function.
420
421         This version only supports argument reordering, precision for floats, and these
422         format characters: d, f, s and @. Any unsupported format characters are logged
423         and substituted like strings.
424
425         * page/inspector/utilities.js:
426
427 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
428
429         Windows build fix.
430
431         * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
432
433 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
434
435         Reviewed by Darin.
436
437         http://bugs.webkit.org/show_bug.cgi?id=15969
438         Eliminate Editor::deleteRange()
439
440         No change in functionality.
441
442         * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
443
444         * editing/Editor.cpp:
445         (WebCore::Editor::deleteWithDirection):
446         (WebCore::Editor::cut):
447         (WebCore::Editor::performDelete):
448         * editing/Editor.h:
449         Moved relevant Editor::deleteRange() functionality to its callers.
450         Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
451         in my opinion.
452
453         * editing/mac/EditorMac.mm:
454         (WebCore::initializeKillRingIfNeeded):
455         (WebCore::Editor::addToKillRing):
456         (WebCore::Editor::yank):
457         (WebCore::Editor::yankAndSelect):
458         (WebCore::Editor::setMark):
459         (WebCore::unionDOMRanges):
460         (WebCore::Editor::deleteToMark):
461         (WebCore::Editor::selectToMark):
462         (WebCore::Editor::swapWithMark):
463         Pushed kill ring handling down from WebCore.
464
465         * page/mac/WebCoreFrameBridge.h:
466         * page/mac/WebCoreFrameBridge.mm:
467         Removed setMarkDOMRange (the corresponding getter is still needed).
468
469         * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
470         Export the new kill ring functions.
471
472 2007-11-16  Ryan Leavengood  <leavengood@gmail.com>
473
474         Reviewed by David Kilzer.
475
476         Build fix: the needed headers for POSIX file functions were not
477         included.
478
479         * platform/posix/FileSystemPOSIX.cpp:
480
481 2007-11-16  Dan Bernstein  <mitz@apple.com>
482
483         Reviewed by Darin Adler.
484
485         - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
486           REGRESSION: Incomplete repaint of CSS image substitution
487
488         Test: fast/repaint/clip-with-layout-delta.html
489
490         * rendering/LayoutState.cpp:
491         (WebCore::LayoutState::LayoutState): Account for layout delta when
492         pushing additional clip.
493
494 2007-11-16  Antti Koivisto  <antti@apple.com>
495
496         Reviewed by Adele.
497         
498         Seeking related fixes, updates to match the latest specification
499         - rename loopCount of HTMLMediaElement to playCount
500         - add explicit seeking attribute to HTMLMediaElement to get semantics right
501         - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement 
502           instead of MoviePrivateQTKit 
503         - fix broken behavior when seeking past end of the media, add tests
504         - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
505         - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
506           HTMLMediaElement not depend on synchronous callbacks
507         - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
508
509         Tests: http/tests/media/video-seekable-stall.html
510                media/video-seeking.html
511                media/video-seek-past-end-paused.html
512                media/video-seek-past-end-playing.html
513
514         * html/HTMLAttributeNames.in: 
515         * html/HTMLMediaElement.cpp:
516         (WebCore::HTMLMediaElement::HTMLMediaElement):
517         (WebCore::HTMLMediaElement::load):
518         (WebCore::HTMLMediaElement::movieNetworkStateChanged):
519         (WebCore::HTMLMediaElement::setReadyState):
520         (WebCore::HTMLMediaElement::seek):
521         (WebCore::HTMLMediaElement::seeking):
522         (WebCore::HTMLMediaElement::currentTime):
523         (WebCore::HTMLMediaElement::ended):
524         (WebCore::HTMLMediaElement::play):
525         (WebCore::HTMLMediaElement::pause):
526         (WebCore::HTMLMediaElement::playCount):
527         (WebCore::HTMLMediaElement::setPlayCount):
528         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
529         (WebCore::HTMLMediaElement::movieTimeChanged):
530         (WebCore::HTMLMediaElement::endedPlayback):
531         (WebCore::HTMLMediaElement::updateMovie):
532         * html/HTMLMediaElement.h:
533         * html/HTMLMediaElement.idl:
534         * platform/graphics/Movie.cpp:
535         (WebCore::Movie::timeChanged):
536         * platform/graphics/Movie.h:
537         (WebCore::MovieClient::movieTimeChanged):
538         * platform/graphics/mac/MoviePrivateQTKit.h:
539         * platform/graphics/mac/MoviePrivateQTKit.mm:
540         (WebCore::MoviePrivate::MoviePrivate):
541         (WebCore::MoviePrivate::load):
542         (WebCore::MoviePrivate::play):
543         (WebCore::MoviePrivate::pause):
544         (WebCore::MoviePrivate::currentTime):
545         (WebCore::MoviePrivate::seek):
546         (WebCore::MoviePrivate::doSeek):
547         (WebCore::MoviePrivate::cancelSeek):
548         (WebCore::MoviePrivate::seekTimerFired):
549         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
550         (WebCore::MoviePrivate::paused):
551         (WebCore::MoviePrivate::updateStates):
552         (WebCore::MoviePrivate::timeChanged):
553         (WebCore::MoviePrivate::didEnd):
554
555 2007-11-16  Anders Carlsson  <andersca@apple.com>
556
557         Reviewed by Adam.
558
559         <rdar://problem/5603832>
560         XMLHttpRequest readyState 3 & responseText buffer issues.
561
562         * platform/network/cf/ResourceHandleCFNet.cpp:
563         (WebCore::makeFinalRequest):
564         Add new parameter which controls whether content sniffing should be turned off.
565         
566         (WebCore::ResourceHandle::loadResourceSynchronously):
567         Always content sniff sync loads.
568         
569         * platform/network/cf/ResourceRequestCFNet.cpp:
570         (WebCore::ResourceRequest::doUpdatePlatformRequest):
571         If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
572         any properties set on the CFURLRequest.
573
574 2007-11-16  Jon Honeycutt  <jhoneycutt@apple.com>
575
576         Reviewed by Ollie.
577
578         <rdar://problem/5605175> Crash closing or leaving window with ViewPoint 
579         Media player plugin
580
581         ViewPoint plugin requires that we pass a valid NPSavedData* to
582         NPP_Destroy.
583
584         * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
585         NPP_Destroy. If the plugin allocates data, discard it
586
587 2007-11-16  Mark Rowe  <mrowe@apple.com>
588
589         Reviewed by Tim Hatcher.
590
591         Build WebCore as a sub-framework of WebKit in all configurations.
592
593         * Configurations/WebCore.xcconfig:
594         * WebCore.xcodeproj/project.pbxproj:
595
596 2007-11-16  Doug Turner  <dougt@meer.net>
597
598         Reviewed by Alp.
599
600         http://bugs.webkit.org/show_bug.cgi?id=16018
601         build bustage when building on debian 4.0
602
603         Fix build bustage on GTK+ with older versions of Pango.
604
605         Don't cache the return value since the docs say it can change.
606
607         * platform/gtk/Language.cpp:
608         (WebCore::defaultLanguage):
609
610 2007-11-16  Brady Eidson  <beidson@apple.com>
611
612         Build fix
613
614         * platform/SecurityOriginData.h:
615         (WebCore::operator!=): Whoops!
616
617 2007-11-16  Brady Eidson  <beidson@apple.com>
618
619         Reviewed by Sam
620
621         Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
622
623         * WebCore.base.exp:
624         * WebCore.xcodeproj/project.pbxproj:
625         * WebCore.vcproj/WebCore.vcproj
626         * WebCore.pro
627
628         * platform/SecurityOriginData.cpp: Added.
629         (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
630           since that form is what will be stored in the Databases.db on disk
631         (WebCore::SecurityOriginData::stringIdentifier):
632         * platform/SecurityOriginData.h:
633         (WebCore::SecurityOriginData::protocol):
634         (WebCore::SecurityOriginData::host):
635         (WebCore::SecurityOriginData::port):
636
637         * storage/DatabaseTracker.cpp:
638         (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for 
639           a SecurityOriginData object
640         (WebCore::SecurityOriginDataHash::equal):
641         (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
642         (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
643         (WebCore::DatabaseTracker::fullPathForDatabase):
644         (WebCore::DatabaseTracker::populateOrigins):
645         (WebCore::DatabaseTracker::origins):
646         (WebCore::DatabaseTracker::addDatabase):
647         * storage/DatabaseTracker.h:
648
649 2007-11-16  Alexey Proskuryakov  <ap@webkit.org>
650
651         Windows build fix.
652
653         * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
654
655 2007-11-16  Nikolas Zimmermann  <zimmermann@kde.org>
656
657         Reviewed by Eric.
658
659         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
660
661         Implement all SVGTextContentElement DOM methods.
662         This is the last missing SVG text feature. SVG fonts is next.
663
664         Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
665
666         * ksvg2/svg/SVGTextContentElement.cpp:
667         (WebCore::cummulatedCharacterRangeLength):
668         (WebCore::SVGInlineTextBoxQueryWalker::):
669         (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
670         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
671         (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
672         (WebCore::SVGInlineTextBoxQueryWalker::longResult):
673         (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
674         (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
675         (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
676         (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
677         (WebCore::findInlineTextBoxInTextChunks):
678         (WebCore::rootInlineBoxForTextContentElement):
679         (WebCore::executeTextQuery):
680         (WebCore::SVGTextContentElement::getNumberOfChars):
681         (WebCore::SVGTextContentElement::getComputedTextLength):
682         (WebCore::SVGTextContentElement::getSubStringLength):
683         (WebCore::SVGTextContentElement::getStartPositionOfChar):
684         (WebCore::SVGTextContentElement::getEndPositionOfChar):
685         (WebCore::SVGTextContentElement::getExtentOfChar):
686         (WebCore::SVGTextContentElement::getRotationOfChar):
687         (WebCore::SVGTextContentElement::getCharNumAtPosition):
688         (WebCore::SVGTextContentElement::selectSubString):
689         * ksvg2/svg/SVGTextContentElement.h:
690         * rendering/SVGInlineTextBox.h:
691
692 2007-11-15  Adele Peterson  <adele@apple.com>
693
694         Reviewed by Oliver.
695
696         Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
697
698         Test: fast/forms/menulist-no-renderer-onmousedown.html
699
700         * html/HTMLSelectElement.cpp:
701         (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here.  None of the default behavior makes sense if there's no renderer.
702         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
703
704 2007-11-15  Antti Koivisto  <antti@apple.com>
705
706         Reviewed by Adele.
707
708         Fix <rdar://problem/5601598>
709         The movie tag should do initialization on need and not during startup.
710         
711         Initialize Movie MIME type hash on demand
712
713         * platform/MIMETypeRegistry.cpp:
714         (WebCore::initialiseSupportedMovieMIMETypes):
715         (WebCore::initialiseMIMETypeRegistry):
716         (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
717         (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
718
719 2007-11-15  Mark Rowe  <mrowe@apple.com>
720
721         Build fix for Qt on Windows.
722
723         * xml/XPathStep.cpp:
724         (WebCore::XPath::Step::nodesInAxis):
725
726 2007-11-15  Timothy Hatcher  <timothy@apple.com>
727
728         Reviewed by Mark Rowe.
729
730         Bug 14761: Web Inspector leaks JS objects and DOM nodes
731         http://bugs.webkit.org/show_bug.cgi?id=14761
732
733         * page/InspectorController.cpp:
734         (WebCore::InspectorController::~InspectorController):
735         Change the tear down order so that inspectorDestroyed() is called before
736         InspectorController private data is set to Zero. The inspectorDestroyed()
737         call ends up closing the WebView and triggering InspectorController::close()
738         which unprotects m_scriptObject. This didn't happen when the private data
739         was cleared before calling inspectorDestroyed().
740
741 2007-11-15  Mark Rowe  <mrowe@apple.com>
742
743         Gtk build fix.
744
745         * WebCore.pro:
746
747 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
748
749         Reviewed by Darin.
750
751         http://bugs.webkit.org/show_bug.cgi?id=15989
752         XPath queries with predicates incorrectly retains the current node across unions
753
754         Test: fast/xpath/union-context-node.xhtml
755
756         * xml/XPathPath.cpp:
757         (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
758         * xml/XPathStep.cpp:
759         (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
760
761 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
762
763         Reviewed by Darin.
764
765         http://bugs.webkit.org/show_bug.cgi?id=15988
766         REGRESSION: XPath preceding-axis query misses nested elements
767
768         Test: fast/xpath/preceding-axis.xhtml
769
770         * xml/XPathStep.cpp:
771         (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
772
773 2007-11-15  Timothy Hatcher  <timothy@apple.com>
774
775         Reviewed by Mark Rowe and Sam.
776
777         This corrects a couple of issues in the Web Inspector where selected search results
778         would not have the right text color when the window is inactive or the results are focused.
779
780         * page/inspector/inspector.css:
781
782 2007-11-15  Timothy Hatcher  <timothy@apple.com>
783
784         Reviewed by Sam.
785
786         Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
787         http://bugs.webkit.org/show_bug.cgi?id=16007
788
789         Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
790         a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is 
791         20 pixels, and the default is 10 pixels.
792
793         * page/inspector/ResourceCategory.js:
794         * page/inspector/treeoutline.js:
795
796 2007-11-15  Anders Carlsson  <andersca@apple.com>
797
798         Reviewed by Brady.
799
800         Pass a VoidCallback to Database::transaction and Database::changeVersion.
801         This is not yet hooked up to the database machinery.
802         
803         * WebCore.vcproj/WebCore.vcproj:
804         * bindings/js/JSDatabaseCustom.cpp:
805         (WebCore::JSDatabase::changeVersion):
806         (WebCore::JSDatabase::transaction):
807         * storage/Database.cpp:
808         (WebCore::Database::changeVersion):
809         (WebCore::Database::transaction):
810         * storage/Database.h:
811
812 2007-11-15  Timothy Hatcher  <timothy@apple.com>
813
814         Reviewed by Adam.
815
816         Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
817         http://bugs.webkit.org/show_bug.cgi?id=16005
818
819         Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
820         crumb will expose as many hidden crumbs as possible to the user. Also crumbs
821         that have ID attributes will compact to the ID over the tag name.
822
823         * page/inspector/DocumentPanel.js:
824
825 2007-11-15  Anders Carlsson  <andersca@apple.com>
826
827         Reviewed by Sam.
828
829         Make the VoidCallback DOM interface behave more like our other DOM interfaces.
830         
831         * bindings/js/JSCustomVoidCallback.h: Added.
832         * bindings/js/JSCustomVoidCallback.cpp: Added.
833         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
834         (WebCore::JSCustomVoidCallback::handleEvent):
835         VoidCallback implementation that wraps a JS object.
836         
837         (WebCore::toVoidCallback):
838         New method that creates a VoidCallback implementation given a JS object.
839         
840         * bindings/scripts/CodeGeneratorJS.pm:
841         Specify that VoidCallback can fail conversion and add a custom conversion function.
842         
843         * html/HTMLMediaElement.cpp:
844         (WebCore::HTMLMediaElement::movieCuePointReached):
845         Call handleEvent on the callback.
846         
847         (WebCore::HTMLMediaElement::removeCuePoint):
848         Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
849         on overriding VoidCallback equality.
850         
851         * html/VoidCallback.cpp: Removed.
852         
853         * html/VoidCallback.h:
854         (WebCore::VoidCallback::VoidCallback):
855         (WebCore::VoidCallback::~VoidCallback):
856         Make this an abstract class with a pure virtual handleEvent method.
857         
858 2007-11-15  Adam Roben  <aroben@apple.com>
859
860         Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
861
862         There were two things broken here:
863            - WebView now requires a WM_CHAR message to be sent before it will
864              create a keyboard event with a charCode, but we were only sending
865              a WM_KEYDOWN event.
866            - The popup menu was not updating its focused index when the
867              <select> element's selectedIndex changed.
868
869         Reviewed by Adele.
870
871         * platform/win/PopupMenuWin.cpp:
872         (WebCore::PopupMenu::updateFromElement): Update the focused index from
873         the client's selected index.
874         (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
875         printable character, manufacture a WM_KEYDOWN message for it and post
876         both that and the current WM_CHAR message to the WebView.
877
878 2007-11-15  Brady Eidson  <beidson@apple.com>
879
880         Build fix
881
882         * storage/DatabaseTracker.cpp:
883         (WebCore::DatabaseTracker::fullPathForDatabase):
884         (WebCore::DatabaseTracker::databaseNamesForOrigin):
885
886 2007-11-15  Brady Eidson  <beidson@apple.com>
887
888         Reviewed by John and Sam
889
890         Stubbing out everything required for a WebKit API for databases
891
892         Biggest change in WebCore is that we passed around SecurityOriginData as the representation
893         of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
894         that has a different purpose besides just hanging on to the data)
895
896         * WebCore.base.exp:
897         * WebCore.xcodeproj/project.pbxproj:
898
899         * platform/SecurityOrigin.cpp:
900         * platform/SecurityOrigin.h:
901         * platform/SecurityOriginData.h: Added.  Simple object to encapsulate the 3
902           pieces of data in the SecurityOrigin tuple
903         (WebCore::SecurityOriginData::SecurityOriginData):
904         (WebCore::SecurityOriginData::protocol):
905         (WebCore::SecurityOriginData::host):
906         (WebCore::SecurityOriginData::port):
907         (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
908           colon separated
909
910         * storage/Database.cpp:
911         (WebCore::Database::Database): Use SecurityOriginData instead
912
913         * storage/DatabaseTracker.cpp:
914         (WebCore::DatabaseTracker::fullPathForDatabase):
915         (WebCore::DatabaseTracker::databaseNamesForOrigin):
916         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
917         (WebCore::DatabaseTracker::deleteDatabase):
918         * storage/DatabaseTracker.h:
919
920         * storage/DatabaseTrackerClient.h: Added.  For dispatching notifications up to WebKit
921         (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
922
923 2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
924
925         Reviewed by Anders.
926
927         NP_ASFILEONLY streams should not buffer data in m_deliveryData.
928
929         * plugins/win/PluginStreamWin.cpp:
930         (WebCore::PluginStreamWin::didReceiveData):
931
932 2007-11-15  Justin Garcia  <justin.garcia@apple.com>
933
934         Reviewed by Adele Peterson.
935
936         <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
937         
938         A textarea that contained the selection was removed but the selection wasn't cleared,
939         and we'd crash in code that assumed a valid, in-document selection.
940
941         * editing/SelectionController.cpp:
942         (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
943         shadowAncestorNode of the node that contains the position, not just if the node being removed
944         contains that shadowAncestorNode.
945
946 2007-11-15  Nikolas Zimmermann  <zimmermann@kde.org>
947
948         Reviewed by Maciej.
949
950         Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
951
952         * rendering/SVGInlineTextBox.cpp:
953         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
954         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
955
956 2007-11-15  Anders Carlsson  <andersca@apple.com>
957
958         Reviewed by Brady.
959
960         <rdar://problem/5562470>
961         openDatabase does not work when the version string is empty
962
963         If the string is empty, pass a real empty string to sqlite3_bind_text16.
964         
965         * platform/sql/SQLiteStatement.cpp:
966         (WebCore::SQLiteStatement::bindText):
967
968 2007-11-15  Anders Carlsson  <andersca@apple.com>
969
970         Reviewed by Brady.
971
972         Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
973         Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
974
975         * loader/icon/IconDatabase.cpp:
976         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
977         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
978         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
979         (WebCore::IconDatabase::addIconURLToSQLDatabase):
980         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
981         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
982         * platform/sql/SQLiteStatement.cpp:
983         (WebCore::SQLiteStatement::prepare):
984         * platform/sql/SQLiteStatement.h:
985         * storage/Database.cpp:
986         (WebCore::setTextValueInDatabase):
987         * storage/DatabaseTracker.cpp:
988         (WebCore::DatabaseTracker::fullPathForDatabase):
989         (WebCore::DatabaseTracker::databaseNamesForOrigin):
990         (WebCore::DatabaseTracker::addDatabase):
991
992 2007-11-14  Brady Eidson <beidson@apple.com>
993
994         Rubberstamped by Sam
995
996         * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
997
998 2007-11-14  Alexey Proskuryakov  <ap@webkit.org>
999
1000         Reviewed by Justin Garcia.
1001
1002         http://bugs.webkit.org/show_bug.cgi?id=15781
1003         REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
1004         a marked range that covers half of a composed character sequence)
1005
1006         Test: platform/mac/editing/input/devanagari-ligature.html
1007
1008         This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
1009         However, this is not entirely new for them, as Roman accents are typed in a similar manner.
1010
1011         In the future, we probably want to make commands work with ranges (or Positions explicitly).
1012
1013         * editing/Editor.cpp:
1014         (WebCore::Editor::selectComposition): Force selection to composition range.
1015         * editing/InsertTextCommand.cpp:
1016         (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
1017
1018 2007-11-14  Beth Dakin  <bdakin@apple.com>
1019
1020         Reviewed by Hyatt.
1021
1022         Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
1023         side image map and <a> tag is not working properly (15522)
1024
1025         * html/HTMLMapElement.cpp:
1026         (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block 
1027         and inline children rather than just block children. This matches 
1028         Firefox. 
1029
1030 2007-11-14  Justin Garcia  <justin.garcia@apple.com>
1031
1032         Reviewed by Alexey Proskuryakov.
1033
1034         <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
1035
1036         * editing/DeleteSelectionCommand.cpp:
1037         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
1038         Removed an irrelevant FIXME.
1039         (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
1040         hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
1041         inside that block, which could lead to a crash.  If that happens, there's no content in the block to move,
1042         so just remove the block and return.
1043         Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
1044         its own placeholder insertion when necessary.
1045         (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
1046         because it handles preserving m_needPlaceholder when it calls moveParagraphs.
1047         
1048 2007-11-14  Timothy Hatcher  <timothy@apple.com>
1049
1050         Reviewed by Adam.
1051
1052         Bug 14380: Long DOM ancestry breadcrumb lists get cut off
1053         http://bugs.webkit.org/show_bug.cgi?id=14380
1054
1055         The breadcumbs will now be compacted and collapsed if there isn't enough room
1056         to show everything. The collapsing algorithm always affects the crumbs that
1057         are farthest away from the selected or hovered crumb first.
1058
1059         * page/inspector/DocumentPanel.js:
1060         * page/inspector/inspector.css:
1061
1062 2007-11-14  Anders Carlsson  <andersca@apple.com>
1063
1064         Use the correct include path.
1065         
1066         * platform/Cursor.h:
1067         * plugins/win/PluginPackageWin.h:
1068         * plugins/win/PluginStreamWin.h:
1069
1070 2007-11-13  Brady Eidson  <beidson@apple.com>
1071
1072         Reviewed by Adam
1073
1074         http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
1075
1076         * storage/SQLTransaction.cpp:
1077         (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the 
1078           SQLTransactionCallback fails
1079         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
1080           and make the commit/rollback decision accordingly
1081
1082 2007-11-13  Oliver Hunt  <oliver@apple.com>
1083
1084         Reviewed by Anders.
1085
1086         <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
1087
1088         When drawing directly to PDF CG may delay the use of the gradient function until outside our
1089         standard drawing path, which in turn could let us invalidate the caches before they were used.
1090
1091         To work around this we now store the cached stops in a RefCounted object, so that we can ensure
1092         that cache exists as long as required.
1093         
1094         * platform/graphics/svg/SVGPaintServerGradient.cpp:
1095         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1096         * platform/graphics/svg/SVGPaintServerGradient.h:
1097         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1098         (WebCore::cgGradientCallback):
1099         (WebCore::CGShadingRefForLinearGradient):
1100         (WebCore::CGShadingRefForRadialGradient):
1101         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1102
1103 2007-11-13  Anders Carlsson  <andersca@apple.com>
1104
1105         Fix Windows build.
1106         
1107         * platform/Cursor.h:
1108         * plugins/win/PluginPackageWin.h:
1109         * plugins/win/PluginStreamWin.h:
1110
1111 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
1112
1113         Reviewed by Anders Carlsson.
1114
1115         Renamed Shared to RefCounted.
1116
1117         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
1118         * ForwardingHeaders/wtf/Shared.h: Removed.
1119         * bindings/js/JSSVGPODTypeWrapper.h:
1120         * css/CSSFontFace.h:
1121         * css/CSSRuleList.h:
1122         * css/Counter.h:
1123         * css/Pair.h:
1124         * css/Rect.h:
1125         * css/StyleBase.h:
1126         * css/StyleSheetList.h:
1127         * dom/Attribute.h:
1128         * dom/Clipboard.h:
1129         * dom/DOMImplementation.h:
1130         * dom/Event.h:
1131         * dom/EventListener.h:
1132         * dom/NamedNodeMap.h:
1133         * dom/NodeFilter.h:
1134         * dom/NodeFilterCondition.h:
1135         * dom/NodeList.h:
1136         * dom/QualifiedName.h:
1137         * dom/Range.h:
1138         * dom/RangeException.h:
1139         * dom/RegisteredEventListener.h:
1140         * dom/Traversal.h:
1141         * editing/EditCommand.h:
1142         * history/BackForwardList.h:
1143         * history/CachedPage.h:
1144         * history/HistoryItem.cpp:
1145         (WebCore::HistoryItem::HistoryItem):
1146         * history/HistoryItem.h:
1147         * html/CanvasGradient.h:
1148         * html/CanvasPattern.h:
1149         * html/CanvasRenderingContext2D.h:
1150         * html/CanvasStyle.h:
1151         * html/HTMLCollection.h:
1152         * html/MediaError.h:
1153         * html/TimeRanges.h:
1154         * html/VoidCallback.h:
1155         * ksvg2/css/SVGRenderStyle.cpp:
1156         (WebCore::SVGRenderStyle::SVGRenderStyle):
1157         * ksvg2/css/SVGRenderStyle.h:
1158         * ksvg2/css/SVGRenderStyleDefs.cpp:
1159         (StyleFillData::StyleFillData):
1160         (StyleStrokeData::StyleStrokeData):
1161         (StyleStopData::StyleStopData):
1162         (StyleTextData::StyleTextData):
1163         (StyleClipData::StyleClipData):
1164         (StyleMaskData::StyleMaskData):
1165         (StyleMarkerData::StyleMarkerData):
1166         (StyleMiscData::StyleMiscData):
1167         * ksvg2/css/SVGRenderStyleDefs.h:
1168         * ksvg2/svg/SVGAngle.cpp:
1169         (WebCore::SVGAngle::SVGAngle):
1170         * ksvg2/svg/SVGAngle.h:
1171         * ksvg2/svg/SVGAnimatedTemplate.h:
1172         * ksvg2/svg/SVGElementInstanceList.h:
1173         * ksvg2/svg/SVGException.h:
1174         * ksvg2/svg/SVGList.h:
1175         * ksvg2/svg/SVGPathSeg.h:
1176         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1177         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1178         * ksvg2/svg/SVGPreserveAspectRatio.h:
1179         * ksvg2/svg/SVGRenderingIntent.h:
1180         * ksvg2/svg/SVGTransform.h:
1181         * ksvg2/svg/SVGUnitTypes.h:
1182         * loader/DocumentLoader.h:
1183         * loader/FormState.h:
1184         * loader/ResourceLoader.h:
1185         * loader/TextResourceDecoder.h:
1186         * loader/icon/IconRecord.h:
1187         * page/BarInfo.h:
1188         * page/Console.h:
1189         * page/DOMSelection.h:
1190         * page/DOMWindow.h:
1191         * page/Frame.h:
1192         * page/History.h:
1193         * page/InspectorController.cpp:
1194         * page/Plugin.h:
1195         * page/Screen.h:
1196         * platform/ArrayImpl.h:
1197         * platform/CString.h:
1198         * platform/Cursor.h:
1199         * platform/DeprecatedValueListImpl.cpp:
1200         (WebCore::DeprecatedValueListImpl::Private::Private):
1201         * platform/FileChooser.h:
1202         * platform/FontFallbackList.h:
1203         * platform/FontFamily.cpp:
1204         (WebCore::FontFamily::FontFamily):
1205         * platform/FontFamily.h:
1206         * platform/FontSelector.h:
1207         * platform/GlyphPageTreeNode.h:
1208         * platform/PopupMenu.h:
1209         * platform/RegularExpression.cpp:
1210         * platform/ScrollBar.h:
1211         * platform/SharedBuffer.h:
1212         * platform/StringImpl.h:
1213         * platform/graphics/Icon.h:
1214         * platform/graphics/svg/SVGResource.h:
1215         * platform/network/FormData.cpp:
1216         (WebCore::FormData::FormData):
1217         * platform/network/FormData.h:
1218         * platform/network/ResourceHandle.h:
1219         * platform/network/ResourceHandleClient.h:
1220         * rendering/RenderStyle.cpp:
1221         (WebCore::StyleSurroundData::StyleSurroundData):
1222         (WebCore::StyleBoxData::StyleBoxData):
1223         (WebCore::StyleVisualData::StyleVisualData):
1224         (WebCore::StyleBackgroundData::StyleBackgroundData):
1225         (WebCore::StyleMarqueeData::StyleMarqueeData):
1226         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1227         (WebCore::StyleMultiColData::StyleMultiColData):
1228         (WebCore::StyleTransformData::StyleTransformData):
1229         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1230         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1231         (WebCore::StyleInheritedData::StyleInheritedData):
1232         * rendering/RenderStyle.h:
1233         * rendering/SVGCharacterLayoutInfo.h:
1234         (WebCore::SVGCharOnPath::SVGCharOnPath):
1235         * storage/SQLResultSetRowList.h:
1236         * xml/DOMParser.h:
1237         * xml/XMLHttpRequest.h:
1238         * xml/XMLSerializer.h:
1239         * xml/XPathEvaluator.h:
1240         * xml/XPathExpression.h:
1241         * xml/XPathNSResolver.h:
1242         * xml/XPathResult.h:
1243         * xml/XPathValue.h:
1244         * xml/XSLTProcessor.h:
1245
1246 2007-11-13  Brady Eidson  <beidson@apple.com>
1247
1248         Reviewed by Mark Rowe
1249
1250         Remove errantly added files, and fix the idl (for reference's sake)
1251
1252         * storage/JSCustomSQLStatementCallback.h: Removed.
1253         * storage/JSCustomSQLStatementErrorCallback.h: Removed.
1254         * storage/JSCustomSQLTransactionCallback.h: Removed.
1255         * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
1256         * storage/SQLStatementCallback.idl:
1257
1258 2007-11-13  Adam Roben  <aroben@apple.com>
1259
1260         Fix a bug and improve upon Brady's fix
1261
1262         Reviewed by Anders.
1263
1264         * bindings/js/JSSQLTransactionCustom.cpp:
1265         (WebCore::JSSQLTransaction::executeSql): Made the code a little
1266         clearer and more correct.
1267         * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
1268         of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
1269         comparison it meant to.
1270
1271 2007-11-13  Sam Weinig  <sam@webkit.org>
1272
1273         Fix Qt and Gtk builds.
1274
1275         * WebCore.pro: Remove non-generated idl files.
1276
1277 2007-11-13  Mark Rowe  <mrowe@apple.com>
1278
1279         Remove removed file from the project.
1280
1281         * WebCore.pro:
1282
1283 2007-11-13  Brady Eidson  <beidson@apple.com>
1284
1285         Release build fix
1286
1287         * bindings/js/JSSQLTransactionCustom.cpp:
1288         (WebCore::JSSQLTransaction::executeSql):
1289
1290 2007-11-13  Adam Roben  <aroben@apple.com>
1291
1292         Add WindowMessageBroadcaster
1293
1294         This class is used to listen in on messages sent to HWNDs. Multiple
1295         WindowMessageListeners can be notified about messages sent to a single
1296         HWND, and one WindowMessageListener can listen to messages from
1297         multiple HWNDs.
1298
1299         Reviewed by Ada.
1300
1301         * WebCore.vcproj/WebCore.vcproj: Added new files to project.
1302         * platform/win/WindowMessageBroadcaster.cpp: Added.
1303         (WebCore::instancesMap): Static helper.
1304         (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
1305         for a particular HWND.
1306         (WebCore::WindowMessageBroadcaster::removeListener): Removes a
1307         listener for a particular HWND.
1308         (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
1309         (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
1310         (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
1311         from the instancesMap, removes all of its listeners, unsubclasses the
1312         window, and deletes the broadcaster.
1313         (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
1314         the window (which means that SubclassedWndProc won't be called again
1315         for this window).
1316         (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
1317         the listeners about every message sent to the HWND
1318         * platform/win/WindowMessageBroadcaster.h: Added.
1319         (WebCore::WindowMessageBroadcaster::listeners):
1320         (WebCore::WindowMessageBroadcaster::originalWndProc):
1321         * platform/win/WindowMessageListener.h: Added.
1322
1323 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
1324
1325         Reviewed by Sam Weinig.
1326
1327         Moved Shared.h into wtf so it could be used in more places. Retained 
1328         TreeShared, but moved it to its own file, TreeShared.h.
1329
1330         * ForwardingHeaders/wtf/Shared.h: Added.
1331         * WebCore.xcodeproj/project.pbxproj:
1332         * bindings/js/JSSVGPODTypeWrapper.h:
1333         * css/CSSFontFace.h:
1334         * css/CSSRuleList.h:
1335         * css/Counter.h:
1336         * css/Pair.h:
1337         * css/Rect.h:
1338         * css/StyleBase.h:
1339         * css/StyleSheetList.h:
1340         * dom/Clipboard.h:
1341         * dom/DOMImplementation.h:
1342         * dom/Event.h:
1343         * dom/EventListener.h:
1344         * dom/NamedNodeMap.h:
1345         * dom/NodeFilterCondition.h:
1346         * dom/NodeList.h:
1347         * dom/Range.h:
1348         * dom/RangeException.h:
1349         * dom/RegisteredEventListener.h:
1350         * dom/Traversal.h:
1351         * history/BackForwardList.h:
1352         * history/CachedPage.h:
1353         * history/HistoryItem.h:
1354         * html/CanvasGradient.h:
1355         * html/CanvasPattern.h:
1356         * html/HTMLCollection.h:
1357         * html/MediaError.h:
1358         * html/TimeRanges.h:
1359         * html/VoidCallback.h:
1360         * ksvg2/css/SVGRenderStyleDefs.h:
1361         * ksvg2/svg/SVGAnimatedTemplate.h:
1362         * ksvg2/svg/SVGElementInstanceList.h:
1363         * ksvg2/svg/SVGList.h:
1364         * ksvg2/svg/SVGPathSeg.h:
1365         * ksvg2/svg/SVGPreserveAspectRatio.h:
1366         * ksvg2/svg/SVGRenderingIntent.h:
1367         * ksvg2/svg/SVGTransform.h:
1368         * ksvg2/svg/SVGUnitTypes.h:
1369         * loader/DocumentLoader.h:
1370         * loader/FormState.h:
1371         * loader/ResourceLoader.h:
1372         * loader/TextResourceDecoder.h:
1373         * loader/icon/IconRecord.h:
1374         * page/BarInfo.h:
1375         * page/Console.h:
1376         * page/DOMSelection.h:
1377         * page/DOMWindow.h:
1378         * page/History.h:
1379         * page/InspectorController.cpp:
1380         * page/Plugin.h:
1381         * page/Screen.h:
1382         * platform/ArrayImpl.h:
1383         * platform/CString.h:
1384         * platform/DeprecatedValueListImpl.cpp:
1385         * platform/FontFallbackList.h:
1386         * platform/FontFamily.h:
1387         * platform/FontSelector.h:
1388         * platform/GlyphPageTreeNode.h:
1389         * platform/PopupMenu.h:
1390         * platform/RegularExpression.cpp:
1391         * platform/ScrollBar.h:
1392         * platform/Shared.h: Removed.
1393         * platform/SharedBuffer.h:
1394         * platform/StringImpl.h:
1395         * platform/graphics/Icon.h:
1396         * platform/graphics/svg/SVGResource.h:
1397         * platform/network/FormData.h:
1398         * platform/network/ResourceHandleClient.h:
1399         * rendering/RenderStyle.h:
1400         * rendering/SVGCharacterLayoutInfo.h:
1401         * storage/SQLResultSetRowList.h:
1402         * xml/DOMParser.h:
1403         * xml/XMLSerializer.h:
1404         * xml/XPathEvaluator.h:
1405         * xml/XPathExpression.h:
1406         * xml/XPathNSResolver.h:
1407         * xml/XPathResult.h:
1408
1409 2007-11-13  Brady Eidson  <beidson@apple.com>
1410
1411         JS bindings by Anders, reviewed by Brady
1412         WebCore changes by Brady, reviewed by Anders and Tim
1413
1414         Adapt to the new iteration of the HTML5 client-side storage spec.
1415
1416         Based largely on implementation feedback we generated in landing our first version of this API and also
1417         on the input of others in the community, the database spec went through a large overhaul that addresses
1418         many concerns.  Amongst other changes/improvements:
1419         - SQLTransaction object is added and all transactions are explicit.  In addition, since the API manages
1420           transactions explicitly, transaction-related language in SQL statements is disallowed
1421         - executeSql() is now on a transaction object instead of the database object.
1422         - Database.changeVersion() now takes place within the context of a transaction.  Therefore the version 
1423           change can be atomic along with the statements that modify the DB schema
1424
1425         Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
1426         as a chain of events on the SQLTransaction object where processing is handed off between being processed 
1427         asynchronously and calling back up to javascript.  To accomplish this voodoo, SQLTransaction has a series of 
1428         methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
1429
1430         * DerivedSources.make:
1431         * WebCore.xcodeproj/project.pbxproj:
1432
1433         * bindings/js/JSDatabaseCustom.cpp:
1434         (WebCore::JSDatabase::changeVersion): Adapt to the new API
1435         (WebCore::JSDatabase::transaction): Added
1436
1437         * bindings/js/JSSQLTransactionCustom.cpp: Added.
1438         (WebCore::JSSQLTransaction::executeSql): Added
1439
1440         * page/DOMWindow.cpp:
1441         (WebCore::DOMWindow::openDatabase): Add the new arguments
1442         * page/DOMWindow.h:
1443         * page/DOMWindow.idl:
1444
1445         * page/inspector/DatabasePanel.js: Use the new API
1446
1447         * storage/ChangeVersionWrapper.cpp: Added.  Implementation of "SQLTransactionWrapper" that enforces
1448           changing the version of the database
1449         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1450         (WebCore::ChangeVersionWrapper::performPreflight):
1451         (WebCore::ChangeVersionWrapper::performPostflight):
1452         * storage/ChangeVersionWrapper.h: Added.
1453         (WebCore::ChangeVersionWrapper::sqlError):
1454
1455         * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
1456           happen solely on the background thread - most of these changes result from that change
1457         (WebCore::Database::Database): Removed an obsolete FIXME
1458         (WebCore::Database::openAndVerifyVersion): 
1459         (WebCore::Database::getVersionFromDatabase):
1460         (WebCore::Database::setVersionInDatabase):
1461         (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
1462         (WebCore::Database::performOpenAndVerify):
1463         (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
1464         (WebCore::Database::changeVersion): Changed for the new API from JS
1465         (WebCore::Database::transaction): Added, for the new API from JS
1466         (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
1467         (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
1468         (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
1469         (WebCore::Database::performGetTableNames):
1470         (WebCore::Database::deliverAllPendingCallbacks):
1471         (WebCore::Database::deliverPendingCallback):
1472         (WebCore::Database::setExpectedVersion):
1473         * storage/Database.h: 
1474         * storage/Database.idl:
1475
1476         * storage/DatabaseTask.cpp:  Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
1477           to replace the m_synchronous flag
1478         (WebCore::DatabaseTask::performTask):
1479         (WebCore::DatabaseTask::lockForSynchronousScheduling):
1480         (WebCore::DatabaseTask::waitForSynchronousCompletion):
1481         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1482         * storage/DatabaseTask.h:
1483
1484         * storage/SQLError.h: New API object
1485
1486         * storage/SQLResultSet.cpp:
1487         (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
1488         * storage/SQLResultSet.h:
1489         * storage/SQLResultSet.idl:
1490
1491         * storage/SQLStatement.cpp: Added.
1492         (WebCore::SQLStatement::SQLStatement):
1493         (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
1494         (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
1495           of an actual version vs. expected version mismatch
1496         (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
1497         * storage/SQLStatement.h: Added.
1498         (WebCore::SQLStatement::hasStatementCallback):
1499         (WebCore::SQLStatement::hasStatementErrorCallback):
1500         (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
1501
1502         * storage/SQLTransaction.cpp: Added.
1503         (WebCore::SQLTransaction::SQLTransaction):
1504         (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
1505         (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
1506         (WebCore::SQLTransaction::performNextStep): Call the method for the next step
1507         (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
1508         (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight 
1509           using the SQLTransactionWrapper, if any
1510         (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
1511         (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread 
1512           and make runStatements() the next step
1513         (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction 
1514         (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
1515         (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
1516         (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
1517         (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
1518         (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
1519         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
1520         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
1521           transaction after it error'ed out
1522         * storage/SQLTransaction.h:
1523         (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): 
1524         (WebCore::SQLTransaction::database):
1525         * storage/SQLTransaction.idl:
1526
1527         The following were made obsolete by the new version of the API:
1528         * bindings/js/JSCustomSQLCallback.cpp: Removed.
1529         * bindings/js/JSCustomSQLCallback.h: Removed.
1530         * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
1531         * bindings/js/JSCustomVersionChangeCallback.h: Removed.
1532         * storage/DatabaseCallback.cpp: Removed.
1533         * storage/DatabaseCallback.h: Removed.
1534         * storage/SQLCallback.h: Removed.
1535         * storage/SQLCallback.idl: Removed.
1536         * storage/VersionChangeCallback.h: Removed.
1537         * storage/VersionChangeCallback.idl: Removed.
1538
1539 2007-11-13  Dan Bernstein  <mitz@apple.com>
1540
1541         Reviewed by Beth Dakin.
1542
1543         - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
1544
1545         * css/html4.css: Added a 'cursor: auto' rule for links.
1546         * manual-tests/link-cursor-auto.html: Added.
1547
1548 2007-11-13  Dan Bernstein  <mitz@apple.com>
1549
1550         Reviewed by Beth Dakin.
1551
1552         - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
1553
1554         The root cause for the crash is that when a non-HTML view enters the
1555         frame, the frame's document pointer keeps pointing at the last HTML-type
1556         document it contained. This patch does not address the root cause, but
1557         makes changes to account for that condition.
1558
1559         * loader/FrameLoader.cpp:
1560         (WebCore::FrameLoader::receivedMainResourceError): Do not change the
1561         frame's current document's page cache state here.
1562         (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
1563         current document is in fact the history item being invalidated, then
1564         set its page cache state here.
1565
1566 2007-11-12  Antti Koivisto  <antti@apple.com>
1567
1568         Reviewed by Adele.
1569
1570         Fix that 'timeupdate' and 'waiting' events were never dispatched.
1571         
1572         Add explicit m_paused attribute instead of trying to derive paused state from
1573         underlying media. Call updatePlayState() to start/stop media playback
1574         when any attribute that affects active playback state changes. This matches 
1575         specification text.
1576         
1577         Test: http/tests/media/video-play-stall.html
1578
1579         * html/HTMLMediaElement.cpp:
1580         (WebCore::HTMLMediaElement::HTMLMediaElement):
1581         (WebCore::HTMLMediaElement::setReadyState):
1582         (WebCore::HTMLMediaElement::paused):
1583         (WebCore::HTMLMediaElement::play):
1584         (WebCore::HTMLMediaElement::pause):
1585         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1586         (WebCore::HTMLMediaElement::movieDidEnd):
1587         (WebCore::HTMLMediaElement::updatePlayState):
1588         * html/HTMLMediaElement.h:
1589
1590 2007-11-13  John Sullivan  <sullivan@apple.com>
1591
1592         Reviewed by Darin.
1593
1594         removed recently-added PreferredType concept; we found a better way to do what
1595         ths was accomplishing
1596
1597         * bridge/WindowFeatures.h:
1598         (WebCore::WindowFeatures::WindowFeatures):
1599         removed definition of PreferredType
1600                         
1601         * page/ContextMenuController.cpp:
1602         (WebCore::openNewWindow):
1603         removed use of PreferredType
1604
1605 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
1606
1607         Reviewed by Darin.
1608
1609         http://bugs.webkit.org/show_bug.cgi?id=15954
1610         Move DOM Selection operations out of SelectionController
1611
1612         No change in functionality.
1613
1614         * editing/SelectionController.cpp:
1615         (WebCore::SelectionController::setSelectedRange):
1616         * editing/SelectionController.h:
1617         * page/DOMSelection.cpp:
1618         (WebCore::DOMSelection::anchorNode):
1619         (WebCore::DOMSelection::baseNode):
1620         (WebCore::DOMSelection::anchorOffset):
1621         (WebCore::DOMSelection::baseOffset):
1622         (WebCore::DOMSelection::focusNode):
1623         (WebCore::DOMSelection::extentNode):
1624         (WebCore::DOMSelection::focusOffset):
1625         (WebCore::DOMSelection::extentOffset):
1626         (WebCore::DOMSelection::isCollapsed):
1627         (WebCore::DOMSelection::type):
1628         (WebCore::DOMSelection::rangeCount):
1629         (WebCore::DOMSelection::collapse):
1630         (WebCore::DOMSelection::collapseToEnd):
1631         (WebCore::DOMSelection::collapseToStart):
1632         (WebCore::DOMSelection::empty):
1633         (WebCore::DOMSelection::setBaseAndExtent):
1634         (WebCore::DOMSelection::setPosition):
1635         (WebCore::DOMSelection::modify):
1636         (WebCore::DOMSelection::extend):
1637         (WebCore::DOMSelection::getRangeAt):
1638         (WebCore::DOMSelection::removeAllRanges):
1639         (WebCore::DOMSelection::addRange):
1640         (WebCore::DOMSelection::deleteFromDocument):
1641         (WebCore::DOMSelection::containsNode):
1642         (WebCore::DOMSelection::selectAllChildren):
1643         (WebCore::DOMSelection::toString):
1644         * page/DOMSelection.h:
1645         Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
1646         to return its result directly instead of via an ExceptionCode that no caller wanted.
1647
1648         * editing/Editor.cpp:
1649         (WebCore::Editor::deleteRange):
1650         (WebCore::Editor::removeFormattingAndStyle):
1651         (WebCore::Editor::selectComposition):
1652         (WebCore::Editor::setComposition):
1653         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1654         Adapted for SelectionController::setSelectedRange() now returning a bool.
1655         SelectionController::toString() is no longer avasilable, use plainText() explicitly.
1656
1657         * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
1658
1659 2007-11-12  Dan Bernstein  <mitz@apple.com>
1660
1661         Reviewed by Darin Adler.
1662
1663         - <http://bugs.webkit.org/show_bug.cgi?id=15890>
1664           Most of www.aol.com still redraws unnecessarily when headline/photo section changes
1665
1666         Test: fast/repaint/invisible-objects.html
1667
1668         Avoid repainting invisible blocks if they are enclosed in a layer that
1669         contains no visible objects.
1670
1671         * rendering/RenderBlock.cpp:
1672         (WebCore::RenderBlock::layoutBlock):
1673         * rendering/RenderBox.cpp:
1674         (WebCore::RenderBox::absoluteClippedOverflowRect):
1675
1676 2007-11-12  Timothy Hatcher  <timothy@apple.com>
1677
1678         Reviewed by Mark Rowe.
1679
1680         Prevent selecting a word in the breadcrumb or the styles section when double
1681         clicking on a DOM node in the outline tree.
1682
1683         * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
1684           with a detail of 2 or higher comes in. This prevents the selection.
1685         * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
1686
1687 2007-11-12  Oliver Hunt  <oliver@apple.com>
1688
1689         Reviewed by John S.
1690
1691         <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
1692         
1693         EventHandler needs to reset these fields when a drag terminates, otherwise
1694         EventHandler is left in an inconsistent state when a drag is initiated on a
1695         page with multiple frames.
1696
1697         * page/EventHandler.cpp:
1698         (WebCore::EventHandler::cancelDragAndDrop):
1699         (WebCore::EventHandler::performDragAndDrop):
1700         (WebCore::EventHandler::clearDragState):
1701         * page/EventHandler.h:
1702
1703 2007-11-12  Oliver Hunt  <oliver@apple.com>
1704
1705         Reviewed by Darin and Antti.
1706
1707         Return behaviour for 0 sized pattern back to what it was prior to r27704
1708
1709         This change in behaviour broke two layout tests in DRT, so correcting it
1710         corrects existing tests.
1711
1712         * platform/graphics/cg/ImageBufferCG.cpp:
1713
1714 2007-11-12  Timothy Hatcher  <timothy@apple.com>
1715
1716         Reviewed by John.
1717
1718         <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
1719
1720         * page/mac/WebCoreFrameBridge.mm:
1721         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1722         If the SharedBuffer is null insert an empty NSData instead of nil.
1723
1724 2007-11-12  Darin Adler  <darin@apple.com>
1725
1726         Reviewed by Tim.
1727
1728         - http://bugs.webkit.org/show_bug.cgi?id=15947
1729           speed up page loading a bit by inlining
1730
1731         * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
1732         Factored out the slow case of isScheduledLocationChangePending into this.
1733
1734         * loader/FrameLoader.h:
1735         (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
1736         inline check of the far and away most common case, where m_scheduledRedirection
1737         is 0; the rest is in the isLocationChange function.
1738
1739 2007-11-12  George Staikos  <staikos@kde.org>
1740
1741         Reviewed by Tim.
1742
1743         Extract the text match marker highlight color into RenderTheme instead
1744         of the hardcoded yellow.
1745
1746         * rendering/InlineTextBox.cpp:
1747         (WebCore::InlineTextBox::paintTextMatchMarker):
1748         * rendering/RenderTheme.cpp:
1749         (WebCore::RenderTheme::platformTextSearchHighlightColor):
1750         * rendering/RenderTheme.h:
1751
1752 2007-11-12  Mark Rowe  <mrowe@apple.com>
1753
1754         Fix deadlock on launch on the Mac.
1755
1756         * loader/icon/IconDatabase.cpp:
1757         (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
1758
1759 2007-11-12  Justin Haygood  <jhaygood@reaktix.com>
1760
1761         Reviewed by Brady.
1762
1763         http://bugs.webkit.org/show_bug.cgi?id=15955
1764         Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
1765
1766         * loader/icon/IconDatabase.cpp:
1767         (WebCore::IconDatabase::open):
1768         (WebCore::IconDatabase::close):
1769         * loader/icon/IconDatabase.h:
1770         * platform/sql/SQLiteDatabase.cpp:
1771         (WebCore::SQLiteDatabase::SQLiteDatabase):
1772         (WebCore::SQLiteDatabase::open):
1773         (WebCore::SQLiteDatabase::close):
1774         * platform/sql/SQLiteDatabase.h:
1775
1776 2007-11-12  Adam Roben  <aroben@apple.com>
1777
1778         Windows build fix
1779
1780         * config.h: Touch because VS apparently can't figure out which files
1781         depend on ResourceResponse.h.
1782         * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
1783         project and remove old ResourceResponse files.
1784
1785 2007-11-12  Julien Chaffraix  <julien.chaffraix@gmail.com>
1786
1787         Reviewed by Darin.
1788
1789         http://bugs.webkit.org/show_bug.cgi?id=15334
1790         Split ResourceResponse into platform specific files
1791
1792         * WebCore.base.exp:
1793         * WebCore.pro:
1794         * WebCore.vcproj/WebCore.vcproj:
1795         * WebCore.xcodeproj/project.pbxproj:
1796         * platform/network/ResourceResponse.cpp: Removed.
1797         * platform/network/ResourceResponse.h: Removed.
1798         * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
1799         (WebCore::ResourceResponseBase::asResourceResponse):
1800         (WebCore::ResourceResponseBase::isHTTP):
1801         (WebCore::ResourceResponseBase::url):
1802         (WebCore::ResourceResponseBase::setUrl):
1803         (WebCore::ResourceResponseBase::mimeType):
1804         (WebCore::ResourceResponseBase::setMimeType):
1805         (WebCore::ResourceResponseBase::expectedContentLength):
1806         (WebCore::ResourceResponseBase::setExpectedContentLength):
1807         (WebCore::ResourceResponseBase::textEncodingName):
1808         (WebCore::ResourceResponseBase::setTextEncodingName):
1809         (WebCore::ResourceResponseBase::suggestedFilename):
1810         (WebCore::ResourceResponseBase::setSuggestedFilename):
1811         (WebCore::ResourceResponseBase::httpStatusCode):
1812         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1813         (WebCore::ResourceResponseBase::httpStatusText):
1814         (WebCore::ResourceResponseBase::setHTTPStatusText):
1815         (WebCore::ResourceResponseBase::httpHeaderField):
1816         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1817         (WebCore::ResourceResponseBase::httpHeaderFields):
1818         (WebCore::ResourceResponseBase::isAttachment):
1819         (WebCore::ResourceResponseBase::setExpirationDate):
1820         (WebCore::ResourceResponseBase::expirationDate):
1821         (WebCore::ResourceResponseBase::setLastModifiedDate):
1822         (WebCore::ResourceResponseBase::lastModifiedDate):
1823         (WebCore::ResourceResponseBase::updateResourceResponse):
1824         * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
1825         (WebCore::ResourceResponseBase::ResourceResponseBase):
1826         * platform/network/cf/ResourceResponse.h: Added.
1827         (WebCore::ResourceResponse::ResourceResponse):
1828         * platform/network/curl/ResourceResponse.h: Added.
1829         (WebCore::ResourceResponse::ResourceResponse):
1830         (WebCore::ResourceResponse::doUpdateResourceResponse):
1831         * platform/network/mac/ResourceResponse.h: Added.
1832         (WebCore::ResourceResponse::ResourceResponse):
1833         * platform/network/qt/ResourceResponse.h: Added.
1834         (WebCore::ResourceResponse::ResourceResponse):
1835         (WebCore::ResourceResponse::doUpdateResourceResponse):
1836
1837 2007-11-11  Justin Haygood  <jhaygood@reaktix.com>
1838
1839         Reviewed by Adam Roben.
1840
1841         http://bugs.webkit.org/show_bug.cgi?id=15939
1842         Adds a currentThread API for use by SQLiteDatabase, etc.
1843
1844         * platform/Threading.h:
1845         * platform/ThreadingNone.cpp:
1846         (WebCore::currentThread):
1847         * platform/gtk/ThreadingGtk.cpp:
1848         (WebCore::identifierByGthreadHandle):
1849         (WebCore::):
1850         * platform/pthreads/ThreadingPthreads.cpp:
1851         (WebCore::identifierByPthreadHandle):
1852         (WebCore::currentThread):
1853
1854 2007-11-11  Dan Bernstein  <mitz@apple.com>
1855
1856         Reviewed by Adam Roben.
1857
1858         - fix http://bugs.webkit.org/show_bug.cgi?id=15942
1859           REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
1860
1861         Test: editing/selection/cleared-by-relayout.html
1862
1863         * editing/Selection.cpp:
1864         (WebCore::Selection::toRange): Check if the selection has been cleared
1865         by updating layout.
1866
1867 2007-11-11  Darin Adler  <darin@apple.com>
1868
1869         Reviewed by Mark Rowe.
1870
1871         - fix line numbers that were off since my recent patch
1872
1873         * platform/SegmentedString.h:
1874         (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
1875         and rename it to m_doNotExcludeLineNumbers.
1876         (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
1877         (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
1878         (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
1879         (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
1880         the regression, but keep the speediness. I accidentally had removed a ! here.
1881
1882         * platform/SegmentedString.cpp:
1883         (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
1884
1885 2007-11-11  Oliver Hunt  <oliver@apple.com>
1886
1887         Reviewed by Darin.
1888
1889         Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
1890         malformed SVG file in WebCore::ImageBuffer::create. Add protection
1891         against a potential overflow.
1892
1893         * platform/graphics/cg/ImageBufferCG.cpp:
1894
1895 2007-11-11  Antti Koivisto  <antti@apple.com>
1896
1897         Reviewed by Darin.
1898
1899         Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
1900
1901         * bindings/js/kjs_binding.cpp:
1902         (KJS::setDOMException):
1903         * dom/Attr.cpp:
1904         (WebCore::Attr::setPrefix):
1905         * dom/Document.cpp:
1906         (WebCore::Document::createElement):
1907         * dom/Element.cpp:
1908         (WebCore::Element::setPrefix):
1909         * dom/Range.cpp:
1910         (WebCore::Range::setStart):
1911         (WebCore::Range::setEnd):
1912         (WebCore::Range::isPointInRange):
1913         (WebCore::Range::comparePoint):
1914         (WebCore::Range::compareBoundaryPoints):
1915         (WebCore::Range::deleteContents):
1916         (WebCore::Range::processContents):
1917         (WebCore::Range::extractContents):
1918         (WebCore::Range::insertNode):
1919         (WebCore::Range::setStartAfter):
1920         (WebCore::Range::setEndBefore):
1921         (WebCore::Range::setEndAfter):
1922         (WebCore::Range::selectNode):
1923         (WebCore::Range::surroundContents):
1924         (WebCore::Range::setStartBefore):
1925         * editing/TextIterator.cpp:
1926         (WebCore::TextIterator::TextIterator):
1927         * html/CanvasRenderingContext2D.cpp:
1928         (WebCore::CanvasRenderingContext2D::createPattern):
1929         * html/HTMLMediaElement.cpp:
1930         (WebCore::HTMLMediaElement::play):
1931         (WebCore::HTMLMediaElement::pause):
1932         * html/HTMLSelectElement.cpp:
1933         (WebCore::HTMLSelectElement::add):
1934         (WebCore::HTMLSelectElement::setOption):
1935         * xml/XPathEvaluator.cpp:
1936         (WebCore::XPathEvaluator::evaluate):
1937
1938 2007-11-11  Darin Adler  <darin@apple.com>
1939
1940         Reviewed by Mitz.
1941
1942         - http://bugs.webkit.org/show_bug.cgi?id=15945
1943           speed up GraphicsContextCG typical case by skipping roundToDevicePixels
1944
1945         * platform/graphics/cg/GraphicsContextCG.cpp:
1946         (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
1947         longer know if the transform is identity or not.
1948         (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
1949         CGContextSave/RestoreGState.
1950         (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
1951         longer know if the transform is identity or not.
1952         (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
1953         (WebCore::GraphicsContext::scale): Ditto.
1954         (WebCore::GraphicsContext::rotate): Ditto.
1955         (WebCore::GraphicsContext::translate): Ditto.
1956         (WebCore::GraphicsContext::concatCTM): Ditto.
1957         (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
1958         is known to be identity, and record that fact when we discover it otherwise.
1959
1960         * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
1961         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1962         Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
1963
1964 2007-11-11  Darin Adler  <darin@apple.com>
1965
1966         Reviewed by Mitz.
1967
1968         - http://bugs.webkit.org/show_bug.cgi?id=15944
1969           streamline SegmentedString to speed up parsing
1970
1971         I measured a speed-up of the page load test while developing this patch. I don't
1972         have a precise figure, though.
1973
1974         * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
1975         lineno to m_lineNumber.
1976         * html/HTMLTokenizer.cpp:
1977         (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
1978         since we don't want to update a line number.
1979         (WebCore::HTMLTokenizer::parseSpecial): Ditto.
1980         (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
1981         instead of lineNumberPtr() since the advance function now takes a reference.
1982         (WebCore::HTMLTokenizer::parseServer): Ditto.
1983         (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1984         (WebCore::HTMLTokenizer::parseText): Ditto.
1985         (WebCore::HTMLTokenizer::parseEntity): Ditto.
1986         (WebCore::HTMLTokenizer::parseTag): Ditto.
1987         (WebCore::HTMLTokenizer::write): Ditto.
1988
1989         * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
1990         * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
1991         Don't pass 0 to the advance function.
1992
1993         * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
1994         the most common case, and pushed less common cases into a separate function
1995         that is not inlined. Also got rid of a branch by separating the case with a
1996         line number from the case without one.
1997
1998         * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
1999         Added. The aforementioned less common cases are here.
2000
2001 2007-11-11  Antti Koivisto  <antti@apple.com>
2002
2003         Forgot to do this review change (and test HTTP commit).
2004
2005         * html/HTMLMediaElement.cpp:
2006         (WebCore::HTMLMediaElement::play):
2007
2008 2007-11-11  Antti Koivisto  <antti@apple.com>
2009
2010         Reviewed by Darin.
2011         
2012         - Update play() and pause() to match current HTML5 draft
2013             - send events asynchronously
2014             - add timeupdate event to pause
2015             - rethrow load() exception, not others
2016         - Use list for async events to get ordering right
2017
2018         Tests: media/video-pause-empty-events.html
2019                media/video-play-empty-events.html
2020                media/video-play-pause-events.html
2021                media/video-play-pause-exception.html
2022
2023         * html/HTMLMediaElement.cpp:
2024         (WebCore::HTMLMediaElement::dispatchEventAsync): 
2025         (WebCore::HTMLMediaElement::asyncEventTimerFired):
2026         (WebCore::HTMLMediaElement::play):
2027         (WebCore::HTMLMediaElement::pause):
2028         * html/HTMLMediaElement.h:
2029
2030 2007-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
2031
2032         Reviewed by Eric.
2033
2034         Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
2035
2036         Add (basic) support for dominant-baseline / alignment-baseline text properties.
2037         Note: there are no official testcases, and no-one implemented it before. Only ASV3
2038               supported dominant-baseline, but not correct it seems.
2039
2040         * rendering/SVGRootInlineBox.cpp:
2041         (WebCore::dominantBaselineToShift):
2042         (WebCore::alignmentBaselineToShift):
2043         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2044
2045 2007-11-11  Adam Roben  <aroben@apple.com>
2046
2047         Add wrappers around CoCreateInstance to COMPtr
2048
2049         I followed the example of the Query constructor and query method by
2050         adding a Create constructor and create method.
2051
2052         Reviewed by Darin.
2053
2054         * platform/win/COMPtr.h:
2055         (COMPtr::COMPtr): Added a new constructor that calls
2056         CoCreateInstance.
2057         (COMPtr::create): Added.
2058         (COMPtr::createInstance): Added.
2059
2060 2007-11-11  Alexey Proskuryakov  <ap@nypop.com>
2061
2062         Reviewed by Darin.
2063
2064         http://bugs.webkit.org/show_bug.cgi?id=15896
2065         More editing cleanup
2066
2067         No functionality changes.
2068
2069         * dom/Node.h: Moved several editing-related methods elsewhere.
2070         * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
2071         to highlight that it is a match to offsetInCharacters(), and much different from other
2072         offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
2073         offsetInCharacters() before calling this.
2074
2075         * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
2076         * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
2077         Updated for above renamings.
2078
2079         * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
2080
2081         * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
2082
2083         * dom/Position.h:
2084         * dom/Position.cpp:
2085         (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
2086         (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
2087         (WebCore::Position::previous): Adapted to the above move.
2088         (WebCore::Position::next): Ditto.
2089         (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
2090         and BR elements are covered by editingIgnoresContent().
2091         (WebCore::Position::downstream): Ditto.
2092         (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
2093         (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
2094
2095         * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
2096         * dom/PositionIterator.cpp:
2097         (WebCore::PositionIterator::increment): Updated for the above moves.
2098         (WebCore::PositionIterator::decrement): Ditto.
2099
2100         * dom/ProcessingInstruction.h:
2101         * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
2102         ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
2103         I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
2104
2105         * dom/Range.cpp:
2106         (WebCore::Range::selectNodeContents):
2107         * editing/ApplyStyleCommand.cpp:
2108         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2109         (WebCore::ApplyStyleCommand::applyInlineStyle):
2110         (WebCore::maxRangeOffset):
2111         (WebCore::ApplyStyleCommand::removeInlineStyle):
2112         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
2113         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
2114         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
2115         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
2116         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
2117         * editing/CompositeEditCommand.cpp:
2118         (WebCore::CompositeEditCommand::insertNodeAt):
2119         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
2120         * editing/DeleteSelectionCommand.cpp:
2121         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2122         * editing/InsertLineBreakCommand.cpp:
2123         (WebCore::InsertLineBreakCommand::doApply):
2124         * editing/InsertParagraphSeparatorCommand.cpp:
2125         (WebCore::InsertParagraphSeparatorCommand::doApply):
2126         * editing/InsertTextCommand.cpp:
2127         (WebCore::InsertTextCommand::insertTab):
2128         * editing/visible_units.cpp:
2129         (WebCore::previousLinePosition):
2130         (WebCore::nextLinePosition):
2131         Updated for the above moves.
2132
2133         * editing/Editor.cpp:
2134         (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
2135
2136         * editing/TextIterator.cpp:
2137         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
2138         match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
2139         (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
2140
2141         * editing/htmlediting.h:
2142         * editing/htmlediting.cpp:
2143         (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
2144         child nodes, other than via DOM manipulation, which is not specific to BRs.
2145         (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
2146         (WebCore::maxDeepOffset): Ditto.
2147         (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
2148         (WebCore::caretMaxOffset): Ditto.
2149
2150         * page/EventHandler.cpp:
2151         (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
2152         caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
2153         will take care of adjusting the offset.
2154
2155         * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
2156         * page/mac/WebCoreFrameBridge.mm:
2157         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
2158         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
2159         Changed some runtime checks that seemingly cannot fail into assertions.
2160
2161 2007-11-11  Darin Adler  <darin@apple.com>
2162
2163         Reviewed by Sam.
2164
2165         - updated for JSRegExp function changes
2166
2167         * platform/RegularExpression.cpp:
2168         (WebCore::RegularExpression::Private::compile):
2169         (WebCore::RegularExpression::match):
2170
2171 2007-11-10  Mark Rowe  <mrowe@apple.com>
2172
2173         Qt Linux build fix.
2174
2175         * platform/UnicodeRange.h:
2176
2177 2007-11-10  Mark Rowe  <mrowe@apple.com>
2178
2179         Qt Windows build fix.
2180
2181         * platform/UnicodeRange.h:
2182
2183 2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
2184
2185         Reviewed by Eric.
2186
2187         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
2188         Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
2189
2190         Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
2191         Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
2192
2193         * WebCore.pro: Add platform/UnicodeRange.cpp to build
2194         * WebCore.xcodeproj/project.pbxproj: Dito.
2195         * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
2196         (WebCore::SVGChar::characterTransform):
2197         * rendering/SVGCharacterLayoutInfo.h: New variables.
2198         (WebCore::SVGCharOnPath::SVGCharOnPath):
2199         (WebCore::SVGChar::SVGChar):
2200         * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
2201         (WebCore::glyphOrientationToAngle):
2202         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
2203         (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
2204         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
2205         (WebCore::cummulatedWidthOrHeightOfTextChunk):
2206         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2207
2208 2007-11-10  Timothy Hatcher  <timothy@apple.com>
2209
2210         Reviewed by Sam Weinig.
2211
2212         * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
2213           and switch over to use getUniqueProperties in another place.
2214
2215 2007-11-10  John Sullivan  <sullivan@apple.com>
2216
2217         Reviewed by Sam Weinig
2218
2219         Rest of fix for 5394877
2220
2221         * bindings/js/kjs_window.cpp:
2222         (KJS::Window::isSafeScript):
2223         Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
2224         private browsing mode either.
2225
2226 2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
2227
2228         Reviewed by Oliver.
2229
2230         Fix function name difference - header said 'unicodeRangeForCharacter', actually
2231         implemented function is 'findCharUnicodeRange'. They are not compiled yet.
2232
2233         * platform/UnicodeRange.h:
2234
2235 2007-11-10  Dan Bernstein  <mitz@apple.com>
2236
2237         Reviewed by Darin Adler.
2238
2239         - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
2240
2241         No test because context menu events cannot be tested in DumpRenderTree.
2242
2243         * page/EventHandler.cpp:
2244         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
2245         If the click occurred in an active link, selects the entire link
2246         element. Otherwise selects the closest word.
2247         (WebCore::EventHandler::sendContextMenuEvent): Call
2248         selectClosestWordOrLinkFromMouseEvent().
2249         * page/EventHandler.h:
2250
2251 2007-11-10  John Sullivan  <sullivan@apple.com>
2252
2253         Reviewed by Tim Hatcher
2254
2255         - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when 
2256           in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
2257
2258         * bindings/js/kjs_window.cpp:
2259         (KJS::Window::isSafeScript):
2260         Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
2261
2262 2007-11-10  Alexey Proskuryakov  <ap@webkit.org>
2263
2264         Reviewed by Darin.
2265
2266         http://bugs.webkit.org/show_bug.cgi?id=15922
2267         Implement more of Mozilla Selection API
2268
2269         Tests: editing/selection/containsNode.html
2270                editing/selection/deleteFromDocument.html
2271                editing/selection/extend.html
2272                editing/selection/selectAllChildren.html
2273
2274         * editing/SelectionController.cpp:
2275         (WebCore::SelectionController::deleteFromDocument):
2276         (WebCore::SelectionController::containsNode):
2277         (WebCore::SelectionController::selectAllChildren):
2278         (WebCore::SelectionController::extend):
2279         * editing/SelectionController.h:
2280         Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
2281         which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
2282         Removed a comment mentioning removeRange(), as this method makes no sense without multiple
2283         selection range support.
2284
2285         * page/DOMSelection.cpp:
2286         (WebCore::DOMSelection::extend):
2287         (WebCore::DOMSelection::deleteFromDocument):
2288         (WebCore::DOMSelection::containsNode):
2289         (WebCore::DOMSelection::selectAllChildren):
2290         * page/DOMSelection.h:
2291         * page/DOMSelection.idl:
2292         Exposed the new methods.
2293
2294 2007-11-10  Alexey Proskuryakov  <ap@webkit.org>
2295
2296         Reviewed by Darin.
2297
2298         http://bugs.webkit.org/show_bug.cgi?id=15892
2299         DOM Range operations are not implemented for ProcessingInstruction nodes
2300
2301         Test: fast/dom/Range/range-processing-instructions.html
2302
2303         * dom/Range.cpp:
2304         (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
2305         (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
2306         to use ProcessingInstruction.data.
2307
2308 2007-11-09  Timothy Hatcher  <timothy@apple.com>
2309
2310         Reviewed by Mark Rowe.
2311
2312         Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
2313         http://bugs.webkit.org/show_bug.cgi?id=12054
2314
2315         - Add support code for routing copy events to the focused element.
2316         - Implement copying the currently selected DOM node. The node
2317           and it's subtree is copied to the clipboard. If the node has no
2318           outerHTML, the nodeValue is copied (text nodes, etc.)
2319         - Implement copy for the resource sidebar. The URL is copied for the
2320           currently selected resource.
2321
2322         * page/inspector/DocumentPanel.js:
2323         * page/inspector/inspector.js:
2324
2325 2007-11-09  Antti Koivisto  <antti@apple.com>
2326
2327         Reviewed by Adele.
2328
2329         Fix occasional blank video with poster attribute.
2330
2331         * ChangeLog:
2332         * html/HTMLMediaElement.cpp:
2333         (WebCore::HTMLMediaElement::load):
2334         (WebCore::HTMLMediaElement::didRestoreFromCache):
2335         Just calling updateFromElement() does the right thing for both poster image and video.
2336
2337 2007-11-04  Sam Weinig  <sam@webkit.org>
2338
2339         Reviewed by Adam Roben.
2340
2341         <rdar://problem/5435940>
2342         The COM bindings for the DOM should be autogenerated like the other DOM bindings
2343
2344         Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
2345         is being introduced in this patch and to insure that no conflicts arise, a temporary
2346         prefix of "GEN_" has been used for all the new classes.
2347
2348         The build architecture for these bindings differs slightly from the other autogenerated
2349         bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
2350         is done for the Objective-C bindigs currently), the IDLs and generation scripts are
2351         migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
2352
2353         This commit includes:
2354             - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2355               and ref-counting.
2356             - Generating all of the Core DOM and most of HTML and CSS
2357             - Generating Event, EventTarget, and EventListener
2358
2359         * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
2360         * WebCore.vcproj/WebCore.vcproj:
2361         * WebCore.vcproj/migrate-idls.sh: Added.
2362         * bindings/scripts/CodeGenerator.pm:
2363         * bindings/scripts/CodeGeneratorCOM.pm: Added.
2364         * dom/EventListener.h: Make the isWindowEvent parameter default to false
2365         to allow autogeneration based on the IDL.
2366
2367 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
2368
2369         Reviewed by Timothy Hatcher.
2370         
2371         This patch is for the WebKit side of <rdar://problem/5591115>.
2372         We need a way to tell context menu navigations, such as "Open in New Window"
2373         to override any sort of browser preference for tab based navigation.
2374
2375         * bridge/WindowFeatures.h:
2376         (WebCore::WindowFeatures::WindowFeatures):
2377         Added a new struct member var, preferredType
2378         and an accompanying enum type PreferredType
2379         to send a window type recommendation up to the Chrome. 
2380         
2381         * page/ContextMenuController.cpp:
2382         (WebCore::openNewWindow):
2383         Set the window features to recommend a new Window for
2384         "Open in New Window" context menu action.
2385
2386 2007-11-08  Adam Roben  <aroben@apple.com>
2387
2388         Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
2389
2390         We now match the behavior of Firefox and IE, which is to always just
2391         send a click event to the focused button when the Enter key is pressed
2392         (previously we were submitting forms directly in some cases).
2393
2394         Reviewed by Adele.
2395
2396         Test: fast/forms/enter-clicks-buttons.html
2397
2398         * html/HTMLButtonElement.cpp:
2399         (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
2400         fancy when Enter is pressed on a <button type=button> -- just send a
2401         click event like we do for other button types.
2402         * html/HTMLInputElement.cpp:
2403         (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
2404         the same way we treat type=submit and type=reset: just send a click
2405         event when Enter is pressed.
2406
2407 2007-11-09  Dan Bernstein  <mitz@apple.com>
2408
2409         Reviewed by Antti Koivisto.
2410
2411         - fix a bug in invisible layer culling: dynamically changing a 
2412           descendant of an invisible layer to be visible did not work
2413
2414         Test: fast/layers/layer-content-visibility-change.html
2415
2416         * rendering/RenderLayer.cpp:
2417         (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
2418         make sure that our stacking context rebuilds its z-order lists to
2419         include us.
2420
2421 2007-11-09  David Hyatt  <hyatt@apple.com>
2422
2423         Clean up matrix() parsing.  Make sure the first four arguments can be lengths or numbers.  The last two
2424         args can be lengths or numbers or percents.
2425
2426         Reviewed by Beth
2427
2428         * WebCore.xcodeproj/project.pbxproj:
2429         * css/CSSParser.cpp:
2430         (WebCore::TransformOperationInfo::TransformOperationInfo):
2431         (WebCore::CSSParser::parseTransform):
2432         * rendering/RenderStyle.h:
2433         (WebCore::MatrixTransformOperation::apply):
2434
2435 2007-11-09  Beth Dakin  <bdakin@apple.com>
2436
2437         Reviewed by Oliver.
2438
2439         Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 
2440         math leads to crazy problems
2441
2442         Transform matrices accept the first four parameters as CSS lengths. 
2443         CSS lengths get mapped into WebCore::Lengths as percents by 
2444         WebCore::convertToLength(). Percent lengths cannot call value(). It 
2445         does not yield a correct result and it asserts on Debug builds. 
2446
2447         * rendering/RenderStyle.h:
2448         (WebCore::MatrixTransformOperation::apply): Instead of calling 
2449         value() on the lengths, call calcValue. This fixes the assert and 
2450         the bad rendering. 
2451
2452 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2453
2454         Reviewed by nobody, build/link fix for Qt/Windows.
2455
2456         userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
2457         define it twice.
2458
2459         * platform/qt/TemporaryLinkStubs.cpp:
2460
2461 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2462
2463         Reviewed by Holger.
2464
2465         Fix ContextMenu allocation in the Qt port.
2466
2467         Store all items and submenus value based in ContextMenu and ContextMenuItem.
2468         That fixes the crashes when the context menu was populated with sub-menus because
2469         of the use of temporary ContextMenu objects like this:
2470
2471         ContextMenu subMenu(...);
2472         subMenu.appendItem(...);
2473         subMenu.appendItem(...);
2474
2475         subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
2476
2477         * platform/ContextMenu.h:
2478         * platform/ContextMenuItem.h:
2479         * platform/PlatformMenuDescription.h:
2480         * platform/qt/ContextMenuItemQt.cpp:
2481         (WebCore::ContextMenuItem::ContextMenuItem):
2482         (WebCore::ContextMenuItem::platformSubMenu):
2483         * platform/qt/ContextMenuQt.cpp:
2484         (WebCore::ContextMenu::ContextMenu):
2485         (WebCore::ContextMenu::~ContextMenu):
2486         (WebCore::ContextMenu::appendItem):
2487         (WebCore::ContextMenu::itemCount):
2488
2489 2007-11-09  Peter Kasting  <zerodpx@gmail.com>
2490
2491         Reviewed by Mark Rowe.
2492
2493         http://bugs.webkit.org/show_bug.cgi?id=15909
2494         Malformed GIFs should not result in memory corruption.
2495
2496         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2497         (WebCore::GIFImageDecoder::haveDecodedRow):
2498
2499 2007-11-08  Timothy Hatcher  <timothy@apple.com>
2500
2501         Reviewed by Sam Weinig.
2502
2503         Some Web Inspector CSS editing changes.
2504         - Only delete the property if all the text is delete or the new user input correctly parses.
2505           This prevents deleting the existing property if the new text is invalid.
2506         - Intercept the Escape key and cancel editing, not saving any changes.
2507
2508         * page/inspector/StylesSidebarPane.js:
2509
2510 2007-11-08  Kevin Ollivier  <kevino@theolliviers.com>
2511
2512         Bakefiles for building WebCore, needed by wx port.
2513
2514         Reviewed by Mark Rowe.
2515
2516         * WebCoreSources.bkl: Added.
2517         * webcore-base.bkl: Added.
2518         * webcore-wx.bkl: Added.
2519
2520 2007-11-08  Justin Haygood  <jhaygood@reaktix.com>
2521
2522         Reviewed by Mark Rowe.
2523
2524         http://bugs.webkit.org/show_bug.cgi?id=15905
2525
2526         Fix builds with HTML 5 Storage support disabled.
2527         ENABLE(DATABASE) needs to be added in a few places.
2528
2529         * page/InspectorController.cpp:
2530         * storage/Database.h:
2531
2532 2007-11-08  Steve Falkenburg  <sfalken@apple.com>
2533
2534         <rdar://problem/5524082> Allow images to be dragged out directly into other apps
2535         
2536         We weren't including CF_HDROP in our image drops.  This broke drag of
2537         images out of the browser window directly into other apps (examples
2538         include notepad, mspaint, msword).
2539         
2540         Reviewed by Oliver, Ada.
2541
2542         * platform/win/ClipboardWin.cpp:
2543         (WebCore::createGlobalImageFileContent): Removed unused variable.
2544         (WebCore::createGlobalHDropContent): Added
2545         (WebCore::writeFileToDataObject): Write HDROP data if available.
2546         (WebCore::writeImageToDataObject): Write HDROP for dragged images.
2547         (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
2548
2549 2007-11-08  Xan Lopez  <xan@gnome.org>
2550
2551         Reviewed by Alp.
2552
2553         http://bugs.webkit.org/show_bug.cgi?id=15908
2554         Use g_object_ref_sink when available
2555
2556         * platform/gtk/PopupMenuGtk.cpp:
2557         (WebCore::PopupMenu::show):
2558         * platform/gtk/ScrollViewGtk.cpp:
2559         (WebCore::ScrollView::setGtkAdjustments):
2560
2561 2007-11-08  Dan Bernstein  <mitz@apple.com>
2562
2563         Reviewed by Beth Dakin.
2564
2565         - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
2566
2567         Test: fast/dom/length-attribute-mapping.html
2568
2569         * dom/StyledElement.cpp:
2570         (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
2571         logic to stop after the first "%" or "*" in the string. This allows for
2572         "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
2573
2574 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2575
2576         - Build fix.
2577
2578         * loader/FrameLoaderClient.h:
2579         * platform/graphics/svg/SVGImageEmptyClients.h:
2580         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2581
2582 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2583
2584         Reviewed by Sam.
2585
2586         - windowObjectCleared() is no longer const.  It needs to setup the
2587         script debugger and cannot be const to do so.
2588
2589         * loader/FrameLoaderClient.h:
2590         * platform/graphics/svg/SVGImageEmptyClients.h:
2591         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2592
2593 2007-11-08  Adam Roben  <aroben@apple.com>
2594
2595         Hopeful Windows build fix
2596
2597         * rendering/RenderObject.cpp: Touch this file to make it recompile.
2598
2599 2007-11-08  Sam Weinig  <sam@webkit.org>
2600
2601         Reviewed by Darin.
2602
2603         Convert JavaScript internal function objects to use one class per
2604         function.  This avoids a switch statement inside what used to be
2605         the shared function classes and will allow Shark to better analyze
2606         the code.
2607
2608         To make this switch, the value property of the HashEntry was changed
2609         to a union of an intptr_t (which is used to continue handle valueGetters)
2610         and function pointer which points to a static constructor for the
2611         individual new function objects.
2612
2613         SunSpider claims this is a 1.0% speedup.
2614
2615         - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
2616           new classes and hand updated the remain non-generated (groan) classes.
2617
2618         * bindings/js/JSDOMWindowCustom.cpp:
2619         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2620         * bindings/js/JSEventTargetNode.cpp:
2621         (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
2622         (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
2623         (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
2624         * bindings/js/JSEventTargetNode.h:
2625         * bindings/js/JSHTMLInputElementBase.cpp:
2626         (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
2627         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
2628         * bindings/js/JSHTMLInputElementBase.h:
2629         (WebCore::JSHTMLInputElementBase::):
2630         * bindings/js/JSXMLHttpRequest.cpp:
2631         (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
2632         (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
2633         (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
2634         (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
2635         (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
2636         (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
2637         (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
2638         (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
2639         (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
2640         (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
2641         * bindings/js/JSXMLHttpRequest.h:
2642         (KJS::JSXMLHttpRequest::impl):
2643         * bindings/js/JSXSLTProcessor.cpp:
2644         (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
2645         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2646         (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
2647         (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
2648         (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
2649         (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
2650         (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
2651         (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
2652         * bindings/js/JSXSLTProcessor.h:
2653         * bindings/js/kjs_events.cpp:
2654         (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
2655         (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
2656         (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
2657         (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
2658         * bindings/js/kjs_events.h:
2659         * bindings/js/kjs_navigator.cpp:
2660         (KJS::Plugins::):
2661         (KJS::Navigator::getOwnPropertySlot):
2662         (KJS::Plugins::getOwnPropertySlot):
2663         (KJS::PluginsFunctionRefresh::callAsFunction):
2664         (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
2665         * bindings/js/kjs_navigator.h:
2666         (KJS::Navigator::):
2667         * bindings/js/kjs_window.cpp:
2668         (KJS::Window::getOwnPropertySlot):
2669         (KJS::Window::put):
2670         (KJS::WindowProtoFuncAToB::callAsFunction):
2671         (KJS::WindowProtoFuncBToA::callAsFunction):
2672         (KJS::WindowProtoFuncOpen::callAsFunction):
2673         (KJS::WindowProtoFuncScrollBy::callAsFunction):
2674         (KJS::WindowProtoFuncScrollTo::callAsFunction):
2675         (KJS::WindowProtoFuncMoveBy::callAsFunction):
2676         (KJS::WindowProtoFuncMoveTo::callAsFunction):
2677         (KJS::WindowProtoFuncResizeBy::callAsFunction):
2678         (KJS::WindowProtoFuncResizeTo::callAsFunction):
2679         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2680         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2681         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2682         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2683         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2684         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2685         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2686         (KJS::Location::getOwnPropertySlot):
2687         (KJS::Location::put):
2688         (KJS::LocationProtoFuncReplace::callAsFunction):
2689         (KJS::LocationProtoFuncReload::callAsFunction):
2690         (KJS::LocationProtoFuncAssign::callAsFunction):
2691         (KJS::LocationProtoFuncToString::callAsFunction):
2692         * bindings/js/kjs_window.h:
2693         (KJS::Window::):
2694         * bindings/scripts/CodeGeneratorJS.pm:
2695
2696 2007-11-08  Mark Rowe  <mrowe@apple.com>
2697
2698         Fix the Gtk, Qt and Wx builds.
2699
2700         * platform/gtk/TemporaryLinkStubs.cpp:
2701         * platform/qt/TemporaryLinkStubs.cpp:
2702         * platform/wx/TemporaryLinkStubs.cpp:
2703
2704 2007-11-08  Mark Rowe  <mrowe@apple.com>
2705
2706         Not reviewed.  Fix two instances of includes using the wrong case in the filename.
2707
2708         * platform/graphics/mac/MoviePrivateQTKit.mm:
2709         * platform/wx/MimeTypeRegistryWx.cpp:
2710
2711 2007-11-08  Darin Adler  <darin@apple.com>
2712
2713         Reviewed by Adam.
2714
2715         - fix <rdar://problem/5552943> accesskey does not focus <button> elements
2716
2717         Test: fast/forms/access-key.html
2718
2719         * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
2720         Added a call to focus.
2721
2722 2007-11-07  Darin Adler  <darin@apple.com>
2723
2724         Reviewed by Steve.
2725
2726         - cut down on notImplemented() functions on Windows
2727
2728         * bridge/AXObjectCache.h: Put #if around the accessibility
2729         global.
2730
2731         * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
2732         Moved here from TemporaryLinkStubs.
2733
2734         * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
2735         using the ResourceResponse that's now available from the DocumentLoader.
2736
2737         * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
2738         the Editor instead of the obsolete one on the Frame.
2739
2740         * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
2741         * loader/FrameLoader.h: Removed overrideMediaType.
2742
2743         * loader/gtk/DocumentLoaderGtk.cpp: Removed.
2744         * loader/mac/DocumentLoaderMac.mm: Removed.
2745         * loader/qt/DocumentLoaderQt.cpp: Removed.
2746
2747         * page/Frame.cpp: Removed transpose.
2748         * page/Frame.h: Ditto.
2749         * page/FrameView.h: Removed updateBorder.
2750         * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
2751         * page/mac/FrameMac.mm: Ditto.
2752         * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
2753         overrideMediaType.
2754         * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
2755
2756         * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
2757         * platform/qt/TemporaryLinkStubs.cpp: Ditto.
2758         * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
2759         * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
2760         issueTransposeCommand, and overrideMediaType.
2761
2762         * platform/network/cf/ResourceHandleCFNet.cpp:
2763         (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
2764         (WebCore::ResourceHandle::willLoadFromCache): Ditto.
2765         * platform/win/GraphicsContextWin.cpp:
2766         (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
2767         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
2768         * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
2769         * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
2770
2771         * WebCore.pro: Updated for removed files.
2772         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2773
2774 2007-11-08  Mark Rowe  <mrowe@apple.com>
2775
2776        Build fix for case-sensitive file systems.  Fix case of file names
2777        in #include's.
2778
2779         * html/HTMLMediaElement.cpp:
2780         * platform/graphics/Movie.cpp:
2781
2782 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2783
2784         Reviewed by Lars Knoll <lars@trolltech.com>.
2785
2786         Remove some warnings about not implemented methods.
2787
2788         * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
2789         specific to the NS API and won't be implemented on Qt.
2790         * ResourceHandle::bufferedData can not be reached as we return false in
2791         ResourceHandle::supportsBufferedData.
2792
2793
2794         * platform/network/qt/ResourceHandleQt.cpp:
2795         (WebCore::ResourceHandle::supportsBufferedData):
2796
2797 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2798
2799         Reviewed by Lars Knoll <lars@trolltech.com>.
2800
2801         Cleanup checking for the request method.
2802
2803         * Check the request method only in QWebNetworkManager::add.
2804         * Currently HEAD, GET, POST are allowed and for everything else
2805         QWebNetworkManager::add returns false.
2806         * Returning false is compatible with ResourceHandle::start and it
2807         can be used in ResourceHandle::loadResourceSynchronously to generate
2808         a ResourceError
2809
2810
2811         * platform/network/qt/ResourceHandleQt.cpp:
2812         (WebCore::ResourceHandle::start):
2813         (WebCore::ResourceHandle::loadResourceSynchronously):
2814
2815 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2816
2817         Reviewed by Lars Knoll <lars@trolltech.com>.
2818
2819         Implement WebCore::callOnMainThread
2820
2821         Implemented using a global QObject, that is moved to the main thread
2822         and then sending a custom event to it.
2823         Picked a number below QEvent::User but above any other documented value.
2824
2825
2826         * platform/qt/ThreadingQt.cpp:
2827         (WebCore::PerformFunctionEvent::PerformFunctionEvent):
2828         (WebCore::MainThreadInvoker::MainThreadInvoker):
2829         (WebCore::MainThreadInvoker::event):
2830         (WebCore::callOnMainThread):
2831
2832 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2833
2834         Reviewed by Lars Knoll <lars@trolltech.com>.
2835
2836         Avoid problems with calling QPainter::begin() on an already active paintdevice
2837
2838         * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
2839         crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
2840         * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
2841         used by the ScrollView on a layout triggered by QWebPage::paintEvent.
2842
2843
2844         * platform/qt/WidgetQt.cpp:
2845         (WebCore::Widget::invalidateRect):
2846
2847 2007-11-08  Eric Seidel  <eric@webkit.org>
2848
2849         No review.
2850
2851         * ksvg2/svg/SVGPathElement.h: remove old comment
2852
2853 2007-11-07  Antti Koivisto  <antti@apple.com>
2854
2855         Reviewed by Ollie.
2856
2857         Ensure video renderer has correct size if video has already been loaded
2858         when it is constructed.
2859
2860         * rendering/RenderVideo.cpp:
2861         (WebCore::RenderVideo::RenderVideo):
2862
2863 2007-11-07  Antti Koivisto  <antti@apple.com>
2864
2865         Reviewed by Ollie.
2866
2867         Ensure video is visible when it should be.
2868
2869         * rendering/RenderVideo.cpp:
2870         (WebCore::RenderVideo::updateMovie):
2871
2872 2007-11-07  Dan Bernstein  <mitz@apple.com>
2873
2874         Reviewed by Darin Adler.
2875
2876         - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
2877
2878         Layers and listboxes are two kinds of ScrollBarClient that can be
2879         removed while the scrollbar is tracking the mouse. The scrollbar is not
2880         destroyed until later, and meanwhile it can try to call the client,
2881         which results in a crash.
2882
2883         * manual-tests/stale-scrollbar-client-crash.html: Added.
2884         * platform/ScrollBar.h:
2885         (WebCore::Scrollbar::setClient): Added.
2886         * rendering/RenderLayer.cpp:
2887         (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
2888         * rendering/RenderListBox.cpp:
2889         (WebCore::RenderListBox::~RenderListBox): Ditto.
2890
2891 2007-11-07  Adam Roben  <aroben@apple.com>
2892
2893         Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
2894
2895         Reviewed by Sam.
2896
2897         No test possible.
2898
2899         * platform/win/SharedBufferWin.cpp:
2900         (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
2901         empty path, because _wfopen_s will crash if we pass it a null pointer.
2902
2903 2007-11-07  David Kilzer  <ddkilzer@apple.com>
2904
2905         WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
2906         <http://bugs.webkit.org/show_bug.cgi?id=14893>
2907         <rdar://problem/5380295>
2908
2909         Reviewed by Darin.
2910
2911         Tests: fast/css/device-aspect-ratio.html
2912                fast/css/max-device-aspect-ratio.html
2913                fast/css/min-device-aspect-ratio.html
2914
2915         * css/MediaQueryEvaluator.cpp:
2916         (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
2917         (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
2918         a/b to h/v.  Switched first two arguments of the call to cmpvalue() to fix
2919         the bug.
2920
2921 2007-11-07  Dan Bernstein  <mitz@apple.com>
2922
2923         Reviewed by Dave Hyatt.
2924
2925         - fix http://bugs.webkit.org/show_bug.cgi?id=15887
2926           REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
2927
2928         Test: fast/css/display-none-inline-style-change-crash.html
2929
2930         * dom/Element.cpp:
2931         (WebCore::Element::recalcStyle): Fixed the crash by null-checking
2932         the current style and removed other checks that are not strictly
2933         necessary.
2934
2935 2007-11-07  Brady Eidson  <beidson@apple.com>
2936
2937         Rubberstamped by Sam
2938
2939         Remove FrameLoaderClient methods from SVG that were pruned awhile ago
2940
2941         * platform/graphics/svg/SVGImageEmptyClients.h:
2942
2943 2007-11-07  Dan Bernstein  <mitz@apple.com>
2944
2945         Reviewed by Darin Adler.
2946
2947         - fix a bug where CSS rules with :hover in the ancestor chain stopped
2948           working after changing the inline style declaration of the ancestor
2949
2950         Test: fast/css/affected-by-hover-after-style-change.html
2951
2952         * dom/Element.cpp:
2953         (WebCore::Element::recalcStyle): If we are not forcing style
2954         recalculation for all descendants, preserve any "affected by
2955         {hover|active|drag} bits that we may have acquired from them.
2956         Also renamed _style to currentStyle.
2957
2958 2007-11-06  Timothy Hatcher  <timothy@apple.com>
2959
2960         Reviewed by Adam.
2961
2962         Bug 11920: Web Inspector should have Firebug-like CSS editing
2963         http://bugs.webkit.org/show_bug.cgi?id=11920
2964
2965         * css/CSSComputedStyleDeclaration.h:
2966           (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
2967           this was true, but computed style has no concept of implicit. So false makes more sense
2968           and makes the code simpler in the inspector. This function was added for the inspector,
2969           so this isn't a compatibility change.
2970         * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
2971         * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
2972           style editing.
2973         * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
2974         * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
2975           trying to call a function based on the element's id. Call focused and blurred on the focused
2976           element when currentFocusElement is changed. Use the new listItemElement getter instead of
2977           the private property.
2978         * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
2979           Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
2980           to allow generation of the title using the DOM element. Add listItemElement and
2981           childrenListElement getters.
2982         * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
2983         * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
2984           property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
2985         * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
2986           instead of the private properties.
2987
2988 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2989
2990         Reviewed by Alexey Proskuryakov.
2991
2992         Coding style fix, don't use inline explicitly.
2993
2994         * bridge/WindowFeatures.h:
2995
2996 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2997
2998         Reviewed by Maciej.
2999
3000         For safety provide a default constructor for WindowFeatures().
3001         ContextMenuController.cpp: createNewWindow as well as QWebPage need to
3002         create a default initialized WindowFeatures object on the fly.
3003
3004         * bridge/WindowFeatures.h:
3005         (WebCore::WindowFeatures::WindowFeatures):
3006
3007 2007-11-07  Simon Hausmann  <shausman@trolltech.com>
3008
3009         Reviewed by Lars.
3010
3011         Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
3012
3013         * WebCore.pro:
3014
3015 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3016
3017         Reviewed by Lars.
3018
3019         Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
3020
3021         * platform/graphics/qt/ImageQt.cpp:
3022         (loadResourcePixmap):
3023
3024 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3025
3026         Reviewed by Lars.
3027
3028         Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
3029
3030         * platform/graphics/qt/ImageQt.cpp:
3031         (loadResourcePixmap):
3032
3033 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3034
3035         Reviewed by Lars.
3036
3037         Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
3038         QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
3039         in ContextMenu::populate().
3040         For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
3041         out of it. That menu is currently not functional anymore though.
3042
3043         * platform/ContextMenu.h:
3044         * platform/ContextMenuItem.h:
3045         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
3046         * platform/PlatformMenuDescription.h:
3047         * platform/qt/ContextMenuItemQt.cpp:
3048         (WebCore::ContextMenuItem::ContextMenuItem):
3049         (WebCore::ContextMenuItem::type):
3050         (WebCore::ContextMenuItem::setType):
3051         (WebCore::ContextMenuItem::action):
3052         (WebCore::ContextMenuItem::setAction):
3053         (WebCore::ContextMenuItem::title):
3054         (WebCore::ContextMenuItem::setTitle):
3055         (WebCore::ContextMenuItem::platformSubMenu):
3056         (WebCore::ContextMenuItem::setSubMenu):
3057         (WebCore::ContextMenuItem::setChecked):
3058         (WebCore::ContextMenuItem::setEnabled):
3059         * platform/qt/ContextMenuQt.cpp:
3060         (WebCore::ContextMenu::ContextMenu):
3061         (WebCore::ContextMenu::~ContextMenu):
3062         (WebCore::ContextMenu::appendItem):
3063         (WebCore::ContextMenu::itemCount):
3064         (WebCore::ContextMenu::insertItem):
3065         (WebCore::ContextMenu::setPlatformDescription):
3066         (WebCore::ContextMenu::platformDescription):
3067
3068 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3069
3070         Reviewed by Lars.
3071
3072         Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
3073         but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
3074         Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
3075         on it.
3076
3077         * platform/qt/ContextMenuQt.cpp:
3078
3079 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3080
3081         Reviewed by Lars.
3082
3083         Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
3084         Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
3085
3086         * platform/PlatformMouseEvent.h:
3087         * platform/qt/PlatformMouseEventQt.cpp:
3088         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3089
3090 2007-11-07  Lars Knoll  <lars@trolltech.com>
3091
3092         Reviewed by Simon.
3093
3094         don't put nbsp's into the plan text paste
3095         
3096         Fix both ClipboardQt and PasteboardQt to replace
3097         nbsp's with spaces before putting the text onto the
3098         native clipboard. This is consistent with Mac and Win
3099         and fixes at least editing/pasteboard/4076267-3.html
3100
3101         * platform/qt/ClipboardQt.cpp:
3102         (WebCore::ClipboardQt::writeRange):
3103         * platform/qt/PasteboardQt.cpp:
3104         (WebCore::Pasteboard::writeSelection):
3105
3106 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3107
3108         Reviewed by Lars Knoll <lars@trolltech.com>.
3109
3110         Implement Pasteboard::writeImage()
3111         
3112         * Pasteboard is now fully implemented. Copying of Images into the Clipboard
3113         is now supported.
3114         * As with URLs we only copy into the Clipboard (and not additionally to the
3115         Selection)
3116         
3117
3118         WARNING: NO TEST CASES ADDED OR CHANGED
3119
3120         * platform/qt/PasteboardQt.cpp:
3121         (WebCore::Pasteboard::writeImage):
3122
3123 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3124
3125         Reviewed by Lars Knoll <lars@trolltech.com>.
3126
3127         Apple CodingStyle fixes
3128         
3129
3130         WARNING: NO TEST CASES ADDED OR CHANGED
3131
3132         * platform/qt/PasteboardQt.cpp:
3133         (WebCore::Pasteboard::documentFragment):
3134
3135 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3136
3137         Reviewed by Lars Knoll <lars@trolltech.com>.
3138
3139         Implement Pasteboard::writeURL()
3140         * The URL currently gets written as text/plain and text/uri-list.
3141         The win and mac port have some more types which we currently do
3142         not support. When supporting them we can use the 'titleString'
3143         as well.
3144         * As with writeSelection we only copy into the Clipboard. We could
3145         consider copying into the Selection as well.
3146         
3147
3148         WARNING: NO TEST CASES ADDED OR CHANGED
3149
3150         * platform/qt/PasteboardQt.cpp:
3151         (WebCore::Pasteboard::writeURL):
3152
3153 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3154
3155         Reviewed by Lars Knoll <lars@trolltech.com>.
3156
3157         Kill whitespace
3158         
3159
3160         WARNING: NO TEST CASES ADDED OR CHANGED
3161
3162         * platform/qt/PasteboardQt.cpp:
3163         (WebCore::Pasteboard::documentFragment):
3164
3165 2007-11-07  Lars Knoll  <lars@trolltech.com>
3166
3167         Reviewed by Simon.
3168
3169         Use the correct function calls to convert a selection to
3170         HTML or plain text.
3171
3172         WARNING: NO TEST CASES ADDED OR CHANGED
3173
3174         * platform/qt/ClipboardQt.cpp:
3175         (WebCore::ClipboardQt::setData):
3176         (WebCore::ClipboardQt::writeRange):
3177         * platform/qt/PasteboardQt.cpp:
3178         (WebCore::Pasteboard::writeSelection):
3179
3180 2007-11-07  Lars Knoll  <lars@trolltech.com>
3181
3182         Reviewed by Simon.
3183
3184         Some more clipboard fixes.
3185         
3186         We have to set things immediately on the QClipBoard if the
3187         Clipboard object is not for dragging.
3188         
3189         This is due to the fact that the Clipboard object might be
3190         rather long lived if accessed through javascript (it'll only
3191         get deleted by JS garbage collection). We have to transfer
3192         the data over to the QClipboard before that to make things work.
3193         
3194         Fixes editing/execCommand/copy-without-selection.html
3195
3196         * platform/qt/ClipboardQt.cpp:
3197         (WebCore::ClipboardQt::ClipboardQt):
3198         (WebCore::ClipboardQt::~ClipboardQt):
3199         (WebCore::ClipboardQt::clearData):
3200         (WebCore::ClipboardQt::clearAllData):
3201         (WebCore::ClipboardQt::getData):
3202         (WebCore::ClipboardQt::setData):
3203         (WebCore::ClipboardQt::declareAndWriteDragImage):
3204         (WebCore::ClipboardQt::writeURL):
3205         (WebCore::ClipboardQt::writeRange):
3206
3207 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3208
3209         Reviewed by Mark.
3210
3211         Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
3212         not supported due to implicit forks, use IPC::Open2 instead.
3213
3214         * bindings/scripts/IDLParser.pm:
3215
3216 2007-11-07  Dan Bernstein  <mitz@apple.com>
3217
3218         Reviewed by Brady Eidson.
3219
3220         - fix http://bugs.webkit.org/show_bug.cgi?id=15877
3221           REGRESSION: r27486 caused a layout regression at my bank's website
3222
3223         Test: fast/block/float/overhanging-after-height-decrease-offsets.html
3224
3225         * rendering/RenderBlock.cpp:
3226         (WebCore::RenderBlock::layoutBlock):
3227
3228 2007-11-06  Beth Dakin  <bdakin@apple.com>
3229
3230         Reviewed by Sam.
3231
3232         <rdar://problem/5575812> REGRESSION:When using absolute positioning 
3233         with overflow:auto div, WebKit seems to add an additional 15px
3234
3235         * rendering/RenderBox.cpp:
3236         (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 
3237         subtract off the vertical scrollbar width too.
3238
3239 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
3240
3241         Reviewed by Dan Bernstein.
3242         
3243         <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
3244         <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
3245
3246         * editing/markup.cpp:
3247         (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
3248         that encloses the input context, unless that block is the body, which shouldn't
3249         be cloned.  In that case, use regular divs, as we did before r27369.
3250
3251 2007-11-06  Christian Dywan  <christian@twotoasts.de>
3252
3253         Reviewed by Darin.
3254
3255         Fix http://bugs.webkit.org/show_bug.cgi?id=15828
3256         Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
3257
3258         * WebCore.pro: Use sane default install paths for the gtk port.
3259
3260 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
3261
3262         Reviewed by Darin Adler.
3263         
3264         <rdar://problem/5576619> 
3265         REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
3266
3267         * editing/TypingCommand.cpp:
3268         (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
3269         both of the other deletion commands, call typingAddedToOpenCommand(), which takes 
3270         the command's endingSelection and sets it as selection.
3271
3272 2007-11-06  Dan Bernstein  <mitz@apple.com>
3273
3274         Reviewed by Antti Koivisto and Dave Hyatt.
3275
3276         - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
3277
3278         Test: fast/block/float/overhanging-after-height-decrease.html
3279
3280         * rendering/RenderBlock.cpp:
3281         (WebCore::RenderBlock::layoutBlock): If after calculating the height
3282         it turns out that there are overhanging floats that were not overhanging
3283         before, rescan children with overhanging floats and add them. 
3284         (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
3285         returns the lowest float bottom of any of the children.
3286         (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
3287         lowest float bottom.
3288         * rendering/RenderBlock.h:
3289
3290 2007-11-06  Adele Peterson  <adele@apple.com>
3291
3292         Reviewed by Darin.
3293
3294         Switched all uses of HTMLImageLoader to use OwnPtrs.
3295
3296         * html/HTMLInputElement.h:
3297         * html/HTMLInputElement.cpp:
3298         (WebCore::HTMLInputElement::init):
3299         (WebCore::HTMLInputElement::~HTMLInputElement):
3300         (WebCore::HTMLInputElement::setInputType):
3301         (WebCore::HTMLInputElement::parseMappedAttribute):
3302         (WebCore::HTMLInputElement::attach):
3303         * html/HTMLObjectElement.h:
3304         * html/HTMLObjectElement.cpp:
3305         (WebCore::HTMLObjectElement::HTMLObjectElement):
3306         (WebCore::HTMLObjectElement::~HTMLObjectElement):
3307         (WebCore::HTMLObjectElement::parseMappedAttribute):
3308         (WebCore::HTMLObjectElement::attach):
3309         * html/HTMLVideoElement.h:
3310         * html/HTMLVideoElement.cpp:
3311         (WebCore::HTMLVideoElement::HTMLVideoElement):
3312         (WebCore::HTMLVideoElement::attach):
3313         (WebCore::HTMLVideoElement::detach):
3314         (WebCore::HTMLVideoElement::parseMappedAttribute):
3315
3316 2007-11-06  Antti Koivisto  <antti@apple.com>
3317
3318         Reviewed by Darin.
3319         
3320         Trigger media load on on src attribute changes as specified in new HTML5 draft.
3321
3322         Tests: media/video-src-change.html
3323                media/video-src-remove.html
3324                media/video-src-set.html
3325
3326         * html/HTMLMediaElement.cpp:
3327         (WebCore::HTMLMediaElement::attributeChanged):
3328         * html/HTMLMediaElement.h:
3329
3330 2007-11-06  Dan Bernstein  <mitz@apple.com>
3331
3332         Reviewed by Darin Adler.
3333
3334         - fix http://bugs.webkit.org/show_bug.cgi?id=15838
3335           Incomplete repaint toggling "How you know this person" on Facebook
3336
3337         Test: fast/repaint/make-children-non-inline.html
3338
3339         * rendering/RenderBlock.cpp:
3340         (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
3341         is needed because the inline children may be repositioned as they move
3342         into new anonymous blocks, but those blocks have no knowledge of where
3343         their children used to be, so they cannot invalidate those areas.
3344
3345 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
3346
3347         Reviewed by Darin.
3348
3349         http://bugs.webkit.org/show_bug.cgi?id=15847
3350         Some editing cleanup
3351
3352         No change in functionality.
3353
3354         * editing/TextIterator.cpp:
3355         (WebCore::plainText):
3356         * editing/TextIterator.h:
3357         Made WebCore::plainText() return String instead of DeprecatedString.
3358
3359         * bridge/mac/WebCoreAXObject.mm:
3360         (-[WebCoreAXObject textUnderElement]):
3361         (-[WebCoreAXObject value]):
3362         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
3363         (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
3364         (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
3365         Updated for the above change. There is no need to explicitly convert to NSString now.
3366
3367         * editing/EditCommand.cpp:
3368         (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
3369         initialized in constructor body, so the work done in initializer list was wasted.
3370
3371         (WebCore::EditCommand::apply): Moved some stars.
3372         (WebCore::EditCommand::unapply): Ditto.
3373         (WebCore::EditCommand::reapply): Ditto.
3374         (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
3375         removed one of the checks.
3376
3377         * editing/SelectionController.cpp:
3378         (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
3379
3380         * page/mac/WebCoreFrameBridge.h:
3381         * page/mac/WebCoreFrameBridge.mm:
3382         Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
3383         -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
3384
3385 2007-11-05  Mark Rowe  <mrowe@apple.com>
3386
3387         Mac build fix.
3388
3389         * bindings/js/JSHTMLDocumentCustom.cpp:
3390         (WebCore::writeHelper):
3391
3392 2007-11-05  Adam Roben  <aroben@apple.com>
3393
3394         Don't crash if SafariTheme can't be loaded
3395
3396         PlatformScrollBarSafari and RenderThemeSafari were not checking
3397         whether SafariTheme was successfully loaded. All other uses of
3398         SafariTheme already check this.
3399
3400         Reviewed by Steve.
3401
3402         * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
3403         couldn't be loaded.
3404         (WebCore::PlatformScrollbar::paintButton):
3405         (WebCore::PlatformScrollbar::paintTrack):
3406         (WebCore::PlatformScrollbar::paintThumb):
3407         * rendering/RenderThemeSafari.cpp:
3408         (WebCore::RenderThemeSafari::isControlStyled): Always return true if
3409         we couldn't load SafariTheme. This way we should never try to paint
3410         themed controls (and we assert as such in the paint functions).
3411         (WebCore::RenderThemeSafari::paintCheckbox):
3412         (WebCore::RenderThemeSafari::paintRadio):
3413         (WebCore::RenderThemeSafari::paintButton):
3414         (WebCore::RenderThemeSafari::paintTextField):
3415         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3416         (WebCore::RenderThemeSafari::paintTextArea):
3417         (WebCore::RenderThemeSafari::paintMenuList):
3418         (WebCore::RenderThemeSafari::paintSliderThumb):
3419         (WebCore::RenderThemeSafari::paintSearchField):
3420         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
3421         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
3422         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
3423
3424 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
3425
3426         Adding the rest of wx port's graphics impl. 
3427
3428         Rubber-stamped by Maciej Stachowiak.
3429
3430         * platform/graphics/wx/AffineTransformWx.cpp: Added.
3431         * platform/graphics/wx/GraphicsContextWx.cpp: Added.
3432         * platform/graphics/wx/ImageBufferWx.cpp: Added.
3433         * platform/graphics/wx/ImageSourceWx.cpp: Added.
3434         * platform/graphics/wx/ImageWx.cpp: Added.
3435         * platform/graphics/wx/PathWx.cpp: Added.
3436
3437 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
3438
3439         wx port bug fixes and new files to get platform/wx building on trunk.
3440
3441         Rubber-stamped by Maciej Stachowiak.
3442
3443         * platform/wx/CursorWx.cpp:
3444         * platform/wx/FileSystemWx.cpp: Added.
3445         * platform/wx/FontCacheWx.cpp:
3446         * platform/wx/FontPlatformDataWx.cpp:
3447         * platform/wx/FontWx.cpp:
3448         * platform/wx/KeyboardEventWx.cpp:
3449         * platform/wx/LocalizedStringsWx.cpp: Added.
3450         * platform/wx/LoggingWx.cpp: Added.
3451         * platform/wx/RenderThemeWx.cpp:
3452         * platform/wx/ScrollViewWx.cpp:
3453         * platform/wx/SharedTimerWx.cpp:
3454         * platform/wx/StringWx.cpp:
3455         * platform/wx/ThreadingWx.cpp: Added.
3456         * platform/wx/WidgetWx.cpp:
3457
3458 2007-11-05  Adele Peterson  <adele@apple.com>
3459
3460         Reviewed by Maciej.
3461
3462         Fix for <rdar://problem/5579999> Add poster attribute for video element
3463
3464         * html/HTMLAttributeNames.in: Added poster attribute.
3465
3466         * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
3467           Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
3468         * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
3469         * dom/Element.h:
3470         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
3471         * html/HTMLObjectElement.h:
3472
3473         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3474           Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
3475         * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.
3476
3477         * html/HTMLVideoElement.idl: Added case for poster attribute.
3478         * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
3479         * html/HTMLVideoElement.cpp:
3480         (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
3481         (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
3482         (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
3483         (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
3484         (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
3485         (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
3486         (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
3487         (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
3488         (WebCore::HTMLVideoElement::isURLAttribute): Added.
3489         (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
3490         (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
3491
3492 2007-11-05  Adam Roben  <aroben@apple.com>
3493
3494         Fix <rdar://5563572> SVG image support is turned off
3495
3496         Turned on SVG images for all platforms.
3497
3498         Reviewed by Eric.
3499
3500         * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
3501         * loader/CachedImage.cpp:
3502         (WebCore::CachedImage::createImage): Removed platform checks for
3503         SVGImage.
3504
3505 2007-11-05  Antti Koivisto  <antti@apple.com>
3506
3507         Reviewed by Darin.
3508
3509         QTMovieView can generate callbacks during paint. This can lead to crashes.
3510         
3511         Delay callbacks so they get handled after painting is completed. No test case,
3512         I don't know how to reliably reproduce this.
3513
3514         * platform/graphics/mac/MoviePrivateQTKit.mm:
3515         (WebCore::MoviePrivate::MoviePrivate):
3516         (WebCore::MoviePrivate::~MoviePrivate):
3517         (WebCore::MoviePrivate::paint):
3518         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
3519         (-[WebCoreMovieObserver disconnect]):
3520         (-[WebCoreMovieObserver loadStateChanged:]):
3521         (-[WebCoreMovieObserver rateChanged:]):
3522         (-[WebCoreMovieObserver sizeChanged:]):
3523         (-[WebCoreMovieObserver timeChanged:]):
3524         (-[WebCoreMovieObserver volumeChanged:]):
3525         (-[WebCoreMovieObserver didEnd:]):
3526         (-[WebCoreMovieObserver setDelayCallbacks:]):
3527
3528 2007-11-05  Antti Koivisto  <antti@apple.com>
3529
3530         Reviewed by Adam.
3531
3532         Add some missing WebCore* prefixes to ObjC classes
3533
3534         * platform/mac/FileChooserMac.mm:
3535         (WebCore::FileChooser::FileChooser):
3536         * platform/mac/SharedBufferMac.mm:
3537         (WebCore::SharedBuffer::createNSData):
3538         (WebCore::SharedBuffer::createCFData):
3539         * platform/mac/SharedTimerMac.cpp:
3540         (WebCore::setSharedTimerFireTime):
3541
3542 2007-11-05  Ada Chan  <adachan@apple.com>
3543
3544         <rdar://problem/5579772> Regression: AltGr does not work
3545         We now store the system key event info in PlatforkKeyboardEvent().
3546
3547         Reviewed by Oliver.
3548
3549         * platform/PlatformKeyboardEvent.h:
3550         (WebCore::PlatformKeyboardEvent::isSystemKey):
3551         * platform/win/KeyEventWin.cpp:
3552         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3553
3554 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
3555
3556         Reviewed by Darin Adler.
3557
3558         * WebCore.xcodeproj/project.pbxproj:
3559         Set WindowFeatures.h as a Private header.
3560         
3561         * loader/FrameLoader.cpp:
3562         (WebCore::FrameLoader::createWindow):
3563         Revised to use a single createWindow function instead of
3564         two createWindow functions and one createModalDialog function.
3565         The logic for this is now addressed in WebKit in an effort
3566         to make this easier to follow.
3567         
3568         * page/Chrome.cpp:
3569         (WebCore::Chrome::createWindow):
3570         * page/Chrome.h:
3571         * page/ChromeClient.h:
3572         * page/ContextMenuController.cpp:
3573         (WebCore::openNewWindow):
3574         * platform/graphics/svg/SVGImageEmptyClients.h:
3575         (WebCore::SVGEmptyChromeClient::createWindow):
3576         Revised to take new additional windowFeatures parameter.
3577
3578 2007-11-04  Geoffrey Garen  <ggaren@apple.com>
3579
3580         Reviewed by Darin Adler.
3581         
3582         http://bugs.webkit.org/show_bug.cgi?id=15835
3583
3584         Small adaptations to new KJS::List class.
3585
3586         * bindings/js/kjs_window.cpp:
3587         (KJS::WindowFunc::callAsFunction):
3588         (KJS::ScheduledAction::ScheduledAction):
3589
3590 2007-11-05  Adam Roben  <aroben@apple.com>
3591