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