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