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