a69cfb709d290c047dcf88ebb43e00def7ac7c33
[WebKit-https.git] / WebCore / ChangeLog
1 2007-06-23  Adam Roben  <aroben@apple.com>
2
3         Silence a build warning about not finding `num-cpus`
4
5         Reviewed by Mark Rowe.
6
7         * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new
8         location.
9
10 2007-06-22  Anders Carlsson  <andersca@apple.com>
11
12         Reviewed by Darin.
13
14         * plugins/win/PluginStreamWin.cpp:
15         (WebCore::PluginStreamWin::didFinishLoading):
16         No need to fetch the size from resourceData.
17
18 2007-06-22  Anders Carlsson  <andersca@apple.com>
19
20         Reviewed by Darin.
21
22         <rdar://problem/5288617>
23         Crash playing a very large QuickTime movie inside Safari.
24
25         Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for 
26         plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY.
27         
28         * plugins/win/PluginStreamWin.cpp:
29         (WebCore::PluginStreamWin::PluginStreamWin):
30         (WebCore::PluginStreamWin::~PluginStreamWin):
31         (WebCore::PluginStreamWin::didReceiveData):
32         (WebCore::PluginStreamWin::didFinishLoading):
33         * plugins/win/PluginStreamWin.h:
34
35 2007-06-22  Beth Dakin  <bdakin@apple.com>
36
37         Reviewed by Oliver and Darin.
38
39         Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz 
40         tester crashes in RenderTableRow::addChild (giant ROWSPAN)
41
42         We already have code that tries to prevent allocating too-large 
43         rowspans. The rowspan in this test, however, was small enough that 
44         we thought it was okay in that code, even though clearly it was 
45         still too large. I did a bunch of testing in Firefox, and it seems 
46         that they set a hard limit on the maximum rowspan right in the DOM 
47         -- 8k. So that is what this patch implements. 
48
49         * html/HTMLTableCellElement.cpp:
50         (WebCore::HTMLTableCellElement::parseMappedAttribute):
51
52 2007-06-22  Justin Garcia  <justin.garcia@apple.com>
53
54         Reviewed by Darin.
55         
56         <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete
57         
58         Deletion inserts a placeholder after it removes full paragraphs if
59         one doesn't already exist.  The code that looked for a pre-existing
60         placeholder didn't work because of a bug in enclosingNodeOfType.
61
62         * editing/htmlediting.cpp:
63         (WebCore::enclosingNodeOfType): We start looking at node->parentNode(),
64         but don't go above an editing root.
65
66 2007-06-22  Anders Carlsson  <andersca@apple.com>
67
68         Reviewed by Maciej and Geoff.
69
70         <rdar://problem/5244734>
71         WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari)
72         
73         Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that
74         loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks 
75         argument to a bunch of classes).
76         
77         * loader/Cache.cpp:
78         (WebCore::createResource):
79         (WebCore::Cache::requestResource):
80         * loader/Cache.h:
81         * loader/CachedCSSStyleSheet.cpp:
82         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
83         * loader/CachedCSSStyleSheet.h:
84         * loader/CachedResource.cpp:
85         (WebCore::CachedResource::CachedResource):
86         * loader/CachedResource.h:
87         (WebCore::CachedResource::sendResourceLoadCallbacks):
88         * loader/DocLoader.cpp:
89         (WebCore::DocLoader::requestCSSStyleSheet):
90         (WebCore::DocLoader::requestResource):
91         (WebCore::DocLoader::checkCacheObjectStatus):
92         * loader/DocLoader.h:
93         * loader/MainResourceLoader.cpp:
94         (WebCore::MainResourceLoader::MainResourceLoader):
95         * loader/Request.cpp:
96         (WebCore::Request::Request):
97         * loader/Request.h:
98         (WebCore::Request::sendResourceLoadCallbacks):
99         * loader/ResourceLoader.cpp:
100         (WebCore::ResourceLoader::ResourceLoader):
101         (WebCore::ResourceLoader::willSendRequest):
102         (WebCore::ResourceLoader::didReceiveResponse):
103         (WebCore::ResourceLoader::didReceiveData):
104         (WebCore::ResourceLoader::didFinishLoadingOnePart):
105         (WebCore::ResourceLoader::didFail):
106         (WebCore::ResourceLoader::didCancel):
107         * loader/ResourceLoader.h:
108         (WebCore::ResourceLoader::sendResourceLoadCallbacks):
109         * loader/SubresourceLoader.cpp:
110         (WebCore::SubresourceLoader::SubresourceLoader):
111         (WebCore::SubresourceLoader::create):
112         * loader/SubresourceLoader.h:
113         * loader/loader.cpp:
114         (WebCore::Loader::load):
115         (WebCore::Loader::servePendingRequests):
116         * loader/loader.h:
117         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
118         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
119
120 2007-06-21  Richard Connamacher  <rich@indieimage.com>
121
122         Reviewed by Tim Hatcher.
123
124         Bug 14305: Web Inspector marks local files with server-side compression tip
125         http://bugs.webkit.org/show_bug.cgi?id=14305
126
127         * page/inspector/Resource.js:
128         (WebInspector.Resource._shouldCompress): Prevent server-side compression tip
129         from being given to local files
130
131 2007-06-21  Mark Rowe  <mrowe@apple.com>
132
133         Reviewed by Darin.
134
135         Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading
136
137         * platform/StringImpl.cpp:
138         (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string.  This avoids returning
139         a length of zero when the string is collapsed to empty by whitespace simplification.
140
141 2007-06-21  Dave Hyatt  <hyatt@apple.com>
142
143         Fix for <rdar://problem/5286978>, large font sizes crash Windows.
144         
145         Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that
146         start failing to do anything useful if the font size is too big.
147         
148         Reviewed by olliej
149
150         * css/cssstyleselector.cpp:
151         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
152         
153 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
154
155         Reviewed by Timothy.
156
157         Stop shift+scroll wheel performing a horizontal scroll in Web Inspector
158
159         * page/inspector/inspector.css: Set body margin to 0
160
161 2007-06-21  Adam Treat  <adam@staikos.net>
162
163         Reviewed by George Staikos.
164
165         Implement the default resources on Qt.
166
167         * platform/graphics/BitmapImage.h:
168         * platform/graphics/Image.h:
169         * platform/graphics/qt/ImageQt.cpp:
170         (WebCore::Image::loadPlatformResource):
171         (WebCore::BitmapImage::BitmapImage):
172         (WebCore::BitmapImage::initPlatformData):
173         (WebCore::BitmapImage::invalidatePlatformData):
174         (WebCore::BitmapImage::getPixmap):
175         * platform/qt/TemporaryLinkStubs.cpp:
176
177 2007-06-21  Oliver Hunt  <oliver@apple.com>
178
179         Reviewed by Darin.
180
181         Use RetainPtr for holding currentEvent.  This removes explicit HardRetain/Release calls
182         and makes reference handling simpler in advance of IME refactoring.
183
184         * WebCore.xcodeproj/project.pbxproj:
185         * page/mac/EventHandlerMac.mm:
186         (WebCore::currentEvent):
187         (WebCore::EventHandler::currentNSEvent):
188         (WebCore::EventHandler::wheelEvent):
189         (WebCore::EventHandler::keyEvent):
190         (WebCore::lastEventIsMouseUp):
191         (WebCore::EventHandler::passMouseDownEventToWidget):
192         (WebCore::EventHandler::eventLoopHandleMouseDragged):
193         (WebCore::EventHandler::eventLoopHandleMouseUp):
194         (WebCore::EventHandler::passSubframeEventToSubframe):
195         (WebCore::EventHandler::passWheelEventToWidget):
196         (WebCore::EventHandler::mouseDown):
197         (WebCore::EventHandler::mouseDragged):
198         (WebCore::EventHandler::mouseUp):
199         (WebCore::EventHandler::mouseMoved):
200
201 2007-06-21  George Staikos  <staikos@kde.org>
202
203         Reviewed by George & Marius.
204
205         Patch by me, revision by Marius, minor rev by me.  Adds rendered
206         and stylable scrollbars.
207
208         * page/qt/EventHandlerQt.cpp:
209         (WebCore::EventHandler::passMousePressEventToScrollbar):
210         * platform/Widget.h:
211         * platform/qt/PlatformScrollBar.h:
212         (WebCore::PlatformScrollbar::isWidget):
213         * platform/qt/PlatformScrollBarQt.cpp:
214         (WebCore::PlatformScrollbar::PlatformScrollbar):
215         (WebCore::PlatformScrollbar::~PlatformScrollbar):
216         (WebCore::PlatformScrollbar::updateThumbPosition):
217         (WebCore::PlatformScrollbar::updateThumbProportion):
218         (WebCore::PlatformScrollbar::width):
219         (WebCore::PlatformScrollbar::height):
220         (WebCore::PlatformScrollbar::setRect):
221         (WebCore::PlatformScrollbar::isEnabled):
222         (WebCore::PlatformScrollbar::setEnabled):
223         (WebCore::PlatformScrollbar::paint):
224         (WebCore::PlatformScrollbar::thumbPosition):
225         (WebCore::PlatformScrollbar::thumbLength):
226         (WebCore::PlatformScrollbar::trackLength):
227         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
228         (WebCore::PlatformScrollbar::handleMouseOutEvent):
229         (WebCore::PlatformScrollbar::handleMousePressEvent):
230         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
231         (WebCore::PlatformScrollbar::startTimerIfNeeded):
232         (WebCore::PlatformScrollbar::stopTimerIfNeeded):
233         (WebCore::PlatformScrollbar::autoscrollPressedPart):
234         (WebCore::PlatformScrollbar::autoscrollTimerFired):
235         (WebCore::PlatformScrollbar::pressedPartScrollDirection):
236         (WebCore::PlatformScrollbar::pressedPartScrollGranularity):
237         (WebCore::PlatformScrollbar::thumbUnderMouse):
238         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
239         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
240         (WebCore::PlatformScrollbar::windowClipRect):
241         * platform/qt/ScrollViewQt.cpp:
242         (WebCore::ScrollView::addChild):
243         (WebCore::ScrollView::removeChild):
244         * platform/qt/WidgetQt.cpp:
245         (WebCore::WidgetPrivate::WidgetPrivate):
246         (WebCore::Widget::setQWidget):
247         (WebCore::Widget::invalidate):
248         (WebCore::Widget::invalidateRect):
249         (WebCore::Widget::setParent):
250         (WebCore::Widget::parent):
251
252 2007-06-21  Geoffrey Garen  <ggaren@apple.com>
253
254         Reviewed by Dave Hyatt.
255         
256         Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646
257         REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML 
258         effects when clicking on its links (12646)
259         
260         I'm rolling our r7703 for these reasons:
261
262         1. It broke RapidWeaver.
263         
264         2. WebKit is now orders of magnitude faster when handling deep nesting
265         (5 seconds vs 3 minutes on my MBP in this particular case).
266
267         3. Firefox, IE, and HTML5 all allow nested heading tags.
268         
269         4. Hyatt said so.
270
271         * html/HTMLParser.cpp:
272         (WebCore::HTMLParser::parseToken):
273
274 2007-06-21  Sam Weinig  <sam@webkit.org>
275
276         Reviewed by Tim Hatcher.
277
278         http://bugs.webkit.org/show_bug.cgi?id=14260
279         ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page
280
281         Remove assert for now as it is causing the back button to not
282         work in debug builds.
283
284         * page/InspectorController.cpp:
285         (WebCore::InspectorController::didCommitLoad):
286
287 2007-06-21  Lars Knoll <lars@trolltech.com>
288
289         Remove some debug output.
290
291         * platform/qt/FontQt.cpp:
292         (WebCore::generateComponents):
293         (WebCore::Font::width):
294
295 2007-06-21  George Staikos  <staikos@kde.org>
296
297         Repair Qt/Mac OS X build.
298
299         * WebCore.pro:
300
301 2007-06-21  Alexey Proskuryakov  <ap@webkit.org>
302
303         Reviewed by Anders.
304
305         http://bugs.webkit.org/show_bug.cgi?id=13905
306         REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding
307
308         Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding
309         (regardless of the actual response MIME type). This was corrected a while ago to match other 
310         browsers and the draft XHR spec.
311
312         Now restoring this functionality for "text/html", with spec editor's blessing.
313
314         * xml/xmlhttprequest.cpp:
315         (WebCore::XMLHttpRequest::responseMIMEType):
316         (WebCore::XMLHttpRequest::responseIsXML):
317         (WebCore::XMLHttpRequest::didReceiveData):
318         * xml/xmlhttprequest.h:
319
320 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
321
322         Mac build fix.
323
324         * platform/Font.h:
325
326 2007-06-21  Lars Knoll  <lars@trolltech.com>
327
328         Reviewed by Simon.
329
330         another small fix for letter spacing
331
332         * platform/qt/FontQt.cpp:
333         (WebCore::generateComponents):
334
335 2007-06-21  Lars Knoll  <lars@trolltech.com>
336
337         Reviewed by Simon.
338
339         fix word-spacing
340
341         * platform/qt/FontQt.cpp:
342         (WebCore::generateComponents):
343         (WebCore::Font::width):
344
345 2007-06-21  Lars Knoll  <lars@trolltech.com>
346
347         Reviewed by Simon.
348
349         fix letterspacing and small caps.
350
351         * platform/Font.h:
352         * platform/graphics/qt/GraphicsContextQt.cpp:
353         (WebCore::GraphicsContext::setPlatformFont):
354         * platform/qt/FileChooserQt.cpp:
355         * platform/qt/FontQt.cpp:
356         (WebCore::TextRunComponent::TextRunComponent):
357         (WebCore::Font::Font):
358         (WebCore::Font::operator=):
359         (WebCore::Font::update):
360         (WebCore::generateComponents):
361         (WebCore::Font::selectionRectForText):
362         * platform/qt/RenderThemeQt.cpp:
363
364 2007-06-21  Lars Knoll  <lars@trolltech.com>
365
366         Reviewed by Simon.
367
368         store the metrics and space width in the Font object
369
370         * platform/Font.h:
371         * platform/qt/FontQt.cpp:
372         (WebCore::Font::Font):
373         (WebCore::Font::drawText):
374         (WebCore::Font::width):
375         (WebCore::Font::isFixedPitch):
376         (WebCore::Font::ascent):
377         (WebCore::Font::descent):
378         (WebCore::Font::lineSpacing):
379
380 2007-06-21  Lars Knoll  <lars@trolltech.com>
381
382         Reviewed by Simon.
383
384         simplify some codepaths
385
386         * platform/qt/FontQt.cpp:
387         (WebCore::Font::drawText):
388         (WebCore::Font::width):
389
390 2007-06-21  Lars Knoll  <lars@trolltech.com>
391
392         Reviewed by Simon.
393
394         fix copyright header
395
396         * platform/qt/FontQt.cpp:
397
398 2007-06-21  Lars Knoll  <lars@trolltech.com>
399
400         Reviewed by Simon.
401
402         correctly load fonts when a list of font families is given
403
404         * platform/qt/FontQt.cpp:
405         (WebCore::Font::Font):
406
407 2007-06-21  Lars Knoll  <lars@trolltech.com>
408
409         Reviewed by Simon.
410
411         fix some more of the font support
412
413         * platform/qt/FontQt.cpp:
414         (WebCore::Font::drawText):
415         (WebCore::Font::width):
416
417 2007-06-21  Lars Knoll  <lars@trolltech.com>
418
419         Reviewed by Simon.
420
421         Compile fixes
422
423         * platform/Font.h:
424         (WebCore::Font::isRoundingHackCharacter):
425         * platform/qt/FontQt.cpp:
426         (WebCore::Font::drawText):
427
428 2007-06-21  Lars Knoll  <lars@trolltech.com>
429
430         Reviewed by Simon.
431
432         Some more work on the implementation of FontQt.
433
434         * platform/qt/FontQt.cpp:
435         (WebCore::Font::Font):
436         (WebCore::Font::~Font):
437         (WebCore::Font::operator=):
438
439 2007-06-21  Lars Knoll  <lars@trolltech.com>
440
441         Reviewed by Simon.
442
443         Started work on the new font infrastructure for the Qt port.
444
445         * WebCore.pro:
446         * editing/Editor.cpp:
447         (WebCore::Editor::fontForSelection):
448         * platform/Font.h:
449         (WebCore::Font::treatAsSpace):
450         (WebCore::Font::treatAsZeroWidthSpace):
451         (WebCore::Font::isRoundingHackCharacter):
452         * platform/qt/FontQt.cpp:
453         (WebCore::Font::operator QFont):
454         * platform/qt/TemporaryLinkStubs.cpp:
455
456 2007-06-21  Adam Roben  <aroben@apple.com>
457
458         More Gdk build fixes.
459
460         * page/gdk/ContextMenuClientGdk.cpp:
461         (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem):
462         * page/gdk/ContextMenuClientGdk.h:
463         * platform/gdk/TemporaryLinkStubs.cpp:
464
465 2007-06-21  Adam Roben  <aroben@apple.com>
466
467         Speculative Gdk build fix.
468
469         * page/InspectorController.h: Only include the JS headers we really
470         need to avoid pulling in ones like JSStringRefCF.h.
471
472 2007-06-20  Adam Roben  <aroben@apple.com>
473
474         Speculative Gdk build fix.
475
476         * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk.
477
478 2007-06-20  Adam Roben  <aroben@apple.com>
479
480         Windows build fix.
481
482         * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after
483         everything but $WebKitLibrariesDir so that we will pick up
484         JavaScriptCore headers directly.
485
486 2007-06-15  George Staikos  <staikos@kde.org>
487
488         Add missing symbol.
489
490         * platform/qt/TemporaryLinkStubs.cpp:
491         (WebCore::contextMenuItemTagInspectElement):
492
493 2007-06-20  Steve Falkenburg  <sfalken@apple.com>
494
495         Reviewed by Maciej, Anders.
496         
497         <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/
498
499         Keep a reference to the Page (via the main frame) for the
500         load deferred pages.
501         
502         Reference is held via the frame since Page isn't refcounted.
503
504         * page/Chrome.cpp:
505         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
506         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
507
508 2007-06-15  Adam Treat <adam@staikos.net>
509
510         Reviewed by George Staikos.
511
512         Add ICO support to the Qt build.
513
514         * WebCore.pro:
515         * platform/graphics/qt/ImageDecoderQt.cpp:
516         (Q_IMPORT_PLUGIN):
517
518 2007-06-15  George Staikos  <staikos@kde.org>
519
520         Fixing Qt build.
521
522         * ForwardingHeaders/JavaScriptCore/APICast.h: Added.
523         * WebCore.pro:
524         * page/InspectorController.h:
525
526 2007-06-20  Adam Roben  <aroben@apple.com>
527
528         More speculative Qt/Gdk build fixes.
529
530         * WebCore.pro: Add new files.
531
532 2007-06-20  Adam Roben  <aroben@apple.com>
533
534         Speculative Qt/Gdk build fix.
535
536         Added forwarding headers for JavaScriptCore. We may eventually move
537         InspectorController off of the JSC API, but for now this is the
538         quickest way to a working build.
539
540         * ForwardingHeaders/JavaScriptCore/JSBase.h: Added.
541         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added.
542         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added.
543         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added.
544         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added.
545         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added.
546         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added.
547
548 2007-06-20  Sam Weinig  <sam@webkit.org>
549
550         Rubber stamped by Adam Roben.
551
552         Add licenses.
553
554         * page/inspector/ConsolePanel.js:
555         * page/inspector/NetworkPanel.js:
556         * page/inspector/Resource.js:
557         * page/inspector/ResourceCategory.js:
558         * page/inspector/ResourcePanel.js:
559
560 2007-06-20  Mark Rowe  <mrowe@apple.com>
561
562         Reviewed by Adam.
563
564         * WebCore.exp: Export InspectorController::inspect so WebKit can see it.
565
566 2007-06-20  Geoffrey Garen  <ggaren@apple.com>
567
568         Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson.
569
570         Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5: 
571         Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString 
572         returning nil instead of "")
573
574         I'm basically rolling out the change for <rdar://problem/4782422> because
575         my testing shows that it was backwards.
576         
577         * html/HTMLElement.cpp:
578         (dumpInnerHTML): New debug-only function to work around gdb being 
579         perpetually suck-tastic.
580
581         * page/mac/WebCoreFrameBridge.mm:
582         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
583         
584         Return "", not nil. This function never used to return nil, so let's not
585         start now. I've filed <rdar://problem/5283271> to cover the documentation bug,
586
587 2007-06-20  Adam Roben  <aroben@apple.com>
588
589         Addressed some of Geoff's comments.
590
591         * page/ContextMenuController.cpp:
592         (WebCore::ContextMenuController::handleContextMenuEvent): Added a
593         FIXME.
594         * platform/ContextMenu.cpp:
595         (WebCore::ContextMenu::addInspectElementItem): Null-check
596         frame->page().
597
598 2007-06-20  Adam Roben  <aroben@apple.com>
599
600         Fix crash in fast/dom/dir-no-body.html
601
602         Reviewed by Mark.
603
604         * html/HTMLDocument.cpp:
605         (WebCore::HTMLDocument::createTokenizer): Don't assume we have a
606         Frame, since we won't if someone creates an HTMLDocument from JS.
607
608 2007-06-20  Adam Roben  <aroben@apple.com>
609
610         Land the new Inspector.
611
612         Co-written with Tim Hatcher.
613
614         Reviewed by Anders, Adele, Hyatt, and Sam.
615
616         No regression tests possible.
617
618         Add a new InspectorController that is in charge of the Inspector. It
619         has an InspectorClient that controls the Inspector's window and node
620         highlight.
621
622         * page/InspectorClient.h: Added.
623         (WebCore::InspectorClient::~InspectorClient):
624         * page/InspectorController.cpp: Added.
625         (WebCore::ConsoleMessage::ConsoleMessage):
626         (WebCore::InspectorResource::): Represents a single resource that the
627         Inspector knows about.
628         (WebCore::InspectorResource::InspectorResource):
629         (WebCore::InspectorResource::~InspectorResource):
630         (WebCore::InspectorResource::type):
631         (WebCore::InspectorResource::setScriptObject):
632         (WebCore::addSourceToFrame): Callback available from JS.
633         (WebCore::getResourceDocumentNode): Ditto.
634         (WebCore::highlightDOMNode): Ditto.
635         (WebCore::hideDOMNodeHighlight): Ditto.
636         (WebCore::loaded): Ditto.
637         (WebCore::unloading): Ditto.
638         (WebCore::attach): Ditto.
639         (WebCore::detach): Ditto.
640         (WebCore::log): Ditto.
641         (WebCore::search): Ditto.
642         (WebCore::inspectedWindow): Ditto.
643         (WebCore::InspectorController::InspectorController):
644         (WebCore::InspectorController::~InspectorController):
645         (WebCore::InspectorController::inspect): Called by
646         ContextMenuController to inspect a node.
647         (WebCore::InspectorController::focusNode):
648         (WebCore::InspectorController::highlight):
649         (WebCore::InspectorController::hideHighlight):
650         (WebCore::InspectorController::windowVisible):
651         (WebCore::InspectorController::setWindowVisible):
652         (WebCore::InspectorController::addMessageToConsole):
653         (WebCore::InspectorController::attachWindow):
654         (WebCore::InspectorController::detachWindow):
655         (WebCore::InspectorController::windowScriptObjectAvailable):
656         (WebCore::InspectorController::scriptObjectReady):
657         (WebCore::InspectorController::windowUnloading):
658         (WebCore::addHeaders): Static helper function.
659         (WebCore::objectForRequest): Ditto.
660         (WebCore::objectForResponse): Ditto.
661         (WebCore::InspectorController::addScriptResource):
662         (WebCore::InspectorController::addAndUpdateScriptResource):
663         (WebCore::InspectorController::removeScriptResource):
664         (WebCore::InspectorController::updateScriptResource):
665         (WebCore::InspectorController::populateScriptResources):
666         (WebCore::InspectorController::addScriptConsoleMessage):
667         (WebCore::callClearFunction): Static helper function.
668         (WebCore::InspectorController::clearScriptResources):
669         (WebCore::InspectorController::clearScriptConsoleMessages):
670         (WebCore::InspectorController::clearNetworkTimeline):
671         (WebCore::InspectorController::pruneResources):
672         (WebCore::InspectorController::didCommitLoad): Callback from
673         FrameLoader.
674         (WebCore::InspectorController::frameDetachedFromParent): Ditto.
675         (WebCore::InspectorController::addResource): Ditto.
676         (WebCore::InspectorController::removeResource): Ditto.
677         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
678         (WebCore::InspectorController::identifierForInitialRequest): Ditto.
679         (WebCore::InspectorController::willSendRequest): Ditto.
680         (WebCore::InspectorController::didReceiveResponse): Ditto.
681         (WebCore::InspectorController::didReceiveContentLength): Ditto.
682         (WebCore::InspectorController::didFinishLoading): Ditto.
683         (WebCore::InspectorController::didFailLoading): Ditto.
684         * page/InspectorController.h: Added.
685         (WebCore::InspectorController::inspectedPage):
686         (WebCore::InspectorController::scriptContext):
687         (WebCore::InspectorController::setScriptContext):
688         (WebCore::InspectorController::resources):
689         (WebCore::InspectorController::removeAllResources):
690
691         Add the JavaScript that defines most of the behavior of the Inspector.
692         
693         * page/inspector/ConsolePanel.js: Added.
694         * page/inspector/NetworkPanel.js: Added.
695         * page/inspector/Resource.js: Added.
696         * page/inspector/ResourceCategory.js: Added.
697         * page/inspector/ResourcePanel.js: Added.
698         * page/inspector/inspector.js: Added.
699         * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js.
700         * page/inspector/utilities.js: Added.
701
702         Add the Inspector's CSS and HTML.
703
704         * page/inspector/inspector.css: Added.
705         * page/inspector/inspector.html: Added.
706
707         Hang the InspectorController off of Page. We only create an
708         InspectorController if an InspectorClient is given to the Page.
709
710         * page/Page.cpp:
711         (WebCore::Page::Page):
712         * page/Page.h:
713         (WebCore::Page::inspectorController):
714
715         Use FrameLoader to notify the InspectorController of resource loads.
716
717         * loader/FrameLoader.cpp:
718         (WebCore::FrameLoader::begin):
719         (WebCore::FrameLoader::transitionToCommitted):
720         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
721         (WebCore::FrameLoader::detachFromParent):
722         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
723         (WebCore::FrameLoader::willSendRequest):
724         (WebCore::FrameLoader::didReceiveResponse):
725         (WebCore::FrameLoader::didReceiveData):
726         (WebCore::FrameLoader::sendRemainingDelegateMessages):
727         (WebCore::FrameLoader::requestFromDelegate):
728         (WebCore::FrameLoader::didFinishLoad):
729         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
730         (WebCore::FrameLoader::dispatchDidCommitLoad):
731         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
732         (WebCore::FrameLoader::dispatchWillSendRequest):
733         (WebCore::FrameLoader::dispatchDidReceiveResponse):
734         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
735         (WebCore::FrameLoader::dispatchDidFinishLoading):
736         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache):
737         * loader/FrameLoader.h:
738
739         Send console messages to the InspectorController.
740
741         * page/Chrome.cpp:
742         (WebCore::Chrome::addMessageToConsole): Send all console messages to
743         the InspectorController.
744         * page/Chrome.h: Add a new MessageLevel and MessageSource that are
745         used in the Inspector JS.
746
747         Report HTML errors when the Inspector window is open.
748         We don't report errors when the window is closed because we don't want
749         to slow down the HTMLTokenizer.
750
751         * html/HTMLDocument.cpp:
752         (WebCore::HTMLDocument::createTokenizer):
753         * html/HTMLParser.cpp:
754         (WebCore::HTMLParser::HTMLParser):
755         * html/HTMLParser.h:
756         * html/HTMLTokenizer.cpp:
757         (WebCore::HTMLTokenizer::HTMLTokenizer):
758         * html/HTMLTokenizer.h:
759
760         Append the "Inspect Element" context menu item after passing the
761         context menu to the ContextMenuClient. This work used to be done in
762         WebKit.
763
764         * page/ContextMenuClient.h:
765         * page/ContextMenuController.cpp:
766         (WebCore::ContextMenuController::handleContextMenuEvent): Add the
767         "Inspect Element" item.
768         (WebCore::ContextMenuController::contextMenuItemSelected): Handle the
769         "Inspect Element" item.
770         * platform/ContextMenu.cpp:
771         (WebCore::ContextMenu::addInspectElementItem):
772         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for "Inspect
773         Element" item.
774         * platform/ContextMenu.h:
775         * platform/ContextMenuItem.h:
776         (WebCore::): Add ContextMenuItemTagInspectElement.
777         * platform/graphics/svg/SVGImageEmptyClients.h:
778         * page/mac/WebCoreViewFactory.h: Add the "Inspect Element" localized
779         string.
780         * platform/LocalizedStrings.h: Ditto.
781         * platform/mac/LocalizedStringsMac.mm:
782         (WebCore::contextMenuItemTagInspectElement): Ditto.
783
784         Miscellaneous changes:
785
786         * css/view-source.css: Add message bubble styles.
787         * loader/DocumentLoader.h: Add a frame getter.
788         * platform/win/ScrollViewWin.cpp:
789         (WebCore::ScrollView::updateScrollbars): Respect
790         Frame::prohibitsScrolling.
791
792         Add new images needed for the Inspector.
793
794         * page/inspector/Images/attachedShadow.png: Added.
795         * page/inspector/Images/bottomShadow.png: Added.
796         * page/inspector/Images/breadcrumbBackground.png: Added.
797         * page/inspector/Images/checker.png: Added.
798         * page/inspector/Images/console.png: Added.
799         * page/inspector/Images/darkShadow.png: Added.
800         * page/inspector/Images/disclosureDownPressed.png: Added.
801         * page/inspector/Images/disclosureRightDown.png: Added.
802         * page/inspector/Images/disclosureRightPressed.png: Added.
803         * page/inspector/Images/document.png: Added.
804         * page/inspector/Images/domViewButton.png: Added.
805         * page/inspector/Images/domViewButtonSelected.png: Added.
806         * page/inspector/Images/downTriangle.png: Added.
807         * page/inspector/Images/errorIcon.png: Added.
808         * page/inspector/Images/errorMediumIcon.png: Added.
809         * page/inspector/Images/folder.png: Added.
810         * page/inspector/Images/goArrow.png: Added.
811         * page/inspector/Images/gradient.png: Added.
812         * page/inspector/Images/gradientHighlight.png: Added.
813         * page/inspector/Images/gradientHighlightBottom.png: Added.
814         * page/inspector/Images/hideStatusWidget.png: Added.
815         * page/inspector/Images/hideStatusWidgetPressed.png: Added.
816         * page/inspector/Images/network.png: Added.
817         * page/inspector/Images/paneBottomGrow.png: Added.
818         * page/inspector/Images/paneBottomGrowActive.png: Added.
819         * page/inspector/Images/paneGrowHandleLine.png: Added.
820         * page/inspector/Images/paneHeader.png: Added.
821         * page/inspector/Images/paneHeaderActive.png: Added.
822         * page/inspector/Images/plainDocument.png: Added.
823         * page/inspector/Images/popupArrows.png: Added.
824         * page/inspector/Images/rightTriangle.png: Added.
825         * page/inspector/Images/segment.png: Added.
826         * page/inspector/Images/segmentEnd.png: Added.
827         * page/inspector/Images/segmentHover.png: Added.
828         * page/inspector/Images/segmentHoverEnd.png: Added.
829         * page/inspector/Images/segmentSelected.png: Added.
830         * page/inspector/Images/segmentSelectedEnd.png: Added.
831         * page/inspector/Images/showStatusWidget.png: Added.
832         * page/inspector/Images/showStatusWidgetPressed.png: Added.
833         * page/inspector/Images/sidbarItemBackground.png: Added.
834         * page/inspector/Images/sidebarActionWidget.png: Added.
835         * page/inspector/Images/sidebarActionWidgetPressed.png: Added.
836         * page/inspector/Images/sidebarAttachWidget.png: Added.
837         * page/inspector/Images/sidebarAttachWidgetPressed.png: Added.
838         * page/inspector/Images/sidebarDetachWidget.png: Added.
839         * page/inspector/Images/sidebarDetachWidgetPressed.png: Added.
840         * page/inspector/Images/sidebarResizeWidget.png: Added.
841         * page/inspector/Images/sidebarSelection.png: Added.
842         * page/inspector/Images/sidebarSelectionBlurred.png: Added.
843         * page/inspector/Images/sidebarSelectionBlurredTall.png: Added.
844         * page/inspector/Images/sidebarSelectionGray.png: Added.
845         * page/inspector/Images/sidebarSelectionGrayTall.png: Added.
846         * page/inspector/Images/sidebarSelectionTall.png: Added.
847         * page/inspector/Images/sidebarStatusAreaBackground.png: Added.
848         * page/inspector/Images/sourceViewButton.png: Added.
849         * page/inspector/Images/sourceViewButtonSelected.png: Added.
850         * page/inspector/Images/splitviewDimple.png: Added.
851         * page/inspector/Images/splitviewDividerBackground.png: Added.
852         * page/inspector/Images/tab.png: Added.
853         * page/inspector/Images/tabSelected.png: Added.
854         * page/inspector/Images/timelinePillBlue.png: Added.
855         * page/inspector/Images/timelinePillGray.png: Added.
856         * page/inspector/Images/timelinePillGreen.png: Added.
857         * page/inspector/Images/timelinePillOrange.png: Added.
858         * page/inspector/Images/timelinePillPurple.png: Added.
859         * page/inspector/Images/timelinePillRed.png: Added.
860         * page/inspector/Images/timelinePillYellow.png: Added.
861         * page/inspector/Images/tipBalloon.png: Added.
862         * page/inspector/Images/tipBalloonBottom.png: Added.
863         * page/inspector/Images/tipIcon.png: Added.
864         * page/inspector/Images/tipIconPressed.png: Added.
865         * page/inspector/Images/toggleDown.png: Added.
866         * page/inspector/Images/toggleUp.png: Added.
867         * page/inspector/Images/toolbarBackground.png: Added.
868         * page/inspector/Images/toolbarBackgroundInactive.png: Added.
869         * page/inspector/Images/toolbarButton.png: Added.
870         * page/inspector/Images/toolbarButtonInactive.png: Added.
871         * page/inspector/Images/toolbarButtonPressed.png: Added.
872         * page/inspector/Images/toolbarButtonPressedInactive.png: Added.
873         * page/inspector/Images/toolbarSplitButtonDivider.png: Added.
874         * page/inspector/Images/toolbarSplitButtonDividerInactive.png: Added.
875         * page/inspector/Images/treeDownTriangleBlack.png: Added.
876         * page/inspector/Images/treeDownTriangleWhite.png: Added.
877         * page/inspector/Images/treeLeftTriangleBlack.png: Added.
878         * page/inspector/Images/treeRightTriangleBlack.png: Added.
879         * page/inspector/Images/treeRightTriangleWhite.png: Added.
880         * page/inspector/Images/warningIcon.png: Added.
881         * page/inspector/Images/warningMediumIcon.png: Added.
882         * page/inspector/Images/warningsErrors.png: Added.
883
884         Build-fu:
885
886         * WebCore.exp: Added new symbols.
887         * WebCore.xcodeproj/project.pbxproj: Added new source files and
888         resources.
889         * WebCore.vcproj/WebCore.vcproj: Ditto, and copy the resources to
890         $WebKitOutputDir.
891
892         Windows build fixes:
893
894         * history/HistoryItem.h: ResourceRequest is a struct.
895         * loader/FrameLoaderClient.h: Ditto.
896
897 2007-06-20  Mitz Pettel  <mitz@webkit.org>
898
899         Reviewed by Beth.
900
901         - fix http://bugs.webkit.org/show_bug.cgi?id=14056
902           REGRESSION (r21113-21143): TR background not repainted via style class change
903
904         Test: fast/repaint/table-row.html
905
906         * rendering/RenderTableRow.cpp:
907         (WebCore::RenderTableRow::layout): Added a repaint to make up for the case where the
908         table row also needs layout, so it doesn't get a repaint in setStyle().
909
910 2007-06-20  Mitz Pettel  <mitz@webkit.org>
911
912         Reviewed by Adele.
913
914         - fix http://bugs.webkit.org/show_bug.cgi?id=14040
915           Top and bottom border images flipped when using -webkit-border-image when border end up tiled
916
917         Test: fast/borders/border-image-01.html
918
919         Correctly account for the fact that "pattern space" is flipped.
920
921         * platform/graphics/Image.cpp: (WebCore::Image::drawTiled):
922         * platform/graphics/cg/ImageCG.cpp:
923         (WebCore::Image::drawPatternCallback):
924         (WebCore::Image::drawPattern):
925
926 2007-06-20  Anders Carlsson  <andersca@apple.com>
927
928         Reviewed by Darin.
929
930         <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader
931         
932         Check for either '\r' or '\n' in the header value.
933         
934         * xml/xmlhttprequest.cpp:
935         (WebCore::isValidHeaderValue):
936
937 2007-06-20  Patti Hoa  <patti@apple.com>
938
939         Reviewed by Geoffrey Garen.
940
941         <rdar://problem/4882527> VO should speak URL of image links that lack tags
942         Add additional change from review
943         
944         * bridge/mac/WebCoreAXObject.mm:
945         (-[WebCoreAXObject accessibilityAttributeValue:]):
946         Check if the element has imgTag before asking for its url
947         
948 2007-06-20  Patti Hoa  <patti@apple.com>
949
950         Reviewed by Tristan O'Tierney.
951
952         <rdar://problem/4882527> VO should speak URL of image links that lack tags
953         
954         * bridge/mac/WebCoreAXObject.mm:
955         (-[WebCoreAXObject accessibilityAttributeNames]):
956         (-[WebCoreAXObject accessibilityAttributeValue:]):
957         Return the url of images.
958
959 2007-06-19  Anders Carlsson  <andersca@apple.com>
960
961         Reviewed by Kevin Decker.
962
963         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
964         
965         Add a new m_deferMainResourceDataLoad that can be used to control whether a data load should be deferred using a timer or not.
966         
967         * loader/DocumentLoader.cpp:
968         (WebCore::DocumentLoader::DocumentLoader):
969         * loader/DocumentLoader.h:
970         (WebCore::DocumentLoader::deferMainResourceDataLoad):
971         * loader/MainResourceLoader.cpp:
972         (WebCore::MainResourceLoader::handleDataLoadSoon):
973         (WebCore::MainResourceLoader::loadNow):
974         (WebCore::MainResourceLoader::setDefersLoading):
975
976 2007-06-19  Patti Hoa <patti@apple.com>
977
978         Reviewed by Justin Garcia.
979         
980         <rdar://problem/5237325> Incorrect AXLeftLineTextMarkerRangeForTextMarker/AXPreviousLineStartTextMarkerForTextMarker for non-editable text
981         
982         * editing/visible_units.cpp:
983         (WebCore::startPositionForLine):
984         (WebCore::startOfLine):
985         (WebCore::endPositionForLine):
986         (WebCore::endOfLine):
987         Break down the line routines to allow another try to ask for start/end of line if the returned position is not valid.
988         An example would be when lineStart/lineEnd at different line than the input position.
989         This can happen if the input position is before the space character at the end of a soft-wrapped non-editable line, 
990         specifically a line without webkit-line-break:after-white-space style.
991
992 2007-06-19  Patti Hoa  <patti@apple.com>
993
994         Reviewed by Justin Garcia.
995         
996         <rdar://problem/3992645> VO view bounds misplaced when reading text after a line wrap
997         
998         * bridge/mac/WebCoreAXObject.mm:
999         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1000         Improve the accuracy of the bounds for a given range
1001         
1002 2007-06-19  Anders Carlsson  <andersca@apple.com>
1003
1004         Reviewed by Darin.
1005
1006         <rdar://problem/5130630>
1007         XPath fails LayoutTests on Windows
1008         
1009         * xml/XPathPredicate.cpp:
1010         Include MathExtras.h here so we get a version of fmod that works around a bug in the Microsoft CRT.
1011         
1012         * xml/XPathValue.cpp:
1013         (WebCore::XPath::Value::toNumber):
1014         Instead of using NAN, which isn't really the NaN value on Windows, use numeric_limits.
1015         
1016 2007-06-19  Geoffrey Garen  <ggaren@apple.com>
1017
1018         Reviewed by Darin Adler.
1019
1020         Fixed cross-frame access. <rdar://problem/5251309>. 
1021
1022         * bindings/js/kjs_window.cpp:
1023         (KJS::Window::getValueProperty):
1024         * bindings/scripts/CodeGeneratorJS.pm:
1025         * page/DOMWindow.idl:
1026
1027 2007-06-19  Anders Carlsson  <andersca@apple.com>
1028
1029         Build fix.
1030         
1031         * platform/win/PopupMenuWin.cpp:
1032
1033 2007-06-19  Lars Knoll <lars@trolltech.com>
1034
1035         Reviewed by Zack
1036
1037         Implement these methods correctly.
1038
1039         * platform/qt/PlatformScreenQt.cpp:
1040         (WebCore::screenRect):
1041         (WebCore::screenAvailableRect):
1042
1043 2007-06-19  Sam Weinig  <sam@webkit.org>
1044
1045         Reviewed by Geoff.
1046
1047         Patch for http://bugs.webkit.org/show_bug.cgi?id=14226
1048         Move the History object out of the JS bindings
1049
1050         - Autogenerate JSHistory.
1051
1052         * DerivedSources.make:
1053         * WebCore.pro:
1054         * WebCore.vcproj/WebCore.vcproj:
1055         * WebCore.xcodeproj/project.pbxproj:
1056         * bindings/js/kjs_window.cpp:
1057         (KJS::WindowPrivate::WindowPrivate):
1058         (KJS::Window::mark):
1059         (KJS::Window::getValueProperty):
1060         (KJS::Window::clearHelperObjectProperties):
1061         (KJS::Window::disconnectFrame):
1062         * bindings/js/kjs_window.h:
1063         (KJS::Window::):
1064         * bridge/GlobalHistory.h: Copied from WebCore/bridge/History.h.
1065         * bridge/History.h: Removed.
1066         * bridge/mac/GlobalHistoryMac.mm: Copied from WebCore/bridge/mac/HistoryMac.mm.
1067         * bridge/mac/HistoryMac.mm: Removed.
1068         * bridge/win/GlobalHistoryWin.cpp: Copied from WebCore/bridge/win/HistoryWin.cpp.
1069         * bridge/win/HistoryWin.cpp: Removed.
1070         * css/cssstyleselector.cpp:
1071         * page/DOMWindow.cpp:
1072         (WebCore::DOMWindow::disconnectFrame):
1073         (WebCore::DOMWindow::history):
1074         * page/DOMWindow.h:
1075         * page/DOMWindow.idl:
1076         * page/History.cpp: Added.
1077         (WebCore::History::History):
1078         (WebCore::History::frame):
1079         (WebCore::History::disconnectFrame):
1080         (WebCore::History::length):
1081         (WebCore::History::back):
1082         (WebCore::History::forward):
1083         (WebCore::History::go):
1084         * page/History.h: Added.
1085         * page/History.idl: Added.
1086         * platform/gdk/TemporaryLinkStubs.cpp:
1087         * platform/qt/TemporaryLinkStubs.cpp:
1088         * platform/wx/TemporaryLinkStubs.cpp:
1089
1090 2007-06-18  Sam Weinig  <sam@webkit.org>
1091
1092         Qt build fix.
1093
1094         * platform/qt/PlatformScreenQt.cpp:
1095         (WebCore::screenDepth):
1096         (WebCore::screenDepthPerComponent):
1097         (WebCore::screenIsMonochrome):
1098         (WebCore::screenRect):
1099         (WebCore::screenAvailableRect):
1100
1101 2007-06-18  Sam Weinig  <sam@webkit.org>
1102
1103         Reviewed by Beth.
1104
1105         Fix build and update licenses. 
1106
1107         * WebCore.xcodeproj/project.pbxproj:
1108         * page/BarInfo.cpp:
1109         * page/BarInfo.h:
1110         * page/BarInfo.idl:
1111         * page/Screen.cpp:
1112         (WebCore::Screen::height):
1113         (WebCore::Screen::width):
1114         (WebCore::Screen::colorDepth):
1115         (WebCore::Screen::pixelDepth):
1116         (WebCore::Screen::availLeft):
1117         (WebCore::Screen::availTop):
1118         (WebCore::Screen::availHeight):
1119         (WebCore::Screen::availWidth):
1120         * page/Screen.h:
1121         * page/Screen.idl:
1122
1123 2007-06-18  Anders Carlsson  <andersca@apple.com>
1124
1125         Reviewed by John Sullivan.
1126
1127         <rdar://problem/5277008> Assertion in [LocationChangeHandler finishedLoadingFrame:]
1128         
1129         Don't send any frame load callbacks if the document load hasn't been
1130         committed for real.
1131         
1132         * loader/FrameLoader.cpp:
1133         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1134
1135 2007-06-18  Sam Weinig  <sam@webkit.org>
1136
1137         Reviewed by Geoff.
1138
1139         Patch for http://bugs.webkit.org/show_bug.cgi?id=14193
1140         Move the Screen object out of the JS bindings
1141
1142         - Renames Screen.h to PlatformScreen.h to accommodate new class.
1143         - Autogenerates JSScreen.
1144
1145         * DerivedSources.make:
1146         * WebCore.pro:
1147         * WebCore.vcproj/WebCore.vcproj:
1148         * WebCore.xcodeproj/project.pbxproj:
1149         * bindings/js/kjs_window.cpp:
1150         (KJS::WindowPrivate::WindowPrivate):
1151         (KJS::Window::mark):
1152         (KJS::Window::getValueProperty):
1153         (KJS::Window::clearHelperObjectProperties):
1154         * bindings/js/kjs_window.h:
1155         (KJS::Window::):
1156         * css/MediaQueryEvaluator.cpp:
1157         * page/DOMWindow.cpp:
1158         (WebCore::DOMWindow::DOMWindow):
1159         (WebCore::DOMWindow::~DOMWindow):
1160         (WebCore::DOMWindow::frame):
1161         (WebCore::DOMWindow::disconnectFrame):
1162         (WebCore::DOMWindow::screen):
1163         * page/DOMWindow.h:
1164         * page/DOMWindow.idl:
1165         * page/Screen.cpp: Added.
1166         (WebCore::Screen::Screen):
1167         (WebCore::Screen::disconnectFrame):
1168         (WebCore::Screen::height):
1169         (WebCore::Screen::width):
1170         (WebCore::Screen::colorDepth):
1171         (WebCore::Screen::pixelDepth):
1172         (WebCore::Screen::availLeft):
1173         (WebCore::Screen::availTop):
1174         (WebCore::Screen::availHeight):
1175         (WebCore::Screen::availWidth):
1176         * page/Screen.h: Added.
1177         * page/Screen.idl: Added.
1178         * page/mac/WebCoreFrameBridge.mm:
1179         * platform/PlatformScreen.h: Copied from WebCore/platform/Screen.h.
1180         * platform/Screen.h: Removed.
1181         * platform/gdk/PlatformScreenGdk.cpp: Copied from WebCore/platform/gdk/ScreenGdk.cpp.
1182         * platform/gdk/ScreenGdk.cpp: Removed.
1183         * platform/mac/PlatformMouseEventMac.mm:
1184         * platform/mac/PlatformScreenMac.mm: Copied from WebCore/platform/mac/ScreenMac.mm.
1185         * platform/mac/ScreenMac.mm: Removed.
1186         * platform/qt/PlatformScreenQt.cpp: Added.
1187         (WebCore::WebCore::screenDepth):
1188         (WebCore::WebCore::screenDepthPerComponent):
1189         (WebCore::WebCore::screenIsMonochrome):
1190         (WebCore::WebCore::screenRect):
1191         (WebCore::WebCore::screenAvailableRect):
1192         * platform/qt/TemporaryLinkStubs.cpp:
1193         * platform/win/PlatformScreenWin.cpp: Copied from WebCore/platform/win/ScreenWin.cpp.
1194         * platform/win/ScreenWin.cpp: Removed.
1195         * rendering/RenderObject.cpp:
1196
1197 2007-06-18  Sam Weinig  <sam@webkit.org>
1198
1199         Reviewed by Geoff.
1200
1201         Patch for http://bugs.webkit.org/show_bug.cgi?id=14211
1202         Move the BarInfo object out of the JS bindings
1203
1204         * DerivedSources.make:
1205         * WebCore.pro:
1206         * WebCore.vcproj/WebCore.vcproj:
1207         * WebCore.xcodeproj/project.pbxproj:
1208         * bindings/js/kjs_window.cpp:
1209         (KJS::WindowPrivate::WindowPrivate):
1210         (KJS::Window::mark):
1211         (KJS::Window::getValueProperty):
1212         (KJS::Window::clearHelperObjectProperties):
1213         (KJS::Window::disconnectFrame):
1214         * bindings/js/kjs_window.h:
1215         (KJS::Window::):
1216         * page/BarInfo.cpp: Added.
1217         (WebCore::BarInfo::BarInfo):
1218         (WebCore::BarInfo::disconnectFrame):
1219         (WebCore::BarInfo::visible):
1220         * page/BarInfo.h: Added.
1221         (WebCore::BarInfo::):
1222         * page/BarInfo.idl: Added.
1223         * page/DOMWindow.cpp:
1224         (WebCore::DOMWindow::~DOMWindow):
1225         (WebCore::DOMWindow::disconnectFrame):
1226         (WebCore::DOMWindow::locationbar):
1227         (WebCore::DOMWindow::menubar):
1228         (WebCore::DOMWindow::personalbar):
1229         (WebCore::DOMWindow::scrollbars):
1230         (WebCore::DOMWindow::statusbar):
1231         (WebCore::DOMWindow::toolbar):
1232         * page/DOMWindow.h:
1233         * page/DOMWindow.idl:
1234
1235 2007-06-18  Sam Weinig  <sam@webkit.org>
1236
1237         Reviewed by Darin.
1238
1239         Remove the FrameArray class and instead make window.frames another
1240         self-reference for window (like window.window, window.self, etc).
1241         This is what Firefox and what the HTML5 dictates.
1242
1243         * bindings/js/kjs_window.cpp:
1244         (KJS::WindowPrivate::WindowPrivate):
1245         (KJS::Window::mark):
1246         (KJS::Window::getValueProperty):
1247         (KJS::Window::clearHelperObjectProperties):
1248         (KJS::Window::disconnectFrame):
1249         * bindings/js/kjs_window.h:
1250
1251 2007-06-18  Mitz Pettel  <mitz@webkit.org>
1252
1253         Reviewed by Adele.
1254
1255         - fix http://bugs.webkit.org/show_bug.cgi?id=13413
1256           Failed assertion in RenderTextControl::setSelectionRange in Google Spreadsheets
1257
1258         Test: fast/forms/input-zero-height-focus.html
1259
1260         * rendering/RenderTextControl.cpp:
1261         (WebCore::RenderTextControl::setSelectionRange): Avoid setting the
1262         selection in a zero-height text control.
1263
1264 2007-06-18  Alp Toker  <alp.toker@collabora.co.uk>
1265
1266         Reviewed by Sam Weinig.
1267
1268         http://bugs.webkit.org/show_bug.cgi?id=14052
1269         Implement SoundGdk
1270
1271         * WebCore.pro:
1272         * platform/gdk/SoundGdk.cpp: Added.
1273         (WebCore::systemBeep):
1274         * platform/gdk/TemporaryLinkStubs.cpp:
1275         (WebCore::systemBeep):
1276
1277 2007-06-18  Dave Hyatt  <hyatt@apple.com>
1278
1279         Add support for horizontal mouse wheeling on Windows.
1280         
1281         Reviewed by aroben
1282
1283         * platform/PlatformWheelEvent.h:
1284         * platform/win/WheelEventWin.cpp:
1285         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1286
1287 2007-06-17  Sam Weinig  <sam@webkit.org>
1288
1289         Win32 build fix.
1290
1291         * WebCore.vcproj/WebCore.vcproj:
1292
1293 2007-06-15  David Hyatt  <hyatt@apple.com>
1294
1295         Fix for bugzilla bugs 14183 and 14184, 'repeat' regressed in border-image
1296         because of a botched 'round' support removal.  Also update for a change in
1297         the spec that has the second stretch/round/repeat keyword match the first
1298         if omitted.
1299         
1300         Reviewed by olliej
1301
1302         * css/cssparser.cpp:
1303         (WebCore::BorderImageParseContext::commitBorderImage):
1304         * platform/graphics/Image.cpp:
1305         (WebCore::Image::drawTiled):
1306         * platform/graphics/Image.h:
1307         (WebCore::Image::):
1308
1309 2007-06-15  Sam Weinig  <sam@webkit.org>
1310
1311         Reviewed by Darin.
1312
1313         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
1314         Autogenerate JS binding for Rect
1315
1316         - Renames RectImpl to Rect, DOMStyleSheetList to JSStyleSheetList 
1317           and DOMRGBColor to JSRGBColor
1318         - Moves JSStyleSheetList and JSRGBColor into the WebCore namespace.
1319
1320         * DerivedSources.make:
1321         * WebCore.pro:
1322         * WebCore.xcodeproj/project.pbxproj:
1323         * bindings/js/kjs_css.cpp:
1324         (WebCore::):
1325         (WebCore::JSStyleSheetList::JSStyleSheetList):
1326         (WebCore::JSStyleSheetList::~JSStyleSheetList):
1327         (WebCore::JSStyleSheetList::getValueProperty):
1328         (WebCore::JSStyleSheetList::indexGetter):
1329         (WebCore::JSStyleSheetList::nameGetter):
1330         (WebCore::JSStyleSheetList::getOwnPropertySlot):
1331         (WebCore::toJS):
1332         (WebCore::JSStyleSheetListFunc::callAsFunction):
1333         (WebCore::JSRGBColor::JSRGBColor):
1334         (WebCore::JSRGBColor::~JSRGBColor):
1335         (WebCore::JSRGBColor::getOwnPropertySlot):
1336         (WebCore::JSRGBColor::getValueProperty):
1337         (WebCore::getJSRGBColor):
1338         * bindings/js/kjs_css.h:
1339         (WebCore::JSStyleSheetList::classInfo):
1340         (WebCore::JSStyleSheetList::):
1341         (WebCore::JSStyleSheetList::impl):
1342         (WebCore::JSRGBColor::classInfo):
1343         (WebCore::JSRGBColor::):
1344         (WebCore::JSRGBColor::impl):
1345         * bindings/objc/DOMUtility.mm:
1346         (KJS::createDOMWrapper):
1347         * bindings/scripts/CodeGeneratorJS.pm:
1348         * bindings/scripts/CodeGeneratorObjC.pm:
1349         * css/CSSBorderImageValue.cpp:
1350         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1351         * css/CSSBorderImageValue.h:
1352         * css/CSSPrimitiveValue.cpp:
1353         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1354         (WebCore::CSSPrimitiveValue::cssText):
1355         * css/CSSPrimitiveValue.h:
1356         (WebCore::CSSPrimitiveValue::getRectValue):
1357         (WebCore::CSSPrimitiveValue::):
1358         * css/DashboardRegion.h:
1359         * css/Rect.h: Copied from css/RectImpl.h.
1360         (WebCore::Rect::~Rect):
1361         (WebCore::Rect::top):
1362         (WebCore::Rect::right):
1363         (WebCore::Rect::bottom):
1364         (WebCore::Rect::left):
1365         (WebCore::Rect::setTop):
1366         (WebCore::Rect::setRight):
1367         (WebCore::Rect::setBottom):
1368         (WebCore::Rect::setLeft):
1369         * css/Rect.idl:
1370         * css/RectImpl.h: Removed.
1371         * css/cssparser.cpp:
1372         (WebCore::CSSParser::parseShape):
1373         (WebCore::BorderImageParseContext::commitBorderImage):
1374         * css/cssstyleselector.cpp:
1375         (WebCore::CSSStyleSelector::applyProperty):
1376         * page/DOMWindow.idl:
1377
1378 2007-06-14  George Staikos  <staikos@kde.org>
1379
1380         Reviewed by Lars.
1381
1382         Implement missing tab support and a slight refactor.
1383
1384         * platform/qt/PlatformKeyboardEventQt.cpp:
1385         (WebCore::keyIdentifierForQtKeyCode):
1386         (WebCore::windowsKeyCodeForKeyEvent):
1387         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1388
1389 2007-06-14  Dave Hyatt  <hyatt@apple.com>
1390
1391         Fix for Bugzilla bug 14806, missing text for bold/italic fonts in non-English Windows installs.
1392         
1393         This patch adds an additional step after the lookup by full name fails.  It will then look up
1394         a PostScript name in a (localized full name) -> (PostScript name) cache.  If the name is not
1395         found, then the font's name table is obtained and searched for a PostScript name (and the
1396         result is cached).
1397         
1398         If lookup on PostScript name fails too, then we now properly fall back to the next font in the
1399         list (so text should never be missing).
1400
1401         Reviewed by Darin (thoroughly reviewed, super reviewed even)
1402
1403         * platform/win/FontCacheWin.cpp:
1404         * platform/win/FontPlatformDataWin.cpp:
1405
1406 2007-06-14  Anders Carlsson  <andersca@apple.com>
1407
1408         Reviewed by Geoff.
1409
1410         Add Frame::cleanupScriptObjectsForPlugin which will invalidate the root object
1411         for a given plug-in.
1412
1413         * WebCore.exp:
1414         * page/Frame.cpp:
1415         (WebCore::Frame::cleanupScriptObjectsForPlugin):
1416         * page/Frame.h:
1417
1418 2007-06-14  Anders Carlsson  <andersca@apple.com>
1419
1420         Reviewed by Geoff.
1421
1422         <rdar://problem/5211677>
1423         -[WebPreferences setJavaEnabled:] only disables java inside <applet>, not <object>
1424         
1425         * loader/FrameLoader.cpp:
1426         (WebCore::FrameLoader::requestObject):
1427         If the object is a Java MIME type and Java is disabled, don't load the plug-in.
1428         
1429         * platform/MimeTypeRegistry.cpp:
1430         (WebCore::MimeTypeRegistry::isJavaAppletMIMEType):
1431         Clean this up and add another applet MIME type.
1432
1433 2007-06-14  George Staikos  <staikos@kde.org>
1434
1435         Reviewed by Lars.
1436
1437         Implement the file chooser for Qt.
1438
1439         * platform/qt/FileChooserQt.cpp:
1440         (WebCore::FileChooser::openFileChooser):
1441         (WebCore::FileChooser::basenameForWidth):
1442
1443 2007-06-14  George Staikos  <staikos@kde.org>
1444
1445         Reviewed by Lars.
1446
1447         Add missing initialization of pointer.
1448
1449         * platform/qt/ContextMenuQt.cpp:
1450         (WebCore::ContextMenu::ContextMenu):
1451
1452 2007-06-14  Anders Carlsson  <andersca@apple.com>
1453
1454         Reviewed by Mitz.
1455
1456         <rdar://problem/5244948>
1457         Safari keeps on complaining about slow script playing NBC TV video (14133)
1458
1459         http://bugs.webkit.org/show_bug.cgi?id=14133
1460         Runaway JavaScript timer fires when spinning around in Google Maps street view
1461
1462         Make sure to start and stop the timeout checker around calls to JS.
1463
1464         * bindings/objc/WebScriptObject.mm:
1465         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1466         (-[WebScriptObject evaluateWebScript:]):
1467
1468 2007-06-14  George Staikos  <staikos@kde.org>
1469
1470         Reviewed by Maciej.
1471
1472         Keypress causes typeahead crash on empty selects due to modulo 0.
1473
1474         * html/HTMLSelectElement.cpp:
1475         (WebCore::HTMLSelectElement::typeAheadFind):
1476
1477 2007-06-13  George Staikos  <staikos@kde.org>
1478
1479         Reviewed by Lars.
1480
1481         Compile without self-linking.
1482
1483         * WebCore.pro:
1484
1485 2007-06-13  Darin Adler  <darin@apple.com>
1486
1487         Reviewed by Kevin Decker.
1488
1489         - fix <rdar://problem/5264923> Safari frequently "stalls" beneath
1490           +[NSFont fontWithName:size:] while loading a web page (searching on disk for the font)
1491
1492         * platform/mac/WebFontCache.mm:
1493         (+[WebFontCache internalFontWithFamily:traits:size:]): Renamed from fontWithFamily.
1494         Took out the auto-activation code.
1495         (+[WebFontCache fontWithFamily:traits:size:]): Added. Calls internalFontWithFamily,
1496         then calls NSFont to trigger activation if that returned nil, then calls
1497         internalFontWithFamily again.
1498
1499 2007-06-13  Anders Carlsson  <andersca@apple.com>
1500
1501         Reviewed by Geoff.
1502
1503         Pass the root object to methods that end up creating new ObjcInstance objects.
1504         
1505         * bindings/objc/WebScriptObject.mm:
1506         (listFromNSArray):
1507         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1508         (-[WebScriptObject evaluateWebScript:]):
1509         (-[WebScriptObject setValue:forKey:]):
1510         (-[WebScriptObject valueForKey:]):
1511         (-[WebScriptObject removeWebScriptKey:]):
1512         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1513
1514 2007-06-13  Anders Carlsson  <andersca@apple.com>
1515
1516         Reviewed by Darin.
1517
1518         <rdar://problem/5267992>
1519         Make sure an alert doesn't allow loading to continue inside a script.
1520         
1521         Make sure to defer all loads where it's possible for a second main loop to be running.
1522         
1523         * page/Chrome.cpp:
1524         (WebCore::Chrome::runModal):
1525         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1526         (WebCore::Chrome::runJavaScriptAlert):
1527         (WebCore::Chrome::runJavaScriptConfirm):
1528         (WebCore::Chrome::runJavaScriptPrompt):
1529         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1530         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1531         
1532         * platform/network/cf/ResourceHandleCFNet.cpp:
1533         (WebCore::ResourceHandle::setDefersLoading):
1534         Implement this.
1535
1536 2007-06-13  Alp Toker  <alp.toker@collabora.co.uk>
1537
1538         Reviewed by Rob.
1539
1540         http://bugs.webkit.org/show_bug.cgi?id=14060
1541         Cairo SVG support
1542
1543         * WebCore.pro: Add new files to the build.
1544         * platform/graphics/svg/SVGPaintServerPattern.h:
1545         * platform/graphics/svg/SVGPaintServerSolid.h:
1546         * platform/graphics/svg/cairo: Added.
1547         * platform/graphics/svg/cairo/RenderPathCairo.cpp: Added.
1548         (WebCore::RenderPath::strokeContains):
1549         (WebCore::RenderPath::strokeBBox):
1550         * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Added.
1551         (WebCore::SVGPaintServer::draw):
1552         (WebCore::SVGPaintServer::teardown):
1553         (WebCore::SVGPaintServer::renderPath):
1554         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Added.
1555         (WebCore::SVGPaintServerGradient::setup):
1556         * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Added.
1557         (WebCore::SVGPaintServerPattern::setup):
1558         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Added.
1559         (WebCore::SVGPaintServerSolid::setup):
1560         * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Added.
1561         (WebCore::SVGResourceClipper::applyClip):
1562         * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Added.
1563         (WebCore::SVGResourceMasker::applyMask):
1564
1565 2007-06-13  Simon Hausmann  <hausmann@kde.org>
1566
1567         Reviewed by Lars.
1568
1569         Added a make install target that installs the Qt port and renamed
1570         WebKitQt to QtWebKit
1571
1572         * WebCore.pro:
1573
1574 2007-06-13  Adam Roben  <aroben@apple.com>
1575
1576         Fix one more BITMAPINFO/BITMAPINFOHEADER typo.
1577
1578         Rubberstamped by Oliver.
1579
1580         * platform/win/DragImageWin.cpp:
1581         (WebCore::allocImage):
1582
1583 2007-06-12  Oliver Hunt  <oliver@apple.com>
1584
1585         Reviewed by Darin.
1586
1587         Use correct size for BITMAPINFOHEADER -- whoops.
1588
1589         * platform/win/CursorWin.cpp:
1590         (WebCore::Cursor::Cursor):
1591         * platform/win/PasteboardWin.cpp:
1592         (WebCore::Pasteboard::writeImage):
1593
1594 2007-06-12  Sam Weinig  <sam@webkit.org>
1595
1596         Reviewed by Oliver.
1597
1598         Patch for http://bugs.webkit.org/show_bug.cgi?id=14109
1599         Cleanup JSEvent and JSClipboard in preperation for autogeneration
1600
1601         * bindings/js/kjs_events.cpp:
1602         (KJS::DOMEvent::DOMEvent):
1603         (KJS::DOMEvent::getValueProperty):
1604         (KJS::DOMEvent::put):
1605         (KJS::DOMEvent::putValueProperty):
1606         (KJS::DOMEventPrototypeFunction::callAsFunction):
1607         (KJS::toJS):
1608         (KJS::toEvent):
1609         (KJS::):
1610         (KJS::JSClipboard::JSClipboard):
1611         (KJS::JSClipboard::~JSClipboard):
1612         (KJS::JSClipboard::getOwnPropertySlot):
1613         (KJS::JSClipboard::getValueProperty):
1614         (KJS::JSClipboard::put):
1615         (KJS::JSClipboard::putValueProperty):
1616         (KJS::JSClipboardPrototypeFunction::callAsFunction):
1617         (KJS::toClipboard):
1618         * bindings/js/kjs_events.h:
1619         (KJS::DOMEvent::):
1620         (KJS::DOMEvent::impl):
1621         (KJS::JSClipboard::impl):
1622         * dom/ClipboardEvent.h:
1623         * dom/Event.h:
1624         (WebCore::Event::srcElement):
1625         (WebCore::Event::returnValue):
1626         (WebCore::Event::clipboardData):
1627         (WebCore::Event::dataTransfer):
1628         (WebCore::Event::clipboard):
1629         * dom/MouseEvent.h:
1630
1631 2007-06-13  Lars Knoll <lars@trolltech.com>
1632
1633         Reviewed by Niko.
1634
1635         Small cleanup
1636
1637         * platform/qt/PlugInInfoStoreQt.cpp:
1638         (WebCore::PlugInInfoStore::supportsMIMEType):
1639
1640 2007-06-13  Lars Knoll <lars@trolltech.com>
1641
1642         Reviewed by Niko
1643
1644         Implement the parts required for the JS bridge
1645         to know about the plugins.
1646
1647         * WebCore.pro:
1648         * platform/qt/PlugInInfoStoreQt.cpp: Added.
1649         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
1650         (WebCore::PlugInInfoStore::pluginCount):
1651         (WebCore::PlugInInfoStore::supportsMIMEType):
1652         (WebCore::refreshPlugins):
1653         * platform/qt/TemporaryLinkStubs.cpp:
1654
1655 2007-06-10  Holger Hans Peter Freyther  <zecke@selfish.org>
1656
1657          Reviewed by Maciej.
1658  
1659          Disable whole-view editing for the Gdk port in order to improve the browsing experience.
1660  
1661          * platform/gdk/EditorClientGdk.cpp:
1662          (WebCore::EditorClientGdk::isEditable): Return false to disable whole-view editing
1663  
1664 2007-06-08  Sam Weinig  <sam@webkit.org>
1665
1666         Reviewed by Oliver.
1667
1668         Patch for http://bugs.webkit.org/show_bug.cgi?id=14044
1669         Autogenerate the JS bindings for HTMLCollection
1670
1671         - also moves JSHTMLAllCollection into it's own file.
1672
1673         * DerivedSources.make:
1674         * WebCore.pro:
1675         * WebCore.xcodeproj/project.pbxproj:
1676         * bindings/js/JSHTMLAllCollection.h: Added.
1677         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
1678         (WebCore::JSHTMLAllCollection::toBoolean):
1679         (WebCore::JSHTMLAllCollection::masqueradeAsUndefined):
1680         * bindings/js/JSHTMLCollectionCustom.cpp: Added.
1681         (WebCore::getNamedItems):
1682         (WebCore::JSHTMLCollection::callAsFunction):
1683         (WebCore::JSHTMLCollection::implementsCall):
1684         (WebCore::JSHTMLCollection::canGetItemsForName):
1685         (WebCore::JSHTMLCollection::nameGetter):
1686         (WebCore::JSHTMLCollection::item):
1687         (WebCore::JSHTMLCollection::namedItem):
1688         (WebCore::toJS):
1689         * bindings/js/JSHTMLDocumentCustom.cpp:
1690         (WebCore::JSHTMLDocument::nameGetter):
1691         (WebCore::JSHTMLDocument::all):
1692         * bindings/js/JSXMLHttpRequest.cpp:
1693         * bindings/js/kjs_html.cpp:
1694         (WebCore::ImageConstructorImp::ImageConstructorImp):
1695         (WebCore::ImageConstructorImp::construct):
1696         * bindings/js/kjs_html.h:
1697         (WebCore::ImageConstructorImp::implementsConstruct):
1698         * bindings/js/kjs_window.cpp:
1699         (KJS::Window::namedItemGetter):
1700         * bindings/objc/DOMUtility.mm:
1701         (KJS::createDOMWrapper):
1702         * bindings/scripts/CodeGeneratorJS.pm:
1703         * html/HTMLCollection.cpp:
1704         (WebCore::HTMLCollection::tags):
1705         * html/HTMLCollection.h:
1706         (WebCore::HTMLCollection::collectionType):
1707         * html/HTMLCollection.idl:
1708         * html/HTMLOptionsCollection.idl:
1709
1710 2007-06-08  Justin Garcia  <justin.garcia@apple.com>
1711
1712         Reviewed by John.
1713         
1714         <rdar://problem/5232159> REGRESSION: Cannot select text in RSS view
1715
1716         The selection is updated both on mouse movement and
1717         when the autoscroll timer fires.  The autoscroll
1718         code wasn't converting mouse coordinates to layer
1719         coordinates correctly, and was then using those
1720         coordinates to create a bad selection.
1721
1722         * rendering/RenderLayer.cpp:
1723         (WebCore::RenderLayer::autoscroll): Use convertToLayerCoordinates.
1724
1725 2007-06-08  Anders Carlsson  <andersca@apple.com>
1726
1727         Reviewed by Geoff.
1728
1729         Store the root object in a hash set, keyed by the plugin view. This is in preparation for 
1730         letting plugins invalidate the root object upon destruction
1731
1732         * page/Frame.cpp:
1733         (WebCore::Frame::createRootObject):
1734         (WebCore::Frame::cleanupScriptObjects):
1735         * page/FramePrivate.h:
1736
1737 2007-06-08  Lars Knoll <lars@trolltech.com>
1738
1739         Reviewed by Zack.
1740
1741         Add qwebobjectpluginconnector to the build.
1742
1743         * WebCore.pro:
1744
1745 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
1746
1747         Reviewed by Tristan.
1748         
1749         <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
1750
1751         * WebCore.exp: Added clearUndoRedoOperations.
1752         * page/Page.cpp:
1753         (WebCore::Page::clearUndoRedoOperations): Added.
1754         * page/Page.h:
1755         
1756 2007-06-07  David Hyatt  <hyatt@apple.com>
1757
1758         Fix crash.  Null check layer.  Bug 13984.
1759
1760         Reviewed by andersca
1761
1762         * WebCore.xcodeproj/project.pbxproj:
1763         * page/FrameView.cpp:
1764         (WebCore::FrameView::windowClipRectForLayer):
1765
1766 2007-06-07  Oliver Hunt  <oliver@apple.com>
1767
1768         Reviewed by Justin.
1769
1770         Remove incorrect assertions.
1771         
1772         These assertions were made on the assumption that 
1773         TSM would always call with a range that was contained 
1774         by an editable region.
1775         
1776         TSM may call -[WebHTMLView characterIndexForPoint:] on a mouse
1777         event that is otherwise unrelated to editing, which may
1778         be outside the current editing region, triggering these 
1779         assertions.
1780
1781         * page/mac/WebCoreFrameBridge.mm:
1782         (-[WebCoreFrameBridge convertToNSRange:]):
1783
1784 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
1785
1786         Reviewed by John.
1787         
1788         <rdar://problem/5237074> REGRESSION: editing/unsupported-content/table-delete-003 is failing (13931)
1789         
1790         * editing/DeleteSelectionCommand.cpp:
1791         (WebCore::DeleteSelectionCommand::initializeStartEnd):
1792         We wouldn't expand the selection to include a special element 
1793         at the start of the selection unless the end of the selection 
1794         was at the end of a special element. Avoid a special 
1795         element at the start as long as it's fully selected. Ditto for 
1796         the end.
1797         * editing/htmlediting.cpp:
1798         (WebCore::positionBeforeContainingSpecialElement):
1799         (WebCore::positionAfterContainingSpecialElement):
1800
1801 2007-06-07  Sam Weinig  <sam@webkit.org>
1802
1803         Reviewed by Anders.
1804
1805         Patch for  http://bugs.webkit.org/show_bug.cgi?id=14028
1806         Finish autogenerating the JS bindings for Node
1807
1808         * DerivedSources.make:
1809         * WebCore.pro:
1810         * WebCore.xcodeproj/project.pbxproj:
1811         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1812         (WebCore::createJSHTMLWrapper):
1813         * bindings/js/JSHTMLElementWrapperFactory.h:
1814         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1815         * bindings/js/JSNamedNodeMapCustom.cpp:
1816         * bindings/js/JSNodeCustom.cpp:
1817         (WebCore::JSNode::insertBefore):
1818         (WebCore::JSNode::replaceChild):
1819         (WebCore::JSNode::removeChild):
1820         (WebCore::JSNode::appendChild):
1821         (WebCore::JSNode::mark):
1822         (WebCore::toJS):
1823         * bindings/js/JSSVGElementWrapperFactory.cpp:
1824         (WebCore::createJSSVGWrapper):
1825         * bindings/js/JSSVGElementWrapperFactory.h:
1826         * bindings/js/JSXSLTProcessor.cpp:
1827         (KJS::XSLTProcessorPrototypeFunction::callAsFunction):
1828         * bindings/js/kjs_binding.cpp:
1829         (KJS::ScriptInterpreter::getDOMNodeForDocument):
1830         (KJS::ScriptInterpreter::putDOMNodeForDocument):
1831         (KJS::ScriptInterpreter::markDOMNodesForDocument):
1832         (KJS::ScriptInterpreter::updateDOMNodeDocument):
1833         * bindings/js/kjs_binding.h:
1834         * bindings/js/kjs_dom.cpp:
1835         (WebCore::toAttr):
1836         * bindings/js/kjs_dom.h:
1837         * bindings/js/kjs_domnode.h: Removed.
1838         * bindings/objc/DOMUtility.mm:
1839         (KJS::createDOMWrapper):
1840         * bindings/scripts/CodeGeneratorJS.pm:
1841         * dom/Node.h:
1842         (WebCore::Node::parentElement):
1843         * dom/Node.idl:
1844
1845 2007-06-07  Sam Weinig  <sam@webkit.org>
1846
1847         Another Gdk and Qt build fix.
1848
1849         * WebCore.pro:
1850
1851 2007-06-07  Sam Weinig  <sam@webkit.org>
1852
1853         Gdk and Qt build fix.
1854
1855         * WebCore.pro:
1856
1857 2007-06-06  Sam Weinig  <sam@webkit.org>
1858
1859         Reviewed by Hyatt.
1860
1861         Patch for http://bugs.webkit.org/show_bug.cgi?id=13973
1862         Autogenerate most of the rest of kjs_dom.h/cpp
1863
1864         - Autogenerate JSNodeList and JSNamedNodeMap.
1865         - Move JSEventTargetNode, JSNamedNodesCollection, and JSDOMExceptionConstructor 
1866           into their own files.
1867         - Rename KJS::DOMEventTargeNode to WebCore::JSEventTargetNode to adhere
1868           to convention and allow easier code generation.
1869         - Add JS constructors for JSNodeList and JSNamedNodeMap.
1870         - Moved more toJS methods into the correct (corresponding) header files.
1871         - Cleaned up code in order for changes to work.
1872
1873         * DerivedSources.make:
1874         * WebCore.xcodeproj/project.pbxproj:
1875         * bindings/js/JSDOMExceptionConstructor.cpp: Added.
1876         (WebCore::):
1877         (WebCore::JSDOMExceptionConstructor::JSDOMExceptionConstructor):
1878         (WebCore::JSDOMExceptionConstructor::getOwnPropertySlot):
1879         (WebCore::JSDOMExceptionConstructor::getValueProperty):
1880         (WebCore::getDOMExceptionConstructor):
1881         * bindings/js/JSDOMExceptionConstructor.h: Added.
1882         (WebCore::JSDOMExceptionConstructor::classInfo):
1883         * bindings/js/JSDOMWindowCustom.cpp: Added.
1884         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1885         * bindings/js/JSDocumentCustom.cpp:
1886         (WebCore::JSDocument::mark):
1887         (WebCore::toJS):
1888         * bindings/js/JSEventTargetNode.cpp: Added.
1889         (WebCore::JSEventTargetNode::JSEventTargetNode):
1890         (WebCore::JSEventTargetNode::getOwnPropertySlot):
1891         (WebCore::JSEventTargetNode::getValueProperty):
1892         (WebCore::JSEventTargetNode::put):
1893         (WebCore::JSEventTargetNode::putValueProperty):
1894         (WebCore::JSEventTargetNode::setListener):
1895         (WebCore::JSEventTargetNode::getListener):
1896         (WebCore::JSEventTargetNode::pushEventHandlerScope):
1897         (WebCore::JSEventTargetNodePrototypeFunction::callAsFunction):
1898         (WebCore::toEventTargetNode):
1899         * bindings/js/JSEventTargetNode.h: Added.
1900         (WebCore::JSEventTargetNode::):
1901         * bindings/js/JSHTMLElementCustom.cpp:
1902         * bindings/js/JSHTMLFormElementCustom.cpp:
1903         (WebCore::JSHTMLFormElement::nameGetter):
1904         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1905         * bindings/js/JSNamedNodeMapCustom.cpp: Added.
1906         (WebCore::JSNamedNodeMap::canGetItemsForName):
1907         (WebCore::JSNamedNodeMap::nameGetter):
1908         * bindings/js/JSNamedNodesCollection.cpp: Added.
1909         (WebCore::):
1910         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
1911         (WebCore::JSNamedNodesCollection::lengthGetter):
1912         (WebCore::JSNamedNodesCollection::indexGetter):
1913         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
1914         * bindings/js/JSNamedNodesCollection.h: Added.
1915         (WebCore::JSNamedNodesCollection::classInfo):
1916         * bindings/js/JSNodeCustom.cpp: Added.
1917         (WebCore::toJS):
1918         * bindings/js/JSNodeListCustom.cpp: Added.
1919         (WebCore::JSNodeList::callAsFunction):
1920         (WebCore::JSNodeList::implementsCall):
1921         (WebCore::JSNodeList::canGetItemsForName):
1922         (WebCore::JSNodeList::nameGetter):
1923         * bindings/js/kjs_dom.cpp:
1924         * bindings/js/kjs_dom.h:
1925         * bindings/js/kjs_domnode.h:
1926         * bindings/js/kjs_events.cpp:
1927         (KJS::JSLazyEventListener::parseCode):
1928         * bindings/js/kjs_html.cpp:
1929         (KJS::JSHTMLCollection::getNamedItems):
1930         * bindings/js/kjs_html.h:
1931         * bindings/js/kjs_window.cpp:
1932         (WebCore::toJS):
1933         * bindings/js/kjs_window.h:
1934         * bindings/objc/DOMInternal.mm:
1935         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1936         * bindings/objc/DOMUtility.mm:
1937         (KJS::createDOMWrapper):
1938         * bindings/scripts/CodeGeneratorJS.pm:
1939         * bridge/mac/WebCoreAXObject.mm:
1940         * dom/Attr.idl:
1941         * dom/CharacterData.idl:
1942         * dom/Document.idl:
1943         * dom/DocumentFragment.idl:
1944         * dom/DocumentType.idl:
1945         * dom/Element.idl:
1946         * dom/NamedNodeMap.idl:
1947         * dom/Node.idl:
1948         * dom/NodeList.idl:
1949         * page/DOMWindow.idl:
1950
1951 2007-06-06  Justin Garcia  <justin.garcia@apple.com>
1952
1953         Reviewed by Oliver.
1954         
1955         <rdar://problem/5245519> CrashTracer: [USER] 457 crashes in Mail at WebCore::CSSComputedStyleDeclaration::copyInheritableProperties()
1956         
1957         If the user pastes something into a region that ends up being
1958         invisible, or if the pasted content contains style spans 
1959         that are render-less, we'll crash when we try to remove
1960         redundant styles from style spans.
1961
1962         * css/CSSComputedStyleDeclaration.cpp:
1963         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
1964         Add null checks.
1965
1966 2007-06-06  Justin Garcia  <justin.garcia@apple.com>
1967
1968         Reviewed by Harrison.
1969
1970         <rdar://problem/4889598> Problems with moveDown: and moveUp: in Notes with ToDos
1971         
1972         The caret would disappear when moving from content above or below
1973         a ToDo if that ToDo doesn't have any content in it with the same
1974         x position as the caret. That's because closestLeafChildForXPos
1975         would return non-editable leaves, and which turn into non-editable
1976         VisiblePositions, which are invisible.
1977
1978         * editing/visible_units.cpp:
1979         (WebCore::previousLinePosition): Ask closestLeafForXPos to only
1980         return editable leaves.
1981         (WebCore::nextLinePosition): Ditto.
1982         * rendering/RootInlineBox.cpp:
1983         (WebCore::isEditableLeaf): Added.
1984         (WebCore::RootInlineBox::closestLeafChildForXPos): If requested,
1985         return the closest editable leaf. Removed an early return if the
1986         position is before the first leaf, it's not really much of an
1987         optimization.
1988         * rendering/RootInlineBox.h:
1989
1990 2007-06-06  Sam Weinig  <sam@webkit.org>
1991
1992         Reviewed by Anders.
1993
1994         Fix release build.
1995
1996         * bindings/objc/DOM.mm:
1997         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Add missing null initialization.
1998         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Add missing null initialization.
1999
2000 2007-06-06  Sam Weinig  <sam@webkit.org>
2001
2002         Reviewed by Hyatt.
2003
2004         Patch for http://bugs.webkit.org/show_bug.cgi?id=13947
2005         Finish autogenerating the JS DOM traversal code
2006
2007         - Completely generate JSNodeFilter.
2008         - Move JSNodeFilterCondition into its own file
2009
2010         * DerivedSources.make:
2011         * WebCore.pro:
2012         * WebCore.xcodeproj/project.pbxproj:
2013         * bindings/js/JSNodeFilterCondition.cpp: Copied from WebCore/bindings/js/kjs_traversal.cpp.
2014         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2015         (WebCore::JSNodeFilterCondition::mark):
2016         (WebCore::JSNodeFilterCondition::acceptNode):
2017         * bindings/js/JSNodeFilterCondition.h: Copied from WebCore/bindings/js/kjs_traversal.h.
2018         * bindings/js/JSNodeFilterCustom.cpp: Added.
2019         (WebCore::JSNodeFilter::mark):
2020         (WebCore::toNodeFilter):
2021         * bindings/js/kjs_dom.cpp:
2022         * bindings/js/kjs_traversal.cpp: Removed.
2023         * bindings/js/kjs_traversal.h: Removed.
2024         * bindings/js/kjs_window.cpp:
2025         * bindings/objc/DOM.mm:
2026         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
2027         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
2028         * bindings/scripts/CodeGeneratorJS.pm:
2029         * dom/Document.cpp:
2030         (WebCore::Document::createNodeIterator):
2031         (WebCore::Document::createTreeWalker):
2032         * dom/Document.h:
2033         * dom/NodeFilter.idl:
2034
2035 2007-06-06  Alp Toker  <alp.toker@collabora.co.uk>
2036
2037         Reviewed by Eric Seidel.
2038
2039         http://bugs.webkit.org/show_bug.cgi?id=14017
2040         Cairo: Unwanted gradient effect for small stretched images
2041
2042         * platform/graphics/cairo/ImageCairo.cpp: Use CAIRO_FILTER_NEAREST to
2043         work around the issue.
2044         (WebCore::BitmapImage::draw):
2045         (WebCore::Image::drawPattern):
2046
2047 2007-06-06  Lars Knoll <lars@trolltech.com>
2048
2049         Reviewed by Zack
2050
2051         Add an API to create and load plugins.
2052         Don't include moc files by hand anymore, rather let
2053         qmake handle them.
2054
2055         * WebCore.pro:
2056         * platform/qt/MimeTypeRegistryQt.cpp:
2057         (WebCore::):
2058         (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
2059         * platform/qt/QWebPopup.cpp:
2060         * platform/qt/SharedTimerQt.cpp:
2061
2062 2007-06-06  Mark Rowe  <mrowe@apple.com>
2063
2064         Qt build fix.
2065
2066         * rendering/RenderTextControl.cpp: Fix case of #include filename.
2067
2068 2007-06-06  Lars Knoll  <lars@trolltech.com>
2069
2070         Reviewed by Maciej.
2071
2072         Define WTF_USE_NPOBJECT for Qt. Fix includes
2073         in HTMLPluginElement and add proper forwarding headers
2074         from JavaScriptCore.
2075
2076         * ForwardingHeaders/bindings/npruntime.h: Added.
2077         * ForwardingHeaders/bindings/runtime.h: Added.
2078         * config.h:
2079         * html/HTMLPlugInElement.cpp:
2080         * html/HTMLPlugInElement.h:
2081
2082 2007-06-06  David Hyatt  <hyatt@apple.com>
2083
2084         Bulletproof windowClipRect, since it can be called at crazy times.
2085         Part of fix for 13972.
2086
2087         Reviewed by olliej
2088
2089         * bindings/objc/DOM.mm:
2090         (-[DOMElement _windowClipRect]):
2091
2092 2007-06-05  MorganL  <morganl.webkit@yahoo.com>
2093
2094         Reviewed by Dave Hyatt.
2095
2096         Fixes http://bugs.webkit.org/show_bug.cgi?id=14008
2097
2098         * rendering/RenderTextControl.cpp:
2099         (WebCore::RenderTextControl::calcHeight):
2100         (WebCore::RenderTextControl::calcPrefWidths):
2101
2102 2007-06-05  Kevin McCullough  <kmccullough@apple.com>
2103
2104         - Respelling Oliver's name right.
2105
2106 2007-06-05  Kevin McCullough  <kmccullough@apple.com>
2107
2108         Reviewed by Mark and Oliver.
2109
2110         - http://bugs.webkit.org/show_bug.cgi?id=13352  REGRESSION: Gmail hangs on send message.
2111         - Now we don't hang, but we do so by avoiding certain legitimate characters, the evangelism bug for this is: <rdar://problem/5252577> gmail does not accept legal characters in the form boundary
2112
2113         * html/HTMLFormElement.cpp:
2114         (WebCore::getUniqueBoundaryString):
2115
2116 2007-06-05  Anders Carlsson  <andersca@apple.com>
2117
2118         Build fix.
2119         
2120         * xml/xmlhttprequest.cpp:
2121         (WebCore::isValidToken):
2122
2123 2007-06-05  Anders Carlsson  <andersca@apple.com>
2124
2125         Reviewed by Geoff.
2126
2127         <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader
2128         <rdar://problem/5246208> HTTP injection in XMLHttpRequest.open method parameter
2129         <rdar://problem/5246242> HTTP header injection in HXMLHttpRequest.setRequestHeader header parameter
2130         
2131         Check method names, header names and header values and throw exceptions if any of them are
2132         invalid. This is what the new XMLHttpRequest spec states that we should do.
2133         
2134         * xml/xmlhttprequest.cpp:
2135         (WebCore::isValidToken):
2136         (WebCore::isValidHeaderValue):
2137         (WebCore::XMLHttpRequest::open):
2138         (WebCore::XMLHttpRequest::setRequestHeader):
2139
2140 2007-06-05  Sam Weinig  <sam@webkit.org>
2141
2142         Reviewed by Geoff.
2143
2144         Optimize JSCSSStyleDeclaration after performance regression in r21854.
2145
2146         - Check static table before name getter in JSCSSStyleDeclaration::getOwnPropertySlot()
2147         - Get rid of a string allocation by keeping string as KJS::Identifier for canGetItemsForName()
2148           functions.
2149
2150         * WebCore.xcodeproj/project.pbxproj:
2151         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2152         (WebCore::JSCSSStyleDeclaration::canGetItemsForName):
2153         * bindings/js/JSHTMLAppletElementCustom.cpp:
2154         (WebCore::JSHTMLAppletElement::canGetItemsForName):
2155         * bindings/js/JSHTMLDocumentCustom.cpp:
2156         (WebCore::JSHTMLDocument::canGetItemsForName):
2157         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2158         (WebCore::JSHTMLEmbedElement::canGetItemsForName):
2159         * bindings/js/JSHTMLFormElementCustom.cpp:
2160         (WebCore::JSHTMLFormElement::canGetItemsForName):
2161         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2162         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2163         * bindings/js/JSHTMLObjectElementCustom.cpp:
2164         (WebCore::JSHTMLObjectElement::canGetItemsForName):
2165         * bindings/scripts/CodeGeneratorJS.pm:
2166         * css/CSSStyleDeclaration.idl:
2167
2168 2007-06-04  Sam Weinig  <sam@webkit.org>
2169
2170         Reviewed, tweaked and landed by Anders.
2171
2172         <rdar://problem/5247178> REGRESSION: With CSS Edit 2.5, a crash occurs at WebCore::DeprecatedString::DeprecatedString when page fails to be extracted
2173         
2174         Null check the provisional document loader. If an application stops the load 
2175         inside of the didFailProvisionalLoad delegate method, the provisional document loader will be nulled out.
2176
2177         * loader/FrameLoader.cpp:
2178         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2179
2180 2007-06-04  Alp Toker  <alp.toker@collabora.co.uk>
2181
2182         Reviewed by Anders.
2183
2184         http://bugs.webkit.org/show_bug.cgi?id=13986
2185         Cairo graphics fixes and cleanups
2186
2187         * platform/graphics/ImageBuffer.h:
2188         * platform/graphics/cairo/ImageBufferCairo.cpp:
2189         (WebCore::ImageBuffer::surface): Provide surface() accessor.
2190         * platform/graphics/cairo/AffineTransformCairo.cpp:
2191         (WebCore::AffineTransform::rotate): Convert from degrees to radians to
2192         fix rotation.
2193         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2194         (WebCore::GraphicsContext::drawRect): Add save/restore.
2195         (WebCore::GraphicsContext::rotate): Rename parameter to "radians" to
2196         avoid further confusion.
2197         * platform/graphics/cairo/PathCairo.cpp:
2198         (WebCore::Path::boundingRect): The cairo_fill_extents() parameters do
2199         not describe a point/size but rather the two control points of the
2200         rectangular region.
2201         (WebCore::Path::contains): Remove needless casts.
2202
2203 2007-06-04  Sam Weinig  <sam@webkit.org>
2204
2205         Reviewed by Adam Roben.
2206
2207         Fix the buildbot.
2208
2209         * rendering/RenderSVGContainer.cpp:
2210         (WebCore::RenderSVGContainer::layout):
2211
2212 2007-06-04  Justin Garcia  <justin.garcia@apple.com>
2213
2214         Reviewed by Kimon Tsinteris.
2215
2216         <rdar://problem/5241148> REGRESSION: ActivEdit can't perform operations on certain selections
2217         
2218         Return valid equivalents from these methods (no [img, 1] for 
2219         example). ActivEdit was using positions returned from these
2220         methods to create new DOM Ranges.
2221         
2222         * editing/SelectionController.cpp:
2223         (WebCore::SelectionController::baseNode):
2224         (WebCore::SelectionController::baseOffset):
2225         (WebCore::SelectionController::extentNode):
2226         (WebCore::SelectionController::extentOffset):
2227         (WebCore::SelectionController::anchorNode):
2228         (WebCore::SelectionController::anchorOffset):
2229         (WebCore::SelectionController::focusNode):
2230         (WebCore::SelectionController::focusOffset):
2231         * editing/SelectionController.h:
2232
2233 2007-06-04  Rob Buis  <buis@kde.org>
2234
2235         Fix the svg experimental build.
2236
2237         * ksvg2/svg/SVGFEFloodElement.cpp:
2238
2239 2007-06-04  Rob Buis  <buis@kde.org>
2240
2241         Reviewed by Hyatt.
2242
2243         http://bugs.webkit.org/show_bug.cgi?id=6170
2244         CSS1: Properties for :first-letter aren't recalculated on color change
2245
2246         Mark styles with first-letter as unique.
2247
2248         * css/cssstyleselector.cpp:
2249         (WebCore::CSSStyleSelector::styleForElement):
2250
2251 2007-06-01  Anders Carlsson  <acarlsson@apple.com>
2252
2253         Reviewed by David Harrison.
2254
2255         <rdar://problem/5236843> 
2256         CrashTracer: [USER] 3 crashes in Mail at WebCore::Loader::didReceiveResponse(WebCore::SubresourceLoader*, WebCore::ResourceResponse const&)
2257
2258         This is by no means the best solution for handling user style sheets. I've filed <rdar://problem/5244734> 
2259         for tracking that.
2260         
2261         * loader/loader.cpp:
2262         (WebCore::Loader::didReceiveResponse):
2263         If a load starts while the frame is still in the provisional state 
2264         (this can be the case when loading the user style sheet), committing the load then causes all
2265         requests to be removed from the m_requestsLoading map. This means that req might be null here.
2266         In that case we just return early. 
2267         
2268 2007-06-01  Mitz Pettel  <mitz@webkit.org>
2269
2270         Reviewed by Adele.
2271
2272         - fix http://bugs.webkit.org/show_bug.cgi?id=13958
2273           REGRESSION: Form select menu in iframe destroys form select menu on page
2274
2275         * page/mac/EventHandlerMac.mm:
2276         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Instead of calling
2277         the event handler methods directly, post the fake event on the application event
2278         queue. This ensures that the fake event is handled only after handling of the
2279         initiating event has ended, and is seen by ancestor frames' event handlers.
2280
2281 2007-06-01  George Staikos  <staikos@kde.org>
2282
2283         Reviewed by bdash.
2284
2285         Redo the build fix again after it was backed out
2286
2287         * WebCore.pro: add an include guard around CSSGrammar.h
2288
2289 2007-05-31  Geoffrey Garen  <ggaren@apple.com>
2290
2291         Reviewed by Beth Dakin.
2292
2293         Fixed <rdar://problem/5238177> Continuing after hitting breakpoint doesn't 
2294         execute the next step.
2295         
2296         No test because the only code affected is the debugger, and none of the
2297         relevant API is exported.
2298         
2299         Reverted an accidental change in 21324 that caused originRootObject for
2300         the window object always to be 0. We could probably just remove the debugger's
2301         dependency on originRootObject, but I wanted to be safe.
2302
2303         * page/mac/FrameMac.mm:
2304         (WebCore::Frame::windowScriptObject):
2305
2306 2007-05-31  David Hyatt  <hyatt@apple.com>
2307
2308         Fix for 11768, Flash plugin does not respect clips set via CSS.
2309
2310         Reviewed by olliej
2311
2312         * bindings/objc/DOM.mm:
2313         (-[DOMElement _windowClipRect]):
2314         * bindings/objc/DOMPrivate.h:
2315         * page/FrameView.cpp:
2316         (WebCore::FrameView::windowClipRect):
2317         (WebCore::FrameView::windowClipRectForLayer):
2318         * platform/ScrollView.h:
2319         (WebCore::ScrollView::contentsToWindow):
2320         (WebCore::ScrollView::windowToContents):
2321         * platform/mac/ScrollViewMac.mm:
2322         (WebCore::ScrollView::contentsToWindow):
2323         (WebCore::ScrollView::windowToContents):
2324
2325 2007-05-31  Sam Weinig  <sam@webkit.org>
2326
2327         Reviewed by Adam.
2328
2329         Fix build bot.
2330
2331         * ksvg2/svg/SVGSVGElement.cpp:
2332         (WebCore::SVGSVGElement::setCurrentScale):
2333
2334 2007-05-31  Sam Weinig  <sam@webkit.org>
2335
2336         Fix Qt and Gdk builds.
2337
2338         * WebCore.pro: remove bindings/js/JSHTMLAnchorElementCustom.cpp
2339
2340 2007-05-31  Sam Weinig  <sam@webkit.org>
2341
2342         Reviewed by Geoff.
2343
2344         Patch for http://bugs.webkit.org/show_bug.cgi?id=10782
2345         Classes should not override JSObject::toString(ExecState *)
2346
2347         Remove all overrides of JSObject::toString and JSObject::toPrimitive
2348         which is a bad practice.  Instead, if an object, like the 
2349         HTMLAnchorElement, needs to override to toString, it should add
2350         a function to the JS object which will be called when needed.  This
2351         also allows developers to override toString and valueOf from within JS.
2352
2353         Test: fast/js/toString-and-valueOf-override.html
2354
2355         * WebCore.xcodeproj/project.pbxproj:
2356         * bindings/js/JSHTMLAnchorElementCustom.cpp: Removed.
2357         * bindings/js/kjs_binding.cpp:
2358         * bindings/js/kjs_binding.h:
2359         * bindings/js/kjs_dom.cpp:
2360         * bindings/js/kjs_dom.h:
2361         * bindings/js/kjs_domnode.h:
2362         * bindings/js/kjs_window.cpp:
2363         (KJS::History::):
2364         (KJS::LocationFunc::callAsFunction):
2365         (KJS::SelectionFunc::callAsFunction):
2366         * bindings/js/kjs_window.h:
2367         * bindings/scripts/CodeGeneratorJS.pm:
2368         * html/HTMLAnchorElement.cpp:
2369         (WebCore::HTMLAnchorElement::toString):
2370         * html/HTMLAnchorElement.h:
2371         * html/HTMLAnchorElement.idl:
2372
2373 2007-05-31  Rob Buis  <buis@kde.org>
2374
2375         Reviewed by Darin.
2376
2377         http://bugs.webkit.org/show_bug.cgi?id=11272
2378         Implement currentScale(), setCurrentScale() and currentTranslate() in SVGSVGElement
2379
2380         Allow zooming and panning, thereby implementing the above methods.
2381
2382         * ksvg2/svg/SVGDocument.cpp:
2383         (WebCore::SVGDocument::zoomEnabled):
2384         (WebCore::SVGDocument::startPan):
2385         (WebCore::SVGDocument::updatePan):
2386         * ksvg2/svg/SVGDocument.h:
2387         * ksvg2/svg/SVGSVGElement.cpp:
2388         (WebCore::SVGSVGElement::currentScale):
2389         (WebCore::SVGSVGElement::setCurrentScale):
2390         (WebCore::SVGSVGElement::currentTranslate):
2391         (WebCore::SVGSVGElement::setCurrentTranslate):
2392         * ksvg2/svg/SVGSVGElement.h:
2393         * page/EventHandler.cpp:
2394         (WebCore::EventHandler::EventHandler):
2395         (WebCore::EventHandler::handleMousePressEvent):
2396         (WebCore::EventHandler::handleMouseMoveEvent):
2397         (WebCore::EventHandler::handleMouseReleaseEvent):
2398         * page/EventHandler.h:
2399         * page/Frame.cpp:
2400         (WebCore::Frame::setZoomFactor):
2401         * rendering/RenderSVGContainer.cpp:
2402         (WebCore::RenderSVGContainer::layout):
2403         (WebCore::RenderSVGContainer::paint):
2404         (WebCore::RenderSVGContainer::absoluteTransform):
2405         * rendering/RenderSVGContainer.h:
2406
2407 2007-05-31  Eric Seidel  <eric@webkit.org>
2408
2409         Reviewed by Niko.
2410
2411         Links are activated based on mouse down events instead of click events
2412         http://bugs.webkit.org/show_bug.cgi?id=12570
2413         
2414         Test: svg/custom/prevent-default.svg
2415
2416         * html/HTMLAnchorElement.cpp: use MiddleButton and RightButton instead of 1 and 2
2417         (WebCore::HTMLAnchorElement::defaultEventHandler):
2418         * ksvg2/svg/SVGAElement.cpp:
2419         (WebCore::SVGAElement::defaultEventHandler): make it function more like the HTML side
2420
2421 2007-05-30  Maciej Stachowiak  <mjs@apple.com>
2422
2423         Reviewed by Hyatt.
2424
2425         - fix layout test editing/style/table-selection.html
2426         
2427         This was broken by the change to keep whitespace text nodes in tables. They safely didn't render,
2428         but the font delta style change command would wrap them in spans, creating extra anonymous table
2429         cells.
2430
2431         * editing/ApplyStyleCommand.cpp:
2432         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Don't wrap in a span if the text node
2433         is not rendered.
2434
2435 2007-05-31  Alp Toker  <alp.toker@collabora.co.uk>
2436
2437         Reviewed by Eric Seidel.
2438
2439         http://bugs.webkit.org/show_bug.cgi?id=13941
2440         Rename WebCore/platform/network/gdk to WebCore/platform/network/curl
2441
2442         * WebCore.pro:
2443
2444 2007-05-31  Alp Toker  <alp.toker@collabora.co.uk>
2445
2446         Reviewed by Niko.
2447
2448         Patch for http://bugs.webkit.org/show_bug.cgi?id=13945
2449         GraphicsContextCairo enhancements necessary for SVG support
2450
2451         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2452         (WebCore::GraphicsContext::concatCTM):
2453         (WebCore::GraphicsContext::beginPath):
2454         (WebCore::GraphicsContext::addPath):
2455
2456 2007-05-31  Patti Hoa <patti@apple.com>
2457
2458         Reviewed by Darin.
2459         
2460         <rdar://problem/5221920> AXLink is returning a CFString instead of a CFURL for AXURL
2461
2462         * bridge/mac/WebCoreAXObject.mm:
2463         (-[WebCoreAXObject accessibilityAttributeValue:]):
2464         Convert the url string to an NSURL before returning as the AXURLAttribute
2465
2466 2007-05-30  Sam Weinig  <sam@webkit.org>
2467
2468         Reviewed by Oliver.
2469
2470         Patch for http://bugs.webkit.org/show_bug.cgi?id=13943
2471         Autogenerate the JS bindings for the CSSStyleSheet
2472
2473         * DerivedSources.make:
2474         * WebCore.pro:
2475         * WebCore.xcodeproj/project.pbxproj:
2476         * bindings/js/JSStyleSheetCustom.cpp:
2477         (WebCore::toJS):
2478         * bindings/js/kjs_css.cpp:
2479         * bindings/js/kjs_css.h:
2480         * bindings/scripts/CodeGeneratorJS.pm:
2481         * css/CSSStyleSheet.cpp:
2482         (WebCore::CSSStyleSheet::addRule):
2483         (WebCore::CSSStyleSheet::cssRules):
2484         * css/CSSStyleSheet.h:
2485         (WebCore::CSSStyleSheet::rules):
2486         (WebCore::CSSStyleSheet::removeRule):
2487         * css/CSSStyleSheet.idl:
2488         * page/DOMWindow.idl:
2489
2490 2007-05-30  Sam Weinig  <sam@webkit.org>
2491
2492         Reviewed by Oliver.
2493
2494         Patch for http://bugs.webkit.org/show_bug.cgi?id=13937
2495         Autogenerate the JS bindings for the CSSValue
2496
2497         * WebCore.pro:
2498         * WebCore.xcodeproj/project.pbxproj:
2499         * bindings/js/JSCSSValueCustom.cpp: Added.
2500         (WebCore::toJS):
2501         * bindings/js/kjs_css.cpp:
2502         * bindings/js/kjs_css.h:
2503         * bindings/objc/DOMUtility.mm:
2504         (KJS::createDOMWrapper):
2505         * bindings/scripts/CodeGeneratorJS.pm:
2506         * css/CSSValue.h:
2507         (WebCore::CSSValue::setCssText):
2508         * css/CSSValue.idl:
2509
2510 2007-05-30  Sam Weinig  <sam@webkit.org>
2511
2512         Reviewed by Oliver the Hun.
2513
2514         Patch for http://bugs.webkit.org/show_bug.cgi?id=13944
2515         Generate and add missing JS constructors
2516
2517         * css/CSSRuleList.idl:
2518         * css/CSSValueList.idl:
2519         * css/Counter.idl:
2520         * page/DOMWindow.idl:
2521
2522 2007-05-30  Justin Garcia  <justin.garcia@apple.com>
2523  
2524         Reviewed by Darin.
2525  
2526         http://bugs.webkit.org/show_bug.cgi?id=13915
2527         REGRESSION(r21687): editing/inserting/paragraph-separator-* failing pixel test (misspelling markers)
2528
2529         After r21687, SimplifiedBackwardsTextIterator was no longer 
2530         emitting a '\n' as it left the first block of a range ending 
2531         at [block, 0]. So, foo<div>^<br></div> looked like foo^ to
2532         spell checking (foo wasn't marked as misspelled).
2533
2534         After r21687, SBTI stopped emitting '\n's in the above case 
2535         because 1) we stopped incorrectly emitting '\n's for nodes as 
2536         we entered them and 2) we were and still are incorrectly calling 
2537         code that should only be called when entering nodes as we leave 
2538         them and 3) we don't call exitNode(), which is responsible 
2539         for emitting the '\n' in the above testcase, when we should.
2540
2541         Before and after r21687, we'd call exitNode() for a node as 
2542         we traversed in reverse pre-order from its first descendant 
2543         out to its sibling or one of its ancestors' siblings.  We 
2544         weren't calling it a) after we'd enter a node that could 
2545         have children but had none and b) when leaving a container 
2546         that contained the end of the range used to create the iterator.
2547
2548         * editing/TextIterator.cpp:
2549         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2550         (WebCore::SimplifiedBackwardsTextIterator::advance): Call exitNode() as we
2551         leave a childless container node and a node where the range ended.
2552         * editing/TextIterator.h: Track the end of the range used to create
2553         the SimplifiedBackwardsTextIterator.
2554
2555 2007-05-30  Alp Toker  <alp.toker@collabora.co.uk>
2556
2557         Reviewed by Brady.
2558
2559         Enable logging in the Gdk port.
2560         http://bugs.webkit.org/show_bug.cgi?id=13936
2561
2562         * WebCore.pro:
2563         * platform/NotImplemented.h: Changed to use WTFLogVerbose.
2564         * platform/gdk/LoggingGdk.cpp: Added.
2565         (WebCore::InitializeLoggingChannelsIfNecessary):
2566
2567 2007-05-30  Beth Dakin  <bdakin@apple.com>
2568
2569         Reviewed by Hyatt.
2570
2571         Fix for <rdar://problem/5198882> CrashTracer: [USER] 7 crashes in 
2572         Safari at com.apple.WebCore: WebCore::RenderBlock::layoutBlock + 
2573         2360
2574
2575         The problem is that we are re-entering layout when we should not. 
2576         http://trac.webkit.org/projects/webkit/changeset/21778 actually 
2577         fixed this crash, but we have been inspired to add the same guard 
2578         in two other possibly-dangerous places.
2579
2580         * page/FrameView.cpp:
2581         (WebCore::FrameView::layout): Add the guard in two more places.
2582
2583 2007-05-30  Justin Garcia  <justin.garcia@apple.com>
2584
2585         Reviewed by Oliver.
2586
2587         <rdar://problem/5096134> VO gets stuck on Howto.apple.com
2588         http://bugs.webkit.org/show_bug.cgi?id=8622
2589         VisiblePositions aren't canonicalized in some cases
2590         
2591         No new test cases added: can't write automated tests 
2592         for VO.
2593
2594         * editing/IndentOutdentCommand.cpp:
2595         (WebCore::IndentOutdentCommand::outdentParagraph):
2596         VisiblePositions must be recomputed after nodes that
2597         may have effected their canonicalization are removed.
2598         * editing/VisiblePosition.cpp:
2599         (WebCore::canonicalizeCandidate): Added.
2600         (WebCore::VisiblePosition::canonicalPosition): Canonicalize
2601         the candidates returned by next/previousCandidate before
2602         returning them.
2603         * editing/VisiblePosition.h:
2604         (WebCore::operator==): Remove the workaround for 8622.
2605         * editing/visible_units.cpp:
2606         (WebCore::startOfParagraph): Ditto.
2607
2608 2007-05-30  Sam Weinig  <sam@webkit.org>
2609
2610         Reviewed by Dr. Harrison.
2611
2612         Patch for http://bugs.webkit.org/show_bug.cgi?id=13868
2613         REGRESSION: crash on accessing a new iframe's contentWindow property
2614
2615         Adds a null check in for the contentWindow property for HTMLIFrameElement
2616         and HTMLFrameElement.
2617
2618         * bindings/scripts/CodeGeneratorJS.pm:
2619         * html/HTMLFrameElement.idl:
2620         * html/HTMLIFrameElement.idl:
2621
2622 2007-05-30  Mitz Pettel  <mitz@webkit.org>
2623
2624         Reviewed by Darin.
2625
2626         - fix http://bugs.webkit.org/show_bug.cgi?id=13775
2627           REGRESSION: Popup button text should use "natural" directionality to match the items in the popup menu
2628
2629         Test: fast/forms/select-writing-direction-natural.html
2630
2631         * platform/PopupMenu.h: Added the static method itemWritingDirectionIsNatural
2632         which says whether items in the popup ignore the CSS text-align and direction
2633         properties and instead are left-aligned and use natural writing direction.
2634         * platform/gdk/PopupMenuGdk.cpp:
2635         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2636         * platform/mac/PopupMenuMac.mm:
2637         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2638         * platform/qt/PopupMenuQt.cpp:
2639         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2640         * platform/win/TemporaryLinkStubs.cpp:
2641         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2642         * platform/wx/TemporaryLinkStubs.cpp:
2643         (PopupMenu::itemWritingDirectionIsNatural):
2644         * rendering/RenderMenuList.cpp:
2645         (WebCore::textDirectionForParagraph): Added this helper function that uses
2646         the Unicode Bidi Algorithm rules P2 and P3 to determine the writing direction
2647         of text.
2648         (WebCore::RenderMenuList::adjustInnerStyle): Made the alignment and direction
2649         adjustment conditional on the popup implementation.
2650         (WebCore::RenderMenuList::setText): Added call to adjustInnerStyle() since
2651         the style depends on the text when natural writing direction is used.
2652
2653 2007-05-30  Timothy Hatcher  <timothy@apple.com>
2654
2655         Reviewed by Darin.
2656
2657         <rdar://problem/5200795> REGRESSION (r21057): lineBoxRects doesn't match actual text when wrapping occurs
2658
2659         Use box->end() instead of box->len().
2660
2661         * rendering/RenderText.cpp:
2662         (WebCore::RenderText::addLineBoxRects):
2663
2664 2007-05-30  Sam Weinig  <sam@webkit.org>
2665
2666         Reviewed by Darin.
2667
2668         Patch for http://bugs.webkit.org/show_bug.cgi?id=13919
2669         Autogenerate the JS bindings for the CSSRule and its subclasses
2670
2671         - subclasses generated are CSSCharsetRule, CSSFontFaceRule, CSSImportRule
2672           CSSMediaRule, CSSPageRule and CSSStyleRule.
2673
2674         * DerivedSources.make:
2675         * WebCore.pro:
2676         * WebCore.xcodeproj/project.pbxproj:
2677         * bindings/js/JSCSSRuleCustom.cpp: Added.
2678         (WebCore::toJS):
2679         * bindings/js/kjs_css.cpp:
2680         * bindings/js/kjs_css.h:
2681         * bindings/objc/DOMUtility.mm:
2682         (KJS::createDOMWrapper):
2683         * bindings/scripts/CodeGeneratorJS.pm:
2684         * css/CSSCharsetRule.h:
2685         (WebCore::CSSCharsetRule::setEncoding):
2686         * css/CSSCharsetRule.idl:
2687         * css/CSSFontFaceRule.idl:
2688         * css/CSSImportRule.idl:
2689         * css/CSSMediaRule.idl:
2690         * css/CSSPageRule.cpp:
2691         (WebCore::CSSPageRule::setSelectorText):
2692         * css/CSSPageRule.h:
2693         * css/CSSPageRule.idl:
2694         * css/CSSRule.cpp:
2695         (WebCore::CSSRule::setCssText):
2696         * css/CSSRule.h:
2697         * css/CSSRule.idl:
2698         * css/CSSStyleRule.cpp:
2699         (WebCore::CSSStyleRule::setSelectorText):
2700         * css/CSSStyleRule.h:
2701         * css/CSSStyleRule.idl:
2702         * page/DOMWindow.idl: add new constructors.
2703
2704 2007-05-30  Mark Rowe  <mrowe@apple.com>
2705
2706         Build fixes after r21889.  Add missing #includes.
2707
2708         * ForwardingHeaders/kjs/function.h: Added.
2709         * bindings/js/kjs_binding.h:
2710         * bindings/js/kjs_dom.h:
2711         * bindings/js/kjs_window.h:
2712
2713 2007-05-30  Mark Rowe  <mrowe@apple.com>
2714
2715         Gdk build fix.  Update WidgetGdk to use NotImplemented.h.
2716
2717         * platform/gdk/WidgetGdk.cpp:
2718         (WebCore::Widget::setEnabled):
2719         (WebCore::Widget::isEnabled):
2720         (WebCore::Widget::removeFromParent):
2721         (WebCore::Widget::paint):
2722         (WebCore::Widget::setIsSelected):
2723
2724 2007-05-29  Holger Freyther  <zecke@selfish.org>
2725
2726         Reviewed by Anders.
2727
2728         Make ScrollView use a GtkLayout. This class matches QScrollView the most and promises
2729         to ease the implementation of ScrollView::addChild. GtkLayout should be resource friendly
2730         even with huge width and heights of frames.
2731         Make Widget aware of GtkLayout to use the right GdkWindow as drawable. For GtkLayout one must
2732         draw on the bin_window.
2733         Remove the layer violation from FrameGdk.cpp and ScrollView. FrameGdk is no longer responsible to
2734         implement scrolling on keyboard events. ScrollView is no longer required to know that it could be
2735         a FrameView and handles scrolling of Frames magically.
2736
2737         * platform/ScrollView.h:
2738         * platform/gdk/FrameGdk.cpp:
2739         (WebCore::FrameGdk::keyPress):
2740         (WebCore::FrameGdk::handleGdkEvent):
2741         * platform/gdk/ScrollViewGdk.cpp:
2742         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2743         (WebCore::ScrollView::updateContents):
2744         (WebCore::ScrollView::visibleWidth):
2745         (WebCore::ScrollView::visibleHeight):
2746         (WebCore::ScrollView::visibleContentRect):
2747         (WebCore::ScrollView::resizeContents):
2748         (WebCore::ScrollView::contentsX):
2749         (WebCore::ScrollView::contentsY):
2750         (WebCore::ScrollView::scrollOffset):
2751         (WebCore::ScrollView::scrollBy):
2752         (WebCore::ScrollView::setFrameGeometry):
2753         (WebCore::ScrollView::updateGeometry):
2754         (WebCore::ScrollView::setGtkWidget):
2755         (WebCore::ScrollView::updateScrollbars):
2756         (WebCore::ScrollView::windowToContents):
2757         (WebCore::ScrollView::contentsToWindow):
2758         (WebCore::ScrollView::scrollbarUnderMouse):
2759         * platform/gdk/TemporaryLinkStubs.cpp: Move Widget methods to WidgetGdk.cpp
2760         * platform/gdk/WidgetGdk.cpp:
2761         (WebCore::Widget::setGtkWidget):
2762         (WebCore::Widget::setFrameGeometry):
2763         (WebCore::Widget::setEnabled):
2764         (WebCore::Widget::isEnabled):
2765         (WebCore::Widget::removeFromParent):
2766         (WebCore::Widget::paint):
2767         (WebCore::Widget::setIsSelected):
2768         (WebCore::Widget::invalidate):
2769         (WebCore::Widget::invalidateRect):
2770
2771 2007-05-29  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2772
2773         Reviewed by Maciej.
2774
2775         Curl (linux/gdk) networking improvements: 
2776         a) POST support
2777         b) don't use CURL in a re-entrant way.
2778         c) turn on curl's internal debugging support in a debug build if the DEBUG_CURL environment variable is set.
2779
2780         * platform/network/ResourceHandleInternal.h:
2781         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2782         * platform/network/gdk/ResourceHandleCurl.cpp:
2783         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2784         * platform/network/gdk/ResourceHandleManager.cpp:
2785         (WebCore::ResourceHandleManager::ResourceHandleManager):
2786         (WebCore::writeCallback):
2787         (WebCore::ResourceHandleManager::downloadTimerCallback):
2788         (WebCore::ResourceHandleManager::setupPOST):
2789         (WebCore::ResourceHandleManager::add):
2790         (WebCore::ResourceHandleManager::removeScheduledJob):
2791         (WebCore::ResourceHandleManager::startScheduledJobs):
2792         (WebCore::ResourceHandleManager::startJob):
2793         (WebCore::ResourceHandleManager::cancel):
2794         * platform/network/gdk/ResourceHandleManager.h:
2795         (WebCore::ResourceHandleList::ResourceHandleList):
2796         (WebCore::ResourceHandleList::next):
2797         (WebCore::ResourceHandleList::job):
2798         (WebCore::ResourceHandleList::setRemoved):
2799         (WebCore::ResourceHandleList::removed):
2800
2801 2007-05-29  Sam Weinig  <sam@webkit.org>
2802
2803         Fix the Qt and Gdk builds.
2804
2805         * WebCore.pro:
2806
2807 2007-05-29  Adele Peterson  <adele@apple.com>
2808
2809         Reviewed by Adam.
2810
2811         Fix for <rdar://problem/5109711> REGRESSION: Focus ring artifacts appear around a widget's search field at times (Address Book, Dictionary)
2812
2813         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintSearchField):
2814           We only need this hack for drawing the search field focus ring on Tiger.  On Leopard, drawWithFrame correctly draws the cell's focus ring.
2815
2816 2007-05-29  Alp Toker  <alp.toker@collabora.co.uk>
2817
2818         Reviewed by Mitz.
2819
2820         Patch for http://bugs.webkit.org/show_bug.cgi?id=13899
2821
2822         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2823         (WebCore::GraphicsContext::strokeArc): Use cairo_arc_negative() to fix
2824         CSS rounded borders.
2825         (WebCore::GraphicsContext::beginTransparencyLayer):
2826         (WebCore::GraphicsContext::endTransparencyLayer): save/restore is
2827         redundant. push/pop group does this implicitly.
2828
2829 2007-05-29  Sam Weinig  <sam@webkit.org>
2830
2831         Reviewed by Oliver.
2832
2833         Patch for http://bugs.webkit.org/show_bug.cgi?id=13912
2834         Autogenerate the JS bindings for the MediaList
2835
2836         * DerivedSources.make:
2837         * WebCore.xcodeproj/project.pbxproj:
2838         * bindings/js/kjs_css.cpp:
2839         * bindings/js/kjs_css.h:
2840         * bindings/objc/DOMUtility.mm:
2841         (KJS::createDOMWrapper):
2842         * bindings/scripts/CodeGeneratorJS.pm:
2843         * css/MediaList.idl:
2844         * page/DOMWindow.idl: Add constructor.
2845
2846 2007-05-29  Matt Perry  <mpComplete@gmail.com>
2847
2848         Reviewed by Maciej.
2849
2850         Fixed some rendering issues for <select>s on Windows.
2851
2852         * rendering/RenderThemeWin.cpp:
2853         (WebCore::RenderThemeWin::adjustMenuListStyle):
2854         (WebCore::RenderThemeWin::paintMenuList):
2855         * rendering/RenderThemeWin.h:
2856
2857 2007-05-29  David Hyatt  <hyatt@apple.com>
2858
2859         Fold the invalidateVerticalPositions crawl into the bidi iteration.
2860         This makes it more correct (since we won't drill into elements that
2861         did not need to be reset) and cuts out an extra walk of all our children.
2862         We're still O(n^2) as new content streams in, but this at least cuts
2863         out one separate O(n^2) crawl.
2864
2865         Reviewed by olliej
2866
2867         * rendering/RenderObject.cpp:
2868         * rendering/RenderObject.h:
2869         (WebCore::RenderObject::invalidateVerticalPosition):
2870         * rendering/bidi.cpp:
2871         (WebCore::RenderBlock::layoutInlineChildren):
2872
2873 2007-05-29  Sam Weinig  <sam@webkit.org>
2874
2875         Reviewed by Oliver.
2876
2877         Patch for http://bugs.webkit.org/show_bug.cgi?id=13908
2878         Autogenerate the JS bindings for the StyleSheet
2879
2880         * DerivedSources.make:
2881         * WebCore.xcodeproj/project.pbxproj:
2882         * bindings/js/JSStyleSheetCustom.cpp: Added.
2883         (WebCore::toJS):
2884         (WebCore::JSStyleSheet::toBoolean):
2885         * bindings/js/kjs_css.cpp:
2886         (KJS::):
2887         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
2888         (KJS::DOMCSSStyleSheet::getOwnPropertySlot):
2889         * bindings/js/kjs_css.h:
2890         * bindings/objc/DOMUtility.mm:
2891         (KJS::createDOMWrapper):
2892         * bindings/scripts/CodeGeneratorJS.pm:
2893         * css/StyleSheet.idl:
2894         * page/DOMWindow.idl: Add new constructor.
2895
2896 2007-05-29  David Hyatt  <hyatt@apple.com>
2897
2898         Make sure <embed> does not allow an end tag.
2899
2900         Reviewed by olliej
2901
2902         * html/HTMLEmbedElement.h:
2903         (WebCore::HTMLEmbedElement::endTagRequirement):
2904
2905 2007-05-29  Adele Peterson  <adele@apple.com>
2906
2907         Reviewed by Brady.
2908
2909         Fix for <rdar://problem/5213039> REGRESSION: Wells Fargo registration page returns blank
2910
2911         Roll out updated fix for 11866 that tried to make reset work for hidden inputs.  Since
2912         all browsers update the value attribute when setting the value, it doesn't really make sense to reset.
2913         Its true that IE does support resetting these controls, but in this case, it doesn't really make sense to have
2914         another place to store an alternate version of the value.
2915
2916         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::reset):
2917         * html/HTMLInputElement.h:
2918
2919 2007-05-29  Darin Adler  <darin@apple.com>
2920
2921         Reviewed by Anders.
2922
2923         - removed the general case optimization for innerHTML because some sites
2924           rely on setting innerHTML to trigger loading plug-ins for example; we
2925           could consider bringing it back some day, perhaps with a list of element
2926           types to exclude
2927
2928         * dom/CharacterData.cpp: (WebCore::CharacterData::setData):
2929         Do nothing if the old data is identical to the new data.
2930
2931         * html/HTMLElement.cpp:
2932         (WebCore::replaceChildrenWithFragment): Remove childrenAreEqual optimization.
2933         (WebCore::replaceChildrenWithText): Remove optimization for cases where the
2934         text data is identical to the new data, since CharacterData handles that now.
2935         (WebCore::HTMLElement::setOuterHTML): Remove childrenAreEqual optimization.
2936
2937 2007-05-29  Mitz Pettel  <mitz@webkit.org>
2938
2939         Reviewed by Maciej.
2940
2941         - fix http://bugs.webkit.org/show_bug.cgi?id=13904
2942           REGRESSION: Search fields with a results popup do not always draw the popup arrow
2943
2944         Covered by fast/forms/box-shadow-override.html
2945
2946         The search button draws a popup arrow depending on whether the
2947         search menu template is set, rather than on the maximum number of recent
2948         search strings.
2949
2950         * rendering/RenderThemeMac.h:
2951         * rendering/RenderThemeMac.mm:
2952         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Removed the
2953         call to -setMaxmiumRecents:.
2954         (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Replaced calling
2955         -setMaximumRecents: with setting the search menu template.
2956         (WebCore::RenderThemeMac::search): Removed initialization of the menu.
2957         (WebCore::RenderThemeMac::searchMenuTemplate): Added. Returns an empty
2958         NSMenu to be used as the search menu template.
2959
2960 2007-05-29  David Hyatt  <hyatt@apple.com>
2961
2962         Fix for bug 13907, <noscript> should be allowed inside <head> when
2963         scripting is enabled.
2964
2965         Reviewed by aroben
2966
2967         * html/HTMLHeadElement.cpp:
2968         (WebCore::HTMLHeadElement::checkDTD):
2969         * html/HTMLParser.cpp:
2970         (WebCore::HTMLParser::handleError):
2971         * html/HTMLParserErrorCodes.cpp:
2972         (WebCore::htmlParserErrorMessageTemplate):
2973         * html/HTMLParserErrorCodes.h:
2974
2975 2007-05-29  Mitz Pettel  <mitz@webkit.org>
2976
2977         Reviewed by Maciej.
2978
2979         - fix crash in http://bugs.webkit.org/show_bug.cgi?id=13792
2980           REGRESSION: WebKit doesn't show this javascript screenshot page (and crashes after click on its "hidden link")
2981
2982         Test: fast/frames/removal-before-attach-crash.html
2983
2984         Delayed the queueing of the post-attach callback until attach().
2985
2986         * html/HTMLFrameElementBase.cpp:
2987         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2988         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Replaced call to the
2989         HTMLElement implementation with a call to the HTMLFrameOwnerElement
2990         implementation, as the latter is the parent class.
2991         (WebCore::HTMLFrameElementBase::insertedIntoDocument): Instead of queueing
2992         the post-attach callback here, just set a flag telling us to do so
2993         at the beginning of attach().
2994         (WebCore::HTMLFrameElementBase::removedFromDocument): Reset the above flag.
2995         (WebCore::HTMLFrameElementBase::attach): If this is the first attach() after
2996         being inserted into the document, queue a post-attach callback to load the
2997         frame.
2998         (WebCore::HTMLFrameElementBase::willRemove): Changed to call up to the correct
2999         parent class.
3000         (WebCore::HTMLFrameElementBase::setFocus): Ditto.
3001         * html/HTMLFrameElementBase.h:
3002         * html/HTMLPlugInElement.cpp:
3003         (WebCore::HTMLPlugInElement::mapToEntry): Replaced call to the HTMLElement
3004         implementation with a call to the HTMLFrameOwnerElement implementation,
3005         as the latter is the parent class.
3006         (WebCore::HTMLPlugInElement::parseMappedAttribute): Ditto.
3007         (WebCore::HTMLPlugInElement::checkDTD): Ditto.
3008         (WebCore::HTMLPlugInElement::detach): Ditto.
3009
3010 2007-05-29  Darin Adler  <darin@apple.com>
3011
3012         Reviewed by Maciej.
3013
3014         - fix http://bugs.webkit.org/show_bug.cgi?id=13602
3015           Amazon product pages keep repainting over and over again
3016
3017         - fix first-letter when the text of the affected text node is changed
3018
3019         Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all
3020         if they don't need to.
3021
3022         Test: fast/dom/HTMLElement/set-inner-outer-optimization.html
3023         Test: fast/css/first-letter-detach.html
3024
3025         * html/HTMLElement.cpp:
3026         (WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap
3027         attribute maps.
3028         (WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two
3029         arbitrary nodes.
3030         (WebCore::childrenAreEqual): Added. Helper functions that compare children of nodes.
3031         (WebCore::hasOneChild): Added. Helper function.
3032         (WebCore::hasOneTextChild): Added. Helper function.
3033         (WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and
3034         setInnerText. Optimizes the cases where all the nodes are the same, where both the current
3035         and the new content are single text nodes, and where the current content is a single node
3036         that can be replaced with replaceChild.
3037         (WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes
3038         the case where the current content is a single text node or a single node that can be
3039         replaced with replaceChild.
3040         (WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment.
3041         (WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content
3042         exactly matches the current node.
3043         (WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few
3044         cases instead of doing removeChildren/appendChild. Changed code that was using
3045         DeprecatedString to instead use String. Changed general case to use a document fragment
3046         and replaceChildrenWithFragment.
3047
3048         * dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent):
3049         Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone
3050         was registered for the DOMCharacterDataModified event. Caused trouble in the test.
3051
3052         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): Set first-letter
3053         after the setStyle call so calls to setTextInternal inside setStyle don't clear it.
3054
3055         * rendering/RenderText.h: Made setTextInternal virtual so that RenderTextFragment can do
3056         appropriate work when the text changes.
3057
3058         * rendering/RenderTextFragment.h: Added an override of setTextInternal. Removed the
3059         firstLetter parameter to the constructor and made it a separate setter. Also changed
3060         m_generatedContentStr to m_contentString to match the getter function.
3061         * rendering/RenderTextFragment.cpp:
3062         (WebCore::RenderTextFragment::RenderTextFragment): Removed firstLetter parameter.
3063         (WebCore::RenderTextFragment::setTextInternal): When the text changes, destroy the
3064         first-letter node and reset the fragment values so that RenderBlock::updateFirstLetter,
3065         which will run during layout, will create a new first-letter child. Otherwise we end up
3066         with the first letter of the old text.
3067
3068 2007-05-29  Sam Weinig  <sam@webkit.org>
3069
3070         Fix Qt build.
3071
3072         * platform/NotImplemented.h:
3073
3074 2007-05-29  Sam Weinig  <sam@webkit.org>
3075
3076         Reviewed by Adam Roben.
3077
3078         Consolidate platform dependent notImplemented() macros
3079         into one platform independent macro that uses WTFLog.
3080
3081         * platform/NotImplemented.h:
3082
3083 2007-05-29  Darin Adler  <darin@apple.com>
3084
3085         Reviewed by Sam.
3086
3087         - a clean-up pass on form-related aspects of the recent JSHTMLElement patch
3088
3089         * bindings/js/JSHTMLElementCustom.cpp: (WebCore::JSHTMLElement::pushEventHandlerScope):
3090         Replace the call to formForEventHandlerScope() with a call to the new form() function.
3091         And removed the now-uneeded code to search for a form ancestor.
3092
3093         * html/HTMLElement.h: Added a general-purpose form() function. The intent is to return
3094         the form ancestor if any, but return the associated form for a form control, which isn't
3095         always an ancestor of the control. To keep form() efficient for form controls, it's an
3096         inline that calls a virtual, allowing a derived class to override it with an inline.
3097         This replaces formForEventHandlerScope(). Also added findFormAncestor() to use here and
3098         to replace the multiple loops found elsewhere to search for the nearest form ancestor.
3099         * html/HTMLElement.cpp:
3100         (WebCore::HTMLElement::findFormAncestor): Added.
3101         (WebCore::HTMLElement::virtualForm): Added. Calls findFormAncestor().
3102
3103         * html/HTMLGenericFormElement.h: Suggested name change to HTMLFormControlElement.
3104         Removed the confusing getForm() function, which is superceded by findFormAncestor.
3105         Removed the unused onSelect() function. Removed the override of formForEventHandlerScope(),
3106         replacing it with an override of virtualForm().
3107         * html/HTMLGenericFormElement.cpp:
3108         (WebCore::HTMLGenericFormElement::HTMLGenericFormElement): Use findFormAncestor
3109         instead of getForm.
3110         (WebCore::HTMLGenericFormElement::insertedIntoTree): Ditto.
3111         (WebCore::HTMLGenericFormElement::virtualForm): Added.
3112
3113         * html/HTMLLabelElement.h: Removed now-unneeded form() and formForEventHandlerScope()
3114         functions, since base class behavior is now good enough. Renamed formElement() to
3115         correspondingControl(), since that's the terminology used elsewhere in the code,
3116         and the old name was unnecessarily confusing.
3117         * html/HTMLLabelElement.cpp:
3118         (WebCore::HTMLLabelElement::correspondingControl): Renamed. Removed unnecessary
3119         special case for empty ID, since getElementById already returns 0 for that case.
3120         (WebCore::HTMLLabelElement::setActive): Updated for name change.
3121         (WebCore::HTMLLabelElement::setHovered): Ditto.
3122         (WebCore::HTMLLabelElement::defaultEventHandler): Ditto.
3123         (WebCore::HTMLLabelElement::focus): Ditto.
3124         (WebCore::HTMLLabelElement::accessKeyAction): Ditto.
3125
3126         * html/HTMLObjectElement.h: Removed now-unneeded form() and formForEventHandlerScope()
3127         functions, since base class behavior is now good enough. Also removed forward
3128         declaration of KJS::Bindings::Instance -- since the type is the return value of a
3129         function from the base class, it's guaranteed to be declared in the base class header.
3130         * html/HTMLObjectElement.cpp: Ditto.
3131
3132         * bridge/mac/WebCoreAXObject.mm: (labelForElement): Updated for name change.
3133
3134 2007-05-29  Zack Rusin  <zrusin@trolltech.com>
3135
3136         Reviewed by George and Niko
3137
3138         Making the convenience method notImplemented convenient
3139         for the Qt port.
3140
3141         * platform/NotImplemented.h:
3142
3143 2007-05-28  Sam Weinig  <sam@webkit.org>
3144
3145         Reviewed by Geoff.
3146
3147         - Patch for http://bugs.webkit.org/show_bug.cgi?id=13902
3148           Autogenerate the JS bindings for the CSSStyleDeclaration
3149
3150         * WebCore.pro:
3151         * WebCore.xcodeproj/project.pbxproj:
3152         * bindings/js/JSCSSStyleDeclarationCustom.cpp: Added.
3153         (WebCore::cssPropertyName):
3154         (WebCore::isCSSPropertyName):
3155         (WebCore::JSCSSStyleDeclaration::canGetItemsForName):
3156         (WebCore::JSCSSStyleDeclaration::nameGetter):
3157         (WebCore::JSCSSStyleDeclaration::customPut):
3158         * bindings/js/kjs_binding.h:
3159         * bindings/js/kjs_css.cpp:
3160         * bindings/js/kjs_css.h:
3161         * bindings/objc/DOMUtility.mm:
3162         (KJS::createDOMWrapper):
3163         * bindings/scripts/CodeGeneratorJS.pm:
3164         * css/CSSStyleDeclaration.idl:
3165
3166 2007-05-28  Mitz Pettel  <mitz@webkit.org>
3167
3168         Reviewed by Darin.
3169
3170         - fix http://bugs.webkit.org/show_bug.cgi?id=13896
3171           REGRESSION (NativePopup): Reproductible crasher on Google Coop control panel
3172
3173         Test: fast/forms/select-display-none-style-resolve.html
3174
3175         * html/HTMLOptGroupElement.cpp:
3176         (WebCore::HTMLOptGroupElement::attach): Do not compute style if the parent
3177         does not have style.
3178         * html/HTMLOptionElement.cpp:
3179         (WebCore::HTMLOptionElement::attach): Ditto.
3180
3181 2007-05-28  Sam Weinig  <sam@webkit.org>
3182
3183         Fix Gdk and Qt builds.
3184
3185         * WebCore.pro:
3186
3187 2007-05-28  Sam Weinig  <sam@webkit.org>
3188
3189         Reviewed by Darin.
3190
3191         Patch for http://bugs.webkit.org/show_bug.cgi?id=13894
3192         Remove the legacy class KJS::JSHTMLElement
3193
3194         - Now that all of the subclasses of JSHTMLElement are
3195           autogenerated and no longer rely on the legacy parent,
3196           we can remove it and update all the HTML idl files to
3197           reflect so.
3198
3199         - Also adds JSHTMLBlockquoteElement's JS constructor which
3200           was mistakingly missing.
3201
3202         * WebCore.xcodeproj/project.pbxproj:
3203         * bindings/js/JSHTMLAnchorElementCustom.cpp:
3204         (WebCore::JSHTMLAnchorElement::toString):
3205         * bindings/js/JSHTMLElementCustom.cpp: Added.
3206         (WebCore::JSHTMLElement::pushEventHandlerScope):
3207         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3208         (WebCore::createJSHTMLWrapper):
3209         * bindings/js/JSHTMLInputElementBase.cpp:
3210         (WebCore::):
3211         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
3212         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
3213         (WebCore::JSHTMLInputElementBase::put):
3214         * bindings/js/JSHTMLInputElementBase.h:
3215         * bindings/js/JSHTMLSelectElementCustom.cpp:
3216         * bindings/js/kjs_html.cpp:
3217         (KJS::runtimeObjectCustomGetOwnPropertySlot):
3218         * bindings/js/kjs_html.h:
3219         * bindings/scripts/CodeGeneratorJS.pm:
3220         * html/HTMLAnchorElement.idl:
3221         * html/HTMLAppletElement.idl:
3222         * html/HTMLAreaElement.idl:
3223         * html/HTMLBRElement.idl:
3224         * html/HTMLBaseElement.idl:
3225         * html/HTMLBaseFontElement.idl:
3226         * html/HTMLBlockquoteElement.idl:
3227         * html/HTMLBodyElement.idl:
3228         * html/HTMLButtonElement.idl:
3229         * html/HTMLCanvasElement.idl:
3230         * html/HTMLDListElement.idl:
3231         * html/HTMLDirectoryElement.idl:
3232         * html/HTMLDivElement.idl:
3233         * html/HTMLElement.cpp:
3234         (WebCore::HTMLElement::formForEventHandlerScope):
3235         * html/HTMLElement.h:
3236         * html/HTMLElement.idl:
3237         * html/HTMLEmbedElement.idl:
3238         * html/HTMLFieldSetElement.idl:
3239         * html/HTMLFontElement.idl:
3240         * html/HTMLFormElement.idl:
3241         * html/HTMLFrameElement.idl:
3242         * html/HTMLFrameSetElement.idl:
3243         * html/HTMLGenericFormElement.cpp:
3244         (WebCore::HTMLGenericFormElement::formForEventHandlerScope):
3245         * html/HTMLGenericFormElement.h:
3246         * html/HTMLHRElement.idl:
3247         * html/HTMLHeadElement.idl:
3248         * html/HTMLHeadingElement.idl:
3249         * html/HTMLHtmlElement.idl:
3250         * html/HTMLIFrameElement.idl:
3251         * html/HTMLImageElement.idl:
3252         * html/HTMLIsIndexElement.idl:
3253         * html/HTMLLIElement.idl:
3254         * html/HTMLLabelElement.cpp:
3255         (WebCore::HTMLLabelElement::form):
3256         (WebCore::HTMLLabelElement::formForEventHandlerScope):
3257         * html/HTMLLabelElement.h:
3258         * html/HTMLLabelElement.idl:
3259         * html/HTMLLegendElement.idl:
3260         * html/HTMLLinkElement.idl:
3261         * html/HTMLMapElement.idl:
3262         * html/HTMLMarqueeElement.idl:
3263         * html/HTMLMenuElement.idl:
3264         * html/HTMLMetaElement.idl:
3265         * html/HTMLModElement.idl:
3266         * html/HTMLOListElement.idl:
3267         * html/HTMLObjectElement.cpp:
3268         (WebCore::HTMLObjectElement::formForEventHandlerScope):
3269         * html/HTMLObjectElement.h:
3270         * html/HTMLObjectElement.idl:
3271         * html/HTMLOptGroupElement.idl:
3272         * html/HTMLOptionElement.idl:
3273         * html/HTMLParagraphElement.idl:
3274         * html/HTMLParamElement.idl:
3275         * html/HTMLPreElement.idl:
3276         * html/HTMLQuoteElement.idl:
3277         * html/HTMLScriptElement.idl:
3278         * html/HTMLSelectElement.idl:
3279         * html/HTMLStyleElement.idl:
3280         * html/HTMLTableCaptionElement.idl:
3281         * html/HTMLTableCellElement.idl:
3282         * html/HTMLTableColElement.idl:
3283         * html/HTMLTableElement.idl:
3284         * html/HTMLTableRowElement.idl:
3285         * html/HTMLTableSectionElement.idl:
3286         * html/HTMLTextAreaElement.idl:
3287         * html/HTMLTitleElement.idl:
3288         * html/HTMLUListElement.idl:
3289         * page/DOMWindow.idl:
3290
3291 2007-05-28  Zack Rusin  <zrusin@trolltech.com>
3292
3293         Reviewed by andersca
3294
3295         Adding Qt related constructor/casting operators
3296         to the AtomicString and updating the project
3297         file for new Qt settings api using those.
3298
3299         * WebCore.pro:
3300         * platform/AtomicString.h:
3301
3302 2007-05-27  Sam Weinig  <sam@webkit.org>
3303
3304         Qt and Gdk build fix.
3305
3306         * WebCore.pro:
3307
3308 2007-05-27  Sam Weinig  <sam@webkit.org>
3309
3310         Reviewed by Hyatt.
3311
3312         Patch for http://bugs.webkit.org/show_bug.cgi?id=13893
3313         Autogenerate the JS bindings for the HTMLObjectElement, 
3314         HTMLEmbedElement and HTMLAppletElement
3315
3316         * DerivedSources.make:
3317         * WebCore.xcodeproj/project.pbxproj:
3318         * bindings/js/JSHTMLAppletElementCustom.cpp: Added.
3319         (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
3320         (WebCore::JSHTMLAppletElement::customPut):
3321         (WebCore::JSHTMLAppletElement::implementsCall):
3322         (WebCore::JSHTMLAppletElement::callAsFunction):
3323         (WebCore::JSHTMLAppletElement::canGetItemsForName):
3324         (WebCore::JSHTMLAppletElement::nameGetter):
3325         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3326         * bindings/js/JSHTMLEmbedElementCustom.cpp: Added.
3327         (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
3328         (WebCore::JSHTMLEmbedElement::customPut):
3329         (WebCore::JSHTMLEmbedElement::implementsCall):
3330         (WebCore::JSHTMLEmbedElement::callAsFunction):
3331         (WebCore::JSHTMLEmbedElement::canGetItemsForName):
3332         (WebCore::JSHTMLEmbedElement::nameGetter):
3333         * bindings/js/JSHTMLObjectElementCustom.cpp: Added.
3334         (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
3335         (WebCore::JSHTMLObjectElement::customPut):
3336         (WebCore::JSHTMLObjectElement::implementsCall):
3337         (WebCore::JSHTMLObjectElement::callAsFunction):
3338         (WebCore::JSHTMLObjectElement::canGetItemsForName):
3339         (WebCore::JSHTMLObjectElement::nameGetter):
3340         * bindings/js/kjs_html.cpp:
3341         (KJS::):
3342         (KJS::JSHTMLElement::toString):
3343         (KJS::JSHTMLElement::pushEventHandlerScope):
3344         (KJS::runtimeObjectGetter):
3345         (KJS::runtimeObjectPropertyGetter):
3346         (KJS::runtimeObjectCustomGetOwnPropertySlot):
3347         (KJS::runtimeObjectCustomPut):
3348         (KJS::runtimeObjectImplementsCall):
3349         (KJS::runtimeObjectCallAsFunction):
3350         * bindings/js/kjs_html.h:
3351         (KJS::JSHTMLElement::classInfo):
3352         * bindings/scripts/CodeGeneratorJS.pm: Add support for 
3353         CustomGetOwnPropertySlot, CustomPutFunction, CustomCall,
3354         and SVGCheckSecurityDocument properties.
3355         * html/HTMLAppletElement.idl:
3356         * html/HTMLEmbedElement.idl:
3357         * html/HTMLObjectElement.idl:
3358         * page/DOMWindow.idl: Uncomment constructors.
3359
3360 2007-05-27  Sam Weinig  <sam@webkit.org>
3361
3362         Reviewed by Oliver.
3363
3364         Gdk build fix.
3365
3366         * platform/graphics/Path.h:
3367
3368 2007-05-27  Sam Weinig  <sam@webkit.org>
3369
3370         Gdk build fix.  Forgot to update a few instances of notImplementedGdk() to notImplemented().
3371
3372         * page/gdk/EventHandlerGdk.cpp:
3373         (WebCore::EventHandler::passMousePressEventToScrollbar):
3374         * platform/gdk/EditorClientGdk.cpp:
3375         (WebCore::EditorClientGdk::ignoreWordInSpellDocument):
3376         (WebCore::EditorClientGdk::learnWord):
3377         (WebCore::EditorClientGdk::checkSpellingOfString):
3378         (WebCore::EditorClientGdk::checkGrammarOfString):
3379         (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString):
3380         (WebCore::EditorClientGdk::updateSpellingUIWithMisspelledWord):
3381         (WebCore::EditorClientGdk::showSpellingUI):
3382         (WebCore::EditorClientGdk::spellingUIIsShowing):
3383         (WebCore::EditorClientGdk::getGuessesForWord):
3384         * platform/gdk/FrameGdk.cpp:
3385         (WebCore::Frame::dashboardRegionsChanged):
3386         * platform/gdk/PlatformScrollBarGdk.cpp:
3387         (PlatformScrollbar::paint):
3388         (PlatformScrollbar::updateThumbPosition):
3389         (PlatformScrollbar::updateThumbProportion):
3390         * platform/gdk/TemporaryLinkStubs.cpp:
3391         (Widget::setEnabled):
3392         (Widget::isEnabled):
3393         (Widget::removeFromParent):
3394         (Widget::paint):
3395         (Widget::setIsSelected):
3396         (Widget::invalidate):
3397         (Widget::invalidateRect):
3398
3399 2007-05-27  Alp Toker  <alp.toker@collabora.co.uk>
3400
3401         Reviewed by Sam and Oliver.
3402
3403         Implement PathCairo. This patch is based on changes in Mike Emmel's
3404         WebKit fork with some additional clean-ups and updates.
3405
3406         * platform/graphics/Path.h:
3407         * platform/graphics/cairo/CairoPath.h: Added.
3408         (CairoPath::CairoPath):
3409         (CairoPath::~CairoPath):
3410         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3411         (WebCore::GraphicsContext::clip):
3412         * platform/graphics/cairo/PathCairo.cpp:
3413         (WebCore::Path::Path):
3414         (WebCore::Path::~Path):
3415         (WebCore::Path::operator=):
3416         (WebCore::Path::clear):
3417         (WebCore::Path::isEmpty):
3418         (WebCore::Path::translate):
3419         (WebCore::Path::moveTo):
3420         (WebCore::Path::addLineTo):
3421         (WebCore::Path::addRect):
3422         (WebCore::Path::addQuadCurveTo):
3423         (WebCore::Path::addBezierCurveTo):
3424         (WebCore::Path::addArc):
3425         (WebCore::Path::addArcTo):
3426         (WebCore::Path::addEllipse):
3427         (WebCore::Path::closeSubpath):
3428         (WebCore::Path::boundingRect):
3429         (WebCore::Path::contains):
3430         (WebCore::Path::apply):
3431         (WebCore::Path::transform):
3432         (WebCore::Path::debugString):
3433
3434 2007-05-27  Kevin Ollivier  <kevino@theolliviers.com>
3435
3436         Reviewed by Sam Weinig.
3437
3438         Consolidate all notImplemented() macro definitions into
3439         one header file for all platforms.
3440
3441         * loader/gdk/DocumentLoaderGdk.cpp:
3442         (WebCore::DocumentLoader::getResponseModifiedHeader):
3443         * loader/gdk/FrameLoaderClientGdk.cpp:
3444         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge):
3445         (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge):
3446         (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest):
3447         (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest):
3448         (WebCore::FrameLoaderClientGdk::createPlugin):
3449         (WebCore::FrameLoaderClientGdk::createFrame):
3450         (WebCore::FrameLoaderClientGdk::redirectDataToPlugin):
3451         (WebCore::FrameLoaderClientGdk::createJavaAppletWidget):
3452         (WebCore::FrameLoaderClientGdk::objectContentType):
3453         (WebCore::FrameLoaderClientGdk::overrideMediaType):
3454         (WebCore::FrameLoaderClientGdk::windowObjectCleared):
3455         (WebCore::FrameLoaderClientGdk::hasWebView):
3456         (WebCore::FrameLoaderClientGdk::hasFrameView):
3457         (WebCore::FrameLoaderClientGdk::frameLoadCompleted):
3458         (WebCore::FrameLoaderClientGdk::saveViewStateToItem):
3459         (WebCore::FrameLoaderClientGdk::restoreViewState):
3460         (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled):
3461         (WebCore::FrameLoaderClientGdk::makeDocumentView):
3462         (WebCore::FrameLoaderClientGdk::makeRepresentation):
3463         (WebCore::FrameLoaderClientGdk::forceLayout):
3464         (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML):
3465         (WebCore::FrameLoaderClientGdk::setCopiesOnScroll):
3466         (WebCore::FrameLoaderClientGdk::detachedFromParent1):
3467         (WebCore::FrameLoaderClientGdk::detachedFromParent2):
3468         (WebCore::FrameLoaderClientGdk::detachedFromParent3):
3469         (WebCore::FrameLoaderClientGdk::detachedFromParent4):
3470         (WebCore::FrameLoaderClientGdk::loadedFromCachedPage):
3471         (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents):
3472         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad):
3473         (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect):
3474         (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect):
3475         (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage):
3476         (WebCore::FrameLoaderClientGdk::dispatchWillClose):
3477         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon):
3478         (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad):
3479         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle):
3480         (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad):
3481         (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad):
3482         (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout):
3483         (WebCore::FrameLoaderClientGdk::dispatchShow):
3484         (WebCore::FrameLoaderClientGdk::cancelPolicyCheck):
3485         (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource):
3486         (WebCore::FrameLoaderClientGdk::revertToProvisionalState):
3487         (WebCore::FrameLoaderClientGdk::clearUnarchivingState):
3488         (WebCore::FrameLoaderClientGdk::willChangeTitle):
3489         (WebCore::FrameLoaderClientGdk::finishedLoading):
3490         (WebCore::FrameLoaderClientGdk::finalSetupForReplace):
3491         (WebCore::FrameLoaderClientGdk::setDefersLoading):
3492         (WebCore::FrameLoaderClientGdk::isArchiveLoadPending):
3493         (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad):
3494         (WebCore::FrameLoaderClientGdk::clearArchivedResources):
3495         (WebCore::FrameLoaderClientGdk::canHandleRequest):
3496         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
3497         (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme):
3498         (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme):
3499         (WebCore::FrameLoaderClientGdk::provisionalLoadStarted):
3500         (WebCore::FrameLoaderClientGdk::didFinishLoad):
3501         (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement):
3502         (WebCore::FrameLoaderClientGdk::setTitle):
3503         (WebCore::FrameLoaderClientGdk::setDocumentViewFromCachedPage):
3504         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength):
3505         (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading):
3506         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading):
3507         (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache):
3508         (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad):
3509         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad):
3510         (WebCore::FrameLoaderClientGdk::download):
3511         (WebCore::FrameLoaderClientGdk::cancelledError):
3512         (WebCore::FrameLoaderClientGdk::blockedError):
3513         (WebCore::FrameLoaderClientGdk::cannotShowURLError):
3514         (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError):
3515         (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError):
3516         (WebCore::FrameLoaderClientGdk::fileDoesNotExistError):
3517         (WebCore::FrameLoaderClientGdk::shouldFallBack):
3518         (WebCore::FrameLoaderClientGdk::willUseArchive):
3519         (WebCore::FrameLoaderClientGdk::saveDocumentViewToCachedPage):
3520         (WebCore::FrameLoaderClientGdk::canCachePage):
3521         (WebCore::FrameLoaderClientGdk::dispatchCreatePage):
3522         (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy):
3523         (WebCore::FrameLoaderClientGdk::setMainDocumentError):
3524         (WebCore::FrameLoaderClientGdk::startDownload):
3525         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad):
3526         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload):
3527         * loader/qt/DocumentLoaderQt.cpp:
3528         * page/gdk/ContextMenuClientGdk.cpp:
3529         (WebCore::ContextMenuClientGdk::contextMenuDestroyed):
3530         (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems):
3531         (WebCore::ContextMenuClientGdk::contextMenuItemSelected):
3532         (WebCore::ContextMenuClientGdk::downloadURL):
3533         (WebCore::ContextMenuClientGdk::copyImageToClipboard):
3534         (WebCore::ContextMenuClientGdk::searchWithGoogle):
3535         (WebCore::ContextMenuClientGdk::lookUpInDictionary):
3536         (WebCore::ContextMenuClientGdk::speak):
3537         (WebCore::ContextMenuClientGdk::stopSpeaking):
3538         * page/gdk/EventHandlerGdk.cpp:
3539         (WebCore::EventHandler::passMouseDownEventToWidget):
3540         (WebCore::EventHandler::eventActivatedView):
3541         (WebCore::EventHandler::passSubframeEventToSubframe):
3542         (WebCore::EventHandler::passWheelEventToWidget):
3543         (WebCore::EventHandler::createDraggingClipboard):
3544         * page/qt/EventHandlerQt.cpp:
3545         * page/qt/FrameQt.cpp:
3546         * platform/NotImplemented.h: Added.
3547         * platform/gdk/CursorGdk.cpp:
3548         (WebCore::Cursor::Cursor):
3549         * platform/gdk/EditorClientGdk.cpp:
3550         (WebCore::EditorClientGdk::shouldDeleteRange):
3551         (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled):
3552         (WebCore::EditorClientGdk::isGrammarCheckingEnabled):
3553         (WebCore::EditorClientGdk::spellCheckerDocumentTag):
3554         (WebCore::EditorClientGdk::shouldBeginEditing):
3555         (WebCore::EditorClientGdk::shouldEndEditing):
3556         (WebCore::EditorClientGdk::shouldInsertText):
3557         (WebCore::EditorClientGdk::shouldChangeSelectedRange):
3558         (WebCore::EditorClientGdk::shouldApplyStyle):
3559         (WebCore::EditorClientGdk::didBeginEditing):
3560         (WebCore::EditorClientGdk::respondToChangedContents):
3561         (WebCore::EditorClientGdk::respondToChangedSelection):
3562         (WebCore::EditorClientGdk::didEndEditing):
3563         (WebCore::EditorClientGdk::didWriteSelectionToPasteboard):
3564         (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard):
3565         (WebCore::EditorClientGdk::selectWordBeforeMenuEvent):
3566         (WebCore::EditorClientGdk::isEditable):
3567         (WebCore::EditorClientGdk::registerCommandForUndo):
3568         (WebCore::EditorClientGdk::registerCommandForRedo):
3569         (WebCore::EditorClientGdk::clearUndoRedoOperations):
3570         (WebCore::EditorClientGdk::canUndo):
3571         (WebCore::EditorClientGdk::canRedo):
3572         (WebCore::EditorClientGdk::undo):
3573         (WebCore::EditorClientGdk::redo):
3574         (WebCore::EditorClientGdk::shouldInsertNode):
3575         (WebCore::EditorClientGdk::pageDestroyed):
3576         (WebCore::EditorClientGdk::smartInsertDeleteEnabled):
3577         (WebCore::EditorClientGdk::toggleContinuousSpellChecking):
3578         (WebCore::EditorClientGdk::handleInputMethodKeypress):
3579         (WebCore::EditorClientGdk::textFieldDidBeginEditing):
3580         (WebCore::EditorClientGdk::textFieldDidEndEditing):
3581         (WebCore::EditorClientGdk::textDidChangeInTextField):
3582         (WebCore::EditorClientGdk::doTextFieldCommandFromEvent):
3583         (WebCore::EditorClientGdk::textWillBeDeletedInTextField):
3584         (WebCore::EditorClientGdk::textDidChangeInTextArea):
3585         * platform/gdk/FrameGdk.cpp:
3586         (WebCore::Frame::print):
3587         (WebCore::Frame::issueTransposeCommand):
3588         (WebCore::Frame::cleanupPlatformScriptObjects):
3589         (WebCore::Frame::dragImageForSelection):
3590         * platform/gdk/NotImplementedGdk.h: Removed.
3591         * platform/gdk/PopupMenuGdk.cpp:
3592         (WebCore::PopupMenu::PopupMenu):
3593         (WebCore::PopupMenu::~PopupMenu):
3594         (WebCore::PopupMenu::show):
3595         (WebCore::PopupMenu::hide):
3596         (WebCore::PopupMenu::updateFromElement):
3597         * platform/gdk/RenderThemeGdk.cpp:
3598         (WebCore::RenderThemeGdk::setCheckboxSize):
3599         (WebCore::RenderThemeGdk::setRadioSize):
3600         (WebCore::RenderThemeGdk::adjustTextFieldStyle):
3601         * platform/gdk/ScreenGdk.cpp:
3602         (WebCore::screenDepthPerComponent):
3603         (WebCore::screenIsMonochrome):
3604         (WebCore::screenRect):
3605         (WebCore::screenAvailableRect):
3606         * platform/gdk/ScrollViewGdk.cpp:
3607         (WebCore::ScrollView::update):
3608         (WebCore::ScrollView::addChild):
3609         (WebCore::ScrollView::removeChild):
3610         (WebCore::ScrollView::scrollRectIntoViewRecursively):
3611         (WebCore::ScrollView::inWindow):
3612         (WebCore::ScrollView::wheelEvent):
3613         (WebCore::ScrollView::updateScrollbars):
3614         (WebCore::ScrollView::updateScrollInfo):
3615         (WebCore::ScrollView::windowToContents):
3616         (WebCore::ScrollView::contentsToWindow):
3617         (WebCore::ScrollView::scrollbarUnderMouse):
3618         * platform/gdk/TemporaryLinkStubs.cpp:
3619         (FrameView::updateBorder):
3620         (WebCore::findNextWordFromIndex):
3621         (WebCore::currentTextBreakLocaleID):
3622         (ChromeClientGdk::chromeDestroyed):
3623         (ChromeClientGdk::windowRect):
3624         (ChromeClientGdk::setWindowRect):
3625         (ChromeClientGdk::pageRect):
3626         (ChromeClientGdk::scaleFactor):
3627         (ChromeClientGdk::focus):
3628         (ChromeClientGdk::unfocus):
3629         (ChromeClientGdk::createWindow):
3630         (ChromeClientGdk::createModalDialog):
3631         (ChromeClientGdk::show):
3632         (ChromeClientGdk::canRunModal):
3633         (ChromeClientGdk::runModal):
3634         (ChromeClientGdk::setToolbarsVisible):
3635         (ChromeClientGdk::toolbarsVisible):
3636         (ChromeClientGdk::setStatusbarVisible):
3637         (ChromeClientGdk::statusbarVisible):
3638         (ChromeClientGdk::setScrollbarsVisible):
3639         (ChromeClientGdk::scrollbarsVisible):
3640         (ChromeClientGdk::setMenubarVisible):
3641         (ChromeClientGdk::menubarVisible):
3642         (ChromeClientGdk::setResizable):
3643         (ChromeClientGdk::closeWindowSoon):
3644         (ChromeClientGdk::canTakeFocus):
3645         (ChromeClientGdk::takeFocus):
3646         (ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
3647         (ChromeClientGdk::addMessageToConsole):
3648         (ChromeClientGdk::runBeforeUnloadConfirmPanel):
3649         (ChromeClientGdk::runJavaScriptAlert):
3650         (ChromeClientGdk::runJavaScriptConfirm):
3651         (ChromeClientGdk::runJavaScriptPrompt):
3652         (ChromeClientGdk::setStatusbarText):
3653         (ChromeClientGdk::shouldInterruptJavaScript):
3654         (ChromeClientGdk::tabsToLinks):
3655         (ChromeClientGdk::windowResizerRect):
3656         (ChromeClientGdk::addToDirtyRegion):
3657         (ChromeClientGdk::scrollBackingStore):
3658         (ChromeClientGdk::updateBackingStore):
3659         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3660         (PlugInInfoStore::pluginCount):
3661         (WebCore::PlugInInfoStore::supportsMIMEType):
3662         (WebCore::refreshPlugins):
3663         (SearchPopupMenu::saveRecentSearches):
3664         (SearchPopupMenu::loadRecentSearches):
3665         (SearchPopupMenu::SearchPopupMenu):
3666         (SearchPopupMenu::enabled):
3667         (FileChooser::FileChooser):
3668         (FileChooser::~FileChooser):
3669         (FileChooser::openFileChooser):
3670         (FileChooser::basenameForWidth):
3671         (ResourceHandle::willLoadFromCache):
3672         (ResourceHandle::loadsBlocked):
3673         (ResourceHandle::loadResourceSynchronously):
3674         (Icon::Icon):
3675         (Icon::~Icon):
3676         (Icon::newIconForFile):
3677         (Icon::paint):
3678         (Font::selectionRectForComplexText):
3679         (Font::drawComplexText):
3680         (Font::floatWidthForComplexText):
3681         (Font::offsetForPositionForComplexText):
3682         (CachedPage::close):
3683         (Editor::newGeneralClipboard):
3684         (Pasteboard::generalPasteboard):
3685         (Pasteboard::writeSelection):
3686         (Pasteboard::writeURL):
3687         (Pasteboard::writeImage):
3688         (Pasteboard::clear):
3689         (Pasteboard::canSmartReplace):
3690         (Pasteboard::documentFragment):
3691         (Pasteboard::plainText):
3692         (Pasteboard::Pasteboard):
3693         (Pasteboard::~Pasteboard):
3694         (ContextMenu::ContextMenu):
3695         (ContextMenu::~ContextMenu):
3696         (ContextMenu::appendItem):
3697         (ContextMenuItem::ContextMenuItem):
3698         (ContextMenuItem::~ContextMenuItem):
3699         (ContextMenuItem::releasePlatformDescription):
3700         (ContextMenuItem::type):
3701         (ContextMenuItem::setType):
3702         (ContextMenuItem::action):
3703         (ContextMenuItem::setAction):
3704         (ContextMenuItem::title):
3705         (ContextMenuItem::setTitle):
3706         (ContextMenuItem::platformSubMenu):
3707         (ContextMenuItem::setSubMenu):
3708         (ContextMenuItem::setChecked):
3709         (ContextMenuItem::setEnabled):
3710         (WebCore::supportedKeySizes):
3711         (WebCore::systemBeep):
3712         (WebCore::userIdleTime):
3713         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3714         * platform/graphics/cairo/ImageBufferCairo.cpp:
3715         * platform/graphics/cairo/PathCairo.cpp:
3716         * platform/graphics/gdk/ImageGdk.cpp:
3717         * platform/graphics/qt/GraphicsContextQt.cpp:
3718         * platform/graphics/qt/IconQt.cpp:
3719         * platform/graphics/qt/ImageQt.cpp:
3720         * platform/network/gdk/ResourceHandleCurl.cpp:
3721         (WebCore::ResourceHandle::setDefersLoading):
3722         * platform/network/gdk/ResourceHandleManager.cpp:
3723         (WebCore::ResourceHandleManager::setupPUT):
3724         (WebCore::ResourceHandleManager::setupPOST):
3725         * platform/network/qt/ResourceHandleQt.cpp:
3726         * platform/qt/ClipboardQt.cpp:
3727         * platform/qt/CursorQt.cpp:
3728         * platform/qt/DragDataQt.cpp:
3729         * platform/qt/FileChooserQt.cpp:
3730         * platform/qt/MimeTypeRegistryQt.cpp:
3731         * platform/qt/PasteboardQt.cpp:
3732         * platform/qt/PlatformScrollBarQt.cpp:
3733         * platform/qt/PopupMenuQt.cpp:
3734         * platform/qt/ScrollViewQt.cpp:
3735         * platform/qt/TemporaryLinkStubs.cpp:
3736         * platform/qt/TextBoundaries.cpp:
3737         * platform/qt/WidgetQt.cpp:
3738         * platform/win/FontWin.cpp:
3739         * platform/win/TemporaryLinkStubs.cpp:
3740         * platform/wx/ClipboardWx.cpp:
3741         * platform/wx/FontWx.cpp:
3742         * platform/wx/ScrollViewWx.cpp:
3743         * platform/wx/SharedTimerWx.cpp:
3744         * platform/wx/TemporaryLinkStubs.cpp:
3745
3746 2007-05-27  Rob Buis  <buis@kde.org>
3747
3748         Reviewed by Oliver.
3749
3750         http://bugs.webkit.org/show_bug.cgi?id=13828
3751         x/y values on rootmost <svg> elements should be ignored
3752
3753         Make sure that root-most <svg> elements do not take into account x/y.
3754
3755         * ksvg2/svg/SVGSVGElement.cpp:
3756         (WebCore::SVGSVGElement::viewport):
3757         (WebCore::SVGSVGElement::getCTM):
3758         (WebCore::SVGSVGElement::getScreenCTM):
3759         * rendering/RenderSVGContainer.cpp:
3760         (WebCore::RenderSVGContainer::calcViewport):
3761
3762 2007-05-26  David Hyatt  <hyatt@apple.com>
3763
3764         Fix for radar bug 5219562, PNG isn't displayed on SVG test suite.
3765         Improve <object> error handling so that it recovers properly when
3766         <td> is used inside it.
3767
3768         Reviewed by olliej
3769
3770         Added fast/invalid/td-inside-object.html
3771
3772         * html/HTMLObjectElement.h:
3773         (WebCore::HTMLObjectElement::tagPriority):
3774         * html/HTMLParser.cpp:
3775         (WebCore::HTMLParser::handleError):
3776         * html/HTMLParserErrorCodes.cpp:
3777         (WebCore::htmlParserErrorMessageTemplate):
3778         * html/HTMLParserErrorCodes.h:
3779
3780 2007-05-26  David Hyatt  <hyatt@apple.com>
3781
3782         Don't compare the "isset" variables in background layers, since they
3783         lead us to turn off the Aqua look incorrectly, even when the background
3784         matches the default.
3785
3786         Reviewed by olliej
3787
3788         * rendering/RenderStyle.cpp:
3789         (WebCore::BackgroundLayer::operator==):
3790
3791 2007-05-26  David Hyatt  <hyatt@apple.com>
3792
3793         Improve the </p> -> <p></p> error message to not spew two errors.
3794         Fix a bug where errors reported inside document.write didn't get
3795         reported as such because of a mistake in the notation of SegmentedString.
3796
3797         Reviewed by aroben
3798
3799         * html/HTMLParser.cpp:
3800         (WebCore::HTMLParser::processCloseTag):
3801         * platform/SegmentedString.h:
3802         (WebCore::SegmentedSubstring::clear):
3803
3804 2007-05-26  David Hyatt  <hyatt@apple.com>
3805
3806         Fix for bug 13887, percentage height block not sized correctly inside
3807         positioned percentage height containing block.
3808
3809         Reviewed by mitz
3810
3811         fast/block/positioning/complex-percentage-height.html
3812
3813         * rendering/RenderBox.cpp:
3814         (WebCore::RenderBox::calcPercentageHeight):
3815
3816 2007-05-26  Mitz Pettel  <mitz@webkit.org>
3817
3818         Reviewed by Oliver Hunt.
3819
3820         - finish fixing http://bugs.webkit.org/show_bug.cgi?id=13871
3821           Box shadow should not apply to Aqua-themed controls
3822
3823         Covered by fast/forms/box-shadow-override.html
3824
3825         I forgot to include adjustSliderThumbStyle in the previous patch and the
3826         test didn't detect it because of a bug introduced in r21739.
3827
3828         * rendering/RenderThemeMac.h:
3829         * rendering/RenderThemeMac.mm:
3830         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
3831
3832 2007-05-26  Mitz Pettel  <mitz@webkit.org>
3833
3834         Reviewed by Hyatt.
3835
3836         - fix http://bugs.webkit.org/show_bug.cgi?id=13876
3837           Box-Shadow disappears if shadow doesn't fit in the window size
3838
3839         Tests: fast/repaint/box-shadow-h.html
3840                fast/repaint/box-shadow-v.html
3841
3842         * rendering/RenderTable.cpp:
3843         (WebCore::RenderTable::layout):
3844
3845 2007-05-26  Alexey Proskuryakov  <ap@webkit.org>
3846
3847         Reviewed by Darin.
3848
3849         http://bugs.webkit.org/show_bug.cgi?id=13605
3850         REGRESSION: Browser crashes when switching Kotoeri input modes
3851
3852         The problem could no longer be reproduced with Kotoeri thanks to
3853         a fix in <http://trac.webkit.org/projects/webkit/changeset/21728>,
3854         but we still need to protect from invalid ranges passed from
3855         input methods.
3856
3857         Test: editing/input/replace-invalid-range.html
3858
3859         * page/mac/WebCoreFrameBridge.mm:
3860         (-[WebCoreFrameBridge selectNSRange:]): Added a null check.
3861
3862 2007-05-26  Darin Adler  <darin@apple.com>
3863
3864         * platform/network/mac/ResourceResponseMac.mm:
3865         (WebCore::ResourceResponse::doUpdateResourceResponse):
3866         Alexey pointed out that I was wrong about object lifetime, so
3867         rolling this change out.
3868
3869 2007-05-26  Darin Adler  <darin@apple.com>
3870
3871         Reviewed by Anders.
3872
3873         * platform/network/mac/ResourceResponseMac.mm:
3874         (WebCore::ResourceResponse::doUpdateResourceResponse):
3875         Fixed code where a temporary String is used after destroyed.
3876
3877 2007-05-26  Mitz Pettel  <mitz@webkit.org>
3878
3879         Reviewed by Darin.
3880
3881         - http://bugs.webkit.org/show_bug.cgi?id=13842
3882           Simplify Color::light() and Color::dark()
3883
3884         Not testable.
3885
3886         * platform/graphics/Color.cpp:
3887         (WebCore::Color::light):
3888         (WebCore::Color::dark):
3889
3890 2007-05-26  Mitz Pettel  <mitz@webkit.org>
3891
3892         Reviewed by Darin.
3893
3894         - fix http://bugs.webkit.org/show_bug.cgi?id=13870
3895           RenderFrameSet should only allow frame and frameset children
3896
3897         Covered by fast/frames/inline-object-inside-frameset.html
3898
3899         * rendering/RenderFrame.h:
3900         (WebCore::RenderFrame::isFrame): Added.
3901         * rendering/RenderFrameSet.cpp:
3902         (WebCore::RenderFrameSet::paint): Removed check for inline objects that is
3903         no longer needed.
3904         (WebCore::RenderFrameSet::isChildAllowed): Added. Allows the child only
3905         if it is a frame or another frameset.
3906         * rendering/RenderFrameSet.h:
3907         * rendering/RenderObject.h:
3908         (WebCore::RenderObject::isFrame): Added.
3909
3910 2007-05-26  Mitz Pettel  <mitz@webkit.org>
3911
3912         Reviewed by Darin.
3913
3914         - http://bugs.webkit.org/show_bug.cgi?id=13871
3915           Box shadow should not apply to Aqua-themed controls
3916
3917         Test: fast/forms/box-shadow-override.html
3918
3919         * rendering/RenderTheme.cpp:
3920         (WebCore::RenderTheme::adjustCheckboxStyle):
3921         (WebCore::RenderTheme::adjustRadioStyle):
3922         * rendering/RenderThemeMac.h:
3923         * rendering/RenderThemeMac.mm:
3924         (WebCore::RenderThemeMac::adjustButtonStyle):
3925         (WebCore::RenderThemeMac::adjustMenuListStyle):
3926         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
3927         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3928         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
3929         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
3930         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
3931         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
3932
3933 2007-05-26  Holger Freyther  <zecke@selfish.org>
3934
3935         Reviewed by Anders.
3936
3937         * platform/gdk/FrameGdk.cpp: Catch up to make it compile
3938         (WebCore::FrameGdk::FrameGdk): The Settings is now owned by the Page
3939
3940 2007-05-25  Sam Weinig  <sam@webkit.org>
3941
3942         Reviewed by Oliver of the Hunt.
3943
3944         Fixed <rdar://problem/5230247> at least 43 xhtml tests fail in 
3945         Leopard because they are being interpreted as html
3946
3947         Adds a work around for <rdar://problem/5230154> which explicitly
3948         sets local .xhtml files to have the MIME type application/xhtml+xml.
3949
3950         * platform/network/mac/ResourceResponseMac.mm:
3951         (WebCore::ResourceResponse::doUpdateResourceResponse):
3952
3953 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
3954
3955         Reviewed by Darin Adler.
3956
3957         Fixed <rdar://problem/5055182> The page cache has no global cap.
3958         
3959         Beefed up the PageCache class to track which HistoryItems are 
3960         cached, and decide how to evict old HistoryItems as new ones are
3961         added.
3962
3963         * history/BackForwardList.cpp: Removed support for managing the page cache
3964         through the BackForwardList since this is deprecated in Mac's 
3965         WebBackForwardList, and doesn't exist on other platforms.
3966         
3967         Added a Page* back pointer so that Mac WebBackForwardList can still support 
3968         its deprecated API, using the new hotness. This isn't a big burden, since 
3969         Page is responsible for calling BackForwardList::close upon destruction, 
3970         anyway.
3971
3972         * history/HistoryItem.cpp: Replaced CachedPage* with boolean that tells
3973         you whether you're in the page cache. This prevents us from having more
3974         than one persistent repository for cached pages.
3975
3976         * history/PageCache.cpp: If you're playing along at home, this code is 
3977         the reason for the patch.
3978
3979         * loader/FrameLoader.cpp: If you're playing along at home, the minuses in
3980         this file are the reason for the patch.
3981         
3982         Replaced call to FrameLoaderClient::loadedFromCachedPage with its one-line
3983         implementation because WebCore calling itself through WebKit is uncivilized.
3984
3985         * page/Settings.cpp: Added support for removing a Page's HistoryItems from
3986         the page cache.
3987
3988 2007-05-25  Mitz Pettel  <mitz@webkit.org>
3989
3990         Reviewed by Darin.
3991
3992         - fix http://bugs.webkit.org/show_bug.cgi?id=13869
3993           Many leaks seen on buildbot after r21735
3994
3995         - fix another regression from r21739: ::-webkit-slider-thumb style not
3996           applied.
3997
3998         Test: fast/forms/slider-thumb-stylability.html
3999
4000         * rendering/RenderSlider.cpp:
4001         (WebCore::RenderSlider::setStyle):
4002         (WebCore::RenderSlider::createThumbStyle):
4003
4004 2007-05-25  Justin Garcia  <justin.garcia@apple.com>
4005
4006         Reviewed by Harrison.
4007
4008         <rdar://problem/5228141> 
4009         REGRESSION: Can't apply style to selection that ends after an image
4010
4011         * editing/ApplyStyleCommand.cpp:
4012         (WebCore::ApplyStyleCommand::applyInlineStyle):
4013         Use range compliant equivalents when creating the Range
4014         used to compute pastEndNode(), otherwise Range's constructor
4015         ASSERTs and pastEndNode() returns null. Added a testcase.
4016         If the incoming Range is collapsed at [br, 0], callers want
4017         the style to be applied to the br, so expand the Range to include
4018         it.  We got away without expanding before because pastEndNode
4019         of a Range from [br, 0] to [br, 0] is the node after the br.
4020         Using range compliant equivalents changed that. There's already
4021         test coverage for this change.
4022         Changed while loop termination for finding the end of a run 
4023         so that we don't process pastEnd.  end.node() may now be 
4024         non-atomic and we'd blow past it. There's already test
4025         coverage for this change.
4026
4027 2007-05-25  Beth Dakin  <bdakin@apple.com>
4028
4029         Rubber stamped by Hyatt
4030
4031         Adding an ASSERT for good measure.
4032
4033         * page/FrameView.cpp:
4034         (WebCore::FrameView::layout):
4035
4036 2007-05-25  Kevin McCullough  <kmccullough@apple.com>
4037  
4038         Reviewed by Geoff.
4039
4040         - <rdar://problem/5183523> REGRESSION: Excel: Worksheet tabs in spreadsheet saved as web page don't work 
4041         - Change load to check the URL as well as the referrer since it is possilbe to have a referrer which limits a load even thought the URL would allow it.  There is a bug about how we need to re-evaluate the whole load architecture: <rdar://problem/5227992> Rethink canLoad() to have a consistent and comprehensive architecture.
4042
4043         * loader/FrameLoader.cpp:
4044         (WebCore::FrameLoader::loadSubframe):
4045         (WebCore::FrameLoader::load):
4046         (WebCore::FrameLoader::canLoad):
4047         * loader/FrameLoader.h:
4048
4049 2007-05-25  Anders Carlsson  <andersca@apple.com>
4050
4051         Reviewed by Brady.
4052
4053         <rdar://problem/5209536>
4054         http://bugs.webkit.org/show_bug.cgi?id=13757
4055         REGRESSION: Leaks seen on buildbot after r21497.
4056         
4057         Fix multipart data loading so it works like Tiger Safari. When one part of a multipart connection has been loaded,
4058         move the subresource loader from the subresource loaders set and into a special multipart subresource loader set. This set 
4059         is not considered when asking a document loader if it's currently loading. 
4060                 
4061         * loader/DocumentLoader.cpp:
4062         (WebCore::DocumentLoader::stopLoading):
4063         Always stop the multipart subresource loaders here.
4064         
4065         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
4066         New function that moves the loader from m_subresourceLoaders to m_multipartSubresourceLoaders and updates the document loader's state.
4067         
4068         * loader/ProgressTracker.cpp:
4069         (WebCore::ProgressTracker::incrementProgress):
4070         If a progress item already exists, reuse it. This can happen in some rare circumstances when dealing with multipart data.
4071         
4072         * loader/SubresourceLoader.cpp:
4073         (WebCore::SubresourceLoader::didReceiveResponse):
4074         Call subresourceLoaderFinishedLoadingOnePart if the response is multipart.
4075
4076 2007-05-25  Patti Hoa  <patti@apple.com>
4077
4078         Reviewed by Tim Hatcher.
4079
4080         <rdar://problem/4918397> Exception raise inspecting note contents in the background
4081         
4082         * bridge/mac/WebCoreAXObject.mm:
4083         (-[WebCoreAXObject accessibilityDescription]):
4084         Only allow asking the attachmentView for description if attachmentView supports this description attribute
4085
4086 2007-05-25  Beth Dakin  <bdakin@apple.com>
4087
4088         Reviewed by Oliver and Hyatt.
4089
4090         Fix for <rdar://problem/5228363> REGRESSION: In Mail, attempting to 
4091         create a To Do results in a crash
4092
4093         This regressed with r21635. Now that -boundingBox updates layout if 
4094         it is needed, we infinitely recurse when Mail draws a custom 
4095         highlight. The fix is to put a guard around laying out the render 
4096         tree.
4097
4098         * page/FrameView.cpp:
4099         (WebCore::FrameViewPrivate::reset):
4100         (WebCore::FrameView::layout):
4101
4102 2007-05-25  Patti Hoa <patti@apple.com>
4103
4104         Reviewed by John Sullivan.
4105         
4106         <rdar://problem/5221986> selection in web areas doesn't seem to be working for text navigation
4107         
4108         * bridge/mac/WebCoreAXObject.mm:
4109         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
4110         Fixed up incorrect string comparison for AXSelectedTextMarkerRange ax attribute so 
4111         this attribute can actually announce its settability. 
4112
4113 2007-05-25  Darin Adler  <darin@apple.com>
4114
4115         Reviewed by Alice.
4116
4117         - fix <rdar://problem/5228048> REGRESSION: In a new Mail message, the caret isn't
4118           immediately inserted when tabbing into or clicking in the message body
4119
4120         This latent problem was uncovered by <http://trac.webkit.org/projects/webkit/changeset/21476>,
4121         which removed some code that did extra work whenever setCaretVisible made the caret visible.
4122
4123         * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Call invalidateCaretRect
4124         when turning the caret on. All other call sites that touched m_caretPaint were doing
4125         this, but this was not.
4126
4127 2007-05-25  Darin Adler  <darin@apple.com>
4128
4129         Reviewed by Harrison.
4130
4131         * DerivedSources.make: Tweaked spelling.
4132
4133 2007-05-25  Mitz Pettel  <mitz@webkit.org>
4134
4135         Reviewed by Darin.
4136
4137         - fix http://bugs.webkit.org/show_bug.cgi?id=13872
4138           REGRESSION: An empty search field can have a cancel button
4139
4140         Test: fast/forms/search-cancel-button-style-sharing.html
4141
4142         * rendering/RenderTextControl.cpp:
4143         (WebCore::RenderTextControl::createCancelButtonStyle): Prevented sharing of
4144         the cancel button style between search fields that share style, because
4145         each search field mutates the style to show and hide the cancel button.
4146
4147 2007-05-25  David Harrison  <harrison@apple.com>
4148
4149         Reviewed by Kevin and Geoff.
4150
4151         * DerivedSources.make:
4152         Add an inclusion guard for CSSGrammar.h and XPathGrammar.h, because older versions of bison do not
4153         
4154         * css/maketokenizer:
4155         Unconditionally define the flex basic types that are not part of newer versions of flex. Was
4156         only needed on Linux. Now needed on Mac OS 10.5, and is OK to do on 10.4.9.
4157
4158 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
4159
4160         Reviewed by Darin Adler.
4161         
4162         Moved JavaScriptCore-related pending public API to public API.
4163
4164         Moved -JSObject
4165
4166         * bindings/objc/WebScriptObjectPendingPublic.h: from here
4167         * bindings/objc/WebScriptObject.h: to here
4168         * bindings/objc/WebScriptObject.mm: and out of its temporary category
4169
4170 2007-05-25  Mitz Pettel  <mitz@webkit.org>
4171
4172         Reviewed by Darin.
4173
4174         - fix http://bugs.webkit.org/show_bug.cgi?id=13767
4175           REGRESSION: Multipart image documents are garbled
4176
4177         Test: http/tests/multipart/invalid-image-data-standalone.html
4178
4179         * loader/DocumentLoader.cpp:
4180         (WebCore::DocumentLoader::isLoadingMultipartContent): Added.
4181         * loader/DocumentLoader.h:
4182         * loader/ImageDocument.cpp:
4183         (WebCore::ImageTokenizer::finish): If the image is multipart, make a copy
4184         of the current part instead of using the resource data, which is going to be
4185         overwritten by the next part.
4186         * loader/MainResourceLoader.h:
4187         (WebCore::MainResourceLoader::isLoadingMultipartContent): Added.
4188
4189 2007-05-25  Anders Carlsson  <andersca@apple.com>
4190
4191         Fix no-svg build.
4192         
4193         * bindings/js/kjs_html.cpp:
4194         (KJS::HTMLElementFunction::callAsFunction):
4195
4196 2007-05-25  Anders Carlsson  <andersca@apple.com>
4197
4198         Reviewed by Mitz.
4199
4200         <rdar://problem/5226788> After resizing the window larger than the image, hovering over the image still shows magnify glass
4201         
4202         One part of the bug was already fixed by my previous commit. This fixes the case where the window is sized so the image fit
4203         after it has been zoomed in.
4204         
4205         * loader/ImageDocument.cpp:
4206         (WebCore::ImageDocument::windowSizeChanged):
4207
4208 2007-05-25  John Sullivan  <sullivan@apple.com>
4209
4210         Reviewed by Anders and Tim
4211
4212         - WebCore change for: 
4213           <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting to grammar/spellcheck a word in a reply 
4214
4215         * editing/Editor.cpp:
4216         (WebCore::findFirstBadGrammarInRange):
4217         Use the more obvious way to check whether a range is empty. In this case the more obvious way
4218         would also have caused no problem to occur. Also added an assertion. Though this change is
4219         enough to fix the symptom of the bug, the real fix is in WebKit.
4220
4221 2007-05-25  Anders Carlsson  <andersca@apple.com>
4222
4223         Reviewed by Darin (Sorta).
4224
4225         * loader/ImageDocument.cpp:
4226         (WebCore::ImageDocument::restoreImageSize):
4227         Use removeProperty here.
4228
4229 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
4230
4231         Reviewed by Darin Adler.
4232
4233         Some cleanup to Cache while Fixing <rdar://problem/5055182> The page cache 
4234         has no global cap.
4235         
4236         * loader/Cache.cpp: Removed destructor to help identify this class as a
4237         singleton.
4238
4239         * loader/Cache.h: Made constructor and destructor private to match the
4240         singleton model of PageCache.
4241         
4242         Put structs related to Cache inside its declaration to fix some namespace
4243         conflicts I had while writing my patch. (They don't exist anymore, but
4244         I figured this might help future development.)
4245
4246 2007-05-24  Geoffrey Garen  <ggaren@apple.com>
4247
4248         Reviewed by Darin Adler.
4249
4250         Fixed a bug with Settings where a number of different objects held bare 
4251         Settings* data members, even though the Page owns the Settings object and 
4252         deletes it upon destruction.
4253
4254         Added NULL checks since the Page can be deleted before the frame/document.
4255
4256         * page/Settings.cpp: Removed reliance on setNeedsReapplyStylesForSettingsChange.
4257
4258         * css/cssstyleselector.cpp: CSSStyleSelector was the worst offender. It 
4259         held a number of back pointers that were not guaranteed. I removed the 
4260         Settings*, Frame*, and FrameView* back pointers, but others could probably 
4261         go, too. I replaced them with a single Document* pointer, which is guaranteed
4262         because the Document owns the CSSStyleSelector.
4263
4264         * page/Page.cpp: Removed setNeedsReapplyStylesForSettingsChange -- the 
4265         Settings object is now a proper subcontroller of Page, so it doesn't need
4266         to use a global table to find its page anymore. Also, this function
4267         confusingly implied that the Frames in a page can have heterogeneous settings,
4268         which is not true.
4269
4270 2007-05-25  David Hyatt  <hyatt@apple.com>
4271
4272         Make sure -webkit-border-fit accounts for padding as well as border.
4273
4274         Reviewed by aroben
4275