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