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