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