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