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