bb936b004420614d5d55ffa8c890933828379f71
[WebKit-https.git] / WebCore / ChangeLog
1 2008-03-11  Darin Adler  <darin@apple.com>
2
3         Reviewed by Sam.
4
5         - remove all bridge-related things from WebCore except the bridge itself
6
7         * WebCore.base.exp: Removed the bridge and setBridge functions.
8
9         * loader/FrameLoader.cpp:
10         (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's
11         close method.
12
13         * page/Frame.cpp:
14         (WebCore::Frame::~Frame): Removed call to setBridge(0).
15         (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge.
16         * page/Frame.h: Removed setBridge and bridge functions.
17         * page/FramePrivate.h: Removed m_bridge pointer.
18         * page/mac/FrameMac.mm: Removed setBridge and bridge functions.
19
20         * page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method.
21         Removed bridgeForDOMDocument: and clearFrame methods.
22         * page/mac/WebCoreFrameBridge.mm: Ditto.
23         (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly.
24         (-[WebCoreFrameBridge setWebCoreFrame:]): Added.
25
26 2008-03-11  Darin Adler  <darin@apple.com>
27
28         - restored some code I removed in the Range change; this code can't go
29           until the rest of the Range fix is in
30
31         * dom/Range.cpp:
32         (WebCore::Range::commonAncestorContainer): Added back the check for 0
33         that I removed erroneously in the Range patch.
34         (WebCore::Range::processContents): Left in assertions I used to debug
35         this.
36
37 2008-03-11  Darin Adler  <darin@apple.com>
38
39         - fix Release build
40
41         * platform/mac/ScrollViewMac.mm:
42         (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
43
44 2008-03-11  Darin Adler  <darin@apple.com>
45
46         Reviewed by Anders.
47
48         - simplify Mac code for ScrollView, since it's used only for FrameView
49           and not in two different modes like it was historically
50         - remove code depending on the bridge to get from an NSView to a WebCore::Frame
51
52         * bindings/objc/DOMHTML.mm:
53         (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView.
54
55         * bridge/jni/jni_jsobject.cpp:
56         (createRootObject): Instead of using WebCoreViewFactory to find the frame given
57         and NSView, use the WebCoreFrameView interface to do it.
58
59         * editing/mac/EditorMac.mm:
60         (WebCore::Editor::paste): getDocumentView -> documentView.
61         * editing/mac/SelectionControllerMac.mm:
62         (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto.
63
64         * page/FrameView.h: Fixed comment.
65
66         * page/InspectorController.cpp:
67         (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts
68         to ScrollView* since FrameView is derived from ScrollView.
69
70         * page/mac/EventHandlerMac.mm:
71         (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView.
72         * page/mac/FrameMac.mm:
73         (WebCore::Frame::imageFromRect): Ditto.
74         * page/mac/WebCoreAXObject.mm:
75         (-[WebCoreAXObject position]): Ditto.
76         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
77         (-[WebCoreAXObject rendererForView:]): Updated code that used to use
78         WebCoreBridgeHolder to use WebCoreFrameView instead.
79
80         * page/mac/WebCoreFrameBridge.mm:
81         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
82         getDocumentView -> documentView.
83
84         * page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just
85         use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to
86         WebCoreFrameScrollView, since it's a protocol for the scroll view, not the
87         frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView
88         protocol, which returns a WebCore::Frame directly rather than a bridge.
89
90         * page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method.
91
92         * platform/ScrollView.h: Moved the constructor and destructor out of the
93         class-specific #if blocks. Renamed Mac-specific function that gets the
94         NSView for from getDocumentView to documentView and a scrollView function
95         that returns an appropriately classed NSScrollView.
96
97         * platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView
98         instead of Widget.
99         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
100         (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast.
101
102         * platform/mac/PopupMenuMac.mm:
103         (WebCore::PopupMenu::show): getDocumentView -> documentView.
104         * platform/mac/ScrollViewMac.mm:
105         (WebCore::ScrollView::ScrollView): Added.
106         (WebCore::ScrollView::~ScrollView): Added.
107         (WebCore::ScrollView::scrollView): Added.
108         (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case.
109         (WebCore::ScrollView::visibleHeight): Ditto.
110         (WebCore::ScrollView::visibleContentRect): Ditto.
111         (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto.
112         (WebCore::ScrollView::contentsWidth): Ditto.
113         (WebCore::ScrollView::contentsHeight): Ditto.
114         (WebCore::ScrollView::contentsX): Ditto.
115         (WebCore::ScrollView::contentsY): Ditto.
116         (WebCore::ScrollView::scrollOffset): Ditto.
117         (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto.
118         (WebCore::ScrollView::setContentsPos): Ditto.
119         (WebCore::ScrollView::setVScrollbarMode): Ditto.
120         (WebCore::ScrollView::setHScrollbarMode): Ditto.
121         (WebCore::ScrollView::setScrollbarsMode): Ditto.
122         (WebCore::ScrollView::vScrollbarMode): Ditto.
123         (WebCore::ScrollView::hScrollbarMode): Ditto.
124         (WebCore::ScrollView::suppressScrollbars): Ditto.
125         (WebCore::ScrollView::addChild): Ditto.
126         (WebCore::ScrollView::resizeContents): Ditto.
127         (WebCore::ScrollView::updateContents): Ditto.
128         (WebCore::ScrollView::contentsToWindow): Ditto.
129         (WebCore::ScrollView::windowToContents): Ditto.
130         (WebCore::ScrollView::setStaticBackground): Ditto.
131         (WebCore::ScrollView::documentView): Renamed and removed unused case.
132         (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment.
133
134         * platform/mac/WidgetMac.mm:
135         (WebCore::Widget::getOuterView): Update for protocol name change.
136
137         * rendering/RenderThemeMac.mm:
138         (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView.
139         (WebCore::RenderThemeMac::paintRadio): Ditto.
140         (WebCore::RenderThemeMac::paintButton): Ditto.
141         (WebCore::RenderThemeMac::paintMenuList): Ditto.
142         (WebCore::RenderThemeMac::paintSliderThumb): Ditto.
143         (WebCore::RenderThemeMac::paintSearchField): Ditto.
144         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto.
145         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto.
146         (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto.
147
148 2008-03-11  Brent Fulgham  <bfulgham@gmail.com>
149
150         Reviewed by Adam Roben.
151
152         Split CookieJarWin.cpp into CFNet and non-CFNet versions to
153         reduce the massive amount of conditionalization in the file.
154         (see http://bugs.webkit.org/show_bug.cgi?id=17788)
155
156         * WebCore.vcproj/WebCore.vcproj:
157         * platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp.
158         (WebCore::setCookies):
159         (WebCore::cookies):
160         (WebCore::cookiesEnabled):
161         * platform/network/win/CookieJarWin.cpp:
162         (WebCore::setCookies):
163         (WebCore::cookies):
164         (WebCore::cookiesEnabled):
165
166 2008-03-11  Darin Adler  <darin@apple.com>
167
168         Reviewed by Sam.
169
170         - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
171
172         * page/ChromeClient.h: Added new client functions to replace calls up to WebKit
173         that were formerly handled by the bridge.
174
175         * page/Frame.h: Removed unneeded declarations. Moved declarations of script-specific
176         functions to a ScriptController section. Removed willPopupMenu.
177
178         * page/mac/ChromeMac.mm:
179         (WebCore::Chrome::focusNSView): Changed to call firstResponder and makeFirstResponder
180         via the client instead of the bridge.
181
182         * page/mac/EventHandlerMac.mm:
183         (WebCore::EventHandler::passMouseDownEventToWidget): Changed to call firstResponder
184         and makeFirstResponder via the chrome client instead of the bridge.
185
186         * page/mac/FrameMac.mm: Removed willPopupMenu.
187
188         * page/mac/WebCoreFrameBridge.h: Removed WebCoreFrameBridge protocol and
189         SubclassResponsibility category. Also removed some unneeded imports.
190
191         * platform/mac/PopupMenuMac.mm:
192         (WebCore::PopupMenu::show): Call willPopUpMenu on chrome client instead of frame.
193
194         * platform/mac/WidgetMac.mm:
195         (WebCore::Widget::setIsSelected): Call functions directly on the view rather than
196         calling via the bridge.
197
198 2008-03-11  Darin Adler  <darin@apple.com>
199
200         Reviewed by Mitz.
201
202         - make some Range improvements (preparation for Range support for DOM mutation)
203
204         Made constructors private, added create functions.
205         Made refcount start at 1 rather than starting at 0 and being incremented.
206         Made Range use two Position objects for the start/end container/offset pairs.
207
208         * WebCore.base.exp: Updated.
209
210         * dom/Document.cpp:
211         (WebCore::Document::createRange): Changed to use Range::create.
212         (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
213
214         * dom/Position.cpp:
215         (WebCore::Position::formatForDebugger): Updated for member variable name change.
216         (WebCore::Position::showTreeForThis): Ditto.
217         (WebCore::startPosition): Changed to use Range::startPosition.
218         (WebCore::endPosition): Changed to use Range::endPosition.
219
220         * dom/Position.h: Made the data members public and renamed them to container
221         and offset. But since offset() is already a function, temporarily used posOffset
222         for the data member. Later we'll get rid of offset(). Made more functions inline.
223         Removed the constructor that takes a PositionIterator.
224
225         * dom/PositionIterator.cpp:
226         (WebCore::PositionIterator::operator Position): Added. Replaces the constructor
227         that used to be in Position.
228         * dom/PositionIterator.h: Added conversion operator to produce a Position.
229         Removed friend declaration for Position.
230
231         * dom/Range.cpp:
232         (WebCore::Range::Range): Updated constructors for data member changes and made
233         them use a refcount of 1.
234         (WebCore::Range::create): Added.
235         (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached
236         is now indicated by m_start.container of 0. Also updated to use m_start instead
237         of the old m_startContainer.
238         (WebCore::Range::startOffset): Ditto.
239         (WebCore::Range::endContainer): Ditto.
240         (WebCore::Range::endOffset): Ditto.
241         (WebCore::Range::commonAncestorContainer): Ditto.
242         (WebCore::Range::collapsed): Ditto.
243         (WebCore::Range::setStart): Ditto.
244         (WebCore::Range::setEnd): Ditto.
245         (WebCore::Range::collapse): Ditto.
246         (WebCore::Range::isPointInRange): Ditto.
247         (WebCore::Range::comparePoint): Ditto.
248         (WebCore::Range::compareNode): Ditto.
249         (WebCore::Range::compareBoundaryPoints): Ditto.
250         (WebCore::Range::boundaryPointsValid): Ditto.
251         (WebCore::Range::deleteContents): Ditto.
252         (WebCore::Range::intersectsNode): Ditto.
253         (WebCore::Range::processContents): Ditto.
254         (WebCore::Range::extractContents): Ditto.
255         (WebCore::Range::cloneContents): Ditto.
256         (WebCore::Range::insertNode): Ditto.
257         (WebCore::Range::toString): Ditto.
258         (WebCore::Range::text): Ditto.
259         (WebCore::Range::createContextualFragment): Ditto.
260         (WebCore::Range::detach): Ditto.
261         (WebCore::Range::checkNodeBA): Changed to use switch statements instead of
262         multiple calls to the virtual nodeType() function.
263         (WebCore::Range::cloneRange): Ditto.
264         (WebCore::Range::setStartAfter): Ditto.
265         (WebCore::Range::setEndBefore): Ditto.
266         (WebCore::Range::setEndAfter): Ditto.
267         (WebCore::Range::selectNode): Ditto.
268         (WebCore::Range::selectNodeContents): Ditto.
269         (WebCore::Range::surroundContents): Ditto.
270         (WebCore::Range::setStartBefore): Ditto.
271         (WebCore::Range::checkDeleteExtract): Ditto.
272         (WebCore::Range::containedByReadOnly): Ditto.
273         (WebCore::Range::firstNode): Ditto.
274         (WebCore::Range::editingStartPosition): Ditto.
275         (WebCore::Range::pastLastNode): Ditto.
276         (WebCore::Range::addLineBoxRects): Ditto.
277         (WebCore::Range::formatForDebugger): Ditto.
278         (WebCore::operator==): Ditto.
279         (WebCore::rangeOfContents): Ditto.
280         (WebCore::Range::maxStartOffset): Ditto.
281         (WebCore::Range::maxEndOffset): Ditto.
282
283         * dom/Range.h: Made constructors private. Added create functions.
284         Added getters for startContainer/Offset and endContainer/Offset that
285         return 0 instead of an exception for detached ranges that are inline
286         and don't require an ExceptionCode out parameter. Changed the parameters
287         to setStart and setEnd to PassRefPtr. Removed isDetached function.
288         Made ActionType and processContents private. Made startPosition and
289         endPosition inlines and have then return const&. Renamed startNode and
290         pastEndNode to firstNode and pastLastNode to reduce the chance of
291         confusion with startContainer/endContainer. Used Position for m_start
292         and m_end instead of separate container and offset members. Changed
293         maxStartOffset and maxEndOffset into int to match other offsets.
294
295         * editing/ApplyStyleCommand.cpp:
296         (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create.
297         (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
298         * editing/CompositeEditCommand.cpp:
299         (WebCore::CompositeEditCommand::inputText): Ditto.
300         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
301         * editing/DeleteSelectionCommand.cpp:
302         (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
303         * editing/Editor.cpp:
304         (WebCore::Editor::fontForSelection): Changed for pastLastNode name change.
305         (WebCore::Editor::setComposition): Changed to use Range::create.
306         (WebCore::paragraphAlignedRangeForRange): Ditto.
307         (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for
308         isDetached and check for 0 from startContainer instead.
309         (WebCore::Editor::compositionRange): Changed to use Range::create.
310         * editing/EditorCommand.cpp:
311         (WebCore::unionDOMRanges): Ditto.
312         * editing/Selection.cpp:
313         (WebCore::Selection::toRange): Ditto.
314         * editing/TextIterator.cpp:
315         (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode
316         name change.
317         (WebCore::TextIterator::range): Changed to use Range::create.
318         (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
319         (WebCore::TextIterator::subrange): Ditto.
320         * editing/VisiblePosition.cpp:
321         (WebCore::makeRange): Ditto.
322         * editing/VisiblePosition.h: Added now-needed include.
323         * editing/htmlediting.cpp:
324         (WebCore::indexForVisiblePosition): Changed to use Range::create.
325         (WebCore::avoidIntersectionWithNode): Changed to get rid of check for
326         isDetached and check for 0 instead and to use Range::create.
327         * editing/markup.cpp:
328         (WebCore::renderedText): Changed to use Range::create.
329         (WebCore::createMarkup): Changed to no longer use isDetached and also
330         for new firstNode/pastEndNode names.
331         (WebCore::createFragmentFromText): Ditto.
332         * editing/visible_units.cpp:
333         (WebCore::previousBoundary): Changed to use Range::create.
334         * page/mac/WebCoreFrameBridge.mm:
335         (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use
336         isDetached().
337         * rendering/RenderTextControl.cpp:
338         (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create.
339         (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.
340
341 2008-03-11  Daniel Zucker <zucker@wake3.com>
342
343         Reviewed by Adam Roben.
344
345         There are a handful of placed where the use of CFNetwork-specific
346         calls are protected by PLATFORM(CF).  Revise to use the more specific
347         USE(CFNETWORK) macro.  (See http://bugs.webkit.org/show_bug.cgi?id=17783) 
348
349         * platform/network/ProtectionSpace.cpp:  Change PLATFORM(CF) to USE(CFNETWORK)
350         * platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
351         * platform/network/win/CookieJarWin.cpp:  Correct error in
352           InternetGetCookie call.  Conditionalize 'cookiesEnabled' the same
353           as all other implementations in this file.
354
355 2008-03-11  Xan Lopez  <xan@gnome.org>
356
357         Reviewed by Alp Toker.
358
359         http://bugs.webkit.org/show_bug.cgi?id=16476
360
361         Add libsoup HTTP backend.
362         
363         * GNUmakefile.am:
364         * platform/network/ResourceHandleInternal.h:
365         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
366         * platform/network/soup/AuthenticationChallenge.h: Added.
367         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
368         * platform/network/soup/ResourceError.h: Added.
369         (WebCore::ResourceError::ResourceError):
370         * platform/network/soup/ResourceHandleSoup.cpp: Added.
371         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
372         (WebCore::ResourceHandle::~ResourceHandle):
373         (WebCore::dataCallback):
374         (WebCore::parseDataUrl):
375         (WebCore::ResourceHandle::start):
376         (WebCore::ResourceHandle::cancel):
377         (WebCore::ResourceHandle::bufferedData):
378         (WebCore::ResourceHandle::supportsBufferedData):
379         (WebCore::ResourceHandle::setDefersLoading):
380         (WebCore::ResourceHandle::loadsBlocked):
381         (WebCore::ResourceHandle::willLoadFromCache):
382         * platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h.
383         (WebCore::ResourceRequest::ResourceRequest):
384         (WebCore::ResourceRequest::doUpdatePlatformRequest):
385         * platform/network/soup/ResourceResponse.h: Added.
386         (WebCore::ResourceResponse::ResourceResponse):
387         (WebCore::ResourceResponse::setResponseFired):
388         (WebCore::ResourceResponse::responseFired):
389         (WebCore::ResourceResponse::doUpdateResourceResponse):
390
391 2008-03-11  Rodney Dawes  <dobey@wayofthemonkey.com>
392
393         Fix Qt build.
394
395         * plugins/qt/PluginDataQt.cpp:
396         (PluginData::initPlugins)
397
398 2008-03-11  Adam Roben  <aroben@apple.com>
399
400         Make attribute quoting in DOM view more consistent with source view
401
402         Two changes which make the DOM view more consistent with source view:
403          1) We now quote all attribute values, including URLs
404          2) The quotes around the values are now purple, matching the left and
405             right angle brackets that surround the tag
406
407         One bug fixed by these changes:
408          1) The entire URL is selected for editing when you double-click a URL
409             that is an attribute value. Previously, the first and last
410             characters were not included in the selection.
411
412         Reviewed by Darin.
413
414         * page/inspector/DocumentPanel.js:
415         (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need
416         to account for the quotes around attribute values anymore because the
417         quotes are now outside the webkit-html-attribute-value span.
418         * page/inspector/utilities.js:
419         (nodeTitleInfo): Quote all attribute values, including URLs, and place
420         the quotes outside the webkit-html-attribute-value span.
421
422 2008-03-11  Adam Roben  <aroben@apple.com>
423
424         Stop including pthread.h in WebCore on Windows
425
426         Reviewed by Darin.
427
428         * WebCore.vcproj/WebCore.vcproj:
429           - Changed the include path to not contain pthreads/
430           - Let VS remove a duplicate FileConfiguration element
431           - Let VS have its way with the file ordering
432         * WebCorePrefix.h: Made the #include of pthread.h be compiled out on
433         Windows.
434         * loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of
435         localtime_r (pthread.h was providing a macro that substituted plain
436         old localtime before, but localtime_s is "more secure", so I went with
437         that).
438         * loader/FTPDirectoryParser.cpp: Ditto for gmtime_r.
439
440 2008-03-11  Adam Roben  <aroben@apple.com>
441
442         Roll out r30961 since it broke the default site icon on Windows
443
444         * loader/icon/IconDatabase.cpp:
445         (WebCore::IconDatabase::defaultIcon):
446
447 2008-03-11  Dan Bernstein  <mitz@apple.com>
448
449         Reviewed by Darin Adler.
450
451         - clean up line layout code
452
453         * platform/graphics/GraphicsContext.cpp:
454         (WebCore::TextRunIterator::increment): Removed the resolver parameter.
455         (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to
456         createBidiRunsForLine(), which no longer takes a start parameter.
457         * platform/text/BidiResolver.h:
458         (WebCore::BidiResolver::): Made Noncopyable and removed the
459         m_adjustEmbedding member variable.
460         (WebCore::BidiResolver::position): Added. Returns the resolver's current
461         position.
462         (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current
463         position without changing any other state.
464         (WebCore::BidiResolver::increment): Added. Advances the resolver to the
465         next position, allowing the iterator to push and pop embedding.
466         (WebCore::BidiResolver::appendRun): Removed the resolver parameter in
467         the call to increment().
468         (WebCore::BidiResolver::embed): Removed code to save, set and restore
469         m_adjustEmbedding.
470         (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a
471         'start' iterator. Instead, start at the current position. Removed code
472         to set m_adjustEmbedding. Changed for noncopyability.
473         * rendering/RenderBlock.h:
474         * rendering/bidi.cpp:
475         (WebCore::bidiNext): Made the resolver parameter optional. Changed to
476         null-check the 'end of inline' pointer only twice.
477         (WebCore::bidiFirst): Made the resolver parameter optional.
478         (WebCore::BidiIterator::increment): Ditto.
479         (WebCore::BidiState::increment): Added. Overrides the default
480         BidiResolver::increment() method by passing the resolver to
481         BidiIterator::increment().
482         (WebCore::checkMidpoints): Removed the resolver parameter.
483         (WebCore::BidiState::appendRun): Removed code to save, set and restore
484         m_adjustEmbedding. Adjusted for change to increment().
485         (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter
486         and unreachable code.
487         (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/
488         (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize
489         the resolver from this method to determineStartPosition(). Unified the
490         resolver with the 'start' iterator. Removed unreachable code. Moved one
491         statement from the beginning of the while loop to the end.
492         (WebCore::RenderBlock::determineStartPosition): Moved code to initialize
493         the resolver from layoutInlineChildren() into this method.
494         (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and
495         the 'start' iterator being one object.
496         (WebCore::skipNonBreakingSpace): Made the parameter const.
497         (WebCore::requiresLineBox): Ditto.
498         (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for
499         the change to BidiIterator::increment().
500         (WebCore::RenderBlock::skipWhitespace): Made two versions of this
501         method, one for BidiIterator and one for BidiState.
502         (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver
503         parameter.
504         (WebCore::RenderBlock::findNextLineBreak): Removed the resolver
505         parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous'
506         variable and changed the 'last' variable to do its job.
507         * rendering/bidi.h:
508
509 2008-03-10  Adam Roben  <aroben@apple.com>
510
511         Part of Bug 17224: DOM nodes/attributes should be editable
512
513         <http://bugs.webkit.org/show_bug.cgi?id=17224>
514         <rdar://problem/5732825>
515
516         This patch makes text nodes editable via double-click.
517
518         Reviewed by Tim.
519
520         * page/inspector/DocumentPanel.js:
521         (WebInspector.DOMNodeTreeElement._startEditing):
522           - Moved most of this code to _startEditingAttribute
523           - Calls _startEditingTextNode or _startEditingAttribute as
524             appropriate
525         (WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code
526         came from _startEditing.
527         (WebInspector.DOMNodeTreeElement._startEditingTextNode): Added.
528         (WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added.
529         (WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from
530         _attributeEditingCancelled.
531         * page/inspector/utilities.js:
532         (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so
533         that we can easily recognize/edit them.
534
535 2008-03-11  Holger Hans Peter Freyther  <zecke@selfish.org>
536
537         Reviewed by Darin.
538
539         r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
540         not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
541         to theme this icon and the Gtk+ platform will probably end up with themable icons
542         as well.
543         
544         Remove dead code from the windows port and move the urlIcon from the windows
545         directory to the Resource directory to be used by Qt and other ports.
546         
547         Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
548         it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
549         once it does it wants to use this for getting the urlIcon as well.
550
551         * Resources/urlIcon.png: Renamed from WebKit/win/WebKit.vcproj/urlIcon.png.
552         * loader/icon/IconDatabase.cpp:
553         (WebCore::IconDatabase::defaultIcon):
554
555 2008-03-11  Tor Arne Vestbø  <tavestbo@trolltech.com>
556
557         Reviewed by Darin.
558
559         Implemented HTML media element support for QtWebKit, using Phonon.
560
561         http://bugs.webkit.org/show_bug.cgi?id=17766
562
563         * WebCore.pro:
564         * platform/graphics/MediaPlayer.cpp:
565         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Added.
566         (debugMediaObject):
567         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
568         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
569         (WebCore::MediaPlayerPrivate::getSupportedTypes):
570         (WebCore::MediaPlayerPrivate::hasVideo):
571         (WebCore::MediaPlayerPrivate::load):
572         (WebCore::MediaPlayerPrivate::cancelLoad):
573         (WebCore::MediaPlayerPrivate::play):
574         (WebCore::MediaPlayerPrivate::pause):
575         (WebCore::MediaPlayerPrivate::paused):
576         (WebCore::MediaPlayerPrivate::seek):
577         (WebCore::MediaPlayerPrivate::seeking):
578         (WebCore::MediaPlayerPrivate::duration):
579         (WebCore::MediaPlayerPrivate::currentTime):
580         (WebCore::MediaPlayerPrivate::setEndTime):
581         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
582         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
583         (WebCore::MediaPlayerPrivate::bytesLoaded):
584         (WebCore::MediaPlayerPrivate::totalBytesKnown):
585         (WebCore::MediaPlayerPrivate::totalBytes):
586         (WebCore::MediaPlayerPrivate::setRate):
587         (WebCore::MediaPlayerPrivate::setVolume):
588         (WebCore::MediaPlayerPrivate::setMuted):
589         (WebCore::MediaPlayerPrivate::dataRate):
590         (WebCore::MediaPlayerPrivate::networkState):
591         (WebCore::MediaPlayerPrivate::readyState):
592         (WebCore::MediaPlayerPrivate::updateStates):
593         (WebCore::MediaPlayerPrivate::setVisible):
594         (WebCore::MediaPlayerPrivate::setRect):
595         (WebCore::MediaPlayerPrivate::loadStateChanged):
596         (WebCore::MediaPlayerPrivate::rateChanged):
597         (WebCore::MediaPlayerPrivate::sizeChanged):
598         (WebCore::MediaPlayerPrivate::timeChanged):
599         (WebCore::MediaPlayerPrivate::volumeChanged):
600         (WebCore::MediaPlayerPrivate::didEnd):
601         (WebCore::MediaPlayerPrivate::loadingFailed):
602         (WebCore::MediaPlayerPrivate::naturalSize):
603         (WebCore::MediaPlayerPrivate::eventFilter):
604         (WebCore::MediaPlayerPrivate::repaint):
605         (WebCore::MediaPlayerPrivate::paint):
606         (WebCore::MediaPlayerPrivate::stateChanged):
607         (WebCore::MediaPlayerPrivate::tick):
608         (WebCore::MediaPlayerPrivate::metaDataChanged):
609         (WebCore::MediaPlayerPrivate::seekableChanged):
610         (WebCore::MediaPlayerPrivate::hasVideoChanged):
611         (WebCore::MediaPlayerPrivate::bufferStatus):
612         (WebCore::MediaPlayerPrivate::finished):
613         (WebCore::MediaPlayerPrivate::currentSourceChanged):
614         (WebCore::MediaPlayerPrivate::aboutToFinish):
615         (WebCore::MediaPlayerPrivate::prefinishMarkReached):
616         (WebCore::MediaPlayerPrivate::totalTimeChanged):
617         * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Added.
618         (WebCore::MediaPlayerPrivate::):
619         (WebCore::MediaPlayerPrivate::isAvailable):
620
621 2008-03-10  Sam Weinig  <sam@webkit.org>
622
623         Reviewed by Beth Dakin.
624
625         Throw a SECURITY_ERR when accessing a tainted canvas
626         by CanvasRenderingContext2D::getImageData() and
627         HTMLCanvasElement::toDataURL().
628
629         * html/CanvasRenderingContext2D.cpp:
630         (WebCore::CanvasRenderingContext2D::getImageData):
631         * html/CanvasRenderingContext2D.h:
632         * html/CanvasRenderingContext2D.idl:
633         * html/HTMLCanvasElement.cpp:
634         (WebCore::HTMLCanvasElement::toDataURL):
635         * html/HTMLCanvasElement.h:
636         * html/HTMLCanvasElement.idl:
637
638 2008-03-10  Justin Garcia  <justin.garcia@apple.com>
639
640         Reviewed by Sam.
641
642         <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
643
644         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
645         (WebCore::hasCSSPropertyNamePrefix): Fixed a typo.  The code was only
646         comparing the first character of the prefix to the first character
647         of the property name.
648
649 2008-03-10  Andre Boule  <aboule@apple.com>
650
651         Reviewed by Beth.
652
653         Hold off on initializing the frame to avoid the RenderView getting 
654         a null FrameView. This could potentially cause problems.
655
656         * svg/graphics/SVGImage.cpp:
657         (WebCore::SVGImage::dataChanged):
658
659 2008-03-10  Darin Adler  <darin@apple.com>
660
661         - try to fix Qt build
662
663         * bridge/qt/qt_runtime.cpp:
664         (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
665
666 2008-03-10  Darin Adler  <darin@apple.com>
667
668         Reviewed by Antti.
669
670         - fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab
671           should be redrawn as visited immediately
672         - fix <rdar://problem/4382809> Going "back" a page doesn't change the color of
673           the visited URL at directory.umi
674         - fix http://bugs.webkit.org/show_bug.cgi?id=4941
675           Visited links should be marked as visited
676         - fix http://bugs.webkit.org/show_bug.cgi?id=7960
677           REGRESSION: Visited link color doesn't displayed after loading page from cache
678
679         We now mark all links on a page as "changed" at the appropriate times.
680
681         * WebCore.base.exp: Update since I made completeURL be a const member function.
682
683         * css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned
684         into locals. Also changed some static data members to file-scoped globals with
685         internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the
686         prefix on m_styleNotYetAvailable to s_styleNotYetAvailable.
687         (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes.
688         (WebCore::parseUASheet): Tweak the comment.
689         (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to
690         use local variables instead of globals where possible.
691         (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so
692         it can store the link in a hash. Also changed it to have a return value instead
693         of having it modify a global variable. Added code to put the hash into a set so
694         we can tell later if this is one of the links that affects this page.
695         (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to
696         checkPseudoState.
697         (WebCore::CSSStyleSelector::matchUARules): Updated for name changes.
698         (WebCore::CSSStyleSelector::styleForElement): Ditto.
699         (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto.
700         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read
701         the SVG style sheet to use a boolean global and put it right here in the function
702         since this is the only code that needs to know about it.
703         (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes.
704         (WebCore::colorForCSSValue): Moved code inside the function that is not needed
705         anywhere else.
706         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change
707         to checkPseudoState.
708         (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on
709         all links if there were any in the set.
710         (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all
711         links if the one that changed is in the set.
712
713         * css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made
714         CSSStyleSelector derive from Noncopyable. Made lots of member functions private that
715         didn't need to be public, and removed others that could be made into non-member
716         functions. Changed pseudoStyleRulesForElement to take a const String& instead of
717         a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions.
718         Got rid of unneeded friend declarations.
719
720         * dom/Document.cpp:
721         (WebCore::Document::completeURL): Made const.
722         (WebCore::findSlashDotDotSlash): Moved here from PageGroup.
723         (WebCore::findSlashSlash): Ditto.
724         (WebCore::findSlashDotSlash): Ditto.
725         (WebCore::containsColonSlashSlash):
726         (WebCore::cleanPath): Ditto.
727         (WebCore::matchLetter): Ditto.
728         (WebCore::needsTrailingSlash): Ditto.
729         (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is
730         the poor-man's completeURL function. The idea of putting it here is that this
731         way it can be alongside the real completeURL function. Later we should figure out
732         a way to make this function share more code with the real thing and match behavior.
733
734         * dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
735
736         * page/DOMWindow.cpp:
737         (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
738
739         * page/Page.cpp:
740         (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all
741         style selectors.
742         (WebCore::Page::visitedStateChanged): Ditto.
743         * page/Page.h: Added the above functions.
744
745         * page/PageGroup.cpp:
746         (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter.
747         The CSSStyleSelector now handles actually computing the hash, and it does so by
748         calling code in Document.
749         (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share
750         a bit more code. Added code that calls visitedStateChanged if a new link was added.
751         (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged
752         if any visited links are removed.
753         * page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct
754         definition here.
755
756         * platform/text/StringHash.h:
757         (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with
758         the StringImpl::computeHash function, using the same technique for avoiding 0.
759         (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h.
760         (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
761
762         * rendering/RenderStyle.cpp:
763         (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead
764         of getting directly at a data member so the data member could be made private.
765
766         * loader/FrameLoader.cpp:
767         (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll.
768         (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
769         * loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
770
771 2008-03-10  Adam Roben  <aroben@apple.com>
772
773         Part of Bug 17224: DOM nodes/attributes should be editable
774
775         <http://bugs.webkit.org/show_bug.cgi?id=17224>
776         <rdar://problem/5732825>
777
778         This patch makes DOM attributes editable via double-click.
779
780         Reviewed by Tim.
781
782         * page/inspector/DocumentPanel.js:
783         (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if
784         we're being edited, since we want default editing behaviors to work.
785         (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing
786         before doing anything else.
787         (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only
788         lets you edit attributes.
789         (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added.
790         Uses a scratch element to get the new attribute(s) parsed, then sets
791         the attribute(s) on the node in the inspected document.
792         (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added.
793         (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the
794         representation of the node in the Inspector's DOM tree to reflect
795         the node's current state.
796         * page/inspector/inspector.css: Made the .editing class apply
797         everywhere.
798         * page/inspector/utilities.js:
799         (nodeTitleInfo): Changed to surround attribute name/value pairs in a
800         webkit-html-attribute span so that we can easily edit the pair as a
801         whole.
802
803 2008-03-10  David Kilzer  <ddkilzer@apple.com>
804
805         Fix 64-bit builds.
806
807         Reviewed by Stephanie.
808
809         WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
810         so we must exclude the _NPN symbols when creating WebCore.LP64.exp.
811
812         * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to
813         r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
814
815 2008-03-10  Eric Seidel  <eric@webkit.org>
816
817         Reviewed by Darin.
818
819         Remove KJS::UChar, use ::UChar instead
820         http://bugs.webkit.org/show_bug.cgi?id=17017
821
822         To functional changes, thus no tests.
823
824         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
825         (WebCore::hasCSSPropertyNamePrefix):
826         (WebCore::cssPropertyName):
827         * bindings/js/JSDOMWindowBase.cpp:
828         (WebCore::windowProtoFuncAToB):
829         (WebCore::windowProtoFuncBToA):
830         * bindings/js/JSSVGPODTypeWrapper.h:
831         * bindings/js/kjs_proxy.cpp:
832         (WebCore::KJSProxy::evaluate):
833         * bridge/objc/objc_utility.mm:
834         (KJS::Bindings::throwError):
835         * dom/Document.cpp:
836         (WebCore::Document::parseQualifiedName):
837         * platform/text/AtomicString.cpp:
838         (WebCore::AtomicString::add):
839         * platform/text/String.cpp:
840         (WebCore::String::String):
841         (WebCore::String::operator Identifier):
842         (WebCore::String::operator UString):
843         * platform/text/TextCodecICU.cpp:
844         (WebCore::TextCodecICU::decode):
845         * svg/SVGAnimatedTemplate.h:
846
847 2008-03-10  Darin Adler  <darin@apple.com>
848
849         Reviewed by Sam.
850
851         - eliminate keyboard UI mode method from WebCoreFrameBridge
852
853         * page/ChromeClient.h: Added keyboardUIMode function.
854         (WebCore::ChromeClient::keyboardUIMode): Ditto.
855         * page/mac/EventHandlerMac.mm:
856         (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead
857         of bridge function.
858         * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused
859         ones.
860
861         * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project.
862         Do not try to fight the Xcode.
863
864 2008-03-10  Darin Adler  <darin@apple.com>
865
866         - oops, forgot to save last couple changes from the editor
867
868         * bindings/js/JSDOMWindowCustom.cpp:
869         (WebCore::markDOMObjectWrapper): Tweaked a tiny bit.
870         (WebCore::JSDOMWindow::mark): Sorted alphabetically.
871
872 2008-03-10  Darin Adler  <darin@apple.com>
873
874         Reviewed by Geoff.
875
876         - fix failing regression test (window.navigator is getting garbage
877           collected and thus losing its custom properties)
878
879         * bindings/js/JSDOMWindowCustom.cpp:
880         (WebCore::markDOMObject): Added helper function.
881         (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang
882         off the window object.
883
884         * page/DOMWindow.h:
885         (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without
886         creating it if it's already there.
887         (WebCore::DOMWindow::optionalSelection): Ditto.
888         (WebCore::DOMWindow::optionalHistory): Ditto.
889         (WebCore::DOMWindow::optionalLocationbar): Ditto.
890         (WebCore::DOMWindow::optionalMenubar): Ditto.
891         (WebCore::DOMWindow::optionalPersonalbar): Ditto.
892         (WebCore::DOMWindow::optionalScrollbars): Ditto.
893         (WebCore::DOMWindow::optionalStatusbar): Ditto.
894         (WebCore::DOMWindow::optionalToolbar): Ditto.
895         (WebCore::DOMWindow::optionalConsole): Ditto.
896         (WebCore::DOMWindow::optionalNavigator): Ditto.
897
898         * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in
899         alphabetical order since there are a lot of them.
900
901 2008-03-10  Darin Adler  <darin@apple.com>
902
903         Reviewed by Sam.
904
905         - eliminate Java applet methods from WebCoreFrameBridge
906
907         * loader/FrameLoaderClient.h: Added a javaApplet function.
908         * page/mac/FrameMac.mm:
909         (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code.
910         Use the loader client instead of the bridge to get the applet.
911         * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and
912         pollForAppletInView methods. Also removed other unused things.
913
914 2008-03-10  Marc-Antoine Ruel  <maruel@gmail.com>
915
916         Reviewed by Eric, landed by Darin.
917
918         http://bugs.webkit.org/show_bug.cgi?id=16095
919         Move GraphicsContextPrivate to its own header file.
920
921         Moves GraphicsContextState and GraphicsContextPrivate to its
922         own header
923
924         * WebCore.vcproj/WebCore.vcproj:
925         * platform/graphics/GraphicsContext.cpp:
926         * platform/graphics/GraphicsContextPrivate.h: Added.
927         (WebCore::GraphicsContextState::GraphicsContextState):
928         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
929
930 2008-03-10  Julien Chaffraix  <julien.chaffraix@gmail.com>
931
932         Reviewed and landed by Darin.
933
934         bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
935
936         Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
937         by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.
938
939         * bindings/js/kjs_binding.cpp:
940         (WebCore::setDOMException): Removed PERMISSION_DENIED code.
941         * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
942         * dom/ExceptionCode.h: Ditto.
943         * xml/XMLHttpRequest.cpp:
944         (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
945         * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.
946
947 2008-03-09  Adam Roben  <aroben@apple.com>
948
949         Refactor CSS editing code so we can share it with DOM editing
950
951         Add WebInspector.startEditing, which takes the element to be edited, a
952         committedCallback, a cancelledCallback, and a context parameter. This
953         function takes care of setting up the element for editing, and calls
954         either the cancelledCallback or committedCallback when editing ends.
955
956         Reviewed by Tim.
957
958         * page/inspector/StylesSidebarPane.js:
959         (WebInspector.StylePropertyTreeElement.startEditing):
960           - Call WebInspector.isBeingEdited and WebInspector.startEditing
961           - Removed code now handled by WebInspector.startEditing
962         (WebInspector.StylePropertyTreeElement.editingEnded):
963           - Renamed from endEditing
964           - Removed code now handled by WebInspector.startEditing
965         (WebInspector.StylePropertyTreeElement.editingCancelled):
966           - Renamed from cancelEditing
967           - Changed parameters to match WebInspector.startEditing's
968             cancelledCallback
969         (WebInspector.StylePropertyTreeElement.editingCommitted):
970           - Renamed from commitEditing
971           - Changed parameters to match WebInspector.startEditing's
972             committedCallback
973         * page/inspector/inspector.js:
974         (WebInspector.changeFocus): Changed a call to firstParentWithClassName
975         to firstParentOrSelfWithClassName so that if the focusable element
976         itself is the target it will be recognized. I don't know why this
977         change wasn't needed before this.
978         (WebInspector.isBeingEdited): Added.
979         (WebInspector.startEditing): Added.
980
981 2008-03-10  Adam Roben  <aroben@apple.com>
982
983         Windows build fix
984
985         * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
986         $(WebKitOutputDir) instead of hard-coding WebKitBuild.
987
988 2008-03-10  Darin Adler  <darin@apple.com>
989
990         * DerivedSources.make: Merge plug-in-related changes with the new way of handling
991         autogenerated DOM classes.
992
993 2008-03-10  Johnny Ding  <johnnyding.webkit@gmail.com>
994
995         Reviewed, tweaked and landed by Alexey.
996
997         - fix http://bugs.webkit.org/show_bug.cgi?id=17732        
998
999         We didn't have a fallback to frame encoding in the case of loading a script via
1000         changing its src attribute.
1001
1002         Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html
1003
1004         * html/HTMLScriptElement.cpp:
1005         (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
1006         charset for correct decoding of script content.
1007         (WebCore::HTMLScriptElement::insertedIntoDocument):
1008         (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
1009         for the script (as much as can be determined prior to loading it).
1010         * html/HTMLScriptElement.h:
1011         * html/HTMLTokenizer.cpp:
1012         (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
1013         decoding of script content.
1014
1015 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1016
1017         Reviewed by Lars.
1018
1019         Fix reference counting of returned MimeType and Plugin objects
1020         created in the array wrappers.
1021
1022         * plugins/MimeTypeArray.cpp:
1023         * plugins/MimeTypeArray.h:
1024         * plugins/Plugin.cpp:
1025         * plugins/Plugin.h:
1026         * plugins/PluginArray.cpp:
1027         * plugins/PluginArray.h:
1028
1029 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1030
1031         Wx linking fix.
1032
1033         Added missing stubs for PluginData.
1034
1035         * platform/wx/TemporaryLinkStubs.cpp:
1036
1037 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1038
1039         Windows build fix that I forgot to merge earlier ;(
1040
1041         Forward declare Page as class, not struct.
1042
1043         * plugins/PluginData.h:
1044
1045 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1046
1047         Attempt to fix the Wx build.
1048
1049         * WebCoreSources.bkl:
1050
1051 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
1052
1053         Reviewed by Darin.
1054
1055         Done with Lars.
1056
1057         http://bugs.webkit.org/show_bug.cgi?id=16815
1058
1059         Ported the manually written JS bindings of window.navigator,
1060         window.navigator.plugins and window.navigator.mimeTypes to
1061         auto-generated bindings.
1062
1063         Moved the globally cached plugin and mimetype information to a
1064         per WebCore::Page shared PluginData structure.
1065
1066         Implemented window.navigator.plugins.refresh() in a
1067         platform-independent way.
1068
1069         * DerivedSources.make:
1070         * GNUmakefile.am:
1071         * WebCore.pro:
1072         * WebCore.vcproj/WebCore.vcproj:
1073         * WebCore.xcodeproj/project.pbxproj:
1074         * bindings/js/JSDOMWindowBase.cpp:
1075         (WebCore::JSDOMWindowBase::getValueProperty):
1076         * bindings/js/JSMimeTypeArrayCustom.cpp: Added.
1077         (WebCore::JSMimeTypeArray::canGetItemsForName):
1078         (WebCore::JSMimeTypeArray::nameGetter):
1079         * bindings/js/JSNavigatorCustom.cpp: Added.
1080         (WebCore::needsYouTubeQuirk):
1081         (WebCore::JSNavigator::appVersion):
1082         * bindings/js/JSPluginArrayCustom.cpp: Added.
1083         (WebCore::JSPluginArray::canGetItemsForName):
1084         (WebCore::JSPluginArray::nameGetter):
1085         * bindings/js/JSPluginCustom.cpp: Added.
1086         (WebCore::JSPlugin::canGetItemsForName):
1087         (WebCore::JSPlugin::nameGetter):
1088         * bindings/js/kjs_navigator.cpp: Removed.
1089         * bindings/js/kjs_navigator.h: Removed.
1090         * dom/Clipboard.cpp:
1091         * dom/DOMImplementation.cpp:
1092         (WebCore::DOMImplementation::createDocument):
1093         * loader/FrameLoader.cpp:
1094         (WebCore::FrameLoader::shouldUsePlugin):
1095         * page/DOMWindow.cpp:
1096         (WebCore::DOMWindow::clear):
1097         (WebCore::DOMWindow::navigator):
1098         * page/DOMWindow.h:
1099         * page/DOMWindow.idl:
1100         * page/DragController.cpp:
1101         * page/Frame.cpp:
1102         * page/Frame.h:
1103         * page/Navigator.cpp: Added.
1104         (WebCore::Navigator::Navigator):
1105         (WebCore::Navigator::~Navigator):
1106         (WebCore::Navigator::disconnectFrame):
1107         (WebCore::Navigator::appCodeName):
1108         (WebCore::Navigator::appName):
1109         (WebCore::Navigator::appVersion):
1110         (WebCore::Navigator::language):
1111         (WebCore::Navigator::userAgent):
1112         (WebCore::Navigator::platform):
1113         (WebCore::Navigator::plugins):
1114         (WebCore::Navigator::mimeTypes):
1115         (WebCore::Navigator::product):
1116         (WebCore::Navigator::productSub):
1117         (WebCore::Navigator::vendor):
1118         (WebCore::Navigator::vendorSub):
1119         (WebCore::Navigator::cookieEnabled):
1120         (WebCore::Navigator::javaEnabled):
1121         * page/Navigator.h: Added.
1122         (WebCore::Navigator::create):
1123         (WebCore::Navigator::frame):
1124         * page/Navigator.idl: Added.
1125         * page/Page.cpp:
1126         (WebCore::Page::refreshPlugins):
1127         (WebCore::Page::pluginData):
1128         * page/Page.h:
1129         * page/Plugin.h: Removed.
1130         * page/mac/FrameMac.mm:
1131         * page/mac/WebCoreFrameBridge.mm:
1132         (-[WebCoreFrameBridge canProvideDocumentSource]):
1133         * page/mac/WebCoreViewFactory.h:
1134         * page/qt/FrameQt.cpp:
1135         * page/win/FrameWin.cpp:
1136         * platform/gtk/TemporaryLinkStubs.cpp:
1137         * platform/mac/PlugInInfoStoreMac.mm: Removed.
1138         * platform/qt/MIMETypeRegistryQt.cpp:
1139         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1140         * plugins/MimeType.cpp: Added.
1141         (WebCore::MimeType::MimeType):
1142         (WebCore::MimeType::~MimeType):
1143         (WebCore::MimeType::type):
1144         (WebCore::MimeType::suffixes):
1145         (WebCore::MimeType::description):
1146         (WebCore::MimeType::enabledPlugin):
1147         * plugins/MimeType.h: Added.
1148         (WebCore::MimeType::create):
1149         * plugins/MimeType.idl: Added.
1150         * plugins/MimeTypeArray.cpp: Added.
1151         (WebCore::MimeTypeArray::MimeTypeArray):
1152         (WebCore::MimeTypeArray::~MimeTypeArray):
1153         (WebCore::MimeTypeArray::length):
1154         (WebCore::MimeTypeArray::item):
1155         (WebCore::MimeTypeArray::canGetItemsForName):
1156         (WebCore::MimeTypeArray::nameGetter):
1157         (WebCore::MimeTypeArray::getPluginData):
1158         * plugins/MimeTypeArray.h: Added.
1159         (WebCore::MimeTypeArray::create):
1160         (WebCore::MimeTypeArray::disconnectFrame):
1161         * plugins/MimeTypeArray.idl: Added.
1162         * plugins/Plugin.cpp: Added.
1163         (WebCore::Plugin::Plugin):
1164         (WebCore::Plugin::~Plugin):
1165         (WebCore::Plugin::name):
1166         (WebCore::Plugin::filename):
1167         (WebCore::Plugin::description):
1168         (WebCore::Plugin::length):
1169         (WebCore::Plugin::item):
1170         (WebCore::Plugin::canGetItemsForName):
1171         (WebCore::Plugin::nameGetter):
1172         * plugins/Plugin.h: Added.
1173         (WebCore::Plugin::create):
1174         * plugins/Plugin.idl: Added.
1175         * plugins/PluginArray.cpp: Added.
1176         (WebCore::PluginArray::PluginArray):
1177         (WebCore::PluginArray::~PluginArray):
1178         (WebCore::PluginArray::length):
1179         (WebCore::PluginArray::item):
1180         (WebCore::PluginArray::canGetItemsForName):
1181         (WebCore::PluginArray::nameGetter):
1182         (WebCore::PluginArray::refresh):
1183         (WebCore::PluginArray::getPluginData):
1184         * plugins/PluginArray.h: Added.
1185         (WebCore::PluginArray::create):
1186         (WebCore::PluginArray::disconnectFrame):
1187         * plugins/PluginArray.idl: Added.
1188         * plugins/PluginData.cpp: Added.
1189         (WebCore::PluginData::PluginData):
1190         (WebCore::PluginData::~PluginData):
1191         (WebCore::PluginData::supportsMimeType):
1192         (WebCore::PluginData::pluginNameForMimeType):
1193         * plugins/PluginData.h: Added.
1194         (WebCore::PluginData::create):
1195         (WebCore::PluginData::disconnectPage):
1196         (WebCore::PluginData::page):
1197         (WebCore::PluginData::plugins):
1198         (WebCore::PluginData::mimes):
1199         * plugins/mac/PluginDataMac.mm: Added.
1200         (WebCore::PluginData::initPlugins):
1201         (WebCore::PluginData::refresh):
1202         * plugins/qt/PluginDataQt.cpp: Added.
1203         (WebCore::PluginData::initPlugins):
1204         * plugins/win/PluginDataWin.cpp: Added.
1205         (WebCore::PluginData::initPlugins):
1206         (WebCore::PluginData::refresh):
1207
1208 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1209
1210         Reviewed by Holger.
1211
1212         Replace two printfs() in the Qt port with notImplemented().
1213
1214         * html/CanvasRenderingContext2D.cpp:
1215         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
1216         (WebCore::CanvasRenderingContext2D::applyFillPattern):
1217
1218 2008-03-10  Simon Hausmann  <hausmann@webkit.org>
1219
1220         Reviewed by Alp.
1221
1222         Compilation fix with gcc 4.3: Include stdio.h for printf.
1223
1224         * html/CanvasRenderingContext2D.cpp:
1225         * html/HTMLCanvasElement.cpp:
1226
1227 2008-03-09  Steve Falkenburg  <sfalken@apple.com>
1228
1229         Stop Windows build if an error occurs in a prior project.
1230
1231         Rubber stamped by Darin.
1232
1233         * WebCore.vcproj/WebCore.vcproj:
1234         * WebCore.vcproj/WebCoreGenerated.vcproj:
1235
1236 2008-03-09  Darin Adler  <darin@apple.com>
1237
1238         * DerivedSources.make: Third try at fixing the build.
1239         * bindings/js/JSRGBColor.cpp: And touching this file.
1240
1241 2008-03-09  Darin Adler  <darin@apple.com>
1242
1243         * DerivedSources.make: One *more* try at fixing the build.
1244
1245 2008-03-09  Darin Adler  <darin@apple.com>
1246
1247         * DerivedSources.make: One more try at fixing the build.
1248
1249 2008-03-09  Darin Adler  <darin@apple.com>
1250
1251         * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the
1252         bots by removing the incorrect file.
1253
1254 2008-03-09  Oliver Hunt  <oliver@apple.com>
1255
1256         RS=Mark Rowe
1257
1258         Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
1259
1260         * DerivedSources.make:
1261
1262 2008-03-09  Darin Adler  <darin@apple.com>
1263
1264         Reviewed by Adam.
1265
1266         * DerivedSources.make: Put the list of DOM classes into its own
1267         variable, and generate the JavaScript bindings and Objective-C
1268         bindings dependencies from that. Added some separators to make it
1269         a little easier to see the sections of the file. Moved all the
1270         Mac-specific rules (except for the SVG conditional part) down
1271         to the bottom of the file in a separate section.
1272
1273 2008-03-09  Adam Roben  <aroben@apple.com>
1274
1275         Windows build fix
1276
1277         * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are
1278         excluded from all three CG-based configurations: Debug, Release, and
1279         Debug_Internal.
1280
1281 2008-03-08  Mark Rowe  <mrowe@apple.com>
1282
1283         Attempt to fix the Qt build.
1284
1285         * platform/MIMETypeRegistry.cpp:  Add missing include.
1286
1287 2008-03-08  Oliver Hunt  <oliver@apple.com>
1288
1289         Reviewed by Sam W.
1290
1291         Bug 16516: canvas image patterns stop working with some transformations
1292
1293         Simple fix.  We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
1294         with CG.  However any transforms involving FLT_MAX immediately get
1295         consumed by the introduced floating point error.  yStep had already been
1296         clamped to a much smaller arbitrary value, and this patch makes us use
1297         that clamp value for xStep as well.
1298
1299         * html/CanvasPattern.cpp:
1300         (WebCore::CanvasPattern::createPattern):
1301
1302 2008-03-08  Oliver Hunt  <oliver@apple.com>
1303
1304         Reviewed by Mitz.
1305
1306         Bug 17728: Canvas.createPattern with null repeat argument throws an exception
1307
1308         Trivial fix, we were calling toString on null which produces the string "null",
1309         we just needed to switch to using valueToStringWithNullCheck rather than 
1310         JSValue::toString directly
1311
1312         Test: fast/canvas/canvas-pattern-behaviour.html
1313
1314         * WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1315         (WebCore::JSCanvasRenderingContext2D::createPattern):
1316
1317 2008-03-08  Mark Rowe  <mrowe@apple.com>
1318
1319         Reviewed by Darin Adler.
1320
1321         Fix 64-bit build with GCC 4.2.
1322
1323         * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
1324         * platform/mac/SharedBufferMac.mm: Ditto.
1325
1326 2008-03-08  Dan Bernstein  <mitz@apple.com>
1327
1328         Reviewed by Oliver Hunt.
1329
1330         - fix garbage in transparent areas in canvas.toDataURL results
1331
1332         * platform/graphics/cg/ImageBufferCG.cpp:
1333         (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before
1334         painting the canvas image onto it.
1335
1336 2008-03-08  Darin Adler  <darin@apple.com>
1337
1338         Reviewed by Adele.
1339
1340         - eliminate custom highlight methods from WebCoreFrameBridge
1341
1342         * page/Chrome.cpp:
1343         (WebCore::ChromeClient::customHighlightRect): Added.
1344         (WebCore::ChromeClient::paintCustomHighlight): Added.
1345         * page/ChromeClient.h: Added custom highlight functions.
1346         * page/Frame.h: Removed custom highlight functions.
1347         * page/mac/FrameMac.mm: Ditto.
1348         * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
1349         * rendering/InlineTextBox.cpp:
1350         (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use
1351         the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
1352         * rendering/RenderBox.cpp:
1353         (WebCore::RenderBox::paintCustomHighlight): Ditto.
1354         * rendering/RootInlineBox.cpp:
1355         (WebCore::RootInlineBox::addHighlightOverflow): Ditto.
1356         (WebCore::RootInlineBox::paintCustomHighlight): Ditto.
1357
1358 2008-03-07  Stephanie Lewis  <slewis@apple.com>
1359
1360         Reviewed by Oliver.
1361
1362         Fix Windows build.
1363
1364         * platform/graphics/cg/ImageBufferCG.cpp:
1365         (WebCore::ImageBuffer::toDataURL):
1366
1367 2008-03-07  David D. Kilzer  <ddkilzer@apple.com>
1368
1369         Unify concept of enabling Netscape Plug-in API (NPAPI).
1370
1371         Reviewed by Darin.
1372
1373         No test cases since there is no change in functionality.
1374
1375         * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro.
1376         If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
1377         * WebCore.NPAPI.exp: Added.
1378         * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
1379         * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except
1380         comments) since we now handle exported NPAPI methods via DerivedSources.make.
1381
1382         * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as
1383         defined in Platform.h.
1384
1385         * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1386         (-[DOMElement _NPObject]):
1387
1388         * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with
1389         ENABLE(NETSCAPE_PLUGIN_API).
1390         * bridge/NP_jsobject.h: Ditto.
1391         * bridge/c/c_class.cpp: Ditto.
1392         * bridge/c/c_class.h: Ditto.
1393         * bridge/c/c_instance.cpp: Ditto.
1394         * bridge/c/c_instance.h: Ditto.
1395         * bridge/c/c_runtime.cpp: Ditto.
1396         * bridge/c/c_runtime.h: Ditto.
1397         * bridge/c/c_utility.cpp: Ditto.
1398         * bridge/c/c_utility.h: Ditto.
1399         * bridge/npruntime.cpp: Ditto.
1400         * bridge/npruntime_impl.h: Ditto.
1401         * bridge/npruntime_priv.h: Ditto.
1402         * bridge/runtime.cpp: Ditto.
1403         (KJS::Bindings::Instance::createBindingForLanguageInstance):
1404
1405         * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1406         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
1407         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
1408         * html/HTMLPlugInElement.h: Ditto.
1409
1410         * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1411         (WebCore::Frame::clearScriptObjects):
1412         (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API)
1413         guard around m_windowScriptNPObject.
1414         * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1415         * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around
1416         m_windowScriptNPObject.
1417         * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1418         (WebCore::Frame::createScriptInstanceForWidget):
1419
1420 2008-03-07  Alexey Proskuryakov  <ap@webkit.org>
1421
1422         Reviewed by Darin.
1423
1424         REGRESSION: Korean decoding doesn't support extended EUC-KR.
1425
1426         Test: fast/encoding/char-decoding.html
1427
1428         * platform/text/TextCodecICU.cpp:
1429         (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU
1430         encoding names by manually registering windows-939-2000, and mapping all other related
1431         encodings to it.
1432
1433 2008-03-07  Dan Bernstein  <mitz@apple.com>
1434
1435         Reviewed by Stephanie.
1436
1437         - try to fix leaks seen on Tiger after r30840
1438
1439         * css/CSSStyleSelector.cpp:
1440         (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator
1441         delete, rather than arena delete, to deallocate the root default style.
1442
1443 2008-03-07  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
1444
1445         Reviewed by Alp Toker.
1446
1447         http://bugs.webkit.org/show_bug.cgi?id=17681
1448         GtkLauncher fails to render an element with position: fixed
1449
1450         Implement the required parts of PlatformScreenGtk.
1451
1452         * ChangeLog:
1453         * platform/gtk/PlatformScreenGtk.cpp:
1454         (WebCore::screenDepth):
1455         (WebCore::screenIsMonochrome):
1456         (WebCore::screenRect):
1457
1458 2008-03-07  Oliver Hunt  <oliver@apple.com>
1459
1460         Reviewed by Darin Adler.
1461
1462         Bug 16610: <canvas> restore() removes path segments created before it
1463
1464         The problem here is that WebKit stored the Path as part of the state, so
1465         restore would incorrectly lose changes made to the canvas path.  To match
1466         Firefox and HTML5 we make two real changes:
1467           * Move the context path from the state object directly onto the context.
1468             This is responsible for all the changes to the path manipulation functions
1469           * Add transform tracking to each state -- this is needed to correctly transform
1470             the current path when restore()-ing to a prior state.
1471
1472         Test: fast/canvas/canvas-save-restore-with-path.html
1473
1474         * html/CanvasRenderingContext2D.cpp:
1475         (WebCore::CanvasRenderingContext2D::restore):
1476         (WebCore::CanvasRenderingContext2D::scale):
1477         (WebCore::CanvasRenderingContext2D::rotate):
1478         (WebCore::CanvasRenderingContext2D::translate):
1479         (WebCore::CanvasRenderingContext2D::transform):
1480         (WebCore::CanvasRenderingContext2D::beginPath):
1481         (WebCore::CanvasRenderingContext2D::closePath):
1482         (WebCore::CanvasRenderingContext2D::moveTo):
1483         (WebCore::CanvasRenderingContext2D::lineTo):
1484         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1485         (WebCore::CanvasRenderingContext2D::arcTo):
1486         (WebCore::CanvasRenderingContext2D::arc):
1487         (WebCore::CanvasRenderingContext2D::rect):
1488         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
1489         (WebCore::CanvasRenderingContext2D::fill):
1490         (WebCore::CanvasRenderingContext2D::stroke):
1491         (WebCore::CanvasRenderingContext2D::clip):
1492         (WebCore::CanvasRenderingContext2D::isPointInPath):
1493         * html/CanvasRenderingContext2D.h:
1494
1495 2008-03-07  Oliver Hunt  <oliver@apple.com>
1496
1497         Reviewed by Ada.
1498
1499         Fix for crash caused by FrameLoader incorrectly assuming it has
1500         a RenderWidget
1501
1502         In some circumstances an application embedding a WebView may 
1503         choose to prevent a webview from loading a resource.  If that
1504         resource was requested by an <object> element then we may 
1505         fallback to different content which may not produce a RenderWidget.
1506         Unfortunately FrameLoader::loadSubframe was assuming that if a
1507         renderer was produced it would always be a RenderWidget, and arbitrarily
1508         performed what could be an incorrect cast.  This could then lead to
1509         a crash.
1510
1511         We currently don't have anyway of making a test for this.
1512
1513         * loader/FrameLoader.cpp:
1514         (WebCore::FrameLoader::loadSubframe):
1515
1516 2008-03-07  Samuel Weinig  <sam@webkit.org>
1517
1518         Reviewed by Oliver Hunt.
1519
1520         Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
1521         <canvas> lacks toDataURL()
1522
1523         Tests: fast/canvas/toDataURL-noData.html
1524                fast/canvas/toDataURL-supportedTypes.html
1525
1526         * html/CanvasRenderingContext2D.cpp:
1527         (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
1528         * html/HTMLCanvasElement.cpp:
1529         (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has
1530         been called on a tainted canvas. 
1531         (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel
1532         data, checks to see if the MIME type is supported.  Unsupported MIME types and the null string (which is made
1533         by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec.  The actual 
1534         toDataURL logic is actually done in the ImageBuffer class.
1535         * html/HTMLCanvasElement.h: Add function declarations.
1536         * html/HTMLCanvasElement.idl: Add function declaration.
1537
1538         * platform/MIMETypeRegistry.cpp:
1539         (WebCore::initializeSupportedImageMIMETypes):
1540         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1541         (WebCore::initializeSupportedJavaScriptMIMETypes):
1542         (WebCore::initializeSupportedNonImageMimeTypes):
1543         (WebCore::initializeSupportedMediaMIMETypes):
1544         (WebCore::initializeMIMETypeRegistry):
1545         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
1546         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1547         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
1548         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
1549         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1550         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1551         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
1552         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
1553         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
1554         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
1555         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
1556         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
1557         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
1558         * platform/MIMETypeRegistry.h:
1559         Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of
1560         MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
1561
1562         * platform/graphics/ImageBuffer.h: Add toDataURL method.
1563         * platform/graphics/cairo/ImageBufferCairo.cpp:
1564         (WebCore::ImageBuffer::toDataURL): Add stub.
1565         * platform/graphics/cg/ImageBufferCG.cpp:
1566         (WebCore::ImageBuffer::create):
1567         (WebCore::ImageBuffer::getImageData):
1568         (WebCore::ImageBuffer::putImageData):
1569         (WebCore::ImageBuffer::toDataURL):
1570         Converts the current context to a data: url of the specified MIME type.  This method
1571         unfortunately has to flip the context, resulting in less than optimal code.
1572
1573         * platform/graphics/qt/ImageBufferQt.cpp:
1574         (WebCore::ImageBuffer::toDataURL): Add stub.
1575         * platform/graphics/wx/ImageBufferWx.cpp:
1576         (WebCore::ImageBuffer::toDataURL): Add stub.
1577
1578 2008-03-07  Steve Falkenburg  <sfalken@apple.com>
1579
1580         Build fix.
1581
1582         * WebCore.vcproj/WebCore.vcproj:
1583
1584 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
1585
1586         Reviewed by Mark Rowe.
1587
1588         Correct build intermediary output
1589         (http://bugs.webkit.org/show_bug.cgi?id=17713)
1590
1591         * WebCore/WebCore.vcproj:  Correct intermediary paths
1592
1593 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
1594
1595         Reviewed by Steve Falkenburg.
1596
1597         Add Cairo build requirements to WebCore.vcproj under a new
1598         set of targets.  Exclude Cairo elements from normal CG build.
1599         Exclude CG elements from Cairo builds.
1600         (http://bugs.webkit.org/show_bug.cgi?id=17300)
1601
1602         * WebCore.vcproj/WebCore.vcproj:
1603         * WebCore.vcproj/webcore.vsprops: Added.
1604
1605 2008-03-07  Darin Adler  <darin@apple.com>
1606
1607         Reviewed by Adam.
1608
1609         - eliminated WebCoreFrameBridge runOpenPanel
1610
1611         * page/ChromeClient.h: Added runOpenPanel function.
1612         * page/mac/ChromeMac.mm:
1613         (WebCore::ChromeClient::runOpenPanel): Added.
1614         * platform/FileChooser.cpp:
1615         (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
1616         Also start the refcount at 1.
1617         (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
1618         (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
1619         * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
1620         * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
1621         since they are no longer platform-specific.
1622         * platform/qt/FileChooserQt.cpp: Ditto.
1623         * platform/win/FileChooserWin.cpp: Ditto.
1624         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1625         * platform/mac/FileChooserMac.mm:
1626         (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
1627         bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
1628         class and m_controller data member and move the cosntrutor/destructor to platform-
1629         independent code.
1630
1631 2008-03-07  Adam Roben  <aroben@apple.com>
1632
1633         Add JavaScriptDebugServer
1634
1635         This class is a singleton which allows one or more
1636         JavaScriptDebugListeners to receive callbacks during JavaScript
1637         execution.
1638
1639         Right now all listeners receive callbacks for all Pages in the
1640         process. Eventually we will want to support listeners registering for
1641         callbacks for specific Pages (e.g., the Inspector will want to listen
1642         for execution in just the Page it's inspecting).
1643
1644         Pages notify the JavaScriptDebugServer when they are created so that
1645         it can install itself as the Page's debugger.
1646
1647         Reviewed by Darin.
1648
1649         * GNUMakefile.am: Added new files to project.
1650         * WebCore.pro: Ditto.
1651         * WebCore.vcproj/WebCore.vcproj: Ditto.
1652         * WebCore.xcodeproj/project.pbxproj: Ditto.
1653         * WebCoreSources.bkl: Ditto.
1654         * page/JavaScriptDebugListener.h: Added.
1655         * page/JavaScriptDebugServer.cpp: Added.
1656         (WebCore::toFrame):
1657         (WebCore::JavaScriptDebugServer::shared):
1658         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
1659         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
1660         (WebCore::JavaScriptDebugServer::addListener): Registers as the
1661         debugger for all Pages if we're adding our first listener.
1662         (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
1663         debugger for all Pages if we're removing our last listner.
1664         (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
1665         debugger for the newly created Page if we have any listeners.
1666         (WebCore::dispatchDidParseSource): Helper function.
1667         (WebCore::dispatchFailedToParseSource): Ditto.
1668         (WebCore::JavaScriptDebugServer::sourceParsed): Call
1669         dispatchDidParseSource or dispatchFailedToParseSource depending on
1670         whether there was an error or not.
1671         (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
1672         the passed-in JavaScriptExecutionCallback on each listener, guarding
1673         against re-entry.
1674         (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
1675         (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
1676         (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
1677         (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
1678         * page/JavaScriptDebugServer.h: Added.
1679         * page/Page.cpp:
1680         (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
1681         created so it can register as our debugger if needed.
1682
1683 2008-03-07  Darin Adler  <darin@apple.com>
1684
1685         Reviewed by Brady.
1686
1687         - fix a theoretical problem with the visited-link hash table by avoiding collision
1688           with the special "deleted" value
1689         - improve efficiency of with the visited-link hash table by not hashing twice
1690
1691         * page/PageGroup.cpp:
1692         (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
1693         value, since the hash table uses that for deleted hash table entries.
1694         (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
1695         value with the HashSet.
1696         (WebCore::PageGroup::addVisitedLink): Ditto.
1697
1698         * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
1699         values. This assumes that the value is already a hash value, and doesn't try to
1700         hash it again. Used this for m_visitedLinkHashes.
1701
1702 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
1703
1704         Fix the Qt build.
1705
1706         * WebCore.pro:
1707
1708 2008-03-06  Sam Weinig  <sam@webkit.org> with a little help from Oliver Hunt  <oliver@apple.com>
1709
1710         Reviewed by Mitz.
1711
1712         Implement the HTML5 canvas tainting rules to prevent potential data leakage
1713
1714         Added originClean to HTMLCanvasElement and CanvasPattern
1715         to track whether a canvas (or pattern) is tainted by remote
1716         data.
1717         Use originClean flag to determine whether getImageData should
1718         return, well, image data.
1719
1720         Test: http/tests/security/canvas-remote-read-remote-image.html
1721
1722         * html/CanvasPattern.cpp:
1723         (WebCore::CanvasPattern::CanvasPattern):
1724         * html/CanvasPattern.h:
1725         * html/CanvasRenderingContext2D.cpp:
1726         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1727         (WebCore::CanvasRenderingContext2D::setFillStyle):
1728         (WebCore::CanvasRenderingContext2D::checkOrigin):
1729         (WebCore::CanvasRenderingContext2D::drawImage):
1730         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1731         (WebCore::CanvasRenderingContext2D::createPattern):
1732         (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
1733         (WebCore::CanvasRenderingContext2D::getImageData):
1734         * html/CanvasRenderingContext2D.h:
1735         * html/HTMLCanvasElement.cpp:
1736         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1737         * html/HTMLCanvasElement.h:
1738         (WebCore::HTMLCanvasElement::setOriginTainted):
1739         (WebCore::HTMLCanvasElement::originClean):
1740
1741 2008-03-06  Anders Carlsson  <andersca@apple.com>
1742
1743         Reviewed by Jon.
1744
1745         Templatize the JNI call code to reduce the amount of code that has
1746         to be duplicated.
1747
1748         * bridge/jni/jni_class.cpp:
1749         (JavaClass::JavaClass):
1750         * bridge/jni/jni_instance.cpp:
1751         (JavaInstance::stringValue):
1752         (JavaInstance::numberValue):
1753         (JavaInstance::booleanValue):
1754         (JavaInstance::invokeMethod):
1755         * bridge/jni/jni_jsobject.cpp:
1756         (JavaJSObject::convertJObjectToValue):
1757         * bridge/jni/jni_runtime.cpp:
1758         (JavaField::JavaField):
1759         (JavaMethod::JavaMethod):
1760         * bridge/jni/jni_utility.cpp:
1761         * bridge/jni/jni_utility.h:
1762         (KJS::Bindings::):
1763         (KJS::Bindings::callJNIMethodIDA):
1764         (KJS::Bindings::callJNIMethodV):
1765         (KJS::Bindings::callJNIMethod):
1766         (KJS::Bindings::callJNIStaticMethod):
1767
1768 2008-03-06  Darin Adler  <darin@apple.com>
1769
1770         Reviewed by Mitz.
1771
1772         - fix regression test failures from the visited-link change
1773
1774         * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
1775         * page/PageGroup.cpp:
1776         (WebCore::PageGroup::addVisitedLink): Do nothing and return early
1777         if shouldTrackVisitedLinks is false.
1778         (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
1779         so the next time a link is queried this will be populated from history.
1780         (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
1781         * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
1782         for now, but it would be better if it was per-page-group instead.
1783
1784 2008-03-06  Adele Peterson  <adele@apple.com>
1785
1786         Reviewed by Darin.
1787
1788         Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
1789         and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
1790
1791         Tests: fast/dom/HTMLDocument/activeElement.html
1792                fast/dom/HTMLDocument/hasFocus.html
1793
1794         * html/HTMLDocument.cpp:
1795         (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
1796         (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
1797         * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
1798         * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
1799
1800 2008-03-06  Dan Bernstein  <mitz@apple.com>
1801
1802         Reviewed by Darin Adler.
1803
1804         - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
1805
1806         Test: fast/text/soft-hyphen-3.html
1807
1808         * rendering/bidi.cpp:
1809         (WebCore::checkMidpoints):
1810         (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
1811         midpoint after a hyphen always be a valid iterator, not allowing an
1812         offset past the end of a text node. Changed the check for consecutive
1813         soft hyphens to account for that.
1814
1815 2008-03-06  Darin Adler  <darin@apple.com>
1816
1817         - try to fix Wx build
1818
1819         * WebCoreSources.bkl: Added PageGroup.cpp.
1820
1821 2008-03-06  Darin Adler  <darin@apple.com>
1822
1823         - fix some builds
1824
1825         * GNUmakefile.am: Added PageGroup.cpp.
1826         * WebCore.base.exp: Removed WebCoreHistory.
1827         * WebCore.pro: Added PageGroup.cpp.
1828
1829 2008-03-06  Alexey Proskuryakov  <ap@webkit.org>
1830
1831         Reviewed by Darin.
1832
1833         <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
1834         
1835         * ForwardingHeaders/wtf/unicode/Collator.h: Added.
1836         * xml/XSLTUnicodeSort.cpp:
1837         (WebCore::xsltUnicodeSortFunction):
1838         * xml/XSLTUnicodeSort.h:
1839
1840 2008-03-06  Darin Adler  <darin@apple.com>
1841
1842         Reviewed by Mitz.
1843
1844         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
1845           REGRESSION: iframes are added to Safari's History menu
1846           by separating the visited link machinery from global history
1847
1848         This should also make page loading faster due to more efficient visited link coloring.
1849
1850         * WebCore.base.exp: Updated.
1851         * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
1852         * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
1853
1854         * css/CSSStyleSelector.cpp: Updated includes.
1855         (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
1856         currentEncodedURL.
1857         (WebCore::checkPseudoState): Moved most of the code inside a new
1858         PageGroup::isLinkVisited function.
1859         (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
1860         references and only getting colors when needed.
1861         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
1862         * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
1863
1864         * dom/Document.cpp:
1865         (WebCore::Document::attach): Removed call to setEncodedURL.
1866         (WebCore::Document::setURL): Ditto.
1867         (WebCore::Document::recalcStyleSelector): Ditto.
1868
1869         * loader/FrameLoader.cpp:
1870         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
1871         early exit idiom to be a little more readable.
1872         (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
1873         better efficiency.
1874         (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
1875         readable.
1876         (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
1877         in here and got rid of the helper function updateGlobalHistory, restoring the
1878         logic before r30549. Also added a call to the new addVisitedLink function.
1879         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
1880         addVisitedLink here.
1881         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
1882         (WebCore::FrameLoader::updateHistoryForReload): Removed call to
1883         updateGlobalHistory; we can just go without updating global history or
1884         visited links here, at least for now, since it's not clear that a reload
1885         is a "history event".
1886         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
1887         history code back where it was, and added the call to addVisitedLink, just
1888         as in updateHistoryForStandardLoad above.
1889         * loader/FrameLoader.h: Removed updateGlobalHistory function.
1890
1891         * page/Chrome.cpp:
1892         (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
1893         don't have to implement this for every port all at once.
1894         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
1895         new PageGroup class.
1896         * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
1897         visited links set from the global history at application startup time.
1898
1899         * page/FrameTree.cpp:
1900         (WebCore::FrameTree::find): Updated to use the new PageGroup class.
1901
1902         * page/GlobalHistory.h: Removed.
1903         * page/win/GlobalHistoryWin.cpp: Removed.
1904         * page/mac/GlobalHistoryMac.mm: Removed.
1905         * platform/mac/WebCoreHistory.h: Removed.
1906         * platform/mac/WebCoreHistory.m: Removed.
1907         * platform/win/WebCoreHistory.cpp: Removed.
1908         * platform/win/WebCoreHistory.h: Removed.
1909
1910         * page/Page.cpp:
1911         (WebCore::Page::Page): Set m_group to 0.
1912         (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
1913         group, set it to 0 for now to postpone the cost of creating a group.
1914         (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
1915         group; used when getting a group.
1916         (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
1917         on all page groups.
1918         * page/Page.h: Moved enums inside the WebCore namespace. Removed the
1919         frameNamespace function and instead added the group and groupPtr functions.
1920
1921         * page/PageGroup.cpp: Added. Contains all the visited code from the
1922         CSSStyleSelector in the isVisitedLink function, but more efficient because
1923         we don't allocate memory for the buffer.
1924         * page/PageGroup.h: Added.
1925
1926         * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
1927         * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
1928         * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
1929
1930 2008-03-06  Mark Rowe  <mrowe@apple.com>
1931
1932         Fix 64-bit Mac build.
1933
1934         * WebCore.xcodeproj/project.pbxproj:  Exclude _NPN symbols from the exports list as they
1935         are compiled out of 64-bit builds.
1936
1937 2008-03-06  Mark Rowe  <mrowe@apple.com>
1938
1939         Leopard build fix.
1940
1941         * WebCore.base.exp:
1942
1943 2008-03-05  Kevin Ollivier  <kevino@theolliviers.com>
1944
1945         Fix the wx build after the bindings move.
1946
1947         * WebCoreSources.bkl:
1948         * webcore-base.bkl:
1949         * webcore-wx.bkl:
1950
1951 2008-03-05  Dan Bernstein  <mitz@apple.com>
1952
1953         Reviewed by Adele Peterson.
1954
1955         - fix "background-position: inherit"
1956
1957         * css/CSSStyleSelector.cpp:
1958         Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
1959         a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
1960         macro.
1961
1962 2008-03-05  Alp Toker  <alp@atoker.com>
1963
1964         Add a missing make dependency for derived sources to improve
1965         autotools build dependency tracking.
1966
1967         Issue spotted by Ori Bernstein.
1968
1969         * GNUmakefile.am:
1970
1971 2008-03-05  Alp Toker  <alp@atoker.com>
1972
1973         GTK+ build fix for breakage introduced in r30800.
1974
1975         Track moved bridge sources from JavaScriptCore to WebCore.
1976
1977         * GNUmakefile.am:
1978
1979 2008-03-05  Justin Garcia  <justin.garcia@apple.com>
1980
1981         Reviewed by Darin.
1982
1983         One part of fix for:
1984         <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
1985
1986         * editing/markup.cpp:
1987         (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
1988         inline style declarations, not the other way around. 
1989
1990 2008-03-05  Anders Carlsson  <andersca@apple.com>
1991
1992         Reviewed by Darin.
1993
1994         Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
1995
1996         * bridge/jni/jni_jsobject.cpp:
1997         (completedJavaScriptAccess):
1998         (initializeJavaScriptAccessLock):
1999         (lockJavaScriptAccess):
2000         (unlockJavaScriptAccess):
2001         (dispatchToJavaScriptThread):
2002         (performJavaScriptAccess):
2003         (JavaJSObject::initializeJNIThreading):
2004         (isJavaScriptThread):
2005         (JavaJSObject::invoke):
2006         * bridge/jni/jni_jsobject.h:
2007         * bridge/runtime_root.cpp:
2008         * bridge/runtime_root.h:
2009         * page/mac/WebCoreFrameBridge.mm:
2010         (-[WebCoreFrameBridge init]):
2011
2012 2008-03-05  Darin Adler  <darin@apple.com>
2013
2014         Reviewed by Sam.
2015
2016         - add functions giving offsets within a KURL, slated to replace the
2017           EncodedURL object in CSSStyleSelector (in a future "visited link" change)
2018         - changed all KURL data members names to use the traditional m_ prefix
2019         - initialize all members to 0 in invalid KURLs rather than having all
2020           functions check m_isValid
2021
2022         * platform/KURL.cpp:
2023         (WebCore::KURL::invalidate): Added. Initializes all the fields except for
2024         m_string to the "invalid" values. For use in the empty constructor and
2025         in the init and parse functions.
2026         (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
2027         early to use the invalidate() function. Updated for member variable name
2028         changes.
2029         (WebCore::KURL::hasPath): Updated for member variable name changes.
2030         Remove now-unneeded check of m_isValid.
2031         (WebCore::KURL::lastPathComponent): Ditto.
2032         (WebCore::KURL::protocol): Ditto.
2033         (WebCore::KURL::host): Ditto.
2034         (WebCore::KURL::port): Ditto.
2035         (WebCore::KURL::pass): Ditto.
2036         (WebCore::KURL::user): Ditto.
2037         (WebCore::KURL::ref): Ditto.
2038         (WebCore::KURL::hasRef): Ditto.
2039         (WebCore::KURL::protocolIs): Ditto.
2040         (WebCore::KURL::query): Ditto.
2041         (WebCore::KURL::path): Ditto.
2042         (WebCore::KURL::setProtocol): Ditto.
2043         (WebCore::KURL::setHost): Ditto.
2044         (WebCore::KURL::setPort): Ditto.
2045         (WebCore::KURL::setHostAndPort): Ditto.
2046         (WebCore::KURL::setUser): Ditto.
2047         (WebCore::KURL::setPass): Ditto.
2048         (WebCore::KURL::setRef): Ditto.
2049         (WebCore::KURL::setQuery): Ditto.
2050         (WebCore::KURL::setPath): Ditto.
2051         (WebCore::KURL::prettyURL): Ditto.
2052         (WebCore::copyPathRemovingDots): Removed braces to match our code style.
2053         (WebCore::KURL::parse): Changed all code paths that return early to use
2054         the invalidate function. Moved code to set m_isValid to true to the very
2055         end of the function. Removed braces to match our code style. Removed an
2056         extra copy of the path/query/fragment code (there were two identical copies
2057         in the two sides of an if statement). Removed some commented-out code.
2058         Reversed an if statment. Added code to set the new m_pathAfterLastSlash
2059         field. Updated for member variable name changes.
2060         (WebCore::equalIgnoringRef): Updated for member variable name changes.
2061         (WebCore::KURL::isHierarchical): Ditto.
2062
2063         * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
2064         constructor inline and called the new invalidate function. Added new
2065         pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
2066         new visited link code. Added an invalidate function. Renamed all the
2067         data members to use the m_ prefix.
2068
2069         * WebCore.base.exp: Updated.
2070
2071 2008-03-05  Anders Carlsson  <andersca@apple.com>
2072
2073         Reviewed by Sam.
2074
2075         * WebCore.xcodeproj/project.pbxproj:
2076         Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 
2077         this with jni_objc.mm and create jni_jsobject.mm.
2078         
2079         * bridge/jni/jni_jsobject.cpp:
2080         (createRootObject):
2081         Move createRootObject here from WebCoreFrameBridge.
2082         
2083         (JavaJSObject::createNative):
2084         Call the newly added createRootObject function.
2085         
2086         * bridge/runtime_root.cpp:
2087         (KJS::Bindings::RootObject::initializeJNIThreading):
2088         * bridge/runtime_root.h:
2089         setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
2090
2091         * page/mac/FrameMac.mm:
2092         (WebCore::Frame::createScriptInstanceForWidget):
2093         Just call Frame::createRootObject here.
2094         
2095         * page/mac/WebCoreFrameBridge.mm:
2096         (-[WebCoreFrameBridge init]):
2097         Call initializeJNIThreading.
2098
2099 2008-03-05  Anders Carlsson  <andersca@apple.com>
2100
2101         Reviewed by Sam.
2102
2103         Change some static class variables to be regular static variables,
2104         making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
2105
2106         * bridge/runtime_root.cpp:
2107         (KJS::Bindings::completedJavaScriptAccess):
2108         (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
2109         (KJS::Bindings::performJavaScriptAccess):
2110         (KJS::Bindings::RootObject::createRootObject):
2111         (KJS::Bindings::RootObject::runLoop):
2112         (KJS::Bindings::RootObject::setCreateRootObject):
2113         * bridge/runtime_root.h:
2114
2115 2008-03-05  Brent Fulgham <bfulgham@gmail.com>
2116
2117         Reviewed by Adam Roben.
2118
2119         Modify source files to use the USE(SAFARI_THEME) macro, rather than
2120         USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)
2121
2122         * WebCore/platform/win/PlatformScrollBarSafari.cpp
2123         * WebCore/rendering/RenderThemeSafari.cpp
2124         * WebCore/rendering/RenderThemeSafari.h
2125         * config.h: Move definition of WTF_USE_SAFARI_THEME here 
2126
2127 2008-03-05  Brady Eidson  <beidson@apple.com>
2128
2129         Reviewed by Alexey and Mark Rowe
2130
2131         Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
2132
2133         DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
2134         removing particular items for Databases that were shutting down.
2135
2136         This filtering operation is not atomic, and therefore causes a race condition with the
2137         database thread waking up and reading from the message queue.  
2138
2139         The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
2140         seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
2141         assertion with a crash in a release build is what revealed this bug.
2142
2143         The fix for the above symptom was entirely in WTF::MessageQueue in JSCore.  With this fix in 
2144         place, another crash popped up in the layout tests that was related to dereferencing a 
2145         deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 
2146         when it needed to be a ref pointer.
2147
2148         * storage/SQLTransaction.cpp:
2149         (WebCore::SQLTransaction::runCurrentStatement):
2150         * storage/SQLTransaction.h: Change m_database to be a RefPtr
2151         (WebCore::SQLTransaction::database):
2152
2153 2008-03-05  Mark Rowe  <mrowe@apple.com>
2154
2155         Build fix.
2156
2157         * WebCore.base.exp:  Remove symbol that no longer exists from the exports file.
2158
2159 2008-03-05  Adam Roben  <aroben@apple.com>
2160
2161         Export a header/symbol for WebKit
2162
2163         Reviewed by Kevin M.
2164
2165         * WebCore.base.exp:
2166         * WebCore.xcodeproj/project.pbxproj:
2167
2168 2008-03-05  Adam Roben  <aroben@apple.com>
2169
2170         Move WebCoreScriptDebugger up to WebKit
2171
2172         Reviewed by Darin.
2173
2174         * WebCore.base.exp: Exported some functions used by
2175         WebCoreScriptDebugger, and sorted the list.
2176         * WebCore.xcodeproj/project.pbxproj: Removed
2177         WebCoreScriptDebugger.{h,mm} from the project and marked
2178         a few headers private so that WebKit can use them.
2179         * page/mac/WebCoreScriptDebugger.h: Removed.
2180         * page/mac/WebCoreScriptDebugger.mm: Removed.
2181
2182 2008-03-05  Anders Carlsson  <andersca@apple.com>
2183
2184         Build bridge/. Copy some headers over to WebKit as part of the post-build step.
2185         
2186         * WebCore.vcproj/WebCore.vcproj:
2187
2188 2008-03-05  Anders Carlsson  <andersca@apple.com>
2189
2190         Reviewed by Geoff.
2191
2192         * WebCore.base.exp:
2193         Add the NPN and KJS methods.
2194         
2195         * WebCore.xcodeproj/project.pbxproj:
2196         Bring in bridge/
2197
2198         * config.h:
2199         Add HAVE_JNI define.
2200         
2201         * bindings/js/kjs_html.cpp:
2202         * bindings/objc/DOMInternal.mm:
2203         * bindings/objc/DOMUtility.mm:
2204         * bindings/objc/WebScriptObject.mm:
2205         * html/HTMLAppletElement.cpp:
2206         * html/HTMLEmbedElement.cpp:
2207         * html/HTMLObjectElement.cpp:
2208         * html/HTMLPlugInElement.cpp:
2209         * page/Frame.cpp:
2210         * page/mac/FrameMac.mm:
2211         * page/mac/WebCoreFrameBridge.mm:
2212         * page/mac/WebCoreScriptDebugger.mm:
2213         * plugins/win/PluginViewWin.cpp:
2214         Include file changes.
2215
2216 2008-03-04  Anders Carlsson  <andersca@apple.com>
2217
2218         Reviewed by Sam.
2219
2220         Rewrite NPRuntime string conversion routines to use WebCore::String
2221         
2222         * bridge/NP_jsobject.cpp:
2223         (_NPN_Evaluate):
2224         * bridge/c/c_utility.cpp:
2225         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
2226         (KJS::Bindings::convertNPVariantToValue):
2227         (KJS::Bindings::convertNPStringToUTF16):
2228         (KJS::Bindings::identifierFromNPIdentifier):
2229         * bridge/c/c_utility.h:
2230
2231 2008-03-05  Oliver Hunt  <oliver@apple.com>
2232
2233         Reviewed by Alexey P.
2234
2235         Small performance improvement to putImageData (3-5% on assignment in my tests)
2236
2237         * html/CanvasPixelArray.h:
2238         (WebCore::CanvasPixelArray::set):
2239
2240 2008-03-04  Sam Weinig  <sam@webkit.org>
2241
2242         Reviewed by Adele.
2243
2244         * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
2245
2246 2008-03-04  Maciej Stachowiak  <mjs@apple.com>
2247
2248         Reviewed by Sam and Oliver.
2249
2250         - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
2251         - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
2252
2253         * bindings/js/JSNodeCustom.cpp:
2254         (WebCore::JSNode::mark): When marking a node that's in-document,
2255         mark the owner document if it hasn't been already. This means holding on
2256         to a single node from an unreferenced document now keeps the whole document alive.
2257         
2258         We are now at 90/100 on Acid3.
2259
2260 2008-03-04  Sam Weinig  <sam@webkit.org>
2261
2262         Qt build fix.
2263
2264         * page/qt/FrameQt.cpp:
2265
2266 2008-03-04  Sam Weinig  <sam@webkit.org>
2267
2268         Reviewed by Mark Rowe.
2269
2270         Rename kjs_window to JSDOMWindowBase.
2271
2272         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
2273           JSDOMWindow.h
2274
2275         * ChangeLog:
2276         * DerivedSources.make:
2277         * GNUmakefile.am:
2278         * WebCore.pro:
2279         * WebCore.vcproj/WebCore.vcproj:
2280         * WebCore.xcodeproj/project.pbxproj:
2281         * WebCoreSources.bkl:
2282         * bindings/js/JSCustomVoidCallback.cpp:
2283         * bindings/js/JSCustomXPathNSResolver.cpp:
2284         * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
2285         * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
2286         * bindings/js/JSDOMWindowCustom.cpp:
2287         * bindings/js/JSDatabaseCustom.cpp:
2288         * bindings/js/JSEventTargetBase.cpp:
2289         * bindings/js/JSEventTargetBase.h:
2290         * bindings/js/JSEventTargetNode.cpp:
2291         * bindings/js/JSHTMLDocumentCustom.cpp:
2292         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2293         * bindings/js/JSHistoryCustom.cpp:
2294         * bindings/js/JSLocation.cpp:
2295         * bindings/js/JSSQLTransactionCustom.cpp:
2296         * bindings/js/JSXMLHttpRequest.cpp:
2297         * bindings/js/ScheduledAction.cpp:
2298         * bindings/js/kjs_binding.cpp:
2299         * bindings/js/kjs_events.cpp:
2300         * bindings/js/kjs_navigator.cpp:
2301         * bindings/js/kjs_proxy.cpp:
2302         * bindings/js/kjs_window.cpp: Removed.
2303         * bindings/js/kjs_window.h: Removed.
2304         * bindings/scripts/CodeGeneratorJS.pm:
2305         * history/CachedPage.cpp:
2306         * loader/FrameLoader.cpp:
2307         * page/Chrome.cpp:
2308         * page/InspectorController.cpp:
2309         * page/mac/FrameMac.mm:
2310         * page/mac/WebCoreFrameBridge.mm:
2311         * page/qt/FrameQt.cpp:
2312         * page/win/FrameWin.cpp:
2313         * plugins/win/PluginViewWin.cpp:
2314
2315 2008-03-04  Mark Rowe  <mrowe@apple.com>
2316
2317         Speculative Qt build fix.
2318
2319         * platform/qt/PasteboardQt.cpp:
2320
2321 2008-03-04  Anders Carlsson  <andersca@apple.com>
2322
2323         Reviewed by Sam.
2324
2325         Update include paths. This code is not used yet.
2326
2327         * bridge/NP_jsobject.cpp:
2328         * bridge/c/c_class.cpp:
2329         * bridge/c/c_instance.cpp:
2330         * bridge/c/c_utility.cpp:
2331         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
2332         #if 0 this out for now. 
2333         
2334         * bridge/jni/jni_class.cpp:
2335         * bridge/jni/jni_jsobject.cpp:
2336         * bridge/jni/jni_objc.mm:
2337         * bridge/jni/jni_runtime.cpp:
2338         * bridge/jni/jni_utility.cpp:
2339         * bridge/jni/jni_utility.h:
2340         * bridge/npruntime.cpp:
2341         * bridge/objc/WebScriptObject.h:
2342         * bridge/objc/objc_class.h:
2343         * bridge/objc/objc_instance.h:
2344         * bridge/objc/objc_runtime.h:
2345         * bridge/objc/objc_utility.h:
2346         * bridge/objc/objc_utility.mm:
2347         * bridge/runtime.cpp:
2348         * bridge/runtime.h:
2349         * bridge/runtime_array.cpp:
2350         * bridge/runtime_array.h:
2351         * bridge/runtime_method.cpp:
2352         * bridge/runtime_method.h:
2353         * bridge/runtime_object.cpp:
2354         * bridge/runtime_object.h:
2355         * bridge/runtime_root.cpp:
2356         * bridge/runtime_root.h:
2357
2358 2008-03-04  Dan Bernstein  <mitz@apple.com>
2359
2360         Reviewed by Darin Adler.
2361
2362         - fix http://bugs.webkit.org/show_bug.cgi?id=17676
2363           <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
2364
2365         Test: fast/encoding/url-host-name-non-ascii.html
2366
2367         * platform/KURL.cpp:
2368         (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
2369         case to avoid copying the host name twice and corrected the error
2370         checking after calling uidna_IDNToASCII().
2371
2372 2008-03-04  Sam Weinig  <sam@webkit.org>
2373
2374         Reviewed by Dan Bernstein.
2375
2376         Use JSDOMWindow exclusively instead of JSDOMWindowBase.
2377
2378         * bindings/js/ScheduledAction.cpp:
2379         (WebCore::ScheduledAction::execute):
2380         * bindings/js/ScheduledAction.h:
2381         * bindings/js/kjs_window.cpp:
2382         (WebCore::JSDOMWindowBase::timerFired):
2383
2384 2008-03-04  Timothy Hatcher  <timothy@apple.com>
2385
2386         Reviewed by Darin Adler.
2387
2388         <rdar://problem/5720160> Browser windows "do nothing" while modal
2389         dialog or menu is up due to run loop modes (or while scrolling)
2390
2391         Adds a new SchedulePair object that holds a runloop and the mode to use.
2392         A HashSet of SchedulePairs is tracked by Page so it can be used for resource
2393         loading and, in the future, maybe SharedTimerMac.
2394
2395         * WebCore.base.exp: Add new exports for WebKit.
2396         * WebCore.xcodeproj/project.pbxproj: Add new files.
2397         * loader/mac/DocumentLoaderMac.cpp: Added.
2398         (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
2399         (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
2400         (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
2401         (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
2402         * loader/DocumentLoader.h:
2403         * page/Page.h:
2404         (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
2405         * page/mac/PageMac.cpp:
2406         (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
2407         (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
2408         * platform/cf/SchedulePair.cpp: Added.
2409         * platform/cf/SchedulePair.h: Added.
2410         * platform/mac/SchedulePairMac.mm: Added.
2411         * platform/network/ResourceHandle.h:
2412         * platform/network/mac/FormDataStreamMac.mm:
2413         (WebCore::advanceCurrentStream): Use the new SchedulePair.
2414         (WebCore::formCreate): Ditto.
2415         (WebCore::formFinalize): Ditto.
2416         (WebCore::formSchedule): Ditto.
2417         (WebCore::formUnschedule): Ditto.
2418         * platform/network/mac/ResourceHandleMac.mm:
2419         (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
2420         that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
2421         pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
2422         (WebCore::ResourceHandle::schedule):
2423         (WebCore::ResourceHandle::unschedule):
2424
2425 2008-03-04  Sam Weinig  <sam@webkit.org>
2426
2427         Reviewed by Darin Adler.
2428
2429         Rename kjs_css to JSRGBColor.
2430
2431         * DerivedSources.make:
2432         * GNUmakefile.am:
2433         * WebCore.pro:
2434         * WebCore.vcproj/WebCore.vcproj:
2435         * WebCore.xcodeproj/project.pbxproj:
2436         * WebCoreSources.bkl:
2437         * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
2438         * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
2439         * bindings/js/kjs_css.cpp: Removed.
2440         * bindings/js/kjs_css.h: Removed.
2441         * bindings/js/kjs_window.cpp:
2442         * bindings/objc/DOMUtility.mm:
2443         * bindings/scripts/CodeGeneratorJS.pm:
2444
2445 2008-03-04  Anders Carlsson  <andersca@apple.com>
2446
2447         Fix 64-bit build.
2448         
2449         * html/HTMLPlugInElement.cpp:
2450
2451 2008-03-04  Nikolas Zimmermann  <zimmermann@kde.org>
2452
2453         Reviewed by Eric & David.
2454
2455         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
2456
2457         Fix getSubStringLength() handling, verified by Acid3 test 77.
2458         Brings up Acid3 score to 88/100.
2459
2460         Added test: svg/custom/acid3-test-77.html
2461                     svg/custom/getSubStringLength.html
2462
2463         * svg/SVGTextContentElement.cpp:
2464         (WebCore::cummulatedCharacterRangeLength): Simplify some code.
2465         (WebCore::SVGTextContentElement::getSubStringLength):
2466
2467 2008-03-04  Anders Carlsson  <andersca@apple.com>
2468
2469         Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
2470
2471         * bindings/js/kjs_proxy.cpp:
2472         (WebCore::KJSProxy::attachDebugger):
2473         * page/Page.cpp:
2474         (WebCore::Page::setDebuggerForAllPages):
2475         (WebCore::Page::setDebugger):
2476
2477 2008-03-04  Adam Roben  <aroben@apple.com>
2478
2479         Add ExecState.h to ForwardingHeaders
2480
2481         Reviewed by Anders.
2482
2483         * ForwardingHeaders/kjs/ExecState.h: Added.
2484         * page/Page.cpp: Touch this to force WebCore to build and the headers
2485         to be copied.
2486
2487 2008-03-04  Adam Roben  <aroben@apple.com>
2488
2489         Make it possible to set a KJS::Debugger on all Frames in a Page and
2490         all Pages in the process
2491
2492         Reviewed by Kevin M.
2493
2494         * ForwardingHeaders/kjs/debugger.h: Added.
2495         * bindings/js/kjs_proxy.cpp:
2496         (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
2497         is one.
2498         (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
2499         detach any existing debugger if none was passed in.
2500         * bindings/js/kjs_proxy.h:
2501         * page/Page.cpp:
2502         (WebCore::Page::Page): Initialize new member.
2503         (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
2504         in the process.
2505         (WebCore::Page::setDebugger): Store the debugger and pass it off to
2506         all our Frames.
2507         * page/Page.h:
2508
2509 2008-03-04  Sam Weinig  <sam@webkit.org>
2510
2511         Reviewed by Darin Adler.
2512
2513         Add ClassInfo to custom constructors so that they toString properly
2514
2515         - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
2516           and XSLTProcessorConstructorImp and prefix all the classes with JS. 
2517
2518         * bindings/js/JSAudioConstructor.cpp:
2519         (WebCore::): Added ClassInfo definition.
2520         (WebCore::JSAudioConstructor::JSAudioConstructor):
2521         (WebCore::JSAudioConstructor::construct): Cleanup.
2522         * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
2523         (WebCore::JSAudioConstructor::classInfo): Added.
2524
2525         * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 
2526         to JSHTMLInputElementBasePrototype as seen if toString'ed.
2527         (WebCore::):
2528
2529         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2530         (WebCore::): Added ClassInfo definition.
2531         * bindings/js/JSHTMLOptionElementConstructor.h:
2532         (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
2533
2534         * bindings/js/JSImageConstructor.cpp:
2535         (WebCore::): Added ClassInfo definition.
2536         (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
2537         * bindings/js/JSImageConstructor.h:
2538         (WebCore::JSImageConstructor::classInfo): Added.
2539
2540         * bindings/js/JSXMLHttpRequest.cpp:
2541         (WebCore::): Rename XMLHttpRequestPrototype  to JSXMLHttpRequestPrototype 
2542         as seen if toString'ed.
2543         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2544         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
2545         (WebCore::JSXMLHttpRequestConstructor::construct):
2546         * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
2547         JSXMLHttpRequestConstructor and doc to m_document and 
2548         (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
2549
2550         * bindings/js/JSXSLTProcessor.cpp:
2551         (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 
2552         XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
2553         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2554         (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
2555         (WebCore::JSXSLTProcessorConstructor::construct):
2556         * bindings/js/JSXSLTProcessor.h:
2557         (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
2558
2559         * bindings/js/kjs_window.cpp:
2560         (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
2561
2562 2008-03-04  Dan Bernstein  <mitz@apple.com>
2563
2564         Reviewed by Oliver Hunt and Geoffrey Garen.
2565
2566         - fix http://bugs.webkit.org/show_bug.cgi?id=17667
2567           <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
2568
2569         * loader/loader.cpp:
2570         (WebCore::Loader::didFinishLoading): Changed to call
2571         setLoadInProgress(false) even for 4xx errors, because that triggers
2572         load completion check.
2573
2574 2008-03-04  Adele Peterson  <adele@apple.com>
2575
2576         Reviewed by Beth.
2577
2578         Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
2579
2580         If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
2581         from being keyboard focusable (using the tab key).
2582
2583         * html/HTMLAnchorElement.cpp:
2584         (WebCore::HTMLAnchorElement::isFocusable):
2585         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2586
2587 2008-03-04  Chris Fleizach  <cfleizach@apple.com>
2588
2589         Reviewed by Darin Adler.
2590
2591         - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
2592
2593         * page/mac/WebCoreAXObject.mm:
2594         (headingLevel):
2595         (-[WebCoreAXObject accessibilityIsIgnored]):
2596
2597 2008-03-04  Sam Weinig  <sam@webkit.org>
2598
2599         GTK+ build fix.
2600
2601         * GNUmakefile.am:
2602
2603 2008-03-04  Sam Weinig  <sam@webkit.org>
2604
2605         Reviewed by Darin Adler.
2606
2607         Remame ImageConstructorImp to JSImageConstructor and move it into its
2608         own file.
2609
2610         * GNUmakefile.am:
2611         * WebCore.pro:
2612         * WebCore.vcproj/WebCore.vcproj:
2613         * WebCore.xcodeproj/project.pbxproj:
2614         * WebCoreSources.bkl:
2615         * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
2616         (WebCore::JSImageConstructor::JSImageConstructor):
2617         (WebCore::JSImageConstructor::construct):
2618         * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
2619         * bindings/js/kjs_html.cpp:
2620         (WebCore::getRuntimeObject): Make this function static since it is only used
2621         in this file.
2622         * bindings/js/kjs_html.h:
2623         * bindings/js/kjs_window.cpp:
2624         (WebCore::JSDOMWindowBase::getValueProperty):
2625
2626 2008-03-04  Adam Roben  <aroben@apple.com>
2627
2628         Fix an uninitialized value warning in CodeGeneratorJS.pm
2629
2630         * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
2631         non-existent $maybeOkParam (this was removed in r30753).
2632
2633 2008-03-04  Sam Weinig  <sam@webkit.org>
2634
2635         Reviewed by Darin Adler.
2636
2637         Remove kjs_dom.{h,cpp}.
2638
2639         - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
2640           to us a null return value as an indication of failure. (This new logic is used
2641           for toVoidCallback as well.)
2642         - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
2643           functions currently live.
2644         - Move checkNodeSecurity to kjs_binding, where other frame security functions 
2645           currently live.
2646         - Remove getNodeConstructor.  It had no implementation.
2647
2648         * GNUmakefile.am:
2649         * WebCore.pro:
2650         * WebCore.vcproj/WebCore.vcproj:
2651         * WebCore.xcodeproj/project.pbxproj:
2652         * WebCoreSources.bkl:
2653         * bindings/js/JSAttrCustom.cpp:
2654         * bindings/js/JSCustomVoidCallback.cpp:
2655         (WebCore::toVoidCallback):
2656         * bindings/js/JSCustomVoidCallback.h:
2657         * bindings/js/JSDatabaseCustom.cpp:
2658         (WebCore::JSDatabase::changeVersion):
2659         (WebCore::JSDatabase::transaction):
2660         * bindings/js/JSElementCustom.cpp:
2661         (WebCore::JSElement::setAttributeNode):
2662         (WebCore::JSElement::setAttributeNodeNS):
2663         * bindings/js/JSEventTargetBase.cpp:
2664         (WebCore::toJS):
2665         * bindings/js/JSEventTargetBase.h:
2666         * bindings/js/JSHTMLAppletElementCustom.cpp:
2667         * bindings/js/JSHTMLElementCustom.cpp:
2668         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2669         * bindings/js/JSHTMLFormElementCustom.cpp:
2670         * bindings/js/JSHTMLFrameElementCustom.cpp:
2671         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2672         * bindings/js/JSHTMLObjectElementCustom.cpp:
2673         * bindings/js/JSNamedNodeMapCustom.cpp:
2674         * bindings/js/JSNamedNodesCollection.cpp:
2675         * bindings/js/JSNodeFilterCustom.cpp:
2676         * bindings/js/JSXSLTProcessor.cpp:
2677         * bindings/js/kjs_binding.cpp:
2678         (WebCore::checkNodeSecurity):
2679         * bindings/js/kjs_binding.h:
2680         * bindings/js/kjs_css.cpp:
2681         * bindings/js/kjs_dom.cpp: Removed.
2682         * bindings/js/kjs_dom.h: Removed.
2683         * bindings/js/kjs_events.cpp:
2684         * bindings/js/kjs_html.cpp:
2685         (WebCore::getRuntimeObject):
2686         * bindings/js/kjs_html.h:
2687         * bindings/js/kjs_window.cpp:
2688         * bindings/scripts/CodeGeneratorJS.pm:
2689         * dom/Attr.idl:
2690         * html/HTMLPlugInElement.cpp:
2691         * page/InspectorController.cpp:
2692
2693 2008-03-04  Adam Roben  <aroben@apple.com>
2694
2695         Win/Qt/GTK+/wx build fix after r30740
2696
2697         * editing/Editor.cpp: Added missing #include.
2698         * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
2699         * page/win/FrameWin.cpp: Ditto.
2700         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
2701
2702 2008-03-04  Alp Toker  <alp@atoker.com>
2703
2704         GTK+ build fix for breakage introduced in r30740.
2705
2706         Remove Frame::dashboardRegionsChanged(). There's now a default
2707         implementation at ChromeClient::dashboardRegionsChanged().
2708
2709         * page/gtk/FrameGtk.cpp:
2710
2711 2008-03-04  Alp Toker  <alp@atoker.com>
2712
2713         GTK+ build fix suggested by aroben. Remove an unused Mac-specific
2714         included introduced in r30740.
2715
2716         * page/ChromeClient.h:
2717
2718 2008-03-04  Dan Bernstein  <mitz@apple.com>
2719
2720         Reviewed by Sam Weinig.
2721
2722         - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
2723
2724         Test: platform/win/fast/text/uniscribe-missing-glyph.html
2725
2726         Note that default installations of Windows do not have Myanmar fonts.
2727         What this patch does is ensure that the Myanmar and other complex
2728         scripts are rendered as missing glyphs rather than not rendered at all.
2729         The particular page in the bug measures the relative widths of two
2730         rendered strings and, if they are rendered as missing glyphs, detects
2731         that a Myanmar fonts is not available and substitutes the text with
2732         images. By not rendering (and measuring) missing glyphs, WebKit was
2733         throwing the page's detection code off.
2734
2735         * platform/graphics/win/UniscribeController.cpp:
2736         (WebCore::UniscribeController::shape): Removed an early return in case
2737         shaping resulted in missing glyphs. This is now expected if font
2738         fallback failed to produce a font containing glyphs for the character.
2739         Also changed two resize()s to shrink()s.
2740
2741 2008-03-04  Darin Adler  <darin@apple.com>
2742
2743         Reviewed by Adam.
2744
2745         - remove WebCoreFrameBridge reapplyStyles method
2746
2747         * WebCore.base.exp: Added exports.
2748         * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
2749         reapplyStylesForDeviceType: method.
2750         * page/mac/WebCoreFrameBridge.mm: Ditto.
2751
2752 2008-03-04  Darin Adler  <darin@apple.com>
2753
2754         Reviewed by Adam.
2755
2756         - eliminate WebCoreFrameBridge createFrameViewWithNSView
2757
2758         * WebCore.base.exp: Added some more exports.
2759         * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
2760         * page/mac/WebCoreFrameBridge.mm: Ditto.
2761
2762 2008-03-04  Darin Adler  <darin@apple.com>
2763
2764         Reviewed by Adam.
2765
2766         - removed WebCoreFrameBridge scrollOverflowInDirection
2767
2768         * WebCore.base.exp: Export function needed by WebKit.
2769         * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
2770         and scrollOverflowInDirection.
2771         * page/mac/WebCoreFrameBridge.mm: Removed method.
2772
2773 2008-03-04  Darin Adler  <darin@apple.com>
2774
2775         Reviewed by Adam.
2776
2777         - remove WebCoreFrameBridge installInFrame: method
2778
2779         * WebCore.base.exp: Export a few symbols.
2780         * WebCore.xcodeproj/project.pbxproj: Export a few files.
2781         * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
2782         * page/mac/WebCoreFrameBridge.mm: Ditto.
2783
2784 2008-03-04  Darin Adler  <darin@apple.com>
2785
2786         Reviewed by Adam.
2787
2788         - remove WebCoreFrameBridge window method
2789
2790         * page/mac/EventHandlerMac.mm:
2791         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
2792         window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
2793         special, so a call to -[NSView window] is fine.
2794
2795         * page/mac/WebCoreFrameBridge.h: Removed the window method.
2796
2797 2008-03-04  Darin Adler  <darin@apple.com>
2798
2799         Reviewed by Adam.
2800
2801         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
2802
2803         * WebCore.base.exp: Updated.
2804         * page/Chrome.cpp:
2805         (WebCore::ChromeClient::dashboardRegionsChanged): Added.
2806         * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
2807         * page/Frame.h: Removed dashboardRegionsChanged function.
2808         * page/FrameView.cpp:
2809         (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
2810         on ChromeClient and to only call it when the regions actually changed.
2811         * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
2812         * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
2813
2814 2008-03-04  Darin Adler  <darin@apple.com>
2815
2816         Reviewed by Adam.
2817
2818         - remove WebCoreFrameBridge issuePasteComand method
2819
2820         * editing/Editor.cpp:
2821         (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
2822         * editing/mac/EditorMac.mm:
2823         (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
2824         WebHTMLView). We should get rid of this eventually.
2825         * page/Frame.h: Removed issuePasteCommand.
2826         * page/mac/FrameMac.mm: Ditto.
2827         * page/mac/WebCoreFrameBridge.h: Ditto.
2828
2829 2008-03-04  Alexey Proskuryakov  <ap@webkit.org>
2830
2831         Suggested by Darin, rubber-stamped by Mark.
2832
2833         http://bugs.webkit.org/show_bug.cgi?id=17569
2834         REGRESSION (r30571): Buzzword.com doesn't load
2835
2836         Rolling out r30571, as determining what is wrong with it proved tricky.
2837
2838         * loader/FrameLoader.cpp:
2839         (WebCore::FrameLoader::load):
2840         (WebCore::FrameLoader::tokenizerProcessedData):
2841         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2842
2843 2008-03-04  Sam Weinig  <sam@webkit.org>
2844
2845         Build fix.
2846
2847         * bindings/js/kjs_events.cpp:
2848
2849 2008-03-03  Sam Weinig  <sam@webkit.org>
2850
2851         Reviewed by Mark Rowe.
2852
2853         Move JSClipboard into its own file.
2854
2855         * DerivedSources.make:
2856         * GNUmakefile.am:
2857         * WebCore.pro:
2858         * WebCore.vcproj/WebCore.vcproj:
2859         * WebCore.xcodeproj/project.pbxproj:
2860         * WebCoreSources.bkl:
2861         * bindings/js/JSAttrCustom.cpp:
2862         * bindings/js/JSClipboardCustom.cpp: Added.
2863         (WebCore::JSClipboard::types):
2864         (WebCore::JSClipboard::clearData):
2865         (WebCore::JSClipboard::getData):
2866         (WebCore::JSClipboard::setData):
2867         (WebCore::JSClipboard::setDragImage):
2868         * bindings/js/JSElementCustom.cpp:
2869         * bindings/js/JSEventCustom.cpp:
2870         * bindings/js/JSHTMLFrameElementCustom.cpp:
2871         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2872         * bindings/js/kjs_events.cpp:
2873         * bindings/js/kjs_events.h:
2874         * bindings/js/kjs_window.cpp:
2875         * bindings/scripts/CodeGeneratorJS.pm:
2876         * dom/Clipboard.cpp:
2877         (WebCore::Clipboard::setDropEffect):
2878         (WebCore::Clipboard::setEffectAllowed):
2879         * dom/Clipboard.idl: Added.
2880
2881 2008-03-03  Sam Weinig  <sam@webkit.org>
2882
2883         Windows build-fix.
2884
2885         * page/Chrome.cpp:
2886         * plugins/win/PluginViewWin.cpp:
2887
2888 2008-03-03  Sam Weinig  <sam@webkit.org>
2889
2890         Reviewed by Darin Adler.
2891
2892         Cleanup and plumbing in preparation for the great Window split.
2893
2894         - Rename KJS::Window to WebCore::JSDOMWindowBase.
2895         - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
2896           with the new toJSDOMWindow().
2897         - Remove KJS::Window::retrieveActive() and replace with explicit call to 
2898           exec->dynamicGlobalObject() and toJSDOMWindow().
2899
2900         * bindings/js/JSCustomVoidCallback.cpp:
2901         (WebCore::toVoidCallback):.
2902         * bindings/js/JSCustomXPathNSResolver.cpp:
2903         (WebCore::JSCustomXPathNSResolver::create):
2904         * bindings/js/JSDatabaseCustom.cpp:
2905         (WebCore::JSDatabase::changeVersion):
2906         (WebCore::JSDatabase::transaction):
2907         * bindings/js/JSDocumentCustom.cpp:
2908         (WebCore::JSDocument::location):
2909         (WebCore::toJS):
2910         * bindings/js/JSEventTargetBase.cpp:
2911         (WebCore::jsEventTargetAddEventListener):
2912         (WebCore::jsEventTargetRemoveEventListener):
2913         * bindings/js/JSEventTargetNode.cpp:
2914         (WebCore::JSEventTargetNode::setListener):
2915         * bindings/js/JSHTMLDocumentCustom.cpp:
2916         (WebCore::JSHTMLDocument::nameGetter):
2917         (WebCore::JSHTMLDocument::open):
2918         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2919         (WebCore::JSHTMLFrameSetElement::nameGetter):
2920         * bindings/js/JSLocation.cpp:
2921         (WebCore::JSLocation::put):
2922         (WebCore::jsLocationProtoFuncReplace):
2923         (WebCore::jsLocationProtoFuncReload):
2924         (WebCore::jsLocationProtoFuncAssign):
2925         * bindings/js/JSLocation.h:
2926         * bindings/js/JSSQLTransactionCustom.cpp:
2927         (WebCore::JSSQLTransaction::executeSql):
2928         * bindings/js/JSSVGLazyEventListener.cpp:
2929         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
2930         (WebCore::JSSVGLazyEventListener::eventParameterName):
2931         * bindings/js/JSSVGLazyEventListener.h:
2932         * bindings/js/JSXMLHttpRequest.cpp:
2933         (WebCore::JSXMLHttpRequest::putValueProperty):
2934         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
2935         (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
2936         (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
2937         * bindings/js/ScheduledAction.cpp:
2938         (WebCore::ScheduledAction::execute):
2939         * bindings/js/ScheduledAction.h:
2940         * bindings/js/kjs_binding.cpp:
2941         (WebCore::allowsAccessFromFrame):
2942         (WebCore::printErrorMessageForFrame):
2943         * bindings/js/kjs_events.cpp:
2944         (WebCore::JSAbstractEventListener::handleEvent):
2945         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2946         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2947         (WebCore::JSUnprotectedEventListener::windowObj):
2948         (WebCore::JSEventListener::JSEventListener):
2949         (WebCore::JSEventListener::~JSEventListener):
2950         (WebCore::JSEventListener::windowObj):
2951         (WebCore::JSLazyEventListener::JSLazyEventListener):
2952         (WebCore::JSLazyEventListener::parseCode):
2953         * bindings/js/kjs_events.h:
2954         * bindings/js/kjs_navigator.cpp:
2955         (WebCore::MimeType::getValueProperty):
2956         * bindings/js/kjs_proxy.cpp:
2957         (WebCore::KJSProxy::evaluate):
2958         (WebCore::KJSProxy::createHTMLEventHandler):
2959         (WebCore::KJSProxy::createSVGEventHandler):
2960         * bindings/js/kjs_window.cpp:
2961         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
2962         (WebCore::DOMWindowTimer::DOMWindowTimer):
2963         (WebCore::DOMWindowTimer::action):
2964         (WebCore::DOMWindowTimer::takeAction):
2965         (WebCore::):
2966         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2967         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2968         (WebCore::JSDOMWindowBase::location):
2969         (WebCore::JSDOMWindowBase::mark):
2970         (WebCore::allowPopUp):
2971         (WebCore::createWindow):
2972         (WebCore::showModalDialog):
2973         (WebCore::JSDOMWindowBase::getValueProperty):
2974         (WebCore::JSDOMWindowBase::childFrameGetter):
2975         (WebCore::JSDOMWindowBase::indexGetter):
2976         (WebCore::JSDOMWindowBase::namedItemGetter):
2977         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2978         (WebCore::JSDOMWindowBase::put):
2979         (WebCore::JSDOMWindowBase::allowsAccessFrom):
2980         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
2981         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
2982         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
2983         (WebCore::JSDOMWindowBase::printErrorMessage):
2984         (WebCore::JSDOMWindowBase::globalExec):
2985         (WebCore::JSDOMWindowBase::shouldInterruptScript):
2986         (WebCore::JSDOMWindowBase::setListener):
2987         (WebCore::JSDOMWindowBase::getListener):
2988         (WebCore::JSDOMWindowBase::findJSEventListener):
2989         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2990         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2991         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2992         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
2993         (WebCore::JSDOMWindowBase::clear):
2994         (WebCore::JSDOMWindowBase::setCurrentEvent):
2995         (WebCore::JSDOMWindowBase::currentEvent):
2996         (WebCore::windowProtoFuncAToB):
2997         (WebCore::windowProtoFuncBToA):
2998         (WebCore::windowProtoFuncOpen):
2999         (WebCore::windowProtoFuncSetTimeout):
3000         (WebCore::windowProtoFuncClearTimeout):
3001         (WebCore::windowProtoFuncSetInterval):
3002         (WebCore::windowProtoFuncAddEventListener):
3003         (WebCore::windowProtoFuncRemoveEventListener):
3004         (WebCore::windowProtoFuncShowModalDialog):
3005         (WebCore::windowProtoFuncNotImplemented):
3006         (WebCore::JSDOMWindowBase::setReturnValueSlot):
3007         (WebCore::JSDOMWindowBase::clearAllTimeouts):
3008         (WebCore::JSDOMWindowBase::installTimeout):
3009         (WebCore::JSDOMWindowBase::pauseTimeouts):
3010         (WebCore::JSDOMWindowBase::resumeTimeouts):
3011         (WebCore::JSDOMWindowBase::clearTimeout):
3012         (WebCore::JSDOMWindowBase::timerFired):
3013         (WebCore::JSDOMWindowBase::disconnectFrame):
3014         (WebCore::JSDOMWindowBase::jsEventListeners):
3015         (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
3016         (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
3017         (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
3018         (WebCore::toJS):
3019         (WebCore::toJSDOMWindow):
3020         (WebCore::toJSDOMWindow):
3021         * bindings/js/kjs_window.h:
3022         (WebCore::JSDOMWindowBase::impl):
3023         (WebCore::JSDOMWindowBase::classInfo):
3024         (WebCore::JSDOMWindowBase::):
3025         * bindings/objc/DOMUtility.mm:
3026         (KJS::createDOMWrapper):
3027         * bindings/scripts/CodeGeneratorJS.pm:
3028         * history/CachedPage.cpp:
3029         (WebCore::CachedPage::CachedPage):
3030         (WebCore::CachedPage::restore):
3031         * page/Chrome.cpp:
3032         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3033         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3034         * page/DOMWindow.idl:
3035         * page/Frame.cpp:
3036         (WebCore::Frame::~Frame):
3037         (WebCore::Frame::windowScriptNPObject):
3038         (WebCore::Frame::pageDestroyed):
3039         * page/InspectorController.cpp:
3040         (WebCore::inspectedWindow):
3041         * page/mac/FrameMac.mm:
3042         (WebCore::Frame::windowScriptObject):
3043         * page/mac/WebCoreFrameBridge.mm:
3044         (updateRenderingForBindings):
3045         * platform/SecurityOrigin.cpp:
3046         (WebCore::SecurityOrigin::canAccess):
3047
3048 2008-03-03  Kevin Ollivier  <kevino@theolliviers.com>
3049
3050         wx build fixes after recent Frame-related changes.
3051
3052         * platform/wx/PasteboardWx.cpp:
3053         * platform/wx/TemporaryLinkStubs.cpp:
3054
3055 2008-03-03  Dan Bernstein  <mitz@apple.com>
3056
3057         Reviewed by Darin Adler.
3058
3059         - make :first-letter apply to the first letter in normal flow, skipping
3060           floats and positioned objects
3061
3062         Test: fast/css/first-letter-skip-out-of-flow.html
3063
3064         * rendering/RenderBlock.cpp:
3065         (WebCore::RenderBlock::updateFirstLetter):
3066
3067 2008-03-03  Ada Chan  <adachan@apple.com>
3068
3069         Fix build.
3070
3071         * plugins/win/PluginViewWin.cpp:
3072
3073 2008-03-03  Mark Rowe  <mrowe@apple.com>
3074
3075         Reviewed by Dan Bernstein.
3076
3077         Fix http://bugs.webkit.org/show_bug.cgi?id=17313
3078         Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
3079
3080         Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
3081         before using it to resolve styles, which lead to it having a stale m_style member in some situations.
3082         This stale m_style member resulted in a wild store that would write over whatever object now resided
3083         at the location m_style pointed to.
3084
3085         Test: fast/dom/SelectorAPI/bug-17313.html
3086
3087         * dom/Node.cpp:
3088         (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
3089         * dom/SelectorNodeList.cpp:
3090         (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
3091
3092 2008-03-03  Anders Carlsson  <andersca@apple.com>
3093
3094         Reviewed by Darin and Sam.
3095
3096         Include fixes, in preparation of using the headers in WebCore/bridge.
3097         
3098         * bindings/js/kjs_binding.h:
3099         * bindings/js/kjs_dom.cpp:
3100         * bindings/objc/DOMInternal.mm:
3101         * bindings/objc/DOMUtility.mm:
3102         * bindings/objc/WebScriptObject.mm:
3103         * bindings/objc/WebScriptObjectPrivate.h:
3104         * bridge/objc/objc_class.h:
3105         * bridge/objc/objc_instance.h:
3106         * bridge/objc/objc_runtime.h:
3107         * bridge/objc/objc_utility.h:
3108         * bridge/runtime.h:
3109         * bridge/runtime_object.h:
3110         * bridge/runtime_root.h:
3111         * html/HTMLAppletElement.cpp:
3112         * html/HTMLAppletElement.h:
3113         * html/HTMLEmbedElement.cpp:
3114         * html/HTMLEmbedElement.h:
3115         * html/HTMLObjectElement.cpp:
3116         * html/HTMLPlugInElement.cpp:
3117         * html/HTMLPlugInElement.h:
3118         * page/mac/FrameMac.mm:
3119         * page/mac/WebCoreFrameBridge.h:
3120         * page/mac/WebCoreFrameBridge.mm:
3121         * page/mac/WebCoreScriptDebugger.mm:
3122
3123 2008-03-03  David Hyatt  <hyatt@apple.com>
3124
3125         Full page zoom plumbing.  Add a notion of whether or not a zoom is text only or a full zoom to the
3126         Frame.  setTextSizeMultiplier does a text only zoom.
3127
3128         Reviewed by Tim H.
3129
3130         * page/Frame.cpp:
3131         (WebCore::Frame::zoomFactor):
3132         (WebCore::Frame::isZoomFactorTextOnly):
3133         (WebCore::Frame::setZoomFactor):
3134         (WebCore::FramePrivate::FramePrivate):
3135         * page/Frame.h:
3136         * page/FramePrivate.h:
3137         * page/mac/WebCoreFrameBridge.mm:
3138         (-[WebCoreFrameBridge setTextSizeMultiplier:]):
3139         * svg/SVGSVGElement.cpp:
3140         (WebCore::SVGSVGElement::setCurrentScale):
3141
3142 2008-03-03  David Hyatt  <hyatt@apple.com>
3143
3144         Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
3145
3146         This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
3147
3148         Make sure not to access position -1 of the size 0 vectors.
3149
3150         Reviewed by ggaren
3151
3152         * rendering/FixedTableLayout.cpp:
3153         (WebCore::FixedTableLayout::layout):
3154
3155 2008-03-03  David D. Kilzer  <ddkilzer@webkit.org>
3156
3157         Dynamically inserting CSS rule with @media query fails with DOM Exception 12
3158         <http://bugs.webkit.org/show_bug.cgi?id=15986>
3159
3160         Reviewed by Darin.
3161
3162         Allow any valid rule (@font-face, @import, @media, @page or style) to be
3163         parsed when using CSSStyleSheet.insertRule().  Previously only import and
3164         style rules were allowed.  Note that @page rules always throw an exception
3165         because they're not implemented yet, so no test case was added for them.
3166
3167         Tests: fast/css/insertRule-font-face.html
3168                fast/css/insertRule-media.html
3169
3170         * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'.  Renamed
3171         'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
3172
3173 2008-03-03  Anders Carlsson  <andersca@apple.com>
3174
3175         Reviewed by Sam.
3176
3177         Copy JSC bindings directory over to WebCore/bridge.
3178
3179         * bridge: Copied from ../JavaScriptCore/bindings.
3180
3181 2008-03-03  Dan Bernstein  <mitz@apple.com>
3182
3183         Reviewed by Darin Adler.
3184
3185         - remove CSSMutableStyleDeclaration::setChanged()'s change type
3186           parameter
3187
3188         * css/CSSMutableStyleDeclaration.cpp:
3189         (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
3190         type parameter and made this function determine the correct change type
3191         based on whether this is an inline style declaration.
3192         (WebCore::CSSMutableStyleDeclaration::setProperty):
3193         * css/CSSMutableStyleDeclaration.h:
3194         (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
3195         method.
3196         (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
3197
3198 2008-03-03  Darin Adler  <darin@apple.com>
3199
3200         Reviewed by Adam.
3201
3202         - some "cleanup" on the path to removing WebCoreFrameBridge
3203
3204         * WebCore.base.exp: Exported some stuff we either already use or
3205         I am about to use in an upcoming patch.
3206
3207         * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
3208         than project, for future use in WebKit.
3209
3210         * bindings/objc/WebScriptObject.mm: Removed some dead code.
3211
3212         * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
3213         * editing/Editor.cpp: Ditto.
3214
3215         * editing/Editor.h: Removed many unneeded declarations and includes.
3216         Removed the unused userVisibleString function.
3217
3218         * editing/EditorCommand.cpp:
3219         (WebCore::executeYank): Added parameter for triggeringEvent, which no
3220         longer has a default value.
3221         (WebCore::executeYankAndSelect): Ditto.
3222
3223         * editing/mac/EditorMac.mm: Removed userVisibleString.
3224
3225         * page/mac/EventHandlerMac.mm:
3226         (WebCore::isKeyboardOptionTab): Tweaked formattin.
3227
3228         * page/mac/WebCoreFrameBridge.mm:
3229         (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
3230         rather than from the bridge. There's no special value in the bridge's window
3231         method and we can use NSView directly.
3232         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
3233
3234         * platform/graphics/mac/ImageMac.mm:
3235         (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
3236         find the bundle rather than using WebCoreFrameBridge.
3237
3238         * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
3239         * platform/mac/PasteboardMac.mm: Ditto.
3240
3241         * rendering/RenderObject.h:
3242         (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
3243         comparing the clip rectangle.
3244         (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
3245
3246 2008-03-03  Oliver Hunt  <oliver@apple.com>
3247
3248         Reviewed by Mark Rowe.
3249
3250         Bug 17620: getImageData lies
3251         http://bugs.webkit.org/show_bug.cgi?id=17620
3252
3253         Correct logic to actually iterate over the source row
3254
3255         * platform/graphics/cg/ImageBufferCG.cpp:
3256         (WebCore::ImageBuffer::getImageData):
3257
3258 2008-03-03  Oliver Hunt  <oliver@apple.com>
3259
3260         Reviewed by Mark Rowe.
3261
3262         Correct incorrect assertion
3263
3264         * platform/graphics/cg/ImageBufferCG.cpp:
3265         (WebCore::ImageBuffer::putImageData):
3266
3267 2008-03-02  Alp Toker  <alp@atoker.com>
3268
3269         Another fix for non-database builds after changes in r30331.
3270
3271         Conditionalize a stopDatabases() call.
3272
3273         * loader/FrameLoader.cpp:
3274         (WebCore::FrameLoader::stopLoading):
3275
3276 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
3277
3278         Reviewed by Alp Toker.
3279
3280         Scrolling fixes. Implement page scrolling, initialize mouse wheel
3281         event variables, and remove duplicate event binding for TOP
3282         scrolling event.
3283
3284         http://bugs.webkit.org/show_bug.cgi?id=17643
3285
3286         * platform/wx/MouseWheelEventWx.cpp:
3287         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3288         * platform/wx/ScrollViewWx.cpp:
3289         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
3290         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3291
3292 2008-03-02  Alp Toker  <alp@atoker.com>
3293
3294         Fix building without database support after changes in r30331.
3295
3296         * dom/Document.cpp:
3297
3298 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
3299
3300         wx build fix for Windows after PageWin.cpp move.
3301
3302         * webcore-wx.bkl:
3303
3304 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
3305
3306         Reviewed by Dave Hyatt.
3307
3308         Gracefully handle a CSS rule containing an invalid value.
3309         (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
3310
3311         * css/CSSGrammar.y:
3312
3313 2008-03-02  Alp Toker  <alp@atoker.com>
3314
3315         Reviewed by Mark Rowe.
3316
3317         Improve the Cairo Path::isEmpty() function
3318
3319         Use cairo_has_current_point() where available.
3320
3321         * platform/graphics/cairo/PathCairo.cpp:
3322         (WebCore::Path::isEmpty):
3323
3324 2008-03-01  Mark Rowe  <mrowe@apple.com>
3325
3326         Reviewed by Tim Hatcher.
3327
3328         Update Xcode configuration to support building debug and release from the mysterious future.
3329
3330         * Configurations/DebugRelease.xcconfig:
3331
3332 2008-03-01  Oliver Hunt  <oliver@apple.com>
3333
3334         Reviewed by Sam Weinig.
3335
3336         Bug 16954: Support putImageData
3337         
3338         Implement support for HTML5's putImageData for the CG port.  All other ports
3339         are currently just using stubs for the final blit.
3340
3341         Test: fast/canvas/canvas-putImageData.html
3342
3343         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3344         (WebCore::JSCanvasRenderingContext2D::putImageData):
3345         * html/CanvasRenderingContext2D.cpp:
3346         (WebCore::CanvasRenderingContext2D::putImageData):
3347         * html/CanvasRenderingContext2D.h:
3348         * platform/graphics/ImageBuffer.h:
3349         * platform/graphics/cairo/ImageBufferCairo.cpp:
3350         * platform/graphics/cg/ImageBufferCG.cpp:
3351         (WebCore::ImageBuffer::putImageData):
3352         * platform/graphics/qt/ImageBufferQt.cpp:
3353         * platform/graphics/wx/ImageBufferWx.cpp:
3354
3355 2008-03-01  Jon Honeycutt  <jhoneycutt@apple.com>
3356
3357         Reviewed by Darin.
3358
3359         <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
3360         instances
3361
3362         The VLC Netscape plug-in crashes if more than one instance is created.
3363
3364         Added a quirk that disallows a plug-in from having more than one
3365         instance and set this for the VLC plug-in.
3366
3367         In addition, we now sort plug-ins that handle the same MIME
3368         type to choose the most appropriate one. This sorting first sorts by
3369         whether a plug-in has an issue that should put it at the end of the
3370         list, then whether it appears in a "preferred" plug-in directory.
3371
3372         * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
3373         * plugins/PluginDatabase.cpp:
3374         (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
3375         sorting plug-ins; calls PluginPackage::compare().
3376         (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
3377         that handle this MIME type to a list, sort the list, and return the
3378         first item.
3379         (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
3380         that handle this extension to a list, sort the list, and return the MIME
3381         type used by the plug-in at the beginning of the list.
3382         * plugins/PluginDatabase.h:
3383         * plugins/PluginPackage.h:
3384         (WebCore::PluginPackage::version): Added; returns the module version.
3385         * plugins/win/PluginDatabaseWin.cpp:
3386         (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
3387         const.
3388         * plugins/win/PluginPackageWin.cpp:
3389         (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
3390         the end, then plug-ins in preferred directories to the beginning, then
3391         alphabetically by file name, numerically by version, and alphabetically
3392         by parent directory.
3393         (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
3394         instances" quirk for VLC.
3395         (WebCore::PluginPackage::load): Return false if the plug-in library has
3396         already been loaded and the "don't allow multiple instances" quirk is
3397         set.
3398         * platform/gtk/TemporaryLinkStubs.cpp:
3399         (PluginPackage::compare): Added stub.
3400         (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
3401         * platform/qt/TemporaryLinkStubs.cpp:
3402         (PluginPackage::compare): Added stub.
3403         (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
3404         * platform/wx/TemporaryLinkStubs.cpp:
3405         (PluginPackage::compare): Added stub.
3406         (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
3407
3408 2008-03-01  Sam Weinig  <sam@webkit.org>
3409
3410         Rubber-stamped by Mark Rowe.
3411
3412         Remove reference to the now non-existent bridge directory.
3413
3414         * WebCore.xcodeproj/project.pbxproj:
3415
3416 2008-03-01  Sam Weinig  <sam@webkit.org>
3417
3418         Reviewed by Darin Adler.
3419
3420         Search the entire prototype chain when doing early prototype lookup in
3421         the Window's getOwnPropertySlot method.
3422
3423         Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
3424
3425         * bindings/js/kjs_window.cpp:
3426         (KJS::Window::getOwnPropertySlot):
3427
3428 2008-03-01  Nikolas Zimmermann  <zimmermann@kde.org>
3429
3430         Reviewed by Oliver.
3431
3432         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
3433
3434         As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
3435
3436         Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
3437                svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
3438                svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
3439                svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
3440                svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
3441                svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
3442                svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
3443                svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
3444
3445         * svg/SVGForeignObjectElement.cpp:
3446         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
3447         (WebCore::addCSSPropertyAndNotifyAttributeMap):
3448         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
3449         * svg/SVGForeignObjectElement.h:
3450
3451 2008-02-29  Brady Eidson  <beidson@apple.com>
3452
3453         Reviewed by build-fix karma
3454
3455         Bonehead mistake.  Revert function to previous version for all non-Windows+CFNetwork platforms
3456
3457         * platform/network/ProtectionSpace.cpp:
3458         (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
3459
3460 2008-02-29  Brady Eidson  <beidson@apple.com>
3461
3462         Reviewed by Darin
3463         
3464         <rdar://problem/5771227> - Incorrect password handling text in credential sheet
3465
3466         * platform/network/ProtectionSpace.cpp:
3467         (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
3468           get "secureness" of the auth challenge instead of figuring it out ourselves
3469
3470 2008-02-29  Brent Fulgham  <bfulgham@gmail.com>
3471
3472         http://bugs.webkit.org/show_bug.cgi?id=17483
3473         Implement scrollbars on Windows (Cairo)
3474
3475         Reviewed by Adam Roben.
3476
3477         * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
3478           from PlatformScrollBarWinSafari.cpp, then modify to use the
3479           native Windows theme engine.  Use SOFT_LINK.  Use platform
3480           'GetSystemMetrics' call to decide size of scrollbars and buttons.
3481
3482 2008-02-29  Adam Roben  <aroben@apple.com>
3483
3484         Windows build fix
3485
3486         * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
3487         and the post-build event, and add page/win to each. Also let VS have
3488         its way with the order of the files.
3489         * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
3490         * page/win/GlobalHistoryWin.cpp: Copied from
3491         bridge/win/GlobalHistoryWin.cpp in r30673
3492
3493 2008-02-29  Anders Carlsson  <andersca@apple.com>
3494
3495         Build fix.
3496
3497         * WebCore.xcodeproj/project.pbxproj:
3498
3499 2008-02-29  Mark Rowe  <mrowe@apple.com>
3500
3501         Reviewed by Tim Hatcher.
3502
3503         64-bit build fix.
3504
3505         * platform/graphics/mac/SimpleFontDataMac.mm:
3506         (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
3507         FMGetATSFontRefFromFont is not available.
3508
3509 2008-02-29  Mark Rowe  <mrowe@apple.com>
3510
3511         Build fix.  Only declare pathFromFont in debug builds as it is unused in release builds.
3512
3513         * platform/graphics/mac/SimpleFontDataMac.mm:
3514
3515 2008-02-29  Anders Carlsson  <andersca@apple.com>
3516
3517         Reviewed by Adam.
3518         
3519         Copy the remaining files in bridge/ over to page/
3520
3521         * WebCore.vcproj/WebCore.vcproj:
3522         * WebCore.xcodeproj/project.pbxproj:
3523         * bridge: Removed.
3524         * bridge/AXObjectCache.h: Removed.
3525         * bridge/EditorClient.h: Removed.
3526         * bridge/GlobalHistory.h: Removed.
3527         * bridge/win: Removed.
3528         * bridge/win/FrameCGWin.cpp: Removed.
3529         * bridge/win/FrameCairoWin.cpp: Removed.
3530         * bridge/win/FrameWin.cpp: Removed.
3531         * bridge/win/FrameWin.h: Removed.
3532         * bridge/win/GlobalHistoryWin.cpp: Removed.
3533         * bridge/win/PageWin.cpp: Removed.
3534         * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
3535         * page/EditorClient.h: Copied from bridge/EditorClient.h.
3536         * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
3537         * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
3538         * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
3539         * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
3540         * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
3541
3542 2008-02-29  Robert Blaut  <webkit@blaut.biz>
3543
3544         Reviewed by Darin Adler.
3545
3546         - fix http://bugs.webkit.org/show_bug.cgi?id=17532
3547           Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
3548
3549         Test: fast/html/link-rel-stylesheet.html
3550
3551         * html/HTMLLinkElement.cpp:
3552         (WebCore::HTMLLinkElement::process):
3553
3554 2008-02-29  Mark Rowe  <mrowe@apple.com>
3555
3556         Reviewed by Anders Carlsson.
3557
3558         Replace use of WKPathFromFont with implementation in terms of public API.
3559
3560         * WebCore.base.exp: Remove unused symbol.
3561         * platform/graphics/mac/SimpleFontDataMac.mm:
3562         (WebCore::initFontData):
3563         (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
3564         (WebCore::SimpleFontData::platformInit):
3565         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
3566         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3567
3568 2008-02-29  Anders Carlsson  <andersca@apple.com>
3569
3570         Reviewed by Adam.
3571
3572         Move a bunch of files from bridge/mac to page/mac.
3573         
3574         * WebCore.xcodeproj/project.pbxproj:
3575         * bridge/mac: Removed.
3576         * bridge/mac/AXObjectCacheMac.mm: Removed.
3577         * bridge/mac/GlobalHistoryMac.mm: Removed.
3578         * bridge/mac/WebCoreAXObject.h: Removed.
3579         * bridge/mac/WebCoreAXObject.mm: Removed.
3580         * bridge/mac/WebCoreScriptDebugger.h: Removed.
3581         * bridge/mac/WebCoreScriptDebugger.mm: Removed.
3582         * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
3583         * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
3584         * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
3585         * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
3586         * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
3587         * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
3588
3589 2008-02-29  David Hyatt  <hyatt@apple.com>
3590
3591         Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
3592         guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
3593         been assigned into the document's member variable.
3594
3595         Reviewed by aroben
3596
3597         * css/CSSStyleSelector.cpp:
3598         (WebCore::CSSRuleSet::addRulesFromSheet):
3599         * css/MediaQueryEvaluator.cpp:
3600         (WebCore::MediaQueryEvaluator::eval):
3601         * css/MediaQueryEvaluator.h:
3602
3603 2008-02-29  David Hyatt  <hyatt@apple.com>
3604
3605         <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
3606
3607         Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
3608         Be more precise in terms of what nodes we mark dirty.
3609
3610         Reviewed by Beth
3611
3612         * css/CSSStyleSelector.cpp:
3613         (WebCore::CSSStyleSelector::checkSelector):
3614         * dom/Element.cpp:
3615         (WebCore::Element::recalcStyle):
3616         (WebCore::checkForSiblingStyleChanges):
3617         (WebCore::Element::childrenChanged):
3618         (WebCore::Element::finishParsingChildren):
3619         * rendering/RenderStyle.cpp:
3620         (WebCore::RenderStyle::RenderStyle):
3621         * rendering/RenderStyle.h:
3622         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
3623         (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
3624         (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
3625
3626 2008-02-29  Alexey Proskuryakov  <ap@webkit.org>
3627
3628         Reviewed by Darin.
3629
3630         <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
3631
3632         Test: http/tests/xmlhttprequest/status-after-abort.html
3633
3634         * xml/XMLHttpRequest.cpp:
3635         (WebCore::XMLHttpRequest::getStatus):
3636         (WebCore::XMLHttpRequest::getStatusText):
3637         Changed to match Firefox more closely (IE just raises an exception in most of those cases).
3638
3639 2008-02-29  Dan Bernstein  <mitz@apple.com>
3640
3641         Reviewed by Darin Adler.
3642
3643         - fix a bug where explicit embedding past the end of a line could
3644           affect text that line
3645
3646         Test: fast/text/embed-at-end-of-pre-wrap-line.html
3647
3648         * rendering/bidi.cpp:
3649         (WebCore::RenderBlock::skipWhitespace): Removed calls to
3650         setAdjustEmbedding().
3651         (WebCore::RenderBlock::findNextLineBreak): Added calls to
3652         setAdjustEmbedding() around skipWhitespace() only where needed.
3653
3654 2008-02-29  Mark Rowe  <mrowe@apple.com>
3655
3656         Reviewed by Oliver Hunt.
3657
3658         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
3659
3660         * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
3661         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3662         * platform/network/mac/ResourceRequestMac.mm:
3663         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
3664         * WebCore.Tiger.exp: Move Tiger-only symbol here.
3665         * WebCore.base.exp:
3666
3667 2008-02-29  Mark Rowe  <mrowe@apple.com>
3668
3669         Rubber-stamped by Eric Seidel.
3670
3671         Remove unneeded includes of WebCoreSystemInterface.h.
3672
3673         * loader/mac/LoaderNSURLExtras.m:
3674         * page/mac/FrameMac.mm:
3675         * page/mac/WebCoreFrameBridge.mm:
3676         * platform/MIMETypeRegistry.cpp:
3677         * platform/graphics/mac/ImageMac.mm:
3678         * platform/mac/PasteboardMac.mm:
3679
3680 2008-02-29  Mark Rowe  <mrowe@apple.com>
3681
3682         Reviewed by Oliver Hunt and Oliver Hunt.
3683
3684         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
3685
3686         * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
3687         * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
3688         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
3689         * WebCore.base.exp:  Ditto.
3690
3691 2008-02-28  Mark Rowe  <mrowe@apple.com>
3692
3693         Reviewed by Dave Hyatt.
3694
3695         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
3696
3697         * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
3698         * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
3699         * WebCore.base.exp:
3700         * platform/graphics/mac/SimpleFontDataMac.mm:
3701         (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
3702         * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
3703         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
3704
3705 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
3706
3707         Reviewed by Tim Hatcher.
3708
3709         Bug 16535: Stylesheets loaded with @import are not editable
3710         http://bugs.webkit.org/show_bug.cgi?id=16535
3711         <rdar://problem/5712899>
3712
3713         Sheets loaded using @import were incorrectly being flagged as non-editable
3714         user agent sheets because their parent sheet doesn't have an ownerNode. We now
3715         check to make sure sheets also don't have a href before restricting their editability.
3716
3717         * page/inspector/StylesSidebarPane.js:
3718
3719 2008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
3720
3721         Reviewed by Adam Roben.
3722
3723         Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
3724         Add PluginPackage.cpp to build configurations.
3725         Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
3726         Use cross-platform pathGetFilename method.
3727         Remove platform-specific code from shared PluginPackage implementation.
3728         Remove shared code from PluginPackageWin.cpp.
3729
3730         * GNUmakefile.am:
3731         * WebCore.pro:
3732         * WebCoreSources.bkl:
3733         * WebCore.vcproj/WebCore.vcproj:
3734         * platform/gtk/TemporaryLinkStubs.cpp:
3735         * platform/qt/TemporaryLinkStubs.cpp:
3736         * platform/wx/TemporaryLinkStubs.cpp:
3737         * plugins/PluginPackage.cpp:
3738         * plugins/win/PluginPackageWin.cpp:
3739
3740 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
3741
3742         Reviewed by Darin Adler.
3743
3744         <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
3745         
3746         Add a second style span at copy time to hold document default styles.  This helps us
3747         differentiate between those and user applied styles at paste time, where we'll want
3748         to let Mail's Paste As Quotation blockquote override document default styles, but
3749         not others.
3750
3751         * css/CSSComputedStyleDeclaration.cpp:
3752         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
3753         for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
3754         are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
3755         type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
3756         an element and that element's inlineStyleDecl(), causing identical values to always appear 
3757         different to diff().
3758         * editing/ReplaceSelectionCommand.cpp:
3759         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
3760         the class to an empty string, completely remove it, it's no longer needed.
3761         (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
3762         (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
3763         Added, replaces removeRedundantStyles.
3764         We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
3765         unused code and renamed the function.
3766         There won't be more than two style spans that we need to consider, the one with the 
3767         source document's default styles and styles on the commonAncestor of the copied Range, 
3768         so don't look for more than two.
3769         Let elements that wrap the incoming fragment override the source document's styles.
3770         (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
3771         and call the renamed handleStyleSpans.
3772         * editing/ReplaceSelectionCommand.h:
3773         * editing/markup.cpp:
3774         (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
3775         that holds user applied styles, since they'll be added to their own style span.
3776         (WebCore::createMarkup):
3777         Add a second style span that holds just the document defaults. This lets us differentiate
3778         between those and user applied styles at paste time.
3779         Mail blockquotes are just another type of special element, moved their handling there. This
3780         also lets paste code make assumptions about the position of the two style spans (they are 
3781         *always* parent-child).
3782
3783 2008-02-28  Brent Fulgham <bfulgham@gmail.com>
3784
3785         http://bugs.webkit.org/show_bug.cgi?id=17576
3786         Modify RenderThemeWin to use SOFT_LINK
3787
3788         Reviewed by Adam Roben.
3789
3790         * rendering/RenderThemeWin.h: Remove unneeded library handle
3791         * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
3792           rather than hand-coded load library calls.
3793
3794 2008-02-28  Dan Bernstein  <mitz@apple.com>
3795
3796         Reviewed by Darin Adler.
3797
3798         - fix http://bugs.webkit.org/show_bug.cgi?id=17590
3799           ASSERTION FAILED: subject in jsRegExpExecute()
3800
3801         * page/mac/FrameMac.mm:
3802         (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
3803         case the element name is empty.
3804
3805 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
3806
3807         Reviewed by Dan Bernstein
3808         
3809         Small editing speed up.
3810         
3811         * dom/Position.cpp:
3812         (WebCore::Position::upstream): Don't check for a change in editability
3813         if the current node hasn't changed.
3814         (WebCore::Position::downstream): Ditto.
3815
3816 2008-02-27  Dan Bernstein  <mitz@apple.com>
3817
3818         Reviewed by John Sullivan.
3819
3820         - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
3821
3822         Test: fast/text/soft-hyphen-2.html
3823
3824         * rendering/bidi.cpp:
3825         (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
3826         that if there are two midpoints at the given position, only the last one
3827         will be chopped off.
3828
3829 2008-02-27  Dan Bernstein  <mitz@apple.com>
3830
3831         Reviewed by Darin Adler.
3832
3833         - make centered text in right-to-left blocks spill over to the left
3834
3835         Test: fast/text/align-center-rtl-spill.html
3836
3837         * rendering/bidi.cpp:
3838         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3839
3840 2008-02-27  Dan Bernstein  <mitz@apple.com>
3841
3842         Reviewed by Darin Adler.
3843
3844         - more bidi.cpp cleanup
3845
3846         * platform/text/BidiResolver.h:
3847         (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
3848         (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
3849         here.
3850         (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
3851         addRun().
3852         (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
3853         destroy(), avoiding the need to specialize this method in BidiState.
3854         * rendering/bidi.cpp:
3855         (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
3856         (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
3857         (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
3858         (WebCore::RenderBlock::createLineBoxes): 
3859         (WebCore::RenderBlock::constructLine):
3860         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
3861         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3862         (WebCore::buildCompactRuns):
3863         (WebCore::RenderBlock::layoutInlineChildren):
3864         (WebCore::RenderBlock::determineStartPosition):
3865         (WebCore::RenderBlock::determineEndPosition):
3866         (WebCore::RenderBlock::matchedEndLine):
3867         (WebCore::skipNonBreakingSpace):
3868         (WebCore::RenderBlock::skipWhitespace):
3869         (WebCore::shouldSkipWhitespaceAfterStartObject):
3870         * rendering/bidi.h:
3871         (WebCore::BidiRun): Added m_ prefixes to several member variables. 
3872
3873 2008-02-27  Sam Weinig  <sam@webkit.org>
3874
3875         Reviewed by Darin.
3876
3877         Fix for <rdar://problem/5768769>
3878
3879         - Don't allow cross-origin calls using window.functionName.call(otherFrame)
3880           syntax.
3881
3882         * bindings/js/JSLocation.cpp:
3883         (WebCore::jsLocationProtoFuncToString): Do same-origin check.
3884         * bindings/js/kjs_window.cpp:
3885         (KJS::windowProtoFuncAToB): Ditto.
3886         (KJS::windowProtoFuncBToA): Ditto.
3887         (KJS::windowProtoFuncOpen): Ditto.
3888         (KJS::windowProtoFuncClearTimeout): Ditto.
3889         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3890
3891 2008-02-27  David Hyatt  <hyatt@apple.com>
3892
3893         More cleanup in preparation for fixing the HTML5 spec performance regression.
3894
3895         Reviewed by Sam Weinig
3896
3897         * dom/Attr.cpp:
3898         (WebCore::Attr::childrenChanged):
3899         * dom/Attr.h:
3900         * dom/ContainerNode.cpp:
3901         (WebCore::ContainerNode::insertBefore):
3902         (WebCore::ContainerNode::replaceChild):
3903         (WebCore::ContainerNode::removeChild):
3904         (WebCore::ContainerNode::removeChildren):
3905         (WebCore::ContainerNode::appendChild):
3906         (WebCore::ContainerNode::addChild):
3907         (WebCore::ContainerNode::childrenChanged):
3908         * dom/ContainerNode.h:
3909         * dom/Document.cpp:
3910         (WebCore::Document::childrenChanged):
3911         * dom/Document.h:
3912         * dom/Element.cpp:
3913         (WebCore::Element::childrenChanged):
3914         * dom/Element.h:
3915         * dom/Node.h:
3916         (WebCore::Node::childrenChanged):
3917         * html/HTMLObjectElement.cpp:
3918         (WebCore::HTMLObjectElement::childrenChanged):
3919         * html/HTMLObjectElement.h:
3920         * html/HTMLOptGroupElement.cpp:
3921         (WebCore::HTMLOptGroupElement::childrenChanged):
3922         * html/HTMLOptGroupElement.h:
3923         * html/HTMLOptionElement.cpp:
3924         (WebCore::HTMLOptionElement::childrenChanged):
3925         * html/HTMLOptionElement.h:
3926         * html/HTMLScriptElement.cpp:
3927         (WebCore::HTMLScriptElement::childrenChanged):
3928         * html/HTMLScriptElement.h:
3929         * html/HTMLSelectElement.cpp:
3930         (WebCore::HTMLSelectElement::childrenChanged):
3931         * html/HTMLSelectElement.h:
3932         * html/HTMLStyleElement.cpp:
3933         (WebCore::HTMLStyleElement::childrenChanged):
3934         * html/HTMLStyleElement.h:
3935         * html/HTMLTextAreaElement.cpp:
3936         (WebCore::HTMLTextAreaElement::childrenChanged):
3937         * html/HTMLTextAreaElement.h:
3938         * html/HTMLTitleElement.cpp:
3939         (WebCore::HTMLTitleElement::childrenChanged):
3940         * html/HTMLTitleElement.h:
3941         * svg/SVGClipPathElement.cpp:
3942         (WebCore::SVGClipPathElement::childrenChanged):
3943         * svg/SVGClipPathElement.h:
3944         * svg/SVGDefinitionSrcElement.cpp:
3945         (WebCore::SVGDefinitionSrcElement::childrenChanged):
3946         * svg/SVGDefinitionSrcElement.h:
3947         * svg/SVGFontFaceElement.cpp:
3948         (WebCore::SVGFontFaceElement::childrenChanged):
3949         * svg/SVGFontFaceElement.h:
3950         * svg/SVGFontFaceFormatElement.cpp:
3951         (WebCore::SVGFontFaceFormatElement::childrenChanged):
3952         * svg/SVGFontFaceFormatElement.h:
3953         * svg/SVGFontFaceSrcElement.cpp:
3954         (WebCore::SVGFontFaceSrcElement::childrenChanged):
3955         * svg/SVGFontFaceSrcElement.h:
3956         * svg/SVGFontFaceUriElement.cpp:
3957         (WebCore::SVGFontFaceUriElement::childrenChanged):
3958         * svg/SVGFontFaceUriElement.h:
3959         * svg/SVGGElement.cpp:
3960         (WebCore::SVGGElement::childrenChanged):
3961         * svg/SVGGElement.h:
3962         * svg/SVGGradientElement.cpp:
3963         (WebCore::SVGGradientElement::childrenChanged):
3964         * svg/SVGGradientElement.h:
3965         * svg/SVGMarkerElement.cpp:
3966         (WebCore::SVGMarkerElement::childrenChanged):
3967         * svg/SVGMarkerElement.h:
3968         * svg/SVGMaskElement.cpp:
3969         (WebCore::SVGMaskElement::childrenChanged):
3970         * svg/SVGMaskElement.h:
3971         * svg/SVGPatternElement.cpp:
3972         (WebCore::SVGPatternElement::childrenChanged):
3973         * svg/SVGPatternElement.h:
3974         * svg/SVGStyleElement.cpp:
3975         (WebCore::SVGStyleElement::childrenChanged):
3976         * svg/SVGStyleElement.h:
3977         * svg/SVGStyledElement.cpp:
3978         (WebCore::SVGStyledElement::childrenChanged):
3979         * svg/SVGStyledElement.h:
3980         * svg/SVGTitleElement.cpp:
3981         (WebCore::SVGTitleElement::childrenChanged):
3982         * svg/SVGTitleElement.h:
3983         * svg/SVGUseElement.cpp:
3984         (WebCore::SVGUseElement::childrenChanged):
3985         * svg/SVGUseElement.h:
3986
3987 2008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
3988
3989         Reviewed by Alexey.
3990
3991         http://bugs.webkit.org/show_bug.cgi?id=17481
3992         Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
3993
3994         Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
3995
3996         * xml/XMLHttpRequest.cpp:
3997         (WebCore::XMLHttpRequest::open):
3998
3999 2008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
4000
4001         Reviewed, tweaked and landed by ap.
4002
4003         http://bugs.webkit.org/show_bug.cgi?id=17487
4004         HTMLInput mysteriously fails to work if ICU dat file is missing
4005
4006         * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
4007         has been opened.
4008
4009 2008-02-27  Adam Roben  <aroben@apple.com>
4010
4011         Windows build fix after r30616
4012
4013         * platform/win/ClipboardWin.cpp:
4014
4015 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
4016
4017         Reviewed by Simon.
4018
4019         Small style cleanup, and obvious fix: SVGGElement reacted on
4020         'clipPathUnits' changes, which is a funny copy&paste error.
4021
4022         * svg/SVGGElement.cpp:
4023         (WebCore::SVGGElement::parseMappedAttribute):
4024         (WebCore::SVGGElement::svgAttributeChanged):
4025         (WebCore::SVGGElement::createRenderer):
4026
4027 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
4028
4029         Reviewed by Simon.
4030
4031         Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
4032         Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
4033
4034         * svg/SVGDefsElement.cpp:
4035         (WebCore::SVGDefsElement::createRenderer):
4036         * svg/SVGDefsElement.h:
4037         * svg/SVGDescElement.h:
4038
4039 2008-02-26  Antti Koivisto  <antti@apple.com>
4040
4041         Reviewed by Darin.
4042
4043         Fix <rdar://problem/5761326>
4044         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
4045         
4046         Generate better code with VS:
4047         - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
4048         - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
4049         - Add a separate version of the function for cases where error messages are not wanted
4050
4051         * bindings/js/JSDOMWindowCustom.cpp:
4052         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
4053         * bindings/js/kjs_window.cpp:
4054         (KJS::Window::allowsAccessFrom):
4055         (KJS::Window::allowsAccessFromNoErrorMessage):
4056         (KJS::Window::allowsAccessFromPrivate):
4057         (KJS::Window::crossDomainAccessErrorMessage):
4058         * bindings/js/kjs_window.h:
4059
4060 2008-02-26  Sam Weinig  <sam@webkit.org>
4061
4062         Reviewed by Dave Hyatt.
4063
4064         - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
4065
4066         * GNUmakefile.am:
4067         * WebCore.pro:
4068         * WebCore.vcproj/WebCore.vcproj:
4069         * WebCore.xcodeproj/project.pbxproj:
4070         * WebCoreSources.bkl:
4071         * platform/ArrayImpl.cpp: Removed.
4072         * platform/ArrayImpl.h: Removed.
4073         * platform/DeprecatedArray.h: Removed.
4074         * platform/DeprecatedCString.cpp: Removed.
4075         * platform/DeprecatedCString.h: Removed.
4076         * platform/text/CString.cpp:
4077         (WebCore::CString::length):
4078         * platform/text/CString.h:
4079
4080 2008-02-26  David Hyatt  <hyatt@apple.com>
4081
4082         Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
4083
4084         Reviewed by Sam Weinig
4085
4086         * dom/Attr.cpp:
4087         (WebCore::Attr::childrenChanged):
4088         * dom/ContainerNode.cpp:
4089         (WebCore::ContainerNode::insertBefore):
4090         (WebCore::ContainerNode::replaceChild):
4091         (WebCore::ContainerNode::removeChild):
4092         (WebCore::ContainerNode::removeChildren):
4093         (WebCore::ContainerNode::appendChild):
4094         (WebCore::ContainerNode::addChild):
4095         (WebCore::ContainerNode::childrenChanged):
4096         * dom/ContainerNode.h:
4097         * dom/EventTargetNode.cpp:
4098         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
4099         * dom/EventTargetNode.h:
4100         * dom/NamedAttrMap.cpp:
4101         (WebCore::NamedAttrMap::addAttribute):
4102         (WebCore::NamedAttrMap::removeAttribute):
4103
4104 2008-02-26  Darin Adler  <darin@apple.com>
4105
4106         Reviewed by Sam.
4107
4108         - remove use of DeprecatedCString from Windows pasteboard code
4109
4110         * platform/win/ClipboardUtilitiesWin.cpp:
4111         (WebCore::createGlobalData): Added an overload for Vector<char>.
4112         Streamlined the logic a bit.
4113         (WebCore::append): Added. Helper functions for appending to a
4114         Vector<char>.
4115         (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
4116         of DeprecatedCString. Also simplified the logic a bit and used
4117         macros to handle the integer width.
4118         (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
4119         (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
4120         * platform/win/ClipboardUtilitiesWin.h: Update type of return
4121         value from markupToCF_HTML. Did a bit of streamlining too.
4122         * platform/win/ClipboardWin.cpp:
4123         (WebCore::writeURL): Update for above changes.
4124         (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
4125         (WebCore::ClipboardWin::writeRange): Ditto.
4126         * platform/win/PasteboardWin.cpp:
4127         (WebCore::Pasteboard::writeSelection): Ditto.
4128         (WebCore::Pasteboard::writeURL): Ditto.
4129
4130 2008-02-26  Timothy Hatcher  <timothy@apple.com>
4131
4132         Reviewed by Adam Roben.
4133
4134         <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
4135         source list does not scroll when item at edge is reached (16572)
4136
4137         Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
4138         we were using in utilities.js.
4139
4140         * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
4141         * page/inspector/Resource.js: Ditto.
4142         * page/inspector/inspector.js: Ditto.
4143         * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
4144         of scrollIntoView, so the source line is centered in the view if needed.
4145         * page/inspector/utilities.js: Removed scrollToElement().
4146
4147 2008-02-26  David Hyatt  <hyatt@apple.com>
4148
4149         Reviewed by Dan
4150
4151         http://bugs.webkit.org/show_bug.cgi?id=17485
4152
4153         Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
4154         Fixes a regression on huffingtonpost.com.
4155
4156         New tests added to fast/inline
4157
4158         * rendering/InlineFlowBox.cpp:
4159         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
4160         (WebCore::InlineFlowBox::placeBoxesVertically):
4161         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
4162         * rendering/RenderFlow.cpp:
4163         (WebCore::RenderFlow::calcMargins):
4164         * rendering/RenderFlow.h:
4165         * rendering/RenderObject.h:
4166         (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
4167         (WebCore::RenderObject::hasHorizontalBordersOrPadding):
4168         * rendering/bidi.cpp:
4169         (WebCore::getBorderPaddingMargin):
4170         (WebCore::RenderBlock::layoutInlineChildren):
4171         (WebCore::inlineFlowRequiresLineBox):
4172
4173 2008-02-26  Sam Weinig  <sam@webkit.org>
4174
4175         Fix Windows build.
4176
4177         * platform/text/PlatformString.h:
4178         (WebCore::reverseFind):
4179
4180 2008-02-26  Dan Bernstein  <mitz@apple.com>
4181
4182         Reviewed by Darin Adler.
4183
4184         - fix http://bugs.webkit.org/show_bug.cgi?id=17555
4185           <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
4186
4187         Test: fast/dynamic/subtree-table-cell-height.html
4188
4189         * rendering/RenderObject.cpp:
4190         (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
4191         height depends on their contents even if the CSS height property is
4192         fixed.
4193
4194 2008-02-25  Sam Weinig  <sam@webkit.org>
4195
4196         Reviewed by Dan Bernstein.
4197
4198         Make the cleanPath function in CSSStyleSelector more efficient by using
4199         a Vector<UChar>.
4200
4201         * css/CSSStyleSelector.cpp:
4202         (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
4203         of a String.  Also remove unnecessary reverseFind call that could be acomplished
4204         with two compares.
4205         (WebCore::checkPse