12008-08-10  Dan Bernstein  <mitz@apple.com>
2
3        Reviewed by Eric Seidel.
4
5        - fix https://bugs.webkit.org/show_bug.cgi?id=20339
6          REGRESSION (r35531-r35615): Acid3 crashes on Windows in CachedFont::getSVGFontById
7
8        * dom/make_names.pl: Removed "using namespace WebCore::*Names"
9        from *ElementFactory.cpp files.        
10
112008-08-10  Mark Rowe  <mrowe@apple.com>
12
13        Reviewed by Cameron Zwarich.
14
15        Fix crash in Acid3 in Windows and Gtk ports, introduced in r35590.
16
17        * bindings/js/ScriptControllerGtk.cpp: Fix the logic.
18        * bindings/js/ScriptControllerWin.cpp: Ditto.
19        * bindings/js/ScriptControllerQt.cpp: Switch to isPluginView for consistency with Gtk and Windows.
20
212008-08-10  Dan Bernstein  <mitz@apple.com>
22
23        Reviewed by Darin Adler.
24
25        - fix <rdar://problem/6074587> REGRESSION (34722): Unable to view AT&T wireless bill - window title contains markup, window is empty
26
27        Test: fast/tokenizer/ampersand-in-special-tag.html
28
29        * html/HTMLTokenizer.cpp:
30        (WebCore::HTMLTokenizer::parseSpecial): Changed to only advance
31        lastDecodedEntityPosition if an entity was found and decoded.
32
332008-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
34
35        Reviewed (and updated) by Alp Toker.
36
37        https://bugs.webkit.org/show_bug.cgi?id=16620
38        [GTK] Autotools make dist and make check support
39
40        Get make dist working.
41
42        Note that not all possible configurations have been tested yet.
43
44        * GNUmakefile.am:
45
462008-08-08  Beth Dakin  <bdakin@apple.com>
47
48        Reviewed by Darin.
49
50        This patch makes the findString and markAllMatchesForText functions 
51        work with disconnected frames that are contained within 
52        overflow:hidden blocks.
53
54        * editing/Editor.cpp:
55        (WebCore::Editor::rangeVisibility):
56        (WebCore::Editor::firstVisibleRange):
57        (WebCore::Editor::lastVisibleRange):
58        * editing/Editor.h:
59        (WebCore::Editor::):
60        * page/Frame.cpp:
61        (WebCore::Frame::findString):
62        (WebCore::Frame::markAllMatchesForText):
63
642008-08-08  Maxime Britto  <britto@apple.com>
65
66        Reviewed by Adele.
67
68        Test: fast/events/scroll-to-anchor-in-overflow-hidden.html
69        https://bugs.webkit.org/show_bug.cgi?id=20270
70        Jump to an anchor wasn't working when the overflow:hidden CSS attribute was set on the page.
71
72        * WebCore.base.exp:
73        * dom/Element.cpp:
74        (WebCore::Element::scrollIntoView):
75        (WebCore::Element::scrollIntoViewIfNeeded):
76        * loader/FrameLoader.cpp:
77        (WebCore::FrameLoader::gotoAnchor):
78        * page/EventHandler.cpp:
79        (WebCore::EventHandler::handleMousePressEvent):
80        (WebCore::EventHandler::handleMouseDraggedEvent):
81        * page/Frame.cpp:
82        (WebCore::Frame::revealSelection):
83        (WebCore::Frame::revealCaret):
84        * rendering/RenderLayer.cpp:
85        (WebCore::RenderLayer::scrollRectToVisible): Takes a new parameter "scrollToAnchor" since it's a special case of scroll. It passes this new bool to canBeProgrammaticallyScrolled. 
86        (WebCore::RenderLayer::autoscroll):
87        * rendering/RenderLayer.h:
88        * rendering/RenderListBox.h:
89        (WebCore::RenderListBox::canBeProgramaticallyScrolled):
90        * rendering/RenderObject.cpp:
91        (WebCore::RenderObject::canBeProgramaticallyScrolled): If the call is coming from a scrollToAnchor we don't need scrollBars to accept.
92        * rendering/RenderObject.h:
93        * rendering/RenderTextControl.h:
94        (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
95
962008-08-08  Maxime Britto  <britto@apple.com>
97
98        Reviewed by Adele.
99
100        <rdar://problem/6137022>
101        <https://bugs.webkit.org/show_bug.cgi?id=20331>
102        REGRESSION(r35177-r35203): Scrolling slowly over a scrollable field scrolls the page instead of the field (20331)
103
104        * page/EventHandler.cpp:
105        (WebCore::scrollAndAcceptEvent): fixed the wrong cast for the wheel delta which was truncated to 0 on slow wheel scrolls.
106
1072008-08-08  Dean Jackson  <dino@apple.com>
108
109        Execute CSS Animations using new AnimationController
110        https://bugs.webkit.org/show_bug.cgi?id=20119
111
112        I still need to file some follow-on bugs that EricS noticed.
113
114        Reviewed by Dave Hyatt
115
116        Some new tests:
117        * manual-tests/animate-duration.html: Added.
118        * manual-tests/animate-left.html: Added.
119        * manual-tests/animate-none.html: Added.
120
121        * css/CSSStyleSelector.cpp:
122        * dom/Document.cpp:
123            - don't redo style when page is place into cache
124        * page/AnimationController.cpp:
125        * page/AnimationController.h:
126            - execute the animations
127        * rendering/RenderObject.cpp:
128        * rendering/style/RenderStyle.h:
129            - make border radii const (for blending)
130
1312008-08-08  Kevin McCullough  <kmccullough@apple.com>
132
133        Reviewed by Tim.
134
135        <rdar://problem/6136326> JSProfiler: Start/stop profiling button in the
136        Web Inspector does not match the menu.
137
138        * page/InspectorController.cpp:
139        (WebCore::InspectorController::toggleRecordButton): Toggle the record
140        button in the webInspector.
141        (WebCore::InspectorController::startUserInitiatedProfiling):
142        (WebCore::InspectorController::stopUserInitiatedProfiling):
143        * page/InspectorController.h: 
144        * page/inspector/ProfilesPanel.js: Move the UI part of the record button
145        into its funtion so that it can be called from the Inspector controller.
146        * page/inspector/inspector.js:
147
1482008-08-08  Kevin McCullough  <kmccullough@apple.com>
149
150        Reviewed by Tim.
151
152        <rdar://problem/6131187> Profiles don't show up immediately when run
153        with the UI.
154
155        * page/InspectorController.cpp:
156        (WebCore::startProfiling): Added so that the inspector's JS code could
157        call through to the same function used by the Develop menu.  This way
158        both can call didFinishAllExecution() which puts the profile in the
159        Web Inspector.
160        (WebCore::stopProfiling): Ditto
161        (WebCore::InspectorController::windowScriptObjectAvailable):
162        (WebCore::InspectorController::stopUserInitiatedProfiling): Now calls
163        didFinishAllExecution() to put the profile in the Web Inspector.  This
164        should be safe since the UIs shouldn't work if JS is still running.
165        * page/inspector/ProfilesPanel.js: Use the new functions.
166
1672008-08-08  Dan Bernstein  <mitz@apple.com>
168
169        Reviewed by Darin Adler.
170
171        - fix <rdar://problem/5961260> GDI text: transparent fill color text does not render if it it has a stroke or shadow
172
173        * platform/graphics/win/FontCGWin.cpp:
174        (WebCore::Font::drawGlyphs):
175
1762008-08-08  Adam Treat  <treat@kde.org>
177
178        Reviewed by Simon.
179
180        Return the canonical file path in Qt's listDirectory as WebCore::PluginDatabase
181        uses this method to retrieve a list of possible plugins.  Many linux systems
182        have nested symbolic links scattered throughout the plugin directories which
183        resulted in the PluginDatabase loading the same plugin N times depending on
184        the number of symbolic links.
185
186        * platform/qt/FileSystemQt.cpp:
187        (WebCore::listDirectory):
188
1892008-08-07  Anthony Ricaud  <rik24d@gmail.com>
190
191        Change highlight time from 300ms to 500ms and fade effect from 1s to 2s
192
193        https://bugs.webkit.org/show_bug.cgi?id=20055
194
195        Reviewed by Timothy Hatcher.
196
197        * page/inspector/SourceFrame.js:
198
1992008-08-07  Anthony Ricaud  <rik24d@gmail.com>
200
201        The search is only performed if the field contains more than 3
202        letters or if Enter is pressed.
203
204        Search is now performed through a keyup event.
205
206        Added a WebInspector.lastQuery to remember the last query and not
207        perform it again (eg. the user hits a modifier key).
208
209        https://bugs.webkit.org/show_bug.cgi?id=18548
210
211        Reviewed by Timothy Hatcher.
212
213        * page/inspector/inspector.html: Removed the onsearch and incremental
214        attributes
215        * page/inspector/inspector.js:
216
2172008-08-07  Steve Falkenburg  <sfalken@apple.com>
218
219        Compile derived sources through an all-in-one cpp file.
220        Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB.
221        
222        Reviewed by Mark Rowe.
223
224        * DerivedSources.cpp: Added.
225        * WebCore.vcproj/WebCore.vcproj:
226
2272008-08-07  Kevin McCullough  <kmccullough@apple.com>
228
229        Reviewed by Adam.
230
231        <rdar://problem/5712917> Confusing console error message clear
232        behavior (16791)
233        https://bugs.webkit.org/show_bug.cgi?id=16791
234        <rdar://problem/5831899> The Web Inspector does not correctly clear the
235        console messages
236
237        * page/InspectorController.cpp: Clear the message so they don't show up
238        in the inspector after it has cleared them.
239        (WebCore::clearMessages):
240        (WebCore::InspectorController::clearConsoleMessages):
241        (WebCore::InspectorController::windowScriptObjectAvailable):
242        * page/InspectorController.h:
243        * page/inspector/Console.js: Tell the InspectorController to clear the
244        messages it's holding onto.
245
2462008-08-07  Simon Fraser  <simon.fraser@apple.com>
247
248        Reviewed by Sam Weinig
249
250        Rename Marquee to RenderMarquee and move to its own file.
251        https://bugs.webkit.org/show_bug.cgi?id=20319
252
253        * GNUmakefile.am:
254        * WebCore.pro:
255        * WebCore.vcproj/WebCore.vcproj:
256        * WebCore.xcodeproj/project.pbxproj:
257        * WebCoreSources.bkl:
258        * html/HTMLMarqueeElement.cpp:
259        * rendering/RenderBlock.cpp:
260        * rendering/RenderLayer.cpp:
261        (WebCore::RenderLayer::styleChanged):
262        * rendering/RenderLayer.h:
263        * rendering/RenderMarquee.cpp: Added.
264        (WebCore::RenderMarquee::RenderMarquee):
265        (WebCore::RenderMarquee::marqueeSpeed):
266        (WebCore::RenderMarquee::direction):
267        (WebCore::RenderMarquee::isHorizontal):
268        (WebCore::RenderMarquee::computePosition):
269        (WebCore::RenderMarquee::start):
270        (WebCore::RenderMarquee::suspend):
271        (WebCore::RenderMarquee::stop):
272        (WebCore::RenderMarquee::updateMarqueePosition):
273        (WebCore::RenderMarquee::updateMarqueeStyle):
274        (WebCore::RenderMarquee::timerFired):
275        * rendering/RenderMarquee.h: Added.
276        (WebCore::RenderMarquee::speed):
277        (WebCore::RenderMarquee::reverseDirection):
278        (WebCore::RenderMarquee::setEnd):
279
2802008-08-07  Dan Bernstein  <mitz@apple.com>
281
282        Reviewed by Dave Hyatt.
283
284        - fix <rdar://problem/6118816> Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize)
285
286        * page/Frame.cpp:
287        (WebCore::Frame::setZoomFactor): If the view has never had a layout with
288        the old zoom factor, then there is no need to explicitly call layout()
289        here.
290
2912008-08-07  Kevin McCullough  <kmccullough@apple.com>
292
293        Reviewed by Geoff.
294
295        <rdar://problem/6115981> Start the profiler in Heavy view
296
297        * page/inspector/ProfileView.js:
298
2992008-08-07  Alp Toker  <alp@nuanti.com>
300
301        Reviewed by Eric Seidel.
302
303        https://bugs.webkit.org/show_bug.cgi?id=20313
304        Add null check in String::fromUTF8()
305
306        Make String::fromUTF8() consistent with other constructors by
307        returning a null String when the input is null instead of crashing.
308
309        * platform/text/String.cpp:
310        (WebCore::String::fromUTF8):
311
3122008-08-06  Kevin Ollivier  <kevino@theolliviers.com>
313
314        wx build fix after Frame -> ScriptController moves.
315
316        * platform/wx/TemporaryLinkStubs.cpp:
317
3182008-08-06  Kevin McCullough  <kmccullough@apple.com>
319
320        Reviewed by Tim.
321
322        - Make XHR console message clearer.
323
324        * xml/XMLHttpRequest.cpp:
325        (WebCore::XMLHttpRequest::didFinishLoading):
326
3272008-08-06  Kevin McCullough  <kmccullough@apple.com>
328
329        Reviewed by Tim.
330
331        - Created a new function to create DOM links from text without
332        converting back and forth from HTML and messing with escaping special
333        characters.
334
335        * page/inspector/Console.js:
336        * page/inspector/inspector.js:
337        * page/inspector/utilities.js:
338
3392008-08-06  Eric Seidel  <eric@webkit.org>
340
341        Reviewed by hyatt.
342
343        Fix a large animation leak found on the buildbot
344        (m_animations and m_transitions were never deleted)
345        Drag RenderStyle (kicking and screaming) into the 21st century
346        of memory management with a little application of OwnPtr.
347
348        * rendering/style/RenderStyle.cpp:
349        (WebCore::FillLayer::cullEmptyLayers):
350        (WebCore::RenderStyle::diff):
351        (WebCore::RenderStyle::contentDataEquivalent):
352        (WebCore::RenderStyle::setContent):
353        (WebCore::BindingURI::BindingURI):
354        (WebCore::RenderStyle::setBoxShadow):
355        (WebCore::ShadowData::ShadowData):
356        (WebCore::RenderStyle::counterDirectives):
357        (WebCore::RenderStyle::accessCounterDirectives):
358        (WebCore::RenderStyle::adjustAnimations):
359        (WebCore::RenderStyle::adjustTransitions):
360        (WebCore::RenderStyle::accessAnimations):
361        (WebCore::RenderStyle::accessTransitions):
362        * rendering/style/RenderStyle.h:
363        (WebCore::RenderStyle::clearAnimations):
364        (WebCore::RenderStyle::clearTransitions):
365
3662008-08-06  Brady Eidson  <beidson@apple.com>
367
368        Reviewed by MitzPettel
369
370        <rdar://problem/6078543> - Many LocalStorageThreads may be started
371
372        The original decision to key LocalStorage sets to PageGroups was a poor one.
373
374        It seems a much better solution is to key them to the actual path of on-disk storage,
375        which also solves all of the avenues that could lead to a boundless number of threads.
376
377        In this patch, I am not attempting to completely sever the attachment of LocalStorage
378        to PageGroups as that would require a more substantial re-working of the lifetime
379        between pages, groups, and local storage threads.
380
381        * page/PageGroup.cpp:
382        (WebCore::PageGroup::addPage):
383
384        * storage/LocalStorage.cpp:
385        (WebCore::localStorageMap):  Map paths to LocalStorage objects here.
386        (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path,
387          or create a new one if it doesn't yet exist.
388        (WebCore::LocalStorage::LocalStorage):
389        (WebCore::LocalStorage::~LocalStorage):  Add to remove the path->LocalStorage mapping
390        * storage/LocalStorage.h:
391
3922008-08-06  Beth Dakin  <bdakin@apple.com>
393
394        Reviewed by Adele.
395
396        Fix for <rdar://problem/6130724>
397
398        Disconnected frames should not be allowed to resize the window.
399
400        * page/DOMWindow.cpp:
401        (WebCore::DOMWindow::resizeBy):
402        (WebCore::DOMWindow::resizeTo):
403
4042008-08-05  David D. Kilzer  <ddkilzer@apple.com>
405
406        Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com
407
408        <https://bugs.webkit.org/show_bug.cgi?id=20038>
409        <rdar://problem/6092270>
410
411        Reviewed by Eric Seidel.
412
413        Test: fast/forms/submit-to-url-fragment.html
414
415        The problem was that isFormSubmission was not being set to true in
416        FrameLoader::loadWithDocumentLoader() when we were actually
417        submitting a form, causing the page to scroll instead of the form to
418        be submitted.
419
420        The isFormSubmission variable wasn't set to true because a FormState
421        object was not being created in
422        FrameLoader::loadFrameRequestWithFormAndValues().
423
424        The FormState object was not being created because
425        HTMLFormElement::submit(Event*, bool activateSubmitButton) would
426        only set FrameLoader::m_formAboutToBeSubmitted to the current form
427        if there was a "text field" element in the form (type = text,
428        password, search or isindex).
429
430        Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*)
431        called FrameLoader::loadFrameRequestWithFormAndValues(), a null
432        HTMLFormElement pointer would be sent and cause the above failures.
433
434        * html/HTMLFormElement.cpp:
435        (WebCore::HTMLFormElement::submit): Call new
436        FrameLoader::setFormAboutToBeSubmitted() method outside the for
437        loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly
438        once for any form submission.  The FrameLoader::recordFormValue()
439        method is only called with the name/value pair of each text field.
440
441        * loader/FrameLoader.cpp:
442        (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that
443        only sets m_formAboutToBeSubmitted.
444        (WebCore::FrameLoader::recordFormValue): Removed
445        PassRefPtr<HTMLFormElement> argument since this method only sets
446        name/value pairs on m_formValuesAboutToBeSubmitted now.
447        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a
448        FormState object as long as submitForm is not null so that other
449        FrameLoader methods know when a form is being submitted.
450        * loader/FrameLoader.h:
451
4522008-08-06  David D. Kilzer  <ddkilzer@apple.com>
453
454        BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems
455
456        * GNUmakefile.am:
457        * WebCore.pro:
458        * WebCoreSources.bkl:
459
4602008-08-06  Dan Bernstein  <mitz@apple.com>
461
462        - Windows build fix
463
464        * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.*
465
4662008-08-06  Kevin McCullough  <kmccullough@apple.com>
467
468        Reviewed by Tim and Darin.
469
470        <rdar://problem/6126160> URLs in the console should be clickable.
471        - Implemented and now use linkifyString() to parse console messages for
472        URLs.
473
474        * page/inspector/Console.js:
475        * page/inspector/inspector.js:
476        * page/inspector/utilities.js:
477
4782008-07-02  David Kilzer  <ddkilzer@apple.com>
479
480        Images using QT plugin do not display correctly
481
482        <https://bugs.webkit.org/show_bug.cgi?id=9214>
483        <rdar://problem/5683413>
484
485        Reviewed by Darin.
486
487        Tests: fast/images/embed-image.html
488               fast/images/object-image.html
489
490        Use RenderImage instead of RenderPartObject for a renderer when
491        the <embed> tag references an image.  Extract common code from
492        HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement.
493
494        * WebCore.xcodeproj/project.pbxproj: Added new source files.
495
496        * html/HTMLEmbedElement.cpp: Cleaned up #include statements.
497        (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend
498        HTMLPlugInImageElement which extends HTMLPlugInElement.
499        (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr
500        and srcAttr cases.  Create or clear HTMLImageLoader as needed for
501        srcAttr.
502        (WebCore::HTMLEmbedElement::rendererIsNeeded): Use
503        HTMLPlugInElement::rendererIsNeeded() for images.
504        (WebCore::HTMLEmbedElement::createRenderer): Create a
505        RenderImage instead of a RenderPartObject for images.
506        (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader,
507        load image and populate RenderImage for images.
508        (WebCore::HTMLEmbedElement::updateWidget): Don't call
509        RenderPartObject::updateWidget() for images.
510        (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
511        * html/HTMLEmbedElement.h: Removed unneeded namespace and class
512        declarations.  Extend HTMLPlugInImageElement which extends
513        HTMLPlugInElement.
514        (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
515        (WebCore::HTMLEmbedElement::serviceType): Moved to
516        HTMLPlugInImageElement.
517        (WebCore::HTMLEmbedElement::url): Ditto.
518
519        * html/HTMLObjectElement.cpp: Cleaned up #include statements.
520        (WebCore::HTMLObjectElement::attach): Removed local variable.
521        (WebCore::HTMLObjectElement::isImageType): Moved to
522        HTMLPlugInImageElement.
523        * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which
524        extends HTMLPlugInElement.
525        (WebCore::HTMLObjectElement::isImageType): Moved to
526        HTMLPlugInImageElement.
527        (WebCore::HTMLObjectElement::serviceType): Ditto.
528        (WebCore::HTMLObjectElement::url): Ditto.
529
530        * html/HTMLPlugInImageElement.cpp: Added.
531        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added.
532        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added.
533        (WebCore::HTMLPlugInImageElement::isImageType): Moved from
534        HTMLObjectElement.
535        * html/HTMLPlugInImageElement.h: Added.
536        (WebCore::HTMLPlugInImageElement::isImageType): Added from 
537        HTMLObjectElement.
538        (WebCore::HTMLPlugInImageElement::serviceType): Ditto.
539        (WebCore::HTMLPlugInImageElement::url): Ditto.
540
541        * rendering/HitTestResult.cpp:
542        (WebCore::HitTestResult::absoluteImageURL): Return urlString
543        for embed elements with images.
544
5452008-08-06  Marco Barisione  <marco.barisione@collabora.co.uk>
546
547        Reviewed by Eric Seidel.
548
549        http://bugs.webkit.org/show_bug.cgi?id=20295
550        RegularExpression::match should not crash when a null string is passed
551
552        RegularExpression::match used to pass null subject strings to
553        jsRegExpExecute causing an ASSERT failure and then a crash.
554        There is no need to fix also RegularExpression:search and
555        RegularExpression::searchRev as they just call
556        RegularExpression::match.
557
558        * platform/text/RegularExpression.cpp:
559        (WebCore::RegularExpression::match): Return -1 if the string is null.
560
5612008-08-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
562
563        Gtk build fix only
564
565        * bindings/js/ScriptControllerGtk.cpp:
566        * plugins/gtk/PluginViewGtk.cpp:
567        (WebCore::PluginView::getValue):
568        (WebCore::PluginView::~PluginView):
569
5702008-08-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
571
572        Fix the Qt build due to recent ScriptController refactoring.
573
574        * plugins/qt/PluginViewQt.cpp:
575        (WebCore::PluginView::getValue):
576        (WebCore::PluginView::~PluginView):
577
5782008-08-06  Eric Seidel  <eric@webkit.org>
579
580        Reviewed by Cameron Zwarich.
581
582        Fix warnings and errors seen on Qt bot.
583        Including one correctness fix for ThreadingQt.
584        According to the Qt 4.4 docs, we were always passing
585        seconds to "wait()" when we should have been passing
586        milliseconds.
587        
588        Lots of float <-> int conversion warnings.
589
590        * css/CSSCursorImageValue.cpp:
591        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
592        * dom/Element.cpp:
593        (WebCore::adjustForLocalZoom):
594        (WebCore::adjustForAbsoluteZoom):
595        (WebCore::Element::setScrollLeft):
596        (WebCore::Element::setScrollTop):
597        * dom/EventTargetNode.cpp:
598        (WebCore::EventTargetNode::dispatchMouseEvent):
599        * loader/CachedImage.cpp:
600        (WebCore::CachedImage::imageRect):
601        * page/DOMWindow.cpp:
602        (WebCore::DOMWindow::innerHeight):
603        (WebCore::DOMWindow::innerWidth):
604        (WebCore::DOMWindow::scrollX):
605        (WebCore::DOMWindow::scrollY):
606        (WebCore::DOMWindow::scrollTo):
607        * page/EventHandler.cpp:
608        (WebCore::scrollAndAcceptEvent):
609        * plugins/npapi.cpp:
610        * plugins/qt/PluginViewQt.cpp:
611        (WebCore::PluginView::getValue):
612        (WebCore::PluginView::~PluginView):
613        * rendering/RenderReplaced.cpp:
614        (WebCore::RenderReplaced::intrinsicSizeChanged):
615
6162008-08-06  Eric Seidel  <eric@webkit.org>
617
618        Build fix only, no review.
619
620        Attempt to fix the Windows and Qt builds.
621
622        * bindings/js/ScriptControllerWin.cpp: add runtime.h include
623        * bindings/js/ScriptControllerQt.cpp: add QWidget include
624        * page/win/FrameWin.cpp: remove bogus using namespace
625        * plugins/PluginView.cpp:
626        (WebCore::PluginView::bindingInstance): use script()
627        * plugins/win/PluginViewWin.cpp:
628        (WebCore::PluginView::getValue): use script()
629        (WebCore::PluginView::~PluginView): use script()
630
631  2008-08-06  Eric Seidel  <eric@webkit.org>
632
633        Build fix only, no review.
634
635        Attempt to fix the Linux and --no-svg builds.
636
637        * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC)
638        * css/CSSComputedStyleDeclaration.cpp:
639        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch
640
6412008-08-06  Eric Seidel  <eric@webkit.org>
642
643        Reviewed by Cameron Zwarich.
644
645        Move more methods from Frame into ScriptController
646        https://bugs.webkit.org/show_bug.cgi?id=20294
647        
648        Finally finish more of the work which Darin started long ago
649        Move a few more Frame methods into ScriptController.
650        I also took this opportunity to clean up some of the plugin
651        code as well, and moved some of that into ScriptController.
652
653        I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell()
654
655        No functional changes, thus no test cases.
656
657        * GNUmakefile.am:
658        * WebCore.NPAPI.exp:
659        * WebCore.base.exp:
660        * WebCore.pro:
661        * WebCore.vcproj/WebCore.vcproj:
662        * WebCore.xcodeproj/project.pbxproj:
663        * bindings/js/ScriptController.cpp:
664        (WebCore::ScriptController::ScriptController):
665        (WebCore::ScriptController::~ScriptController):
666        (WebCore::ScriptController::bindingRootObject):
667        (WebCore::ScriptController::createRootObject):
668        (WebCore::ScriptController::windowScriptNPObject):
669        (WebCore::ScriptController::createScriptObjectForPluginElement): New method.
670        (WebCore::ScriptController::clearPlatformScriptObjects):
671        (WebCore::ScriptController::disconnectPlatformScriptObjects):
672        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
673        (WebCore::ScriptController::clearScriptObjects):
674        * bindings/js/ScriptController.h:
675        (WebCore::ScriptController::sourceURL):
676        (WebCore::ScriptController::clearFormerWindow):
677        * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
678        (WebCore::Frame::createScriptInstanceForWidget):
679        * bindings/js/ScriptControllerMac.mm: Added.
680        (WebCore::ScriptController::createScriptInstanceForWidget):
681        (WebCore::ScriptController::windowScriptObject):
682        (WebCore::ScriptController::clearPlatformScriptObjects):
683        (WebCore::ScriptController::disconnectPlatformScriptObjects):
684        (WebCore::updateRenderingForBindings):
685        (WebCore::ScriptController::initJavaJSBindings):
686        * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
687        (WebCore::ScriptController::createScriptInstanceForWidget):
688        * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp.
689        (WebCore::ScriptController::createScriptInstanceForWidget):
690        * bindings/objc/DOM.mm:
691        (-[DOMNode KJS::Bindings::]):
692        * bindings/objc/DOMInternal.mm:
693        (-[WebScriptObject _initializeScriptDOMNodeImp]):
694        * bridge/jni/jni_jsobject.mm:
695        (createRootObject):
696        * html/HTMLAppletElement.cpp:
697        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
698        * html/HTMLAppletElement.h:
699        * html/HTMLEmbedElement.cpp:
700        (WebCore::findWidgetRenderer):
701        (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
702        * html/HTMLEmbedElement.h:
703        * html/HTMLObjectElement.cpp:
704        (WebCore::HTMLObjectElement::~HTMLObjectElement):
705        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
706        (WebCore::HTMLObjectElement::detach):
707        * html/HTMLObjectElement.h:
708        * html/HTMLPlugInElement.cpp:
709        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
710        (WebCore::HTMLPlugInElement::detach):
711        (WebCore::HTMLPlugInElement::getInstance):
712        (WebCore::HTMLPlugInElement::parseMappedAttribute):
713        (WebCore::HTMLPlugInElement::getNPObject):
714        * html/HTMLPlugInElement.h:
715        * loader/FrameLoader.cpp:
716        (WebCore::FrameLoader::clear):
717        * page/Frame.cpp:
718        (WebCore::Frame::Frame):
719        (WebCore::Frame::~Frame):
720        (WebCore::Frame::pageDestroyed):
721        (WebCore::FramePrivate::FramePrivate):
722        * page/Frame.h:
723        * page/FramePrivate.h:
724        * page/gtk/FrameGtk.cpp:
725        * page/mac/FrameMac.mm:
726        * page/qt/FrameQt.cpp:
727        * page/win/FrameWin.cpp:
728        (WebCore::computePageRectsForFrame):
729
7302008-08-05  Steve Falkenburg  <sfalken@apple.com>
731
732        Fix last timer fix.
733        Add null check, clear timer using InterlockedExchange.
734        
735        Reviewed by Alice Liu.
736
737        * platform/win/SharedTimerWin.cpp:
738        (WebCore::clearTimer):
739        (WebCore::queueTimerProc):
740        (WebCore::stopSharedTimer):
741
7422008-08-05  Steve Falkenburg  <sfalken@apple.com>
743
744        Fix timer leak, flag.
745        
746        Timers need to be deleted explicitly, even if they fire.
747        Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer.
748        
749        Reviewed by Ada Chan.
750
751        * platform/win/SharedTimerWin.cpp:
752        (WebCore::queueTimerProc):
753
7542008-08-05  Anders Carlsson  <andersca@apple.com>
755
756        Reviewed by Darin.
757
758        <rdar://problem/6037398>
759        ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
760        
761        Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
762        
763        * bindings/objc/DOMRGBColor.mm:
764        (-[DOMRGBColor dealloc]):
765        * bindings/objc/WebScriptObject.mm:
766        (-[WebScriptObject dealloc]):
767        * platform/mac/SharedBufferMac.mm:
768        (-[WebCoreSharedBufferData dealloc]):
769
7702008-08-05  Anders Carlsson  <andersca@apple.com>
771
772        Reviewed by Darin.
773
774        Move the main thread deallocator here from WebKit.
775        
776        * WebCore.base.exp:
777        * WebCore.xcodeproj/project.pbxproj:
778        * platform/mac/WebCoreObjCExtras.c:
779        (method_getImplementation):
780        (deallocCallback):
781        (WebCoreObjCScheduleDeallocateOnMainThread):
782        * platform/mac/WebCoreObjCExtras.h:
783
7842008-08-05  Dean Jackson  <dino@apple.com>
785
786        Parse CSS Animations, including the new
787        -webkit-animation properties and the @-webkit-keyframes rule.
788        Adds some new interfaces for the style rules.
789        
790        https://bugs.webkit.org/show_bug.cgi?id=20088
791
792        Reviewed by David Hyatt.
793
794        * GNUmakefile.am:
795        * WebCore.pro:
796        * WebCore.vcproj/WebCore.vcproj:
797        * WebCore.xcodeproj/project.pbxproj:
798        * WebCoreSources.bkl:
799            build config for new files
800        * css/tokenizer.flex:
801        * css/CSSGrammar.y:
802        * css/CSSParser.cpp:
803        * css/CSSParser.h:
804            new @-webkit-keyframes parsing
805        * css/CSSPropertyNames.in:
806            -webkit-animation properties
807        * css/CSSRule.h:
808        * css/CSSStyleSelector.cpp:
809        * css/CSSStyleSelector.h:
810        * css/CSSValueKeywords.in:
811        * css/StyleBase.h:
812        * css/WebKitCSSKeyframeRule.cpp: Added.
813        * css/WebKitCSSKeyframeRule.h: Added.
814        * css/WebKitCSSKeyframesRule.cpp: Added.
815        * css/WebKitCSSKeyframesRule.h: Added.
816
8172008-08-05  Kevin McCullough  <kmccullough@apple.com>
818
819        Reviewed by Tim.
820
821        - LayoutTests fix.  Log only to the Inspector because other listeners may not want
822        XHR notifications, including DRT and the numerous tests that don't expect them.
823
824        * xml/XMLHttpRequest.cpp:
825        (WebCore::XMLHttpRequest::didFinishLoading):
826
8272008-08-05  Timothy Hatcher  <timothy@apple.com>
828
829        Makes DOM attribute editing start on double-click to match the styles
830        pane. Links in attributes are now triggered with a single click again.
831
832        https://bugs.webkit.org/show_bug.cgi?id=20281
833
834        Reviewed by Adam Roben.
835
836        * English.lproj/localizedStrings.js: Removed some strings.
837        * page/inspector/ElementsPanel.js:
838        (WebInspector.DOMNodeTreeElement.prototype.onattach): Call
839        _preventFollowingLinksOnDoubleClick.
840        (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick):
841        Renamed from _makeURLsActivateOnModifiedClick. Simply sets the
842        preventFollowOnDoubleClick property on all links.
843        (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed
844        _selectedByCurrentMouseDown.
845        (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved
846        editing code to ondblclick.
847        (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls
848        _startEditing. Removed URL check.
849        (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls
850        _preventFollowingLinksOnDoubleClick.
851        * page/inspector/inspector.css:
852        (.editing): Removed the text-decoration property.
853        (.editing, .editing *): Added the text-decoration property here
854        so it removes underlines on child elements.
855        * page/inspector/inspector.js:
856        (WebInspector.documentClick): Removed the followOnAltClick code.
857        Added support for preventFollowOnDoubleClick, which sets a timeout
858        on the first click where future clicks will cancel it (double click).
859        If the timeout isn't canceled, the link is followed.
860
8612008-08-05  Antti Koivisto  <antti@apple.com>
862
863        Reviewed by Sam Weinig.
864
865        <rdar://problem/6112219> Video in standalone media document flashes when navigating away
866
867        When navigating out from a page, MediaPlayer was set invisible and then immediately 
868        made visible again causing flicker in some cases.
869        
870        The document is not yet marked being in page cache when willSaveToCache() is called.
871
872        * html/HTMLMediaElement.cpp:
873        (WebCore::HTMLMediaElement::willSaveToCache):
874        * rendering/RenderVideo.cpp:
875        (WebCore::RenderVideo::updatePlayer):
876
8772008-08-05  Dan Bernstein  <mitz@apple.com>
878
879        - fix typo
880
881        * page/mac/FrameMac.mm:
882
8832008-08-05  Dan Bernstein  <mitz@apple.com>
884
885        - try to fix the 64-bit build
886
887        * page/mac/FrameMac.mm:
888
8892008-08-05  Alp Toker  <alp@nuanti.com>
890
891        Remove leftover mark pragma from r35568 to fix compiler warning spew.
892
893        * rendering/style/RenderStyle.h:
894
8952008-08-05  Kevin McCullough  <kmccullough@apple.com>
896
897        - Added a test that checks for several edge cases (see description in
898        test.
899
900        * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added.
901
9022008-08-05  Dean Jackson  <dino@apple.com>
903
904        Reviewed by Dave Hyatt
905
906        Add support for CSS Animation properties to RenderStyle
907        https://bugs.webkit.org/show_bug.cgi?id=20068
908
909        (also fix some minor whitespace issues and remove debugging code)
910
911        * css/CSSComputedStyleDeclaration.cpp:
912        * css/CSSStyleSelector.cpp:
913        * page/AnimationController.cpp:
914        * rendering/style/RenderStyle.cpp:
915        * rendering/style/RenderStyle.h:
916
9172008-08-05  Kevin McCullough  <kmccullough@apple.com>
918
919        - Updated a manual test to be an accurate description of what it is
920        actually testing.
921
922        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html:
923
9242008-08-05  Kevin McCullough  <kmccullough@apple.com>
925
926        Reviewed by Tim.
927
928        <rdar://problem/5732836> XMLHttpRequest: Inspector should show network
929        activity/XHR in Console (17233)
930
931        * xml/XMLHttpRequest.cpp:
932        (WebCore::XMLHttpRequest::didFinishLoading):
933
9342008-08-05  Dean Jackson  <dino@apple.com>
935
936        Fix the ChangeLog that was corrupted by r34545.
937
9382008-08-04  Timothy Hatcher  <timothy@apple.com>
939
940        Makes the selection surround just the name or value that was
941        double clicked when editing CSS properties. This regressed when
942        the Inspector started using focus/blur events, since a focus on
943        a content editable region changes the selection.
944
945        https://bugs.webkit.org/show_bug.cgi?id=20280
946
947        Reviewed by Adam Roben.
948
949        * page/inspector/StylesSidebarPane.js:
950        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
951        Change the selection after calling WebInspector.startEditing,
952        since WebInspector.startEditing will set an initial selection
953        due to a focus event.
954
9552008-08-04  Timothy Hatcher  <timothy@apple.com>
956
957        Changes the editing behavior in the Inspector to commit changes
958        when focus is lost, instead of reverting the changes.
959
960        https://bugs.webkit.org/show_bug.cgi?id=20279
961
962        Reviewed by Adam Roben.
963
964        * page/inspector/inspector.js:
965        (WebInspector.startEditing): Call editingCommitted in blurEventListener
966        instead of editingCancelled.
967
9682008-08-04  Timothy Hatcher  <timothy@apple.com>
969
970        Adds the ability to increment/decrement numbers in editable style
971        properties with the arrow and page keys.
972
973        Reviewed by Adam Roben.
974
975        https://bugs.webkit.org/show_bug.cgi?id=20273
976
977        * page/inspector/StylesSidebarPane.js:
978        (WebInspector.StylePropertyTreeElement.prototype.updateAll):
979        Updates all properties in the current section, or all sections
980        depending in the argument passed.
981        (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
982        Call updateAll instead of having duplicate code.
983        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
984        Assign the list element's handleKeyEvent to editingKeyDown.
985        (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
986        Handles the Up and Down arrows keys. Finds the word based on the
987        selection and extracts the number, prefix and suffix. Increments
988        or decrements the number based on the key and modifiers. Replaces
989        the original word with the new value and selects it. Also applies
990        the style so the page reflects the changes live.
991        (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
992        Delete the handleKeyEvent and originalCSSText properties.
993        (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
994        If originalCSSText exists, set the cssText to that value and call
995        updateAll. Otherwise just call updateTitle like before.
996        (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
997        Factored out the style applying code to applyStyleText.
998        (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
999        Factored out from editingCommitted. Takes an argument that specifies
1000        if the interface should be updated when the style is applied.
1001        * page/inspector/inspector.js:
1002        (WebInspector.startEditing): Call the original key handler, if one
1003        existed before interrupting key events.
1004        * page/inspector/utilities.js:
1005        (getStyleTextWithShorthands): Helper to return CSS text that preserves
1006        shorthand values, since the cssText property only outputs longhands.
1007
10082008-08-04  Timothy Hatcher  <timothy@apple.com>
1009
1010        Factors out the TextPrompt.scanBackwards function into a generic
1011        helper function on the Node prototype, named rangeOfWord.
1012
1013        Reviewed by Adam Roben.
1014
1015        * page/inspector/Console.js:
1016        (WebInspector.Console.prototype.completions): Use rangeOfWord.
1017        * page/inspector/TextPrompt.js:
1018        (WebInspector.TextPrompt.prototype.complete): Ditto.
1019        (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
1020        * page/inspector/utilities.js:
1021        (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
1022        and added a direction argument allowing scanning forward, backward or
1023        both directions from the offset.
1024
10252008-08-04  Timothy Hatcher  <timothy@apple.com>
1026
1027        Fixes a bug where the property toggle button would not be hidden
1028        during editing.
1029
1030        Reviewed by Adam Roben.
1031
1032        * page/inspector/inspector.css:
1033        (li.editing .swatch, li.editing .enabled-button):
1034        Make the display !important, since a more specific rule for 
1035        .enabledbutton overrides display.
1036
10372008-08-05  Dan Bernstein  <mitz@apple.com>
1038
1039        Reviewed by Geoffrey Garen.
1040
1041        - remove redundant #imports from FrameMac.mm
1042
1043        * page/mac/FrameMac.mm:
1044
10452008-08-04  Bernhard Kruepl  <kruepl@dbai.tuwien.ac.at>
1046
1047        Reviewed by Dave Hyatt.
1048
1049        Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
1050        Corrected offsetTop for table cells by subtracting borderTopExtra
1051
1052        * rendering/RenderObject.cpp:
1053        (WebCore::RenderObject::offsetTop):
1054
10552008-08-04  Dean Jackson  <dino@apple.com>
1056
1057        Reviewed by Dave Hyatt.
1058
1059        Improve AnimationController
1060        https://bugs.webkit.org/show_bug.cgi?id=19938
1061
1062        - Transition class is now called Animation
1063        - new state-based AnimationController that can support CSS Animations
1064        - add support for -webkit-transition-delay
1065        - remove -webkit-transition-repeat-count (since it never existed officially)
1066        - updates the -webkit-transition shorthand to reflect removing repeat count
1067        - updates the Transition class so that properties can be shared with animations
1068        - adds a "now" keyword for -webkit-transition-delay
1069        - adds a new change type for style (changed by animation)
1070        - adds new event names (although they are not dispatched yet)
1071        - makes text stroke and text fill colors returned by RenderStyle const
1072
1073        Tests:
1074        - manual-tests/transition-left.html
1075        - manual-tests/transition-delay.html
1076        - manual-tests/transition-timing-functions.html
1077
1078        * css/CSSComputedStyleDeclaration.cpp:
1079        * css/CSSParser.cpp:
1080        * css/CSSParser.h:
1081        * css/CSSPropertyNames.in:
1082        * css/CSSStyleSelector.cpp:
1083        * css/CSSStyleSelector.h:
1084        * css/CSSTimingFunctionValue.h:
1085        * css/CSSValue.h:
1086        * css/CSSValueKeywords.in:
1087        * css/WebKitCSSTransformValue.cpp:
1088        * dom/Document.cpp:
1089        * dom/Document.h:
1090        * dom/Element.cpp:
1091        * dom/EventNames.h:
1092        * dom/Node.cpp:
1093        * dom/Node.h:
1094        * history/CachedPage.cpp:
1095        * page/AnimationController.cpp:
1096        * page/AnimationController.h:
1097        * page/Frame.cpp:
1098        * rendering/RenderObject.cpp:
1099        * rendering/RenderWidget.cpp:
1100        * rendering/style/RenderStyle.cpp:
1101        * rendering/style/RenderStyle.h:
1102
11032008-08-04  Mike Belshe  <mike@belshe.com>
1104
1105        Reviewed by Antti.
1106        
1107        Currently we create two copies of script in the HTMLTokenizer.
1108        One copy gets passed into the javascript engine, the other gets
1109        stored in the DOM.  Modify the HTMLParser so that it does not
1110        chunk the string into it's normal 64K chunks for script code,
1111        and modify the HTMLTokenizer to pass that same string into the
1112        JS engine.  On some sites (e.g. GMail), which have hundreds of
1113        KB of inline JS, this saves more than a MB of RAM to run the page.
1114        (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory)
1115
1116        * html\HTMLParser.cpp
1117        * html\HTMLTokenizer.cpp
1118
11192008-08-04  Sam Weinig  <sam@webkit.org>
1120
1121        Reviewed by Mark Rowe.
1122
1123        Remove extra braces left in from JSLock removal.
1124
1125        * xml/XMLHttpRequest.cpp:
1126        (WebCore::XMLHttpRequest::dropProtection):
1127
11282008-08-02  Sam Weinig  <sam@webkit.org>
1129
1130        Reviewed by Dan Bernstein.
1131
1132        Implement the Access-control for Cross Site requests
1133        preflight cache.
1134
1135        Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
1136               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
1137               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
1138               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
1139
1140        * WebCore.vcproj/WebCore.vcproj:
1141        * WebCore.xcodeproj/project.pbxproj:
1142        * platform/KURL.h:
1143        (WTF::):
1144        * platform/KURLHash.h: Added.
1145        (WebCore::KURLHash::hash):
1146        (WebCore::KURLHash::equal):
1147        (WTF::):
1148        * xml/XMLHttpRequest.cpp:
1149        (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
1150        (WebCore::preflightResultCache):
1151        (WebCore::appendPreflightResultCacheEntry):
1152        (WebCore::canSkipPrelight):
1153        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1154        (WebCore::parseAccessControlAllowList):
1155        (WebCore::parseAccessControlMaxAge):
1156        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1157
11582008-08-04  Eric Seidel  <eric@webkit.org>
1159
1160        Reviewed by Adam Roben.
1161
1162        Fix warning seen in MSVC converting ints to floats.
1163
1164        * rendering/Length.h:
1165        (WebCore::Length::calcFloatValue):
1166
11672008-08-04  Eric Seidel  <eric@webkit.org>
1168
1169        Reviewed by hyatt.
1170
1171        Clean up Gradient constructors, make sure all members are initialized.
1172
1173        * platform/graphics/Gradient.cpp:
1174        (WebCore::Gradient::Gradient):
1175
11762008-08-02  Maxime Britto  <britto@apple.com>
1177
1178        Reviewed by Eric Seidel.
1179
1180        <rdar://problem/6118969>
1181        https://bugs.webkit.org/show_bug.cgi?id=19971 
1182        Modifiy the cursor interactively when on panning mode (middle click auto scroll)
1183        When the panning is in progress the cursor is an arrow representing the direction of the current scroll
1184
1185        * page/EventHandler.cpp:
1186        (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
1187        (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
1188        (WebCore::EventHandler::handleMouseMoveEvent):
1189        * page/EventHandler.h: 
1190        * platform/Cursor.h: Add propotypes for the new cursor functions
1191        * platform/gtk/CursorGtk.cpp: to avoid build break
1192        (WebCore::middlePanningCursor):
1193        (WebCore::eastPanningCursor):
1194        (WebCore::northPanningCursor):
1195        (WebCore::northEastPanningCursor):
1196        (WebCore::northWestPanningCursor):
1197        (WebCore::southPanningCursor):
1198        (WebCore::southEastPanningCursor):
1199        (WebCore::southWestPanningCursor):
1200        (WebCore::westPanningCursor):
1201        * platform/mac/CursorMac.mm: to avoid build break
1202        (WebCore::middlePanningCursor):
1203        (WebCore::eastPanningCursor):
1204        (WebCore::northPanningCursor):
1205        (WebCore::northEastPanningCursor):
1206        (WebCore::northWestPanningCursor):
1207        (WebCore::southPanningCursor):
1208        (WebCore::southEastPanningCursor):
1209        (WebCore::southWestPanningCursor):
1210        (WebCore::westPanningCursor):
1211        * platform/qt/CursorQt.cpp: to avoid build break
1212        (WebCore::middlePanningCursor):
1213        (WebCore::eastPanningCursor):
1214        (WebCore::northPanningCursor):
1215        (WebCore::northEastPanningCursor):
1216        (WebCore::northWestPanningCursor):
1217        (WebCore::southPanningCursor):
1218        (WebCore::southEastPanningCursor):
1219        (WebCore::southWestPanningCursor):
1220        (WebCore::westPanningCursor):
1221        * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
1222        (WebCore::middlePanningCursor):
1223        (WebCore::eastPanningCursor):
1224        (WebCore::northPanningCursor):
1225        (WebCore::northEastPanningCursor):
1226        (WebCore::northWestPanningCursor):
1227        (WebCore::southPanningCursor):
1228        (WebCore::southEastPanningCursor):
1229        (WebCore::southWestPanningCursor):
1230        (WebCore::westPanningCursor):
1231        * platform/wx/CursorWx.cpp: to avoid build break
1232        (WebCore::middlePanningCursor):
1233        (WebCore::eastPanningCursor):
1234        (WebCore::northPanningCursor):
1235        (WebCore::northEastPanningCursor):
1236        (WebCore::northWestPanningCursor):
1237        (WebCore::southPanningCursor):
1238        (WebCore::southEastPanningCursor):
1239        (WebCore::southWestPanningCursor):
1240        (WebCore::westPanningCursor):
1241
12422008-08-02  Kevin Ollivier  <kevino@theolliviers.com>
1243
1244        Move to using constants in accordance with discussions about wx renderer commit.
1245
1246        * platform/wx/RenderThemeWx.cpp:
1247        (WebCore::RenderThemeWx::minimumMenuListSize):
1248        (WebCore::RenderThemeWx::popupInternalPaddingLeft):
1249        (WebCore::RenderThemeWx::popupInternalPaddingRight):
1250        (WebCore::RenderThemeWx::popupInternalPaddingTop):
1251        (WebCore::RenderThemeWx::popupInternalPaddingBottom):
1252
12532008-08-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>
1254
1255        Reviewed by Eric Seidel.
1256
1257        * plugins/gtk/gtk2xtbin.h:
1258
1259        https://bugs.webkit.org/show_bug.cgi?id=20034
1260        Fix malformed Vim modeline.
1261
12622008-08-01  Dan Bernstein  <mitz@apple.com>
1263
1264        Reviewed by Dave Hyatt.
1265
1266        - tweak a comment
1267
1268        * platform/graphics/cg/ImageCG.cpp:
1269        (WebCore::BitmapImage::draw):
1270
12712008-08-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
1272
1273        * ChangeLog: Fix date of previous commit (r35520)
1274
12752008-08-01  Marco Barisione  <marco.barisione@collabora.co.uk>
1276
1277        Reviewed by Eric Seidel.
1278
1279        https://bugs.webkit.org/show_bug.cgi?id=19603
1280        [SOUP] segfault when closing a file using gio
1281
1282        Call client->didFinishLoading() only after releasing all the gio
1283        resources.
1284
1285        * platform/network/soup/ResourceHandleSoup.cpp:
1286        (WebCore::closeCallback):
1287        (WebCore::readCallback):
1288
12892008-08-01  Anders Carlsson  <andersca@apple.com>
1290
1291        Reviewed by Jon.
1292
1293        <rdar://problem/6120206>
1294        Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
1295        
1296        Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
1297        
1298        * plugins/PluginStream.cpp:
1299        (WebCore::PluginStream::wantsAllStreams):
1300
13012008-08-01  Robin Dunn  <robin@alldunn.com>
1302
1303        Reviewed by Eric Seidel.
1304
1305        Native rendering implementations for form elements in the wx port.
1306        
1307        https://bugs.webkit.org/show_bug.cgi?id=19069
1308
1309        * platform/wx/RenderThemeWx.cpp:
1310        (WebCore::RenderThemeWx::adjustRepaintRect):
1311        (WebCore::RenderThemeWx::paintButton):
1312        (WebCore::RenderThemeWx::paintTextField):
1313        (WebCore::RenderThemeWx::minimumMenuListSize):
1314        (WebCore::RenderThemeWx::adjustMenuListStyle):
1315        (WebCore::RenderThemeWx::paintMenuList):
1316        (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
1317        (WebCore::RenderThemeWx::paintMenuListButton):
1318        (WebCore::RenderThemeWx::popupInternalPaddingLeft):
1319        (WebCore::RenderThemeWx::popupInternalPaddingRight):
1320        (WebCore::RenderThemeWx::popupInternalPaddingTop):
1321        (WebCore::RenderThemeWx::popupInternalPaddingBottom):
1322
13232008-07-30  David Hyatt  <hyatt@apple.com>
1324
1325        Improvements to selection drawing.
1326
1327        Clip out floating and positioned objects when drawing selection so
1328        that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
1329        object and the positioned/floating object itself.  Improves most Web pages.
1330
1331        Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
1332        position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
1333
1334        Reviewed by Dan
1335
1336        Covered by existing selection pixel tests.
1337
1338        * rendering/RenderBlock.cpp:
1339        (WebCore::RenderBlock::isSelectionRoot):
1340        (WebCore::RenderBlock::paintSelection):
1341        (WebCore::clipOutPositionedObjects):
1342        (WebCore::RenderBlock::fillSelectionGaps):
1343        (WebCore::RenderBlock::fillLeftSelectionGap):
1344        (WebCore::RenderBlock::fillRightSelectionGap):
1345
13462008-08-01  Timothy Hatcher  <timothy@apple.com>
1347
1348        Adds the ability to disable individual properties of a CSS rule.
1349        When hovering over a rule, checkboxes show up to the right of all
1350        properties and toggling a checkbox disables/enables the property.
1351        Behind the scenes the property is removed from the rule when disabled,
1352        but still remains in the list and in the computed style. When disabled
1353        the property has a line through it, and is faded in computed style.
1354
1355        <rdar://problem/5712828> Support disabling individual CSS properties
1356        https://bugs.webkit.org/show_bug.cgi?id=14377
1357
1358        Reviewed by Adam Roben.
1359
1360        * page/inspector/StylesSidebarPane.js:
1361        (WebInspector.StylesSidebarPane.prototype.update): Include the
1362        inline style when it also has disabled properties. Call
1363        deleteDisabledProperty for any property that is in the style,
1364        since it might have been added back by the page. Remember all
1365        disabled properties so they show up in computed style.
1366        (deleteDisabledProperty): Helper function to delete all the
1367        right properties that track disabled properties.
1368        (WebInspector.StylePropertiesSection): Add the computed-style
1369        class when  the section is Computed Style.
1370        (WebInspector.StylePropertiesSection.prototype.onpopulate):
1371        Include disabled properties.
1372        (WebInspector.StylePropertyTreeElement): Added a disabled argument.
1373        (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
1374        Sets the _disabled property and calls updateState.
1375        (WebInspector.StylePropertyTreeElement.prototype.get priority):
1376        Return the priority of enabled or disabled properties.
1377        (WebInspector.StylePropertyTreeElement.prototype.get value):
1378        Return the value of enabled or disabled properties.
1379        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
1380        priority and value getter. Append the checkbox for root elements of
1381        an editable section.
1382        (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
1383        Add or remove properties from the rule and remember removed ones
1384        by adding three objects to the style: __disabledProperties,
1385        __disabledPropertyValues and __disabledPropertyPriorities.
1386        The __disabledProperties object will include all longhand
1387        properties of a shorthand for use by Computed Style.
1388        (WebInspector.StylePropertyTreeElement.prototype.updateState):
1389        Use the value getter. Update the disabled state.
1390        * page/inspector/inspector.css:
1391        * page/inspector/utilities.js:
1392        (Object.hasProperties): Added. Helper to test if an object
1393        has any properties.
1394
13952008-07-31  Anders Carlsson  <andersca@apple.com>
1396
1397        Reviewed by Darin.
1398
1399        <rdar://problem/5949410>
1400        Add the ability to transfer a given application cache to a new database.
1401        
1402        * WebCore.base.exp:
1403        Export ApplicationCacheStorage::storeCopyOfCache.
1404        
1405        * loader/appcache/ApplicationCache.cpp:
1406        (WebCore::ApplicationCache::~ApplicationCache):
1407        Don't call cacheDestroyed for our special "copy" groups.
1408        
1409        * loader/appcache/ApplicationCacheGroup.cpp:
1410        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1411        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1412        Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
1413        and can only be stored to disk.
1414        
1415        * loader/appcache/ApplicationCacheGroup.h:
1416        (WebCore::ApplicationCacheGroup::isCopy):
1417        New getter.
1418        
1419        * loader/appcache/ApplicationCacheStorage.cpp:
1420        (WebCore::ApplicationCacheStorage::store):
1421        Make sure to set the storageID when storing an application resource.
1422        
1423        (WebCore::ApplicationCacheStorage::storeNewestCache):
1424        Change this to return true/false depending on whether storing the cache succeeded or not.
1425        
1426        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
1427        New method which stores a given cache in a new storage (database file).
1428        
1429        * loader/appcache/ApplicationCacheStorage.h:
1430        Add new methods.
1431
14322008-07-31  John Sullivan  <sullivan@apple.com>
1433
1434        WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
1435
1436        Reviewed by Hyatt
1437
1438        * WebCore.base.exp:
1439        export symbol for WebCoreSettings::setZoomsTextOnly()
1440        
1441        * page/Frame.cpp:
1442        (WebCore::Frame::isZoomFactorTextOnly):
1443        use value from Settings instead of data member
1444        (WebCore::Frame::shouldApplyTextZoom):
1445        call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
1446        (WebCore::Frame::shouldApplyPageZoom):
1447        ditto
1448        (WebCore::Frame::setZoomFactor):
1449        set value into Settings rather than into data member
1450        (WebCore::FramePrivate::FramePrivate):
1451        don't set initial value of now-removed data member; this is managed by Settings now
1452        
1453        * page/FramePrivate.h:
1454        removed m_zoomFactorIsTextOnly
1455        
1456        * page/Settings.cpp:
1457        (WebCore::Settings::setZoomsTextOnly):
1458        new function, sets values and reapplies styles in all frames
1459        
1460        * page/Settings.h:
1461        (WebCore::Settings::zoomsTextOnly):
1462        new function, returns value of new data member
1463
14642008-07-31  Simon Fraser  <simon.fraser@apple.com>
1465
1466        Reviewed by Dave Hyatt
1467
1468        Null-check parent clip rects, because they may not have been
1469        set up yet.
1470        https://bugs.webkit.org/show_bug.cgi?id=20243
1471
1472        * rendering/RenderLayer.cpp:
1473        (WebCore::RenderLayer::calculateClipRects):
1474
14752008-07-31  Dan Bernstein  <mitz@apple.com>
1476
1477        Reviewed by Dave Hyatt.
1478
1479        - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image
1480
1481        * platform/graphics/cg/ImageCG.cpp:
1482        (WebCore::BitmapImage::draw): To work around a Core Graphics
1483        interpolation issue, reverted to using a temporary subimage for drawing
1484        a portion of the image with scaling and high-quality interpolation in
1485        effect.
1486
14872008-07-31  chris fleizach  <cfleizach@apple.com>
1488
1489        Reviewed by Alice Liu
1490
1491        <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas
1492
1493        Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
1494        for individual characters on a webpage.
1495
1496        Test: accessibility/bounds-for-range.html
1497
1498        * ChangeLog:
1499        * page/AccessibilityRenderObject.cpp:
1500        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1501        * page/mac/AccessibilityObjectWrapper.mm:
1502        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1503        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1504
15052008-07-31  Kevin Ollivier <kevino@theolliviers.com>
1506
1507        Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
1508        use defines, etc. to avoid conflicts in each affected file.
1509
1510        * config.h:
1511        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1512        * platform/wx/PopupMenuWx.cpp:
1513
15142008-07-31  Erik Bunce  <elbunce@thehive.com>
1515
1516        Reviewed by Simon.
1517
1518        https://bugs.webkit.org/show_bug.cgi?id=20224
1519
1520        Include the Writing Direction sub-menu in the context menu of all
1521        platforms but GTK. This fixes a regression introduced by revision
1522        34426.
1523
1524        * platform/ContextMenu.cpp:
1525        (WebCore::ContextMenu::populate):
1526
15272008-07-31  Brady Eidson  <beidson@apple.com>
1528
1529        Reviewed by Adam and Hyatt
1530
1531        Fix for <rdar://problem/6099748>
1532
1533        Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2
1534
1535        * WebCore.base.exp:
1536
1537        * html/HTMLLinkElement.cpp:
1538        (WebCore::HTMLLinkElement::setCSSStyleSheet):
1539
1540        * loader/CachedCSSStyleSheet.cpp:
1541        (WebCore::CachedCSSStyleSheet::canUseSheet):
1542        * loader/CachedCSSStyleSheet.h:
1543        (WebCore::CachedCSSStyleSheet::sheetText): 
1544        * page/Settings.cpp:
1545
1546        (WebCore::Settings::Settings):
1547        (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
1548        * page/Settings.h:
1549        (WebCore::Settings::enforceCSSMIMETypeInStrictMode):
1550
15512008-07-31  Erik Bunce  <elbunce@thehive.com>
1552
1553        Reviewed by Simon.
1554
1555        Added the ability to get SQLite headers and source from the location 
1556        specified via the SQLITE3SRCDIR environtment variable.
1557
1558        * WebCore.pro:
1559
15602008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1561
1562        Rubber-stamped by Maciej.
1563
1564        Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1565        call sites now).
1566
1567        * ForwardingHeaders/kjs/JSLock.h: Removed.
1568        * WebCore.vcproj/WebCore.vcproj:
1569        * bindings/js/GCController.cpp:
1570        (WebCore::collect):
1571        (WebCore::GCController::gcTimerFired):
1572        (WebCore::GCController::garbageCollectNow):
1573        * bindings/js/JSCustomSQLStatementCallback.cpp:
1574        (WebCore::JSCustomSQLStatementCallback::handleEvent):
1575        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1576        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1577        * bindings/js/JSCustomSQLTransactionCallback.cpp:
1578        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1579        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1580        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1581        * bindings/js/JSCustomVoidCallback.cpp:
1582        (WebCore::JSCustomVoidCallback::handleEvent):
1583        * bindings/js/JSCustomXPathNSResolver.cpp:
1584        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1585        * bindings/js/JSDOMWindowBase.cpp:
1586        (WebCore::DOMWindowTimer::~DOMWindowTimer):
1587        (WebCore::JSDOMWindowBase::clear):
1588        (WebCore::JSDOMWindowBase::timerFired):
1589        * bindings/js/JSEventCustom.cpp:
1590        (WebCore::toJS):
1591        * bindings/js/JSEventListener.cpp:
1592        (WebCore::JSAbstractEventListener::handleEvent):
1593        (WebCore::JSLazyEventListener::parseCode):
1594        * bindings/js/JSNSResolver.cpp:
1595        (WebCore::JSNSResolver::lookupNamespaceURI):
1596        * bindings/js/JSNodeFilterCondition.cpp:
1597        (WebCore::JSNodeFilterCondition::acceptNode):
1598        * bindings/js/ScheduledAction.cpp:
1599        (WebCore::ScheduledAction::execute):
1600        * bindings/js/ScriptController.cpp:
1601        (WebCore::ScriptController::evaluate):
1602        (WebCore::ScriptController::clear):
1603        (WebCore::ScriptController::createHTMLEventHandler):
1604        (WebCore::ScriptController::createSVGEventHandler):
1605        (WebCore::ScriptController::initScript):
1606        (WebCore::ScriptController::updateDocument):
1607        * bindings/objc/WebScriptObject.mm:
1608        (_didExecute):
1609        (-[WebScriptObject callWebScriptMethod:withArguments:]):
1610        (-[WebScriptObject evaluateWebScript:]):
1611        (-[WebScriptObject setValue:forKey:]):
1612        (-[WebScriptObject valueForKey:]):
1613        (-[WebScriptObject removeWebScriptKey:]):
1614        (-[WebScriptObject stringRepresentation]):
1615        (-[WebScriptObject webScriptValueAtIndex:]):
1616        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1617        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1618        * bridge/NP_jsobject.cpp:
1619        (_NPN_InvokeDefault):
1620        (_NPN_Invoke):
1621        (_NPN_Evaluate):
1622        (_NPN_GetProperty):
1623        (_NPN_SetProperty):
1624        (_NPN_RemoveProperty):
1625        (_NPN_HasProperty):
1626        (_NPN_HasMethod):
1627        (_NPN_Enumerate):
1628        * bridge/c/c_class.cpp:
1629        (KJS::Bindings::CClass::~CClass):
1630        (KJS::Bindings::CClass::methodsNamed):
1631        (KJS::Bindings::CClass::fieldNamed):
1632        * bridge/c/c_instance.cpp:
1633        (KJS::Bindings::CInstance::invokeMethod):
1634        (KJS::Bindings::CInstance::invokeDefaultMethod):
1635        (KJS::Bindings::CInstance::getPropertyNames):
1636        * bridge/c/c_runtime.cpp:
1637        (KJS::Bindings::CField::valueFromInstance):
1638        (KJS::Bindings::CField::setValueToInstance):
1639        * bridge/c/c_utility.cpp:
1640        (KJS::Bindings::convertValueToNPVariant):
1641        (KJS::Bindings::convertNPVariantToValue):
1642        * bridge/jni/jni_class.cpp:
1643        (JavaClass::JavaClass):
1644        (JavaClass::~JavaClass):
1645        * bridge/jni/jni_instance.cpp:
1646        (JavaInstance::stringValue):
1647        * bridge/jni/jni_jsobject.mm:
1648        (JavaJSObject::call):
1649        (JavaJSObject::eval):
1650        (JavaJSObject::getMember):
1651        (JavaJSObject::setMember):
1652        (JavaJSObject::removeMember):
1653        (JavaJSObject::getSlot):
1654        (JavaJSObject::setSlot):
1655        (JavaJSObject::toString):
1656        (JavaJSObject::convertValueToJObject):
1657        (JavaJSObject::convertJObjectToValue):
1658        * bridge/jni/jni_objc.mm:
1659        (KJS::Bindings::dispatchJNICall):
1660        * bridge/jni/jni_runtime.cpp:
1661        (appendClassName):
1662        (JavaMethod::signature):
1663        * bridge/jni/jni_runtime.h:
1664        (KJS::Bindings::JavaString::JavaString):
1665        (KJS::Bindings::JavaString::_commonInit):
1666        (KJS::Bindings::JavaString::~JavaString):
1667        (KJS::Bindings::JavaString::UTF8String):
1668        * bridge/jni/jni_utility.cpp:
1669        (KJS::Bindings::convertValueToJValue):
1670        * bridge/npruntime.cpp:
1671        (_NPN_GetStringIdentifier):
1672        * bridge/objc/objc_instance.mm:
1673        (ObjcInstance::moveGlobalExceptionToExecState):
1674        (ObjcInstance::invokeMethod):
1675        (ObjcInstance::invokeDefaultMethod):
1676        (ObjcInstance::setValueOfUndefinedField):
1677        (ObjcInstance::getValueOfUndefinedField):
1678        * bridge/objc/objc_runtime.mm:
1679        (ObjcField::valueFromInstance):
1680        (ObjcField::setValueToInstance):
1681        * bridge/objc/objc_utility.mm:
1682        (KJS::Bindings::convertValueToObjcValue):
1683        (KJS::Bindings::convertNSStringToString):
1684        (KJS::Bindings::convertObjcValueToValue):
1685        * bridge/qt/qt_instance.cpp:
1686        (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
1687        (KJS::Bindings::QtInstance::~QtInstance):
1688        (KJS::Bindings::QtInstance::getQtInstance):
1689        (KJS::Bindings::QtInstance::getRuntimeObject):
1690        * bridge/qt/qt_runtime.cpp:
1691        (KJS::Bindings::convertValueToQVariant):
1692        (KJS::Bindings::convertQVariantToValue):
1693        (KJS::Bindings::QtRuntimeMetaMethod::call):
1694        (KJS::Bindings::QtRuntimeConnectionMethod::call):
1695        (KJS::Bindings::QtConnectionObject::QtConnectionObject):
1696        (KJS::Bindings::QtConnectionObject::execute):
1697        * bridge/runtime.cpp:
1698        (KJS::Bindings::Instance::createRuntimeObject):
1699        * bridge/testbindings.cpp:
1700        (main):
1701        * bridge/testbindings.mm:
1702        (main):
1703        * bridge/testqtbindings.cpp:
1704        (main):
1705        * dom/Document.cpp:
1706        (WebCore::Document::~Document):
1707        * dom/Node.cpp:
1708        (WebCore::Node::setDocument):
1709        * history/CachedPage.cpp:
1710        (WebCore::CachedPage::CachedPage):
1711        (WebCore::CachedPage::restore):
1712        (WebCore::CachedPage::clear):
1713        * html/HTMLPlugInElement.cpp:
1714        (WebCore::HTMLPlugInElement::createNPObject):
1715        * loader/FrameLoader.cpp:
1716        (WebCore::getString):
1717        * page/Frame.cpp:
1718        (WebCore::Frame::bindingRootObject):
1719        (WebCore::Frame::windowScriptNPObject):
1720        (WebCore::Frame::clearScriptObjects):
1721        * page/InspectorController.cpp:
1722        (WebCore::jsStringRef):
1723        (WebCore::ConsoleMessage::ConsoleMessage):
1724        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1725        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
1726        (WebCore::getResourceDocumentNode):
1727        (WebCore::search):
1728        (WebCore::inspectedWindow):
1729        (WebCore::wrapCallback):
1730        (WebCore::currentCallFrame):
1731        (WebCore::profiles):
1732        (WebCore::InspectorController::focusNode):
1733        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1734        (WebCore::InspectorController::addDatabaseScriptResource):
1735        (WebCore::InspectorController::addScriptProfile):
1736        * page/JavaScriptCallFrame.cpp:
1737        (WebCore::JavaScriptCallFrame::evaluate):
1738        * page/JavaScriptProfileNode.cpp:
1739        (WebCore::getTotalTime):
1740        (WebCore::getSelfTime):
1741        (WebCore::getTotalPercent):
1742        (WebCore::getSelfPercent):
1743        (WebCore::getNumberOfCalls):
1744        (WebCore::getChildren):
1745        (WebCore::getVisible):
1746        * page/Page.cpp:
1747        * page/mac/FrameMac.mm:
1748        (WebCore::Frame::windowScriptObject):
1749        * page/qt/FrameQt.cpp:
1750        * plugins/PluginView.cpp:
1751        (WebCore::PluginView::start):
1752        (WebCore::getString):
1753        (WebCore::PluginView::performRequest):
1754        (WebCore::PluginView::bindingInstance):
1755        * plugins/gtk/PluginViewGtk.cpp:
1756        (WebCore::PluginView::paint):
1757        (WebCore::PluginView::handleKeyboardEvent):
1758        (WebCore::PluginView::handleMouseEvent):
1759        (WebCore::PluginView::setNPWindowRect):
1760        (WebCore::PluginView::stop):
1761        (WebCore::PluginView::init):
1762        * plugins/qt/PluginViewQt.cpp:
1763        (WebCore::PluginView::setNPWindowRect):
1764        (WebCore::PluginView::stop):
1765        (WebCore::PluginView::init):
1766        * plugins/win/PluginViewWin.cpp:
1767        (WebCore::PluginView::dispatchNPEvent):
1768        (WebCore::PluginView::handleKeyboardEvent):
1769        (WebCore::PluginView::handleMouseEvent):
1770        (WebCore::PluginView::setNPWindowRect):
1771        (WebCore::PluginView::stop):
1772        * xml/XMLHttpRequest.cpp:
1773        (WebCore::XMLHttpRequest::clearResponse):
1774        (WebCore::XMLHttpRequest::didFinishLoading):
1775        (WebCore::XMLHttpRequest::didReceiveData):
1776
17772008-07-30  Timothy Hatcher  <timothy@apple.com>
1778
1779        Fix various minor bugs with style editing in the Inspector.
1780
1781        - Restores the scroll position to 0,0 when finished editing a
1782        string that was longer than the editing input area.
1783
1784        - Adjusts the margin of the list item to ensure the text does
1785        not shift when entering and exiting editing mode.
1786
1787        - Reliably remembers if a shorthand has children when the
1788        children haven't been populated yet.
1789
1790        - Reliably remembers if a shorthand was expanded, and expands
1791        if needed after editing finishes.
1792
1793        - Hides color swatches when editing.
1794
1795        https://bugs.webkit.org/show_bug.cgi?id=20238
1796
1797        Reviewed by Adam Roben.
1798
1799        * page/inspector/StylesSidebarPane.js:
1800        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
1801        Store the expanded state and children state in wasExpanded and
1802        reallyHasChildren properties.
1803        (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
1804        Removed the wasExpanded argument and use the reallyHasChildren and
1805        wasExpanded properties to restore state. Deletes the state properties.
1806        (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
1807        Removed the wasExpanded argument.
1808        (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
1809        Removed the wasExpanded argument.
1810        * page/inspector/inspector.css: Tweak the margin and hides the color
1811        swatches. ALso removes a rule that was not needed.
1812        * page/inspector/inspector.js:
1813        (WebInspector.startEditing): Restore the scrollLeft and scrollTop
1814        to zero when editing finishes.
1815
18162008-07-30  Alice Liu  <alice.liu@apple.com>
1817
1818        Implement userIdleTime() for Windows, and place a band-aid over other
1819        platform implementations of userIdleTime().  This will fix the issue
1820        of indefinitely postposing releasing pages from the PageCache
1821        on non-Mac platforms, causing us to hang onto just about everything 
1822        else about a web page.
1823        
1824        Reviewed by Sam Weinig.
1825
1826        * platform/gtk/TemporaryLinkStubs.cpp:
1827        * platform/wx/TemporaryLinkStubs.cpp:
1828        * platform/qt/TemporaryLinkStubs.cpp:
1829        (WebCore::userIdleTime): set to FLT_MAX
1830
1831        * platform/win/SystemTimeWin.cpp:
1832        (WebCore::userIdleTime): implemented
1833
18342008-07-30  Beth Dakin  <bdakin@apple.com>
1835
1836        Reviewed by Anders Carlsson.
1837
1838        Fixes <rdar://problem/6041390>
1839
1840        Adds the ability to have a frame that is "disconnected" from the 
1841        main frame from the perspective of top and parent in 
1842        Javascript.
1843
1844        * WebCore.base.exp:
1845        * page/DOMWindow.cpp:
1846        (WebCore::DOMWindow::parent):
1847        (WebCore::DOMWindow::top):
1848        * page/Frame.cpp:
1849        (WebCore::Frame::isDisconnectedFrame):
1850        (WebCore::Frame::setIsDisconnectedFrame):
1851        (WebCore::FramePrivate::FramePrivate):
1852        * page/Frame.h:
1853        * page/FramePrivate.h:
1854        * page/FrameTree.cpp:
1855        (WebCore::FrameTree::parent):
1856        (WebCore::FrameTree::top):
1857        * page/FrameTree.h:
1858
18592008-07-25  Eric Seidel  <eric@webkit.org>
1860
1861        Reviewed by Justin.
1862
1863        Crash Safari when dragging images into Google presentations
1864        https://bugs.webkit.org/show_bug.cgi?id=20161
1865
1866        Test: manual-tests/remove-on-drop-crash.html
1867
1868        * editing/ReplaceSelectionCommand.cpp:
1869        (WebCore::ReplaceSelectionCommand::doApply):
1870        * manual-tests/remove-on-drop-crash.html: Added.
1871
18722008-07-30  Christian Dywan  <christian@twotoasts.de>
1873
1874        Reviewed by Mark.
1875
1876        Build fix for Cairo < 1.6
1877
1878        * platform/graphics/cairo/PathCairo.cpp:
1879        (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
1880
18812008-07-29  Kevin McCullough  <kmccullough@apple.com>
1882
1883        Reviewed by Geoff.
1884
1885        <rdar://problem/6110314> Crash in profiler dereferencing null frame or
1886        page (20214)
1887        - Null check.
1888
1889        * page/Console.cpp:
1890        (WebCore::Console::finishedProfiling):
1891
18922008-07-30  David Hyatt  <hyatt@apple.com>
1893
1894        https://bugs.webkit.org/show_bug.cgi?id=18070
1895        
1896        Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
1897        JS mouse event to account for zoom.
1898
1899        Reviewed by olliej
1900
1901        * dom/EventTargetNode.cpp:
1902        (WebCore::EventTargetNode::dispatchMouseEvent):
1903
19042008-07-29  Sam Weinig  <sam@webkit.org>
1905
1906        Reviewed by Darin Adler.
1907
1908        Update Cross-site XMLHttpRequests using Access control to
1909        the latest spec. (Editor's Draft 8 July 2008)
1910
1911        - This leaves us at about the same place as we previously were
1912          still needing preflight caching and better redirect support.
1913
1914        * GNUmakefile.am:
1915        * WebCore.pro:
1916        * WebCore.vcproj/WebCore.vcproj:
1917        * WebCore.xcodeproj/project.pbxproj:
1918        * WebCoreSources.bkl:
1919        * xml/AccessControlList.cpp: Removed.
1920        * xml/AccessControlList.h: Removed.
1921        * xml/AccessItem.cpp: Removed.
1922        * xml/AccessItem.h: Removed.
1923        * xml/AccessItemRule.cpp: Removed.
1924        * xml/AccessItemRule.h: Removed.
1925        * xml/XMLHttpRequest.cpp:
1926        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
1927        (WebCore::XMLHttpRequest::XMLHttpRequest):
1928        (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
1929        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1930        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1931        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1932        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1933        (WebCore::XMLHttpRequest::abort):
1934        (WebCore::XMLHttpRequest::clearRequest):
1935        (WebCore::XMLHttpRequest::didFinishLoading):
1936        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1937        (WebCore::XMLHttpRequest::accessControlCheck):
1938        (WebCore::XMLHttpRequest::didReceiveResponse):
1939        (WebCore::parseAccessControlAllowList):
1940        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1941        * xml/XMLHttpRequest.h:
1942
19432008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1944
1945        Reviewed by Adele.
1946
1947        Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
1948
1949        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1950
19512008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1952
1953        Reviewed by Adele.
1954
1955        Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
1956
1957        For standalone video, use QTMovieView to draw.
1958
1959        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1960        (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
1961         Associate the QTMovieView with the WebCoreMovieObserver.
1962         If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
1963        (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
1964        (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
1965        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
1966        (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
1967        (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
1968        (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
1969        (-[WebCoreMovieObserver setView:]): Added.
1970
19712008-07-29  Adele Peterson  <adele@apple.com>
1972
1973        Reviewed by Dan Bernstein.
1974
1975        Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
1976
1977        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
1978        * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
1979        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
1980        apply PseudoFullPageMedia for elements in a full page media document.
1981
1982        * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
1983
1984        * rendering/RenderMedia.cpp:
1985        (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
1986        This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
1987        (WebCore::RenderMedia::rightmostPosition): ditto.
1988        (WebCore::RenderMedia::leftmostPosition): ditto.
1989        * rendering/RenderMedia.h:
1990
19912008-07-29  Sam Weinig  <sam@webkit.org>
1992
1993        Reviewed by Anders Carlsson.
1994
1995        <rdar://problem/6084585> Investigate upload progress events.
1996
1997        - Add progress notifications for data being sent via a ResourceHandle.
1998        - Add XMLHttpRequestUpload support.
1999
2000        Upload notifications only work on the Mac right now as the CFNetwork API
2001        on windows does not expose enough information.
2002
2003        Tests: http/tests/xmlhttprequest/upload-onload-event.html
2004               http/tests/xmlhttprequest/upload-onloadstart-event.html
2005               http/tests/xmlhttprequest/upload-onprogress-event.html
2006               http/tests/xmlhttprequest/upload-progress-events.html
2007
2008        * DerivedSources.make:
2009        * GNUmakefile.am:
2010        * WebCore.pro:
2011        * WebCore.vcproj/WebCore.vcproj:
2012        * WebCore.xcodeproj/project.pbxproj:
2013        * WebCoreSources.bkl:
2014        * bindings/js/JSEventTargetBase.cpp:
2015        (WebCore::toJS):
2016        * bindings/js/JSXMLHttpRequestCustom.cpp:
2017        (WebCore::JSXMLHttpRequest::mark):
2018        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
2019        (WebCore::JSXMLHttpRequestUpload::mark):
2020        (WebCore::JSXMLHttpRequestUpload::onabort):
2021        (WebCore::JSXMLHttpRequestUpload::setOnabort):
2022        (WebCore::JSXMLHttpRequestUpload::onerror):
2023        (WebCore::JSXMLHttpRequestUpload::setOnerror):
2024        (WebCore::JSXMLHttpRequestUpload::onload):
2025        (WebCore::JSXMLHttpRequestUpload::setOnload):
2026        (WebCore::JSXMLHttpRequestUpload::onloadstart):
2027        (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
2028        (WebCore::JSXMLHttpRequestUpload::onprogress):
2029        (WebCore::JSXMLHttpRequestUpload::setOnprogress):
2030        (WebCore::JSXMLHttpRequestUpload::addEventListener):
2031        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2032        (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
2033        * dom/EventTarget.cpp:
2034        (WebCore::EventTarget::toXMLHttpRequestUpload):
2035        * dom/EventTarget.h:
2036        * loader/ResourceLoader.cpp:
2037        (WebCore::ResourceLoader::didSendData):
2038        * loader/ResourceLoader.h:
2039        * loader/SubresourceLoader.cpp:
2040        (WebCore::SubresourceLoader::didSendData):
2041        * loader/SubresourceLoader.h:
2042        * loader/SubresourceLoaderClient.h:
2043        (WebCore::SubresourceLoaderClient::didSendData):
2044        * page/DOMWindow.idl:
2045        * platform/network/FormData.cpp:
2046        (WebCore::FormData::FormData):
2047        * platform/network/FormData.h:
2048        (WebCore::FormData::alwaysStream):
2049        (WebCore::FormData::setAlwaysStream):
2050        * platform/network/ResourceHandleClient.h:
2051        (WebCore::ResourceHandleClient::didSendData):
2052        * platform/network/mac/FormDataStreamMac.h:
2053        * platform/network/mac/FormDataStreamMac.mm:
2054        (WebCore::getStreamFormDataMap):
2055        (WebCore::getStreamResourceHandleMap):
2056        (WebCore::associateStreamWithResourceHandle):
2057        (WebCore::disassociateStreamWithResourceHandle):
2058        (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
2059        (WebCore::performDidSendDataCallback):
2060        (WebCore::formCreate):
2061        (WebCore::formFinalize):
2062        (WebCore::formRead):
2063        (WebCore::setHTTPBody):
2064        (WebCore::httpBodyFromStream):
2065        * platform/network/mac/ResourceHandleMac.mm:
2066        (WebCore::ResourceHandle::start):
2067        (WebCore::ResourceHandle::cancel):
2068        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
2069        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
2070        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
2071        * xml/XMLHttpRequest.cpp:
2072        (WebCore::XMLHttpRequest::XMLHttpRequest):
2073        (WebCore::XMLHttpRequest::~XMLHttpRequest):
2074        (WebCore::XMLHttpRequest::upload):
2075        (WebCore::XMLHttpRequest::open):
2076        (WebCore::XMLHttpRequest::send):
2077        (WebCore::XMLHttpRequest::createRequest):
2078        (WebCore::XMLHttpRequest::abort):
2079        (WebCore::XMLHttpRequest::networkError):
2080        (WebCore::XMLHttpRequest::abortError):
2081        (WebCore::XMLHttpRequest::didSendData):
2082        * xml/XMLHttpRequest.h:
2083        (WebCore::XMLHttpRequest::optionalUpload):
2084        * xml/XMLHttpRequest.idl:
2085        * xml/XMLHttpRequestUpload.cpp: Added.
2086        (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
2087        (WebCore::XMLHttpRequestUpload::addEventListener):
2088        (WebCore::XMLHttpRequestUpload::removeEventListener):
2089        (WebCore::XMLHttpRequestUpload::dispatchEvent):
2090        (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
2091        (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
2092        (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
2093        (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
2094        (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
2095        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
2096        * xml/XMLHttpRequestUpload.h: Added.
2097        (WebCore::XMLHttpRequestUpload::create):
2098        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
2099        (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
2100        (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
2101        (WebCore::XMLHttpRequestUpload::setOnAbortListener):
2102        (WebCore::XMLHttpRequestUpload::onAbortListener):
2103        (WebCore::XMLHttpRequestUpload::setOnErrorListener):
2104        (WebCore::XMLHttpRequestUpload::onErrorListener):
2105        (WebCore::XMLHttpRequestUpload::setOnLoadListener):
2106        (WebCore::XMLHttpRequestUpload::onLoadListener):
2107        (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
2108        (WebCore::XMLHttpRequestUpload::onLoadStartListener):
2109        (WebCore::XMLHttpRequestUpload::setOnProgressListener):
2110        (WebCore::XMLHttpRequestUpload::onProgressListener):
2111        (WebCore::XMLHttpRequestUpload::eventListeners):
2112        (WebCore::XMLHttpRequestUpload::refEventTarget):
2113        (WebCore::XMLHttpRequestUpload::derefEventTarget):
2114        * xml/XMLHttpRequestUpload.idl: Added.
2115
21162008-07-29  Maxime Britto  <britto@apple.com>
2117
2118        Reviewed by Darin.
2119
2120        <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
2121        With this patch we now stop the pan scroll and swallow the event to prevent any following action.
2122
2123        * page/EventHandler.cpp:
2124        (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
2125
21262008-07-29  Maxime Britto  <britto@apple.com>
2127
2128        Reviewed by adele.
2129
2130        Test: fast/events/autoscroll-in-textfield.html
2131
2132        * rendering/RenderObject.cpp:
2133        (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
2134        nb:the test case introduced in r35244 is still working.
2135
21362008-07-29  Maxime Britto  <britto@apple.com>
2137
2138        Reviewed by adele.
2139        This test verifies that the autoscroll works within textfields.
2140
2141        * fast/events/autoscroll-in-textfield-expected.txt: Added.
2142        * fast/events/autoscroll-in-textfield.html: Added.
2143
21442008-07-29  Adele Peterson  <adele@apple.com>
2145
2146        Reviewed by Sammy Weinig.
2147
2148        Fix for <rdar://problem/6103024>
2149        When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
2150
2151        Test: media/video-click-dlbclick-standalone.html
2152
2153        * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
2154        match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
2155        * loader/MediaDocument.h: Added defaultEventHandler.
2156
2157        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
2158        * rendering/MediaControlElements.cpp:
2159        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
2160         it is supposed to be "event->setDefaultHandled()".
2161        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
2162        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
2163        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
2164
21652008-07-29  Dan Bernstein  <mitz@apple.com>
2166
2167        Reviewed by Dave Hyatt.
2168
2169        - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
2170
2171        Test: fast/overflow/float-in-relpositioned.html
2172
2173        * rendering/RenderBlock.cpp:
2174        (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
2175        to floats' and positioned objects' lowest position.
2176        (WebCore::RenderBlock::rightmostPosition): Ditto.
2177        (WebCore::RenderBlock::leftmostPosition): Ditto.
2178        * rendering/RenderBox.cpp:
2179        (WebCore::RenderBox::lowestPosition): Removed redundant test.
2180        (WebCore::RenderBox::rightmostPosition): Ditto.
2181        (WebCore::RenderBox::leftmostPosition): Ditto.
2182
21832008-07-29  Dan Bernstein  <mitz@apple.com>
2184
2185        Reviewed by Dave Hyatt.
2186
2187        - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
2188
2189        Test: fast/repaint/layout-state-relative.html
2190
2191        * rendering/RenderBox.cpp:
2192        (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
2193        code path to account for the object's relative offset.
2194        (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
2195
21962008-07-29  Keishi Hattori  <casey.hattori@gmail.com>
2197
2198        Fixed Bug 19158: Inspector should support console.group/console.groupEnd
2199
2200        <https://bugs.webkit.org/show_bug.cgi?id=19158>
2201
2202        Reviewed by Tim Hatcher and Adam Roben.
2203
2204        * bindings/js/JSConsoleCustom.cpp:
2205        (WebCore::JSConsole::group): Added.
2206        * page/Console.cpp:
2207        (WebCore::Console::group): Added.
2208        (WebCore::Console::groupEnd): Added.
2209        * page/Console.h:
2210        (WebCore::):
2211        * page/Console.idl: Added group/groupEnd.
2212        * page/InspectorController.cpp:
2213        (WebCore::ConsoleMessage::ConsoleMessage):
2214        (WebCore::InspectorController::InspectorController): Added m_groupLevel.
2215        (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
2216        (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
2217        (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
2218        (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
2219        (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
2220        * page/InspectorController.h:
2221        * page/inspector/Console.js:
2222        (WebInspector.Console): Added groupLevel and currentGroup topGroup.
2223        (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
2224        (WebInspector.Console.startGroup): Added.
2225        (WebInspector.Console.endGroup): Added.
2226        (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
2227        (WebInspector.ConsoleMessage): Added groupLevel property.
2228        (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
2229        (WebInspector.ConsoleGroup): Added.
2230        (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
2231        (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
2232        * page/inspector/inspector.css:
2233        * page/inspector/inspector.js:
2234        (WebInspector.startGroupInConsole): Calls console.startGroup
2235        (WebInspector.endGroupInConsole): Calls console.endGroup
2236
22372008-07-29  Adam Roben  <aroben@apple.com>
2238
2239        Add names for WebCore's threads
2240
2241        Reviewed by Anders Carlsson.
2242
2243        * loader/icon/IconDatabase.cpp:
2244        (WebCore::IconDatabase::open):
2245        * storage/DatabaseThread.cpp:
2246        (WebCore::DatabaseThread::start):
2247        * storage/LocalStorageThread.cpp:
2248        (WebCore::LocalStorageThread::start):
2249        Pass in names to createThread.
2250
2251        * platform/network/cf/ResourceHandleCFNet.cpp:
2252        (WebCore::runLoaderThread):
2253        (WebCore::ResourceHandle::loaderRunLoop):
2254        Changed to use WTF::createThread.
2255
22562008-07-28  Anders Carlsson  <andersca@apple.com>
2257
2258        Reviewed by Kevin Decker.
2259
2260        Based on a patch from Dimcho Balev.
2261        
2262        Windows part of 
2263    
2264        https://bugs.webkit.org/show_bug.cgi?id=18676
2265        <rdar://problem/6106578>
2266        Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
2267
2268        * plugins/PluginStream.cpp:
2269        (WebCore::PluginStream::wantsAllStreams):
2270        * plugins/PluginStream.h:
2271
22722008-07-28  Brady Eidson  <beidson@apple.com>
2273
2274        Reviewed by Sam Weinig
2275
2276        Test: security/autocomplete-cleared-on-back.html
2277
2278        <rdar://problem/6093281> - autocomplete="off" should work when going back
2279
2280        Taken care of in two ways:
2281        1 - Listening for the page cache notification to clear the form, in cases where the page
2282            is being restored from the page cache
2283        2 - Not saving such form elements when doing the normal "save state" to a history item,
2284            for cases with no page cache
2285
2286        * html/HTMLFormElement.cpp:
2287        (WebCore::HTMLFormElement::~HTMLFormElement):
2288        (WebCore::HTMLFormElement::parseMappedAttribute):
2289        (WebCore::HTMLFormElement::didRestoreFromCache):
2290        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
2291        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
2292        * html/HTMLFormElement.h:
2293
2294        * html/HTMLInputElement.cpp:
2295        (WebCore::HTMLInputElement::~HTMLInputElement):
2296        (WebCore::HTMLInputElement::setInputType):
2297        (WebCore::HTMLInputElement::saveState):
2298        (WebCore::HTMLInputElement::parseMappedAttribute):
2299        (WebCore::HTMLInputElement::needsCacheCallback):
2300        (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
2301          indicate we should.
2302        (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
2303          and attribute are clear of needing registration.
2304        (WebCore::HTMLInputElement::didRestoreFromCache):
2305        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2306        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2307        * html/HTMLInputElement.h:
2308
23092008-07-28  David Hyatt  <hyatt@apple.com>
2310
2311        Add support for CSS variable declaration blocks.
2312
2313        Reviewed by Sam
2314
2315        Added tests in fast/css/variables.
2316
2317        * css/CSSGrammar.y:
2318        * css/CSSMutableStyleDeclaration.h:
2319        (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
2320        * css/CSSParser.cpp:
2321        (WebCore::CSSParser::addVariableDeclarationBlock):
2322        * css/CSSParser.h:
2323        * css/CSSProperty.cpp:
2324        (WebCore::CSSProperty::cssText):
2325        * css/CSSPropertyNames.in:
2326        * css/CSSStyleSelector.cpp:
2327        (WebCore::CSSStyleSelector::addMatchedDeclaration):
2328        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
2329        * css/CSSStyleSelector.h:
2330        * css/CSSValueList.h:
2331        (WebCore::CSSValueList::isValueList):
2332        * css/CSSVariablesDeclaration.cpp:
2333        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2334        (WebCore::CSSVariablesDeclaration::getVariableValue):
2335        (WebCore::CSSVariablesDeclaration::removeVariable):
2336        (WebCore::CSSVariablesDeclaration::addParsedVariable):
2337        (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
2338        (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
2339        * css/CSSVariablesDeclaration.h:
2340        (WebCore::CSSVariablesDeclaration::create):
2341        * css/StyleBase.cpp:
2342        (WebCore::StyleBase::cssText):
2343        * css/StyleBase.h:
2344        (WebCore::StyleBase::isValueList):
2345        (WebCore::StyleBase::isMutableStyleDeclaration):
2346
23472008-07-28  Anders Carlsson  <andersca@apple.com>
2348
2349        Reviewed by Sam.
2350
2351        <rdar://problem/6098335>
2352        https://bugs.webkit.org/show_bug.cgi?id=20150
2353        
2354        Handle willSendRequest correctly.
2355
2356        * loader/SubresourceLoader.cpp:
2357        (WebCore::SubresourceLoader::willSendRequest):
2358        Make sure to keep the previous URL around so we know when to call willSendRequest.
2359        
2360        * xml/XMLHttpRequest.cpp:
2361        (WebCore::XMLHttpRequest::processSyncLoadResults):
2362        Abort if we don't have access to the response URL.
2363        
2364        (WebCore::XMLHttpRequest::willSendRequest):
2365        Dispatch a network error if we can't access the new URL.
2366
23672008-07-28  Geoffrey Garen  <ggaren@apple.com>
2368
2369        Reviewed by Sam Weinig.
2370
2371        Renamed "ConstructTypeNative" => "ConstructTypeHost".
2372        
23732008-07-28  Anders Carlsson  <andersca@apple.com>
2374
2375        Reviewed by Kevin Decker.
2376
2377        Based on a patch by Dimcho Balev.
2378
2379        https://bugs.webkit.org/show_bug.cgi?id=18676
2380        <rdar://problem/6106578>
2381        Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
2382        
2383        * bridge/npapi.h:
2384        Add new enum values.
2385        
2386        * loader/NetscapePlugInStreamLoader.cpp:
2387        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
2388        When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
2389        if an error occurs.
2390        
2391        * loader/NetscapePlugInStreamLoader.h:
2392        (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
2393        Add new client method.
2394
23952008-07-27  Sam Weinig  <sam@webkit.org>
2396
2397        Reviewed by Oliver Hunt.
2398
2399        Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
2400        querySelectorAll id optimization no longer working
2401
2402        Turn the querySelector/querySelectorAll id optimization back on
2403        for only strict and almost strict mode.  In quirks mode, the optimiztion
2404        won't work as the id match is not case sensitive.
2405
2406        Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
2407               fast/dom/SelectorAPI/caseID-strict.html
2408               fast/dom/SelectorAPI/caseID.html
2409
2410        * dom/Node.cpp:
2411        (WebCore::Node::querySelector):
2412        (WebCore::Node::querySelectorAll):
2413        * dom/SelectorNodeList.cpp:
2414        (WebCore::createSelectorNodeList):
2415        * dom/SelectorNodeList.h:
2416
24172008-07-27  Anatoli Papirovski  <apapirovski@mac.com>
2418
2419        Reviewed by Dave Hyatt.
2420
2421        Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
2422        Modified the css parser:
2423        - not to fail when closing braces are not found for 
2424          a declaration at the end of the file
2425        - not to accept "!important fail" as valid
2426        - to keep accepting @import when it comes after invalid @ rules
2427        - not to drop the whole @media block when there's an error before the 
2428          closing brace
2429        + some other minor css parsing revisions.
2430
2431        CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
2432
2433        * css/CSSGrammar.y:
2434
24352008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2436
2437        Reviewed by Eric Seidel.
2438
2439        Use --outputDir instead of --output when invoking make_names.pl
2440        There's no option named "output" in make_names.pl
2441
2442        * GNUmakefile.am:
2443        * WebCore.pro:
2444        * DerivedSources.make: Remove --output. Not necessary here.
2445        * bindings/scripts/generate-bindings.pl: Rename --outputdir to
2446          --outputDir for consistency with make_names.pl
2447
24482008-07-26  Dirk Schulze  <vbs85@gmx.de>
2449
2450        Reviewed by Eric Seidel.
2451
2452        http://bugs.webkit.org/show_bug.cgi?id=18694
2453        [CAIRO] Problem with rotation in a given matrix in SVG
2454
2455        Changed values given to AffineTransform.
2456
2457        * platform/graphics/cairo/AffineTransformCairo.cpp:
2458        (WebCore::AffineTransform::AffineTransform):
2459        (WebCore::AffineTransform::setMatrix):
2460
24612008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
2462
2463        Reviewed by Mark Rowe.
2464
2465        Call curl_global_cleanup() to release resources acquired by curl_global_init()
2466
2467        * platform/network/curl/ResourceHandleManager.cpp:
2468        (WebCore::ResourceHandleManager::~ResourceHandleManager):
2469
24702008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
2471
2472        Reviewed by Simon Hausmann.
2473
2474        Bug 18938: [GTK] Plugins not resized
2475        https://bugs.webkit.org/show_bug.cgi?id=18938
2476
2477        * plugins/PluginView.cpp:
2478        (WebCore::PluginView::setFrameGeometry): When viewing a full-page
2479        plugin in unix, geometry changes have to be passed to the plugin.
2480
24812008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2482
2483        Reviewed by Adam Roben.
2484
2485        Add console.time/timeEnd.
2486        https://bugs.webkit.org/show_bug.cgi?id=19159
2487
2488        * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
2489        * page/Console.cpp:
2490        (WebCore::Console::time): Added.
2491        (WebCore::Console::timeEnd): Added.
2492        * page/Console.h:
2493        * page/Console.idl: Added console.time/timeEnd.
2494        * page/InspectorController.cpp:
2495        (WebCore::InspectorController::startTiming): Added.
2496        (WebCore::InspectorController::stopTiming): Added.
2497        * page/InspectorController.h:
2498
24992008-07-26  Dirk Schulze  <vbs85@gmx.de>
2500
2501        Reviewed by Nikolas Zimmermann.
2502
2503        Fixes rendering issues with gradients in SVG/Cairo.
2504
2505        * platform/graphics/cairo/PathCairo.cpp:
2506        (WebCore::Path::boundingRect):
2507        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
2508        (WebCore::applyStrokeStyleToContext):
2509        (WebCore::SVGPaintServerGradient::setup):
2510
25112008-07-26  Dirk Schulze  <vbs85@gmx.de>
2512
2513        Reviewed by Nikolas Zimmermann.
2514
2515        Added pattern-support for SVG in Cairo.
2516
2517        * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
2518        (WebCore::applyStrokeStyleToContext):
2519        (WebCore::SVGPaintServerPattern::setup):
2520
25212008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2522
2523        Reviewed by Adam Roben.
2524
2525        Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
2526        <https://bugs.webkit.org/show_bug.cgi?id=18540>
2527
2528        * page/inspector/Console.js:
2529        (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
2530
25312008-07-26  Anthony Ricaud  <rik24d@gmail.com>
2532
2533        Reviewed by Tim Hatcher.
2534
2535        <https://bugs.webkit.org/show_bug.cgi?id=20055> Line highlighting should last longer
2536
2537        Restore the fade out effect after highlighting.
2538
2539        * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
2540
25412008-07-26  Michelangelo De Simone  <michelangelo@me.com>
2542
2543        Reviewed by Adele Petersen.
2544
2545        Added the simple willValidate attribute to form controls according to
2546        WebForms 2 spec.
2547
2548        URL: http://www.w3.org/TR/web-forms-2/#willvalidate
2549
2550        Tests: fast/forms/willvalidate-000.html
2551               fast/forms/willvalidate-001.html
2552               fast/forms/willvalidate-002.html
2553               fast/forms/willvalidate-003.html
2554               fast/forms/willvalidate-004.html
2555               fast/forms/willvalidate-005.html
2556               fast/forms/willvalidate-006.html
2557               fast/forms/willvalidate-007.html
2558               fast/forms/willvalidate-008.html
2559               fast/forms/willvalidate-009.html
2560
2561        * html/HTMLButtonElement.h: Added willValidate(), always false.
2562        * html/HTMLButtonElement.idl: willValidate attribute exposed.
2563        * html/HTMLFieldSetElement.h: Added willValidate(), always false.
2564        * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
2565        * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
2566        Added base willValidate() implementation.
2567        * html/HTMLFormControlElement.h: Added willValidate().
2568        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
2569        Added willValidate(), checks for input type.
2570        * html/HTMLInputElement.h: Added willValidate()
2571        * html/HTMLInputElement.idl: willValidate attribute exposed.
2572        * html/HTMLSelectElement.idl: willValidate attribute exposed.
2573        * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
2574
25752008-07-26  Mark Rowe  <mrowe@apple.com>
2576
2577        Build fix.
2578
2579        * loader/FrameLoader.cpp:
2580        (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
2581
25822008-07-26  Mark Rowe  <mrowe@apple.com>
2583
2584        Build fix.
2585
2586        * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
2587
25882008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
2589
2590        Reviewed by Geoff Garen.
2591
2592        Revised the FrameLoader class to clean up a variety of load methods, and hopefully
2593        move things closer to integrating into a smaller set of load methods. To this
2594        end, I renamed many of the overloaded load() methods to have more meaningful and 
2595        easier to search names.  I added comments to the header file to provide clues as 
2596        to how many of the load methods are being used, and how they fit into the loading 
2597        process. I suspect that the renamed methods and comments indicating their present 
2598        usage will facilitate easier cleanup by myself and others as inspiration strikes.
2599
2600        Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
2601
2602        Combined the 3 canLoad() methods into a single canLoad which expresses the 
2603        intended logic of the 3 with a single method interface.
2604
2605        Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
2606        one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
2607
2608        Removed unused userGesture parameter to one variant of the urlSelected method, and 
2609        moved one of the urlSelected methods so that it lives nearer to its overloaded 
2610        sibling.
2611
2612        * WebCore.base.exp:
2613        * loader/Cache.cpp:
2614        (WebCore::Cache::requestResource):
2615        * loader/CachedResource.cpp:
2616        (WebCore::CachedResource::CachedResource):
2617        * loader/CachedResource.h:
2618        (WebCore::CachedResource::errorOccurred):
2619        * loader/FrameLoader.cpp:
2620        (WebCore::FrameLoader::createWindow):
2621        (WebCore::FrameLoader::urlSelected):
2622        (WebCore::FrameLoader::loadURLIntoChildFrame):
2623        (WebCore::FrameLoader::loadPlugin):
2624        (WebCore::FrameLoader::loadFrameRequestWithFormState):
2625        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2626        (WebCore::FrameLoader::loadURL):
2627        (WebCore::FrameLoader::loadWithNavigationAction):
2628        (WebCore::FrameLoader::load):
2629        (WebCore::FrameLoader::loadWithDocumentLoader):
2630        (WebCore::FrameLoader::canLoad):
2631        (WebCore::FrameLoader::reloadAllowingStaleData):
2632        (WebCore::FrameLoader::reload):
2633        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2634        (WebCore::FrameLoader::submitForm):
2635        (WebCore::FrameLoader::loadPostRequest):
2636        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2637        (WebCore::FrameLoader::loadItem):
2638        * loader/FrameLoader.h:
2639        * loader/SubresourceLoader.cpp:
2640        (WebCore::SubresourceLoader::create):
2641        * page/ContextMenuController.cpp:
2642        (WebCore::ContextMenuController::contextMenuItemSelected):
2643
26442008-07-26  Sam Weinig  <sam@webkit.org>
2645
2646        Reviewed by Dan Bernstein.
2647
2648        Fix https://bugs.webkit.org/show_bug.cgi?id=20122
2649        <rdar://problem/6089522>
2650        REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
2651
2652        Use strict parsing when in AlmostStrict mode.
2653
2654        Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
2655               fast/dom/SelectorAPI/id-fastpath-almost-strict.html
2656               fast/dom/SelectorAPI/id-fastpath-strict.html
2657
2658        * dom/Node.cpp:
2659        (WebCore::Node::querySelector):
2660        (WebCore::Node::querySelectorAll):
2661
26622008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2663
2664        Reviewed by Simon.
2665
2666        Switch off QPainter's anti aliasing when painting the widgets using QStyle
2667        because otherwise the widgets will look blurry and not crisp.
2668
2669        * platform/qt/RenderThemeQt.cpp:
2670        (WebCore::StylePainter::StylePainter):
2671        (WebCore::StylePainter::~StylePainter):
2672        * platform/qt/RenderThemeQt.h:
2673
26742008-07-25  Dan Bernstein  <mitz@apple.com>
2675
2676        Reviewed by Anders Carlsson.
2677
2678        - fix crash due to re-entering purgeInactiveFontData() now that it is
2679          called by releaseFontData()
2680
2681        Not testable in DumpRenderTree
2682
2683        * platform/graphics/FontCache.cpp:
2684        (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
2685
26862008-07-25  Brady Eidson  <beidson@apple.com>
2687
2688        Reviewed by Sam
2689
2690        Test: security/set-form-autocomplete-attribute.html
2691
2692        Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
2693
2694        The autocomplete attribute works on both <form> and <input> elements, but was not
2695        inherited properly when someone asked an <input> if it should autocomplete.
2696
2697        I fixed this up based on the rules in the current WF2 spec so if the <input> element
2698        has its own autocomplete attribute set, it will follow that but otherwise it will
2699        inherit from its parent <form>
2700
2701        * WebCore.base.exp:
2702
2703        * html/HTMLInputElement.cpp:
2704        (WebCore::HTMLInputElement::init):
2705        (WebCore::HTMLInputElement::autoComplete):
2706        (WebCore::HTMLInputElement::parseMappedAttribute):
2707        * html/HTMLInputElement.h:
2708        (WebCore::HTMLInputElement::):
2709
27102008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
2711
2712        Reviewed by Holger Freyther.
2713
2714        https://bugs.webkit.org/show_bug.cgi?id=20078
2715        [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
2716
2717        * plugins/gtk/gtk2xtbin.h:
2718
27192008-07-25  Anders Carlsson  <andersca@apple.com>
2720
2721        Reviewed by Sam.
2722
2723        Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
2724
2725        * platform/network/mac/WebCoreURLResponse.mm:
2726        (-[NSURLResponse _webcore_MIMEType]):
2727
27282008-07-25  chris fleizach  <cfleizach@apple.com>
2729
2730        Reviewed by Beth Dakin
2731
2732        <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
2733
2734        Tests: accessibility/textarea-insertion-point-line-number.html
2735               accessibility/textarea-line-for-index.html
2736
2737        * page/AccessibilityObject.cpp:
2738        (WebCore::AccessibilityObject::lineForPosition):
2739        * page/AccessibilityObject.h:
2740        * page/mac/AccessibilityObjectWrapper.mm:
2741        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2742        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2743
27442008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
2745
2746        Reviewed by mitz.
2747
2748        - fix https://bugs.webkit.org/show_bug.cgi?id=17906
2749        <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
2750        
2751        Test: fast/block/float/editable-text-overlapping-float.html
2752
2753        * rendering/RenderBlock.h:
2754        * rendering/bidi.cpp:
2755        (WebCore::RenderBlock::skipTrailingWhitespace):
2756        - renamed to reflect usage and removed call to position floats; 
2757          they only get added
2758        (WebCore::RenderBlock::skipLeadingWhitespace):
2759        - renamed to reflect usage
2760        (WebCore::RenderBlock::findNextLineBreak):
2761        - use skipTrailingWhitespace at end of line (as before but with new
2762          name)
2763
27642008-07-25  Dan Bernstein  <mitz@apple.com>
2765
2766        Reviewed by Sam Weinig.
2767
2768        - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
2769          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
2770
2771        * platform/graphics/FontCache.cpp:
2772        (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
2773        instances hold references to the platform resources and release them in the destructor.
2774        (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
2775        number of inactive FontData instances to leave in the cache when automatically purging.
2776        (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
2777        inactive FontData instances and if so calls purgeInactiveFontData() from here...
2778        (WebCore::FontCache::releaseFontData): ... to here.
2779        (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
2780        cache. All FontPlatformData instances that do not have entries in the font data cache are
2781        removed, thus releasing the platform resources (such as HFONTs and NSFonts).
2782
27832008-07-24  David Hyatt  <hyatt@apple.com>
2784
2785        Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
2786        both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
2787
2788        Reviewed by Dan
2789
2790        Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
2791
2792        * css/CSSGrammar.y:
2793        * css/CSSParser.cpp:
2794        (WebCore::CSSParser::createVariablesRule):
2795        (WebCore::CSSParser::checkForVariables):
2796        * css/CSSParser.h:
2797        * css/CSSParserValues.cpp:
2798        (WebCore::CSSParserValue::isVariable):
2799        (WebCore::CSSParserValueList::addValue):
2800        (WebCore::CSSParserValueList::deleteValueAt):
2801        (WebCore::CSSParserValue::createCSSValue):
2802        * css/CSSParserValues.h:
2803        * css/CSSPrimitiveValue.cpp:
2804        (WebCore::CSSPrimitiveValue::cleanup):
2805        (WebCore::CSSPrimitiveValue::getStringValue):
2806        (WebCore::CSSPrimitiveValue::cssText):
2807        (WebCore::CSSPrimitiveValue::parserValue):
2808        * css/CSSPrimitiveValue.h:
2809        (WebCore::CSSPrimitiveValue::):
2810        (WebCore::CSSPrimitiveValue::isVariable):
2811        * css/CSSStyleSelector.cpp:
2812        (WebCore::CSSStyleSelector::addMatchedDeclaration):
2813        * css/CSSVariablesRule.cpp:
2814        (WebCore::CSSVariablesRule::CSSVariablesRule):
2815        (WebCore::CSSVariablesRule::cssText):
2816        * css/CSSVariablesRule.h:
2817        (WebCore::CSSVariablesRule::create):
2818        * css/maketokenizer:
2819        * css/tokenizer.flex:
2820
28212008-07-25  Maxime Britto  <britto@apple.com>
2822
2823        Reviewed by Anders Carlsson.
2824
2825        <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
2826
2827        * page/EventHandler.cpp:
2828        (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
2829
28302008-07-25  Adele Peterson  <adele@apple.com>
2831
2832        Another build fix.
2833
2834        * platform/win/PlatformScrollBarSafari.cpp:
2835        (WebCore::PlatformScrollbar::paint):
2836
28372008-07-25  Adele Peterson  <adele@apple.com>
2838
2839        More build fixes.
2840
2841        * platform/win/PlatformScrollBarSafari.cpp:
2842        (WebCore::PlatformScrollbar::paint):
2843
28442008-07-25  Adele Peterson  <adele@apple.com>
2845
2846        Build fix.
2847
2848        * platform/win/PlatformScrollBarSafari.cpp:
2849
28502008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2851
2852        Reviewed by Simon
2853
2854        Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
2855
2856        * platform/PlatformKeyboardEvent.h: add accessor and member.
2857        * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
2858        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2859
28602008-07-25  Simon Hausmann  <hausmann@webkit.org>
2861
2862        Fix linking of QtWebKit against the statically built JavaScriptCore
2863        library, under Windows/Mac we may need _d/_debug suffixes.
2864
2865        * WebCore.pro:
2866
28672008-07-25  Simon Hausmann  <hausmann@webkit.org>
2868
2869        Rubber-stamped by Lars.
2870
2871        Fix the Qt build by adapting to the latest ArgList API changes and
2872        replacing the inclusion of npapi.h in MainThreadScheduler with a forward
2873        declaration of NPP to avoid an include conflict. npapi.h on X11 includes
2874        X headers, which include wonderful defines such as "#define Status" that
2875        cause conflicts.
2876
2877        * bridge/qt/qt_runtime.cpp:
2878        (KJS::Bindings::findMethodIndex):
2879        (KJS::Bindings::QtRuntimeConnectionMethod::call):
2880        * plugins/PluginMainThreadScheduler.h:
2881
28822008-07-25  Simon Hausmann  <hausmann@webkit.org>
2883
2884        Discussed with and rubber-stamped by Lars.
2885
2886        Fix the build system for the Qt port.
2887
2888        Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
2889        include search path. With a build process that combines JavaScriptCore and
2890        WebCore in one build process/Makefile the existance of
2891        JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
2892
2893        This commit solves this by introducing a separate build of JavaScriptCore into
2894        a static library.
2895
2896        As a result of the split-up a race-condition due to broken dependencies of
2897        regular source files to header files of generated sources showed up very
2898        frequently when doing parallel builds (which the buildbot does). This commit at
2899        the same time tries to address the dependency problem by making the
2900        addExtraCompiler() function also generate a pseudo extra compiler that
2901        represents the header file output, so that qmake is aware of the creation of
2902        the header file for dependency calculation.
2903
2904        At the same time I removed a lot of cruft from the pro files to ease maintenance.
2905
2906        * WebCore.pro:
2907
29082008-07-24  kevino  <kevino@theolliviers.com>
2909
2910        wx build fix on Win for plugins coode.
2911
2912        * plugins/PluginDatabase.cpp:
2913        * plugins/PluginView.cpp:
2914        (WebCore::PluginView::PluginView):
2915        * plugins/PluginView.h:
2916
29172008-07-24  Sam Weinig  <sam@webkit.org>
2918
2919        Reviewed by Anders Carlsson.
2920
2921        Make isElementNode() non-virtual for a speedup on many benchmarks
2922        including 20% on http://ejohn.org/apps/fragment/.
2923
2924        - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
2925          Element and Attr where space was available.  Use the new free bit
2926          to represent if an node is an element or not.
2927
2928        * dom/Attr.cpp:
2929        (WebCore::Attr::Attr):
2930        * dom/Attr.h:
2931        (WebCore::Attr::specified):
2932        (WebCore::Attr::setSpecified):
2933        * dom/ContainerNode.cpp:
2934        (WebCore::ContainerNode::ContainerNode):
2935        * dom/ContainerNode.h:
2936        * dom/Element.cpp:
2937        (WebCore::Element::Element):
2938        * dom/Element.h:
2939        (WebCore::Element::hasRareData):
2940        (WebCore::Element::setHasRareData):
2941        * dom/EventTargetNode.cpp:
2942        (WebCore::EventTargetNode::EventTargetNode):
2943        * dom/EventTargetNode.h:
2944        * dom/Node.cpp:
2945        (WebCore::Node::Node):
2946        * dom/Node.h:
2947        (WebCore::Node::isElementNode):
2948
29492008-07-24  Dan Bernstein  <mitz@apple.com>
2950
2951        Reviewed by Dave Hyatt.
2952
2953        - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
2954
2955        Not testable in DumpRenderTree
2956
2957        * rendering/RenderView.cpp:
2958        (WebCore::RenderView::layout): Ensured that all children with percentage
2959        heights get laid out again if the height changes.
2960
29612008-07-24  kevino  <kevino@theolliviers.com>
2962
2963        Windows build fix for wx. wx doesn't implement pan scrolling yet. 
2964
2965        * page/EventHandler.cpp:
2966        (WebCore::EventHandler::handleAutoscroll):
2967        (WebCore::EventHandler::autoscrollTimerFired):
2968        (WebCore::EventHandler::stopAutoscrollTimer):
2969        (WebCore::EventHandler::handleMousePressEvent):
2970
29712008-07-24  David Hyatt  <hyatt@apple.com>
2972
2973        Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
2974        intrinsicSizeChanged when we are first setting our style.
2975
2976        Reviewed by olliej
2977
2978        * ChangeLog:
2979        * rendering/RenderReplaced.cpp:
2980        (WebCore::RenderReplaced::setStyle):
2981
29822008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
2983
2984        Reviewed by Eric.
2985
2986        Bug 20053: .in files should use a custom format instead of XML
2987
2988        - Remove our XML parser perl module (XML::Tiny)
2989
2990        - Add a custom perl parser
2991
2992        - Move XML files to the new format
2993
2994        * bindings/scripts/InFilesParser.pm: Added.
2995        * bindings/scripts/XMLTiny.pm: Removed.
2996        * dom/make_names.pl: Switched to our new
2997        parser.
2998
2999        * html/HTMLAttributeNames.in: Switched to
3000        our custom format.
3001        * html/HTMLTagNames.in: Ditto.
3002        * svg/svgattrs.in: Ditto.
3003        * svg/svgtags.in: Ditto.
3004        * svg/xlinkattrs.in: Ditto.
3005        * xml/xmlattrs.in: Ditto.
3006
30072008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
3008
3009        Reviewed by Eric.
3010
3011        Bug 19588: CRASH doing open() on destroyed window
3012        https://bugs.webkit.org/show_bug.cgi?id=19588
3013
3014        Add frame's page null check as it could have been
3015        detached from the page.
3016
3017        Test: fast/frames/crash-removed-iframe.html
3018
3019        * bindings/js/JSDOMWindowBase.cpp:
3020        (WebCore::windowProtoFuncOpen):
3021        * page/FrameTree.cpp:
3022        (WebCore::FrameTree::find):
3023
30242008-07-23  Dan Bernstein  <mitz@apple.com>
3025
3026        Reviewed by Alexey Proskuryakov.
3027
3028        - fix a leak when using hex color values in CSS variables
3029
3030        - fix CSSOM access to hex color values in variables declarations
3031
3032        Test: fast/css/variables/color-hex-test.html
3033
3034        Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
3035        CSSParserValues coming from colors in hex notation. CSSParserValues can
3036        no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
3037        used as the type for CSSValues in CSS variables declarations where the
3038        parser value was a hex color. However the type of all other color
3039        CSSValues remains CSS_RGBCOLOR.
3040
3041        * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
3042        for color values in hex notation.
3043        * css/CSSParser.cpp:
3044        (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
3045        * css/CSSParserValues.cpp:
3046        (WebCore::CSSParserValue::createCSSValue): Ditto.
3047        * css/CSSPrimitiveValue.cpp:
3048        (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
3049        string containing the color.
3050        (WebCore::CSSPrimitiveValue::cssText): Added support for
3051        CSS_PARSER_HEXCOLOR for when serializing variable values.
3052        (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
3053        * css/CSSPrimitiveValue.h:
3054        (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
3055
30562008-07-23  Beth Dakin  <bdakin@apple.com>
3057
3058        Reviewed by Dan Bernstein.
3059
3060        Fix for <rdar://problem/5997215> display: table-row-group 
3061        for :before content causes a crash
3062 
3063        The actual bug fix here is to ddd the generated content container 
3064        as a child before adding any of the generated content to the 
3065        container. There are two correctness fixes as well that deal with 
3066        style changes and correctly.
3067
3068        This patch also makes Node::diff() a static function.
3069
3070        * dom/Node.cpp:
3071        (WebCore::Node::diff):
3072        * dom/Node.h:
3073        (WebCore::Node::):
3074        (WebCore::Node::recalcStyle):
3075        * rendering/RenderContainer.cpp:
3076        (WebCore::findBeforeAfterParent):
3077        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3078        * svg/SVGUseElement.cpp:
3079        (WebCore::SVGUseElement::recalcStyle):
3080
30812008-07-23  Timothy Hatcher  <timothy@apple.com>
3082
3083        Updates the elements DOM tree when nodes are added or removed from
3084        the inspected document.
3085
3086        https://bugs.webkit.org/show_bug.cgi?id=6590
3087        <rdar://problem/5712921>
3088
3089        Reviewed by Adam Roben.
3090
3091        * loader/FrameLoader.cpp:
3092        (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
3093        InspectorController::inspectedWindowScriptObjectCleared.
3094        * page/InspectorController.cpp:
3095        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
3096        Calls the WebInspector.inspectedWindowCleared script function.
3097        * page/InspectorController.h:
3098        * page/inspector/ElementsPanel.js:
3099        (WebInspector.ElementsPanel): Create the event listener callback wrappers.
3100        (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
3101        there are any recently modified nodes.
3102        (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
3103        Adds a check for InspectorController.isWindowVisible to prevent adding
3104        event listeners when the window isn't visible.
3105        (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
3106        (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
3107        DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
3108        (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
3109        added in _addMutationEventListeners.
3110        (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
3111        again to reinstate the listners if the document changed or window cleared them.
3112        (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
3113        _mutationMonitoredWindows and call _addMutationEventListeners.
3114        (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
3115        _mutationMonitoredWindows and call _removeMutationEventListeners.
3116        (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
3117        _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
3118        clear _mutationMonitoredWindows.
3119        (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
3120        to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
3121        (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
3122        (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
3123        (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
3124        _updateModifiedNodes on a zero timeout.
3125        (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
3126        the recentlyModifiedNodes array and call updateChildren on all the parent
3127        elements that had changes. Only calls updateChildren once per parent element.
3128        (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
3129        false if the nodes are the same. Return true if the nodes are the same while
3130        looking at ancestor frame elements. THis use to return false, which was incorrect.
3131        (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
3132        (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
3133        onpopulate and changed to rebuild the children elements by adding new children,
3134        moving existing children and removed old children.
3135        (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
3136        call registerMutationEventListeners to track any mutations.
3137        * page/inspector/inspector.js:
3138        (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
3139        * page/inspector/treeoutline.js:
3140        (TreeElement.prototype.get hasChildren): Return _hasChildren.
3141        (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
3142        (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
3143        (TreeElement.prototype.expand): Fix an exception that can happen if expand is
3144        called before _attach.
3145        * WebCore/manual-tests/inspector/dom-mutation.html: Added.
3146        * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
3147        * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
3148
31492008-07-22  Timothy Hatcher  <timothy@apple.com>
3150
3151        Fix an exception that occurred when double clicking the closing tag
3152        of an element in the DOM tree.
3153
3154        Reviewed by Anders Carlsson.
3155
3156        * page/inspector/ElementsPanel.js:
3157        (WebInspector.ElementsPanel.prototype._ondblclick): Null check
3158        element.ondblclick.
3159
31602008-07-22  Timothy Hatcher  <timothy@apple.com>
3161
3162        Fix a regression where elements in subframes would not be revealed
3163        or selected when inspected from the context menu. This was caused by
3164        JavaScript equality is not being true for JSInspectedObjectWrappers
3165        of the same node wrapped with different global ExecStates. This change
3166        adds a helper function that uses isSameNode to compare wrapped nodes.
3167
3168        https://bugs.webkit.org/show_bug.cgi?id=19377
3169
3170        Reviewed by Adam Roben.
3171
3172        * page/inspector/ElementsPanel.js:
3173        (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
3174        to compare nodes.
3175        (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
3176        (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
3177        (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
3178        (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
3179        (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
3180        (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
3181        * page/inspector/treeoutline.js:
3182        (TreeOutline.prototype.findTreeElement): Add an equal argument
3183        to accept a functions to compare two representedObjects. Defaults
3184        to strict equal if not supplied. All current clients pass objectsAreSame.
3185        * page/inspector/utilities.js:
3186        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
3187        to compare nodes.
3188        (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
3189        (Element.prototype.query): Use the ownerDocument of the node, not document.
3190        (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
3191        it exists on both objects.
3192        (isAncestorNode): Use objectsAreSame to compare nodes.
3193        (firstCommonNodeAncestor): Ditto.
3194        (traverseNextNode): Ditto.
3195
31962008-07-21  Timothy Hatcher  <timothy@apple.com>
3197
3198        Added InspectorController.isWindowVisible to the JavaScript class
3199        for use in an upcoming change. This will allow the Inspector to not
3200        perform selective actions while the window is hidden.
3201
3202        Reviewed by Adam Roben.
3203
3204        * page/InspectorController.cpp:
3205        (WebCore::isWindowVisible): Call InspectorController::windowVisible.
3206        (WebCore::InspectorController::windowScriptObjectAvailable): Add
3207        the isWindowVisible function to the JavaScript class.
3208
32092008-07-21  Timothy Hatcher  <timothy@apple.com>
3210
3211        Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
3212        for efficiency of callers that know the index of the child. This
3213        will be used in an upcoming change.
3214
3215        Reviewed by Adam Roben.
3216
3217        * page/inspector/treeoutline.js:
3218        (TreeOutline._removeChildAtIndex): Renamed from _removeChild
3219        and modified to take an index.
3220        (TreeOutline._removeChild): Call _removeChildAtIndex with the
3221        child index found using indexOf.
3222        (TreeOutline.prototype.removeChildAtIndex): Added. Calls
3223        TreeOutline._removeChildAtIndex.
3224        (TreeElement.prototype.removeChildAtIndex): Ditto.
3225
32262008-07-21  Timothy Hatcher  <timothy@apple.com>
3227
3228        Fixes a regression where TreeOutline.findTreeElement would
3229        return the parent TreeElement of the representedObject instead
3230        of the TreeElement for the representedObject. Regressed with the
3231        fix for bug 19164.
3232
3233        Reviewed by Adam Roben.
3234
3235        * page/inspector/treeoutline.js:
3236        (TreeOutline.prototype.findTreeElement): When performing a slow search,
3237        do a final search for representedObject instead of returning item, which
3238        is the parent of representedObject.
3239
32402008-07-23  Adele Peterson  <adele@apple.com>
3241
3242        Reviewed by Adam.
3243
3244        WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
3245
3246        * WebCore.base.exp: Added symbols.
3247        * page/Chrome.cpp:
3248        (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
3249        (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
3250        * page/ChromeClient.h:
3251        * page/Settings.cpp:
3252        (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
3253        (WebCore::Settings::setShouldPaintCustomScrollbars):
3254        * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
3255        * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
3256        * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
3257        * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
3258        * platform/win/PlatformScrollBarSafari.cpp:
3259        (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
3260        (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
3261        (WebCore::ScrollbarControlStateFromThemeState): ditto.
3262        (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
3263         Added new code to paint the custom scrollbars if necessary.
3264        * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
3265
32662008-07-23  Sam Weinig  <sam@webkit.org>
3267
3268        Reviewed by Anders Carlsson.
3269
3270        Cleanup and pack the member variables in Node.
3271
3272        * bindings/js/JSNodeCustom.cpp:
3273        (WebCore::JSNode::mark):
3274        * dom/Attr.cpp:
3275        (WebCore::Attr::Attr):
3276        * dom/Attr.h:
3277        (WebCore::Attr::specified):
3278        (WebCore::Attr::setSpecified):
3279        * dom/ContainerNode.cpp:
3280        (WebCore::ContainerNode::setFocus):
3281        * dom/Document.cpp:
3282        (WebCore::Document::adoptNode):
3283        * dom/Element.cpp:
3284        (WebCore::Element::~Element):
3285        (WebCore::Element::rareData):
3286        (WebCore::Element::createRareData):
3287        * dom/Element.h:
3288        (WebCore::Element::hasRareData):
3289        (WebCore::Element::setHasRareData):
3290        * dom/Node.h:
3291        (WebCore::Node::setIsLink):
3292        (WebCore::Node::inSubtreeMark):
3293        (WebCore::Node::setInSubtreeMark):
3294        (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
3295        (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
3296        * html/HTMLAnchorElement.cpp:
3297        (WebCore::HTMLAnchorElement::supportsFocus):
3298        (WebCore::HTMLAnchorElement::isFocusable):
3299        (WebCore::HTMLAnchorElement::defaultEventHandler):
3300        (WebCore::HTMLAnchorElement::parseMappedAttribute):
3301        (WebCore::HTMLAnchorElement::isLiveLink):
3302        * html/HTMLImageElement.cpp:
3303        (WebCore::HTMLImageElement::parseMappedAttribute):
3304        * html/HTMLInputElement.cpp:
3305        (WebCore::HTMLInputElement::setInputType):
3306        * html/HTMLTableElement.cpp:
3307        (WebCore::HTMLTableElement::attach):
3308        * svg/SVGAElement.cpp:
3309        (WebCore::SVGAElement::svgAttributeChanged):
3310        (WebCore::SVGAElement::defaultEventHandler):
3311
33122008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3313
3314        Reviewed by Adele.
3315
3316        Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
3317
3318        Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
3319
3320        * platform/graphics/win/QTMovieWin.cpp:
3321        (QTMovieWinPrivate::QTMovieWinPrivate):
3322        (QTMovieWinPrivate::~QTMovieWinPrivate):
3323        (QTMovieWinPrivate::task):
3324        (QTMovieWinPrivate::createMovieController):
3325        (QTMovieWinPrivate::createGWorld):
3326        (QTMovieWinPrivate::setSize):
3327        (QTMovieWinPrivate::deleteGWorld):
3328        (QTMovieWin::play):
3329        (QTMovieWin::pause):
3330        (QTMovieWin::setRate):
3331        (QTMovieWin::setCurrentTime):
3332        (QTMovieWin::load):
3333
33342008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3335
3336        Reviewed by Adele.
3337
3338        Added a debug mode for viewing frames per second for videos.  This is controlled by two 
3339        independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
3340        Unless either flags is turned on there is no change to the code for video frame drawing.
3341
3342        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3343        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3344        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3345        (WebCore::MediaPlayerPrivate::play):
3346        (WebCore::MediaPlayerPrivate::pause):
3347        (WebCore::MediaPlayerPrivate::didEnd):
3348        (WebCore::MediaPlayerPrivate::repaint):
3349        (WebCore::MediaPlayerPrivate::paint):
3350        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3351        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3352        (WebCore::MediaPlayerPrivate::play):
3353        (WebCore::MediaPlayerPrivate::pause):
3354        (WebCore::MediaPlayerPrivate::didEnd):
3355        (WebCore::MediaPlayerPrivate::paint):
3356        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
3357        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3358
33592008-07-23  Adele Peterson  <adele@apple.com>
3360
3361        Reviewed by Sam.
3362
3363        Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
3364
3365        * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
3366        Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
3367        * platform/graphics/GraphicsContext.h:
3368        (WebCore::): Added InterpolationQuality enum.
3369        (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
3370        The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
3371        (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
3372        * platform/graphics/cg/GraphicsContextCG.cpp:
3373        (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
3374        (WebCore::GraphicsContext::imageInterpolationQuality): Added.
3375        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
3376        Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
3377
33782008-07-23  Sam Weinig  <sam@webkit.org>
3379
3380        Reviewed by Anders Carlsson.
3381
3382        Remove extraneous allocations by using equalIgnoringCase rather than
3383        String::lower.
3384
3385        * dom/StyledElement.cpp:
3386        (WebCore::StyledElement::addCSSColor):
3387        * html/HTMLCollection.cpp:
3388        (WebCore::HTMLCollection::checkForNameMatch):
3389        * html/HTMLFormCollection.cpp:
3390        (WebCore::HTMLFormCollection::getNamedFormItem):
3391        * html/HTMLLinkElement.cpp:
3392        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
3393        * html/HTMLObjectElement.cpp:
3394        (WebCore::HTMLObjectElement::containsJavaApplet):
3395        * html/PreloadScanner.cpp:
3396        (WebCore::PreloadScanner::emitCSSRule):
3397        * loader/FrameLoader.cpp:
3398        (WebCore::FrameLoader::createJavaAppletWidget):
3399        * page/DOMSelection.cpp:
3400        (WebCore::DOMSelection::modify):
3401        * rendering/RenderPartObject.cpp:
3402        (WebCore::RenderPartObject::updateWidget):
3403
34042008-07-23  Maxime Britto  <britto@apple.com>
3405
3406        Reviewed by Adam Roben.
3407
3408        <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
3409        Add a check for the m_page member value before asking for page()->mainFrame()
3410
3411        * page/EventHandler.cpp:
3412        (WebCore::EventHandler::stopAutoscrollTimer):
3413
34142008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3415
3416       Reviewed by Adele.
3417
3418       Fix for <rdar://problem/5710065> QT movies should be inactive when opened
3419
3420       Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
3421       until after movie tracks of unsupported types have been disabled, to make sure they never draw.
3422
3423        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3424        (WebCore::MediaPlayerPrivate::load):
3425        (WebCore::MediaPlayerPrivate::updateStates):
3426        (WebCore::MediaPlayerPrivate::setVisible):
3427
34282008-07-22  Maxime Britto  <britto@apple.com>
3429
3430        Reviewed by John Sullivan.
3431
3432        <rdar://problem/6083116>
3433        When pan-scrolling, Back then Forward causes pan-scrolling to start again
3434
3435        * page/Frame.cpp:
3436        (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
3437        * loader/FrameLoader.cpp:
3438        (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
3439
34402008-07-22  Geoffrey Garen  <ggaren@apple.com>
3441
3442        Reviewed by Oliver Hunt and Sam Weinig.
3443
3444        Next step toward putting doubles in registers: Prepare the Register class
3445        and its clients for registers that don't contain JSValue*s.
3446        
34472008-07-22  Sam Weinig  <sam@webkit.org>
3448
3449        Reviewed by Mark Rowe.
3450
3451        <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
3452        Add additional support for JPEG and GIF for toDataURL encoding canvases.
3453
3454        * platform/MIMETypeRegistry.cpp:
3455        (WebCore::initializeSupportedImageMIMETypesForEncoding):
3456        * platform/graphics/cg/ImageBufferCG.cpp:
3457        (WebCore::utiFromMIMEType):
3458
34592008-07-22  Chris Fleizach  <cfleizach@apple.com>
3460
3461        Reviewed by Dave Hyatt.
3462
3463        <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
3464        Test: accessibility/internal-link-anchors2.html
3465
3466        * page/AccessibilityRenderObject.cpp:
3467        (WebCore::AccessibilityRenderObject::internalLinkElement):
3468
34692008-07-22  Anders Carlsson  <andersca@apple.com>
3470
3471        Reviewed by Adam.
3472
3473        Allocate the empty StringImpl from the heap.
3474        
3475        * platform/text/StringImpl.cpp:
3476        (WebCore::StringImpl::empty):
3477
34782008-07-21  Kevin McCullough  <kmccullough@apple.com>
3479
3480        Reviewed by Tim.
3481
3482        <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
3483        view (19228)
3484        - Implement UI for Heavy (Bottom Up) view.
3485
3486        * English.lproj/localizedStrings.js:
3487        * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
3488        profile from a profile to the Web Inspector's JavaScript.
3489        (WebCore::getHeavyProfileCallback):
3490        (WebCore::getTreeProfileCallback):
3491        (WebCore::ProfileClass):
3492        * page/inspector/ProfileView.js: Implement the dropdown for changing
3493        profile views.
3494        * page/inspector/inspector.css:
3495
34962008-07-22  Alexey Proskuryakov  <ap@webkit.org>
3497
3498        Reviewed by Adam Roben.
3499
3500        <rdar://problem/5955602> WebKit should support charset name x-windows-949
3501
3502        Test: fast/encoding/char-decoding.html
3503
3504        * platform/text/TextCodecICU.cpp:
3505        (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
3506        Firefox compatibility.
3507
35082008-07-22  Gavin Barraclough  <barraclough@apple.com>
3509
3510        Reviewed by Alexey Proskuryakov.
3511
3512        New test to check that arrays fail gracefully (throw an out of memory exception)
3513        when the vector grows to large.
3514
3515        * manual-tests/array-out-of-memory.html: Added.
3516
35172008-07-21  Alexey Proskuryakov  <ap@webkit.org>
3518
3519        Reviewed by Dan Bernstein.
3520
3521        https://bugs.webkit.org/show_bug.cgi?id=20117
3522        setBaseAndExtent fails to reverse the current selection
3523
3524        Test: editing/selection/setBaseAndExtent-revert-selection.html
3525
3526        * editing/Selection.h: (WebCore::operator==): Compare direction, too.
3527
35282008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
3529
3530        Reviewed by Sam Weinig.
3531
3532        Bug 19919: Add selectors' string parsing in CSSParser
3533        https://bugs.webkit.org/show_bug.cgi?id=19919
3534
3535        No functional change.
3536
3537        * css/CSSGrammar.y: Added entry for parsing only a selector.
3538        * css/CSSParser.cpp:
3539        (WebCore::CSSParser::CSSParser):
3540        (WebCore::CSSParser::parseSelector):
3541        * css/CSSParser.h: Added m_floatingSelector to hold the
3542        Selector parsed in parseSelector.
3543
3544        * css/tokenizer.flex: Added "@-webkit-selector" token.
3545        * dom/Node.cpp:
3546        (WebCore::Node::querySelector):
3547        (WebCore::Node::querySelectorAll): Switched to parseSelector
3548        method.
3549
35502008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3551
3552        Reviewed by Adele.
3553
3554        Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
3555
3556        * platform/graphics/win/QTMovieWin.cpp:
3557        (initializeSupportedTypes): Do a Quicktime version minimum version check.
3558        (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
3559
35602008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3561
3562        Reviewed by Adele.
3563
3564        Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
3565
3566        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
3567        so that everything starts back up normally when the page is retrieved from the cache.
3568
35692008-07-21  Sam Weinig  <sam@webkit.org>
3570
3571        Reviewed by Mark Rowe.
3572
3573        Remove unused interface declaration.
3574
3575        * platform/network/mac/ResourceHandleMac.mm:
3576
35772008-07-21  Mark Rowe  <mrowe@apple.com>
3578
3579        Reviewed by Sam Weinig.
3580
3581        <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
3582
3583        * Configurations/Version.xcconfig:
3584        * Info.plist:
3585
35862008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3587
3588        Reviewed by Adele.
3589
3590        Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
3591
3592        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
3593        * platform/graphics/MediaPlayer.h:
3594        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
3595        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
3596
35972008-07-21  Anders Carlsson  <andersca@apple.com>
3598
3599        Reviewed by Jon.
3600
3601        Don't allow requests to be made when the document loader is stopping all loaders.
3602
3603        * plugins/PluginView.cpp:
3604        (WebCore::PluginView::load):
3605
36062008-07-20  Maxime Britto  <britto@apple.com>
3607
3608        Reviewed by John Sullivan.
3609
3610        [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
3611        Accelerate and enhance the smoothness of the pan scrollling.
3612
3613        * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
3614        * rendering/RenderLayer.cpp: 
3615        (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
3616
36172008-07-18  David Hyatt  <hyatt@apple.com>
3618
3619        Change the cached clip rects to not assume they should be infinite when the root layer has been
3620        shifted as the result of a transformation.
3621
3622        Reviewed by Maciej
3623
3624        Added fast/transforms/overflow-with-transform.html
3625
3626        * rendering/RenderLayer.cpp:
3627        (WebCore::RenderLayer::calculateClipRects):
3628
36292008-07-21  Rob Buis  <buis@kde.org>
3630
3631        Reviewed by Mitz.
3632
3633        https://bugs.webkit.org/show_bug.cgi?id=19966
3634        CSS variables crash when using hex notation for colors
3635
3636        Support hex colors as values for the css variables.
3637
3638        Test: fast/css/variables/color-hex-test.html
3639
3640        * css/CSSParserValues.cpp:
3641        (WebCore::CSSParserValue::createCSSValue):
3642        * css/CSSPrimitiveValue.cpp:
3643        (WebCore::CSSPrimitiveValue::parserValue):
3644        * css/CSSVariablesRule.cpp:
3645
36462008-07-21  Simon Hausmann  <hausmann@webkit.org>
3647
3648        Reviewed by Holger.
3649
3650        Fix drawing of windowless plugins on Windows with the Qt port by
3651        avoiding the reset of the translation of the HDC to 0, 0.
3652
3653        * plugins/win/PluginViewWin.cpp:
3654        (WebCore::PluginView::paint):
3655
36562008-07-21  Simon Hausmann  <hausmann@webkit.org>
3657
3658        Reviewed by Holger.
3659
3660        Fix rendering of transparent windowless netscape plugins by passing
3661        the right conversion parameter to QPixmap::fromWinHBITMAP when
3662        converting from HBITMAP to QPixmap.
3663
3664        * platform/graphics/qt/GraphicsContextQt.cpp:
3665        (WebCore::GraphicsContext::releaseWindowsContext):
3666
36672008-07-21  Simon Hausmann  <hausmann@webkit.org>
3668
3669        Reviewed by Holger.
3670
3671        In the implementation of getValue for NPNVnetscapeWindow treat
3672        windowHandleForPlatformWidget on the return value of
3673        containingWindow() to receive the correct HWND for the Qt port.
3674
3675        * plugins/win/PluginViewWin.cpp:
3676        (WebCore::PluginView::getValue):
3677
36782008-07-21  Simon Hausmann  <hausmann@webkit.org>
3679
3680        Reviewed by Holger.
3681
3682        Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
3683        a QWidget. This can happen on page/view destruction for example.
3684
3685        * plugins/win/PluginViewWin.cpp:
3686        (windowHandleForPlatformWidget):
3687
36882008-07-20  Steve Falkenburg  <sfalken@apple.com>
3689
3690        Touch file to force rebuild for vsprops change.
3691
3692        * WebCorePrefix.h:
3693
36942008-07-20  Sam Weinig  <sam@webkit.org>
3695
3696        Remove extra space Oliver Hunt left in.
3697
3698        * page/Console.cpp:
3699        (WebCore::Console::reportException):
3700        (WebCore::Console::reportCurrentException):
3701
37022008-07-20  Oliver Hunt  <oliver@apple.com>
3703
3704        Reviewed by Dan Bernstein.
3705
3706        Bug 19757: Crash when an ondragstart handler hides the element
3707        <https://bugs.webkit.org/show_bug.cgi?id=19757>
3708
3709        The solution to this is problem is just to null check the renderer
3710        immediately before launching the system drag, and terminate the
3711        drag if the renderer is gone.
3712
3713        * page/EventHandler.cpp:
3714        (WebCore::EventHandler::handleDrag):
3715
37162008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3717
3718        Reviewed by Oliver.
3719
3720        Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
3721
3722        Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
3723        Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
3724
3725        * svg/SVGPointList.cpp:
3726        (WebCore::SVGPointList::valueAsString):
3727        * svg/SVGPointList.h:
3728        (WebCore::SVGPointList::create):
3729        * svg/SVGPolyElement.cpp:
3730        (WebCore::SVGPolyElement::SVGPolyElement):
3731        (WebCore::SVGPolyElement::svgAttributeChanged):
3732        (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
3733        * svg/SVGPolyElement.h:
3734
37352008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3736
3737        Reviewed by Oliver.
3738
3739        Cleanup JSSVGPODTypeWrapper code.
3740
3741        Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
3742                JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
3743                JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
3744
3745        No functional changes.
3746
3747        * bindings/js/JSSVGMatrixCustom.cpp:
3748        (WebCore::JSSVGMatrix::multiply):
3749        (WebCore::JSSVGMatrix::inverse):
3750        (WebCore::JSSVGMatrix::translate):
3751        (WebCore::JSSVGMatrix::scale):
3752        (WebCore::JSSVGMatrix::scaleNonUniform):
3753        (WebCore::JSSVGMatrix::rotate):
3754        (WebCore::JSSVGMatrix::rotateFromVector):
3755        (WebCore::JSSVGMatrix::flipX):
3756        (WebCore::JSSVGMatrix::flipY):
3757        (WebCore::JSSVGMatrix::skewX):
3758        (WebCore::JSSVGMatrix::skewY):
3759        * bindings/js/JSSVGPODTypeWrapper.h:
3760        (WebCore::JSSVGDynamicPODTypeWrapper::create):
3761        (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
3762        (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
3763        (WebCore::JSSVGStaticPODTypeWrapper::create):
3764        (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
3765        (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
3766        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
3767        (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
3768        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
3769        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
3770        (WebCore::PODTypeWrapperCacheInfo::operator==):
3771        (WebCore::PODTypeWrapperCacheInfoHash::hash):
3772        (WebCore::PODTypeWrapperCacheInfoHash::equal):
3773        (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3774        (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
3775        (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
3776        (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3777        (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
3778        (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
3779        * bindings/js/JSSVGPointListCustom.cpp:
3780        (WebCore::finishGetter):
3781        (WebCore::finishSetter):
3782        (WebCore::finishSetterReadOnlyResult):
3783        (WebCore::JSSVGPointList::initialize):
3784        (WebCore::JSSVGPointList::insertItemBefore):
3785        (WebCore::JSSVGPointList::replaceItem):
3786        (WebCore::JSSVGPointList::appendItem):
3787        * bindings/js/JSSVGTransformListCustom.cpp:
3788        (WebCore::finishGetter):
3789        (WebCore::finishSetter):
3790        (WebCore::finishSetterReadOnlyResult):
3791        (WebCore::JSSVGTransformList::initialize):
3792        (WebCore::JSSVGTransformList::getItem):
3793        (WebCore::JSSVGTransformList::insertItemBefore):
3794        (WebCore::JSSVGTransformList::replaceItem):
3795        (WebCore::JSSVGTransformList::removeItem):
3796        (WebCore::JSSVGTransformList::appendItem):
3797        * bindings/scripts/CodeGeneratorJS.pm:
3798
37992008-07-19  Oliver Hunt  <oliver@apple.com>
3800
3801        Reviewed by Mark Rowe.
3802
3803        Bug 15979: Console logs in a database callback lose line number information
3804        <https://bugs.webkit.org/show_bug.cgi?id=15979>
3805
3806        The problem was that there were multiple versions of the logic to
3807        log an exception to the console, many of which were incorrect.  We
3808        resolve this by making one single shared reportException method,
3809        which handles the exceptions correctly.
3810
3811        This improves fidelity of callback errors, and ensures that
3812        exceptions thrown in timer callbacks correctly report line numbers,
3813        etc.
3814
3815        Test: fast/js/exceptions-thrown-in-callbacks.html
3816
3817        * bindings/js/JSCustomSQLStatementCallback.cpp:
3818        (WebCore::JSCustomSQLStatementCallback::handleEvent):
3819        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3820        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3821        * bindings/js/JSCustomSQLTransactionCallback.cpp:
3822        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3823        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3824        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3825        * bindings/js/JSCustomVoidCallback.cpp:
3826        (WebCore::JSCustomVoidCallback::handleEvent):
3827        * bindings/js/JSCustomXPathNSResolver.cpp:
3828        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3829        * bindings/js/JSEventListener.cpp:
3830        (WebCore::JSAbstractEventListener::handleEvent):
3831        * bindings/js/ScheduledAction.cpp:
3832        (WebCore::ScheduledAction::execute):
3833        * bindings/js/ScriptController.cpp:
3834        (WebCore::ScriptController::evaluate):
3835        * bindings/objc/WebScriptObject.mm:
3836        (WebCore::addExceptionToConsole):
3837        * page/Console.cpp:
3838        (WebCore::Console::reportException):
3839        * page/Console.h:
3840
38412008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3842
3843        Rubber stamped by Oliver.
3844
3845        Another attempt to fix the win build.
3846
3847        * svg/SVGAnimatedProperty.h:
3848
38492008-07-20  Alexey Proskuryakov  <ap@webkit.org>
3850
3851        Reviewed by David Kilzer.
3852
3853        Fix high CPU usage on testmyiphone.com.
3854
3855        - Made the logic for determining when to stop looking for meta charset more strainghtforward.
3856        Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
3857        bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
3858        offending tag was seen at any point before).
3859
3860        - The above change made one of our regression tests fail, because it had its <meta>
3861        declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
3862
3863        - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
3864
3865        - Moved a check for XML content type out of the loop.
3866
3867        * loader/TextResourceDecoder.cpp:
3868        (WebCore::TextResourceDecoder::checkForHeadCharset): 
3869
38702008-07-20  Oliver Hunt  <oliver@apple.com>
3871
3872        Reviewed by NOBODY (build fix).
3873
3874        Attempt to fix windows build
3875
3876        * svg/SVGAnimatedProperty.h:
3877
38782008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
3879
3880        Reviewed by Oliver & parts by Eric.
3881
3882        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
3883
3884        Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
3885        Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
3886
3887        * dom/Element.cpp:
3888        (WebCore::Element::attributes):
3889        (WebCore::Element::getAttribute):
3890        (WebCore::Element::hasAttributes):
3891        * dom/Element.h:
3892        (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
3893        * svg/SVGAElement.cpp:
3894        (WebCore::SVGAElement::SVGAElement):
3895        * svg/SVGAElement.h:
3896        * svg/SVGAltGlyphElement.h:
3897        * svg/SVGAnimatedProperty.h: Added.
3898        * svg/SVGAnimatedTemplate.h:
3899        (WebCore::lookupOrCreateWrapper):
3900        * svg/SVGAnimationElement.h:
3901        * svg/SVGCircleElement.cpp:
3902        (WebCore::SVGCircleElement::SVGCircleElement):
3903        * svg/SVGCircleElement.h:
3904        * svg/SVGClipPathElement.cpp:
3905        (WebCore::SVGClipPathElement::SVGClipPathElement):
3906        * svg/SVGClipPathElement.h:
3907        * svg/SVGComponentTransferFunctionElement.cpp:
3908        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3909        * svg/SVGComponentTransferFunctionElement.h:
3910        * svg/SVGCursorElement.cpp:
3911        (WebCore::SVGCursorElement::SVGCursorElement):
3912        * svg/SVGCursorElement.h:
3913        * svg/SVGDefsElement.h:
3914        (WebCore::SVGDefsElement::contextElement):
3915        * svg/SVGElement.cpp:
3916        (WebCore::SVGElement::updateAnimatedSVGAttribute):
3917        * svg/SVGElement.h:
3918        (WebCore::SVGElement::supplementalTransform):
3919        (WebCore::SVGElement::invokeSVGPropertySynchronizer):
3920        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
3921        (WebCore::SVGElement::addSVGPropertySynchronizer):
3922        * svg/SVGEllipseElement.cpp:
3923        (WebCore::SVGEllipseElement::SVGEllipseElement):
3924        * svg/SVGEllipseElement.h:
3925        * svg/SVGExternalResourcesRequired.cpp:
3926        (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
3927        * svg/SVGExternalResourcesRequired.h:
3928        * svg/SVGFEBlendElement.cpp:
3929        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3930        * svg/SVGFEBlendElement.h:
3931        * svg/SVGFEColorMatrixElement.cpp:
3932        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3933        * svg/SVGFEColorMatrixElement.h:
3934        * svg/SVGFEComponentTransferElement.cpp:
3935        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
3936        * svg/SVGFEComponentTransferElement.h:
3937        * svg/SVGFECompositeElement.cpp:
3938        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3939        * svg/SVGFECompositeElement.h:
3940        * svg/SVGFEDiffuseLightingElement.cpp:
3941        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
3942        * svg/SVGFEDiffuseLightingElement.h:
3943        * svg/SVGFEDisplacementMapElement.cpp:
3944        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
3945        * svg/SVGFEDisplacementMapElement.h:
3946        * svg/SVGFEFloodElement.h:
3947        * svg/SVGFEGaussianBlurElement.cpp:
3948        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
3949        * svg/SVGFEGaussianBlurElement.h:
3950        * svg/SVGFEImageElement.cpp:
3951        (WebCore::SVGFEImageElement::SVGFEImageElement):
3952        * svg/SVGFEImageElement.h:
3953        * svg/SVGFELightElement.cpp:
3954        (WebCore::SVGFELightElement::SVGFELightElement):
3955        * svg/SVGFELightElement.h:
3956        (WebCore::SVGFELightElement::contextElement):
3957        * svg/SVGFEMergeElement.h:
3958        * svg/SVGFEMergeNodeElement.cpp:
3959        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
3960        * svg/SVGFEMergeNodeElement.h:
3961        * svg/SVGFEOffsetElement.cpp:
3962        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
3963        * svg/SVGFEOffsetElement.h:
3964        * svg/SVGFESpecularLightingElement.cpp:
3965        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
3966        * svg/SVGFESpecularLightingElement.h:
3967        * svg/SVGFETileElement.cpp:
3968        (WebCore::SVGFETileElement::SVGFETileElement):
3969        * svg/SVGFETileElement.h:
3970        * svg/SVGFETurbulenceElement.cpp:
3971        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3972        * svg/SVGFETurbulenceElement.h:
3973        * svg/SVGFilterElement.cpp:
3974        (WebCore::SVGFilterElement::SVGFilterElement):
3975        * svg/SVGFilterElement.h:
3976        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3977        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3978        * svg/SVGFilterPrimitiveStandardAttributes.h:
3979        * svg/SVGFitToViewBox.cpp:
3980        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
3981        * svg/SVGFitToViewBox.h:
3982        * svg/SVGFontElement.h:
3983        (WebCore::SVGFontElement::rendererIsNeeded):
3984        (WebCore::SVGFontElement::contextElement):
3985        * svg/SVGForeignObjectElement.cpp:
3986        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3987        * svg/SVGForeignObjectElement.h:
3988        * svg/SVGGElement.h:
3989        * svg/SVGGradientElement.cpp:
3990        (WebCore::SVGGradientElement::SVGGradientElement):
3991        * svg/SVGGradientElement.h:
3992        (WebCore::SVGGradientElement::contextElement):
3993        * svg/SVGImageElement.cpp:
3994        (WebCore::SVGImageElement::SVGImageElement):
3995        * svg/SVGImageElement.h:
3996        * svg/SVGLineElement.cpp:
3997        (WebCore::SVGLineElement::SVGLineElement):
3998        * svg/SVGLineElement.h:
3999        * svg/SVGLinearGradientElement.cpp:
4000        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
4001        * svg/SVGLinearGradientElement.h:
4002        * svg/SVGMarkerElement.cpp:
4003        (WebCore::SVGMarkerElement::SVGMarkerElement):
4004        (WebCore::SVGMarkerElement::canvasResource):
4005        * svg/SVGMarkerElement.h:
4006        * svg/SVGMaskElement.cpp:
4007        (WebCore::SVGMaskElement::SVGMaskElement):
4008        * svg/SVGMaskElement.h:
4009        * svg/SVGPathElement.cpp:
4010        (WebCore::SVGPathElement::SVGPathElement):
4011        (WebCore::SVGPathElement::parseMappedAttribute):
4012        * svg/SVGPathElement.h:
4013        * svg/SVGPatternElement.cpp:
4014        (WebCore::SVGPatternElement::SVGPatternElement):
4015        * svg/SVGPatternElement.h:
4016        (WebCore::SVGPatternElement::contextElement):
4017        * svg/SVGPolyElement.h:
4018        * svg/SVGPreserveAspectRatio.cpp:
4019        * svg/SVGRadialGradientElement.cpp:
4020        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
4021        * svg/SVGRadialGradientElement.h:
4022        * svg/SVGRectElement.cpp:
4023        (WebCore::SVGRectElement::SVGRectElement):
4024        * svg/SVGRectElement.h:
4025        * svg/SVGSVGElement.cpp:
4026        (WebCore::SVGSVGElement::SVGSVGElement):
4027        * svg/SVGSVGElement.h:
4028        * svg/SVGScriptElement.cpp:
4029        * svg/SVGScriptElement.h:
4030        * svg/SVGStopElement.cpp:
4031        (WebCore::SVGStopElement::SVGStopElement):
4032        * svg/SVGStopElement.h:
4033        * svg/SVGStyledElement.cpp:
4034        (WebCore::SVGStyledElement::SVGStyledElement):
4035        * svg/SVGStyledElement.h:
4036        * svg/SVGStyledTransformableElement.cpp:
4037        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
4038        * svg/SVGStyledTransformableElement.h:
4039        * svg/SVGSwitchElement.h:
4040        * svg/SVGSymbolElement.h:
4041        (WebCore::SVGSymbolElement::contextElement):
4042        * svg/SVGTRefElement.h:
4043        * svg/SVGTSpanElement.h:
4044        * svg/SVGTextContentElement.cpp:
4045        (WebCore::SVGTextContentElement::SVGTextContentElement):
4046        * svg/SVGTextContentElement.h:
4047        (WebCore::SVGTextContentElement::contextElement):
4048        * svg/SVGTextElement.cpp:
4049        (WebCore::SVGTextElement::SVGTextElement):
4050        * svg/SVGTextElement.h:
4051        * svg/SVGTextPathElement.cpp:
4052        (WebCore::SVGTextPathElement::SVGTextPathElement):
4053        * svg/SVGTextPathElement.h:
4054        * svg/SVGTextPositioningElement.cpp:
4055        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
4056        * svg/SVGTextPositioningElement.h:
4057        * svg/SVGTransformable.h:
4058        * svg/SVGURIReference.cpp:
4059        (WebCore::SVGURIReference::SVGURIReference):
4060        * svg/SVGURIReference.h:
4061        * svg/SVGUseElement.cpp:
4062        (WebCore::SVGUseElement::SVGUseElement):
4063        * svg/SVGUseElement.h:
4064        * svg/SVGViewElement.h:
4065        * svg/SVGViewSpec.h:
4066
40672008-07-18  Maxime Britto  <britto@apple.com>
4068
4069        Reviewed by Adele.
4070        
4071        Fixed <rdar://problem/6049803>
4072        Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
4073
4074        Test: fast/events/autoscroll-with-non-scrollable-parent.html
4075
4076        * ChangeLog:
4077        * page/EventHandler.cpp: Edited
4078        (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
4079        (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
4080        * rendering/RenderLayer.cpp:
4081        (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
4082        * rendering/RenderListBox.h:
4083        (WebCore::RenderListBox::canBeProgramaticallyScrolled):
4084        * rendering/RenderObject.cpp:
4085        (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
4086        (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
4087        * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
4088        * rendering/RenderTextControl.h:
4089        (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
4090
40912008-07-18  Sam Weinig  <sam@webkit.org>
4092
4093        Reviewed by Anders Carlsson.
4094
4095        <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
4096
4097        - Overload XMLHttpRequests send() method to accept File tokens.
4098
4099        * bindings/js/JSXMLHttpRequestCustom.cpp:
4100        (WebCore::JSXMLHttpRequest::send): 
4101        * xml/XMLHttpRequest.cpp:
4102        (WebCore::XMLHttpRequest::send):
4103        * xml/XMLHttpRequest.h:
4104
41052008-07-18  Geoffrey Garen  <ggaren@apple.com>
4106
4107        Reviewed by Cameron Zwarich.
4108        
4109        Three renames:
4110        
4111        "CallTypeNative" => "CallTypeHost"
4112        "code" => "byteCode"
4113        "generatedCode" => "generatedByteCode"
4114
41152008-07-18  Adele Peterson  <adele@apple.com>
4116
4117        Reviewed by Dan Bernstein.
4118
4119        I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
4120        which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
4121        This change will now check both the media element and the player to decide whether or not to make the controls persistent.
4122
4123        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
4124
41252008-07-18  Simon Fraser  <simon.fraser@apple.com>
4126
4127        Reviewed by mitz
4128
4129        Remove braces around single-line conditional.
4130        
4131        * css/CSSComputedStyleDeclaration.cpp:
4132        (WebCore::computedTransform):
4133
41342008-07-18  Simon Fraser  <simon.fraser@apple.com>
4135
4136        Reviewed by Dave Hyatt
4137
4138        getComputedStyle() for -webkit-transform should return 
4139        'none' for elements with no renderer, or those with no
4140        transform.
4141
4142        https://bugs.webkit.org/show_bug.cgi?id=20008
4143
4144        Testcase: LayoutTests/fast/css/computed-style-without-renderer
4145                  LayoutTests/fast/css/computed-style-expected.txt
4146
4147        * css/CSSComputedStyleDeclaration.cpp:
4148        (WebCore::computedTransform):
4149
41502008-07-18  Simon Fraser  <simon.fraser@apple.com>
4151
4152        Reviewed by Dave Hyatt
4153
4154        Fix assertion about creating Length values with percentage types
4155        when blending transforms.
4156        https://bugs.webkit.org/show_bug.cgi?id=20086
4157
4158        * rendering/style/RenderStyle.cpp:
4159        (WebCore::TranslateTransformOperation::blend):
4160
41612008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
4162
4163        Reviewed by rwlbuis@gmail.com
4164
4165        https://bugs.webkit.org/show_bug.cgi?id=19965
4166
4167        - Added "@"{ident} rule (below other @-rules) to use flex for longest match
4168          (if an earlier rule - e.g. @media - also matches then flex chooses that one
4169           however, if a longer match - e.g. @mediaall matches flex will choose that)
4170        - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
4171          in the error recovery grammar. 
4172
4173        Test: css2.1/atrule_longest_match.html
4174
4175        * ChangeLog:
4176        * css/CSSGrammar.y:
4177        * css/tokenizer.flex:
4178
41792008-07-17  David Hyatt  <hyatt@apple.com>
4180
4181        Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
4182        recursive (and checks for transparency layers all the way up the ancestor document chain back to
4183        the top-level frame).
4184
4185        Reviewed by Dan
4186
4187        * rendering/RenderView.cpp:
4188        (WebCore::RenderView::paintBoxDecorations):
4189
41902008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
4191
4192        REGRESSION: Can't create windowless plug-in with Flash 9
4193        https://bugs.webkit.org/show_bug.cgi?id=20070
4194
4195        Reviewed by Mark Rowe.
4196
4197        * plugins/win/PluginPackageWin.cpp:
4198        (WebCore::PluginPackage::determineQuirks): Reverse argument order;
4199        PlatformModuleVersion constructor takes leastSig, mostSig.
4200
42012008-07-16  Eric Seidel  <eric@webkit.org>
4202
4203        Reviewed by mitz.
4204
4205        Attempt to make initializeATSUStyle human-readable by
4206        splitting it out into better-named static inline functions.
4207
4208        No functional changes, thus no tests.
4209
4210        * platform/graphics/mac/FontMac.mm:
4211        (WebCore::fontHasMirroringInfo):
4212        (WebCore::disableLigatures):
4213        (WebCore::initializeATSUStyle):
4214
42152008-07-16  Eric Seidel  <eric@webkit.org>
4216
4217        No review, build fix only.
4218
4219        Attempt to fix Mac build
4220
4221        * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
4222
42232008-07-16  Eric Seidel  <eric@webkit.org>
4224
4225        Reviewed by mitz.
4226
4227        Make ATSULayoutParameters a real C++ class
4228        (Give it a destructor to clean up after itself)
4229        (Also use OwnArrayPtr instead of manual member cleanup)
4230
4231        * platform/graphics/mac/FontMac.mm:
4232        (WebCore::ATSULayoutParameters::ATSULayoutParameters):
4233        (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
4234        (WebCore::overrideLayoutOperation):
4235        (WebCore::ATSULayoutParameters::initialize):
4236        (WebCore::Font::selectionRectForComplexText):
4237        (WebCore::Font::drawComplexText):
4238        (WebCore::Font::floatWidthForComplexText):
4239        (WebCore::Font::offsetForPositionForComplexText):
4240
42412008-07-16  Eric Seidel  <eric@webkit.org>
4242
4243        Reviewed by mitz.
4244
4245        Make ownership of copied UChar buffer clearer
4246        (and more leak-proof) by using a OwnArrayPtr.
4247
4248        No functional changes, thus no tests.
4249
4250        * platform/graphics/mac/FontMac.mm:
4251        (WebCore::copyRunForDirectionalOverrideIfNecessary):
4252        (WebCore::Font::selectionRectForComplexText):
4253        (WebCore::Font::drawComplexText):
4254        (WebCore::Font::offsetForPositionForComplexText):
4255
42562008-07-16  Eric Seidel  <eric@webkit.org>
4257
4258        Reviewed by Sam.
4259
4260        Split out TextRun into its own header file.
4261        Re-order members to place all bools together
4262        (to allow compilers to better pack the struct)
4263
4264        No functional changes, thus no tests.
4265
4266        * WebCore.vcproj/WebCore.vcproj:
4267        * WebCore.xcodeproj/project.pbxproj:
4268        * platform/graphics/Font.h: Moved TextRun into its own file.
4269        * platform/graphics/TextRun.h: Split out from Font.h
4270
42712008-07-16  Simon Fraser  <simon.fraser@apple.com>
4272
4273        Reviewed by Dave Hyatt
4274
4275        AnimationController needs to adjust z-index in the blended
4276        style in case opacity or transform were changed by blending.
4277
4278        https://bugs.webkit.org/show_bug.cgi?id=20047
4279        
4280        Test: transitions/opacity-transition-zindex.html
4281
4282        * page/AnimationController.cpp:
4283        (WebCore::AnimationController::updateImplicitAnimations):
4284
42852008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
4286
4287        Reviewed by Sam.
4288
4289        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
4290        Prepare SVGAnimatedProperty introduction.
4291
4292        Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
4293        contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
4294        See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
4295
4296        * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
4297        * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
4298        * svg/svgattrs.in: Export all SVG attributes as strings.
4299        * svg/svgtags.in: Export all SVG tags as strings.
4300        * svg/xlinkattrs.in: Expose all XLink attributes as strings.
4301
43022008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
4303
4304        Reviewed by Eric.
4305
4306        Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
4307        Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
4308
4309        Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
4310
4311        * GNUmakefile.am:
4312        * WebCore.pro:
4313        * WebCore.vcproj/WebCore.vcproj:
4314        * WebCore.xcodeproj/project.pbxproj:
4315        * bindings/js/JSSVGLengthCustom.cpp: Added.
4316        (WebCore::JSSVGLength::value):
4317        (WebCore::JSSVGLength::convertToSpecifiedUnits):
4318        * bindings/scripts/CodeGeneratorObjC.pm:
4319        * css/CSSCursorImageValue.cpp:
4320        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
4321        * rendering/RenderForeignObject.cpp:
4322        (WebCore::RenderForeignObject::translationForAttributes):
4323        * rendering/RenderSVGImage.cpp:
4324        (WebCore::RenderSVGImage::layout):
4325        * rendering/RenderSVGRoot.cpp:
4326        (WebCore::RenderSVGRoot::calcViewport):
4327        * rendering/RenderSVGText.cpp:
4328        (WebCore::RenderSVGText::layout):
4329        * rendering/RenderSVGViewportContainer.cpp:
4330        (WebCore::RenderSVGViewportContainer::calcViewport):
4331        * rendering/SVGCharacterLayoutInfo.cpp:
4332        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
4333        (WebCore::SVGCharacterLayoutInfo::addStackContent):
4334        * rendering/SVGCharacterLayoutInfo.h:
4335        * rendering/SVGRootInlineBox.cpp:
4336        (WebCore::SVGRootInlineBox::buildTextChunks):
4337        * svg/SVGAnimateElement.h:
4338        * svg/SVGAnimateMotionElement.h:
4339        * svg/SVGAnimateTransformElement.h:
4340        * svg/SVGAnimationElement.h:
4341        (WebCore::SVGAnimationElement::contextElement):
4342        * svg/SVGCircleElement.cpp:
4343        (WebCore::SVGCircleElement::SVGCircleElement):
4344        (WebCore::SVGCircleElement::parseMappedAttribute):
4345        (WebCore::SVGCircleElement::toPathData):
4346        * svg/SVGCursorElement.cpp:
4347        (WebCore::SVGCursorElement::SVGCursorElement):
4348        (WebCore::SVGCursorElement::parseMappedAttribute):
4349        * svg/SVGEllipseElement.cpp:
4350        (WebCore::SVGEllipseElement::SVGEllipseElement):
4351        (WebCore::SVGEllipseElement::parseMappedAttribute):
4352        (WebCore::SVGEllipseElement::toPathData):
4353        * svg/SVGFilterElement.cpp:
4354        (WebCore::SVGFilterElement::SVGFilterElement):
4355        (WebCore::SVGFilterElement::parseMappedAttribute):
4356        (WebCore::SVGFilterElement::canvasResource):
4357        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
4358        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
4359        (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
4360        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
4361        * svg/SVGForeignObjectElement.cpp:
4362        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
4363        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
4364        * svg/SVGImageElement.cpp:
4365        (WebCore::SVGImageElement::SVGImageElement):
4366        (WebCore::SVGImageElement::parseMappedAttribute):
4367        * svg/SVGLength.cpp:
4368        (WebCore::SVGLength::SVGLength):
4369        (WebCore::SVGLength::value):
4370        (WebCore::SVGLength::convertToSpecifiedUnits):
4371        (WebCore::SVGLength::PercentageOfViewport):
4372        * svg/SVGLength.h:
4373        * svg/SVGLength.idl:
4374        * svg/SVGLengthList.cpp:
4375        (WebCore::SVGLengthList::parse):
4376        * svg/SVGLengthList.h:
4377        * svg/SVGLineElement.cpp:
4378        (WebCore::SVGLineElement::SVGLineElement):
4379        (WebCore::SVGLineElement::parseMappedAttribute):
4380        (WebCore::SVGLineElement::toPathData):
4381        * svg/SVGLinearGradientElement.cpp:
4382        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
4383        (WebCore::SVGLinearGradientElement::parseMappedAttribute):
4384        * svg/SVGMarkerElement.cpp:
4385        (WebCore::SVGMarkerElement::SVGMarkerElement):
4386        (WebCore::SVGMarkerElement::parseMappedAttribute):
4387        (WebCore::SVGMarkerElement::canvasResource):
4388        * svg/SVGMaskElement.cpp:
4389        (WebCore::SVGMaskElement::SVGMaskElement):
4390        (WebCore::SVGMaskElement::parseMappedAttribute):
4391        (WebCore::SVGMaskElement::drawMaskerContent):
4392        * svg/SVGPatternElement.cpp:
4393        (WebCore::SVGPatternElement::SVGPatternElement):
4394        (WebCore::SVGPatternElement::parseMappedAttribute):
4395        (WebCore::SVGPatternElement::buildPattern):
4396        * svg/SVGRadialGradientElement.cpp:
4397        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
4398        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
4399        * svg/SVGRectElement.cpp:
4400        (WebCore::SVGRectElement::SVGRectElement):
4401        (WebCore::SVGRectElement::parseMappedAttribute):
4402        (WebCore::SVGRectElement::toPathData):
4403        * svg/SVGSVGElement.cpp:
4404        (WebCore::SVGSVGElement::SVGSVGElement):
4405        (WebCore::SVGSVGElement::viewport):
4406        (WebCore::SVGSVGElement::parseMappedAttribute):
4407        (WebCore::SVGSVGElement::getCTM):
4408        (WebCore::SVGSVGElement::getScreenCTM):
4409        * svg/SVGTextContentElement.cpp:
4410        (WebCore::SVGTextContentElement::SVGTextContentElement):
4411        (WebCore::SVGTextContentElement::parseMappedAttribute):
4412        * svg/SVGTextPathElement.cpp:
4413        (WebCore::SVGTextPathElement::SVGTextPathElement):
4414        (WebCore::SVGTextPathElement::parseMappedAttribute):
4415        * svg/SVGTextPositioningElement.cpp:
4416        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
4417        * svg/SVGUseElement.cpp:
4418        (WebCore::SVGUseElement::SVGUseElement):
4419        (WebCore::SVGUseElement::parseMappedAttribute):
4420        (WebCore::SVGUseElement::buildPendingResource):
4421        (WebCore::SVGUseElement::buildInstanceTree):
4422        (WebCore::SVGUseElement::handleDeepUseReferencing):
4423        (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
4424        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
4425        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
4426        * svg/SVGUseElement.h:
4427        * svg/SynchronizableTypeWrapper.h:
4428        * svg/graphics/SVGImage.cpp:
4429        (WebCore::SVGImage::size):
4430
44312008-07-16  Geoffrey Garen  <ggaren@apple.com>
4432
4433        Reviewed by Oliver Hunt.
4434
4435        Support for JavaScriptCore's first step toward putting doubles in
4436        registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
4437
4438        * bindings/js/ScheduledAction.cpp:
4439        (WebCore::ScheduledAction::ScheduledAction):
4440
44412008-07-15  Maxime Britto  <britto@apple.com>
4442
4443        Reviewed by Eric.
4444
4445        https://bugs.webkit.org/show_bug.cgi?id=17589
4446        <rdar://problem/5770893>
4447        Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
4448        Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
4449        For the other platforms, nothing is changed but if someone want to activate this feature 
4450        he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
4451
4452        * ChangeLog:
4453        * page/EventHandler.cpp:
4454        (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
4455        (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
4456        * platform/PlatformWheelEvent.h:
4457        (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
4458        (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
4459        (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
4460        (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
4461        * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4462        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4463        * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4464        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4465        * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4466        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4467        * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
4468        (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
4469        (WebCore::ScrollView::updateScrollbars):
4470        (WebCore::ScrollView::wheelEvent):
4471        * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
4472        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4473        * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4474        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4475
44762008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
4477
4478        wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
4479
4480        * WebCoreSources.bkl:
4481
44822008-07-15  Kevin McCullough  <kmccullough@apple.com>
4483
4484        Reviewed by Dan.
4485
4486        <rdar://problem/5620273> REGRESSION: Apparent caching between form
4487        submits twice (on Maconomy) (18401)
4488
4489        Frames did not set the createdByParser flag even when they were.
4490
4491        * html/HTMLElementFactory.cpp:
4492        (WebCore::frameConstructor):
4493        (WebCore::iframeConstructor):
4494
44952008-07-15  Dan Bernstein  <mitz@apple.com>
4496
4497        Reviewed by Dave Hyatt.
4498
4499        - fix https://bugs.webkit.org/show_bug.cgi?id=19525
4500          <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
4501
4502        Test: fast/reflections/inline-crash.html
4503
4504        * rendering/RenderInline.cpp:
4505        (WebCore::RenderInline::setStyle): Added setHasReflection(false).
4506        Inline flows never have reflections.
4507
45082008-07-14  David Hyatt  <hyatt@apple.com>
4509
4510        Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
4511        no <body> exists yet though.
4512
4513        Reviewed by Sam
4514
4515        Added fast/css/style-parsed-outside-of-head.html
4516
4517        * html/HTMLElement.cpp:
4518        (WebCore::inlineTagList):
4519
45202008-07-15  Kevin McCullough  <kmccullough@apple.com>
4521
4522        Reviewed by Geoff.
4523
4524        Rename pageGroupIdentifier to profileGroup to keep mention of a
4525        pageGroup out of JavaScriptCore.
4526
4527        * bindings/js/JSQuarantinedObjectWrapper.cpp:
4528        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
4529        * bindings/js/ScriptController.cpp:
4530        (WebCore::ScriptController::clear):
4531        (WebCore::ScriptController::initScript):
4532        * history/CachedPage.cpp:
4533        (WebCore::CachedPage::restore):
4534
45352008-07-15  Adam Roben  <aroben@apple.com>
4536
4537        WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
4538
4539        <rdar://6059127>
4540
4541        Reviewed by John Sullivan.
4542
4543        * platform/graphics/win/FontCGWin.cpp:
4544        (WebCore::Font::drawGlyphs): Pass the result of
4545        WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
4546        * platform/win/WebCoreTextRenderer.cpp:
4547        (WebCore::WebCoreSetShouldUseFontSmoothing):
4548        (WebCore::WebCoreShouldUseFontSmoothing):
4549        Added.
4550        * platform/win/WebCoreTextRenderer.h:
4551
45522008-07-15  Adam Roben  <aroben@apple.com>
4553
4554        Windows build fix
4555
4556        * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
4557        to the project.
4558
45592008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
4560
4561        Build fix for the Gtk+ and Qt platform.
4562
4563        * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
4564        * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
4565
45662008-07-14  Dan Bernstein  <mitz@apple.com>
4567
4568        - Tiger build fix
4569
4570        * platform/mac/WidgetMac.mm:
4571        (WebCore::Widget::paint):
4572
45732008-07-14  Dan Bernstein  <mitz@apple.com>
4574
4575        Reviewed by John Sullivan.
4576
4577        - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
4578
4579        * platform/mac/WidgetMac.mm:
4580        (WebCore::Widget::paint): Changed to account for the case of drawing
4581        into a bitmap context that is not a window's backing store. In that
4582        case, -displayRectIgnoringOpacity:inContext: is used to redirect the
4583        drawing to the correct context, after setting up the right transform
4584        on it. For subframes, additional code ensures that the scroll view will
4585        not paint the background behind a transparent frame.
4586
45872008-07-14  chris fleizach  <cfleizach@apple.com>
4588
4589        Reviewed by Beth Dakin
4590
4591        <rdar://problem/6038106> AXChildren returned for this web area is null
4592        Accessibility of image maps needed to be updated
4593
4594        Tests: accessibility/image-map1.html
4595               accessibility/image-map2.html
4596
4597        * WebCore.xcodeproj/project.pbxproj:
4598        * page/AXObjectCache.cpp:
4599        (WebCore::AXObjectCache::get):
4600        * page/AccessibilityImageMapLink.cpp: Added.
4601        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
4602        (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
4603        (WebCore::AccessibilityImageMapLink::create):
4604        (WebCore::AccessibilityImageMapLink::parentObject):
4605        (WebCore::AccessibilityImageMapLink::anchorElement):
4606        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
4607        (WebCore::AccessibilityImageMapLink::title):
4608        (WebCore::AccessibilityImageMapLink::elementRect):
4609        (WebCore::AccessibilityImageMapLink::size):
4610        * page/AccessibilityImageMapLink.h: Added.
4611        (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
4612        (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
4613        (WebCore::AccessibilityImageMapLink::roleValue):
4614        (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
4615        (WebCore::AccessibilityImageMapLink::isLink):
4616        * page/AccessibilityListBoxOption.h:
4617        * page/AccessibilityObject.cpp:
4618        (WebCore::AccessibilityObject::selectedChildren):
4619        (WebCore::AccessibilityObject::visibleChildren):
4620        * page/AccessibilityObject.h:
4621        (WebCore::):
4622        * page/AccessibilityRenderObject.cpp:
4623        (WebCore::AccessibilityRenderObject::parentObject):
4624        (WebCore::AccessibilityRenderObject::isAnchor):
4625        (WebCore::AccessibilityRenderObject::anchorElement):
4626        (WebCore::AccessibilityRenderObject::helpText):
4627        (WebCore::AccessibilityRenderObject::intValue):
4628        (WebCore::AccessibilityRenderObject::stringValue):
4629        (WebCore::AccessibilityRenderObject::title):
4630        (WebCore::AccessibilityRenderObject::accessibilityDescription):
4631        (WebCore::AccessibilityRenderObject::elementRect):
4632        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
4633        (WebCore::AccessibilityRenderObject::roleValue):
4634        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
4635        (WebCore::AccessibilityRenderObject::addChildren):
4636        * page/AccessibilityRenderObject.h:
4637        * page/mac/AccessibilityObjectWrapper.mm:
4638        (convertToNSArray):
4639        (RoleEntry::):
4640
46412008-07-14  Sam Weinig  <sam@webkit.org>
4642
4643        Rubber-stamped by David Hyatt.
4644
4645        Remove unused ExceptionCode parameter from compareDocumentPosition.
4646
4647        * dom/Document.cpp:
4648        (WebCore::Document::addStyleSheetCandidateNode):
4649        * dom/Node.cpp:
4650        (WebCore::Node::compareDocumentPosition):
4651        * dom/Node.h:
4652        * dom/Node.idl:
4653
46542008-07-14  David Hyatt  <hyatt@apple.com>
4655
4656        Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
4657
4658        Reviewed by Sam
4659
4660        Added fast/css/style-outside-head.html
4661        Added fast/css/link-outside-head.html
4662
4663        * dom/Document.cpp:
4664        (WebCore::Document::addStyleSheetCandidateNode):
4665        (WebCore::Document::removeStyleSheetCandidateNode):
4666        (WebCore::Document::recalcStyleSelector):
4667        * dom/Document.h:
4668        * dom/Node.cpp:
4669        (WebCore::Node::compareDocumentPosition):
4670        * dom/ProcessingInstruction.cpp:
4671        (WebCore::ProcessingInstruction::checkStyleSheet):
4672        (WebCore::ProcessingInstruction::insertedIntoDocument):
4673        (WebCore::ProcessingInstruction::removedFromDocument):
4674        (WebCore::ProcessingInstruction::finishParsingChildren):
4675        * dom/ProcessingInstruction.h:
4676        (WebCore::ProcessingInstruction::setCreatedByParser):
4677        * dom/StyleElement.cpp:
4678        (WebCore::StyleElement::removedFromDocument):
4679        * dom/XMLTokenizer.cpp:
4680        (WebCore::XMLTokenizer::startElementNs):
4681        (WebCore::XMLTokenizer::processingInstruction):
4682        (WebCore::):
4683        * html/HTMLElementFactory.cpp:
4684        (WebCore::linkConstructor):
4685        * html/HTMLLinkElement.cpp:
4686        (WebCore::HTMLLinkElement::HTMLLinkElement):
4687        (WebCore::HTMLLinkElement::insertedIntoDocument):
4688        (WebCore::HTMLLinkElement::removedFromDocument):
4689        (WebCore::HTMLLinkElement::finishParsingChildren):
4690        * html/HTMLLinkElement.h:
4691        (WebCore::HTMLLinkElement::setCreatedByParser):
4692        * html/HTMLStyleElement.cpp:
4693        (WebCore::HTMLStyleElement::insertedIntoDocument):
4694        (WebCore::HTMLStyleElement::removedFromDocument):
4695        * svg/SVGStyleElement.cpp:
4696        (WebCore::SVGStyleElement::insertedIntoDocument):
4697        (WebCore::SVGStyleElement::removedFromDocument):
4698
46992008-07-14  Sam Weinig  <sam@webkit.org>
4700
4701        Reviewed by Mark Rowe.
4702
4703        Sort interface extended attributes to appease *the* Mark Rowe.
4704
4705        * page/DOMWindow.idl:
4706
47072008-07-14  Anders Carlsson  <andersca@apple.com>
4708
4709        Reviewed by Geoff.
4710
4711        <rdar://problem/6073974>
4712        https://bugs.webkit.org/show_bug.cgi?id=18106
4713        The "onscroll" event bubbles, which is inconsistent with Firefox and IE
4714
4715        Don't bubble the scroll event.
4716        
4717        * rendering/RenderLayer.cpp:
4718        (WebCore::RenderLayer::scrollToOffset):
4719        * rendering/RenderListBox.cpp:
4720        (WebCore::RenderListBox::valueChanged):
4721
47222008-07-14  Adele Peterson  <adele@apple.com>
4723
4724        Reviewed by Geoff.
4725
4726        Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
4727
4728        The web server on this particular piece of hardware doesn't handle "text/xml" in the 
4729        Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
4730        the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
4731        server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
4732        is being deprecated in favor of "application/xml".  We decided that the best solution is 
4733        to match Firefox 3 and stop sending "text/xml" in the Accept header.
4734
4735        No test.  There appears to be no way to get the raw headers in the original order in perl/php.
4736
4737        * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
4738
47392008-07-14  Sam Weinig  <sam@webkit.org>
4740
4741        Reviewed by Adele Peterson.
4742
4743        Fix for <rdar://problem/5769819>
4744
4745        Test: http/tests/security/cross-frame-access-object-prototype.html
4746
4747        * bindings/js/JSDOMWindowCustom.cpp:
4748        (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
4749        (WebCore::JSDOMWindow::defineGetter): Ditto.
4750        (WebCore::JSDOMWindow::defineSetter): Ditto.
4751        (WebCore::JSDOMWindow::lookupGetter): Ditto.
4752        (WebCore::JSDOMWindow::lookupSetter): Ditto.
4753        * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
4754        of all the core JSObject functionality.
4755        * page/DOMWindow.idl: Override remaining core JSObject functionality,
4756        to inject security checks.
4757
47582008-07-14  Adam Roben  <aroben@apple.com>
4759
4760        Windows build fixes
4761
4762        * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
4763        path.
4764        * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
4765        bindings to regenerate.
4766        * loader/FTPDirectoryDocument.cpp:
4767        * loader/FTPDirectoryParser.cpp:
4768        Fixed some duplicate macro definitions now that we're including
4769        pthread.h again.
4770
47712008-07-14  Alexey Proskuryakov  <ap@webkit.org>
4772
4773        Reviewed by Kevin McCullough.
4774
4775        Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
4776        global data.
4777
4778        * bindings/js/JSDOMWindowBase.cpp:
4779        (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
4780
47812008-07-14  Simon Hausmann  <hausmann@webkit.org>
4782
4783        Reviewed by Holger.
4784
4785        Make listDirectory() in the Qt port work with empty namefilters.
4786        Don't include . and .. to avoid scanning the parent directory.
4787
4788        * platform/qt/FileSystemQt.cpp:
4789        (WebCore::listDirectory):
4790
47912008-07-14  Alexey Proskuryakov  <ap@webkit.org>
4792
4793        Reviewed by Geoff Garen.
4794
4795        Eliminate per-thread JavaScript global data instance support and make arbitrary
4796        global data/global object combinations possible.
4797
4798        * bindings/js/JSDOMWindowBase.h:
4799        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
4800        WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
4801
4802        * bindings/js/JSDOMWindowShell.cpp:
4803        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
4804        (WebCore::JSDOMWindowShell::operator new):
4805        * bindings/js/ScriptController.cpp:
4806        (WebCore::ScriptController::clear):
4807        * bindings/scripts/CodeGeneratorJS.pm:
4808        Pass commonJSGlobalData() as an allocator.
4809
4810        * bridge/c/c_utility.cpp:
4811        (KJS::Bindings::identifierFromNPIdentifier):
4812        * bridge/jni/jni_class.cpp:
4813        (JavaClass::JavaClass):
4814        * history/CachedPage.cpp:
4815        (WebCore::CachedPage::restore):
4816        * storage/Database.cpp:
4817        (WebCore::Database::Database):
4818        * bindings/js/GCController.cpp:
4819        (WebCore::collect):
4820        (WebCore::GCController::gcTimerFired):
4821        (WebCore::GCController::garbageCollectNow):
4822        Use JSDOMWindow::commonJSGlobalData().
4823
4824        * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
4825        it need to be accesible outside of JSC).
4826
4827        * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
4828
48292008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4830
4831        Reviewed by Simon.
4832
4833        MinGW build fixes
4834
4835        * plugins/win/PluginDatabaseWin.cpp:
4836        * plugins/win/PluginViewWin.cpp:
4837        (WebCore::PluginView::handleKeyboardEvent):
4838        (WebCore::PluginView::handleMouseEvent):
4839        * svg/SynchronizableTypeWrapper.h:
4840        (WebCore::::SynchronizableTypeWrapper):
4841
48422008-07-13  Sam Weinig  <sam@webkit.org>
4843
4844        Reviewed by Oliver Hunt and Dan Bernstein.
4845
4846        Fix for <rdar://problem/5888127>
4847        https://bugs.webkit.org/show_bug.cgi?id=18699
4848
4849        - Match Firefox in restricting the size of custom cursor to images to
4850          128x128 px.
4851        - Restrict custom cursor hotspots to values within the bounds of the
4852          cursor image.
4853
4854        * manual-tests/cursor-max-size.html: Added.
4855        * page/EventHandler.cpp:
4856        (WebCore::EventHandler::selectCursor):
4857
48582008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
4859
4860        wx build fix.
4861
4862        * platform/graphics/wx/AffineTransformWx.cpp:
4863        (WebCore::AffineTransform::a):
4864        (WebCore::AffineTransform::b):
4865        (WebCore::AffineTransform::c):
4866        (WebCore::AffineTransform::d):
4867        (WebCore::AffineTransform::e):
4868        (WebCore::AffineTransform::f):
4869
48702008-07-12  Dan Bernstein  <mitz@apple.com>
4871
4872        Reviewed by Oliver Hunt.
4873
4874        - fix https://bugs.webkit.org/show_bug.cgi?id=18088
4875          <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
4876
4877        Test: fast/block/basic/min-pref-width-nowrap-floats.html
4878
4879        * rendering/RenderBlock.cpp:
4880        (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
4881        float's width was added to the minimum preferred widths instead of just
4882        acting as a lower bound on the minimum preferred width (since the float
4883        can always be pushed down to be the only thing on the line).
4884
48852008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
4886
4887        Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
4888
4889        <https://bugs.webkit.org/show_bug.cgi?id=13067>
4890
4891        Reviewed by Darin.
4892
4893        Test: WebCore/manual-tests/hash-ref.html
4894
4895        * loader/FrameLoader.cpp:
4896        (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
4897             FrameLoadType newLoadType, const String& frameName, Event* event,
4898             PassRefPtr<FormState> formState)): Extracted logic into
4899        shouldScrollToAnchor() for determining when to scroll to an anchor.
4900
4901        (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
4902             PassRefPtr<FormState> formState)): Added check for
4903        shouldScrollToAnchor() to catch cases when the user manually added a
4904        hash ref to the URL in the address bar.  This is the bug fix.
4905
4906        (WebCore::FrameLoader::shouldReload): Simplified early return logic.
4907        We only need to check if the destinationURL has a hash ref, not the
4908        currentURL, per the comment in the method.
4909
4910        (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
4911        from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
4912        of arguments to shouldReload() since they were backwards, although the
4913        previous logic in the method made this irrelevant.
4914
4915        (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
4916        we're navigating to a HistoryItem, it doesn't make sense to ask whether
4917        we need to reload the page or not.  Additionally, the logic at the end
4918        of shouldReload() is also checked in urlsMatchItem(), so there's no need
4919        to call the method.  This fixed the fast/css/target-fragment-match.html
4920        test from continuously reloading after the other changes.
4921
4922        * loader/FrameLoader.h:
4923        (WebCore::FrameLoader::shouldScrollToAnchor): Added.
4924
4925        * manual-tests/hash-ref.html: Added.
4926        * manual-tests/resources/hash-ref-test.html: Added.
4927
49282008-07-11  Stephanie Lewis  <slewis@apple.com>
4929
4930        Reviewed by Darin Adler.
4931
4932        No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
4933
4934        * bindings/js/JSCustomSQLTransactionCallback.cpp:
4935        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
4936        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
4937        * bindings/js/JSEventListener.cpp:
4938        (WebCore::JSEventListener::JSEventListener):
4939        (WebCore::JSEventListener::~JSEventListener):
4940        * dom/Node.cpp:
4941        (WebCore::Node::Node):
4942        (WebCore::Node::~Node):
4943        * dom/Range.cpp:
4944        (WebCore::Range::Range):
4945        (WebCore::Range::~Range):
4946        * history/CachedPage.cpp:
4947        (WebCore::CachedPage::CachedPage):
4948        (WebCore::CachedPage::~CachedPage):
4949        * loader/SubresourceLoader.cpp:
4950        (WebCore::SubresourceLoader::SubresourceLoader):
4951        (WebCore::SubresourceLoader::~SubresourceLoader):
4952        * page/Frame.cpp:
4953        (WebCore::Frame::Frame):
4954        (WebCore::Frame::~Frame):
4955        * page/Page.cpp:
4956        (WebCore::Page::Page):
4957        (WebCore::Page::~Page):
4958        * rendering/RenderObject.cpp:
4959        (WebCore::RenderObject::RenderObject):
4960        (WebCore::RenderObject::~RenderObject):
4961        * rendering/bidi.cpp:
4962        (WebCore::throw):
4963        (WebCore::BidiRun::operator delete):
4964
49652008-07-11  Sam Weinig  <sam@webkit.org>
4966
4967        Reviewed by Mark Rowe.
4968
4969        Update getSubStringLength and selectSubString methods exception throwing conditions
4970        based on SVG working group errata.
4971
4972        Test: svg/custom/selectSubString.html
4973
4974        * svg/SVGTextContentElement.cpp:
4975        (WebCore::SVGTextContentElement::getSubStringLength):
4976        (WebCore::SVGTextContentElement::selectSubString):
4977
49782008-07-11  Sam Weinig  <sam@webkit.org>
4979
4980        Reviewed by Mark Rowe.
4981
4982        We can only use the Id fast path for querySelector and querySelectorAll
4983        if the selector is purely an Id selector.
4984
4985        Test: fast/dom/SelectorAPI/id-fastpath.html
4986
4987        * dom/Node.cpp:
4988        (WebCore::Node::querySelector):
4989        * dom/SelectorNodeList.cpp:
4990        (WebCore::createSelectorNodeList):
4991
49922008-07-11  David Hyatt  <hyatt@apple.com>
4993
4994        Implement the DOM level 3 compareDocumentPosition method on Node.
4995
4996        Reviewed by Darin
4997
4998        * dom/Node.cpp:
4999        (WebCore::Node::compareDocumentPosition):
5000        * dom/Node.h:
5001        * dom/Node.idl:
5002
50032008-07-11  Brady Eidson  <beidson@apple.com>
5004
5005        Rubberstamped by Sam
5006
5007        Removed unneeded export
5008
5009        * WebCore.base.exp:
5010
50112008-07-11  Kevin McCullough  <kmccullough@apple.com>
5012
5013        Reviewed by Geoff.
5014
5015        <rdar://problem/6067178> REGRESSION: Start profile button in profiler
5016        now profiles inspector rather than actual page (19833)
5017        - The JSQuarantinedObjectWrapper should use the wrapped exec state
5018        so that calls to it execute in its quarantined world.
5019
5020        * bindings/js/JSQuarantinedObjectWrapper.cpp:
5021        (WebCore::JSQuarantinedObjectWrapper::construct):
5022        (WebCore::JSQuarantinedObjectWrapper::call):
5023
50242008-07-11  Simon Fraser  <simon.fraser@apple.com>
5025
5026        Reviewed by Dave Hyatt
5027
5028        StyleRareNonInheritedData needs to initialize and compare
5029        m_maskBoxImage.
5030        <https://bugs.webkit.org/show_bug.cgi?id=20005>
5031
5032        * rendering/style/RenderStyle.cpp:
5033        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
5034        (WebCore::StyleRareNonInheritedData::operator==):
5035
50362008-07-11  Simon Fraser  <simon.fraser@apple.com>
5037
5038        Reviewed by Dave Hyatt
5039
5040        Bug 18885: RenderLayer::enclosingPositionedAncestor() should
5041        look for transforms, since transforms create containing
5042        blocks.
5043        <https://bugs.webkit.org/show_bug.cgi?id=18885>
5044
5045        Test: fast/transforms/transform-positioned-ancestor.html
5046
5047        * rendering/RenderLayer.cpp:
5048        (WebCore::RenderLayer::stackingContext):
5049        (WebCore::RenderLayer::enclosingPositionedAncestor):
5050        (WebCore::RenderLayer::enclosingTransformedAncestor):
5051
50522008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
5053
5054        Reviewed by Darin Adler
5055
5056        http://bugs.webkit.org/show_bug.cgi?id=19978
5057        GTK port always ends up with # at the end of resource URLs (and hence can't load files)
5058
5059        - Optimized KURL::removeRef() and used it rather than setRef("")
5060          which after r35040 does the wrong thing.
5061
5062        * platform/KURL.cpp:
5063        (WebCore::KURL::removeRef):
5064        * platform/network/curl/ResourceHandleManager.cpp:
5065        (WebCore::ResourceHandleManager::initializeHandle):
5066
50672008-07-11  Simon Hausmann  <hausmann@webkit.org>
5068
5069        Fix the Qt/Windows build, include windows.h for HWND directly
5070        instead of implicit inclusion through Timer.h.
5071
5072        * plugins/win/PluginMessageThrottlerWin.h:
5073
50742008-07-11  Dan Bernstein  <mitz@apple.com>
5075
5076        Reviewed by Darin Adler.
5077
5078        - fix popularity tracking for cached resources, which regressed in r23923
5079
5080        * loader/Cache.cpp:
5081        (WebCore::Cache::requestResource): Changed to increase the access count
5082        whenever this function returns a CachedResource and the cache is
5083        enabled, instead of only when creating a new CachedResources. The
5084        incorrect behavior resulted in all resources in the cache having an
5085        access count of exactly 1 at all times.
5086        (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
5087
50882008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
5089
5090        Reviewed by Simon.
5091
5092        Enable Netscape plugins for the Qt/Windows build.
5093
5094        This required various smaller fixes across a wider set of
5095        files described below.
5096
5097        * WebCore.pro: Add various windows specific files to the build.
5098        * page/Page.h: Extend the #ifdeffery for windows types to include the
5099        Qt/Windows build.
5100        * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
5101        the Qt port, as PluginViewWin.cpp uses it.
5102        * platform/graphics/qt/GraphicsContextQt.cpp:
5103        (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
5104        * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
5105        are now implemented through *Win.cpp files.
5106        * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
5107        * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
5108        (WebCore::PluginView::setFrameGeometry): Ditto.
5109        (WebCore::PluginView::PluginView): Ditto.
5110        * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
5111        which expands to HWND directly for the Qt/Windows build and
5112        PlatformWidget for the remaining platforms. That is because
5113        PlatformWidget is QWidget* for the Qt build but for the plugin
5114        window we need a native window, aka HWND.
5115        * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
5116        after config.h.
5117        * plugins/win/PluginViewWin.cpp:
5118        (windowHandleForPlatformWidget): Added a little helper function to
5119        determine the HWND from a PlatformWidget.
5120        (WebCore::registerPluginView): For the Qt port we need to set the
5121        global application instance handle here in the library, as the
5122        browser doesn't do it.
5123        (WebCore::PluginView::handleMouseEvent): Mask out
5124        ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
5125        (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
5126        manually just here to avoid compiling in IntRectWin.cpp.
5127        (WebCore::PluginView::invalidateRegion): Ditto.
5128        (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
5129        on containingWindow() to get the correct HWND for the Qt port.
5130        (WebCore::PluginView::init): Determine the parent HWND for m_window
5131        using windowHandleForPlatformWidget.
5132
51332008-07-11  Simon Hausmann  <hausmann@webkit.org>
5134
5135        Rubber-stamped by Holger.
5136
5137        Enable Database and Icondatabase functionality for the Qt/Windows
5138        build when building inside Qt, as we can use the builtin copy of
5139        sqlite then.
5140
5141        * WebCore.pro:
5142
51432008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
5144
5145        Reviewed by Adam Roben.
5146
5147        Fix compile with MinGW since it does not like friend static function.
5148
5149        * plugins/PluginView.h:
5150        * plugins/win/PluginViewWin.cpp:
5151
51522008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
5153
5154        Reviewed by Simon.
5155
5156        Fix Qt/Win32 build.
5157
5158        * platform/graphics/qt/GraphicsContextQt.cpp:
5159
51602008-07-10  Sam Weinig  <sam@webkit.org>
5161
5162        Reviewed by Oliver Hunt.
5163
5164        Add support for NSResolver to resolve namespaces for querySelector 
5165        and querySelectorAll.
5166
5167        - Namespace resolution is done after parsing by iterating over all the
5168          parts of the CSSSelector.
5169
5170        Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
5171               fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
5172
5173        * GNUmakefile.am: Updated with new files.
5174        * WebCore.pro: Ditto.
5175        * WebCore.vcproj/WebCore.vcproj: Ditto.
5176        * WebCore.xcodeproj/project.pbxproj: Ditto.
5177        * WebCoreSources.bkl: Ditto.
5178
5179        * bindings/js/JSDOMBinding.cpp:
5180        (WebCore::execStateFromNode):
5181        * bindings/js/JSDOMBinding.h:
5182        Move execStateFromNode here from NodeFilter.
5183
5184        * bindings/js/JSDocumentCustom.cpp:
5185        (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
5186        and instead create one if the argument is not undefined or null.
5187        (WebCore::JSDocument::querySelectorAll): Ditto.
5188        * bindings/js/JSDocumentFragmentCustom.cpp:
5189        (WebCore::JSDocumentFragment::querySelector): Ditto.
5190        (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
5191        * bindings/js/JSElementCustom.cpp:
5192        (WebCore::JSElement::querySelector): Ditto.
5193        (WebCore::JSElement::querySelectorAll): Ditto.
5194
5195        * bindings/js/JSNSResolver.cpp: Added.
5196        (WebCore::JSNSResolver::JSNSResolver):
5197        (WebCore::JSNSResolver::mark):
5198        (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
5199        from the passed in argument, either the value itself, or the result of
5200        getting the lookupNamespaceURI property, and call it.
5201        (WebCore::toNSResolver):
5202        * bindings/js/JSNSResolver.h: Added.
5203        (WebCore::JSNSResolver::create):
5204
5205        * dom/Document.idl: Update with NSResolver parameter.
5206        * dom/DocumentFragment.idl: Ditto.
5207        * dom/Element.idl: Ditto.
5208
5209        * dom/NSResolver.h: Added.
5210        (WebCore::NSResolver::~NSResolver):
5211        (WebCore::NSResolver::mark):
5212        Abstract base class.
5213
5214        * dom/NSResolver.idl: Added.
5215
5216        * dom/Node.cpp:
5217        (WebCore::forEachTagSelector):
5218        (WebCore::forEachSelector):
5219        Functions to iterate over all parts of the selector.
5220
5221        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
5222        Functor to be passed to forEachSelector to determine if a selector
5223        needs namespace resolution, for the case when no NSResolver is passed
5224        and we need to determine whether to throw a NAMESPACE_ERR.
5225
5226        (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
5227        (WebCore::ResolveNamespaceFunctor::operator()):
5228        Functor to resolve namespaces for the selector.
5229
5230        (WebCore::selectorNeedsNamespaceResolution):
5231        (WebCore::resolveNamespacesForSelector):
5232        (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
5233        if a NSResolver is passed in.
5234        (WebCore::Node::querySelectorAll): Ditto.
5235        * dom/Node.h:
5236
5237        * dom/NodeFilter.cpp:
5238        * dom/NodeFilter.h:
5239        * dom/NodeIterator.h:
5240        (WebCore::NodeIterator::nextNode):
5241        (WebCore::NodeIterator::previousNode):
5242        * dom/TreeWalker.h:
5243        (WebCore::TreeWalker::parentNode):
5244        (WebCore::TreeWalker::firstChild):
5245        (WebCore::TreeWalker::lastChild):
5246        (WebCore::TreeWalker::previousSibling):
5247        (WebCore::TreeWalker::nextSibling):
5248        (WebCore::TreeWalker::previousNode):
5249        (WebCore::TreeWalker::nextNode):
5250        Use the version of execStateFromNode in JSDOMBinding.
5251
52522008-07-10  Mark Rowe  <mrowe@apple.com>
5253
5254        Reviewed by Sam Weinig.
5255
5256        Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
5257
5258        * Configurations/WebCore.xcconfig:
5259
52602008-07-10  Dean Jackson  <dino@apple.com>
5261
5262        Reviewed by hyatt.
5263
5264        Calculate computed style for -webkit-transform property
5265        https://bugs.webkit.org/show_bug.cgi?id=19864
5266
5267        Test: css3/transform-computed-style-001.html
5268
5269        * css/CSSComputedStyleDeclaration.cpp:
5270        (WebCore::computedTransform):
5271        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
5272            handles -webkit-transform property now
5273        * manual-tests/computed-transform-value.html: Added.
5274
52752008-07-10  Dan Bernstein  <mitz@apple.com>
5276
5277        Reviewed by Adam Roben.
5278
5279        - fix a parse error in inspector.js
5280
5281        * page/inspector/inspector.js: Added missing brace.
5282
52832008-07-10  Adam Roben  <aroben@apple.com>
5284
5285        Build fix
5286
5287        * WebCore.vcproj/QTMovieWin.vcproj: Add
5288        OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
5289
52902008-07-10  Chris Fleizach  <cfleizach@apple.com>
5291
5292        Reviewed by Dan Bernstein
5293
5294        <rdar://problem/6067408> AX: internal anchors broken
5295
5296        * page/AccessibilityRenderObject.cpp:
5297        (WebCore::AccessibilityRenderObject::internalLinkElement):
5298        * platform/KURL.cpp:
5299        (WebCore::KURL::removeRef):
5300        * platform/KURL.h:
5301
53022008-07-10  Mark Rowe  <mrowe@apple.com>
5303
5304        Build fix.
5305
5306        * bridge/npapi.h: Remove extra comma.
5307
53082008-07-10  Sam Weinig  <sam@webkit.org>
5309
5310        Reviewed by Mark Rowe.
5311
5312        Remove no-op debug method.
5313
5314        * css/CSSSelector.cpp:
5315        * css/CSSSelector.h:
5316
53172008-07-10  Sam Weinig  <sam@webkit.org>
5318
5319        Reviewed by Dave Hyatt and Darin Adler.
5320
5321        Add support for calling querySelector and querySelectorAll on DocumentFragments
5322
5323        - Fixes bug where nodes not in the document tree would not match based on ID due
5324          to over optimization.
5325
5326        Test: fast/dom/SelectorAPI/detached-element.html
5327
5328        * GNUmakefile.am:
5329        * WebCore.pro:
5330        * WebCore.vcproj/WebCore.vcproj:
5331        * WebCore.xcodeproj/project.pbxproj:
5332        * WebCoreSources.bkl:
5333        * bindings/js/JSDocumentFragmentCustom.cpp: Added.
5334        (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
5335        and JSDocument that checks for a 2nd arguments and throws an exception indicating
5336        we do not currently support the optional NSResolver part of the Selectors API spec.
5337        (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
5338        * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
5339
5340        * dom/Node.cpp:
5341        (WebCore::Node::querySelector): Make the CSS parser parse the selector
5342        according to the strictness of the document so that mixed case ID selectors
5343        match in quirks mode.  Also, don't use the fast ID path if the root is not
5344        in the DOM tree, as it won't work.
5345        (WebCore::Node::querySelectorAll): Ditto.
5346        * dom/SelectorNodeList.cpp:
5347        (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
5348        in the DOM tree, as it won't work.
5349
53502008-07-10  Anthony Ricaud  <rik24d@gmail.com>
5351
5352        Bug 19389: querySelectorAll exception while searching invalid CSS selector
5353        <https://bugs.webkit.org/show_bug.cgi?id=19389>
5354
5355        Reviewed by Tim Hatcher.
5356
5357        * page/inspector/inspector.js: Added a try/catch block.
5358
53592008-07-10  Brent Fulgham  <bfulgham@gmail.com>
5360
5361        Correct a build regression due to an uninitialized variable.
5362
5363        <https://bugs.webkit.org/show_bug.cgi?id=19976>
5364
5365        Reviewed by Darin.
5366
5367        * platform/graphics/cairo/FontCairo.cpp:
5368        (WebCore::Font::drawGlyphs):
5369
53702008-07-10  Adam Roben  <aroben@apple.com>
5371
5372        Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
5373        HTMLCollection::resetCollectionInfo (codegen issue?)
5374
5375        <https://bugs.webkit.org/show_bug.cgi?id=19580>
5376        <rdar://6029794>
5377
5378        Reviewed by Cameron Zwarich.
5379
5380        * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
5381        which was causing some bad codegen in HTMLFormElement::elements.
5382        * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
5383
53842008-07-10  Anders Carlsson  <andersca@apple.com>
5385
5386        Reviewed by Jon.
5387
5388        <rdar://problem/6067135>
5389        WebKit should respond true to a query for NPNVSupportsWindowless.
5390        
5391        Handle NPNVSupportsWindowless and return true.
5392        
5393        * bridge/npapi.h:
5394        * plugins/win/PluginViewWin.cpp:
5395        (WebCore::PluginView::getValue):
5396
53972008-07-10  Kevin McCullough  <kmccullough@apple.com>
5398
5399        Reviewed by Darin.
5400
5401        -Minor cleanup. Renamed callTree() to head() and no longer use m_head
5402        directly but instead keep it private and access via a method().
5403
5404        * page/JavaScriptProfile.cpp:
5405        (WebCore::getHeadCallback):
5406
54072008-07-10  Simon Fraser  <simon.fraser@apple.com>
5408
5409        When a mask image changes, ensure that elements
5410        that use that mask image are repainted correctly.
5411        
5412        <https://bugs.webkit.org/show_bug.cgi?id=19954>
5413        
5414        Reviewed by Dave Hyatt
5415
5416        * manual-tests/canvas-mask-redraw.html
5417          Manual testcase
5418        * rendering/RenderBox.cpp:
5419        (WebCore::RenderBox::imageChanged):
5420        (WebCore::RenderBox::repaintLayerRectsForImage):
5421        * rendering/RenderBox.h:
5422        Loop through background layers and mask layers, and
5423        if this image is used in a layer, compute a repaint
5424        rect and repaint.
5425        * rendering/RenderImage.cpp:
5426        (WebCore::RenderImage::imageChanged):
5427        If this image has a mask, call the base class method.
5428        * rendering/RenderObject.cpp:
5429        Remove a bogus 'return'.
5430
54312008-07-10  Simon Fraser  <simon.fraser@apple.com>
5432
5433        Transforms create a containing block, so
5434        RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
5435        <https://bugs.webkit.org/show_bug.cgi?id=18886>
5436        
5437        Reviewed by Dave Hyatt
5438
5439        Test: fast/transforms/transform-overflow.html
5440
5441        * rendering/RenderLayer.cpp:
5442        (WebCore::RenderLayer::shouldBeOverflowOnly):
5443
54442008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
5445
5446        Reviewed by Oliver Hunt.
5447
5448        bug 19835: WebKit needs cross-platform filter system
5449        <https://bugs.webkit.org/show_bug.cgi?id=19835>
5450
5451        More class refactoring in preparation for cross-platform filter 
5452        implementation.
5453
5454        * WebCore.xcodeproj/project.pbxproj:
5455        * rendering/SVGRenderTreeAsText.h:
5456        (WebCore::operator<<):
5457        * svg/FilterEffect.cpp:
5458        (WebCore::FilterEffect::externalRepresentation):
5459        * svg/FilterEffect.h:
5460        * svg/SVGFEBlendElement.cpp:
5461        (WebCore::SVGFEBlendElement::build):
5462        * svg/SVGFEBlendElement.h:
5463        * svg/SVGFEColorMatrixElement.cpp:
5464        (WebCore::SVGFEColorMatrixElement::build):
5465        * svg/SVGFEColorMatrixElement.h:
5466        * svg/SVGFEComponentTransferElement.cpp:
5467        (WebCore::SVGFEComponentTransferElement::build):
5468        * svg/SVGFEComponentTransferElement.h:
5469        * svg/SVGFECompositeElement.cpp:
5470        (WebCore::SVGFECompositeElement::build):
5471        * svg/SVGFECompositeElement.h:
5472        * svg/SVGFEDiffuseLightingElement.cpp:
5473        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
5474        (WebCore::SVGFEDiffuseLightingElement::build):
5475        (WebCore::SVGFEDiffuseLightingElement::findLights):
5476        * svg/SVGFEDiffuseLightingElement.h:
5477        * svg/SVGFEDisplacementMapElement.cpp:
5478        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
5479        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
5480        (WebCore::SVGFEDisplacementMapElement::filterEffect):
5481        (WebCore::SVGFEDisplacementMapElement::build):
5482        * svg/SVGFEDisplacementMapElement.h:
5483        * svg/SVGFEFloodElement.cpp:
5484        (WebCore::SVGFEFloodElement::filterEffect):
5485        (WebCore::SVGFEFloodElement::build):
5486        * svg/SVGFEFloodElement.h:
5487        (WebCore::SVGFEFloodElement::contextElement):
5488        * svg/SVGFEGaussianBlurElement.cpp:
5489        (WebCore::SVGFEGaussianBlurElement::filterEffect):
5490        (WebCore::SVGFEGaussianBlurElement::build):
5491        * svg/SVGFEGaussianBlurElement.h:
5492        * svg/SVGFEImageElement.cpp:
5493        (WebCore::SVGFEImageElement::filterEffect):
5494        (WebCore::SVGFEImageElement::build):
5495        * svg/SVGFEImageElement.h:
5496        * svg/SVGFEMergeElement.cpp:
5497        (WebCore::SVGFEMergeElement::filterEffect):
5498        (WebCore::SVGFEMergeElement::build):
5499        * svg/SVGFEMergeElement.h:
5500        (WebCore::SVGFEMergeElement::contextElement):
5501        * svg/SVGFEOffsetElement.cpp:
5502        (WebCore::SVGFEOffsetElement::filterEffect):
5503        (WebCore::SVGFEOffsetElement::build):
5504        * svg/SVGFEOffsetElement.h:
5505        * svg/SVGFESpecularLightingElement.cpp:
5506        (WebCore::SVGFESpecularLightingElement::filterEffect):
5507        (WebCore::SVGFESpecularLightingElement::findLights):
5508        (WebCore::SVGFESpecularLightingElement::build):
5509        * svg/SVGFESpecularLightingElement.h:
5510        * svg/SVGFETileElement.cpp:
5511        (WebCore::SVGFETileElement::filterEffect):
5512        (WebCore::SVGFETileElement::build):
5513        * svg/SVGFETileElement.h:
5514        * svg/SVGFETurbulenceElement.cpp:
5515        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
5516        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
5517        (WebCore::SVGFETurbulenceElement::filterEffect):
5518        (WebCore::SVGFETurbulenceElement::build):
5519        * svg/SVGFETurbulenceElement.h:
5520        * svg/SVGFilterPrimitiveStandardAttributes.h:
5521        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
5522        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
5523        (WebCore::FEConvolveMatrix::create):
5524        (WebCore::FEConvolveMatrix::kernelSize):
5525        (WebCore::FEConvolveMatrix::setKernelSize):
5526        (WebCore::FEConvolveMatrix::kernel):
5527        (WebCore::FEConvolveMatrix::setKernel):
5528        (WebCore::FEConvolveMatrix::divisor):
5529        (WebCore::FEConvolveMatrix::setDivisor):
5530        (WebCore::FEConvolveMatrix::bias):
5531        (WebCore::FEConvolveMatrix::setBias):
5532        (WebCore::FEConvolveMatrix::targetOffset):
5533        (WebCore::FEConvolveMatrix::setTargetOffset):
5534        (WebCore::FEConvolveMatrix::edgeMode):
5535        (WebCore::FEConvolveMatrix::setEdgeMode):
5536        (WebCore::FEConvolveMatrix::kernelUnitLength):
5537        (WebCore::FEConvolveMatrix::setKernelUnitLength):
5538        (WebCore::FEConvolveMatrix::preserveAlpha):
5539        (WebCore::FEConvolveMatrix::setPreserveAlpha):
5540        (WebCore::FEConvolveMatrix::apply):
5541        (WebCore::FEConvolveMatrix::dump):
5542        (WebCore::operator<<):
5543        (WebCore::FEConvolveMatrix::externalRepresentation):
5544        * svg/graphics/filters/SVGFEConvolveMatrix.h:
5545        (WebCore::):
5546        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
5547        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
5548        (WebCore::FEDiffuseLighting::create):
5549        (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
5550        (WebCore::FEDiffuseLighting::lightingColor):
5551        (WebCore::FEDiffuseLighting::setLightingColor):
5552        (WebCore::FEDiffuseLighting::surfaceScale):
5553        (WebCore::FEDiffuseLighting::setSurfaceScale):
5554        (WebCore::FEDiffuseLighting::diffuseConstant):
5555        (WebCore::FEDiffuseLighting::setDiffuseConstant):
5556        (WebCore::FEDiffuseLighting::kernelUnitLengthX):
5557        (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
5558        (WebCore::FEDiffuseLighting::kernelUnitLengthY):
5559        (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
5560        (WebCore::FEDiffuseLighting::lightSource):
5561        (WebCore::FEDiffuseLighting::setLightSource):
5562        (WebCore::FEDiffuseLighting::apply):
5563        (WebCore::FEDiffuseLighting::dump):
5564        (WebCore::FEDiffuseLighting::externalRepresentation):
5565        * svg/graphics/filters/SVGFEDiffuseLighting.h:
5566        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
5567        (WebCore::FEDisplacementMap::FEDisplacementMap):
5568        (WebCore::FEDisplacementMap::create):
5569        (WebCore::FEDisplacementMap::xChannelSelector):
5570        (WebCore::FEDisplacementMap::setXChannelSelector):
5571        (WebCore::FEDisplacementMap::yChannelSelector):
5572        (WebCore::FEDisplacementMap::setYChannelSelector):
5573        (WebCore::FEDisplacementMap::scale):
5574        (WebCore::FEDisplacementMap::setScale):
5575        (WebCore::FEDisplacementMap::apply):
5576        (WebCore::FEDisplacementMap::dump):
5577        (WebCore::operator<<):
5578        (WebCore::FEDisplacementMap::externalRepresentation):
5579        * svg/graphics/filters/SVGFEDisplacementMap.h:
5580        (WebCore::):
5581        * svg/graphics/filters/SVGFEFlood.cpp:
5582        (WebCore::FEFlood::FEFlood):
5583        (WebCore::FEFlood::create):
5584        (WebCore::FEFlood::floodColor):
5585        (WebCore::FEFlood::setFloodColor):
5586        (WebCore::FEFlood::floodOpacity):
5587        (WebCore::FEFlood::setFloodOpacity):
5588        (WebCore::FEFlood::apply):
5589        (WebCore::FEFlood::dump):
5590        (WebCore::FEFlood::externalRepresentation):
5591        * svg/graphics/filters/SVGFEFlood.h:
5592        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
5593        (WebCore::FEGaussianBlur::FEGaussianBlur):
5594        (WebCore::FEGaussianBlur::create):
5595        (WebCore::FEGaussianBlur::stdDeviationX):
5596        (WebCore::FEGaussianBlur::setStdDeviationX):
5597        (WebCore::FEGaussianBlur::stdDeviationY):
5598        (WebCore::FEGaussianBlur::setStdDeviationY):
5599        (WebCore::FEGaussianBlur::apply):
5600        (WebCore::FEGaussianBlur::dump):
5601        (WebCore::FEGaussianBlur::externalRepresentation):
5602        * svg/graphics/filters/SVGFEGaussianBlur.h:
5603        * svg/graphics/filters/SVGFEImage.cpp:
5604        (WebCore::FEImage::FEImage):
5605        (WebCore::FEImage::create):
5606        (WebCore::FEImage::~FEImage):
5607        (WebCore::FEImage::cachedImage):
5608        (WebCore::FEImage::apply):
5609        (WebCore::FEImage::dump):
5610        (WebCore::FEImage::externalRepresentation):
5611        * svg/graphics/filters/SVGFEImage.h:
5612        * svg/graphics/filters/SVGFEMerge.cpp:
5613        (WebCore::FEMerge::FEMerge):
5614        (WebCore::FEMerge::create):
5615        (WebCore::FEMerge::mergeInputs):
5616        (WebCore::FEMerge::setMergeInputs):
5617        (WebCore::FEMerge::apply):
5618        (WebCore::FEMerge::dump):
5619        (WebCore::FEMerge::externalRepresentation):
5620        * svg/graphics/filters/SVGFEMerge.h:
5621        * svg/graphics/filters/SVGFEMorphology.cpp:
5622        (WebCore::FEMorphology::FEMorphology):
5623        (WebCore::FEMorphology::create):
5624        (WebCore::FEMorphology::morphologyOperator):
5625        (WebCore::FEMorphology::setMorphologyOperator):
5626        (WebCore::FEMorphology::radiusX):
5627        (WebCore::FEMorphology::setRadiusX):
5628        (WebCore::FEMorphology::radiusY):
5629        (WebCore::FEMorphology::setRadiusY):
5630        (WebCore::FEMorphology::apply):
5631        (WebCore::FEMorphology::dump):
5632        (WebCore::operator<<):
5633        (WebCore::FEMorphology::externalRepresentation):
5634        * svg/graphics/filters/SVGFEMorphology.h:
5635        (WebCore::):
5636        * svg/graphics/filters/SVGFEOffset.cpp:
5637        (WebCore::FEOffset::FEOffset):
5638        (WebCore::FEOffset::create):
5639        (WebCore::FEOffset::dx):
5640        (WebCore::FEOffset::setDx):
5641        (WebCore::FEOffset::dy):
5642        (WebCore::FEOffset::setDy):
5643        (WebCore::FEOffset::apply):
5644        (WebCore::FEOffset::dump):
5645        (WebCore::FEOffset::externalRepresentation):
5646        * svg/graphics/filters/SVGFEOffset.h:
5647        * svg/graphics/filters/SVGFESpecularLighting.cpp:
5648        (WebCore::FESpecularLighting::FESpecularLighting):
5649        (WebCore::FESpecularLighting::create):
5650        (WebCore::FESpecularLighting::~FESpecularLighting):
5651        (WebCore::FESpecularLighting::lightingColor):
5652        (WebCore::FESpecularLighting::setLightingColor):
5653        (WebCore::FESpecularLighting::surfaceScale):
5654        (WebCore::FESpecularLighting::setSurfaceScale):
5655        (WebCore::FESpecularLighting::specularConstant):
5656        (WebCore::FESpecularLighting::setSpecularConstant):
5657        (WebCore::FESpecularLighting::specularExponent):
5658        (WebCore::FESpecularLighting::setSpecularExponent):
5659        (WebCore::FESpecularLighting::kernelUnitLengthX):
5660        (WebCore::FESpecularLighting::setKernelUnitLengthX):
5661        (WebCore::FESpecularLighting::kernelUnitLengthY):
5662        (WebCore::FESpecularLighting::setKernelUnitLengthY):
5663        (WebCore::FESpecularLighting::lightSource):
5664        (WebCore::FESpecularLighting::setLightSource):
5665        (WebCore::FESpecularLighting::apply):
5666        (WebCore::FESpecularLighting::dump):
5667        (WebCore::FESpecularLighting::externalRepresentation):
5668        * svg/graphics/filters/SVGFESpecularLighting.h:
5669        * svg/graphics/filters/SVGFETile.cpp:
5670        (WebCore::FETile::FETile):
5671        (WebCore::FETile::create):
5672        (WebCore::FETile::apply):
5673        (WebCore::FETile::dump):
5674        (WebCore::FETile::externalRepresentation):
5675        * svg/graphics/filters/SVGFETile.h:
5676        * svg/graphics/filters/SVGFETurbulence.cpp:
5677        (WebCore::FETurbulence::FETurbulence):
5678        (WebCore::FETurbulence::create):
5679        (WebCore::FETurbulence::type):
5680        (WebCore::FETurbulence::setType):
5681        (WebCore::FETurbulence::baseFrequencyY):
5682        (WebCore::FETurbulence::setBaseFrequencyY):
5683        (WebCore::FETurbulence::baseFrequencyX):
5684        (WebCore::FETurbulence::setBaseFrequencyX):
5685        (WebCore::FETurbulence::seed):
5686        (WebCore::FETurbulence::setSeed):
5687        (WebCore::FETurbulence::numOctaves):
5688        (WebCore::FETurbulence::setNumOctaves):
5689        (WebCore::FETurbulence::stitchTiles):
5690        (WebCore::FETurbulence::setStitchTiles):
5691        (WebCore::FETurbulence::apply):
5692        (WebCore::FETurbulence::dump):
5693        (WebCore::operator<<):
5694        (WebCore::FETurbulence::externalRepresentation):
5695        * svg/graphics/filters/SVGFETurbulence.h:
5696        (WebCore::):
5697        * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
5698        * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
5699        * svg/graphics/filters/cg/SVGFEFloodCg.mm:
5700        * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
5701        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
5702        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
5703        (WebCore::getVectorForChannel):
5704        * svg/graphics/filters/cg/SVGFEImageCg.mm:
5705        * svg/graphics/filters/cg/SVGFEMergeCg.mm:
5706        * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
5707        * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
5708        * svg/graphics/filters/cg/SVGFETileCg.mm:
5709
57102008-07-09  Mark Rowe  <mrowe@apple.com>
5711
5712        Reviewed by Geoff Garen.
5713
5714        Don't warn about deprecated functions in production builds.
5715
5716        * Configurations/Base.xcconfig:
5717        * Configurations/DebugRelease.xcconfig:
5718
57192008-07-09  Brady Eidson  <beidson@apple.com>
5720
5721        Reviewed by Darin
5722
5723        <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
5724        has been installed in a frame tree.
5725
5726        The root of this problem was that calling init() on a new frame could end up calling arbitrary
5727        javascript that might end up removing the frame from the tree.  This opened up a small can of worms
5728        such as the frame not having yet been installed in its frame tree, and other assumed behavior while
5729        destroying the frame.
5730
5731        Test: fast/loader/frame-creation-removal.html
5732
5733        * loader/FrameLoader.cpp:
5734        (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
5735          the document and parser because they don't exist, and this frame is on its way out.
5736        (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
5737          because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
5738          false if the Frame is being destroyed.
5739
57402008-07-09  Dean Jackson  <dino@apple.com>
5741
5742        Changed to use the correct license in header comment (via Darin)
5743
5744        * css/WebKitCSSTransformValue.idl:
5745
57462008-07-09  Dean Jackson  <dino@apple.com>
5747
5748        Add DOM interface for WebKitCSSTransformValue.
5749        https://bugs.webkit.org/show_bug.cgi?id=19863
5750
5751        Reviewed by Hyatt.
5752
5753        * bindings/objc/DOMInternal.h:
5754        * css/WebKitCSSTransformValue.idl: Added.
5755
5756        * bindings/scripts/CodeGeneratorObjC.pm:
5757            make sure new class inherits from CSSValue not Node
5758
5759        * DerivedSources.make:
5760        * GNUmakefile.am:
5761        * WebCore.pro:
5762        * WebCore.vcproj/WebCore.vcproj:
5763        * WebCore.xcodeproj/project.pbxproj:
5764        * WebCoreSources.bkl:
5765            Adding new generated files
5766
57672008-07-09  Maxime Britto  <britto@apple.com>
5768
5769        Reviewed by Adele.
5770
5771        http://bugs.webkit.org/show_bug.cgi?id=14227
5772        Add the middle click panning feature to the windows release.
5773        Details on almost each method below.
5774        Manual test is included in the patch.
5775
5776        * ChangeLog:
5777        * WebCore.vcproj/WebCore.vcproj:
5778        * manual-tests/panScroll.html: Added.
5779        * manual-tests/resources/big-page.html: Added.
5780        * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
5781        (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
5782        (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
5783        (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
5784        (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
5785        (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
5786        (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
5787        (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
5788        * page/EventHandler.h:
5789        (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
5790        (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
5791        * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
5792        * platform/gtk/ScrollViewGtk.cpp:
5793        (WebCore::ScrollView::isScrollable): Not implemented : returns true
5794        * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
5795        (WebCore::ScrollView::isScrollable):
5796        * platform/qt/ScrollViewQt.cpp:
5797        (WebCore::ScrollView::isScrollable): Not implemented : returns true
5798        * platform/win/ScrollViewWin.cpp:
5799        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
5800        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
5801        (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method  
5802        (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
5803        (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
5804        (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
5805        (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
5806        (WebCore::ScrollView::paint): Modified to draw the icon if needed.
5807        * platform/wx/ScrollViewWx.cpp:
5808        (WebCore::ScrollView::isScrollable): Not implemented : returns true
5809        * rendering/RenderLayer.cpp:
5810        (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
5811        * rendering/RenderLayer.h:
5812        * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
5813        (WebCore::RenderListBox::panScroll):
5814        (WebCore::RenderListBox::scrollToward):
5815        (WebCore::RenderListBox::autoscroll):
5816        * rendering/RenderListBox.h:
5817        (WebCore::RenderListBox::shouldPanScroll):
5818        * rendering/RenderObject.cpp: 
5819        (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
5820        (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
5821        * rendering/RenderObject.h:
5822        (WebCore::RenderObject::stopPanScroll): 
5823
58242008-07-09  Dean Jackson  <dino@apple.com>
5825
5826        Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
5827        the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
5828        https://bugs.webkit.org/show_bug.cgi?id=19861
5829
5830        Reviewed by Hyatt
5831
5832        * css/CSSParser.cpp:
5833        * css/CSSStyleSelector.cpp:
5834        * css/CSSTransformValue.cpp: Removed.
5835        * css/CSSTransformValue.h: Removed.
5836        * css/CSSValueList.h:
5837        * css/WebKitCSSTransformValue.cpp: Added.
5838        * css/WebKitCSSTransformValue.h: Added.
5839
5840        * GNUmakefile.am:
5841        * WebCore.order:
5842        * WebCore.pro:
5843        * WebCore.vcproj/WebCore.vcproj:
5844        * WebCore.xcodeproj/project.pbxproj:
5845        * WebCoreSources.bkl:
5846            updated for new file names
5847        
5848
58492008-07-09  David Hyatt  <hyatt@apple.com>
5850
5851        Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
5852        change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
5853        completion.
5854
5855        Reviewed by Dean
5856
5857        * manual-tests/transitions.html:
5858        * manual-tests/transitions2.html:
5859        * page/AnimationController.cpp:
5860        (WebCore::ImplicitAnimation::reset):
5861        (WebCore::CompositeImplicitAnimation::animate):
5862        (WebCore::AnimationControllerPrivate::get):
5863        (WebCore::AnimationController::updateImplicitAnimations):
5864
58652008-07-09  Michelangelo De Simone  <m.des@mac.com>
5866
5867        Reviewed by Adele.
5868
5869        Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
5870
5871        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
5872        Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
5873        * dom/Node.h: Added base isTextControl().
5874        * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
5875        * html/HTMLTextAreaElement.h: Added isTextControl().
5876
58772008-07-09  Rob Buis  <buis@kde.org>
5878
5879        Reviewed by Eric.
5880
5881        https://bugs.webkit.org/show_bug.cgi?id=15431
5882        SVGRenderStyle should store pre-modified resource URIs
5883
5884        Store pre-modified resource URIs to decrease string
5885        operations during layout/rendering.
5886
5887        * css/SVGCSSStyleSelector.cpp:
5888        (WebCore::CSSStyleSelector::applySVGProperty):
5889        * rendering/RenderPath.cpp:
5890        (WebCore::RenderPath::absoluteClippedOverflowRect):
5891        (WebCore::RenderPath::drawMarkersIfNeeded):
5892        * rendering/RenderSVGContainer.cpp:
5893        (WebCore::RenderSVGContainer::selfWillPaint):
5894        (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
5895        * rendering/RenderSVGImage.cpp:
5896        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
5897        * rendering/RenderSVGRoot.cpp:
5898        (WebCore::RenderSVGRoot::paint):
5899        (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
5900        * rendering/RenderSVGText.cpp:
5901        (WebCore::RenderSVGText::absoluteClippedOverflowRect):
5902        * rendering/SVGRenderSupport.cpp:
5903        (WebCore::prepareToRenderSVGContent):
5904
59052008-07-09  Anders Carlsson  <andersca@apple.com>
5906
5907        Reviewed by Mitz.
5908
5909        Remove an unused instance variable.
5910
5911        * loader/DocumentLoader.h:
5912
59132008-07-09  Dan Bernstein  <mitz@apple.com>
5914
5915        Reviewed by Anders Carlsson.
5916
5917        - remove unused #includes
5918
5919        * dom/XMLTokenizer.cpp:
5920        * html/PreloadScanner.cpp:
5921        * loader/CachedCSSStyleSheet.cpp:
5922        * loader/CachedScript.cpp:
5923        * loader/CachedXBLDocument.cpp:
5924        * loader/CachedXSLStyleSheet.cpp:
5925        * page/mac/FrameMac.mm:
5926        * xml/XSLTProcessor.cpp:
5927
59282008-07-08  Geoffrey Garen  <ggaren@apple.com>
5929
5930        Reviewed by Oliver Hunt.
5931        
5932        Only artificially mark JS DOM wrappers if they have custom properties.
5933        
5934        21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
5935        
5936        No, that is not a typo.
5937
5938        * bindings/js/JSDOMBinding.cpp:
5939        (WebCore::ScriptInterpreter::markDOMNodesForDocument):
5940
59412008-07-08  Kevin Watters  <kevinwatters@gmail.com>
5942
5943        Reviewed by Kevin Ollivier.
5944
5945        Fix to previous patch for handling mouse up events.
5946        
5947        https://bugs.webkit.org/show_bug.cgi?id=18464
5948
5949        * platform/wx/MouseEventWx.cpp:
5950        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
5951
59522008-07-08  Dan Bernstein  <mitz@apple.com>
5953
5954        Reviewed by Brady Eidson.
5955
5956        - initialize the Archives log channel's state
5957
5958        * platform/mac/LoggingMac.mm:
5959        (WebCore::InitializeLoggingChannelsIfNecessary):
5960
59612008-07-08  Kevin McCullough  <kmccullough@apple.com>
5962
5963        Added manual test for the new heavy view.
5964
5965        * manual-tests/inspector/profiler-test-heavy-view.html: Added.
5966
59672008-07-08  Darin Adler  <darin@apple.com>
5968
5969        Reviewed by Mitz.
5970
5971        - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
5972          looks wrong due to OpenCube QuickMenu appVersion check
5973
5974        * page/Navigator.cpp:
5975        (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
5976
59772008-07-08  Dan Bernstein  <mitz@apple.com>
5978
5979        Reviewed by John Sullivan.
5980
5981        - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
5982
5983        Added a setting, updatesWhenOffscreen(), which controls whether an
5984        offscreen web view gets marked as needing update when its contents
5985        change (the existing behavior) or not (a new behavior), in which case it
5986        will be marked as needing update just before it goes on screen. The
5987        existing behavior (updating while offscreen) remains the default.
5988
5989        * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
5990        * page/FrameView.cpp:
5991        (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
5992        value from settings.
5993        * page/FrameView.h:
5994        * page/Settings.cpp:
5995        (WebCore::Settings::setUpdatesWhenOffscreen): Added.
5996        * page/Settings.h:
5997        (WebCore::Settings::updatesWhenOffscreen): Added.
5998        * platform/ScrollView.h:
5999        * platform/mac/ScrollViewMac.mm:
6000        (WebCore::ScrollView::updateContents): Added code to return early and
6001        not call -setNeedsDisplayInRect: if the view is not in a visible window
6002        and the setting is not to update when offscreen.
6003
60042008-07-08  Simon Hausmann  <hausmann@webkit.org>
6005
6006        Fix the build with enabled SVG filters.
6007
6008        * svg/SVGFESpecularLightingElement.cpp: The last argument to
6009        ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
6010        the attr suffix.
6011
60122008-07-07  Sam Weinig  <sam@webkit.org>
6013
6014        Reviewed by Anders Carlsson.
6015
6016        Remove extraneous null check.
6017
6018        * dom/Node.cpp:
6019        (WebCore::Node::querySelector):
6020        (WebCore::Node::querySelectorAll):
6021
60222008-07-07  Sam Weinig  <sam@webkit.org>
6023
6024        Reviewed by Anders Carlsson.
6025
6026        Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
6027        Use of CSS3 Namespaces syntax in Selectors API should throw an exception
6028
6029        - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
6030          used in a selector passed to querySelector or querySelectorAll.
6031
6032        Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
6033
6034        * dom/Node.cpp:
6035        (WebCore::selectorNeedsNamespaceResolution):
6036        (WebCore::Node::querySelector):
6037        (WebCore::Node::querySelectorAll):
6038
60392008-07-07  Simon Fraser  <simon.fraser@apple.com>
6040
6041        Reviewed by Darin.
6042
6043        Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
6044        nodeIterator with filter fails on documents not in a frame
6045
6046        Tests: traversal/node-iterator-009.html
6047               traversal/tree-walker-006.html
6048
6049        * bindings/js/JSNodeFilterCondition.cpp:
6050        * bindings/js/JSNodeFilterCondition.h:
6051        * bindings/js/JSNodeFilterCustom.cpp:
6052        * bindings/js/JSNodeIteratorCustom.cpp:
6053        * bindings/js/JSTreeWalkerCustom.cpp:
6054        * bindings/objc/DOM.mm:
6055        * dom/NodeFilter.cpp:
6056        * dom/NodeFilter.h:
6057        * dom/NodeFilterCondition.cpp:
6058        * dom/NodeFilterCondition.h:
6059        * dom/NodeIterator.cpp:
6060        * dom/NodeIterator.h:
6061        * dom/Traversal.cpp:
6062        * dom/Traversal.h:
6063        * dom/TreeWalker.cpp:
6064        * dom/TreeWalker.h:
6065
60662008-07-07  Adele Peterson  <adele@apple.com>
6067
6068        Reviewed by Dan Bernstein.
6069
6070        Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
6071        <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
6072
6073        * page/DragController.cpp: (WebCore::DragController::concludeDrag):
6074        Check that the file control is enabled before taking dropped files.
6075
60762008-07-07  Adele Peterson  <adele@apple.com>
6077
6078        Reviewed by Beth.
6079
6080        Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
6081
6082        Change default volume setting to 1.0.
6083
6084        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
6085        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
6086
60872008-07-07  Darin Adler  <darin@apple.com>
6088
6089        Reviewed by Mark Rowe.
6090
6091        - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
6092
6093        The old version of the OpenCube QuickMenu library used on this site still has code
6094        that detects Netscape 4 by checking appVersion to see if it has the substring "4."
6095        in it. We decided to special-case the filename of the script and tweak the appVersion
6096        for files with that name.
6097
6098        * bindings/js/ScriptController.cpp:
6099        (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
6100        m_sourceURL. Use false instead of 0 to initialize a boolean.
6101        (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
6102        Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
6103        maintained the value of m_processingInlineCode, since the old code set it to
6104        false rather than restoring it. Renamed a local variable named sourceURL to
6105        exceptionSourceURL for clarity.
6106        (WebCore::ScriptController::processingUserGesture): Code that formerly used
6107        m_processingInlineCode to detect that it was evaluating code with no URL now
6108        uses m_sourceURL to do the same check.
6109
6110        * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
6111        been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
6112        removed m_processingInlineCode.
6113
6114        * page/Navigator.cpp:
6115        (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
6116        a source URL ending in "/dqm_script.js" and if the settings say we should do
6117        site-specific quirks (really JavaScript-library-specific in this case).
6118        (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
6119
61202008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
6121
6122        Reviewed by Geoff.
6123
6124        Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
6125        <https://bugs.webkit.org/show_bug.cgi?id=19907>
6126
6127        Clear exceptions set on ExecStates before returning from NPAPI
6128        callbacks, in order to avoid causing problems for the next script that
6129        executes.
6130
6131        While fixing this bug, the question was raised of whether we are
6132        correctly propagating exception information back to the caller:
6133
6134        Bug 19936: Correctly propagate exception information from NPAPI callbacks
6135        <https://bugs.webkit.org/show_bug.cgi?id=19936>
6136
6137        * bridge/NP_jsobject.cpp:
6138        (_NPN_InvokeDefault):
6139        (_NPN_Invoke):
6140        (_NPN_Evaluate):
6141        (_NPN_GetProperty):
6142        (_NPN_SetProperty):
6143        (_NPN_RemoveProperty):
6144        (_NPN_HasProperty):
6145        (_NPN_HasMethod):
6146        (_NPN_Enumerate):
6147
61482008-07-07  Dan Bernstein  <mitz@apple.com>
6149
6150        Reviewed by Darin Adler.
6151
6152        - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
6153
6154        * css/CSSFontFaceSource.cpp:
6155        (WebCore::CSSFontFaceSource::getFontData): Added a null check because
6156        docLoader() can return 0 now.
6157        * css/CSSFontSelector.cpp:
6158        (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
6159        (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
6160        (WebCore::CSSFontSelector::fontLoaded): Ditto.
6161        (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
6162        (WebCore::fontDataForGenericFamily): Added a null check of document.
6163        * css/CSSFontSelector.h:
6164        (WebCore::CSSFontSelector::clearDocument): Added.
6165        * css/CSSStyleSelector.cpp:
6166        (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
6167        CSSFontSelector::clearDocument(). When the style selector is destroyed,
6168        there is no guarantee that the document will continue to exist.
6169
61702008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
6171
6172        Not reviewed.
6173
6174        No svg build fix.
6175
6176        * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
6177        * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
6178
61792008-07-07  Michelangelo De Simone  <m.des@mac.com>
6180
6181        Reviewed by Adele.
6182
6183        Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
6184
6185        URL: http://www.w3.org/TR/web-forms-2/#relation
6186
6187        Tests: fast/css/readonly-pseudoclass-opera-001.html
6188               fast/css/readonly-pseudoclass-opera-002.html
6189               fast/css/readonly-pseudoclass-opera-003.html
6190               fast/css/readonly-pseudoclass-opera-004.html
6191               fast/css/readonly-pseudoclass-opera-005.html
6192
6193        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
6194        Added "read-only" and "read-write" values for PseudoType extraction.
6195        * css/CSSSelector.h: (WebCore::CSSSelector::):
6196        Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
6197        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6198        Checks to determine whether to match :read-only and :read-write pseudoclasses on
6199        text controls.
6200
62012008-07-07  Sam Weinig  <sam@webkit.org>
6202
6203        Reviewed by Geoffrey Garen.
6204
6205        Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
6206        querySelectorAll should throw an exception if a NSResolver is passed in.
6207
6208        - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
6209          as the second argument to querySelector or querySelectorAll.
6210
6211        Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
6212
6213        * bindings/js/JSDocumentCustom.cpp:
6214        (WebCore::JSDocument::querySelector):
6215        (WebCore::JSDocument::querySelectorAll):
6216        * bindings/js/JSElementCustom.cpp:
6217        (WebCore::JSElement::querySelector):
6218        (WebCore::JSElement::querySelectorAll):
6219        * dom/Document.idl:
6220        * dom/Element.idl:
6221
62222008-07-07  Brady Eidson  <beidson@apple.com>
6223
6224        Reviewed by Mitz and Geoff
6225
6226        Test: fast/loader/empty-ref-versus-no-ref.html
6227
6228        Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
6229        "all DOM operations stop working when location.hash set to '#'"
6230
6231        The underlying problem is that KURL didn't really know the difference between "empty ref"
6232        and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
6233        affecting removal of the ref, which ended up causing an infinite load load, also killing
6234        javascript.
6235
6236        * platform/KURL.cpp:
6237        (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
6238          meaning of "no ref at all" while empty means "empty ref"
6239
62402008-07-07  Kevin McCullough  <kmccullough@apple.com>
6241
6242        Reviewed by Darin.
6243
6244        Because profiler.h no longer #includes profile.h we need to explicitly
6245        include it in console.cpp.
6246
6247        * page/Console.cpp:
6248
62492008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
6250
6251        Not reviewed. Build fix.
6252
6253        Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
6254
6255        * svg/SVGFEColorMatrixElement.cpp:
6256        * svg/SVGFEDiffuseLightingElement.cpp:
6257        * svg/SVGFEImageElement.cpp:
6258        * svg/SVGFELightElement.cpp:
6259        * svg/SVGFESpecularLightingElement.cpp:
6260
62612008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
6262
6263        Reviewed by Antti.
6264
6265        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
6266
6267        Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
6268        Remove unneccessary parameters of all macros.
6269
6270        SVG Errata states: "All SVG DOM objects that directly correspond to an
6271        attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
6272        means that any changes made to the attribute are immediately reflected in the
6273        corresponding SVG DOM object." (see linked URL on bug report)
6274
6275        Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
6276        element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
6277
6278        Add a new synchronization layer to handle SVG DOM -> XML changes.
6279
6280        Added test: svg/custom/svg-xml-dom-sync.html
6281        Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
6282
6283        * dom/Element.cpp:
6284        (WebCore::Element::Element): Initialize the two new bits.
6285        (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
6286        (WebCore::Element::getAttribute): Ditto.
6287        (WebCore::Element::hasAttributes): Ditto.
6288        * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
6289        (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
6290        * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
6291        * svg/SVGAElement.cpp:
6292        * svg/SVGAElement.h:
6293        * svg/SVGAnimatedTemplate.h:
6294        (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
6295        * svg/SVGCircleElement.cpp:
6296        (WebCore::SVGCircleElement::SVGCircleElement):
6297        * svg/SVGCircleElement.h:
6298        * svg/SVGClipPathElement.cpp:
6299        * svg/SVGClipPathElement.h:
6300        * svg/SVGComponentTransferFunctionElement.cpp:
6301        * svg/SVGComponentTransferFunctionElement.h:
6302        * svg/SVGCursorElement.cpp:
6303        (WebCore::SVGCursorElement::SVGCursorElement):
6304        * svg/SVGCursorElement.h:
6305        * svg/SVGElement.cpp:
6306        (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
6307        (WebCore::SVGElement::setSynchronizedSVGAttributes):
6308        * svg/SVGElement.h:
6309        (WebCore::SVGElement::invokeSVGPropertySynchronizer):
6310        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
6311        (WebCore::SVGElement::addSVGPropertySynchronizer):
6312        * svg/SVGEllipseElement.cpp:
6313        * svg/SVGEllipseElement.h:
6314        * svg/SVGExternalResourcesRequired.cpp:
6315        * svg/SVGExternalResourcesRequired.h:
6316        * svg/SVGFEBlendElement.cpp:
6317        * svg/SVGFEBlendElement.h:
6318        * svg/SVGFEColorMatrixElement.cpp:
6319        * svg/SVGFEColorMatrixElement.h:
6320        * svg/SVGFEComponentTransferElement.cpp:
6321        * svg/SVGFEComponentTransferElement.h:
6322        * svg/SVGFECompositeElement.cpp:
6323        * svg/SVGFECompositeElement.h:
6324        * svg/SVGFEDiffuseLightingElement.cpp:
6325        * svg/SVGFEDiffuseLightingElement.h:
6326        * svg/SVGFEDisplacementMapElement.cpp:
6327        * svg/SVGFEDisplacementMapElement.h:
6328        * svg/SVGFEGaussianBlurElement.cpp:
6329        * svg/SVGFEGaussianBlurElement.h:
6330        * svg/SVGFEImageElement.cpp:
6331        * svg/SVGFEImageElement.h:
6332        * svg/SVGFELightElement.cpp:
6333        * svg/SVGFELightElement.h:
6334        * svg/SVGFEMergeNodeElement.cpp:
6335        * svg/SVGFEMergeNodeElement.h:
6336        * svg/SVGFEOffsetElement.cpp:
6337        * svg/SVGFEOffsetElement.h:
6338        * svg/SVGFESpecularLightingElement.cpp:
6339        * svg/SVGFESpecularLightingElement.h:
6340        * svg/SVGFETileElement.cpp:
6341        * svg/SVGFETileElement.h:
6342        * svg/SVGFETurbulenceElement.cpp:
6343        * svg/SVGFETurbulenceElement.h:
6344        * svg/SVGFilterElement.cpp:
6345        * svg/SVGFilterElement.h:
6346        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
6347        * svg/SVGFilterPrimitiveStandardAttributes.h:
6348        * svg/SVGFitToViewBox.cpp:
6349        * svg/SVGFitToViewBox.h:
6350        * svg/SVGForeignObjectElement.cpp:
6351        * svg/SVGForeignObjectElement.h:
6352        * svg/SVGGradientElement.cpp:
6353        * svg/SVGGradientElement.h:
6354        * svg/SVGImageElement.cpp:
6355        * svg/SVGImageElement.h:
6356        * svg/SVGLineElement.cpp:
6357        * svg/SVGLineElement.h:
6358        * svg/SVGLinearGradientElement.cpp:
6359        * svg/SVGLinearGradientElement.h:
6360        * svg/SVGMarkerElement.cpp:
6361        * svg/SVGMarkerElement.h:
6362        * svg/SVGMaskElement.cpp:
6363        * svg/SVGMaskElement.h:
6364        * svg/SVGPathElement.cpp:
6365        * svg/SVGPathElement.h:
6366        * svg/SVGPatternElement.cpp:
6367        * svg/SVGPatternElement.h:
6368        * svg/SVGRadialGradientElement.cpp:
6369        * svg/SVGRadialGradientElement.h:
6370        * svg/SVGRectElement.cpp:
6371        * svg/SVGRectElement.h:
6372        * svg/SVGSVGElement.cpp:
6373        * svg/SVGSVGElement.h:
6374        * svg/SVGScriptElement.h:
6375        * svg/SVGStopElement.cpp:
6376        * svg/SVGStopElement.h:
6377        * svg/SVGStyledElement.cpp:
6378        * svg/SVGStyledElement.h:
6379        * svg/SVGStyledTransformableElement.cpp:
6380        * svg/SVGStyledTransformableElement.h:
6381        * svg/SVGSymbolElement.h:
6382        * svg/SVGTextContentElement.cpp:
6383        * svg/SVGTextContentElement.h:
6384        * svg/SVGTextElement.cpp:
6385        * svg/SVGTextElement.h:
6386        * svg/SVGTextPathElement.cpp:
6387        * svg/SVGTextPathElement.h:
6388        * svg/SVGTextPositioningElement.cpp:
6389        * svg/SVGTextPositioningElement.h:
6390        * svg/SVGURIReference.cpp:
6391        * svg/SVGURIReference.h:
6392        * svg/SVGUseElement.cpp:
6393        * svg/SVGUseElement.h:
6394        * svg/SVGViewElement.h:
6395        * svg/SynchronizableTypeWrapper.h: Added.
6396
63972008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
6398
6399        Reviewed by Oliver.
6400
6401        Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
6402
6403        Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
6404
6405        Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
6406        Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
6407        in SVGAnimatedTemplate.
6408
6409        * svg/SVGAnimatedTemplate.h:
6410        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
6411        (WebCore::lookupOrCreateWrapper):
6412        (WebCore::SVGAnimatedTypeValue::null):
6413        (WebCore::SVGAnimatedTypeValue::toString):
6414        (WebCore::):
6415        * svg/SVGDocumentExtensions.h:
6416        (WebCore::SVGDocumentExtensions::baseValue):
6417        * svg/SVGLengthList.cpp:
6418        (WebCore::SVGLengthList::valueAsString):
6419        * svg/SVGLengthList.h:
6420        * svg/SVGNumberList.cpp:
6421        (WebCore::SVGNumberList::valueAsString):
6422        * svg/SVGNumberList.h:
6423        * svg/SVGPreserveAspectRatio.cpp:
6424        (WebCore::SVGPreserveAspectRatio::valueAsString):
6425        * svg/SVGPreserveAspectRatio.h:
6426        * svg/SVGTransformList.cpp:
6427        (SVGTransformList::valueAsString):
6428        * svg/SVGTransformList.h:
6429
64302008-07-06  Sam Weinig  <sam@webkit.org>
6431
6432        Reviewed by Dan Bernstein.
6433
6434        Rename "Access-Contol-Origin" to "Origin" to match the latest
6435        Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
6436
6437        * xml/XMLHttpRequest.cpp:
6438        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
6439        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
6440        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
6441
64422008-07-06  Dan Bernstein  <mitz@apple.com>
6443
6444        - try to fix the Windows build
6445
6446        * WebCore.vcproj/WebCore.vcproj:
6447
64482008-07-06  Dan Bernstein  <mitz@apple.com>
6449
6450        - add missing brace
6451
6452        * platform/graphics/qt/FontCacheQt.cpp:
6453
64542008-07-06  Dan Bernstein  <mitz@apple.com>
6455
6456        - try to fix the Qt build
6457
6458        * platform/graphics/qt/FontCacheQt.cpp:
6459        (WebCore::FontCache::addClient):
6460        (WebCore::FontCache::removeClient):
6461
64622008-07-06  Sam Weinig  <sam@webkit.org>
6463
6464        Reviewed by Cameron Zwarich.
6465
6466        Add #include for kjs/protect.h.
6467
6468        * xml/XMLHttpRequest.cpp:
6469        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
6470
64712008-07-06  David Kilzer  <ddkilzer@apple.com>
6472
6473        Save a few more bits in RenderStyle
6474
6475        Reviewed by Darin.
6476
6477        No test cases added since there is no change in behavior.
6478
6479        This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
6480        WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
6481        and WebCore::RenderStyle::noninherited_flags from using 49 bits to
6482        47 bits.
6483
6484        * rendering/style/RenderStyle.h:
6485        (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
6486        since EMarqueeBehavior has 4 items.
6487        (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
6488        4 bits to 3 bits since ETextAlign has 8 items.
6489        (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
6490        4 bits to 3 bits since EOverflow has 6 items.
6491        (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
6492
64932008-07-06  Dan Bernstein  <mitz@apple.com>
6494
6495        Reviewed by Darin Adler.
6496
6497        - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
6498
6499        * css/CSSFontSelector.cpp:
6500        (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
6501        FontCache::addClient().
6502        (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
6503        FontCache::removeClient().
6504        (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
6505        font cache when it is invalidated, and ensures that the document is
6506        updated.
6507
6508        * css/CSSFontSelector.h:
6509
6510        * platform/graphics/Font.cpp:
6511        (WebCore::Font::operator==): Added code to compare the font fallback
6512        lists' font cache generations.
6513
6514        * platform/graphics/FontCache.cpp:
6515        (WebCore::FontCache::addClient): Added.
6516        (WebCore::FontCache::removeClient): Added.
6517        (WebCore::FontCache::generation): Added.
6518        (WebCore::FontCache::invalidate): Added. Deletes the platform data
6519        cache, increments the generation counter, and notifies all clients.
6520
6521        * platform/graphics/FontCache.h:
6522
6523        * platform/graphics/FontFallbackList.cpp:
6524        (WebCore::FontFallbackList::FontFallbackList): Added initialization of
6525        m_generation.
6526        (WebCore::FontFallbackList::invalidate): Added code to reset
6527        m_generation.
6528        (WebCore::FontFallbackList::fontDataAt): Added an assertion.
6529        (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
6530        (WebCore::FontFallbackList::setPlatformFont): Ditto.
6531
6532        * platform/graphics/FontFallbackList.h:
6533        (WebCore::FontFallbackList::generation): Added. Returns the font cache
6534        generation used to populate the list.
6535
6536        * platform/graphics/FontSelector.h:
6537        (WebCore::FontSelector::fontCacheInvalidated): Added.
6538
6539        * platform/graphics/mac/FontCacheMac.mm:
6540        (WebCore::fontCacheATSNotificationCallback): Added. Calls
6541        FontCache::invalidate().
6542        (WebCore::FontCache::platformInit): Added code to register for ATS
6543        notifications.
6544
6545        * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
6546
65472008-07-05  Sam Weinig  <sam@webkit.org>
6548
6549        Rubber-stamped by Cameron Zwarich.
6550
6551        Rename list.h/cpp to ArgList.h/cpp.
6552
6553        * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
6554        * ForwardingHeaders/kjs/list.h: Removed.
6555        * WebCore.vcproj/WebCore.vcproj:
6556        * bridge/qt/qt_instance.cpp:
6557        * page/Console.cpp:
6558
65592008-07-05  Sam Weinig  <sam@webkit.org>
6560
6561        Rubber-stamped by Cameron Zwarich.
6562
6563        Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
6564        the functions on the global object out of JSFunction.h/cpp.
6565
6566        * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
6567        * bindings/js/JSDOMBinding.cpp:
6568
65692008-07-05  Dan Bernstein  <mitz@apple.com>
6570
6571        Rubber-stamped by Sam Weinig.
6572
6573        - rename BidiIterator and BidiState
6574
6575        Renamed BidiIterator to InlineIterator and BidiState
6576        to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
6577        to "resolver".
6578
6579        * rendering/RenderBlock.h:
6580        * rendering/RootInlineBox.h:
6581        * rendering/bidi.cpp:
6582        (WebCore::InlineIterator::InlineIterator):
6583        (WebCore::operator==):
6584        (WebCore::operator!=):
6585        (WebCore::bidiNext):
6586        (WebCore::bidiFirst):
6587        (WebCore::InlineIterator::increment):
6588        (WebCore::InlineBidiResolver::increment):
6589        (WebCore::InlineIterator::atEnd):
6590        (WebCore::InlineIterator::current):
6591        (WebCore::InlineIterator::direction):
6592        (WebCore::chopMidpointsAt):
6593        (WebCore::checkMidpoints):
6594        (WebCore::addMidpoint):
6595        (WebCore::appendRunsForObject):
6596        (WebCore::InlineBidiResolver::appendRun):
6597        (WebCore::RenderBlock::bidiReorderLine):
6598        (WebCore::buildCompactRuns):
6599        (WebCore::RenderBlock::layoutInlineChildren):
6600        (WebCore::RenderBlock::determineStartPosition):
6601        (WebCore::RenderBlock::determineEndPosition):
6602        (WebCore::RenderBlock::matchedEndLine):
6603        (WebCore::skipNonBreakingSpace):
6604        (WebCore::requiresLineBox):
6605        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
6606        (WebCore::RenderBlock::skipWhitespace):
6607        (WebCore::shouldSkipWhitespaceAfterStartObject):
6608        (WebCore::RenderBlock::findNextLineBreak):
6609
66102008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
6611
6612        Rubber-stamped by Oliver Hunt
6613
6614        Coding style fix
6615
6616        * html/CanvasRenderingContext2D.cpp: Indentation fix
6617
66182008-07-04  Oliver Hunt  <oliver@apple.com>
6619
6620        Fix windows build
6621
6622        * WebCore.vcproj/WebCore.vcproj:
6623
66242008-07-04  Sam Weinig  <sam@webkit.org>
6625
6626        Fix Qt build.
6627
6628        * bridge/qt/qt_instance.cpp:
6629
66302008-07-04  Sam Weinig  <sam@webkit.org>
6631
6632        Rubber-stamped by Dan Bernstein.
6633
6634        Split Error and GetterSetter out of JSObject.h.
6635
6636        * ForwardingHeaders/kjs/Error.h: Added.
6637        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
6638        * bindings/js/JSClipboardCustom.cpp:
6639        * bindings/js/JSDOMWindowBase.cpp:
6640        * bindings/js/JSEventTargetBase.cpp:
6641        * bindings/js/JSHTMLDocumentCustom.cpp:
6642        * bindings/js/JSXMLHttpRequestCustom.cpp:
6643        * bindings/scripts/CodeGeneratorJS.pm:
6644        * bridge/NP_jsobject.cpp:
6645        * bridge/jni/jni_instance.cpp:
6646        * bridge/jni/jni_runtime.cpp:
6647        * bridge/objc/objc_instance.mm:
6648        * bridge/objc/objc_runtime.mm:
6649        * bridge/objc/objc_utility.h:
6650        * bridge/runtime_array.cpp:
6651        * bridge/runtime_method.cpp:
6652        * bridge/runtime_object.cpp:
6653
66542008-07-04  David D. Kilzer  <ddkilzer@webkit.org>
6655
6656        Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
6657
6658        <https://bugs.webkit.org/show_bug.cgi?id=15290>
6659        <rdar://problem/5509173>
6660
6661        Reviewed by Dan Bernstein.
6662
6663        Tests: webarchive/archive-empty-frame-dom.html
6664               webarchive/doctype.html
6665
6666        * editing/markup.cpp:
6667        (WebCore::createFullMarkup): If the Node is a Document or a
6668        DocumentType, don't prepend the <!DOCTYPE> tag since that will
6669        cause it to be duplicated.
6670        * loader/archive/cf/LegacyWebArchive.cpp:
6671        (WebCore::LegacyWebArchive::create): Ditto.
6672
66732008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
6674
6675        Gtk build fix
6676
6677        * GNUmakefile.am:
6678
66792008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
6680
6681        Reviewed by Eric Seidel.
6682
6683        Bring our implementation of the Netscape plugin API closer to current
6684        code style guidelines.
6685
6686        * bridge/NP_jsobject.cpp:
6687        (getListFromVariantArgs):
6688        (jsAllocate):
6689        (jsDeallocate):
6690        (_NPN_CreateScriptObject):
6691        (_NPN_CreateNoScriptObject):
6692        (_NPN_InvokeDefault):
6693        (_NPN_Invoke):
6694        (_NPN_Evaluate):
6695        (_NPN_GetProperty):
6696        (_NPN_SetProperty):
6697        (_NPN_RemoveProperty):
6698        (_NPN_HasProperty):
6699        (_NPN_HasMethod):
6700        (_NPN_Enumerate):
6701        * bridge/npruntime_impl.h:
6702
67032008-07-04  Simon Hausmann  <hausmann@webkit.org>
6704
6705        Fix the Qt/Windows build.
6706
6707        * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
6708        sources, so that it is always compiled.
6709        * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
6710        Windows header.
6711        * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
6712        that are defined by Windows already.
6713        * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
6714        that are now platform-independent in plugin/PluginDatabase.cpp.
6715
67162008-07-04  Simon Hausmann  <hausmann@webkit.org>
6717
6718        Fix the Mac build for real, don't define listDirectory() twice.
6719
6720        * platform/mac/FileSystemMac.mm:
6721
67222008-07-04  Simon Hausmann  <hausmann@webkit.org>
6723
6724        Prospective Mac build fix.
6725
6726        * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
6727        * platform/posix/FileSystemPOSIX.cpp: Ditto.
6728
67292008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
6730
6731        Reviewed by Simon.
6732
6733        Move duplicated code from each PluginDatabaseXX-implementation
6734        to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
6735        compiling plugins for.
6736
6737        This make the code cleaner and we can share common patterns.
6738        The only implementation left which is specific is the Win
6739        implementation (also used by QtWebKit/Win), but we might
6740        want to move that too.
6741
6742        * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
6743        * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
6744        * plugins/PluginDatabase.cpp:
6745        (WebCore::PluginDatabase::defaultPluginDirectories):
6746        (WebCore::PluginDatabase::isPreferredPluginDirectory):
6747        (WebCore::PluginDatabase::getPluginPathsInDirectories):
6748        * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
6749        * plugins/qt/PluginDatabaseQt.cpp: Removed.
6750        * plugins/wx/PluginDatabaseWx.cpp: Removed.
6751        * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
6752
67532008-07-04  Simon Hausmann  <hausmann@webkit.org>
6754
6755        Fix the Wx build.
6756
6757        * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
6758        build.
6759        * page/FocusController.cpp:
6760        (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
6761        layoutIfNeededRecursive does not exist for the Wx port.
6762
67632008-07-04  Simon Hausmann  <hausmann@webkit.org>
6764
6765        Fix the Gtk build, adapt to renamed files.
6766
6767        * GNUmakefile.am:
6768
67692008-07-04  Simon Hausmann  <hausmann@webkit.org>
6770
6771        Fix the Qt build, adapt to renamed files.
6772
6773        * WebCore.pro:
6774
67752008-07-03  Oliver Hunt  <oliver@apple.com>
6776
6777        Reviewed by Eric Seidel.
6778
6779        Move filter implementations to platform directory.
6780
6781        * WebCore.vcproj/WebCore.vcproj
6782        * WebCore.xcodeproj/project.pbxproj:
6783        * svg/SVGComponentTransferFunctionElement.h:
6784        * svg/SVGFEBlendElement.h:
6785        * svg/SVGFEColorMatrixElement.h:
6786        * svg/SVGFEComponentTransferElement.h:
6787        * svg/SVGFECompositeElement.h:
6788        * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
6789        * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
6790        * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
6791        * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
6792        * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
6793        * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
6794        * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
6795        * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
6796
67972008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>
6798
6799        Reviewed by Oliver Hunt.
6800
6801        Bug 19835: WebKit needs cross-platform filter system
6802        <https://bugs.webkit.org/show_bug.cgi?id=19835>
6803
6804        More class refactoring in preparation for cross-platform filter
6805        implementation.
6806
6807        * WebCore.xcodeproj/project.pbxproj:
6808        * svg/FilterEffect.h:
6809        * svg/SVGComponentTransferFunctionElement.cpp:
6810        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
6811        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
6812        (WebCore::SVGComponentTransferFunctionElement::transferFunction):
6813        * svg/SVGComponentTransferFunctionElement.h:
6814        * svg/SVGFEColorMatrixElement.cpp:
6815        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
6816        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
6817        (WebCore::SVGFEColorMatrixElement::filterEffect):
6818        (WebCore::SVGFEColorMatrixElement::build):
6819        * svg/SVGFEColorMatrixElement.h:
6820        * svg/SVGFEComponentTransferElement.cpp:
6821        (WebCore::SVGFEComponentTransferElement::filterEffect):
6822        (WebCore::SVGFEComponentTransferElement::build):
6823        * svg/SVGFEComponentTransferElement.h:
6824        * svg/SVGFECompositeElement.cpp:
6825        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
6826        (WebCore::SVGFECompositeElement::parseMappedAttribute):
6827        (WebCore::SVGFECompositeElement::filterEffect):
6828        (WebCore::SVGFECompositeElement::build):
6829        * svg/SVGFECompositeElement.h:
6830        * svg/graphics/filters/SVGFEBlend.cpp:
6831        * svg/graphics/filters/SVGFEBlend.h:
6832        * svg/graphics/filters/SVGFEColorMatrix.cpp:
6833        (WebCore::FEColorMatrix::FEColorMatrix):
6834        (WebCore::FEColorMatrix::create):
6835        (WebCore::FEColorMatrix::type):
6836        (WebCore::FEColorMatrix::setType):
6837        (WebCore::FEColorMatrix::values):
6838        (WebCore::FEColorMatrix::setValues):
6839        (WebCore::FEColorMatrix::apply):
6840        (WebCore::FEColorMatrix::dump):
6841        * svg/graphics/filters/SVGFEColorMatrix.h:
6842        (WebCore::):
6843        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
6844        (WebCore::FEComponentTransfer::FEComponentTransfer):
6845        (WebCore::FEComponentTransfer::create):
6846        (WebCore::FEComponentTransfer::redFunction):
6847        (WebCore::FEComponentTransfer::setRedFunction):
6848        (WebCore::FEComponentTransfer::greenFunction):
6849        (WebCore::FEComponentTransfer::setGreenFunction):
6850        (WebCore::FEComponentTransfer::blueFunction):
6851        (WebCore::FEComponentTransfer::setBlueFunction):
6852        (WebCore::FEComponentTransfer::alphaFunction):
6853        (WebCore::FEComponentTransfer::setAlphaFunction):
6854        (WebCore::FEComponentTransfer::apply):
6855        (WebCore::FEComponentTransfer::dump):
6856        * svg/graphics/filters/SVGFEComponentTransfer.h:
6857        (WebCore::):
6858        (WebCore::ComponentTransferFunction::ComponentTransferFunction):
6859        * svg/graphics/filters/SVGFEComposite.cpp:
6860        (WebCore::FEComposite::FEComposite):
6861        (WebCore::FEComposite::create):
6862        (WebCore::FEComposite::operation):
6863        (WebCore::FEComposite::setOperation):
6864        (WebCore::FEComposite::k1):
6865        (WebCore::FEComposite::setK1):
6866        (WebCore::FEComposite::k2):
6867        (WebCore::FEComposite::setK2):
6868        (WebCore::FEComposite::k3):
6869        (WebCore::FEComposite::setK3):
6870        (WebCore::FEComposite::k4):
6871        (WebCore::FEComposite::setK4):
6872        (WebCore::FEComposite::apply):
6873        (WebCore::FEComposite::dump):
6874        * svg/graphics/filters/SVGFEComposite.h:
6875        (WebCore::):
6876        * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
6877        * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
6878        * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
6879
68802008-07-03  Dan Bernstein  <mitz@apple.com>
6881
6882        Reviewed by John Sullivan.
6883
6884        - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
6885
6886        Test: fast/text/international/bidi-AN-after-empty-run.html
6887
6888        * platform/text/BidiResolver.h:
6889        (WebCore::::appendRun): Changed to reset the current direction and
6890        "end of run" direction even in the empty run case.
6891        * rendering/bidi.cpp:
6892        (WebCore::BidiState::appendRun): Ditto.
6893
68942008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
6895
6896        <rdar://5983747> Safari crashes trying to load the SilverLight plugin
6897
6898        If a plug-in returned an error code from NPP_NewStream, we would call
6899        NPP_DestroyStream while cleaning up the request. We now only call
6900        NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
6901
6902        Reviewed by Anders.
6903
6904        * plugins/PluginStream.cpp:
6905        (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
6906        don't set m_streamState to StreamStarted, and return after calling
6907        cancelAndDestroyStream.
6908        (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
6909        the stream didn't start successfully.
6910
69112008-07-03  David Hyatt  <hyatt@apple.com>
6912
6913        Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
6914        Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
6915        !PLATFORM(MAC) ifdef in FocusController's setActive method.
6916
6917        Reviewed by ggaren, weinig
6918
6919        * page/FocusController.cpp:
6920        (WebCore::FocusController::setActive):
6921        * page/FrameView.cpp:
6922        (WebCore::FrameView::updateControlTints):
6923
69242008-07-03  Alexey Proskuryakov  <ap@webkit.org>
6925
6926        Reviewed by Darin.
6927
6928        https://bugs.webkit.org/show_bug.cgi?id=19884
6929        Locating a store at www.366.ru doesn't work
6930
6931        Test: fast/forms/submit-with-base.html
6932
6933        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
6934        as missing one - ignore base URL.
6935
69362008-07-03  Dan Bernstein  <mitz@apple.com>
6937
6938        Reviewed by John Sullivan.
6939
6940        - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
6941
6942        * page/FrameView.cpp:
6943        (WebCore::FrameView::updateControlTints): Changed to update layout
6944        recursively and not just for the top-level frame.
6945
69462008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
6947
6948        Reviewed by Geoff.
6949
6950        Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
6951        https://bugs.webkit.org/show_bug.cgi?id=19853
6952
6953        Remove the body of _NPN_SetException(), because it was simply calling
6954        throwError(), which sets an exception on an ExecState but does not
6955        actually handle it. The presence of an exception on the global ExecState
6956        causes assertions that there is no exception set on that ExecState to
6957        fail, as well as causing Machine::execute() to mistakingly return 0 in
6958        some cases, as it assumes the presence of an exception implies that it
6959        has run out of memory.
6960
6961        * bridge/NP_jsobject.cpp:
6962        (_NPN_SetException):
6963
69642008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
6965
6966        Gtk build fix with SVG filters enabled
6967
6968        * GNUmakefile.am: Include missing SVG filter sources
6969
69702008-07-03  Simon Hausmann  <hausmann@webkit.org>
6971
6972        Fix the Qt build, added FilterEffect to the build.
6973
6974        * WebCore.pro:
6975
69762008-07-02  Brady Eidson  <beidson@apple.com>
6977
6978        Reviewed by Mitz Pettel and John Sullivan
6979
6980        Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
6981        inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
6982
6983        Test: fast/loader/stop-provisional-loads.html
6984
6985        * loader/FrameLoader.cpp:
6986        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
6987          by the prepareForLoadStart() call, null check it again.
6988
69892008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
6990
6991        Reviewed by Oliver Hunt.
6992
6993        Renaming of class SVGFEBlend to FEBlend as well as removing
6994        a little bit of antiquated code. This includes the removal of
6995        SVGFEBlendCg.mm; the feBlend element will now no longer
6996        render. 
6997
6998        * WebCore.xcodeproj/project.pbxproj:
6999        * svg/FilterBuilder.h:
7000        (WebCore::FilterBuilder::add):
7001        (WebCore::FilterBuilder::getEffectById):
7002        * svg/SVGFEBlendElement.cpp:
7003        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
7004        (WebCore::SVGFEBlendElement::parseMappedAttribute):
7005        (WebCore::SVGFEBlendElement::filterEffect):
7006        (WebCore::SVGFEBlendElement::build):
7007        * svg/SVGFEBlendElement.h:
7008        * svg/SVGFilterPrimitiveStandardAttributes.h:
7009        * svg/graphics/filters/SVGFEBlend.cpp:
7010        (WebCore::FEBlend::FEBlend):
7011        (WebCore::FEBlend::create):
7012        (WebCore::FEBlend::in2):
7013        (WebCore::FEBlend::setIn2):
7014        (WebCore::FEBlend::blendMode):
7015        (WebCore::FEBlend::setBlendMode):
7016        (WebCore::FEBlend::apply):
7017        (WebCore::FEBlend::dump):
7018        * svg/graphics/filters/SVGFEBlend.h:
7019        (WebCore::):
7020        * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
7021
70222008-07-02  Beth Dakin  <bdakin@apple.com>
7023
7024        Reviewed by Darin.
7025
7026        Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
7027        and
7028        <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
7029
7030        * page/AccessibilityObject.h:
7031        (WebCore::AccessibilityObject::isSlider):
7032        * page/AccessibilityRenderObject.cpp:
7033        (WebCore::AccessibilityRenderObject::isSlider):
7034        (WebCore::AccessibilityRenderObject::valueForRange):
7035        (WebCore::AccessibilityRenderObject::maxValueForRange):
7036        (WebCore::AccessibilityRenderObject::minValueForRange):
7037        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
7038        were addressing the generic has-an-ARIA-role case too early here.
7039        (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
7040        bug I ran into while testing role='spinbutton', spinbutton is a 
7041        role that can have an active descendant. But we were always trying 
7042        to forward focus to the active descendant, even if one was not 
7043        specified. 
7044        (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
7045        'spinbutton' maps to ProgressIndicatorRole.
7046        (WebCore::RoleEntry::):
7047        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
7048        * page/AccessibilityRenderObject.h:
7049        * page/mac/AccessibilityObjectWrapper.mm:
7050        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
7051        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
7052
70532008-07-02  Dan Bernstein  <mitz@apple.com>
7054
7055        Reviewed by Adam Roben.
7056
7057        - Windows build fix
7058
7059        Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
7060        the ERROR macro is defined in <wingdi.h>.
7061
7062        * xml/XPathGrammar.y:
7063        * xml/XPathParser.cpp:
7064        (WebCore::XPath::Parser::lexString):
7065        (WebCore::XPath::Parser::nextTokenInternal):
7066
70672008-07-02  Alexey Proskuryakov  <ap@webkit.org>
7068
7069        Inspired and reviewed by Mark Rowe.
7070
7071        Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
7072
7073        * bindings/objc/ExceptionHandlers.h:
7074        * bindings/objc/WebScriptObject.mm:
7075        * dom/Document.cpp:
7076        * dom/Node.cpp:
7077        * page/Frame.cpp:
7078        * page/InspectorController.cpp:
7079        * page/JavaScriptProfileNode.cpp:
7080        * page/mac/FrameMac.mm:
7081        * platform/mac/ThreadCheck.mm:
7082        * xml/XMLHttpRequest.cpp:
7083
70842008-07-02  Simon Hausmann  <hausmann@webkit.org>
7085
7086        Fix the Gtk build.
7087
7088        * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
7089        (WebCore::PluginView::paint):
7090        (WebCore::PluginView::handleKeyboardEvent):
7091        (WebCore::PluginView::handleMouseEvent):
7092        (WebCore::PluginView::setNPWindowRect):
7093        (WebCore::PluginView::stop):
7094        (WebCore::PluginView::init):
7095
70962008-07-02  Simon Hausmann  <hausmann@webkit.org>
7097
7098        Build fixes.
7099
7100        * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
7101        build.
7102        * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
7103        * bridge/qt/qt_runtime.cpp: Ditto.
7104        (KJS::Bindings::convertValueToQVariant):
7105        (KJS::Bindings::convertQVariantToValue):
7106        (KJS::Bindings::QtRuntimeMetaMethod::call):
7107        (KJS::Bindings::QtRuntimeConnectionMethod::call):
7108        (KJS::Bindings::QtConnectionObject::execute):
7109        * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
7110        JavaScriptCore/JSValue.h.
7111        * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
7112        (WebCore::PluginView::setNPWindowRect): Ditto.
7113        (WebCore::PluginView::stop): Ditto.
7114        (WebCore::PluginView::init): Ditto.
7115
71162008-07-02  Alexey Proskuryakov  <ap@webkit.org>
7117
7118        Build fix.
7119
7120        * plugins/PluginView.cpp:
7121        (WebCore::PluginView::start):
7122        (WebCore::getString):
7123        (WebCore::PluginView::performRequest):
7124        (WebCore::PluginView::bindingInstance):
7125        * plugins/win/PluginViewWin.cpp:
7126        (WebCore::PluginView::dispatchNPEvent):
7127        (WebCore::PluginView::setNPWindowRect):
7128        (WebCore::PluginView::stop):
7129        Pass false to JSLock and JSLock::DropAllLocks constructors.
7130
71312008-07-01  Oliver Hunt  <oliver@apple.com>
7132
7133        Reviewed by Geoff Garen.
7134
7135        <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
7136
7137        In order to fix this we now make the rendering context and the canvas element
7138        share the same reference count, ensuring that references to the rendering
7139        context will force the canvas element to remain live as well.
7140
7141        Test: fast/canvas/canvas-longlived-context.html
7142
7143        * html/CanvasRenderingContext2D.cpp:
7144        (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
7145        (WebCore::CanvasRenderingContext2D::createImageData):
7146        (WebCore::CanvasRenderingContext2D::getImageData):
7147        (WebCore::CanvasRenderingContext2D::putImageData):
7148        * html/CanvasRenderingContext2D.h:
7149        (WebCore::CanvasRenderingContext2D::create):
7150        * html/HTMLCanvasElement.cpp:
7151        (WebCore::HTMLCanvasElement::getContext):
7152        * html/HTMLCanvasElement.h:
7153
71542008-07-01  Alexey Proskuryakov  <ap@webkit.org>
7155
7156        Reviewed by Darin.
7157
7158        Disable JSLock for per-thread contexts.
7159
7160        * bridge/runtime_root.cpp:
7161        (KJS::Bindings::RootObject::invalidate):
7162        (KJS::Bindings::RootObject::gcProtect):
7163        (KJS::Bindings::RootObject::gcUnprotect):
7164        Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
7165
7166        * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
7167        to indicate that protected value list can be concurrently accessed from multiple threads now.
7168
7169        * xml/XMLHttpRequest.cpp:
7170        (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
7171        as fake locks cannot deadlock, and there is no danger that someone will try to take a real
7172        JSLock on the main thread while we are waiting for response.
7173        (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
7174        around gcProtect/gcUnprotect now.
7175        (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
7176        JSGlobalData::threadInstance().
7177
7178        * bindings/js/GCController.cpp:
7179        (WebCore::collect):
7180        (WebCore::GCController::gcTimerFired):
7181        (WebCore::GCController::garbageCollectNow):
7182        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
7183        * bindings/js/JSCustomSQLStatementCallback.cpp:
7184        (WebCore::JSCustomSQLStatementCallback::handleEvent):
7185        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7186        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7187        * bindings/js/JSCustomSQLTransactionCallback.cpp:
7188        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7189        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7190        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7191        * bindings/js/JSCustomVoidCallback.cpp:
7192        (WebCore::JSCustomVoidCallback::handleEvent):
7193        * bindings/js/JSCustomXPathNSResolver.cpp:
7194        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
7195        * bindings/js/JSDOMWindowBase.cpp:
7196        (WebCore::DOMWindowTimer::~DOMWindowTimer):
7197        (WebCore::JSDOMWindowBase::clear):
7198        (WebCore::JSDOMWindowBase::timerFired):
7199        * bindings/js/JSEventCustom.cpp:
7200        (WebCore::toJS):
7201        * bindings/js/JSEventListener.cpp:
7202        (WebCore::JSAbstractEventListener::handleEvent):
7203        (WebCore::JSLazyEventListener::parseCode):
7204        * bindings/js/JSNodeFilterCondition.cpp:
7205        (WebCore::JSNodeFilterCondition::acceptNode):
7206        * bindings/js/ScheduledAction.cpp:
7207        (WebCore::ScheduledAction::execute):
7208        * bindings/js/ScriptController.cpp:
7209        (WebCore::ScriptController::evaluate):
7210        (WebCore::ScriptController::clear):
7211        (WebCore::ScriptController::createHTMLEventHandler):
7212        (WebCore::ScriptController::createSVGEventHandler):
7213        (WebCore::ScriptController::initScript):
7214        (WebCore::ScriptController::updateDocument):
7215        * bindings/objc/WebScriptObject.mm:
7216        (-[WebScriptObject callWebScriptMethod:withArguments:]):
7217        (-[WebScriptObject evaluateWebScript:]):
7218        (-[WebScriptObject setValue:forKey:]):
7219        (-[WebScriptObject valueForKey:]):
7220        (-[WebScriptObject removeWebScriptKey:]):
7221        (-[WebScriptObject stringRepresentation]):
7222        (-[WebScriptObject webScriptValueAtIndex:]):
7223        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
7224        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
7225        * bridge/NP_jsobject.cpp:
7226        (_NPN_InvokeDefault):
7227        (_NPN_Invoke):
7228        (_NPN_Evaluate):
7229        (_NPN_GetProperty):
7230        (_NPN_SetProperty):
7231        (_NPN_RemoveProperty):
7232        (_NPN_HasProperty):
7233        (_NPN_HasMethod):
7234        (_NPN_SetException):
7235        (_NPN_Enumerate):
7236        * bridge/c/c_class.cpp:
7237        (KJS::Bindings::CClass::~CClass):
7238        (KJS::Bindings::CClass::methodsNamed):
7239        (KJS::Bindings::CClass::fieldNamed):
7240        * bridge/c/c_instance.cpp:
7241        (KJS::Bindings::CInstance::invokeMethod):
7242        (KJS::Bindings::CInstance::invokeDefaultMethod):
7243        (KJS::Bindings::CInstance::getPropertyNames):
7244        * bridge/c/c_runtime.cpp:
7245        (KJS::Bindings::CField::valueFromInstance):
7246        (KJS::Bindings::CField::setValueToInstance):
7247        * bridge/c/c_utility.cpp:
7248        (KJS::Bindings::convertValueToNPVariant):
7249        (KJS::Bindings::convertNPVariantToValue):
7250        * bridge/jni/jni_class.cpp:
7251        (JavaClass::JavaClass):
7252        (JavaClass::~JavaClass):
7253        * bridge/jni/jni_instance.cpp:
7254        (JavaInstance::stringValue):
7255        * bridge/jni/jni_jsobject.mm:
7256        (JavaJSObject::call):
7257        (JavaJSObject::eval):
7258        (JavaJSObject::getMember):
7259        (JavaJSObject::setMember):
7260        (JavaJSObject::removeMember):
7261        (JavaJSObject::getSlot):
7262        (JavaJSObject::setSlot):
7263        (JavaJSObject::toString):
7264        (JavaJSObject::convertValueToJObject):
7265        (JavaJSObject::convertJObjectToValue):
7266        * bridge/jni/jni_objc.mm:
7267        (KJS::Bindings::dispatchJNICall):
7268        * bridge/jni/jni_runtime.cpp:
7269        (JavaMethod::signature):
7270        * bridge/jni/jni_runtime.h:
7271        (KJS::Bindings::JavaString::JavaString):
7272        (KJS::Bindings::JavaString::_commonInit):
7273        (KJS::Bindings::JavaString::~JavaString):
7274        (KJS::Bindings::JavaString::UTF8String):
7275        * bridge/jni/jni_utility.cpp:
7276        (KJS::Bindings::convertArrayInstanceToJavaArray):
7277        (KJS::Bindings::convertValueToJValue):
7278        * bridge/npruntime.cpp:
7279        (_NPN_GetStringIdentifier):
7280        * bridge/objc/objc_instance.mm:
7281        (ObjcInstance::moveGlobalExceptionToExecState):
7282        (ObjcInstance::invokeMethod):
7283        (ObjcInstance::invokeDefaultMethod):
7284        (ObjcInstance::setValueOfUndefinedField):
7285        (ObjcInstance::getValueOfUndefinedField):
7286        * bridge/objc/objc_runtime.mm:
7287        (ObjcField::valueFromInstance):
7288        (ObjcField::setValueToInstance):
7289        * bridge/objc/objc_utility.mm:
7290        (KJS::Bindings::convertValueToObjcValue):
7291        (KJS::Bindings::convertNSStringToString):
7292        (KJS::Bindings::convertObjcValueToValue):
7293        * bridge/runtime.cpp:
7294        (KJS::Bindings::Instance::createRuntimeObject):
7295        * dom/Document.cpp:
7296        (WebCore::Document::~Document):
7297        * dom/Node.cpp:
7298        (WebCore::Node::setDocument):
7299        * history/CachedPage.cpp:
7300        (WebCore::CachedPage::CachedPage):
7301        (WebCore::CachedPage::restore):
7302        (WebCore::CachedPage::clear):
7303        * html/HTMLPlugInElement.cpp:
7304        (WebCore::HTMLPlugInElement::createNPObject):
7305        * loader/FrameLoader.cpp:
7306        (WebCore::getString):
7307        * page/Frame.cpp:
7308        (WebCore::Frame::bindingRootObject):
7309        (WebCore::Frame::windowScriptNPObject):
7310        (WebCore::Frame::clearScriptObjects):
7311        * page/InspectorController.cpp:
7312        (WebCore::jsStringRef):
7313        (WebCore::ConsoleMessage::ConsoleMessage):
7314        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
7315        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
7316        (WebCore::getResourceDocumentNode):
7317        (WebCore::search):
7318        (WebCore::inspectedWindow):
7319        (WebCore::wrapCallback):
7320        (WebCore::currentCallFrame):
7321        (WebCore::profiles):
7322        (WebCore::InspectorController::focusNode):
7323        (WebCore::InspectorController::addDatabaseScriptResource):
7324        (WebCore::InspectorController::addScriptProfile):
7325        * page/JavaScriptCallFrame.cpp:
7326        (WebCore::JavaScriptCallFrame::evaluate):
7327        * page/JavaScriptProfileNode.cpp:
7328        (WebCore::getTotalTime):
7329        (WebCore::getSelfTime):
7330        (WebCore::getTotalPercent):
7331        (WebCore::getSelfPercent):
7332        (WebCore::getNumberOfCalls):
7333        (WebCore::getChildren):
7334        (WebCore::getVisible):
7335        * page/mac/FrameMac.mm:
7336        (WebCore::Frame::windowScriptObject):
7337        Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
7338        doesn't need locking. In the future, it may be possible to remove some of these if we
7339        establish that this won't make JSC assertions fail (and that we don't want to add such
7340        assertions either).
7341        Added includes that are now needed.
7342
73432008-07-01  Dan Bernstein  <mitz@apple.com>
7344
7345        Reviewed by Oliver Hunt.
7346
7347        - fix a CSSParserValueList leak seen on the build bot
7348
7349        * css/CSSParser.cpp:
7350        (WebCore::BorderImageParseContext::commitBorderImage):
7351
73522008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
7353
7354        Reviewed by Oliver Hunt.
7355
7356        Prep for more Filter class name changes. Added the first few files for
7357        the new Filter architecture to come.
7358
7359        * WebCore.xcodeproj/project.pbxproj:
7360        * svg/Filter.cpp: Added.
7361        (WebCore::Filter::Filter):
7362        (WebCore::Filter::create):
7363        * svg/Filter.h: Added.
7364        * svg/FilterBuilder.h: Added.
7365        (WebCore::FilterBuilder::add):
7366        (WebCore::FilterBuilder::getEffectById):
7367        (WebCore::FilterBuilder::filter):
7368        * svg/FilterEffect.cpp: Added.
7369        (WebCore::FilterEffect::FilterEffect):
7370        (WebCore::FilterEffect::~FilterEffect):
7371        * svg/FilterEffect.h: Added.
7372
73732008-07-01  Christian Dywan  <christian@twotoasts.de>
7374
7375        Gtk+ build fix.
7376
7377        * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
7378
73792008-07-01  Anders Carlsson  <andersca@apple.com>
7380
7381        Reviewed by Darin.
7382
7383        Add PluginMainThreadScheduler.{cpp|h} to build.
7384        
7385        * WebCore.base.exp:
7386        * WebCore.xcodeproj/project.pbxproj:
7387        * plugins/PluginMainThreadScheduler.cpp:
7388
73892008-07-01  Dan Bernstein  <mitz@apple.com>
7390
7391        Reviewed by Darin Adler.
7392
7393        - move the method to set the base writing direction from Frame to Editor
7394
7395        * WebCore.base.exp: Updated.
7396        * editing/Editor.cpp:
7397        (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
7398        WritingDirection enum value and added the special behavior when the
7399        focused node is a text field or a text area.
7400        * editing/Editor.h:
7401        * page/ContextMenuController.cpp:
7402        (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
7403        to call the Editor method.
7404        * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
7405        * page/Frame.h:
7406
74072008-07-01  Darin Adler  <darin@apple.com>
7408
7409        Reviewed by Oliver.
7410
7411        - slight tweak of the setHash fix
7412
7413        * bindings/js/JSLocationCustom.cpp:
7414        (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
7415
74162008-07-01  Dan Bernstein  <mitz@apple.com>
7417
7418        Reviewed by Anders Carlsson.
7419
7420        - Mac release build fix
7421
7422        * page/Console.cpp:
7423
74242008-07-01  Dan Bernstein  <mitz@apple.com>
7425
7426        Reviewed by Anders Carlsson.
7427
7428        - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
7429
7430        * css/CSSPrimitiveValue.cpp:
7431        (WebCore::CSSPrimitiveValue::cleanup):
7432
74332008-07-01  Anders Carlsson  <andersca@apple.com>
7434
7435        Reviewed by Jon.
7436
7437        Don't add the Mozilla user agent quirk for Flash 10.
7438        
7439        * plugins/win/PluginPackageWin.cpp:
7440        (WebCore::PluginPackage::isPluginBlacklisted):
7441        (WebCore::PluginPackage::determineQuirks):
7442
74432008-07-01  David Kilzer  <ddkilzer@apple.com>
7444
7445        Move data: URL parsing code in HTMLObjectElement to KURL
7446
7447        Reviewed by Ada and Darin.
7448
7449        No test cases added since there is no change in behavior.
7450
7451        * html/HTMLObjectElement.cpp:
7452        (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
7453        parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
7454        * platform/KURL.cpp:
7455        (WebCore::mimeTypeFromDataURL): Added.
7456        * platform/KURL.h:
7457        (WebCore::mimeTypeFromDataURL): Added.
7458
74592008-07-01  Dan Bernstein  <mitz@apple.com>
7460
7461        Reviewed by Dave Hyatt.
7462
7463        - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
7464
7465        * css/CSSParser.cpp:
7466        (WebCore::CSSParser::addUnresolvedProperty):
7467
74682008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
7469
7470        Reviewed by Brady Eidson.
7471
7472        Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
7473        <https://bugs.webkit.org/show_bug.cgi?id=19822>
7474
7475        Change JSLocation::setHash() to not schedule navigation in the case
7476        where the old fragment is the null String and the new fragment is an
7477        empty String.
7478
7479        * bindings/js/JSLocationCustom.cpp:
7480        (WebCore::JSLocation::setHash):
7481
74822008-06-30  Anders Carlsson  <andersca@apple.com>
7483
7484        Reviewed by Adam.
7485
7486        Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
7487        callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
7488        
7489        * WebCore.vcproj/WebCore.vcproj:
7490        Add PluginMainThreadScheduler.{cpp|h}
7491        
7492        * plugins/PluginMainThreadScheduler.cpp: Added.
7493        * plugins/PluginMainThreadScheduler.h: Added.
7494
7495        * plugins/PluginView.cpp:
7496        (WebCore::PluginView::start):
7497        Register with the thread scheduler.
7498        
7499        * plugins/npapi.cpp:
7500        (NPN_PluginThreadAsyncCall):
7501        Call the thread scheduler.
7502        
7503        * plugins/win/PluginPackageWin.cpp:
7504        (WebCore::PluginPackage::load):
7505        Initialize the NPN_PluginThreadAsyncCall callback.
7506        
7507        * plugins/win/PluginViewWin.cpp:
7508        (WebCore::PluginView::stop):
7509        Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
7510        after the plug-in has been destroyed.
7511
75122008-07-01  Adam Roben  <aroben@apple.com>
7513
7514        Roll out r34913, as it broke the Windows build due to bad casting
7515
7516        r34913 introduced code that assigned pointers-to-member from a derived
7517        class into a base class pointer-to-member type (e.g., assigned a void
7518        (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
7519        because it could allow us to call SVGUseElement member functions on a
7520        different SVGElement-derived class. MSVC rightly flagged this as an
7521        error.
7522
7523        Rubberstamped by Anders Carlsson.
7524
75252008-07-01  Darin Adler  <darin@apple.com>
7526
7527        - fix build
7528
7529        * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
7530        not working propertly.
7531
75322008-07-01  Dan Bernstein  <mitz@apple.com>
7533
7534        Reviewed by Darin Adler.
7535
7536        - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
7537
7538        * html/CanvasRenderingContext2D.cpp:
7539        (WebCore::CanvasRenderingContext2D::createPattern):
7540
75412008-07-01  Sam Weinig  <sam@webkit.org>
7542
7543        Reviewed by Darin Adler.
7544
7545        Split JSCell and JSNumberCell class declarations out of JSValue.h
7546
7547        * ForwardingHeaders/kjs/JSNumberCell.h: Added.
7548        * bindings/scripts/CodeGeneratorJS.pm:
7549        * bridge/c/c_instance.cpp:
7550
75512008-07-01  chris fleizach  <cfleizach@apple.com>
7552
7553        Reviewed by Beth Dakin
7554
7555        <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
7556
7557        Test: accessibility/radio-button-checkbox-size.html
7558
7559        * page/AccessibilityRenderObject.cpp:
7560        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
7561
75622008-07-01  Dan Bernstein  <mitz@apple.com>
7563
7564        Reviewed by Antti Koivisto.
7565
7566        - fix SVG pointer-events layout test failures
7567
7568        * css/SVGCSSParser.cpp:
7569        (WebCore::CSSParser::parseSVGValue):
7570
75712008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
7572
7573        Reviewed by Antti.
7574
7575        Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
7576        Fix two small problems in the gradient & pattern code.
7577
7578        Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
7579
7580        * svg/SVGLinearGradientElement.cpp:
7581        (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
7582        * svg/SVGPatternElement.cpp:
7583        (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
7584        * svg/SVGRadialGradientElement.cpp:
7585        (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
7586        (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
7587
75882008-07-01  Simon Hausmann  <hausmann@webkit.org>
7589
7590        Fix the build, include SVGTransformList.h instead of
7591        SVGTransformlist.h
7592
7593        * svg/SVGGradientElement.h:
7594
75952008-07-01  Alexey Proskuryakov  <ap@webkit.org>
7596
7597        Reviewed by Antti.
7598
7599        <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
7600        the first time.
7601
7602        Test: fast/encoding/preload-encoding.html
7603
7604        * html/PreloadScanner.cpp:
7605        (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
7606        starting a load.
7607
76082008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
7609
7610        Reviewed by Antti & Eric.
7611
7612        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
7613
7614        SVG Errata states: "All SVG DOM objects that directly correspond to an
7615        attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
7616        means that any changes made to the attribute are immediately reflected in the
7617        corresponding SVG DOM object." (see linked URL on bug report)
7618
7619        Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
7620        element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
7621
7622        Add a new synchronization layer to handle SVG DOM -> XML changes.
7623
7624        Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
7625        Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
7626        Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
7627
7628        Added test: svg/custom/svg-xml-dom-sync.html
7629        Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
7630
7631        * dom/Element.cpp:
7632        (WebCore::Element::Element): Initialize the two new bits.
7633        (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
7634        (WebCore::Element::getAttribute): Ditto.
7635        (WebCore::Element::hasAttributes): Ditto.
7636        * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
7637        (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
7638        * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
7639        * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7640        (WebCore::SVGAElement::contextElement): Return non-const value.
7641        * svg/SVGAltGlyphElement.h:
7642        (WebCore::SVGAltGlyphElement::contextElement): Ditto.
7643        * svg/SVGAnimateElement.h:
7644        (WebCore::SVGAnimateElement::contextElement): Ditto.
7645        * svg/SVGAnimateMotionElement.h:
7646        (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
7647        * svg/SVGAnimateTransformElement.h:
7648        (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
7649        * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
7650        (WebCore::SVGAnimatedTemplate::toString):
7651        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
7652        (WebCore::lookupOrCreateWrapper):
7653        (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
7654        (WebCore::SVGAnimatedAngle::toString):
7655        (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
7656        (WebCore::SVGAnimatedBoolean::toString):
7657        (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
7658        (WebCore::SVGAnimatedEnumeration::toString):
7659        (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
7660        (WebCore::SVGAnimatedInteger::toString):
7661        (WebCore::SVGAnimatedLength::SVGAnimatedLength):
7662        (WebCore::SVGAnimatedLength::toString):
7663        (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
7664        (WebCore::SVGAnimatedLengthList::toString):
7665        (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
7666        (WebCore::SVGAnimatedNumber::toString):
7667        (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
7668        (WebCore::SVGAnimatedNumberList::toString):
7669        (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
7670        (WebCore::SVGAnimatedPreserveAspectRatio::toString):
7671        (WebCore::SVGAnimatedRect::SVGAnimatedRect):
7672        (WebCore::SVGAnimatedRect::toString):
7673        (WebCore::SVGAnimatedString::SVGAnimatedString):
7674        (WebCore::SVGAnimatedString::toString):
7675        (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
7676        (WebCore::SVGAnimatedTransformList::toString):
7677        (WebCore::SVGAnimatedType::SVGAnimatedType):
7678        * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7679        * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7680        (WebCore::SVGCircleElement::contextElement): Return non-const value.
7681        * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7682        (WebCore::SVGClipPathElement::contextElement): Return non-const value.
7683        * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7684        * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
7685        * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7686        (WebCore::SVGCursorElement::SVGCursorElement):
7687        * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
7688        (WebCore::SVGCursorElement::contextElement): Return non-const value.
7689        * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7690        (WebCore::SVGDefsElement::contextElement): Return non-const value.
7691        * svg/SVGElement.cpp:
7692        (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
7693        (WebCore::SVGElement::setSynchronizedSVGAttributes):
7694        * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
7695        (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
7696        (StoredTypeWithDirtyFlag::operator=):
7697        (StoredTypeWithDirtyFlag::operator==):
7698        (StoredTypeWithDirtyFlag::operator!=):
7699        (StoredTypeWithDirtyFlag::operator StoredType):
7700        (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
7701        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
7702        (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
7703        * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7704        (WebCore::SVGEllipseElement::SVGEllipseElement):
7705        * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7706        (WebCore::SVGEllipseElement::contextElement): Return non-const value.
7707        * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
7708        * svg/SVGFEBlendElement.h:
7709        (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
7710        * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7711        * svg/SVGFEColorMatrixElement.h:
7712        (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
7713        * svg/SVGFEComponentTransferElement.h:
7714        (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
7715        * svg/SVGFECompositeElement.h:
7716        (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
7717        * svg/SVGFEDiffuseLightingElement.h:
7718        (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
7719        * svg/SVGFEDisplacementMapElement.h:
7720        (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
7721        * svg/SVGFEFloodElement.h:
7722        (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
7723        * svg/SVGFEGaussianBlurElement.h:
7724        (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
7725        * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7726        * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7727        (WebCore::SVGFEImageElement::contextElement): Return non-const value.
7728        * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
7729        * svg/SVGFEMergeElement.h:
7730        (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
7731        * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
7732        (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
7733        * svg/SVGFEOffsetElement.h:
7734        (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
7735        * svg/SVGFESpecularLightingElement.h:
7736        (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
7737        * svg/SVGFETileElement.h:
7738        (WebCore::SVGFETileElement::contextElement): Return non-const value.
7739        * svg/SVGFETurbulenceElement.h:
7740        (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
7741        * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7742        (WebCore::SVGFilterElement::SVGFilterElement):
7743        * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7744        (WebCore::SVGFilterElement::contextElement): Return non-const value.
7745        * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
7746        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
7747        * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7748        (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
7749        * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7750        * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
7751        * svg/SVGFontElement.h:
7752        (WebCore::SVGFontElement::contextElement): Return non-const value.
7753        * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7754        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
7755        * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7756        (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
7757        * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7758        (WebCore::SVGGElement::contextElement): Return non-const value.
7759        * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7760        * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7761        * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
7762        (WebCore::SVGImageElement::SVGImageElement):
7763        * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7764        (WebCore::SVGImageElement::contextElement): Return non-const value.
7765        * svg/SVGLengthList.cpp:
7766        (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
7767        * svg/SVGLengthList.h:
7768        * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7769        (WebCore::SVGLineElement::SVGLineElement):
7770        * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7771        (WebCore::SVGLineElement::contextElement): Return non-const value.
7772        * svg/SVGLinearGradientElement.cpp:
7773        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
7774        (WebCore::SVGLinearGradientElement::collectGradientProperties):
7775        * svg/SVGLinearGradientElement.h:
7776        (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
7777        * svg/SVGMPathElement.h:
7778        (WebCore::SVGMPathElement::contextElement): Return non-const value.
7779        * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
7780        (WebCore::SVGMarkerElement::SVGMarkerElement):
7781        * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7782        (WebCore::SVGMarkerElement::contextElement): Return non-const value.
7783        * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7784        (WebCore::SVGMaskElement::SVGMaskElement):
7785        * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7786        (WebCore::SVGMaskElement::contextElement): Return non-const value.
7787        * svg/SVGNumberList.cpp:
7788        (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
7789        * svg/SVGNumberList.h:
7790        * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7791        (WebCore::SVGPathElement::contextElement): Return non-const value.
7792        * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
7793        (WebCore::SVGPatternElement::SVGPatternElement):
7794        (WebCore::SVGPatternElement::collectPatternProperties):
7795        * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7796        (WebCore::SVGPatternElement::contextElement): Return non-const value.
7797        * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7798        (WebCore::SVGPolyElement::contextElement): Return non-const value.
7799        * svg/SVGPreserveAspectRatio.cpp:
7800        (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
7801        * svg/SVGPreserveAspectRatio.h:
7802        * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7803        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
7804        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
7805        (WebCore::SVGRadialGradientElement::collectGradientProperties):
7806        * svg/SVGRadialGradientElement.h:
7807        (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
7808        * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7809        (WebCore::SVGRectElement::SVGRectElement):
7810        * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7811        (WebCore::SVGRectElement::contextElement): Return non-const value.
7812        * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7813        (WebCore::SVGSVGElement::SVGSVGElement):
7814        (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
7815        * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7816        (WebCore::SVGSVGElement::contextElement): Return non-const value.
7817        * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7818        (WebCore::SVGScriptElement::contextElement): Return non-const value.
7819        * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
7820        * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7821        * svg/SVGStyledTransformableElement.h:
7822        * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7823        (WebCore::SVGSwitchElement::contextElement): Return non-const value.
7824        * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7825        (WebCore::SVGSymbolElement::contextElement): Return non-const value.
7826        * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7827        (WebCore::SVGTRefElement::contextElement): Return non-const value.
7828        * svg/SVGTSpanElement.h:
7829        (WebCore::SVGTSpanElement::contextElement): Return non-const value.
7830        * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7831        (WebCore::SVGTextContentElement::SVGTextContentElement):
7832        * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7833        * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7834        * svg/SVGTextElement.h:
7835        (WebCore::SVGTextElement::contextElement): Return non-const value.
7836        * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7837        (WebCore::SVGTextPathElement::SVGTextPathElement):
7838        * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7839        (WebCore::SVGTextPathElement::contextElement): Return non-const value.
7840        * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
7841        * svg/SVGTextPositioningElement.h:
7842        * svg/SVGTransformList.cpp:
7843        (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
7844        * svg/SVGTransformList.h:
7845        * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
7846        * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
7847        (WebCore::SVGUseElement::SVGUseElement):
7848        * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7849        (WebCore::SVGUseElement::contextElement): Return non-const value.
7850        * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
7851        (WebCore::SVGViewElement::contextElement): Return non-const value.
7852        * svg/SVGViewSpec.cpp:
7853        (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
7854        (WebCore::SVGViewSpec::contextElement): Return non-const value.
7855        * svg/SVGViewSpec.h:
7856
78572008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
7858
7859        Reviewed by Nikolas Zimmermann.
7860
7861        Class name changes for SVG Light Effect files. The class names that changed :
7862
7863        SVGLightSource -> LightSource
7864        SVGDistantLightSource -> DistantLightSource
7865        SVGPointLightSource -> PointLightSource
7866        SVGSpotLightSource -> SpotLightSource
7867
7868        Every other file that is changed is just propagating the class name changes to
7869        dependent files.
7870
7871        * svg/SVGFEDiffuseLightingElement.cpp:
7872        (WebCore::SVGFEDiffuseLightingElement::updateLights):
7873        * svg/SVGFEDistantLightElement.cpp:
7874        (WebCore::SVGFEDistantLightElement::lightSource):
7875        * svg/SVGFEDistantLightElement.h:
7876        * svg/SVGFELightElement.h:
7877        * svg/SVGFEPointLightElement.cpp:
7878        (WebCore::SVGFEPointLightElement::lightSource):
7879        * svg/SVGFEPointLightElement.h:
7880        * svg/SVGFESpecularLightingElement.cpp:
7881        (WebCore::SVGFESpecularLightingElement::updateLights):
7882        * svg/SVGFESpotLightElement.cpp:
7883        (WebCore::SVGFESpotLightElement::lightSource):
7884        * svg/SVGFESpotLightElement.h:
7885        * svg/graphics/filters/SVGDistantLightSource.h:
7886        (WebCore::DistantLightSource::DistantLightSource):
7887        (WebCore::DistantLightSource::azimuth):
7888        (WebCore::DistantLightSource::elevation):
7889        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
7890        (WebCore::SVGFEDiffuseLighting::lightSource):
7891        (WebCore::SVGFEDiffuseLighting::setLightSource):
7892        * svg/graphics/filters/SVGFEDiffuseLighting.h:
7893        * svg/graphics/filters/SVGFESpecularLighting.cpp:
7894        (WebCore::SVGFESpecularLighting::lightSource):
7895        (WebCore::SVGFESpecularLighting::setLightSource):
7896        * svg/graphics/filters/SVGFESpecularLighting.h:
7897        * svg/graphics/filters/SVGLightSource.cpp:
7898        (WebCore::PointLightSource::externalRepresentation):
7899        (WebCore::SpotLightSource::externalRepresentation):
7900        (WebCore::DistantLightSource::externalRepresentation):
7901        * svg/graphics/filters/SVGLightSource.h:
7902        (WebCore::):
7903        (WebCore::LightSource::LightSource):
7904        (WebCore::LightSource::~LightSource):
7905        (WebCore::LightSource::type):
7906        * svg/graphics/filters/SVGPointLightSource.h:
7907        (WebCore::PointLightSource::PointLightSource):
7908        (WebCore::PointLightSource::position):
7909        * svg/graphics/filters/SVGSpotLightSource.h:
7910        (WebCore::SpotLightSource::SpotLightSource):
7911        (WebCore::SpotLightSource::position):
7912        (WebCore::SpotLightSource::direction):
7913        (WebCore::SpotLightSource::specularExponent):
7914        (WebCore::SpotLightSource::limitingConeAngle):
7915        * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
7916        (WebCore::SVGFEDiffuseLighting::getCIFilter):
7917        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
7918        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
7919        (WebCore::getLightVectors):
7920        * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
7921        (WebCore::SVGFESpecularLighting::getCIFilter):
7922
79232008-07-01  Alp Toker  <alp@nuanti.com>
7924
7925        Rubber-stamped by Holger.
7926
7927        autotools cleanup: move some GTK+-specific sources from libwebcore to
7928        libwebcoregtk.
7929
7930        * GNUmakefile.am:
7931
79322008-07-01  Dan Bernstein  <mitz@apple.com>
7933
7934        Reviewed by Oliver Hunt.
7935
7936        - fix the non-SVG build
7937
7938        * css/CSSValueKeywords.in: Added 'all'.
7939        * css/SVGCSSValueKeywords.in: Removed 'all'.
7940
79412008-07-01  Simon Hausmann  <hausmann@webkit.org>
7942
7943        Build fix, include DateInstance.h.
7944
7945        * bridge/qt/qt_runtime.cpp:
7946
79472008-06-30  Adele Peterson  <adele@apple.com>
7948
7949        Reviewed by Oliver.
7950
7951        Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
7952
7953        Test: fast/forms/search-hidden-cancel-button.html
7954
7955        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
7956          Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.
7957
79582008-06-30  Sam Weinig  <sam@webkit.org>
7959
7960        Rubber-stamped by Darin Adler.
7961
7962        Split InternalFunction into its own header file.
7963
7964        * ForwardingHeaders/kjs/InternalFunction.h: Added.
7965        * bridge/runtime_method.h:
7966
79672008-06-30  Adele Peterson  <adele@apple.com>
7968
7969        Reviewed by Anders.
7970
7971        Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
7972
7973        Test: editing/selection/select-all-textarea.html
7974
7975        * dom/Node.cpp:
7976        (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
7977        (WebCore::Node::shadowTreeRootNode): Added helper function.
7978        * dom/Node.h:
7979        * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
7980        * dom/Range.h:
7981        * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
7982        * editing/Selection.h:
7983        * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
7984        * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
7985        If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
7986        * page/Frame.cpp:
7987        (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
7988        (WebCore::Frame::markAllMatchesForText): ditto.
7989
79902008-06-30  chris fleizach  <cfleizach@apple.com>
7991
7992        Reviewed by Beth Dakin
7993
7994        <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
7995
7996        * page/AccessibilityObject.cpp:
7997        (WebCore::AccessibilityObject::linkedUIElements):
7998        * page/AccessibilityObject.h:
7999        * page/AccessibilityRenderObject.cpp:
8000        (WebCore::AccessibilityRenderObject::internalLinkElement):
8001        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
8002        (WebCore::AccessibilityRenderObject::linkedUIElements):
8003        * page/AccessibilityRenderObject.h:
8004        * page/mac/AccessibilityObjectWrapper.mm:
8005        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
8006
80072008-06-30  Dan Bernstein  <mitz@apple.com>
8008
8009        Reviewed by Adele Peterson.
8010
8011        - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
8012
8013        * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
8014        Frame::setSelectionBaseWritingDirection().
8015        * page/ContextMenuController.cpp:
8016        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
8017        call Frame::setSelectionBaseWritingDirection().
8018        * page/Frame.cpp:
8019        (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
8020        focused node is a text field or text area, changes its 'dir' attribute.
8021        This is what IE does when the user changes the writing direction in a
8022        text control. Otherwise, calls down to Editor::setBaseWritingDirection().
8023        * page/Frame.h:
8024
80252008-06-30  David Kilzer  <ddkilzer@apple.com>
8026
8027        Improve HTMLObjectElement data encapsulation
8028
8029        Reviewed by Dave Hyatt.
8030
8031        HTMLObjectElement has some public member variables that should be
8032        private with accessor methods.
8033
8034        No test cases added since there is no change in behavior.
8035
8036        * html/HTMLObjectElement.cpp:
8037        (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
8038        initialization of member variables to match defined order in header.
8039        * html/HTMLObjectElement.h:
8040        (WebCore::HTMLObjectElement::classId): Added.
8041        (WebCore::HTMLObjectElement::url): Added.
8042        (WebCore::HTMLObjectElement::serviceType): Added.
8043        * rendering/RenderPartObject.cpp:
8044        (WebCore::RenderPartObject::updateWidget): Use new accessor methods
8045        in HTMLObjectElement now that its member variables are private.
8046
80472008-06-30  Dan Bernstein  <mitz@apple.com>
8048
8049        Reviewed by Anders Carlsson.
8050
8051        - remove unused member variable
8052
8053        * page/Page.h: Removed Page::m_focusedNode.
8054
80552008-06-30  Anders Carlsson  <andersca@apple.com>
8056
8057        Reviewed by Adam.
8058
8059        <rdar://problem/6014209>
8060        Crash when loading manifest from application cache fails
8061        
8062        There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
8063        that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
8064        group could be deleted causing us to access freed memory and then crashing.
8065        
8066        * loader/appcache/ApplicationCacheGroup.cpp:
8067        (WebCore::ApplicationCacheGroup::didReceiveResponse):
8068        (WebCore::ApplicationCacheGroup::didFail):
8069        (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
8070
80712008-06-30  Adam Roben  <aroben@apple.com>
8072
8073        Fix <rdar://5954749> Assertion failure due to HashTable's use of
8074        operator&
8075
8076        Reviewed by Ada Chan.
8077
8078        * bindings/js/JSSVGPODTypeWrapper.h:
8079        * dom/Document.h:
8080        * dom/StyledElement.cpp:
8081        * platform/graphics/FontCache.cpp:
8082        * platform/graphics/IntSizeHash.h:
8083        (WTF::):
8084        * platform/text/StringHash.h:
8085        * platform/win/COMPtr.h:
8086        * svg/SVGAnimatedTemplate.h:
8087        Updated all custom HashTraits for HashTable changes.
8088
80892008-06-30  Simon Hausmann  <hausmann@webkit.org>
8090
8091        Fix the Qt build.
8092
8093        Added missing includes and changed getItem array calls to use get()
8094        instead.
8095
8096        * bridge/qt/qt_runtime.cpp:
8097        (KJS::Bindings::convertValueToQVariant):
8098
80992008-06-29  David Smith  <catfish.man@gmail.com>
8100
8101        Rubberstamped by Sam Weinig.
8102
8103        Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
8104
8105        * dom/TagNodeList.cpp:
8106        (WebCore::TagNodeList::nodeMatches):
8107
81082008-06-29  Dan Bernstein  <mitz@apple.com>
8109
8110        Reviewed by Darin Adler.
8111
8112        - fix SVG layout test regressions
8113
8114        * css/CSSFontSelector.cpp:
8115        (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
8116        again with primitive values, because the @font-face rules SVG fonts
8117        create still use a single primitive value rather than a value list.
8118
81192008-06-29  Dan Bernstein  <mitz@apple.com>
8120
8121        Reviewed by Sam Weinig.
8122
8123        - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
8124
8125        Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
8126               fast/css/font-face-descriptor-multiple-values.html
8127
8128        * css/CSSFontSelector.cpp:
8129        (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
8130        lists for the descriptor properties.
8131
8132        * css/CSSParser.cpp:
8133        (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
8134        (WebCore::CSSParser::parseValue): Added a call to
8135        deleteFontFaceOnlyValues() if necessary.
8136        (WebCore::CSSParser::parseDeclaration): Ditto.
8137        (WebCore::CSSParser::clearProperties): Added code to reset
8138        m_hasFontFaceOnlyValues to false.
8139        (WebCore::CSSParser::parseFontStyle): Added. If there is a single
8140        valid identifier other than 'all', creates a CSSPrimitiveValue and
8141        assigns it to the property. If 'all' is the only value, or if there are
8142        multiple valid identifiers that are not 'all', creates a CSSValueList
8143        and assigns it to the property, and sets m_hasFontFaceOnlyValues to
8144        true.
8145        (WebCore::CSSParser::parseFontVariant): Ditto.
8146        (WebCore::CSSParser::parseFontWeight): Ditto.
8147        (WebCore::CSSParser::createStyleRule): Added a call to
8148        deleteFontFaceOnlyValues().
8149        (WebCore::CSSParser::createFontFaceRule): Added code to change
8150        font descriptor properties that had only one value, and therefore were
8151        assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
8152        (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
8153        invalidates font descriptor properties that had values that are only
8154        allowed in @font-face. Those are identified by having CSSValueLists
8155        rather than CSSPrimitiveValues as their values.
8156        * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
8157        font descriptor property values that are only valid in @font-face were
8158        encountered. This is used when the style declaration is created (and we
8159        finally know if it is @font-face or not) to delete invalid properties
8160        if needed.
8161
81622008-06-28  Darin Adler  <darin@apple.com>
8163
8164        Reviewed by Sam and Cameron.
8165
8166        - fix https://bugs.webkit.org/show_bug.cgi?id=19805
8167          Array.concat turns missing array elements into "undefined"
8168
8169        * bridge/jni/jni_utility.cpp:
8170        (KJS::Bindings::convertArrayInstanceToJavaArray):
8171        Use get instead of getItem, since we always want to consider values from the
8172        prototypes when looking at JavaScript arrays.
8173
81742008-06-28  Dan Bernstein  <mitz@apple.com>
8175
8176        Reviewed by Darin Adler.
8177
8178        - allow document markers to touch or overlap if they are not of the same type
8179
8180        Cannot be tested in DumpRenderTree
8181
8182        * dom/Document.cpp:
8183        (WebCore::Document::addMarker):
8184        * rendering/InlineTextBox.cpp:
8185        (WebCore::InlineTextBox::paintDocumentMarkers):
8186
81872008-06-28  Sam Weinig  <sam@webkit.org>
8188
8189        Rubber-stamped by Darin Adler.
8190
8191        Update includes after remaming string_object.h to StringObject.h and
8192        splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
8193        and StringPrototype.
8194
8195        * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
8196        * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
8197        * ForwardingHeaders/kjs/StringPrototype.h: Added.
8198        * ForwardingHeaders/kjs/string_object.h: Removed.
8199        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8200
82012008-06-28  Sam Weinig  <sam@webkit.org>
8202
8203        Rubber-stamped by Oliver Hunt.
8204
8205        Update includes after remaming object_object.h to ObjectPrototype.h and
8206        splitting FunctionConstructor out of FunctionPrototype.h
8207
8208        * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
8209        * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
8210        * ForwardingHeaders/kjs/object_object.h: Removed.
8211        * bindings/js/JSEventListener.cpp:
8212        * bindings/scripts/CodeGeneratorJS.pm:
8213        * bridge/qt/qt_instance.cpp:
8214
82152008-06-28  Dan Bernstein  <mitz@apple.com>
8216
8217        Reviewed by Darin Adler.
8218
8219        - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
8220
8221        * html/HTMLImageLoader.cpp:
8222        (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
8223        image if the 'src' attribute is the empty string and the document's base
8224        URI is a file: URL.
8225
82262008-06-27  Sam Weinig  <sam@webkit.org>
8227
8228        Reviewed by Dan Bernstein.
8229
8230        <rdar://problem/6025499> Make Cross-site XHR match the final specification
8231
8232        Update the implemented subset of Access-Control for XMLHttpRequest to the 
8233        latest version. (Editor's Draft 25 May 2008)
8234
8235        - Now differentiates between simple and non-simple cross-site requests, the later
8236          requiring a preflight.
8237        - Now sends request headers cross-site, limited by a blacklist.
8238        - Now allows access to cross-site response headers, limited by a whitelist.
8239        - Now sends request entity body for non-get cross-site requests after preflight.
8240
8241        Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
8242               http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
8243               http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
8244
8245        * xml/XMLHttpRequest.cpp:
8246        (WebCore::isOnAccessControllRequestHeaderBlackList):
8247        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
8248        (WebCore::isOnAccessControlResponseHeaderWhitelist):
8249        (WebCore::XMLHttpRequest::XMLHttpRequest):
8250        (WebCore::XMLHttpRequest::createRequest):
8251        (WebCore::XMLHttpRequest::makeSameOriginRequest):
8252        (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
8253        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
8254        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8255        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8256        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8257        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
8258        (WebCore::XMLHttpRequest::abort):
8259        (WebCore::XMLHttpRequest::clearRequest):
8260        (WebCore::XMLHttpRequest::setRequestHeader):
8261        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
8262        (WebCore::XMLHttpRequest::getAllResponseHeaders):
8263        (WebCore::XMLHttpRequest::getResponseHeader):
8264        (WebCore::XMLHttpRequest::didFinishLoading):
8265        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
8266        (WebCore::XMLHttpRequest::didReceiveResponse):
8267        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8268        (WebCore::XMLHttpRequest::didReceiveData):
8269        * xml/XMLHttpRequest.h:
8270
82712008-06-27  Sam Weinig  <sam@webkit.org>
8272
8273        Rubber-stamped by Mark Rowe.
8274
8275        Clean up sorting in WebCore.xcodeproj.
8276
8277        * WebCore.xcodeproj/project.pbxproj:
8278
82792008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
8280
8281        Reviewed by Darin Adler.
8282
8283        Remove unnecessary options to make_names.pl command line
8284        http://bugs.webkit.org/show_bug.cgi?id=19777
8285
8286        * DerivedSources.make:
8287        * GNUmakefile.am:
8288
82892008-06-27  Adam Barth  <abarth@webkit.org>
8290
8291        Reviewed by Darin Adler.
8292
8293        https://bugs.webkit.org/show_bug.cgi?id=19784
8294
8295        Properly handle untermianted <!-- comments in <textarea>s.
8296
8297        Tests: fast/parser/open-comment-in-script-tricky.html
8298               fast/parser/open-comment-in-style.html
8299               fast/parser/open-comment-in-textarea.html
8300
8301        * html/HTMLTokenizer.cpp:
8302        (WebCore::HTMLTokenizer::finish):
8303
83042008-06-27  Adam Barth  <abarth@webkit.org>
8305
8306        Reviewed by Darin Alder.
8307
8308        Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
8309          Text areas in Wikipedia edit pages are empty, following content is missing
8310
8311        Don't treat entities as comment starters in parseSpecial.
8312
8313        Tests: fast/parser/comment-in-iframe.html
8314               fast/parser/entity-comment-in-iframe.html
8315               fast/parser/entity-comment-in-script-tricky.html
8316               fast/parser/entity-comment-in-style.html
8317               fast/parser/entity-comment-in-textarea.html
8318               fast/parser/entity-comment-in-title.html
8319
8320        * html/HTMLTokenizer.cpp:
8321        (WebCore::HTMLTokenizer::parseSpecial):
8322
83232008-06-27  Antti Koivisto  <antti@apple.com>
8324
8325        Reviewed by Oliver.
8326        
8327        <rdar://problem/6030720> 
8328        REGRESSION: Discrete animation between incompatible paths does not work
8329
8330        Fall back to discrete path animation if paths are not suitable for morphing.
8331        
8332        Test: svg/custom/animate-path-discrete.svg
8333        
8334        * svg/SVGAnimateElement.cpp:
8335        (WebCore::SVGAnimateElement::calculateAnimatedValue):
8336
83372008-06-26  David Smith  <catfish.man@gmail.com>
8338
8339        Reviewed by Sam Weinig.
8340        
8341        https://bugs.webkit.org/show_bug.cgi?id=19002
8342        
8343        Optimize simple id selectors in querySelector/querySelectorAll. 
8344        ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
8345
8346        * dom/Document.h:
8347        (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
8348        * dom/Node.cpp:
8349        (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
8350        * dom/SelectorNodeList.cpp:
8351        (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
8352
83532008-06-26  Dan Bernstein  <mitz@apple.com>
8354
8355        Reviewed by Darin Adler.
8356
8357        - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
8358          http://bugs.webkit.org/show_bug.cgi?id=7023
8359
8360        Test: editing/selection/find-in-text-control.html
8361
8362        * WebCore.base.exp: Updated the TextIterator constructor signature.
8363
8364        * editing/TextIterator.cpp:
8365        (WebCore::TextIterator::TextIterator): Added an enterTextControls
8366        boolean parameter that determines whether the iterator should visit text
8367        inside text areas and text fields. Added code to initialize the
8368        m_inShadowContent member variable based on whether the range is in
8369        shadow content.
8370        (WebCore::TextIterator::advance): Added code to step out of shadow
8371        content.
8372        (WebCore::TextIterator::handleReplacedElement): Added code to enter
8373        text controls if desired.
8374        (WebCore::CharacterIterator::CharacterIterator): Added an
8375        enterTextControls boolean parameter that determines whether the iterator
8376        should visit text inside text areas and text fields. This is passed to
8377        the TextIterator constructor.
8378        (WebCore::findPlainText): Changed to use a CharacterIterator that
8379        visits text controls.
8380
8381        * editing/TextIterator.h: Added member variables to track whether the
8382        current node is in a shadow tree and whether the iterator should visit
8383        text controls.
8384
8385        * page/Frame.cpp:
8386        (WebCore::Frame::findString): Changed to find inside text controls.
8387        (WebCore::Frame::markAllMatchesForText): Ditto.
8388
8389        * rendering/RenderTextControl.cpp:
8390        (WebCore::RenderTextControl::innerTextElement): Added.
8391        * rendering/RenderTextControl.h: Added innerTextElement(), a private
8392        accessor method that is accessible to TextIterator through class
8393        friendship.
8394
83952008-06-26  Darin Adler  <darin@apple.com>
8396
8397        Reviewed by Geoff.
8398
8399        * bridge/runtime.h: Added include of JSString.h since jsString will soon
8400        change to return a JSString*.
8401
84022008-06-26  Adele Peterson  <adele@apple.com>
8403
8404        Fix suggested by Eric Carlson, added by me, reviewed by Adam.
8405
8406        Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
8407
8408        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
8409        Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
8410
84112008-06-26  Sam Weinig  <sam@webkit.org>
8412
8413        Reviewed by John Sullivan.
8414
8415        <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
8416
8417        * loader/FrameLoader.cpp:
8418        (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
8419        DOMWindow when opening a CachedPage.
8420
84212008-06-26  Eric Seidel  <eric@webkit.org>
8422
8423        Reviewed by Beth Dakin.
8424
8425        CSS @import statements can cause DocLoader to use
8426        a dead Frame pointer.
8427        https://bugs.webkit.org/show_bug.cgi?id=19618
8428        
8429        The fix is to get rid of the Frame pointer on DocLoader.
8430        
8431        I also took this opportunity to clean up Document::detach
8432        a little to make it clear why we clear the m_frame pointer
8433        there, and to note that in the future we should stop
8434        using Node::detach to mean "tear down the whole rendering
8435        tree and detach from the frame".
8436
8437        Test: I don't know how to make a good test for this, the test
8438        we have is network timing dependent and does not make a good
8439        layout test.
8440
8441        * dom/Document.cpp:
8442        (WebCore::Document::Document):
8443        (WebCore::Document::detach):
8444        (WebCore::Document::clearFramePointer):
8445        * dom/Document.h:
8446        * loader/DocLoader.cpp:
8447        (WebCore::DocLoader::frame):
8448        * loader/DocLoader.h:
8449
84502008-06-26  Anders Carlsson  <andersca@apple.com>
8451
8452        Reviewed by Brady.
8453
8454        Don't enumerate document.applets trying to determine if a page contains applets.
8455        Instead, set m_containsPlugIns to true when an applet has been created.
8456        
8457        * loader/FrameLoader.cpp:
8458        (WebCore::FrameLoader::canCachePage):
8459        (WebCore::FrameLoader::createJavaAppletWidget):
8460
84612008-06-26  Alexey Proskuryakov  <ap@webkit.org>
8462
8463        Reviewed by Maciej.
8464
8465        Make JSGlobalData per-thread.
8466
8467        * bindings/js/JSDOMBinding.h:
8468        (WebCore::DOMObject::DOMObject):
8469        * bindings/js/JSDOMWindowBase.cpp:
8470        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
8471        * bridge/runtime_object.cpp:
8472        (RuntimeObjectImp::RuntimeObjectImp):
8473        Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
8474        there is no danger for them to be collected on a wrong thread.
8475
84762008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>
8477
8478        Reviewed by Simon.
8479
8480        [svg] Disable plugins for SVG images
8481        The Qt platform allows to have a plugin factory per Page. Now SVG Images
8482        are using a Page and dummy/empty clients for Chrome. The only way to get
8483        the kit from the WebCore::Page is to go through the ChromeClient but this
8484        is not possible when the ChromeClient is an empty client. This leads to a
8485        crash in PluginDataQt.cpp. One way to avoid this would have been the
8486        addition of a rtti like field to ChromeClient to see if it is an empty
8487        client. The other possibility is to not enable plugins for images.
8488
8489        The SVGImage relies on the fact that the document is a SVGDocument and
8490        that the rootElement is a SVGSVGElement. If plugins are used we could
8491        end up with a PluginDocument and crash badly. Do not try to use plugins
8492        if plugins are disabled for the WebCore::Page.
8493
8494        * dom/DOMImplementation.cpp:
8495        (WebCore::DOMImplementation::createDocument):
8496        * svg/graphics/SVGImage.cpp:
8497        (WebCore::SVGImage::dataChanged):
8498
84992008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
8500
8501        Reviewed by Simon.
8502
8503        CodingStyle fixes
8504
8505        * platform/graphics/qt/SimpleFontDataQt.cpp:
8506        (WebCore::SimpleFontData::SimpleFontData):
8507
85082008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
8509
8510        Reviewed by Simon.
8511
8512        [svg] Make QtWebKit build more of the SVG support
8513        Add the proper defines and files, update SVGResourceFilterQt.cpp
8514        to be enabled by the filter option and not by experimental svg support
8515
8516        * WebCore.pro:
8517        * svg/graphics/qt/SVGResourceFilterQt.cpp:
8518        (WebCore::SVGResourceFilter::createPlatformData):
8519        (WebCore::SVGResourceFilter::prepareFilter):
8520
85212008-06-25  Sam Weinig  <sam@webkit.org>
8522
8523        Reviewed by Brady Eidson.
8524
8525        Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
8526
8527        * xml/XMLHttpRequest.cpp:
8528        (WebCore::XMLHttpRequest::readyState):
8529        (WebCore::XMLHttpRequest::changeState):
8530        (WebCore::XMLHttpRequest::open):
8531        * xml/XMLHttpRequest.h:
8532        (WebCore::XMLHttpRequest::create):
8533        (WebCore::XMLHttpRequest::):
8534
85352008-06-25  Justin Garcia  <justin.garcia@apple.com>
8536
8537        Reviewed by John.
8538
8539        <rdar://problem/5994480> Line break lost on some pastes
8540        
8541        Merging the the first paragraph of inserted content with the content that came
8542        before the selection that was pasted into would also move content after 
8543        the selection that was pasted into if:
8544        
8545        1) Only one paragraph was being pasted, and it was not wrapped in a block
8546        2) The selection that was pasted into ended at the end of a block
8547        3) The next paragraph didn't start at the start of a block.
8548        
8549        Insert a line break just after the inserted content to separate it from what 
8550        comes after and prevent that from happening.
8551        
8552        Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
8553        when deleting a paragraph that started or ended with an input element.  This was
8554        because its m_startBlock and m_endBlock were still computed with the old deprecated
8555        enclosingBlockFlowOrTableElement().
8556        
8557        * editing/DeleteSelectionCommand.cpp:
8558        (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
8559        getting an enclosing block.
8560        (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
8561        block will return 0 if it reaches the root editable element before finding a block,
8562        so if we're deleting inside an inline editable root, m_start/endBlock will
8563        be 0.  Removed an early return for this case (we already have test coverage for it).
8564        * editing/ReplaceSelectionCommand.cpp:
8565        (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 
8566        content to separate it from what comes after.
8567        * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
8568        * dom/Node.cpp: Ditto.
8569
85702008-06-25  Anders Carlsson  <andersca@apple.com>
8571
8572        Reviewed by Dave Hyatt.
8573
8574        Fix refcount leak in CSSVariablesRule.
8575
8576        * css/CSSParser.cpp:
8577        (WebCore::CSSParser::createVariablesRule):
8578        * css/CSSVariablesRule.h:
8579        (WebCore::CSSVariablesRule::create):
8580        (WebCore::CSSVariablesRule::setDeclaration):
8581
85822008-06-25  Anders Carlsson  <andersca@apple.com>
8583
8584        Reviewed by Mitz.
8585
8586        <rdar://problem/6007111> 
8587        https://bugs.webkit.org/show_bug.cgi?id=19516
8588        DOM modification causes Access Violation (NULL pointer?)
8589        
8590        Null check the document element.
8591        
8592        * html/HTMLParser.cpp:
8593        (WebCore::HTMLParser::handleError):
8594
85952008-06-25  Dan Bernstein  <mitz@apple.com>
8596
8597        Reviewed by Dave Hyatt.
8598
8599        - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
8600
8601        - fix https://bugs.webkit.org/show_bug.cgi?id=18863
8602          <rdar://problem/5908890> weight mappings with @font-face aren't consistent
8603
8604        Tests: fast/css/font-face-locally-installed.html
8605               fast/css/font-face-multiple-faces.html
8606
8607        * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
8608
8609        * WebCore.xcodeproj/project.pbxproj: Ditto.
8610
8611        * css/CSSFontFace.h:
8612        Made CSSFontFace store descriptors from the @font-face rule, as follows:
8613        (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
8614        (WebCore::CSSFontFace::traitsMask): Added this accessor.
8615        (WebCore::CSSFontFace::addRange): Added.
8616        (WebCore::CSSFontFace::ranges): Added.
8617        (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
8618        (WebCore::CSSFontFace::UnicodeRange::from):
8619        (WebCore::CSSFontFace::UnicodeRange::to):
8620        (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
8621        of UnicodeRanges as member variables.
8622
8623        * css/CSSFontFaceSource.cpp:
8624        Changed the hash key from the font size alone to the font size and
8625        the synthetic style bits, needed if the same source supplies different
8626        synthesized versions.
8627        (WebCore::CSSFontFaceSource::pruneTable):
8628        (WebCore::CSSFontFaceSource::getFontData):
8629
8630        * css/CSSFontFaceSource.h:
8631
8632        * css/CSSFontSelector.cpp:
8633        (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
8634        the contents of the font face, locally-installed font face and segmented
8635        font tables.
8636        (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
8637        not create segmented font faces, but instead just collect font faces
8638        and annotate them with descriptors (traits and unicode ranges).
8639        (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
8640        font faces by proximity to the desired traits.
8641        (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
8642        font face here and cache it.
8643
8644        * css/CSSFontSelector.h:
8645
8646        * css/CSSSegmentedFontFace.cpp:
8647        Changed to keep a vector of font faces instead of font face ranges, as
8648        font faces now know their Unicode ranges.
8649        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
8650        (WebCore::CSSSegmentedFontFace::isLoaded):
8651        (WebCore::CSSSegmentedFontFace::isValid):
8652        (WebCore::CSSSegmentedFontFace::appendFontFace):
8653        (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
8654        traits parameters, and instead changed to set them on each FontData
8655        separately based on the difference between the desired traits and
8656        the font face's traits.
8657
8658        * css/CSSSegmentedFontFace.h:
8659
8660        * platform/graphics/FontCache.h:
8661        Removed fontExists() and added getTraitsInFamily().
8662
8663        * platform/graphics/FontDescription.cpp:
8664        (WebCore::FontDescription::traitsMask): Added.
8665
8666        * platform/graphics/FontDescription.h:
8667
8668        * platform/graphics/FontTraitsMask.h: Added.
8669
8670        * platform/graphics/GlyphPageTreeNode.cpp:
8671        (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
8672        glyphs from all fonts in the segmented font, using each font in turn to
8673        fill in characters not covered by earlier fonts.
8674
8675        * platform/graphics/gtk/FontCacheGtk.cpp:
8676        (WebCore::FontCache::getTraitsInFamily): Added a stub.
8677
8678        * platform/graphics/mac/FontCacheMac.mm:
8679        (WebCore::FontCache::getTraitsInFamily): Added.
8680
8681        * platform/graphics/qt/FontCacheQt.cpp:
8682        (WebCore::FontCache::getTraitsInFamily): Added a stub.
8683
8684        * platform/graphics/win/FontCacheWin.cpp:
8685        (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
8686        (WebCore::traitsInFamilyEnumProc): Added.
8687        (WebCore::FontCache::getTraitsInFamily): Added.
8688
8689        * platform/graphics/wx/FontCacheWx.cpp:
8690        (WebCore::FontCache::getTraitsInFamily): Added a stub.
8691
8692        * platform/mac/WebFontCache.h:
8693        * platform/mac/WebFontCache.mm:
8694        (toTraitsMask): Added.
8695        (+[WebFontCache getTraits:inFamily:]): Added.
8696
86972008-06-24  Anonymous
8698
8699        Reviewed by Darin Adler.  Committed by Adam Barth.
8700
8701        https://bugs.webkit.org/show_bug.cgi?id=19470
8702
8703        Check for a null documentElement() to fix four crashes.
8704
8705        * WebCore/dom/Document.cpp:
8706        * WebCore/dom/Node.cpp:
8707
87082008-06-24  Adam Barth  <abarth@webkit.org>
8709
8710        Reviewed by Darin Adler.
8711
8712        Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
8713
8714        Correctly parse <!-- </textarea> --> inside a <textarea>, matching
8715        Internet Explorer, Firefox, Opera, and HTML 5.
8716
8717        Tests: fast/parser/comment-in-script-tricky.html
8718               fast/parser/comment-in-style.html
8719               fast/parser/comment-in-textarea.html
8720               fast/parser/comment-in-title.html
8721
8722        * html/HTMLTokenizer.cpp:
8723        (WebCore::HTMLTokenizer::parseSpecial):
8724
87252008-06-24  Justin Garcia  <justin.garcia@apple.com>
8726
8727        Reviewed by John.
8728
8729        <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
8730        
8731        * editing/CompositeEditCommand.cpp:
8732        (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
8733        apply styles from the moved paragraph to the destination with applyStyle, which
8734        does selection preservation when it needs to apply block styles.  Selection preservation 
8735        uses relatively untested code in TextIterator to count VisiblePositions which fails in 
8736        this particular test case because it doesn't handle changes in editability properly.  
8737        We can avoid this bug by not applying block styles from moved paragraphs.  This is 
8738        something that should be done anyway, since the moved paragraph should assume the 
8739        block styles of the destination.
8740        * editing/EditCommand.cpp:
8741        (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
8742        this function to also include the typing style.
8743        * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
8744        is buggy and should be phased out when we rewrite moveParagraphs.
8745
87462008-06-24  Kevin McCullough  <kmccullough@apple.com>
8747
8748        -Added a manual test for the profiler.
8749
8750        * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
8751
87522008-06-24  Sam Weinig  <sam@webkit.org>
8753
8754        Reviewed by Anders Carlsson.
8755
8756        Add support for loadstart, abort and error events for XMLHttpRequests.
8757
8758        Tests: http/tests/xmlhttprequest/onabort-event.html
8759               http/tests/xmlhttprequest/onerror-event.html
8760               http/tests/xmlhttprequest/onloadstart-event.html
8761
8762        * bindings/js/JSXMLHttpRequestCustom.cpp:
8763        (WebCore::JSXMLHttpRequest::mark):
8764        (WebCore::JSXMLHttpRequest::onreadystatechange):
8765        (WebCore::JSXMLHttpRequest::onabort):
8766        (WebCore::JSXMLHttpRequest::setOnabort):
8767        (WebCore::JSXMLHttpRequest::onerror):
8768        (WebCore::JSXMLHttpRequest::setOnerror):
8769        (WebCore::JSXMLHttpRequest::onload):
8770        (WebCore::JSXMLHttpRequest::onloadstart):
8771        (WebCore::JSXMLHttpRequest::setOnloadstart):
8772        (WebCore::JSXMLHttpRequest::onprogress):
8773        * dom/EventNames.h:
8774        * xml/XMLHttpRequest.cpp:
8775        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
8776        (WebCore::XMLHttpRequest::createRequest):
8777        (WebCore::XMLHttpRequest::abort):
8778        (WebCore::XMLHttpRequest::networkError):
8779        (WebCore::XMLHttpRequest::abortError):
8780        (WebCore::XMLHttpRequest::didFail):
8781        (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
8782        (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
8783        (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
8784        (WebCore::XMLHttpRequest::dispatchAbortEvent):
8785        (WebCore::XMLHttpRequest::dispatchErrorEvent):
8786        (WebCore::XMLHttpRequest::dispatchLoadEvent):
8787        (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
8788        (WebCore::XMLHttpRequest::dispatchProgressEvent):
8789        * xml/XMLHttpRequest.h:
8790        (WebCore::XMLHttpRequest::setOnAbortListener):
8791        (WebCore::XMLHttpRequest::onAbortListener):
8792        (WebCore::XMLHttpRequest::setOnErrorListener):
8793        (WebCore::XMLHttpRequest::onErrorListener):
8794        (WebCore::XMLHttpRequest::setOnLoadStartListener):
8795        (WebCore::XMLHttpRequest::onLoadStartListener):
8796        * xml/XMLHttpRequest.idl:
8797
87982008-06-24  Anders Carlsson  <andersca@apple.com>
8799
8800        Reviewed by Mitz.
8801
8802        <rdar://problem/5957606>
8803        CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
8804
8805        Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
8806        in case the call do didFail starts a new run loop.
8807        
8808        * loader/NetscapePlugInStreamLoader.cpp:
8809        (WebCore::NetscapePlugInStreamLoader::didCancel):
8810
88112008-06-24  Alexey Proskuryakov  <ap@webkit.org>
8812
8813        Release build fix.
8814
8815        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
8816        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
8817        * bindings/js/JSCustomSQLTransactionCallback.cpp:
8818        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
8819        Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
8820
88212008-06-24  Alexey Proskuryakov  <ap@webkit.org>
8822
8823        Reviewed by Darin.
8824
8825        https://bugs.webkit.org/show_bug.cgi?id=19723
8826        REGRESSION(r34648): Some SVG tests crash when running under --threaded
8827
8828        * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
8829        to paint during document destruction, because rendering structures are not kept in a
8830        consistent state then.
8831
88322008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
8833
8834        Reviewed by Darin.
8835
8836        https://bugs.webkit.org/show_bug.cgi?id=19727
8837
8838        Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
8839        many times in Cairo and Qt ports.
8840
8841        * platform/graphics/GraphicsContext.h:
8842        * platform/graphics/GraphicsContext.cpp:
8843        (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
8844        which indicates whether there is a visible shadow to draw or not.  Ports
8845        without a platform shadow implementation can use this flag to determine
8846        whether a shadow needs to be drawn manually
8847        * platform/graphics/cairo/FontCairo.cpp:
8848        (WebCore::Font::drawGlyphs):
8849        * platform/graphics/qt/FontQt.cpp:
8850        (WebCore::Font::drawText):
8851        * platform/graphics/qt/GraphicsContextQt.cpp:
8852        (WebCore::GraphicsContext::drawLine): use return from getShadow() to
8853        determine whether to draw the shadow
8854
88552008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
8856
8857        Reviewed by Simon.
8858
8859        https://bugs.webkit.org/show_bug.cgi?id=18459
8860
8861        Clean up and remove unused platform shadow code.
8862
8863        Minor edits by Simon, removed unused TextShadow struct.
8864
8865        * platform/graphics/qt/GraphicsContextQt.cpp:
8866        (WebCore::GraphicsContext::setPlatformShadow):
8867        (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
8868        platform shadow, so just make these functions empty.  The shadows are
8869        drawn manually in function like drawLine(), etc.
8870
88712008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
8872
8873        Reviewed by Simon.
8874
8875        https://bugs.webkit.org/show_bug.cgi?id=18459
8876
8877        Implemented basic text-shadow support for the Qt port.
8878
8879        * platform/graphics/qt/FontQt.cpp:
8880        (WebCore::Font::drawText): implement text-shadow support in the Qt port
8881        * platform/graphics/qt/GraphicsContextQt.cpp:
8882        (WebCore::GraphicsContext::drawLine): also draw shadows for text
8883        decorations such as unerlines
8884
88852008-06-24  Simon Hausmann  <hausmann@webkit.org>
8886
8887        Fix the Qt build, adapt to various JSCore API changes.
8888
8889        * bridge/qt/qt_instance.cpp:
8890        (KJS::Bindings::QtRuntimeObjectImp::construct):
8891        (KJS::Bindings::QtInstance::getRuntimeObject):
8892        (KJS::Bindings::QtInstance::invokeDefaultMethod):
8893        * bridge/qt/qt_runtime.cpp:
8894        (KJS::Bindings::convertQVariantToValue):
8895        (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
8896        (KJS::Bindings::QtRuntimeConnectionMethod::call):
8897        (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
8898        (KJS::Bindings::QtConnectionObject::execute):
8899        * bridge/qt/qt_runtime.h:
8900        (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
8901
89022008-06-24  Alexey Proskuryakov  <ap@webkit.org>
8903
8904        Remove XMLHttpRequestProgressEvent.cpp from more project files.
8905
8906        * GNUmakefile.am:
8907        * WebCore.pro:
8908
89092008-06-24  Ariya Hidayat  <ariya.hidayat@trolltech.com>
8910
8911        Reviewed by Simon.
8912
8913        For the Qt port, fix linking with MinGW.
8914
8915        * WebCore.pro:
8916
89172008-06-23  Darin Adler  <darin@apple.com>
8918
8919        Reviewed by Geoff.
8920
8921        Update for JavaScript changes.
8922
8923        - Use CallData and ConstructData instead of the obsolete implementsCall,
8924          callAsFunction, and construct functions.
8925
8926        - Updated native function arguments, specifically to allow a JSValue
8927          rather than a JSObject for the this argument, and to call toThisObject
8928          as needed when treating it as an object.
8929
8930        - Made some more class members private and protected, including virtual
8931          function overrides.
8932
8933        - Eliminated the use of getCallData in the JavaScript bridging code as
8934          a way to check if an instance supports invokeDefaultMethod.
8935
8936        - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
8937          classes. They were using virtual functions simply to share an instance
8938          of the RefCounted template, which was not helpful.
8939
8940        * bindings/js/JSAudioConstructor.cpp:
8941        (WebCore::constructAudio):
8942        (WebCore::JSAudioConstructor::getConstructData):
8943        * bindings/js/JSAudioConstructor.h:
8944        (WebCore::JSAudioConstructor::document):
8945        (WebCore::JSAudioConstructor::classInfo):
8946        * bindings/js/JSClipboardCustom.cpp:
8947        (WebCore::JSClipboard::types):
8948        * bindings/js/JSCustomSQLStatementCallback.cpp:
8949        (WebCore::JSCustomSQLStatementCallback::handleEvent):
8950        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
8951        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
8952        * bindings/js/JSCustomSQLTransactionCallback.cpp:
8953        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
8954        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
8955        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
8956        * bindings/js/JSCustomVoidCallback.cpp:
8957        (WebCore::JSCustomVoidCallback::handleEvent):
8958        * bindings/js/JSCustomXPathNSResolver.cpp:
8959        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
8960        * bindings/js/JSDOMBinding.h:
8961        (WebCore::DOMObject::DOMObject):
8962        * bindings/js/JSDOMWindowBase.cpp:
8963        (WebCore::windowProtoFuncAToB):
8964        (WebCore::windowProtoFuncBToA):
8965        (WebCore::windowProtoFuncOpen):
8966        (WebCore::windowProtoFuncSetTimeout):
8967        (WebCore::windowProtoFuncClearTimeout):
8968        (WebCore::windowProtoFuncSetInterval):
8969        (WebCore::windowProtoFuncAddEventListener):
8970        (WebCore::windowProtoFuncRemoveEventListener):
8971        (WebCore::windowProtoFuncShowModalDialog):
8972        (WebCore::windowProtoFuncNotImplemented):
8973        (WebCore::toJSDOMWindow):
8974        * bindings/js/JSDOMWindowBase.h:
8975        * bindings/js/JSDOMWindowShell.h:
8976        (WebCore::JSDOMWindowShell::classInfo):
8977        * bindings/js/JSEventListener.cpp:
8978        (WebCore::JSAbstractEventListener::handleEvent):
8979        (WebCore::JSLazyEventListener::parseCode):
8980        * bindings/js/JSEventTargetBase.cpp:
8981        (WebCore::retrieveEventTargetAndCorrespondingNode):
8982        (WebCore::jsEventTargetAddEventListener):
8983        (WebCore::jsEventTargetRemoveEventListener):
8984        (WebCore::jsEventTargetDispatchEvent):
8985        * bindings/js/JSEventTargetBase.h:
8986        * bindings/js/JSHTMLAppletElementCustom.cpp:
8987        (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
8988        (WebCore::JSHTMLAppletElement::customPut):
8989        (WebCore::JSHTMLAppletElement::getCallData):
8990        * bindings/js/JSHTMLCollectionCustom.cpp:
8991        (WebCore::callHTMLCollection):
8992        (WebCore::JSHTMLCollection::getCallData):
8993        * bindings/js/JSHTMLDocumentCustom.cpp:
8994        (WebCore::JSHTMLDocument::open):
8995        * bindings/js/JSHTMLEmbedElementCustom.cpp:
8996        (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
8997        (WebCore::JSHTMLEmbedElement::customPut):
8998        (WebCore::JSHTMLEmbedElement::getCallData):
8999        * bindings/js/JSHTMLInputElementBase.cpp:
9000        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
9001        * bindings/js/JSHTMLInputElementBase.h:
9002        * bindings/js/JSHTMLObjectElementCustom.cpp:
9003        (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
9004        (WebCore::JSHTMLObjectElement::customPut):
9005        (WebCore::JSHTMLObjectElement::getCallData):
9006        * bindings/js/JSHTMLOptionElementConstructor.cpp:
9007        (WebCore::constructHTMLOptionElement):
9008        (WebCore::JSHTMLOptionElementConstructor::getConstructData):
9009        * bindings/js/JSHTMLOptionElementConstructor.h:
9010        (WebCore::JSHTMLOptionElementConstructor::document):
9011        (WebCore::JSHTMLOptionElementConstructor::classInfo):
9012        * bindings/js/JSImageConstructor.cpp:
9013        (WebCore::constructImage):
9014        (WebCore::JSImageConstructor::getConstructData):
9015        * bindings/js/JSImageConstructor.h:
9016        (WebCore::JSImageConstructor::document):
9017        (WebCore::JSImageConstructor::classInfo):
9018        * bindings/js/JSInspectedObjectWrapper.h:
9019        (WebCore::JSInspectedObjectWrapper::classInfo):
9020        * bindings/js/JSInspectorCallbackWrapper.cpp:
9021        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
9022        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9023        (WebCore::JSJavaScriptCallFrame::scopeChain):
9024        * bindings/js/JSNodeFilterCondition.cpp:
9025        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
9026        (WebCore::JSNodeFilterCondition::mark):
9027        (WebCore::JSNodeFilterCondition::acceptNode):
9028        * bindings/js/JSNodeFilterCondition.h:
9029        (WebCore::JSNodeFilterCondition::create):
9030        * bindings/js/JSNodeFilterCustom.cpp:
9031        (WebCore::toNodeFilter):
9032        * bindings/js/JSNodeListCustom.cpp:
9033        (WebCore::callNodeList):
9034        (WebCore::JSNodeList::getCallData):
9035        (WebCore::JSNodeList::canGetItemsForName):
9036        (WebCore::JSNodeList::nameGetter):
9037        * bindings/js/JSPluginElementFunctions.cpp:
9038        (WebCore::runtimeObjectGetter):
9039        (WebCore::runtimeObjectPropertyGetter):
9040        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
9041        (WebCore::runtimeObjectCustomPut):
9042        (WebCore::runtimeObjectGetCallData):
9043        (WebCore::pluginInstance):
9044        (WebCore::getRuntimeObject):
9045        (WebCore::callPlugin):
9046        * bindings/js/JSPluginElementFunctions.h:
9047        * bindings/js/JSQuarantinedObjectWrapper.cpp:
9048        (WebCore::JSQuarantinedObjectWrapper::put):
9049        (WebCore::JSQuarantinedObjectWrapper::construct):
9050        (WebCore::JSQuarantinedObjectWrapper::getConstructData):
9051        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
9052        (WebCore::JSQuarantinedObjectWrapper::call):
9053        (WebCore::JSQuarantinedObjectWrapper::getCallData):
9054        * bindings/js/JSQuarantinedObjectWrapper.h:
9055        (WebCore::JSQuarantinedObjectWrapper::className):
9056        * bindings/js/JSRGBColor.cpp:
9057        * bindings/js/JSXMLHttpRequestConstructor.cpp:
9058        (WebCore::constructXMLHttpRequest):
9059        (WebCore::JSXMLHttpRequestConstructor::getConstructData):
9060        * bindings/js/JSXMLHttpRequestConstructor.h:
9061        (WebCore::JSXMLHttpRequestConstructor::document):
9062        (WebCore::JSXMLHttpRequestConstructor::classInfo):
9063        * bindings/js/JSXSLTProcessorConstructor.cpp:
9064        (WebCore::constructXSLTProcessor):
9065        (WebCore::JSXSLTProcessorConstructor::getConstructData):
9066        * bindings/js/JSXSLTProcessorConstructor.h:
9067        (WebCore::JSXSLTProcessorConstructor::classInfo):
9068        * bindings/js/ScheduledAction.cpp:
9069        (WebCore::ScheduledAction::ScheduledAction):
9070        (WebCore::ScheduledAction::execute):
9071        * bindings/js/ScheduledAction.h:
9072        * bindings/objc/WebScriptObject.mm:
9073        (-[WebScriptObject callWebScriptMethod:withArguments:]):
9074        * bindings/scripts/CodeGeneratorJS.pm:
9075        * bridge/NP_jsobject.cpp:
9076        (_NPN_InvokeDefault):
9077        (_NPN_Invoke):
9078        * bridge/c/c_instance.cpp:
9079        (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
9080        * bridge/c/c_instance.h:
9081        * bridge/jni/jni_jsobject.mm:
9082        (JavaJSObject::call):
9083        * bridge/objc/objc_instance.h:
9084        * bridge/objc/objc_instance.mm:
9085        (ObjcInstance::supportsInvokeDefaultMethod):
9086        * bridge/objc/objc_runtime.h:
9087        (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
9088        (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
9089        * bridge/objc/objc_runtime.mm:
9090        (Bindings::webScriptObjectClass):
9091        (Bindings::webUndefinedClass):
9092        (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9093        (callObjCFallbackObject):
9094        (ObjcFallbackObjectImp::getCallData):
9095        * bridge/qt/qt_instance.h:
9096        * bridge/runtime.cpp:
9097        (KJS::Bindings::Instance::createRuntimeObject):
9098        (KJS::Bindings::Instance::getInstance):
9099        * bridge/runtime.h:
9100        (KJS::Bindings::Field::~Field):
9101        (KJS::Bindings::Method::~Method):
9102        (KJS::Bindings::Class::~Class):
9103        (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
9104        * bridge/runtime_method.cpp:
9105        (KJS::callRuntimeMethod):
9106        (KJS::RuntimeMethod::getCallData):
9107        * bridge/runtime_method.h:
9108        (KJS::RuntimeMethod::methods):
9109        * bridge/runtime_object.cpp:
9110        (RuntimeObjectImp::defaultValue):
9111        (callRuntimeObject):
9112        (RuntimeObjectImp::getCallData):
9113        * bridge/runtime_object.h:
9114        (KJS::RuntimeObjectImp::getInternalInstance):
9115        (KJS::RuntimeObjectImp::classInfo):
9116        * dom/NodeIterator.h:
9117        * dom/Traversal.cpp:
9118        * dom/Traversal.h:
9119        * dom/TreeWalker.h:
9120
91212008-06-23  Adam Barth  <abarth@webkit.org>
9122
9123        Reviewed by Darin Adler.
9124
9125        https://bugs.webkit.org/show_bug.cgi?id=16756
9126
9127        Move isAllowedToLoadLocalResources into SecurityOrigin.
9128
9129        * dom/Document.cpp:
9130        (WebCore::Document::Document):
9131        (WebCore::Document::setURL):
9132        (WebCore::Document::initSecurityContext):
9133        * dom/Document.h:
9134        * loader/FrameLoader.cpp:
9135        (WebCore::FrameLoader::canLoad):
9136        * platform/SecurityOrigin.cpp:
9137        (WebCore::SecurityOrigin::SecurityOrigin):
9138        (WebCore::SecurityOrigin::isLocal):
9139        * platform/SecurityOrigin.h:
9140        (WebCore::SecurityOrigin::protocol):
9141        (WebCore::SecurityOrigin::host):
9142        (WebCore::SecurityOrigin::domain):
9143        (WebCore::SecurityOrigin::port):
9144        (WebCore::SecurityOrigin::canLoadLocalResources):
9145        (WebCore::SecurityOrigin::grantLoadLocalResources):
9146        * xml/XMLHttpRequest.cpp:
9147        (WebCore::XMLHttpRequest::setRequestHeader):
9148
91492008-06-23  Mark Rowe  <mrowe@apple.com>
9150
9151        Fix the Windows build.
9152
9153        * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
9154
91552008-06-23  Steve Falkenburg  <sfalken@apple.com>
9156
9157        Fix a math error in my last change.
9158        
9159        Reviewed by Ada Chan.
9160
9161        * platform/win/FileSystemWin.cpp:
9162        (WebCore::openTemporaryFile):
9163
91642008-06-23  Kevin McCullough  <kmccullough@apple.com>
9165
9166        -Build fix.
9167
9168        * WebCore.vcproj/WebCore.vcproj:
9169
91702008-06-23  chris fleizach  <cfleizach@apple.com>
9171
9172        Reviewed by Darin Adler.
9173
9174        <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
9175
9176        * page/AccessibilityObject.cpp:
9177        (WebCore::replacedNodeNeedsCharacter):
9178        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
9179        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
9180
91812008-06-23  Steve Falkenburg  <sfalken@apple.com>
9182
9183        Added our own mechanism for generating temporary file names.
9184        
9185        Reviewed by Ada Chan, Darin Adler.
9186
9187        * platform/win/FileSystemWin.cpp:
9188        (WebCore::openTemporaryFile):
9189
91902008-06-23  Sam Weinig  <sam@webkit.org>
9191
9192        Remove XMLHttpRequestProgressEvent.cpp from project files.
9193
9194        * WebCore.vcproj/WebCore.vcproj:
9195        * WebCore.xcodeproj/project.pbxproj:
9196        * WebCoreSources.bkl:
9197
91982008-06-23  Sam Weinig  <sam@webkit.org>
9199
9200        Reviewed by Dave Hyatt.
9201
9202        Remove empty file.
9203
9204        * xml/XMLHttpRequestProgressEvent.cpp: Removed.
9205
92062008-06-23  Sam Weinig  <sam@webkit.org>
9207
9208        Rubber-stamped by Tim Hatcher.
9209
9210        Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
9211        and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
9212
9213        * xml/XMLHttpRequest.cpp:
9214        (WebCore::XMLHttpRequest::createRequest):
9215        (WebCore::XMLHttpRequest::makeSameOriginRequest):
9216        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
9217        * xml/XMLHttpRequest.h:
9218
92192008-06-23  Sam Weinig  <sam@webkit.org>
9220
9221        Reviewed by Alexey Proskuryakov.
9222
9223        Some XMLHttpRequest re-organization to aid further enhancements coming soon.
9224
9225        * bindings/js/JSXMLHttpRequestCustom.cpp:
9226        (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
9227        instead of always calling though send(DOMString).
9228        * dom/Document.idl: Adds native converter.
9229
9230        * xml/XMLHttpRequest.cpp:
9231        (WebCore::XMLHttpRequest::open):
9232        (WebCore::XMLHttpRequest::initSend):
9233        (WebCore::XMLHttpRequest::send):
9234        (WebCore::XMLHttpRequest::createRequest):
9235        (WebCore::XMLHttpRequest::sameOriginRequest):
9236        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
9237        (WebCore::XMLHttpRequest::abort):
9238        (WebCore::XMLHttpRequest::clearResponse):
9239        (WebCore::XMLHttpRequest::clearRequest):
9240        (WebCore::XMLHttpRequest::genericError):
9241        (WebCore::XMLHttpRequest::dispatchProgressEvent):
9242        * xml/XMLHttpRequest.h:
9243        (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
9244        (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
9245        (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
9246        (WebCore::XMLHttpRequest::onLoadListener): Ditto.
9247        (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
9248        (WebCore::XMLHttpRequest::onProgressListener): Ditto.
9249        Makes the request entity body a member variable so that the send method
9250        can be more easily broken up.
9251
92522008-06-23  Timothy Hatcher  <timothy@apple.com>
9253
9254        Make profiles of the same name in the Inspector group in the
9255        sidebar under a collapsable item that contains all the runs.
9256
9257        https://bugs.webkit.org/show_bug.cgi?id=19713
9258
9259        Reviewed by Darin Adler.
9260
9261        * English.lproj/localizedStrings.js: New strings.
9262        * page/inspector/Images/profileGroupIcon.png: Added.
9263        * page/inspector/Images/profileSmallIcon.png: Added.
9264        * page/inspector/ProfilesPanel.js:
9265        (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
9266        Remove the "some-expandable" class from the sidebarTree.
9267        (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
9268        that have the same name as a previous profile into a group. When a
9269        group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
9270        ProfileSidebarTreeElements are appended to the group's element. 
9271        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
9272        Return _mainTitle is it is set.
9273        (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
9274        Set _mainTitle which is an override title.
9275        (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
9276        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
9277        Show the last profile in the group when selected.
9278        * page/inspector/SidebarTreeElement.js:
9279        (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
9280        (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
9281        update the style to match.
9282        (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
9283        class if the small property is true.
9284        * page/inspector/inspector.css: New styles for profiles groups
9285        and for the small profiles.
9286
92872008-06-23  Anders Carlsson  <andersca@apple.com>
9288
9289        Reviewed by Geoff.
9290
9291        Make changedDocuments a HashSet.
9292
9293        * dom/Document.cpp:
9294        (WebCore::Document::setDocumentChanged):
9295        (WebCore::Document::updateDocumentsRendering):
9296
92972008-06-23  Alexey Proskuryakov  <ap@webkit.org>
9298
9299        Reviewed by Mark Rowe.
9300
9301        Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
9302        be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
9303        on a different thread causes crashes.
9304
9305        * bindings/js/JSDOMBinding.h:
9306        (WebCore::DOMObject::DOMObject):
9307
93082008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
9309
9310        Reviewed by Darin Adler.
9311
9312        Fix https://bugs.webkit.org/show_bug.cgi?id=19465
9313        Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
9314
9315        Test: editing/input/textarea-arrow-navigation.html
9316
9317        * rendering/RenderText.cpp:
9318        (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
9319        of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
9320        that the cursor doesn't remain on the previous line.
9321
93222008-06-22  Robert Blaut  <webkit@blaut.biz>
9323
9324        Reviewed by Darin Adler.
9325
9326        Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
9327        Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
9328
9329        Test: fast/parser/input-textarea-inside-select-element.html
9330
9331        * html/HTMLParser.cpp:
9332        (WebCore::HTMLParser::handleError):
9333
93342008-06-22  David Krause  <david.krause@gmail.com>
9335
9336        Reviewed by Darin Adler.
9337
9338        Fix https://bugs.webkit.org/show_bug.cgi?id=19426
9339        Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
9340
9341        Change ref to addClient and deref to removeClient in code wrapped
9342        by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
9343
9344        * loader/FrameLoader.cpp:
9345        (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
9346        (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
9347        (WebCore::FrameLoader::notifyFinished):
9348
93492008-06-22  Robert Blaut  <webkit@blaut.biz>
9350
9351        Reviewed by Darin Adler.
9352
9353        Fix https://bugs.webkit.org/show_bug.cgi?id=19520
9354        Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
9355
9356        Test: fast/css/outline-hidden-illegal-value.html
9357
9358        * css/CSSParser.cpp:
9359        (WebCore::CSSParser::parseValue):
9360        * rendering/RenderFlow.cpp:
9361        (WebCore::RenderFlow::paintOutline):
9362        * rendering/RenderObject.cpp:
9363        (WebCore::RenderObject::paintOutline):
9364        * rendering/style/RenderStyle.h:
9365        (WebCore::RenderStyle::outlineWidth):
9366        (WebCore::RenderStyle::outlineOffset):
9367
93682008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
9369
9370        Reviewed by Dan Bernstein.
9371
9372        Fix https://bugs.webkit.org/show_bug.cgi?id=19675
9373        Bug 19675: [GTK] negative text-shadows are not rendered
9374
9375        * platform/graphics/cairo/FontCairo.cpp:
9376        (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
9377        sizes are > 0, while we need to check for != 0.
9378
93792008-06-22  kuchhal  <kuchhal@yahoo.com>
9380
9381        Reviewed by Darin Adler.
9382
9383        Fix https://bugs.webkit.org/show_bug.cgi?id=19696
9384        Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
9385
9386        * editing/DeleteButtonController.cpp:
9387        (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
9388        if the platform resource could not be loaded.
9389
93902008-06-22  kuchhal  <kuchhal@yahoo.com>
9391
9392        Reviewed by Darin Adler.
9393
9394        Fix https://bugs.webkit.org/show_bug.cgi?id=19697
9395        Bug 19697: Redundant releaseRef causing memory leak
9396
9397        * platform/win/ClipboardUtilitiesWin.cpp:
9398        (WebCore::fragmentFromCF_HTML):
9399
94002008-06-21  Sam Weinig  <sam@webkit.org>
9401
9402        Fix Windows build.
9403
9404        * bindings/scripts/CodeGeneratorCOM.pm:
9405        * html/HTMLInputElement.idl:
9406
94072008-06-21  Timothy Hatcher  <timothy@apple.com>
9408
9409        Fix a typo "new" in the keywords list for hte JavaScript
9410        syntax highlighter. And adds "get" and "set" to the keyword list.
9411
9412        Reviewed by Sam Weinig.
9413
9414        * page/inspector/SourceFrame.js:
9415        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
9416        Fixes the "new" typo and adds "get" and "set".
9417
94182008-06-21  David Kilzer  <ddkilzer@apple.com>
9419
9420        Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
9421
9422        <https://bugs.webkit.org/show_bug.cgi?id=7931>
9423
9424        Reviewed by Darin.
9425
9426        Tests: fast/parser/entity-end-iframe-tag.html
9427               fast/parser/entity-end-script-tag.html
9428               fast/parser/entity-end-style-tag.html
9429               fast/parser/entity-end-textarea-tag.html
9430               fast/parser/entity-end-title-tag.html
9431               fast/parser/entity-end-xmp-tag.html
9432
9433        Previously the parser accepted end tags for textarea, title and
9434        iframe elements that contained entity-escaped characters such as
9435        '&lt;'.  The fix is to save the position of the last entity-escaped
9436        character converted and to use that to make sure the end tag does
9437        not contain an escaped character.
9438
9439        Note that this was not an issue for script, style and xmp elements
9440        since they already ignored entity-escaped characters.
9441
9442        * html/HTMLTokenizer.cpp:
9443        (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
9444        tag, ignore any text with entity-escaped characters by making sure
9445        lastDecodedEntityPosition is less than the first character of the
9446        end tag.
9447
94482008-06-21  Sam Weinig  <sam@webkit.org>
9449
9450        Reviewed by Dan Bernstein.
9451
9452        Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
9453        REGRESSION: Problem with extjs (insertAdjacentHTML)
9454
9455        Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
9456
9457        * html/HTMLElement.cpp:
9458        (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
9459        the DocumentFragment from the html string.
9460
94612008-06-21  Adam Barth  <abarth@webkit.org>
9462
9463        Reviewed by Sam Weinig.
9464
9465        Log error messages to the console when we deny a request for a URL.
9466        These error messages do not appear in LayoutTests, but they do
9467        appear in the WebInspector.
9468
9469        * dom/XMLTokenizer.cpp:
9470        (WebCore::shouldAllowExternalLoad):
9471        * loader/DocLoader.cpp:
9472        (WebCore::DocLoader::requestResource):
9473        (WebCore::DocLoader::printAccessDeniedMessage):
9474        * loader/DocLoader.h:
9475        * xml/XSLTProcessor.cpp:
9476        (WebCore::docLoaderFunc):
9477
94782008-06-21  Adam Barth  <abarth@webkit.org>
9479
9480        Reviewed by Sam Weinig.
9481
9482        Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
9483          XSL style sheets allowed across origins
9484
9485        Block cross-orgin loads of XSL style sheets, matching Internet
9486        Explorer, Firefox, and Opera.  Also, we now block loading of XBL
9487        across origins, matching Firefox.  The XBL behavior does not appear
9488        testable because XBL seems to not be enabled.
9489
9490        Test: http/tests/security/cross-origin-xsl-BLOCKED.html
9491
9492        * loader/DocLoader.cpp:
9493        (WebCore::DocLoader::requestResource):
9494
94952008-06-21  Brett Wilson  <brettw@chromium.org>
9496
9497        Reviewed by Dave Hyatt.
9498
9499        - fix https://bugs.webkit.org/show_bug.cgi?id=19542
9500          <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
9501
9502        Adds a NULL check for getting the small caps page of glyph data. The
9503        page() function can explicitly return null in some cases, and every
9504        other usage in this function does the check.
9505
9506        * platform/graphics/Font.cpp:
9507        (WebCore::Font::glyphDataForCharacter):
9508
95092008-06-21  Alex Taylor  <darwin@milliamp.org>
9510
9511        Reviewed by Dan Bernstein.
9512
9513        Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
9514
9515        Adds support for border-radius on legend elements.
9516        Fieldsets with a legend and rounded borders now have a clipping region set
9517        around the legend.
9518        
9519        Test: fast/borders/fieldsetBorderRadius.html
9520
9521        * rendering/RenderFieldset.cpp:
9522        (WebCore::RenderFieldset::paintBoxDecorations):
9523        (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
9524
95252008-06-21  Kevin Ollivier  <kevino@theolliviers.com>
9526
9527        wx build fix. Adding CSSVariable* API sources to the Bakefiles.
9528
9529        * WebCoreSources.bkl:
9530
95312008-06-20  Sam Weinig  <sam@webkit.org>
9532
9533        Fix Windows build.
9534
9535        * bindings/scripts/CodeGeneratorCOM.pm:
9536
95372008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
9538
9539        Gtk build fix: Add files missing in the previous fix (r34705)
9540
9541        * GNUmakefile.am:
9542
95432008-06-20  Dan Bernstein  <mitz@apple.com>
9544
9545        Reviewed by Sam Weinig.
9546
9547        - fix leak of mask images
9548
9549        * rendering/RenderObject.cpp:
9550        (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
9551        the mask box image.
9552
95532008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
9554
9555        Gtk build fix for r34702, r34700 and r34693
9556        Qt build fix for r34700 and r34693
9557
9558        * GNUmakefile.am:
9559        * WebCore.pro:
9560        * platform/gtk/RenderThemeGtk.cpp:
9561        * platform/gtk/RenderThemeGtk.h:
9562        * platform/qt/RenderThemeQt.cpp:
9563        * platform/qt/RenderThemeQt.h:
9564
95652008-06-20  Sam Weinig  <sam@webkit.org>
9566
9567        Reviewed by Adele Peterson.
9568
9569        Add 'files' property to the HTMLInputElement, which returns a FileList object 
9570        (when type=file, null otherwise) containing a list of all the files selected.
9571        It currently always contains only 0 or 1 files as multifile input is not supported 
9572        yet.  The list contains File objects which contains the name and size of the file. 
9573        The inspiration for these interfaces is from:
9574            - http://developer.mozilla.org/en/docs/nsIDOMFileList
9575            - http://developer.mozilla.org/en/docs/nsIDOMFile
9576
9577        Also fixes <rdar://problem/6022802>
9578
9579        * DerivedSources.make:
9580        * GNUmakefile.am:
9581        * WebCore.pro:
9582        * WebCore.vcproj/WebCore.vcproj:
9583        * WebCore.xcodeproj/project.pbxproj:
9584        * WebCoreSources.bkl:
9585        * bindings/objc/DOMInternal.h:
9586        * bindings/scripts/CodeGenerator.pm:
9587        * bindings/scripts/IDLStructure.pm:
9588        * html/File.cpp: Added.
9589        (WebCore::File::File):
9590        (WebCore::File::fileSize):
9591        * html/File.h: Added.
9592        (WebCore::File::create):
9593        (WebCore::File::fileName):
9594        (WebCore::File::path):
9595        * html/File.idl: Added.
9596        * html/FileList.cpp: Added.
9597        (WebCore::FileList::FileList):
9598        (WebCore::FileList::item):
9599        * html/FileList.h: Added.
9600        (WebCore::FileList::create):
9601        (WebCore::FileList::length):
9602        (WebCore::FileList::isEmpty):
9603        (WebCore::FileList::clear):
9604        (WebCore::FileList::append):
9605        * html/FileList.idl: Added.
9606        * html/HTMLInputElement.cpp:
9607        (WebCore::HTMLInputElement::setInputType):
9608        (WebCore::HTMLInputElement::appendFormData):
9609        (WebCore::HTMLInputElement::value):
9610        (WebCore::HTMLInputElement::setValue):
9611        (WebCore::HTMLInputElement::setValueFromRenderer):
9612        (WebCore::HTMLInputElement::files):
9613        * html/HTMLInputElement.h:
9614        * html/HTMLInputElement.idl:
9615        * page/DOMWindow.idl:
9616
96172008-06-20  David Hyatt  <hyatt@apple.com>
9618
9619        Make sure CSS variables work inside the inline style attribute.
9620
9621        Reviewed by Beth
9622
9623        Added fast/css/variables/inline-style-test.html
9624
9625        * css/CSSMutableStyleDeclaration.cpp:
9626        (WebCore::CSSMutableStyleDeclaration::removeProperty):
9627        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
9628
96292008-06-20  David Hyatt  <hyatt@apple.com>
9630
9631        Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs.  These allow querying of
9632        variables names and values, as well as iteration, setting and removal.
9633
9634        Reviewed by Sam
9635
9636        Added multiple new tests to fast/css/variables/
9637
9638        * DerivedSources.make:
9639        * WebCore.xcodeproj/project.pbxproj:
9640        * bindings/js/JSCSSRuleCustom.cpp:
9641        (WebCore::toJS):
9642        * bindings/objc/DOMInternal.h:
9643        * bindings/scripts/CodeGeneratorJS.pm:
9644        * css/CSSPrimitiveValue.cpp:
9645        (WebCore::CSSPrimitiveValue::parserValue):
9646        * css/CSSVariablesDeclaration.cpp:
9647        (WebCore::CSSVariablesDeclaration::removeVariable):
9648        (WebCore::CSSVariablesDeclaration::setVariable):
9649        (WebCore::CSSVariablesDeclaration::setCssText):
9650        (WebCore::CSSVariablesDeclaration::setChanged):
9651        * css/CSSVariablesDeclaration.h:
9652        * css/CSSVariablesDeclaration.idl: Added.
9653        * css/CSSVariablesRule.h:
9654        * css/CSSVariablesRule.idl: Added.
9655
96562008-06-20  Kevin McCullough  <kmccullough@apple.com>
9657
9658        Rubber stamped by Adele. 
9659
9660        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
9661
96622008-06-20  Kevin McCullough  <kmccullough@apple.com>
9663
9664        Reviewed by Tim.
9665
9666        <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
9667        if profiling is started and finished within the same function. (19230)
9668        - Now we profile one more stack frame up from the last frame to allocate
9669        the time spent in it, if it exists.
9670
9671        * page/Console.cpp:
9672        * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
9673        (WebCore::Console::profile): When stating the profiler give a client for
9674        the callback of when the profile actually finishes.
9675        (WebCore::Console::profileEnd): No longer needs to handle the return of
9676        the profile object since it will be retruned in the client's callback.
9677        (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
9678        callback method.
9679        * page/Console.h: Inherit from the ProfileClient.
9680        * page/InspectorController.cpp:
9681        (WebCore::InspectorController::startUserInitiatedProfiling): Use the
9682        client callback.
9683        (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
9684        need to handle the profile being returned as it is now handled by the
9685        client callback.
9686        (WebCore::InspectorController::finishedProfiling): Implement the
9687        ProfileClient callback method.
9688        * page/InspectorController.h: Inherit from the ProfileClient.
9689
96902008-06-20  Timothy Hatcher  <timothy@apple.com>
9691
9692        Makes the JavaScript syntax highlighter process lines in chunks
9693        so the user interface isn't blocked for large script files.
9694
9695        https://bugs.webkit.org/show_bug.cgi?id=19677
9696
9697        Reviewed by Adam Roben.
9698
9699        * page/inspector/SourceFrame.js:
9700        (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
9701        property on the row instead of getElementsByTagName.
9702        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
9703        cells property on the row instead of getElementsByTagName. Added
9704        a nested processChunk function that highlights 10 lines at a time
9705        This processChunk function is called at an interval of 25ms. The
9706        code is still highlighted quickly, and the user can't tell it wasn't
9707        highlighted all at once.
9708
97092008-06-20  Timothy Hatcher  <timothy@apple.com>
9710
9711        Fixes a bug where the source view in the Resources panel had a
9712        couple of extra pixels at the bottom when fully scrolled.
9713
9714        Reviewed by Adam Roben.
9715
9716        * page/inspector/SourceFrame.js:
9717        (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
9718        Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
9719        when sizing to fit is being disabled.
9720        * page/inspector/inspector.css:
9721        (.resource-view.headers-visible .source-view-frame): Added the
9722        vertical-align: top property to prevent line alignment from adding extra
9723        pixels on the bottom.
9724
97252008-06-20  Timothy Hatcher  <timothy@apple.com>
9726
9727        Changed all lineHeight, baselinePosition and verticalPositionHint
9728        calls to return int instead of short. The short was overflowing
9729        when a value greater than 32,767 was encountered.
9730
9731        Fixes: iframes with a height of 32,768px or greater do not layout correctly
9732        https://bugs.webkit.org/show_bug.cgi?id=19679
9733
9734        Reviewed by Dave Hyatt.
9735
9736        Test: fast/css/line-height-overflow.html
9737
9738        * rendering/RenderBR.cpp:
9739        (WebCore::RenderBR::baselinePosition):
9740        * rendering/RenderBR.h:
9741        * rendering/RenderBlock.cpp:
9742        (WebCore::RenderBlock::lineHeight):
9743        * rendering/RenderBlock.h:
9744        * rendering/RenderFlow.cpp:
9745        * rendering/RenderFlow.h:
9746        * rendering/RenderListBox.cpp:
9747        * rendering/RenderListBox.h:
9748        * rendering/RenderListMarker.cpp:
9749        (WebCore::RenderListMarker::lineHeight):
9750        * rendering/RenderListMarker.h:
9751        * rendering/RenderObject.cpp:
9752        (WebCore::RenderObject::verticalPositionHint):
9753        * rendering/RenderObject.h:
9754        (WebCore::):
9755        * rendering/RenderPath.cpp:
9756        (WebCore::RenderPath::lineHeight):
9757        * rendering/RenderPath.h:
9758        * rendering/RenderReplaced.cpp:
9759        (WebCore::RenderReplaced::lineHeight):
9760        * rendering/RenderReplaced.h:
9761        * rendering/RenderSVGContainer.cpp:
9762        (WebCore::RenderSVGContainer::lineHeight):
9763        * rendering/RenderSVGContainer.h:
9764        * rendering/RenderSVGHiddenContainer.cpp:
9765        (WebCore::RenderSVGHiddenContainer::lineHeight):
9766        * rendering/RenderSVGHiddenContainer.h:
9767        * rendering/RenderSVGRoot.cpp:
9768        (WebCore::RenderSVGRoot::lineHeight):
9769        * rendering/RenderSVGRoot.h:
9770        * rendering/RenderSlider.cpp:
9771        * rendering/RenderSlider.h:
9772        * rendering/RenderTableCell.cpp:
9773        * rendering/RenderTableCell.h:
9774        * rendering/RenderTableCol.h:
9775        * rendering/RenderTableRow.h:
9776        * rendering/RenderTableSection.h:
9777        * rendering/RenderText.cpp:
9778        * rendering/RenderText.h:
9779        * rendering/RenderTextControl.cpp:
9780        * rendering/RenderTextControl.h:
9781        * rendering/RenderTheme.cpp:
9782        * rendering/RenderTheme.h:
9783        * rendering/RenderThemeMac.h:
9784        * rendering/RenderThemeMac.mm:
9785        * rendering/RenderThemeSafari.cpp:
9786        * rendering/RenderThemeSafari.h:
9787
97882008-06-20  Dan Bernstein  <mitz@apple.com>
9789
9790        Reviewed by Darin Adler.
9791
9792        - fix https://bugs.webkit.org/show_bug.cgi?id=19519
9793          <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
9794
9795        Test: fast/table/prepend-in-anonymous-table.html
9796
9797        * rendering/RenderBlock.cpp:
9798        (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
9799        of inserting before a child that has been wrapped by an anonymous table,
9800        in which case if the new child is the type that needs to be in a table,
9801        it is inserted into the table, and otherwise it is inserted before the
9802        table.
9803        * rendering/RenderTable.cpp:
9804        (WebCore::RenderTable::addChild): Added table-column-group alongside
9805        table-caption as content that can exist inside an anonymous table
9806        without being wrapped in a table section.
9807
98082008-06-20  David Hyatt  <hyatt@apple.com>
9809
9810        Allow CSS variables to support arbitrary expressions as values instead of just a single term.
9811
9812        Reviewed by Sam
9813
9814        Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
9815
9816        * css/CSSGrammar.y:
9817        * css/CSSParser.cpp:
9818        (WebCore::CSSParser::addVariable):
9819        * css/CSSParser.h:
9820        * css/CSSStyleSelector.cpp:
9821        (WebCore::CSSStyleSelector::addMatchedDeclaration):
9822        * css/CSSVariablesDeclaration.cpp:
9823        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
9824        (WebCore::CSSVariablesDeclaration::getVariableValue):
9825        (WebCore::CSSVariablesDeclaration::addParsedVariable):
9826        (WebCore::CSSVariablesDeclaration::getParsedVariable):
9827        * css/CSSVariablesDeclaration.h:
9828        (WebCore::CSSVariablesDeclaration::create):
9829
98302008-06-19  Dan Bernstein  <mitz@apple.com>
9831
9832        Reviewed by John Sullivan.
9833
9834        - fix a bug where anonymous tables were inserted in the wrong place
9835
9836        Tests: tables/mozilla/bugs/bug2479-2.html
9837               tables/mozilla/bugs/bug278266.html
9838               tables/mozilla/bugs/bug8411.xml
9839
9840        * rendering/RenderContainer.cpp:
9841        (WebCore::RenderContainer::addChild): Changed to create an anonymous
9842        table and insert it before beforeChild unless the insertion point is
9843        right after an existing anonymous table, in which case the existing
9844        table is used.
9845
98462008-06-19  Justin Garcia  <justin.garcia@apple.com>
9847
9848        Reviewed by Oliver.
9849
9850        <https://bugs.webkit.org/show_bug.cgi?id=16049>
9851        execCommand('backColor') fails on collapsed selections
9852
9853        * editing/EditorCommand.cpp:
9854        (WebCore::CommandEntry::): Enable BackColor for caret selections, and
9855        disable ForeColor in plaintext-only regions.
9856
98572008-06-19  Justin Garcia  <justin.garcia@apple.com>
9858
9859        Reviewed by John.
9860
9861        <https://bugs.webkit.org/show_bug.cgi?id=19653>
9862        Typing style lost when creating list from, indenting or outdenting an empty paragraph
9863        
9864        There were two problems.  First, moveParagraphs didn't preserve the style of empty paragraphs.
9865        Second, indent, outdent and list creation returned false from preservesTypingStyle.
9866        The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
9867        to those commands, though, because of other bugs.
9868        
9869        Cleaned up the implementation of typing style enough to remove FIXMEs for:
9870        
9871        <rdar://problem/3769899> Implementation of typing style needs improvement 
9872        
9873        which has actually been closed for some time now anyway.
9874        
9875        * dom/Document.cpp: Removed an unused header.
9876        * editing/CompositeEditCommand.cpp:
9877        (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
9878        * editing/DeleteSelectionCommand.cpp:
9879        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
9880        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 
9881        Removed FIXME.  
9882        If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
9883        placeholder, not only one that was inserted by deletion.  This fixes a bug where deleting
9884        <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't 
9885        produce bold text.  
9886        Don't set the EditCommand's typingStyle, it has been removed (more on that later).
9887        (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
9888        the inserted placeholder because it will find it.
9889        (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the 
9890        typing style that was present before it.  For example, type a character, Bold, then delete the 
9891        character and start typing.  The Bold typing style shouldn't stick around.  We got this right before 
9892        purely by chance. Deletion should preserve a typing style that *it* sets, however.
9893        * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
9894        the inserted placeholder.
9895        * editing/EditCommand.cpp:
9896        (WebCore::EditCommand::apply): 
9897        Clearing or not clearing a removed anchor should not be determined by whether or not a command 
9898        preservesTypingStyle().  For example, the deletion that removed an anchor (and stored it), may 
9899        not preserve the typing style, but that doesn't mean that it should then go and clear the removed 
9900        anchor.  All high level commands, and all commands that a TypingCommand spawns, except for
9901        text insertions, which should restore a removed anchor, should clear it.
9902        There is no longer a typing style on EditCommand, removed code that cleared it.  Code that clears the 
9903        *actual* typing style is now in Editor::appliedEditing, just like before.
9904        There is no longer a typing style on EditCommand, removed code to set one.
9905        (WebCore::EditCommand::styleAtPosition): Removed FIXME.
9906        * editing/EditCommand.h: 
9907        Removed code assosiated with m_typingStyle.
9908        Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
9909        * editing/Editor.cpp:
9910        (WebCore::Editor::appliedEditing):
9911        Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
9912        request to clear the typing style with that call.  Also removed the FIXME about this.
9913        Before, a command would set the Frame's typing style by setting its own typingStyle, and then 
9914        letting code here, in appliedEditing pick that up and set it on the Frame.  Now, the command 
9915        itself sets the Frame's typing style.  Deletion is the only command that does this right now.
9916        * editing/IndentOutdentCommand.h:
9917        (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
9918        * editing/InsertLineBreakCommand.cpp:
9919        (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
9920        * editing/InsertListCommand.h:
9921        (WebCore::InsertListCommand::preservesTypingStyle): Added.
9922        * editing/InsertParagraphSeparatorCommand.cpp:
9923        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
9924        * editing/InsertTextCommand.cpp:
9925        (WebCore::InsertTextCommand::input): Removed FIXME.
9926        * editing/ReplaceSelectionCommand.cpp:
9927        (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
9928        the typing style here.  It seems like it's something that could wait until after the command
9929        has been performed, since there is no code between this point and the end of the operation
9930        that queries or uses the typing style.
9931
99322008-06-19  Dan Bernstein  <mitz@apple.com>
9933
9934        Reviewed by Alexey Proskuryakov.
9935
9936        - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
9937
9938        Covered by many editing tests
9939
9940        * css/CSSStyleDeclaration.cpp:
9941        (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
9942        null pointer deref.
9943
99442008-06-19  David Hyatt  <hyatt@apple.com>
9945
9946        Fix out of bounds bug in CSSVariablesDeclaration's item() method.
9947
9948        Reviewed by Sam, Darin
9949
9950        * css/CSSVariablesDeclaration.cpp:
9951        (WebCore::CSSVariablesDeclaration::item):
9952        * css/CSSVariablesDeclaration.h:
9953
99542008-06-19  John Sullivan  <sullivan@apple.com>
9955
9956        Reviewed by Darin
9957        
9958        Tweak to previous checkin
9959
9960        * page/FrameView.cpp:
9961        (WebCore::FrameView::performPostLayoutTasks):
9962        clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
9963
99642008-06-19  John Sullivan  <sullivan@apple.com>
9965
9966        Reviewed by Darin
9967        
9968        - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
9969        
9970        The didFirstLayout callback was called in a place where trouble would ensue if the client
9971        did any work that would cause the layout to be dirtied. Fixed by delaying the callback
9972        until performPostLayoutTasks.
9973
9974        * page/FrameView.cpp:
9975        new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
9976        (WebCore::FrameViewPrivate::reset):
9977        set m_firstLayoutCallbackPending to false
9978        (WebCore::FrameView::layout):
9979        set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
9980        (WebCore::FrameView::performPostLayoutTasks):
9981        if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
9982
99832008-06-19  David Hyatt  <hyatt@apple.com>
9984
9985        Implement some cleanup of CSS variables based off Darin's review comments.
9986
9987        Reviewed by darin
9988
9989        * css/CSSParser.cpp:
9990        (WebCore::CSSParser::parseVariable):
9991        (WebCore::CSSParser::checkForVariables):
9992        (WebCore::CSSParser::addUnresolvedProperty):
9993        * css/CSSStyleSelector.cpp:
9994        (WebCore::CSSStyleSelector::addMatchedDeclaration):
9995        * css/CSSVariableDependentValue.h:
9996        * css/CSSVariablesRule.cpp:
9997        (WebCore::CSSVariablesRule::CSSVariablesRule):
9998
99992008-06-19  John Sullivan  <sullivan@apple.com>
10000
10001        Rubber-stamped by Dan
10002        
10003        Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
10004        for adding a new one in a future patch)
10005
10006        * page/FrameView.cpp:
10007        (WebCore::FrameViewPrivate::FrameViewPrivate):
10008        (WebCore::FrameViewPrivate::reset):
10009        (WebCore::FrameView::~FrameView):
10010        (WebCore::FrameView::resetScrollbars):
10011        (WebCore::FrameView::didFirstLayout):
10012        (WebCore::FrameView::initScrollbars):
10013        (WebCore::FrameView::layoutCount):
10014        (WebCore::FrameView::needsFullRepaint):
10015        (WebCore::FrameView::layoutRoot):
10016        (WebCore::FrameView::layout):
10017        (WebCore::FrameView::scrollTo):
10018        (WebCore::FrameView::useSlowRepaints):
10019        (WebCore::FrameView::setUseSlowRepaints):
10020        (WebCore::FrameView::removeSlowRepaintObject):
10021        (WebCore::FrameView::setScrollbarsMode):
10022        (WebCore::FrameView::setVScrollbarMode):
10023        (WebCore::FrameView::setHScrollbarMode):
10024        (WebCore::FrameView::scheduleRelayout):
10025        (WebCore::FrameView::scheduleRelayoutOfSubtree):
10026        (WebCore::FrameView::layoutPending):
10027        (WebCore::FrameView::needsLayout):
10028        (WebCore::FrameView::unscheduleRelayout):
10029        (WebCore::FrameView::isTransparent):
10030        (WebCore::FrameView::setTransparent):
10031        (WebCore::FrameView::baseBackgroundColor):
10032        (WebCore::FrameView::setBaseBackgroundColor):
10033        (WebCore::FrameView::performPostLayoutTasks):
10034        (WebCore::FrameView::updateOverflowStatus):
10035
100362008-06-19  David Hyatt  <hyatt@apple.com>
10037
10038        Add initial support for CSS variables.  Non-dynamic cases should (hopefully) all work.  Things will get
10039        confused if you use the CSS OM to remove variables/inject variables, etc.  In addition no DOM APIs are
10040        exposed yet for the new variable interfaces.
10041
10042        Reviewed by Beth
10043
10044        Added many tests to fast/css/variables/
10045
10046        * WebCore.xcodeproj/project.pbxproj:
10047        * css/CSSFunctionValue.cpp: Added.
10048        (WebCore::CSSFunctionValue::CSSFunctionValue):
10049        (WebCore::CSSFunctionValue::~CSSFunctionValue):
10050        (WebCore::CSSFunctionValue::cssText):
10051        (WebCore::CSSFunctionValue::parserValue):
10052        * css/CSSFunctionValue.h: Added.
10053        (WebCore::CSSFunctionValue::create):
10054        * css/CSSGrammar.y:
10055        * css/CSSMutableStyleDeclaration.cpp:
10056        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
10057        (WebCore::CSSMutableStyleDeclaration::copy):
10058        * css/CSSMutableStyleDeclaration.h:
10059        (WebCore::CSSMutableStyleDeclaration::create):
10060        (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
10061        * css/CSSParser.cpp:
10062        (WebCore::equal):
10063        (WebCore::equalIgnoringCase):
10064        (WebCore::CSSParser::~CSSParser):
10065        (WebCore::CSSParserString::lower):
10066        (WebCore::CSSParser::document):
10067        (WebCore::CSSParser::validUnit):
10068        (WebCore::unitFromString):
10069        (WebCore::CSSParser::checkForOrphanedUnits):
10070        (WebCore::CSSParser::parseValue):
10071        (WebCore::CSSParser::parseFillShorthand):
10072        (WebCore::CSSParser::parseTransitionShorthand):
10073        (WebCore::CSSParser::parseContent):
10074        (WebCore::CSSParser::parseFillImage):
10075        (WebCore::CSSParser::parseFillPosition):
10076        (WebCore::CSSParser::parseFillSize):
10077        (WebCore::CSSParser::parseFillProperty):
10078        (WebCore::CSSParser::parseTransitionDuration):
10079        (WebCore::CSSParser::parseTransitionRepeatCount):
10080        (WebCore::CSSParser::parseTimingFunctionValue):
10081        (WebCore::CSSParser::parseTransitionTimingFunction):
10082        (WebCore::CSSParser::parseTransitionProperty):
10083        (WebCore::skipCommaInDashboardRegion):
10084        (WebCore::CSSParser::parseDashboardRegions):
10085        (WebCore::CSSParser::parseCounterContent):
10086        (WebCore::CSSParser::parseShape):
10087        (WebCore::CSSParser::parseFont):
10088        (WebCore::CSSParser::parseFontFamily):
10089        (WebCore::CSSParser::parseFontFaceSrc):
10090        (WebCore::CSSParser::parseFontFaceUnicodeRange):
10091        (WebCore::CSSParser::parseColorParameters):
10092        (WebCore::CSSParser::parseHSLParameters):
10093        (WebCore::CSSParser::parseColor):
10094        (WebCore::CSSParser::parseColorFromValue):
10095        (WebCore::ShadowParseContext::commitLength):
10096        (WebCore::CSSParser::parseShadow):
10097        (WebCore::CSSParser::parseReflect):
10098        (WebCore::BorderImageParseContext::commitNumber):
10099        (WebCore::BorderImageParseContext::commitWidth):
10100        (WebCore::BorderImageParseContext::commitBorderImage):
10101        (WebCore::CSSParser::parseBorderImage):
10102        (WebCore::CSSParser::parseCounter):
10103        (WebCore::parseGradientPoint):
10104        (WebCore::parseGradientColorStop):
10105        (WebCore::CSSParser::parseGradient):
10106        (WebCore::CSSParser::parseCanvas):
10107        (WebCore::TransformOperationInfo::TransformOperationInfo):
10108        (WebCore::CSSParser::parseTransform):
10109        (WebCore::CSSParser::lex):
10110        (WebCore::CSSParser::text):
10111        (WebCore::CSSParser::createFloatingValueList):
10112        (WebCore::CSSParser::sinkFloatingValueList):
10113        (WebCore::CSSParser::createFloatingFunction):
10114        (WebCore::CSSParser::sinkFloatingFunction):
10115        (WebCore::CSSParser::sinkFloatingValue):
10116        (WebCore::CSSParser::createFloatingMediaQueryExp):
10117        (WebCore::CSSParser::createCharsetRule):
10118        (WebCore::CSSParser::createImportRule):
10119        (WebCore::CSSParser::createVariablesRule):
10120        (WebCore::CSSParser::addVariable):
10121        (WebCore::CSSParser::clearVariables):
10122        (WebCore::CSSParser::parseVariable):
10123        (WebCore::CSSParser::parsePropertyWithResolvedVariables):
10124        (WebCore::CSSParser::checkForVariables):
10125        (WebCore::CSSParser::addUnresolvedProperty):
10126        (WebCore::cssPropertyID):
10127        (WebCore::cssValueKeywordID):
10128        * css/CSSParser.h:
10129        * css/CSSParserValues.cpp: Added.
10130        (WebCore::CSSParserValueList::~CSSParserValueList):
10131        (WebCore::CSSParserValueList::addValue):
10132        (WebCore::CSSParserValueList::deleteValueAt):
10133        (WebCore::CSSParserValue::createCSSValue):
10134        * css/CSSParserValues.h: Added.
10135        (WebCore::CSSParserString::operator String):
10136        (WebCore::CSSParserString::operator AtomicString):
10137        (WebCore::CSSParserValue::):
10138        (WebCore::CSSParserValueList::CSSParserValueList):
10139        (WebCore::CSSParserValueList::size):
10140        (WebCore::CSSParserValueList::current):
10141        (WebCore::CSSParserValueList::next):
10142        (WebCore::CSSParserValueList::valueAt):
10143        (WebCore::CSSParserValueList::clear):
10144        (WebCore::CSSParserValueList::containsVariables):
10145        (WebCore::CSSParserFunction::~CSSParserFunction):
10146        * css/CSSPrimitiveValue.cpp:
10147        (WebCore::CSSPrimitiveValue::getStringValue):
10148        (WebCore::CSSPrimitiveValue::cssText):
10149        (WebCore::CSSPrimitiveValue::parserValue):
10150        * css/CSSPrimitiveValue.h:
10151        (WebCore::CSSPrimitiveValue::):
10152        (WebCore::CSSPrimitiveValue::setPrimitiveType):
10153        * css/CSSRule.h:
10154        (WebCore::CSSRule::):
10155        * css/CSSRule.idl:
10156        * css/CSSStyleDeclaration.cpp:
10157        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
10158        * css/CSSStyleSelector.cpp:
10159        (WebCore::CSSStyleSelector::addMatchedDeclaration):
10160        (WebCore::CSSStyleSelector::addVariables):
10161        (WebCore::CSSStyleSelector::resolveVariableDependentValue):
10162        (WebCore::CSSRuleSet::addRulesFromSheet):
10163        (WebCore::CSSStyleSelector::applyDeclarations):
10164        * css/CSSStyleSelector.h:
10165        * css/CSSValue.h:
10166        (WebCore::CSSValue::isVariableDependentValue):
10167        (WebCore::CSSValue::parserValue):
10168        * css/CSSValueList.cpp:
10169        (WebCore::CSSValueList::CSSValueList):
10170        (WebCore::CSSValueList::createParserValueList):
10171        * css/CSSValueList.h:
10172        (WebCore::CSSValueList::createFromParserValueList):
10173        * css/CSSVariableDependentValue.cpp: Added.
10174        (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
10175        (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
10176        (WebCore::CSSVariableDependentValue::cssText):
10177        * css/CSSVariableDependentValue.h: Added.
10178        (WebCore::CSSVariableDependentValue::create):
10179        (WebCore::CSSVariableDependentValue::isVariableDependentValue):
10180        (WebCore::CSSVariableDependentValue::valueList):
10181        * css/CSSVariablesDeclaration.cpp: Added.
10182        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
10183        (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
10184        (WebCore::CSSVariablesDeclaration::getVariableValue):
10185        (WebCore::CSSVariablesDeclaration::removeVariable):
10186        (WebCore::CSSVariablesDeclaration::setVariable):
10187        (WebCore::CSSVariablesDeclaration::addParsedVariable):
10188        (WebCore::CSSVariablesDeclaration::getParsedVariable):
10189        (WebCore::CSSVariablesDeclaration::length):
10190        (WebCore::CSSVariablesDeclaration::item):
10191        (WebCore::CSSVariablesDeclaration::parentRule):
10192        (WebCore::CSSVariablesDeclaration::cssText):
10193        * css/CSSVariablesDeclaration.h: Added.
10194        (WebCore::CSSVariablesDeclaration::create):
10195        * css/CSSVariablesRule.cpp: Added.
10196        (WebCore::CSSVariablesRule::CSSVariablesRule):
10197        (WebCore::CSSVariablesRule::~CSSVariablesRule):
10198        (WebCore::CSSVariablesRule::cssText):
10199        * css/CSSVariablesRule.h: Added.
10200        (WebCore::CSSVariablesRule::media):
10201        (WebCore::CSSVariablesRule::variables):
10202        (WebCore::CSSVariablesRule::type):
10203        (WebCore::CSSVariablesRule::isVariablesRule):
10204        (WebCore::CSSVariablesRule::setDeclaration):
10205        * css/MediaQueryExp.cpp:
10206        (WebCore::MediaQueryExp::MediaQueryExp):
10207        * css/MediaQueryExp.h:
10208        * css/SVGCSSParser.cpp:
10209        (WebCore::CSSParser::parseSVGValue):
10210        (WebCore::CSSParser::parseSVGStrokeDasharray):
10211        * css/StyleBase.h:
10212        (WebCore::StyleBase::isVariablesRule):
10213        * css/tokenizer.flex:
10214
102152008-06-19  Julien Chaffraix  <jchaffraix@webkit.org>
10216
10217        Reviewed by Darin.
10218
10219        Bug 19529 : Empty clients need to be refactored
10220        https://bugs.webkit.org/show_bug.cgi?id=19529
10221
10222        - SVGImageEmptyClients' refactoring in order to be able to use them for other
10223        elements.
10224
10225        - Trimmed empty spaces that were pointed out by git.
10226
10227        * WebCore.xcodeproj/project.pbxproj:
10228        * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
10229
10230        (WebCore::EmptyChromeClient::~EmptyChromeClient):
10231        (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
10232        (WebCore::EmptyEditorClient::~EmptyEditorClient):
10233        (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
10234        (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
10235        (WebCore::EmptyDragClient::~EmptyDragClient):
10236        (WebCore::EmptyDragClient::createDragImageForLink):
10237        (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
10238        Renamed SVGImageEmpty*Client classes to Empty*Client.
10239
10240        * svg/graphics/SVGImage.cpp:
10241        (WebCore::SVGImage::dataChanged):
10242        * svg/graphics/SVGImageEmptyClients.h: Removed.
10243
102442008-06-19  Dan Bernstein  <mitz@apple.com>
10245
10246        Reviewed by Darin Adler.
10247
10248        - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
10249
10250        Test: fast/css/font-face-multiple-families.html
10251
10252        Made changes to reflect the fact that the relationship between
10253        CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
10254
10255        * css/CSSFontFace.cpp:
10256        (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
10257        (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
10258        (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
10259        faces that include this font face.
10260        (WebCore::CSSFontFace::getFontData): Updated to get the font selector
10261        from one of the segmented font faces.
10262        * css/CSSFontFace.h:
10263        (WebCore::CSSFontFace::CSSFontFace):
10264        * css/CSSFontSelector.cpp:
10265        (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
10266        the crash, namely releasing the font face when adding it to the first
10267        family that uses it, making it impossible to add it to the second and
10268        onwards families.
10269        * css/CSSSegmentedFontFace.cpp:
10270        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
10271        call CSSFontFace::removedFromSegmentedFontFace().
10272        (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
10273        CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
10274
102752008-06-19  Alexey Proskuryakov  <ap@webkit.org>
10276
10277        Qt build fix.
10278
10279        * bridge/qt/qt_runtime.h: Include completion.h.
10280
102812008-06-17  Alexey Proskuryakov  <ap@webkit.org>
10282
10283        Reviewed by Darin.
10284
10285        Prepare JavaScript heap for being per-thread.
10286
10287        * ForwardingHeaders/kjs/JSGlobalData.h: Added.
10288        * bindings/js/GCController.cpp:
10289        (WebCore::collect):
10290        (WebCore::GCController::gcTimerFired):
10291        (WebCore::GCController::garbageCollectNow):
10292        * bindings/js/JSAudioConstructor.cpp:
10293        (WebCore::JSAudioConstructor::JSAudioConstructor):
10294        * bindings/js/JSCSSRuleCustom.cpp:
10295        (WebCore::toJS):
10296        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
10297        (WebCore::JSCSSStyleDeclaration::nameGetter):
10298        * bindings/js/JSCSSValueCustom.cpp:
10299        (WebCore::toJS):
10300        * bindings/js/JSCanvasPixelArrayCustom.cpp:
10301        (WebCore::JSCanvasPixelArray::indexGetter):
10302        (WebCore::toJS):
10303        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
10304        (WebCore::toJS):
10305        * bindings/js/JSClipboardCustom.cpp:
10306        (WebCore::JSClipboard::types):
10307        (WebCore::JSClipboard::getData):
10308        * bindings/js/JSCustomXPathNSResolver.cpp:
10309        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
10310        * bindings/js/JSDOMApplicationCacheCustom.cpp:
10311        (WebCore::JSDOMApplicationCache::addEventListener):
10312        (WebCore::JSDOMApplicationCache::removeEventListener):
10313        (WebCore::JSDOMApplicationCache::setOnchecking):
10314        (WebCore::JSDOMApplicationCache::setOnerror):
10315        (WebCore::JSDOMApplicationCache::setOnnoupdate):
10316        (WebCore::JSDOMApplicationCache::setOndownloading):
10317        (WebCore::JSDOMApplicationCache::setOnprogress):
10318        (WebCore::JSDOMApplicationCache::setOnupdateready):
10319        (WebCore::JSDOMApplicationCache::setOncached):
10320        * bindings/js/JSDOMBinding.cpp:
10321        (WebCore::jsStringOrNull):
10322        (WebCore::jsOwnedStringOrNull):
10323        (WebCore::jsStringOrUndefined):
10324        (WebCore::jsStringOrFalse):
10325        (WebCore::nonCachingStaticFunctionGetter):
10326        (WebCore::objectToStringFunctionGetter):
10327        * bindings/js/JSDOMBinding.h:
10328        (WebCore::DOMObject::DOMObject):
10329        (WebCore::cacheDOMObject):
10330        (WebCore::cacheSVGDOMObject):
10331        * bindings/js/JSDOMWindowBase.cpp:
10332        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
10333        (WebCore::JSDOMWindowBase::getValueProperty):
10334        (WebCore::JSDOMWindowBase::setListener):
10335        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
10336        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
10337        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
10338        (WebCore::windowProtoFuncAToB):
10339        (WebCore::windowProtoFuncBToA):
10340        (WebCore::windowProtoFuncSetTimeout):
10341        (WebCore::windowProtoFuncSetInterval):
10342        (WebCore::windowProtoFuncAddEventListener):
10343        * bindings/js/JSDOMWindowBase.h:
10344        * bindings/js/JSDOMWindowShell.cpp:
10345        (WebCore::JSDOMWindowShell::operator new):
10346        * bindings/js/JSDOMWindowShell.h:
10347        * bindings/js/JSDocumentCustom.cpp:
10348        (WebCore::toJS):
10349        * bindings/js/JSElementCustom.cpp:
10350        (WebCore::toJSNewlyCreated):
10351        * bindings/js/JSEventCustom.cpp:
10352        (WebCore::toJS):
10353        * bindings/js/JSEventListener.cpp:
10354        (WebCore::JSLazyEventListener::eventParameterName):
10355        (WebCore::JSLazyEventListener::parseCode):
10356        * bindings/js/JSEventTargetBase.cpp:
10357        (WebCore::jsEventTargetAddEventListener):
10358        * bindings/js/JSEventTargetBase.h:
10359        (WebCore::JSEventTargetPrototype::self):
10360        * bindings/js/JSEventTargetNode.cpp:
10361        (WebCore::JSEventTargetNode::setListener):
10362        * bindings/js/JSHTMLCollectionCustom.cpp:
10363        (WebCore::getNamedItems):
10364        (WebCore::toJS):
10365        * bindings/js/JSHTMLFormElementCustom.cpp:
10366        (WebCore::JSHTMLFormElement::nameGetter):
10367        * bindings/js/JSHTMLInputElementBase.cpp:
10368        (WebCore::JSHTMLInputElementBase::getValueProperty):
10369        * bindings/js/JSHTMLOptionElementConstructor.cpp:
10370        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
10371        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
10372        (WebCore::JSHTMLOptionsCollection::length):
10373        * bindings/js/JSInspectedObjectWrapper.cpp:
10374        (WebCore::JSInspectedObjectWrapper::wrap):
10375        * bindings/js/JSInspectorCallbackWrapper.cpp:
10376        (WebCore::JSInspectorCallbackWrapper::wrap):
10377        * bindings/js/JSLocationCustom.cpp:
10378        (WebCore::JSLocation::toString):
10379        * bindings/js/JSNamedNodesCollection.cpp:
10380        (WebCore::JSNamedNodesCollection::lengthGetter):
10381        * bindings/js/JSNavigatorCustom.cpp:
10382        (WebCore::JSNavigator::appVersion):
10383        * bindings/js/JSNodeCustom.cpp:
10384        (WebCore::createWrapper):
10385        * bindings/js/JSNodeFilterCustom.cpp:
10386        (WebCore::JSNodeFilter::acceptNode):
10387        * bindings/js/JSPluginElementFunctions.cpp:
10388        (WebCore::getRuntimeObject):
10389        * bindings/js/JSRGBColor.cpp:
10390        (WebCore::getJSRGBColor):
10391        * bindings/js/JSSQLResultSetRowListCustom.cpp:
10392        (WebCore::JSSQLResultSetRowList::item):
10393        * bindings/js/JSSVGLazyEventListener.cpp:
10394        (WebCore::JSSVGLazyEventListener::eventParameterName):
10395        * bindings/js/JSStorageCustom.cpp:
10396        (WebCore::JSStorage::nameGetter):
10397        * bindings/js/JSStyleSheetCustom.cpp:
10398        (WebCore::toJS):
10399        * bindings/js/JSTextCustom.cpp:
10400        (WebCore::toJSNewlyCreated):
10401        * bindings/js/JSXMLHttpRequestConstructor.cpp:
10402        (WebCore::JSXMLHttpRequestConstructor::construct):
10403        * bindings/js/JSXMLHttpRequestCustom.cpp:
10404        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
10405        (WebCore::JSXMLHttpRequest::setOnload):
10406        (WebCore::JSXMLHttpRequest::setOnprogress):
10407        (WebCore::JSXMLHttpRequest::getResponseHeader):
10408        (WebCore::JSXMLHttpRequest::addEventListener):
10409        (WebCore::JSXMLHttpRequest::removeEventListener):
10410        * bindings/js/JSXSLTProcessorConstructor.cpp:
10411        (WebCore::JSXSLTProcessorConstructor::construct):
10412        * bindings/js/JSXSLTProcessorCustom.cpp:
10413        (WebCore::JSXSLTProcessor::getParameter):
10414        * bindings/scripts/CodeGeneratorJS.pm:
10415        * bridge/c/c_instance.cpp:
10416        (KJS::Bindings::CInstance::defaultValue):
10417        (KJS::Bindings::CInstance::stringValue):
10418        (KJS::Bindings::CInstance::numberValue):
10419        (KJS::Bindings::CInstance::valueOf):
10420        * bridge/c/c_instance.h:
10421        * bridge/c/c_utility.cpp:
10422        (KJS::Bindings::convertNPVariantToValue):
10423        * bridge/jni/jni_instance.cpp:
10424        (JavaInstance::stringValue):
10425        (JavaInstance::numberValue):
10426        (JavaInstance::invokeMethod):
10427        (JavaInstance::defaultValue):
10428        (JavaInstance::valueOf):
10429        * bridge/jni/jni_instance.h:
10430        * bridge/jni/jni_jsobject.h:
10431        * bridge/jni/jni_jsobject.mm:
10432        (JavaJSObject::call):
10433        (JavaJSObject::setMember):
10434        (JavaJSObject::setSlot):
10435        (JavaJSObject::convertJObjectToValue):
10436        (JavaJSObject::getListFromJArray):
10437        * bridge/jni/jni_objc.mm:
10438        (KJS::Bindings::dispatchJNICall):
10439        * bridge/jni/jni_runtime.cpp:
10440        (JavaArray::convertJObjectToArray):
10441        (JavaField::dispatchValueFromInstance):
10442        (JavaField::valueFromInstance):
10443        (JavaField::dispatchSetValueToInstance):
10444        (JavaArray::valueAt):
10445        * bridge/jni/jni_utility.h:
10446        * bridge/objc/objc_class.mm:
10447        (KJS::Bindings::ObjcClass::fallbackObject):
10448        * bridge/objc/objc_instance.h:
10449        * bridge/objc/objc_instance.mm:
10450        (ObjcInstance::defaultValue):
10451        (ObjcInstance::stringValue):
10452        (ObjcInstance::numberValue):
10453        (ObjcInstance::valueOf):
10454        * bridge/objc/objc_utility.h:
10455        * bridge/objc/objc_utility.mm:
10456        (KJS::Bindings::convertNSStringToString):
10457        (KJS::Bindings::convertObjcValueToValue):
10458        * bridge/runtime.cpp:
10459        (KJS::Bindings::Instance::createRuntimeObject):
10460        * bridge/runtime.h:
10461        (KJS::Bindings::Instance::valueOf):
10462        * bridge/runtime_array.cpp:
10463        (RuntimeArray::lengthGetter):
10464        * bridge/runtime_method.cpp:
10465        (RuntimeMethod::lengthGetter):
10466        * bridge/runtime_object.cpp:
10467        (RuntimeObjectImp::RuntimeObjectImp):
10468        (RuntimeObjectImp::methodGetter):
10469        (RuntimeObjectImp::defaultValue):
10470        * dom/make_names.pl:
10471        * xml/XMLHttpRequest.cpp:
10472        (WebCore::XMLHttpRequest::dropProtection):
10473        * bridge/qt/qt_class.cpp:
10474        (KJS::Bindings::QtClass::fallbackObject):
10475        * bridge/qt/qt_instance.cpp:
10476        (KJS::Bindings::QtRuntimeObjectImp::construct):
10477        (KJS::Bindings::QtInstance::getRuntimeObject):
10478        (KJS::Bindings::QtInstance::invokeDefaultMethod):
10479        (KJS::Bindings::QtInstance::defaultValue):
10480        (KJS::Bindings::QtInstance::stringValue):
10481        (KJS::Bindings::QtInstance::numberValue):
10482        (KJS::Bindings::QtInstance::valueOf):
10483        * bridge/qt/qt_instance.h:
10484        * bridge/qt/qt_runtime.cpp:
10485        (KJS::Bindings::convertValueToQVariant):
10486        (KJS::Bindings::convertQVariantToValue):
10487        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
10488        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
10489        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
10490        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
10491        (KJS::Bindings::QtConnectionObject::execute):
10492        Pass ExecState* where now required.
10493
104942008-06-19  Timothy Hatcher  <timothy@apple.com>
10495
10496        Update the JavaScript syntax highlight colors to match Xcode.
10497        This matches the other Xcode colors we are using for HTML.
10498
10499        Reviewed by Dan Bernstein.
10500
10501        * page/inspector/SourceFrame.js:
10502
105032008-06-19  Keishi Hattori  <casey.hattori@gmail.com>
10504
10505        Added JavaScript syntax highlighting to the Web Inspector.
10506
10507        https://bugs.webkit.org/show_bug.cgi?id=14360
10508
10509        Reviewed by Tim Hatcher and Adam Roben.
10510
10511        * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
10512        * page/inspector/SourceFrame.js:
10513        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
10514        Modifies a line content element.
10515        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
10516        Syntax highlights the entire script.
10517        * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
10518
105192008-06-19  Alex Mathews  <possessedpenguinbob@gmail.com>
10520
10521        Reviewed by Oliver.
10522
10523        Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
10524        functions and changing raw pointer fields to RefPtrs.
10525
10526        * Configurations/WebCore.xcconfig:
10527        * WebCore.xcodeproj/project.pbxproj:
10528        * svg/SVGFEBlendElement.cpp:
10529        (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
10530        (WebCore::SVGFEBlendElement::filterEffect):
10531        * svg/SVGFEBlendElement.h:
10532        * svg/SVGFEColorMatrixElement.cpp:
10533        (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
10534        (WebCore::SVGFEColorMatrixElement::filterEffect):
10535        * svg/SVGFEColorMatrixElement.h:
10536        * svg/SVGFEComponentTransferElement.cpp:
10537        (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
10538        (WebCore::SVGFEComponentTransferElement::filterEffect):
10539        * svg/SVGFEComponentTransferElement.h:
10540        * svg/SVGFECompositeElement.cpp:
10541        (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
10542        (WebCore::SVGFECompositeElement::filterEffect):
10543        * svg/SVGFECompositeElement.h:
10544        * svg/SVGFEDiffuseLightingElement.cpp:
10545        (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
10546        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
10547        * svg/SVGFEDiffuseLightingElement.h:
10548        * svg/SVGFEDisplacementMapElement.cpp:
10549        (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
10550        (WebCore::SVGFEDisplacementMapElement::filterEffect):
10551        * svg/SVGFEDisplacementMapElement.h:
10552        * svg/SVGFEFloodElement.cpp:
10553        (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
10554        (WebCore::SVGFEFloodElement::filterEffect):
10555        * svg/SVGFEFloodElement.h:
10556        * svg/SVGFEGaussianBlurElement.cpp:
10557        (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
10558        (WebCore::SVGFEGaussianBlurElement::filterEffect):
10559        * svg/SVGFEGaussianBlurElement.h:
10560        * svg/SVGFEImageElement.cpp:
10561        (WebCore::SVGFEImageElement::~SVGFEImageElement):
10562        (WebCore::SVGFEImageElement::filterEffect):
10563        * svg/SVGFEImageElement.h:
10564        * svg/SVGFEMergeElement.cpp:
10565        (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
10566        (WebCore::SVGFEMergeElement::filterEffect):
10567        * svg/SVGFEMergeElement.h:
10568        * svg/SVGFEOffsetElement.cpp:
10569        (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
10570        (WebCore::SVGFEOffsetElement::filterEffect):
10571        * svg/SVGFEOffsetElement.h:
10572        * svg/SVGFESpecularLightingElement.cpp:
10573        (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
10574        (WebCore::SVGFESpecularLightingElement::filterEffect):
10575        * svg/SVGFESpecularLightingElement.h:
10576        * svg/SVGFETileElement.cpp:
10577        (WebCore::SVGFETileElement::~SVGFETileElement):
10578        (WebCore::SVGFETileElement::filterEffect):
10579        * svg/SVGFETileElement.h:
10580        * svg/SVGFETurbulenceElement.cpp:
10581        (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
10582        (WebCore::SVGFETurbulenceElement::filterEffect):
10583        * svg/SVGFETurbulenceElement.h:
10584        * svg/graphics/SVGResourceFilter.cpp:
10585        (WebCore::SVGResourceFilter::addFilterEffect):
10586        * svg/graphics/SVGResourceFilter.h:
10587        * svg/graphics/filters/SVGFEBlend.cpp:
10588        (WebCore::SVGFEBlend::create):
10589        * svg/graphics/filters/SVGFEBlend.h:
10590        * svg/graphics/filters/SVGFEColorMatrix.cpp:
10591        (WebCore::SVGFEColorMatrix::create):
10592        * svg/graphics/filters/SVGFEColorMatrix.h:
10593        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
10594        (WebCore::SVGFEComponentTransfer::create):
10595        * svg/graphics/filters/SVGFEComponentTransfer.h:
10596        * svg/graphics/filters/SVGFEComposite.cpp:
10597        (WebCore::SVGFEComposite::create):
10598        * svg/graphics/filters/SVGFEComposite.h:
10599        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
10600        (WebCore::SVGFEConvolveMatrix::create):
10601        * svg/graphics/filters/SVGFEConvolveMatrix.h:
10602        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
10603        (WebCore::SVGFEDiffuseLighting::create):
10604        (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
10605        (WebCore::SVGFEDiffuseLighting::lightSource):
10606        (WebCore::SVGFEDiffuseLighting::setLightSource):
10607        * svg/graphics/filters/SVGFEDiffuseLighting.h:
10608        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
10609        (WebCore::SVGFEDisplacementMap::create):
10610        * svg/graphics/filters/SVGFEDisplacementMap.h:
10611        * svg/graphics/filters/SVGFEFlood.cpp:
10612        (WebCore::SVGFEFlood::create):
10613        * svg/graphics/filters/SVGFEFlood.h:
10614        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
10615        (WebCore::SVGFEGaussianBlur::create):
10616        * svg/graphics/filters/SVGFEGaussianBlur.h:
10617        * svg/graphics/filters/SVGFEImage.cpp:
10618        (WebCore::SVGFEImage::create):
10619        * svg/graphics/filters/SVGFEImage.h:
10620        * svg/graphics/filters/SVGFEMerge.cpp:
10621        (WebCore::SVGFEMerge::SVGFEMerge):
10622        (WebCore::SVGFEMerge::create):
10623        * svg/graphics/filters/SVGFEMerge.h:
10624        * svg/graphics/filters/SVGFEOffset.cpp:
10625        (WebCore::SVGFEOffset::create):
10626        * svg/graphics/filters/SVGFEOffset.h:
10627        * svg/graphics/filters/SVGFESpecularLighting.cpp:
10628        (WebCore::SVGFESpecularLighting::create):
10629        (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
10630        (WebCore::SVGFESpecularLighting::lightSource):
10631        (WebCore::SVGFESpecularLighting::setLightSource):
10632        * svg/graphics/filters/SVGFESpecularLighting.h:
10633        * svg/graphics/filters/SVGFETile.cpp: Added.
10634        (WebCore::SVGFETile::SVGFETile):
10635        (WebCore::SVGFETile::create):
10636        * svg/graphics/filters/SVGFETile.h:
10637        * svg/graphics/filters/SVGFETurbulence.cpp:
10638        (WebCore::SVGFETurbulence::create):
10639        * svg/graphics/filters/SVGFETurbulence.h:
10640        * svg/graphics/filters/SVGFilterEffect.h:
10641        * svg/graphics/filters/SVGLightSource.h:
10642
106432008-06-18  Adele Peterson  <adele@apple.com>
10644
10645        Reviewed by Dan Bernstein.
10646
10647        Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
10648
10649        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
10650          Create the media document after we're done processing pdfs and images.
10651
10652192008-06-17  Dan Bernstein  <mitz@apple.com>
10653
10654        Reviewed by Darin Adler.
10655
10656        - fix https://bugs.webkit.org/show_bug.cgi?id=19598
10657          Crash in WebCore::RenderBlock::determineStartPosition
10658
10659        Test: fast/dynamic/floating-to-positioned-2.html
10660
10661        * rendering/RenderObject.cpp:
10662        (WebCore::RenderObject::setStyle): Changed to also remove relatively
10663        positioned floats from object lists when they become positioned, because
10664        then they cease to be floating.
10665
106662008-06-18  Darin Adler  <darin@apple.com>
10667
10668        Reviewed by Mark Rowe.
10669
10670        - fix storage leak
10671
10672        * css/CSSMutableStyleDeclaration.cpp:
10673        (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
10674        I missed when changing these objects to start with a refcount of 1.
10675
106762008-06-18  Timothy Hatcher  <timothy@apple.com>
10677
10678        Add a script build phase to remove the WebKit.qrc file from
10679        WebCore's resources. This file is used for the Qt port, but we
10680        copy the whole inspector folder for connivence and get this file.
10681
10682        Reviewed by Adam Roben.
10683
10684        * WebCore.xcodeproj/project.pbxproj: New script phase.
10685
106862008-06-18  Timothy Hatcher  <timothy@apple.com>
10687
10688        Combine the Web Inspector's JavaScript resources into one large
10689        script file to speed up loading of the Inspector. This is only
10690        done for Release and Production builds.
10691
10692        Reviewed by Adam Roben.
10693
10694        * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
10695        script build phase that calls combine-javascript-resources and
10696        moves files around in the build directory.
10697        * combine-javascript-resources: Added.
10698
106992008-06-18  Rob Buis  <buis@kde.org>
10700
10701        Reviewed by Darin.
10702
10703        https://bugs.webkit.org/show_bug.cgi?id=18786
10704        Once rendered, SVG text elements removed from DOM continue to be displayed
10705
10706        Repaint the text visual rect before removing it.
10707
10708        * rendering/RenderSVGInlineText.cpp:
10709        (WebCore::RenderSVGInlineText::destroy):
10710        * rendering/RenderSVGInlineText.h:
10711
107122008-06-18  Christian Dywan  <christian@twotoasts.de>
10713
10714        Gtk build fix, brought up by Dirk Schulze.
10715
10716        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
10717
107182008-06-17  Beth Dakin  <bdakin@apple.com>
10719
10720        Reviewed by Tim.
10721
10722        This patch removes all instances of the phrase "TextMarker" from 
10723        function names in the C++ accessibility code. TextMarkers only 
10724        exists in the Objective-C code.
10725
10726        * page/AccessibilityObject.cpp:
10727        (WebCore::AccessibilityObject::visiblePositionRangeForLine):
10728        (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
10729        (WebCore::AccessibilityObject::positionOfLeftWord):
10730        (WebCore::AccessibilityObject::positionOfRightWord):
10731        (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
10732        (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
10733        (WebCore::AccessibilityObject::sentenceForPosition):
10734        (WebCore::AccessibilityObject::paragraphForPosition):
10735        (WebCore::AccessibilityObject::styleRangeForPosition):
10736        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
10737        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
10738        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
10739        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
10740        (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
10741        (WebCore::AccessibilityObject::visiblePositionForPoint):
10742        (WebCore::AccessibilityObject::nextVisiblePosition):
10743        (WebCore::AccessibilityObject::previousVisiblePosition):
10744        (WebCore::AccessibilityObject::nextWordEnd):
10745        (WebCore::AccessibilityObject::previousWordStart):
10746        (WebCore::AccessibilityObject::nextLineEndPosition):
10747        (WebCore::AccessibilityObject::previousLineStartPosition):
10748        (WebCore::AccessibilityObject::nextSentenceEndPosition):
10749        (WebCore::AccessibilityObject::previousSentenceStartPosition):
10750        (WebCore::AccessibilityObject::nextParagraphEndPosition):
10751        (WebCore::AccessibilityObject::previousParagraphStartPosition):
10752        (WebCore::AccessibilityObject::visiblePositionForIndex):
10753        (WebCore::AccessibilityObject::accessibilityObjectForPosition):
10754        (WebCore::AccessibilityObject::lineForPosition):
10755        (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
10756        (WebCore::AccessibilityObject::index):
10757        (WebCore::AccessibilityObject::doAXRangeForPosition):
10758        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
10759        (WebCore::AccessibilityObject::doAXLineForIndex):
10760        * page/AccessibilityObject.h:
10761        * page/AccessibilityRenderObject.cpp:
10762        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
10763        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
10764        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
10765        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
10766        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
10767        (WebCore::AccessibilityRenderObject::index):
10768        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
10769        * page/AccessibilityRenderObject.h:
10770        * page/mac/AccessibilityObjectWrapper.mm:
10771        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
10772        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
10773        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
10774        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
10775
107762008-06-17  Mark Rowe  <mrowe@apple.com>
10777
10778        Reviewed by Darin Adler.
10779
10780        <rdar://problem/5775802> WebCore should not force use of GCC 4.0.
10781
10782        * WebCore.xcodeproj/project.pbxproj:
10783
107842008-06-17  Darin Adler  <darin@apple.com>
10785
10786        Reviewed by Sam.
10787
10788        - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter
10789
10790        - move handling of non-Attr arguments from the code generation script to the DOM
10791          itself (as with every other type of argument)
10792
10793        * bindings/js/JSNodeFilterCustom.cpp:
10794        (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.
10795
10796        * bindings/objc/DOM.mm:
10797        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
10798        Use create instead of new.
10799        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
10800        Ditto.
10801
10802        * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
10803        the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
10804        It's no longer needed for Attr, was not having any effect for VoidCallback, and was
10805        returning false for all other types.
10806
10807        * dom/Element.cpp:
10808        (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
10809        the attr is 0 -- this matches what the autogenerated bindings did before.
10810        (WebCore::Element::setAttributeNodeNS): Ditto.
10811        (WebCore::Element::removeAttributeNode): Ditto.
10812
10813        * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
10814        initialize the refcount to 0.
10815
10816        * html/CanvasPattern.h: Made CachedResourceClient base class private in a
10817        more-explicit way.
10818
108192008-06-17  Adam Roben  <aroben@apple.com>
10820
10821        Fix <rdar://6016755> Assertion failure when WebView is child of
10822        message-only window
10823
10824        Reviewed by Ada Chan.
10825
10826        No test possible.
10827
10828        * platform/win/WindowMessageBroadcaster.cpp:
10829        (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
10830        window when we're adding our first listener. Removed an assertion that
10831        an old WNDPROC was returned -- this will be 0 in the case of a
10832        message-only window. Added an assertion to help catch cases where we
10833        try to subclass the window twice.
10834        (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
10835        assertion that is not correct in the message-only window case.
10836
108372008-06-17  Adele Peterson  <adele@apple.com>
10838
10839        Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
10840
10841        * loader/MediaDocument.cpp:
10842        * loader/MediaDocument.h:
10843
108442008-06-17  Adele Peterson  <adele@apple.com>
10845
10846        Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
10847
10848        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
10849
108502008-06-17  Adele Peterson  <adele@apple.com>
10851
10852        Reviewed by Brady.
10853
10854        Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in
10855
10856        * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
10857        * GNUmakefile.am: ditto.
10858        * WebCore.pro: ditto.
10859        * WebCore.vcproj/WebCore.vcproj: ditto.
10860        * WebCoreSources.bkl: ditto.
10861
10862        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
10863          Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
10864        * dom/Document.h: (WebCore::Document::isMediaDocument): Added.
10865
10866        * loader/MediaDocument.cpp: Added.
10867        (WebCore::MediaTokenizer::MediaTokenizer):
10868        (WebCore::MediaTokenizer::wantsRawData):
10869        (WebCore::MediaTokenizer::write):
10870        (WebCore::MediaTokenizer::createDocumentStructure):
10871        (WebCore::MediaTokenizer::writeRawData):
10872        (WebCore::MediaTokenizer::stopParsing):
10873        (WebCore::MediaTokenizer::finish):
10874        (WebCore::MediaTokenizer::isWaitingForScripts):
10875        (WebCore::MediaDocument::MediaDocument):
10876        (WebCore::MediaDocument::createTokenizer):
10877        * loader/MediaDocument.h: Added.
10878        (WebCore::MediaDocument::create):
10879        (WebCore::MediaDocument::isMediaDocument):
10880
10881        * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
10882          Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
10883        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
10884        * platform/graphics/MediaPlayer.h:
10885        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
10886          Instead of checking the html element to decide if the media is audio, check the player.
10887          This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.
10888
108892008-06-17  Timothy Hatcher  <timothy@apple.com>
10890
10891        Adds the file name and line number for call frames next to
10892        the function name in the Call Stack pane.
10893
10894        https://bugs.webkit.org/show_bug.cgi?id=19586
10895
10896        Reviewed by Adam Roben.
10897
10898        * English.lproj/localizedStrings.js: Updated strings.
10899        * page/inspector/CallStackSidebarPane.js:
10900        (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle
10901        based on the URL and line number.
10902
109032008-06-17  Timothy Hatcher  <timothy@apple.com>
10904
10905        Use accurate call frame title's based on the call frame type.
10906
10907        https://bugs.webkit.org/show_bug.cgi?id=19585
10908
10909        Reviewed by Geoff Garen.
10910
10911        * English.lproj/localizedStrings.js: Updated strings.
10912        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
10913        (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid()
10914        check since the evaluate() functiondoes the check already.
10915        (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid()
10916        check, since thisObject() does the check and returns null if invalid.
10917        (WebCore::JSJavaScriptCallFrame::type): Return a string
10918        based on the enum value of the type.
10919        (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid()
10920        check, since scopeChain() does the check and returns null if invalid.
10921        So just null check scopeChain().
10922        * page/JavaScriptCallFrame.cpp:
10923        (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type.
10924        Return DebuggerCallFrame::UnknownType if the call frame is invalid.
10925        * page/JavaScriptCallFrame.h:
10926        * page/JavaScriptCallFrame.idl: Add the type property.
10927        * page/inspector/CallStackSidebarPane.js:
10928        (WebInspector.CallStackSidebarPane.prototype.update): Check the type
10929        of the call frame to create the correct title.
10930        * page/inspector/ScriptsPanel.js:
10931        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the
10932        "(program)" title for the file menu to match the call frames.
10933
109342008-06-17  Timothy Hatcher  <timothy@apple.com>
10935
10936        Remember the expanded state of objects in the Scope Variables pane when stepping.
10937        https://bugs.webkit.org/show_bug.cgi?id=19584
10938
10939        Reviewed by Adam Roben.
10940
10941        * page/inspector/ObjectPropertiesSection.js:
10942        (WebInspector.ObjectPropertiesSection): Add an optional argument
10943        that is the treeElementConstructor to use when making TreeElements.
10944        (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use
10945        the treeElementConstructor to create TreeElements.
10946        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use
10947        the treeElementConstructor to create TreeElements.
10948        * page/inspector/ScopeChainSidebarPane.js:
10949        (WebInspector.ScopeChainSidebarPane.prototype.update): Create an
10950        _expandedProperties object on the callframe if one doesn't exist yet.
10951        Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection
10952        as the TreeElement constructor we want to use.
10953        (WebInspector.ScopeVariableTreeElement): Added.
10954        (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the
10955        propertyIdentifier is in the pane's _expandedProperties.
10956        (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the
10957        propertyIdentifier to the pane's _expandedProperties.
10958        (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the
10959        propertyIdentifier from the pane's _expandedProperties.
10960        (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier):
10961        Return an identifier that has the section title, subtile and propertyPath concatenated.
10962        (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string
10963        that has the propertyNames up to the root ancestor concatenated with a period.
10964
109652008-06-17  Timothy Hatcher  <timothy@apple.com>
10966
10967        Focus the mainPanelsElement in a timeout so it happens after the
10968        initial focus, so it doesn't get reset to the first toolbar button.
10969        This initial focus happens on Mac when the window is made key and
10970        the WebHTMLView becomes the first responder.
10971
10972        https://bugs.webkit.org/show_bug.cgi?id=19587
10973
10974        Reviewed by Adele Peterson.
10975
10976        * page/inspector/inspector.js:
10977        (WebInspector.loaded): Focus the mainPanelsElement in a timeout.
10978
109792008-06-17  Timothy Hatcher  <timothy@apple.com>
10980
10981        Use tabIndex in the Web Inspector for focusable areas.
10982        https://bugs.webkit.org/show_bug.cgi?id=19583
10983
10984        Reviewed by Adam Roben.
10985
10986        * page/inspector/Console.js:
10987        (WebInspector.Console): No longer make the messagesElement
10988        focusable since the engine handles the case for us. The promptElement
10989        now handles the key events.
10990        (WebInspector.Console.prototype.show): Set the current focus element
10991        to the prompt element.
10992        (WebInspector.Console.prototype.hide): Set the current focus element
10993        to WebInspector.previousFocusElement.
10994        (WebInspector.Console.prototype._messagesFocused): Removed.
10995        * page/inspector/DataGrid.js:
10996        (WebInspector.DataGrid): Remove the focusable class.
10997        * page/inspector/DatabaseQueryView.js:
10998        (WebInspector.DatabaseQueryView): Remove the focusable class. Set
10999        tabIndex to 0. The promptElement now handles the key events.
11000        (WebInspector.DatabaseQueryView.prototype._focused): Removed.
11001        * page/inspector/inspector.css: Updated selectors to use :focus
11002        instead of .focused and .blurred.
11003        * page/inspector/inspector.html: Removed focusable, focused and blurred
11004        classes and added tabindex attributes.
11005        * page/inspector/inspector.js:
11006        (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement.
11007        (WebInspector.set currentFocusElement): Simplified. Stores the previous element
11008        in _previousFocusElement for clients that need it. Calls focus on the passed
11009        in element or blur on the previous element.
11010        (WebInspector.loaded): Removed the event listener for mousedown. Renamed
11011        changeFocus to focusChanged.
11012        (WebInspector.focusChanged): Renamed from changeFocus. Just sets the
11013        currentFocusElement to the event target.
11014        (WebInspector.startEditing): Changed to use tabIndex and blur events.
11015        Add a more robust check for restoring focus to the previous element
11016        when editing finishes that catches focused descendants.
11017
110182008-06-17  Timothy Hatcher  <timothy@apple.com>
11019
11020        Removed redundant if statements and early returns from
11021        AccessibilityRenderObject::ariaRoleAttribute.
11022
11023        Reviewed by Sam Wenig.
11024
11025        * page/AccessibilityRenderObject.cpp:
11026        (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if
11027        statements and early returns.
11028
110292008-06-17  Timothy Hatcher  <timothy@apple.com>
11030
11031        Removed duplicate implementations of setTabIndex. They all matched
11032        the HTMLElement::setTabIndex implementation.
11033
11034        Reviewed by Sam Wenig.
11035
11036        * html/HTMLAnchorElement.cpp: Removed setTabIndex.
11037        * html/HTMLAreaElement.cpp: Ditto.
11038        * html/HTMLFormControlElement.cpp: Ditto.
11039        * html/HTMLFormControlElement.h: Ditto.
11040        * html/HTMLObjectElement.cpp: Ditto.
11041        * html/HTMLObjectElement.h: Ditto.
11042
110432008-06-17  Darin Adler  <darin@apple.com>
11044
11045        Reviewed by Sam.
11046
11047        - more of https://bugs.webkit.org/show_bug.cgi?id=17257
11048          start ref counts at 1 instead of 0 for speed
11049
11050        Change StyleBase and all classes derived from it.
11051
11052        * bindings/js/JSRGBColor.cpp:
11053        (WebCore::JSRGBColor::getValueProperty):
11054        * bindings/objc/DOMRGBColor.mm:
11055        (-[DOMRGBColor red]):
11056        (-[DOMRGBColor green]):
11057        (-[DOMRGBColor blue]):
11058        (-[DOMRGBColor alpha]):
11059        * css/CSSBorderImageValue.cpp:
11060        (WebCore::CSSBorderImageValue::cssText):
11061        * css/CSSBorderImageValue.h:
11062        (WebCore::CSSBorderImageValue::create):
11063        * css/CSSCanvasValue.h:
11064        (WebCore::CSSCanvasValue::create):
11065        (WebCore::CSSCanvasValue::setName):
11066        (WebCore::CSSCanvasValue::CSSCanvasValue):
11067        * css/CSSCharsetRule.cpp:
11068        (WebCore::CSSCharsetRule::CSSCharsetRule):
11069        * css/CSSCharsetRule.h:
11070        (WebCore::CSSCharsetRule::create):
11071        (WebCore::CSSCharsetRule::encoding):
11072        (WebCore::CSSCharsetRule::isCharsetRule):
11073        (WebCore::CSSCharsetRule::type):
11074        * css/CSSComputedStyleDeclaration.cpp:
11075        (WebCore::valueForShadow):
11076        (WebCore::valueForNinePieceImage):
11077        (WebCore::valueForReflection):
11078        (WebCore::getPositionOffsetValue):
11079        (WebCore::currentColorOrValidColor):
11080        (WebCore::getBorderRadiusCornerValue):
11081        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11082        * css/CSSComputedStyleDeclaration.h:
11083        (WebCore::computedStyle):
11084        * css/CSSCursorImageValue.h:
11085        (WebCore::CSSCursorImageValue::create):
11086        * css/CSSFontFaceRule.cpp:
11087        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
11088        * css/CSSFontFaceRule.h:
11089        (WebCore::CSSFontFaceRule::create):
11090        (WebCore::CSSFontFaceRule::isFontFaceRule):
11091        (WebCore::CSSFontFaceRule::type):
11092        * css/CSSFontFaceSrcValue.h:
11093        (WebCore::CSSFontFaceSrcValue::create):
11094        (WebCore::CSSFontFaceSrcValue::createLocal):
11095        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
11096        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
11097        * css/CSSGradientValue.h:
11098        (WebCore::CSSGradientColorStop::CSSGradientColorStop):
11099        (WebCore::CSSGradientValue::create):
11100        (WebCore::CSSGradientValue::CSSGradientValue):
11101        * css/CSSImageGeneratorValue.h:
11102        (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
11103        * css/CSSImageValue.h:
11104        (WebCore::CSSImageValue::create):
11105        * css/CSSImportRule.cpp:
11106        (WebCore::CSSImportRule::CSSImportRule):
11107        (WebCore::CSSImportRule::setCSSStyleSheet):
11108        * css/CSSImportRule.h:
11109        (WebCore::CSSImportRule::create):
11110        (WebCore::CSSImportRule::isImportRule):
11111        (WebCore::CSSImportRule::type):
11112        * css/CSSInheritedValue.h:
11113        (WebCore::CSSInheritedValue::create):
11114        (WebCore::CSSInheritedValue::CSSInheritedValue):
11115        * css/CSSInitialValue.h:
11116        (WebCore::CSSInitialValue::createExplicit):
11117        (WebCore::CSSInitialValue::createImplicit):
11118        (WebCore::CSSInitialValue::CSSInitialValue):
11119        * css/CSSMediaRule.cpp:
11120        (WebCore::CSSMediaRule::CSSMediaRule):
11121        * css/CSSMediaRule.h:
11122        (WebCore::CSSMediaRule::create):
11123        (WebCore::CSSMediaRule::isMediaRule):
11124        (WebCore::CSSMediaRule::type):
11125        * css/CSSMutableStyleDeclaration.cpp:
11126        (WebCore::CSSMutableStyleDeclaration::setProperty):
11127        (WebCore::CSSMutableStyleDeclaration::setStringProperty):
11128        * css/CSSMutableStyleDeclaration.h:
11129        (WebCore::CSSMutableStyleDeclaration::create):
11130        * css/CSSPageRule.cpp:
11131        (WebCore::CSSPageRule::CSSPageRule):
11132        * css/CSSPageRule.h:
11133        (WebCore::CSSPageRule::create):
11134        * css/CSSParser.cpp:
11135        (WebCore::CSSParser::parseColor):
11136        (WebCore::CSSParser::parseValue):
11137        (WebCore::CSSParser::addFillValue):
11138        (WebCore::CSSParser::parseFillShorthand):
11139        (WebCore::CSSParser::addTransitionValue):
11140        (WebCore::CSSParser::parseTransitionShorthand):
11141        (WebCore::CSSParser::parseShorthand):
11142        (WebCore::CSSParser::parseContent):
11143        (WebCore::CSSParser::parseBackgroundColor):
11144        (WebCore::CSSParser::parseFillPositionXY):
11145        (WebCore::CSSParser::parseFillPosition):
11146        (WebCore::CSSParser::parseFillSize):
11147        (WebCore::CSSParser::parseFillProperty):
11148        (WebCore::CSSParser::parseTransitionDuration):
11149        (WebCore::CSSParser::parseTransitionRepeatCount):
11150        (WebCore::CSSParser::parseTransitionTimingFunction):
11151        (WebCore::CSSParser::parseTransitionProperty):
11152        (WebCore::CSSParser::parseDashboardRegions):
11153        (WebCore::CSSParser::parseCounterContent):
11154        (WebCore::CSSParser::parseShape):
11155        (WebCore::CSSParser::parseFont):
11156        (WebCore::CSSParser::parseFontFamily):
11157        (WebCore::CSSParser::parseFontFaceSrc):
11158        (WebCore::CSSParser::parseFontFaceUnicodeRange):
11159        (WebCore::ShadowParseContext::commitValue):
11160        (WebCore::ShadowParseContext::commitLength):
11161        (WebCore::CSSParser::parseShadow):
11162        (WebCore::CSSParser::parseReflect):
11163        (WebCore::BorderImageParseContext::commitNumber):
11164        (WebCore::BorderImageParseContext::commitBorderImage):
11165        (WebCore::CSSParser::parseBorderImage):
11166        (WebCore::CSSParser::parseCounter):
11167        (WebCore::parseGradientPoint):
11168        (WebCore::parseGradientColorStop):
11169        (WebCore::CSSParser::parseGradient):
11170        (WebCore::CSSParser::parseCanvas):
11171        (WebCore::CSSParser::parseTransform):
11172        (WebCore::CSSParser::createMediaList):
11173        (WebCore::CSSParser::createCharsetRule):
11174        (WebCore::CSSParser::createImportRule):
11175        (WebCore::CSSParser::createMediaRule):
11176        (WebCore::CSSParser::createStyleRule):
11177        (WebCore::CSSParser::createFontFaceRule):
11178        * css/CSSPrimitiveValue.h:
11179        (WebCore::CSSPrimitiveValue::):
11180        (WebCore::CSSPrimitiveValue::createIdentifier):
11181        (WebCore::CSSPrimitiveValue::createColor):
11182        (WebCore::CSSPrimitiveValue::create):
11183        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
11184        (WebCore::CSSPrimitiveValue::isPrimitiveValue):
11185        * css/CSSQuirkPrimitiveValue.h:
11186        (WebCore::CSSQuirkPrimitiveValue::create):
11187        * css/CSSReflectValue.h:
11188        (WebCore::CSSReflectValue::create):
11189        * css/CSSRule.cpp:
11190        (WebCore::CSSRule::parentRule):
11191        (WebCore::CSSRule::setCssText):
11192        * css/CSSRule.h:
11193        (WebCore::CSSRule::CSSRule):
11194        (WebCore::CSSRule::isRule):
11195        * css/CSSStyleDeclaration.cpp:
11196        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
11197        * css/CSSStyleDeclaration.h:
11198        * css/CSSStyleRule.cpp:
11199        (WebCore::CSSStyleRule::CSSStyleRule):
11200        * css/CSSStyleRule.h:
11201        (WebCore::CSSStyleRule::create):
11202        (WebCore::CSSStyleRule::isStyleRule):
11203        (WebCore::CSSStyleRule::type):
11204        * css/CSSStyleSelector.cpp:
11205        (WebCore::CSSStyleSelector::CSSStyleSelector):
11206        (WebCore::parseUASheet):
11207        (WebCore::CSSRuleSet::addRulesFromSheet):
11208        (WebCore::CSSStyleSelector::applyProperty):
11209        * css/CSSStyleSheet.cpp:
11210        (WebCore::CSSStyleSheet::checkLoaded):
11211        * css/CSSStyleSheet.h:
11212        (WebCore::CSSStyleSheet::create):
11213        (WebCore::CSSStyleSheet::isCSSStyleSheet):
11214        (WebCore::CSSStyleSheet::type):
11215        * css/CSSTimingFunctionValue.h:
11216        (WebCore::CSSTimingFunctionValue::create):
11217        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
11218        (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
11219        * css/CSSTransformValue.cpp:
11220        (WebCore::CSSTransformValue::CSSTransformValue):
11221        (WebCore::CSSTransformValue::~CSSTransformValue):
11222        (WebCore::CSSTransformValue::addValue):
11223        (WebCore::CSSTransformValue::cssText):
11224        * css/CSSTransformValue.h:
11225        (WebCore::CSSTransformValue::create):
11226        * css/CSSUnicodeRangeValue.h:
11227        (WebCore::CSSUnicodeRangeValue::create):
11228        (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
11229        * css/CSSUnknownRule.h:
11230        * css/CSSValue.h:
11231        (WebCore::CSSValue::isImageGeneratorValue):
11232        (WebCore::CSSValue::isImageValue):
11233        (WebCore::CSSValue::isPrimitiveValue):
11234        (WebCore::CSSValue::isValueList):
11235        (WebCore::CSSValue::isSVGColor):
11236        (WebCore::CSSValue::isSVGPaint):
11237        (WebCore::CSSValue::CSSValue):
11238        * css/CSSValueList.h:
11239        (WebCore::CSSValueList::createCommaSeparated):
11240        (WebCore::CSSValueList::createSpaceSeparated):
11241        (WebCore::CSSValueList::isValueList):
11242        * css/FontFamilyValue.h:
11243        (WebCore::FontFamilyValue::create):
11244        * css/FontValue.h:
11245        (WebCore::FontValue::create):
11246        (WebCore::FontValue::FontValue):
11247        (WebCore::FontValue::isFontValue):
11248        * css/MediaList.cpp:
11249        (WebCore::MediaList::MediaList):
11250        (WebCore::MediaList::deleteMedium):
11251        (WebCore::MediaList::setMediaText):
11252        * css/MediaList.h:
11253        (WebCore::MediaList::create):
11254        (WebCore::MediaList::createAllowingDescriptionSyntax):
11255        (WebCore::MediaList::length):
11256        (WebCore::MediaList::mediaQueries):
11257        * css/MediaQueryEvaluator.cpp:
11258        (WebCore::MediaQueryEvaluator::eval):
11259        * css/MediaQueryExp.cpp:
11260        (WebCore::MediaQueryExp::MediaQueryExp):
11261        * css/SVGCSSComputedStyleDeclaration.cpp:
11262        (WebCore::glyphOrientationToCSSPrimitiveValue):
11263        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
11264        * css/SVGCSSParser.cpp:
11265        (WebCore::CSSParser::parseSVGValue):
11266        (WebCore::CSSParser::parseSVGStrokeDasharray):
11267        (WebCore::CSSParser::parseSVGPaint):
11268        (WebCore::CSSParser::parseSVGColor):
11269        * css/ShadowValue.h:
11270        (WebCore::ShadowValue::create):
11271        * css/StyleBase.h:
11272        (WebCore::StyleBase::isCSSStyleSheet):
11273        (WebCore::StyleBase::isFontFaceRule):
11274        (WebCore::StyleBase::isRule):
11275        (WebCore::StyleBase::isStyleRule):
11276        (WebCore::StyleBase::isStyleSheet):
11277        (WebCore::StyleBase::isXSLStyleSheet):
11278        (WebCore::StyleBase::StyleBase):
11279        * css/StyleList.cpp:
11280        * css/StyleList.h:
11281        (WebCore::StyleList::StyleList):
11282        * css/StyleSheet.h:
11283        (WebCore::StyleSheet::styleSheetChanged):
11284        (WebCore::StyleSheet::isStyleSheet):
11285        * dom/CSSMappedAttributeDeclaration.h:
11286        (WebCore::CSSMappedAttributeDeclaration::create):
11287        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
11288        * dom/DOMImplementation.cpp:
11289        (WebCore::DOMImplementation::createCSSStyleSheet):
11290        * dom/Document.cpp:
11291        (WebCore::Document::createCSSStyleDeclaration):
11292        (WebCore::Document::setCSSStyleSheet):
11293        (WebCore::Document::elementSheet):
11294        (WebCore::Document::mappedElementSheet):
11295        (WebCore::Document::recalcStyleSelector):
11296        * dom/Node.cpp:
11297        (WebCore::Node::querySelector):
11298        (WebCore::Node::querySelectorAll):
11299        * dom/Position.cpp:
11300        (WebCore::Position::computedStyle):
11301        * dom/ProcessingInstruction.cpp:
11302        (WebCore::ProcessingInstruction::checkStyleSheet):
11303        (WebCore::ProcessingInstruction::setCSSStyleSheet):
11304        (WebCore::ProcessingInstruction::setXSLStyleSheet):
11305        * dom/ProcessingInstruction.h:
11306        * dom/StyleElement.cpp:
11307        (WebCore::StyleElement::createSheet):
11308        * dom/StyledElement.cpp:
11309        (WebCore::StyledElement::createInlineStyleDecl):
11310        (WebCore::StyledElement::createMappedDecl):
11311        * editing/ApplyStyleCommand.cpp:
11312        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
11313        (WebCore::hasTextDecorationProperty):
11314        (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
11315        * editing/CompositeEditCommand.cpp:
11316        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
11317        * editing/DeleteSelectionCommand.cpp:
11318        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
11319        * editing/Editor.cpp:
11320        (WebCore::Editor::selectionHasStyle):
11321        (WebCore::Editor::setBaseWritingDirection):
11322        * editing/EditorCommand.cpp:
11323        (WebCore::executeApplyStyle):
11324        (WebCore::executeToggleStyle):
11325        (WebCore::executeApplyParagraphStyle):
11326        (WebCore::stateStyle):
11327        * editing/InsertParagraphSeparatorCommand.cpp:
11328        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
11329        * editing/RemoveFormatCommand.cpp:
11330        (WebCore::RemoveFormatCommand::doApply):
11331        * editing/ReplaceSelectionCommand.cpp:
11332        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
11333        * editing/markup.cpp:
11334        (WebCore::styleFromMatchedRulesForElement):
11335        (WebCore::appendStartMarkup):
11336        * html/HTMLBodyElement.cpp:
11337        (WebCore::HTMLBodyElement::createLinkDecl):
11338        * html/HTMLLinkElement.cpp:
11339        (WebCore::HTMLLinkElement::process):
11340        (WebCore::HTMLLinkElement::setCSSStyleSheet):
11341        * html/HTMLMediaElement.cpp:
11342        (WebCore::HTMLMediaElement::pickMedia):
11343        * html/HTMLTableElement.cpp:
11344        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
11345        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
11346        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
11347        (WebCore::HTMLTableElement::addSharedGroupDecls):
11348        * page/DOMWindow.cpp:
11349        (WebCore::DOMWindow::getComputedStyle):
11350        * page/Frame.cpp:
11351        (WebCore::Frame::computeAndSetTypingStyle):
11352        (WebCore::Frame::selectionComputedStyle):
11353        * page/Frame.h:
11354        * rendering/style/RenderStyle.cpp:
11355        (WebCore::StyleCachedImage::cssValue):
11356        * rendering/style/RenderStyle.h:
11357        * svg/SVGColor.h:
11358        (WebCore::SVGColor::create):
11359        (WebCore::SVGColor::isSVGColor):
11360        * svg/SVGFontFaceElement.cpp:
11361        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
11362        (WebCore::SVGFontFaceElement::rebuildFontFace):
11363        * svg/SVGFontFaceNameElement.cpp:
11364        (WebCore::SVGFontFaceNameElement::srcValue):
11365        * svg/SVGFontFaceSrcElement.cpp:
11366        (WebCore::SVGFontFaceSrcElement::srcValue):
11367        * svg/SVGFontFaceUriElement.cpp:
11368        (WebCore::SVGFontFaceUriElement::srcValue):
11369        * svg/SVGPaint.cpp:
11370        (WebCore::SVGPaint::SVGPaint):
11371        * svg/SVGPaint.h:
11372        (WebCore::SVGPaint::create):
11373        (WebCore::SVGPaint::isSVGPaint):
11374        * svg/animation/SMILTimeContainer.cpp:
11375        (WebCore::SMILTimeContainer::baseValueFor):
11376        * xml/XSLImportRule.cpp:
11377        (WebCore::XSLImportRule::XSLImportRule):
11378        (WebCore::XSLImportRule::setXSLStyleSheet):
11379        * xml/XSLImportRule.h:
11380        (WebCore::XSLImportRule::create):
11381        (WebCore::XSLImportRule::href):
11382        (WebCore::XSLImportRule::isImportRule):
11383        * xml/XSLStyleSheet.cpp:
11384        (WebCore::XSLStyleSheet::checkLoaded):
11385        (WebCore::XSLStyleSheet::loadChildSheet):
11386        * xml/XSLStyleSheet.h:
11387        (WebCore::XSLStyleSheet::create):
11388        (WebCore::XSLStyleSheet::createEmbedded):
11389        * xml/XSLTProcessor.cpp:
11390        (WebCore::xsltStylesheetPointer):
11391
113922008-06-17  Michelangelo De Simone  <m.des@mac.com>
11393
11394        Reviewed by Adele.
11395        
11396        Fix for https://bugs.webkit.org/show_bug.cgi?id=18887
11397        Added support for autofocus controls.
11398
11399        When authors specify the "autofocus" attribute on form controls these 
11400        acquire focus automatically as the document is rendered.
11401
11402        Tests: fast/forms/autofocus-attribute.html
11403               fast/forms/autofocus-opera-001.html
11404               fast/forms/autofocus-opera-002.html
11405               fast/forms/autofocus-opera-003.html
11406               fast/forms/autofocus-opera-004.html
11407               fast/forms/autofocus-opera-005.html
11408               fast/forms/autofocus-opera-006.html
11409               fast/forms/autofocus-opera-007.html
11410               fast/forms/autofocus-opera-008.html
11411
11412        * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus.
11413        * dom/Document.h:
11414        * html/HTMLAttributeNames.in:
11415        * html/HTMLButtonElement.idl:
11416        * html/HTMLFormControlElement.cpp:
11417        (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control
11418        (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter
11419        (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter
11420        * html/HTMLFormControlElement.h:
11421        * html/HTMLInputElement.idl:
11422        * html/HTMLSelectElement.idl:
11423        * html/HTMLTextAreaElement.idl:
11424        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited):
11425          Sets the "ignore autofocus" flag on document if the user edited the control.
11426        * rendering/RenderTextControl.h:
11427
114282008-06-17  Alp Toker  <alp@nuanti.com>
11429
11430        Reviewed by Dave Hyatt and Mark Rowe.
11431
11432        https://bugs.webkit.org/show_bug.cgi?id=19190
11433        [CAIRO] Canvas rendered as black
11434
11435        Make sure the frame alpha transparency flag is set to true unless
11436        we're certain the image data is solid and can be blitted, since the
11437        Cairo backend implements a fast-path for blittable BitmapImages.
11438
11439        Thanks to Dirk Schulze for helping to track down this problem.
11440
11441        * platform/graphics/BitmapImage.cpp:
11442        (WebCore::BitmapImage::frameHasAlphaAtIndex):
11443        * platform/graphics/cairo/ImageCairo.cpp:
11444        (WebCore::BitmapImage::BitmapImage):
11445        * platform/graphics/cg/ImageCG.cpp:
11446        (WebCore::BitmapImage::BitmapImage):
11447
114482008-06-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
11449
11450        Reviewed by Simon.
11451
11452        Fix the Qt port by adding ExecState when necessary.
11453
11454        * bridge/qt/qt_instance.cpp:
11455        (KJS::Bindings::QtInstance::getPropertyNames):
11456        (KJS::Bindings::QtInstance::invokeDefaultMethod):
11457        * bridge/qt/qt_runtime.cpp:
11458        (KJS::Bindings::convertValueToQVariant):
11459        (KJS::Bindings::convertQVariantToValue):
11460        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
11461        (KJS::Bindings::QtConnectionObject::execute):
11462
114632008-06-17  David Hyatt  <hyatt@apple.com>
11464
11465        Fix for slow performance on CSS selector tests at:
11466
11467        http://jpsykes.com/153/more-css-performance-testing-pt-2
11468
11469        Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from
11470        the network (since this is O(n^2)).   Wait for the parser to deliver all of the data before we
11471        process the sheet for the first time.
11472
11473        Reviewed by olliej
11474
11475        * html/HTMLStyleElement.cpp:
11476        (WebCore::HTMLStyleElement::finishParsingChildren):
11477        (WebCore::HTMLStyleElement::childrenChanged):
11478
114792008-06-16  Dan Bernstein  <mitz@apple.com>
11480
11481        Reviewed by Justin Garcia.
11482
11483        - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas
11484
11485        Test: editing/selection/after-line-break.html
11486
11487        * dom/Position.cpp:
11488        (WebCore::Position::getInlineBoxAndOffset): Changed to not include the
11489        position after a line break in its line box, because that position is
11490        actually on the next line.
11491
114922008-06-16  Alexey Proskuryakov  <ap@webkit.org>
11493
11494        Reviewed by Geoff Garen.
11495
11496        Make Identifier construction use an explicitly passed IdentifierTable.
11497
11498        * platform/text/AtomicString.cpp:
11499        * platform/text/AtomicString.h:
11500        * platform/text/PlatformString.h:
11501        * platform/text/String.cpp:
11502        Removed "operator KJS::Identifier".
11503
11504        * bindings/js/JSCustomSQLStatementCallback.cpp:
11505        (WebCore::JSCustomSQLStatementCallback::handleEvent):
11506        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11507        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11508        * bindings/js/JSCustomSQLTransactionCallback.cpp:
11509        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11510        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11511        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11512        * bindings/js/JSCustomVoidCallback.cpp:
11513        (WebCore::JSCustomVoidCallback::handleEvent):
11514        * bindings/js/JSCustomXPathNSResolver.cpp:
11515        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
11516        * bindings/js/JSDOMWindowBase.cpp:
11517        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
11518        (WebCore::JSDOMWindowBase::updateDocument):
11519        (WebCore::createWindow):
11520        (WebCore::showModalDialog):
11521        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
11522        (WebCore::JSDOMWindowBase::put):
11523        (WebCore::JSDOMWindowBase::clear):
11524        * bindings/js/JSDOMWindowCustom.cpp:
11525        (WebCore::JSDOMWindow::setLocation):
11526        * bindings/js/JSDOMWindowCustom.h:
11527        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
11528        * bindings/js/JSEventListener.cpp:
11529        (WebCore::JSAbstractEventListener::handleEvent):
11530        (WebCore::JSLazyEventListener::parseCode):
11531        * bindings/js/JSEventTargetBase.h:
11532        (WebCore::JSEventTargetPrototype::self):
11533        * bindings/js/JSHTMLCollectionCustom.cpp:
11534        (WebCore::JSHTMLCollection::callAsFunction):
11535        (WebCore::JSHTMLCollection::item):
11536        (WebCore::JSHTMLCollection::namedItem):
11537        * bindings/js/JSHTMLDocumentCustom.cpp:
11538        (WebCore::JSHTMLDocument::all):
11539        (WebCore::JSHTMLDocument::setAll):
11540        (WebCore::JSHTMLDocument::open):
11541        * bindings/js/JSHTMLInputElementBase.cpp:
11542        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
11543        * bindings/js/JSHistoryCustom.cpp:
11544        (WebCore::JSHistory::customGetOwnPropertySlot):
11545        * bindings/js/JSLocationCustom.cpp:
11546        (WebCore::JSLocation::customGetOwnPropertySlot):
11547        (WebCore::JSLocation::customPut):
11548        * bindings/js/JSNavigatorCustom.cpp:
11549        (WebCore::needsYouTubeQuirk):
11550        * bindings/js/JSSQLResultSetRowListCustom.cpp:
11551        (WebCore::JSSQLResultSetRowList::item):
11552        * bindings/js/JSStorageCustom.cpp:
11553        (WebCore::JSStorage::customGetPropertyNames):
11554        * bindings/js/ScheduledAction.cpp:
11555        (WebCore::ScheduledAction::execute):
11556        * bindings/js/ScriptController.cpp:
11557        (WebCore::ScriptController::evaluate):
11558        * bindings/objc/WebScriptObject.mm:
11559        (WebCore::addExceptionToConsole):
11560        (-[WebScriptObject callWebScriptMethod:withArguments:]):
11561        (-[WebScriptObject setValue:forKey:]):
11562        (-[WebScriptObject valueForKey:]):
11563        (-[WebScriptObject removeWebScriptKey:]):
11564        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
11565        * bindings/scripts/CodeGeneratorJS.pm:
11566        * bridge/NP_jsobject.cpp:
11567        (_NPN_Enumerate):
11568        * bridge/c/c_instance.cpp:
11569        (KJS::Bindings::CInstance::getPropertyNames):
11570        * bridge/c/c_utility.cpp:
11571        (KJS::Bindings::identifierFromNPIdentifier):
11572        * bridge/jni/jni_class.cpp:
11573        (JavaClass::JavaClass):
11574        * bridge/jni/jni_jsobject.mm:
11575        (JavaJSObject::call):
11576        (JavaJSObject::getMember):
11577        (JavaJSObject::setMember):
11578        (JavaJSObject::removeMember):
11579        * bridge/runtime_method.cpp:
11580        (RuntimeMethod::callAsFunction):
11581        Adapted to JavaScriptCore changes by explicitly constructing Identifiers, and always passing
11582        an ExecState or JSGlobalData pointer. Since WebCore is not a legacy client, this can use
11583        JSGlobalData::threadInstance(), as performance permits.
11584
115852008-06-16  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
11586
11587        Reviewed by Dan Bernstein.
11588
11589        - fix https://bugs.webkit.org/show_bug.cgi?id=19592
11590          Mismatched GraphicsContext::save()/restore() pairs in shadow painting code
11591
11592        * rendering/InlineFlowBox.cpp:
11593        (WebCore::InlineFlowBox::paintTextDecorations): remove an extra context->save()
11594        from the shadow painting code.
11595
115962008-06-16  Adriaan de Groot  <groot@kde.org>
11597
11598        Reviewed by Simon.
11599
11600        Fix compilation on Sun Studio 12
11601
11602        make_pair is a function template with two template arguments. This is to force
11603        it to have the correct type according to the pair<> structure.
11604
11605        * editing/TextIterator.cpp:
11606        (WebCore::plainTextToMallocAllocatedBuffer):
11607        * page/Chrome.cpp:
11608        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
11609
116102008-06-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
11611
11612        Reviewed by Simon
11613
11614        https://bugs.webkit.org/show_bug.cgi?id=19462
11615
11616        Fill the background of scrollbars to the window color before
11617        letting the QStyle paint its primitive elements.
11618
11619        * platform/qt/PlatformScrollBarQt.cpp:
11620        (WebCore::PlatformScrollbar::paint):
11621
116222008-06-15  Darin Adler  <darin@apple.com>
11623
11624        Rubber stamped by Sam.
11625
11626        - renamed kjs_html.h/cpp to JSPluginElementFunctions.h/cpp
11627        - renamed kjs_events.h/cpp to JSEventListener.h/cpp
11628
11629        * GNUmakefile.am:
11630        * WebCore.pro:
11631        * WebCore.vcproj/WebCore.vcproj:
11632        * WebCore.xcodeproj/project.pbxproj:
11633        * WebCoreSources.bkl:
11634        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
11635        * bindings/js/JSDOMApplicationCacheCustom.cpp:
11636        * bindings/js/JSDOMWindowBase.cpp:
11637        * bindings/js/JSEventCustom.cpp:
11638        * bindings/js/JSEventListener.cpp: Copied from WebCore/bindings/js/kjs_events.cpp.
11639        * bindings/js/JSEventListener.h: Copied from WebCore/bindings/js/kjs_events.h.
11640        * bindings/js/JSEventTargetBase.h:
11641        * bindings/js/JSHTMLAppletElementCustom.cpp:
11642        * bindings/js/JSHTMLCollectionCustom.cpp:
11643        * bindings/js/JSHTMLDocumentCustom.cpp:
11644        * bindings/js/JSHTMLEmbedElementCustom.cpp:
11645        * bindings/js/JSHTMLInputElementBase.h:
11646        * bindings/js/JSHTMLObjectElementCustom.cpp:
11647        * bindings/js/JSHTMLSelectElementCustom.cpp:
11648        * bindings/js/JSPluginElementFunctions.cpp: Copied from WebCore/bindings/js/kjs_html.cpp.
11649        * bindings/js/JSPluginElementFunctions.h: Copied from WebCore/bindings/js/kjs_html.h.
11650        * bindings/js/JSSVGLazyEventListener.h:
11651        * bindings/js/JSXMLHttpRequestCustom.cpp:
11652        * bindings/js/ScriptController.cpp:
11653        * bindings/js/kjs_events.cpp: Removed.
11654        * bindings/js/kjs_events.h: Removed.
11655        * bindings/js/kjs_html.cpp: Removed.
11656        * bindings/js/kjs_html.h: Removed.
11657
116582008-06-15  Darin Adler  <darin@apple.com>
11659
11660        - give Frame object functions shorter names: scriptProxy() -> script(),
11661          selectionController() -> selection(), animationController() -> animation()
11662
11663        * WebCore.base.exp:
11664        * bindings/js/JSCustomSQLStatementCallback.cpp:
11665        (WebCore::JSCustomSQLStatementCallback::handleEvent):
11666        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11667        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11668        * bindings/js/JSCustomSQLTransactionCallback.cpp:
11669        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11670        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11671        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11672        * bindings/js/JSCustomVoidCallback.cpp:
11673        (WebCore::JSCustomVoidCallback::handleEvent):
11674        * bindings/js/JSCustomXPathNSResolver.cpp:
11675        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
11676        * bindings/js/JSDOMWindowBase.cpp:
11677        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
11678        (WebCore::allowPopUp):
11679        (WebCore::createWindow):
11680        (WebCore::windowProtoFuncOpen):
11681        (WebCore::toJS):
11682        (WebCore::toJSDOMWindow):
11683        * bindings/js/JSDOMWindowCustom.cpp:
11684        (WebCore::JSDOMWindow::setLocation):
11685        * bindings/js/JSDOMWindowShell.cpp:
11686        (WebCore::toJS):
11687        (WebCore::toJSDOMWindowShell):
11688        * bindings/js/JSDocumentCustom.cpp:
11689        (WebCore::JSDocument::setLocation):
11690        * bindings/js/JSLocationCustom.cpp:
11691        (WebCore::navigateIfAllowed):
11692        (WebCore::JSLocation::reload):
11693        * bindings/js/JSNodeFilterCondition.cpp:
11694        (WebCore::JSNodeFilterCondition::acceptNode):
11695        * bindings/js/ScheduledAction.cpp:
11696        (WebCore::ScheduledAction::execute):
11697        * bindings/js/kjs_events.cpp:
11698        (WebCore::JSAbstractEventListener::handleEvent):
11699        (WebCore::JSLazyEventListener::parseCode):
11700        * bindings/js/kjs_html.cpp:
11701        (WebCore::runtimeObjectImplementsCall):
11702        * bindings/objc/DOMInternal.mm:
11703        (-[WebScriptObject _initializeScriptDOMNodeImp]):
11704        * bridge/jni/jni_jsobject.mm:
11705        (createRootObject):
11706        * css/CSSStyleSelector.cpp:
11707        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
11708        * dom/Document.cpp:
11709        (WebCore::Document::nodeWillBeRemoved):
11710        (WebCore::Document::createHTMLEventListener):
11711        * dom/Element.cpp:
11712        (WebCore::Element::updateFocusAppearance):
11713        * dom/EventTarget.cpp:
11714        (WebCore::EventTarget::dispatchGenericEvent):
11715        * dom/XMLTokenizer.cpp:
11716        (WebCore::XMLTokenizer::startElementNs):
11717        * editing/DeleteButtonController.cpp:
11718        (WebCore::DeleteButtonController::respondToChangedSelection):
11719        (WebCore::DeleteButtonController::enable):
11720        (WebCore::DeleteButtonController::deleteTarget):
11721        * editing/EditCommand.cpp:
11722        (WebCore::EditCommand::EditCommand):
11723        * editing/Editor.cpp:
11724        (WebCore::Editor::selectionForCommand):
11725        (WebCore::Editor::canEdit):
11726        (WebCore::Editor::canEditRichly):
11727        (WebCore::Editor::canDHTMLCut):
11728        (WebCore::Editor::canDHTMLCopy):
11729        (WebCore::Editor::canCopy):
11730        (WebCore::Editor::canDelete):
11731        (WebCore::Editor::deleteWithDirection):
11732        (WebCore::Editor::deleteSelectionWithSmartDelete):
11733        (WebCore::Editor::replaceSelectionWithFragment):
11734        (WebCore::Editor::selectedRange):
11735        (WebCore::Editor::tryDHTMLCopy):
11736        (WebCore::Editor::tryDHTMLCut):
11737        (WebCore::Editor::fontForSelection):
11738        (WebCore::Editor::selectionUnorderedListState):
11739        (WebCore::Editor::selectionOrderedListState):
11740        (WebCore::Editor::increaseSelectionListLevel):
11741        (WebCore::Editor::increaseSelectionListLevelOrdered):
11742        (WebCore::Editor::increaseSelectionListLevelUnordered):
11743        (WebCore::Editor::decreaseSelectionListLevel):
11744        (WebCore::Editor::dispatchCPPEvent):
11745        (WebCore::Editor::applyStyle):
11746        (WebCore::Editor::applyParagraphStyle):
11747        (WebCore::Editor::applyStyleToSelection):
11748        (WebCore::Editor::applyParagraphStyleToSelection):
11749        (WebCore::Editor::selectionHasStyle):
11750        (WebCore::Editor::appliedEditing):
11751        (WebCore::Editor::unappliedEditing):
11752        (WebCore::Editor::reappliedEditing):
11753        (WebCore::Editor::insertLineBreak):
11754        (WebCore::Editor::insertParagraphSeparator):
11755        (WebCore::Editor::paste):
11756        (WebCore::Editor::selectComposition):
11757        (WebCore::Editor::confirmComposition):
11758        (WebCore::Editor::setComposition):
11759        (WebCore::Editor::advanceToNextMisspelling):
11760        (WebCore::Editor::isSelectionUngrammatical):
11761        (WebCore::Editor::guessesForUngrammaticalSelection):
11762        (WebCore::Editor::getCompositionSelection):
11763        (WebCore::Editor::transpose):
11764        * editing/EditorCommand.cpp:
11765        (WebCore::expandSelectionToGranularity):
11766        (WebCore::executeDeleteToMark):
11767        (WebCore::executeMoveBackward):
11768        (WebCore::executeMoveBackwardAndModifySelection):
11769        (WebCore::executeMoveDown):
11770        (WebCore::executeMoveDownAndModifySelection):
11771        (WebCore::executeMoveForward):
11772        (WebCore::executeMoveForwardAndModifySelection):
11773        (WebCore::executeMoveLeft):
11774        (WebCore::executeMoveLeftAndModifySelection):
11775        (WebCore::executeMovePageDown):
11776        (WebCore::executeMovePageDownAndModifySelection):
11777        (WebCore::executeMovePageUp):
11778        (WebCore::executeMovePageUpAndModifySelection):
11779        (WebCore::executeMoveRight):
11780        (WebCore::executeMoveRightAndModifySelection):
11781        (WebCore::executeMoveToBeginningOfDocument):
11782        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
11783        (WebCore::executeMoveToBeginningOfLine):
11784        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
11785        (WebCore::executeMoveToBeginningOfParagraph):
11786        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
11787        (WebCore::executeMoveToBeginningOfSentence):
11788        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
11789        (WebCore::executeMoveToEndOfDocument):
11790        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
11791        (WebCore::executeMoveToEndOfSentence):
11792        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
11793        (WebCore::executeMoveToEndOfLine):
11794        (WebCore::executeMoveToEndOfLineAndModifySelection):
11795        (WebCore::executeMoveToEndOfParagraph):
11796        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
11797        (WebCore::executeMoveParagraphBackwardAndModifySelection):
11798        (WebCore::executeMoveParagraphForwardAndModifySelection):
11799        (WebCore::executeMoveUp):
11800        (WebCore::executeMoveUpAndModifySelection):
11801        (WebCore::executeMoveWordBackward):
11802        (WebCore::executeMoveWordBackwardAndModifySelection):
11803        (WebCore::executeMoveWordForward):
11804        (WebCore::executeMoveWordForwardAndModifySelection):
11805        (WebCore::executeMoveWordLeft):
11806        (WebCore::executeMoveWordLeftAndModifySelection):
11807        (WebCore::executeMoveWordRight):
11808        (WebCore::executeMoveWordRightAndModifySelection):
11809        (WebCore::executeSelectAll):
11810        (WebCore::executeSelectToMark):
11811        (WebCore::executeSetMark):
11812        (WebCore::executeSwapWithMark):
11813        (WebCore::executeUnselect):
11814        (WebCore::enabledAnySelection):
11815        (WebCore::enabledAnySelectionAndMark):
11816        (WebCore::enabledInRichlyEditableText):
11817        (WebCore::enabledRangeInEditableText):
11818        (WebCore::enabledRangeInRichlyEditableText):
11819        * editing/ModifySelectionListLevel.cpp:
11820        (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
11821        (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
11822        * editing/RemoveFormatCommand.cpp:
11823        (WebCore::RemoveFormatCommand::doApply):
11824        * editing/SelectionController.cpp:
11825        (WebCore::SelectionController::setSelection):
11826        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
11827        * editing/TypingCommand.cpp:
11828        (WebCore::TypingCommand::deleteSelection):
11829        (WebCore::TypingCommand::insertText):
11830        (WebCore::TypingCommand::deleteKeyPressed):
11831        (WebCore::TypingCommand::forwardDeleteKeyPressed):
11832        * history/CachedPage.cpp:
11833        (WebCore::CachedPage::CachedPage):
11834        (WebCore::CachedPage::restore):
11835        * html/HTMLAnchorElement.cpp:
11836        (WebCore::HTMLAnchorElement::defaultEventHandler):
11837        (WebCore::HTMLAnchorElement::setActive):
11838        * html/HTMLInputElement.cpp:
11839        (WebCore::HTMLInputElement::defaultEventHandler):
11840        * html/HTMLPlugInElement.cpp:
11841        (WebCore::HTMLPlugInElement::createNPObject):
11842        * html/HTMLScriptElement.cpp:
11843        (WebCore::HTMLScriptElement::evaluateScript):
11844        * html/HTMLTokenizer.cpp:
11845        (WebCore::HTMLTokenizer::parseTag):
11846        (WebCore::HTMLTokenizer::processToken):
11847        * loader/FrameLoader.cpp:
11848        (WebCore::FrameLoader::executeScript):
11849        (WebCore::FrameLoader::clear):
11850        (WebCore::FrameLoader::userGestureHint):
11851        (WebCore::FrameLoader::open):
11852        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
11853        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
11854        * loader/archive/cf/LegacyWebArchive.cpp:
11855        (WebCore::LegacyWebArchive::createFromSelection):
11856        * page/AccessibilityRenderObject.cpp:
11857        (WebCore::AccessibilityRenderObject::selection):
11858        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
11859        (WebCore::AccessibilityRenderObject::isFocused):
11860        (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
11861        (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
11862        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
11863        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
11864        * page/ContextMenuController.cpp:
11865        (WebCore::ContextMenuController::contextMenuItemSelected):
11866        * page/DOMSelection.cpp:
11867        (WebCore::DOMSelection::anchorNode):
11868        (WebCore::DOMSelection::baseNode):
11869        (WebCore::DOMSelection::anchorOffset):
11870        (WebCore::DOMSelection::baseOffset):
11871        (WebCore::DOMSelection::focusNode):
11872        (WebCore::DOMSelection::extentNode):
11873        (WebCore::DOMSelection::focusOffset):
11874        (WebCore::DOMSelection::extentOffset):
11875        (WebCore::DOMSelection::isCollapsed):
11876        (WebCore::DOMSelection::type):
11877        (WebCore::DOMSelection::rangeCount):
11878        (WebCore::DOMSelection::collapse):
11879        (WebCore::DOMSelection::collapseToEnd):
11880        (WebCore::DOMSelection::collapseToStart):
11881        (WebCore::DOMSelection::empty):
11882        (WebCore::DOMSelection::setBaseAndExtent):
11883        (WebCore::DOMSelection::setPosition):
11884        (WebCore::DOMSelection::modify):
11885        (WebCore::DOMSelection::extend):
11886        (WebCore::DOMSelection::getRangeAt):
11887        (WebCore::DOMSelection::removeAllRanges):
11888        (WebCore::DOMSelection::addRange):
11889        (WebCore::DOMSelection::deleteFromDocument):
11890        (WebCore::DOMSelection::containsNode):
11891        (WebCore::DOMSelection::toString):
11892        * page/DragController.cpp:
11893        (WebCore::DragController::dragIsMove):
11894        (WebCore::DragController::tryDocumentDrag):
11895        (WebCore::setSelectionToDragCaret):
11896        (WebCore::DragController::concludeDrag):
11897        (WebCore::prepareClipboardForImageDrag):
11898        (WebCore::DragController::startDrag):
11899        * page/EventHandler.cpp:
11900        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
11901        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
11902        (WebCore::EventHandler::handleMousePressEventDoubleClick):
11903        (WebCore::EventHandler::handleMousePressEventTripleClick):
11904        (WebCore::EventHandler::handleMousePressEventSingleClick):
11905        (WebCore::EventHandler::handleMousePressEvent):
11906        (WebCore::EventHandler::updateSelectionForMouseDrag):
11907        (WebCore::EventHandler::handleMouseReleaseEvent):
11908        (WebCore::nodeIsNotBeingEdited):
11909        (WebCore::EventHandler::selectCursor):
11910        (WebCore::EventHandler::dispatchMouseEvent):
11911        (WebCore::EventHandler::sendContextMenuEvent):
11912        (WebCore::EventHandler::handleKeyboardSelectionMovement):
11913        (WebCore::EventHandler::handleDrag):
11914        * page/FocusController.cpp:
11915        (WebCore::FocusController::setFocusedFrame):
11916        (WebCore::clearSelectionIfNeeded):
11917        (WebCore::FocusController::setActive):
11918        * page/Frame.cpp:
11919        (WebCore::Frame::~Frame):
11920        (WebCore::Frame::script):
11921        (WebCore::Frame::setDocument):
11922        (WebCore::Frame::selectedText):
11923        (WebCore::Frame::selection):
11924        (WebCore::Frame::animation):
11925        (WebCore::Frame::notifyRendererOfSelectionChange):
11926        (WebCore::Frame::invalidateSelection):
11927        (WebCore::Frame::clearCaretRectIfNeeded):
11928        (WebCore::Frame::setFocusedNodeIfNeeded):
11929        (WebCore::Frame::selectionLayoutChanged):
11930        (WebCore::Frame::caretBlinkTimerFired):
11931        (WebCore::Frame::paintCaret):
11932        (WebCore::Frame::shouldChangeSelection):
11933        (WebCore::Frame::updateSecureKeyboardEntryIfActive):
11934        (WebCore::Frame::computeAndSetTypingStyle):
11935        (WebCore::Frame::selectionComputedStyle):
11936        (WebCore::Frame::bindingRootObject):
11937        (WebCore::Frame::windowScriptNPObject):
11938        (WebCore::Frame::clearScriptController):
11939        (WebCore::Frame::selectionTextRects):
11940        (WebCore::Frame::currentForm):
11941        (WebCore::Frame::revealSelection):
11942        (WebCore::Frame::revealCaret):
11943        (WebCore::Frame::clearTimers):
11944        (WebCore::Frame::styleForSelectionStart):
11945        (WebCore::Frame::setSelectionFromNone):
11946        (WebCore::Frame::findString):
11947        (WebCore::Frame::pageDestroyed):
11948        (WebCore::Frame::respondToChangedSelection):
11949        (WebCore::FramePrivate::FramePrivate):
11950        * page/Frame.h:
11951        * page/FramePrivate.h:
11952        * page/InspectorController.cpp:
11953        (WebCore::canPassNodeToJavaScript):
11954        (WebCore::InspectorController::windowScriptObjectAvailable):
11955        * page/JavaScriptDebugServer.cpp:
11956        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
11957        * page/Page.cpp:
11958        (WebCore::Page::findString):
11959        (WebCore::Page::selection):
11960        (WebCore::Page::setDebugger):
11961        * page/mac/FrameMac.mm:
11962        (WebCore::Frame::baseWritingDirectionForSelectionStart):
11963        (WebCore::Frame::dragImageForSelection):
11964        (WebCore::Frame::createScriptInstanceForWidget):
11965        (WebCore::Frame::windowScriptObject):
11966        * page/win/FrameWin.cpp:
11967        (WebCore::Frame::dragImageForSelection):
11968        * platform/ContextMenu.cpp:
11969        (WebCore::selectionContainsPossibleWord):
11970        (WebCore::ContextMenu::populate):
11971        (WebCore::ContextMenu::checkOrEnableIfNeeded):
11972        * plugins/PluginView.cpp:
11973        (WebCore::PluginView::performRequest):
11974        (WebCore::PluginView::bindingInstance):
11975        * rendering/HitTestResult.cpp:
11976        (WebCore::HitTestResult::isSelected):
11977        * rendering/RenderBlock.cpp:
11978        (WebCore::RenderBlock::paintCaret):
11979        * rendering/RenderListBox.cpp:
11980        (WebCore::RenderListBox::paintItemForeground):
11981        (WebCore::RenderListBox::paintItemBackground):
11982        * rendering/RenderObject.cpp:
11983        (WebCore::RenderObject::selectionBackgroundColor):
11984        (WebCore::RenderObject::selectionForegroundColor):
11985        (WebCore::RenderObject::setAnimatableStyle):
11986        (WebCore::RenderObject::destroy):
11987        (WebCore::RenderObject::animation):
11988        * rendering/RenderObject.h:
11989        * rendering/RenderTextControl.cpp:
11990        (WebCore::RenderTextControl::selectionStart):
11991        (WebCore::RenderTextControl::selectionEnd):
11992        (WebCore::RenderTextControl::setSelectionRange):
11993        (WebCore::RenderTextControl::selectionChanged):
11994        (WebCore::RenderTextControl::capsLockStateMayHaveChanged):
11995        * rendering/RenderTheme.cpp:
11996        (WebCore::RenderTheme::isFocused):
11997        * rendering/RenderTreeAsText.cpp:
11998        (WebCore::writeSelection):
11999        * rendering/RenderWidget.cpp:
12000        (WebCore::RenderWidget::destroy):
12001        * svg/SVGDocumentExtensions.cpp:
12002        (WebCore::SVGDocumentExtensions::createSVGEventListener):
12003        * svg/SVGSVGElement.cpp:
12004        (WebCore::SVGSVGElement::deselectAll):
12005        * svg/SVGTextContentElement.cpp:
12006        (WebCore::SVGTextContentElement::selectSubString):
12007
120082008-06-15  Sam Weinig  <sam@webkit.org>
12009
12010        Reviewed by Darin Adler.
12011
12012        Remove outdated comment.
12013
12014        * bindings/js/ScriptController.h:
12015
120162008-06-15  Darin Adler  <darin@apple.com>
12017
12018        - try to fix Qt build
12019
12020        * dom/XMLTokenizer.cpp: Use create instead of new.
12021
12022        - rename KJS::List to KJS::ArgList
12023
12024        * bindings/js/JSAudioConstructor.cpp:
12025        (WebCore::JSAudioConstructor::construct):
12026        * bindings/js/JSAudioConstructor.h:
12027        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
12028        (WebCore::JSCanvasRenderingContext2D::setFillColor):
12029        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
12030        (WebCore::JSCanvasRenderingContext2D::strokeRect):
12031        (WebCore::JSCanvasRenderingContext2D::drawImage):
12032        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
12033        (WebCore::JSCanvasRenderingContext2D::setShadow):
12034        (WebCore::JSCanvasRenderingContext2D::createPattern):
12035        (WebCore::JSCanvasRenderingContext2D::putImageData):
12036        * bindings/js/JSClipboardCustom.cpp:
12037        (WebCore::JSClipboard::types):
12038        (WebCore::JSClipboard::clearData):
12039        (WebCore::JSClipboard::getData):
12040        (WebCore::JSClipboard::setData):
12041        (WebCore::JSClipboard::setDragImage):
12042        * bindings/js/JSConsoleCustom.cpp:
12043        (WebCore::JSConsole::debug):
12044        (WebCore::JSConsole::error):
12045        (WebCore::JSConsole::info):
12046        (WebCore::JSConsole::log):
12047        (WebCore::JSConsole::warn):
12048        (WebCore::JSConsole::assertCondition):
12049        (WebCore::JSConsole::profile):
12050        (WebCore::JSConsole::profileEnd):
12051        * bindings/js/JSCustomSQLStatementCallback.cpp:
12052        (WebCore::JSCustomSQLStatementCallback::handleEvent):
12053        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12054        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
12055        * bindings/js/JSCustomSQLTransactionCallback.cpp:
12056        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
12057        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12058        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
12059        * bindings/js/JSCustomVoidCallback.cpp:
12060        (WebCore::JSCustomVoidCallback::handleEvent):
12061        * bindings/js/JSCustomXPathNSResolver.cpp:
12062        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
12063        * bindings/js/JSDOMApplicationCacheCustom.cpp:
12064        (WebCore::JSDOMApplicationCache::add):
12065        (WebCore::JSDOMApplicationCache::remove):
12066        (WebCore::JSDOMApplicationCache::addEventListener):
12067        (WebCore::JSDOMApplicationCache::removeEventListener):
12068        (WebCore::JSDOMApplicationCache::dispatchEvent):
12069        * bindings/js/JSDOMWindowBase.cpp:
12070        (WebCore::windowProtoFuncAToB):
12071        (WebCore::windowProtoFuncBToA):
12072        (WebCore::windowProtoFuncOpen):
12073        (WebCore::windowProtoFuncSetTimeout):
12074        (WebCore::windowProtoFuncClearTimeout):
12075        (WebCore::windowProtoFuncSetInterval):
12076        (WebCore::windowProtoFuncAddEventListener):
12077        (WebCore::windowProtoFuncRemoveEventListener):
12078        (WebCore::windowProtoFuncShowModalDialog):
12079        (WebCore::windowProtoFuncNotImplemented):
12080        (WebCore::JSDOMWindowBase::installTimeout):
12081        * bindings/js/JSDOMWindowBase.h:
12082        * bindings/js/JSDOMWindowCustom.cpp:
12083        (WebCore::JSDOMWindow::postMessage):
12084        * bindings/js/JSDatabaseCustom.cpp:
12085        (WebCore::JSDatabase::changeVersion):
12086        (WebCore::JSDatabase::transaction):
12087        * bindings/js/JSElementCustom.cpp:
12088        (WebCore::JSElement::setAttribute):
12089        (WebCore::JSElement::setAttributeNode):
12090        (WebCore::JSElement::setAttributeNS):
12091        (WebCore::JSElement::setAttributeNodeNS):
12092        * bindings/js/JSEventTargetBase.cpp:
12093        (WebCore::jsEventTargetAddEventListener):
12094        (WebCore::jsEventTargetRemoveEventListener):
12095        (WebCore::jsEventTargetDispatchEvent):
12096        * bindings/js/JSEventTargetBase.h:
12097        * bindings/js/JSHTMLAppletElementCustom.cpp:
12098        (WebCore::JSHTMLAppletElement::callAsFunction):
12099        * bindings/js/JSHTMLCollectionCustom.cpp:
12100        (WebCore::JSHTMLCollection::callAsFunction):
12101        (WebCore::JSHTMLCollection::item):
12102        (WebCore::JSHTMLCollection::namedItem):
12103        * bindings/js/JSHTMLDocumentCustom.cpp:
12104        (WebCore::JSHTMLDocument::open):
12105        (WebCore::writeHelper):
12106        (WebCore::JSHTMLDocument::write):
12107        (WebCore::JSHTMLDocument::writeln):
12108        * bindings/js/JSHTMLEmbedElementCustom.cpp:
12109        (WebCore::JSHTMLEmbedElement::callAsFunction):
12110        * bindings/js/JSHTMLInputElementBase.cpp:
12111        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
12112        * bindings/js/JSHTMLInputElementBase.h:
12113        * bindings/js/JSHTMLObjectElementCustom.cpp:
12114        (WebCore::JSHTMLObjectElement::callAsFunction):
12115        * bindings/js/JSHTMLOptionElementConstructor.cpp:
12116        (WebCore::JSHTMLOptionElementConstructor::construct):
12117        * bindings/js/JSHTMLOptionElementConstructor.h:
12118        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
12119        (WebCore::JSHTMLOptionsCollection::add):
12120        (WebCore::JSHTMLOptionsCollection::remove):
12121        * bindings/js/JSHTMLSelectElementCustom.cpp:
12122        (WebCore::JSHTMLSelectElement::remove):
12123        * bindings/js/JSImageConstructor.cpp:
12124        (WebCore::JSImageConstructor::construct):
12125        * bindings/js/JSImageConstructor.h:
12126        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12127        (WebCore::JSJavaScriptCallFrame::evaluate):
12128        (WebCore::JSJavaScriptCallFrame::scopeChain):
12129        * bindings/js/JSLocationCustom.cpp:
12130        (WebCore::JSLocation::replace):
12131        (WebCore::JSLocation::reload):
12132        (WebCore::JSLocation::assign):
12133        (WebCore::JSLocation::toString):
12134        * bindings/js/JSNodeCustom.cpp:
12135        (WebCore::JSNode::insertBefore):
12136        (WebCore::JSNode::replaceChild):
12137        (WebCore::JSNode::removeChild):
12138        (WebCore::JSNode::appendChild):
12139        * bindings/js/JSNodeFilterCondition.cpp:
12140        (WebCore::JSNodeFilterCondition::acceptNode):
12141        * bindings/js/JSNodeFilterCustom.cpp:
12142        (WebCore::JSNodeFilter::acceptNode):
12143        * bindings/js/JSNodeIteratorCustom.cpp:
12144        (WebCore::JSNodeIterator::nextNode):
12145        (WebCore::JSNodeIterator::previousNode):
12146        * bindings/js/JSNodeListCustom.cpp:
12147        (WebCore::JSNodeList::callAsFunction):
12148        * bindings/js/JSQuarantinedObjectWrapper.cpp:
12149        (WebCore::JSQuarantinedObjectWrapper::construct):
12150        (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
12151        * bindings/js/JSQuarantinedObjectWrapper.h:
12152        * bindings/js/JSSQLResultSetRowListCustom.cpp:
12153        (WebCore::JSSQLResultSetRowList::item):
12154        * bindings/js/JSSQLTransactionCustom.cpp:
12155        (WebCore::JSSQLTransaction::executeSql):
12156        * bindings/js/JSSVGMatrixCustom.cpp:
12157        (WebCore::JSSVGMatrix::multiply):
12158        (WebCore::JSSVGMatrix::inverse):
12159        (WebCore::JSSVGMatrix::translate):
12160        (WebCore::JSSVGMatrix::scale):
12161        (WebCore::JSSVGMatrix::scaleNonUniform):
12162        (WebCore::JSSVGMatrix::rotate):
12163        (WebCore::JSSVGMatrix::rotateFromVector):
12164        (WebCore::JSSVGMatrix::flipX):
12165        (WebCore::JSSVGMatrix::flipY):
12166        (WebCore::JSSVGMatrix::skewX):
12167        (WebCore::JSSVGMatrix::skewY):
12168        * bindings/js/JSSVGPathSegListCustom.cpp:
12169        (WebCore::JSSVGPathSegList::clear):
12170        (WebCore::JSSVGPathSegList::initialize):
12171        (WebCore::JSSVGPathSegList::getItem):
12172        (WebCore::JSSVGPathSegList::insertItemBefore):
12173        (WebCore::JSSVGPathSegList::replaceItem):
12174        (WebCore::JSSVGPathSegList::removeItem):
12175        (WebCore::JSSVGPathSegList::appendItem):
12176        * bindings/js/JSSVGPointListCustom.cpp:
12177        (WebCore::JSSVGPointList::clear):
12178        (WebCore::JSSVGPointList::initialize):
12179        (WebCore::JSSVGPointList::getItem):
12180        (WebCore::JSSVGPointList::insertItemBefore):
12181        (WebCore::JSSVGPointList::replaceItem):
12182        (WebCore::JSSVGPointList::removeItem):
12183        (WebCore::JSSVGPointList::appendItem):
12184        * bindings/js/JSSVGTransformListCustom.cpp:
12185        (WebCore::JSSVGTransformList::clear):
12186        (WebCore::JSSVGTransformList::initialize):
12187        (WebCore::JSSVGTransformList::getItem):
12188        (WebCore::JSSVGTransformList::insertItemBefore):
12189        (WebCore::JSSVGTransformList::replaceItem):
12190        (WebCore::JSSVGTransformList::removeItem):
12191        (WebCore::JSSVGTransformList::appendItem):
12192        * bindings/js/JSTreeWalkerCustom.cpp:
12193        (WebCore::JSTreeWalker::parentNode):
12194        (WebCore::JSTreeWalker::firstChild):
12195        (WebCore::JSTreeWalker::lastChild):
12196        (WebCore::JSTreeWalker::nextSibling):
12197        (WebCore::JSTreeWalker::previousSibling):
12198        (WebCore::JSTreeWalker::previousNode):
12199        (WebCore::JSTreeWalker::nextNode):
12200        * bindings/js/JSXMLHttpRequestConstructor.cpp:
12201        (WebCore::JSXMLHttpRequestConstructor::construct):
12202        * bindings/js/JSXMLHttpRequestConstructor.h:
12203        * bindings/js/JSXMLHttpRequestCustom.cpp:
12204        (WebCore::JSXMLHttpRequest::open):
12205        (WebCore::JSXMLHttpRequest::setRequestHeader):
12206        (WebCore::JSXMLHttpRequest::send):
12207        (WebCore::JSXMLHttpRequest::getResponseHeader):
12208        (WebCore::JSXMLHttpRequest::overrideMimeType):
12209        (WebCore::JSXMLHttpRequest::addEventListener):
12210        (WebCore::JSXMLHttpRequest::removeEventListener):
12211        (WebCore::JSXMLHttpRequest::dispatchEvent):
12212        * bindings/js/JSXSLTProcessorConstructor.cpp:
12213        (WebCore::JSXSLTProcessorConstructor::construct):
12214        * bindings/js/JSXSLTProcessorConstructor.h:
12215        * bindings/js/JSXSLTProcessorCustom.cpp:
12216        (WebCore::JSXSLTProcessor::importStylesheet):
12217        (WebCore::JSXSLTProcessor::transformToFragment):
12218        (WebCore::JSXSLTProcessor::transformToDocument):
12219        (WebCore::JSXSLTProcessor::setParameter):
12220        (WebCore::JSXSLTProcessor::getParameter):
12221        (WebCore::JSXSLTProcessor::removeParameter):
12222        * bindings/js/ScheduledAction.cpp:
12223        (WebCore::ScheduledAction::ScheduledAction):
12224        (WebCore::ScheduledAction::execute):
12225        * bindings/js/ScheduledAction.h:
12226        * bindings/js/kjs_events.cpp:
12227        (WebCore::JSAbstractEventListener::handleEvent):
12228        (WebCore::JSLazyEventListener::parseCode):
12229        * bindings/js/kjs_html.cpp:
12230        (WebCore::runtimeObjectCallAsFunction):
12231        * bindings/js/kjs_html.h:
12232        * bindings/objc/WebScriptObject.mm:
12233        (getListFromNSArray):
12234        (-[WebScriptObject callWebScriptMethod:withArguments:]):
12235        * bindings/scripts/CodeGeneratorJS.pm:
12236        * bridge/NP_jsobject.cpp:
12237        (getListFromVariantArgs):
12238        (_NPN_InvokeDefault):
12239        (_NPN_Invoke):
12240        * bridge/c/c_instance.cpp:
12241        (KJS::Bindings::CInstance::invokeMethod):
12242        (KJS::Bindings::CInstance::invokeDefaultMethod):
12243        * bridge/c/c_instance.h:
12244        * bridge/jni/jni_instance.cpp:
12245        (JavaInstance::invokeMethod):
12246        * bridge/jni/jni_instance.h:
12247        * bridge/jni/jni_jsobject.h:
12248        * bridge/jni/jni_jsobject.mm:
12249        (JavaJSObject::call):
12250        (JavaJSObject::getListFromJArray):
12251        * bridge/objc/objc_instance.h:
12252        * bridge/objc/objc_instance.mm:
12253        (ObjcInstance::invokeMethod):
12254        (ObjcInstance::invokeDefaultMethod):
12255        * bridge/objc/objc_runtime.h:
12256        * bridge/objc/objc_runtime.mm:
12257        (ObjcFallbackObjectImp::callAsFunction):
12258        * bridge/qt/qt_instance.cpp:
12259        (KJS::Bindings::QtRuntimeObjectImp::construct):
12260        (KJS::Bindings::QtInstance::invokeMethod):
12261        (KJS::Bindings::QtInstance::invokeDefaultMethod):
12262        * bridge/qt/qt_instance.h:
12263        * bridge/qt/qt_runtime.cpp:
12264        (KJS::Bindings::convertQVariantToValue):
12265        (KJS::Bindings::findMethodIndex):
12266        (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
12267        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
12268        (KJS::Bindings::QtConnectionObject::execute):
12269        * bridge/qt/qt_runtime.h:
12270        * bridge/runtime.h:
12271        (KJS::Bindings::Instance::invokeDefaultMethod):
12272        * bridge/runtime_method.cpp:
12273        (RuntimeMethod::callAsFunction):
12274        * bridge/runtime_method.h:
12275        * bridge/runtime_object.cpp:
12276        (RuntimeObjectImp::callAsFunction):
12277        * bridge/runtime_object.h:
12278        * page/Console.cpp:
12279        (WebCore::printToStandardOut):
12280        (WebCore::Console::debug):
12281        (WebCore::Console::error):
12282        (WebCore::Console::info):
12283        (WebCore::Console::log):
12284        (WebCore::Console::assertCondition):
12285        (WebCore::Console::profile):
12286        (WebCore::Console::profileEnd):
12287        (WebCore::Console::warn):
12288        * page/Console.h:
12289        * page/InspectorController.cpp:
12290        (WebCore::ConsoleMessage::ConsoleMessage):
12291        (WebCore::InspectorController::addMessageToConsole):
12292        * page/InspectorController.h:
12293
122942008-06-15  Darin Adler  <darin@apple.com>
12295
12296        * platform/graphics/gtk/VideoSinkGStreamer.h: Undo a bogus rename done by the script.
12297
122982008-06-15  Adam Barth  <abarth@webkit.org>
12299
12300        Reviewed by Sam Weinig.
12301
12302        Fix our implementation of Document.documentURI (DOM Core Level 3).
12303
12304        Tests: fast/dom/documenturi-affects-relative-paths.html
12305               fast/dom/documenturi-assigned-junk-implies-baseuri-null.html
12306               fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html
12307               fast/dom/documenturi-can-hold-arbitrary-string.html
12308               fast/dom/documenturi-loses-to-base-tag.html
12309               fast/dom/documenturi-not-affected-by-base-tag.html
12310
12311        * dom/Document.cpp:
12312        (WebCore::Document::setDocumentURI):
12313        (WebCore::Document::setURL):
12314        (WebCore::Document::updateBaseURL):
12315        * dom/Document.h:
12316        * page/AccessibilityRenderObject.cpp:
12317        (WebCore::AccessibilityRenderObject::url):
12318
123192008-06-15  Adam Barth  <abarth@webkit.org>
12320
12321        Reviewed by Sam Weinig.
12322
12323        Refactor our handling of Document::m_baseURL in preparation for
12324        correcting our implementation of Document.documentURI.
12325
12326        * dom/Document.cpp:
12327        (WebCore::Document::documentURI):
12328        (WebCore::Document::open):
12329        (WebCore::Document::setURL):
12330        (WebCore::Document::setBaseElementURL):
12331        (WebCore::Document::updateBaseURL):
12332        (WebCore::Document::elementSheet):
12333        (WebCore::Document::mappedElementSheet):
12334        (WebCore::Document::completeURL):
12335        * dom/Document.h:
12336        (WebCore::Document::url):
12337        (WebCore::Document::baseURL):
12338        * html/HTMLBaseElement.cpp:
12339        (WebCore::HTMLBaseElement::removedFromDocument):
12340        (WebCore::HTMLBaseElement::process):
12341        * loader/FrameLoader.cpp:
12342        (WebCore::FrameLoader::begin):
12343        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
12344        * xml/XSLTProcessor.cpp:
12345        (WebCore::XSLTProcessor::createDocumentFromSource):
12346
123472008-06-15  Darin Adler  <darin@apple.com>
12348
12349        - new names for more JavaScriptCore files
12350
12351        * ForwardingHeaders/kjs/ArrayPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/array_object.h.
12352        * ForwardingHeaders/kjs/BooleanObject.h: Copied from WebCore/ForwardingHeaders/kjs/bool_object.h.
12353        * ForwardingHeaders/kjs/FunctionPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/function_object.h.
12354        * ForwardingHeaders/kjs/JSArray.h: Copied from WebCore/ForwardingHeaders/kjs/array_instance.h.
12355        * ForwardingHeaders/kjs/PropertyMap.h: Copied from WebCore/ForwardingHeaders/kjs/property_map.h.
12356        * ForwardingHeaders/kjs/array_instance.h: Removed.
12357        * ForwardingHeaders/kjs/array_object.h: Removed.
12358        * ForwardingHeaders/kjs/bool_object.h: Removed.
12359        * ForwardingHeaders/kjs/function_object.h: Removed.
12360        * ForwardingHeaders/kjs/property_map.h: Removed.
12361        * WebCore.vcproj/WebCore.vcproj:
12362        * bindings/js/JSClipboardCustom.cpp:
12363        * bindings/js/JSDatabaseCustom.cpp:
12364        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12365        * bindings/js/kjs_events.cpp:
12366        * bridge/jni/jni_utility.cpp:
12367        * bridge/qt/qt_runtime.cpp:
12368        * bridge/runtime_array.cpp:
12369
123702008-06-15  Darin Adler  <darin@apple.com>
12371
12372        - new names for a few key JavaScriptCore files
12373
12374        * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h.
12375        * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h.
12376        * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h.
12377        * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h.
12378        * ForwardingHeaders/kjs/function.h: Removed.
12379        * ForwardingHeaders/kjs/internal.h: Removed.
12380        * ForwardingHeaders/kjs/object.h: Removed.
12381        * ForwardingHeaders/kjs/value.h: Removed.
12382        * WebCore.vcproj/WebCore.vcproj:
12383        * bindings/js/JSCustomSQLStatementCallback.h:
12384        * bindings/js/JSCustomSQLStatementErrorCallback.h:
12385        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
12386        * bindings/js/JSCustomVoidCallback.h:
12387        * bindings/js/JSDOMBinding.h:
12388        * bindings/js/JSDOMWindowCustom.cpp:
12389        * bindings/js/JSDOMWindowShell.cpp:
12390        * bindings/js/JSQuarantinedObjectWrapper.h:
12391        * bridge/objc/objc_runtime.h:
12392        * bridge/objc/objc_utility.h:
12393        * bridge/qt/qt_runtime.cpp:
12394        * bridge/runtime.h:
12395        * bridge/runtime_array.h:
12396        * bridge/runtime_method.h:
12397        * bridge/runtime_object.h:
12398        * bridge/testbindings.cpp:
12399        * bridge/testbindings.mm:
12400        * bridge/testqtbindings.cpp:
12401        * loader/FrameLoader.cpp:
12402        * page/JavaScriptCallFrame.cpp:
12403        * page/JavaScriptProfile.cpp:
12404        * page/JavaScriptProfileNode.cpp:
12405        * platform/graphics/gtk/VideoSinkGStreamer.h:
12406        * plugins/PluginView.cpp:
12407        * plugins/gtk/PluginViewGtk.cpp:
12408        * plugins/qt/PluginViewQt.cpp:
12409        * plugins/win/PluginViewWin.cpp:
12410
124112008-06-15  Darin Adler  <darin@apple.com>
12412
12413        Rubber stamped by Sam.
12414
12415        - cut down on confusing uses of "Object" and "Imp" in
12416          JavaScriptCore class names
12417
12418        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12419        (WebCore::JSCSSStyleDeclaration::nameGetter):
12420        * bridge/qt/qt_runtime.cpp:
12421        (KJS::Bindings::valueRealType):
12422        (KJS::Bindings::convertValueToQVariant):
12423        (KJS::Bindings::convertQVariantToValue):
12424        (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
12425        * bridge/qt/qt_runtime.h:
12426        * bridge/runtime_method.cpp:
12427        (RuntimeMethod::RuntimeMethod):
12428        (RuntimeMethod::getOwnPropertySlot):
12429        * bridge/runtime_method.h:
12430
124312008-06-15  Dan Bernstein  <mitz@apple.com>
12432
12433        Reviewed by Darin Adler.
12434
12435        - fix <rdar://problem/5825683> Three slash URLs are modified by WebKit
12436
12437        Test: fast/loader/url-parse-1.html
12438
12439        URIs in which the scheme is followed by "://" are ambiguous, because
12440        "//" can be either the beginning of a net_path or the beginning of an
12441        abs_path whose first path segment is empty. In the case of ":///", the
12442        net_path interpretation is invalid, because the authority (the part
12443        between the second and third slashes) cannot be empty. However, for
12444        historical reasons, this is allowed in http:, https: and file: URLs,
12445        in which an empty authority means the local host.
12446
12447        * platform/KURL.cpp:
12448        (WebCore::KURL::parse): Changed to interpret URLs in which the scheme
12449        is followed by ":///" as abs_path-only URLs, unless the scheme is http,
12450        https or file.
12451
124522008-06-15  Darin Adler  <darin@apple.com>
12453
12454        Rubber stamped by Sam.
12455
12456        - use JS prefix and simpler names for basic JavaScriptCore types,
12457          to complement JSValue and JSObject
12458
12459        * bindings/js/JSNavigatorCustom.cpp:
12460        (WebCore::needsYouTubeQuirk):
12461        * bindings/js/kjs_events.cpp:
12462        (WebCore::JSLazyEventListener::parseCode):
12463        * bridge/jni/jni_utility.cpp:
12464        (KJS::Bindings::convertArrayInstanceToJavaArray):
12465        (KJS::Bindings::convertValueToJValue):
12466        * bridge/qt/qt_runtime.cpp:
12467        (KJS::Bindings::valueRealType):
12468        (KJS::Bindings::convertValueToQVariant):
12469        (KJS::Bindings::QtConnectionObject::execute):
12470        * bridge/runtime_array.cpp:
12471
124722008-06-15  Darin Adler  <darin@apple.com>
12473
12474        Reviewed by Mitz.
12475
12476        - fix https://bugs.webkit.org/show_bug.cgi?id=19556
12477          REGRESSION (r34544): Crash while visiting bigglook.com
12478
12479        This fix eliminates the crash, but the logic remaining seems a little strange.
12480        We create an IconRecord and then immediately destroy it. Worth taking another
12481        look at this later.
12482
12483        * loader/icon/IconDatabase.cpp:
12484        (WebCore::IconDatabase::setIconDataForIconURL): Added code to remove the icon
12485        just as in the other cases where we might be holding the single reference to it.
12486        (WebCore::IconDatabase::setIconURLForPageURL): Fixed comment typo.
12487        (WebCore::IconDatabase::writeToDatabase): Removed unused local variable.
12488
124892008-06-15  Darin Adler  <darin@apple.com>
12490
12491        Reviewed and tweaked by Sam Weinig.
12492
12493        Fix for <rdar://problem/5908591>
12494        https://bugs.webkit.org/show_bug.cgi?id=18743
12495
12496        Makes DOMImplementation per-document.
12497
12498        Test: http/tests/security/cross-frame-access-DOMImplementation.html
12499
12500        * bindings/objc/DOMImplementationFront.cpp:
12501        (WebCore::DOMImplementationFront::getInterface):
12502        * bindings/objc/DOMImplementationFront.h:
12503        * dom/DOMImplementation.cpp:
12504        (WebCore::DOMImplementation::hasFeature):
12505        (WebCore::DOMImplementation::createDocumentType):
12506        (WebCore::DOMImplementation::getInterface):
12507        (WebCore::DOMImplementation::createDocument):
12508        (WebCore::DOMImplementation::createHTMLDocument):
12509        * dom/DOMImplementation.h:
12510        (WebCore::DOMImplementation::create):
12511        * dom/Document.cpp:
12512        (WebCore::Document::Document):
12513        (WebCore::Document::implementation):
12514        * dom/Document.h:
12515        (WebCore::Document::create):
12516        (WebCore::Document::createXHTML):
12517        * dom/DocumentType.cpp:
12518        * dom/DocumentType.h:
12519        (WebCore::DocumentType::create):
12520        (WebCore::DocumentType::entities):
12521        (WebCore::DocumentType::notations):
12522        (WebCore::DocumentType::name):
12523        (WebCore::DocumentType::publicId):
12524        (WebCore::DocumentType::systemId):
12525        (WebCore::DocumentType::internalSubset):
12526        * dom/Node.cpp:
12527        (WebCore::Node::isSupported):
12528        * dom/XMLTokenizer.cpp:
12529        (WebCore::XMLTokenizer::internalSubset):
12530        * html/HTMLDocument.cpp:
12531        (WebCore::HTMLDocument::HTMLDocument):
12532        * html/HTMLDocument.h:
12533        (WebCore::HTMLDocument::create):
12534        (WebCore::HTMLDocument::isHTMLDocument):
12535        * html/HTMLParser.cpp:
12536        (WebCore::HTMLParser::parseDoctypeToken):
12537        * html/HTMLViewSourceDocument.cpp:
12538        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
12539        (WebCore::HTMLViewSourceDocument::createTokenizer):
12540        * html/HTMLViewSourceDocument.h:
12541        (WebCore::HTMLViewSourceDocument::create):
12542        * loader/CachedFont.cpp:
12543        (WebCore::CachedFont::ensureSVGFontData):
12544        * loader/FTPDirectoryDocument.cpp:
12545        (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
12546        * loader/FTPDirectoryDocument.h:
12547        (WebCore::FTPDirectoryDocument::create):
12548        * loader/FrameLoader.cpp:
12549        (WebCore::FrameLoader::begin):
12550        * loader/ImageDocument.cpp:
12551        (WebCore::ImageDocument::ImageDocument):
12552        * loader/ImageDocument.h:
12553        (WebCore::ImageDocument::create):
12554        (WebCore::ImageDocument::isImageDocument):
12555        * loader/PluginDocument.cpp:
12556        (WebCore::PluginDocument::PluginDocument):
12557        * loader/PluginDocument.h:
12558        (WebCore::PluginDocument::create):
12559        (WebCore::PluginDocument::isPluginDocument):
12560        * loader/TextDocument.cpp:
12561        (WebCore::TextTokenizer::checkBuffer):
12562        (WebCore::TextDocument::TextDocument):
12563        (WebCore::createTextTokenizer):
12564        * loader/TextDocument.h:
12565        (WebCore::TextDocument::create):
12566        * svg/SVGDocument.cpp:
12567        (WebCore::SVGDocument::SVGDocument):
12568        * svg/SVGDocument.h:
12569        (WebCore::SVGDocument::create):
12570        * svg/SVGElement.cpp:
12571        (WebCore::SVGElement::isSupported):
12572        * svg/SVGTests.cpp:
12573        (WebCore::SVGTests::isValid):
12574        * xml/DOMParser.cpp:
12575        (WebCore::DOMParser::parseFromString):
12576
125772008-06-15  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
12578
12579        Reviewed by Maciej.
12580
12581        Mac build fix.
12582
12583        * WebCore.base.exp:
12584        * WebCore.order:
12585
125862008-06-14  Darin Adler  <darin@apple.com>
12587
12588        Rubber stamped by Sam.
12589
12590        - new names for kjs_binding.h and kjs_proxy.h
12591
12592        * GNUmakefile.am:
12593        * WebCore.pro:
12594        * WebCore.vcproj/WebCore.vcproj:
12595        * WebCore.xcodeproj/project.pbxproj:
12596        * WebCoreSources.bkl:
12597        * bindings/js/JSAudioConstructor.h:
12598        * bindings/js/JSCustomSQLStatementCallback.cpp:
12599        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12600        * bindings/js/JSCustomSQLTransactionCallback.cpp:
12601        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12602        * bindings/js/JSCustomVoidCallback.cpp:
12603        * bindings/js/JSCustomXPathNSResolver.cpp:
12604        * bindings/js/JSDOMBinding.cpp: Copied from WebCore/bindings/js/kjs_binding.cpp.
12605        * bindings/js/JSDOMBinding.h: Copied from WebCore/bindings/js/kjs_binding.h.
12606        * bindings/js/JSDOMWindowBase.cpp:
12607        * bindings/js/JSDOMWindowBase.h:
12608        * bindings/js/JSDOMWindowCustom.cpp:
12609        * bindings/js/JSDOMWindowShell.cpp:
12610        * bindings/js/JSDOMWindowShell.h:
12611        * bindings/js/JSDocumentCustom.cpp:
12612        * bindings/js/JSHTMLCollectionCustom.cpp:
12613        * bindings/js/JSHTMLFrameElementCustom.cpp:
12614        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
12615        * bindings/js/JSHTMLIFrameElementCustom.cpp:
12616        * bindings/js/JSHTMLInputElementBase.h:
12617        * bindings/js/JSHTMLOptionElementConstructor.h:
12618        * bindings/js/JSImageConstructor.h:
12619        * bindings/js/JSLocationCustom.cpp:
12620        * bindings/js/JSNamedNodeMapCustom.cpp:
12621        * bindings/js/JSNamedNodesCollection.h:
12622        * bindings/js/JSNodeFilterCondition.cpp:
12623        * bindings/js/JSNodeFilterCustom.cpp:
12624        * bindings/js/JSRGBColor.h:
12625        * bindings/js/JSSVGPathSegCustom.cpp:
12626        * bindings/js/JSXMLHttpRequestConstructor.h:
12627        * bindings/js/JSXSLTProcessorConstructor.h:
12628        * bindings/js/JSXSLTProcessorCustom.cpp:
12629        * bindings/js/ScheduledAction.cpp:
12630        (WebCore::ScheduledAction::execute):
12631        * bindings/js/ScriptController.cpp: Copied from WebCore/bindings/js/kjs_proxy.cpp.
12632        * bindings/js/ScriptController.h: Copied from WebCore/bindings/js/kjs_proxy.h.
12633        * bindings/js/kjs_binding.cpp: Removed.
12634        * bindings/js/kjs_binding.h: Removed.
12635        * bindings/js/kjs_events.cpp:
12636        (WebCore::JSAbstractEventListener::handleEvent):
12637        * bindings/js/kjs_html.cpp:
12638        * bindings/js/kjs_html.h:
12639        * bindings/js/kjs_proxy.cpp: Removed.
12640        * bindings/js/kjs_proxy.h: Removed.
12641        * bindings/objc/DOMInternal.mm:
12642        * bindings/scripts/CodeGeneratorJS.pm:
12643        * bridge/jni/jni_jsobject.mm:
12644        * dom/Document.cpp:
12645        * dom/EventTarget.cpp:
12646        * dom/Node.cpp:
12647        * dom/XMLTokenizer.cpp:
12648        (WebCore::XMLTokenizer::startElementNs):
12649        * history/CachedPage.cpp:
12650        (WebCore::CachedPage::CachedPage):
12651        (WebCore::CachedPage::restore):
12652        * html/HTMLPlugInElement.cpp:
12653        * html/HTMLScriptElement.cpp:
12654        * html/HTMLTokenizer.cpp:
12655        (WebCore::HTMLTokenizer::processToken):
12656        * loader/FrameLoader.cpp:
12657        (WebCore::FrameLoader::executeScript):
12658        * page/Frame.cpp:
12659        (WebCore::Frame::scriptProxy):
12660        * page/Frame.h:
12661        * page/FramePrivate.h:
12662        * page/InspectorController.cpp:
12663        * page/JavaScriptDebugServer.cpp:
12664        * page/JavaScriptProfileNode.cpp:
12665        * page/Page.cpp:
12666        * page/gtk/FrameGtk.cpp:
12667        * page/mac/FrameMac.mm:
12668        * page/qt/FrameQt.cpp:
12669        * page/win/FrameWin.cpp:
12670        * plugins/PluginView.cpp:
12671        (WebCore::getString):
12672        * plugins/gtk/PluginViewGtk.cpp:
12673        * plugins/qt/PluginViewQt.cpp:
12674        * plugins/win/PluginViewWin.cpp:
12675        * svg/SVGDocumentExtensions.cpp:
12676        * xml/XMLHttpRequest.cpp:
12677
126782008-06-14  Darin Adler  <darin@apple.com>
12679
12680        Rubber stamped by Sam.
12681
12682        - renamed HTMLGenericFormElement to HTMLFormControlElement
12683
12684        * GNUmakefile.am:
12685        * WebCore.pro:
12686        * WebCore.vcproj/WebCore.vcproj:
12687        * WebCore.xcodeproj/project.pbxproj:
12688        * WebCoreSources.bkl:
12689        * html/HTMLButtonElement.cpp:
12690        (WebCore::HTMLButtonElement::HTMLButtonElement):
12691        (WebCore::HTMLButtonElement::parseMappedAttribute):
12692        (WebCore::HTMLButtonElement::defaultEventHandler):
12693        * html/HTMLButtonElement.h:
12694        * html/HTMLFieldSetElement.cpp:
12695        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
12696        * html/HTMLFieldSetElement.h:
12697        * html/HTMLFormCollection.cpp:
12698        (WebCore::HTMLFormCollection::item):
12699        (WebCore::HTMLFormCollection::getNamedFormItem):
12700        (WebCore::HTMLFormCollection::updateNameCache):
12701        * html/HTMLFormControlElement.cpp: Copied from WebCore/html/HTMLGenericFormElement.cpp.
12702        * html/HTMLFormControlElement.h: Copied from WebCore/html/HTMLGenericFormElement.h.
12703        * html/HTMLFormElement.cpp:
12704        (WebCore::HTMLFormElement::formData):
12705        (WebCore::HTMLFormElement::submit):
12706        (WebCore::HTMLFormElement::formElementIndex):
12707        (WebCore::HTMLFormElement::registerFormElement):
12708        (WebCore::HTMLFormElement::removeFormElement):
12709        (WebCore::HTMLFormElement::elementForAlias):
12710        (WebCore::HTMLFormElement::addElementAlias):
12711        (WebCore::HTMLFormElement::getNamedElements):
12712        (WebCore::HTMLFormElement::CheckedRadioButtons::addButton):
12713        (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
12714        * html/HTMLFormElement.h:
12715        * html/HTMLGenericFormElement.cpp: Removed.
12716        * html/HTMLGenericFormElement.h: Removed.
12717        * html/HTMLInputElement.h:
12718        * html/HTMLIsIndexElement.cpp:
12719        (WebCore::HTMLIsIndexElement::parseMappedAttribute):
12720        * html/HTMLKeygenElement.cpp:
12721        (WebCore::HTMLKeygenElement::parseMappedAttribute):
12722        * html/HTMLLegendElement.cpp:
12723        (WebCore::HTMLLegendElement::HTMLLegendElement):
12724        * html/HTMLLegendElement.h:
12725        * html/HTMLOptGroupElement.cpp:
12726        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
12727        (WebCore::HTMLOptGroupElement::insertBefore):
12728        (WebCore::HTMLOptGroupElement::replaceChild):
12729        (WebCore::HTMLOptGroupElement::removeChild):
12730        (WebCore::HTMLOptGroupElement::appendChild):
12731        (WebCore::HTMLOptGroupElement::removeChildren):
12732        (WebCore::HTMLOptGroupElement::childrenChanged):
12733        (WebCore::HTMLOptGroupElement::parseMappedAttribute):
12734        (WebCore::HTMLOptGroupElement::attach):
12735        (WebCore::HTMLOptGroupElement::detach):
12736        * html/HTMLOptGroupElement.h:
12737        * html/HTMLOptionElement.cpp:
12738        (WebCore::HTMLOptionElement::HTMLOptionElement):
12739        (WebCore::HTMLOptionElement::attach):
12740        (WebCore::HTMLOptionElement::detach):
12741        (WebCore::HTMLOptionElement::parseMappedAttribute):
12742        (WebCore::HTMLOptionElement::childrenChanged):
12743        (WebCore::HTMLOptionElement::disabled):
12744        (WebCore::HTMLOptionElement::insertedIntoDocument):
12745        * html/HTMLOptionElement.h:
12746        * html/HTMLSelectElement.h:
12747        * html/HTMLTextAreaElement.h:
12748        * page/Frame.cpp:
12749        (WebCore::scanForForm):
12750        (WebCore::Frame::currentForm):
12751        * page/mac/FrameMac.mm:
12752        * rendering/RenderFieldset.cpp:
12753        (WebCore::RenderFieldset::RenderFieldset):
12754        * rendering/RenderFieldset.h:
12755        * rendering/RenderLegend.cpp:
12756        (WebCore::RenderLegend::RenderLegend):
12757        * rendering/RenderLegend.h:
12758        * rendering/RenderTextControl.cpp:
12759        (WebCore::RenderTextControl::createInnerTextStyle):
12760        (WebCore::RenderTextControl::updateFromElement):
12761        (WebCore::RenderTextControl::subtreeHasChanged):
12762        (WebCore::RenderTextControl::selectionChanged):
12763
127642008-06-14  Sam Weinig  <sam@webkit.org>
12765
12766        Windows build fix.
12767
12768        * bindings/scripts/CodeGeneratorCOM.pm:
12769
127702008-06-14  Darin Adler  <darin@apple.com>
12771
12772        - more build fixing
12773
12774        * platform/gtk/DragDataGtk.cpp: Added missing header.
12775        * platform/wx/DragDataWx.cpp: Ditto.
12776
127772008-06-14  Darin Adler  <darin@apple.com>
12778
12779        Reviewed by Sam.
12780
12781        - fix https://bugs.webkit.org/show_bug.cgi?id=19544
12782          DashboardRegion pieces are leaking
12783
12784        My recent change introduced a leak of objects owned by each DashboardRegion,
12785        because I made ~Rect non-virtual. By using a separate RefCounted class for
12786        each of Rect and DashboardRegion, the leak is gone. It's not clear if the
12787        DashboardRegion class should really exist -- it doesn't have a DOM binding,
12788        so it could conceivably be removed some day.
12789
12790        * css/DashboardRegion.h: Derive from RectBase instead of from Rect.
12791        * css/Rect.h: Added RectBase. Changed Rect to derive from RectBase.
12792
127932008-06-14  Darin Adler  <darin@apple.com>
12794
12795        Reviewed by Sam.
12796
12797        - https://bugs.webkit.org/show_bug.cgi?id=19545
12798          use PassRefPtr, not RefPtr, for return values
12799
12800        * css/CSSParser.cpp:
12801        (WebCore::CSSParser::parseGradient): Call release() when assigning result to avoid
12802        a little bit of refcount churn.
12803
12804        * css/CSSStyleSelector.cpp:
12805        (WebCore::CSSStyleSelector::styleRulesForElement): Changed return value to PassRefPtr.
12806        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
12807        * css/CSSStyleSelector.h: Ditto.
12808
12809        * svg/SVGElementInstanceList.cpp:
12810        (WebCore::SVGElementInstanceList::length): Tweaked formatting.
12811        (WebCore::SVGElementInstanceList::item): Changed return value to raw pointer.
12812        * svg/SVGElementInstanceList.h: Ditto.
12813
12814        * xml/XSLTProcessor.cpp:
12815        (WebCore::XSLTProcessor::createDocumentFromSource): Changed return value to PassRefPtr.
12816        (WebCore::XSLTProcessor::transformToDocument): Ditto.
12817        (WebCore::XSLTProcessor::transformToFragment): Ditto.
12818        * xml/XSLTProcessor.h: Ditto.
12819
128202008-06-14  Darin Adler  <darin@apple.com>
12821
12822        - try to fix the gtk build
12823
12824        * platform/gtk/DragDataGtk.cpp:
12825        (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.
12826
128272008-06-14  Darin Adler  <darin@apple.com>
12828
12829        - another try at fixing the wx build
12830
12831        * platform/wx/DragDataWx.cpp:
12832        (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.
12833
128342008-06-14  Darin Adler  <darin@apple.com>
12835
12836        - try to fix Windows build
12837
12838        * svg/graphics/SVGImageEmptyClients.h: Added missing include.
12839
128402008-06-14  Darin Adler  <darin@apple.com>
12841
12842        - fix wx build
12843
12844        * platform/wx/TemporaryLinkStubs.cpp: Removed unneeded Icon constructor.
12845
128462008-06-14  Darin Adler  <darin@apple.com>
12847
12848        Reviewed by Sam.
12849
12850        - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
12851          start ref counts at 1 instead of 0 for speed
12852
12853        * WebCore.base.exp: Added some new exports needed for functions that are now
12854        non-virtual.
12855
12856        * WebCore.xcodeproj/project.pbxproj: Moved the "icon" group to the correct
12857        location in the project. Before it was inside "appcache"!
12858
12859        * css/CSSStyleSelector.cpp:
12860        (WebCore::CSSStyleSelector::applyProperty):
12861        * dom/Clipboard.cpp:
12862        (WebCore::Clipboard::Clipboard):
12863        * editing/mac/EditorMac.mm:
12864        (WebCore::Editor::newGeneralClipboard):
12865        * editing/qt/EditorQt.cpp:
12866        (WebCore::Editor::newGeneralClipboard):
12867        * editing/wx/EditorWx.cpp:
12868        (WebCore::Editor::newGeneralClipboard):
12869        * loader/DocumentLoader.cpp:
12870        (WebCore::DocumentLoader::DocumentLoader):
12871        * loader/DocumentLoader.h:
12872        (WebCore::DocumentLoader::create):
12873        * loader/icon/IconDatabase.cpp:
12874        (WebCore::IconDatabase::defaultIcon):
12875        (WebCore::IconDatabase::setIconDataForIconURL):
12876        (WebCore::IconDatabase::setIconURLForPageURL):
12877        (WebCore::IconDatabase::getOrCreateIconRecord):
12878        (WebCore::IconDatabase::performURLImport):
12879        * loader/icon/IconDatabase.h:
12880        * loader/icon/IconRecord.cpp:
12881        (WebCore::IconRecord::IconRecord):
12882        * loader/icon/IconRecord.h:
12883        (WebCore::IconRecord::create):
12884        * page/EventHandler.h:
12885        * page/Frame.cpp:
12886        (WebCore::Frame::Frame):
12887        * page/Frame.h:
12888        (WebCore::Frame::create):
12889        * page/gtk/EventHandlerGtk.cpp:
12890        (WebCore::EventHandler::createDraggingClipboard):
12891        * page/mac/EventHandlerMac.mm:
12892        (WebCore::EventHandler::createDraggingClipboard):
12893        * page/qt/EventHandlerQt.cpp:
12894        (WebCore::EventHandler::createDraggingClipboard):
12895        * page/win/EventHandlerWin.cpp:
12896        (WebCore::EventHandler::createDraggingClipboard):
12897        * page/wx/EventHandlerWx.cpp:
12898        (WebCore::EventHandler::createDraggingClipboard):
12899        * platform/Cursor.h:
12900        (WebCore::SharedCursor::create):
12901        (WebCore::SharedCursor::~SharedCursor):
12902        (WebCore::SharedCursor::SharedCursor):
12903        * platform/DragData.h:
12904        * platform/PopupMenu.h:
12905        (WebCore::PopupMenu::create):
12906        (WebCore::PopupMenu::isActive):
12907        * platform/ScrollBar.cpp:
12908        (WebCore::Scrollbar::Scrollbar):
12909        * platform/SearchPopupMenu.h:
12910        (WebCore::SearchPopupMenu::create):
12911        * platform/graphics/FontFamily.cpp:
12912        (WebCore::FontFamily::FontFamily):
12913        (WebCore::operator==):
12914        * platform/graphics/FontFamily.h:
12915        (WebCore::FontFamily::FontFamily):
12916        (WebCore::SharedFontFamily::create):
12917        (WebCore::SharedFontFamily::SharedFontFamily):
12918        (WebCore::operator!=):
12919        (WebCore::FontFamily::next):
12920        (WebCore::FontFamily::appendFamily):
12921        (WebCore::FontFamily::releaseNext):
12922        * platform/graphics/Icon.h:
12923        * platform/graphics/gtk/IconGtk.cpp:
12924        (WebCore::Icon::Icon):
12925        (WebCore::Icon::~Icon):
12926        (WebCore::Icon::newIconForFile):
12927        * platform/graphics/mac/IconMac.mm:
12928        (WebCore::Icon::Icon):
12929        (WebCore::Icon::newIconForFile):
12930        * platform/graphics/qt/IconQt.cpp:
12931        (WebCore::Icon::Icon):
12932        (WebCore::Icon::newIconForFile):
12933        * platform/graphics/win/IconWin.cpp:
12934        (WebCore::Icon::Icon):
12935        (WebCore::Icon::~Icon):
12936        (WebCore::Icon::newIconForFile):
12937        * platform/gtk/ClipboardGtk.cpp:
12938        (WebCore::Editor::newGeneralClipboard):
12939        * platform/gtk/ClipboardGtk.h:
12940        (WebCore::ClipboardGtk::create):
12941        * platform/gtk/PlatformScrollBar.h:
12942        (WebCore::PlatformScrollbar::create):
12943        * platform/gtk/PopupMenuGtk.cpp:
12944        (WebCore::PopupMenu::PopupMenu):
12945        * platform/gtk/ScrollViewGtk.cpp:
12946        (WebCore::ScrollViewScrollbar::create):
12947        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12948        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12949        * platform/mac/ClipboardMac.h:
12950        (WebCore::ClipboardMac::create):
12951        * platform/mac/DragDataMac.mm:
12952        (WebCore::DragData::createClipboard):
12953        (WebCore::DragData::containsCompatibleContent):
12954        * platform/mac/PlatformScrollBar.h:
12955        (WebCore::PlatformScrollbar::create):
12956        (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
12957        (WebCore::PlatformScrollbar::verticalScrollbarWidth):
12958        * platform/mac/PopupMenuMac.mm:
12959        (WebCore::PopupMenu::PopupMenu):
12960        * platform/qt/ClipboardQt.h:
12961        (WebCore::ClipboardQt::create):
12962        * platform/qt/DragDataQt.cpp:
12963        (WebCore::DragData::createClipboard):
12964        * platform/qt/PlatformScrollBar.h:
12965        (WebCore::PlatformScrollbar::create):
12966        * platform/qt/PopupMenuQt.cpp:
12967        (WebCore::PopupMenu::PopupMenu):
12968        * platform/qt/ScrollViewQt.cpp:
12969        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12970        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12971        * platform/win/ClipboardWin.h:
12972        (WebCore::ClipboardWin::create):
12973        * platform/win/CursorWin.cpp:
12974        (WebCore::Cursor::Cursor):
12975        (WebCore::loadSharedCursor):
12976        * platform/win/DragDataWin.cpp:
12977        (WebCore::DragData::createClipboard):
12978        * platform/win/EditorWin.cpp:
12979        (WebCore::Editor::newGeneralClipboard):
12980        * platform/win/PlatformScrollBar.h:
12981        (WebCore::PlatformScrollbar::create):
12982        * platform/win/PopupMenuWin.cpp:
12983        (WebCore::PopupMenu::PopupMenu):
12984        (WebCore::PopupMenu::show):
12985        * platform/win/ScrollViewWin.cpp:
12986        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12987        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12988        * platform/wx/ClipboardWx.h:
12989        (WebCore::ClipboardWx::create):
12990        * platform/wx/PlatformScrollBar.h:
12991        (WebCore::PlatformScrollbar::create):
12992        * platform/wx/PopupMenuWx.cpp:
12993        (WebCore::PopupMenu::PopupMenu):
12994        * platform/wx/TemporaryLinkStubs.cpp:
12995        (Icon::Icon):
12996        (Icon::newIconForFile):
12997        * rendering/RenderLayer.cpp:
12998        (WebCore::RenderLayer::createScrollbar):
12999        * rendering/RenderListBox.cpp:
13000        (WebCore::RenderListBox::updateFromElement):
13001        * svg/graphics/SVGImage.cpp:
13002        (WebCore::SVGImage::dataChanged):
13003        * svg/graphics/SVGImageEmptyClients.h:
13004        (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
13005
130062008-06-14  Sam Weinig  <sam@webkit.org>
13007
13008        Reviewed by Dan Bernstein.
13009
13010        Fix for <rdar://problem/5775192>
13011        insertAdjacentHTML and insertAdjacentText are not implemented although insertAdjacentElement is.
13012
13013        - Implements insertAdjacentHTML and insertAdjacentText for HTMLElement.
13014        - Moves the insertAdjacentElement implementation from Element to HTMLElement.
13015
13016        Tests: fast/dynamic/insertAdjacentHTML.html
13017               fast/dynamic/insertAdjacentText.html
13018
13019        * dom/Element.cpp:
13020        * dom/Element.h:
13021        * dom/Element.idl:
13022        * html/HTMLElement.cpp:
13023        (WebCore::HTMLElement::insertAdjacent):
13024        (WebCore::HTMLElement::insertAdjacentElement):
13025        (WebCore::HTMLElement::insertAdjacentHTML):
13026        (WebCore::HTMLElement::insertAdjacentText):
13027        * html/HTMLElement.h:
13028        * html/HTMLElement.idl:
13029
130302008-06-14  Darin Adler  <darin@apple.com>
13031
13032        Reviewed by Maciej.
13033
13034        - fix https://bugs.webkit.org/show_bug.cgi?id=19538
13035          <rdar://problem/5957595> Reading transition property from the style JS gives the wrong value
13036
13037        Test: fast/dom/CSSStyleDeclaration/transition-property-names.html
13038
13039        * css/CSSPrimitiveValue.cpp:
13040        (WebCore::valueOrPropertyName): Added.
13041        (WebCore::CSSPrimitiveValue::getStringValue): Use valueOrPropertyName since the ident can either
13042        be a value or property ID.
13043        (WebCore::CSSPrimitiveValue::cssText): Ditto.
13044
13045        * css/makeprop.pl: Assign property IDs starting at 1001 instead of 1 so they can be stored along
13046        with value IDs with no ambiguity.
13047
130482008-06-14  Adam Barth  <abarth@webkit.org>
13049
13050        Reviewed by David Kilzer.
13051
13052        Fix typo.
13053
13054        * dom/XMLTokenizer.cpp:
13055        (WebCore::shouldAllowExternalLoad):
13056
130572008-06-14  Darin Adler  <darin@apple.com>
13058
13059        - fix build
13060
13061        * plugins/PluginStream.h: Move functions back into public section.
13062
130632008-06-14  Darin Adler  <darin@apple.com>
13064
13065        Reviewed by Sam.
13066
13067        - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
13068          start ref counts at 1 instead of 0 for speed
13069
13070        * WebCore.base.exp:
13071        * bindings/js/JSSVGMatrixCustom.cpp:
13072        (WebCore::JSSVGMatrix::multiply):
13073        (WebCore::JSSVGMatrix::inverse):
13074        (WebCore::JSSVGMatrix::translate):
13075        (WebCore::JSSVGMatrix::scale):
13076        (WebCore::JSSVGMatrix::scaleNonUniform):
13077        (WebCore::JSSVGMatrix::rotate):
13078        (WebCore::JSSVGMatrix::rotateFromVector):
13079        (WebCore::JSSVGMatrix::flipX):
13080        (WebCore::JSSVGMatrix::flipY):
13081        (WebCore::JSSVGMatrix::skewX):
13082        (WebCore::JSSVGMatrix::skewY):
13083        * bindings/js/JSSVGPODTypeWrapper.h:
13084        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
13085        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
13086        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
13087        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
13088        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
13089        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
13090        (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
13091        (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
13092        * bindings/js/JSSVGPointListCustom.cpp:
13093        (WebCore::finishGetter):
13094        (WebCore::finishSetter):
13095        (WebCore::finishSetterReadOnlyResult):
13096        (WebCore::JSSVGPointList::clear):
13097        (WebCore::JSSVGPointList::initialize):
13098        (WebCore::JSSVGPointList::getItem):
13099        (WebCore::JSSVGPointList::insertItemBefore):
13100        (WebCore::JSSVGPointList::replaceItem):
13101        (WebCore::JSSVGPointList::removeItem):
13102        (WebCore::JSSVGPointList::appendItem):
13103        * bindings/js/JSSVGTransformListCustom.cpp:
13104        (WebCore::finishGetter):
13105        (WebCore::finishSetter):
13106        (WebCore::finishSetterReadOnlyResult):
13107        (WebCore::JSSVGTransformList::clear):
13108        (WebCore::JSSVGTransformList::initialize):
13109        (WebCore::JSSVGTransformList::getItem):
13110        (WebCore::JSSVGTransformList::insertItemBefore):
13111        (WebCore::JSSVGTransformList::replaceItem):
13112        (WebCore::JSSVGTransformList::removeItem):
13113        (WebCore::JSSVGTransformList::appendItem):
13114        * bindings/scripts/CodeGeneratorJS.pm:
13115        * css/CSSFontSelector.cpp:
13116        (WebCore::CSSFontSelector::CSSFontSelector):
13117        (WebCore::CSSFontSelector::~CSSFontSelector):
13118        * css/CSSFontSelector.h:
13119        (WebCore::CSSFontSelector::create):
13120        * css/CSSStyleSelector.cpp:
13121        (WebCore::CSSStyleSelector::CSSStyleSelector):
13122        (WebCore::CSSStyleSelector::applyProperty):
13123        * dom/Attribute.cpp:
13124        (WebCore::Attribute::clone):
13125        * dom/Attribute.h:
13126        (WebCore::Attribute::create):
13127        (WebCore::Attribute::Attribute):
13128        * dom/BeforeTextInsertedEvent.h:
13129        (WebCore::BeforeTextInsertedEvent::create):
13130        * dom/BeforeUnloadEvent.h:
13131        (WebCore::BeforeUnloadEvent::create):
13132        * dom/CharacterData.cpp:
13133        (WebCore::CharacterData::dispatchModifiedEvent):
13134        * dom/ClipboardEvent.cpp:
13135        (WebCore::ClipboardEvent::ClipboardEvent):
13136        * dom/ClipboardEvent.h:
13137        (WebCore::ClipboardEvent::create):
13138        * dom/ContainerNode.cpp:
13139        (WebCore::ContainerNode::removeChild):
13140        (WebCore::dispatchChildInsertionEvents):
13141        (WebCore::dispatchChildRemovalEvents):
13142        * dom/Document.cpp:
13143        (WebCore::Document::createTextNode):
13144        (WebCore::Document::createComment):
13145        (WebCore::Document::createCDATASection):
13146        (WebCore::Document::createProcessingInstruction):
13147        (WebCore::Document::createEntityReference):
13148        (WebCore::Document::createEditingTextNode):
13149        (WebCore::Document::createEvent):
13150        (WebCore::Document::createAttributeNS):
13151        (WebCore::Document::finishedParsing):
13152        * dom/Document.h:
13153        * dom/Element.cpp:
13154        (WebCore::Element::createAttribute):
13155        * dom/Element.h:
13156        * dom/Event.cpp:
13157        (WebCore::Event::Event):
13158        * dom/Event.h:
13159        (WebCore::Event::create):
13160        * dom/EventTargetNode.cpp:
13161        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
13162        (WebCore::EventTargetNode::dispatchWindowEvent):
13163        (WebCore::EventTargetNode::dispatchUIEvent):
13164        (WebCore::EventTargetNode::dispatchKeyEvent):
13165        (WebCore::EventTargetNode::dispatchMouseEvent):
13166        (WebCore::EventTargetNode::dispatchWheelEvent):
13167        (WebCore::EventTargetNode::dispatchHTMLEvent):
13168        (WebCore::EventTargetNode::dispatchProgressEvent):
13169        (WebCore::EventTargetNode::dispatchStorageEvent):
13170        * dom/KeyboardEvent.h:
13171        (WebCore::KeyboardEvent::create):
13172        * dom/MappedAttribute.cpp:
13173        (WebCore::MappedAttribute::clone):
13174        * dom/MappedAttribute.h:
13175        (WebCore::MappedAttribute::create):
13176        (WebCore::MappedAttribute::setDecl):
13177        (WebCore::MappedAttribute::MappedAttribute):
13178        * dom/MessageEvent.cpp:
13179        (WebCore::MessageEvent::MessageEvent):
13180        * dom/MessageEvent.h:
13181        (WebCore::MessageEvent::create):
13182        * dom/MouseEvent.cpp:
13183        (WebCore::MouseEvent::MouseEvent):
13184        (WebCore::MouseEvent::initMouseEvent):
13185        * dom/MouseEvent.h:
13186        (WebCore::MouseEvent::create):
13187        * dom/MouseRelatedEvent.cpp:
13188        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
13189        * dom/MouseRelatedEvent.h:
13190        * dom/MutationEvent.cpp:
13191        (WebCore::MutationEvent::MutationEvent):
13192        (WebCore::MutationEvent::initMutationEvent):
13193        * dom/MutationEvent.h:
13194        (WebCore::MutationEvent::create):
13195        * dom/OverflowEvent.h:
13196        (WebCore::OverflowEvent::create):
13197        * dom/ProgressEvent.h:
13198        (WebCore::ProgressEvent::create):
13199        * dom/StyledElement.cpp:
13200        (WebCore::StyledElement::getMappedAttributeDecl):
13201        (WebCore::StyledElement::setMappedAttributeDecl):
13202        (WebCore::StyledElement::removeMappedAttributeDecl):
13203        (WebCore::StyledElement::createAttribute):
13204        * dom/StyledElement.h:
13205        * dom/TextEvent.cpp:
13206        (WebCore::TextEvent::TextEvent):
13207        (WebCore::TextEvent::initTextEvent):
13208        * dom/TextEvent.h:
13209        (WebCore::TextEvent::create):
13210        * dom/UIEvent.cpp:
13211        (WebCore::UIEvent::UIEvent):
13212        (WebCore::UIEvent::initUIEvent):
13213        * dom/UIEvent.h:
13214        (WebCore::UIEvent::create):
13215        * dom/UIEventWithKeyState.h:
13216        (WebCore::UIEventWithKeyState::ctrlKey):
13217        (WebCore::UIEventWithKeyState::shiftKey):
13218        (WebCore::UIEventWithKeyState::altKey):
13219        (WebCore::UIEventWithKeyState::metaKey):
13220        (WebCore::UIEventWithKeyState::UIEventWithKeyState):
13221        * dom/WheelEvent.cpp:
13222        (WebCore::WheelEvent::WheelEvent):
13223        (WebCore::WheelEvent::initWheelEvent):
13224        * dom/WheelEvent.h:
13225        (WebCore::WheelEvent::create):
13226        * editing/AppendNodeCommand.cpp:
13227        (WebCore::AppendNodeCommand::AppendNodeCommand):
13228        * editing/AppendNodeCommand.h:
13229        (WebCore::AppendNodeCommand::create):
13230        * editing/ApplyStyleCommand.cpp:
13231        (WebCore::ApplyStyleCommand::applyBlockStyle):
13232        * editing/ApplyStyleCommand.h:
13233        (WebCore::ApplyStyleCommand::create):
13234        * editing/BreakBlockquoteCommand.h:
13235        (WebCore::BreakBlockquoteCommand::create):
13236        * editing/CompositeEditCommand.cpp:
13237        (WebCore::CompositeEditCommand::applyStyle):
13238        (WebCore::CompositeEditCommand::applyStyledElement):
13239        (WebCore::CompositeEditCommand::removeStyledElement):
13240        (WebCore::CompositeEditCommand::insertParagraphSeparator):
13241        (WebCore::CompositeEditCommand::insertLineBreak):
13242        (WebCore::CompositeEditCommand::insertNodeBefore):
13243        (WebCore::CompositeEditCommand::appendNode):
13244        (WebCore::CompositeEditCommand::removeNode):
13245        (WebCore::CompositeEditCommand::removeNodePreservingChildren):
13246        (WebCore::CompositeEditCommand::splitTextNode):
13247        (WebCore::CompositeEditCommand::splitElement):
13248        (WebCore::CompositeEditCommand::mergeIdenticalElements):
13249        (WebCore::CompositeEditCommand::wrapContentsInDummySpan):
13250        (WebCore::CompositeEditCommand::splitTextNodeContainingElement):
13251        (WebCore::CompositeEditCommand::joinTextNodes):
13252        (WebCore::CompositeEditCommand::inputText):
13253        (WebCore::CompositeEditCommand::insertTextIntoNode):
13254        (WebCore::CompositeEditCommand::deleteTextFromNode):
13255        (WebCore::CompositeEditCommand::replaceTextInNode):
13256        (WebCore::CompositeEditCommand::deleteSelection):
13257        (WebCore::CompositeEditCommand::removeCSSProperty):
13258        (WebCore::CompositeEditCommand::removeNodeAttribute):
13259        (WebCore::CompositeEditCommand::setNodeAttribute):
13260        (WebCore::CompositeEditCommand::appendBlockPlaceholder):
13261        (WebCore::CompositeEditCommand::insertBlockPlaceholder):
13262        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
13263        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
13264        (WebCore::CompositeEditCommand::moveParagraphs):
13265        (WebCore::CompositeEditCommand::splitTreeToNode):
13266        * editing/CompositeEditCommand.h:
13267        (WebCore::CompositeEditCommand::isFirstCommand):
13268        * editing/CreateLinkCommand.h:
13269        (WebCore::CreateLinkCommand::create):
13270        * editing/DeleteButtonController.cpp:
13271        (WebCore::DeleteButtonController::deleteTarget):
13272        * editing/DeleteFromTextNodeCommand.cpp:
13273        (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
13274        * editing/DeleteFromTextNodeCommand.h:
13275        (WebCore::DeleteFromTextNodeCommand::create):
13276        * editing/DeleteSelectionCommand.h:
13277        (WebCore::DeleteSelectionCommand::create):
13278        * editing/EditCommand.h:
13279        (WebCore::SimpleEditCommand::SimpleEditCommand):
13280        * editing/Editor.cpp:
13281        (WebCore::Editor::deleteSelectionWithSmartDelete):
13282        (WebCore::Editor::replaceSelectionWithFragment):
13283        (WebCore::Editor::removeFormattingAndStyle):
13284        (WebCore::Editor::clearLastEditCommand):
13285        (WebCore::Editor::dispatchCPPEvent):
13286        (WebCore::Editor::applyStyle):
13287        (WebCore::Editor::applyParagraphStyle):
13288        (WebCore::Editor::indent):
13289        (WebCore::Editor::outdent):
13290        (WebCore::dispatchEditableContentChangedEvents):
13291        * editing/Editor.h:
13292        * editing/EditorCommand.cpp:
13293        (WebCore::executeInsertFragment):
13294        (WebCore::executeCreateLink):
13295        (WebCore::executeFormatBlock):
13296        (WebCore::executeIndent):
13297        (WebCore::executeInsertOrderedList):
13298        (WebCore::executeInsertUnorderedList):
13299        (WebCore::executeOutdent):
13300        (WebCore::executeUnlink):
13301        * editing/FormatBlockCommand.h:
13302        (WebCore::FormatBlockCommand::create):
13303        * editing/IndentOutdentCommand.cpp:
13304        (WebCore::IndentOutdentCommand::indentRegion):
13305        (WebCore::IndentOutdentCommand::outdentParagraph):
13306        * editing/IndentOutdentCommand.h:
13307        (WebCore::IndentOutdentCommand::create):
13308        * editing/InsertIntoTextNodeCommand.cpp:
13309        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
13310        * editing/InsertIntoTextNodeCommand.h:
13311        (WebCore::InsertIntoTextNodeCommand::create):
13312        * editing/InsertLineBreakCommand.h:
13313        (WebCore::InsertLineBreakCommand::create):
13314        * editing/InsertListCommand.cpp:
13315        (WebCore::InsertListCommand::doApply):
13316        * editing/InsertListCommand.h:
13317        (WebCore::InsertListCommand::create):
13318        * editing/InsertNodeBeforeCommand.cpp:
13319        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
13320        * editing/InsertNodeBeforeCommand.h:
13321        (WebCore::InsertNodeBeforeCommand::create):
13322        * editing/InsertParagraphSeparatorCommand.cpp:
13323        (WebCore::InsertParagraphSeparatorCommand::doApply):
13324        * editing/InsertParagraphSeparatorCommand.h:
13325        (WebCore::InsertParagraphSeparatorCommand::create):
13326        * editing/InsertTextCommand.h:
13327        (WebCore::InsertTextCommand::create):
13328        * editing/JoinTextNodesCommand.cpp:
13329        (WebCore::JoinTextNodesCommand::JoinTextNodesCommand):
13330        * editing/JoinTextNodesCommand.h:
13331        (WebCore::JoinTextNodesCommand::create):
13332        * editing/MergeIdenticalElementsCommand.cpp:
13333        (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
13334        * editing/MergeIdenticalElementsCommand.h:
13335        (WebCore::MergeIdenticalElementsCommand::create):
13336        * editing/ModifySelectionListLevel.cpp:
13337        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
13338        * editing/MoveSelectionCommand.cpp:
13339        (WebCore::MoveSelectionCommand::doApply):
13340        * editing/MoveSelectionCommand.h:
13341        (WebCore::MoveSelectionCommand::create):
13342        * editing/RemoveCSSPropertyCommand.cpp:
13343        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
13344        * editing/RemoveCSSPropertyCommand.h:
13345        (WebCore::RemoveCSSPropertyCommand::create):
13346        * editing/RemoveFormatCommand.h:
13347        (WebCore::RemoveFormatCommand::create):
13348        * editing/RemoveNodeAttributeCommand.cpp:
13349        (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
13350        * editing/RemoveNodeAttributeCommand.h:
13351        (WebCore::RemoveNodeAttributeCommand::create):
13352        * editing/RemoveNodeCommand.cpp:
13353        (WebCore::RemoveNodeCommand::RemoveNodeCommand):
13354        * editing/RemoveNodeCommand.h:
13355        (WebCore::RemoveNodeCommand::create):
13356        * editing/RemoveNodePreservingChildrenCommand.cpp:
13357        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
13358        (WebCore::RemoveNodePreservingChildrenCommand::doApply):
13359        * editing/RemoveNodePreservingChildrenCommand.h:
13360        (WebCore::RemoveNodePreservingChildrenCommand::create):
13361        * editing/ReplaceSelectionCommand.cpp:
13362        (WebCore::ReplacementFragment::hasInterchangeNewlineAtStart):
13363        (WebCore::ReplacementFragment::hasInterchangeNewlineAtEnd):
13364        (WebCore::ReplacementFragment::ReplacementFragment):
13365        * editing/ReplaceSelectionCommand.h:
13366        (WebCore::ReplaceSelectionCommand::create):
13367        * editing/SetNodeAttributeCommand.cpp:
13368        (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand):
13369        * editing/SetNodeAttributeCommand.h:
13370        (WebCore::SetNodeAttributeCommand::create):
13371        * editing/SplitElementCommand.cpp:
13372        (WebCore::SplitElementCommand::SplitElementCommand):
13373        * editing/SplitElementCommand.h:
13374        (WebCore::SplitElementCommand::create):
13375        * editing/SplitTextNodeCommand.cpp:
13376        (WebCore::SplitTextNodeCommand::SplitTextNodeCommand):
13377        * editing/SplitTextNodeCommand.h:
13378        (WebCore::SplitTextNodeCommand::create):
13379        * editing/SplitTextNodeContainingElementCommand.cpp:
13380        (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
13381        * editing/SplitTextNodeContainingElementCommand.h:
13382        (WebCore::SplitTextNodeContainingElementCommand::create):
13383        * editing/TypingCommand.cpp:
13384        (WebCore::TypingCommand::deleteSelection):
13385        (WebCore::TypingCommand::deleteKeyPressed):
13386        (WebCore::TypingCommand::forwardDeleteKeyPressed):
13387        (WebCore::TypingCommand::insertText):
13388        (WebCore::TypingCommand::insertLineBreak):
13389        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
13390        (WebCore::TypingCommand::insertParagraphSeparator):
13391        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
13392        * editing/TypingCommand.h:
13393        (WebCore::TypingCommand::create):
13394        (WebCore::TypingCommand::smartDelete):
13395        * editing/UnlinkCommand.h:
13396        (WebCore::UnlinkCommand::create):
13397        * editing/WrapContentsInDummySpanCommand.cpp:
13398        (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
13399        * editing/WrapContentsInDummySpanCommand.h:
13400        (WebCore::WrapContentsInDummySpanCommand::create):
13401        * html/HTMLTableElement.cpp:
13402        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
13403        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
13404        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
13405        (WebCore::HTMLTableElement::addSharedGroupDecls):
13406        * html/HTMLTokenizer.cpp:
13407        (WebCore::Token::addAttribute):
13408        * html/HTMLViewSourceDocument.cpp:
13409        (WebCore::HTMLViewSourceDocument::createContainingTable):
13410        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
13411        (WebCore::HTMLViewSourceDocument::addLine):
13412        (WebCore::HTMLViewSourceDocument::addLink):
13413        * loader/FrameLoader.cpp:
13414        (WebCore::FrameLoader::didOpenURL):
13415        * loader/appcache/DOMApplicationCache.cpp:
13416        (WebCore::DOMApplicationCache::callListener):
13417        * page/ContextMenuController.cpp:
13418        (WebCore::ContextMenuController::contextMenuItemSelected):
13419        * page/DOMWindow.cpp:
13420        (WebCore::PostMessageTimer::PostMessageTimer):
13421        (WebCore::PostMessageTimer::fired):
13422        (WebCore::DOMWindow::postMessage):
13423        * page/DragController.cpp:
13424        (WebCore::DragController::concludeDrag):
13425        * page/EventHandler.cpp:
13426        (WebCore::EventHandler::dispatchDragEvent):
13427        (WebCore::EventHandler::keyEvent):
13428        (WebCore::EventHandler::handleTextInputEvent):
13429        * page/Frame.cpp:
13430        (WebCore::Frame::computeAndSetTypingStyle):
13431        (WebCore::Frame::shouldClose):
13432        * page/FrameView.cpp:
13433        (WebCore::FrameView::updateOverflowStatus):
13434        * page/mac/EventHandlerMac.mm:
13435        (WebCore::EventHandler::currentKeyboardEvent):
13436        * page/mac/FrameMac.mm:
13437        * platform/DeprecatedValueListImpl.cpp:
13438        (WebCore::DeprecatedValueListImpl::Private::Private):
13439        (WebCore::DeprecatedValueListImpl::DeprecatedValueListImpl):
13440        (WebCore::DeprecatedValueListImpl::copyOnWrite):
13441        * platform/graphics/FontSelector.h:
13442        * platform/graphics/GlyphPageTreeNode.cpp:
13443        (WebCore::GlyphPageTreeNode::initializePage):
13444        * platform/graphics/GlyphPageTreeNode.h:
13445        (WebCore::GlyphPage::create):
13446        (WebCore::GlyphPage::GlyphPage):
13447        * rendering/RenderLayer.cpp:
13448        (WebCore::RenderLayer::scrollToOffset):
13449        (WebCore::RenderLayer::updateOverflowStatus):
13450        (WebCore::RenderLayer::updateReflectionStyle):
13451        * rendering/style/RenderStyle.h:
13452        (WebCore::TransformOperation::~TransformOperation):
13453        (WebCore::ScaleTransformOperation::create):
13454        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
13455        (WebCore::RotateTransformOperation::create):
13456        (WebCore::RotateTransformOperation::RotateTransformOperation):
13457        (WebCore::SkewTransformOperation::create):
13458        (WebCore::SkewTransformOperation::operator==):
13459        (WebCore::SkewTransformOperation::SkewTransformOperation):
13460        (WebCore::TranslateTransformOperation::create):
13461        (WebCore::TranslateTransformOperation::operator==):
13462        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
13463        (WebCore::MatrixTransformOperation::create):
13464        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
13465        (WebCore::StyleReflection::create):
13466        (WebCore::StyleReflection::StyleReflection):
13467        * storage/StorageEvent.cpp:
13468        (WebCore::StorageEvent::StorageEvent):
13469        (WebCore::StorageEvent::initStorageEvent):
13470        * storage/StorageEvent.h:
13471        (WebCore::StorageEvent::create):
13472        (WebCore::StorageEvent::StorageEvent):
13473        * svg/SVGAngle.cpp:
13474        (WebCore::SVGAngle::SVGAngle):
13475        * svg/SVGAngle.h:
13476        (WebCore::SVGAngle::create):
13477        * svg/SVGAnimatedTemplate.h:
13478        (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
13479        (WebCore::lookupOrCreateWrapper):
13480        * svg/SVGElement.cpp:
13481        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13482        * svg/SVGElement.h:
13483        * svg/SVGMarkerElement.cpp:
13484        (WebCore::SVGMarkerElement::SVGMarkerElement):
13485        (WebCore::SVGMarkerElement::parseMappedAttribute):
13486        (WebCore::SVGMarkerElement::setOrientToAngle):
13487        * svg/SVGMarkerElement.h:
13488        * svg/SVGSVGElement.cpp:
13489        (WebCore::SVGSVGElement::createSVGAngle):
13490        * svg/SVGSVGElement.h:
13491        * svg/SVGZoomEvent.h:
13492        (WebCore::SVGZoomEvent::create):
13493        * svg/graphics/SVGImage.cpp:
13494        * xml/XMLHttpRequest.cpp:
13495        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
13496        (WebCore::XMLHttpRequest::dispatchProgressEvent):
13497        * xml/XMLHttpRequestProgressEvent.cpp:
13498        * xml/XMLHttpRequestProgressEvent.h:
13499        (WebCore::XMLHttpRequestProgressEvent::create):
13500        (WebCore::XMLHttpRequestProgressEvent::position):
13501        (WebCore::XMLHttpRequestProgressEvent::totalSize):
13502        (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
13503
135042008-06-13  Adam Barth  <abarth@webkit.org>
13505
13506        Reviewed by Eric Seidel.
13507
13508        https://bugs.webkit.org/show_bug.cgi?id=19199
13509
13510        Prevent external entities from loading across origins.
13511
13512        Test: http/tests/security/xss-DENIED-xsl-external-entity.xml
13513
13514        * dom/XMLTokenizer.cpp:
13515        (WebCore::shouldAllowExternalLoad):
13516        (WebCore::openFunc):
13517
135182008-06-13  Adam Barth  <abarth@webkit.org>
13519
13520        Reviewed by Darin Adler.
13521
13522        https://bugs.webkit.org/show_bug.cgi?id=19450
13523
13524        Allow loads of same-origin documents only.
13525
13526        Test: http/tests/security/xss-DENIED-xsl-document.xml
13527
13528        * xml/XSLTProcessor.cpp:
13529        (WebCore::docLoaderFunc):
13530
135312008-06-13  Adam Barth  <abarth@webkit.org>
13532
13533        Reviewed by Darin Adler.
13534
13535        Fixes <https://bugs.webkit.org/show_bug.cgi?id=15100>:
13536          XMLHttpRequest::urlMatchesDocumentDomain raises error if port
13537          information does not match exactly
13538
13539        Refactor our security check for XMLHttpRequest into SecurityOrigin so
13540        we can reuse it in other places.  This leverages our default port
13541        technology in SecurityOrigin.
13542
13543        I wasn't sure how to write a test for this because the LayoutTests run
13544        on non-default ports.
13545
13546        * platform/SecurityOrigin.cpp:
13547        (WebCore::SecurityOrigin::canRequest):
13548        * platform/SecurityOrigin.h:
13549        * xml/XMLHttpRequest.cpp:
13550        (WebCore::XMLHttpRequest::send):
13551        (WebCore::XMLHttpRequest::willSendRequest):
13552        * xml/XMLHttpRequest.h:
13553
135542008-06-13  Adam Barth  <abarth@webkit.org>
13555
13556        Reviewed by Eric Seidel.
13557
13558        Removed unnecessary dependencies.
13559
13560        * platform/SecurityOrigin.cpp:
13561        * platform/SecurityOrigin.h:
13562
135632008-06-13  Darin Adler  <darin@apple.com>
13564
13565        Reviewed by John Sullivan.
13566
13567        - added FormState argument to action policy functions
13568
13569        * loader/FrameLoader.cpp:
13570        (WebCore::FrameLoader::checkNewWindowPolicy):
13571        (WebCore::FrameLoader::checkNavigationPolicy):
13572        * loader/FrameLoaderClient.h:
13573        * svg/graphics/SVGImageEmptyClients.h:
13574        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
13575        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
13576
135772008-06-13  Justin Garcia  <justin.garcia@apple.com>
13578
13579        Reviewed by Jess.
13580
13581        <rdar://problem/5702248> Crash on Copy Image from the contextual menu on a broken image in Mail
13582
13583        * platform/mac/PasteboardMac.mm:
13584        (WebCore::Pasteboard::writeImage): Check to see the image loaded successfully
13585        before trying to put data for it on the Pasteboard.  Mail shouldn't really
13586        include the Copy Image menu item, but if it does and the user selects it,
13587        we shouldn't crash.
13588
135892008-06-11  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
13590        With help from Siraj Razick  <siraj.razick@collabora.co.uk>
13591
13592        Reviewed by Simon.
13593
13594        https://bugs.webkit.org/show_bug.cgi?id=19367
13595        [Qt] Plugins are drawn over the scrollbars
13596
13597        * plugins/qt/PluginViewQt.cpp:
13598        (WebCore::PluginView::updateWindow): Call setMask on the
13599        QX11EmbedContainer to set the plugin clipping.
13600
136012008-06-12  Darin Adler  <darin@apple.com>
13602
13603        - try to fix no-SVG build
13604
13605        * css/CSSComputedStyleDeclaration.cpp:
13606        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a case for
13607        CSSPropertyWebkitMask.
13608
136092008-06-12  Darin Adler  <darin@apple.com>
13610
13611        - try to fix Windows build
13612
13613        * dom/Element.idl: Turn off ElementTraversal functions when generating COM.
13614        Not sure why they're failing, but turning them off for now seems OK.
13615
136162008-06-12  Adam Barth  <abarth@webkit.org>
13617
13618        Rubberstamped by Maciej.
13619
13620        Roll 34504 back in.
13621
13622        Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html
13623
13624        * platform/SecurityOrigin.cpp:
13625        (WebCore::SecurityOrigin::toString):
13626
136272008-06-11  Dan Bernstein  <mitz@apple.com>
13628
13629        Reviewed by Dave Hyatt.
13630
13631        - fix <rdar://problem/5876370> Safari 3.1.1 bad rendering of pages from http://www.legifrance.gouv.fr/
13632
13633        Tests: fast/parser/p-in-scope-strict.html
13634               fast/parser/p-in-scope.html
13635
13636        * html/HTMLParagraphElement.h:
13637        (WebCore::HTMLParagraphElement::endTagRequirement): Changed to require
13638        an end tag. The explicit closing of one P element by another is now
13639        done in error checking, and therefore takes scope into account, allowing
13640        for <p><button><p>, for example.
13641
13642        * html/HTMLParser.cpp:
13643        (WebCore::HTMLParser::HTMLParser): Initialize m_hasPElementInScope.
13644        (WebCore::isScopingTag): Added. Returns whether the given tag represents
13645        a scoping element as defined in HTML 5 section 8.2.3.2.
13646        (WebCore::HTMLParser::formCreateErrorCheck): Added a call to
13647        pCloserCreateErrorCheck().
13648        (WebCore::HTMLParser::ddCreateErrorCheck): Ditto.
13649        (WebCore::HTMLParser::dtCreateErrorCheck): Ditto.
13650        (WebCore::HTMLParser::nestedPCloserCreateErrorCheck): Added for use with
13651        <li>, which both closes P elements in scope and any previous LI.
13652        (WebCore::HTMLParser::pCloserCreateErrorCheck): Added. If there is a P
13653        element in scope, acts as if a </p> tag was seen.
13654        (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): Ditto, but only
13655        in strict mode. Used for <table>.
13656        (WebCore::HTMLParser::getNode): Added entries for tags that close a P
13657        element in scope.
13658        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added
13659        code to reset m_hasPElementInScope.
13660        (WebCore::HTMLParser::pushBlock): Added code to update
13661        m_hasPElementInScope.
13662        (WebCore::HTMLParser::popOneBlockCommon): Ditto.
13663        (WebCore::HTMLParser::checkIfHasPElementInScope): Added. Updates
13664        m_hasPElementInScope.
13665
13666        * html/HTMLParser.h:
13667        (WebCore::HTMLParser::hasPElementInScope): Added. Calls
13668        checkIfHasPElementInScope() if needed and returns whether there
13669        is a P element in scope.
13670
136712008-06-11  Adam Barth  <abarth@webkit.org>
13672
13673        Reviewed by Sam Weinig.
13674
13675        https://bugs.webkit.org/show_bug.cgi?id=19460
13676
13677        Update the security context of a document after calling document.open
13678        or document.write.  Basically, when a script open()s a document, the
13679        document gains the security context of the script.  Our implementation
13680        now matches Firefox 3 on all these tests.
13681
13682        Tests: http/tests/security/aboutBlank/security-context-alias.html
13683               http/tests/security/aboutBlank/security-context-grandchildren-alias.html
13684               http/tests/security/aboutBlank/security-context-grandchildren.html
13685               http/tests/security/aboutBlank/security-context-window-open.html
13686               http/tests/security/aboutBlank/security-context-with-base-tag.html
13687               http/tests/security/aboutBlank/security-context-write.html
13688               http/tests/security/aboutBlank/security-context-writeln.html
13689               http/tests/security/aboutBlank/security-context.html
13690               http/tests/security/cookies/document-open.html
13691
13692        * bindings/js/JSDOMWindowBase.cpp:
13693        (WebCore::createWindow):
13694        * bindings/js/JSHTMLDocumentCustom.cpp:
13695        (WebCore::JSHTMLDocument::open):
13696        (WebCore::JSHTMLDocument::write):
13697        (WebCore::JSHTMLDocument::writeln):
13698        * dom/Document.cpp:
13699        (WebCore::Document::open):
13700        (WebCore::Document::write):
13701        (WebCore::Document::writeln):
13702        * dom/Document.h:
13703
137042008-06-11  Adam Barth  <abarth@webkit.org>
13705
13706        Reviewed by Sam Weinig.
13707
13708        https://bugs.webkit.org/show_bug.cgi?id=19460
13709
13710        Compute the cookie context at the same time as the SecurityOrigin.
13711
13712        Tests: http/tests/security/cookies/create-document.html
13713               http/tests/security/cookies/xmlhttprequest.html
13714
13715        * dom/Document.cpp:
13716        (WebCore::Document::cookie):
13717        (WebCore::Document::initSecurityOrigin):
13718        * dom/Document.h:
13719        * platform/SecurityOrigin.cpp:
13720        * platform/SecurityOrigin.h:
13721
137222008-06-11  Adam Barth  <abarth@webkit.org>
13723
13724        Reviewed and tweaked by Sam Weinig.
13725
13726        Fix for https://bugs.webkit.org/show_bug.cgi?id=19242
13727        Data URLs should set an Access-Control-Origin of "null"
13728
13729        Correctly generate "null" as the value of the Access-Control-Origin
13730        header for cross-site XMLHttpRequests for data URLs.
13731
13732        Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html
13733
13734        * platform/SecurityOrigin.cpp:
13735        (WebCore::SecurityOrigin::toString):
13736        * xml/XMLHttpRequest.cpp:
13737        (WebCore::XMLHttpRequest::accessControlOrigin):
13738        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
13739        (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
13740        * xml/XMLHttpRequest.h:
13741
137422008-06-11  Sam Weinig  <sam@webkit.org>
13743
13744        Reviewed by Adam Roben.
13745
13746        Add support for "*" wildcarding for Access-Control.
13747
13748        Test: http/tests/xmlhttprequest/access-control-basic-allow-star.html
13749
13750        * xml/AccessItem.cpp:
13751        (WebCore::AccessItem::AccessItem):
13752        (WebCore::AccessItem::parseAccessItem):
13753        (WebCore::AccessItem::matches):
13754
137552008-06-11  Justin Garcia  <justin.garcia@apple.com>
13756
13757        Reviewed by Eric.
13758
13759        <https://bugs.webkit.org/show_bug.cgi?id=19455>
13760        Crash at RenderObject::childAt during JustifyCenter
13761
13762        * editing/ApplyStyleCommand.cpp:
13763        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Added a FIXME.
13764        * editing/CompositeEditCommand.cpp:
13765        (WebCore::CompositeEditCommand::moveParagraphs): If we're removing a line
13766        break that consists of a single '\n' in a text node by itself, remove
13767        the whole text node instead of just emptying it out.
13768        * editing/Selection.cpp:
13769        (WebCore::Selection::validate): Added a FIXME about canonicalizing
13770        to positions that aren't candidates.
13771        * editing/SelectionController.cpp:
13772        (WebCore::SelectionController::nodeWillBeRemoved): When the base and/or
13773        extent are about to be removed but the start and end aren't, change the 
13774        base and extent to the start and end, but don't re-validate the selection, 
13775        since doing so could move the start and end into the node that is about 
13776        to be removed.
13777
137782008-06-11  Gregory Hughes  <ghughes@apple.com>
13779
13780        Reviewed by David Harrison.
13781
13782        <rdar://problem/5990049> AXTextMarker bytes getting messed up when getting AXTextMarkerRangeForUnorderedTextMarkersParameterizedAttribute
13783
13784        * page/mac/AccessibilityObjectWrapper.mm:
13785        (textMarkerForVisiblePosition):
13786
137872008-06-11  Adriaan de Groot  <groot@kde.org>
13788
13789        Reviewed by Simon.
13790
13791        Fix compilation with Sun Studio 12
13792
13793        It seems like the compiler instantiates a different template version. I.e.,
13794        instead of parseUASheet<char [nnnn]>, it's probably instantiating
13795        parseUASheet<char *>, which then passes 4 or 8 as the size value.
13796
13797        * css/CSSStyleSelector.cpp:
13798        (WebCore::loadDefaultStyle):
13799        (WebCore::CSSStyleSelector::styleForElement):
13800
138012008-06-11  Benjamin Meyer  <bmeyer@trolltech.com>
13802
13803        Reviewed by Simon.
13804
13805        Fixed a crash when a slot connect to QWebPage::unsupportedContent would show a
13806        modal dialog with an event loop.
13807
13808        We have a queued connection to various signals in the QNetworkReply, for which
13809        it can happen that after releasing the QNetworkReply and disconnecting from it
13810        a slot connected to one of the signals may still be called due to a posted
13811        MetaCall event due to the queued connections. This patch removes the posted
13812        events explicitly, fixes the coding style a bit and makes sure the same happens
13813        when abort() is called.
13814
13815        * platform/network/qt/QNetworkReplyHandler.cpp:
13816        (WebCore::QNetworkReplyHandler::abort):
13817        (WebCore::QNetworkReplyHandler::release):
13818        * platform/network/qt/QNetworkReplyHandler.h:
13819
138202008-06-10  Kevin Ollivier  <kevino@theolliviers.com>
13821
13822        wx build fix. Reorder include dirs so that WebCore/html/HTMLElementFactory.h
13823        appears before WebCore/DerivedSources/HTMLElementFactory.h. (See note in commit
13824        for more details. This is probably not the right fix, but this will get us building
13825        until the right fix is in place.)
13826
13827        * webcore-base.bkl:
13828
138292008-06-10  Eric Seidel  <eric@webkit.org>
13830
13831        Reviewed by mjs.
13832
13833        Fix disconnected event listener crasher
13834        m_disconnectedNodesWithEventListeners not updated when nodes adopted
13835        https://bugs.webkit.org/show_bug.cgi?id=19451
13836
13837        I failed to find a way to make this crash DRT, I can crash Debug Safari consistently.
13838
13839        * dom/EventTarget.cpp:
13840        (WebCore::EventTarget::willMoveToNewOwnerDocument):
13841        (WebCore::EventTarget::didMoveToNewOwnerDocument):
13842        * dom/EventTarget.h:
13843        * dom/EventTargetNode.cpp:
13844        (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
13845        (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
13846        * dom/EventTargetNode.h:
13847
138482008-06-10  Julien Chaffraix  <jchaffraix@webkit.org>
13849
13850        Reviewed by Eric.
13851
13852        Part of bug 19200: *.in files should embed more information
13853        https://bugs.webkit.org/show_bug.cgi?id=19200
13854
13855        Move more parameters to the XML files.
13856
13857        * dom/make_names.pl:
13858        * html/HTMLAttributeNames.in:
13859        * html/HTMLTagNames.in:
13860        * svg/svgattrs.in:
13861        * svg/svgtags.in:
13862
138632008-06-09  Dan Bernstein  <mitz@apple.com>
13864
13865        Reviewed by Justin Garcia.
13866
13867        - fix https://bugs.webkit.org/show_bug.cgi?id=19443
13868          <rdar://problem/5994544> REGRESSION (r32531-r32652): Moving the insertion point past a newline inserted in a text area skips the next character
13869
13870        Tests added to editing/selection/move-left-right.html
13871
13872        * editing/VisiblePosition.cpp:
13873        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): When falling
13874        back from visual to logical movement, restart at the original position
13875        rather than an intermediate position.
13876        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
13877
138782008-06-07  Brent Fulgham  <bfulgham@gmail.com>
13879
13880        Reviewed by Maciej.
13881
13882        Windows build fix.
13883
13884        * platform/graphics/win/QTMovieWin.cpp:
13885        (initializeSupportedTypes):
13886
138872008-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
13888
13889        Reviewed by Darin Adler.
13890
13891        Part of bug 19200: *.in files should embed more information
13892        https://bugs.webkit.org/show_bug.cgi?id=19200
13893
13894        - Added a parameters hash that will hold the parameters we used to give in the
13895        command line.
13896
13897        - Added "tags" / "attrs" XML tag parsing to fill the parameters hash.
13898
13899        - Moved namespace, namespaceURI, namespacePrefix and cppNamespace in the *.in
13900        files.
13901
13902        * dom/make_names.pl:
13903        * html/HTMLAttributeNames.in:
13904        * html/HTMLTagNames.in:
13905        * svg/svgattrs.in:
13906        * svg/svgtags.in:
13907        * svg/xlinkattrs.in:
13908        * xml/xmlattrs.in:
13909
139102008-06-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
13911
13912        Reviewed by Simon
13913
13914        Use the text color from QStyle when styling form elements.
13915
13916        * platform/qt/RenderThemeQt.cpp:
13917        (WebCore::RenderThemeQt::adjustButtonStyle):
13918        (WebCore::RenderThemeQt::adjustTextFieldStyle):
13919        (WebCore::RenderThemeQt::adjustMenuListStyle):
13920        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
13921
139222008-06-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
13923
13924        Reviewed by Darin.
13925
13926        Incorporated Darin's comments to bug 18965.
13927
13928        * rendering/RenderTheme.cpp:
13929
139302008-06-08  Adam Barth  <abarth@webkit.org>
13931
13932        Reviewed by Darin Adler.
13933
13934        Inherit document.URL from parent's document.URL, not document.baseURI.
13935
13936        https://bugs.webkit.org/show_bug.cgi?id=19257
13937
13938        Tests: http/tests/security/cookies/assign-document-url.html
13939               http/tests/security/cookies/base-about-blank.html
13940               http/tests/security/cookies/base-tag.html
13941               http/tests/security/cookies/basic.html
13942
13943        * dom/Document.cpp:
13944        (WebCore::Document::open):
13945
139462008-06-08  Kevin Ollivier  <kevino@theolliviers.com>
13947
13948        Reviewed by Darin Adler.
13949
13950        Fix font asserts in wx port. Our computeHash function should generate the same hash
13951        for two identical fonts which are different objects, which it wasn't doing before.
13952        
13953        https://bugs.webkit.org/show_bug.cgi?id=19310
13954
13955        * platform/graphics/wx/FontPlatformData.h:
13956        (WebCore::FontPlatformData::computeHash):
13957
139582008-06-08  Dan Bernstein  <mitz@apple.com>
13959
13960        Reviewed by Darin Adler.
13961
13962        - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns()
13963
13964        Test: fast/multicol/content-height-zero-crash.html
13965
13966        * rendering/RenderBlock.cpp:
13967        (WebCore::RenderBlock::layoutColumns): Changed to not keep creating
13968        overflow columns that have zero height, because they do not help with
13969        fitting content in.
13970
139712008-06-08  Adam Roben  <aroben@apple.com>
13972
13973        Fix Bug 18837: Database panel fails to display tables if any value is
13974        NULL
13975
13976        <https://bugs.webkit.org/show_bug.cgi?id=18837>
13977
13978        Reviewed by Darin Adler.
13979
13980        Test: manual-tests/inspector/display-sql-null.html
13981
13982        * manual-tests/inspector/display-sql-null.html: Added.
13983        * page/inspector/DatabasesPanel.js:
13984        (WebInspector.DatabasesPanel.prototype.dataGridForResult): Convert all
13985        objects to strings before operating on them.
13986
139872008-06-08  Adam Roben  <aroben@apple.com>
13988
13989        Fix Bug 19438: Transaction errors are never displayed in database
13990        query view
13991
13992        <https://bugs.webkit.org/show_bug.cgi?id=19438>
13993
13994        Reviewed by Darin Adler.
13995
13996        Test: manual-tests/inspector/display-sql-transaction-error.html
13997
13998        * manual-tests/inspector/display-sql-transaction-error.html: Added.
13999        * page/inspector/DatabaseQueryView.js:
14000        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed): Use
14001        _executeSqlError as the error callback for executeSql.
14002        (WebInspector.DatabaseQueryView.prototype._queryError): Changed to
14003        only take two parameters. This matches what we'll be passed if
14004        db.transaction fails.
14005        (WebInspector.DatabaseQueryView.prototype._executeSqlError): Added.
14006        Calls through to _queryError.
14007
140082008-06-08  Dirk Schulze  <vbs85@gmx.de>
14009
14010        Reviewed by Eric Seidel.
14011
14012        https://bugs.webkit.org/show_bug.cgi?id=18840
14013        [CAIRO] Clipping-support for SVG
14014
14015        Support for clipping in SVG/Cairo and fixes transformation of paths.
14016
14017        * platform/graphics/cairo/PathCairo.cpp:
14018        (WebCore::Path::transform):
14019        * svg/graphics/cairo/SVGResourceClipperCairo.cpp:
14020        (WebCore::SVGResourceClipper::applyClip):
14021
140222008-06-08  Dirk Schulze  <vbs85@gmx.de>
14023
14024        Reviewed by Eric Seidel.
14025
14026        https://bugs.webkit.org/show_bug.cgi?id=18663
14027        Add text-stroke support to Cairo.
14028
14029        * platform/graphics/cairo/FontCairo.cpp:
14030        (WebCore::Font::drawGlyphs):
14031
140322008-06-08  Vincent Ricard  <magic@magicninja.org>
14033
14034        Reviewed by Darin.
14035
14036        https://bugs.webkit.org/show_bug.cgi?id=16489
14037        WebKit does not support ElementTraversal specification
14038
14039        Tests: fast/dom/Element/element-traversal.html
14040
14041        * dom/Element.cpp:
14042        (WebCore::Element::firstElementChild):
14043        (WebCore::Element::lastElementChild):
14044        (WebCore::Element::previousElementSibling):
14045        (WebCore::Element::nextElementSibling):
14046        (WebCore::Element::childElementCount):
14047        * dom/Element.h:
14048        * dom/Element.idl:
14049
140502008-06-08  Bradley Meck  <genisis329@gmail.com>
14051
14052        Reviewed by Darin.
14053
14054        - fix https://bugs.webkit.org/show_bug.cgi?id=17051
14055          safari should treat "url()" as a valid CSS value
14056
14057        Test: fast/css/invalid-cursor-property-crash.html
14058
14059        Changed check for empty url() to be a check for null since url() is valid
14060        CSS even if it is empty.
14061
14062        * css/CSSParser.cpp:
14063        (WebCore::CSSParser::parseValue):
14064        (WebCore::CSSParser::parseFillImage):
14065        (WebCore::CSSParser::parseBorderImage):
14066
140672008-06-08  Vincent Ricard  <magic@magicninja.org>
14068
14069        Reviewed by Darin.
14070
14071        Bug 18041: DOMNodeRemoved events are sent twice
14072
14073        Test: fast/dom/Node/DOMNodeRemovedEvent.html
14074
14075        * dom/ContainerNode.cpp:
14076        (WebCore::ContainerNode::removeChild):
14077
140782008-06-08  Tony Chang  <idealisms@gmail.com>
14079
14080        Reviewed by Eric Seidel.
14081
14082        - fix https://bugs.webkit.org/show_bug.cgi?id=18167
14083          there should be no text-drag delay on any platform except for Mac
14084
14085        Move the drag text delay value into the platform specific files.
14086
14087        Test: editing/selection/drag-text-delay.html
14088
14089        * page/EventHandler.cpp:
14090        * page/EventHandler.h:
14091        * page/gtk/EventHandlerGtk.cpp:
14092        * page/mac/EventHandlerMac.mm:
14093        * page/qt/EventHandlerQt.cpp:
14094        * page/win/EventHandlerWin.cpp:
14095        * page/wx/EventHandlerWx.cpp:
14096
140972008-06-08  Rob Buis  <buis@kde.org>
14098
14099        Reviewed by Darin.
14100
14101        - fix https://bugs.webkit.org/show_bug.cgi?id=18512
14102          getPresentationAttribute returns a shared object
14103
14104        Test: svg/custom/getPresentationAttribute-modify.svg
14105
14106        * svg/SVGStyledElement.cpp:
14107        (WebCore::SVGStyledElement::getPresentationAttribute): Unshare the mapped style
14108        declaration if it is shared before returning the presentation attribute.
14109
141102008-06-08  Alp Toker  <alp@nuanti.com>
14111
14112        autotools/GTK+ build system cleanup. Don't include WebKit API in the
14113        WebCore build as it's no longer needed since r34426.
14114
14115        * GNUmakefile.am:
14116
141172008-06-08  Jonathan Haas <myrdred@gmail.com>
14118
14119        Reviewed by Eric Seidel.
14120        Tweaked by Darin while landing to make it compile.
14121
14122        - fix http://bugs.webkit.org/show_bug.cgi?id=19128
14123          SVG fonts don't work with medial Arabic characters
14124
14125        Haven't figured out a way to make an automated test for this.
14126
14127        * svg/SVGGlyphElement.h: Made arabicForm unsigned so it fits into
14128        its 3-bit field. Did the same for orientation's 2-bit field.
14129
14130        * svg/SVGFont.cpp: Did a bit of minor tweaking.
14131        (WebCore::isCompatibleArabicForm): Added a cast to avoid a warning
14132        since the type is now different.
14133
141342008-06-08  Eric Carlson  <eric.carlson@apple.com>
14135
14136        Reviewed by Antti.
14137
14138        - fix https://bugs.webkit.org/show_bug.cgi?id=19299
14139          <rdar://problem/5969392>
14140
14141        Generate the media MIME type list dynamically.
14142
14143        * platform/graphics/win/QTMovieWin.cpp:
14144        (initializeSupportedTypes):
14145
141462008-06-08  Christian Persch  <chpe@gnome.org>
14147
14148        Reviewed by Darin.
14149
14150        - https://bugs.webkit.org/show_bug.cgi?id=19309
14151          uninitialised variable in PluginView
14152
14153        * plugins/PluginView.cpp:
14154        (WebCore::PluginView::PluginView): Initialise the NPP's pdata member to 0.
14155
141562008-06-08  Darin Adler  <darin@apple.com>
14157
14158        Reviewed by Mitz.
14159
14160        - https://bugs.webkit.org/show_bug.cgi?id=19435
14161          fix warning in PluginDebug.h
14162
14163        * plugins/PluginDebug.h: Don't compile the errorStrings array if LOG_DISABLED is set.
14164
141652008-06-07  Dan Bernstein  <mitz@apple.com>
14166
14167        Reviewed by Dave Hyatt.
14168
14169        - fix https://bugs.webkit.org/show_bug.cgi?id=19431
14170          <rdar://problem/5994060> REGRESSION (r32406): tabs retain hover color after mouse out
14171
14172        Covered by fast/css/remove-shorthand.html
14173
14174        * css/CSSMutableStyleDeclaration.cpp:
14175        (WebCore::initShorthandMap): Fixed a typo which mapped the background
14176        shorthand to the mask properties.
14177
141782008-06-07  Brent Fulgham  <bfulgham@gmail.com>
14179
14180        Cairo build fix for r34432
14181
14182        * html/CanvasPattern.cpp:
14183        (WebCore::CanvasPattern::CanvasPattern):
14184
141852008-06-07  Darin Adler  <darin@apple.com>
14186
14187        Reviewed by Mitz.
14188
14189        - work on https://bugs.webkit.org/show_bug.cgi?id=17257
14190          start ref counts at 1 instead of 0 for speed
14191
14192        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
14193        (WebCore::toHTMLCanvasStyle):
14194        * bindings/js/JSDOMWindowBase.cpp:
14195        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
14196        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
14197        * bindings/js/JSNodeFilterCondition.h:
14198        (WebCore::JSNodeFilterCondition::create):
14199        * bindings/js/JSNodeFilterCustom.cpp:
14200        (WebCore::toNodeFilter):
14201        * bindings/js/JSSVGLazyEventListener.h:
14202        (WebCore::JSSVGLazyEventListener::create):
14203        * bindings/js/JSSVGMatrixCustom.cpp:
14204        (WebCore::JSSVGMatrix::multiply):
14205        (WebCore::JSSVGMatrix::inverse):
14206        (WebCore::JSSVGMatrix::translate):
14207        (WebCore::JSSVGMatrix::scale):
14208        (WebCore::JSSVGMatrix::scaleNonUniform):
14209        (WebCore::JSSVGMatrix::rotate):
14210        (WebCore::JSSVGMatrix::rotateFromVector):
14211        (WebCore::JSSVGMatrix::flipX):
14212        (WebCore::JSSVGMatrix::flipY):
14213        (WebCore::JSSVGMatrix::skewX):
14214        (WebCore::JSSVGMatrix::skewY):
14215        * bindings/js/JSSVGPODTypeWrapper.h:
14216        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
14217        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
14218        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
14219        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
14220        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
14221        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
14222        (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
14223        (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
14224        * bindings/js/JSSVGPointListCustom.cpp:
14225        (WebCore::commonExit):
14226        (WebCore::commonExitReadOnly):
14227        (WebCore::JSSVGPointList::initialize):
14228        (WebCore::JSSVGPointList::getItem):
14229        (WebCore::JSSVGPointList::insertItemBefore):
14230        (WebCore::JSSVGPointList::replaceItem):
14231        (WebCore::JSSVGPointList::removeItem):
14232        (WebCore::JSSVGPointList::appendItem):
14233        * bindings/js/JSSVGTransformListCustom.cpp:
14234        (WebCore::JSSVGTransformList::initialize):
14235        (WebCore::JSSVGTransformList::getItem):
14236        (WebCore::JSSVGTransformList::insertItemBefore):
14237        (WebCore::JSSVGTransformList::replaceItem):
14238        (WebCore::JSSVGTransformList::removeItem):
14239        (WebCore::JSSVGTransformList::appendItem):
14240        * bindings/js/kjs_binding.cpp:
14241        (WebCore::setDOMException):
14242        * bindings/js/kjs_events.h:
14243        (WebCore::JSUnprotectedEventListener::create):
14244        (WebCore::JSEventListener::create):
14245        (WebCore::JSLazyEventListener::create):
14246        * bindings/js/kjs_proxy.cpp:
14247        (WebCore::KJSProxy::createHTMLEventHandler):
14248        (WebCore::KJSProxy::createSVGEventHandler):
14249        * bindings/objc/DOM.mm:
14250        (WebCore::ObjCNodeFilterCondition::create):
14251        (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition):
14252        (WebCore::ObjCNodeFilterCondition::acceptNode):
14253        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
14254        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
14255        * bindings/scripts/CodeGeneratorJS.pm:
14256        * css/CSSComputedStyleDeclaration.cpp:
14257        (WebCore::valueForNinePieceImage):
14258        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
14259        * css/CSSFontFace.h:
14260        (WebCore::CSSFontFace::create):
14261        (WebCore::CSSFontFace::CSSFontFace):
14262        * css/CSSFontSelector.cpp:
14263        (WebCore::CSSFontSelector::addFontFaceRule):
14264        * css/CSSParser.cpp:
14265        (WebCore::CSSParser::parseDashboardRegions):
14266        (WebCore::CSSParser::parseCounterContent):
14267        (WebCore::CSSParser::parseShape):
14268        (WebCore::BorderImageParseContext::commitBorderImage):
14269        * css/CSSSegmentedFontFace.cpp:
14270        (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
14271        * css/CSSSegmentedFontFace.h:
14272        (WebCore::CSSSegmentedFontFace::create):
14273        * css/Counter.h:
14274        (WebCore::Counter::create):
14275        (WebCore::Counter::Counter):
14276        * css/DashboardRegion.h:
14277        (WebCore::DashboardRegion::create):
14278        (WebCore::DashboardRegion::DashboardRegion):
14279        * css/Rect.h:
14280        (WebCore::Rect::create):
14281        (WebCore::Rect::Rect):
14282        * dom/ChildNodeList.h:
14283        (WebCore::ChildNodeList::create):
14284        * dom/ClassNodeList.h:
14285        (WebCore::ClassNodeList::create):
14286        * dom/Clipboard.h:
14287        * dom/DOMCoreException.h:
14288        (WebCore::DOMCoreException::create):
14289        * dom/DOMImplementation.cpp:
14290        (WebCore::DOMImplementation::instance):
14291        * dom/DOMImplementation.h:
14292        (WebCore::DOMImplementation::DOMImplementation):
14293        * dom/Document.cpp:
14294        (WebCore::Document::addWindowEventListener):
14295        (WebCore::Document::removeWindowEventListener):
14296        (WebCore::Document::setDecoder):
14297        (WebCore::Document::images):
14298        (WebCore::Document::applets):
14299        (WebCore::Document::embeds):
14300        (WebCore::Document::plugins):
14301        (WebCore::Document::objects):
14302        (WebCore::Document::scripts):
14303        (WebCore::Document::links):
14304        (WebCore::Document::forms):
14305        (WebCore::Document::anchors):
14306        (WebCore::Document::all):
14307        (WebCore::Document::windowNamedItems):
14308        (WebCore::Document::documentNamedItems):
14309        * dom/Document.h:
14310        * dom/DynamicNodeList.h:
14311        * dom/EventException.h:
14312        (WebCore::EventException::create):
14313        (WebCore::EventException::EventException):
14314        * dom/EventListener.h:
14315        * dom/EventTarget.cpp:
14316        (WebCore::EventTarget::addEventListener):
14317        (WebCore::EventTarget::removeEventListener):
14318        * dom/ExceptionBase.cpp:
14319        (WebCore::ExceptionBase::ExceptionBase):
14320        * dom/ExceptionBase.h:
14321        * dom/NameNodeList.h:
14322        (WebCore::NameNodeList::create):
14323        * dom/Node.cpp:
14324        (WebCore::Node::childNodes):
14325        (WebCore::Node::getElementsByTagNameNS):
14326        (WebCore::Node::getElementsByName):
14327        (WebCore::Node::getElementsByClassName):
14328        (WebCore::Node::querySelectorAll):
14329        * dom/NodeFilterCondition.h:
14330        * dom/NodeList.h:
14331        * dom/RangeException.h:
14332        (WebCore::RangeException::create):
14333        (WebCore::RangeException::RangeException):
14334        * dom/RegisteredEventListener.h:
14335        (WebCore::RegisteredEventListener::create):
14336        * dom/SelectorNodeList.cpp:
14337        (WebCore::createSelectorNodeList):
14338        * dom/SelectorNodeList.h:
14339        * dom/StaticNodeList.cpp:
14340        (WebCore::StaticNodeList::StaticNodeList):
14341        * dom/StaticNodeList.h:
14342        (WebCore::StaticNodeList::adopt):
14343        * dom/TagNodeList.h:
14344        (WebCore::TagNodeList::create):
14345        * history/HistoryItem.cpp:
14346        (WebCore::defaultNotifyHistoryItemChanged):
14347        (WebCore::HistoryItem::HistoryItem):
14348        (WebCore::HistoryItem::copy):
14349        * history/HistoryItem.h:
14350        (WebCore::HistoryItem::create):
14351        * html/CanvasGradient.h:
14352        * html/CanvasPattern.cpp:
14353        (WebCore::CanvasPattern::CanvasPattern):
14354        * html/CanvasPattern.h:
14355        (WebCore::CanvasPattern::create):
14356        * html/CanvasRenderingContext2D.cpp:
14357        (WebCore::CanvasRenderingContext2D::State::State):
14358        (WebCore::CanvasRenderingContext2D::setStrokeColor):
14359        (WebCore::CanvasRenderingContext2D::setFillColor):
14360        (WebCore::CanvasRenderingContext2D::createPattern):
14361        * html/CanvasStyle.cpp:
14362        (WebCore::CanvasStyle::CanvasStyle):
14363        * html/CanvasStyle.h:
14364        (WebCore::CanvasStyle::create):
14365        * html/HTMLCollection.cpp:
14366        (WebCore::HTMLCollection::HTMLCollection):
14367        (WebCore::HTMLCollection::create):
14368        * html/HTMLCollection.h:
14369        * html/HTMLElement.cpp:
14370        (WebCore::HTMLElement::children):
14371        * html/HTMLFormCollection.cpp:
14372        (WebCore::HTMLFormCollection::create):
14373        * html/HTMLFormCollection.h:
14374        * html/HTMLFormElement.cpp:
14375        (WebCore::HTMLFormElement::elements):
14376        * html/HTMLMapElement.cpp:
14377        (WebCore::HTMLMapElement::areas):
14378        * html/HTMLMediaElement.cpp:
14379        (WebCore::HTMLMediaElement::load):
14380        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
14381        (WebCore::HTMLMediaElement::willSaveToCache):
14382        * html/HTMLNameCollection.h:
14383        (WebCore::HTMLNameCollection::create):
14384        * html/HTMLOptionsCollection.cpp:
14385        (WebCore::HTMLOptionsCollection::create):
14386        * html/HTMLOptionsCollection.h:
14387        * html/HTMLSelectElement.cpp:
14388        (WebCore::HTMLSelectElement::options):
14389        * html/HTMLTableElement.cpp:
14390        (WebCore::HTMLTableElement::rows):
14391        (WebCore::HTMLTableElement::tBodies):
14392        * html/HTMLTableRowElement.cpp:
14393        (WebCore::HTMLTableRowElement::cells):
14394        * html/HTMLTableRowsCollection.cpp:
14395        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
14396        (WebCore::HTMLTableRowsCollection::create):
14397        * html/HTMLTableRowsCollection.h:
14398        * html/HTMLTableSectionElement.cpp:
14399        (WebCore::HTMLTableSectionElement::rows):
14400        * html/MediaError.h:
14401        (WebCore::MediaError::create):
14402        (WebCore::MediaError::MediaError):
14403        * loader/CachedCSSStyleSheet.cpp:
14404        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
14405        * loader/CachedFont.cpp:
14406        (WebCore::CachedFont::ensureSVGFontData):
14407        * loader/CachedXSLStyleSheet.cpp:
14408        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
14409        * loader/FrameLoader.cpp:
14410        (WebCore::FrameLoader::write):
14411        (WebCore::FrameLoader::createHistoryItem):
14412        * loader/ImageDocument.cpp:
14413        (WebCore::ImageEventListener::create):
14414        (WebCore::ImageEventListener::ImageEventListener):
14415        (WebCore::ImageDocument::createDocumentStructure):
14416        * loader/TextResourceDecoder.h:
14417        (WebCore::TextResourceDecoder::create):
14418        * page/Page.cpp:
14419        (WebCore::Page::userStyleSheet):
14420        * svg/SVGException.h:
14421        (WebCore::SVGException::create):
14422        (WebCore::SVGException::SVGException):
14423        * svg/animation/SVGSMILElement.cpp:
14424        (WebCore::ConditionEventListener::create):
14425        (WebCore::ConditionEventListener::ConditionEventListener):
14426        (WebCore::SVGSMILElement::connectConditions):
14427        * xml/XMLHttpRequest.cpp:
14428        (WebCore::XMLHttpRequest::didReceiveData):
14429        * xml/XMLHttpRequestException.h:
14430        (WebCore::XMLHttpRequestException::create):
14431        (WebCore::XMLHttpRequestException::XMLHttpRequestException):
14432        * xml/XPathException.h:
14433        (WebCore::XPathException::create):
14434        (WebCore::XPathException::XPathException):
14435        * xml/XPathResult.cpp:
14436        (WebCore::InvalidatingEventListener::create):
14437        (WebCore::InvalidatingEventListener::InvalidatingEventListener):
14438        (WebCore::XPathResult::XPathResult):
14439        * xml/XSLTProcessor.cpp:
14440        (WebCore::XSLTProcessor::createDocumentFromSource):
14441
144422008-06-07  Christian Dywan  <christian@twotoasts.de>
14443
14444        Reviewed by Alp Toker.
14445
14446        https://bugs.webkit.org/show_bug.cgi?id=17324
14447        Remove PLATFORM ifdefs from ContextMenu.cpp
14448
14449        * platform/ContextMenu.cpp:
14450        (WebCore::ContextMenu::populate):
14451
144522008-06-07  Eric Seidel  <eric@webkit.org>
14453
14454        Reviewed by ap.
14455
14456        Still more CSSParser cleanup
14457        - use c++ style member initializers in CSSParser()
14458        - change m_styleElement to m_styleSheet and make it a CSSStyleSheet
14459        - finally add my copyright to the files I've been cleaning
14460
14461        * css/CSSGrammar.y:
14462        * css/CSSParser.cpp:
14463        (WebCore::CSSParser::CSSParser):
14464        (WebCore::CSSParser::setupParser):
14465        (WebCore::CSSParser::parseValue):
14466        (WebCore::CSSParser::parseColor):
14467        (WebCore::CSSParser::parseDeclaration):
14468        (WebCore::CSSParser::parseContent):
14469        (WebCore::CSSParser::parseFillImage):
14470        (WebCore::CSSParser::parseFontFaceSrc):
14471        (WebCore::CSSParser::parseBorderImage):
14472        (WebCore::CSSParser::createCharsetRule):
14473        (WebCore::CSSParser::createImportRule):
14474        (WebCore::CSSParser::createMediaRule):
14475        (WebCore::CSSParser::createStyleRule):
14476        * css/CSSParser.h:
14477        * css/SVGCSSParser.cpp:
14478
144792008-06-07  Eric Seidel  <eric@webkit.org>
14480
14481        Reviewed by ap.
14482
14483        More CSSParser cleanup
14484        - rename CSSParser::id to m_id
14485        - rename CSSParser::data to m_data
14486        - fix a few whitespace and argument name issues
14487
14488        * css/CSSGrammar.y:
14489        * css/CSSParser.cpp:
14490        (WebCore::CSSParser::CSSParser):
14491        (WebCore::CSSParser::~CSSParser):
14492        (WebCore::CSSParser::setupParser):
14493        (WebCore::CSSParser::parseValue):
14494        * css/CSSParser.h:
14495
144962008-06-07  Eric Seidel  <eric@webkit.org>
14497
14498        Reviewed by ap.
14499
14500        Rename CSSParser::strict to m_strict
14501
14502        * css/CSSGrammar.y:
14503        * css/CSSParser.cpp:
14504        (WebCore::CSSParser::CSSParser):
14505        (WebCore::CSSParser::parseColor):
14506        (WebCore::CSSParser::parseValue):
14507        (WebCore::CSSParser::parseBackgroundColor):
14508        (WebCore::CSSParser::parseFillPositionXY):
14509        (WebCore::CSSParser::parseFillSize):
14510        (WebCore::CSSParser::parseTransitionDuration):
14511        (WebCore::CSSParser::parseTransitionRepeatCount):
14512        (WebCore::CSSParser::parseTimingFunctionValue):
14513        (WebCore::CSSParser::parseDashboardRegions):
14514        (WebCore::CSSParser::parseShape):
14515        (WebCore::CSSParser::parseFont):
14516        (WebCore::CSSParser::parseColorFromValue):
14517        (WebCore::CSSParser::parseShadow):
14518        (WebCore::CSSParser::parseReflect):
14519        (WebCore::CSSParser::parseBorderImage):
14520        * css/CSSParser.h:
14521
145222008-06-07  Eric Seidel  <eric@webkit.org>
14523
14524        Reviewed by ap.
14525
14526        Rename CSSParser::defaultNamespace to m_defaultNamespace
14527
14528        * css/CSSGrammar.y:
14529        * css/CSSParser.cpp:
14530        (WebCore::CSSParser::CSSParser):
14531        (WebCore::CSSParser::parseSheet):
14532        * css/CSSParser.h:
14533        * css/CSSStyleSheet.cpp:
14534        (WebCore::CSSStyleSheet::addNamespace):
14535
145362008-06-07  Eric Seidel  <eric@webkit.org>
14537
14538        Reviewed by ap.
14539
14540        Rename CSSParser::important to m_important
14541
14542        * css/CSSGrammar.y:
14543        * css/CSSParser.cpp:
14544        (WebCore::CSSParser::CSSParser):
14545        (WebCore::CSSParser::parseValue):
14546        (WebCore::CSSParser::parseFontFaceSrc):
14547        (WebCore::CSSParser::parseFontFaceUnicodeRange):
14548        * css/CSSParser.h:
14549
145502008-06-07  Eric Seidel  <eric@webkit.org>
14551
14552        Reviewed by ap.
14553
14554        Rename CSSParser::rule to m_rule
14555
14556        * css/CSSGrammar.y:
14557        * css/CSSParser.cpp:
14558        (WebCore::CSSParser::parseSheet):
14559        (WebCore::CSSParser::parseRule):
14560        (WebCore::CSSParser::parseValue):
14561        (WebCore::CSSParser::parseColor):
14562        (WebCore::CSSParser::parseDeclaration):
14563        * css/CSSParser.h:
14564
145652008-06-07  Eric Seidel  <eric@webkit.org>
14566
14567        Reviewed by ap.
14568
14569        Yet another cleanup patch for CSSParser
14570        Rename CSSParser::valueList to m_valueList
14571
14572        * css/CSSGrammar.y:
14573        * css/CSSParser.cpp:
14574        (WebCore::CSSParser::CSSParser):
14575        (WebCore::CSSParser::~CSSParser):
14576        (WebCore::CSSParser::checkForOrphanedUnits):
14577        (WebCore::CSSParser::parseValue):
14578        (WebCore::CSSParser::parseFillShorthand):
14579        (WebCore::CSSParser::parseTransitionShorthand):
14580        (WebCore::CSSParser::parseShorthand):
14581        (WebCore::CSSParser::parse4Values):
14582        (WebCore::CSSParser::parseContent):
14583        (WebCore::CSSParser::parseFillImage):
14584        (WebCore::CSSParser::parseFillPositionXY):
14585        (WebCore::CSSParser::parseFillPosition):
14586        (WebCore::CSSParser::parseFillSize):
14587        (WebCore::CSSParser::parseFillProperty):
14588        (WebCore::CSSParser::parseTransitionProperty):
14589        (WebCore::CSSParser::parseDashboardRegions):
14590        (WebCore::CSSParser::parseShape):
14591        (WebCore::CSSParser::parseFont):
14592        (WebCore::CSSParser::parseFontFamily):
14593        (WebCore::CSSParser::parseFontFaceSrc):
14594        (WebCore::CSSParser::parseFontFaceUnicodeRange):
14595        (WebCore::CSSParser::parseColor):
14596        (WebCore::CSSParser::parseShadow):
14597        (WebCore::CSSParser::parseReflect):
14598        (WebCore::BorderImageParseContext::commitBorderImage):
14599        (WebCore::CSSParser::parseBorderImage):
14600        (WebCore::CSSParser::parseCounter):
14601        (WebCore::CSSParser::parseGradient):
14602        (WebCore::CSSParser::parseCanvas):
14603        (WebCore::CSSParser::parseTransform):
14604        (WebCore::CSSParser::parseTransformOrigin):
14605        * css/CSSParser.h:
14606        * css/SVGCSSParser.cpp:
14607        (WebCore::CSSParser::parseSVGValue):
14608        (WebCore::CSSParser::parseSVGStrokeDasharray):
14609        (WebCore::CSSParser::parseSVGPaint):
14610        (WebCore::CSSParser::parseSVGColor):
14611
146122008-06-07  Eric Seidel  <eric@webkit.org>
14613
14614        Reviewed by ap.
14615
14616        More cleanup to CSSParser, rename mediaQuery to m_mediaQuery
14617        Remove CSSParser::current and CSSParser::currentParser and use
14618        the magic of YYLEX_PARAM instead.
14619
14620        * css/CSSParser.cpp:
14621        (WebCore::enterGeneratedParser):
14622        (WebCore::CSSParser::parseSheet):
14623        (WebCore::CSSParser::parseRule):
14624        (WebCore::CSSParser::parseValue):
14625        (WebCore::CSSParser::parseColor):
14626        (WebCore::CSSParser::parseDeclaration):
14627        (WebCore::CSSParser::parseMediaQuery):
14628        * css/CSSParser.h:
14629
146302008-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
14631
14632        Reviewed by Eric.
14633
14634        Part of bug 19200: *.in files should embed more information
14635        https://bugs.webkit.org/show_bug.cgi?id=19200
14636
14637        - Added XML attributes' parsing.
14638
14639        - Moved (most) capitalization and audio hacks in the *.in files.
14640
14641        * dom/make_names.pl:
14642        * html/HTMLTagNames.in:
14643        * svg/svgtags.in:
14644
146452008-06-07  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
14646
14647        With the help of Jonathon Jongsma.
14648
14649        Reviewed by Dan Bernstein.
14650
14651        Fix for https://bugs.webkit.org/show_bug.cgi?id=19279
14652        REGRESSION (r32660): Text not redrawn correctly when selection changes
14653
14654        * rendering/InlineTextBox.cpp:
14655        (WebCore::InlineTextBox::paint):
14656        Add a condition for when ePos <= sPos 
14657
146582008-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
14659
14660        Reviewed by Eric.
14661
14662        Part of bug 19200: *.in files should embed more information
14663        https://bugs.webkit.org/show_bug.cgi?id=19200
14664
14665        - Switched *.in files to XML format.
14666
14667        - Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser.
14668
14669        - Updated the build systems to include bindings/scripts when executing make_names.pl
14670        (for XMLTiny dependency).
14671
14672        - Cleaned-up make_names.pl a little.
14673
14674        * DerivedSources.make:
14675        * GNUmakefile.am:
14676        * WebCore.pro:
14677        * bindings/scripts/XMLTiny.pm: Added.
14678        * dom/make_names.pl:
14679        * html/HTMLAttributeNames.in:
14680        * html/HTMLTagNames.in:
14681        * svg/svgattrs.in:
14682        * svg/svgtags.in:
14683        * svg/xlinkattrs.in:
14684        * xml/xmlattrs.in:
14685
146862008-06-06  Robert Blaut  <webkit@blaut.biz>
14687
14688        Reviewed by Darin Adler.
14689
14690        Fix for https://bugs.webkit.org/show_bug.cgi?id=19407 
14691        CSS3 Selector Test: *= ~= ^= $= should all accept the empty string, but match nothing
14692
14693        Test: fast/css/begin-end-contain-selector-empty-value.html
14694
14695        * css/CSSStyleSelector.cpp:
14696        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
14697
146982008-06-06  Eric Seidel  <eric@webkit.org>
14699
14700        Reviewed by mitz.
14701
14702        More cleanup of CSSParser.
14703        Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_*
14704
14705        * css/CSSGrammar.y:
14706        * css/CSSParser.cpp:
14707        (WebCore::CSSParser::CSSParser):
14708        (WebCore::CSSParser::parseValue):
14709        (WebCore::CSSParser::parseColor):
14710        (WebCore::CSSParser::parseDeclaration):
14711        (WebCore::CSSParser::addProperty):
14712        (WebCore::CSSParser::rollbackLastProperties):
14713        (WebCore::CSSParser::clearProperties):
14714        (WebCore::CSSParser::parse4Values):
14715        (WebCore::CSSParser::createStyleRule):
14716        (WebCore::CSSParser::createFontFaceRule):
14717        * css/CSSParser.h:
14718        * css/SVGCSSParser.cpp:
14719        (WebCore::CSSParser::parseSVGValue):
14720
147212008-06-06  Eric Seidel  <eric@webkit.org>
14722
14723        Reviewed by mitz.
14724
14725        More cleanup of CSSParser.
14726        Rename CSSParser::parsedProperties to m_parsedProperties.
14727
14728        * css/CSSParser.cpp:
14729        (WebCore::CSSParser::CSSParser):
14730        (WebCore::CSSParser::~CSSParser):
14731        (WebCore::CSSParser::parseValue):
14732        (WebCore::CSSParser::parseColor):
14733        (WebCore::CSSParser::parseDeclaration):
14734        (WebCore::CSSParser::addProperty):
14735        (WebCore::CSSParser::rollbackLastProperties):
14736        (WebCore::CSSParser::clearProperties):
14737        (WebCore::CSSParser::parse4Values):
14738        (WebCore::CSSParser::createStyleRule):
14739        (WebCore::CSSParser::createFontFaceRule):
14740        * css/CSSParser.h:
14741        * css/SVGCSSParser.cpp:
14742        (WebCore::CSSParser::parseSVGValue):
14743
147442008-06-06  Eric Seidel  <eric@webkit.org>
14745
14746        Reviewed by mitz.
14747
14748        Start the cleanup of CSSParser.
14749        Rename CSSParser::styleElement to CSSParser::m_styleElement
14750
14751        * css/CSSGrammar.y:
14752        * css/CSSParser.cpp:
14753        (WebCore::CSSParser::document):
14754        (WebCore::CSSParser::parseValue):
14755        (WebCore::CSSParser::parseContent):
14756        (WebCore::CSSParser::parseFillImage):
14757        (WebCore::CSSParser::parseFontFaceSrc):
14758        (WebCore::CSSParser::parseBorderImage):
14759        (WebCore::CSSParser::createCharsetRule):
14760        (WebCore::CSSParser::createImportRule):
14761        (WebCore::CSSParser::createMediaRule):
14762        (WebCore::CSSParser::createStyleRule):
14763        * css/CSSParser.h:
14764
147652008-06-06  Anthony Ricaud  <rik24d@gmail.com>
14766
14767        Reviewed by adele.  Landed by eseidel.
14768
14769        https://bugs.webkit.org/show_bug.cgi?id=18337
14770        
14771        Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox.
14772        
14773        * html/HTMLSelectElement.cpp:
14774        (WebCore::HTMLSelectElement::typeAheadFind):
14775
147762008-06-05  Justin Garcia  <justin.garcia@apple.com>
14777
14778        Reviewed by John.
14779
14780        <rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break
14781        
14782        Serialization of font-family:-webkit-monospace when it came from a 
14783        CSSMutableStyleDeclaration would wrap the value in single quotes but 
14784        serialization of the same property value pair from a CSSComputedStyleDeclaration 
14785        wouldn't, which kept code that checked for and removed non-redundant styles from 
14786        style spans from working correctly.
14787
14788        A redundant style left on a style span would not normally create a rendering 
14789        difference, but it did in this case because an element with 
14790        font-family:-webkit-monospace does not appear to inherit font-size.  
14791        Added a FIXME about how we might need to keep font-size on a style span if its 
14792        non-redundant styles include font-family:-webkit-monospace, although I couldn't 
14793        create a test case to produce this scenario.
14794
14795        * css/FontFamilyValue.cpp:
14796        (WebCore::isValidCSSIdentifier): Don't return false if the String starts
14797        with a '-'.  This function now appears identical to isCSSTokenizerIdentifier,
14798        so perhaps we should use a single function.
14799        * editing/ReplaceSelectionCommand.cpp:
14800        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME.  Removed the
14801        creation of two Strings that were never used.
14802
148032008-06-06  Justin Garcia  <justin.garcia@apple.com>
14804
14805        Reviewed by Darin.
14806
14807        <https://bugs.webkit.org/show_bug.cgi?id=19087>
14808        Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode
14809
14810        * editing/DeleteSelectionCommand.cpp:
14811        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle
14812        can destroy insertedPlaceholder if it needs to move it, but it will set an
14813        endingSelection() at [movedPlaceholder, 0] if it does so.  Re-fetch insertedPlaceholder
14814        if that happens.  The long term solution for these crashes is to make moveParagraphs
14815        not copy/destroy/move content, and to make VisiblePositions update themselves on DOM 
14816        mutations.
14817        * editing/IndentOutdentCommand.cpp:
14818        (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this
14819        in the future, but ASSERT to catch them in debug builds.
14820
148212008-06-05  Justin Garcia  <justin.garcia@apple.com>
14822
14823        Reviewed by Eric.
14824
14825        <https://bugs.webkit.org/show_bug.cgi?id=19403>
14826        ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call
14827
14828        * editing/RemoveFormatCommand.cpp:
14829        (WebCore::RemoveFormatCommand::doApply): If the selection was all
14830        formatting (like an empty list) the format-less text will be empty.
14831        Early return to avoid the ASSERT that fires if input(...) is called
14832        with an empty String.
14833
148342008-06-05  Alp Toker  <alp@nuanti.com>
14835
14836        Build fix for r34387.
14837
14838        * GNUmakefile.am:
14839
148402008-06-05  Justin Garcia  <justin.garcia@apple.com>
14841
14842        Reviewed by Eric.
14843
14844        <https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints
14845        
14846        ApplyStyleCommand::applyInlineStyle does some work and then checks to see
14847        if the start offset of the Range it's operating on is now past the caretMaxOffset
14848        of the start container.  If it is, applyInlineStyle updates the position to 
14849        [startContainer->traverseNextNode(), 0] and then operates on that new start
14850        position.
14851        
14852        caretMaxOffset was incorrect for horizontal rules.  It should be 1 and it was 0.  So,
14853        if the horizontal rule was the last node in the document, applyInlineStyle would update
14854        its start position to [0, 0] and then try to operate on that position, assuming it was
14855        non-null, leading to the ASSERT.
14856        
14857        * rendering/RenderObject.cpp:
14858        (WebCore::RenderObject::caretMaxOffset):
14859
148602008-06-05  Chris Fleizach  <cfleizach@apple.com>
14861
14862        Reviewed by John Sullivan.
14863
14864        <rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle
14865
14866        * page/AccessibilityListBoxOption.cpp:
14867        (WebCore::AccessibilityListBoxOption::stringValue):
14868        * page/AccessibilityListBoxOption.h:
14869
148702008-06-05  Justin Garcia  <justin.garcia@apple.com>
14871
14872        Reviewed by Harrison.
14873
14874        <rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice
14875        <rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion
14876        <rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element
14877        
14878        A crash would occur when indenting a selection that started just before a table
14879        and ended inside that table.  With a selection like this, we'd indent the entire
14880        table, then try and indent paragraphs inside it, but the stored position for the
14881        next paragraph to indent was inside content that had been removed from the document 
14882        during the first Indent.
14883        
14884        Fixed the crash adjusting the selection to perform the indent on to prepare it
14885        for paragraph iteration using selectionForParagraphIteration.  We do this adjustment
14886        for paragraph iteration in InsertList as well.
14887        
14888        Also, indenting paragraphs inside table cells would break table structure because 
14889        we were splitting the DOM all the way up to the root editable element to insert
14890        a blockquote.  Fixed this by only splitting up to the enclosing table cell.  This 
14891        matches FF.  Lastly, fixed a bug where indenting several paragraphs inside different 
14892        table cells would move all the selected text into the same table cell. FF still has 
14893        this bug.
14894
14895        * editing/IndentOutdentCommand.cpp:
14896        (WebCore::IndentOutdentCommand::indentRegion):
14897
148982008-06-05  chris fleizach  <cfleizach@apple.com>
14899
14900        Reviewed by Alice Liu.
14901
14902         <rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable
14903
14904        * page/AccessibilityListBox.cpp:
14905        (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
14906        (WebCore::AccessibilityListBox::setSelectedChildren):
14907        (WebCore::AccessibilityListBox::selectedChildren):
14908        (WebCore::AccessibilityListBox::visibleChildren):
14909        * page/AccessibilityListBox.h:
14910        * page/AccessibilityListBoxOption.cpp:
14911        (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
14912        (WebCore::AccessibilityListBoxOption::setSelected):
14913        * page/AccessibilityListBoxOption.h:
14914        (WebCore::AccessibilityListBoxOption::selectedChildren):
14915        (WebCore::AccessibilityListBoxOption::visibleChildren):
14916        * page/AccessibilityObject.cpp:
14917        (WebCore::AccessibilityObject::setSelected):
14918        (WebCore::AccessibilityObject::getDocumentLinks):
14919        * page/AccessibilityObject.h:
14920        (WebCore::AccessibilityObject::canSetSelectedAttribute):
14921        (WebCore::AccessibilityObject::canSetSelectedChildrenAttribute):
14922        (WebCore::AccessibilityObject::children):
14923        * page/AccessibilityRenderObject.cpp:
14924        (WebCore::AccessibilityRenderObject::getDocumentLinks):
14925        (WebCore::AccessibilityRenderObject::children):
14926        (WebCore::AccessibilityRenderObject::addChildren):
14927        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
14928        (WebCore::AccessibilityRenderObject::selectedChildren):
14929        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
14930        (WebCore::AccessibilityRenderObject::visibleChildren):
14931        * page/AccessibilityRenderObject.h:
14932        * page/mac/AccessibilityObjectWrapper.mm:
14933        (convertToVector):
14934        (convertToNSArray):
14935        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
14936        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
14937        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
14938
149392008-06-04  David Hyatt  <hyatt@apple.com>
14940
14941        Fix for <rdar://problem/5957994> Height doesn't animate
14942
14943        Improve the behavior when transitions are dynamically changed.  Make sure to leave older transitions
14944        running and let them obsolete themselves when they finish.
14945
14946        Reviewed by Dan Bernstein
14947
14948        Added WebCore/manual-tests/transitions2.html (must be tested manually)
14949
14950        * manual-tests/transitions.html:
14951        * manual-tests/transitions2.html: Added.
14952        * page/AnimationController.cpp:
14953        (WebCore::ImplicitAnimation::property):
14954        (WebCore::ImplicitAnimation::setFinished):
14955        (WebCore::ImplicitAnimation::markedForDeath):
14956        (WebCore::ImplicitAnimation::setMarkedForDeath):
14957        (WebCore::ImplicitAnimation::ImplicitAnimation):
14958        (WebCore::ImplicitAnimation::reset):
14959        (WebCore::ImplicitAnimation::animate):
14960        (WebCore::CompositeImplicitAnimation::animate):
14961
149622008-06-05  Eric Seidel  <eric@webkit.org>
14963
14964        Reviewed by mjs.
14965
14966        Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor.
14967
14968        No functional changes, thus no tests.
14969
14970        * xml/XPathValue.h:
14971        (WebCore::XPath::Value::Value): initialize all values in each constructor
14972
149732008-06-05  Eric Seidel  <eric@webkit.org>
14974
14975        Reviewed by hyatt.
14976
14977        No functional changes, thus no tests.
14978
14979        * platform/graphics/Color.h: remove unnecessary bitfield use
14980
149812008-06-05  Antti Koivisto  <antti@apple.com>
14982
14983        Reviewed by Dave Hyatt.
14984        
14985        Make hasFeature() return true for the animation stuff.
14986
14987        * dom/DOMImplementation.cpp:
14988        (WebCore::isSVG11Feature):
14989
149902008-06-05  Dan Bernstein  <mitz@apple.com>
14991
14992        Reviewed by Darin Adler.
14993
14994        - fix https://bugs.webkit.org/show_bug.cgi?id=19397
14995          REGRESSION (3.1-TOT): Box-shadow renders weird when rotating a div with border radius
14996
14997        Test: fast/transforms/shadows.html
14998
14999        * platform/graphics/cg/GraphicsContextCG.cpp:
15000        (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow
15001        dimensions are always in device space. Account for that, and apply the
15002        current context transform to shadow offset, and multiply the blur radius
15003        by the inverse of the operator norm of the inverse transform (which is
15004        the radius of the circle inscribed in the transformed unit circle). 
15005        * rendering/RenderObject.cpp:
15006        (WebCore::RenderObject::paintBoxShadow): Added 1px separation between
15007        the edge of the filled shape and the edge of the clipped-out shape,
15008        because in a transformed context, due to antialiasing, the fill can
15009        bleed into the clip if they touch.
15010
150112008-06-05  Tor Arne Vestbø  <tavestbo@trolltech.com>
15012
15013        Reviewed by Simon.
15014
15015        Prevent cycles when converting from DOM objects to
15016        QVariant, due to cycles in the DOM tree.
15017
15018        * bridge/qt/qt_runtime.cpp:
15019        (KJS::Bindings::convertValueToQVariant):
15020
150212008-06-04  Anders Carlsson  <andersca@apple.com>
15022
15023        Reviewed by Mitz.
15024
15025        Get rid of DeprecatedPtrList from StyleSheetList.
15026        
15027        * css/CSSStyleSelector.cpp:
15028        (WebCore::CSSStyleSelector::CSSStyleSelector):
15029        * css/StyleSheetList.cpp:
15030        (WebCore::StyleSheetList::~StyleSheetList):
15031        (WebCore::StyleSheetList::length):
15032        (WebCore::StyleSheetList::item):
15033        * css/StyleSheetList.h:
15034        (WebCore::StyleSheetList::swap):
15035        * dom/Document.cpp:
15036        (WebCore::Document::recalcStyleSelector):
15037
150382008-06-04  Anders Carlsson  <andersca@apple.com>
15039
15040        Reviewed by Darin.
15041
15042        Convert more classes over to start out with a ref count of 1.
15043        
15044        * css/CSSImageGeneratorValue.cpp:
15045        (WebCore::CSSImageGeneratorValue::generatedImage):
15046        * css/CSSImageValue.cpp:
15047        (WebCore::CSSImageValue::cachedImage):
15048        * css/CSSMediaRule.cpp:
15049        (WebCore::CSSMediaRule::CSSMediaRule):
15050        * css/CSSParser.cpp:
15051        (WebCore::CSSParser::parseValue):
15052        (WebCore::CSSParser::parseFillSize):
15053        (WebCore::CSSParser::parseCounter):
15054        (WebCore::CSSParser::createRuleList):
15055        * css/CSSRuleList.cpp:
15056        (WebCore::CSSRuleList::CSSRuleList):
15057        * css/CSSRuleList.h:
15058        (WebCore::CSSRuleList::create):
15059        * css/CSSStyleSelector.cpp:
15060        (WebCore::CSSStyleSelector::matchRules):
15061        (WebCore::CSSStyleSelector::styleRulesForElement):
15062        * css/CSSStyleSelector.h:
15063        * css/CSSStyleSheet.cpp:
15064        (WebCore::CSSStyleSheet::cssRules):
15065        (WebCore::CSSStyleSheet::addSubresourceURLStrings):
15066        * css/CSSStyleSheet.h:
15067        (WebCore::CSSStyleSheet::rules):
15068        * css/Pair.h:
15069        (WebCore::Pair::create):
15070        (WebCore::Pair::Pair):
15071        * html/HTMLMediaElement.cpp:
15072        (WebCore::HTMLMediaElement::buffered):
15073        (WebCore::HTMLMediaElement::played):
15074        (WebCore::HTMLMediaElement::seekable):
15075        * html/TimeRanges.cpp:
15076        (TimeRanges::TimeRanges):
15077        * html/TimeRanges.h:
15078        (WebCore::TimeRanges::create):
15079        (WebCore::TimeRanges::TimeRanges):
15080        * rendering/style/RenderStyle.cpp:
15081        (WebCore::RenderStyle::addCursor):
15082        (WebCore::RenderStyle::clearCursorList):
15083        * rendering/style/RenderStyle.h:
15084        (WebCore::StyleImage::~StyleImage):
15085        (WebCore::StyleImage::StyleImage):
15086        (WebCore::StyleCachedImage::create):
15087        (WebCore::StyleCachedImage::StyleCachedImage):
15088        (WebCore::StyleGeneratedImage::create):
15089        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
15090        (WebCore::CursorList::create):
15091        (WebCore::CursorList::CursorList):
15092
150932008-06-04  chris fleizach  <cfleizach@apple.com>
15094
15095        Reviewed by Dave Hyatt, Alice, Liu
15096
15097        <rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute
15098
15099        * page/AccessibilityRenderObject.cpp:
15100        (WebCore::AccessibilityRenderObject::isFocused):
15101
151022008-06-03  Beth Dakin  <bdakin@apple.com>
15103
15104        Reviewed by Adele.
15105
15106        Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit 
15107        Crashing Constantly on Gmail with accessibility turned on
15108
15109        There was a missing null-check!
15110
15111        * page/AccessibilityRenderObject.cpp:
15112        (WebCore::AccessibilityRenderObject::roleValue):
15113
151142008-06-04  Anders Carlsson  <andersca@apple.com>
15115
15116        Reviewed by Sam.
15117
15118        Convert more classes to start with a ref count of 1.
15119        
15120        * bindings/js/JSCustomVoidCallback.cpp:
15121        (WebCore::toVoidCallback):
15122        * bindings/js/JSCustomVoidCallback.h:
15123        (WebCore::JSCustomVoidCallback::create):
15124        * css/StyleSheetList.cpp:
15125        (WebCore::StyleSheetList::StyleSheetList):
15126        * css/StyleSheetList.h:
15127        (WebCore::StyleSheetList::create):
15128        * dom/Document.cpp:
15129        (WebCore::Document::Document):
15130        (WebCore::Document::createNodeIterator):
15131        (WebCore::Document::createTreeWalker):
15132        * dom/NodeIterator.h:
15133        (WebCore::NodeIterator::create):
15134        * dom/Traversal.cpp:
15135        (WebCore::Traversal::Traversal):
15136        * dom/Traversal.h:
15137        * dom/TreeWalker.h:
15138        (WebCore::TreeWalker::create):
15139        * history/CachedPage.cpp:
15140        (WebCore::CachedPage::create):
15141        (WebCore::CachedPage::CachedPage):
15142        * html/CanvasGradient.cpp:
15143        (WebCore::CanvasGradient::CanvasGradient):
15144        * html/CanvasGradient.h:
15145        (WebCore::CanvasGradient::create):
15146        * html/CanvasRenderingContext2D.cpp:
15147        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
15148        (WebCore::CanvasRenderingContext2D::createLinearGradient):
15149        (WebCore::CanvasRenderingContext2D::createRadialGradient):
15150        * html/CanvasRenderingContext2D.h:
15151        (WebCore::CanvasRenderingContext2D::create):
15152        * html/HTMLCanvasElement.cpp:
15153        (WebCore::HTMLCanvasElement::getContext):
15154        * html/VoidCallback.h:
15155        (WebCore::VoidCallback::VoidCallback):
15156        * loader/FormState.cpp:
15157        (WebCore::FormState::create):
15158        (WebCore::FormState::FormState):
15159        * platform/text/RegularExpression.cpp:
15160        (WebCore::RegularExpression::Private::create):
15161        (WebCore::RegularExpression::Private::Private):
15162        (WebCore::RegularExpression::RegularExpression):
15163        * storage/SQLResultSet.cpp:
15164        (WebCore::SQLResultSet::SQLResultSet):
15165        * storage/SQLResultSetRowList.h:
15166        (WebCore::SQLResultSetRowList::create):
15167        (WebCore::SQLResultSetRowList::SQLResultSetRowList):
15168
151692008-06-04  Dan Bernstein  <mitz@apple.com>
15170
15171        Reviewed by Dave Hyatt.
15172
15173        - fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()
15174
15175        Test: fast/multicol/gap-non-negative.html
15176
15177        * css/CSSParser.cpp:
15178        (WebCore::CSSParser::parseValue): Changed to not allow negative
15179        values for column-gap, per
15180        <http://www.w3.org/TR/2001/WD-css3-multicol-20010118/#column-gap>.
15181
151822008-06-04  Dan Bernstein  <mitz@apple.com>
15183
15184        Reviewed by Dave Hyatt.
15185
15186        - fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()
15187
15188        Test: fast/reflections/table-cell.html
15189
15190        * rendering/RenderTableCell.cpp:
15191        (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check
15192        parent().
15193        (WebCore::RenderTableCell::absolutePosition): Ditto.
15194
151952008-06-04  Alexey Proskuryakov  <ap@webkit.org>
15196
15197        Reviewed by Darin.
15198
15199        Fix JSClassCreate to work with old JSCore API threading model.
15200
15201        * ForwardingHeaders/wtf/StrHash.h: Removed (moved into ustring.h).
15202
152032008-06-03  Antti Koivisto  <antti@apple.com>
15204
15205        Reviewed by Darin.
15206        
15207        https://bugs.webkit.org/show_bug.cgi?id=19384
15208        Implement path morphing for SVG animation
15209        
15210        You can animate smoothly between paths that have equal number of control points of matching type.
15211
15212        Test: svg/custom/animate-path-morphing.svg
15213
15214        * svg/SVGAnimateElement.cpp:
15215        (WebCore::SVGAnimateElement::determinePropertyType):
15216        (WebCore::SVGAnimateElement::calculateAnimatedValue):
15217        (WebCore::SVGAnimateElement::calculateFromAndToValues):
15218        (WebCore::SVGAnimateElement::resetToBaseValue):
15219        (WebCore::SVGAnimateElement::applyResultsToTarget):
15220        * svg/SVGAnimateElement.h:
15221        (WebCore::SVGAnimateElement::):
15222        * svg/SVGPathSegList.cpp:
15223        (WebCore::blendFunc):
15224        (WebCore::SVGPathSegList::createAnimated):
15225        * svg/SVGPathSegList.h:
15226
152272008-06-03  Darin Adler  <darin@apple.com>
15228
15229        - try to fix the Qt build
15230
15231        * bridge/qt/qt_runtime.cpp:
15232        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument.
15233        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
15234        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
15235        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
15236        (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction.
15237        * bridge/qt/qt_runtime.h: More of the same.
15238
152392008-06-03  Justin Garcia  <justin.garcia@apple.com>
15240
15241        Reviewed by John.
15242
15243        <rdar://problem/5763082> GMail: Hang when removing indent from nested list
15244        <rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
15245        <rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor
15246
15247        * editing/InsertListCommand.cpp:
15248        (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove 
15249        the last paragraph of the selection from the document if it's in the same list 
15250        item as startOfCurrentParagraph.  Return early to avoid an infinite loop and 
15251        because there is no more work to be done.  Added a FIXME (<rdar://problem/5983974>)
15252        about the incorrect endingSelection()s.
15253
152542008-06-03  Oliver Hunt  <oliver@apple.com>
15255
15256        Reviewed by Tim.
15257
15258        Bug 12983: Web Inspector break on the debugger keyword
15259        <https://bugs.webkit.org/show_bug.cgi?id=12983>
15260
15261        Added support for the new debugger didReachBreakpoint 
15262        callback so that WebInspector receives the debugger event
15263        and breaks.
15264
15265        * page/JavaScriptDebugServer.cpp:
15266        (WebCore::JavaScriptDebugServer::didReachBreakpoint):
15267        * page/JavaScriptDebugServer.h:
15268
152692008-06-03  Darin Adler  <darin@apple.com>
15270
15271        Reviewed by Geoff.
15272
15273        - https://bugs.webkit.org/show_bug.cgi?id=19269
15274          speed up SunSpider by eliminating the toObject call for most get/put/delete
15275
15276        Eliminate the originalObject argument from property getter functions; it's no longer
15277        available and was used only for JavaScript function-based getters and setters.
15278
15279        Updated callers of PropertySlot::setUndefined. It no longer takes a base argument.
15280
15281        * bindings/js/JSQuarantinedObjectWrapper.cpp:
15282        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Removed the originalObject
15283        argument.
15284        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Changed to initialize the
15285        PropertySlot with the original object -- this is a new requirement.
15286
15287        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15288        (WebCore::JSCSSStyleDeclaration::nameGetter):
15289        * bindings/js/JSCanvasPixelArrayCustom.cpp:
15290        (WebCore::JSCanvasPixelArray::indexGetter):
15291        * bindings/js/JSDOMWindowBase.cpp:
15292        (WebCore::JSDOMWindowBase::childFrameGetter):
15293        (WebCore::JSDOMWindowBase::indexGetter):
15294        (WebCore::JSDOMWindowBase::namedItemGetter):
15295        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
15296        * bindings/js/JSDOMWindowBase.h:
15297        * bindings/js/JSDOMWindowCustom.h:
15298        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
15299        * bindings/js/JSHTMLAppletElementCustom.cpp:
15300        (WebCore::JSHTMLAppletElement::nameGetter):
15301        * bindings/js/JSHTMLCollectionCustom.cpp:
15302        (WebCore::JSHTMLCollection::nameGetter):
15303        * bindings/js/JSHTMLDocumentCustom.cpp:
15304        (WebCore::JSHTMLDocument::nameGetter):
15305        * bindings/js/JSHTMLEmbedElementCustom.cpp:
15306        (WebCore::JSHTMLEmbedElement::nameGetter):
15307        * bindings/js/JSHTMLFormElementCustom.cpp:
15308        (WebCore::JSHTMLFormElement::nameGetter):
15309        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
15310        (WebCore::JSHTMLFrameSetElement::nameGetter):
15311        * bindings/js/JSHTMLObjectElementCustom.cpp:
15312        (WebCore::JSHTMLObjectElement::nameGetter):
15313        * bindings/js/JSHistoryCustom.cpp:
15314        (WebCore::JSHistory::customGetOwnPropertySlot):
15315        * bindings/js/JSLocationCustom.cpp:
15316        (WebCore::JSLocation::customGetOwnPropertySlot):
15317        * bindings/js/JSMimeTypeArrayCustom.cpp:
15318        (WebCore::JSMimeTypeArray::nameGetter):
15319        * bindings/js/JSNamedNodeMapCustom.cpp:
15320        (WebCore::JSNamedNodeMap::nameGetter):
15321        * bindings/js/JSNamedNodesCollection.cpp:
15322        (WebCore::JSNamedNodesCollection::lengthGetter):
15323        (WebCore::JSNamedNodesCollection::indexGetter):
15324        * bindings/js/JSNamedNodesCollection.h:
15325        * bindings/js/JSNodeListCustom.cpp:
15326        (WebCore::JSNodeList::nameGetter):
15327        * bindings/js/JSPluginArrayCustom.cpp:
15328        (WebCore::JSPluginArray::nameGetter):
15329        * bindings/js/JSPluginCustom.cpp:
15330        (WebCore::JSPlugin::nameGetter):
15331        * bindings/js/JSQuarantinedObjectWrapper.h:
15332        * bindings/js/JSStorageCustom.cpp:
15333        (WebCore::JSStorage::nameGetter):
15334        * bindings/js/JSStyleSheetListCustom.cpp:
15335        (WebCore::JSStyleSheetList::nameGetter):
15336        * bindings/js/kjs_binding.cpp:
15337        (WebCore::nonCachingStaticFunctionGetter):
15338        (WebCore::objectToStringFunctionGetter):
15339        * bindings/js/kjs_binding.h:
15340        * bindings/js/kjs_html.cpp:
15341        (WebCore::runtimeObjectGetter):
15342        (WebCore::runtimeObjectPropertyGetter):
15343        * bindings/js/kjs_html.h:
15344        * bindings/scripts/CodeGeneratorJS.pm:
15345        * bridge/objc/objc_runtime.mm:
15346        (ObjcFallbackObjectImp::getOwnPropertySlot):
15347        * bridge/runtime_array.cpp:
15348        (RuntimeArray::lengthGetter):
15349        (RuntimeArray::indexGetter):
15350        * bridge/runtime_array.h:
15351        * bridge/runtime_method.cpp:
15352        (RuntimeMethod::lengthGetter):
15353        * bridge/runtime_method.h:
15354        * bridge/runtime_object.cpp:
15355        (RuntimeObjectImp::fallbackObjectGetter):
15356        (RuntimeObjectImp::fieldGetter):
15357        (RuntimeObjectImp::methodGetter):
15358        * bridge/runtime_object.h:
15359        Removed originalObject arguments from getter fnctions and base arguments from
15360        calls to setUndefined.
15361
153622008-06-03  Darin Adler  <darin@apple.com>
15363
15364        Fix build with GCC.
15365
15366        * page/AccessibilityRenderObject.cpp:
15367        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
15368        Put a default case back in the switch statement so we don't get warned about
15369        all the unhandled cases with GCC. Remove the unreachable code that was causing
15370        a warning in Visual Studio.
15371
153722008-06-03  Steve Falkenburg  <sfalken@apple.com>
15373
15374        Fix build
15375
15376        * page/AccessibilityRenderObject.cpp:
15377        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
15378
153792008-06-03  Justin Garcia  <justin.garcia@apple.com>
15380
15381        Reviewed by John Sullivan.
15382
15383        <rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work
15384        
15385        next/previousLinePosition didn't work if the input position was the last line in its
15386        block.  The code for handling such a position assumed that the input position was
15387        editable, and that the position to be returned needed to also be editable.  Changed
15388        this code to just maintain the same editability.
15389        
15390        No test case for now because we haven't enabled selection extension operations for
15391        non-editable selections.  I enabled them temporarily to test the fix, however.
15392
15393        * dom/Node.cpp: Removed the now unused nextEditable(int).
15394        * dom/Node.h:
15395        * editing/visible_units.cpp:
15396        (WebCore::previousLeafWithSameEditability): Added.  Like previousEditable but just returns
15397        a node of the same editability.
15398        (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable.
15399        (WebCore::nextLeafWithSameEditability): Added.
15400        (WebCore::nextLinePosition): Same as above.
15401
154022008-06-02  Anders Carlsson  <andersca@apple.com>
15403
15404        Reviewed by John and Sam.
15405
15406        <rdar://problem/5955218> 
15407        Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)
15408        
15409        * loader/appcache/ApplicationCacheGroup.h:
15410        (WebCore::ApplicationCacheGroup::hasNewestCache):
15411        Add new accessor.
15412        
15413        * loader/appcache/ApplicationCacheStorage.cpp:
15414        (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
15415        Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer.
15416        
154172008-06-03  Dan Bernstein  <mitz@apple.com>
15418
15419        Reviewed by Dave Hyatt.
15420
15421        - fix <rdar://problem/5965410>
15422          In fixed table layout, the width of cells with auto width should be
15423          proportional to their column span, to match Firefox and IE.
15424
15425        Test: fast/table/fixed-with-auto-with-colspan.html
15426
15427        * rendering/FixedTableLayout.cpp:
15428        (WebCore::FixedTableLayout::layout):
15429
154302008-06-03  Alp Toker  <alp@nuanti.com>
15431
15432        Rubber-stamped by Alexey.
15433
15434        Remove GenerateNativeConverter added in r34331 to fix JS regressions.
15435        (JSTextCustom.cpp added in r34141 is now unused in any code path.)
15436
15437        * dom/Text.idl:
15438
154392008-06-03  Alexander Vassilev <avasilev@voipgate.com>
15440
15441        Reviewed, tweaked and landed by Alexey.
15442
15443        https://bugs.webkit.org/show_bug.cgi?id=19363
15444        Compiler error in Entity.h
15445
15446        * dom/Entity.h:
15447        (WebCore::Entity::Entity): Add a private constructor to shut down the errors.
15448
154492008-06-02  Geoffrey Garen  <ggaren@apple.com>
15450
15451        Reviewed by Alexey Proskuryakov.
15452        
15453        Removed JSObject::call, since it just called JSObject::callAsFunction.
15454        
15455        SunSpider reports no change.
15456
154572008-06-02  Alp Toker  <alp@nuanti.com>
15458
15459        Reviewed by Maciej.
15460
15461        Two of the toJSNewlyCreated() optimisations in r34141 were never
15462        reached due to a generator bug and missing IDL attribute.
15463
15464        Fix header generation to provide the necessary toJSNewlyCreated()
15465        overloads.
15466
15467        Patch includes a related build fix by Jan Michael Alonzo.
15468
15469        * GNUmakefile.am:
15470        * bindings/scripts/CodeGeneratorJS.pm:
15471        * dom/Text.idl:
15472
154732008-06-02  Alice Liu  <alice.liu@apple.com>
15474
15475        Reviewed by Beth Dakin.
15476
15477        Some ARIA roles are designated to have presentational children, which
15478        means that their descendants aren't exposed to assistive technologies
15479        on an individual basis.  What this means in webcore is that descendants
15480        of such roles need to be ignored in terms of accessibility.
15481
15482        * page/AccessibilityObject.cpp:
15483        (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
15484        (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
15485        * page/AccessibilityObject.h:
15486        * page/AccessibilityRenderObject.cpp:
15487        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
15488        (WebCore::RoleEntry::):
15489        (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
15490        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
15491        * page/AccessibilityRenderObject.h:
15492
154932008-06-02  David Hyatt  <hyatt@apple.com>
15494
15495        Fix for https://bugs.webkit.org/show_bug.cgi?id=19303
15496
15497        When the right slice value is omitted in border-image it should use the value of the left slice and not
15498        the top slice.
15499
15500        Reviewed by darin
15501
15502        Added fast/borders/border-image-omit-right-slice.html
15503
15504        * css/CSSParser.cpp:
15505        (WebCore::BorderImageParseContext::commitBorderImage)
15506
155072008-06-02  Anders Carlsson  <andersca@apple.com>
15508
15509        Reviewed by David Hyatt and Mitz.
15510
15511        <rdar://problem/5704119> 
15512        repro crash in WebCore::RenderPart::setWidget (plugin-related?)
15513        
15514        Test: platform/mac/plugins/update-widget-from-style-recalc.html
15515
15516        Make sure to update the document's rendering before calling updateWidget.
15517        
15518        * html/HTMLEmbedElement.cpp:
15519        (WebCore::HTMLEmbedElement::updateWidget):
15520        * html/HTMLObjectElement.cpp:
15521        (WebCore::HTMLObjectElement::updateWidget):
15522
155232008-06-02  Kevin McCullough  <kmccullough@apple.com>
15524
15525        Reviewed by Adam.
15526
15527        <rdar://problem/5954226> JSProfiler: Move the calls from
15528        JavaScriptProfileNode to JavaScriptProfile in WebCore (19231)
15529        - This Makes the profiler now call sorting function s on a per-profile
15530        basis instead of on a node in the profile.
15531        - This is also needed to remove the recursion limit in the profiler
15532        <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
15533        profiler
15534        since once the limit is removed calling sort on a node will only sort
15535        that node's children not the entire sub-tree of that node.
15536
15537        * page/JavaScriptProfile.cpp: All of these functions were moved from 
15538        JavaScriptProfileNode.
15539        (WebCore::sortTotalTimeDescending):
15540        (WebCore::sortTotalTimeAscending):
15541        (WebCore::sortSelfTimeDescending):
15542        (WebCore::sortSelfTimeAscending):
15543        (WebCore::sortCallsDescending):
15544        (WebCore::sortCallsAscending):
15545        (WebCore::sortFunctionNameDescending):
15546        (WebCore::sortFunctionNameAscending):
15547        (WebCore::ProfileClass):
15548        * page/JavaScriptProfileNode.cpp:
15549        (WebCore::ProfileNodeClass):
15550        * page/inspector/ProfileView.js: Change uses of JavaScriptProfileNode
15551        for sorting to JavaScriptProfile.
15552
155532008-06-02  Dan Bernstein  <mitz@apple.com>
15554
15555        Reviewed by Oliver Hunt.
15556
15557        - fix more cases of https://bugs.webkit.org/show_bug.cgi?id=19344
15558          <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas
15559
15560        Tests: fast/canvas/shadow-offset-1.html
15561               fast/canvas/shadow-offset-2.html
15562               fast/canvas/shadow-offset-3.html
15563               fast/canvas/shadow-offset-4.html
15564               fast/canvas/shadow-offset-5.html
15565               fast/canvas/shadow-offset-6.html
15566               fast/canvas/shadow-offset-7.html
15567
15568        * html/CanvasRenderingContext2D.cpp:
15569        (WebCore::adjustedShadowSize): Added this helper function.
15570        (WebCore::CanvasRenderingContext2D::setShadow): Changed to call
15571        adjustedShadowSize().
15572        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
15573
155742008-06-02  Julien Chaffraix  <jchaffraix@webkit.org>
15575
15576        Reviewed by Darin.
15577
15578        Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception
15579        https://bugs.webkit.org/show_bug.cgi?id=18066
15580
15581        Test: fast/dom/createAttribute-exception.html
15582
15583        * dom/Document.cpp:
15584        (WebCore::Document::createAttributeNS):
15585        * dom/Document.h: Add a bool parameter shouldIgnoreNamespaceChecks
15586        to createNamespaceNS() used by createAttribute() to bypass namespace
15587        checking.
15588
155892008-06-02  Darin Adler  <darin@apple.com>
15590
15591        Reviewed by John Sullivan.
15592
15593        - fix https://bugs.webkit.org/show_bug.cgi?id=18799
15594          apl.aip.org menu does not work (property names should be case sensitive)
15595          <rdar://problem/5900484>
15596
15597        Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
15598
15599        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15600        (WebCore::hasCSSPropertyNamePrefix): Tweak implementation a tiny bit for
15601        improved performance when the first character does not match.
15602        (WebCore::cssPropertyName): Reject property names with a leading uppercase
15603        letter.
15604
156052008-06-02  Darin Adler  <darin@apple.com>
15606
15607        Reviewed by Mitz.
15608
15609        - fix https://bugs.webkit.org/show_bug.cgi?id=19358
15610          <rdar://problem/5951986> first line break in <pre> elements ignored
15611          (chess boards at http://rankzero.de/)
15612
15613        Test: fast/parser/pre-first-line-break.html
15614
15615        * editing/markup.cpp:
15616        (WebCore::appendStartMarkup): Fix handling of <listing>. Not part of the
15617        bug mentioned above, but uncovered by the regression test.
15618
15619        * html/HTMLTokenizer.cpp:
15620        (WebCore::HTMLTokenizer::write): Clear the "discardLF" flag when
15621        processing a new tag.
15622
156232008-06-02  Timothy Hatcher  <timothy@apple.com>
15624
15625        Fixes a bug where only the last breakpoint would be hit after reloading
15626        the page. Also fixes a bug where disabled breakpoints would be hit
15627        after reloading the page.
15628
15629        Reviewed by Darin Adler.
15630
15631        * page/inspector/BreakpointsSidebarPane.js:
15632        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): Don't call
15633        InspectorController.addBreakpoint() unless the breakpoint is enabled.
15634        * page/inspector/ScriptsPanel.js:
15635        (WebInspector.ScriptsPanel.prototype.addScript): Move the addBreakpoint()
15636        call inside the for loop so each breakpoint is added. Also check the
15637        breakpoint's enabled state before calling addBreakpoint().
15638
156392008-06-02  Timothy Hatcher  <timothy@apple.com>
15640
15641        Fixes a bug where the line highlight and the execution line were conflicting.
15642        The line highlight no longer shows up when the execution line changes, only
15643        when showResource or showScript is called with a line number.
15644
15645        Reviewed by Darin Adler.
15646
15647        * page/inspector/ScriptsPanel.js:
15648        (WebInspector.ScriptsPanel.prototype.showScript): Pass true for shouldHighlightLine.
15649        (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
15650        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Added a shouldHighlightLine
15651        argument that triggers the highlightLine() call on the SourceFrame.
15652        (WebInspector.ScriptsPanel.prototype._goBack): Pass false for shouldHighlightLine since
15653        we need to pass true for fromBackForwardAction.
15654        (WebInspector.ScriptsPanel.prototype._goForward): Ditto.
15655
156562008-06-02  Timothy Hatcher  <timothy@apple.com>
15657
15658        Bring the Web Inspector forward when the debugger pauses.
15659
15660        https://bugs.webkit.org/show_bug.cgi?id=19095
15661
15662        Reviewed by Darin Adler.
15663
15664        * page/inspector/ScriptsPanel.js:
15665        (WebInspector.ScriptsPanel.prototype.debuggerPaused): Call window.focus() and
15666        make the Scripts panel the current panel.
15667
156682008-06-02  Jan Michael Alonzo  <jmalonzo@webkit.org>
15669
15670        Reviewed by Alp Toker.
15671
15672        Build WebCore GTK+ sources as part of WebCore, not WebKit.
15673        Split common and GTK+-specific sources into separate file lists.
15674
15675        * GNUmakefile.am:
15676
156772008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>
15678
15679        Reviewed by Simon.
15680
15681        Implement basic media element controls for the QtWebKit port.
15682
15683        * platform/qt/RenderThemeQt.cpp:
15684        (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
15685        (WebCore::WorldMatrixTransformer::~WorldMatrixTransformer):
15686        (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
15687        (WebCore::RenderThemeQt::paintMediaBackground):
15688        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
15689        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
15690        (WebCore::RenderThemeQt::paintMediaMuteButton):
15691        (WebCore::RenderThemeQt::paintMediaPlayButton):
15692        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
15693        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
15694        (WebCore::RenderThemeQt::paintMediaSliderTrack):
15695        (WebCore::RenderThemeQt::paintMediaSliderThumb):
15696        (WebCore::RenderThemeQt::adjustSliderThumbSize):
15697        * platform/qt/RenderThemeQt.h:
15698        * platform/qt/html4-adjustments-qt.css:
15699
157002008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>
15701
15702        Reviewed by Simon.
15703
15704        Change default styling of media elements to allow controls
15705        to be placed at any position within the media element.
15706
15707        * css/html4.css:
15708
157092008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>
15710
15711        Reviewed by Simon.
15712
15713        Use intrinsic size for media elements with no natural size.
15714
15715        * rendering/RenderVideo.cpp:
15716        (WebCore::RenderVideo::videoSizeChanged):
15717
157182008-05-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
15719
15720        Reviewed by Simon.
15721
15722        Allow platform specific adjustments to the default style sheet.
15723
15724        Clients will change the #ifdef in RenderTheme.cpp and implement
15725        any platform specific adjustments in RenderThemeXXX.cpp, either
15726        by loading a file as the Qt port does, or by modifying the style
15727        directly.
15728
15729        * WebCore.pro: Add new resource file
15730        * css/CSSStyleSelector.cpp:
15731        (WebCore::loadDefaultStyle): adjust default stylesheet
15732        * platform/qt/RenderThemeQt.cpp:
15733        (WebCore::RenderTheme::adjustDefaultStyleSheet): Qt adjustments
15734        * platform/qt/WebCoreResources.qrc: Added.
15735        * platform/qt/html4-adjustments-qt.css: Added.
15736        * rendering/RenderTheme.cpp: Default adjustments (none)
15737        * rendering/RenderTheme.h:
15738
157392008-06-02  Siraj Razick  <siraj.razick@collabora.co.uk>
15740
15741        Reviewed by Simon
15742
15743        Allow button fonts to scale based on the text size multiplier.
15744
15745        https://bugs.webkit.org/show_bug.cgi?id=19251
15746
15747        * platform/qt/RenderThemeQt.cpp:
15748        (WebCore::RenderThemeQt::adjustButtonStyle):
15749
157502008-06-01  Rob Buis  <buis@kde.org>
15751
15752        Reviewed by Darin.
15753
15754        https://bugs.webkit.org/show_bug.cgi?id=15823
15755        getPropertyValue for border returns null, should compute the shorthand value
15756
15757        Compute the value for the border shorthand property by computing
15758        its shorthand subproperties.
15759
15760        Test: fast/css/getPropertyValue-border.html
15761
15762        * css/CSSMutableStyleDeclaration.cpp:
15763        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
15764        (WebCore::CSSMutableStyleDeclaration::getCommonValue):
15765        * css/CSSMutableStyleDeclaration.h:
15766
157672008-06-01  Dan Bernstein  <mitz@apple.com>
15768
15769        Reviewed by Darin Adler.
15770
15771        - fix https://bugs.webkit.org/show_bug.cgi?id=19344
15772          <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas
15773
15774        Test: fast/canvas/shadow-offset.html
15775
15776        * html/CanvasRenderingContext2D.cpp:
15777        (WebCore::CanvasRenderingContext2D::applyShadow): Slightly increase the
15778        magnitude of the offsets passed to CGContextSetShadow* to ensure that
15779        the end result after truncation is the desired integer offsets. This is
15780        the same workaround for <rdar://problem/5539388> that is used in
15781        GraphicsContext::setShadow(). Also correct a recent regression where
15782        shadow Y offsets were flipped.
15783
157842008-05-31  Maciej Stachowiak  <mjs@apple.com>
15785
15786        Reviewed by Sam.
15787
15788        - avoid assertion in updateDocument() when running debug
15789
15790        * bindings/js/kjs_proxy.cpp:
15791        (WebCore::KJSProxy::updateDocument): Exit early if the document is null. We
15792        don't need to update in this case.
15793
157942008-05-30  Dan Bernstein  <mitz@apple.com>
15795
15796        Reviewed by Darin Adler.
15797
15798        - fix https://bugs.webkit.org/show_bug.cgi?id=19278
15799          <rdar://problem/5968621> REGRESSION (r31114-r31132): image float disappears on refresh
15800
15801        Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break.html
15802
15803        * rendering/bidi.cpp:
15804        (WebCore::RenderBlock::layoutInlineChildren): Ensured that floats
15805        occurring in trailing whitespace after a line break are added to the
15806        last line's floats vector.
15807
158082008-05-30  Timothy Hatcher  <timothy@apple.com>
15809
15810        Implements the back and forward buttons in the Scripts panel.
15811
15812        Reviewed by Adam Roben.
15813
15814        * page/inspector/ScriptsPanel.js:
15815        (WebInspector.ScriptsPanel): Add the back and forward button elements
15816        and remove the FIXMEs.
15817        (WebInspector.ScriptsPanel.prototype.reset): Reset _backForwardList
15818        and _currentBackForwardIndex. Then call _updateBackAndForwardButtons().
15819        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
15820        Added a fromBackForwardAction argument. If fromBackForwardAction is false
15821        then update the _currentBackForwardIndex and _backForwardList.
15822        (WebInspector.ScriptsPanel.prototype._updateBackAndForwardButtons):
15823        Update the disabled state of the buttons.
15824        (WebInspector.ScriptsPanel.prototype._goBack): Update the _currentBackForwardIndex
15825        and call _showScriptOrResource() and _updateBackAndForwardButtons().
15826        (WebInspector.ScriptsPanel.prototype._goForward): Ditto.
15827
158282008-05-30  Timothy Hatcher  <timothy@apple.com>
15829
15830        Made clicking a Console message URL originating from a JavaScript
15831        source show the Resource in the Scripts panel. This only happens
15832        when the debugger is attached.
15833
15834        Reviewed by Adam Roben.
15835
15836        * page/inspector/Console.js:
15837        (WebInspector.Console.prototype._formaterror):
15838        Add a preferredPanel of "scripts".
15839        (WebInspector.ConsoleMessage.prototype.toMessageElement):
15840        Add a preferredPanel of "scripts" when the source is JS.
15841        * page/inspector/ScriptView.js:
15842        (WebInspector.ScriptView.prototype.highlightLine): Added.
15843        Calls through to the sourceFrame. Matches SourceView.
15844        * page/inspector/ScriptsPanel.js:
15845        (WebInspector.ScriptsPanel.prototype.canShowResource): Added.
15846        Returns true if the debugger is attached and the resource has scripts.
15847        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Call
15848        highlightLine on the view.
15849        * page/inspector/inspector.js:
15850        (WebInspector.documentClick): Pass the preferredPanel to showResourceForURL.
15851        (WebInspector.showResourceForURL): Resolve the preferredPanel from the string
15852        passed in. Checks if the panel implements showResource and canShowResource.
15853        Reverts to the Resources panel if any of that is false or not implemented.
15854
158552008-05-30  Timothy Hatcher  <timothy@apple.com>
15856
15857        Fixed an "undefined type" exception that was being thrown when
15858        selecting a eval script from the file menu in the Scripts panel.
15859        This would also happen when stepping into an eval which would
15860        break other parts of the Inspector interface.
15861
15862        Reviewed by Adam Roben.
15863
15864        * page/inspector/ScriptsPanel.js:
15865        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
15866        Use the scriptOrResource variable instead of the undefined script variable.
15867
158682008-05-30  Timothy Hatcher  <timothy@apple.com>
15869
15870        Made the starting line number of scripts be 1-based throughout the engine.
15871        This cleans up script line numbers so they are all consistent now and fixes
15872        some cases where script execution was shown as off by one line in the debugger.
15873
15874        Doing this also exposed a bug where JSLazyEventListener created in XHML or SVG
15875        documents would always have a line number of 0. So this change fixed that bug
15876        to pass all the SVG and XHTML tests.
15877
15878        All layout tests pass.
15879
15880        Reviewed by Oliver Hunt.
15881
15882        * bindings/js/kjs_events.cpp:
15883        (WebCore::JSLazyEventListener::JSLazyEventListener): Set the line number to 1
15884        if it was passed in as 0. This can happen when listeners are created with
15885        a setAttribute call from JavaScript.
15886        (WebCore::JSLazyEventListener::parseCode): Add a FIXME about the URL being
15887        incorrect when listeners are created with a setAttribute call from JavaScript.
15888        * bindings/js/kjs_events.h: Remove the default value for lineNumber, since no
15889        callers need it.
15890        * bindings/objc/WebScriptObject.mm:
15891        (-[WebScriptObject evaluateWebScript:]): Pass a line number of 1 instead of 0
15892        to Interpreter::evaluate().
15893        * bridge/NP_jsobject.cpp:
15894        (_NPN_Evaluate): Ditto.
15895        * bridge/jni/jni_jsobject.mm:
15896        (JavaJSObject::eval): Ditto.
15897        * dom/XMLTokenizer.cpp:
15898        (WebCore::XMLTokenizer::startElementNs): Call KJSProxy::setEventHandlerLineno()
15899        around the call to handleElementAttributes, so any JSLazyEventListener created
15900        from those attributes have line numbers.
15901        (WebCore::XMLTokenizer::endElementNs): Remove a minus 1 of the line number.
15902        (WebCore::XMLTokenizer::notifyFinished): Pass a line number of 1 instead of 0.
15903        (WebCore::XMLTokenizer::parseEndElement): Remove a minus 1 of the line number.
15904        * html/HTMLScriptElement.cpp:
15905        (WebCore::HTMLScriptElement::evaluateScript): Add a FIXME about the starting
15906        line number being incorrect in some cases when this function is called.
15907        * html/HTMLTokenizer.cpp:
15908        (WebCore::HTMLTokenizer::parseSpecial): Add a plus 1 to the line number when
15909        setting scriptStartLineno so it is 1-based. Same for calling setEventHandlerLineno().
15910        (WebCore::HTMLTokenizer::processToken): Ditto.
15911        * html/HTMLTokenizer.h: Change the default line number on scriptExecution() to 1 from 0.
15912        * loader/FrameLoader.cpp:
15913        (FrameLoader::executeIfJavaScriptURL): Pass a line number of 1 instead of 0 to executeScript().
15914
159152008-05-30  Maciej Stachowiak  <mjs@apple.com>
15916
15917        Reviewed by Oliver (earlier version reviewed by Alexey).
15918
15919        - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
15920        https://bugs.webkit.org/show_bug.cgi?id=19285
15921        
15922        ("This Time for Sure" Edition)
15923
15924        I'm pretty sure this fixes it but I have not been able to
15925        reproduce and am unsure if my theory of the bug is right.
15926
15927        I belive the bug was because JSDOMWindowBase accessed
15928        JSDOMWindowShell in its destructor to remove itself from a
15929        hashtable, but GC destructor order is not guaranteed, so the
15930        hashtable may have been freed already. This patch changes things
15931        so that a non-GC object (the KJSProxy) does the tracking of live
15932        window objects for a frame. JSDOMWindowBase can null check the frame
15933        pointer to verify if it is still good.
15934        
15935        In addition, we must create a similar setup between DOMWindow and
15936        Frame; since the DOMWindow of a given frame can now change over
15937        time, we must ensure that the Frame disconnects every live
15938        DOMWindow when destroyed, not just the last.
15939
15940        * bindings/js/JSDOMWindowBase.cpp:
15941        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
15942        * bindings/js/JSDOMWindowShell.cpp:
15943        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
15944        * bindings/js/JSDOMWindowShell.h:
15945        (WebCore::JSDOMWindowShell::setWindow):
15946        * bindings/js/kjs_proxy.cpp:
15947        (WebCore::KJSProxy::clear):
15948        (WebCore::KJSProxy::initScript):
15949        (WebCore::KJSProxy::updateDocument):
15950        * bindings/js/kjs_proxy.h:
15951        (WebCore::KJSProxy::clearFormerWindow):
15952        * page/DOMWindow.cpp:
15953        (WebCore::DOMWindow::~DOMWindow):
15954        * page/Frame.cpp:
15955        (WebCore::Frame::~Frame):
15956        (WebCore::Frame::setDocument):
15957        (WebCore::Frame::clearDOMWindow):
15958        (WebCore::Frame::clearFormerDOMWindow):
15959        * page/Frame.h:
15960        * page/FramePrivate.h:
15961
159622008-05-30  Dan Bernstein  <mitz@apple.com>
15963
15964        Reviewed by Darin Adler and Dave Hyatt.
15965
15966        - eliminate excessive repainting when an object's final position
15967          after layout is unchanged
15968
15969        * rendering/RenderBlock.cpp:
15970        (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint
15971        for the case that the final position is unchanged but the position at
15972        which an intermediate layout occurred was different. Any repainting
15973        done during the intermediate layout would have happened at the object's
15974        initial (and also final) coordinates, since layoutDelta is factored
15975        into repaint rect calculations.
15976
159772008-05-30  Chris Fleizach  <cfleizach@apple.com>
15978
15979        Reviewed by Beth Dakin.
15980
15981        <rdar://problem/5959478> r34079: AX: crash at stringForReplacedNode
15982
15983        * page/AccessibilityObject.cpp:
15984        (WebCore::stringForReplacedNode):
15985
159862008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>
15987
15988        Reviewed by Simon.
15989
15990        Fix the build dependencies for the Qt build. Don't generate
15991        SVGCSSPropertyNames.cpp for every build.
15992
15993        * WebCore.pro: The output file was renamed, so the compiler rule needs
15994        to be adjusted in order for qmake to generate correct depdencies.
15995
159962008-05-30  Maciej Stachowiak  <mjs@apple.com>
15997
15998        Revert fix for 19285, it just caused more crashes and I need time
15999        to fix it properly.
16000
16001        * bindings/js/JSDOMWindowBase.cpp:
16002        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
16003        * bindings/js/JSDOMWindowShell.cpp:
16004        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
16005        (WebCore::JSDOMWindowShell::updateDocument):
16006        * bindings/js/JSDOMWindowShell.h:
16007        (WebCore::JSDOMWindowShell::setWindow):
16008        (WebCore::JSDOMWindowShell::clearFormerWindow):
16009        * bindings/js/kjs_proxy.cpp:
16010        (WebCore::KJSProxy::clear):
16011        (WebCore::KJSProxy::initScript):
16012        * bindings/js/kjs_proxy.h:
16013        * page/Frame.cpp:
16014        (WebCore::Frame::setDocument):
16015
160162008-05-30  Adam Treat  <treat@kde.org>
16017
16018        Reviewed by Simon.
16019
16020        Fix a huge memory leak by ensuring that on application shutdown
16021        the shared timer is fired one last time if it is active. This
16022        ensures that the GCController timer is fired at the end to free
16023        references to JavaScript objects.
16024
16025        * platform/qt/SharedTimerQt.h:
16026        (WebCore::SharedTimerQt::cleanup):
16027        (WebCore::SharedTimerQt::inst):
16028
160292008-05-30  Alexey Proskuryakov  <ap@webkit.org>
16030
16031        Reviewed by Darin.
16032
16033        http://bugs.webkit.org/show_bug.cgi?id=7466
16034        <rdar://problem/4657563> Use of Ctrl as access key modifier conflicts with Mac OS X
16035        emacs-style keybindings
16036
16037        * page/EventHandler.cpp:
16038        (WebCore::EventHandler::handleAccessKey): Use Ctrl+Option for access keys on Mac OS X.
16039
160402008-05-30  Maciej Stachowiak  <mjs@apple.com>
16041
16042        Reviewed by Alexey.
16043        
16044        - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
16045        https://bugs.webkit.org/show_bug.cgi?id=19285
16046
16047        I'm pretty sure this fixes it but I have not been able to
16048        reproduce and am unsure if my theory of the bug is right.
16049
16050        I belive the bug was because JSDOMWindowBase accessed
16051        JSDOMWindowShell in its destructor to remove itself from a
16052        hashtable, but GC destructor order is not guaranteed, so the
16053        hashtable may have been freed already. This patch changes things
16054        so that a non-GC object (the KJSProxy) does the tracking of live
16055        window objects for a frame. JSDOMWindowBase can null check the frame
16056        pointer to verify if it is still good.
16057        
16058        * bindings/js/JSDOMWindowBase.cpp:
16059        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
16060        * bindings/js/JSDOMWindowShell.cpp:
16061        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
16062        * bindings/js/JSDOMWindowShell.h:
16063        (WebCore::JSDOMWindowShell::setWindow):
16064        * bindings/js/kjs_proxy.cpp:
16065        (WebCore::KJSProxy::clear):
16066        (WebCore::KJSProxy::initScript):
16067        (WebCore::KJSProxy::updateDocument):
16068        * bindings/js/kjs_proxy.h:
16069        (WebCore::KJSProxy::clearFormerWindow):
16070        * page/Frame.cpp:
16071        (WebCore::Frame::setDocument):
16072
160732008-05-29  Chris Fleizach  <cfleizach@apple.com>
16074
16075        Reviewed by Darin Adler.
16076
16077        <rdar://problem/4783102> Radio button/checkbox embedded with <label> tag should combine the text and the label as a single element
16078        <rdar://problem/5091386> Seed: VO reads form labels twice in Safari
16079
16080        * page/AccessibilityObject.cpp:
16081        (WebCore::AccessibilityObject::titleUIElement):
16082        * page/AccessibilityObject.h:
16083        (WebCore::AccessibilityObject::isControl):
16084        * page/AccessibilityRenderObject.cpp:
16085        (WebCore::AccessibilityRenderObject::isControl):
16086        (WebCore::AccessibilityRenderObject::labelElementContainer):
16087        (WebCore::AccessibilityRenderObject::title):
16088        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
16089        (WebCore::AccessibilityRenderObject::elementRect):
16090        (WebCore::AccessibilityRenderObject::titleUIElement):
16091        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
16092        (WebCore::AccessibilityRenderObject::roleValue):
16093        * page/AccessibilityRenderObject.h:
16094        * page/mac/AccessibilityObjectWrapper.mm:
16095        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
16096        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16097
160982008-05-29  Timothy Hatcher  <timothy@apple.com>
16099
16100        Fixes the regression where image resources don't have a preview icon.
16101
16102        https://bugs.webkit.org/show_bug.cgi?id=18500
16103
16104        Reviewed by Adam Roben.
16105
16106        * page/inspector/ResourcesPanel.js:
16107        (WebInspector.ResourceSidebarTreeElement): Call createIconElement before
16108        calling the superclass.
16109        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
16110        Create an iconElement, if the category is images then make a div that
16111        contains a preview image. Otherwise just make an img element. If there
16112        was a previous iconElement, then replace it.
16113        (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
16114        createIconElement if the category changed.
16115        * page/inspector/SidebarTreeElement.js:
16116        (WebInspector.SidebarTreeElement): Create an iconElement if one hasn't
16117        been made already by a subclass.
16118        (WebInspector.SidebarTreeElement.prototype.onattach): Append the iconElement
16119        instead of creating one each time.
16120        * page/inspector/inspector.css: New and updated style rules.
16121
161222008-05-29  Timothy Hatcher  <timothy@apple.com>
16123
16124        Removes a use of the internal _childrenListNode property by adding
16125        a getter/setter for smallChildren to SidebarSectionTreeElement.
16126
16127        Reviewed by Adam Roben.
16128
16129        * page/inspector/ResourcesPanel.js:
16130        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
16131        Toggle smallChildren on the resourcesTreeElement instead of setting
16132        the style class directly.
16133        * page/inspector/SidebarTreeElement.js:
16134        (WebInspector.SidebarSectionTreeElement.prototype.smallChildren):
16135        Sets or removes the small class on the _childrenListNode.
16136
161372008-05-29  Timothy Hatcher  <timothy@apple.com>
16138
16139        Fixes a bug where the className would be reset for Resource
16140        tree elements and the selected state would be lost. This could
16141        happen when sorting the resources.
16142
16143        https://bugs.webkit.org/show_bug.cgi?id=19211
16144
16145        Reviewed by Adam Roben.
16146
16147        * page/inspector/ResourcesPanel.js:
16148        (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
16149        removeMatchingStyleClasses to remove previous category classes instead
16150        of setting the whole className directly.
16151        * page/inspector/utilities.js:
16152        (Element.prototype.removeStyleClass): Moved code to
16153        removeMatchingStyleClasses and call removeMatchingStyleClasses.
16154        (Element.prototype.removeMatchingStyleClasses): Added. Code moved from
16155        removeStyleClass and don't escape the string.
16156
161572008-05-29  David Hyatt  <hyatt@apple.com>
16158
16159        Improve the performance of the GUIMark benchmark by 2x in the CoreGraphics code path.
16160
16161        Whenever a foreground image changes size rapidly, we will now dynamically shift into rendering it
16162        using low quality scaling.  Once the animation completes, the image will repaint at high quality.
16163        Scaled images will still render at high quality by default, only shifting into low quality if
16164        the scale factor is rapidly changing.  This change raises GUIMark from 21fps to 34fps on my machine.
16165
16166        Rewrite the Image draw method to avoid the use of throwaway CG subimages.  Instead the entire image is
16167        always drawn (with the appropriate clip and scale set up to make sure the correct subimage portion shows up
16168        in the destination rect).  This change raises GUIMark from 34fps to 43fps on my machine.
16169
16170        Reviewed by Darin
16171
16172        * platform/graphics/GraphicsContext.cpp:
16173        (WebCore::GraphicsContext::drawImage):
16174        * platform/graphics/cg/ImageCG.cpp:
16175        (WebCore::BitmapImage::draw):
16176        * rendering/RenderImage.cpp:
16177        (WebCore::RenderImageScaleData::RenderImageScaleData):
16178        (WebCore::RenderImageScaleData::~RenderImageScaleData):
16179        (WebCore::RenderImageScaleData::size):
16180        (WebCore::RenderImageScaleData::time):
16181        (WebCore::RenderImageScaleData::useLowQualityScale):
16182        (WebCore::RenderImageScaleData::hiqhQualityRepaintTimer):
16183        (WebCore::RenderImageScaleData::setSize):
16184        (WebCore::RenderImageScaleData::setTime):
16185        (WebCore::RenderImageScaleData::setUseLowQualityScale):
16186        (WebCore::RenderImageScaleObserver::shouldImagePaintAtLowQuality):
16187        (WebCore::RenderImageScaleObserver::imageDestroyed):
16188        (WebCore::RenderImageScaleObserver::highQualityRepaintTimerFired):
16189        (WebCore::RenderImage::highQualityRepaintTimerFired):
16190        (WebCore::RenderImage::~RenderImage):
16191        (WebCore::RenderImage::paintReplaced):
16192        * rendering/RenderImage.h:
16193
161942008-05-29  Justin Garcia  <justin.garcia@apple.com>
16195
16196        Reviewed by Eric.
16197
16198        <rdar://problem/5847330> REGRESSION CrashTracer: [USER] 536 crashes at WebCore::highestAncestor
16199
16200        * editing/CompositeEditCommand.cpp:
16201        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Don't break out of an empty
16202        list item if its parent is non-editable, since doing so will move into non-editable content.
16203        * editing/DeleteSelectionCommand.cpp:
16204        (WebCore::DeleteSelectionCommand::initializePositionData): We want to prevent merges from
16205        table cells even if those table cells are non-editable.
16206        * editing/htmlediting.cpp:
16207        (WebCore::enclosingNodeOfType): Can now return non-editable nodes, for cases where the caller 
16208        isn't going to do editing in the returned node.
16209        * editing/htmlediting.h:
16210
162112008-05-29  Anders Carlsson  <andersca@apple.com>
16212
16213        Reviewed by Mitz.
16214
16215        <rdar://problem/5971845>
16216        https://bugs.webkit.org/show_bug.cgi?id=19313
16217        Add version member to NPCocoaEvent
16218        
16219        * bridge/npapi.h:
16220
162212008-05-29  Alexey Proskuryakov  <ap@webkit.org>
16222
16223        Reviewed by Adam Roben.
16224
16225        <rdar://problem/5960682> REGRESSION(r30535): Crashes on iExploder in checkForHeadCharset().
16226
16227        I don't see how to make a reliable test, but iExploder catches this quickly.
16228
16229        * loader/TextResourceDecoder.cpp:
16230        (WebCore::TextResourceDecoder::checkForHeadCharset): Correct the length passed to
16231        findIgnoringCase().
16232
162332008-05-29  Peter Kasting  <pkasting@google.com>
16234
16235        Reviewed by Dave Hyatt.
16236
16237        https://bugs.webkit.org/show_bug.cgi?id=19273
16238        Handle looping GIFs correctly (at least in the open source GIF decoder) even when
16239        the loop count doesn't appear in the initial data packets.
16240
16241        * platform/graphics/BitmapImage.cpp:
16242        (WebCore::BitmapImage::cacheFrame):
16243        (WebCore::BitmapImage::startAnimation):
16244        (WebCore::BitmapImage::advanceAnimation):
16245        * platform/image-decoders/gif/GIFImageDecoder.cpp:
16246        (WebCore::GIFImageDecoder::GIFImageDecoder):
16247        (WebCore::GIFImageDecoder::repetitionCount):
16248        (WebCore::GIFImageDecoder::gifComplete):
16249        * platform/image-decoders/gif/GIFImageDecoder.h:
16250
162512008-05-29  Brent Fulgham  <bfulgham@gmail.com>
16252
16253        Reviewed by Alp Toker.
16254
16255        http://bugs.webkit.org/show_bug.cgi?id=19284
16256        Correct Windows (Cairo) Build Regressions
16257
16258        Correct small Windows (Cairo) build regressions in recent updates.
16259
16260        * platform/graphics/SimpleFontData.h:  Correct build regression due
16261          to r32781 (additional use of m_syntheticBoldOffset in GDI code).
16262        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
16263          Correct build regression due to r31830 (change of clip signature
16264          to use FloatRect rather than IntRect).
16265        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
16266        (WebCore::SimpleFontData::platformInit):  Initialize
16267        m_syntheticBoldOffset
16268        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
16269        (WebCore::JPEGImageReader::JPEGImageReader):  Work around build
16270          error due to warnings about _setjmp treated as errors.
16271        * platform/image-decoders/png/PNGImageDecoder.cpp:  Work around
16272          build error due to warnings about _setjmp treated as errors.
16273        * platform/network/curl/ResourceHandleCurl.cpp:  Correct build error
16274          due to different order (and content) of include files when building
16275          with CoreFoundation (but not CoreGraphics).
16276        * platform/network/curl/ResourceHandleManager.cpp:
16277        (WebCore::ResourceHandleManager::setupPOST):  Correct build error
16278          due to Visual Studio compiler bug.
16279
162802008-05-29  Alexey Proskuryakov  <ap@webkit.org>
16281
16282        Reviewed by Darin.
16283
16284        https://bugs.webkit.org/show_bug.cgi?id=19215
16285        REGRESSION: transformToDocument fails when xsl includes &#160;
16286
16287        Test: fast/xsl/nbsp-in-stylesheet.html
16288
16289        * editing/markup.cpp:
16290        (WebCore::appendAttributeValue):
16291        (WebCore::appendEscapedContent):
16292        (WebCore::escapeContentText):
16293        (WebCore::appendQuotedURLAttributeValue):
16294        (WebCore::appendNamespace):
16295        (WebCore::appendStartMarkup):
16296        (WebCore::appendDocumentType):
16297        (WebCore::createMarkup):
16298        Only escape non-breaking spaces in HTML documents. In Firefox, this behavior is also limited
16299        to innerHTML, but we don't have a separate code path for it, and do not necessarily want to.
16300
16301        * page/Frame.cpp:
16302        (WebCore::Frame::documentTypeString):
16303        * dom/CDATASection.cpp:
16304        * dom/CDATASection.h:
16305        * dom/Comment.cpp:
16306        * dom/Comment.h:
16307        * dom/DocumentType.cpp:
16308        * dom/DocumentType.h:
16309        * dom/ProcessingInstruction.cpp:
16310        * dom/ProcessingInstruction.h:
16311        While at it, I also wanted to fix escaping for these nodes, but it turned out that FIXMEs were
16312        incorrect. So, I just moved their serialization to markup.cpp for consistency.
16313
163142008-05-29  Maciej Stachowiak  <mjs@apple.com>
16315
16316        Reviewed by Dave Hyatt.
16317
16318        - speed up DHTML using lazy style resolution and renderer creation
16319
16320        This change introduces the concept of "lazy attach" - when a node
16321        is lazy attached, then instead of resolving style and creating a
16322        renderer right away, we just mark it as needing a style recalc.
16323        
16324        The patch makes use of this mechanism when inserting nodes directly
16325        using DOM APIs from script. For now this is only done for the
16326        JavaScript language binding but could also be done for other
16327        bindings in the future.
16328        
16329        Lazy attach helps some common DHTML patterns - when a node is
16330        added to the DOM, and then subsequently changed in a
16331        style-affecting way, this causes an extra style recalc. This is a
16332        fairly common pattern so it is better to be lazy.
16333        
16334        * bindings/js/JSNodeCustom.cpp:
16335        (WebCore::JSNode::insertBefore): Request lazy attach.
16336        (WebCore::JSNode::replaceChild): ditto
16337        (WebCore::JSNode::appendChild): ditto
16338        * dom/ContainerNode.cpp:
16339        (WebCore::ContainerNode::insertBefore): Support lazy attach.
16340        (WebCore::ContainerNode::replaceChild): ditto
16341        (WebCore::ContainerNode::appendChild): ditto
16342        (WebCore::ContainerNode::detach): Clear "changed child" bit if still set.
16343        * dom/ContainerNode.h:
16344        * dom/Element.cpp:
16345        (WebCore::Element::recalcStyle): Adjusted to properly reattach a
16346        lazy-attached node.
16347        * dom/Node.cpp:
16348        (WebCore::Node::insertBefore): Extra parameter for lazy attach
16349        (still doesn't do anything).
16350        (WebCore::Node::replaceChild): ditto
16351        (WebCore::Node::appendChild): ditto
16352        (WebCore::Node::setChanged): Unrelated but obvious optimization -
16353        stop marking ancestor as having a changed child once we already reach
16354        an ancestor so marked.
16355        (WebCore::outermostLazyAttachedAncestor): Helper function for lazyAttach.
16356        (WebCore::Node::lazyAttach): Implement lazy attach.
16357        (WebCore::Node::canLazyAttach): Virtual method - true for most nodes.
16358        * dom/Node.h:
16359        * dom/Text.cpp:
16360        (WebCore::Text::recalcStyle): Properly handle the case of a reattached node.
16361        * html/HTMLEmbedElement.h:
16362        (WebCore::HTMLEmbedElement::canLazyAttach): Refuse lazy attach, since
16363        plugins and frames do important work at rederer creation time.
16364        * html/HTMLFrameElementBase.h:
16365        (WebCore::HTMLFrameElementBase::canLazyAttach): Refuse lazy attach, since
16366        plugins and frames do important work at rederer creation time.
16367        * html/HTMLFrameSetElement.cpp:
16368        (WebCore::HTMLFrameSetElement::recalcStyle): Change order so that
16369        reattach works properly.
16370        * html/HTMLObjectElement.h:
16371        (WebCore::HTMLObjectElement::canLazyAttach): Refuse lazy attach, since
16372        plugins and frames do important work at rederer creation time.
16373        * html/HTMLOptGroupElement.cpp:
16374        (WebCore::HTMLOptGroupElement::insertBefore): Pass along extra param.
16375        (WebCore::HTMLOptGroupElement::replaceChild): ditto
16376        (WebCore::HTMLOptGroupElement::appendChild): ditto
16377        * html/HTMLOptGroupElement.h:
16378        * html/HTMLSelectElement.cpp:
16379        (WebCore::HTMLSelectElement::insertBefore): Pass along extra param.
16380        (WebCore::HTMLSelectElement::replaceChild): ditto
16381        (WebCore::HTMLSelectElement::appendChild): ditto
16382        * html/HTMLSelectElement.h:
16383        * svg/SVGLocatable.cpp:
16384        (WebCore::SVGLocatable::getBBox): Add missing updateLayout call.
16385        * svg/SVGTextContentElement.cpp:
16386        (WebCore::SVGTextContentElement::getNumberOfChars): ditto
16387        (WebCore::SVGTextContentElement::getComputedTextLength): ditto
16388        (WebCore::SVGTextContentElement::getSubStringLength): ditto
16389        (WebCore::SVGTextContentElement::getStartPositionOfChar): ditto
16390        (WebCore::SVGTextContentElement::getEndPositionOfChar): ditto
16391        (WebCore::SVGTextContentElement::getExtentOfChar): ditto
16392        (WebCore::SVGTextContentElement::getRotationOfChar): ditto
16393        (WebCore::SVGTextContentElement::getCharNumAtPosition): ditto
16394
163952008-05-28  Ada Chan  <adachan@apple.com>
16396
16397        <rdar://problem/5957036> REGRESSION (r31960): 20-30% slowdown in i-Bench JavaScript test on XP Home
16398        Conditionalize the timer latency change (r31960) only for vista since it does not
16399        help xp anyway.
16400
16401        Reviewed by Steve Falkenburg.
16402
16403        * platform/win/SharedTimerWin.cpp:
16404        (WebCore::isRunningOnVistaOrLater):
16405        (WebCore::TimerWindowWndProc):
16406        (WebCore::setSharedTimerFireTime):
16407
164082008-05-28  Anders Carlsson  <andersca@apple.com>
16409
16410        Build fix.
16411        
16412        * storage/LocalStorage.cpp:
16413        (WebCore::LocalStorage::scheduleImport):
16414
164152008-05-28  Anders Carlsson  <andersca@apple.com>
16416
16417        Reviewed by Tim.
16418
16419        <rdar://problem/5965960>
16420        CrashTracer: [USER] 4 crashes in Safari at libxml2.2.dylib: xmlGenericErrorDefaultFunc + 76
16421        
16422        Turns out that while libxml has two different error callbacks, they both use the same context, so we need to 
16423        set both error callbacks to prevent one of the error callbacks from using the context as a FILE pointer.
16424        
16425        * xml/XSLStyleSheet.cpp:
16426        (WebCore::XSLStyleSheet::parseString):
16427        * xml/XSLTProcessor.cpp:
16428        (WebCore::XSLTProcessor::genericErrorFunc):
16429        (WebCore::docLoaderFunc):
16430        * xml/XSLTProcessor.h:
16431
164322008-05-28  Brady Eidson  <beidson@apple.com>
16433
16434        Reviewed by Adam
16435
16436        Fix hang I introduced to WebKit clients without their LocalStorage paths set
16437        Such as DRT...
16438
16439        * storage/LocalStorage.cpp:
16440        (WebCore::LocalStorage::scheduleImport): Return a bool, namely to signify
16441          whether or not there is a LocalStorageThread to schedule the import on.
16442        * storage/LocalStorage.h:
16443
16444        * storage/LocalStorageArea.cpp:
16445        (WebCore::LocalStorageArea::LocalStorageArea): If the scheduleImport failed,
16446          mark the imported flag as true so the LocalStorageArea doesn't wait around
16447          locking the main thread.
16448
164492008-05-28  Anthony Ricaud  <rik24d@gmail.com>
16450
16451        User stylesheets are now non-editable and displayed as user-stylesheets
16452
16453        <https://bugs.webkit.org/show_bug.cgi?id=17602>
16454        <rdar://problem/5967637>
16455
16456        Reviewed by Tim Hatcher.
16457
16458        * English.lproj/localizedStrings.js: Added a string
16459        * page/inspector/StylesSidebarPane.js:
16460
164612008-05-28  Anders Carlsson  <andersca@apple.com>
16462
16463        Reviewed by Mitz.
16464
16465        <rdar://problem/5819989> 
16466        Crash in WebKit!KJS::Window::printErrorMessage quitting Safari after pop up window on uk.real.com was closed
16467
16468        Add null check for Frame::settings().
16469        
16470        * bindings/js/JSDOMWindowBase.cpp:
16471        (WebCore::JSDOMWindowBase::printErrorMessage):
16472
164732008-05-27  Geoffrey Garen  <ggaren@apple.com>
16474
16475        Reviewed by Tim Hatcher.
16476
16477        Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
16478        REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
16479        clicking button in returnEvent-crash.html
16480        
16481        Added implementations for willExecuteProgram and didExecuteProgram. They
16482        take care to update our call frame when entering and exiting programs,
16483        preventing us from keeping around a stale global frame after executing
16484        a program.
16485        
16486        eval programs now show up as "anonymous function" in a new scope. This
16487        is slightly better than what they used to do -- overwriting the current
16488        scope -- but obviously we can do better.
16489
164902008-05-28  Brady Eidson  <beidson@apple.com>
16491
16492        Reviewed by Dan Bernstein
16493
16494        <rdar://problem/5946834> - LocalStorage threads appearing in apps that don't want them.
16495
16496        Decided to fix this bug from a few different avenues to make sure we only create LocalStorage resources
16497        when we *really* want them.
16498
16499        * page/DOMWindow.cpp:
16500        (WebCore::DOMWindow::localStorage): Account for the possibility that the LocalStorage object might be null.
16501
16502        * storage/LocalStorage.cpp:
16503        (WebCore::LocalStorage::LocalStorage): Don't create the thread if there is no path name - we know we'll never
16504          be needing it when there is no file backing us on disk.
16505        (WebCore::LocalStorage::scheduleImport): Null check the thread, as it might not exist.
16506        (WebCore::LocalStorage::scheduleSync): Ditto
16507
16508        * storage/LocalStorageThread.cpp:
16509        (WebCore::LocalStorageThread::localStorageThread): Clear the threadID after termination - clear way to signify
16510          that this thread is truly done.
16511        (WebCore::LocalStorageThread::scheduleImport): ASSERT that the queue is live, and the threadID exists
16512        (WebCore::LocalStorageThread::scheduleSync): Ditto
16513        (WebCore::LocalStorageThread::terminate): Don't schedule termination and wait for it to complete if the thread 
16514          isn't live.
16515
165162008-05-28  Alexander Vassilev  <avasilev@voipgate.com>
16517
16518        Reviewed by Kevin Ollivier.
16519
16520        Rescale image to fit the destination rect so that we don't get a crash when drawing
16521        in a destination rect that's bigger than the image rect. Also adds an optimization for
16522        drawing an image that is a solid color.
16523        
16524        https://bugs.webkit.org/show_bug.cgi?id=18465
16525
16526        * platform/graphics/wx/ImageWx.cpp:
16527        (WebCore::BitmapImage::draw):
16528
165292008-05-27  Tor Arne Vestbø  <tavestbo@trolltech.com>
16530
16531        Reviewed by Simon
16532
16533        Close the video widget explicitly so we don't hang
16534        when exiting the application.
16535
16536        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
16537        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
16538
165392008-05-27  Justin Garcia  <justin.garcia@apple.com>
16540
16541        Reviewed by Oliver.
16542
16543        <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
16544        
16545        It wasn't enough to break out of the header, to match other browsers we 
16546        also need to not preserve the typing style.
16547
16548        * editing/InsertParagraphSeparatorCommand.cpp:
16549        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
16550        (WebCore::InsertParagraphSeparatorCommand::doApply):
16551        * editing/InsertParagraphSeparatorCommand.h:
16552
165532008-05-27  Timothy Hatcher  <timothy@apple.com>
16554
16555        <rdar://problem/5966961> REGRESSION: Font previews in the Web
16556        Inspector always show in Lucida Grande (not the real font)
16557
16558        Reviewed by Adam Roben.
16559
16560        * page/inspector/FontView.js: Add a style element that loads the
16561        @font-face rule that is excepted by the preview element.
16562
165632008-05-27  Timothy Hatcher  <timothy@apple.com>
16564
16565        Fixes a regression where the Image and Font preview views do not
16566        size correctly.
16567
16568        <rdar://problem/5966723> REGRESSION (r33991): Image and font previews
16569        are shrunken and can't be made larger (19281)
16570
16571        Reviewed by Adam Roben.
16572
16573        * page/inspector/FontView.js: Adjust the font size based only on the
16574        container width minus padding.
16575        * page/inspector/inspector.css: Updated styles for the image and
16576        font views.
16577
165782008-05-27  Adam Roben  <aroben@apple.com>
16579
16580        Fix Bug 19276: XHR resources are classified as "Other" until Inspector
16581        is closed and reopened
16582
16583        <https://bugs.webkit.org/show_bug.cgi?id=19276>
16584        <rdar://problem/5965742>
16585
16586        Reviewed by Tim Hatcher.
16587
16588        * page/InspectorController.cpp:
16589        (WebCore::InspectorController::updateScriptResourceResponse): Moved
16590        code that updates the resource's type from here...
16591        (WebCore::InspectorController::updateScriptResourceType): ...to here.
16592        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
16593        Call updateScriptResourceType now that we know this resource was
16594        retrieved via an XHR.
16595        * page/InspectorController.h:
16596
165972008-05-27  Timothy Hatcher  <timothy@apple.com>
16598
16599        Removes a redundant call to InspectorController::stopDebugging().
16600
16601        Rubber-stamped by Adam Roben.
16602
16603        * page/InspectorController.cpp:
16604        (WebCore::InspectorController::showWindow):
16605
166062008-05-27  Kevin McCullough  <kmccullough@apple.com>
16607
16608        Reviewed by Tim.
16609
16610        - Added and updated some manual test for the profiler.
16611
16612        * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html:
16613        * manual-tests/inspector/profiler-test-apply.html:
16614        * manual-tests/inspector/profiler-test-call.html:
16615        * manual-tests/inspector/profiler-test-deep-recursion.html: Added.
16616        * manual-tests/inspector/profiler-test-simple-event-call.html: Added.
16617
166182008-05-27  Kevin Ollivier  <kevino@theolliviers.com>
16619
16620        wx build fix. Accidently left a couple fixes out of the previous commit.
16621
16622        * webcore-base.bkl:
16623
166242008-05-27  Kevin Ollivier  <kevino@theolliviers.com>
16625
16626        wx build fix. Adding JSHTMLElementWrapperFactory.cpp.
16627        
16628        * WebCoreSources.bkl:
16629
166302008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
16631
16632        Reviewed by Simon.
16633
16634        Fix linking error (missing gdi32 and user32 libraries).
16635
16636        * WebCore.pro:
16637
166382008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
16639
16640        Reviewed by Simon.
16641
16642        Update the WebKit.qrc so that Web Inspector is functional again.
16643
16644        * page/inspector/WebKit.qrc:
16645
166462008-05-26  Alp Toker  <alp@nuanti.com>
16647
16648        Reviewed by Anders.
16649
16650        http://bugs.webkit.org/show_bug.cgi?id=16495
16651        [GTK] Accessibility support with ATK/AT-SPI
16652
16653        Implement basic action, text and editable text accessibility.
16654
16655        Provide utility functions to simplify const string return and casting
16656        and add some more stubs.
16657
16658        It's now possible to navigate and manipulate forms and text using
16659        assistive technologies.
16660
16661        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
16662        (returnString):
16663        (core):
16664        * platform/gtk/LocalizedStringsGtk.cpp:
16665        (WebCore::AXButtonActionVerb):
16666        (WebCore::AXRadioButtonActionVerb):
16667        (WebCore::AXTextFieldActionVerb):
16668        (WebCore::AXCheckedCheckBoxActionVerb):
16669        (WebCore::AXUncheckedCheckBoxActionVerb):
16670        (WebCore::AXLinkActionVerb):
16671        (WebCore::imageTitle):
16672
166732008-05-25  Maciej Stachowiak  <mjs@apple.com>
16674
16675        Reviewed by Anders.
16676
16677        - bind the window's "document" and "window" properties to static slots
16678        1.7% speedup on Acid3 test 26
16679        
16680        Only the "document" part matters for Acid3, but since I was doing
16681        this anyway, "window" also seemed like a good one to optimize.
16682
16683        * bindings/js/JSDOMWindowBase.cpp:
16684        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
16685        slots for document and window; but just put null in the document
16686        slot for now.
16687        (WebCore::JSDOMWindowBase::updateDocument): Fill in the document
16688        slot.        
16689        (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
16690        tracking us.
16691        * bindings/js/JSDOMWindowBase.h:
16692        * bindings/js/JSDOMWindowShell.cpp:
16693        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
16694        for our still-not-dead inner windows.
16695        (WebCore::JSDOMWindowShell::updateDocument): Update all our
16696        inner windows ever (to make sure the update to the document
16697        property shows up everywhere).
16698        * bindings/js/JSDOMWindowShell.h:
16699        (WebCore::JSDOMWindowShell::setWindow): Update our hash.
16700        (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
16701        * bindings/js/JSDocumentCustom.cpp:
16702        (WebCore::toJS): Don't set self as a property map property of
16703        the window, this is no longer necessary.
16704        * bindings/js/kjs_proxy.cpp:
16705        (WebCore::KJSProxy::initScript): Update document for the
16706        newly created window.
16707        * bindings/js/kjs_proxy.h:
16708        * page/Frame.cpp:
16709        (WebCore::Frame::setDocument): If the document is not null,
16710        update our window.
16711
167122008-05-26  Anders Carlsson  <andersca@apple.com>
16713
16714        Reviewed by Sam.
16715
16716        This patch does two things:
16717        
16718        * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know
16719        that the node doesn't have a wrapper. This avoids a hash lookup.
16720        
16721        * It adds toJSNewlyCreated methods for JSElement and JSText. 
16722        
16723        All in all this is a 4.3% speedup on Acid 3 test 26.
16724        
16725        * WebCore.vcproj/WebCore.vcproj:
16726        * WebCore.xcodeproj/project.pbxproj:
16727        * bindings/js/JSElementCustom.cpp:
16728        (WebCore::toJSNewlyCreated):
16729        * bindings/js/JSNodeCustom.cpp:
16730        (WebCore::createWrapper):
16731        (WebCore::toJSNewlyCreated):
16732        (WebCore::toJS):
16733        * bindings/js/JSTextCustom.cpp: Added.
16734        (WebCore::toJSNewlyCreated):
16735        * bindings/scripts/CodeGeneratorJS.pm:
16736        * dom/Document.idl:
16737
167382008-05-26  Sam Weinig  <sam@webkit.org>
16739
16740        Reviewed by Anders Carlsson.
16741
16742        Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
16743        and JSDocument for a 1-2% speedup on Acid 3 test 26.
16744
16745        * bindings/js/JSEventTargetNode.cpp:
16746        * bindings/js/JSEventTargetNode.h:
16747        (WebCore::JSEventTargetNode::getOwnPropertySlot):
16748        (WebCore::JSEventTargetNode::getValueProperty):
16749        (WebCore::JSEventTargetNode::put):
16750        (WebCore::JSEventTargetNode::putValueProperty):
16751        * bindings/scripts/CodeGeneratorJS.pm:
16752        * dom/Document.idl:
16753        * dom/Element.idl:
16754        * dom/Node.idl:
16755
167562008-05-26  Darin Adler  <darin@apple.com>
16757
16758        Reviewed by Maciej.
16759
16760        - https://bugs.webkit.org/show_bug.cgi?id=19239
16761
16762        Removed code that would only useful if if there was any way to create an Entity
16763        node or if we populated EntityReference nodes. It's likely that we'll remove
16764        these node types entirely in some future version of WebKit, depending in part
16765        on what happens with these in HTML 5.
16766
16767        1.8% speedup of Acid3 test 26.
16768
16769        The only read-only nodes we ever create are EntityReference nodes.
16770        These are only created by explicit calls to the Document.createEntityReference
16771        function. Since the created nodes are read-only, there can be no children of
16772        these nodes, so no other types of nodes can be read-only despite the rule that
16773        makes descendants of Entity and EntityReference nodes read-only.
16774
16775        * bindings/objc/DOM.mm: Removed unneeded include.
16776
16777        * dom/Attr.cpp:
16778        (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check.
16779        (WebCore::Attr::setNodeValue): Ditto.
16780        * dom/CharacterData.cpp:
16781        (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check.
16782        (WebCore::CharacterData::substringData): Don't initialize the ec variable before
16783        calling checkCharDataOperation, since that function already does it.
16784        (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check.
16785        (WebCore::CharacterData::insertData): Don't initialize ec.
16786        (WebCore::CharacterData::deleteData): Ditto.
16787        (WebCore::CharacterData::replaceData): Ditto.
16788        (WebCore::CharacterData::setNodeValue): Removed now-misleading comment.
16789        (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary
16790        isReadOnlyNode check.
16791        * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual
16792        since it's never used or defined in any other class.
16793
16794        * dom/Element.cpp:
16795        (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.
16796
16797        * dom/Entity.cpp: Removed the entire contents of this file.
16798
16799        * dom/Entity.h: Replaced the class with a stub -- just enough to keep the
16800        public bindings (JavaScript and Objective-C compiling), but the class is
16801        abstract and can't be instantianted.
16802
16803        * dom/EntityReference.cpp: Removed unused constructor.
16804        (WebCore::EntityReference::cloneNode): Removed unneeded code and comments
16805        to clone nonexistent child nodes.
16806        * dom/EntityReference.h: Removed unused constructor and unnecessary override
16807        of childTypeAllowed, since no children are allowed at all.
16808
16809        * dom/NamedAttrMap.cpp:
16810        (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check.
16811        (WebCore::NamedAttrMap::removeNamedItem): Ditto.
16812        * dom/NamedAttrMap.h: Removed isReadOnlyNode function.
16813
16814        * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of
16815        virtual nodeType function calls.
16816        * dom/Node.h:
16817        (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode
16818        function with a new simple non-virtual one.
16819
16820        * dom/ProcessingInstruction.cpp:
16821        (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode
16822        check.
16823
16824        * dom/Text.cpp:
16825        (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check.
16826        (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion.
16827        There is no reason for this function to go out of its way to mention the
16828        read-only node issue when none of the other DOM mutation functions do.
16829
168302008-05-26  Adam Barth  <abarth@webkit.org>
16831
16832        Reviewed by Sam.
16833
16834        Cleanup SecurityOrigin::canAccess.  Removed comment referring to an
16835        old version of the code.  Removed some useless code.
16836
16837        * platform/SecurityOrigin.cpp:
16838        (WebCore::SecurityOrigin::canAccess):
16839
168402008-05-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
16841
16842        Reviewed by Alp Toker.
16843
16844        * platform/gtk/LocalizedStringsGtk.cpp:
16845        (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.
16846
168472008-05-25  Chris Fleizach  <cfleizach@apple.com>
16848
16849        Reviewed by David Harrison
16850
16851        <rdar://problem/3582905> elements on separate pages need to be distinct
16852
16853        * page/AccessibilityListBox.h:
16854        * page/AccessibilityObject.h:
16855        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
16856        * page/AccessibilityRenderObject.cpp:
16857        * page/AccessibilityRenderObject.h:
16858
168592008-05-25  Maciej Stachowiak  <mjs@apple.com>
16860
16861        Reviewed by Darin.
16862
16863        - don't repaint nodes that are removed before layout
16864        4.3% speedup on Acid3 test 26
16865
16866        Mitz points out the new flag can also be used to optimize other
16867        cases of needless repaint such as
16868        <https://bugs.webkit.org/show_bug.cgi?id=15129>.
16869        
16870        * rendering/RenderContainer.cpp:
16871        (WebCore::RenderContainer::removeChildNode): If the child has never had a layout,
16872        don't bother to repaint it, since there's nothing to dirty.
16873        * rendering/RenderObject.cpp:
16874        (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false.
16875        (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we
16876        are being marked as not needing layout.
16877        * rendering/RenderObject.h:
16878
168792008-05-25  Dan Bernstein  <mitz@apple.com>
16880
16881        Reviewed by Darin Adler.
16882
16883        - fix https://bugs.webkit.org/show_bug.cgi?id=19086
16884          <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block
16885
16886        Test: fast/repaint/caret-outside-block.html
16887
16888        * editing/SelectionController.cpp:
16889        (WebCore::repaintRectForCaret): Restored this function which was removed
16890        in r28523, but changed it to inflate only the width.
16891        (WebCore::SelectionController::caretRepaintRect): Changed back to use
16892        repaintRectForCaret().
16893        (WebCore::SelectionController::recomputeCaretRect): Ditto.
16894
168952008-05-25  Marco Barisione  <marco.barisione@collabora.co.uk>
16896
16897        Reviewed by Alp Toker.
16898
16899        http://bugs.webkit.org/show_bug.cgi?id=18940
16900        [CURL] Allow \n as line terminator for headers
16901
16902        The line terminator for message-header fields should be CRLF. However,
16903        it is recommended to recognise as a line terminator also a single LF.
16904
16905        * platform/network/curl/ResourceHandleManager.cpp:
16906        (WebCore::headerCallback): Allow headers to be terminated by "\n" and
16907        not just by "\r\n".
16908
169092008-05-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
16910
16911        Reviewed by Alp Toker.
16912
16913        WARNING: NO TEST CASES ADDED OR CHANGED
16914
16915        http://bugs.webkit.org/show_bug.cgi?id=19142
16916        [Gtk] Remove build options --svg-experimental and --cross-document-messaging
16917
16918        * GNUmakefile.am:
16919
169202008-05-24  Rob Buis  <buis@kde.org>
16921
16922        Reviewed by Eric.
16923
16924        https://bugs.webkit.org/show_bug.cgi?id=18927
16925        Unify path data debug output
16926
16927        Implement unified path data output for Mac svg tests.
16928
16929        * platform/graphics/cg/PathCG.cpp:
16930        (WebCore::CGPathToCFStringApplierFunction):
16931        (WebCore::CFStringFromCGPath):
16932
169332008-05-24  Timothy Hatcher  <timothy@apple.com>
16934
16935        Fixes a huge leak with the Inspector where it was protecting
16936        a large object that was not being unprotected.
16937
16938        <rdar://problem/5961999> Inspector protects a large JavaScript
16939        object and never unprotects it (large leak)
16940
16941        Reviewed by Darin Adler.
16942
16943        * page/InspectorController.cpp:
16944        (WebCore::InspectorController::inspectedPageDestroyed): Call close()
16945        and removed a call to stopDebugging() and moved it to close().
16946        (WebCore::InspectorController::close): Add stopDebugging() and
16947        stopUserInitiatedProfiling(). Removed an ASSERT and added an
16948        if statement before calling JSValueUnprotect. We don't always have
16949        a m_scriptContext and m_scriptObject.
16950
169512008-05-24  Alp Toker  <alp@nuanti.com>
16952
16953        Win32/gcc3 build fix in Pango font backend. UChar needs to be
16954        explicitly cast to gunichar2.
16955
16956        * platform/graphics/gtk/FontGtk.cpp:
16957        (WebCore::utf16_to_utf8):
16958
169592008-05-24  Timothy Hatcher  <timothy@apple.com>
16960
16961        Fixes a crash where a new Inspector would get an old
16962        JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
16963        Since these style objects shared between pages, the wrapper cache
16964        would have a wrapper for the object still. But the wrapper was
16965        for a previous global object and with a disconnected frame. This
16966        fixes the wrapper cache so wrappers are remembered per global object
16967        and the object they are wrapping.
16968
16969        <rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
16970        opening inspector window after closing it
16971
16972        Reviewed by Darin Adler.
16973
16974        * bindings/js/JSInspectedObjectWrapper.cpp:
16975        (WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
16976        (WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
16977        by the dynamicGlobalObject then find the wrapper for unwrappedObject.
16978        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
16979        how the wrapper is added to the wrapper cache.
16980        (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
16981        how the wrapper is removed from the wrapper cache.
16982        * bindings/js/JSQuarantinedObjectWrapper.h:
16983        (WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.
16984
169852008-05-24  Alexey Proskuryakov  <ap@webkit.org>
16986
16987        Reviewed by Maciej.
16988
16989        Optimize Node::textContent() to avoid O(n^2) string appending behavior.
16990
16991        1.6% speedup at Acid3 test 26.
16992
16993        * WebCore.xcodeproj/project.pbxproj:
16994        * GNUmakefile.am:
16995        * WebCore.pro:
16996        * WebCoreSources.bkl:
16997        * WebCore.vcproj/WebCore.vcproj:
16998        * platform/text/StringBuilder.cpp: Added.
16999        (WebCore::StringBuilder::append):
17000        (WebCore::StringBuilder::toString):
17001        * platform/text/StringBuilder.h: Added.
17002        (WebCore::StringBuilder::StringBuilder):
17003        (WebCore::StringBuilder::isNull):
17004        Added a simple class to efficiently build a string by appending. Potentially, it can be
17005        extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.
17006
17007        * dom/Node.cpp:
17008        (WebCore::Node::appendTextContent):
17009        (WebCore::Node::textContent):
17010        * dom/Node.h:
17011        Changed to use StringBuilder.
17012
170132008-05-24  Julien Chaffraix  <jchaffraix@webkit.org>
17014
17015        Reviewed by Eric.
17016
17017        Bug 9191: JS*ElementWrapperFactory should be autogenerated
17018        https://bugs.webkit.org/show_bug.cgi?id=9191
17019
17020        This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
17021        intelligence to the *.in files.
17022
17023        - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the
17024        JS*ElementWrapperFactory files.
17025
17026        - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.
17027
17028        - Updated the build systems to account for the previous changes.
17029
17030        * DerivedSources.make:
17031        * GNUmakefile.am:
17032        * WebCore.pro:
17033        * WebCore.vcproj/WebCore.vcproj:
17034        * WebCore.xcodeproj/project.pbxproj:
17035        * WebCoreSources.bkl:
17036        * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
17037        * bindings/js/JSHTMLElementWrapperFactory.h: Removed.
17038        * bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
17039        * bindings/js/JSSVGElementWrapperFactory.h: Removed.
17040        * dom/make_names.pl:
17041
170422008-05-24  Oleg Finkelshteyn <olegfink@gmail.com>
17043
17044        Rubber-stamped and landed by Alexey.
17045
17046        Build fix for gcc 4.3.
17047
17048        * WebCore/page/Console.cpp:
17049        Add missing standard includes.
17050
170512008-05-23  Timothy Hatcher  <timothy@apple.com>
17052
17053        Fixes a bug where a timer would keep firing after the Inspector
17054        was closed. It turns out this timer wasn't needed anymore now
17055        that we can add an event listener to the inspected page and have
17056        it get called in the Inspector's context.
17057
17058        https://bugs.webkit.org/show_bug.cgi?id=18577
17059
17060        Reviewed by Mark Rowe.
17061
17062        * page/inspector/ElementsPanel.js:
17063
170642008-05-23  Anthony Ricaud  <rik24d@gmail.com>
17065
17066        Changes the largerResourcesButton tooltip to toggle.
17067
17068        https://bugs.webkit.org/show_bug.cgi?id=19210
17069
17070        Reviewed by Tim Hatcher.
17071
17072        * WebCore/English.lproj/localizedStrings.js: New string and clean an
17073        double string "Dock to main window."
17074        * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and
17075        change the default tooltip
17076
170772008-05-23  Justin Garcia  <justin.garcia@apple.com>
17078
17079        Reviewed by Darin.
17080
17081        <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)
17082        
17083        Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
17084        if they are disabled.  This will fire oncopy, oncut and onpaste, but won't perform any other work, like
17085        writing to the pasteboard during cut/copy or deleting the selection during cut/paste.  This matches FF3,
17086        which actually goes further and fires oncopy on any Command-C.
17087        
17088        * editing/EditorCommand.cpp:
17089        (WebCore::CommandEntry::):
17090        (WebCore::Editor::Command::execute):
17091
170922008-05-23  Timothy Hatcher  <timothy@apple.com>
17093
17094        Adds a percentage toggle button the profile view status bar that
17095        changes the time columns between absolute and percents.
17096
17097        https://bugs.webkit.org/show_bug.cgi?id=19224
17098
17099        Reviewed by Kevin McCullough.
17100
17101        * English.lproj/localizedStrings.js: New strings.
17102        * page/inspector/Images/percentButtons.png: Added.
17103        * page/inspector/ProfileView.js: Make the button and add it to the
17104        status bar. Make clicking toggle the showAsPercent* properties.
17105        * page/inspector/inspector.css: New styles.
17106
171072008-05-23  Timothy Hatcher  <timothy@apple.com>
17108
17109        Fixes a bug where excluding nodes from the profile could
17110        show an empty parent node.
17111
17112        <rdar://problem/5959573> Excluding nodes from the profile could show
17113        an empty parent node
17114
17115        Reviewed by Kevin McCullough.
17116
17117        * page/inspector/ProfileView.js: Only say we have children if
17118        all of our children nodes are visible.
17119
171202008-05-23  Anders Carlsson  <andersca@apple.com>
17121
17122        Reviewed by Adam.
17123
17124        Add IconFetcher to project.
17125        
17126        * WebCore.vcproj/WebCore.vcproj:
17127
171282008-05-23  Timothy Hatcher  <timothy@apple.com>
17129
17130        Fixes a bug where the Web Insepctor would jump back to
17131        Elements each time it is opened instead of staying at the
17132        last selected panel.
17133
17134        <rdar://problem/5959475> Inspector jumps to the Elements panel
17135        each time it is opened, instead of staying at the previous panel
17136
17137        Reviewed by Adam Roben.
17138
17139        * page/InspectorController.cpp:
17140        (WebCore::InspectorController::setWindowVisible): Reset
17141        m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
17142        is called it will use CurrentPanel unless showPanel was called again.
17143
171442008-05-23  chris fleizach  <cfleizach@apple.com>
17145
17146        Reviewed by Darin Adler.
17147
17148        <rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area
17149
17150        * page/AccessibilityRenderObject.cpp:
17151        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
17152
171532008-05-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
17154
17155        Reviewed by Simon.
17156
17157        For Qt port, support painting to native Windows HDC.
17158
17159        * platform/graphics/GraphicsContext.h:
17160        * platform/graphics/qt/GraphicsContextQt.cpp:
17161        (WebCore::GraphicsContext::getWindowsContext):
17162        (WebCore::GraphicsContext::releaseWindowsContext):
17163
171642008-05-23  Timothy Hatcher  <timothy@apple.com>
17165
17166        Fixes a bug where the Inspector could have 0ms timers firing
17167        even after it is closed.
17168
17169        https://bugs.webkit.org/show_bug.cgi?id=18577
17170
17171        Reviewed by Oliver Hunt.
17172
17173        * page/inspector/DatabasesPanel.js: Removes setTimeouts that call
17174        the same function with a 0ms delay. These we not doing any good anyway,
17175        so they weren't needed and just caused problems.
17176        * page/inspector/ElementsPanel.js: Ditto.
17177        * page/inspector/ProfilesPanel.js: Ditto.
17178        * page/inspector/ResourcesPanel.js: Ditto.
17179
171802008-05-23  Timothy Hatcher  <timothy@apple.com>
17181
17182        Make the Inspector correctly populate the profiles when
17183        closed and re-opened.
17184
17185        Reviewed by Adam Roben.
17186
17187        * page/InspectorController.cpp:
17188        (WebCore::InspectorController::populateScriptObjects): Call populateInterface
17189        in inspector.js.
17190        * page/inspector/ProfilesPanel.js:
17191        (WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
17192        call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
17193        (WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
17194        Just set this._shouldPopulateProfiles to true.
17195        (WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
17196        this._shouldPopulateProfiles.
17197        * page/inspector/inspector.js:
17198        (WebInspector.populateInterface): Added. Call populateInterface on all the
17199        panels if they implement it.
17200
172012008-05-23  Kevin McCullough  <kmccullough@apple.com>
17202
17203        RS = Adam.
17204
17205        Editorial changes
17206
17207        * manual-tests/inspector/profiler-test-apply.html:
17208        * manual-tests/inspector/profiler-test-document-dot-write.html:
17209        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
17210        * manual-tests/inspector/profiler-test-one-execution-context.html:
17211        * manual-tests/inspector/profiler-test-two-execution-contexts.html:
17212
172132008-05-23  Timothy Hatcher  <timothy@apple.com>
17214
17215        Fixes the bug where the profile was not added when finished.
17216
17217        <rdar://problem/5958851> Stop Profiling from the Develop menu does
17218        not add the Profile to the Inspector
17219
17220        Reviewed by Adam Roben.
17221
17222        * page/InspectorController.cpp:
17223        (WebCore::InspectorController::stopUserInitiatedProfiling): Call
17224        addProfile with the result of stopProfiling.
17225
172262008-05-23  Timothy Hatcher  <timothy@apple.com>
17227
17228        Tweak the Web Insector toolbar look to be smaller when attached to
17229        the inspected page.
17230
17231        Reviewed by Adam Roben.
17232
17233        * page/inspector/inspector.css:
17234
172352008-05-23  Simon Hausmann  <hausmann@webkit.org>
17236
17237        Fix compilation without accessibility by providing an empty stub for
17238        AXObjectCache::handleAriaRoleChanged.
17239
17240        * page/AXObjectCache.h:
17241
172422008-05-23  Alice Liu  <alice.liu@apple.com>
17243
17244        Reviewed by Mark Rowe.
17245
17246        Remove call to function whose body was commented out. Returning the
17247        children for a menu button by the normal calculation works just as well. 
17248
17249        * page/AccessibilityRenderObject.cpp:
17250        (WebCore::AccessibilityRenderObject::addChildren):
17251        * page/AccessibilityRenderObject.h:
17252
172532008-05-22  Timothy Hatcher  <timothy@apple.com>
17254
17255        Fixes the bug where resource would show up multiple times in the
17256        Inspector. This happened when a resource was used multiple times or
17257        when the preloader was scanning ahead to fetch resources.
17258
17259        <rdar://problem/5689373> Cached resources re-appear in Web Inspector
17260        for each access (18223)
17261
17262        Reviewed by Adam Roben.
17263
17264        * page/InspectorController.cpp:
17265        (WebCore::InspectorController::addResource): Add the URL to m_knownResources.
17266        (WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
17267        (WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
17268        is in m_knownResources, then early return.
17269        * page/InspectorController.h: Added m_knownResources.
17270
172712008-05-22  Alice Liu  <alice.liu@apple.com>
17272
17273        Reviewed by Adele, Dan Bernstein.
17274
17275        Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
17276        <rdar://problem/5943132> Need to implement ARIA role="menuitem"
17277        <rdar://problem/5943173> Need to implement ARIA role="menubar" 
17278
17279        These changes added a handler for determining the ARIA role when the
17280        attribute changes.  Before we were querying for the attribute over and
17281        over every time we queried for the role.
17282        * dom/Element.cpp:
17283        (WebCore::Element::attributeChanged):
17284        * page/AXObjectCache.cpp:
17285        (WebCore::AXObjectCache::handleAriaRoleChanged):
17286        * page/AXObjectCache.h:
17287
17288        The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
17289        have to, for now, be represented as a Group and MenuButton instead, because AppKit 
17290        won't recognize menubar and menubaritems within apps. 
17291        * page/AccessibilityObject.h:
17292        (WebCore::AccessibilityObject::isMenuRelated):
17293        (WebCore::AccessibilityObject::isMenu):
17294        (WebCore::AccessibilityObject::isMenuBar):
17295        (WebCore::AccessibilityObject::isMenuButton):
17296        (WebCore::AccessibilityObject::isMenuItem):
17297        * page/AccessibilityRenderObject.cpp:
17298        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
17299        (WebCore::AccessibilityRenderObject::parentObject):
17300        (WebCore::AccessibilityRenderObject::isMenuRelated):
17301        (WebCore::AccessibilityRenderObject::isMenu):
17302        (WebCore::AccessibilityRenderObject::isMenuBar):
17303        (WebCore::AccessibilityRenderObject::isMenuButton):
17304        (WebCore::AccessibilityRenderObject::isMenuItem):
17305        (WebCore::siblingWithAriaRole):
17306        (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
17307        (WebCore::AccessibilityRenderObject::menuForMenuButton):
17308        (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
17309        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
17310        (WebCore::AccessibilityRenderObject::title):
17311        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
17312        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
17313        (WebCore::RoleEntry::):
17314        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
17315        (WebCore::AccessibilityRenderObject::setAriaRole):
17316        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
17317        (WebCore::AccessibilityRenderObject::addChildren):
17318        (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
17319        * page/AccessibilityRenderObject.h:
17320        * page/mac/AccessibilityObjectWrapper.mm:
17321        (-[AccessibilityObjectWrapper accessibilityActionNames]):
17322        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
17323        (-[AccessibilityObjectWrapper roleDescription]):
17324        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
17325        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
17326
173272008-05-22  Adam Roben  <aroben@apple.com>
17328
17329        Make top-level resources show their full URLs again instead of just
17330        "/"
17331
17332        Reviewed by Tim Hatcher.
17333
17334        * page/inspector/Resource.js:
17335        (WebInspector.Resource.prototype.displayName): If the title has gotten
17336        down to just "/", which will happen for, e.g., http://webkit.org/,
17337        just show the entire URL.
17338
173392008-05-22  Timothy Hatcher  <timothy@apple.com>
17340
17341        Shorten URLs shown in the Web Inspector to the file name. This makes
17342        finding files in the Console or the Scripts panel easier.
17343
17344        Reviewed by Adam Roben.
17345
17346        * page/inspector/Console.js:
17347        (WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
17348        (WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
17349        for the URL before making the link element.
17350        * page/inspector/ProfileView.js:
17351        (WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.
17352        * page/inspector/Resource.js:
17353        (WebInspector.Resource.prototype.get displayName): Use trimURL to
17354        trim the URL with the main resource's domain.
17355        * page/inspector/ScriptsPanel.js:
17356        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.
17357        * page/inspector/StylesSidebarPane.js:
17358        (WebInspector.StylePropertiesSection): Ditto.
17359        * page/inspector/inspector.js:
17360        (WebInspector.displayNameForURL): Added.
17361        (WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.
17362
173632008-05-22  Adam Roben  <aroben@apple.com>
17364
17365        Fix Bug 19204: Inspector should highlight source lines when following
17366        links to them
17367
17368        <https://bugs.webkit.org/show_bug.cgi?id=19204>
17369
17370        Reviewed by Tim Hatcher.
17371
17372        Test: manual-tests/inspector/highlight-source-line.html
17373
17374        * manual-tests/inspector/highlight-source-line.html: Added.
17375        * page/inspector/ResourcesPanel.js:
17376        (WebInspector.ResourcesPanel.prototype.showResource): Call
17377        highlightLine on the view if that function exists.
17378        * page/inspector/SourceFrame.js:
17379        (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the
17380        webkit-highlighted-line class to the relevant line, then removes it
17381        after a short delay.
17382        (WebInspector.SourceFrame.prototype._loaded): Added styles for the
17383        highlighted line(s).
17384        * page/inspector/SourceView.js:
17385        (WebInspector.SourceView.prototype.highlightLine): Added. Calls
17386        through to the SourceFrame.
17387
173882008-05-22  Rob Buis  <buis@kde.org>
17389
17390        Reviewed by Eric.
17391
17392        https://bugs.webkit.org/show_bug.cgi?id=12053
17393        SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size
17394
17395        Reduce code size through shared base classes.
17396
17397        * svg/SVGPathSeg.h:
17398        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
17399        (WebCore::SVGPathSegSingleCoord::setX):
17400        (WebCore::SVGPathSegSingleCoord::x):
17401        (WebCore::SVGPathSegSingleCoord::setY):
17402        (WebCore::SVGPathSegSingleCoord::y):
17403        (WebCore::SVGPathSegSingleCoord::toString):
17404        * svg/SVGPathSegArc.cpp:
17405        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
17406        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
17407        * svg/SVGPathSegArc.h:
17408        (WebCore::SVGPathSegArc::SVGPathSegArc):
17409        (WebCore::SVGPathSegArc::toString):
17410        (WebCore::SVGPathSegArc::setX):
17411        (WebCore::SVGPathSegArc::x):
17412        (WebCore::SVGPathSegArc::setY):
17413        (WebCore::SVGPathSegArc::y):
17414        (WebCore::SVGPathSegArc::setR1):
17415        (WebCore::SVGPathSegArc::r1):
17416        (WebCore::SVGPathSegArc::setR2):
17417        (WebCore::SVGPathSegArc::r2):
17418        (WebCore::SVGPathSegArc::setAngle):
17419        (WebCore::SVGPathSegArc::angle):
17420        (WebCore::SVGPathSegArc::setLargeArcFlag):
17421        (WebCore::SVGPathSegArc::largeArcFlag):
17422        (WebCore::SVGPathSegArc::setSweepFlag):
17423        (WebCore::SVGPathSegArc::sweepFlag):
17424        (WebCore::SVGPathSegArcAbs::create):
17425        (WebCore::SVGPathSegArcAbs::pathSegType):
17426        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
17427        (WebCore::SVGPathSegArcRel::create):
17428        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
17429        * svg/SVGPathSegCurvetoCubic.cpp:
17430        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
17431        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
17432        * svg/SVGPathSegCurvetoCubic.h:
17433        (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
17434        (WebCore::SVGPathSegCurvetoCubic::toString):
17435        (WebCore::SVGPathSegCurvetoCubic::setX):
17436        (WebCore::SVGPathSegCurvetoCubic::x):
17437        (WebCore::SVGPathSegCurvetoCubic::setY):
17438        (WebCore::SVGPathSegCurvetoCubic::y):
17439        (WebCore::SVGPathSegCurvetoCubic::setX1):
17440        (WebCore::SVGPathSegCurvetoCubic::x1):
17441        (WebCore::SVGPathSegCurvetoCubic::setY1):
17442        (WebCore::SVGPathSegCurvetoCubic::y1):
17443        (WebCore::SVGPathSegCurvetoCubic::setX2):
17444        (WebCore::SVGPathSegCurvetoCubic::x2):
17445        (WebCore::SVGPathSegCurvetoCubic::setY2):
17446        (WebCore::SVGPathSegCurvetoCubic::y2):
17447        (WebCore::SVGPathSegCurvetoCubicAbs::create):
17448        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
17449        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
17450        (WebCore::SVGPathSegCurvetoCubicRel::create):
17451        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
17452        * svg/SVGPathSegCurvetoCubicSmooth.cpp:
17453        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
17454        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
17455        * svg/SVGPathSegCurvetoCubicSmooth.h:
17456        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
17457        (WebCore::SVGPathSegCurvetoCubicSmooth::toString):
17458        (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
17459        (WebCore::SVGPathSegCurvetoCubicSmooth::x):
17460        (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
17461        (WebCore::SVGPathSegCurvetoCubicSmooth::y):
17462        (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
17463        (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
17464        (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
17465        (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
17466        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
17467        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
17468        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
17469        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
17470        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
17471        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
17472        * svg/SVGPathSegCurvetoQuadratic.cpp:
17473        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
17474        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
17475        * svg/SVGPathSegCurvetoQuadratic.h:
17476        (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
17477        (WebCore::SVGPathSegCurvetoQuadratic::toString):
17478        (WebCore::SVGPathSegCurvetoQuadratic::setX):
17479        (WebCore::SVGPathSegCurvetoQuadratic::x):
17480        (WebCore::SVGPathSegCurvetoQuadratic::setY):
17481        (WebCore::SVGPathSegCurvetoQuadratic::y):
17482        (WebCore::SVGPathSegCurvetoQuadratic::setX1):
17483        (WebCore::SVGPathSegCurvetoQuadratic::x1):
17484        (WebCore::SVGPathSegCurvetoQuadratic::setY1):
17485        (WebCore::SVGPathSegCurvetoQuadratic::y1):
17486        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
17487        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
17488        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
17489        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
17490        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
17491        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
17492        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
17493        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
17494        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
17495        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
17496        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
17497        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
17498        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
17499        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
17500        * svg/SVGPathSegLineto.cpp:
17501        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
17502        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
17503        * svg/SVGPathSegLineto.h:
17504        (WebCore::SVGPathSegLinetoAbs::create):
17505        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
17506        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
17507        * svg/SVGPathSegLinetoHorizontal.cpp:
17508        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
17509        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
17510        * svg/SVGPathSegLinetoHorizontal.h:
17511        (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
17512        (WebCore::SVGPathSegLinetoHorizontal::toString):
17513        (WebCore::SVGPathSegLinetoHorizontal::setX):
17514        (WebCore::SVGPathSegLinetoHorizontal::x):
17515        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
17516        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
17517        (WebCore::SVGPathSegLinetoHorizontalRel::create):
17518        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
17519        * svg/SVGPathSegLinetoVertical.cpp:
17520        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
17521        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
17522        * svg/SVGPathSegLinetoVertical.h:
17523        (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
17524        (WebCore::SVGPathSegLinetoVertical::toString):
17525        (WebCore::SVGPathSegLinetoVertical::setY):
17526        (WebCore::SVGPathSegLinetoVertical::y):
17527        (WebCore::SVGPathSegLinetoVerticalAbs::create):
17528        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
17529        (WebCore::SVGPathSegLinetoVerticalRel::create):
17530        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
17531        * svg/SVGPathSegMoveto.cpp:
17532        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
17533        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
17534        * svg/SVGPathSegMoveto.h:
17535        (WebCore::SVGPathSegMovetoAbs::create):
17536        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
17537        (WebCore::SVGPathSegMovetoRel::create):
17538        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
17539
175402008-05-22  Alp Toker  <alp@nuanti.com>
17541
17542        GTK+/DirectFB build fix attempt.
17543
17544        * plugins/PluginDatabase.cpp:
17545        (WebCore::PluginDatabase::isPreferredPluginDirectory):
17546        * plugins/gtk/PluginDatabaseGtk.cpp:
17547        (WebCore::PluginDatabase::isPreferredPluginDirectory):
17548
175492008-05-22  Timothy Hatcher  <timothy@apple.com>
17550
17551        Adds Focus, Exclude and Restore buttons to the Profile view
17552        Status bar. Also adds a Record button to create new profiles.
17553
17554        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
17555        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.
17556
17557        Reviewed by Adam Roben.
17558
17559        * English.lproj/localizedStrings.js: Added new strings.
17560        * page/JavaScriptProfile.cpp:
17561        (WebCore::restoreAll): Call Profile::restoreAll.
17562        (WebCore::ProfileClass): Added restoreAll to the static functions.
17563        * page/inspector/Images/excludeButtons.png: Added.
17564        * page/inspector/Images/focusButtons.png: Added.
17565        * page/inspector/Images/recordButtons.png: Added.
17566        * page/inspector/Images/reloadButtons.png: Added.
17567        * page/inspector/ProfileView.js:
17568        (WebInspector.ProfileView): Create the buttons elements.
17569        (WebInspector.ProfileView.prototype.get statusBarItems): Return the three
17570        status bar buttons.
17571        (WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
17572        for ProfileNodes that are visible.
17573        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
17574        refresh on the children, now that they have access to the ProfileView's properties.
17575        (WebInspector.ProfileView.prototype._focusClicked): Call focus
17576        on the profile, refresh the ProfileView and show the reset button.
17577        (WebInspector.ProfileView.prototype._excludeClicked): Call exclude
17578        on the profile, refresh the ProfileView and show the reset button.
17579        (WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
17580        on the profile, refresh the ProfileView and hide the reset button.
17581        (WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the 
17582        focus and exclude buttons.
17583        (WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
17584        focus and exclude buttons.
17585        (WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the 
17586        showPercentAs* arguments.
17587        * page/inspector/ProfilesPanel.js: Add a record status bar button and
17588        th ability to have per-view status bar buttons.
17589        * page/inspector/inspector.css: New styles.
17590
175912008-05-22  Mark Rowe  <mrowe@apple.com>
17592
17593        Reviewed by Tim Hatcher.
17594
17595        <rdar://problem/5956612> ibtool crashes during build
17596
17597        SCDynamicStoreCreate will return null if it cannot create a dynamic store object.  We need
17598        to check for failure rather than continuing with a null store as this results in us
17599        passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.
17600
17601        * platform/network/mac/NetworkStateNotifierMac.cpp:
17602        (WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
17603        SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.
17604
176052008-05-22  Adam Roben  <aroben@apple.com>
17606
17607        Add a test for calling a NodeList as a function while profiling
17608
17609        Reviewed by Kevin McCullough.
17610
17611        * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.
17612
176132008-05-22  Kevin McCullough  <kmccullough@apple.com>
17614
17615        Rubber stamped by Adam.
17616
17617        -Added new profiler tests.
17618
17619        * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
17620        * manual-tests/inspector/profiler-test-constructor.html: Added.
17621        * manual-tests/inspector/profiler-test-document-dot-write.html: Added.
17622        * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
17623        * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
17624        * manual-tests/inspector/profiler-test-window-dot-eval.html: Added.
17625
176262008-05-22  Kevin McCullough  <kmccullough@apple.com>
17627
17628        Reviewed by Tim.
17629
17630        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
17631        profile node.
17632        -Expose the 'exclude' function to the WebInspector.
17633        -Also fix a bug with 'focus' and expose whether or not a node is visible
17634
17635        * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P.
17636        (WebCore::getTitleCallback):
17637        (WebCore::getHeadCallback):
17638        (WebCore::focus): Now correctly compares against a ProfileNodeClass
17639        instead of ProfileClass.
17640        (WebCore::exclude): Expose 'exclude' function to the WebInspector.
17641        (WebCore::ProfileClass):
17642        (WebCore::toJS):
17643        * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the
17644        header so that ProfileClass can use it.
17645        (WebCore::getVisible): Expose a node's visiblity to the WebInspector.
17646        (WebCore::ProfileNodeClass):
17647        * page/JavaScriptProfileNode.h:
17648
176492008-05-22  Sam Weinig  <sam@webkit.org>
17650
17651        Reviewed by Anders Carlsson.
17652
17653        <rdar://problem/5838772> Support cross-site XMLHttpRequest
17654
17655        - Implement support for cross-site non-GET requests using the HTTP header
17656          Access-control mechanism.
17657
17658        Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html
17659               http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
17660               http/tests/xmlhttprequest/access-control-basic-not-get-allow.html
17661
17662        * xml/XMLHttpRequest.cpp:
17663        (WebCore::XMLHttpRequest::XMLHttpRequest):
17664        (WebCore::XMLHttpRequest::send):
17665        Don't continue send if inside the method check preflight (only happens for async).
17666        
17667        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
17668        Add support for non-GET requests, starting off a method check preflight.
17669
17670        (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
17671        Handler for finishing up after an asynchronous method check has completed.
17672
17673        (WebCore::XMLHttpRequest::didFinishLoading):
17674        (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
17675        (WebCore::XMLHttpRequest::didReceiveResponse):
17676        (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
17677        (WebCore::XMLHttpRequest::didReceiveData):
17678        Do a limited set of access control when in the method check preflight.
17679        * xml/XMLHttpRequest.h:
17680
176812008-05-22  Timothy Hatcher  <timothy@apple.com>
17682
17683        Make sure we don't call findTreeElement with the same representedObject
17684        again, to prevent infinite recursion. Added many comments to this
17685        code so it can be understood later.
17686
17687        https://bugs.webkit.org/show_bug.cgi?id=19164
17688
17689        Reviewed by Adam Roben.
17690
17691        * page/inspector/treeoutline.js:
17692
176932008-05-22  Timothy Hatcher  <timothy@apple.com>
17694
17695        Re-word the "Attach Debugger" overlay to never say "Attach". The new
17696        wording is "Start Debugging". This makes the overlay consistent with
17697        other wording used for starting the debugger. Also fixes the tooltips
17698        for the Pause on Exceptions button.
17699
17700        Reviewed by Adam Roben and Dan Bernstein.
17701
17702        * English.lproj/localizedStrings.js: Adds new strings.
17703        * page/inspector/ScriptsPanel.js: Changes the wording. Flips the
17704        tooltips for the Pause on Exceptions buttons so the tooltip says
17705        what will happen when the button is pressed.
17706
177072008-05-22  Timothy Hatcher  <timothy@apple.com>
17708
17709        Remove some non-functional elements from the Scripts panel
17710        so they don't confuse users why they aren't working.
17711
17712        Reviewed by Adam Roben.
17713
17714        * page/inspector/ScriptsPanel.js: Removes the back/forward buttons
17715        and the function menu.
17716        * page/inspector/inspector.css: Make the files menu wider since there
17717        is more room now.
17718
177192008-05-22  Timothy Hatcher  <timothy@apple.com>
17720
17721        <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
17722
17723        Reviewed by Adam Roben.
17724
17725        * English.lproj/localizedStrings.js:
17726        * WebCore.base.exp:
17727        * page/InspectorController.cpp:
17728        (WebCore::InspectorController::InspectorController):
17729        (WebCore::InspectorController::inspect):
17730        (WebCore::InspectorController::setWindowVisible):
17731        (WebCore::InspectorController::showPanel):
17732        (WebCore::InspectorController::startUserInitiatedProfiling):
17733        (WebCore::InspectorController::stopUserInitiatedProfiling):
17734        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
17735        (WebCore::InspectorController::stopDebugging):
17736        * page/InspectorController.h:
17737        (WebCore::InspectorController::):
17738        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
17739        * page/inspector/ProfilesPanel.js:
17740        * page/inspector/ScriptsPanel.js:
17741        * page/inspector/inspector.js:
17742
177432008-05-22  Josh Aas  <joshmoz@gmail.com>
17744
17745        Reviewed by Anders.
17746
17747        <rdar://problem/5956429> 
17748        https://bugs.webkit.org/show_bug.cgi?id=19192
17749        remove NPNVpluginEventModel, fix example plugin
17750        
17751        Remove NPNVpluginEventModel enum variable.
17752        
17753        * bridge/npapi.h:
17754
177552008-05-22  Stephanie Lewis  <slewis@apple.com>
17756
17757        Reviewed by Dan.
17758
17759        Fix <rdar://problem/5952405>.  The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again.  Clear it after the unload event is dispatched.
17760
17761        Test: fast/events/onunload-clears-onbeforeunload.html
17762
17763        * loader/FrameLoader.cpp:
17764        (WebCore::FrameLoader::stopLoading):
17765        * page/Frame.cpp:
17766        (WebCore::Frame::shouldClose):
17767
177682008-05-22  Simon Hausmann  <hausmann@webkit.org>
17769
17770        Reviewed by Oliver.
17771
17772        Qt build fix.
17773
17774        * bindings/js/StringSourceProvider.h: Remove text at end of
17775        preprocessor statement.
17776        * bridge/qt/qt_instance.cpp:
17777        (KJS::Bindings::QtRuntimeObjectImp::getConstructData): Replaced
17778        implementsConstruct() with getConstructData().
17779        (KJS::Bindings::QtInstance::getCallData): Replaced implementsCall with
17780        getCallData().
17781        (KJS::Bindings::QtInstance::invokeDefaultMethod): Use getCallData()
17782        instead of implementsCall().
17783        * bridge/qt/qt_instance.h:
17784
177852008-05-22  Adam Roben  <aroben@apple.com>
17786
17787        Massively speed up date-format-tofte with the debugger attached
17788
17789        On a debug Windows build (I know, hardly a good testcase) this patch
17790        makes this test run 57.25x as fast.
17791
17792        Reviewed by Mark Rowe.
17793
17794        * page/inspector/ScriptsPanel.js:
17795        (WebInspector.ScriptsPanel.prototype.reset): Clear the
17796        _scriptsForURLsInFilesSelect object.
17797        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead
17798        of looping over all the options in the select to find the option we
17799        want, get the script object from _scriptsForURLsInFilesSelect and get
17800        the option element from the script object.
17801        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use
17802        _scriptsForURLsInFilesSelect to cache the script objects. Store the
17803        option element for each script on the script object so we can quickly
17804        retrieve it later.
17805
178062008-05-22  Adam Roben  <aroben@apple.com>
17807
17808        Remove some dead code from ScriptsPanel.js
17809
17810        Reviewed by Mark Rowe.
17811
17812        * page/inspector/ScriptsPanel.js:
17813
178142008-05-21  Adam Roben  <aroben@apple.com>
17815
17816        Fix Bug 19178: Inspector should support sorting resources by latency
17817
17818        <https://bugs.webkit.org/show_bug.cgi?id=19178>
17819
17820        I replaced "Sort by Time" with the following sorting options:
17821          - Sort by Start Time
17822          - Sort by Response Time
17823          - Sort by End Time
17824          - Sort by Duration
17825          - Sort by Latency
17826
17827        You can no longer sort by Size when looking at the Time graph, and you
17828        can't use any of the time-based sorting functions when looking at the
17829        Size graph.
17830
17831        Reviewed by Tim Hatcher.
17832
17833        * page/inspector/Resource.js:
17834        (WebInspector.Resource.prototype.get duration): Added.
17835        (WebInspector.Resource.prototype.get latency): Added.
17836        (WebInspector.Resource.CompareByStartTime): Added.
17837        (WebInspector.Resource.CompareByResponseReceivedTime): Added.
17838        (WebInspector.Resource.CompareByEndTime): Added.
17839        (WebInspector.Resource.CompareByDuration): Added.
17840        (WebInspector.Resource.CompareByLatency): Added.
17841        * page/inspector/ResourcesPanel.js:
17842        (WebInspector.ResourcesPanel):
17843          - Each graph sidebar item now holds a list of sorting options
17844          - Graph sidebar items no longer have a calculator property. This is
17845            stored on the sorting options instead, to allow each kind of
17846            sorting to have a different calculator.
17847          - The sortingSelectElement starts out empty, and is populated in
17848            _graphSelected
17849          - The sortingFunction starts out uninitialized and is set as a
17850            side-effect of _graphSelected.
17851        (WebInspector.ResourcesPanel.prototype.set calculator): Don't do
17852        anything if the calculator hasn't changed.
17853        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the
17854        _lastSelectedGraphTreeElement property instead of getting the graph
17855        element from the calculator.
17856        (WebInspector.ResourcesPanel.prototype._graphSelected):
17857          - Store the tree element in the _lastSelectedGraphTreeElement
17858            property
17859          - Popuplate sortingSelectElement with the sortingOptions and select
17860            the option that was last selected
17861        (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set
17862        our calculator from the sorting option.
17863        (WebInspector.ResourceTimeCalculator): Renamed from
17864        ResourceTransferTimeCalculator. Now takes a parameter to specify
17865        whether the bars should all start at zero.
17866        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages):
17867        Take this.startAtZero into account.
17868        (WebInspector.ResourceTimeCalculator.prototype.updateBoundries):
17869        Abstracted the lower/upper bounds of a resource into methods.
17870        (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added.
17871        (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added.
17872        (WebInspector.ResourceTransferTimeCalculator): Added. This is now a
17873        subclass of ResourceTimeCalculator
17874        (WebInspector.ResourceTransferDurationCalculator): Added.
17875        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added.
17876        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added.
17877        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added.
17878        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added.
17879        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added.
17880        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize):
17881        Changed to call CompareBySize.
17882
178832008-05-21  Adam Roben  <aroben@apple.com>
17884
17885        Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are
17886        wrong/missing
17887
17888        <https://bugs.webkit.org/show_bug.cgi?id=19173>
17889
17890        Reviewed by Tim Hatcher.
17891
17892        * manual-tests/inspector/debugger-status-bar-buttons-state.html:
17893        Added.
17894        * page/inspector/ScriptsPanel.js:
17895        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call
17896        _clearInterface (which updates the buttons' tool tips) after
17897        attaching/detaching the debugger so that the buttons will reflect the
17898        new state.
17899        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
17900        Set the title of the pauseOnExceptionsButton, not the debuggingButton.
17901
179022008-05-20  Adam Roben  <aroben@apple.com>
17903
17904        Fix Bug 19153: Inspector should support console.debug
17905
17906        <https://bugs.webkit.org/show_bug.cgi?id=19153>
17907        <rdar://problem/5950856>
17908
17909        Reviewed by Tim Hatcher.
17910
17911        Test: manual-tests/inspector/console-log-formatting.html
17912
17913        * bindings/js/JSConsoleCustom.cpp:
17914        (WebCore::JSConsole::debug): Added.
17915        * manual-tests/inspector/console-log-formatting.html: Changed to test
17916        console.debug as well.
17917        * page/Console.cpp:
17918        (WebCore::Console::debug): Added. Just calls through to log().
17919        * page/Console.h:
17920        * page/Console.idl: Added debug() declaration.
17921
179222008-05-21  Kevin McCullough  <kmccullough@apple.com>
17923
17924        Reviewed by Adam.
17925
17926        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
17927        profile node.
17928        - Expose the Profile's 'focus' ability to WebCore and the WebInspector.
17929
17930        * page/JavaScriptProfile.cpp:
17931        (WebCore::focus):
17932        (WebCore::profileClass):
17933
179342008-05-21  Timothy Hatcher  <timothy@apple.com>
17935
17936        Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
17937        since the parts the remain aren't useful.
17938
17939        * page/JavaScriptDebugServer.cpp:
17940        (WebCore::JavaScriptDebugServer::sourceParsed):
17941
179422008-05-21  Beth Dakin  <bdakin@apple.com>
17943
17944        Reviewed by Anders.
17945
17946        Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash 
17947        beneath ResourceHandle::setDefersLoading while running fast/loader/
17948        simultaneous-reloads-assert.html (null CFURLConnection)
17949
17950        * platform/network/cf/ResourceHandleCFNet.cpp:
17951        (WebCore::ResourceHandle::setDefersLoading): Added simple null-
17952        check.
17953
179542008-05-21  Timothy Hatcher  <timothy@apple.com>
17955
17956        Adds the Request and Response headers to the Resource view.
17957
17958        <rdar://problem/5940782> REGRESSION: Resource Request and Response
17959        headers aren't shown (18451)
17960
17961        Reviewed by Adam Roben.
17962
17963        * English.lproj/localizedStrings.js: Added new strings.
17964        * css/view-source.css: Add comments to make sure a couple of
17965        style rules stay in sync with inspector.css.
17966        * page/inspector/Resource.js:
17967        (WebInspector.Resource.prototype.set url): Dispatch an event when
17968        this property changes.
17969        (WebInspector.Resource.prototype.set requestHeaders): Ditto.
17970        (WebInspector.Resource.prototype.set responseHeaders): Ditto.
17971        * page/inspector/ResourceView.js:
17972        (WebInspector.ResourceView): Add new elements for the headers
17973        and a headers TreeOutline. Add event listeners for resource
17974        property changes. Calls the three new refresh functions.
17975        (WebInspector.ResourceView.prototype.set headersVisible): Implemented.
17976        Toggles the headers-visible class name.
17977        (WebInspector.ResourceView.prototype._refreshURL): Update the URL
17978        tree element.
17979        (WebInspector.ResourceView.prototype._refreshRequestHeaders): Call _refreshHeaders.
17980        (WebInspector.ResourceView.prototype._refreshResponseHeaders): Ditto.
17981        (WebInspector.ResourceView.prototype._refreshHeaders): Remove the previous
17982        headers fromm the tree element. Loop throuh the headers and create new
17983        tree elements and append them.
17984        * page/inspector/ResourcesPanel.js:
17985        (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): Call resize
17986        on the visible view if it is implemented.
17987        * page/inspector/SourceFrame.js:
17988        (WebInspector.SourceFrame.prototype.get autoSizesToFitContentHeight):
17989        (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
17990        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
17991        (WebInspector.SourceFrame.prototype._loaded): 
17992        (WebInspector.SourceFrame.prototype._windowResized): 
17993        * page/inspector/SourceView.js:
17994        (WebInspector.SourceView): Move the SourceFrame creation so it is
17995        available when headersVisible is set. Add a gutter element to fill
17996        the vertical space no covered by the SourceFrame now.
17997        (WebInspector.SourceView.prototype.set headersVisible): Set the
17998        SourceFrame.autoSizesToFitContentHeight when this property changes.
17999        (WebInspector.SourceView.prototype.resize): Call SourceFrame.sizeToFitContentHeight
18000        when autoSizesToFitContentHeight is true. This happens when resizing the 
18001        Resources sidebar.
18002        * page/inspector/inspector.css: Add a copy of webkit-line-gutter-backdrop
18003        and a comment to keep in sync with view-source.css. Adds other styles
18004        for the headers area of resource-view.
18005
180062008-05-21  Sam Weinig  <sam@webkit.org>
18007
18008        Reviewed by Anders Carlsson.
18009
18010        <rdar://problem/5838772> Support cross-site XMLHttpRequest
18011
18012        - Implement support for cross-site GET requests using the HTTP header
18013          Access-control mechanism.
18014
18015        Tests: http/tests/xmlhttprequest/access-control-basic-allow-headers.html
18016               http/tests/xmlhttprequest/access-control-basic-allow.html
18017               http/tests/xmlhttprequest/access-control-basic-denied.html
18018               http/tests/xmlhttprequest/access-control-basic-exclude.html
18019
18020        * xml/AccessControlList.cpp:
18021        (WebCore::AccessControlList::checkOrigin): Implement the list check algorithm.
18022        * xml/AccessControlList.h:
18023
18024        * xml/AccessItem.cpp:
18025        (WebCore::AccessItem::AccessItem):
18026        (WebCore::AccessItem::matches):
18027        * xml/AccessItem.h:
18028        Temporarily use a SecurityOrigin as the bases of AccessItem matching. Using
18029        the isSameSchemeHostPort test of the SecurityOrigin allows for a legal subset
18030        of the AccessItem match algorithm to be used, until the complete parsing of
18031        the wildcards and optional pieces is complete. 
18032
18033        * xml/AccessItemRule.cpp:
18034        (WebCore::matchesAny):
18035        (WebCore::AccessItemRule::allowListMatchesAny):
18036        (WebCore::AccessItemRule::excludeListMatchesAny):
18037        * xml/AccessItemRule.h:
18038        More of the implementation of the list check algorithm.  Check if any of the items
18039        in the rule match the control origin.
18040
18041        * xml/XMLHttpRequest.cpp:
18042        (WebCore::XMLHttpRequest::XMLHttpRequest):
18043        (WebCore::XMLHttpRequest::open): Don't throw a SECURITY_ERR for cross-domain requests anymore.
18044        (WebCore::XMLHttpRequest::send): Use different paths for same origin and cross-domain requests.
18045        (WebCore::XMLHttpRequest::crossSiteAccessRequest): Temporarily only support the GET method for
18046        cross-domain requests.  
18047        (WebCore::XMLHttpRequest::loadRequestSynchronously):
18048        (WebCore::XMLHttpRequest::processSyncLoadResults):
18049        This can now throw an exception if a cross-domain request is denied by the access control
18050        (WebCore::XMLHttpRequest::didFinishLoading):
18051        Add support for cross-domain GET request.  ASSERT temporarily that the method is GET, since we
18052        should have bailed out much earlier for non-GET methods.
18053        (WebCore::XMLHttpRequest::willSendRequest):
18054        (WebCore::XMLHttpRequest::didReceiveResponse):
18055        Do the HTTP header access-control check as soon as the headers arrive.
18056        * xml/XMLHttpRequest.h:
18057
180582008-05-21  Alp Toker  <alp@nuanti.com>
18059
18060        Rubber-stamped by Maciej.
18061
18062        Replace non-standard #pragma marks with comments to avoid compiler
18063        warnings.
18064
18065        * page/InspectorController.cpp:
18066
18067=== End merge of squirrelfish ===
18068
180692008-05-21  Geoffrey Garen  <ggaren@apple.com>
18070
18071        Reviewed by Tim Hatcher.
18072
18073        Merged with trunk WebCore's new debugger.
18074
18075        * page/InspectorController.cpp:
18076        (WebCore::currentCallFrame): Updated to use the DebuggerCallFrame API.
18077        (WebCore::InspectorController::pauseInDebugger): Updated for name change
18078        explained below.
18079        (WebCore::InspectorController::resumeDebugger): ditto
18080        (WebCore::InspectorController::didParseSource): Fixed a bug that would
18081        produce garbled text in some cases: Don't treat JS source as null-
18082        terminated UTF8; it's UTF16.
18083
18084        * page/JavaScriptCallFrame.cpp:
18085        * page/JavaScriptCallFrame.h: Changed this class to do all of its processing
18086        through a JavaScriptCore DebuggerCallFrame. We have to copy the DebuggerCallFrame
18087        because it's a temporary.
18088        (WebCore::JavaScriptCallFrame::update): Added an API for updating a call
18089        frame during execution: this is how we handle "with" and "eval".
18090
18091        * page/JavaScriptDebugServer.cpp: Separated "m_paused" from
18092        "m_doneProcessingDebuggerEvents", because they have different semantics:
18093        "m_paused" is the flag the debug server uses to indicate that new debugger
18094        callbacks should be ignored, because they come from the debugger's own
18095        JS code; "m_doneProcessingDebuggerEvents" is the flag the debugger UI
18096        uses to indicate that it's done processing events, and would like execution
18097        to continue. When these flags were one, the debugger would erroneously
18098        process callbacks that ocurred while unwinding from its own JS code.
18099
18100        (WebCore::toPage): Removed some unnecessary NULL checking. Added some
18101        missing NULL checking.
18102        
18103        (WebCore::JavaScriptDebugServer::pauseIfNeeded): Changed pause tracking
18104        to track a JavaScriptCallFrame instead of an ExecState, since ExecState
18105        is no longer a unique identifier for a call frame.
18106
18107        I removed the updateCurrentCallFrame scheme, and replaced it with
18108        individual tracking inside these callbacks:
18109        
18110        (WebCore::JavaScriptDebugServer::callEvent):
18111        (WebCore::JavaScriptDebugServer::atStatement):
18112        (WebCore::JavaScriptDebugServer::returnEvent):
18113        (WebCore::JavaScriptDebugServer::exception):
18114        
18115        The updateCurrentCallFrame scheme was just too incompatible with the
18116        squirrelfish execution model. Everything still works as before, except
18117        for eval, which no longer shows up as an independent call frame. We'll
18118        need to augment our debugger callbacks to bring back support for that.
18119
18120        * page/inspector/ScopeChainSidebarPane.js: Updated to use the activation
18121        class's new name.
18122
181232008-05-21  Maciej Stachowiak  <mjs@apple.com>
18124
18125        Reviewed by Oliver.
18126
18127        - write directly to the slot we used to check for override properties, when possible
18128        2.6% speedup on in-browser SunSpider
18129
18130        * bindings/js/JSDOMWindowCustom.h:
18131        (WebCore::JSDOMWindow::customPut):
18132
181332008-05-20  Maciej Stachowiak  <mjs@apple.com>
18134
18135        Reviewed by Oliver.
18136
18137        - inline JSDOMWindow security checks
18138        0.9% speedup to SunSpider in-browser
18139
18140        * bindings/js/JSDOMWindowBase.cpp:
18141        * bindings/js/JSDOMWindowCustom.h:
18142        (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
18143        (WebCore::JSDOMWindowBase::allowsAccessFrom):
18144        (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
18145        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
18146        * bindings/js/kjs_binding.cpp:
18147
181482008-05-20  Maciej Stachowiak  <mjs@apple.com>
18149
18150        Reviewed by Adam.
18151
18152        - use ALWAYS_INLINE on customGetOwnPropertySlot since it wasn't inlining
18153        2% speedup to SunSpider in-browser
18154
18155        * bindings/js/JSDOMWindowCustom.h:
18156        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
18157
181582008-05-20  Maciej Stachowiak  <mjs@apple.com>
18159
18160        Reviewed by Adam.
18161
18162        - inline JSDOMWindow's customPut and customGetOwnPropertySlot methods
18163        1.2% speedup to SunSpider in-browser
18164        
18165        The approach here is to make the code generator include a
18166        JS{classname}Custom.h header in the autogenerated implementation,
18167        which we can use to provide inline versions.
18168
18169        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
18170        * bindings/js/JSCSSStyleDeclarationCustom.h: Added.
18171        * bindings/js/JSDOMWindowCustom.cpp:
18172        * bindings/js/JSDOMWindowCustom.h:
18173        (WebCore::asJSDOMWindow):
18174        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
18175        (WebCore::JSDOMWindow::customPut):
18176        * bindings/js/JSHTMLAppletElementCustom.cpp:
18177        * bindings/js/JSHTMLAppletElementCustom.h: Added.
18178        * bindings/js/JSHTMLEmbedElementCustom.cpp:
18179        * bindings/js/JSHTMLEmbedElementCustom.h: Added.
18180        * bindings/js/JSHTMLObjectElementCustom.cpp:
18181        * bindings/js/JSHTMLObjectElementCustom.h: Added.
18182        * bindings/js/JSHistoryCustom.cpp:
18183        * bindings/js/JSHistoryCustom.h: Added.
18184        * bindings/js/JSLocationCustom.cpp:
18185        * bindings/js/JSLocationCustom.h: Added.
18186        * bindings/js/JSStorageCustom.cpp:
18187        * bindings/js/JSStorageCustom.h: Added.
18188        * bindings/scripts/CodeGeneratorJS.pm:
18189
181902008-05-19  Maciej Stachowiak  <mjs@apple.com>
18191
18192        Reviewed by Anders.
18193
18194        - inline asDOMWindow (using a new JSDOMWindowCustom.h header) since it is just a cast
18195        1% speedup to SunSpider in-browser
18196
18197        * WebCore.vcproj/WebCore.vcproj:
18198        * WebCore.xcodeproj/project.pbxproj:
18199        * bindings/js/JSCustomVoidCallback.cpp:
18200        * bindings/js/JSCustomXPathNSResolver.cpp:
18201        * bindings/js/JSDOMApplicationCacheCustom.cpp:
18202        * bindings/js/JSDOMWindowBase.cpp:
18203        * bindings/js/JSDOMWindowBase.h:
18204        * bindings/js/JSDOMWindowCustom.cpp:
18205        * bindings/js/JSDOMWindowCustom.h: Added.
18206        (WebCore::asJSDOMWindow):
18207        * bindings/js/JSDatabaseCustom.cpp:
18208        * bindings/js/JSDocumentCustom.cpp:
18209        * bindings/js/JSLocationCustom.cpp:
18210        * bindings/js/JSSQLTransactionCustom.cpp:
18211        * bindings/js/JSXMLHttpRequestCustom.cpp:
18212        * page/JavaScriptDebugServer.cpp:
18213
182142008-05-19  Maciej Stachowiak  <mjs@apple.com>
18215
18216        Reviewed by Oliver.
18217
18218        - obtain current inner window of outer window in a more efficient way
18219        1.6% speedup to SunSpider in-browser
18220
18221        * bindings/js/JSDOMWindowBase.cpp:
18222        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
18223
182242008-05-19  Maciej Stachowiak  <mjs@apple.com>
18225
18226        Reviewed by Adam.
18227
18228        - make impl() method for JSWindow inline
18229        0.6% speedup to SunSpider in-browser
18230
18231        * WebCore.base.exp: Remove now-inline symbol
18232        * bindings/scripts/CodeGeneratorJS.pm: Make the codegen script inline impl()
18233        even for classes with a parent class.
18234
182352008-05-17  Geoffrey Garen  <ggaren@apple.com>
18236
18237        Reviewed by Oliver Hunt.
18238
18239        Updated for API changes in KJS::Debugger.
18240
182412008-05-13  Geoffrey Garen  <ggaren@apple.com>
18242
18243        Reviewed by Oliver Hunt.
18244
18245        Updated for API changes in KJS::Debugger.
18246
18247        * page/JavaScriptDebugServer.cpp:
18248        (WebCore::JavaScriptDebugServer::callEvent):
18249        (WebCore::JavaScriptDebugServer::atStatement):
18250        (WebCore::JavaScriptDebugServer::returnEvent):
18251        (WebCore::JavaScriptDebugServer::exception):
18252        * page/JavaScriptDebugServer.h:
18253
182542008-05-13  Geoffrey Garen  <ggaren@apple.com>
18255
18256        Reviewed by Oliver Hunt.
18257        
18258        Updated JavaScriptDebugServer API to accept a SourceProvider instead
18259        of a UString, to avoid copying.
18260
18261        * page/JavaScriptDebugServer.cpp:
18262        (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function
18263        not to return a value.
18264
182652008-05-10  Maciej Stachowiak  <mjs@apple.com>
18266
18267        Build fix.
18268        
18269        - add missing forwarding header
18270
18271        * ForwardingHeaders/kjs/SourceProvider.h: Added.
18272
182732008-05-10  Maciej Stachowiak  <mjs@apple.com>
18274
18275        Reviewed by Oliver.
18276
18277        - WebCore part of fix for: "SQUIRRELFISH: function toString broken after calling"
18278        https://bugs.webkit.org/show_bug.cgi?id=18869
18279
18280        * bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String.
18281        (WebCore::StringSourceProvider::create):
18282        (WebCore::StringSourceProvider::getRange):
18283        (WebCore::StringSourceProvider::data):
18284        (WebCore::StringSourceProvider::length):
18285        (WebCore::StringSourceProvider::StringSourceProvider):
18286        * bindings/js/kjs_proxy.cpp:
18287        (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to
18288        evaluate() instead of UChar* / length.
18289        * html/HTMLScriptElement.cpp:
18290        (WebCore::HTMLScriptElement::text): Modified to return the
18291        original string as-is when the script element contains only a
18292        single text node, to avoid excess memory use.
18293        
18294        * WebCore.vcproj/WebCore.vcproj: Add new file to build.
18295        * WebCore.xcodeproj/project.pbxproj: ditto
18296
182972008-05-09  Oliver Hunt  <oliver@apple.com>
18298
18299        Reviewed by Geoff.
18300
18301        Build fixes for SquirrelFish on windows.
18302
18303        * bindings/js/JSNavigatorCustom.cpp:
18304
183052008-05-08  Geoffrey Garen  <ggaren@apple.com>
18306
18307        Reviewed by Oliver Hunt.
18308
18309        Fixed platform/mac/plugins/bindings-test-objc.html.
18310        
18311        I've restored -[WebScriptObject setException] and
18312        +[WebScriptObject throwException].
18313        
18314        Instead of mucking around in the JavaScript engine's execution state,
18315        throwing an exception sets a global exception string, along with the
18316        environment in which to throw it. An ObjC callback checks the global
18317        exception string and, if it's non-nil and the environment matches the
18318        current exceution environment, throws the global exception string as a
18319        JS exception.
18320
18321        I also removed the old currentGlobalObject infrastructure: it's no longer
18322        used.
18323
183242008-05-06  Oliver Hunt  <oliver@apple.com>
18325
18326        Reviewed by Maciej.
18327
18328        Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866>
18329        Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867>
18330
18331        This fixes function binding logic for the ObjC and NPRuntime by
18332        replacing incorrect implementations of implementsCall (which is
18333        no longer virtual) with implementations of getCallData.
18334
18335        * bindings/js/JSQuarantinedObjectWrapper.cpp:
18336        (WebCore::JSQuarantinedObjectWrapper::getCallData):
18337        * bindings/js/JSQuarantinedObjectWrapper.h:
18338        * bridge/c/c_instance.cpp:
18339        * bridge/c/c_instance.h:
18340        * bridge/objc/objc_instance.h:
18341        * bridge/objc/objc_instance.mm:
18342        * bridge/objc/objc_runtime.h:
18343        * bridge/objc/objc_runtime.mm:
18344        (ObjcFallbackObjectImp::getCallData):
18345        * bridge/runtime.h:
18346        * bridge/runtime_object.cpp:
18347        (RuntimeObjectImp::getCallData):
18348        * bridge/runtime_object.h:
18349
183502008-04-30  Geoffrey Garen  <ggaren@apple.com>
18351
18352        Build fix: supply a parameter that used to be implicit to
18353        Interpreter::evaluate.
18354
183552008-04-30  Geoffrey Garen  <ggaren@apple.com>
18356
18357        Build fix: #ifdef'd out some code that doesn't work anymore.
18358
18359        * bindings/objc/WebScriptObject.mm:
18360        (+[WebScriptObject throwException:]):
18361        (-[WebScriptObject setException:]):
18362
183632008-04-14  Gabor Loki  <loki@inf.u-szeged.hu>
18364
18365        Reviewed by Geoffrey Garen.
18366
18367        Bug 18489: Squirrelfish doesn't build on linux
18368        <https://bugs.webkit.org/show_bug.cgi?id=18489>
18369
18370        * WebCore.pro: Add JavaScriptCore/VM into include path
18371
183722008-04-10  Sam Weinig  <sam@webkit.org>
18373
18374        Reviewed by Geoffrey Garen.
18375
18376        Adjusted WebCore JS functions to the new "getConstructData" calling convention.
18377
183782008-03-30  Geoffrey Garen  <ggaren@apple.com>
18379
18380        Reviewed by Oliver Hunt.
18381        
18382        Adjusted WebCore JS functions to the new "getCallData" calling convention.
18383
18384=== Start merge of squirrelfish ===
18385
183862008-05-21  Anders Carlsson  <andersca@apple.com>
18387
18388        Reviewed by Mitz.
18389
18390        Add IconFetcher implementation.
18391
18392        * WebCore.base.exp:
18393        * WebCore.xcodeproj/project.pbxproj:
18394        * html/HTMLLinkElement.h:
18395        (WebCore::HTMLLinkElement::isIcon):
18396        * loader/icon/IconFetcher.cpp: Added.
18397        (WebCore::IconLinkEntry::):
18398        (WebCore::IconLinkEntry::IconLinkEntry):
18399        (WebCore::IconLinkEntry::type):
18400        (WebCore::IconLinkEntry::url):
18401        (WebCore::IconLinkEntry::buffer):
18402        (WebCore::parseIconLink):
18403        (WebCore::IconFetcher::create):
18404        (WebCore::IconFetcher::IconFetcher):
18405        (WebCore::IconFetcher::~IconFetcher):
18406        (WebCore::IconFetcher::cancel):
18407        (WebCore::IconFetcher::createIcon):
18408        (WebCore::IconFetcher::loadEntry):
18409        (WebCore::IconFetcher::loadFailed):
18410        (WebCore::IconFetcher::didReceiveResponse):
18411        (WebCore::IconFetcher::didReceiveData):
18412        (WebCore::IconFetcher::didFinishLoading):
18413        (WebCore::IconFetcher::didFail):
18414        * loader/icon/IconFetcher.h: Added.
18415        (WebCore::IconFetcherClient::~IconFetcherClient):
18416
184172008-05-21  Dan Bernstein  <mitz@apple.com>
18418
18419        Reviewed by Dave Hyatt.
18420
18421        - fix https://bugs.webkit.org/show_bug.cgi?id=18352
18422          <rdar://problem/5854517> crash loading malicious font
18423
18424        * platform/graphics/mac/SimpleFontDataMac.mm:
18425        (WebCore::SimpleFontData::platformInit): In the case of a custom font,
18426        there is no NSFont to base the fallback font on, so get a font based on
18427        fallback family name alone.
18428
184292008-05-21  Timothy Hatcher  <timothy@apple.com>
18430
18431        Adds the files and line numbers to the Profile call tree.
18432
18433        <rdar://problem/5952924> Inspector needs to show file and line number
18434        in the Profile call tree
18435
18436        Reviewed by Geoff Garen.
18437
18438        * page/JavaScriptProfileNode.cpp:
18439        (WebCore::getFunctionName): Fixes a JSStringRef leak.
18440        (WebCore::getURL): Call ProfileNode::url.
18441        (WebCore::getLineNumber): Call ProfileNode::lineNumber.
18442        (WebCore::ProfileNodeClass): Add the url and lineNumber properties.
18443        * page/inspector/ProfileView.js:
18444        (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the
18445        DataGridNode.createCell and add the file and lineNumber to the
18446        cell if the column is the function column.
18447        * page/inspector/inspector.css: New styles for the file and line.
18448
184492008-05-21  Timothy Hatcher  <timothy@apple.com>
18450
18451        Restores logging of console calls to the STDOUT
18452        when Interpreter::shouldPrintExceptions() is true.
18453
18454        <rdar://problem/5636442> REGRESSION: Console.log no longer logs to
18455        the system console or terminal
18456
18457        <rdar://problem/5146079> JavaScript exception logging should print
18458        accurate file and line info when called from WebScriptObject
18459
18460        Reviewed by Adam Roben.
18461
18462        * bindings/js/JSCustomSQLStatementCallback.cpp:
18463        (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing
18464        printf and check for Interpreter::shouldPrintExceptions() since there is
18465        a call to Console::addMessage.
18466        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
18467        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto.
18468        * bindings/js/JSCustomSQLTransactionCallback.cpp:
18469        (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto.
18470        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
18471        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto.
18472        * bindings/js/JSCustomVoidCallback.cpp:
18473        (WebCore::JSCustomVoidCallback::handleEvent): Ditto.
18474        * bindings/js/JSCustomXPathNSResolver.cpp:
18475        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto.
18476        * bindings/js/JSDOMWindowBase.cpp:
18477        (WebCore::JSDOMWindowBase::printErrorMessage): Ditto.
18478        * bindings/js/ScheduledAction.cpp:
18479        (WebCore::ScheduledAction::execute): Ditto.
18480        * bindings/js/kjs_events.cpp:
18481        (WebCore::JSAbstractEventListener::handleEvent): Ditto.
18482        * loader/FrameLoader.cpp:
18483        (WebCore::FrameLoader::shouldAllowNavigation): Ditto.
18484        * bindings/objc/WebScriptObject.mm:
18485        (WebCore::addExceptionToConsole): Added helper static function that
18486        calls Console::addMessage.
18487        (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole.
18488        (-[WebScriptObject evaluateWebScript:]): Ditto.
18489        (-[WebScriptObject setValue:forKey:]): Ditto.
18490        (-[WebScriptObject valueForKey:]): Ditto.
18491        (-[WebScriptObject removeWebScriptKey:]): Ditto.
18492        (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
18493        (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
18494        * page/Console.cpp:
18495        (WebCore::Console::addMessage): Print the level, message,
18496        URL and line number to STDOUT.
18497        (WebCore::printToStandardOut): Helper static function that
18498        takes a prefix string, ExecState, an argument List and URL.
18499        Prints the prefix and loops through the arguments calling
18500        toString on each and printing the string. Finally printing
18501        the URL and new line.
18502        (WebCore::Console::error): Call printToStandardOut.
18503        (WebCore::Console::info): Ditto.
18504        (WebCore::Console::log): Ditto.
18505        (WebCore::Console::assertCondition): Ditto.
18506        (WebCore::Console::warn): Ditto.
18507
185082008-05-20  Timothy Hatcher  <timothy@apple.com>
18509
18510        Changes to work with the new Profiler API. The Profile is now
18511        stored by the InspectorController when Console.profileEnd is called.
18512        This solves three issues with the previous design. First, we don't
18513        keep profiles around unless the Inspector is enabled. Second, we
18514        only show Profiles initiated by the Page in it's Inspector, not every
18515        Profile for the whole process. Third, we now show Profiles in the
18516        Inspector when they are created.
18517
18518        <rdar://problem/5951562> New profiles aren't added to the Inspector
18519        as they finish
18520
18521        Reviewed by Kevin McCullough.
18522
18523        * bindings/js/JSConsoleCustom.cpp:
18524        (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd()
18525        and passes the ExecState and arguments.
18526        * page/Console.cpp:
18527        (WebCore::Console::profile):
18528        (WebCore::Console::profileEnd): Accept the optional title argument
18529        and pass it to Profilier::stopProfiling along with the ExecState.
18530        Calls InspectorController::addProfile with the result Profile.
18531        * page/Console.h:
18532        * page/Console.idl: Made profileEnd Custom so we can get the ExecState.
18533        * page/InspectorController.cpp:
18534        (WebCore::profiles): Renamed from allProfiles. Uses the controller's
18535        profiles vector.
18536        (WebCore::InspectorController::addProfile): Appends to m_profiles.
18537        Calls addScriptProfile if the window is visible.
18538        (WebCore::InspectorController::windowScriptObjectAvailable): Renamed
18539        allProfiles to profiles.
18540        (WebCore::InspectorController::addScriptProfile): Calls addProfile on
18541        the JavaScript side.
18542        (WebCore::InspectorController::didCommitLoad): Clears m_profiles.
18543        * page/InspectorController.h:
18544        * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first
18545        time the panel is shown after a rest.
18546        * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's
18547        addProfile function.
18548
185492008-05-21  Alexey Proskuryakov  <ap@webkit.org>
18550
18551        Reviewed by Darin.
18552
18553        https://bugs.webkit.org/show_bug.cgi?id=19169
18554        <rdar://5952342> REGRESSION: nakarte.ru searches don't work
18555
18556        Test: http/tests/xmlhttprequest/encode-request-url.html
18557
18558        * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
18559        converted to String, as it will be encoded again by parse().
18560
185612008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>
18562
18563        Reviewed by Simon.
18564
18565        For the Qt port, fix building with Qt for Embedded Linux.
18566
18567        * WebCore.pro:
18568
185692008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>
18570
18571        Reviewed by Simon.
18572
18573        For the Qt port, allow building without NPAPI plugin support.
18574
18575        * WebCore.pro:
18576        * plugins/PluginView.h:
18577
185782008-05-20  Kevin McCullough  <kmccullough@apple.com>
18579
18580        Reviewed by Tim.
18581
18582        Added all of my personal manual tests for the profiler.
18583
18584        * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
18585        * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
18586        * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
18587        * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
18588        * manual-tests/inspector/profiler-test-apply.html: Added.
18589        * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
18590        * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
18591        * manual-tests/inspector/profiler-test-call.html: Added.
18592        * manual-tests/inspector/profiler-test-dead-time.html: Added.
18593        * manual-tests/inspector/profiler-test-event-handler.html: Added.
18594        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
18595        * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
18596        * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
18597        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
18598        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
18599        * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
18600        * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
18601        * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
18602        * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
18603        * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
18604        * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
18605        * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
18606        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
18607        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
18608        * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
18609        * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
18610        * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
18611        * manual-tests/inspector/resources: Added.
18612        * manual-tests/inspector/resources/other-frame.html: Added.
18613        * manual-tests/inspector/resources/other-window.html: Added.
18614        * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.
18615
186162008-05-20  Adam Roben  <aroben@apple.com>
18617
18618        Use KJS::List::getSlice instead of reimplementing it
18619
18620        Rubberstamped and suggested by Sam Weinig.
18621
18622        * bindings/js/JSConsoleCustom.cpp:
18623        (WebCore::JSConsole::assertCondition):
18624
186252008-05-20  Kevin Calhoun  <kcalhoun@apple.com>
18626
18627        Reviewed by Darin.
18628
18629        Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation
18630
18631        If the class QTVideoRendererWebKitOnly is present use it to render video,
18632        otherwise fall back to existing use of QTMovieView/QTMovieContentView.
18633
18634        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
18635        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18636        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
18637        (WebCore::MediaPlayerPrivate::createQTMovie):
18638        (WebCore::QTVideoRendererClass):
18639        (WebCore::MediaPlayerPrivate::detachQTMovieView):
18640        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
18641        (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
18642        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
18643        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
18644        (WebCore::MediaPlayerPrivate::load):
18645        (WebCore::MediaPlayerPrivate::cancelLoad):
18646        (WebCore::MediaPlayerPrivate::setVisible):
18647        (WebCore::MediaPlayerPrivate::paint):
18648        (-[WebCoreMovieObserver newImageAvailable:]):
18649
186502008-05-19  Adam Roben  <aroben@apple.com>
18651
18652        Fix Bug 19134: Inspector should support console.assert
18653
18654        <https://bugs.webkit.org/show_bug.cgi?id=19134>
18655
18656        Reviewed by Tim Hatcher.
18657
18658        Test: manual-tests/inspector/console-assert.html
18659
18660        * bindings/js/JSConsoleCustom.cpp:
18661        (WebCore::JSConsole::assertCondition): Added.
18662        * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
18663        ImplementationFunction extended attribute, which allows you to
18664        override the name of the C++ function used to implement this method.
18665        * manual-tests/inspector/console-assert.html: Added.
18666        * page/Console.cpp:
18667        (WebCore::Console::assertCondition): Added.
18668        * page/Console.h:
18669        * page/Console.idl: Added assert().
18670
186712008-05-20  Alice Liu  <alice.liu@apple.com>
18672
18673        Reviewed by Brady.
18674
18675        fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()
18676
18677        * loader/Cache.cpp:
18678        (WebCore::Cache::requestUserCSSStyleSheet):
18679        Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
18680        (WebCore::Cache::insertInLRUList):
18681        Assert that any resource in the LRU list has been accessed.  This is early detection of a
18682        potential hang later when pruning resources, and also agrees with the early return in 
18683        removeFromLRUList().
18684
186852008-05-20  Dan Bernstein  <mitz@apple.com>
18686
18687        Reviewed by Darin Adler.
18688
18689        - fix https://bugs.webkit.org/show_bug.cgi?id=17655
18690          <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
18691
18692        Test: fast/dom/SelectorAPI/viewless-document.html
18693
18694        * css/CSSStyleSelector.cpp:
18695        (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
18696        selector checker.
18697        (WebCore::CSSStyleSelector::init): Removed initialization of
18698        m_collectRulesOnly, which is now part of the selector checker.
18699        (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
18700        moved into the selector checker.
18701        (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
18702        (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
18703        argument, which is used to initialize a data member of the selector
18704        checker. Updated for renames. Removed initialization of m_isXMLDoc
18705        because this bit is now initialized only once in the selector checker's
18706        constructor.
18707        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
18708        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
18709        into a SelectorChecker method.
18710        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
18711        by querySelector() and querySelectorAll().
18712        (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
18713        moved into the selector checker.
18714        (WebCore::CSSStyleSelector::matchUARules): Ditto.
18715        (WebCore::CSSStyleSelector::styleForElement):
18716        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
18717        code that set the parentStyle variable after the last place it is
18718        accessed, and changed to ensure that m_style is set early in this
18719        function.
18720        (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
18721        into the selector checker.
18722        (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
18723        (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
18724        the element's style and the parent style to the selector checker, as
18725        well as the dynamic pseudo variable and the selector attributes vector.
18726        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
18727        arguments for the style of the base element and its parent. When the
18728        elementStyle argument is 0, the style is fetched from the element
18729        and its parent as needed. Also changed to take a reference to the
18730        dynamic pseudo ID and a pointer to the vector of attributes affecting
18731        the match.
18732        (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
18733        into the selector checker.
18734        (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
18735        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
18736        (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
18737        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
18738        (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
18739        Changed into a SelectorChecker method.
18740        (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
18741        Ditto.
18742
18743        * css/CSSStyleSelector.h:
18744        Added a SelectorChecker class and moved data and methods used in
18745        checking selectors into it.
18746        (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
18747        SelectorChecker method.
18748        (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
18749        * dom/Node.cpp:
18750        (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
18751        of the document's style selector.
18752        * dom/SelectorNodeList.cpp:
18753        (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
18754
187552008-05-20  Timothy Hatcher  <timothy@apple.com>
18756
18757        Implements the Profiles panel and Profile view.
18758
18759        Reviewed by Kevin McCullough.
18760
18761        * English.lproj/localizedStrings.js: Added new strings.
18762        * page/inspector/Images/profileIcon.png: Added.
18763        * page/inspector/Images/profilesIcon.png: Changed. New icon design
18764        that fits in with the other toolbar icons.
18765        * page/inspector/ProfileView.js:
18766        (WebInspector.ProfileView): Remove custom table elements
18767        and create a DataGrid. Sorts the profile by descending total time,
18768        since the profiles aren't sorted by default.
18769        (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
18770        and recreates all the nodes. The selection is preserved.
18771        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
18772        all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
18773        to match the ProfileView values. Then call refresh on the child.
18774        (WebInspector.ProfileView.prototype._sortData): Determine the sort
18775        function to call on the head profile node. Call it and then call
18776        refresh to rebuild the DataGrid.
18777        (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
18778        if the event is not a double-click. When it is a double-click, determine
18779        the column that was targeted and if it was total or self toggle the
18780        show as percent property. Call refreshShowAsPercents.
18781        (WebInspector.ProfileDataGridNode): 
18782        (WebInspector.ProfileDataGridNode.prototype.get data): 
18783        (WebInspector.ProfileDataGridNode.prototype.expand): 
18784        (WebInspector.ProfileDataGridNode.prototype.collapse): 
18785        (WebInspector.ProfileDataGridNode.prototype._populate): 
18786        * page/inspector/ProfilesPanel.js:
18787        (WebInspector.ProfilesPanel): 
18788        (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
18789        with all profiles. This is a workaround until the Inspector
18790        is told about new profiles.
18791        (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
18792        profile views.
18793        (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
18794        event to the sidebar.
18795        (WebInspector.ProfilesPanel.prototype.addProfile): Create a
18796        ProfileSidebarTreeElement object and add it to the sidebar.
18797        (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
18798        and show it.
18799        (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
18800        visible view.
18801        (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
18802        WebInspector.elementDragStart.
18803        (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
18804        (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
18805        Call WebInspector.elementDragEnd.
18806        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
18807        sidebar width based on the passed in value.
18808        (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
18809        (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
18810        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
18811        (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
18812        (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
18813        (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
18814        * page/inspector/inspector.css: New styles for the profile sidebar
18815        item and profile data grid columns.
18816        * page/inspector/inspector.js:
18817        * page/inspector/utilities.js:
18818        (Number.secondsToString): Added a higherResolution argument
18819        that returns fractional milliseconds.
18820
188212008-05-20  chris fleizach  <cfleizach@apple.com>
18822
18823        Reviewed by Darin Adler, Alice Liu
18824
18825        <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
18826        <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure
18827
18828        * page/AccessibilityObject.cpp:
18829        (WebCore::AccessibilityObject::clickPoint):
18830        * page/AccessibilityObject.h:
18831        * page/mac/AccessibilityObjectWrapper.mm:
18832        (-[AccessibilityObjectWrapper accessibilityActionNames]):
18833        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
18834        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
18835        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
18836        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
18837
188382008-05-20  Timothy Hatcher  <timothy@apple.com>
18839
18840        Expose the ProfileNode functionName sorting functions on
18841        JavaScriptProfileNode.
18842
18843        Reviewed by Kevin McCullough.
18844
18845        * page/JavaScriptProfileNode.cpp:
18846        (WebCore::sortFunctionNameDescending): Call ProfileNode.
18847        (WebCore::sortFunctionNameAscending): Ditto.
18848        (WebCore::ProfileNodeClass): Add static functions.
18849
188502008-05-20  Darin Adler  <darin@apple.com>
18851
18852        Reviewed by Mitz.
18853
18854        - a first small step of CSS DOM refactoring -- the eventual goal is to
18855          reduce StyleBase and possibly eliminate it, since it has multiple
18856          purposes and unneccessarily ties many classes together
18857
18858        * css/CSSCursorImageValue.cpp:
18859        (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
18860        (WebCore::resourceReferencedByCursorElement): Ditto.
18861        (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
18862        argument.
18863        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
18864        check if X and Y changed before changing them -- there's no reason to do
18865        that. Removed code that depended on the internals of CSSImageValue. The
18866        new code uses only protected functions rather than going right at the
18867        fields and uing internal knowledge of the base class.
18868        * css/CSSCursorImageValue.h: Added a create function, made constructor
18869        private, removed unused style argument.
18870
18871        * css/CSSImageValue.cpp:
18872        (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
18873        (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
18874        use by CSSCursorImageValue that gives the URL.
18875        (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
18876        use by CSSCursorImageValue that clears the CachedImage.
18877        * css/CSSImageValue.h: Added create functions, made constructors protected
18878        and private, removed unused style argument, made data members private, added
18879        some protected functions for use by CSSCursorImageValue.
18880
18881        * css/CSSImportRule.cpp:
18882        (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
18883        the parent. This is part of preparation to move the checkLoaded function from
18884        StyleBase to StyleSheet.
18885        (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
18886        of the style sheet to use the href function of the style sheet rather than
18887        the baseURL function. This eliminates an O(n^2) algorithm here and reduces
18888        the use of baseURL, part of preparation to move it from StyleBase
18889        to CSSStyleSheet.
18890
18891        * css/CSSMutableStyleDeclaration.cpp:
18892        (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
18893        function instead of a direct call to new for the CSSImageValue classes.
18894        * css/CSSParser.cpp:
18895        (WebCore::CSSParser::parseValue): Ditto.
18896        (WebCore::CSSParser::parseContent): Ditto.
18897        (WebCore::CSSParser::parseFillImage): Ditto.
18898        (WebCore::CSSParser::parseBorderImage): Ditto.
18899
18900        * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
18901        * rendering/style/RenderStyle.h: Removed unneeded include of
18902        CSSCursorImageValue.h, which was causing us to rebuild the world way too often.
18903
18904        * xml/XSLImportRule.cpp:
18905        (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
18906        (WebCore::XSLImportRule::loadSheet): Ditto.
18907
189082008-05-20  Kevin McCullough  <kmccullough@apple.com>
18909
18910        Rubber stamped by Adam.
18911
18912        -Minor fix. Should not use a reference since the original may disappear.
18913
18914        * page/Console.cpp:
18915        (WebCore::Console::profile):
18916
189172008-05-20  Kevin Ollivier  <kevino@theolliviers.com>
18918
18919        wx build fix. userAgent should return a value.
18920
18921        * plugins/wx/PluginViewWx.cpp:
18922        (WebCore::PluginView::userAgent):
18923
189242008-05-19  Timothy Hatcher  <timothy@apple.com>
18925
18926        Expose the ProfileNode sorting functions on JavaScriptProfileNode.
18927
18928        Reviewed by Kevin McCullough.
18929
18930        * page/JavaScriptProfileNode.cpp:
18931        (WebCore::sortTotalTimeDescending): Call ProfileNode.
18932        (WebCore::sortTotalTimeAscending): Ditto.
18933        (WebCore::sortSelfTimeDescending): Ditto.
18934        (WebCore::sortSelfTimeAscending): Ditto.
18935        (WebCore::sortCallsDescending): Ditto.
18936        (WebCore::sortCallsAscending): Ditto.
18937        (WebCore::ProfileNodeClass): Add static functions.
18938
189392008-05-19  Timothy Hatcher  <timothy@apple.com>
18940
18941        * page/InspectorController.cpp: Change the include for
18942        JavaScriptProfile.h to sue double quotes instead of backets.
18943
189442008-05-19  Timothy Hatcher  <timothy@apple.com>
18945
18946        Adds a DataGrid object that is used for multi-column data
18947        and can contain hierarchical content with disclosure arrows.
18948        A lot of DataGrid was copied from treeoutline.js. This change
18949        makes the database views use the DataGrid. It will later be
18950        used by the ProfileView.
18951
18952        Reviewed by Adam Roben.
18953
18954        * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js
18955        and modified to work with table elements.
18956        * page/inspector/DatabaseQueryView.js:
18957        (WebInspector.DatabaseQueryView.prototype._queryFinished):
18958        Call DatabasesPanel.dataGridForResult and adds the inline style to
18959        the DataGrid element.
18960        * page/inspector/DatabaseTableView.js:
18961        (WebInspector.DatabaseTableView.prototype._queryFinished):
18962        Call DatabasesPanel.dataGridForResult.
18963        * page/inspector/DatabasesPanel.js:
18964        (WebInspector.DatabasesPanel.prototype._tableForResult): Removed.
18965        (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added.
18966        Similar to the previous _tableForResult function, but makes a DataGrid.
18967        * page/inspector/inspector.css: Changes to the data-grid
18968        style rules.
18969        * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js.
18970        * page/inspector/WebKit.qrc: Ditto.
18971        * page/inspector/inspector.html: Ditto.
18972
189732008-05-19  Kevin McCullough  <kmccullough@apple.com>
18974
18975        Reviewed by Adam.
18976
18977        -build fix.
18978
18979        * bindings/js/JSConsoleCustom.cpp:
18980        (WebCore::JSConsole::profile):
18981        * page/Console.cpp:
18982        (WebCore::Console::profile):
18983        * page/Console.h:
18984        * page/Console.idl:
18985
189862008-05-19  Alp Toker  <alp@nuanti.com>
18987
18988        Reviewed by Maciej.
18989
18990        GTK+/soup fixes:
18991
18992        Remove the fragment part of the URL since the file backend doesn't
18993        deal with it.
18994
18995        Fix a typo in the cleanup function.
18996
18997        * platform/network/soup/ResourceHandleSoup.cpp:
18998        (WebCore::cleanupGioOperation):
18999        (WebCore::ResourceHandle::startGio):
19000
190012008-05-19  Kevin McCullough  <kmccullough@apple.com>
19002
19003        Reviewed by Adam.
19004
19005        <rdar://problem/5770054> JavaScript profiler (10928)
19006        - Send the executing context to the profiler so it can attribute time
19007        correctly to parent functions when calling profile() and profileEnd()
19008        while nested.
19009
19010        * page/Console.cpp:
19011        (WebCore::Console::profile):
19012        (WebCore::Console::profileEnd):
19013        * page/Console.h:
19014
190152008-05-19  Alp Toker  <alp@nuanti.com>
19016
19017        Reviewed by Anders and Beth.
19018
19019        http://bugs.webkit.org/show_bug.cgi?id=16495
19020        [GTK] Accessibility support with ATK/AT-SPI
19021
19022        Initial ATK/AT-SPI accessibility support for the GTK+ port.
19023
19024        * GNUmakefile.am:
19025        * page/AccessibilityObject.cpp:
19026        (WebCore::AccessibilityObject::AccessibilityObject):
19027        (WebCore::AccessibilityObject::detach):
19028        * page/AccessibilityObject.h:
19029        * page/gtk/AXObjectCacheAtk.cpp: Added.
19030        (WebCore::AXObjectCache::detachWrapper):
19031        (WebCore::AXObjectCache::attachWrapper):
19032        (WebCore::AXObjectCache::postNotification):
19033        (WebCore::AXObjectCache::postNotificationToElement):
19034        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
19035        * page/gtk/AccessibilityObjectWrapperAtk.cpp: Added.
19036        (WebCore::AccessibilityObject::wrapper):
19037        (WebCore::AccessibilityObject::setWrapper):
19038        * page/gtk/AccessibilityObjectWrapperAtk.h: Added.
19039
190402008-05-19  Anders Carlsson  <andersca@apple.com>
19041
19042        Reviewed by Adam.
19043
19044        <rdar://problem/5946454>
19045        Support navigator.onLine from HTML5.
19046
19047        Add Windows NetworkStateNotifier implementation using the IP Helper API.
19048
19049        * WebCore.vcproj/WebCore.vcproj:
19050        * platform/network/NetworkStateNotifier.h:
19051        (WebCore::updateState):
19052        * platform/network/win/NetworkStateNotifierWin.cpp: Added.
19053        (WebCore::NetworkStateNotifier::updateState):
19054        (WebCore::NetworkStateNotifier::addressChanged):
19055        (WebCore::NetworkStateNotifier::callAddressChanged):
19056        (WebCore::NetworkStateNotifier::addrChangeCallback):
19057        (WebCore::NetworkStateNotifier::registerForAddressChange):
19058        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
19059
190602008-05-19  Steve Falkenburg  <sfalken@apple.com>
19061
19062        Disable C4273, C4565 for CSSGrammar.cpp, XPathGrammar.cpp to fix build.
19063        
19064        Reviewed by Adam Roben.
19065
19066        * WebCore.vcproj/WebCore.vcproj:
19067
190682008-05-19  Adam Roben  <aroben@apple.com>
19069
19070        Fix Bug 19065: Resources with a space in their URL don't get
19071        error/warning bubbles
19072
19073        <https://bugs.webkit.org/show_bug.cgi?id=19065>
19074
19075        Reviewed by Dan Bernstein.
19076
19077        Test: manual-tests/inspector/errors-with-space in-url.html
19078
19079        * manual-tests/inspector/errors-with-space in-url.html: Added.
19080        * page/Console.cpp:
19081        (WebCore::Console::error):
19082        (WebCore::Console::info):
19083        (WebCore::Console::log):
19084        (WebCore::Console::warn):
19085        Pass the raw URL to the Inspector, not the pretty URL, to match the
19086        URL that was used when initially telling the Inspector about this
19087        resource. We continue to pass the pretty URL to the ChromeClient for
19088        backwards compatibility.
19089
190902008-05-19  Stephanie Lewis  <slewis@apple.com>
19091
19092        Reviewed by Darin.
19093
19094        more fast teardown performance work, WebCore plumbing
19095
19096        * page/Chrome.cpp:
19097        (WebCore::Chrome::disableSuddenTermination):
19098        (WebCore::Chrome::enableSuddenTermination):
19099        (WebCore::ChromeClient::disableSuddenTermination):
19100        (WebCore::ChromeClient::enableSuddenTermination):
19101        * page/Chrome.h:
19102        * page/ChromeClient.h:
19103        * page/Page.cpp:
19104        (WebCore::Page::changePendingUnloadEventCount):
19105        (WebCore::Page::changePendingBeforeUnloadEventCount):
19106
191072008-05-19  Kuchhal  <kuchal@yahoo.com>
19108
19109        Reviewed by Justin.
19110
19111        <rdar://problem/5863412> Crash when Ctrl C is pressed after a series of specific mouse events (18506)
19112
19113        * editing/markup.cpp:
19114        (WebCore::createMarkup): Null check.
19115
191162008-05-19  Chris Fleizach  <cfleizach@apple.com>
19117
19118        Reviewed by Beth Dakin.
19119
19120        <rdar://problem/5912195> CrashTracer: [USER] 1 crash in Mail at -[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]
19121
19122        * page/mac/AccessibilityObjectWrapper.mm:
19123        (visiblePositionForTextMarker):
19124
191252008-05-19  Ada Chan  <adachan@apple.com>
19126
19127        Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef.
19128        When setting cookies-related attributes in CFURLRequest, make sure we get them from the
19129        current CFHTTPCookieStorageRef.  Also, set the cookie storage in CFURLRequest.
19130
19131        Reviewed by Steve Falkenburg.
19132
19133        * WebCore.vcproj/WebCore.vcproj:
19134        * platform/network/cf/ResourceHandleCFNet.cpp:
19135        (WebCore::makeFinalRequest):
19136        * platform/network/cf/ResourceRequestCFNet.cpp:
19137        (WebCore::ResourceRequest::doUpdatePlatformRequest):
19138        * platform/network/win/CookieJarCFNetWin.cpp:
19139        (WebCore::setCookies):
19140        (WebCore::cookies):
19141        (WebCore::cookiesEnabled):
19142        * platform/network/win/CookieStorageWin.cpp: Added.
19143        (WebCore::currentCookieStorage):
19144        (WebCore::setCurrentCookieStorage):
19145        * platform/network/win/CookieStorageWin.h: Added.
19146
191472008-05-19  Alexey Proskuryakov  <ap@webkit.org>
19148
19149        Reviewed by Darin.
19150
19151        http://bugs.webkit.org/show_bug.cgi?id=18308
19152        SVG Encoding error with fill attribute
19153
19154        This is caused by problems with data: URL loading. Besides what is fixed by this patch,
19155        I filed <rdar://problem/5845875> for CFNetwork.
19156
19157        While at it, fixed a related javascript: URL issue.
19158
19159        Tests: fast/loader/data-url-encoding-html.html
19160               fast/loader/data-url-encoding-svg.html
19161               fast/loader/javascript-url-encoding.html
19162
19163        * platform/KURL.cpp:
19164        (WebCore::KURL::parse): Fix a FIXME, use UTF-8 instead of dropping high bytes. This fixes
19165        javascript: URL handling.
19166        (WebCore::encodeRelativeString): Like mailto: URLs, data: ones are all UTF-8. Restructured
19167        the code to not search for "#" if both parts are to be encoded as UTF-8 anyway.
19168
191692008-05-19  Alexey Proskuryakov  <ap@webkit.org>
19170
19171        Reviewed by Darin.
19172
19173        https://bugs.webkit.org/show_bug.cgi?id=18421
19174        <rdar://problem/5857369> XMLHttpRequest does not properly encode & and < in outgoing messages
19175
19176        Test: http/tests/xmlhttprequest/serialize-document.html
19177
19178        * bindings/js/JSXMLHttpRequestCustom.cpp:
19179        (WebCore::JSXMLHttpRequest::send): Use createMarkup() instead of Document::toString().
19180
19181        * dom/Attr.cpp:
19182        * dom/Attr.h:
19183        * dom/Document.cpp:
19184        * dom/Document.h:
19185        * dom/DocumentFragment.cpp:
19186        * dom/DocumentFragment.h:
19187        * dom/Element.cpp:
19188        * dom/Element.h:
19189        * dom/Entity.cpp:
19190        * dom/Entity.h:
19191        * dom/EntityReference.cpp:
19192        * dom/EntityReference.h:
19193        * dom/Node.h:
19194        * dom/Text.cpp:
19195        * dom/Text.h:
19196        * html/HTMLElement.cpp:
19197        * html/HTMLElement.h:
19198        Removed most Node::toString() methods, which were massively wrong, and only used for
19199        XMLHttpRequest::send(). The remanining ones are still used in markup.cpp, but should probably
19200        be folded into it for consistency.
19201
192022008-05-19  Anders Carlsson  <andersca@apple.com>
19203
19204        Fix Windows build.
19205        
19206        * plugins/win/PluginViewWin.cpp:
19207        (WebCore::PluginView::userAgentStatic):
19208        (WebCore::PluginView::getValueStatic):
19209        (WebCore::PluginView::getValue):
19210
192112008-05-19  Chris Fleizach  <cfleizach@apple.com>
19212
19213        Reviewed by Darin Adler.
19214
19215        <rdar://problem/5935694> AX: crash in text marker range
19216
19217        * page/mac/AccessibilityObjectWrapper.mm:
19218        (textMarkerRangeFromMarkers):
19219
192202008-05-19  Darin Adler  <darin@apple.com>
19221
19222        - fix WebKit build
19223
19224        * WebCore.xcodeproj/project.pbxproj: Make CSSReflectionDirection.h "private" instead of "project".
19225
192262008-05-19  chris fleizach  <cfleizach@apple.com>
19227
19228        Reviewed by Darin Adler
19229
19230        <rdar://problem/5700830> VO: VoiceOver should fall back to title attr if form element is not labeled
19231
19232        * page/AccessibilityRenderObject.cpp:
19233        (WebCore::AccessibilityRenderObject::title):
19234
192352008-05-19  Darin Adler  <darin@apple.com>
19236
19237        Reviewed by Mitz.
19238
19239        - tweak CSSReflectValue, possibly fixing the leaks seen on the buildbot
19240
19241        * WebCore.vcproj/WebCore.vcproj: Added CSSReflectionDirection.h. 
19242        * WebCore.xcodeproj/project.pbxproj: Ditto.
19243        * css/CSSReflectionDirection.h: Added.
19244
19245        * css/CSSComputedStyleDeclaration.cpp:
19246        (WebCore::valueForReflection): Changed to use CSSReflectValue::create.
19247        * css/CSSParser.cpp:
19248        (WebCore::CSSParser::parseReflect): Ditto.
19249
19250        * css/CSSReflectValue.h: Added a create function. Got rid of the setter
19251        functions, which had const PassRefPtr& arguments -- those probably caused
19252        the leaks although I'm not exactly sure why. Made the contructor and all
19253        the data members private.
19254
19255        * rendering/style/RenderStyle.h: Changed to include CSSReflectionDirection.h
19256        instead of CSSReflectValue.h so we can tweak CSSReflectValue without
19257        recompiling the world.
19258
192592008-05-19  Holger Hans Peter Freyther  <zecke@selfish.org>
19260
19261        Rubber Stamped by Simon.
19262
19263        Enforce the WebKit Coding Style.
19264
19265        * plugins/PluginView.cpp:
19266        (WebCore::PluginView::load):
19267        (WebCore::PluginView::setValue):
19268        * plugins/gtk/PluginViewGtk.cpp:
19269        (WebCore::PluginView::setFocus):
19270        (WebCore::PluginView::show):
19271        (WebCore::PluginView::hide):
19272        (WebCore::PluginView::attachToWindow):
19273        (WebCore::PluginView::detachFromWindow):
19274        (WebCore::PluginView::getValueStatic):
19275        (WebCore::PluginView::getValue):
19276        * plugins/qt/PluginViewQt.cpp:
19277        (WebCore::PluginView::updateWindow):
19278        (WebCore::PluginView::detachFromWindow):
19279        (WebCore::PluginView::handlePostReadFile):
19280        (WebCore::PluginView::getValueStatic):
19281        (WebCore::PluginView::getValue):
19282
192832008-05-14  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
19284
19285        Reviewed by Holger.
19286
19287        https://bugs.webkit.org/show_bug.cgi?id=18882
19288        https://bugs.webkit.org/show_bug.cgi?id=18892
19289        Based also on work by Chris Lord.
19290        
19291        Provides support for NPAPI plugins that pass NULL as their instance
19292        info. There are two kinds:
19293        - Some call NPN_UserAgent and NPN_GetValue before a PluginView has
19294        been created. For those we provide static versions of those functions.
19295        - Others call NPN_* functions with a NULL instance inside NPP_*
19296        calls, for those we've added extra currentPluginView guards.
19297
19298        * plugins/PluginView.cpp: Add additional currentPluginView guards and
19299        some small style changes.
19300        (WebCore::PluginView::start):
19301        (WebCore::PluginView::performRequest):
19302        (WebCore::PluginView::bindingInstance):
19303        (WebCore::PluginView::handlePost):
19304        * plugins/PluginView.h: Added static versions of NPN_UserAgent and
19305        NPN_GetValue.
19306        * plugins/gtk/PluginViewGtk.cpp: Add additional currentPluginView
19307        guards and some small style changes.
19308        (WebCore::PluginView::setNPWindowRect):
19309        (WebCore::PluginView::stop):
19310        (WebCore::PluginView::userAgentStatic): Added to deal with plugins
19311        that query this before having a PluginView.
19312        (WebCore::PluginView::getValueStatic): Added to deal with plugins
19313        that call this before we have created a PluginView.
19314        (WebCore::PluginView::getValue): Moved some code to getValueStatic.
19315        (WebCore::PluginView::init):
19316        * plugins/npapi.cpp: Call PluginView::userAgentStatic
19317        and PluginView::getValueStatic if no PluginView is
19318        present.
19319        (NPN_UserAgent):
19320        (NPN_GetValue):
19321        * plugins/qt/PluginPackageQt.cpp:
19322        (WebCore::PluginPackage::fetchInfo): Corrected split args because ignoring
19323        empty entries crashed.
19324        (WebCore::PluginPackage::load): Resolve all symbols when loading plugins
19325        to protect against XPCOM dependencies.
19326        * plugins/qt/PluginViewQt.cpp: Add additional currentPluginView guards and
19327        some small style changes.
19328        (WebCore::PluginView::updateWindow):
19329        (WebCore::PluginView::setNPWindowRect):
19330        (WebCore::PluginView::stop):
19331        (WebCore::PluginView::userAgentStatic): Added to deal with plugins
19332        that query this before having a PluginView.
19333        (WebCore::PluginView::handlePostReadFile):
19334        (WebCore::PluginView::getValueStatic): Added to deal with plugins
19335        that call this before we have created a PluginView.
19336        (WebCore::PluginView::getValue): Moved some code to getValueStatic.
19337        (WebCore::PluginView::init): m_needsXEmbed init was moved to constructor.
19338
193392008-05-19  Alp Toker  <alp@nuanti.com>
19340
19341        GTK+ build fix on Mac. Conditionalize XP_UNIX use.
19342
19343        * plugins/gtk/PluginPackageGtk.cpp:
19344        (WebCore::PluginPackage::fetchInfo):
19345        (WebCore::PluginPackage::load):
19346        * plugins/gtk/PluginViewGtk.cpp:
19347
193482008-05-18  Chris Fleizach  <cfleizach@apple.com>
19349
19350        Reviewed by Darin Adler
19351
19352        <rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100)
19353
19354        * page/AccessibilityObject.h:
19355
193562008-05-18  Darin Adler  <darin@apple.com>
19357
19358        Reviewed by Sam.
19359
19360        - fix <rdar://problem/5943569> crash due to stale ownerNode pointer
19361
19362        Test: fast/dom/StyleSheet/ownerNode-lifetime.html
19363
19364        * bindings/js/JSStyleSheetCustom.cpp:
19365        (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how
19366        it would be even better to solve this in the DOM rather than just in the JavaScript binding.
19367
19368        * css/StyleSheet.idl: Added CustomMarkFunction attribute.
19369
193702008-05-18  Brady Eidson  <beidson@apple.com>
19371
19372        Reviewed by Sam Weinig
19373
19374        Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
19375        Allow `delete storage.itemName` syntax as an alias for `storage.removeItem("itemName")`
19376
19377        Tests: storage/domstorage/localstorage/delete-removal.html
19378               storage/domstorage/sessionstorage/delete-removal.html
19379
19380        * bindings/js/JSStorageCustom.cpp:
19381        (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties
19382        * storage/Storage.idl:
19383
193842008-05-17  Sam Weinig  <sam@webkit.org>
19385
19386        Reviewed by Mark Rowe.
19387
19388        Re-factor core setRequestHeader logic into setRequestHeaderInternal.
19389
19390        * xml/XMLHttpRequest.cpp:
19391        (WebCore::XMLHttpRequest::sameOriginRequest):
19392        (WebCore::XMLHttpRequest::setRequestHeader):
19393        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
19394        * xml/XMLHttpRequest.h:
19395
193962008-05-17  Sam Weinig  <sam@webkit.org>
19397
19398        Reviewed by Mark Rowe.
19399
19400        Differentiate between cancelation errors and generic network error in XHR.
19401
19402        * loader/FrameLoader.cpp:
19403        (WebCore::FrameLoader::requestFromDelegate):
19404        (WebCore::FrameLoader::cancelledError):
19405        * platform/network/ResourceErrorBase.h:
19406        (WebCore::ResourceErrorBase::setIsCancelation):
19407        (WebCore::ResourceErrorBase::isCancelation):
19408        (WebCore::ResourceErrorBase::ResourceErrorBase):
19409        Add state that differentiates between errors created by cancelation and those made
19410        by all other generic network errors as this differentiation is needed by some specs.
19411
19412        * xml/XMLHttpRequest.cpp:
19413        (WebCore::XMLHttpRequest::open):
19414        (WebCore::XMLHttpRequest::loadRequestSynchronously):
19415        (WebCore::XMLHttpRequest::clearResponseEntityBody):
19416        (WebCore::XMLHttpRequest::genericError):
19417        (WebCore::XMLHttpRequest::networkError):
19418        (WebCore::XMLHttpRequest::abortError):
19419        (WebCore::XMLHttpRequest::didFail):
19420        * xml/XMLHttpRequest.h:
19421        * xml/XMLHttpRequestException.h:
19422        (WebCore::XMLHttpRequestException::):
19423        * xml/XMLHttpRequestException.idl:
19424        Add ABORT_ERR. This error cannot be raised with the current WebKit architecture
19425        as it requires the ability to cancel a synchronous XHR, which we cannot currently
19426        do.  It may be possible in the future though.
19427
194282008-05-17  Mark Rowe  <mrowe@apple.com>
19429
19430        Reviewed by Sam Weinig.
19431
19432        Including wtf/Platform.h or using any of the macros it defines in headers that may be
19433        included from outside of the WebKit project causes any project using those headers to
19434        fail to build.
19435
19436        * page/mac/WebDashboardRegion.h:
19437
194382008-05-17  Sam Weinig  <sam@webkit.org>
19439
19440        Reviewed by Brady Eidson.
19441
19442        Re-factor send() logic a little to make adding cross-site requests easier.
19443
19444        * xml/XMLHttpRequest.cpp:
19445        (WebCore::XMLHttpRequest::send):
19446        (WebCore::XMLHttpRequest::sameOriginRequest):
19447        (WebCore::XMLHttpRequest::loadRequestSynchronously):
19448        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19449        * xml/XMLHttpRequest.h:
19450
194512008-05-16  Anders Carlsson  <andersca@apple.com>
19452
19453        Reviewed by Mitz.
19454
19455        Copy appcache headers.
19456        
19457        * WebCore.vcproj/WebCore.vcproj:
19458
194592008-05-16  Antti Koivisto  <antti@apple.com>
19460
19461        Reviewed by Anders.
19462        
19463        Fix <rdar://problem/5934400> 
19464        Movie controller does not update on first load of http://www.apple.com/getamac/ads/
19465        
19466        The issue is that we execute scripts while there are still pending stylesheet loads.
19467        If the script depends on a stylesheet having been applied it may fail.
19468        
19469        This will make external script execution block on external stylesheet loads. A full
19470        fix (as discussed with Hyatt) will also need to block inline script execution.
19471
19472        Test: http/tests/local/stylesheet-and-script-load-order-http.html
19473
19474        * html/HTMLTokenizer.cpp:
19475        (WebCore::HTMLTokenizer::notifyFinished):
19476
194772008-05-16  chris fleizach  <cfleizach@apple.com>
19478
19479        Reviewed by Jon Honeycutt
19480
19481        <rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable
19482
19483        * page/AccessibilityRenderObject.cpp:
19484        (WebCore::AccessibilityRenderObject::isReadOnly):
19485        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
19486
194872008-05-16  Stephanie Lewis  <slewis@apple.com>
19488
19489        Reviewed by Maciej.
19490
19491        track onbeforeunlaod event counts. Pretty much identical to unload event tracking.
19492        Also rename methods from onunload tracking to be more clear.
19493
19494        increment/decrement event counts when onunload and onbeforeunload events are added/removed
19495        * dom/Document.cpp:
19496        (WebCore::Document::removeHTMLWindowEventListener):
19497        (WebCore::Document::addWindowEventListener):
19498        (WebCore::Document::removeWindowEventListener):
19499        (WebCore::Document::addPendingFrameUnloadEventCount):
19500        (WebCore::Document::removePendingFrameUnloadEventCount):
19501        (WebCore::Document::addPendingFrameBeforeUnloadEventCount):
19502        (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
19503        * dom/Document.h:
19504        
19505        clear onunload count after unload events are dispatched
19506        * loader/FrameLoader.cpp:
19507        (WebCore::FrameLoader::stopLoading):
19508
19509        track onunload and onbeforeunload event counts for each frame
19510        * page/EventHandler.cpp:
19511        (WebCore::EventHandler::EventHandler):
19512        (WebCore::EventHandler::addPendingFrameUnloadEventCount):
19513        (WebCore::EventHandler::removePendingFrameUnloadEventCount):
19514        (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
19515        (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount):
19516        (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
19517        (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
19518        (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
19519        * page/EventHandler.h:
19520        
19521        clear unbeforeunload count after unbeforeunload events are detached
19522        * page/Frame.cpp:
19523        (WebCore::Frame::shouldClose):
19524
19525        track total event count at page level
19526        * page/Page.cpp:
19527        (WebCore::Page::Page):
19528        (WebCore::Page::changePendingUnloadEventCount):
19529        (WebCore::Page::pendingBeforeUnloadEventCount):
19530        (WebCore::Page::changePendingBeforeUnloadEventCount):
19531        * page/Page.h:
19532
195332008-05-16  Anders Carlsson  <andersca@apple.com>
19534
19535        Reviewed by Mitz.
19536
19537        <rdar://problem/5787788>
19538        REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.
19539        
19540        Replicate the Mac behavior when a sync load fails.
19541        
19542        * platform/network/cf/ResourceHandleCFNet.cpp:
19543        (WebCore::ResourceHandle::loadResourceSynchronously):
19544
195452008-05-16  Anders Carlsson  <andersca@apple.com>
19546
19547        Reviewed by Brady.
19548
19549        Parse and set the headers on the response.
19550
19551        * loader/appcache/ApplicationCacheStorage.cpp:
19552        (WebCore::ApplicationCacheStorage::store):
19553        (WebCore::parseHeader):
19554        (WebCore::parseHeaders):
19555        (WebCore::ApplicationCacheStorage::loadCache):
19556
195572008-05-16  Timothy Hatcher  <timothy@apple.com>
19558
19559        Adds the "this" object to the Local scope section of the
19560        Scope Variables pane.
19561
19562        <rdar://problem/5774773> Web Inspector doesn't show the "this"
19563        object in its variables list (10438)
19564
19565        Reviewed by Oliver Hunt.
19566
19567        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19568        (WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject
19569        of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid.
19570        * page/JavaScriptCallFrame.cpp:
19571        (WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from
19572        the ExecState. Return 0 if m_exec is null.
19573        * page/JavaScriptCallFrame.h:
19574        * page/JavaScriptCallFrame.idl: Add thisObject.
19575        * page/inspector/ObjectPropertiesSection.js:
19576        (WebInspector.ObjectPropertiesSection): Adds two new arguments.
19577        The ignoreHasOwnProperty tells the section to show all properties,
19578        including inherited ones. And extraProperties is an object of
19579        additional properties to show.
19580        (WebInspector.ObjectPropertiesSection.prototype): Honor the
19581        extraProperties and ignoreHasOwnProperty properties.
19582        * page/inspector/ScopeChainSidebarPane.js:
19583        (WebInspector.ScopeChainSidebarPane.prototype.update): Add a this
19584        property to an extra object that is passed to the ObjectPropertiesSection.
19585        Also pass true for ignoreHasOwnProperty since we want to show all properties.
19586
195872008-05-16  Anders Carlsson  <andersca@apple.com>
19588
19589        Reviewed by Brady.
19590
19591        Add mimeType and textEncodingName to the resource table.
19592        
19593        * loader/appcache/ApplicationCacheStorage.cpp:
19594        (WebCore::ApplicationCacheStorage::openDatabase):
19595        (WebCore::ApplicationCacheStorage::store):
19596        (WebCore::ApplicationCacheStorage::loadCache):
19597
195982008-05-16  Kevin McCullough  <kmccullough@apple.com>
19599
19600        Reviewed by Tim.
19601
19602        <rdar://problem/5770054> JavaScript profiler (10928)
19603        Use a Vector instead of a Deque since we don't use the extra capabilities
19604        of the Deque.
19605
19606        * page/JavaScriptProfileNode.cpp:
19607        (WebCore::getChildren):
19608        (WebCore::toJS):
19609
196102008-05-16  Anders Carlsson  <andersca@apple.com>
19611
19612        Reviewed by Brady.
19613
19614        Add a version table to the database.
19615
19616        * loader/appcache/ApplicationCacheStorage.cpp:
19617        (WebCore::ApplicationCacheStorage::verifySchemaVersion):
19618        (WebCore::ApplicationCacheStorage::openDatabase):
19619        * loader/appcache/ApplicationCacheStorage.h:
19620
196212008-05-16  Timothy Hatcher  <timothy@apple.com>
19622
19623        Adds the ability to evaluate expressions in the local scope
19624        of the selected call frame.
19625
19626        https://bugs.webkit.org/show_bug.cgi?id=19052
19627
19628        Reviewed by Geoff Garen.
19629
19630        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19631        (WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception
19632        from evaluate to the calling ExecState.
19633        * page/JavaScriptCallFrame.cpp:
19634        (WebCore::JavaScriptCallFrame::evaluate): Added an exception out
19635        argument. Simplified the code by calling KJS:eval directly.
19636        * page/JavaScriptCallFrame.h: Change evalutate to take an exception
19637        out argument.
19638        * page/inspector/Console.js: Check if the debugger is paused and
19639        call evaluateInSelectedCallFrame on the Scripts panel.
19640        * page/inspector/ScriptsPanel.js: Added a paused getter and
19641        evaluateInSelectedCallFrame which does the evaluation and updates
19642        the scope variables pane afterwards.
19643
196442008-05-16  Timothy Hatcher  <timothy@apple.com>
19645
19646        Fixed the bug where the Inspector node highlight would not show
19647        in the correct place for nodes in frames.
19648
19649        <rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408)
19650
19651        Reviewed by John Sullivan.
19652
19653        * page/InspectorController.cpp:
19654        (WebCore::convertFromFrameToMainFrame): Helper function to convert
19655        IntRect coordinates from one frame to the main frame.
19656        (WebCore::InspectorController::drawNodeHighlight): Call the
19657        convertFromFrameToMainFrame helper for all the rects we get from
19658        the node since they are in the owner frame's coordinate space.
19659
196602008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>
19661
19662        Reviewed by Eric.
19663
19664        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated
19665
19666        Make video tags use a header guard so that make_names.pl for factory generation.
19667
19668        - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
19669        when generating HTMLNames.
19670
19671        - Modify the different build systems to accomodate the new parameter.
19672
19673        - Small make_names.pl clean up (mainly code generated coding style issue).
19674
19675        * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
19676        if it is defined (similar to SVG) 
19677
19678        * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
19679        make_names.pl if HTML_FLAGS is defined.
19680
19681        * WebCore.pro: Pass $${DEFINES} to make_names.pl.
19682
19683        * dom/make_names.pl: 
19684        * html/HTMLElement.cpp:
19685        (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
19686        * html/HTMLTagNames.in: Ditto.
19687
196882008-05-16  Anders Carlsson  <andersca@apple.com>
19689
19690        Reviewed by Mitz.
19691
19692        Fire progress events.
19693        
19694        * loader/appcache/ApplicationCacheGroup.cpp:
19695        (WebCore::ApplicationCacheGroup::startLoadingEntry):
19696
196972008-05-16  Anders Carlsson  <andersca@apple.com>
19698
19699        Reviewed by John.
19700
19701        Handle the case where the main resource load is cancelled while the cache attempt is in progress.
19702        
19703        * loader/DocumentLoader.cpp:
19704        (WebCore::DocumentLoader::mainReceivedError):
19705        Tell the group that the main resource failed to load.
19706        
19707        * loader/appcache/ApplicationCacheGroup.cpp:
19708        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
19709        Call cacheUpdateFailed.
19710        
19711        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
19712        Stop loading if the update failed.
19713        
19714        * loader/appcache/ApplicationCacheGroup.h:
19715
197162008-05-16  Chris Fleizach  <cfleizach@apple.com>
19717
19718        Reviewed by Alice Liu
19719
19720        <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
19721
19722        * WebCore.base.exp:
19723        * editing/VisiblePosition.cpp:
19724        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
19725        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
19726        * page/AXObjectCache.cpp:
19727        * page/AXObjectCache.h:
19728        (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
19729        (WebCore::AXObjectCache::accessibilityEnabled):
19730        (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
19731        * page/AccessibilityRenderObject.cpp:
19732        (WebCore::AccessibilityRenderObject::visiblePositionRange):
19733        (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
19734        (WebCore::AccessibilityRenderObject::addChildren):
19735        (WebCore::AccessibilityRenderObject::actionVerb):
19736        * page/EventHandler.cpp:
19737        (WebCore::EventHandler::handleKeyboardSelectionMovement):
19738        (WebCore::EventHandler::defaultKeyboardEventHandler):
19739        * page/EventHandler.h:
19740
197412008-05-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
19742
19743        Reviewed by Simon.
19744
19745        Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
19746        from gtk-port.
19747
19748        * WebCore.pro:
19749
197502008-05-16  Simon Hausmann  <hausmann@webkit.org>
19751
19752        Fix the Gtk build.
19753
19754        * GNUmakefile.am: Added rendering/style to the include paths.
19755
197562008-05-16  Simon Hausmann  <hausmann@webkit.org>
19757
19758        Fix the Qt build.
19759
19760        * WebCore.pro: Added rendering/style to the include paths
19761        * page/AXObjectCache.cpp:
19762        (WebCore::AXObjectCache::handleActiveDescendantChanged): Don't compile
19763        this method unless a17n is enabled.
19764
197652008-05-15  Rob Buis  <buis@kde.org>
19766
19767        Reviewed by Dave Hyatt.
19768
19769        https://bugs.webkit.org/show_bug.cgi?id=17433
19770        getComputedStyle() -> clip returns empty string
19771
19772        Make getComputedStyle return a shape value for clip
19773        if it is set.
19774
19775        Tests: fast/css/getPropertyValue-clip.html
19776
19777        * css/CSSComputedStyleDeclaration.cpp:
19778        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
19779
197802008-05-15  Kevin Ollivier  <kevino@theolliviers.com>
19781
19782        wx build fix. Add rendering/style to includes dir.
19783
19784        * webcore-base.bkl:
19785
197862008-05-15  Alice Liu  <alice.liu@apple.com>
19787
19788        Reviewed by Beth Dakin.
19789
19790        Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant
19791        Also added support for aria roles listbox and option, and aria-selected, 
19792        and aria-multiselectable for listboxes
19793
19794        * dom/Element.cpp:
19795        (WebCore::Element::attributeChanged):
19796        * dom/Element.h:
19797        * dom/StyledElement.cpp:
19798        (WebCore::StyledElement::attributeChanged):
19799        * html/HTMLAttributeNames.in:
19800        * page/AXObjectCache.cpp:
19801        (WebCore::AXObjectCache::handleActiveDescendantChanged):
19802        * page/AXObjectCache.h:
19803        (WebCore::AXObjectCache::accessibilityEnabled):
19804        (WebCore::AXObjectCache::handleActiveDescendantChanged):
19805        * page/AccessibilityListBox.cpp:
19806        (WebCore::AccessibilityListBox::selectedChildren):
19807        (WebCore::AccessibilityListBox::visibleChildren):
19808        * page/AccessibilityListBox.h:
19809        * page/AccessibilityListBoxOption.h:
19810        (WebCore::AccessibilityListBoxOption::selectedChildren):
19811        (WebCore::AccessibilityListBoxOption::visibleChildren):
19812        * page/AccessibilityObject.cpp:
19813        * page/AccessibilityObject.h:
19814        (WebCore::AccessibilityObject::isListBox):
19815        (WebCore::AccessibilityObject::shouldFocusActiveDescendant):
19816        (WebCore::AccessibilityObject::activeDescendant):
19817        (WebCore::AccessibilityObject::handleActiveDescendantChanged):
19818        * page/AccessibilityRenderObject.cpp:
19819        (WebCore::AccessibilityRenderObject::title):
19820        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
19821        (WebCore::AccessibilityRenderObject::focusedUIElement):
19822        (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
19823        (WebCore::AccessibilityRenderObject::activeDescendant):
19824        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
19825        (WebCore::RoleEntry::):
19826        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
19827        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
19828        (WebCore::AccessibilityRenderObject::selectedChildren):
19829        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
19830        (WebCore::AccessibilityRenderObject::visibleChildren):
19831        * page/AccessibilityRenderObject.h:
19832        (WebCore::AccessibilityRenderObject::isDetached):
19833        * page/mac/AccessibilityObjectWrapper.mm:
19834        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
19835
198362008-05-15  Timothy Hatcher  <timothy@apple.com>
19837
19838        Adds an error and warning count indicator at the bottom right in the
19839        Inspector's status bar.
19840
19841        https://bugs.webkit.org/show_bug.cgi?id=18650
19842
19843        Initial implementation by Adam Roben.
19844        Reviewed by Sam Weinig.
19845
19846        Test: manual-tests/inspector/error-warning-count.html
19847
19848        * English.lproj/localizedStrings.js: Added new strings.
19849        * manual-tests/inspector/error-warning-count.html: Added.
19850        * page/inspector/Console.js:
19851        (WebInspector.Console.prototype.show): Don't do anything if visible.
19852        (WebInspector.Console.prototype.hide): Don't do anything if hidden.
19853        Temporally set properties and classes to mimic the post-animation
19854        values so panels like Elements in their updateStatusBarItems call will
19855        size things to fit the final location. 
19856        * page/inspector/ElementsPanel.js:
19857        (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
19858        Account for the #error-warning-count width when sizing breadcrumbs. 
19859        * page/inspector/Resource.js:
19860        (WebInspector.Resource.prototype.set errors): Update the global error count.
19861        (WebInspector.Resource.prototype.set warnings): Update the global warning count.
19862        * page/inspector/inspector.css: Make .hidden's display property
19863        !important to ensure things really hide, and added styling for the new
19864        #error-warning-count element.
19865        * page/inspector/inspector.html: Added an #error-warning-count div
19866        in the #anchored-status-bar-items div.
19867        * page/inspector/inspector.js:
19868        (WebInspector.get errors): Added.
19869        (WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts.
19870        (WebInspector.get warnings): Added.
19871        (WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts.
19872        (WebInspector._updateErrorAndWarningCounts): Added. Update the
19873        #error-warning-count div with the current error/warning count.
19874        (WebInspector.loaded): Add a click event listener to the
19875        #error-warning-count element that will show the Console. Call
19876        _updateErrorAndWarningCounts to display the initial error/warning counts.
19877
198782008-05-15  Timothy Hatcher  <timothy@apple.com>
19879
19880        Fixes a bug in the view source parsing of text within <script>,
19881        <style>, <xmp>, <textarea> and other special tags. The text was
19882        being parsed as HTML and would be syntax highlighted if a "<"
19883        was encountered.
19884
19885        <rdar://problem/5790805> Inspector's source view missing some words,
19886        doubles others in JS source in <script> tag (17752)
19887
19888        Reviewed by Dave Hyatt.
19889
19890        Added test: fast/frames/viewsource-plain-text-tags.html
19891
19892        * html/HTMLTokenizer.cpp:
19893        (WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and
19894        scriptCodeResync to zero before an early return in view source mode.
19895        This was causing text from a previous script tag to show up in
19896        then next style tag.
19897        (WebCore::HTMLTokenizer::parseTag): Enter an if block in view source
19898        mode even if n is null. The n is property guarded in other places
19899        and not used by view source mode. Removes a redundant null check on n.
19900        Add a new null check of n before setting scriptSrcCharset. Other code
19901        in HTMLTokenizer is already guarded for this code path. 
19902
199032008-05-15  Timothy Hatcher  <timothy@apple.com>
19904
19905        Changes the Web Inspector node highlight to be less aggressive
19906        and only highlight when hovering over the selected node in the DOM
19907        tree or breadcrumbs. You can highlight on hover for any node if
19908        you hold down the Alt/Option key while hovering.
19909
19910        Reviewed by Kevin McCullough.
19911
19912        * page/inspector/ElementsPanel.js:
19913        * page/inspector/inspector.js:
19914
199152008-05-15  Stephanie Lewis  <slewis@apple.com>
19916
19917        Fix windows build
19918
19919        * loader/FrameLoader.cpp:
19920        (WebCore::FrameLoader::stopLoading):
19921
199222008-05-15  Stephanie Lewis  <slewis@apple.com>
19923
19924        Reviewed by Anders.
19925        
19926        export a symbol needed for fast teardown
19927
19928        * WebCore.base.exp:
19929
199302008-05-15  Stephanie Lewis  <slewis@apple.com>
19931
19932        Reviewed by Anders.
19933
19934        Keep track on pending unload event counts
19935
19936        No change in behavior so no new tests, but I am dumping the 
19937        unload event count to track the new variable.
19938
19939        * WebCore.base.exp:
19940
19941        increment/decrement the count when an event is added/removed
19942        * dom/Document.cpp:
19943        (WebCore::Document::removeHTMLWindowEventListener):
19944        (WebCore::Document::addWindowEventListener):
19945        (WebCore::Document::removeWindowEventListener):
19946        (WebCore::Document::setPendingFrameUnloadEventCount):
19947        * dom/Document.h:
19948
19949        set the count to 0 for each frame after the unload event has been dispatched
19950        * loader/FrameLoader.cpp:
19951        (WebCore::FrameLoader::stopLoading):
19952
19953        keep track of the number of pending unload events for the eventHandler's frame
19954        * page/EventHandler.cpp:
19955        (WebCore::EventHandler::EventHandler):
19956       (WebCore::EventHandler::pendingFrameUnloadEventCount):
19957        (WebCore::EventHandler::setPendingFrameUnloadEventCount):
19958        * page/EventHandler.h:
19959
19960        keep track of the total number of pending unload events for all of the frames
19961        * page/Page.cpp:
19962        (WebCore::Page::Page):
19963        (WebCore::Page::pendingUnloadEventCount):
19964        (WebCore::Page::setPendingUnloadEventCount):
19965        * page/Page.h:
19966
199672008-05-15  Steve Falkenburg  <sfalken@apple.com>
19968
19969        Fix build.
19970
19971        * WebCore.vcproj/WebCore.vcproj:
19972
199732008-05-15  Steve Falkenburg  <sfalken@apple.com>
19974
19975        Fix build.
19976
19977        * WebCore.vcproj/WebCore.vcproj:
19978
199792008-05-15  Steve Falkenburg  <sfalken@apple.com>
19980
19981        Fix build.
19982
19983        * WebCore.vcproj/WebCore.vcproj:
19984
199852008-05-15  David Kilzer  <ddkilzer@apple.com>
19986
19987        Bug 19085: font-family: initial sets font-family differently than font: initial
19988
19989        <https://bugs.webkit.org/show_bug.cgi?id=19085>
19990        <rdar://problem/5939391>
19991
19992        Reviewed by David Hyatt.
19993
19994        Test: fast/css/font-family-initial.html
19995
19996        * css/CSSStyleSelector.cpp:
19997        (WebCore::CSSStyleSelector::applyProperty): Don't set family if first
19998        family of initial font description is empty.
19999
200002008-05-15  David Hyatt  <hyatt@apple.com>
20001
20002        Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into
20003        a bunch of smaller files.
20004
20005        Reviewed by Dan Bernstein
20006
20007        * GNUmakefile.am:
20008        * WebCore.pro:
20009        * WebCore.vcproj/WebCore.vcproj:
20010        * WebCore.xcodeproj/project.pbxproj:
20011        * WebCoreSources.bkl:
20012        * rendering/RenderStyle.cpp: Removed.
20013        * rendering/RenderStyle.h: Removed.
20014        * rendering/style: Added.
20015        * rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp.
20016        * rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h.
20017
200182008-05-15  David Kilzer  <ddkilzer@apple.com>
20019
20020        Fix leaks when stopping a page from loading
20021
20022        Patch suggested by Antti.  Reviewed by Antti.
20023
20024        * loader/DocLoader.cpp:
20025        (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but
20026        never made it to the cache, delete it to prevent it from leaking.
20027
200282008-05-15  Julien Chaffraix  <jchaffraix@webkit.org>
20029
20030        Reviewed by Darin.
20031
20032        https://bugs.webkit.org/show_bug.cgi?id=13942
20033        ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/
20034
20035        In HTML, when an attribute was null (for example when we parse '="somevalue"'
20036        (attribute forgotten or there is a space between the attribute and the '=')),
20037        the fallback was to assign the value to the attribute. However if the value was
20038        a url or did contain a '/', we would trigger the assertion.
20039
20040        To avoid that, we check the value before assigning it now and do not assign it
20041        if it means adding a '/'.
20042
20043        Test: fast/parser/assertion-empty-attribute.html
20044
20045        * html/HTMLTokenizer.cpp:
20046        (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before
20047        assigning it to an attribute when the attribute is null.
20048
200492008-05-15  Kevin Ollivier  <kevino@theolliviers.com>
20050
20051        wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles,
20052        and add stubs for new Plugins functions. Also move plugin functions outside of
20053        TemporaryLinkStubs.cpp so that they are more noticeable.
20054
20055        * WebCoreSources.bkl:
20056        * platform/wx/EventLoopWx.cpp: Added.
20057        (WebCore::EventLoop::cycle):
20058        * platform/wx/TemporaryLinkStubs.cpp:
20059        * plugins/wx: Added.
20060        * plugins/wx/PluginDataWx.cpp: Added.
20061        (WebCore::PluginData::initPlugins):
20062        (WebCore::PluginData::refresh):
20063        * plugins/wx/PluginDatabaseWx.cpp: Added.
20064        (WebCore::PluginDatabase::getPluginPathsInDirectories):
20065        (WebCore::PluginDatabase::defaultPluginDirectories):
20066        (WebCore::PluginDatabase::isPreferredPluginDirectory):
20067        * plugins/wx/PluginPackageWx.cpp: Added.
20068        (WebCore::PluginPackage::determineQuirks):
20069        (WebCore::PluginPackage::fetchInfo):
20070        (WebCore::PluginPackage::load):
20071        (WebCore::PluginPackage::hash):
20072        (WebCore::PluginPackage::equal):
20073        (WebCore::PluginPackage::compareFileVersion):
20074        * plugins/wx/PluginViewWx.cpp: Added.
20075        (WebCore::PluginView::updateWindow):
20076        (WebCore::PluginView::setFocus):
20077        (WebCore::PluginView::show):
20078        (WebCore::PluginView::hide):
20079        (WebCore::PluginView::paint):
20080        (WebCore::PluginView::handleKeyboardEvent):
20081        (WebCore::PluginView::handleMouseEvent):
20082        (WebCore::PluginView::setParent):
20083        (WebCore::PluginView::setNPWindowRect):
20084        (WebCore::PluginView::attachToWindow):
20085        (WebCore::PluginView::detachFromWindow):
20086        (WebCore::PluginView::stop):
20087        (WebCore::PluginView::userAgent):
20088        (WebCore::PluginView::handlePostReadFile):
20089        (WebCore::PluginView::getValue):
20090        (WebCore::PluginView::invalidateRect):
20091        (WebCore::PluginView::invalidateRegion):
20092        (WebCore::PluginView::forceRedraw):
20093        (WebCore::PluginView::~PluginView):
20094        (WebCore::PluginView::init):
20095        * webcore-wx.bkl:
20096
200972008-05-15  Adam Treat  <treat@kde.org>
20098
20099        Reviewed by Simon.
20100
20101        Don't try to setCompositionMode for devices that do not support PorterDuff
20102
20103        * platform/graphics/qt/GraphicsContextQt.cpp:
20104        (WebCore::TransparencyLayer::TransparencyLayer):
20105        (WebCore::GraphicsContext::strokeRect):
20106        (WebCore::GraphicsContext::clip):
20107
201082008-05-15  Adele Peterson  <adele@apple.com>
20109
20110        Reviewed and landed by Alexey.
20111
20112        Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
20113
20114        * WebCore.base.exp: Exported TextIterator methods.
20115
201162008-05-15  Simon Hausmann  <hausmann@webkit.org>
20117
20118        Fix the Qt build by adding NetworkStateNotifier.cpp to the build.
20119
20120        * WebCore.pro:
20121
201222008-05-14  Dan Bernstein  <mitz@apple.com>
20123
20124        Reviewed by Mark Rowe.
20125
20126        - fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect
20127
20128        Test: fast/reflections/teardown-crash.html
20129
20130        * rendering/RenderLayer.cpp:
20131        (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers()
20132        on the reflection if the document is being destroyed, because in that
20133        case the layer tree is not being maintained.
20134
201352008-05-14  Kevin McCullough  <kmccullough@apple.com>
20136
20137        Reviewed by Tim.
20138
20139        <rdar://problem/5770054> JavaScript profiler (10928)
20140        - Expose the new Profiler functions to the WebInspector.
20141
20142        * page/JavaScriptProfileNode.cpp:
20143        (WebCore::getTotalPercent):
20144        (WebCore::getSelfPercent):
20145        (WebCore::ProfileNodeClass):
20146
201472008-05-14  Timothy Hatcher  <timothy@apple.com>
20148
20149        Fixes a crash in JavaScriptDebugServer::returnEvent when debugging
20150        code that contains an eval. This change makes stepping into eval
20151        code work as expected.
20152
20153        http://bugs.webkit.org/show_bug.cgi?id=19038
20154
20155        Reviewed by Kevin McCullough.
20156
20157        Tested with: manual-tests/inspector/returnEvent-crash.html
20158
20159        * manual-tests/inspector/returnEvent-crash.html: Added.
20160        * page/JavaScriptDebugServer.cpp:
20161        (WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed
20162        debugging code to prevent the sourceID and URL.
20163        (WebCore::updateCurrentCallFrame): Added. A helper function that
20164        is called from all 4 of the debugger hooks below. This function will
20165        update and/or create JavaScriptCallFrames to match the exec state,
20166        sourceID and lineNumber passed into it. Contains #ifdefed debugging
20167        code that was helpful while fixing this bug.
20168        (WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame
20169        before pauseIfNeeded.
20170        (WebCore::JavaScriptDebugServer::atStatement): Ditto.
20171        (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
20172        (WebCore::JavaScriptDebugServer::exception): Ditto.
20173
201742008-05-14  Alp Toker  <alp@nuanti.com>
20175
20176        GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build.
20177
20178        * GNUmakefile.am:
20179
201802008-05-14  Alp Toker  <alp@nuanti.com>
20181
20182        GTK+ build fix. Include value.h from kjs, not JavaScriptCore.
20183
20184        * page/JavaScriptProfile.cpp:
20185        * page/JavaScriptProfileNode.cpp:
20186
201872008-05-14  Adam Roben  <aroben@apple.com>
20188
20189        Windows release build fix
20190
20191        * WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on
20192        XPathGrammar.cpp are disabled for all configurations, not just
20193        Debug_Internal.
20194
201952008-05-14  Kevin McCullough  <kmccullough@apple.com>
20196
20197        Reviewed by Sam.
20198
20199        <rdar://problem/5770054> JavaScript profiler (10928)
20200        - Rename FunctionCallProfile to ProfileNode
20201
20202        * ForwardingHeaders/profiler/FunctionCallProfile.h: Removed.
20203        * ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h.
20204        * GNUmakefile.am:
20205        * WebCore.pro:
20206        * WebCore.vcproj/WebCore.vcproj:
20207        * WebCore.xcodeproj/project.pbxproj:
20208        * WebCoreSources.bkl:
20209        * page/JavaScriptFunctionCallProfile.cpp: Removed.
20210        * page/JavaScriptFunctionCallProfile.h: Removed.
20211        * page/JavaScriptProfile.cpp:
20212        * page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp.
20213        (WebCore::ProfileNodeCache):
20214        (WebCore::getFunctionName):
20215        (WebCore::getTotalTime):
20216        (WebCore::getSelfTime):
20217        (WebCore::getNumberOfCalls):
20218        (WebCore::getChildren):
20219        (WebCore::finalize):
20220        (WebCore::ProfileNodeClass):
20221        (WebCore::toJS):
20222        * page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h.
20223
202242008-05-13  Beth Dakin  <bdakin@apple.com>
20225
20226        Reviewed by Brady.
20227
20228        This patch adds support for the ARIA progressbar role and the 
20229        following ARIA states (ie HTML attributes): aria-checked, aria-
20230        level, aria-pressed, aria-valuenow, aria-valuemin, and aria-
20231        valuemax.
20232
20233        * html/HTMLAttributeNames.in:
20234        * page/AccessibilityObject.h:
20235        (WebCore::AccessibilityObject::isProgressIndicator):
20236        (WebCore::AccessibilityObject::valueForRange):
20237        (WebCore::AccessibilityObject::maxValueForRange):
20238        (WebCore::AccessibilityObject::minValueForRange):
20239        * page/AccessibilityRenderObject.cpp:
20240        (WebCore::AccessibilityRenderObject::isProgressIndicator):
20241        (WebCore::AccessibilityRenderObject::isPressed): Check the aria-
20242        pressed attribute if this is an ARIA button.
20243        (WebCore::AccessibilityRenderObject::headingLevel): Check the aria-
20244        level attribute if this is an ARIA heading.
20245        (WebCore::AccessibilityRenderObject::intValue): Check the aria-
20246        checked attribute if this is an ARIA radio button or checkbox.
20247        (WebCore::AccessibilityRenderObject::valueForRange):
20248        (WebCore::AccessibilityRenderObject::maxValueForRange):
20249        (WebCore::AccessibilityRenderObject::minValueForRange):
20250        (WebCore::RoleEntry::):
20251        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
20252        * page/AccessibilityRenderObject.h:
20253        * page/mac/AccessibilityObjectWrapper.mm:
20254        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
20255        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20256
202572008-05-14  Kevin McCullough  <kmccullough@apple.com>
20258
20259        Reviewed by John.
20260
20261        -<rdar://problem/5770054> JavaScript profiler (10928)
20262        Use the FunctionCallProfile's new total and self time functions.
20263
20264        * page/JavaScriptFunctionCallProfile.cpp:
20265        (WebCore::getTotalTime):
20266        (WebCore::getSelfTime):
20267
202682008-05-14  Anders Carlsson  <andersca@apple.com>
20269
20270        Reviewed by Adam.
20271
20272        Don't try to store the resource data if it's empty.
20273        
20274        * loader/appcache/ApplicationCacheStorage.cpp:
20275        (WebCore::ApplicationCacheStorage::store):
20276
202772008-05-14  Adam Roben  <aroben@apple.com>
20278
20279        Windows build fix
20280
20281        * platform/network/NetworkStateNotifier.cpp: Added a missing #include.
20282        * platform/network/NetworkStateNotifier.h:
20283        (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void'
20284        return type from the constructor, and fixed the spelling of a member
20285        variable.
20286
202872008-05-14  Kevin McCullough  <kmccullough@apple.com>
20288
20289        Reviewed by Adam.
20290
20291        <rdar://problem/5770054> JavaScript profiler (10928)
20292        - Add support for interacting with the JavaScriptCore profiler.
20293
20294        * ForwardingHeaders/profiler/FunctionCallProfile.h: Added.
20295        * ForwardingHeaders/profiler/Profile.h: Added.
20296        * GNUmakefile.am: Add the new files to all the projects.
20297        * WebCore.pro:
20298        * WebCore.vcproj/WebCore.vcproj:
20299        * WebCore.xcodeproj/project.pbxproj:
20300        * WebCoreSources.bkl:
20301        * page/InspectorController.cpp: Add the ability to retrieve all of the
20302        profiles in JavaScript from the InspectorController.
20303        (WebCore::allProfiles):
20304        (WebCore::InspectorController::windowScriptObjectAvailable):
20305        * page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC
20306        FunctionCallProfile.
20307        (WebCore::functionCallProfileCache): This cache makes sure we don't
20308        needlessly create duplicate wrappers around the same
20309        FunctionCallProfile*.
20310        (WebCore::getFunctionName): Callback to return the name of the function.
20311        (WebCore::getTotalTime): Callback to return the total time spent in the
20312        function.
20313        (WebCore::getSelfTime): Callback to return the time spent in self (total
20314        - time in children) in the function.
20315        (WebCore::getNumberOfCalls): Callback to return the number of times this
20316        function was called.
20317        (WebCore::getChildren): Callback to return the children of this function
20318        where the children are the functions this function called.
20319        (WebCore::finalize): Cleanup.
20320        (WebCore::functionCallProfileClass): Define the JSClassRef for this
20321        object.
20322        (WebCore::toJS): Create a conversion function to make a usable JSValue
20323        to wrap the FunctionCallProfile in JSC.
20324        * page/JavaScriptFunctionCallProfile.h: Added.
20325        * page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile.
20326        (WebCore::profileCache): This cache makes sure we don't needlessly
20327        create duplicate wrappers aroudn the same Profile*.
20328        (WebCore::getHeadCallback): Callback to return the head of the graph of
20329        the functions profiled durring this profile's run.
20330        (WebCore::finalize):
20331        (WebCore::profileClass): Define the JSClassRef for this object.
20332        (WebCore::toJS): Create a conversion function to make a usable JSValue
20333        to wrap the Profile from JSC.
20334        * page/JavaScriptProfile.h: Added.
20335
203362008-05-14  David Hyatt  <hyatt@apple.com>
20337
20338        Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130.
20339
20340        Opacity, transforms, reflections and masks should not honor z-index unless the element is also
20341        positioned.  Always reset to auto if the element is not positioned (and then the following code will
20342        adjust auto to 0 as needed).
20343
20344        Reviewed by Dan Bernstein
20345
20346        * css/CSSStyleSelector.cpp:
20347        (WebCore::CSSStyleSelector::adjustRenderStyle):
20348
203492008-05-14  Anders Carlsson  <andersca@apple.com>
20350
20351        Reviewed by Brady.
20352
20353        <rdar://problem/5931742> Support navigator.onLine from HTML5
20354        
20355        * WebCore.vcproj/WebCore.vcproj:
20356        * WebCore.xcodeproj/project.pbxproj:
20357        Add NetworkStateNotifier files.
20358        
20359        * dom/EventNames.h:
20360        Add offline and online events.
20361        
20362        * page/Navigator.cpp:
20363        (WebCore::Navigator::onLine):
20364        * page/Navigator.h:
20365        * page/Navigator.idl:
20366        Add navigator.onLine.
20367        
20368        * page/Page.cpp:
20369        (WebCore::networkStateChanged):
20370        Dispatch offline/online events to all frames.
20371        
20372        (WebCore::Page::Page):
20373        Set state change callback.
20374        
20375        * platform/network/NetworkStateNotifier.cpp: Added.
20376        * platform/network/NetworkStateNotifier.h: Added.
20377
20378        * platform/network/mac/NetworkStateNotifierMac.cpp: Added.
20379        Mac network state notifier.
20380
203812008-05-14  Adam Roben  <aroben@apple.com>
20382
20383        Fix Bug 18888: REGRESSION (r32731): console.log always prints
20384        "undefined"
20385
20386        <https://bugs.webkit.org/show_bug.cgi?id=18888>
20387
20388        Reviewed by Tim Hatcher.
20389
20390        Tested by pre-existing
20391        manual-tests/inspector/console-log-formatting.html.
20392
20393        * page/inspector/Console.js:
20394        (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly
20395        wrap Console._format instead of using bind to do it. Using bind was
20396        causing us to pass plainText in as the first parameter instead of as
20397        the second.
20398
203992008-05-14  Timothy Hatcher  <timothy@apple.com>
20400
20401        Fixes the bug where stepping out of a function would show the wrong
20402        call stack (would look like it stepped out twice.)
20403
20404        Reviewed by Adam Roben.
20405
20406        * page/JavaScriptDebugServer.cpp:
20407        (WebCore::JavaScriptDebugServer::returnEvent):
20408        Call pauseIfNeeded before setting m_currentCallFrame to the caller.
20409
204102008-05-14  Stephanie Lewis  <slewis@apple.com>
20411   
20412        Fix 64bit build
20413
20414        * plugins/PluginView.h:
20415
204162008-05-14  David Kilzer  <ddkilzer@apple.com>
20417
20418        REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)
20419
20420        <https://bugs.webkit.org/show_bug.cgi?id=18976>
20421        <rdar://problem/5924793>
20422
20423        Reviewed by Darin.
20424
20425        Tests: fast/dom/dom-parse-serialize-expected.txt:
20426               fast/xsl/xslt-processor-expected.txt:
20427               fast/xsl/xslt-text-expected.txt:
20428
20429        Commit r26474 removed escaping of '>' characters to '&gt;' in serialized
20430        HTML content, which broke one jQuery test.  This change restores that
20431        serialization behavior to both attributes and content for consistency.
20432
20433        * editing/markup.cpp:
20434        (WebCore::appendAttributeValue): Escape '>' as '&gt;'.
20435        (WebCore::escapeContentText): Ditto.
20436        (WebCore::appendEscapedContent): Ditto.  This is the bug fix for the jQuery test.
20437
204382008-05-14  Adam Roben  <aroben@apple.com>
20439
20440        Fix Bug 19051: REGRESSION (r33447): Assertion in
20441        JSDebugServer::removeListener closing tab with Inspector open
20442
20443        <https://bugs.webkit.org/show_bug.cgi?id=19051>
20444
20445        m_inspectedPage is now cleared when the Page is destroyed, which never
20446        used to happen. Some of InspectorController's code was not prepared
20447        for this.
20448
20449        Reviewed by Dave Hyatt.
20450
20451        * page/InspectorController.cpp:
20452        (WebCore::InspectorController::~InspectorController): Removed a call
20453        to stopDebugging and added an assertion. Debugging should have already
20454        been stopped by this point.
20455        (WebCore::InspectorController::inspectedPageDestroyed): Moved here
20456        from the header file. Added a call to stopDebugging.
20457        (WebCore::InspectorController::enabled): Return false if our inspected
20458        Page has already been destroyed, since we can't really do much at this
20459        point anyway.
20460        (WebCore::InspectorController::didCommitLoad):
20461        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
20462        (WebCore::InspectorController::identifierForInitialRequest):
20463        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
20464        (WebCore::InspectorController::stopDebugging):
20465        (WebCore::InspectorController::drawNodeHighlight):
20466        Assert that m_inspectedPage hasn't been cleared.
20467        * page/InspectorController.h:
20468
204692008-05-14  Justin Garcia  <justin.garcia@apple.com>
20470
20471        Reviewed by Darin.
20472
20473        <rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition
20474
20475        * editing/Editor.cpp:
20476        (WebCore::Editor::confirmComposition): Remove the previous composition
20477        when we insert the new one, not with a separate, slower, delete operation.
20478        (WebCore::Editor::setComposition): Ditto.
20479        * editing/InsertTextCommand.cpp:
20480        (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected
20481        text with a low level operation that doesn't perform a layout and insert
20482        the new text in a way that won't trigger a layout from the removal.
20483        (WebCore::InsertTextCommand::input): Call the optimized replace.
20484        * editing/InsertTextCommand.h:
20485        * editing/htmlediting.cpp:
20486        (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid 
20487        the expense of getAttribute in the common case.
20488        * page/Frame.cpp:
20489        (WebCore::Frame::selectionLayoutChanged): Selection::start() and end()
20490        will already be at VisiblePosition deepEquivalents. Selection::validate()
20491        ensures this.
20492
204932008-05-14  Adam Roben  <aroben@apple.com>
20494
20495        Make the Inspector able to handle being reloaded
20496
20497        When Reload was selected from the context menu in the Inspector, the
20498        Inspector window would close and never be openable again. Now it
20499        closes, then reopens when the page finishes loading.
20500
20501        Reviewed by Tim Hatcher.
20502
20503        * page/InspectorController.cpp:
20504        (WebCore::InspectorController::close): Removed code that cleared out
20505        m_page. This is now handled by pageDestroyed.
20506        * page/InspectorController.h:
20507        (WebCore::InspectorController::inspectedPageDestroyed): Added.
20508        * page/Page.cpp:
20509        (WebCore::Page::~Page): Fixed a bug and added a call to the new
20510        inspectedPageDestroyed. If we have a parent InspectorController, that
20511        means that we are the Page in the Inspector's window (i.e., we are the
20512        Inspector's UI), so when we are destroyed we should call
20513        InspectorController::pageDestroyed. We also need to call
20514        inspectedPageDestroyed on our own InspectorController so that it won't
20515        try to call into us.
20516
205172008-05-14  Timothy Hatcher  <timothy@apple.com>
20518
20519        Add pause on exception support to the Inspector debugger
20520        with a toggle buttons to enable or disable it.
20521
20522        Reviewed by Adam Roben.
20523
20524        * page/InspectorController.cpp:
20525        (WebCore::pauseOnExceptions): Call the InspectorController.
20526        (WebCore::setPauseOnExceptions): Ditto.
20527        (WebCore::InspectorController::windowScriptObjectAvailable): Add the new
20528        setPauseOnExceptions and pauseOnExceptions functions to the JS class.
20529        (WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer.
20530        (WebCore::InspectorController::setPauseOnExceptions): Ditto.
20531        * page/InspectorController.h:
20532        * page/JavaScriptDebugServer.cpp:
20533        (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions.
20534        (WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions
20535        and set m_pauseOnNextStatement to true before calling pauseIfNeeded.
20536        * page/JavaScriptDebugServer.h:
20537        * page/inspector/Images/pauseOnExceptionButtons.png: Added.
20538        * page/inspector/ScriptsPanel.js: Adds a status bar button that calls
20539        the new InspectorController functions.
20540        * page/inspector/inspector.css: New styles.
20541
205422008-05-14  Timothy Hatcher  <timothy@apple.com>
20543
20544        Rename the Scope Chain pane to Scope Variables. Name the global
20545        object Global. Name objects before the locals "With Block".
20546        Name colsure scopes "Closure". Name any element or document
20547        after Local, "Event Target" and "Event Document", respectfully.
20548
20549        Reviewed by Adam Roben.
20550
20551        * English.lproj/localizedStrings.js: Add new strings.
20552        * page/inspector/ObjectPropertiesSection.js:
20553        (WebInspector.ObjectPropertiesSection): Add a new argument that is used
20554        for the empty placeholder text.
20555        (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the
20556        empty placeholder text.
20557        * page/inspector/ScopeChainSidebarPane.js:
20558        (WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables.
20559        (WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as
20560        the subtitle. Use "Global" for the global object title. Use "With Block" for
20561        the title of objects before the locals. Use "No Variables" for the empty
20562        placeholder text for locals.
20563
205642008-05-14  Michael A. Puls II  <shadow2531@gmail.com>
20565
20566        Reviewed by Alexey.
20567
20568        Fix for https://bugs.webkit.org/show_bug.cgi?id=16923 
20569        Attr nodes with a value of "" should not have any childNodes
20570        
20571        In Opera, Firefox and IE, when an attribute node has a value
20572        of "", the attribute node doesn't have any childNodes. This
20573        is true in WebKit also, but not when you assign "" to the
20574        Attr's value when the existing value is non-empty.
20575        
20576        Test: fast/dom/attribute-empty-value-no-children.html
20577
20578        * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends
20579        a child text node if the value being assigned is not empty.
20580
205812008-05-14  Julien Chaffraix  <jchaffraix@webkit.org>
20582
20583        Reviewed by Eric.
20584
20585        GCC 4.3 build fix.
20586        Removes some compiler warnings.
20587
20588        * dom/Document.h:
20589        (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
20590        so remove it as it is only used inside FormElementKey.
20591
20592        * html/HTMLSelectElement.cpp:
20593        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
20594        a warning too).
20595
20596        * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
20597
20598        * plugins/PluginPackage.cpp:
20599        (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
20600        * plugins/PluginView.cpp:
20601        (WebCore::PluginView::PluginView): Ditto.
20602        * plugins/PluginView.h:
20603        * xml/AccessControlList.cpp: Include stdio.h
20604        * xml/AccessItem.cpp: Ditto.
20605        * xml/AccessItemRule.cpp: Ditto.
20606
206072008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
20608
20609        Reviewed by Simon.
20610
20611        Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
20612        and implemented EventLoopQt.
20613
20614        * WebCore.pro:
20615        * platform/qt/EventLoopQt.cpp: Added.
20616
206172008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
20618
20619        Reviewed by Simon.
20620
20621        Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.
20622
20623        * WebCore.pro:
20624
206252008-05-13  Dan Bernstein  <mitz@apple.com>
20626
20627        Reviewed by John Sullivan.
20628
20629        - Windows part of <rdar://problem/5725912> improve render quality of transformed text
20630
20631        * platform/graphics/win/FontCGWin.cpp:
20632        (WebCore::Font::drawGlyphs): Added call to
20633        wkSetCGContextFontRenderingStyle().
20634
206352008-05-13  Alp Toker  <alp@nuanti.com>
20636
20637        GTK+ build fix. Implement EventLoopGtk.cpp.
20638
20639        * GNUmakefile.am:
20640        * platform/gtk/EventLoopGtk.cpp: Added.
20641        (WebCore::EventLoop::cycle):
20642
206432008-05-13  Alp Toker  <alp@nuanti.com>
20644
20645        GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
20646        to the build.
20647
20648        * GNUmakefile.am:
20649
206502008-05-13  Matt Lilek  <webkit@mattlilek.com>
20651
20652        Not reviewed, partial Gtk build fix.
20653
20654        * GNUmakefile.am:
20655
206562008-05-13  Timothy Hatcher  <timothy@apple.com>
20657
20658        Fixes a crash when stepping out in the Inspector's debugger.
20659
20660        http://bugs.webkit.org/show_bug.cgi?id=19037
20661
20662        Reviewed by Dan Bernstein.
20663
20664        * page/InspectorController.cpp:
20665        (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
20666        since it can be null. Also returns JSNull to better signify this.
20667        * page/inspector/ScriptsPanel.js: Updates the debugger interface
20668        when stepping so the currentCallFrame isn't accessed when not paused.
20669        Adds a _clearInterface function to remove duplicate code.
20670
206712008-05-13  chris fleizach  <cfleizach@apple.com>
20672
20673        Reviewed by Beth Dakin
20674
20675        <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
20676
20677        * page/AccessibilityRenderObject.cpp:
20678        (WebCore::AccessibilityRenderObject::title):
20679
206802008-05-13  Timothy Hatcher  <timothy@apple.com>
20681
20682        Adds an overlay window that covers the scripts panel and
20683        informs the user that they need to attach the debugger.
20684        Provides an "Attach Debugger" button below the info text.
20685
20686        Reviewed by Dan Bernstein.
20687
20688        * English.lproj/localizedStrings.js: New strings.
20689        * page/inspector/ScriptsPanel.js:
20690        (WebInspector.ScriptsPanel): Create the overlay elements and
20691        append to the main panel element.
20692        * page/inspector/inspector.css: New styles for the over lay elements.
20693
206942008-05-13  Timothy Hatcher  <timothy@apple.com>
20695
20696        Fixes the assertion and crash that would happen when inspecting a element from a frame.
20697        This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
20698        that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
20699        crashing in release builds if the page groups don't match.
20700
20701        Passes all the tests in: manual-tests/inspector-wrappers
20702
20703        Reviewed by Adam Roben.
20704
20705        * bindings/js/JSInspectedObjectWrapper.cpp:
20706        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
20707        Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
20708        * bindings/js/JSQuarantinedObjectWrapper.cpp:
20709        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
20710        Return true if the pageGroupIdentifier of both wrappers match.
20711        (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
20712        * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
20713
207142008-05-13  Timothy Hatcher  <timothy@apple.com>
20715
20716        Fixes the hang that could happen when option-clicking to expand
20717        a disclosure triangle in the Properties pane. This change limits
20718        the recursion depth when expanding the tree elements.
20719
20720        <rdar://problem/5847681> Safari hangs when option-clicking a
20721        disclosure triangle in the Inspector's Properties pane
20722
20723        Reviewed by John Sullivan.
20724
20725        * page/inspector/treeoutline.js:
20726        (TreeElement.prototype.expandRecursively): Pass an empty info object to
20727        traverseNextTreeElement to get the depthChange value. This is used to
20728        compute a current depth. If the depth exceeds the maxDepth argument, the
20729        item isn't expanded and children wont be populated when traverseNextTreeElement
20730        is called until the depth goes below the maxDepth.
20731        (TreeElement.prototype.traverseNextTreeElement): Added a new info
20732        argument that can be optionally used to return extra info like depth change.
20733
207342008-05-13  Timothy Hatcher  <timothy@apple.com>
20735
20736        Adds info text to panes and sections in the Inspector's sidebars
20737        that would normally be empty. These help the user know why there
20738        is nothing in these sections.
20739
20740        Reviewed by John Sullivan.
20741
20742        * English.lproj/localizedStrings.js: Add strings.
20743        * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
20744        * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
20745        * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
20746        * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
20747        * page/inspector/inspector.css: Adds style rules for the info elements.
20748
207492008-05-13  Timothy Hatcher  <timothy@apple.com>
20750
20751        Implements the rest of the Scripts panel to get the debugger
20752        mostly working. "Basic debugging seems to work."
20753
20754        Reviewed by Geoff Garen.
20755
20756        * English.lproj/localizedStrings.js: Adds new strings.
20757        * page/inspector/Resource.js:
20758        (WebInspector.Resource.prototype.get scripts): Returns _scripts and 
20759        creates it lazily.
20760        (WebInspector.Resource.prototype.addScript): Add the script object to the
20761        front of the _scripts array.
20762        (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
20763        and removes the resource back-reference.
20764        (WebInspector.Resource.prototype.removeScript): Removes the script and
20765        breaks the resource back-reference.
20766        * page/inspector/ResourceView.js:
20767        (WebInspector.ResourceView): Adds a reminder comment.
20768        (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible. 
20769        (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
20770        a setter that currently just sets _headersVisible. Has a comment that
20771        points out this needs implemented when network headers are added.
20772        * page/inspector/ResourcesPanel.js:
20773        (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
20774        the visible view to true and shows it again, in case it was being shown in Scripts.
20775        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
20776        Copies the headersVisible property from the old view to the new view.
20777        (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
20778        property to true before showing.
20779        * page/inspector/ScriptView.js:
20780        (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
20781        (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
20782        for the current Script.sourceID and line.
20783        * page/inspector/ScriptsPanel.js:
20784        (WebInspector.ScriptsPanel): 
20785        (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
20786        the visible view to false and shows it again, in case it was being shown in Resources.
20787        (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
20788        adds it to a Resource if one is found. Registers any breakpoint that match
20789        the new Script's source URL, and sets the sourceID of the breakpoints.
20790        (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
20791        BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
20792        later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
20793        represents the resources or script.
20794        (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
20795        the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
20796        (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
20797        state variables, the buttons and the CallStackSidebarPane.
20798        (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
20799        and interface state.
20800        (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
20801        (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
20802        calls hide on the old view and show on the new view.
20803        (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
20804        (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
20805        (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
20806        ScriptView for the Script and returns it. 
20807        (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
20808        for the Script.
20809        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
20810        SourceFrame based on the type of object passed in.
20811        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
20812        the type of object passed in. If the object is a resource and there are breakpoints
20813        defined for that Resource URL, then populate the SourceFrame with the breakpoints.
20814        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the 
20815        files menu. If the Script is part of a resource, that resource is added.
20816        (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
20817        the files menu. If that script is part of a resource and it is the last script of that
20818        resource, then remove the whole resource.
20819        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
20820        line from the SourceFrame that is showing it.
20821        (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
20822        call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
20823        and the visible view.
20824        (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
20825        of the files select element.
20826        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the 
20827        buttons to reflect the current debugger state. Updates the status text too.
20828        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
20829        the debugger is attached/detached.
20830        (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
20831        InspectorController.pauseInDebugger depending on the paused state.
20832        (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
20833        (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
20834        (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
20835        * page/inspector/SourceView.js:
20836        (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
20837        (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
20838        for the nearest Script's sourceID and passed in line.
20839        * page/inspector/inspector.css: New style rules for the UI changes.
20840        * page/inspector/inspector.js:
20841        (WebInspector.loaded): Add the ScriptsPanel to the panels list.
20842        (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
20843        (WebInspector.failedToParseScriptSource): Ditto.
20844        (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.
20845
208462008-05-13  Timothy Hatcher  <timothy@apple.com>
20847
20848        Adds implementations of the Scope Chain and Call Stack sidebar panes.
20849        These panes use the JSJavaScriptCallFrame object that will be passed
20850        to the update functions.
20851
20852        Reviewed by Kevin McCullough.
20853
20854        * English.lproj/localizedStrings.js: Adds new strings.
20855        * WebCore.vcproj/WebCore.vcproj: Adds new files.
20856        * page/inspector/CallStackSidebarPane.js:
20857        (WebInspector.CallStackSidebarPane.prototype.update): Walk the 
20858        caller chain of the call frame and make placards for each.
20859        (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
20860        Return _selectedCallFrame. 
20861        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
20862        Set _selectedCallFrame and dispatch the "call frame selected" event.
20863        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
20864        Set the selectedCallFrame based on the clicked placard.
20865        * page/inspector/Placard.js: Added. A user interface object that can
20866        be used to show a title and a subtitle block with a selected state.
20867        * page/inspector/ScopeChainSidebarPane.js: Added.
20868        (WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
20869        (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
20870        call frame's scope chain and make ObjectPropertiesSections for each.
20871        * page/inspector/SidebarPane.js:
20872        (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
20873        * page/inspector/WebKit.qrc: Add new files.
20874        * page/inspector/inspector.css: Add placard styles.
20875        * page/inspector/inspector.html: Add new files.
20876
208772008-05-13  Timothy Hatcher  <timothy@apple.com>
20878
20879        Fixes the bug where SourceViews would be blank if shown before
20880        the Resource finished loading.
20881
20882        <rdar://problem/5807420> Safari's Web Inspector won't display the
20883        contents of some CSS and JS files
20884
20885        Reviewed by Kevin McCullough.
20886
20887        * page/inspector/Resource.js:
20888        (WebInspector.Resource.prototype.set finished): Dispatch the finished event
20889        (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
20890        * page/inspector/SourceView.js:
20891        (WebInspector.SourceView): Register for the finished event on the resource.
20892        When the event fires, setup the source frame and deregister the event.
20893
208942008-05-13  Timothy Hatcher  <timothy@apple.com>
20895
20896        Factored most of SourceView out into SourceFrame so it can be shared
20897        by the new ScriptView. Added the ScriptView class to be used for
20898        scripts that arn't Resources (like eval code.) Added a simple Script
20899        object that hold the data from the debugger parsedSource hooks. A
20900        ScriptView holds a Script object, and uses it for source data.
20901
20902        Added breakpoint and execution line support to the SourceFrame
20903        where they are visually represented in the source.
20904
20905        Reviewed by Kevin McCullough.
20906
20907        * page/inspector/inspector.js:
20908        (WebInspector.performSearch): Change the caller of sourceFrameForResource
20909        to use the SourceFrame result's element property.
20910        * page/inspector/ResourcesPanel.js: Use the new SourceFrame.
20911        * page/inspector/Script.js: Added.
20912        * page/inspector/ScriptView.js: Added.
20913        * page/inspector/SourceFrame.js: Added.
20914        * page/inspector/SourceView.js: Use the new SourceFrame.
20915        * WebCore.vcproj/WebCore.vcproj: Add new files.
20916        * page/inspector/WebKit.qrc: Ditto.
20917        * page/inspector/inspector.html: Ditto.
20918
209192008-05-13  Timothy Hatcher  <timothy@apple.com>
20920
20921        Adds a Breakpoint object and basic add/remove functions on
20922        BreakpointsSidebarPane that call the InspectorController to
20923        add/remove the breakpoint.
20924
20925        Reviewed by Kevin McCullough.
20926
20927        * page/inspector/Breakpoint.js:
20928        (WebInspector.Breakpoint): 
20929        (WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
20930        (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
20931        dispatch the enabled/disabled event to listeners.
20932        * page/inspector/BreakpointsSidebarPane.js:
20933        (WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
20934        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
20935        Adds the breakpoint to the breakpoints array. Registers for the disabled
20936        and enabled event types. Call InspectorController.addBreakpoint if attached.
20937        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
20938        Removes the breakpoint from the breakpoints array. Deregisters for the disabled
20939        and enabled event types. Call InspectorController.removeBreakpoint if attached.
20940        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
20941        Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
20942        depending on the enabled state of the breakpoint.
20943        * WebCore.vcproj/WebCore.vcproj: Add new files.
20944        * page/inspector/WebKit.qrc: Ditto.
20945        * page/inspector/inspector.html: Ditto.
20946
209472008-05-13  Timothy Hatcher  <timothy@apple.com>
20948
20949        Make addSourceToFrame not dependent on InspectorResource so it
20950        can be used to add source of a passed in string and mime-type to
20951        a frame. Added addResourceSourceToFrame for use by SourceView.
20952
20953        Also fixes an assertion because of an incorrect static_cast of identifiers
20954        to unsigned long long, when they can be unsigned.
20955
20956        Reviewed by Geoff Garen.
20957
20958        * page/InspectorController.cpp:
20959        (WebCore::addSourceToFrame): Helper function used by addSourceToFrame
20960        and addResourceSourceToFrame.
20961        (WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
20962        (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
20963        (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
20964        (WebCore::InspectorController::windowScriptObjectAvailable): Adds
20965        addResourceSourceToFrame to the JavaScript class.
20966        * page/inspector/SourceView.js: Use the new addResourceSourceToFrame.
20967
209682008-05-13  Timothy Hatcher  <timothy@apple.com>
20969
20970        Add debugger related functions to the InspectorController and
20971        expose them to the JavaScript side of InspectorController.
20972
20973        Reviewed by Geoff Garen.
20974
20975        * page/InspectorController.cpp:
20976        (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
20977        (WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
20978        (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
20979        (WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
20980        (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
20981        (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
20982        (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
20983        (WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
20984        (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
20985        (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
20986        InspectorController JavaScript class.
20987        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
20988        (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
20989        JavaScriptDebugServer.
20990        (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
20991        (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
20992        (WebCore::InspectorController::stepOverStatementInDebugger):  Call JavaScriptDebugServer's stepOverStatement.
20993        (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
20994        (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
20995        (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
20996        (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
20997        (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
20998        (WebCore::InspectorController::failedToParseSource): Ditto.
20999        (WebCore::InspectorController::didPause): Ditto.
21000        * page/InspectorController.h: Add new functions.
21001
210022008-05-13  Timothy Hatcher  <timothy@apple.com>
21003
21004        Implements more debugger APIs on JavaScriptDebugServer and reduces
21005        the number of callbacks to JavaScriptDebugListeners. These changes
21006        will better facilitate debugger optimizations when SquirrelFish merges.
21007
21008        Reviewed by Kevin McCullough.
21009
21010        * page/InspectorController.cpp:
21011        (WebCore::InspectorController::didParseSource): Removed the ExecState.
21012        (WebCore::InspectorController::failedToParseSource): Ditto.
21013        (WebCore::InspectorController::didPause): Added.
21014        * page/InspectorController.h: Changed the JavaScriptDebugListener functions.
21015        * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
21016        * page/JavaScriptDebugServer.cpp:
21017        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
21018        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
21019        (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
21020        (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
21021        global listeners or a listener for the page.
21022        (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
21023        (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
21024        (WebCore::JavaScriptDebugServer::hasBreakpoint):  Checks if there is a breakpoint for the
21025        sourceID and line.
21026        (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
21027        (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
21028        (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
21029        (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
21030        m_pauseOnNextStatement to true.
21031        (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
21032        the current call frame's ExecState.
21033        (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
21034        the current call frame's caller ExecState.
21035        (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
21036        (WebCore::dispatchDidParseSource): Removed the ExecState argument.
21037        (WebCore::dispatchFailedToParseSource): Ditto.
21038        (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
21039        or dispatchFailedToParseSource.
21040        (WebCore::dispatchFunctionToListeners):
21041        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
21042        to the callback.
21043        (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
21044        to pause parts of WebCore to prevent JavaScript execution while paused.
21045        (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
21046        on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
21047        Calls didPause on all the listeners and spins a EventLoop until resume is called.
21048        (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
21049        (WebCore::JavaScriptDebugServer::atStatement): Ditto.
21050        (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
21051        (WebCore::JavaScriptDebugServer::exception): Ditto.
21052        * page/JavaScriptDebugServer.h: Added new functions.
21053
210542008-05-13  Timothy Hatcher  <timothy@apple.com>
21055
21056        Change View.show to call detach if the parentNode dosen't
21057        match before appending to the passed in parent element.
21058        This also prevents appending to the same parent element
21059        multiple times.
21060
21061        Reviewed by John Sullivan.
21062
21063        * page/inspector/FontView.js:
21064        (WebInspector.FontView.prototype.show): Pass the parent element to View.show.
21065        * page/inspector/ResourceView.js: Optimize the attach method to no append if
21066        there is a parentNode already.
21067        * page/inspector/SourceView.js: Ditto.
21068        * page/inspector/View.js: Call detach before appending if the parentNode
21069        doesn't match the passed in element.
21070
210712008-05-13  Timothy Hatcher  <timothy@apple.com>
21072
21073        Optimize the panel attach method to no append if there is a
21074        parentNode already.
21075
21076        Reviewed by Adam Roben.
21077
21078        * page/inspector/Panel.js:
21079        (WebInspector.Panel.prototype.attach): Don't append to main-panels
21080        if the panel element already has a parentNode.
21081
210822008-05-13  Timothy Hatcher  <timothy@apple.com>
21083
21084        Add Widget::isPluginView so the JavaScriptDebugServer can identify
21085        plugins that need to be paused during debugging. This will be used
21086        in a upcoming commit.
21087
21088        Reviewed by Kevin McCullough.
21089
21090        * platform/Widget.h: Add isPluginView. Return false.
21091        * plugins/PluginView.h: Add isPluginView. Return true.
21092
210932008-05-13  Timothy Hatcher  <timothy@apple.com>
21094
21095        Adds an event loop abstraction to platform. This abstraction will be
21096        used by the JavaScriptDebugServer to implement pausing.
21097
21098        Reviewed by Kevin McCullough.
21099
21100        * platform/EventLoop.h: Added.
21101        (WebCore::EventLoop::EventLoop):
21102        (WebCore::EventLoop::ended): Return m_ended.
21103        * platform/mac/EventLoopMac.mm: Added.
21104        (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
21105        * platform/win/EventLoopWin.cpp: Added.
21106        (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
21107        * WebCore.xcodeproj/project.pbxproj: Add new files.
21108        * WebCore.vcproj/WebCore.vcproj: Ditto.
21109
211102008-05-13  Timothy Hatcher  <timothy@apple.com>
21111
21112        Breaks out ObjectPropertiesSection from PropertiesSidebarPane
21113        so it can be used by the Scripts panel's Scope Chain pane.
21114
21115        Rubber-stamped by Adam Roben.
21116
21117        * page/inspector/ObjectPropertiesSection.js: Added.
21118        * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
21119        to ObjectPropertiesSection.js.
21120        * WebCore.vcproj/WebCore.vcproj: Add the new file.
21121        * page/inspector/WebKit.qrc: Ditto.
21122        * page/inspector/inspector.html: Ditto.
21123
211242008-05-13  Timothy Hatcher  <timothy@apple.com>
21125
21126        Add a helper function to the Inspector's Array prototype
21127        that will remove any identical values/objects from the array.
21128
21129        Reviewed by Kevin McCullough.
21130
21131        * page/inspector/utilities.js:
21132        (Array.prototype.remove): Iterate over the array and strict
21133        compare to the passed in value. If they match, splice that index
21134        out of the array. If onlyFirst is true, return after the first splice.
21135
211362008-05-13  Timothy Hatcher  <timothy@apple.com>
21137
21138        Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
21139        This object will expose the stack to the Inspector's debugger.
21140
21141        Reviewed by Adam Roben.
21142
21143        * DerivedSources.make: Add JavaScriptCallFrame.
21144        * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
21145        (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
21146        (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
21147        * page/JavaScriptCallFrame.cpp: Added.
21148        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
21149        (WebCore::JavaScriptCallFrame::caller): Returns m_caller.
21150        (WebCore::JavaScriptCallFrame::functionName): Returns the function
21151        name from the ExecState if this is not global code or anonymous.
21152        (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
21153        in the scope of the call frame.
21154        * page/JavaScriptCallFrame.h: Added.
21155        (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
21156        (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
21157        stale ExecState from being accessed after the lifetime of the ExecState.
21158        (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
21159        (WebCore::JavaScriptCallFrame::execState): Returns m_exec.
21160        (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
21161        (WebCore::JavaScriptCallFrame::line): Returns m_line.
21162        (WebCore::JavaScriptCallFrame::setLine): Sets m_line.
21163        (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
21164        * page/JavaScriptCallFrame.idl: Added.
21165        * WebCore.xcodeproj/project.pbxproj: Add new files.
21166        * WebCore.vcproj/WebCore.vcproj: Ditto.
21167
211682008-05-13  Timothy Hatcher  <timothy@apple.com>
21169
21170        Add a new WebInspector.Object base class that will be used for
21171        a few objects in the Web Inspector to support listeners on any
21172        object. This will help add more abstraction to the Inspector.
21173
21174        Reviewed by Adam Roben.
21175
21176        * page/inspector/Object.js: Added.
21177        (WebInspector.Object): Does nothing.
21178        (WebInspector.Object.prototype.addEventListener): Adds the listener to
21179        the _listeners map by type. Supports a this object argument, for easy
21180        addition of listeners without the need for bind.
21181        (WebInspector.Object.prototype.removeEventListener): Remove the listener
21182        from the _listeners map. If the listener is null and the thisObject was
21183        passed, remove any listener for that thisObject.
21184        (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
21185        for a type to all listeners for that type. Mimics some of the DOMEvent
21186        methods and properties for the event object passed to the listeners.
21187        * WebCore.vcproj/WebCore.vcproj: Add new files.
21188        * page/inspector/WebKit.qrc: Ditto.
21189        * page/inspector/inspector.html: Ditto.
21190
211912008-05-13  Timothy Hatcher  <timothy@apple.com>
21192
21193        Update the view source CSS to better match the new Inspector mock-ups.
21194
21195        Reviewed by Kevin McCullough.
21196
21197        * css/view-source.css:
21198
211992008-05-13  John Sullivan  <sullivan@apple.com>
21200
21201        Reviewed by Dan Bernstein and Kevin Decker
21202        
21203        - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind
21204
21205        Test: fast/forms/select-type-ahead-list-box-no-selection.html
21206
21207        * html/HTMLSelectElement.cpp:
21208        (WebCore::HTMLSelectElement::typeAheadFind):
21209        When there's no initially-selected element, we were accessing index -1. Check for this
21210        case and start at 0.
21211
212122008-05-13  Sam Weinig  <sam@webkit.org>
21213
21214        Reviewed by Dan Bernstein.
21215
21216        Small cleanup to XMLHttpRequest in preparation for Access Control changes.
21217
21218        * xml/XMLHttpRequest.cpp:
21219        (WebCore::XMLHttpRequest::XMLHttpRequest):
21220        (WebCore::XMLHttpRequest::~XMLHttpRequest):
21221        (WebCore::XMLHttpRequest::open):
21222        (WebCore::XMLHttpRequest::send):
21223        (WebCore::XMLHttpRequest::internalAbort):
21224        (WebCore::XMLHttpRequest::processSyncLoadResults):
21225        (WebCore::XMLHttpRequest::didFinishLoading):
21226        (WebCore::XMLHttpRequest::didReceiveResponse):
21227        (WebCore::XMLHttpRequest::didReceiveData):
21228        * xml/XMLHttpRequest.h:
21229
212302008-05-13  chris fleizach  <cfleizach@apple.com>
21231
21232        Beth Dakin
21233
21234        <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.
21235
21236        * page/AccessibilityRenderObject.cpp:
21237        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21238
212392008-05-13  chris fleizach  <cfleizach@apple.com>
21240
21241        Beth Dakin
21242
21243        <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info
21244
21245        * page/mac/AccessibilityObjectWrapper.mm:
21246        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21247        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21248
212492008-05-13  Alexey Proskuryakov  <ap@webkit.org>
21250
21251        Reviewed by John Sullivan.
21252
21253        <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
21254        (ISO 8859-11) disappear.
21255
21256        <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874
21257
21258        Test: fast/encoding/char-decoding.html
21259
21260        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
21261        Register ISO-8859-11, which doesn't have a standard IANA name, despite following
21262        the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.
21263
212642008-05-13  chris fleizach  <cfleizach@apple.com>
21265
21266        Reviewed by Beth Dakin
21267
21268        <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text
21269
21270        * page/AccessibilityRenderObject.cpp:
21271        (WebCore::AccessibilityRenderObject::title):
21272
212732008-05-13  Alexey Proskuryakov  <ap@webkit.org>
21274
21275        Reviewed by Eric Seidel.
21276
21277        https://bugs.webkit.org/show_bug.cgi?id=18681
21278        <rdar://problem/5888130> WebKit should not remove BOM characters from content.
21279
21280        We were only trying to match Firefox, and it doesn't do this any more.
21281
21282        Tests: fast/encoding/bom-in-content.html
21283               fast/encoding/bom-in-content-utf16.html
21284
21285        * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
21286        at the start of input stream.
21287
21288        * platform/text/TextCodec.cpp:
21289        * platform/text/TextCodec.h:
21290        * platform/text/TextCodecICU.cpp:
21291        (WebCore::TextCodecICU::decode):
21292        * platform/text/TextCodecUTF16.cpp:
21293        (WebCore::TextCodecUTF16::decode):
21294        * platform/text/mac/TextCodecMac.cpp:
21295        (WebCore::TextCodecMac::decode):
21296        Don't remove the BOM.
21297
212982008-05-13  Anders Carlsson  <andersca@apple.com>
21299
21300        Reviewed by Darin.
21301
21302        Don't crash when a document loader is destroyed while an initial caching attempt
21303        is in progress.
21304
21305        * loader/appcache/ApplicationCacheGroup.cpp:
21306        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
21307        Stop loading.
21308        
21309        (WebCore::ApplicationCacheGroup::stopLoading):
21310        New method that stops a cache update.
21311        
21312        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
21313        Delete ourselves here.
21314        
21315        * loader/appcache/ApplicationCacheGroup.h:
21316
213172008-05-13  Alexey Proskuryakov  <ap@webkit.org>
21318
21319        Reviewed by Darin.
21320
21321        <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254
21322
21323        Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.
21324
21325        Test: fast/encoding/char-decoding.html
21326
21327        * platform/text/TextCodecICU.cpp:
21328        (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
21329        unconditionally. Previously, we registered windows-949-2000 as a special case that lacked 
21330        an IANA standard name, and got away with not registering GBK because it happened
21331        to be reported by ICU normally earlier than any encoding upgraded to it.
21332
213332008-05-13  Tor Arne Vestbø  <tavestbo@trolltech.com>
21334
21335        Reviewed by Simon
21336
21337        Fix QtWebKit build on Qt embedded.
21338
21339        * WebCore.pro:
21340        * platform/FileSystem.h:
21341        * platform/qt/FileSystemQt.cpp:
21342
213432008-05-13  Ariya Hidayat  <ariya.hidayat@trolltech.com>
21344
21345        Reviewed by Simon.
21346
21347        For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set
21348
21349        * plugins/PluginDatabase.cpp:
21350        (WebCore::addMozillaPluginDirectories):
21351        (WebCore::PluginDatabase::isPreferredPluginDirectory):
21352
213532008-05-12  Adam Roben  <aroben@apple.com>
21354
21355        Turn on warnings as errors in WebCore.vcproj
21356
21357        Rubberstamped by Anders Carlsson.
21358
21359        * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
21360        saw fit. The important part is the removal of the WarnAsError="false"
21361        lines.
21362
213632008-05-12  Adam Roben  <aroben@apple.com>
21364
21365        Fix a MSVC warning in PluginViewWin
21366
21367        Reviewed by Anders Carlsson.
21368
21369        Test: http/tests/plugins/post-url-file.html
21370
21371        * plugins/win/PluginViewWin.cpp:
21372        (WebCore::PluginView::handlePostReadFile): Added a missing return
21373        statement.
21374
213752008-05-12  Adam Roben  <aroben@apple.com>
21376
21377        Fix a MSVC warning in GetEOTHeader
21378
21379        Reviewed by Dan Bernstein.
21380
21381        * platform/graphics/win/GetEOTHeader.cpp:
21382        (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
21383        a struct is a non-standard extension. I've replaced the 0-sized arrays
21384        with arrays of 1 element, and replaced sizeof(structType) with
21385        offsetof(structType, arrayMember).
21386
213872008-05-09  Adam Roben  <aroben@apple.com>
21388
21389        Fix a MSVC warning in TextCodecICU
21390
21391        Reviewed by John Sullivan and Dan Bernstein.
21392
21393        * platform/text/TextCodecICU.cpp:
21394        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
21395        UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
21396        doesn't really do what we want. Use strcmp instead. It's OK to pass an
21397        unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
21398        a single character long so we're not going to ready more than 2 bytes
21399        from oldContext, and 2) we're inside an ASSERT which will cause a
21400        crash anyway if it fails.
21401
214022008-05-09  Adam Roben  <aroben@apple.com>
21403
21404        Fix a MSVC warning in CSSComputedStyleDeclaration
21405
21406        Reviewed by Geoff Garen.
21407
21408        * css/CSSComputedStyleDeclaration.cpp:
21409        (WebCore::valueForRepeatRule): Removed some unreachable code.
21410
214112008-05-09  Adam Roben  <aroben@apple.com>
21412
21413        Fix a MSVC warning in InlineTextBox
21414
21415        Reviewed by Dan Bernstein.
21416
21417        * rendering/InlineTextBox.cpp:
21418        (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
21419        isn't smart enough to figure out will always be initialized in the
21420        cases where they are used.
21421
214222008-05-09  Adam Roben  <aroben@apple.com>
21423
21424        Fix a MSVC warning in Position
21425
21426        Reviewed by Darin Adler.
21427
21428        * dom/Position.cpp:
21429        (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
21430        the precedence of our expressions explicit.
21431
214322008-05-09  Adam Roben  <aroben@apple.com>
21433
21434        Fix a MSVC warning in String
21435
21436        Reviewed by Geoff Garen.
21437
21438        * platform/text/String.cpp:
21439        (WebCore::toIntegralType): Disable a bogus warning about using unary -
21440        on an unsigned value. MSVC isn't smart enough to figure out that
21441        isNegative will always be false when value is unsigned.
21442
214432008-05-09  Adam Roben  <aroben@apple.com>
21444
21445        Fix a MSVC warning in XMLHttpRequest
21446
21447        Reviewed by Geoff Garen.
21448
21449        * xml/XMLHttpRequest.cpp:
21450        (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned
21451        long>.
21452
214532008-05-12  Anders Carlsson  <andersca@apple.com>
21454
21455        Reviewed by Adam.
21456
21457        Handle the case when a resource with the same URL as the manifest is listed in the manifest.
21458
21459        * loader/appcache/ApplicationCacheGroup.cpp:
21460        (WebCore::ApplicationCacheGroup::addEntry):
21461
214622008-05-12  Sam Weinig  <sam@webkit.org>
21463
21464        Reviewed by Dan Bernstein.
21465
21466        Add parsing of AccessControlHeader and AccessItemRule.
21467
21468        * xml/AccessControlList.cpp:
21469        (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
21470        in the response, the engine will concatenate them with commas separating the rules.  This simply
21471        reverses that process by splitting on the commas.
21472        (WebCore::AccessControlList::show):
21473        * xml/AccessControlList.h:
21474        * xml/AccessItem.cpp:
21475        (WebCore::AccessItem::AccessItem):
21476        (WebCore::AccessItem::show):
21477        * xml/AccessItem.h:
21478        (WebCore::AccessItem::isValid):
21479        * xml/AccessItemRule.cpp:
21480        (WebCore::skipLWS):
21481        (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
21482        the Access Control spec.
21483        (WebCore::AccessItemRule::parsePatternList):
21484        (WebCore::AccessItemRule::invalidate):
21485        (WebCore::AccessItemRule::show):
21486        * xml/AccessItemRule.h:
21487
214882008-05-12  David Kilzer  <ddkilzer@apple.com>
21489
21490        Fix logic error in DocLoader::clearPreloads()
21491
21492        Reviewed by Antti.
21493
21494        * loader/DocLoader.cpp:
21495        (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
21496        the cached resource before trying to remove it from the cache.  A non-zero
21497        preload count can prevent the resource from being removed from the cache.
21498
214992008-05-12  Anders Carlsson  <andersca@apple.com>
21500
21501        Reviewed by Adam.
21502
21503        Handle empty manifest files without crashing.
21504        
21505        * loader/appcache/ApplicationCacheGroup.cpp:
21506        (WebCore::ApplicationCacheGroup::startLoadingEntry):
21507
215082008-05-12  Alp Toker  <alp@nuanti.com>
21509
21510        GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.
21511
21512        * platform/graphics/FontCache.h:
21513
215142008-05-12  Anders Carlsson  <andersca@apple.com>
21515
21516        Reviewed by Adam.
21517
21518        Add user agent to requests when loading/updating the cache.
21519    
21520        * loader/FrameLoader.h:
21521        * loader/appcache/ApplicationCacheGroup.cpp:
21522        (WebCore::ApplicationCacheGroup::update):
21523        (WebCore::ApplicationCacheGroup::startLoadingEntry):
21524
215252008-05-12  Anders Carlsson  <andersca@apple.com>
21526
21527        Reviewed by Adam.
21528
21529        Make it possible to perform synchronous loads from the application cache.
21530        
21531        * loader/DocumentLoader.cpp:
21532        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
21533        Factor out code from scheduleApplicationCacheLoad in its own method.
21534        
21535        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
21536        Call shouldLoadResourceFromApplicationCache here instead.
21537        
21538        * loader/DocumentLoader.h:
21539        
21540        * loader/FrameLoader.cpp:
21541        (WebCore::FrameLoader::loadResourceSynchronously):
21542        Call shouldLoadResourceFromApplicationCache.
21543
215442008-05-12  Dan Bernstein  <mitz@apple.com>
21545
21546        Reviewed by Ada Chan and Sam Weinig.
21547
21548        - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
21549          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
21550
21551        Added a way for clients to let the cache know that they no longer need
21552        font data, which lets the cache release it. Changed clients to track
21553        most of the font data they get from the cache so that they can later
21554        release it. Some instances of font data -- namely, those used for system
21555        font fallback -- are still not tracked and will therefore remain in the
21556        cache indefinitely.
21557
21558        * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.
21559
21560        * platform/graphics/Font.cpp:
21561        (WebCore::Font::Font): Changed to use FontFallbackList::create().
21562        (WebCore::Font::update): Ditto.
21563
21564        * platform/graphics/FontCache.cpp:
21565        (WebCore::FontCache::getCachedFontData): Added code to track the number
21566        of times a SimpleFontData instance has been requested from the cache,
21567        remove requested instances from the inactive list, and purge inactive
21568        font data if the inactive list has grown above its maximum allowed size.
21569        (WebCore::FontCache::releaseFontData): Added. Called by clients to let
21570        the cache know that they no longer need the font data. Adds the font
21571        data to the inactive list if the last client has released it.
21572        (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
21573        font data from the cache (and the inactive list).
21574        (WebCore::FontCache::fontDataCount): Added to provide statistics.
21575        (WebCore::FontCache::inactiveFontDataCount): Ditto.
21576
21577        * platform/graphics/FontCache.h:
21578
21579        * platform/graphics/FontData.h:
21580        (WebCore::FontData::FontData): Added a member variable to store the
21581        highest glyph page tree level in which there is a node for this FontData.
21582        This is used to limit the depth of the search when pruning glyph page
21583        trees.
21584        (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
21585        (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.
21586
21587        * platform/graphics/FontFallbackList.cpp:
21588        (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
21589        refcount of 1.
21590        (WebCore::FontFallbackList::invalidate): Added a call to
21591        releaseFontData().
21592        (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
21593        know that we no longer need the FontData in our font list.
21594        (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
21595        list whether the font data is a custom font data or not.
21596        (WebCore::FontFallbackList::setPlatformFont): Ditto.
21597
21598        * platform/graphics/FontFallbackList.h:
21599        (WebCore::FontFallbackList::create): Added and made the constructor
21600        private.
21601        (WebCore::FontFallbackList::~FontFallbackList): Added a call to
21602        releaseFontData().
21603
21604        * platform/graphics/GlyphPageTreeNode.cpp:
21605        (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
21606        statistics.
21607        (WebCore::GlyphPageTreeNode::pageCount): Ditto.
21608
21609        (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
21610        (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
21611        data's maximum glyph page tree level.
21612        (WebCore::GlyphPageTreeNode::pruneFontData): Added.
21613
21614        * platform/graphics/GlyphPageTreeNode.h:
21615
21616        * platform/graphics/SimpleFontData.cpp:
21617        (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
21618        cache know that we no longer need the small caps font data and to prune
21619        the glyph page trees.
21620
216212008-05-12  Anders Carlsson  <andersca@apple.com>
21622
21623        Reviewed by Alexey.
21624
21625        Add ApplicationCacheStorage::empty() method which will empty
21626        the application cache database.
21627        
21628        * WebCore.base.exp:
21629        * loader/appcache/ApplicationCache.cpp:
21630        (WebCore::ApplicationCache::clearStorageID):
21631        * loader/appcache/ApplicationCache.h:
21632        * loader/appcache/ApplicationCacheGroup.cpp:
21633        (WebCore::ApplicationCacheGroup::clearStorageID):
21634        * loader/appcache/ApplicationCacheGroup.h:
21635        * loader/appcache/ApplicationCacheResource.h:
21636        (WebCore::ApplicationCacheResource::clearStorageID):
21637        * loader/appcache/ApplicationCacheStorage.cpp:
21638        (WebCore::ApplicationCacheStorage::empty):
21639        * loader/appcache/ApplicationCacheStorage.h:
21640
216412008-05-12  Anders Carlsson  <andersca@apple.com>
21642
21643        Reviewed by John.
21644
21645        Don't throw an exception if the string passed in is an invalid URL.
21646        
21647        * loader/appcache/DOMApplicationCache.cpp:
21648        (WebCore::DOMApplicationCache::remove):
21649
216502008-05-12  Anders Carlsson  <andersca@apple.com>
21651
21652        Reviewed by Mitz.
21653
21654        Add the variable enums for getting the input vtables.
21655        
21656        * bridge/npapi.h:
21657
216582008-05-12  Adam Roben  <aroben@apple.com>
21659
21660        Windows build fix
21661
21662        * WebCorePrefix.cpp: Touched this so that it will rebuild now that
21663        ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.
21664
216652008-05-12  Alexey Proskuryakov  <ap@webkit.org>
21666
21667        Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
21668        SquirrelFish merging.
21669
21670        * bindings/js/GCController.cpp:
21671        (WebCore::collect):
21672        (WebCore::GCController::gcTimerFired):
21673        (WebCore::GCController::garbageCollectNow):
21674        * bindings/js/JSAudioConstructor.cpp:
21675        (WebCore::JSAudioConstructor::JSAudioConstructor):
21676        * bindings/js/JSCSSRuleCustom.cpp:
21677        (WebCore::toJS):
21678        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21679        (WebCore::JSCSSStyleDeclaration::nameGetter):
21680        * bindings/js/JSCSSValueCustom.cpp:
21681        (WebCore::toJS):
21682        * bindings/js/JSCanvasPixelArrayCustom.cpp:
21683        (WebCore::JSCanvasPixelArray::indexGetter):
21684        (WebCore::toJS):
21685        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21686        (WebCore::toJS):
21687        * bindings/js/JSClipboardCustom.cpp:
21688        (WebCore::JSClipboard::types):
21689        (WebCore::JSClipboard::getData):
21690        * bindings/js/JSCustomXPathNSResolver.cpp:
21691        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
21692        * bindings/js/JSDOMApplicationCacheCustom.cpp:
21693        (WebCore::JSDOMApplicationCache::addEventListener):
21694        (WebCore::JSDOMApplicationCache::removeEventListener):
21695        (WebCore::JSDOMApplicationCache::setOnchecking):
21696        (WebCore::JSDOMApplicationCache::setOnerror):
21697        (WebCore::JSDOMApplicationCache::setOnnoupdate):
21698        (WebCore::JSDOMApplicationCache::setOndownloading):
21699        (WebCore::JSDOMApplicationCache::setOnprogress):
21700        (WebCore::JSDOMApplicationCache::setOnupdateready):
21701        (WebCore::JSDOMApplicationCache::setOncached):
21702        * bindings/js/JSDOMWindowBase.cpp:
21703        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
21704        (WebCore::JSDOMWindowBase::getValueProperty):
21705        (WebCore::JSDOMWindowBase::setListener):
21706        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
21707        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
21708        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
21709        (WebCore::windowProtoFuncAToB):
21710        (WebCore::windowProtoFuncBToA):
21711        (WebCore::windowProtoFuncSetTimeout):
21712        (WebCore::windowProtoFuncSetInterval):
21713        (WebCore::windowProtoFuncAddEventListener):
21714        * bindings/js/JSDOMWindowBase.h:
21715        * bindings/js/JSDOMWindowShell.cpp:
21716        * bindings/js/JSDOMWindowShell.h:
21717        * bindings/js/JSDocumentCustom.cpp:
21718        (WebCore::toJS):
21719        * bindings/js/JSEventCustom.cpp:
21720        (WebCore::toJS):
21721        * bindings/js/JSEventTargetBase.cpp:
21722        (WebCore::jsEventTargetAddEventListener):
21723        * bindings/js/JSEventTargetBase.h:
21724        (WebCore::JSEventTargetPrototype::self):
21725        * bindings/js/JSEventTargetNode.cpp:
21726        (WebCore::JSEventTargetNode::setListener):
21727        * bindings/js/JSHTMLCollectionCustom.cpp:
21728        (WebCore::getNamedItems):
21729        (WebCore::toJS):
21730        * bindings/js/JSHTMLElementWrapperFactory.cpp:
21731        (WebCore::createJSHTMLWrapper):
21732        * bindings/js/JSHTMLFormElementCustom.cpp:
21733        (WebCore::JSHTMLFormElement::nameGetter):
21734        * bindings/js/JSHTMLInputElementBase.cpp:
21735        (WebCore::JSHTMLInputElementBase::getValueProperty):
21736        * bindings/js/JSHTMLOptionElementConstructor.cpp:
21737        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
21738        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
21739        (WebCore::JSHTMLOptionsCollection::length):
21740        * bindings/js/JSInspectedObjectWrapper.cpp:
21741        (WebCore::JSInspectedObjectWrapper::wrap):
21742        * bindings/js/JSInspectorCallbackWrapper.cpp:
21743        (WebCore::JSInspectorCallbackWrapper::wrap):
21744        * bindings/js/JSLocationCustom.cpp:
21745        (WebCore::JSLocation::toString):
21746        * bindings/js/JSNamedNodesCollection.cpp:
21747        (WebCore::JSNamedNodesCollection::lengthGetter):
21748        * bindings/js/JSNavigatorCustom.cpp:
21749        (WebCore::JSNavigator::appVersion):
21750        * bindings/js/JSNodeCustom.cpp:
21751        (WebCore::toJS):
21752        * bindings/js/JSNodeFilterCustom.cpp:
21753        (WebCore::JSNodeFilter::acceptNode):
21754        * bindings/js/JSRGBColor.cpp:
21755        (WebCore::getJSRGBColor):
21756        * bindings/js/JSSQLResultSetRowListCustom.cpp:
21757        (WebCore::JSSQLResultSetRowList::item):
21758        * bindings/js/JSSVGElementWrapperFactory.cpp:
21759        (WebCore::createJSSVGWrapper):
21760        * bindings/js/JSSVGLazyEventListener.cpp:
21761        (WebCore::JSSVGLazyEventListener::eventParameterName):
21762        * bindings/js/JSStorageCustom.cpp:
21763        (WebCore::JSStorage::nameGetter):
21764        * bindings/js/JSStyleSheetCustom.cpp:
21765        (WebCore::toJS):
21766        * bindings/js/JSXMLHttpRequestConstructor.cpp:
21767        (WebCore::JSXMLHttpRequestConstructor::construct):
21768        * bindings/js/JSXMLHttpRequestCustom.cpp:
21769        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
21770        (WebCore::JSXMLHttpRequest::setOnload):
21771        (WebCore::JSXMLHttpRequest::setOnprogress):
21772        (WebCore::JSXMLHttpRequest::getResponseHeader):
21773        (WebCore::JSXMLHttpRequest::addEventListener):
21774        (WebCore::JSXMLHttpRequest::removeEventListener):
21775        * bindings/js/JSXSLTProcessorConstructor.cpp:
21776        (WebCore::JSXSLTProcessorConstructor::construct):
21777        * bindings/js/JSXSLTProcessorCustom.cpp:
21778        (WebCore::JSXSLTProcessor::getParameter):
21779        * bindings/js/kjs_binding.cpp:
21780        (WebCore::jsStringOrNull):
21781        (WebCore::jsOwnedStringOrNull):
21782        (WebCore::jsStringOrUndefined):
21783        (WebCore::jsStringOrFalse):
21784        (WebCore::nonCachingStaticFunctionGetter):
21785        (WebCore::objectToStringFunctionGetter):
21786        * bindings/js/kjs_binding.h:
21787        (WebCore::DOMObject::DOMObject):
21788        (WebCore::cacheDOMObject):
21789        (WebCore::cacheSVGDOMObject):
21790        * bindings/js/kjs_events.cpp:
21791        (WebCore::JSLazyEventListener::eventParameterName):
21792        (WebCore::JSLazyEventListener::parseCode):
21793        * bindings/js/kjs_html.cpp:
21794        (WebCore::getRuntimeObject):
21795        * bindings/scripts/CodeGeneratorJS.pm:
21796        * bridge/c/c_instance.cpp:
21797        (KJS::Bindings::CInstance::defaultValue):
21798        (KJS::Bindings::CInstance::stringValue):
21799        (KJS::Bindings::CInstance::numberValue):
21800        (KJS::Bindings::CInstance::valueOf):
21801        * bridge/c/c_instance.h:
21802        * bridge/c/c_utility.cpp:
21803        (KJS::Bindings::convertNPVariantToValue):
21804        * bridge/jni/jni_instance.cpp:
21805        (JavaInstance::stringValue):
21806        (JavaInstance::numberValue):
21807        (JavaInstance::invokeMethod):
21808        (JavaInstance::defaultValue):
21809        (JavaInstance::valueOf):
21810        * bridge/jni/jni_instance.h:
21811        * bridge/jni/jni_jsobject.h:
21812        * bridge/jni/jni_jsobject.mm:
21813        (JavaJSObject::call):
21814        (JavaJSObject::setMember):
21815        (JavaJSObject::setSlot):
21816        (JavaJSObject::convertJObjectToValue):
21817        (JavaJSObject::getListFromJArray):
21818        * bridge/jni/jni_objc.mm:
21819        (KJS::Bindings::dispatchJNICall):
21820        * bridge/jni/jni_runtime.cpp:
21821        (JavaArray::convertJObjectToArray):
21822        (JavaField::dispatchValueFromInstance):
21823        (JavaField::valueFromInstance):
21824        (JavaField::dispatchSetValueToInstance):
21825        (JavaArray::valueAt):
21826        * bridge/jni/jni_utility.h:
21827        * bridge/objc/objc_class.mm:
21828        (KJS::Bindings::ObjcClass::fallbackObject):
21829        * bridge/objc/objc_instance.h:
21830        * bridge/objc/objc_instance.mm:
21831        (ObjcInstance::defaultValue):
21832        (ObjcInstance::stringValue):
21833        (ObjcInstance::numberValue):
21834        (ObjcInstance::valueOf):
21835        * bridge/objc/objc_utility.h:
21836        * bridge/objc/objc_utility.mm:
21837        (KJS::Bindings::convertNSStringToString):
21838        (KJS::Bindings::convertObjcValueToValue):
21839        * bridge/qt/qt_class.cpp:
21840        (KJS::Bindings::QtClass::fallbackObject):
21841        * bridge/qt/qt_instance.cpp:
21842        (KJS::Bindings::QtRuntimeObjectImp::construct):
21843        (KJS::Bindings::QtInstance::getRuntimeObject):
21844        (KJS::Bindings::QtInstance::invokeDefaultMethod):
21845        (KJS::Bindings::QtInstance::defaultValue):
21846        (KJS::Bindings::QtInstance::stringValue):
21847        (KJS::Bindings::QtInstance::numberValue):
21848        (KJS::Bindings::QtInstance::valueOf):
21849        * bridge/qt/qt_instance.h:
21850        * bridge/qt/qt_runtime.cpp:
21851        (KJS::Bindings::convertValueToQVariant):
21852        (KJS::Bindings::convertQVariantToValue):
21853        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
21854        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
21855        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
21856        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
21857        (KJS::Bindings::QtConnectionObject::execute):
21858        * bridge/runtime.cpp:
21859        (KJS::Bindings::Instance::createRuntimeObject):
21860        * bridge/runtime.h:
21861        (KJS::Bindings::Instance::valueOf):
21862        * bridge/runtime_array.cpp:
21863        (RuntimeArray::lengthGetter):
21864        * bridge/runtime_method.cpp:
21865        (RuntimeMethod::lengthGetter):
21866        * bridge/runtime_object.cpp:
21867        (RuntimeObjectImp::RuntimeObjectImp):
21868        (RuntimeObjectImp::methodGetter):
21869        (RuntimeObjectImp::defaultValue):
21870        * xml/XMLHttpRequest.cpp:
21871        (WebCore::XMLHttpRequest::dropProtection):
21872
218732008-05-11  Robin Dunn  <robin@alldunn.com>
21874
21875        Reviewed by Kevin Ollivier.
21876
21877        Since wx popup menus dismiss themselves when an item is selected we need to
21878        call hidePopup so webkit's internal state is correct.
21879        
21880        https://bugs.webkit.org/show_bug.cgi?id=19000
21881
21882        * platform/wx/PopupMenuWx.cpp:
21883        (WebCore::PopupMenu::OnMenuItemSelected):
21884        (WebCore::PopupMenu::hide):
21885
218862008-05-11  Sam Weinig  <sam@webkit.org>
21887
21888        Reviewed by Mark Rowe.
21889
21890        Move some generic parsing functions into a new ParserUtilities header so that
21891        they can be used for non-SVG builds too.
21892
21893        * WebCore.vcproj/WebCore.vcproj:
21894        * WebCore.xcodeproj/project.pbxproj:
21895        * platform/text/ParserUtilities.h: Added.
21896        (WebCore::skipString):
21897        * svg/SVGParserUtilities.h:
21898        (WebCore::isWhitespace):
21899        (WebCore::skipOptionalSpaces):
21900        (WebCore::skipOptionalSpacesOrDelimiter):
21901
219022008-05-11  Sam Weinig  <sam@webkit.org>
21903
21904        Reviewed by Dan Bernstein.
21905
21906        Add scaffolding for the implementation of Access Control for Cross-site Requests. 
21907
21908        * GNUmakefile.am:
21909        * WebCore.pro:
21910        * WebCore.vcproj/WebCore.vcproj:
21911        * WebCore.xcodeproj/project.pbxproj:
21912        * WebCoreSources.bkl:
21913        * xml/AccessControlList.cpp: Added.
21914        (WebCore::AccessControlList::AccessControlList):
21915        (WebCore::AccessControlList::~AccessControlList):
21916        (WebCore::AccessControlList::parseAccessControlHeader):
21917        (WebCore::AccessControlList::checkOrigin):
21918        * xml/AccessControlList.h: Added.
21919        * xml/AccessItem.cpp: Added.
21920        (WebCore::AccessItem::AccessItem):
21921        (WebCore::AccessItem::parseAccessItem):
21922        (WebCore::AccessItem::matches):
21923        * xml/AccessItem.h: Added.
21924        * xml/AccessItemRule.cpp: Added.
21925        (WebCore::AccessItemRule::AccessItemRule):
21926        (WebCore::AccessItemRule::parseAccessItemRule):
21927        * xml/AccessItemRule.h: Added.
21928
219292008-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
21930
21931        Debug build fix.
21932
21933        * loader/appcache/ApplicationCache.cpp: Include stdio.h
21934        as we are using printf in ApplicationCache::dump().
21935
219362008-05-10  Dan Bernstein  <mitz@apple.com>
21937
21938        Reviewed by Jessica Kahn.
21939
21940        - add a copy assignment operator to FontPlatformData on Mac to properly
21941          retain the m_font data member.
21942
21943        * platform/graphics/mac/FontPlatformData.h:
21944        * platform/graphics/mac/FontPlatformDataMac.mm:
21945        (WebCore::FontPlatformData::FontPlatformData):
21946        (WebCore::~FontPlatformData):
21947        (WebCore::FontPlatformData::operator=):
21948        (WebCore::FontPlatformData::setFont):
21949
219502008-05-10  Adele Peterson  <adele@apple.com>
21951
21952        Reviewed by Tim Hatcher.
21953
21954        Fix crash for WebKit clients that don't set a group name for the WebView/Page.
21955
21956        * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
21957          call the addPage method, since it does extra work initializing m_localStorage.
21958
219592008-05-09  Sam Weinig  <sam@webkit.org>
21960
21961        Reviewed by Mark Rowe.
21962
21963        Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
21964        NULL pointer dereference in NamedAttrMap::setNamedItem
21965
21966        Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
21967
21968        * dom/NamedAttrMap.cpp:
21969        (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
21970
219712008-05-09  Kevin McCullough  <kmccullough@apple.com>
21972
21973        Build fix.
21974
21975        * page/Console.cpp:
21976        (WebCore::Console::profile):
21977
219782008-05-09  Sam Weinig  <sam@webkit.org>
21979
21980        Rubber-stamped by Mark Rowe.
21981
21982        Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
21983
21984        * Configurations/WebCore.xcconfig:
21985        * WebCore.vcproj/WebCore.vcproj:
21986        * WebCore.vcproj/build-generated-files.sh:
21987        * bindings/js/JSDOMWindowCustom.cpp:
21988        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
21989        (WebCore::JSDOMWindow::postMessage):
21990        * bindings/js/JSEventCustom.cpp:
21991        (WebCore::toJS):
21992        * bindings/objc/DOMEvents.mm:
21993        (+[DOMEvent _wrapEvent:WebCore::]):
21994        * dom/Document.cpp:
21995        (WebCore::Document::createEvent):
21996        * dom/Event.cpp:
21997        (WebCore::Event::isMessageEvent):
21998        * dom/Event.h:
21999        * dom/MessageEvent.cpp:
22000        * dom/MessageEvent.h:
22001        * dom/MessageEvent.idl:
22002        * page/DOMWindow.cpp:
22003        (WebCore::DOMWindow::postMessageTimerFired):
22004        * page/DOMWindow.h:
22005        * page/DOMWindow.idl:
22006
220072008-05-09  Adam Barth  <abarth-webkit@adambarth.com>
22008
22009        Reviewed by Sam Weinig.
22010
22011        https://bugs.webkit.org/show_bug.cgi?id=18771
22012
22013        Make postMessage generate an event on the window instead of the
22014        document.
22015
22016        Test: http/tests/messaging/cross-domain-message-event-dispatch.html
22017
22018        * dom/EventTargetNode.cpp:
22019        (WebCore::EventTargetNode::dispatchWindowEvent):
22020        * dom/EventTargetNode.h:
22021        * page/DOMWindow.cpp:
22022        (WebCore::DOMWindow::postMessageTimerFired):
22023
220242008-05-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
22025
22026        Reviewed by Simon.
22027
22028        Replaced all instances of qDebug() with LOG(Media, ...)
22029        in MediaPlayerPrivatePhonon.
22030
22031        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
22032        (WebCore::MediaPlayerPrivate::updateStates):
22033
220342008-05-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
22035
22036        Reviewed by Simon
22037
22038        Fix the Qt/Mac build.
22039
22040        * platform/qt/FileSystemQt.cpp:
22041
220422008-05-08  Sam Weinig  <sam@webkit.org>
22043
22044        Reviewed by Anders Carlsson.
22045
22046        Rename the XMLHttpRequestState enum values to match the spec.
22047
22048        * xml/XMLHttpRequest.cpp:
22049        (WebCore::XMLHttpRequest::responseXML):
22050        (WebCore::XMLHttpRequest::XMLHttpRequest):
22051        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
22052        (WebCore::XMLHttpRequest::open):
22053        (WebCore::XMLHttpRequest::send):
22054        (WebCore::XMLHttpRequest::abort):
22055        (WebCore::XMLHttpRequest::setRequestHeader):
22056        (WebCore::XMLHttpRequest::getAllResponseHeaders):
22057        (WebCore::XMLHttpRequest::getResponseHeader):
22058        (WebCore::XMLHttpRequest::status):
22059        (WebCore::XMLHttpRequest::statusText):
22060        (WebCore::XMLHttpRequest::processSyncLoadResults):
22061        (WebCore::XMLHttpRequest::didFinishLoading):
22062        (WebCore::XMLHttpRequest::didReceiveData):
22063        * xml/XMLHttpRequest.h:
22064
220652008-05-08  Dan Bernstein  <mitz@apple.com>
22066
22067        Reviewed by Mark Rowe.
22068
22069        - fix https://bugs.webkit.org/show_bug.cgi?id=18818
22070          <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
22071
22072        Test: fast/css/first-letter-float-after-float.html
22073
22074        * rendering/RenderBlock.cpp:
22075        (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
22076        letter container right before the rest of the text it is taken from,
22077        instead of at the beginning of the block.
22078
220792008-05-08  Chris Fleizach  <cfleizach@apple.com>
22080
22081        Reviewed by Darin Adler.
22082
22083        <rdar://problem/5921046> AX: list box options have wrong AXPosition
22084
22085        * page/AccessibilityObject.cpp:
22086        (WebCore::AccessibilityObject::documentFrameView):
22087        * page/AccessibilityObject.h:
22088
220892008-05-08  Julien Chaffraix  <jchaffraix@webkit.org>
22090
22091        Reviewed by Eric.
22092
22093        Bug 18916: make_names.pl --factory needs to support custom c++ guard
22094
22095        Add --guardFactoryWith to handle the cpp guard around generated factories.
22096
22097        * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
22098        * GNUmakefile.am: Ditto.
22099        * WebCore.pro: Ditto.
22100        * dom/make_names.pl: Add guardFactoryWith option.
22101
221022008-05-08  Julien Chaffraix  <jchaffraix@webkit.org>
22103
22104        Reviewed by Adam Roben.
22105
22106        wx & Gtk build fix.
22107
22108        Should also fix the cURL backend for the Windows port.
22109
22110        * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
22111        * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
22112        fixes the build on some machine.
22113
22114        * webcore-wx.bkl: Add FormDataStreamCurl.cpp.
22115
221162008-05-08  Timothy Hatcher  <timothy@apple.com>
22117
22118        Fixes the bug where the Web Inspector could not
22119        find any localization strings.
22120
22121        Reviewed by Mark Rowe.
22122
22123        * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
22124        file to the WebCore Copy Resources phase. Also removes an idl from
22125        the Copy Resources phase.
22126
221272008-05-08  Dan Bernstein  <mitz@apple.com>
22128
22129        Reviewed by Adam Roben.
22130
22131        - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated
22132
22133        * platform/win/PopupMenuWin.cpp:
22134        (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
22135        font for measuring labels.
22136
221372008-05-08  Dan Bernstein  <mitz@apple.com>
22138
22139        Reviewed by Geoffrey Garen.
22140
22141        - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590 
22142          ASSERTION FAILED: subject in jsRegExpExecute()
22143
22144        * page/Frame.cpp:
22145        (WebCore::Frame::matchLabelsAgainstElement):
22146
221472008-05-08  Holger Hans Peter Freyther  <zecke@selfish.org>
22148
22149        Reviewed by Simon.
22150
22151        Simple ImageBuffer::image implementation.
22152
22153        In contrast to cg and cairo we do not use a special BitmapImage because
22154        the ownership of the FrameData inside the BitmapImage is a bit backward
22155        (actually owned by the ImageDecoderQt...). Further work is needed for image
22156        and pixmap handling in the qt port...
22157
22158        * WebCore.pro:
22159        * platform/graphics/ImageBuffer.h:
22160        * platform/graphics/qt/ImageBufferQt.cpp:
22161        (WebCore::ImageBuffer::image):
22162        * platform/graphics/qt/ImageQt.cpp:
22163        * platform/graphics/qt/StillImageQt.cpp: Added.
22164        (WebCore::StillImage::StillImage):
22165        (WebCore::StillImage::size):
22166        (WebCore::StillImage::getPixmap):
22167        (WebCore::StillImage::draw):
22168        * platform/graphics/qt/StillImageQt.h: Added.
22169
221702008-05-08  Holger Hans Peter Freyther  <zecke@selfish.org>
22171
22172        Reviewed by Simon.
22173
22174        Update the WebKit.qrc of the inspector to be functional again
22175
22176        * page/inspector/WebKit.qrc:
22177
221782008-05-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
22179
22180        Reviewed by Simon
22181
22182        Fix the Qt/Mac build.
22183
22184        * platform/FileSystem.h:
22185
221862008-05-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
22187
22188        Reviewed by Simon.
22189
22190        Use native Windows library handling (instead of QLibrary) 
22191        for Qt/Win32's PlatformModule.
22192
22193        * platform/FileSystem.h:
22194        (WebCore::PlatformModuleVersion::PlatformModuleVersion):
22195        * platform/qt/FileSystemQt.cpp:
22196        (WebCore::unloadModule):
22197
221982008-05-08  Simon Hausmann  <hausmann@webkit.org>
22199
22200        Reviewed and found by Holger.
22201
22202        Include .css in the list of extensions for text/css. Fixes
22203        fast/loader/local-css-allowed-in-strict-mode.html.
22204
22205        * platform/qt/MIMETypeRegistryQt.cpp:
22206
222072008-05-08  Simon Hausmann  <hausmann@webkit.org>
22208
22209        Fix the Qt and Wx build when compiling without offline app support.
22210
22211        * loader/FrameLoader.cpp:
22212        (WebCore::FrameLoader::canCachePage):
22213
222142008-05-07  Sam Weinig  <sam@webkit.org>
22215
22216        Reviewed by Adele Peterson
22217
22218        Update MessageEvent to match the latest version of the HTML5 spec,
22219        adding the lastEventId attribute.
22220
22221        * dom/MessageEvent.cpp:
22222        (WebCore::MessageEvent::MessageEvent):
22223        (WebCore::MessageEvent::initMessageEvent):
22224        * dom/MessageEvent.h:
22225        (WebCore::MessageEvent::lastEventId):
22226        * dom/MessageEvent.idl:
22227        * page/DOMWindow.cpp:
22228        (WebCore::DOMWindow::postMessage):
22229
222302008-05-07  Stephanie Lewis <slewis@apple.com>
22231
22232        Reviewed by Maciej.
22233
22234        remove non-functioning code.  If onunload should be fired from these nodes then
22235        a WindowEventListener needs to be set.  However, Firefox and IE also do not
22236        fire onunload events for these cases.
22237
22238        Test: fast/events/onunload-not-on-body.html 
22239        
22240        * html/HTMLFrameElementBase.cpp:
22241        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
22242        * html/HTMLObjectElement.cpp
22243        (WebCore::HTMLObjectElement::parseMappedAttribute):
22244
222452008-05-07  Dan Bernstein  <mitz@apple.com>
22246
22247        Reviewed by John Sullivan.
22248
22249        - fix https://bugs.webkit.org/show_bug.cgi?id=18909
22250          <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
22251
22252        Test: fast/dynamic/positioned-movement-with-positioned-children.html
22253
22254        * rendering/RenderBlock.cpp:
22255        (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
22256        a positioned object that has only moved and has only positioned children
22257        that have changed.
22258        * rendering/RenderObject.h:
22259        (WebCore::RenderObject::needsPositionedMovementLayout): Added this
22260        accessor.
22261
222622008-05-07  Anders Carlsson  <andersca@apple.com>
22263
22264        Reviewed by John.
22265
22266        When no document loaders are associated with an application cache group,
22267        release the reference to the newest cache group. This prevents reference cycles.
22268        
22269        * loader/appcache/ApplicationCacheGroup.cpp:
22270        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
22271        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
22272        (WebCore::ApplicationCacheGroup::cacheDestroyed):
22273        * loader/appcache/ApplicationCacheGroup.h:
22274        
22275        * loader/appcache/ApplicationCacheStorage.cpp:
22276        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
22277        Return early if the datbase wasn't open.
22278        
22279        (WebCore::ApplicationCacheStorage::loadCache):
22280        Add error.
22281
222822008-05-07  Anders Carlsson  <andersca@apple.com>
22283
22284        Reviewed by Adam.
22285
22286        Don't put pages with an application cache in the BF cache.
22287        
22288        * loader/FrameLoader.cpp:
22289        (WebCore::FrameLoader::canCachePage):
22290
222912008-05-07  Justin Garcia  <justin.garcia@apple.com>
22292
22293        Reviewed by John Sullivan.
22294
22295        <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
22296        
22297        When a single tab or series of tabs was copied, we weren't putting them into a 
22298        tab span.  On Paste, we would be given a text node with a single tab or series
22299        of tabs in it, and we would crash when inserting it at the start of a block
22300        (where that kind of text becomes completely unrendered).
22301
22302        * editing/ReplaceSelectionCommand.cpp:
22303        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
22304        up correctly and early return if we removed everything that was inserted.
22305        * editing/markup.cpp:
22306        (WebCore::createMarkup):  Include the tab span when the only thing copied
22307        was a tab or a series of tabs.
22308
223092008-05-07  Julien Chaffraix  <jchaffraix@webkit.org>
22310
22311        Reviewed by Adam Roben.
22312
22313        wx & Gtk build fix.
22314
22315        * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
22316        __STDC_LIMIT_MACROS to have SIZE_MAX exported.
22317        * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
22318        as it is not present on the build bots.
22319        * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
22320
223212008-05-07  David Kilzer  <ddkilzer@apple.com>
22322
22323        Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
22324        <https://bugs.webkit.org/show_bug.cgi?id=18900>
22325        <rdar://problem/5912383>
22326
22327        Original patch by Aaron Golden and Tim Omernick.  Reviewed by Adele.
22328
22329        Test: fast/forms/textfield-to-password-on-focus.html
22330
22331        * html/HTMLInputElement.cpp:
22332        (WebCore::HTMLInputElement::setInputType): If the current node has
22333        focus, call updateFocusAppearance() to make sure its state is correct
22334        after changing its type.
22335
223362008-05-07  Chris Fleizach  <cfleizach@apple.com>
22337
22338        Reviewed by Alice Liu
22339
22340        <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton
22341
22342        * page/AccessibilityObject.h:
22343        (WebCore::AccessibilityObject::isFileUploadButton):
22344        * page/AccessibilityRenderObject.cpp:
22345        (WebCore::AccessibilityRenderObject::isFileUploadButton):
22346        (WebCore::AccessibilityRenderObject::actionElement):
22347        (WebCore::AccessibilityRenderObject::textUnderElement):
22348        (WebCore::AccessibilityRenderObject::stringValue):
22349        (WebCore::AccessibilityRenderObject::roleValue):
22350        * page/AccessibilityRenderObject.h:
22351        * rendering/RenderFileUploadControl.cpp:
22352        (WebCore::RenderFileUploadControl::buttonValue):
22353        (WebCore::RenderFileUploadControl::fileTextValue):
22354        * rendering/RenderFileUploadControl.h:
22355
223562008-05-07  Julien Chaffraix  <jchaffraix@webkit.org>
22357
22358        Reviewed by Eric.
22359
22360        Bug 17971: [Curl] FormData processing should be moved to its own class
22361
22362        Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
22363        could manipulate.
22364
22365        First step into having complete file uploading facility in cURL.
22366
22367        No test case as it is only code refactoring.
22368
22369        * GNUmakefile.am: Add FormDataStreamCurl.cpp
22370        * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
22371        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
22372        * platform/network/curl/FormDataStreamCurl.cpp: Added.
22373        (WebCore::FormDataStream::~FormDataStream):
22374        (WebCore::FormDataStream::read):
22375        * platform/network/curl/FormDataStreamCurl.h: Added.
22376        (WebCore::FormDataStream::FormDataStream):
22377        * platform/network/curl/ResourceHandleCurl.cpp:
22378        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
22379        * platform/network/curl/ResourceHandleManager.cpp:
22380        (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
22381
223822008-05-07  Adam Treat  <treat@kde.org>
22383
22384        Reviewed by Simon.
22385
22386        https://bugs.webkit.org/show_bug.cgi?id=18898
22387
22388        Fixed wrong transform being used for creating the pixmap for a new
22389        transparency layer. This fixes the popup menus on dell.com.
22390
22391        * platform/graphics/qt/GraphicsContextQt.cpp:
22392        (WebCore::GraphicsContext::beginTransparencyLayer):
22393
223942008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
22395
22396        Reviewed by Simon.
22397
22398        Share the plug-in directories between Gtk and Qt/X11 port.
22399
22400        * platform/qt/FileSystemQt.cpp:
22401        (WebCore::homeDirectoryPath): Implement it for Qt.
22402        * plugins/PluginDatabase.cpp:
22403        (WebCore::addMozillaPluginDirectories): Shared code.
22404        (WebCore::PluginDatabase::defaultPluginDirectories):
22405        (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
22406        * plugins/gtk/PluginDatabaseGtk.cpp:
22407        (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
22408        * plugins/qt/PluginDatabaseQt.cpp: Refactored.
22409
224102008-05-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
22411
22412        Reviewed by Simon
22413
22414        Fix build issues on Mac and refeactor the .pro file a bit.
22415
22416        * WebCore.pro:
22417        * platform/qt/TemporaryLinkStubs.cpp:
22418        (PluginPackage::fetchInfo):
22419
224202008-05-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
22421
22422        Reviewed by Simon
22423
22424        Draw scrollview corners (between scrollbars) using the Qt style.
22425
22426        https://bugs.webkit.org/show_bug.cgi?id=18894
22427
22428        * platform/qt/ScrollViewQt.cpp:
22429        (WebCore::drawScrollbarCorner):
22430        (WebCore::ScrollView::paint):
22431
224322008-05-07  Simon Hausmann  <hausmann@webkit.org>
22433
22434        Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
22435        the build.
22436
22437        * WebCore.pro:
22438
224392008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
22440
22441        Rubber-stamped by Holger.
22442
22443        Fix building without storage support.
22444
22445        * page/PageGroup.cpp:
22446        (WebCore::PageGroup::closeLocalStorage): proper #if
22447
224482008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
22449
22450        Rubber-stamped by Oliver Hunt.
22451
22452        Fix building without accessibility.
22453
22454        * page/AXObjectCache.cpp:
22455        (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
22456
224572008-05-06  Dan Bernstein  <mitz@apple.com>
22458
22459        Reviewed by Darin Adler.
22460
22461        - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
22462
22463        Test: fast/block/float/float-on-zero-height-line.html
22464
22465        * rendering/RenderBlock.cpp:
22466        (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
22467
224682008-05-06  Alice Liu  <alice.liu@apple.com>
22469
22470        Reviewed by Adele Peterson and John Sullivan.
22471
22472        changes needed to build on Windows after r32911 and r32927
22473
22474        * WebCore.vcproj/WebCore.vcproj:
22475        * page/AXObjectCache.cpp:
22476        (WebCore::AXObjectCache::selectedChildrenChanged):
22477        * page/AccessibilityObject.h:
22478        (WebCore::AccessibilityObject::document):
22479        (WebCore::AccessibilityObject::topDocumentFrameView):
22480        (WebCore::AccessibilityObject::documentFrameView):
22481        * page/AccessibilityRenderObject.cpp:
22482        (WebCore::AccessibilityRenderObject::document):
22483        (WebCore::AccessibilityRenderObject::topDocumentFrameView):
22484        (WebCore::AccessibilityRenderObject::documentFrameView):
22485        * page/AccessibilityRenderObject.h:
22486        * page/mac/AXObjectCacheMac.mm:
22487        * page/mac/AccessibilityObjectWrapper.mm:
22488        (-[AccessibilityObjectWrapper position]):
22489        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
22490
224912008-05-06  Brady Eidson  <beidson@apple.com>
22492
22493        Reviewed by Sam Weinig
22494
22495        Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
22496        1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
22497        2 - Pending sync timers all need to be cancelled.
22498
22499        * storage/LocalStorage.cpp:
22500        (WebCore::LocalStorage::storageArea):
22501        (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
22502          thread termination.
22503        * storage/LocalStorage.h:  Change the map to be of LocalStorageAreas instead of StorageAreas
22504
22505        * storage/LocalStorageArea.cpp:
22506        (WebCore::LocalStorageArea::LocalStorageArea):
22507        (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
22508          in release builds.
22509        (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
22510          "final sync scheduled" flag
22511        (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
22512        (WebCore::LocalStorageArea::scheduleClear): Ditto
22513        * storage/LocalStorageArea.h:
22514
225152008-05-06  Kevin Ollivier  <kevino@theolliviers.com>
22516
22517        wx build fix. Adding files added in  r32925 to the bakefiles.
22518
22519        * WebCoreSources.bkl:
22520
225212008-05-06  Alp Toker  <alp@nuanti.com>
22522
22523        GTK+ build fix. Add empty stub to keep non-accessible ports building.
22524
22525        * page/AXObjectCache.h:
22526        (WebCore::AXObjectCache::selectedChildrenChanged):
22527
225282008-05-06  Beth Dakin  <bdakin@apple.com>
22529
22530        Reviewed by Darin.
22531
22532        Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and 
22533        'aria-describedby' attributes.
22534
22535        * html/HTMLAttributeNames.in: Added new attributes. Added both the 
22536        British spelling (since that is what is specified in the spec), and 
22537        the American spelling (since the bug filer and I are two Americans 
22538        who keep spelling it the American way by accident). 
22539        * page/AccessibilityObject.cpp: Added empty wrappers. These 
22540        functions can't do anything meaningful without a renderer.
22541        (WebCore::AccessibilityObject::ariaAccessiblityName):
22542        (WebCore::AccessibilityObject::ariaLabeledByAttribute):
22543        (WebCore::AccessibilityObject::ariaDescribedByAttribute):
22544        * page/AccessibilityObject.h:
22545
22546        Here is where the real work is done.
22547        * page/AccessibilityRenderObject.h:
22548        * page/AccessibilityRenderObject.cpp:
22549        (WebCore::accessibleNameForNode): Takes a node and finds its 
22550        contribution to the accessible name, as defined by the Mozilla ARIA 
22551        Implementer's Guide. 
22552        (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a 
22553        string of space-separated IDs, fetches the corresponding element 
22554        for each ID, and concatenates an accessible name based on the 
22555        elements.
22556        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): 
22557        Retrieve the labeledby attribute and send its contents to 
22558        ariaAccessibilityName().
22559        (WebCore::AccessibilityRenderObject::title): Return the ARIA 
22560        labeledby value if one exists.
22561        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): 
22562        Retrieve the describedby attribute and send its contents to 
22563        ariaAccessibilityName().
22564        (WebCore::AccessibilityRenderObject::accessibilityDescription): 
22565        Return the ARIA describedby attribute if one exists. 
22566
22567        These are two bugs I spotted. 
22568        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't 
22569        ignore anything with an ARIA role.
22570        (WebCore::AccessibilityRenderObject::roleValue): Button tags maps 
22571        to ButtonRole.
22572
225732008-05-06  Anders Carlsson  <andersca@apple.com>
22574
22575        Reviewed by Brady.
22576
22577        Support reading back app caches from the database.
22578    
22579        * loader/appcache/ApplicationCache.cpp:
22580        (WebCore::ApplicationCache::ApplicationCache):
22581        Initialize m_storageID to 0.
22582        
22583        * loader/appcache/ApplicationCacheGroup.cpp:
22584        (WebCore::ApplicationCacheGroup::cacheDestroyed):
22585        If the cache being destroyed is not the newest cache, it should no longer be 
22586        stored in the database. Remove it.
22587        
22588        (WebCore::ApplicationCacheGroup::setNewestCache):
22589        Don't store the cache here.
22590        
22591        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
22592        Store it here instead.
22593        
22594        * loader/appcache/ApplicationCacheStorage.cpp:
22595        (WebCore::ApplicationCacheStorage::loadCacheGroup):
22596        New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
22597        
22598        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
22599        Search for the group in the database.
22600        
22601        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
22602        New method that loads the host hashes from the database.
22603        
22604        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
22605        Search in the database for a cache that contains the resource.
22606        
22607        (WebCore::ApplicationCacheStorage::loadCache):
22608        New method that loads a cache with a given ID.
22609        
22610        (WebCore::ApplicationCacheStorage::remove):
22611        New method that removes a cache.
22612        
22613        * loader/appcache/ApplicationCacheStorage.h:
22614        Add definitions.
22615
226162008-05-06  Alp Toker  <alp@nuanti.com>
22617
22618        Partial GTK+ build fix. Add files from r32925 to the build and replace
22619        'nil' return with 0.
22620
22621        * GNUmakefile.am:
22622        * page/AccessibilityListBoxOption.cpp:
22623        (WebCore::AccessibilityListBoxOption::parentObject):
22624
226252008-05-06  Brady Eidson  <beidson@apple.com>
22626
22627        Reviewed by Anders
22628
22629        Make LocalStorage persistent using a SQLite database.
22630
22631        There's a few things going on here.  Whenever an item is changed, we add it to a set of
22632        "items to be sync'ed."  Instead of immediately scheduling the sync'ing on the background
22633        thread, we set a "sync timer" instead.  This is to shield against a series of rapid changes
22634        to avoid thread churn.
22635
22636        When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
22637        and schedule the sync task which is where the items are actually committed to disk.
22638
22639        Current design for reading items back in from disk is to be as aggressive as possible.
22640        When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
22641        they are immediately available.  A future enhancement will be to being this pre-fetching the
22642        moment we start loading a page when we know that page has LocalStorage.
22643
22644        * storage/LocalStorageArea.cpp:
22645        (WebCore::LocalStorageArea::LocalStorageArea):
22646        (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
22647        (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
22648        (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
22649        (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it.  The second case is
22650          because if the item is set while the import is still in progress, the new value should override whatever
22651          the imported value is.
22652        (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it.  See the 
22653          explanation for setItem()
22654        (WebCore::LocalStorageArea::contains): Return whether or not the item is contained.  Do the same dance with
22655          the import flag, import lock, and import condition that the above methods do.
22656
22657        (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
22658        (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
22659        (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously 
22660          scheduled items.
22661
22662        (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
22663        (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed."  If any
22664          items are later set before the actual removal takes place, they will be written *after* the removal.
22665        (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then 
22666          schedule a sync task.  Also transfer the "items cleared" flag to the "background thread items cleared" flag
22667        (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
22668        (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
22669        (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items.  Then update or delete 
22670          each item waiting to be sync'ed
22671        * storage/LocalStorageArea.h:
22672
226732008-05-06  Brady Eidson  <beidson@apple.com>
22674
22675        Rubberstamped by Mitz Pettel RTL
22676
22677        * storage/LocalStorage.cpp:
22678        (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
22679
226802008-05-06  Brady Eidson  <beidson@apple.com>
22681
22682        Reviewed by Darin, Sam Weinig, and Anders
22683
22684        Preparation for upcoming work making LocalStorage persistent.
22685
22686        The final step before code that actually does storage and retrieval of LocalStorage items.
22687
22688        The LocalStorage set is responsible for controlling the path and filenames that individual
22689        LocalStorageAreas will use for their persistent store.  This adds the ability to return that
22690        filename.
22691
22692        Also, add the scheduling methods that LocalStorageArea will use for importing and syncing 
22693        it's persistent items.
22694
22695        * storage/LocalStorage.cpp:
22696        (WebCore::LocalStorage::storageArea):  Add some comments re: the future direction of this
22697          method once we actually do quota tracking.
22698        (WebCore::LocalStorage::fullDatabaseFilename):
22699        (WebCore::LocalStorage::scheduleImport):
22700        (WebCore::LocalStorage::scheduleSync):
22701        * storage/LocalStorage.h:
22702
227032008-05-06  Chris Fleizach  <cfleizach@apple.com>
22704
22705        Reviewed by Beth Dakin.
22706
22707        rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
22708
22709        * WebCore.xcodeproj/project.pbxproj:
22710        * html/HTMLOptGroupElement.cpp:
22711        (WebCore::HTMLOptGroupElement::ownerSelectElement):
22712        (WebCore::HTMLOptGroupElement::accessKeyAction):
22713        * html/HTMLOptGroupElement.h:
22714        * html/HTMLOptionElement.cpp:
22715        (WebCore::HTMLOptionElement::accessKeyAction):
22716        (WebCore::HTMLOptionElement::index):
22717        (WebCore::HTMLOptionElement::setSelected):
22718        (WebCore::HTMLOptionElement::childrenChanged):
22719        (WebCore::HTMLOptionElement::ownerSelectElement):
22720        (WebCore::HTMLOptionElement::insertedIntoDocument):
22721        * html/HTMLOptionElement.h:
22722        * html/HTMLSelectElement.cpp:
22723        (WebCore::HTMLSelectElement::childrenChanged):
22724        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
22725        * html/HTMLSelectElement.h:
22726        * page/AXObjectCache.cpp:
22727        (WebCore::AXObjectCache::get):
22728        * page/AccessibilityListBox.cpp: Added.
22729        (WebCore::AccessibilityListBox::AccessibilityListBox):
22730        (WebCore::AccessibilityListBox::~AccessibilityListBox):
22731        (WebCore::AccessibilityListBox::create):
22732        (WebCore::AccessibilityListBox::addChildren):
22733        (WebCore::AccessibilityListBox::selectedChildren):
22734        (WebCore::AccessibilityListBox::visibleChildren):
22735        (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
22736        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
22737        * page/AccessibilityListBox.h: Added.
22738        (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
22739        (WebCore::AccessibilityListBox::isListBox):
22740        (WebCore::AccessibilityListBox::canSetFocusAttribute):
22741        (WebCore::AccessibilityListBox::roleValue):
22742        (WebCore::AccessibilityListBox::accessibilityIsIgnored):
22743        * page/AccessibilityListBoxOption.cpp: Added.
22744        (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
22745        (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
22746        (WebCore::AccessibilityListBoxOption::create):
22747        (WebCore::AccessibilityListBoxOption::isEnabled):
22748        (WebCore::AccessibilityListBoxOption::isSelected):
22749        (WebCore::AccessibilityListBoxOption::elementRect):
22750        (WebCore::AccessibilityListBoxOption::title):
22751        (WebCore::AccessibilityListBoxOption::size):
22752        (WebCore::AccessibilityListBoxOption::actionElement):
22753        (WebCore::AccessibilityListBoxOption::parentObject):
22754        (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
22755        (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
22756        * page/AccessibilityListBoxOption.h: Added.
22757        (WebCore::AccessibilityListBoxOption::setHTMLElement):
22758        (WebCore::AccessibilityListBoxOption::roleValue):
22759        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
22760        (WebCore::AccessibilityListBoxOption::isListBoxOption):
22761        * page/AccessibilityObject.h:
22762        (WebCore::AccessibilityObject::isListBox):
22763        * page/AccessibilityRenderObject.cpp:
22764        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
22765        * page/mac/AccessibilityObjectWrapper.mm:
22766        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
22767        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
22768        * rendering/RenderListBox.cpp:
22769        (WebCore::RenderListBox::selectionChanged):
22770        * rendering/RenderListBox.h:
22771
227722008-05-06  Chris Fleizach  <cfleizach@apple.com>
22773
22774        Reviewed by Beth Dakin.
22775
22776         <rdar://problem/5455287> AXWebArea should include AXURL
22777
22778        * page/AccessibilityRenderObject.cpp:
22779        (WebCore::AccessibilityRenderObject::url):
22780        * page/mac/AccessibilityObjectWrapper.mm:
22781        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
22782
227832008-05-06  Alice Liu  <alice.liu@apple.com>
22784
22785        Rubber-stamped by Beth
22786        
22787        stab-in-the-dark attempt at fixing non-mac builds.
22788
22789        * GNUmakefile.am:
22790        * WebCore.pro:
22791        * WebCore.vcproj/WebCore.vcproj:
22792        * WebCoreSources.bkl:
22793
227942008-05-06  Anders Carlsson  <andersca@apple.com>
22795
22796        Reviewed by Adam.
22797
22798        Only use the toplevel application cache when loading subframes.
22799
22800        * loader/MainResourceLoader.cpp:
22801        (WebCore::MainResourceLoader::load):
22802
228032008-05-06  Adam Barth  <abarth-webkit@adambarth.com>
22804
22805        Reviewed by Sam Weinig.
22806
22807        https://bugs.webkit.org/show_bug.cgi?id=18725
22808        Implement asynchronous postMessage.
22809        MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.
22810
22811        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
22812
22813        Test: http/tests/security/postMessage/delivery-order.html
22814
22815        * dom/MessageEvent.cpp:
22816        (WebCore::MessageEvent::MessageEvent):
22817        * page/DOMWindow.cpp:
22818        (WebCore::PostMessageTimer::PostMessageTimer):
22819        (WebCore::PostMessageTimer::event):
22820        (WebCore::PostMessageTimer::targetOrigin):
22821        (WebCore::PostMessageTimer::fired):
22822        (WebCore::DOMWindow::postMessage):
22823        (WebCore::DOMWindow::postMessageTimerFired):
22824        * page/DOMWindow.h:
22825        * page/DOMWindow.idl:
22826        
228272008-05-06  Anders Carlsson  <andersca@apple.com>
22828
22829        Reviewed by Brady.
22830
22831        Store cache to the database.
22832
22833        * loader/appcache/ApplicationCache.cpp:
22834        (WebCore::ApplicationCache::addResource):
22835        If the cache has been saved to disk, save the resource as well.
22836        
22837        * loader/appcache/ApplicationCache.h:
22838        (WebCore::ApplicationCache::onlineWhitelist):
22839        New method which returns the online whitelist.
22840
22841        (WebCore::ApplicationCache::setStorageId):
22842        (WebCore::ApplicationCache::storageId):
22843        Setter/getter for the application cache storage ID.
22844
22845        * loader/appcache/ApplicationCacheGroup.cpp:
22846        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
22847        Save the cache/group to disk.
22848        
22849        * loader/appcache/ApplicationCacheGroup.h:
22850        (WebCore::ApplicationCacheGroup::setStorageID):
22851        (WebCore::ApplicationCacheGroup::storageID):
22852        Setter/getter for the application cache group storage ID.
22853        
22854        * loader/appcache/ApplicationCacheResource.cpp:
22855        (WebCore::ApplicationCacheResource::addType):
22856        We can't add a new type if the resource has been saved to disk.
22857        
22858        * loader/appcache/ApplicationCacheResource.h:
22859        (WebCore::ApplicationCacheResource::setStorageID):
22860        (WebCore::ApplicationCacheResource::storageID):
22861        Setter/getter for the application cache resource storage ID.
22862
22863        * loader/appcache/ApplicationCacheStorage.cpp:
22864        * loader/appcache/ApplicationCacheStorage.cpp:
22865        (WebCore::ApplicationCacheStorage::executeSQLCommand):
22866        New method for executing SQL and logging any errors.
22867        
22868        (WebCore::ApplicationCacheStorage::openDatabase):
22869        Create new tables.
22870        
22871        (WebCore::ApplicationCacheStorage::executeStatement):
22872        New method for executing an SQL statement and logging any errors.
22873        
22874        (WebCore::ApplicationCacheStorage::store):
22875        New methods for storing a cache group, cache and cache resource to the store.
22876
22877        (WebCore::ApplicationCacheStorage::storeNewestCache):
22878        New method which stores the newest cache and updates the newest cache field in the cache group.
22879        
22880        * loader/appcache/ApplicationCacheStorage.h:
22881        Add new methods.
22882        
22883        * platform/sql/SQLiteStatement.h:
22884        (WebCore::SQLiteStatement::query):
22885        Getter for the SQL query.
22886
228872008-05-06  Brady Eidson  <beidson@apple.com>
22888
22889        Reviewed by Darin Adler
22890
22891        Preparation for upcoming work making LocalStorage persistent.
22892
22893        Writing persistent values for LocalStorage will take place on a background thread.
22894        Here is that background thread, as well as most of the hooks that will be utilized to
22895        make the whole song and dance work.
22896
22897        The thread itself is very simple and MessageQueue based.  LocalStorageTasks are what 
22898        mark the work that needs to be done and come in 5 flavors:  Import and Sync a LocalStorage set,
22899        Import and Sync a LocalStorageArea, and terminate the thread.
22900
22901        This patch accomplished 2 things:
22902        
22903        1 - Each PageGroup has its own LocalStorage set.  Upon its creation its LocalStorageThread is 
22904            created and started.
22905
22906        2 - At application shutdown, each thread is synchronously terminated.
22907
22908        What happens between steps 1 and 2 will come later.
22909
22910        * GNUmakefile.am:
22911        * WebCore.pro:
22912        * WebCore.vcproj/WebCore.vcproj:
22913        * WebCore.xcodeproj/project.pbxproj:
22914        * WebCoreSources.bkl:
22915
22916        * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
22917          method is meant to be called from.
22918        (WebCore::LocalStorage::LocalStorage):
22919        (WebCore::LocalStorage::storageArea):
22920        (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
22921        (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
22922        (WebCore::LocalStorage::close): Synchronously terminate the thread.
22923        * storage/LocalStorage.h:
22924
22925        * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
22926          method is meant to be called from.
22927        (WebCore::LocalStorageArea::itemChanged):
22928        (WebCore::LocalStorageArea::itemRemoved):
22929        (WebCore::LocalStorageArea::areaCleared):
22930        (WebCore::LocalStorageArea::dispatchStorageEvent):
22931        (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this 
22932          LocalStorageArea to prime the page before the items are needed
22933        (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
22934        * storage/LocalStorageArea.h:
22935
22936        * storage/LocalStorageTask.cpp: Added.
22937        (WebCore::LocalStorageTask::LocalStorageTask):
22938        (WebCore::LocalStorageTask::performTask):
22939        * storage/LocalStorageTask.h: Added.
22940        (WebCore::LocalStorageTask::):
22941        (WebCore::LocalStorageTask::createImport):
22942        (WebCore::LocalStorageTask::createSync):
22943        (WebCore::LocalStorageTask::createTerminate):
22944
22945        * storage/LocalStorageThread.cpp: Added.
22946        (WebCore::LocalStorageThread::create):
22947        (WebCore::LocalStorageThread::LocalStorageThread):
22948        (WebCore::LocalStorageThread::start):
22949        (WebCore::LocalStorageThread::localStorageThreadStart):
22950        (WebCore::LocalStorageThread::localStorageThread):
22951        (WebCore::LocalStorageThread::scheduleImport):
22952        (WebCore::LocalStorageThread::scheduleSync):
22953        (WebCore::LocalStorageThread::terminate): 
22954        (WebCore::LocalStorageThread::performTerminate):
22955        * storage/LocalStorageThread.h: Added.
22956
229572008-05-06  Anders Carlsson  <andersca@apple.com>
22958
22959        Reviewed by Darin.
22960
22961        Add NPN_PopUpContextMenu.
22962        
22963        * bridge/npapi.h:
22964        * plugins/npfunctions.h:
22965
229662008-05-06  Alp Toker  <alp@nuanti.com>
22967
22968        GTK+ build fix. Add file from r32911 to the build.
22969
22970        * GNUmakefile.am:
22971
229722008-05-06  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
22973
22974        Reviewed by Alp Toker.
22975
22976        http://bugs.webkit.org/show_bug.cgi?id=18906
22977        [GTK] Fix varargs terminator in g_build_filename()
22978
22979        * plugins/gtk/PluginDatabaseGtk.cpp:
22980        (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
22981        terminator.
22982
229832008-05-06  Kevin McCullough  <kmccullough@apple.com>
22984
22985        - Forgot to update localized Strings from previous checkin.
22986
22987        * English.lproj/localizedStrings.js:
22988
229892008-05-06  Chris Fleizach  <cfleizach@apple.com>
22990
22991        Reviewed by Beth Dakin
22992
22993        <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
22994        <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
22995        <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
22996        
22997        Initial prep work to support accessibility objects that do not have renderers. 
22998
22999        * WebCore.xcodeproj/project.pbxproj:
23000        * page/AXObjectCache.cpp:
23001        (WebCore::AXObjectCache::~AXObjectCache):
23002        (WebCore::AXObjectCache::get):
23003        (WebCore::AXObjectCache::remove):
23004        (WebCore::AXObjectCache::getAXID):
23005        (WebCore::AXObjectCache::removeAXID):
23006        (WebCore::AXObjectCache::childrenChanged):
23007        * page/AXObjectCache.h:
23008        (WebCore::AXObjectCache::isIDinUse):
23009        * page/AccessibilityObject.cpp:
23010        (WebCore::AccessibilityObject::AccessibilityObject):
23011        (WebCore::AccessibilityObject::create):
23012        (WebCore::AccessibilityObject::detach):
23013        (WebCore::AccessibilityObject::firstChild):
23014        (WebCore::AccessibilityObject::lastChild):
23015        (WebCore::AccessibilityObject::previousSibling):
23016        (WebCore::AccessibilityObject::nextSibling):
23017        (WebCore::AccessibilityObject::parentObject):
23018        (WebCore::AccessibilityObject::layoutCount):
23019        (WebCore::AccessibilityObject::text):
23020        (WebCore::AccessibilityObject::helpText):
23021        (WebCore::AccessibilityObject::textUnderElement):
23022        (WebCore::AccessibilityObject::isARIAInput):
23023        (WebCore::AccessibilityObject::isARIAControl):
23024        (WebCore::AccessibilityObject::intValue):
23025        (WebCore::AccessibilityObject::stringValue):
23026        (WebCore::AccessibilityObject::title):
23027        (WebCore::AccessibilityObject::accessibilityDescription):
23028        (WebCore::AccessibilityObject::boundingBoxRect):
23029        (WebCore::AccessibilityObject::elementRect):
23030        (WebCore::AccessibilityObject::size):
23031        (WebCore::AccessibilityObject::linkedUIElement):
23032        (WebCore::AccessibilityObject::textLength):
23033        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
23034        (WebCore::AccessibilityObject::selectedText):
23035        (WebCore::AccessibilityObject::accessKey):
23036        (WebCore::AccessibilityObject::selection):
23037        (WebCore::AccessibilityObject::selectedTextRange):
23038        (WebCore::AccessibilityObject::setSelectedTextRange):
23039        (WebCore::AccessibilityObject::url):
23040        (WebCore::AccessibilityObject::setFocused):
23041        (WebCore::AccessibilityObject::setValue):
23042        (WebCore::AccessibilityObject::axObjectCache):
23043        (WebCore::AccessibilityObject::getDocumentLinks):
23044        (WebCore::AccessibilityObject::widget):
23045        (WebCore::AccessibilityObject::widgetForAttachmentView):
23046        (WebCore::AccessibilityObject::anchorElement):
23047        (WebCore::AccessibilityObject::actionElement):
23048        (WebCore::AccessibilityObject::visiblePositionRange):
23049        (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
23050        (WebCore::AccessibilityObject::visiblePositionForIndex):
23051        (WebCore::AccessibilityObject::indexForVisiblePosition):
23052        (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
23053        (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
23054        (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
23055        (WebCore::AccessibilityObject::textMarkerForIndex):
23056        (WebCore::AccessibilityObject::rangeForTextMarkerRange):
23057        (WebCore::AccessibilityObject::indexForTextMarker):
23058        (WebCore::AccessibilityObject::doAXRangeForLine):
23059        (WebCore::AccessibilityObject::doAXRangeForPosition):
23060        (WebCore::AccessibilityObject::doAXRangeForIndex):
23061        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
23062        (WebCore::AccessibilityObject::doAXStringForRange):
23063        (WebCore::AccessibilityObject::doAXBoundsForRange):
23064        (WebCore::AccessibilityObject::doAccessibilityHitTest):
23065        (WebCore::AccessibilityObject::focusedUIElement):
23066        (WebCore::AccessibilityObject::observableObject):
23067        (WebCore::AccessibilityObject::roleValue):
23068        (WebCore::AccessibilityObject::ariaRoleAttribute):
23069        (WebCore::AccessibilityObject::childrenChanged):
23070        (WebCore::AccessibilityObject::addChildren):
23071        (WebCore::AccessibilityObject::removeAXObjectID):
23072        * page/AccessibilityObject.h:
23073        (WebCore::PlainTextRange::PlainTextRange):
23074        (WebCore::PlainTextRange::isNull):
23075        (WebCore::AccessibilityObject::isAccessibilityRenderObject):
23076        (WebCore::AccessibilityObject::isAnchor):
23077        (WebCore::AccessibilityObject::isAttachment):
23078        (WebCore::AccessibilityObject::isHeading):
23079        (WebCore::AccessibilityObject::isLink):
23080        (WebCore::AccessibilityObject::isImage):
23081        (WebCore::AccessibilityObject::isNativeImage):
23082        (WebCore::AccessibilityObject::isImageButton):
23083        (WebCore::AccessibilityObject::isPasswordField):
23084        (WebCore::AccessibilityObject::isTextControl):
23085        (WebCore::AccessibilityObject::isNativeTextControl):
23086        (WebCore::AccessibilityObject::isWebArea):
23087        (WebCore::AccessibilityObject::isCheckboxOrRadio):
23088        (WebCore::AccessibilityObject::isChecked):
23089        (WebCore::AccessibilityObject::isEnabled):
23090        (WebCore::AccessibilityObject::isSelected):
23091        (WebCore::AccessibilityObject::isFocused):
23092        (WebCore::AccessibilityObject::isHovered):
23093        (WebCore::AccessibilityObject::isIndeterminate):
23094        (WebCore::AccessibilityObject::isLoaded):
23095        (WebCore::AccessibilityObject::isMultiSelect):
23096        (WebCore::AccessibilityObject::isOffScreen):
23097        (WebCore::AccessibilityObject::isPressed):
23098        (WebCore::AccessibilityObject::isReadOnly):
23099        (WebCore::AccessibilityObject::isVisited):
23100        (WebCore::AccessibilityObject::canSetFocusAttribute):
23101        (WebCore::AccessibilityObject::canSetTextRangeAttributes):
23102        (WebCore::AccessibilityObject::canSetValueAttribute):
23103        (WebCore::AccessibilityObject::hasIntValue):
23104        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
23105        (WebCore::AccessibilityObject::accessibilityIsIgnored):
23106        (WebCore::AccessibilityObject::children):
23107        (WebCore::AccessibilityObject::hasChildren):
23108        (WebCore::AccessibilityObject::setWrapper):
23109        (WebCore::AccessibilityObject::isDetached):
23110        * page/AccessibilityRenderObject.cpp: Added.
23111        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
23112        (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
23113        (WebCore::AccessibilityRenderObject::create):
23114        (WebCore::AccessibilityRenderObject::detach):
23115        (WebCore::AccessibilityRenderObject::firstChild):
23116        (WebCore::AccessibilityRenderObject::lastChild):
23117        (WebCore::AccessibilityRenderObject::previousSibling):
23118        (WebCore::AccessibilityRenderObject::nextSibling):
23119        (WebCore::AccessibilityRenderObject::parentObject):
23120        (WebCore::AccessibilityRenderObject::isWebArea):
23121        (WebCore::AccessibilityRenderObject::isImageButton):
23122        (WebCore::AccessibilityRenderObject::isAnchor):
23123        (WebCore::AccessibilityRenderObject::isNativeTextControl):
23124        (WebCore::AccessibilityRenderObject::isTextControl):
23125        (WebCore::AccessibilityRenderObject::isNativeImage):
23126        (WebCore::AccessibilityRenderObject::isImage):
23127        (WebCore::AccessibilityRenderObject::isAttachment):
23128        (WebCore::AccessibilityRenderObject::isPasswordField):
23129        (WebCore::AccessibilityRenderObject::isCheckboxOrRadio):
23130        (WebCore::AccessibilityRenderObject::isPressed):
23131        (WebCore::AccessibilityRenderObject::isIndeterminate):
23132        (WebCore::AccessibilityRenderObject::isChecked):
23133        (WebCore::AccessibilityRenderObject::isHovered):
23134        (WebCore::AccessibilityRenderObject::isMultiSelect):
23135        (WebCore::AccessibilityRenderObject::isReadOnly):
23136        (WebCore::AccessibilityRenderObject::isOffScreen):
23137        (WebCore::AccessibilityRenderObject::headingLevel):
23138        (WebCore::AccessibilityRenderObject::isHeading):
23139        (WebCore::AccessibilityRenderObject::isLink):
23140        (WebCore::AccessibilityRenderObject::anchorElement):
23141        (WebCore::AccessibilityRenderObject::actionElement):
23142        (WebCore::AccessibilityRenderObject::mouseButtonListener):
23143        (WebCore::AccessibilityRenderObject::helpText):
23144        (WebCore::AccessibilityRenderObject::textUnderElement):
23145        (WebCore::AccessibilityRenderObject::hasIntValue):
23146        (WebCore::AccessibilityRenderObject::intValue):
23147        (WebCore::AccessibilityRenderObject::stringValue):
23148        (WebCore::labelForElement):
23149        (WebCore::AccessibilityRenderObject::title):
23150        (WebCore::AccessibilityRenderObject::accessibilityDescription):
23151        (WebCore::AccessibilityRenderObject::boundingBoxRect):
23152        (WebCore::AccessibilityRenderObject::elementRect):
23153        (WebCore::AccessibilityRenderObject::size):
23154        (WebCore::AccessibilityRenderObject::linkedUIElement):
23155        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
23156        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
23157        (WebCore::AccessibilityRenderObject::isLoaded):
23158        (WebCore::AccessibilityRenderObject::layoutCount):
23159        (WebCore::AccessibilityRenderObject::text):
23160        (WebCore::AccessibilityRenderObject::textLength):
23161        (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
23162        (WebCore::AccessibilityRenderObject::selectedText):
23163        (WebCore::AccessibilityRenderObject::accessKey):
23164        (WebCore::AccessibilityRenderObject::selection):
23165        (WebCore::AccessibilityRenderObject::selectedTextRange):
23166        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
23167        (WebCore::AccessibilityRenderObject::url):
23168        (WebCore::AccessibilityRenderObject::isVisited):
23169        (WebCore::AccessibilityRenderObject::isSelected):
23170        (WebCore::AccessibilityRenderObject::isFocused):
23171        (WebCore::AccessibilityRenderObject::setFocused):
23172        (WebCore::AccessibilityRenderObject::setValue):
23173        (WebCore::AccessibilityRenderObject::isEnabled):
23174        (WebCore::AccessibilityRenderObject::topRenderer):
23175        (WebCore::AccessibilityRenderObject::widget):
23176        (WebCore::AccessibilityRenderObject::axObjectCache):
23177        (WebCore::AccessibilityRenderObject::getDocumentLinks):
23178        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
23179        (WebCore::AccessibilityRenderObject::frameViewIfRenderView):
23180        (WebCore::AccessibilityRenderObject::visiblePositionRange):
23181        (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
23182        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
23183        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
23184        (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange):
23185        (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
23186        (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition):
23187        (WebCore::AccessibilityRenderObject::textMarkerForIndex):
23188        (WebCore::AccessibilityRenderObject::indexForTextMarker):
23189        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
23190        (WebCore::AccessibilityRenderObject::doAXRangeForIndex):
23191        (WebCore::AccessibilityRenderObject::doAXStringForRange):
23192        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
23193        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
23194        (WebCore::AccessibilityRenderObject::focusedUIElement):
23195        (WebCore::AccessibilityRenderObject::observableObject):
23196        (WebCore::createARIARoleMap):
23197        (WebCore::RoleEntry::):
23198        (WebCore::ariaRoleToWebCoreRole):
23199        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
23200        (WebCore::AccessibilityRenderObject::roleValue):
23201        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23202        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
23203        (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes):
23204        (WebCore::AccessibilityRenderObject::childrenChanged):
23205        (WebCore::AccessibilityRenderObject::children):
23206        (WebCore::AccessibilityRenderObject::addChildren):
23207        (WebCore::AccessibilityRenderObject::removeAXObjectID):
23208        (WebCore::AccessibilityRenderObject::actionVerb):
23209        * page/AccessibilityRenderObject.h: Added.
23210        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
23211        (WebCore::AccessibilityRenderObject::areaElement):
23212        (WebCore::AccessibilityRenderObject::setRenderer):
23213        (WebCore::AccessibilityRenderObject::renderer):
23214        (WebCore::AccessibilityRenderObject::setRenderObject):
23215        (WebCore::AccessibilityRenderObject::isDetached):
23216        * page/mac/AXObjectCacheMac.mm:
23217        (WebCore::AXObjectCache::detachWrapper):
23218        (WebCore::AXObjectCache::selectedChildrenChanged):
23219        (WebCore::AXObjectCache::postNotification):
23220        * page/mac/AccessibilityObjectWrapper.mm:
23221        (textMarkerForVisiblePosition):
23222        (CreateCGColorIfDifferent):
23223        (AXAttributeStringSetHeadingLevel):
23224        (AXLinkElementForNode):
23225        (AXAttributeStringSetElement):
23226        (AXAttributedStringAppendText):
23227        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23228        (-[AccessibilityObjectWrapper documentFrameView:]):
23229        (-[AccessibilityObjectWrapper position]):
23230        (RoleEntry::):
23231        (-[AccessibilityObjectWrapper roleDescription]):
23232        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23233        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
23234        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
23235        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
23236        (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
23237        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
23238        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
23239
232402008-05-06  Jonathan Haas  <myrdred@gmail.com>
23241
23242        Reviewed by Rob Buis.
23243
23244        https://bugs.webkit.org/show_bug.cgi?id=18859\
23245        Prevented SVGRootInlineBox from static_casting a
23246        node to a class it doesn't inherit
23247        
23248        * rendering/SVGRootInlineBox.cpp:
23249        (WebCore::SVGRootInlineBox::buildTextChunks):
23250
232512008-05-06  Brady Eidson  <beidson@apple.com>
23252
23253        Reviewed by Darin Adler
23254
23255        Preparation for upcoming work making LocalStorage persistent.
23256
23257        When the application terminates, all pending local storage writes need to be
23258        sync'ed out to disk.
23259        This works n combination with platform specific code in WebKit that calls it.
23260
23261        * WebCore.base.exp:
23262
23263        * page/PageGroup.cpp:
23264        (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
23265        * page/PageGroup.h:
23266
23267        * storage/LocalStorage.cpp:
23268        (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
23269          local storage thread in the future.
23270        * storage/LocalStorage.h:
23271
232722008-05-06  Brady Eidson  <beidson@apple.com>
23273
23274        Rubberstamped by David Kilzer
23275
23276        * WebCore.base.exp:  Sort this mess!
23277
232782008-05-05  Mark Rowe  <mrowe@apple.com>
23279
23280        Reviewed by Dan Bernstein.
23281
23282        Fix 60 crashes seen on the buildbots that were misreported as hangs.
23283
23284        * dom/Document.cpp:
23285        (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
23286        (WebCore::Document::nodeWillBeRemoved): Ditto.
23287        (WebCore::Document::textInserted): Ditto.
23288        (WebCore::Document::textNodesMerged): Ditto.
23289        (WebCore::Document::textRemoved): Ditto.
23290
232912008-05-05  Brady Eidson  <beidson@apple.com>
23292
23293        Reviewed by Mitz Pettel RTL
23294
23295        Preparation for upcoming work making LocalStorage persistent.
23296
23297        The other half of the StorageMap::importItem() addition.
23298
23299        * storage/StorageArea.cpp:
23300        (WebCore::StorageArea::importItem):
23301        * storage/StorageArea.h:
23302
233032008-05-05  Brady Eidson  <beidson@apple.com>
23304
23305        Reviewed by Mitz Pettel RTL
23306
23307        Preparation for upcoming work making LocalStorage persistent.
23308
23309        - Create the LocalStorage object for a PageGroup the moment the first Page is added to it
23310          The Settings of the first Page define what persistent path the LocalStorage will use
23311        - Add a Frame argument for the LocalStorageArea request - this will allow a client object
23312          to be queried before the LocalStorageArea is established
23313
23314        * page/DOMWindow.cpp:
23315        (WebCore::DOMWindow::localStorage):
23316
23317        * page/PageGroup.cpp:
23318        (WebCore::PageGroup::addPage):
23319        (WebCore::PageGroup::localStorage):
23320
23321        * storage/LocalStorage.cpp:
23322        (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument.  Deep copy
23323          the path as it will be used from another thread.
23324        (WebCore::LocalStorage::storageArea):
23325        * storage/LocalStorage.h:
23326        (WebCore::LocalStorage::create):
23327
233282008-05-05  Brady Eidson  <beidson@apple.com>
23329
23330        Reviewed by Mitz Pettel RTL
23331
23332        Preparation for upcoming work making LocalStorage persistent.
23333
23334        StorageMaps normally have copy-on-write semantics to help support SessionStorage.
23335        For LocalStorage, we never want this behavior.  When we forcefully import items into 
23336        a StorageMap from the LocalStorage background thread, this new import method will be used.
23337
23338        * storage/StorageMap.cpp:
23339        (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying
23340          about copy-on-write.
23341        * storage/StorageMap.h:
23342
233432008-05-05  Kevin McCullough  <kmccullough@apple.com>
23344
23345        Reviewed by Tim.
23346
23347        -<rdar://problem/5770054> JavaScript profiler (10928)
23348        -Begininings of a UI for the Profiler in the WebInspector.
23349
23350        * English.lproj/InspectorLocalizedStrings.js: Add new strings to be
23351        localized.
23352        * page/inspector/DatabasesPanel.js: Changed the name of the Databae's
23353        results table to be more generic as it is now also used by the profiler.
23354        * page/inspector/Images/glossySelected.png: Added.
23355        * page/inspector/Images/profilesIcon.png: Added.
23356        * page/inspector/Images/treeUpTriangleBlack.png: Added.
23357        * page/inspector/Images/treeUpTriangleWhite.png: Added.
23358        * page/inspector/ProfileView.js: Added. Sets up the header of the table.
23359        * page/inspector/ProfilesPanel.js: Added.
23360        * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the
23361        profiler's content.
23362        * page/inspector/inspector.css: Change database-result-table to be more
23363        generic as well as add the styles needed by the profiler.
23364        * page/inspector/inspector.html: Add profiler support.
23365
233662008-05-05  Brady Eidson  <beidson@apple.com>
23367
23368        Change by Darin, reviewed by Brady
23369
23370        Small efficiency improvement Darin just spotted
23371
23372        * storage/StorageMap.cpp:
23373        (WebCore::StorageMap::setItem):
23374
233752008-05-05  Antti Koivisto  <antti@apple.com>
23376
23377        Reviewed by Anders.
23378
23379        Fix https://bugs.webkit.org/show_bug.cgi?id=18899
23380        Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup
23381
23382        * loader/loader.cpp:
23383        (WebCore::Loader::Loader):
23384
233852008-05-05  Brady Eidson  <beidson@apple.com>
23386
23387        Reviewed by Sam Weinig
23388
23389        Fix a bug in StorageMap iterator tracking where the iterator was not successfully
23390        invalidated at an appropriate time.
23391
23392        * storage/StorageMap.cpp:
23393        (WebCore::StorageMap::setItem): ALWAYS invalidate it here
23394
233952008-05-05  Justin Garcia  <justin.garcia@apple.com>
23396
23397        Reviewed by Darin.
23398
23399        <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
23400        
23401        Disable Range mutation on document modifications in Tiger and Leopard Mail,
23402        since they do their own mutation which interferes with ours.
23403
23404        * WebCore.base.exp:
23405        * dom/Document.cpp:
23406        (WebCore::Document::nodeChildrenChanged):
23407        (WebCore::Document::nodeWillBeRemoved):
23408        (WebCore::Document::textInserted):
23409        (WebCore::Document::textRemoved):
23410        (WebCore::Document::textNodesMerged):
23411        (WebCore::Document::textNodeSplit):
23412        * page/Settings.cpp:
23413        (WebCore::Settings::Settings):
23414        (WebCore::Settings::disableRangeMutationForOldAppleMail):
23415        * page/Settings.h:
23416        (WebCore::Settings::rangeMutationDisabledForOldAppleMail):
23417
234182008-05-05  Sam Weinig  <sam@webkit.org>
23419
23420        Reviewed by Tim Hatcher.
23421
23422        Make the Inspector's localizable strings file match the format used by Dashboard widgets.
23423
23424        * English.lproj/InspectorLocalizedStrings.js: Removed.
23425        * English.lproj/localizedStrings.js: Added.
23426        * WebCore.vcproj/WebCore.vcproj:
23427        * WebCore.xcodeproj/project.pbxproj:
23428        * page/inspector/inspector.js:
23429
234302008-05-05  Steve Falkenburg  <sfalken@apple.com>
23431
23432        Add support for default button appearance.
23433        Add WebCore setting for app chrome mode.
23434        
23435        Reviewed by Dave Hyatt.
23436
23437        * css/CSSPrimitiveValueMappings.h:
23438        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
23439        * css/CSSValueKeywords.in: Added default-button value keyword.
23440        * page/Settings.cpp:
23441        (WebCore::Settings::Settings):
23442        (WebCore::Settings::setApplicationChromeMode):
23443        * page/Settings.h:
23444        (WebCore::Settings::inApplicationChromeMode):
23445        * rendering/RenderButton.cpp:
23446        (WebCore::RenderButton::RenderButton):
23447        (WebCore::RenderButton::setStyle):
23448        (WebCore::RenderButton::timerFired):
23449        * rendering/RenderButton.h:
23450        * rendering/RenderStyle.h:
23451        * rendering/RenderTheme.cpp:
23452        (WebCore::RenderTheme::adjustStyle):
23453        (WebCore::RenderTheme::paint):
23454        (WebCore::RenderTheme::paintBorderOnly):
23455        (WebCore::RenderTheme::paintDecorations):
23456        (WebCore::RenderTheme::isControlStyled):
23457        (WebCore::RenderTheme::isDefault):
23458        * rendering/RenderTheme.h:
23459        * rendering/RenderThemeSafari.cpp:
23460        (WebCore::RenderThemeSafari::determineState):
23461        (WebCore::RenderThemeSafari::adjustRepaintRect):
23462        (WebCore::RenderThemeSafari::adjustButtonStyle):
23463        * rendering/RenderThemeWin.cpp:
23464        (WebCore::RenderThemeWin::supportsFocus):
23465
234662008-05-05  Alexey Proskuryakov  <ap@webkit.org>
23467
23468        Reviewed by Darin.
23469
23470        https://bugs.webkit.org/show_bug.cgi?id=11947
23471        nbsps should be converted to entities in innerHTML
23472
23473        https://bugs.webkit.org/show_bug.cgi?id=18769
23474        replacing &nbsp; with spaces using regexp creates inconsistent result
23475
23476        Tests: fast/dom/innerHTML-nbsp.html
23477               fast/dom/innerHTML-escaping-attribute.html
23478
23479        * editing/markup.cpp:
23480        (WebCore::appendAttributeValue):
23481        (WebCore::escapeContentText):
23482        (WebCore::appendEscapedContent):
23483        Added U+00a0/nbsp to the list of characters to escape.
23484
234852008-05-05  David Hyatt  <hyatt@apple.com>
23486
23487        Fix for https://bugs.webkit.org/show_bug.cgi?id=18821.  Fix some bugs in both get/PutImageData of <canvas>.
23488
23489        Reviewed by Eric
23490
23491        New tests added in fast/canvas/
23492
23493        * platform/graphics/cg/ImageBufferCG.cpp:
23494        (WebCore::ImageBuffer::getImageData):
23495        (WebCore::ImageBuffer::putImageData):
23496
234972008-05-05  Dan Bernstein  <mitz@apple.com>
23498
23499        Reviewed by Dave Hyatt.
23500
23501        - fix https://bugs.webkit.org/show_bug.cgi?id=18809
23502          Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
23503
23504        Test: fast/block/basic/adding-near-anonymous-block.html
23505
23506        * rendering/RenderBlock.cpp:
23507        (WebCore::RenderBlock::addChildToFlow): When adding a floating or
23508        positioned object, if it follows an anonymous block, put it
23509        inside the anonymous block. When adding an inline, check if it comes
23510        after an anonymous block and put it in the anonymous block.
23511
235122008-05-05  Antti Koivisto  <antti@apple.com>
23513
23514        Reviewed by Darin.
23515
23516        Speculative fix for <rdar://problem/5906790> 
23517        Crash in Loader::servePendingRequests() due to hash table being modified during iteration
23518        
23519        I don't know how to reproduce this. It would require the load to fail (or succeed)
23520        synchronously, something that should not usually happen.
23521
23522        * loader/loader.cpp:
23523        (WebCore::Loader::Loader):
23524        (WebCore::Loader::load):
23525        (WebCore::Loader::servePendingRequests):
23526        (WebCore::Loader::cancelRequests):
23527        (WebCore::Loader::Host::Host):
23528        * loader/loader.h:
23529        (WebCore::Loader::Host::name):
23530
235312008-05-05  Ariya Hidayat  <ariya.hidayat@trolltech.com>
23532
23533        Reviewed by Simon.
23534
23535        Disable SVG As Image support in the Qt port again, as it
23536        requires more work. Right now the chrome client is
23537        assumed to be a ChromeClientQt, which the SVG Image support
23538        changes.
23539
23540        * WebCore.pro:
23541
235422008-05-02  Antti Koivisto  <antti@apple.com>
23543
23544        Reviewed by Mitz.
23545
23546        Fix <rdar://problem/5840475>
23547        CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject
23548        
23549        Non-block objects can have transforms so containingBlock() could end up returning null. 
23550        RenderObject::container() needs to match.
23551
23552        Test: fast/transforms/container-transform-crash.html
23553
23554        * rendering/RenderObject.cpp:
23555        (WebCore::RenderObject::containingBlock):
23556        (WebCore::RenderObject::container):
23557
235582008-05-04  Sam Weinig  <sam@webkit.org>
23559
23560        Roll out r32851.  It broke tiger builds.
23561
23562        * bindings/objc/DOMUtility.mm:
23563        (KJS::createDOMWrapper):
23564        (WebCore::createDOMWrapper):
23565
235662008-05-04  Dan Bernstein  <mitz@apple.com>
23567
23568        Reviewed by Sam Weinig.
23569
23570        - fix https://bugs.webkit.org/show_bug.cgi?id=18879
23571          <rdar://problem/5909481> Reproducible crash when removing a gradient
23572
23573        Test: fast/gradients/crash-on-remove.html
23574
23575        * css/CSSImageGeneratorValue.cpp:
23576        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
23577        (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the
23578        value.
23579        (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref()
23580        the value.
23581
235822008-05-03  Sam Weinig  <sam@webkit.org>
23583
23584        Reviewed by Mark Rowe.
23585
23586        Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
23587        the WebCore namespace now that the required compilers don't freak out about
23588        this anymore.
23589
23590        * bindings/objc/DOMUtility.mm:
23591        (WebCore::createDOMWrapper):
23592
235932008-05-03  Rob Buis  <buis@kde.org>
23594
23595        Reviewed by Sam.
23596
23597        https://bugs.webkit.org/show_bug.cgi?id=18652
23598        onchange events don't seem to fire for input[type=range] controls.
23599
23600        Fire changeEvent when clicking the slider outside the current
23601        thumb position.
23602
23603        * rendering/RenderSlider.cpp:
23604        (WebCore::RenderSlider::setValueForPosition):
23605
236062008-05-03  Sam Weinig  <sam@webkit.org>
23607
23608        Reviewed by Mark Rowe.
23609
23610        Remove unused enums from JSDOMWindowBase.
23611
23612        * bindings/js/JSDOMWindowBase.h:
23613        (WebCore::JSDOMWindowBase::):
23614
236152008-05-03  Sam Weinig  <sam@webkit.org>
23616
23617        Real build fix.
23618
23619        * WebCore.xcodeproj/project.pbxproj:
23620
236212008-05-03  Sam Weinig  <sam@webkit.org>
23622
23623        Build fix.
23624
23625        * bindings/js/kjs_events.cpp:
23626        (WebCore::JSAbstractEventListener::handleEvent):
23627
236282008-05-03  Sam Weinig  <sam@webkit.org>
23629
23630        Rubber-stamped by Geoffrey Garen.
23631
23632        Rename JSDOMWindowWrapper to JSDOMWindowShell.
23633
236342008-05-01  Rob Buis  <buis@kde.org>
23635
23636        Reviewed by Eric.
23637
23638        https://bugs.webkit.org/show_bug.cgi?id=18568
23639        background: currentColor fails
23640
23641        Implement currentColor from CSS3 color module.
23642
23643        Tests: fast/css/background-currentcolor.html
23644
23645        * css/CSSParser.cpp:
23646        (WebCore::CSSParser::parseValue):
23647        (WebCore::CSSParser::parseBackgroundColor):
23648        * css/CSSStyleSelector.cpp:
23649        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
23650        * css/CSSValueKeywords.in:
23651        * css/SVGCSSValueKeywords.in:
23652
236532008-05-02  Anders Carlsson  <andersca@apple.com>
23654
23655        Reviewed by Mark.
23656
23657        Turns out calling locationInWindow on keyboard events will not throw an exception,
23658        but the point returned is completely bogus, so remove coordinates from the keyboard event struct.
23659        
23660        * bridge/npapi.h:
23661        (_NPCocoaEvent::):
23662
236632008-05-02  Benjamin Otte  <otte@gnome.org>
23664
23665        Reviewed by Alp Toker.
23666
23667        http://bugs.webkit.org/show_bug.cgi?id=18856
23668        [GTK] variable initialization missing
23669
23670        Not initializing the m_needsXEmbed variable could have very funny
23671        results. Most often those results would be crashes.
23672
23673        * plugins/PluginView.cpp:
23674        (WebCore::PluginView::PluginView):
23675
236762008-05-02  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
23677
23678        Reviewed by Eric.
23679
23680        https://bugs.webkit.org/show_bug.cgi?id=18811
23681        Enable dashboard and offline web apps in autotools
23682
23683        * GNUmakefile.am:
23684
236852008-05-02  Anders Carlsson  <andersca@apple.com>
23686
23687        Reviewed by Sam.
23688
23689        Name the event union so it will work in plain C.
23690
23691        * bridge/npapi.h:
23692        (_NPCocoaEvent::):
23693
236942008-05-02  Dan Bernstein  <mitz@apple.com>
23695
23696        Reviewed by John Sullivan.
23697
23698        - render text shadows with zero offset, as the shadow can be seen behind
23699          the text if the text is translucent
23700
23701        Test: fast/text/shadow-no-blur.html
23702
23703        * platform/graphics/mac/FontMac.mm:
23704        (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the
23705        shadow offset. Since isEmpty() is also true for sizes that have one or
23706        more non-positive components, this also ensures that subpixel
23707        antialiasing of the text is maintained with shadows in all directions.
23708        (WebCore::Font::drawGlyphs): Ditto.
23709        * platform/graphics/win/FontCGWin.cpp:
23710        (WebCore::Font::drawGlyphs): Ditto.
23711
237122008-05-02  Ariya Hidayat  <ariya.hidayat@trolltech.com>
23713
23714        Reviewed by Simon.
23715
23716        Build the Qt port with SVG Use and As Image support.
23717
23718        * WebCore.pro:
23719
237202008-05-02  Ariya Hidayat  <ariya.hidayat@trolltech.com>
23721
23722        Reviewed by Simon.
23723
23724        Fixed potential crash on SVG animation (added more checks to the assert).
23725
23726        * svg/SVGUseElement.cpp:
23727        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
23728
237292008-05-02  Alexey Proskuryakov  <ap@webkit.org>
23730
23731        Rubber-stamped by John Sullivan.
23732
23733        Fix a debug-only crash in layout tests.
23734
23735        * loader/CachedResource.cpp:
23736        (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
23737
237382008-05-02  Simon Hausmann  <shausman@trolltech.com>
23739
23740        Fix the Qt build on Windows when Phonon is enabled for Audio/Video support
23741
23742        * WebCore.pro: Don't use QT += phonon as it prepends the phonon
23743        includes to the include paths. Instead add it manually and make sure
23744        phonon comes last, to avoid the conflict of phonon's path.h with
23745        WebCore's Path.h on case-insensitive filesystems.
23746
237472008-05-02  Simon Hausmann  <hausmann@webkit.org>
23748
23749        Fix the Qt build. Add ExecState where necessary.
23750
23751        * bridge/qt/qt_class.cpp:
23752        (KJS::Bindings::QtClass::fallbackObject):
23753        * bridge/qt/qt_instance.cpp:
23754        (KJS::Bindings::QtRuntimeObjectImp::construct):
23755        (KJS::Bindings::QtInstance::getRuntimeObject):
23756        (KJS::Bindings::QtInstance::invokeDefaultMethod):
23757        (KJS::Bindings::QtInstance::defaultValue):
23758        (KJS::Bindings::QtInstance::stringValue):
23759        * bridge/qt/qt_instance.h:
23760        (KJS::Bindings::QtInstance::getObject):
23761        * bridge/qt/qt_runtime.cpp:
23762        (KJS::Bindings::convertValueToQVariant):
23763        (KJS::Bindings::convertQVariantToValue):
23764        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
23765        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
23766        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
23767        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
23768        (KJS::Bindings::QtConnectionObject::execute):
23769        * bridge/runtime.cpp:
23770        (KJS::Bindings::Instance::createRuntimeObject):
23771
237722008-05-02  Simon Hausmann  <shausman@trolltech.com>
23773
23774        Fix the Qt/Win build.
23775
23776        * WebCore.pro:
23777        * platform/qt/TemporaryLinkStubs.cpp:
23778        (PluginDatabase::getPluginPathsInDirectories):
23779        (PluginDatabase::defaultPluginDirectories):
23780        (PluginDatabase::isPreferredPluginDirectory):
23781        (PluginView::setNPWindowRect):
23782        (PluginView::userAgent):
23783        (PluginView::invalidateRect):
23784        (PluginView::invalidateRegion):
23785        (PluginView::forceRedraw):
23786        (PluginView::setFocus):
23787        (PluginView::show):
23788        (PluginView::hide):
23789        (PluginView::paint):
23790        (PluginView::setParent):
23791        (PluginView::attachToWindow):
23792        (PluginView::detachFromWindow):
23793        (PluginView::updateWindow):
23794        (PluginView::handleKeyboardEvent):
23795        (PluginView::handleMouseEvent):
23796        (PluginView::handlePostReadFile):
23797        (PluginView::getValue):
23798        * plugins/qt/PluginPackageQt.cpp:
23799        (WebCore::PluginPackage::load):
23800
238012008-05-02  Alexey Proskuryakov  <ap@webkit.org>
23802
23803        Reviewed by Geoffrey Garen.
23804
23805        https://bugs.webkit.org/show_bug.cgi?id=18826
23806        Make JavaScript heap per-thread
23807
23808        This is mostly adaptation for JSC changes. The most prominent one is that JSObject
23809        allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is
23810        OK to pass either the current or global one, whichever is faster to get hold of, as both
23811        have the same reference to a per-thread JS heap.
23812
23813        * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it.
23814        JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are
23815        constructed before any ExecState comes into existence, so they use Heap::threadHeap()
23816        directly for allocation.
23817
23818        * bindings/js/JSDOMWindowWrapper.cpp:
23819        (WebCore::JSDOMWindowWrapper::operator new):
23820        * bindings/js/JSDOMWindowWrapper.h:
23821        Added a custom operator new to use per-thread heap when there's no ExecState around.
23822
23823        * bindings/js/JSAudioConstructor.cpp:
23824        (WebCore::JSAudioConstructor::JSAudioConstructor):
23825        * bindings/js/JSCSSRuleCustom.cpp:
23826        (WebCore::toJS):
23827        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
23828        (WebCore::JSCSSStyleDeclaration::nameGetter):
23829        * bindings/js/JSCSSValueCustom.cpp:
23830        (WebCore::toJS):
23831        * bindings/js/JSCanvasPixelArrayCustom.cpp:
23832        (WebCore::JSCanvasPixelArray::indexGetter):
23833        (WebCore::toJS):
23834        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
23835        (WebCore::toJS):
23836        * bindings/js/JSClipboardCustom.cpp:
23837        (WebCore::JSClipboard::types):
23838        (WebCore::JSClipboard::getData):
23839        * bindings/js/JSCustomXPathNSResolver.cpp:
23840        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
23841        * bindings/js/JSDOMApplicationCacheCustom.cpp:
23842        (WebCore::JSDOMApplicationCache::addEventListener):
23843        (WebCore::JSDOMApplicationCache::removeEventListener):
23844        (WebCore::JSDOMApplicationCache::setOnchecking):
23845        (WebCore::JSDOMApplicationCache::setOnerror):
23846        (WebCore::JSDOMApplicationCache::setOnnoupdate):
23847        (WebCore::JSDOMApplicationCache::setOndownloading):
23848        (WebCore::JSDOMApplicationCache::setOnprogress):
23849        (WebCore::JSDOMApplicationCache::setOnupdateready):
23850        (WebCore::JSDOMApplicationCache::setOncached):
23851        * bindings/js/JSDOMWindowBase.cpp:
23852        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
23853        (WebCore::JSDOMWindowBase::getValueProperty):
23854        (WebCore::JSDOMWindowBase::setListener):
23855        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
23856        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
23857        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
23858        (WebCore::windowProtoFuncAToB):
23859        (WebCore::windowProtoFuncBToA):
23860        (WebCore::windowProtoFuncSetTimeout):
23861        (WebCore::windowProtoFuncSetInterval):
23862        (WebCore::windowProtoFuncAddEventListener):
23863        * bindings/js/JSDOMWindowBase.h:
23864        * bindings/js/JSDocumentCustom.cpp:
23865        (WebCore::toJS):
23866        * bindings/js/JSEventCustom.cpp:
23867        (WebCore::toJS):
23868        * bindings/js/JSEventTargetBase.cpp:
23869        (WebCore::jsEventTargetAddEventListener):
23870        * bindings/js/JSEventTargetBase.h:
23871        (WebCore::JSEventTargetPrototype::self):
23872        * bindings/js/JSEventTargetNode.cpp:
23873        (WebCore::JSEventTargetNode::setListener):
23874        * bindings/js/JSHTMLCollectionCustom.cpp:
23875        (WebCore::getNamedItems):
23876        (WebCore::toJS):
23877        * bindings/js/JSHTMLElementWrapperFactory.cpp:
23878        (WebCore::createJSHTMLWrapper):
23879        * bindings/js/JSHTMLFormElementCustom.cpp:
23880        (WebCore::JSHTMLFormElement::nameGetter):
23881        * bindings/js/JSHTMLInputElementBase.cpp:
23882        (WebCore::JSHTMLInputElementBase::getValueProperty):
23883        * bindings/js/JSHTMLOptionElementConstructor.cpp:
23884        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
23885        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
23886        (WebCore::JSHTMLOptionsCollection::length):
23887        * bindings/js/JSInspectedObjectWrapper.cpp:
23888        (WebCore::JSInspectedObjectWrapper::wrap):
23889        * bindings/js/JSInspectorCallbackWrapper.cpp:
23890        (WebCore::JSInspectorCallbackWrapper::wrap):
23891        * bindings/js/JSLocationCustom.cpp:
23892        (WebCore::JSLocation::toString):
23893        * bindings/js/JSNamedNodesCollection.cpp:
23894        (WebCore::JSNamedNodesCollection::lengthGetter):
23895        * bindings/js/JSNavigatorCustom.cpp:
23896        (WebCore::JSNavigator::appVersion):
23897        * bindings/js/JSNodeCustom.cpp:
23898        (WebCore::toJS):
23899        * bindings/js/JSNodeFilterCustom.cpp:
23900        (WebCore::JSNodeFilter::acceptNode):
23901        * bindings/js/JSRGBColor.cpp:
23902        (WebCore::getJSRGBColor):
23903        * bindings/js/JSSQLResultSetRowListCustom.cpp:
23904        (WebCore::JSSQLResultSetRowList::item):
23905        * bindings/js/JSSVGElementWrapperFactory.cpp:
23906        (WebCore::createJSSVGWrapper):
23907        * bindings/js/JSSVGLazyEventListener.cpp:
23908        (WebCore::JSSVGLazyEventListener::eventParameterName):
23909        * bindings/js/JSStorageCustom.cpp:
23910        (WebCore::JSStorage::nameGetter):
23911        * bindings/js/JSStyleSheetCustom.cpp:
23912        (WebCore::toJS):
23913        * bindings/js/JSXMLHttpRequestConstructor.cpp:
23914        (WebCore::JSXMLHttpRequestConstructor::construct):
23915        * bindings/js/JSXMLHttpRequestCustom.cpp:
23916        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
23917        (WebCore::JSXMLHttpRequest::setOnload):
23918        (WebCore::JSXMLHttpRequest::setOnprogress):
23919        (WebCore::JSXMLHttpRequest::getResponseHeader):
23920        (WebCore::JSXMLHttpRequest::addEventListener):
23921        (WebCore::JSXMLHttpRequest::removeEventListener):
23922        * bindings/js/JSXSLTProcessor.cpp:
23923        (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter):
23924        (WebCore::JSXSLTProcessorConstructor::construct):
23925        * bindings/js/kjs_binding.cpp:
23926        (WebCore::jsStringOrNull):
23927        (WebCore::jsOwnedStringOrNull):
23928        (WebCore::jsStringOrUndefined):
23929        (WebCore::jsStringOrFalse):
23930        (WebCore::nonCachingStaticFunctionGetter):
23931        (WebCore::objectToStringFunctionGetter):
23932        * bindings/js/kjs_binding.h:
23933        (WebCore::DOMObject::DOMObject):
23934        (WebCore::cacheDOMObject):
23935        (WebCore::cacheSVGDOMObject):
23936        * bindings/js/kjs_events.cpp:
23937        (WebCore::JSLazyEventListener::eventParameterName):
23938        (WebCore::JSLazyEventListener::parseCode):
23939        * bindings/js/kjs_html.cpp:
23940        (WebCore::getRuntimeObject):
23941        * bridge/c/c_instance.cpp:
23942        (KJS::Bindings::CInstance::defaultValue):
23943        (KJS::Bindings::CInstance::stringValue):
23944        (KJS::Bindings::CInstance::numberValue):
23945        (KJS::Bindings::CInstance::valueOf):
23946        * bridge/c/c_instance.h:
23947        * bridge/c/c_utility.cpp:
23948        (KJS::Bindings::convertNPVariantToValue):
23949        * bridge/jni/jni_instance.cpp:
23950        (JavaInstance::stringValue):
23951        (JavaInstance::numberValue):
23952        (JavaInstance::invokeMethod):
23953        (JavaInstance::defaultValue):
23954        (JavaInstance::valueOf):
23955        * bridge/jni/jni_instance.h:
23956        * bridge/jni/jni_jsobject.h:
23957        * bridge/jni/jni_jsobject.mm:
23958        (JavaJSObject::call):
23959        (JavaJSObject::setMember):
23960        (JavaJSObject::setSlot):
23961        (JavaJSObject::convertJObjectToValue):
23962        (JavaJSObject::getListFromJArray):
23963        * bridge/jni/jni_objc.mm:
23964        (KJS::Bindings::dispatchJNICall):
23965        * bridge/jni/jni_runtime.cpp:
23966        (JavaArray::convertJObjectToArray):
23967        (JavaField::dispatchValueFromInstance):
23968        (JavaField::valueFromInstance):
23969        (JavaField::dispatchSetValueToInstance):
23970        (JavaArray::valueAt):
23971        * bridge/jni/jni_utility.h:
23972        * bridge/objc/objc_class.mm:
23973        (KJS::Bindings::ObjcClass::fallbackObject):
23974        * bridge/objc/objc_instance.h:
23975        * bridge/objc/objc_instance.mm:
23976        (ObjcInstance::defaultValue):
23977        (ObjcInstance::stringValue):
23978        (ObjcInstance::numberValue):
23979        (ObjcInstance::valueOf):
23980        * bridge/objc/objc_utility.h:
23981        * bridge/objc/objc_utility.mm:
23982        (KJS::Bindings::convertNSStringToString):
23983        (KJS::Bindings::convertObjcValueToValue):
23984        * bridge/runtime.cpp:
23985        (KJS::Bindings::Instance::createRuntimeObject):
23986        * bridge/runtime.h:
23987        (KJS::Bindings::Instance::valueOf):
23988        * bridge/runtime_array.cpp:
23989        (RuntimeArray::lengthGetter):
23990        * bridge/runtime_method.cpp:
23991        (RuntimeMethod::lengthGetter):
23992        * bridge/runtime_object.cpp:
23993        (RuntimeObjectImp::RuntimeObjectImp):
23994        (RuntimeObjectImp::methodGetter):
23995        (RuntimeObjectImp::defaultValue):
23996        * xml/XMLHttpRequest.cpp:
23997        (WebCore::XMLHttpRequest::dropProtection):
23998        * bindings/js/GCController.cpp:
23999        (WebCore::GCController::gcTimerFired):
24000        (WebCore::GCController::garbageCollectNow):
24001        Adapted to JSC changes. Pass ExecState to functions that now need it. Removed
24002        collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static
24003        Collector methods with calls to per-thread Heap ones.
24004
240052008-05-02  Ariya Hidayat  <ariya.hidayat@trolltech.com>
24006
24007        Reviewed by Simon.
24008
24009        Build the Qt port with SVG Animation support.
24010
24011        * WebCore.pro:
24012
240132008-05-02  Simon Hausmann  <hausmann@webkit.org>
24014
24015        Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
24016        with different signatures.
24017
24018        * plugins/npfunctions.h:
24019
240202008-05-01  Robin Dunn  <robin@alldunn.com>
24021
24022        Reviewed by Kevin Ollivier.
24023
24024        Explicitly set the pen style in wx port to keep pen style changes from 
24025        affecting URL underline or text field drawing.
24026        
24027        https://bugs.webkit.org/show_bug.cgi?id=18775
24028
24029        * platform/graphics/wx/GraphicsContextWx.cpp:
24030        (WebCore::GraphicsContext::fillRect):
24031        (WebCore::GraphicsContext::drawLineForText):
24032        * platform/wx/RenderThemeWx.cpp:
24033        (WebCore::RenderThemeWx::paintTextField):
24034
240352008-05-01  Robin Dunn  <robin@alldunn.com>
24036
24037        Reviewed by Kevin Ollivier.
24038
24039        Implement popup menu support for wx port.
24040        
24041        https://bugs.webkit.org/show_bug.cgi?id=18776
24042
24043        * platform/PopupMenu.h:
24044        * platform/wx/PopupMenuWx.cpp: Added.
24045        (WebCore::PopupMenu::PopupMenu):
24046        (WebCore::PopupMenu::~PopupMenu):
24047        (WebCore::PopupMenu::show):
24048        (WebCore::PopupMenu::OnMenuItemSelected):
24049        (WebCore::PopupMenu::hide):
24050        (WebCore::PopupMenu::updateFromElement):
24051        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
24052        * platform/wx/TemporaryLinkStubs.cpp:
24053        * webcore-wx.bkl:
24054
240552008-05-01  Kevin Ollivier  <kevino@theolliviers.com>
24056
24057        Reviewed by Eric Seidel.
24058
24059        Make sure we properly set the button for all mouse events,
24060        not just mouse down, set the click count to 0
24061        for non-click events, and finally set the timestamp.
24062        
24063        https://bugs.webkit.org/show_bug.cgi?id=18464
24064
24065        * platform/wx/MouseEventWx.cpp:
24066        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
24067
240682008-05-01  Sam Weinig  <sam@webkit.org>
24069
24070        Reviewed by Mark Rowe (in his infinite wisdom).
24071
24072        Auto-generate the JSXSLTProcessor binding.
24073
24074        * DerivedSources.make:
24075        * GNUmakefile.am:
24076        * WebCore.pro:
24077        * WebCore.vcproj/WebCore.vcproj:
24078        * WebCore.xcodeproj/project.pbxproj:
24079        * WebCoreSources.bkl:
24080        * bindings/js/JSDOMWindowBase.cpp:
24081        (WebCore::JSDOMWindowBase::getValueProperty):
24082        * bindings/js/JSDOMWindowBase.h:
24083        (WebCore::JSDOMWindowBase::):
24084        * bindings/js/JSXSLTProcessor.cpp: Removed.
24085        * bindings/js/JSXSLTProcessor.h: Removed.
24086        * xml/XSLTProcessor.h:
24087
240882008-05-01  Sam Weinig  <sam@webkit.org>
24089
24090        Reviewed by Geoffrey Garen.
24091
24092        Fixes:
24093          - https://bugs.webkit.org/show_bug.cgi?id=17249
24094            Incorrect lexical scope after navigation leads to UXSS
24095            <rdar://problem/5738497>
24096
24097          - https://bugs.webkit.org/show_bug.cgi?id=16824
24098            Script authorization should follow lexical (not dynamic) scope
24099            <rdar://problem/5683032>
24100
24101        This patch changes us to perform same-origin checks based on the lexical global object) 
24102        rather than dynamic global object, which is now possible we don't re-use the window on 
24103        navigations, but rather switch in a new one and re-use the outer shell.  This is both
24104        more secure and conforms with the HTML5 specification.  Now that all the checks are
24105        done based on the lexical global object, we can remove the SecurityOrigin::Reason
24106        concept, as it was only around to work around an ebay.com bug that required the check to
24107        be done that way.
24108
24109        An important thing to note is that we currently implement a stricter than necessary policy
24110        and perform the same-origin check based on the currently active global object to avoid leaking
24111        the document in cases when the target frame is navigated before access.  This will be fixed in
24112        an upcoming patch.
24113
24114        * bindings/js/JSDOMWindowBase.cpp:
24115        (WebCore::JSDOMWindowBase::allowsAccessFrom):
24116        (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
24117        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
24118        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
24119        (WebCore::JSDOMWindowBase::printErrorMessage):
24120        (WebCore::asJSDOMWindow):
24121        * bindings/js/JSDOMWindowBase.h:
24122        * html/CanvasRenderingContext2D.cpp:
24123        (WebCore::CanvasRenderingContext2D::checkOrigin):
24124        (WebCore::CanvasRenderingContext2D::createPattern):
24125        * loader/FrameLoader.cpp:
24126        (WebCore::FrameLoader::begin):
24127        (WebCore::FrameLoader::write):
24128        (WebCore::FrameLoader::setOpener):
24129        (WebCore::FrameLoader::shouldAllowNavigation):
24130        * page/DOMWindow.h:
24131        (WebCore::DOMWindow::setSecurityOrigin):
24132        (WebCore::DOMWindow::securityOrigin):
24133        (WebCore::DOMWindow::setURL):
24134        (WebCore::DOMWindow::url):
24135        * platform/SecurityOrigin.cpp:
24136        (WebCore::SecurityOrigin::canAccess):
24137        (WebCore::SecurityOrigin::isSecureTransitionTo):
24138        * platform/SecurityOrigin.h:
24139
241402008-05-01  Anders Carlsson  <andersca@apple.com>
24141
24142        Reviewed by Mark.
24143
24144        Enable 64-bit NPAPI plugins.
24145        
24146        * WebCore.xcodeproj/project.pbxproj:
24147        Don't remove NPAPI related symbols from the 64-bit .exp file.
24148        
24149        * bridge/npruntime.h:
24150        Remove now unnecessary #error.
24151
241522008-05-01  Maciej Stachowiak  <mjs@apple.com>
24153
24154        Reviewed by Oliver (a while ago)
24155
24156        - just a wee bit more bindings speedup
24157        
24158        Store the per-document Node --> JS wrapper cache in the document
24159        instead of an external hashtable.
24160
24161        * bindings/js/kjs_binding.cpp:
24162        (WebCore::ScriptInterpreter::getDOMNodeForDocument):
24163        (WebCore::ScriptInterpreter::forgetDOMNodeForDocument):
24164        (WebCore::ScriptInterpreter::putDOMNodeForDocument):
24165        (WebCore::ScriptInterpreter::forgetAllDOMNodesForDocument):
24166        (WebCore::ScriptInterpreter::markDOMNodesForDocument):
24167        * dom/Document.h:
24168        (WebCore::Document::wrapperCache):
24169
241702008-05-01  Anders Carlsson  <andersca@apple.com>
24171
24172        Reviewed by Tim.
24173
24174        Remove duplicate npfunctions.h header from WebKit.
24175        
24176        * WebCore.xcodeproj/project.pbxproj:
24177        Add npfunctions.h and set its role to private.
24178        
24179        * plugins/npfunctions.h:
24180        Merge Mac specific changes.
24181
241822008-05-01  Sam Weinig  <sam@webkit.org>
24183
24184        Reviewed by Geoffrey Garen.
24185
24186        Rename toJSDOMWindow(KJS::JSGlobalObject) to asJSDOMWindow, as all it does is
24187        cast.
24188
24189        * bindings/js/JSCustomVoidCallback.cpp:
24190        (WebCore::toVoidCallback):
24191        * bindings/js/JSCustomXPathNSResolver.cpp:
24192        (WebCore::JSCustomXPathNSResolver::create):
24193        * bindings/js/JSDOMApplicationCacheCustom.cpp:
24194        (WebCore::JSDOMApplicationCache::add):
24195        (WebCore::JSDOMApplicationCache::remove):
24196        * bindings/js/JSDOMWindowBase.cpp:
24197        (WebCore::allowPopUp):
24198        (WebCore::createWindow):
24199        (WebCore::windowProtoFuncOpen):
24200        (WebCore::asJSDOMWindow):
24201        * bindings/js/JSDOMWindowBase.h:
24202        * bindings/js/JSDOMWindowCustom.cpp:
24203        (WebCore::JSDOMWindow::setLocation):
24204        (WebCore::JSDOMWindow::postMessage):
24205        * bindings/js/JSDatabaseCustom.cpp:
24206        (WebCore::JSDatabase::changeVersion):
24207        (WebCore::JSDatabase::transaction):
24208        * bindings/js/JSDocumentCustom.cpp:
24209        (WebCore::JSDocument::setLocation):
24210        * bindings/js/JSLocationCustom.cpp:
24211        (WebCore::navigateIfAllowed):
24212        (WebCore::JSLocation::setHref):
24213        (WebCore::JSLocation::replace):
24214        (WebCore::JSLocation::reload):
24215        (WebCore::JSLocation::assign):
24216        * bindings/js/JSSQLTransactionCustom.cpp:
24217        (WebCore::JSSQLTransaction::executeSql):
24218        * bindings/js/JSXMLHttpRequestCustom.cpp:
24219        (WebCore::JSXMLHttpRequest::open):
24220        * page/JavaScriptDebugServer.cpp:
24221        (WebCore::toPage):
24222
242232008-05-01  Anatoli Papirovski  <apapirovski@mac.com>
24224
24225        Reviewed by Dave Hyatt.
24226
24227        - fix https://bugs.webkit.org/show_bug.cgi?id=18347
24228          Absolutely positioned image percentage width does not respect container's padding
24229
24230        Test: fast/replaced/absolute-position-percentage-width.html
24231
24232        * rendering/RenderBox.cpp:
24233        (WebCore::RenderBox::calcReplacedWidthUsing):
24234
242352008-05-01  Dan Bernstein  <mitz@apple.com>
24236
24237        - Windows build fix
24238
24239        * platform/graphics/win/FontCGWin.cpp:
24240        (WebCore::Font::drawGlyphs):
24241
242422008-05-01  Dan Bernstein  <mitz@apple.com>
24243
24244        Reviewed by Darin Adler.
24245
24246        - make synthetic bold and synthetic italics work in GDI text
24247        - account for synthetic bold in complex text on Windows
24248
24249        * platform/graphics/win/FontCGWin.cpp:
24250        (WebCore::Font::drawGlyphs): Adjusted the text rectangle's x coordinates
24251        to fit italics. Added a skew transform for synthetic italics and a
24252        second paint pass for synthetic bold.
24253        * platform/graphics/win/SimpleFontDataWin.cpp:
24254        (WebCore::SimpleFontData::widthForGDIGlyph): Added the synthetic bold
24255        offset.
24256        * platform/graphics/win/UniscribeController.cpp:
24257        (WebCore::UniscribeController::shapeAndPlaceItem): Added the synthetic
24258        bold offset.
24259
242602008-05-01  Alp Toker  <alp@nuanti.com>
24261
24262        Qt/Win build fix attempt following plugin changes. Add missing return
24263        statements.
24264
24265        Also fixes some newly introduced coding style issues in the Qt port.
24266
24267        * platform/qt/FileSystemQt.cpp:
24268        (WebCore::openTemporaryFile):
24269        (WebCore::closeFile):
24270        (WebCore::writeToFile):
24271        (WebCore::unloadModule):
24272
242732008-05-01  Anders Carlsson  <andersca@apple.com>
24274
24275        Reviewed by Adam.
24276
24277        Export methods needed to subclass Widget.  (See r32770.)
24278
24279        * WebCore.base.exp:
24280
242812008-05-01  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
24282
24283        Reviewed by Alp Toker.
24284        Qt parts OK'ed by Simon Hausmann.
24285
24286        https://bugs.webkit.org/show_bug.cgi?id=14750
24287        Added support for NPAPI plugins on Gtk and Qt-x11 ports.
24288
24289        * GNUmakefile.am: Added Gtk plugin files.
24290        * WebCore.pro: Added Qt plugins files, defined XP_UNIX and
24291        ENABLE_NETSCAPE_PLUGIN_API
24292        * bridge/npruntime_internal.h: Additional undefs that conflict
24293        with Qt headers.
24294        * page/gtk/FrameGtk.cpp: Create js bindings for PluginView.
24295        (WebCore::Frame::createScriptInstanceForWidget):
24296        * page/qt/FrameQt.cpp: Create js bindings for PluginView.
24297        (WebCore::Frame::createScriptInstanceForWidget):
24298        (WebCore::Frame::clearPlatformScriptObjects):
24299        (WebCore::Frame::disconnectPlatformScriptObjects):
24300        * platform/FileSystem.h: Qt FileSystem implementation.
24301        * platform/Widget.h: Members to differentiate between Qt plugins and
24302        NPAPI ones.
24303        * platform/gtk/ScrollViewGtk.cpp:
24304        (WebCore::ScrollView::addChild): Set containing window before calling setParent.
24305        * platform/gtk/TemporaryLinkStubs.cpp: Removed implemented functions.
24306        (PluginView::invalidateRegion):
24307        * platform/qt/FileSystemQt.cpp: Implemented functions necessary for
24308        NPAPI plugins.
24309        (WebCore::openTemporaryFile):
24310        (WebCore::closeFile):
24311        (WebCore::writeToFile):
24312        (WebCore::unloadModule): Delete module if unloaded.
24313        * platform/qt/TemporaryLinkStubs.cpp: Removed implemented functions.
24314        * platform/qt/WidgetQt.cpp: Differentiate between Qt plugins and
24315        NPAPI ones.
24316        (WebCore::WidgetPrivate::WidgetPrivate):
24317        (WebCore::Widget::isNPAPIPlugin):
24318        (WebCore::Widget::setIsNPAPIPlugin):
24319        * plugins/PluginPackage.cpp:
24320        (WebCore::PluginPackage::~PluginPackage): Unload the module before
24321        destruction.
24322        (WebCore::PluginPackage::compare): Moved here as it's platform
24323        independent.
24324        * plugins/PluginView.cpp: Moved platform-independent functions here.
24325        (WebCore::PluginView::PluginView): Initialize m_npWindow.ws_info on
24326        Unix platforms.
24327        (WebCore::PluginView::freeStringArray):
24328        (WebCore::startsWithBlankLine):
24329        (WebCore::locationAfterFirstBlankLine):
24330        (WebCore::findEOL):
24331        (WebCore::capitalizeRFC822HeaderFieldName):
24332        (WebCore::parseRFC822HeaderFields):
24333        (WebCore::PluginView::handlePost):
24334        * plugins/PluginView.h: Moved platform-independent functions here.
24335        Added member to signal plugin needs XEmbed extension.
24336        * plugins/gtk/PluginDataGtk.cpp: Added.
24337        (WebCore::PluginData::initPlugins):
24338        (WebCore::PluginData::refresh):
24339        * plugins/gtk/PluginDatabaseGtk.cpp:
24340        (WebCore::PluginDatabase::defaultPluginDirectories):
24341        (WebCore::PluginDatabase::isPreferredPluginDirectory):
24342        * plugins/gtk/PluginPackageGtk.cpp: Added.
24343        (WebCore::PluginPackage::determineQuirks):
24344        (WebCore::PluginPackage::fetchInfo):
24345        (WebCore::PluginPackage::load):
24346        (WebCore::PluginPackage::hash):
24347        (WebCore::PluginPackage::equal):
24348        (WebCore::PluginPackage::compareFileVersion):
24349        * plugins/gtk/PluginViewGtk.cpp: Added.
24350        (WebCore::PluginView::updateWindow):
24351        (WebCore::PluginView::setFocus):
24352        (WebCore::PluginView::show):
24353        (WebCore::PluginView::hide):
24354        (WebCore::PluginView::paint):
24355        (WebCore::PluginView::handleKeyboardEvent):
24356        (WebCore::PluginView::handleMouseEvent):
24357        (WebCore::PluginView::setParent):
24358        (WebCore::PluginView::setNPWindowRect):
24359        (WebCore::PluginView::attachToWindow):
24360        (WebCore::PluginView::detachFromWindow):
24361        (WebCore::PluginView::stop):
24362        (WebCore::PluginView::userAgent):
24363        (WebCore::PluginView::handlePostReadFile):
24364        (WebCore::PluginView::getValue):
24365        (WebCore::PluginView::invalidateRect):
24366        (WebCore::PluginView::forceRedraw):
24367        (WebCore::PluginView::~PluginView):
24368        (WebCore::plug_removed_cb): Added callback to handle plug removal.
24369        (WebCore::PluginView::init):
24370        * plugins/gtk/xembed.h: Added.
24371        * plugins/npapi.cpp:
24372        (NPN_GetValue): Return error if no view present.
24373        * plugins/qt/PluginDataQt.cpp:
24374        (WebCore::PluginData::initPlugins):
24375        (WebCore::PluginData::refresh):
24376        * plugins/qt/PluginDatabaseQt.cpp: Added.
24377        (WebCore::PluginDatabase::getPluginPathsInDirectories):
24378        (WebCore::addQtWebKitPluginDirectories):
24379        (WebCore::addMozillaPluginDirectories):
24380        (WebCore::PluginDatabase::defaultPluginDirectories):
24381        (WebCore::PluginDatabase::isPreferredPluginDirectory):
24382        * plugins/qt/PluginPackageQt.cpp: Added.
24383        (WebCore::PluginPackage::determineQuirks):
24384        (WebCore::PluginPackage::fetchInfo):
24385        (WebCore::PluginPackage::load):
24386        (WebCore::PluginPackage::hash):
24387        (WebCore::PluginPackage::equal):
24388        (WebCore::PluginPackage::compareFileVersion):
24389        * plugins/qt/PluginViewQt.cpp: Added.
24390        (WebCore::PluginView::updateWindow):
24391        (WebCore::PluginView::setFocus):
24392        (WebCore::PluginView::show):
24393        (WebCore::PluginView::hide):
24394        (WebCore::PluginView::paint):
24395        (WebCore::PluginView::handleKeyboardEvent):
24396        (WebCore::PluginView::handleMouseEvent):
24397        (WebCore::PluginView::setParent):
24398        (WebCore::PluginView::setNPWindowRect):
24399        (WebCore::PluginView::attachToWindow):
24400        (WebCore::PluginView::detachFromWindow):
24401        (WebCore::PluginView::stop):
24402        (WebCore::PluginView::userAgent):
24403        (WebCore::PluginView::handlePostReadFile):
24404        (WebCore::PluginView::getValue):
24405        (WebCore::PluginView::invalidateRect):
24406        (WebCore::PluginView::invalidateRegion):
24407        (WebCore::PluginView::forceRedraw):
24408        (WebCore::PluginView::~PluginView):
24409        (WebCore::PluginView::init):
24410        * plugins/win/PluginPackageWin.cpp: Moved platform-independent code
24411        to plugins/PluginPackage.cpp
24412        * plugins/win/PluginViewWin.cpp: Moved platform-independent code to
24413        plugins/PluginView.cpp
24414        (WebCore::PluginView::stop):
24415        (WebCore::PluginView::handlePostReadFile):
24416        (WebCore::PluginView::getValue): Moved this function to each platform.
24417
244182008-05-01  Sam Weinig  <sam@webkit.org>
24419
24420        Fix build.
24421
24422        * ForwardingHeaders/wtf/StrHash.h: Added.
24423
244242008-05-01  Anders Carlsson  <andersca@apple.com>
24425
24426        Reviewed by Darin.
24427
24428        Move management of cache groups to ApplicationCacheStorage. Also,
24429        application caches now start out with a null group and will have their group set
24430        when the cache has finished loading. 
24431
24432        * loader/appcache/ApplicationCache.cpp:
24433        (WebCore::ApplicationCache::ApplicationCache):
24434        Initialize m_group to 0.
24435        
24436        (WebCore::ApplicationCache::~ApplicationCache):
24437        Null check the group.
24438        
24439        (WebCore::ApplicationCache::setGroup):
24440        New method for setting the group.
24441        
24442        * loader/appcache/ApplicationCache.h:        
24443        (WebCore::ApplicationCache::create):
24444        Remove the group argument.
24445        
24446        * loader/appcache/ApplicationCacheGroup.cpp:
24447        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
24448        Let the storage know that the cache group has been destroyed.
24449        
24450        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
24451        Call into the storage.
24452        
24453        (WebCore::ApplicationCacheGroup::selectCache):
24454        Call into the storage.
24455        
24456        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
24457        When there are no document loaders associated with the cache group,
24458        set the newest cache to 0.
24459        
24460        (WebCore::ApplicationCacheGroup::cacheDestroyed):
24461        Delete the group if there are no associated caches.
24462        
24463        (WebCore::ApplicationCacheGroup::setNewestCache):
24464        New method that will set the newest cache and associate the group with the cache.
24465        
24466        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
24467        Call setNewestCache instead.
24468        
24469        * loader/appcache/ApplicationCacheStorage.cpp:
24470        (WebCore::urlHostHash):
24471        Move host hash method here.
24472        
24473        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
24474        New method that finds a cache group with a given manifest URL or creates a new one.
24475
24476        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
24477        New method that returns a cache group for a given URL.
24478        
24479        (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
24480        When the cache group has been destroyed, remove it from the hash map.
24481        
24482        * loader/appcache/ApplicationCacheStorage.h:
24483        Add new methods.I b
24484
244852008-05-01  Dan Winship  <danw@gnome.org>
24486
24487        Reviewed by Alp Toker.
24488
24489        http://bugs.webkit.org/show_bug.cgi?id=18490
24490        Add mostly-working file: support and mostly-broken ftp: support to
24491        the soup backend.
24492
24493        * platform/network/soup/ResourceHandleSoup.cpp (start): after
24494        doing basic checks, delegate to one of three submethods
24495        (startData): handles data: URLs
24496        (startHttp): handles http: and https: URLs, via libsoup
24497        (startGio, etc): handles file: and ftp: URLs, via gio. Lots of
24498        FIXMEs detailing the parts that don't fully work yet.
24499
24500        * platform/network/ResourceHandle.h:
24501        * platform/network/ResourceHandleInternal.h: add new member
24502        variables for gio-based loading
24503
245042008-05-01  Alp Toker  <alp@nuanti.com>
24505
24506        Rubber-stamped by Anders.
24507
24508        GTK+ build fix for changes in r32752. Use int32, not int32_t types in
24509        npapi.h.
24510
24511        Additional fix to use same signedness in npapi.h and Mac for the
24512        interval parameter.
24513
24514        * bridge/npapi.h:
24515
245162008-04-30  Anders Carlsson  <andersca@apple.com>
24517
24518        Reviewed by Adam.
24519
24520        Add new Cocoa event model type declarations.
24521        
24522        * bridge/npapi.h:
24523
245242008-04-30  Beth Dakin  <bdakin@apple.com>
24525
24526        Reviewed by Sam Weinig.
24527
24528        This patch does three things:
24529        1. Adds support for the "img" ARIA role
24530        2. Switches over to a HashMap for converting ARIA role attributes 
24531        to WebCore's AccessibilityRole type. 
24532        3. Fixes a crash in the new ARIA code that I ran into while 
24533        browsing with VoiceOver enabled.
24534
24535        * page/AccessibilityObject.cpp:
24536        (WebCore::AccessibilityObject::headingLevel): This is the crash 
24537        fix. Make sure the node's renderer is not null before looking up 
24538        its corresponding AccessibilityObject in the cache.
24539        (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for 
24540        ARIA images.
24541        (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to 
24542        the Map.
24543        (WebCore::RoleEntry::): Same.
24544        (WebCore::ariaRoleToWebCoreRole): Same.
24545        (WebCore::AccessibilityObject::ariaRoleAttribute): Same.
24546
245472008-04-30  Rob Buis  <buis@kde.org>
24548
24549        Reviewed by Nikolas.
24550
24551        https://bugs.webkit.org/show_bug.cgi?id=16447
24552        onload called too many times for <svg:image>
24553        https://bugs.webkit.org/show_bug.cgi?id=12282
24554        SVG wastes time in malloc to send loadEvents to non-existent listeners
24555
24556        Postpone load event dispatching for image when externalResourcesRequired
24557        is true, delaying parents but not siblings, and make sure the load event
24558        is sent once for image in all cases.
24559
24560        * svg/SVGElement.cpp:
24561        (WebCore::hasLoadListener):
24562        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
24563        * svg/SVGImageElement.cpp:
24564        (WebCore::SVGImageElement::haveLoadedRequiredResources):
24565        * svg/SVGImageLoader.cpp:
24566        (WebCore::SVGImageLoader::dispatchLoadEvent):
24567
245682008-04-30  David Hyatt  <hyatt@apple.com>
24569
24570        Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts.  This
24571        won't typically crash release builds because of arena recycling.
24572
24573        Reviewed by Dan Bernstein
24574        
24575        * rendering/RenderLayer.cpp:
24576        (WebCore::RenderLayer::~RenderLayer):
24577        Make sure to remove the reflection's child layer from its parent.
24578
24579        * rendering/RenderMedia.cpp:
24580        (WebCore::RenderMedia::~RenderMedia):
24581        (WebCore::RenderMedia::destroy):
24582        (WebCore::RenderMedia::removeChild):
24583        * rendering/RenderMedia.h:
24584        Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more
24585        like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia
24586        destructor).
24587
245882008-04-30  Rémi Zara  <remi_zara@mac.com>
24589
24590        Reviewed by Dave Hyatt.
24591
24592        fix https://bugs.webkit.org/show_bug.cgi?id=18618
24593        <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down
24594
24595        * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
24596        (WebCore::patternCallback): flip the y axis when drawing the tile
24597
245982008-04-30  Timothy Hatcher  <timothy@apple.com>
24599
24600        Fixes an undefined type exception that fires when adding a resource to the inspector
24601        that has a MIME type warning.
24602
24603        Reviewed by Adam Roben.
24604
24605        * page/inspector/Resource.js:
24606        (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of
24607        WebInspector.consolePanel.
24608        (WebInspector.Resource.prototype._checkWarning): Ditto.
24609
246102008-04-30  Timothy Hatcher  <timothy@apple.com>
24611
24612        Fixes the bug where the selected resource would be deselected after
24613        changing the sort order in the Resources panel.
24614
24615        Reviewed by Dan Bernstein.
24616
24617        * page/inspector/ResourcesPanel.js:
24618        (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
24619        Rememebr if the tree element that we are sorting was selected, so
24620        the selection can be restored after it is re-inserted. The onSelect
24621        is suppressed since we don't need to show the resource again.
24622
246232008-04-29  Timothy Hatcher  <timothy@apple.com>
24624
24625        Fixes the regression where error bubbles in source views always show
24626        "undefined" for the content because the message property on
24627        ConsoleMessage was removed. Adds support for a plain text formated
24628        message that is stored in the message proeprty.
24629
24630        Reviewed by Adam Roben.
24631
24632        * page/inspector/Console.js:
24633        (WebInspector.Console.prototype._format): Add a plainText argument that is passed to
24634        the formatters.
24635        (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment
24636        about needing to honor it if the textContent of the output doesn't make sense.
24637        (WebInspector.Console.prototype._formatvalue): Ditto.
24638        (WebInspector.Console.prototype._formatstring): Ditto.
24639        (WebInspector.Console.prototype._formatregexp): Ditto.
24640        (WebInspector.Console.prototype._formatarray): Ditto.
24641        (WebInspector.Console.prototype._formatnode): Ditto.
24642        (WebInspector.Console.prototype._formatobject): Ditto.
24643        (WebInspector.Console.prototype._formaterror): Ditto.
24644        (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the 
24645        textContnet of the result and assign to the message proeprty. This property is 
24646        referenced from the SourceView.
24647        (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the 
24648        result element as a local and return it, instead of using formatedMessage directly.
24649
246502008-04-30  Timothy Hatcher  <timothy@apple.com>
24651
24652        Adds a helper function to convert a JSValueRef to a String.
24653
24654        Reviewed by Adam Roben.
24655
24656        * page/InspectorController.cpp:
24657        (WebCore::toString): Converts a JSValueRef to a String.
24658        (WebCore::search): Use toString.
24659        (WebCore::InspectorController::handleException): Ditto.
24660
246612008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
24662
24663        Reviewed by Simon.
24664        
24665        Build the Qt port with SVG Foreign Object support.
24666
24667        * WebCore.pro:
24668
246692008-04-30  Simon Hausmann  <hausmann@webkit.org>
24670
24671        Reviewed by Holger.
24672
24673        Fix null pointer deference triggered by
24674        LayoutTests/fast/loader/cancel-load-during-port-block-timer.html
24675
24676        * platform/network/qt/ResourceHandleQt.cpp:
24677        (WebCore::ResourceHandle::cancel): Check m_job before dereferencing.
24678
246792008-04-29  David Hyatt  <hyatt@apple.com>
24680
24681        Improve the performance of masks by adding code to set more precise clips on the transparency layers
24682        used to paint the content under the mask, and then also avoid creating transparency layers for the masks
24683        themselves in common cases.
24684
24685        Reviewed by Dan Bernstein
24686
24687        * platform/graphics/GraphicsContext.cpp:
24688        (WebCore::GraphicsContext::drawTiledImage):
24689        Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece
24690        images.
24691
24692        * rendering/InlineFlowBox.cpp:
24693        (WebCore::InlineFlowBox::paintFillLayers):
24694        (WebCore::InlineFlowBox::paintFillLayer):
24695        (WebCore::InlineFlowBox::paintMask):
24696        Optimize to only push a transparency layer for the mask if multiple images are combining.  Add a new
24697        composite operator argument for use when painting fill layers to do direct destination-in compositing while
24698        painting images.
24699
24700
24701        * rendering/InlineFlowBox.h:
24702        * rendering/RenderBox.cpp:
24703        (WebCore::RenderBox::paintMask):
24704        (WebCore::RenderBox::paintMaskImages):
24705        Optimize to only push a transparency layer for the mask if multiple images are combining.
24706
24707        (WebCore::RenderBox::maskClipRect):
24708        A new method that attempts to compute a precise clip rect for the mask images.
24709
24710        (WebCore::RenderBox::paintFillLayers):
24711        (WebCore::RenderBox::paintFillLayer):
24712        (WebCore::RenderBox::paintFillLayerExtended):
24713        * rendering/RenderBox.h:
24714        Added the composite operator argument to the paintFillLayer methods.
24715
24716        * rendering/RenderFieldset.cpp:
24717        (WebCore::RenderFieldset::paintMask):
24718        Call the new base class paintMaskImages method for optimized mask painting.
24719
24720        * rendering/RenderLayer.cpp:
24721        (WebCore::transparencyClipBox):
24722        Fix a coordinate space issue with transparencyClipBox when masks were used.  The border box was in the
24723        wrong coordinate space.  Moved the code into the layer's boundingBox() method instead.
24724
24725        (WebCore::RenderLayer::paintLayer):
24726        Removed the code that always pushed a transparency layer before painting masks.
24727
24728        (WebCore::RenderLayer::boundingBox):
24729        Call maskClipRect to shrink the bounding box of the layer to fit the mask clip.
24730
24731        * rendering/RenderObject.cpp:
24732        (WebCore::RenderObject::paintNinePieceImage):
24733        Added a composite operator argument for direct destination-in painting of nine piece images.
24734
24735        * rendering/RenderObject.h:
24736        (WebCore::RenderObject::maskClipRect):
24737        (WebCore::RenderObject::paintFillLayerExtended):
24738        Base class stubs for RenderBox-implemented methods.
24739
24740        * rendering/RenderTable.cpp:
24741        (WebCore::RenderTable::paintMask):
24742        * rendering/RenderTableCell.cpp:
24743        (WebCore::RenderTableCell::paintMask):
24744        Modified to call the new paintMaskImages function.
24745
24746        * svg/graphics/SVGImage.cpp:
24747        (WebCore::SVGImage::draw):
24748        SVG images now respect composite modes by pushing a transparency layer when the composite mode
24749        is anything other than source-over.
24750
247512008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
24752
24753        Rubber-stamped by Rob Buis.
24754
24755        Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled
24756
24757        * svg/SVGUseElement.cpp:
24758        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
24759
247602008-04-30  Ariya Hidayat  <ariya.hidayat@trolltech.com>
24761
24762        Rubber-stamped by Rob Buis.
24763
24764        Fixed compile, due to API change in XMLSerializer
24765
24766        * svg/SVGUseElement.cpp:
24767        (WebCore::SVGUseElement::buildPendingResource):
24768
247692008-04-30  Rob Buis  <buis@kde.org>
24770
24771        Reviewed by Eric.
24772
24773        https://bugs.webkit.org/show_bug.cgi?id=11939
24774        Quirksmode: Ignores media types in stylesheet PIs
24775
24776        Transfer the xml-stylesheet pseudo attribute media to the css
24777        stylesheet created from the ProcessingInstruction.
24778
24779        Tests: fast/css/xml-stylesheet-media-processing.xhtml
24780
24781        * css/StyleSheet.cpp:
24782        (WebCore::StyleSheet::setMedia):
24783        * css/StyleSheet.h:
24784        * dom/ProcessingInstruction.cpp:
24785        (WebCore::ProcessingInstruction::checkStyleSheet):
24786        (WebCore::ProcessingInstruction::setCSSStyleSheet):
24787        * dom/ProcessingInstruction.h:
24788
247892008-04-29  David D. Kilzer  <ddkilzer@apple.com>
24790
24791        BUILD FIX for export of WTF::RefCounted<WebCore::FormData>::deref()
24792
24793        On the buildbot, this is a fatal error:
24794
24795        ld: symbols names listed in -exported_symbols_list: WebKitBuild/Release/DerivedSources/WebCore/WebCore.exp not in linked objects
24796        __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv
24797        /usr/bin/libtool: internal link edit command failed
24798
24799        Newer dev tools only produce a warning:
24800
24801        ld warning: cannot export hidden symbol __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv from WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/DocumentLoader.o
24802
24803        * WebCore.base.exp: Remove hidden symbol from export list.
24804
248052008-04-29  David Kilzer  <ddkilzer@apple.com>
24806
24807        Another BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
24808
24809        * dom/make_names.pl: Added #if ENABLE(DASHBOARD_SUPPORT) to Dashboard code.
24810
248112008-04-29  David Kilzer  <ddkilzer@apple.com>
24812
24813        BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
24814
24815        * DerivedSources.make: Removed duplication of targets for
24816        generating CSSPropertyNames.h and CSSValueKeywords.h.
24817        * GNUmakefile.am: Ditto.  Added support for ENABLE_DASHBOARD_SUPPORT.
24818        * WebCore.pro: Added support for ENABLE_DASHBOARD_SUPPORT.
24819        Made both SVG and non-SVG variables of GENERATOR 6-A use new
24820        DASHBOARDSUPPORTCSSPROPERTIES variable.
24821
248222008-04-29  Ada Chan  <adachan@apple.com>
24823
24824        Added missing return.        
24825
24826        * platform/win/COMPtr.h:
24827        (WTF::):
24828
248292008-04-29  Alp Toker  <alp@nuanti.com>
24830
24831        GTK+ build fix attempt following breakage in r32700 which
24832        conditionalised dashboard support.
24833
24834        * GNUmakefile.am:
24835
248362008-04-29  Adam Roben  <aroben@apple.com>
24837
24838        Restore the beloved COMPtr::operator&
24839
24840        * platform/win/COMPtr.h: Removed the HashTableDeletedValueType
24841        constructor and isHashTableDeletedValue and hashTableDeletedValue
24842        functions.
24843        (WTF::): Changed constructDeletedValue to play nicely with
24844        COMPtr::operator&.
24845
248462008-04-29  Adam Roben  <aroben@apple.com>
24847
24848        Fix assertion on launch on Windows
24849
24850        * platform/graphics/win/FontPlatformData.h: Pass
24851        WTF::HashTableDeletedValue to the m_font constructor instead of a
24852        bogus -1 value. This is needed because m_font is a RefPtr.
24853
248542008-04-29  Greg Bolsinga  <bolsinga@apple.com>
24855
24856        Reviewed by Darin.
24857
24858        Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
24859
24860        * DerivedSources.make:
24861        * WebCore.DashboardSupport.exp: Added.
24862        * WebCore.base.exp:
24863        * WebCore.xcodeproj/project.pbxproj:
24864        * bindings/js/JSDOMWindowCustom.cpp:
24865        (WebCore::JSDOMWindow::setLocation):
24866        * css/CSSComputedStyleDeclaration.cpp:
24867        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24868        * css/CSSParser.cpp:
24869        (WebCore::CSSParser::parseValue):
24870        * css/CSSPrimitiveValue.cpp:
24871        (WebCore::CSSPrimitiveValue::cleanup):
24872        (WebCore::CSSPrimitiveValue::cssText):
24873        * css/CSSPropertyNames.in:
24874        * css/CSSStyleSelector.cpp:
24875        (WebCore::CSSStyleSelector::applyProperty):
24876        * css/DashboardRegion.h:
24877        * css/DashboardSupportCSSPropertyNames.in: Added.
24878        * dom/DOMImplementation.cpp:
24879        (WebCore::DOMImplementation::createDocument):
24880        * dom/Document.cpp:
24881        (WebCore::Document::Document):
24882        (WebCore::Document::importNode):
24883        * dom/Document.h:
24884        * html/CanvasRenderingContext2D.cpp:
24885        (WebCore::CanvasRenderingContext2D::fill):
24886        (WebCore::CanvasRenderingContext2D::stroke):
24887        (WebCore::CanvasRenderingContext2D::clip):
24888        * html/CanvasRenderingContext2D.h:
24889        * html/HTMLCanvasElement.cpp:
24890        * html/HTMLCanvasElement.h:
24891        * page/Chrome.cpp:
24892        * page/ChromeClient.h:
24893        * page/Frame.cpp:
24894        (WebCore::Frame::paint):
24895        * page/Frame.h:
24896        * page/FrameView.cpp:
24897        (WebCore::FrameView::layout):
24898        * page/FrameView.h:
24899        * page/Settings.cpp:
24900        (WebCore::Settings::Settings):
24901        * page/Settings.h:
24902        * page/mac/EventHandlerMac.mm:
24903        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
24904        * page/mac/FrameMac.mm:
24905        * page/mac/WebDashboardRegion.h:
24906        * page/mac/WebDashboardRegion.m:
24907        * rendering/RenderLayer.cpp:
24908        (WebCore::RenderLayer::scrollToOffset):
24909        (WebCore::RenderLayer::setHasHorizontalScrollbar):
24910        (WebCore::RenderLayer::setHasVerticalScrollbar):
24911        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
24912        * rendering/RenderObject.cpp:
24913        (WebCore::RenderObject::setStyle):
24914        * rendering/RenderObject.h:
24915        * rendering/RenderStyle.cpp:
24916        (WebCore::StyleRareNonInheritedData::operator==):
24917        (WebCore::RenderStyle::diff):
24918        * rendering/RenderStyle.h:
24919        * xml/XMLHttpRequest.cpp:
24920        (WebCore::XMLHttpRequest::send):
24921        (WebCore::XMLHttpRequest::setRequestHeader):
24922
249232008-04-29  Adam Roben  <aroben@apple.com>
24924
24925        Windows build fix
24926
24927        This removes COMPtr::operator&, which didn't jive with HashTable. It
24928        is replaced by COMPtr::adoptionPointer.
24929
24930        Discussed with Darin Adler and Anders Carlsson.
24931
24932        * platform/win/COMPtr.h: Replaced operator& with adoptionPointer.
24933
249342008-04-29  David Hyatt  <hyatt@apple.com>
24935
24936        Implement the new box-reflect property in CSS.  This property enables real-time reflections on
24937        objects (yes you can reflect <video>!).
24938
24939        Reviewed by Dan Bernstein
24940
24941        Test cases added in fast/reflections/
24942
24943        * GNUmakefile.am:
24944        * WebCore.pro:
24945        * WebCore.xcodeproj/project.pbxproj:
24946        * WebCoreSources.bkl:
24947        * css/CSSComputedStyleDeclaration.cpp:
24948        (WebCore::valueForReflection):
24949        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24950        * css/CSSParser.cpp:
24951        (WebCore::CSSParser::parseValue):
24952        (WebCore::CSSParser::parseReflect):
24953        (WebCore::BorderImageParseContext::commitBorderImage):
24954        (WebCore::CSSParser::parseBorderImage):
24955        (WebCore::parseGradientColorStop):
24956        (WebCore::CSSParser::parseTransform):
24957        * css/CSSParser.h:
24958        * css/CSSPropertyNames.in:
24959        * css/CSSReflectValue.cpp: Added.
24960        (WebCore::CSSReflectValue::cssText):
24961        * css/CSSReflectValue.h: Added.
24962        (WebCore::CSSReflectValue::CSSReflectValue):
24963        (WebCore::CSSReflectValue::direction):
24964        (WebCore::CSSReflectValue::offset):
24965        (WebCore::CSSReflectValue::mask):
24966        (WebCore::CSSReflectValue::setDirection):
24967        (WebCore::CSSReflectValue::setOffset):
24968        (WebCore::CSSReflectValue::setMask):
24969        * css/CSSStyleSelector.cpp:
24970        (WebCore::CSSStyleSelector::adjustRenderStyle):
24971        (WebCore::CSSStyleSelector::applyProperty):
24972        (WebCore::CSSStyleSelector::mapNinePieceImage):
24973        * css/CSSStyleSelector.h:
24974        * rendering/InlineFlowBox.cpp:
24975        (WebCore::InlineFlowBox::placeBoxesVertically):
24976        (WebCore::InlineFlowBox::paintMask):
24977        * rendering/Length.h:
24978        (WebCore::Length::calcFloatValue):
24979        * rendering/RenderBlock.cpp:
24980        (WebCore::RenderBlock::overflowHeight):
24981        (WebCore::RenderBlock::overflowWidth):
24982        (WebCore::RenderBlock::overflowLeft):
24983        (WebCore::RenderBlock::overflowTop):
24984        (WebCore::RenderBlock::overflowRect):
24985        (WebCore::RenderBlock::layoutBlock):
24986        * rendering/RenderBox.cpp:
24987        (WebCore::RenderBox::setStyle):
24988        (WebCore::RenderBox::paintMask):
24989        (WebCore::RenderBox::imageChanged):
24990        (WebCore::RenderBox::computeAbsoluteRepaintRect):
24991        * rendering/RenderFlexibleBox.cpp:
24992        (WebCore::RenderFlexibleBox::layoutBlock):
24993        * rendering/RenderLayer.cpp:
24994        (WebCore::RenderLayer::RenderLayer):
24995        (WebCore::RenderLayer::~RenderLayer):
24996        (WebCore::RenderLayer::updateLayerPositions):
24997        (WebCore::RenderLayer::enclosingPositionedAncestor):
24998        (WebCore::RenderLayer::enclosingTransformedAncestor):
24999        (WebCore::RenderLayer::isTransparent):
25000        (WebCore::transparencyClipBox):
25001        (WebCore::RenderLayer::operator delete):
25002        (WebCore::RenderLayer::destroy):
25003        (WebCore::RenderLayer::removeOnlyThisLayer):
25004        (WebCore::RenderLayer::insertOnlyThisLayer):
25005        (WebCore::RenderLayer::paintLayer):
25006        (WebCore::RenderLayer::updateZOrderLists):
25007        (WebCore::RenderLayer::updateOverflowList):
25008        (WebCore::RenderLayer::collectLayers):
25009        (WebCore::RenderLayer::shouldBeOverflowOnly):
25010        (WebCore::RenderLayer::styleChanged):
25011        (WebCore::RenderLayer::reflectionLayer):
25012        (WebCore::RenderLayer::createReflection):
25013        (WebCore::RenderLayer::updateReflectionStyle):
25014        * rendering/RenderLayer.h:
25015        (WebCore::RenderLayer::hasReflection):
25016        (WebCore::RenderLayer::reflection):
25017        (WebCore::RenderLayer::paintingInsideReflection):
25018        * rendering/RenderObject.cpp:
25019        (WebCore::RenderObject::RenderObject):
25020        (WebCore::RenderObject::requiresLayer):
25021        (WebCore::RenderObject::setStyle):
25022        (WebCore::RenderObject::updateImage):
25023        (WebCore::RenderObject::reflectionBox):
25024        (WebCore::RenderObject::reflectionOffset):
25025        * rendering/RenderObject.h:
25026        (WebCore::RenderObject::hasTransform):
25027        (WebCore::RenderObject::setHasReflection):
25028        (WebCore::RenderObject::hasReflection):
25029        * rendering/RenderReplica.cpp: Added.
25030        (WebCore::RenderReplica::RenderReplica):
25031        (WebCore::RenderReplica::~RenderReplica):
25032        (WebCore::RenderReplica::layout):
25033        (WebCore::RenderReplica::calcPrefWidths):
25034        (WebCore::RenderReplica::paint):
25035        * rendering/RenderReplica.h: Added.
25036        (WebCore::RenderReplica::renderName):
25037        (WebCore::RenderReplica::requiresLayer):
25038        * rendering/RenderStyle.cpp:
25039        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
25040        (WebCore::StyleRareNonInheritedData::operator==):
25041        (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent):
25042        (WebCore::RenderStyle::diff):
25043        (WebCore::RenderStyle::applyTransform):
25044        * rendering/RenderStyle.h:
25045        (WebCore::TranslateTransformOperation::apply):
25046        (WebCore::StyleReflection::StyleReflection):
25047        (WebCore::StyleReflection::operator==):
25048        (WebCore::StyleReflection::operator!=):
25049        (WebCore::StyleReflection::direction):
25050        (WebCore::StyleReflection::offset):
25051        (WebCore::StyleReflection::mask):
25052        (WebCore::StyleReflection::setDirection):
25053        (WebCore::StyleReflection::setOffset):
25054        (WebCore::StyleReflection::setMask):
25055        (WebCore::RenderStyle::boxReflect):
25056        (WebCore::RenderStyle::setBoxReflect):
25057        (WebCore::RenderStyle::initialBoxReflect):
25058        * rendering/RenderTable.cpp:
25059        (WebCore::RenderTable::layout):
25060        (WebCore::RenderTable::paintMask):
25061        * rendering/RenderTableCell.cpp:
25062        (WebCore::RenderTableCell::requiresLayer):
25063        (WebCore::RenderTableCell::paintMask):
25064
250652008-04-29  Beth Dakin  <bdakin@apple.com>
25066
25067        Reviewed by Alice.
25068
25069        Initial implementation of the following ARIA roles: button, 
25070        checkbox, heading, link, radio, textbox.
25071
25072        * html/HTMLAttributeNames.in: Add 'role' to list of attributes.
25073
25074        * page/AccessibilityObject.cpp:
25075         When an ARIA role is set, the role overrides whatever the actual 
25076element is when the element reports itself to the screen reader. So all of these isBlah functions report based on their roleValue now.
25077        (WebCore::AccessibilityObject::isWebArea):
25078        (WebCore::AccessibilityObject::isImageButton):
25079        (WebCore::AccessibilityObject::isAnchor):
25080        (WebCore::AccessibilityObject::isTextControl):
25081        (WebCore::AccessibilityObject::isImage):
25082        (WebCore::AccessibilityObject::isAttachment):
25083        (WebCore::AccessibilityObject::isPasswordField):
25084        (WebCore::AccessibilityObject::isCheckboxOrRadio):
25085        (WebCore::AccessibilityObject::isHeading):
25086        (WebCore::AccessibilityObject::isLink):
25087
25088        Check for ARIA information:
25089        (WebCore::AccessibilityObject::headingLevel):
25090        (WebCore::AccessibilityObject::anchorElement):
25091        (WebCore::AccessibilityObject::actionElement):
25092        (WebCore::AccessibilityObject::hasIntValue):
25093        (WebCore::AccessibilityObject::intValue):
25094        (WebCore::AccessibilityObject::stringValue):
25095        (WebCore::AccessibilityObject::title):
25096        (WebCore::AccessibilityObject::accessibilityIsIgnored):
25097        (WebCore::AccessibilityObject::roleValue):
25098
25099        There are a few places in the code where it is important to identify the difference between ARIA and non-ARIA.
25100        (WebCore::AccessibilityObject::isNativeImage):
25101        (WebCore::AccessibilityObject::isNativeTextControl):
25102        (WebCore::isARIAInput):
25103        (WebCore::isARIAControl):
25104
25105        A lot of spots in the code used to cast to RenderTextControl to get information about the text inside the element. Now that non-native text controls can run this code with the ARIA role 'textbox', it needs to be as general as possible. 
25106        (WebCore::AccessibilityObject::text): Still calls into 
25107        RenderTextControl's text() for native text controls. Uses Element's 
25108        innerText() for ARIA textboxes.
25109        (WebCore::AccessibilityObject::textLength): Call 
25110        AccessibilityObject's text() instead of RenderTextControl's.
25111        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
25112        (WebCore::AccessibilityObject::selectedText):
25113        (WebCore::AccessibilityObject::selectedTextRange):
25114        (WebCore::AccessibilityObject::selectionStart):
25115        (WebCore::AccessibilityObject::selectionEnd):
25116        (WebCore::AccessibilityObject::setSelectedTextRange):
25117        (WebCore::AccessibilityObject::setValue):
25118        (WebCore::AccessibilityObject::visiblePositionForIndex):
25119        (WebCore::AccessibilityObject::indexForVisiblePosition):
25120        (WebCore::AccessibilityObject::textMarkerRangeForRange):
25121        (WebCore::AccessibilityObject::textMarkerForIndex):
25122        (WebCore::AccessibilityObject::indexForTextMarker):
25123        (WebCore::AccessibilityObject::doAXRangeForLine):
25124        (WebCore::AccessibilityObject::doAXRangeForIndex):
25125        (WebCore::AccessibilityObject::doAXStringForRange):
25126        (WebCore::AccessibilityObject::doAXBoundsForRange):
25127        
25128        Reports ARIA role. If the role is not valid or simply not set, return UnknownRole.
25129        (WebCore::AccessibilityObject::ariaRoleAttribute):
25130        
25131        Added several new functions. Most of them existed before but were static, or have been added to reduce the dependency on RenderTextControl for a lot of the text functionality.
25132        * page/AccessibilityObject.h:
25133
25134        Eliminated dependency on RenderTextControl cast. The information is generalized now and available directly through the AccessibilityObject.
25135        * page/mac/AccessibilityObjectWrapper.mm:
25136        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
25137        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
25138
251392008-04-29  Timothy Hatcher  <timothy@apple.com>
25140
25141        Make the exceptions that the InspectorController catches log the
25142        original file and line number, if present on the exception object.
25143
25144        Reviewed by Adam Roben.
25145
25146        * page/InspectorController.cpp:
25147        (WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION.
25148        (WebCore::InspectorController::~InspectorController): Ditto.
25149        (WebCore::InspectorController::scriptObjectReady): Ditto.
25150        (WebCore::InspectorController::addScriptResource): Ditto.
25151        (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
25152        (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
25153        (WebCore::InspectorController::updateScriptResource): Ditto.
25154        (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
25155        (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
25156        (WebCore::InspectorController::handleException): Take a context. Pull the line
25157        and sourceURL properties off the exception if it is an object.
25158        * page/InspectorController.h: Change handleException to take a context.
25159
251602008-04-29  Timothy Hatcher  <timothy@apple.com>
25161
25162        Fixes a regression where the Page's debugger would not be reattached
25163        when a new JSDOMWindow is created.
25164
25165        Reviewed by Sam Weinig.
25166
25167        * bindings/js/kjs_proxy.cpp:
25168        (WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow.
25169        * history/CachedPage.cpp:
25170        (WebCore::CachedPage::restore): For the case where the CachedPage doesn't
25171        contain a window, reattach the debugger to the new JSDOMWindow by calling
25172        proxy->attachDebugger. Also restore the setPageGroupIdentifier.
25173
251742008-04-29  Anatoli Papirovski  <apapirovski@mac.com>
25175
25176        Reviewed by Darin Adler.
25177
25178        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
25179        Fixed RGB and RGBA parsing to ignore the declaration when the value is not
25180        "either three integer values or three percentage values."
25181
25182        * css/CSSParser.cpp:
25183        (WebCore::CSSParser::parseColorParameters):
25184
251852008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
25186
25187        Reviewed by Simon.
25188
25189        Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent
25190
25191        Ben found this crash in the demo browser.
25192
25193        In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy,
25194
25195        case PolicyDownload:
25196        frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r);
25197        receivedError(interruptionForPolicyChangeError());
25198
25199        We are in a policy check, the download() call will call setHtml, which will start loading
25200        the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources
25201        which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which
25202        will use the m_frame->loader() but it is gone. Do not call into receivedError and
25203        interruptionForPolicyChangeError if we are gone anyway...
25204
25205        * loader/MainResourceLoader.cpp:
25206        (WebCore::MainResourceLoader::continueAfterContentPolicy):
25207
252082008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
25209
25210        Reviewed by Simon.
25211
25212        Rely on auto-boxing of C++ for the QCursor c'tor
25213
25214        * platform/qt/CursorQt.cpp:
25215
252162008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
25217
25218        Reviewed by Simon.
25219
25220        Add the remaining cursors that defaulted to PointerCursor
25221
25222        * Resources/WebKitResources.qrc:
25223        * platform/qt/CursorQt.cpp:
25224        (WebCore::verticalTextCursor):
25225        (WebCore::cellCursor):
25226        (WebCore::contextMenuCursor):
25227        (WebCore::copyCursor):
25228        (WebCore::progressCursor):
25229        (WebCore::aliasCursor):
25230
252312008-04-29  Alice Liu  <alice.liu@apple.com>
25232
25233        Reviewed by Beth Dakin.
25234
25235        Comply with HTML5 spec about parsing tabindex property according to
25236        integer parsing rules
25237
25238        Test: fast/parser/tabindex-parsing.html
25239
25240        * html/HTMLElement.cpp:
25241        (WebCore::HTMLElement::parseMappedAttribute):
25242
252432008-04-29  Tor Arne Vestbø  <tavestbo@trolltech.com>
25244
25245        Reviewed by Simon.
25246
25247        Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted.
25248
25249        https://bugs.webkit.org/show_bug.cgi?id=18482
25250
25251        We need to repaint scrollbars after a geometry change, and also make sure
25252        the computed clipping rect for the corners between scrollbars is propagated
25253        to the chrome client without beeing intersected by the visible content rect
25254        of the frame.
25255
25256        * platform/ScrollView.h:
25257        * platform/qt/ScrollViewQt.cpp:
25258        (WebCore::ScrollView::geometryChanged):
25259        (WebCore::ScrollView::suppressScrollbars):
25260        (WebCore::ScrollView::invalidateScrollbars):
25261
252622008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
25263
25264        Reviewed by Simon.
25265
25266        Calling QWebView::setCursor will override the WebCore Cursor.
25267        Calling QWebView::setCursor will override the WebCore Cursor using
25268        QWidget::unsetCursor will revert to the WebCore Cursor.
25269
25270        For detecting the unset we have to compare the shape of the
25271        cursor to the default arrow. Qt::WA_SetCursor can not be used
25272        as it is set unconditionally but conditionally removed.
25273
25274        Calling QWidget::setCursor will immediately send the CursorChange
25275        event. We listen to this event to decide if we currently use a
25276        WebCore cursor, got a cursor from outside, or revert to the default.
25277
25278        This should be race free and work reliable, the manual test for this
25279        is WebCore/manual-tests/cursor.html
25280
25281        * platform/qt/WidgetQt.cpp:
25282        (WebCore::Widget::setCursor):
25283
252842008-04-28  Dan Bernstein  <mitz@apple.com>
25285
25286        Reviewed by Maciej Stachowiak.
25287
25288        - fix https://bugs.webkit.org/show_bug.cgi?id=18795
25289          REGRESSION (r32660): Text heavier with text-shadow
25290
25291        * rendering/InlineTextBox.cpp:
25292        (WebCore::paintTextWithShadows): The loop was doing one extra pass
25293        without shadow even in cases where the last pass with a shadow was
25294        painting the text at the right position (rather than outside the clip).
25295        Fixed that. The only case where a separate pass without shadow is needed
25296        is when there is text-stroke, since in that case all shadow passes
25297        paint the text outside the clip.
25298
252992008-04-28  Brady Eidson <beidson@apple.com>
25300
25301        Reviewed by Sam Weinig
25302
25303        Add Storage.clear(), per updates to HTML5
25304
25305        Tests: storage/domstorage/localstorage/clear.html
25306               storage/domstorage/sessionstorage/clear.html
25307
25308        * storage/LocalStorageArea.cpp:
25309        (WebCore::LocalStorageArea::areaCleared):
25310        * storage/LocalStorageArea.h:
25311
25312        * storage/SessionStorageArea.cpp:
25313        (WebCore::SessionStorageArea::areaCleared):
25314        * storage/SessionStorageArea.h:
25315
25316        * storage/Storage.cpp:
25317        (WebCore::Storage::clear):
25318        * storage/Storage.h:
25319        * storage/Storage.idl:
25320
25321        * storage/StorageArea.cpp:
25322        (WebCore::StorageArea::internalClear):
25323        * storage/StorageArea.h:
25324        (WebCore::StorageArea::clear):
25325
253262008-04-28  Adele Peterson  <adele@apple.com>
25327
25328        Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
25329
25330        WebCore part of fix for <rdar://problem/3709505>
25331        Safari should have a way to upload bundles from the file upload control (as zip)
25332
25333        * WebCore.base.exp: Added symbols.
25334
25335        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded.
25336          It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.
25337
25338        * loader/FrameLoader.cpp:
25339        (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts.
25340        (WebCore::FrameLoader::loadItem): ditto.
25341        * loader/ResourceLoader.cpp:
25342        (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to.
25343        (WebCore::ResourceLoader::didCancel): ditto.
25344        (WebCore::ResourceLoader::didFail): ditto.
25345
25346        * platform/network/FormData.cpp:
25347        (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed.
25348        (WebCore::FormData::~FormData): Added.  Assert that there are no files that need to be removed, but if there are, release builds will still remove them here.
25349        (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement.
25350        (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to
25351         create any compressed files so the FormDataElements can store the paths.
25352        (WebCore::FormData::removeGeneratedFilesIfNeeded): Added.  Removes generated files and their directories (if empty).
25353        * platform/network/FormData.h:
25354        (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated,
25355         and a string to hold the path of the generated file.
25356
25357        * platform/network/mac/FormDataStreamMac.mm:
25358        (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file.
25359        (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.
25360
25361        * platform/FileSystem.h: Added directoryName.
25362        * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
25363        * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
25364        * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
25365        * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
25366        * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.
25367
25368        Added new ChromeClient methods to give the application control over the file compression for uploading.
25369        * page/Chrome.cpp:
25370        (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation.
25371        (WebCore::ChromeClient::generateReplacementFile): ditto.
25372        * page/ChromeClient.h:
25373
253742008-04-28  Anders Carlsson  <andersca@apple.com>
25375
25376        Reviewed by Sam, Mark, Adele and Darin.
25377
25378        Add a (currently not called) method for opening the application cache database.
25379        
25380        * WebCore.base.exp:
25381        * loader/appcache/ApplicationCacheStorage.cpp:
25382        (WebCore::ApplicationCacheStorage::setCacheDirectory):
25383        (WebCore::ApplicationCacheStorage::openDatabase):
25384        * loader/appcache/ApplicationCacheStorage.h:
25385
253862008-04-28  Alice Liu  <alice.liu@apple.com>
25387
25388        Reviewed by Darin.
25389
25390        Fix <rdar://problem/4911289> Add tabindex property to all children 
25391        of HTMLElement (7138)
25392        http://bugs.webkit.org/show_bug.cgi?id=7138
25393
25394        Test: fast/events/tabindex-focus-blur-all.html
25395
25396        * WebCore.xcodeproj/project.pbxproj:
25397        * bindings/objc/DOMPrivate.h:
25398        -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no
25399         longer needed
25400
25401        * bindings/objc/PublicDOMInterfaces.h:
25402        -Moving focus, blur, tabindex to HTMLElement from its descendants.
25403
25404        * dom/Node.cpp:
25405        (WebCore::Node::Node):
25406        (WebCore::Node::isFocusable):
25407        (WebCore::Node::isKeyboardFocusable):
25408        -The concept of being focusable now needs to account for tabindex
25409        attribute.
25410
25411        * dom/Node.h:
25412        -Need to use a bit to keep track of whether tabindex was explicitly set
25413         to 0 or was just initialized to 0.
25414        (WebCore::Node::tabIndex):
25415        -Make this virtual so that Anchors and GenericFormElements can determine
25416         tabindex without accounting for focusability
25417        (WebCore::Node::setTabIndexExplicitly):
25418        -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide
25419         behind and/or be confused for HTMLElement::setTabIndex
25420
25421        * html/HTMLAnchorElement.cpp:
25422        * html/HTMLAnchorElement.h:
25423        (WebCore::HTMLAnchorElement::tabIndex):
25424        * html/HTMLGenericFormElement.cpp:
25425        * html/HTMLGenericFormElement.h:
25426        (WebCore::HTMLGenericFormElement::tabIndex):
25427        -Anchors and form elements are normally focusable, and need to avert the
25428         check for focusability in HTMLElement::tabIndex
25429         because tabIndex could be queried before a first layout happens.
25430
25431        * html/HTMLElement.cpp:
25432        (WebCore::HTMLElement::parseMappedAttribute):
25433        -Function Node::setTabIndex changed to Node::setTabIndexExplicitly
25434        (WebCore::HTMLElement::isFocusable):
25435        -The concept of being focusable now needs to account for tabindex
25436         attribute.
25437        (WebCore::HTMLElement::tabIndex):
25438        -HTML5 specifies that querying tabindex for elements that aren't
25439         focusable shall return -1
25440        (WebCore::HTMLElement::setTabIndex):
25441        -New default implementation
25442        * html/HTMLElement.h:
25443
25444        * html/HTMLLegendElement.cpp:
25445        (WebCore::HTMLLegendElement::focus):
25446        -Now with HTML5's enhanced specification of tabindex, legend elements
25447         themselves shall focus (if they should), and not the first form element 
25448         they encapsulate.  This matches Firefox behavior.  HTMLLabelElements
25449         still forward focus to the encapsulated element.  This also matches
25450         other browsers. 
25451
25452        * html/HTMLAreaElement.cpp:
25453        (WebCore::HTMLAreaElement::isFocusable):
25454        * html/HTMLAreaElement.h:
25455        -HTMLAreaElement isn't subject to the same focusability requirements as
25456         its parent, HTMLAnchorElement. Default HTMLElement implementation is
25457         desired.  
25458
25459        * html/HTMLFieldSetElement.cpp:
25460        (WebCore::HTMLFieldSetElement::isFocusable):
25461        * html/HTMLLegendElement.cpp:
25462        (WebCore::HTMLLegendElement::isFocusable):
25463        * html/HTMLOptGroupElement.cpp:
25464        (WebCore::HTMLOptGroupElement::isFocusable):
25465        * html/HTMLOptionElement.cpp:
25466        (WebCore::HTMLOptionElement::isFocusable):
25467        -These elements aren't subject to the same focusability requirements as
25468         their parent, HTMLGenericFormElement. Default HTMLElement 
25469         implementation is desired.  
25470
25471        * html/HTMLAnchorElement.idl:
25472        * html/HTMLAreaElement.idl:
25473        * html/HTMLButtonElement.idl:
25474        * html/HTMLElement.idl:
25475        * html/HTMLInputElement.idl:
25476        * html/HTMLLabelElement.idl:
25477        * html/HTMLLegendElement.idl:
25478        * html/HTMLObjectElement.idl:
25479        * html/HTMLSelectElement.idl:
25480        * html/HTMLTextAreaElement.idl:
25481        -Moving tabindex attribute, focus and blur methods from descendants of
25482         HTMLElement to HTMLElement
25483
254842008-04-28  Dan Bernstein  <mitz@apple.com>
25485
25486        Reviewed by Dave Hyatt.
25487
25488        - support multiple box- and text-shadows
25489
25490        Tests: fast/css/shadow-multiple.html
25491               fast/repaint/shadow-multiple-horizontal.html
25492               fast/repaint/shadow-multiple-strict-horizontal.html
25493               fast/repaint/shadow-multiple-strict-vertical.html
25494               fast/repaint/shadow-multiple-vertical.html
25495
25496        * css/CSSComputedStyleDeclaration.cpp:
25497        (WebCore::valueForShadow): Changed to account for reversing the order
25498        of the shadow values in the ShadowData list.
25499
25500        * css/CSSValueList.cpp:
25501        (WebCore::CSSValueList::prepend): Added.
25502        * css/CSSValueList.h:
25503
25504        * rendering/InlineFlowBox.cpp:
25505        (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
25506        all shadows in overflow calculation.
25507        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
25508        (WebCore::InlineFlowBox::paint): Changed to account for all shadows
25509        when testing for intersection with the damage rect.
25510        (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
25511        shadows.
25512
25513        * rendering/InlineTextBox.cpp:
25514        (WebCore::paintTextWithShadows): Factored out from paint() and changed
25515        to paint all shadows.
25516        (WebCore::InlineTextBox::paint): Moved the text painting code out to
25517        paintTextWithShadows(). Changed to not paint shadows for markers and
25518        composition underlines and in "force black text" mode.
25519        (WebCore::InlineTextBox::paintSelection):
25520        (WebCore::InlineTextBox::paintCompositionBackground):
25521        (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
25522        * rendering/InlineTextBox.h: Changed some public methods to private
25523        or protected.
25524
25525        * rendering/RenderBlock.cpp:
25526        (WebCore::RenderBlock::overflowHeight): Changed to account for all
25527        shadows.
25528        (WebCore::RenderBlock::overflowWidth): Ditto.
25529        (WebCore::RenderBlock::overflowLeft): Ditto.
25530        (WebCore::RenderBlock::overflowTop): Ditto.
25531        (WebCore::RenderBlock::overflowRect): Ditto.
25532        (WebCore::RenderBlock::layoutBlock): Ditto.
25533
25534        * rendering/RenderFlexibleBox.cpp:
25535        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
25536
25537        * rendering/RenderLayer.cpp:
25538        (WebCore::RenderLayer::calculateRects): Ditto.
25539
25540        * rendering/RenderObject.cpp:
25541        (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
25542        Changed to avoid clipping out the box if it has a fully opaque
25543        background.
25544        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
25545        for all shadows.
25546        (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
25547        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
25548        account for all shadows.
25549
25550        * rendering/RenderReplaced.cpp:
25551        (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
25552
25553        * rendering/RenderStyle.cpp:
25554        (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
25555        so that the stacking order of shadows when painting will be "first o
25556        top".
25557        (WebCore::RenderStyle::setBoxShadow): Ditto.
25558
25559        * rendering/RenderTable.cpp:
25560        (WebCore::RenderTable::layout): Changed to account for all shadows.
25561
255622008-04-28  Adam Roben  <aroben@apple.com>
25563
25564        Fix some more Windows build errors in COMPtr
25565
25566        * platform/win/COMPtr.h:
25567        (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >,
25568        which is just a copy of PtrHash<RefPtr<P> >.
25569
255702008-04-28  Adam Roben  <aroben@apple.com>
25571
25572        Fix some Windows build errors in COMPtr
25573
25574        * platform/win/COMPtr.h: Explicitly name the WTF namespace when using
25575        HashTableDeletedValueType.
25576
255772008-04-28  Adam Roben  <aroben@apple.com>
25578
25579        Fix some Windows build errors in FontPlatfomrData
25580
25581        * platform/graphics/win/FontPlatformData.h: Removed the Deleted
25582        constructor and replaced it with a HashTableDeletedValueType
25583        constructor. Also added isHashTableDeletedValue() and
25584        hashTableDeletedFontValue().
25585
255862008-04-28  David Hyatt  <hyatt@apple.com>
25587
25588        https://bugs.webkit.org/show_bug.cgi?id=18780
25589
25590        Canvas can't draw itself into its own buffer.  Make sure the dirtying call comes after the image()
25591        has been accessed.  Technically willDraw should be renamed to didDraw and all calls should be moved
25592        to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
25593        a dirty copy either), but I'll take that up with olliej when he wakes up. :)
25594
25595        Reviewed by Dan Bernstein
25596
25597        Added fast/canvas/canvasDrawsIntoSelf.html
25598
25599        * html/CanvasRenderingContext2D.cpp:
25600        (WebCore::CanvasRenderingContext2D::drawImage):
25601
256022008-04-28  Alexey Proskuryakov  <ap@webkit.org>
25603
25604        Reviewed by Geoff Garen.
25605
25606        <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl
25607
25608        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
25609        (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger,
25610        as it will never be below 7.3 again. This change may make library loading happen earlier in
25611        some cases, hopefully, that's not a big deal.
25612
256132008-04-25  Alexey Proskuryakov  <ap@webkit.org>
25614
25615        Reviewed by Darin.
25616
25617        Fix run-webkit-tests --threading
25618        and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
25619        Proxy server issue in Sunday's Nightly
25620
25621        Adjusted for JavaScriptCore changes: added a new member to ClassInfo objects, turned
25622        ClassInfo::propHashTable into a function, made getPropertyAttributes() take an ExecState pointer.
25623
25624        * bindings/js/JSAudioConstructor.cpp:
25625        * bindings/js/JSDOMWindowBase.cpp:
25626        * bindings/js/JSDOMWindowCustom.cpp:
25627        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
25628        * bindings/js/JSDOMWindowWrapper.cpp:
25629        (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
25630        * bindings/js/JSDOMWindowWrapper.h:
25631        * bindings/js/JSEventTargetBase.h:
25632        (WebCore::JSEventTargetPrototype::classInfo):
25633        * bindings/js/JSHTMLInputElementBase.cpp:
25634        * bindings/js/JSHTMLOptionElementConstructor.cpp:
25635        * bindings/js/JSHistoryCustom.cpp:
25636        (WebCore::JSHistory::customGetOwnPropertySlot):
25637        * bindings/js/JSImageConstructor.cpp:
25638        * bindings/js/JSInspectedObjectWrapper.cpp:
25639        * bindings/js/JSInspectorCallbackWrapper.cpp:
25640        * bindings/js/JSLocationCustom.cpp:
25641        (WebCore::JSLocation::customGetOwnPropertySlot):
25642        (WebCore::JSLocation::customPut):
25643        * bindings/js/JSNamedNodesCollection.cpp:
25644        * bindings/js/JSQuarantinedObjectWrapper.cpp:
25645        * bindings/js/JSRGBColor.cpp:
25646        * bindings/js/JSStorageCustom.cpp:
25647        (WebCore::JSStorage::customPut):
25648        * bindings/js/JSXMLHttpRequestConstructor.cpp:
25649        * bindings/js/JSXSLTProcessor.cpp:
25650        * bindings/scripts/CodeGeneratorJS.pm:
25651        * bridge/objc/objc_runtime.mm:
25652        * bridge/runtime_array.cpp:
25653        * bridge/runtime_object.cpp:
25654
256552008-04-28  David Hyatt  <hyatt@apple.com>
25656
25657        https://bugs.webkit.org/show_bug.cgi?id=18779
25658
25659        The arguments in drawImage were reversed when I switched away from the image buffer method.
25660
25661        Reviewed by Tim Hatcher
25662
25663        Added fast/canvas/drawImage.html
25664
25665        * html/CanvasRenderingContext2D.cpp:
25666        (WebCore::CanvasRenderingContext2D::drawImage):
25667
256682008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
25669
25670        Reviewed by Simon.
25671
25672        Fix the crash on http://www.orad.pl. We called end too early.
25673
25674        1. we need a ::write that will pause the parser due a pending
25675        script
25676        2. we need a second write to queue data (tricky part)
25677        3. we need to get a finish call (document loaded)
25678        4. we resume the script and parse, schedule loading of a new script
25679        and have called end
25680        5. we resume the new script and we get a crash
25681
25682        This bug is hard to trigger, e.g. if the web server is only allowing
25683        one connection per client/IP. This is why we need to sleep in the scripts. We
25684        want to make sure that the page is first fully received before serving the
25685        scripts.
25686
25687        Test: http/tests/misc/xmltokenizer-do-not-crash.pl
25688
25689        * dom/XMLTokenizer.cpp:
25690
256912008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
25692
25693        Reviewed by Simon.
25694
25695        Fix rounded corner on combo box with CSS border
25696
25697        * platform/qt/RenderThemeQt.cpp:
25698        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
25699
257002008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
25701
25702        Reviewed by Simon.
25703
25704        Fix CSS border does not show up for combo boxes
25705
25706        Do not clear the border when painting the combo box for 'select' form element
25707
25708        * platform/qt/RenderThemeQt.cpp:
25709
257102008-04-28  Olivier Goffart  <ogoffart@trolltech.com>
25711
25712        Reviewed by Simon.
25713
25714        Avoid comparing to 0 in qFuzzyCompare for increased
25715        numeric stability.
25716
25717        * platform/graphics/qt/PathQt.cpp:
25718        (WebCore::Path::addArc):
25719
257202008-04-28  Benjamin Meyer  <bmeyer@trolltech.com>
25721
25722        Reviewed by Simon.
25723
25724        Fixes: Pages returning 404 with content are not displayed.
25725
25726        A web page that returns 404 can still have content.
25727
25728        * platform/network/qt/QNetworkReplyHandler.cpp:
25729        (WebCore::QNetworkReplyHandler::finish):
25730
257312008-04-28  Paul Olav Tvete  <paul@trolltech.com>
25732
25733        Reviewed by Simon.
25734
25735        Fix compiler warning; Avoid the implicity QString(const char *)
25736        constructor
25737
25738        * platform/qt/RenderThemeQt.cpp:
25739        (WebCore::RenderThemeQt::fallbackStyle):
25740
257412008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25742
25743        Reviewed by Simon.
25744
25745        Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.
25746
25747        * platform/qt/PlatformScrollBarQt.cpp:
25748        (WebCore::PlatformScrollbar::handleMousePressEvent):
25749
257502008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25751
25752        Reviewed by Simon.
25753
25754        Fix scrollbar behavior in QtWebKit to match QScrollBar.
25755
25756        Right click context menu is now supported, along with
25757        middle click to center slider thumb over mouse cursor.
25758
25759        * platform/qt/PlatformScrollBar.h:
25760        * platform/qt/PlatformScrollBarQt.cpp:
25761        (tr):
25762        (WebCore::PlatformScrollbar::pixelPosToRangeValue):
25763        (WebCore::PlatformScrollbar::handleMousePressEvent):
25764        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
25765        (WebCore::PlatformScrollbar::handleContextMenuEvent):
25766
257672008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25768
25769        Reviewed by Simon.
25770
25771        Implemented channel-based logging for QtWebKit.
25772
25773        Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
25774        Warnings for notImplemented() is still output by default, but can be disabled
25775        by setting DISABLE_NI_WARNINGS=1.
25776
25777        * WebCore.pro:
25778        * platform/NotImplemented.h:
25779        * platform/qt/LoggingQt.cpp: Added.
25780        (WebCore::getChannelFromName):
25781        (WebCore::InitializeLoggingChannelsIfNecessary):
25782
257832008-04-28  Simon Hausmann  <shausman@trolltech.com>
25784
25785        Reviewed by Holger.
25786
25787        Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens
25788
25789        Give the popups the right parent widget and the right coordinates relative within the parent.
25790
25791        * platform/qt/PopupMenuQt.cpp:
25792        (WebCore::PopupMenu::show):
25793
257942008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25795
25796        Reviewed by Simon.
25797
25798        Fixes: Tabbing to a checkbox/button doesn't work on Win/X11
25799
25800        Respect platform settings for tabbing to all controls.
25801
25802        * page/qt/EventHandlerQt.cpp:
25803
258042008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25805
25806        Reviewed by Simon.
25807
25808        First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11
25809
25810        Draw controls instead of pimitive elements, to get focus rects for free.
25811
25812        * platform/qt/RenderThemeQt.cpp:
25813        (WebCore::RenderThemeQt::paintButton):
25814
258152008-04-28  Lincoln Ramsay  <lincoln.ramsay@trolltech.com>
25816
25817        Reviewed by Simon.
25818
25819        Compile when QT_NO_CLIPBOARD is defined.
25820
25821        * platform/qt/ClipboardQt.cpp:
25822        (WebCore::ClipboardQt::ClipboardQt):
25823        (WebCore::ClipboardQt::clearData):
25824        (WebCore::ClipboardQt::clearAllData):
25825        (WebCore::ClipboardQt::setData):
25826        (WebCore::ClipboardQt::declareAndWriteDragImage):
25827        (WebCore::ClipboardQt::writeURL):
25828        (WebCore::ClipboardQt::writeRange):
25829        * platform/qt/PasteboardQt.cpp:
25830        (WebCore::Pasteboard::writeSelection):
25831        (WebCore::Pasteboard::plainText):
25832        (WebCore::Pasteboard::documentFragment):
25833        (WebCore::Pasteboard::writeURL):
25834        (WebCore::Pasteboard::writeImage):
25835
258362008-04-28  Ariya Hidayat  <ariya.hidayat@trolltech.com>
25837
25838        Reviewed by Simon.
25839
25840        Draw the arrow button on the styled combo box using the fallback ("Windows") style
25841
25842        * platform/qt/RenderThemeQt.cpp:
25843        (WebCore::RenderThemeQt::RenderThemeQt):
25844        (WebCore::RenderThemeQt::~RenderThemeQt):
25845        (WebCore::RenderThemeQt::fallbackStyle):
25846        (WebCore::RenderThemeQt::paintMenuListButton):
25847        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
25848        * platform/qt/RenderThemeQt.h:
25849
258502008-04-28  Simon Hausmann  <hausmann@webkit.org>
25851
25852        Reviewed by Holger.
25853
25854        Fix positioning of native widgets (plugins).
25855
25856        Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
25857        to be relative to the containing toplevel QWidget using convertToContainingWindow().
25858
25859        Note: convertToContainingWindow() takes child coordinates.
25860
25861        * platform/qt/WidgetQt.cpp:
25862        (WebCore::Widget::frameGeometry):
25863        (WebCore::Widget::setFrameGeometry):
25864
258652008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
25866
25867        Reviewed by Simon.
25868
25869        plugins: fix scrolling issues
25870
25871        When scrolling you can see artefacts that remain on the screen, they
25872        seem to originate from the backingstore handling. I'm not entirely sure
25873        where they come from, my workarounds involved a
25874        data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
25875        handling widgets with a native QWidget embedded like web pages with a
25876        static background. This needs more investigations, I think the ScrollView
25877        change is cleaner than the brute force in Widget::geometryChanged
25878
25879        Focus handling seems to be broken as well and needs further work, we don't
25880        clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
25881        the z-order is likely not honored as well.
25882
25883        * platform/ScrollView.h:
25884        * platform/qt/ScrollViewQt.cpp:
25885        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
25886        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
25887        (WebCore::ScrollView::addChild):
25888        (WebCore::ScrollView::removeChild):
25889        (WebCore::ScrollView::incrementNativeWidgetCount):
25890        (WebCore::ScrollView::decrementNativeWidgetCount):
25891        (WebCore::ScrollView::hasNativeWidgets):
25892
258932008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
25894
25895        Reviewed by Simon.
25896
25897        Add manual test to test placement of QWidgets in iframe's
25898
25899        * manual-tests/qt/main.html: Added.
25900        * manual-tests/qt/qtplugin.html: Added.
25901
259022008-04-28  Simon Hausmann  <hausmann@webkit.org>
25903
25904        Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
25905        SecurityOrigin.h. It's used in the file and also implicitly included
25906        through the database headers.
25907
25908        * page/DOMWindow.cpp:
25909
259102008-04-28  Simon Hausmann  <hausmann@webkit.org>
25911
25912        Prospective Wx build fix.
25913
25914        * platform/graphics/wx/FontPlatformData.h:
25915
259162008-04-28  Simon Hausmann  <hausmann@webkit.org>
25917
25918        Reviewed by Alp.
25919
25920        Gtk build fix, similar to the changes done in r32609.
25921
25922        * platform/graphics/gtk/FontPlatformData.h:
25923        (WebCore::FontPlatformData::FontPlatformData):
25924        (WebCore::FontPlatformData::isHashTableDeletedValue):
25925        (WebCore::FontPlatformData::hashTableDeletedFontValue):
25926
259272008-04-28  Simon Hausmann  <hausmann@webkit.org>
25928
25929        Prospective build fix. After r32609 it seems the workaround here
25930        is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
25931        is needed for compilation, after 32609 compilation only succeeds
25932        without the workaround.
25933
25934        * plugins/PluginPackage.h: Removed workaround of extra StorageTraits
25935        specification for the custom hash function of PluginPackage used in
25936        PluginSet.
25937
259382008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
25939
25940        Reviewed by Simon.
25941
25942        https://bugs.webkit.org/show_bug.cgi?id=18713
25943
25944        Fix scrollbar painting issues in QtWebKit.
25945
25946        Hovering and click-draging outside of the scrollbar would
25947        produce unexpected and inconcistent results. We also didn't
25948        pass on leave-events to the underlying WebKit code, which
25949        was nessecary to implement the paint fix.
25950
25951        * platform/qt/PlatformScrollBarQt.cpp:
25952        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
25953        (WebCore::PlatformScrollbar::handleMouseOutEvent):
25954        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
25955
259562008-04-27  Oliver Hunt  <oliver@apple.com>
25957
25958        Reviewed by Maciej.
25959
25960        Bug 17173: HTML5 Canvas API requires us to ignore certain operations
25961        <https://bugs.webkit.org/show_bug.cgi?id=17173>
25962
25963        This fixes the semantics of a number of Canvas functions to match
25964        the new HTML5 non-throwing semantics.
25965
25966        Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html
25967
25968        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
25969        (WebCore::JSCanvasRenderingContext2D::strokeRect):
25970        * html/CanvasRenderingContext2D.cpp:
25971        (WebCore::CanvasRenderingContext2D::moveTo):
25972        (WebCore::CanvasRenderingContext2D::lineTo):
25973        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
25974        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
25975        (WebCore::CanvasRenderingContext2D::arcTo):
25976        (WebCore::CanvasRenderingContext2D::arc):
25977        (WebCore::validateRectForCanvas):
25978        (WebCore::CanvasRenderingContext2D::rect):
25979        (WebCore::CanvasRenderingContext2D::clearRect):
25980        (WebCore::CanvasRenderingContext2D::fillRect):
25981        (WebCore::CanvasRenderingContext2D::strokeRect):
25982        * html/CanvasRenderingContext2D.h:
25983        * html/CanvasRenderingContext2D.idl:
25984
259852008-04-27  Rob Buis  <buis@kde.org>
25986
25987        Reviewed by Adele.
25988
25989        https://bugs.webkit.org/show_bug.cgi?id=18652
25990        onchange events don't seem to fire for input[type=range] controls.
25991
25992        Fire changeEvent when dragging the slider.
25993
25994        Test: fast/forms/slider-onchange-event.html
25995
25996        * rendering/RenderSlider.cpp:
25997        (WebCore::RenderSlider::valueChanged):
25998
259992008-04-25  Darin Adler  <darin@apple.com>
26000
26001        Reviewed by Maciej.
26002
26003        - update for compatibility with HashTable that no longer has optimization to share
26004          implementation between hash tables with integers, pointers, RefPtr, and String
26005          objects as keys
26006
26007        * bindings/js/JSSVGPODTypeWrapper.h:
26008        (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
26009        for HashTableDeletedValue.
26010        (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
26011        (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
26012        (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
26013
26014        * dom/Document.cpp: Made changedDocuments internal to the file rather than a
26015        static data member of Document.
26016        (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
26017        will never be called on a deleted element.
26018        (WebCore::FormElementKey::deref): Ditto.
26019
26020        * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
26021        to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
26022        Got rid of the changedDocuments data member. Changed iconURL to be an inline that
26023        returns a const String&.
26024
26025        * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use
26026        construct/isDeletedValue.
26027
26028        * page/mac/AXObjectCacheMac.mm:
26029        (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
26030
26031        * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
26032        with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
26033        SecurityOriginTraits, since we can now use the default traits. Changed the value of
26034        safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
26035        value using this hash function. I don't think it was safe before either; I'm not sure
26036        why it didn't cause a problem before.
26037
26038        * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
26039        longer needed.
26040
26041        * platform/graphics/FontCache.cpp:
26042        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
26043        for HashTableDeletedValue.
26044        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
26045        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
26046        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
26047        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
26048        (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
26049        (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
26050
26051        * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use
26052        construct/isDeletedValue.
26053
26054        * platform/graphics/mac/FontPlatformData.h:
26055        (WebCore::FontPlatformData::FontPlatformData): Added constructor for
26056        HashTableDeletedValue.
26057        (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
26058        (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
26059
26060        * platform/text/PlatformString.h:
26061        (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
26062        (WebCore::String::String): Added constructor for HashTableDeletedValue.
26063        (WebCore::String::isHashTableDeletedValue): Added.
26064        (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
26065
26066        * platform/text/StringHash.h: Changed specialization of HashTraits for
26067        WebCore::String to use the deleted value now defined in that class and removed
26068        the code to do ref/deref. Removed HashKeyStorageTraits specializations.
26069        
26070        * platform/win/COMPtr.h: Changed specialization of HashTraits for
26071        COMPtr to use the deleted value now defined in that class and removed
26072        the code to do ref/deref. Removed HashKeyStorageTraits specializations.
26073        (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
26074        (COMPtr::isHashTableDeletedValue): Added.
26075        (COMPtr::query): Removed inline keyword not needed since functions defined in the
26076        class definition are automatically marked inline.
26077        (COMPtr::hashTableDeletedValue): Added.
26078
26079        * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
26080        * storage/LocalStorage.h: Ditto.
26081        * storage/OriginQuotaManager.h: Ditto.
26082        * storage/SessionStorage.h: Ditto.
26083
26084        * svg/SVGAnimatedTemplate.h:
26085        (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
26086        for HashTableDeletedValue.
26087        (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
26088        (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
26089        (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
26090
260912008-04-27  Mark Rowe  <mrowe@apple.com>
26092
26093        Reviewed by Tim Hatcher.
26094
26095        Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.
26096
26097        * dom/XMLTokenizer.cpp:
26098
260992008-04-27  Dan Bernstein  <mitz@apple.com>
26100
26101        Reviewed by Darin Adler.
26102
26103        - fix https://bugs.webkit.org/show_bug.cgi?id=3729
26104          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
26105
26106        Test: editing/selection/move-left-right.html
26107
26108        * editing/SelectionController.cpp:
26109        (WebCore::SelectionController::modifyMovingRight): Added. Currently
26110        implemented for character granularity, all other being treated as
26111        "forward".
26112        (WebCore::SelectionController::modifyMovingForward): Renamed
26113        modifyMovingRightForward() to this.
26114        (WebCore::SelectionController::modifyMovingLeft): Added. Currently
26115        implemented for character granularity, all other being treated as
26116        "backward".
26117        (WebCore::SelectionController::modifyMovingBackward): Renamed
26118        modifyMovingLeftBackward() to this.
26119        (WebCore::SelectionController::modify): Changed to call either the
26120        visual (left/right) or logical (backward/forward) methods depending on
26121        the 'dir' argument for moves.
26122        * editing/SelectionController.h:
26123        * editing/VisiblePosition.cpp:
26124        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added.
26125        (WebCore::VisiblePosition::left): Added.
26126        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added.
26127        (WebCore::VisiblePosition::right): Added.
26128        * editing/VisiblePosition.h:
26129
261302008-04-27  Sam Weinig  <sam@webkit.org>
26131
26132        Reviewed by Maciej Stachowiak.
26133
26134        Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
26135        Add a JS constructor for CanvasRenderingContext2D.
26136
26137        * html/CanvasRenderingContext2D.idl:
26138        * page/DOMWindow.idl:
26139
261402008-04-26  Adam Barth  <hk9565@gmail.com>
26141
26142        Reviewed by Adam Roben and Sam Weinig.
26143
26144        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
26145        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848
26146        
26147        Updates postMessage implementation to match HTML 5 specification:
26148        1) Adds origin parameter to postMessage.
26149        2) Removes domain and uri attributes of MessageEvent in favor of
26150           origin attribute.
26151
26152        In order to do this correctly, we need to distinguish between hosts and domains
26153        in the SecurityOrigin class. There are now three ways to compare security origins:
26154        1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
26155        2) equal compares all aspects of the security origin, and is used for hash keys
26156        3) canAccess understands the semantics of schemes such as file:// and data:// URLs,
26157           and should be used for scripting access checks.
26158
26159        Changed SecurityOrigin::toString() to generate identifiers that are suitable for 
26160        being used as a MessageEvent's origin property. In the future, they could be used 
26161        as database string identifiers as well. Re-used KURL parser to parse serialized 
26162        SecurityOrigins.
26163
26164        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
26165        
26166        Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html
26167               http/tests/security/postMessage/javascript-page-still-sends-origin.html
26168               http/tests/security/postMessage/origin-unaffected-by-base-tag.html
26169               http/tests/security/postMessage/origin-unaffected-by-document-domain.html
26170               http/tests/security/postMessage/target-origin.html
26171
26172        * WebCore.base.exp:
26173        * bindings/js/JSDOMWindowCustom.cpp:
26174        (WebCore::JSDOMWindow::postMessage):
26175        * dom/Document.cpp:
26176        (WebCore::Document::domain):
26177        * dom/MessageEvent.cpp:
26178        (WebCore::MessageEvent::MessageEvent):
26179        (WebCore::MessageEvent::initMessageEvent):
26180        * dom/MessageEvent.h:
26181        (WebCore::MessageEvent::origin):
26182        * dom/MessageEvent.idl:
26183        * html/CanvasRenderingContext2D.cpp:
26184        (WebCore::CanvasRenderingContext2D::checkOrigin):
26185        (WebCore::CanvasRenderingContext2D::createPattern):
26186        * page/DOMWindow.cpp:
26187        (WebCore::DOMWindow::postMessage):
26188        * page/DOMWindow.h:
26189        * page/DOMWindow.idl:
26190        * platform/SecurityOrigin.cpp:
26191        (WebCore::SecurityOrigin::SecurityOrigin):
26192        (WebCore::SecurityOrigin::create):
26193        (WebCore::SecurityOrigin::createForFrame):
26194        (WebCore::SecurityOrigin::copy):
26195        (WebCore::SecurityOrigin::setDomainFromDOM):
26196        (WebCore::SecurityOrigin::canAccess):
26197        (WebCore::SecurityOrigin::isSecureTransitionTo):
26198        (WebCore::SecurityOrigin::toString):
26199        (WebCore::SecurityOrigin::createFromString):
26200        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
26201        (WebCore::SecurityOrigin::databaseIdentifier):
26202        (WebCore::SecurityOrigin::equal):
26203        (WebCore::SecurityOrigin::isSameSchemeHostPort):
26204        * platform/SecurityOrigin.h:
26205        (WebCore::SecurityOrigin::host):
26206        (WebCore::SecurityOrigin::domain):
26207        * platform/SecurityOriginHash.h:
26208        (WebCore::SecurityOriginTraits::deletedValue):
26209        * storage/DatabaseTracker.cpp:
26210        (WebCore::DatabaseTracker::hasEntryForDatabase):
26211        (WebCore::DatabaseTracker::originPath):
26212        (WebCore::DatabaseTracker::fullPathForDatabase):
26213        (WebCore::DatabaseTracker::populateOrigins):
26214        (WebCore::DatabaseTracker::databaseNamesForOrigin):
26215        (WebCore::DatabaseTracker::detailsForNameAndOrigin):
26216        (WebCore::DatabaseTracker::setDatabaseDetails):
26217        (WebCore::DatabaseTracker::setQuota):
26218        (WebCore::DatabaseTracker::addDatabase):
26219        (WebCore::DatabaseTracker::deleteOrigin):
26220        (WebCore::DatabaseTracker::deleteDatabase):
26221
262222008-04-26  Kevin Ollivier  <kevino@theolliviers.com>
26223
26224        wx build fix. Add the AX*ActionVerb functions to the wx build.
26225        
26226        * platform/wx/LocalizedStringsWx.cpp:
26227        (WebCore::AXButtonActionVerb):
26228        (WebCore::AXRadioButtonActionVerb):
26229        (WebCore::AXTextFieldActionVerb):
26230        (WebCore::AXCheckedCheckBoxActionVerb):
26231        (WebCore::AXUncheckedCheckBoxActionVerb):
26232        (WebCore::AXLinkActionVerb):
26233
262342008-04-26  Robin Dunn  <robin@alldunn.com>
26235
26236        Reviewed by Kevin Ollivier.
26237
26238        wx build fix. Add needed wx includes for compilation.
26239
26240        https://bugs.webkit.org/show_bug.cgi?id=18758
26241
26242        * platform/wx/FileSystemWx.cpp:
26243
262442008-04-26  Anatoli Papirovski  <apapirovski@mac.com>
26245
26246        Reviewed by Dave Hyatt.
26247
26248        Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
26249        WebKit should ignore declarations with a negative value for
26250        line-height and font-size, including in the shorthand font form.
26251
26252        Tests: fast/css/font-size-negative.html
26253               fast/css/line-height-negative.html
26254
26255        * css/CSSParser.cpp:
26256        (WebCore::CSSParser::parseValue):
26257        (WebCore::CSSParser::parseFont):
26258
262592008-04-25  Anders Carlsson  <andersca@apple.com>
26260
26261        Reviewed by Sam.
26262
26263        Add empty ApplicationCacheStorage class.
26264        
26265        * WebCore.vcproj/WebCore.vcproj:
26266        * WebCore.xcodeproj/project.pbxproj:
26267        * loader/appcache/ApplicationCacheStorage.cpp: Added.
26268        (WebCore::cacheStorage):
26269        * loader/appcache/ApplicationCacheStorage.h: Added.
26270
262712008-04-24  Sam Weinig  <sam@webkit.org>
26272
26273        Reviewed by Geoffrey Garen.
26274
26275        Replace the JSDOMWindow with a new one instead of clearing it.
26276
26277        * bindings/js/JSDOMWindowBase.cpp:
26278        (WebCore::JSDOMWindowBase::clear):
26279        Don't reset the window.
26280
26281        * bindings/js/kjs_proxy.cpp:
26282        (WebCore::KJSProxy::clear):
26283        Replace the current JSDOMWindow stored in the wrapper window
26284        with a new one.
26285
26286        * history/CachedPage.cpp:
26287        (WebCore::CachedPage::CachedPage):
26288        (WebCore::CachedPage::restore):
26289        (WebCore::CachedPage::clear):
26290        * history/CachedPage.h:
26291        Instead of storing the builtins, properties and localstorage in
26292        special holding structs, store the entire JSDOMWindow.
26293
26294        For the case of a page that has no JSDOMWindow before it's first
26295        navigation, has one created while it is in the cache and is then
26296        navigated back, create a new JSDOMWindow to keep the assumption
26297        in JSDOMWindowWrapper that it always has the correct window.
26298
26299        * loader/FrameLoader.cpp:
26300        (WebCore::FrameLoader::clear):
26301        We must clear the DOMWindow first, so that we create a new JSDOMWindow,
26302        it gets a new one.
26303
26304        * page/Frame.cpp:
26305        (WebCore::Frame::clearDOMWindow):
26306        Null out the domWindow so that on the next access, a new one is
26307        created.
26308
263092008-04-25  Sam Weinig  <sam@webkit.org>
26310
26311        Reviewed by Mark Rowe.
26312
26313        The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.
26314
26315        * bindings/js/JSDOMWindowBase.cpp:
26316        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
26317        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
26318        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
26319        * bindings/js/JSSVGLazyEventListener.cpp:
26320        (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
26321        * bindings/js/JSSVGLazyEventListener.h:
26322        * bindings/js/kjs_events.cpp:
26323        (WebCore::JSAbstractEventListener::handleEvent):
26324        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
26325        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
26326        (WebCore::JSUnprotectedEventListener::window):
26327        (WebCore::JSUnprotectedEventListener::clearWindow):
26328        (WebCore::JSEventListener::JSEventListener):
26329        (WebCore::JSEventListener::~JSEventListener):
26330        (WebCore::JSEventListener::window):
26331        (WebCore::JSEventListener::clearWindow):
26332        (WebCore::JSLazyEventListener::JSLazyEventListener):
26333        (WebCore::JSLazyEventListener::parseCode):
26334        * bindings/js/kjs_events.h:
26335        * bindings/js/kjs_proxy.cpp:
26336        (WebCore::KJSProxy::createHTMLEventHandler):
26337        (WebCore::KJSProxy::createSVGEventHandler):
26338
263392008-04-25  Mark Rowe  <mrowe@apple.com>
26340
26341        Rubber-stamped by Sam Weinig.
26342
26343        Add some content to an empty ICU header file to prevent verification errors.
26344
26345        * icu/unicode/utf_old.h:
26346
263472008-04-25  Anders Carlsson  <andersca@apple.com>
26348
26349        Fix tyop.
26350        
26351        * loader/DocumentLoader.cpp:
26352        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
26353
263542008-04-25  Anders Carlsson  <andersca@apple.com>
26355
26356        Reviewed by Sam.
26357
26358        Add and honor offlineWebApplicationCacheEnabled setting.
26359        
26360        * WebCore.base.exp:
26361        * loader/DocumentLoader.cpp:
26362        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
26363        * loader/MainResourceLoader.cpp:
26364        (WebCore::MainResourceLoader::load):
26365        * loader/appcache/ApplicationCacheGroup.cpp:
26366        (WebCore::ApplicationCacheGroup::selectCache):
26367        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
26368        * page/Settings.cpp:
26369        (WebCore::Settings::Settings):
26370        (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
26371        * page/Settings.h:
26372        (WebCore::Settings::offlineWebApplicationCacheEnabled):
26373
263742008-04-25  Anders Carlsson  <andersca@apple.com>
26375
26376        Reviewed by Adam.
26377
26378        <rdar://problem/5629139>
26379        PluginInfoStoreWin needs to implement pluginNameForMIMEType().
26380        
26381        * plugins/PluginInfoStore.cpp:
26382        (WebCore::PluginInfoStore::pluginNameForMIMEType):
26383
263842008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
26385
26386        Reviewed by Simon.
26387
26388        Respect antialiasing hint when drawing focus rects.
26389
26390        * platform/graphics/qt/GraphicsContextQt.cpp:
26391        (WebCore::GraphicsContext::drawFocusRing):
26392
263932008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26394
26395        Reviewed by Simon.
26396
26397        networking: Use Qt::QueuedConnection in QNetworkReplyHandler
26398
26399        Make sure we leave the networking backend before calling
26400        into WebCore. Otheriwse we might return to the networking
26401        backend when it is already deleted.
26402
26403        * platform/network/qt/QNetworkReplyHandler.cpp:
26404        (WebCore::FormDataIODevice::setParent):
26405        (WebCore::QNetworkReplyHandler::start):
26406
264072008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
26408
26409        Reviewed by Simon.
26410
26411        Fix propagation of mouse double click events.
26412
26413        Treat a mouse double click as a regular mouse press with just a different click count.
26414
26415        * platform/qt/PlatformMouseEventQt.cpp:
26416        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
26417
264182008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
26419
26420        Reviewed by Simon.
26421
26422        Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.
26423
26424        We now use pixel metrics instead of fixed sizes for the
26425        button margins, or if the style supports layout rects we
26426        use the delta between the content rect and the layout rect.
26427
26428        In adition we compensate for the difference between the size
26429        for content and the actual layout rect (if supported) by
26430        reporting back the layout rect to WebKit for page layout,
26431        and then inflating the rect we actually paint to.
26432
26433        * platform/qt/RenderThemeQt.cpp:
26434        (WebCore::StylePainter::StylePainter):
26435        (WebCore::StylePainter::~StylePainter):
26436        (WebCore::RenderThemeQt::RenderThemeQt):
26437        (WebCore::inflateButtonRect):
26438        (WebCore::RenderThemeQt::adjustRepaintRect):
26439        (WebCore::RenderThemeQt::isControlStyled):
26440        (WebCore::computeSizeBasedOnStyle):
26441        (WebCore::RenderThemeQt::setCheckboxSize):
26442        (WebCore::RenderThemeQt::paintCheckbox):
26443        (WebCore::RenderThemeQt::setRadioSize):
26444        (WebCore::RenderThemeQt::adjustButtonStyle):
26445        (WebCore::RenderThemeQt::setButtonSize):
26446        (WebCore::RenderThemeQt::setButtonPadding):
26447        (WebCore::RenderThemeQt::paintButton):
26448        (WebCore::RenderThemeQt::adjustMenuListStyle):
26449        (WebCore::RenderThemeQt::setPopupPadding):
26450        (WebCore::RenderThemeQt::paintMenuList):
26451        * platform/qt/RenderThemeQt.h:
26452
264532008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
26454
26455        Reviewed by Holger.
26456
26457        Fixes: Valgrind warnings about uninitilized variables used in jumps
26458
26459        * rendering/RenderText.cpp:
26460        (WebCore::RenderText::trimmedPrefWidths):
26461
264622008-04-25  Warwick Allison  <warwick@trolltech.com>
26463
26464        Reviewed by Simon.
26465
26466        Added simple getter function to PlatformScrollBar to return the
26467        maximum value. Needed in the WebKit/qt API.
26468
26469        * platform/qt/PlatformScrollBar.h:
26470
264712008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
26472
26473        Reviewed by Holger, Simon.
26474
26475        Implement NoDrop, ZoomIn, and ZoomOut cursors
26476
26477        * Resources/WebKitResources.qrc:
26478        * platform/qt/CursorQt.cpp:
26479        (WebCore::noDropCursor):
26480        (WebCore::notAllowedCursor):
26481        (WebCore::zoomInCursor):
26482        (WebCore::zoomOutCursor):
26483
264842008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26485
26486        Reviewed by Simon.
26487
26488        Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.
26489
26490        RenderBox will call us to paint the outline/background, it is handled the same as a
26491        TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt
26492
26493        * platform/qt/RenderThemeQt.cpp:
26494        (WebCore::RenderThemeQt::paintTextField):
26495
264962008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26497
26498        Reviewed by Simon.
26499
26500        No reason to exit the application when we can not paint something. Replace the Q_ASSERT
26501        with a runtime check. Return true to indicate that we did not handle the painting
26502        of this element.
26503
26504        * platform/qt/RenderThemeQt.cpp:
26505        (WebCore::RenderThemeQt::paintTextField):
26506
265072008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26508
26509        Reviewed by Simon.
26510
26511        Correct the comment. We are in painTextField and don't paint a button.
26512
26513        * platform/qt/RenderThemeQt.cpp:
26514        (WebCore::RenderThemeQt::paintTextField):
26515
265162008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26517
26518        Reviewed by Simon.
26519
26520        Allow ListboxAppearance to take focus as well. Stolen from Tor Arne
26521
26522        * platform/qt/RenderThemeQt.cpp:
26523        (WebCore::RenderThemeQt::supportsFocus):
26524
265252008-04-25  Simon Hausmann  <hausmann@webkit.org>
26526
26527        Reviewed by Holger.
26528
26529        Remove debug output.
26530
26531        * platform/network/qt/ResourceHandleQt.cpp:
26532        (WebCore::ResourceHandle::loadResourceSynchronously):
26533
265342008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
26535
26536        Reviewed by Simon.
26537
26538        Change the string for searchableIndexIntroduction() to match the mac
26539        and pass http/tests/misc/isindex-formdata.html
26540
26541        * platform/qt/Localizations.cpp:
26542
265432008-04-25  Simon Hausmann  <hausmann@webkit.org>
26544
26545        Reviewed by Holger.
26546
26547        When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.
26548
26549        * platform/network/qt/QNetworkReplyHandler.cpp:
26550        (WebCore::QNetworkReplyHandler::start):
26551
265522008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
26553
26554        Reviewed by Simon.
26555
26556        Fix crash in the networking layer.
26557
26558        Set the m_reply to null right after calling deleteLater().
26559
26560        * platform/network/qt/QNetworkReplyHandler.cpp:
26561        (WebCore::QNetworkReplyHandler::finish):
26562
265632008-04-24  Mark Rowe  <mrowe@apple.com>
26564
26565        Rubber-stamped by Oliver Hunt.
26566
26567        * WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
26568
265692008-04-24  Dan Bernstein  <mitz@apple.com>
26570
26571        Reviewed by Dave Hyatt.
26572
26573        - fix https://bugs.webkit.org/show_bug.cgi?id=18722
26574          <rdar://problem/5888360> REGRESSION (3.1 -> TOT): Webkit Nightly Build crashes when visiting i has a hotdog
26575
26576        Test: fast/dynamic/float-remove-above-line.html
26577
26578        * rendering/bidi.cpp:
26579        (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that
26580        do not intrude into the line to its floats vector. When such floats go
26581        away, they do not dirty the line (because they do not intersect with it)
26582        and having it keep them in its floats vector is what caused the crash.
26583
265842008-04-24  Justin Garcia  <justin.garcia@apple.com>
26585
26586        Reviewed by John Sullivan.
26587        
26588        It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
26589        that is passed to it.  Added a null check to prevent crashes in this situation (we won't crash but
26590        we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger 
26591        and help us understand what's going on.
26592
26593        * editing/markup.cpp:
26594        (WebCore::createMarkup):
26595
265962008-04-24  Mark Rowe  <mrowe@apple.com>
26597
26598        Reviewed by Sam Weinig.
26599
26600        Remove code for calculating the glyph cache size.
26601
26602        * WebCore.base.exp: Remove unused symbol.
26603        * platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
26604        * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
26605        * platform/mac/WebCoreSystemInterface.mm: Ditto.
26606
266072008-04-24  Mark Rowe  <mrowe@apple.com>
26608
26609        Reviewed by Sam Weinig.
26610
26611        Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
26612
26613        * WebCorePrefix.h:
26614
266152008-04-24  Cameron McCormack  <cam@mcc.id.au>
26616
26617        Reviewed by Maciej Stachowiak.
26618
26619        Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
26620        element cause a relayout.
26621
26622        Test: svg/dom/SVGRectElement/rect-modify-rx.svg
26623
26624        * svg/SVGRectElement.cpp:
26625        (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout()
26626        when the attribute is rx or ry.
26627        (WebCore::SVGRectElement::hasRelativeValues): Return true when the
26628        attribute is rx or ry, since they also can have relative values.
26629
266302008-04-24  Adam Barth  <hk9565@gmail.com>
26631
26632        Reviewed by Sam Weinig.
26633
26634        Update the XMLHttpRequest header black list to match the spec.
26635
26636        * xml/XMLHttpRequest.cpp:
26637        (WebCore::isSafeRequestHeader):
26638
266392008-04-22  Feng Qian  <feng@chromium.org>
26640
26641        Reviewed by Geoff Garen.
26642
26643        Fix https://bugs.webkit.org/show_bug.cgi?id=18677
26644        Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.
26645
26646        Test: fast/events/nested-window-event.html
26647
26648        * bindings/js/kjs_events.cpp:
26649        (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.
26650
266512008-04-24  Brady Eidson  <beidson@apple.com>
26652
26653        Reviewed by Teh Mitzpettel
26654
26655        Make it so PageGroups know what their own name is.
26656
26657        * WebCore.base.exp:
26658
26659        * page/Page.cpp:
26660        (WebCore::Page::setGroupName):
26661        (WebCore::Page::groupName):
26662        * page/Page.h:
26663
26664        * page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class.
26665        (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of
26666          the initial Page.
26667        (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
26668        * page/PageGroup.h:
26669        (WebCore::PageGroup::name):
26670
266712008-04-24  Adele Peterson  <adele@apple.com>
26672
26673        Reviewed by Darin.
26674
26675        Consolidate two versions of pathGetFileName.
26676
26677        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
26678        * platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here.
26679          If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
26680        * platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
26681        * platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
26682
266832008-04-24  Anders Carlsson  <andersca@apple.com>
26684
26685        Windows build fix.
26686        
26687        * html/HTMLFormElement.cpp:
26688        (WebCore::pathGetFilename):
26689
266902008-04-24  Anders Carlsson  <andersca@apple.com>
26691
26692        Don't crash when the string is empty.
26693        
26694        * html/HTMLMediaElement.cpp:
26695        (WebCore::parseTimeOffset):
26696
266972008-04-24  Dan Bernstein  <mitz@apple.com>
26698
26699        Reviewed by Darin Adler.
26700
26701        - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
26702          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
26703
26704        The three main changes in this patch are:
26705
26706        1) Making all inline boxes know their bidi level, instead of just text
26707           boxes knowing whether their bidi level is odd or even. This is
26708           required for the next change.
26709
26710        2) Replacing RenderObject::inlineBox() with
26711           Position::getInlineBoxAndOffset() in recognition of the fact that the
26712           inline box containing the primary caret for a position in a given
26713           node may belong to a different node's renderer.
26714
26715        3) Changing RenderObject::caretRect() to take an InlineBox parameter,
26716           and changing callers to call VisiblePosition::caretRect(), which
26717           locates the inline box, then calls caretRect() on the renderer for
26718           that box. This, combined with the previous change, ensures that the
26719           primary caret is rendered at the right place for positions that
26720           lie on a directionality boundary.
26721
26722        Test: platform/mac/editing/input/caret-primary-bidi.html
26723
26724        * WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity)
26725        constructor and VisiblePosition::caretRect(), and sorted.
26726
26727        * dom/Position.cpp:
26728        (WebCore::nextRenderedEditable): Adjusted for the removal of
26729        RenderObject::inlineBox().
26730        (WebCore::previousRenderedEditable): Ditto.
26731        (WebCore::Position::rendersInDifferentPosition): Ditto.
26732        (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box
26733        and the offset within that box at which the primary caret for this
26734        position should render.
26735
26736        * dom/Position.h:
26737
26738        * editing/DeleteSelectionCommand.cpp:
26739        (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call
26740        VisiblePosition::caretRect() instead of calling the RenderObject method.
26741
26742        * editing/SelectionController.cpp:
26743        (WebCore::caretY): Ditto.
26744        (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto.
26745        (WebCore::SelectionController::layout): Ditto.
26746
26747        * editing/VisiblePosition.cpp:
26748        (WebCore::VisiblePosition::caretRect): Changed to call
26749        getInlineBoxAndOffset() to get the correct inline box and call the
26750        renderer for that box.
26751
26752        * editing/VisiblePosition.h:
26753        (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience
26754        methods for getting the inline box and caret offset for a visible
26755        position, accounting for its affinity.
26756
26757        * editing/visible_units.cpp:
26758        (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset()
26759        instead of RenderObject::inlineBox().
26760        (WebCore::startPositionForLine):
26761        (WebCore::endPositionForLine):
26762        (WebCore::previousLinePosition): Ditto.
26763        (WebCore::nextLinePosition): Ditto.
26764
26765        * page/AccessibilityObject.cpp:
26766        (WebCore::updateAXLineStartForVisiblePosition): Ditto.
26767
26768        * page/Frame.cpp:
26769        (WebCore::Frame::firstRectForRange): Ditto.
26770
26771        * rendering/InlineBox.cpp:
26772        (WebCore::InlineBox::caretMinOffset): Changed to forward to the
26773        renderer.
26774        (WebCore::InlineBox::caretMaxOffset): Ditto.
26775        * rendering/InlineBox.h: Replaced the m_reversed bit, intended for use
26776        in InlineTextBox only, with six bits of the bidi level of the box,
26777        intended for use in all leaf inline boxes.
26778        (WebCore::InlineBox::InlineBox): Added missing initializer for
26779        m_dirOverride and initialized the bidi level.
26780        (WebCore::InlineBox::bidiLevel): Added this accessor.
26781        (WebCore::InlineBox::setBidiLevel): Ditto.
26782        (WebCore::InlineBox::direction): Ditto.
26783        (WebCore::InlineBox::caretLeftmostOffset): Added this convenience
26784        method.
26785        (WebCore::InlineBox::caretRightmostOffset): Ditto.
26786
26787        * rendering/InlineTextBox.cpp: Replaced all references to m_reversed
26788        with checking of direction().
26789        (WebCore::InlineTextBox::selectionRect):
26790        (WebCore::InlineTextBox::placeEllipsisBox):
26791        (WebCore::InlineTextBox::paint):
26792        (WebCore::InlineTextBox::paintSelection):
26793        (WebCore::InlineTextBox::paintCompositionBackground):
26794        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
26795        (WebCore::InlineTextBox::paintTextMatchMarker):
26796        (WebCore::InlineTextBox::textPos):
26797        (WebCore::InlineTextBox::offsetForPosition):
26798        (WebCore::InlineTextBox::positionForOffset):
26799
26800        * rendering/RenderBR.cpp: Removed inlineBox().
26801        * rendering/RenderBR.h: Ditto.
26802
26803        * rendering/RenderBox.cpp:
26804        (WebCore::RenderBox::caretRect): Changed to take an inline box and
26805        account for the direction of the box (or the renderer) in positioning
26806        the caret: in right-to-left boxes, the "before" position is to the right
26807        while "after" is to the left.
26808        * rendering/RenderBox.h:
26809
26810        * rendering/RenderFlow.cpp:
26811        (WebCore::RenderFlow::caretRect): Updated the signature.
26812        * rendering/RenderFlow.h:
26813
26814        * rendering/RenderObject.cpp:
26815        (WebCore::RenderObject::caretRect): Updated the signature.
26816        (WebCore::RenderObject::caretMaxOffset): Changed to return the child
26817        node count (or 1 if there are no children) for replaced elements, such
26818        as <select>s.
26819        * rendering/RenderObject.h:
26820
26821        * rendering/RenderReplaced.cpp: Removed caretMinOffset() and
26822        caretMaxOffset() because the base class implementation does the right
26823        thing for replaced objects now.
26824        * rendering/RenderReplaced.h:
26825
26826        * rendering/RenderSVGInlineText.cpp:
26827        (WebCore::RenderSVGInlineText::caretRect): Updated the signature.
26828        (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for
26829        the change from m_reversed to direction().
26830        * rendering/RenderSVGInlineText.h:
26831
26832        * rendering/RenderText.cpp:
26833        (WebCore::RenderText::caretRect): Changed to take an inline box and
26834        removed the code that used to find the inline for the given position.
26835        Changed use of m_reversed to use direction().
26836        (WebCore::RenderText::position): Changed use of m_reversed to use
26837        direction().
26838        * rendering/RenderText.h:
26839
26840        * rendering/RenderTextControl.cpp:
26841        (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the
26842        removal of RenderObject::inlineBox().
26843
26844        * rendering/RenderTreeAsText.cpp:
26845        (WebCore::writeTextRun): Changed to use direction() instead of
26846        m_reversed.
26847
26848        * rendering/SVGInlineTextBox.cpp: Ditto.
26849        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
26850        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
26851        (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
26852
26853        * rendering/SVGRenderTreeAsText.cpp: Ditto.
26854        (WebCore::writeSVGInlineTextBox):
26855
26856        * rendering/SVGRootInlineBox.cpp: Ditto.
26857        (WebCore::svgTextRunForInlineTextBox):
26858        (WebCore::cummulatedWidthOrHeightOfTextChunk):
26859        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
26860
26861        * rendering/bidi.cpp:
26862        (WebCore::RenderBlock::constructLine): Made this function set the
26863        bidi level on all leaf boxes.
26864
26865        * svg/SVGTextContentElement.cpp: Changed to use direction() instead of
26866        m_reversed.
26867        (WebCore::cumulativeCharacterRangeLength):
26868        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
26869
268702008-04-24  Sam Weinig  <sam@webkit.org>
26871
26872        Fix the world.
26873
26874        * bindings/js/kjs_proxy.cpp:
26875        (WebCore::KJSProxy::clear):
26876
268772008-04-24  Darin Adler  <darin@apple.com>
26878
26879        Reviewed by Geoff.
26880
26881        - fix crash in regression test where we'd ask a frame for a user agent string
26882          after the WebView was already closed
26883
26884        * loader/FrameLoader.cpp:
26885        (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is
26886        called on a frame that's already detached from its page.
26887        (WebCore::FrameLoader::scheduleLocationChange): Ditto.
26888        (WebCore::FrameLoader::scheduleRefresh): Ditto.
26889        (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto.
26890        (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called
26891        for a frame that's already detached from its page.
26892        (WebCore::FrameLoader::scheduleRedirection): Ditto.
26893        (WebCore::FrameLoader::startRedirectionTimer): Ditto.
26894
268952008-04-23  Timothy Hatcher  <timothy@apple.com>
26896
26897        Add a new callFunction helper function to remove duplicate code
26898        for calling JavaScript functions with arguments.
26899
26900        Reviewed by Darin Adler.
26901
26902        * page/InspectorController.cpp:
26903        (WebCore::InspectorController::callSimpleFunction): Call callFunction.
26904        (WebCore::InspectorController::callFunction): Extended version of the original
26905        callSimpleFunction, with script function arguments and an exception argument.
26906        (WebCore::InspectorController::focusNode): Use callFunction.
26907        (WebCore::InspectorController::addScriptResource): Ditto.
26908        (WebCore::InspectorController::removeScriptResource): Ditto.
26909        (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
26910        (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
26911        (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
26912        * page/InspectorController.h: Add callFunction.
26913
269142008-04-24  Anders Carlsson  <andersca@apple.com>
26915
26916        Reviewed by Sam.
26917
26918        Change some String arguments to be const references instead.
26919        
26920        * css/CSSRule.cpp:
26921        (WebCore::CSSRule::setCssText):
26922        * css/CSSRule.h:
26923        * html/HTMLFormElement.cpp:
26924        (WebCore::pathGetFilename):
26925        * html/HTMLMediaElement.cpp:
26926        (WebCore::parseTimeOffset):
26927        * page/EditorClient.h:
26928        * platform/SecurityOrigin.cpp:
26929        (WebCore::isDefaultPortForProtocol):
26930        * platform/graphics/MediaPlayer.cpp:
26931        (WebCore::MediaPlayer::load):
26932        * platform/graphics/MediaPlayer.h:
26933        * rendering/MediaControlElements.cpp:
26934        (WebCore::MediaControlInputElement::MediaControlInputElement):
26935        * rendering/MediaControlElements.h:
26936        * svg/animation/SVGSMILElement.cpp:
26937        (WebCore::SVGSMILElement::Condition::Condition):
26938        * svg/animation/SVGSMILElement.h:
26939        * svg/graphics/SVGImageEmptyClients.h:
26940        (WebCore::SVGEmptyEditorClient::shouldInsertText):
26941        * xml/XSLTProcessor.cpp:
26942        (WebCore::createFragmentFromSource):
26943
269442008-04-24  Justin Garcia  <justin.garcia@apple.com>
26945
26946        Reviewed by Darin Adler.
26947
26948        <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)
26949        
26950        * editing/TextIterator.cpp:
26951        (WebCore::TextIterator::advance): We emit an extra newline when leaving a
26952        block element that has atypical margin/padding. When we emit the extra newline, 
26953        it needs to be positioned after that block's contents, not after the block. 
26954        This is how we position the first newline, too, since the range for emitted newlines 
26955        should start where the line break begins visually.
26956
269572008-04-24  Anders Carlsson  <andersca@apple.com>
26958
26959        Reviewed by Adam.
26960
26961        Only avoid implicit entries when doing the initial caching.
26962        
26963        * loader/appcache/ApplicationCacheGroup.cpp:
26964        (WebCore::ApplicationCacheGroup::didReceiveResponse):
26965        (WebCore::ApplicationCacheGroup::startLoadingEntry):
26966
269672008-04-24  Kevin McCullough  <kmccullough@apple.com>
26968
26969        Reviewed by Adam and Sam.
26970
26971        -<rdar://problem/5770054> JavaScript profiler (10928)
26972        -Only profile the page group that starts profiling to avoid profiling
26973        tools that shouldn't be profiled unless explicitly requested to.
26974
26975        * bindings/js/kjs_proxy.cpp: When a new global object is created set its
26976        page group identifier.
26977        (WebCore::KJSProxy::clear):
26978        (WebCore::KJSProxy::initScript):
26979        * page/Console.cpp: When calling console.profile set the identifier of
26980        the page group being profiled.
26981        (WebCore::Console::profile):
26982        * page/PageGroup.cpp: Implement unique identifiers.
26983        (WebCore::getUniqueIdentifier):
26984        (WebCore::PageGroup::PageGroup):
26985        * page/PageGroup.h: Ditto.
26986        (WebCore::PageGroup::identifier):
26987
269882008-04-24  John Sullivan  <sullivan@apple.com>
26989
26990        Mac buid fix
26991
26992        * page/mac/WebCoreViewFactory.h:
26993        add declarations of six new AX methods that were added to LocalizedStrings.h
26994        
26995        * platform/mac/LocalizedStringsMac.mm:
26996        (WebCore::AXButtonActionVerb):
26997        implement by calling through to WebCoreViewFactory as we do with the other functions here
26998        (WebCore::AXRadioButtonActionVerb):
26999        ditto
27000        (WebCore::AXTextFieldActionVerb):
27001        ditto
27002        (WebCore::AXCheckedCheckBoxActionVerb):
27003        ditto
27004        (WebCore::AXUncheckedCheckBoxActionVerb):
27005        ditto
27006        (WebCore::AXLinkActionVerb):
27007        ditto
27008
270092008-04-24  Simon Hausmann  <hausmann@webkit.org>
27010
27011        Rubber-stamped by Lars
27012
27013        Fix text rendering in -reverse mode on Qt/Mac.
27014
27015        For Font::width() don't use a plain QFontMetrics object but also the properly
27016        setup QTextLayout that has the RTL/LTR force flags set.
27017
27018        * platform/graphics/qt/FontQt.cpp:
27019        (WebCore::Font::width):
27020
270212008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
27022
27023        Reviewed by Simon.
27024
27025        Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
27026        all drawing primitives in the HTML Canvas element.
27027
27028        This speeds up drawing of dashed outlines significantly.
27029
27030        Also preserve the anti-aliasing renderhint for transparency layers and
27031        get rid of the mostly unused device pointer.
27032
27033        * platform/graphics/qt/GraphicsContextQt.cpp:
27034        (WebCore::TransparencyLayer::TransparencyLayer):
27035        (WebCore::GraphicsContextPlatformPrivate::p):
27036        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
27037        (WebCore::GraphicsContext::beginTransparencyLayer):
27038        (WebCore::GraphicsContext::drawRect):
27039        (WebCore::GraphicsContext::drawLine):
27040        (WebCore::GraphicsContext::strokeArc):
27041
270422008-04-24  Paul Olav Tvete <paul@trolltech.com>
27043
27044        Reviewed by Simon.
27045
27046        Fix various compiler warnings related to QString(const char *)
27047        construction by using QLatin1String.
27048
27049        * bridge/qt/qt_instance.cpp:
27050        (KJS::Bindings::QtField::valueFromInstance):
27051        (KJS::Bindings::QtField::setValueToInstance):
27052        * dom/XMLTokenizer.cpp:
27053        * platform/graphics/qt/PathQt.cpp:
27054        (WebCore::Path::debugString):
27055
270562008-04-24  Morten Johan Sørvig  <msorvig@trolltech.com>
27057
27058        Reviewed by Simon.
27059
27060        Work around QMacStyle bug in repainting the vertical scrollbar.
27061
27062        We draw the scrollbar using HITheme but somehow the translation and the
27063        clipping we previously set using ClipCGContextToRegion is ignored. Drawing
27064        without the translation fixes the clip.
27065
27066        * platform/qt/PlatformScrollBarQt.cpp:
27067        (WebCore::PlatformScrollbar::paint):
27068
270692008-04-24  Holger Hans Peter Freyther  <zecke@selfish.org>
27070
27071        Reviewed by Simon.
27072
27073        * Set an expiration date for local files as we do not know what will happen
27074        to these files (in contrast to a http server with max-age and other headers)
27075        * Remember the time when we started the job and use that for the expiration date
27076        * QNetworkManager does not handle expiration at all, we might want to set the
27077        expiration for all downloads but this will be a performance nightmare.
27078
27079        * platform/network/qt/QNetworkReplyHandler.cpp:
27080        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
27081        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
27082        (WebCore::QNetworkReplyHandler::start):
27083        * platform/network/qt/QNetworkReplyHandler.h:
27084
270852008-04-24  Simon Hausmann  <hausmann@webkit.org>
27086
27087        Fix the Gtk and Qt builds.
27088
27089        Added missing localization stubs for accessibility.
27090
27091        * platform/gtk/LocalizedStringsGtk.cpp:
27092        (WebCore::AXButtonActionVerb):
27093        (WebCore::AXRadioButtonActionVerb):
27094        (WebCore::AXTextFieldActionVerb):
27095        (WebCore::AXCheckedCheckBoxActionVerb):
27096        (WebCore::AXUncheckedCheckBoxActionVerb):
27097        (WebCore::AXLinkActionVerb):
27098        * platform/qt/Localizations.cpp:
27099        (WebCore::AXButtonActionVerb):
27100        (WebCore::AXRadioButtonActionVerb):
27101        (WebCore::AXTextFieldActionVerb):
27102        (WebCore::AXCheckedCheckBoxActionVerb):
27103        (WebCore::AXUncheckedCheckBoxActionVerb):
27104        (WebCore::AXLinkActionVerb):
27105
271062008-04-24  Olivier Goffart  <ogoffart@trolltech.com>
27107
27108        Reviewed by Simon
27109
27110        Fix various compiler warnings in the Qt port.
27111
27112        * platform/graphics/qt/ImageQt.cpp:
27113        (loadResourcePixmap):
27114        * platform/qt/CookieJarQt.cpp:
27115        (WebCore::cookies):
27116        * platform/qt/ScrollViewQt.cpp:
27117        (WebCore::ScrollView::wheelEvent):
27118        * plugins/qt/PluginDataQt.cpp:
27119        (WebCore::PluginData::initPlugins):
27120
271212008-04-24  Andre Poenitz  <andre.poenitz@trolltech.com>
27122
27123        Reviewed by Simon.
27124
27125        Removed spurious QHideEvent forward declaration.
27126
27127        * platform/qt/QWebPopup.h:
27128
271292008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
27130
27131        Reviewed by Simon.
27132
27133        Render text areas using Qt (ensures proper style).
27134
27135        * platform/qt/RenderThemeQt.cpp:
27136        (WebCore::RenderThemeQt::paintTextField):
27137        (WebCore::RenderThemeQt::adjustTextFieldStyle):
27138        (WebCore::RenderThemeQt::paintTextArea):
27139        (WebCore::RenderThemeQt::supportsFocus):
27140        * platform/qt/RenderThemeQt.h:
27141
271422008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
27143
27144        Reviewed by Simon.
27145
27146        Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
27147        horizontal and vertical wheel events will scroll the view in the orientation
27148        of the scrollbar underneath the cursor.
27149
27150        * platform/qt/ScrollViewQt.cpp:
27151        (WebCore::ScrollView::paint):
27152        (WebCore::ScrollView::wheelEvent):
27153
271542008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27155
27156        Reviewed by Brady.
27157
27158        * page/AccessibilityObject.cpp:
27159        (WebCore::AccessibilityObject::press): Return false if this object
27160        doesn't have an action element associated with it.
27161        * page/AccessibilityObject.h: Added a performDefaultAction() method,
27162        which just calls press(). Marked press() const and changed its return
27163        type to bool.
27164
271652008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27166
27167        Reviewed by Adam.
27168
27169        Don't allow a hit test to return an AccessibilityObject that should be
27170        ignored.
27171
27172        * page/AccessibilityObject.cpp:
27173        (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result
27174        object's accessibility is ignored, return the parent unignored object.
27175
271762008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27177
27178        Reviewed by Adam.
27179
27180        Fix a crash when performing a hit test on an AccessibilityObject with
27181        no layer (e.g., an AccessibilityObject for a RenderText object).
27182
27183        * page/AccessibilityObject.cpp:
27184        (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null
27185        check for layer. Removed a null check for m_renderer, which shouldn't
27186        occur.
27187
271882008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27189
27190        * page/AccessibilityObject.cpp:
27191        (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this
27192        method not working correctly for objects with CSS transforms applied.
27193
271942008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27195
27196        Reviewed by Adam.
27197
27198        Implement contentsToScreen() and screenToContents() on Windows.
27199
27200        * platform/ScrollView.h: Make these declarations conditional on
27201        HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
27202        * platform/win/ScrollViewWin.cpp:
27203        (WebCore::ScrollView::contentsToScreen): Translate from coordinates
27204        relative to the ScrollView to coordinates relative to the screen. Do
27205        this by getting the offset of the ScrollView in screen coordinates and
27206        moving the rect by this amount.
27207        (WebCore::ScrollView::screenToContents): Translate from coordinates
27208        relative to the screen to coordinates relative to the ScrollView.
27209
272102008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
27211
27212        Reviewed by Oliver.
27213
27214        Add a method to get a localized, human-readable string stating this
27215        object's default action, e.g., a button's default action is "press."
27216
27217        * page/AccessibilityObject.cpp:
27218        (WebCore::AccessibilityObject::actionVerb): Added.
27219        * page/AccessibilityObject.h: Added declaration for actionVerb().
27220        * platform/LocalizedStrings.h: Added declarations for:
27221            AXButtonActionVerb()
27222            AXRadioButtonActionVerb()
27223            AXTextFieldActionVerb()
27224            AXCheckedCheckBoxActionVerb()
27225            AXUncheckedCheckBoxActionVerb()
27226            AXLinkActionVerb()
27227
272282008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
27229
27230        Reviewed by Simon.
27231
27232        Cleaned up copyright headers in the Qt port (removed misplaced class
27233        descriptions and fixed inconsistent whitespace and indentation).
27234
27235        * platform/graphics/qt/FontQt.cpp:
27236        * platform/qt/WheelEventQt.cpp:
27237
272382008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
27239
27240        Reviewed by Simon.
27241
27242        Disable vanlilla focus rings since Qt provides this as part of the style.
27243
27244        * platform/qt/RenderThemeQt.cpp:
27245
272462008-04-24  George Staikos  <george.staikos@torchmobile.com>
27247
27248        Reviewed by Simon.
27249
27250        This optimization in BitmapImage::drawPattern for the identity
27251        transform is bogus and causes incorrect results on sites like youtube.
27252
27253        * platform/graphics/qt/ImageQt.cpp:
27254        (WebCore::BitmapImage::drawPattern):
27255
272562008-04-23  Brady Eidson  <beidson@apple.com>
27257
27258        Reviewed by Jon Honeycutt
27259
27260        Preparing for making LocalStorageAreas persistent.
27261
27262        Since LocalStorageAreas will need to do a lot of additional work for each of the basic
27263        operations a Storage object supports, this patch makes the API entry points virtual so
27264        LocalStorageArea can override them.  The behavior for both Local and Session StorageAreas
27265        is unchanged with this patch, but LocalStorageArea will override them in the future.
27266
27267        * storage/StorageArea.cpp: Rename the implementations to internalFoo
27268        (WebCore::StorageArea::internalLength):
27269        (WebCore::StorageArea::internalKey):
27270        (WebCore::StorageArea::internalGetItem):
27271        (WebCore::StorageArea::internalSetItem):
27272        (WebCore::StorageArea::internalRemoveItem):
27273        (WebCore::StorageArea::internalContains):
27274
27275        * storage/StorageArea.h: Call internalFoo variants
27276        (WebCore::StorageArea::length):
27277        (WebCore::StorageArea::key):
27278        (WebCore::StorageArea::getItem):
27279        (WebCore::StorageArea::setItem):
27280        (WebCore::StorageArea::removeItem):
27281        (WebCore::StorageArea::contains):
27282
272832008-04-23  David Hyatt  <hyatt@apple.com>
27284
27285        Implement getComputedStyle for border-image.
27286
27287        Reviewed by Dan Bernstein
27288
27289        Added fast/css/getComputedStyle-border-image.html
27290
27291        * css/CSSComputedStyleDeclaration.cpp:
27292        (WebCore::valueForRepeatRule):
27293        (WebCore::valueForNinePieceImage):
27294        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27295
272962008-04-22  Darin Adler  <darin@apple.com>
27297
27298        Reviewed by Anders.
27299
27300        - simplify use of HashTraits to prepare for some upcoming hash table changes
27301
27302        * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different
27303        from the default hash traits for unsigned.
27304        * page/mac/AXObjectCacheMac.mm:
27305        (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done
27306        by HashTable that the value is not the deleted value.
27307
27308        * platform/graphics/StringTruncator.cpp: Removed unneeded include.
27309        * svg/SVGFontFaceElement.cpp: Removed unneeded include.
27310
273112008-04-23  Kevin Ollivier  <kevino@theolliviers.com>
27312
27313        wx build fixes. Changing BackgroundLayer -> FillLayer and adding
27314        Frame::disconnectPlatformScriptObjects().
27315
27316        * platform/wx/RenderThemeWx.cpp:
27317        (WebCore::RenderThemeWx::isControlStyled):
27318        * platform/wx/TemporaryLinkStubs.cpp:
27319        (Frame::disconnectPlatformScriptObjects):
27320
273212008-04-23  David Hyatt  <hyatt@apple.com>
27322
27323        Add support for mask-box-image (similar to border-image).  This property enables a single image
27324        to overlay the entire mask area (with nine-piece slicing rules similar to border image).
27325
27326        Reviewed by Dan Bernstein
27327
27328        Added inline-mask-overlay.html, block-mask-overlay.html
27329
27330        * css/CSSComputedStyleDeclaration.cpp:
27331        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27332        * css/CSSParser.cpp:
27333        (WebCore::CSSParser::parseValue):
27334        (WebCore::CSSParser::parseBorderImage):
27335        * css/CSSPropertyNames.in:
27336        * css/CSSStyleSelector.cpp:
27337        (WebCore::CSSStyleSelector::applyProperty):
27338        * rendering/InlineFlowBox.cpp:
27339        (WebCore::InlineFlowBox::paintMask):
27340        * rendering/RenderBox.cpp:
27341        (WebCore::RenderBox::paintMask):
27342        * rendering/RenderFlow.cpp:
27343        (WebCore::RenderFlow::paintLines):
27344        * rendering/RenderObject.cpp:
27345        (WebCore::RenderObject::paintNinePieceImage):
27346        (WebCore::RenderObject::paintBorder):
27347        * rendering/RenderObject.h:
27348        * rendering/RenderStyle.cpp:
27349        (WebCore::NinePieceImage::operator==):
27350        * rendering/RenderStyle.h:
27351        (WebCore::NinePieceImage::m_verticalRule):
27352        (WebCore::NinePieceImage::horizontalRule):
27353        (WebCore::NinePieceImage::verticalRule):
27354        (WebCore::RenderStyle::borderImage):
27355        (WebCore::RenderStyle::maskOverlayImage):
27356        (WebCore::RenderStyle::hasMask):
27357        (WebCore::RenderStyle::resetBorderImage):
27358        (WebCore::RenderStyle::setBorderImage):
27359        (WebCore::RenderStyle::setMaskOverlayImage):
27360        (WebCore::RenderStyle::initialNinePieceImage):
27361        * rendering/RenderTable.cpp:
27362        (WebCore::RenderTable::paintMask):
27363        * rendering/RenderTableCell.cpp:
27364        (WebCore::RenderTableCell::paintMask):
27365
273662008-04-23  Justin Garcia  <justin.garcia@apple.com>
27367
27368        Reviewed by Darin Adler.
27369
27370        <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div
27371
27372        * editing/htmlediting.cpp:
27373        (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if
27374        this function moves out of highestRoot.  Re-wrote so as to not duplicate code inside
27375        and outside of the while loop.
27376        (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
27377
273782008-04-23  Daniel Zucker  <zucker@wake3.com>
27379
27380        Reviewed by Adam Roben.
27381
27382        Fix build errors needed to compile Curl in Cairo build.  Add stubs for
27383        didReceiveAuthenticationChallenge, receivedCredential,
27384        receivedRequestToContinueWithoutCredential, and receivedCancellation.
27385        <https://bugs.webkit.org/show_bug.cgi?id=18468>
27386
27387        * platform/network/ResourceHandle.h:  
27388        * platform/network/curl/ResourceHandleCurl.cpp:
27389        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
27390        (WebCore::ResourceHandle::receivedCredential):
27391        (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
27392        (WebCore::ResourceHandle::receivedCancellation):
27393
273942008-04-23  Dan Bernstein  <mitz@apple.com>
27395
27396        Reviewed by Darin Adler.
27397
27398        - fix a bug where moving forward in bidirectional text skips over the
27399          position after the end of the line
27400
27401        Test: editing/selection/move-past-trailing-space.html
27402
27403        * dom/Position.cpp:
27404        (WebCore::Position::upstream): Changed the logic for identifying when a
27405        position is after the last character of a text box of a text node that
27406        continues on the next line, to make it work correctly when boxes are not
27407        laid out in logical order.
27408        (WebCore::Position::downstream): Ditto.
27409
274102008-04-23  Brad Hughes  <bhughes@trolltech.com>
27411
27412        Reviewed by Simon.
27413
27414        Fix release build with the intel compiler
27415
27416        Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0
27417
27418        * WebCore.pro:
27419
274202008-04-22  Dan Bernstein  <mitz@apple.com>
27421
27422        Reviewed by Anders Carlsson.
27423
27424        - remove unused calls to Position::upstream()
27425
27426        * editing/InsertLineBreakCommand.cpp:
27427        (WebCore::InsertLineBreakCommand::insertNodeAfterPosition):
27428        (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
27429
274302008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
27431
27432        Reviewed by Sam.
27433
27434        Add a method to query which modifier keys the platform uses for access
27435        key actions.
27436
27437        * page/EventHandler.cpp:
27438        (WebCore::EventHandler::handleAccessKey): Bitwise and the event's
27439        modifier keys with the platform's access key modifier mask to determine
27440        whether this event can perform an access key action.
27441        * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined
27442        mask of modifier keys used for access key actions, and a getter.
27443        * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for
27444        access key actions.
27445        * page/qt/EventHandlerQt.cpp: Same.
27446        * page/gtk/EventHandlerGtk.cpp: Use AltKey.
27447        * page/win/EventHandlerWin.cpp: Same.
27448        * page/wx/EventHandlerWx.cpp: Same.
27449        * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey.
27450        (WebCore::PlatformKeyboardEvent::):
27451        (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys
27452        were active, a combination of ModifierKey values.
27453
274542008-04-22  Sam Weinig  <sam@webkit.org>
27455
27456        Reviewed by Maciej Stachowiak.
27457
27458        Make the KJSProxy and FrameLoader member variables instead of pointers
27459        in FramePrivate in a bid to do a little clean up before the last of the
27460        split window patches.  Also, make the KJSProxy not lazily created, as the
27461        real benefit comes from lazily creating the JSDOMWindowWrapper, which we
27462        still do.
27463
27464        * page/Frame.cpp:
27465        (WebCore::Frame::~Frame):
27466        (WebCore::Frame::init):
27467        (WebCore::Frame::loader):
27468        (WebCore::Frame::scriptProxy):
27469        (WebCore::Frame::document):
27470        (WebCore::Frame::setDocument):
27471        (WebCore::Frame::clearScriptProxy):
27472        (WebCore::Frame::pageDestroyed):
27473        (WebCore::FramePrivate::FramePrivate):
27474        (WebCore::FramePrivate::~FramePrivate):
27475        * page/FramePrivate.h:
27476
274772008-04-22  Anatoli Papirovski  <apapirovski@mac.com>
27478
27479        Reviewed by Dan Bernstein.
27480
27481        - fix https://bugs.webkit.org/show_bug.cgi?id=18584
27482        border-color, outline-color, column-color, -webkit-text-stroke-color,
27483        and -webkit-text-fill-color inheritance to correctly use parent's color
27484        if the parent's corresponding (border, outline, etc.)-color property
27485        wasn't set.
27486
27487        Test: fast/borders/border-color-inherit.html
27488
27489        * css/CSSStyleSelector.cpp:
27490        (WebCore::CSSStyleSelector::applyProperty):
27491
274922008-04-22  Alp Toker  <alp@nuanti.com>
27493
27494        Rubber-stamped by Dave Hyatt.
27495
27496        Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
27497        GraphicsContextCairo.
27498
27499        * platform/graphics/GraphicsContext.cpp:
27500        * platform/graphics/cairo/GraphicsContextCairo.cpp:
27501        (WebCore::GraphicsContext::clipToImageBuffer):
27502
275032008-04-22  David Hyatt  <hyatt@apple.com>
27504
27505        Add support for mask-composite to match background-composite.
27506
27507        Reviewed by Sam Weinig
27508
27509        Added fast/backgrounds/mask-composite.html
27510
27511        * css/CSSComputedStyleDeclaration.cpp:
27512        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27513        * css/CSSParser.cpp:
27514        (WebCore::CSSParser::parseValue):
27515        (WebCore::CSSParser::parseFillProperty):
27516        * css/CSSPropertyNames.in:
27517        * css/CSSStyleSelector.cpp:
27518        (WebCore::CSSStyleSelector::applyProperty):
27519        * rendering/InlineFlowBox.cpp:
27520        (WebCore::InlineFlowBox::paintMask):
27521
275222008-04-22  David Hyatt  <hyatt@apple.com>
27523
27524        Fix for bug 18688, background-color stopped painting on inlines.  Fix a virtual function
27525        misnaming that led to the derived class not getting called properly.
27526
27527        Reviewed by Mark Rowe
27528
27529        * ChangeLog:
27530        * rendering/InlineFlowBox.cpp:
27531        (WebCore::InlineFlowBox::paintFillLayer):
27532        * rendering/RenderObject.h:
27533        (WebCore::RenderObject::paintFillLayerExtended):
27534
275352008-04-22  Brady Eidson  <beidson@apple.com>
27536
27537        Reviewed by Sam Weinig
27538
27539        <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
27540        Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.
27541
27542        * dom/Document.cpp:
27543        (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is
27544          finished parsing.
27545
27546        * loader/FrameLoader.cpp:
27547        (WebCore::FrameLoader::endIfNotLoadingMainResource):  Don't start the icon load here, when the
27548          document is finished parsing.  This was often too early, as document parsing may be blocked
27549          on an external script and therefore the correct iconURL is not set yet.
27550          The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing,
27551          and is now irrelevant.
27552        * loader/FrameLoader.h:  Make startIconLoader() public
27553
275542008-04-22  Antti Koivisto  <antti@apple.com>
27555
27556        Reviewed by Oliver.
27557
27558        Support keyPoints attribute of <animateMotion>.
27559        
27560        Tested by SVG test suite test
27561        animate-elem-33-t.svg
27562
27563        * svg/SVGAnimateMotionElement.cpp:
27564        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
27565        * svg/SVGAnimationElement.cpp:
27566        (WebCore::parseKeyTimes):
27567        (WebCore::SVGAnimationElement::parseMappedAttribute):
27568        (WebCore::SVGAnimationElement::calculatePercentForSpline):
27569        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
27570        (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
27571        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
27572        (WebCore::SVGAnimationElement::startedActiveInterval):
27573        (WebCore::SVGAnimationElement::updateAnimation):
27574        * svg/SVGAnimationElement.h:
27575
275762008-04-22  Holger Hans Peter Freyther  <zecke@selfish.org>
27577
27578        Unreviewed build fix.
27579
27580        Update WebKit.qrc to catch up with the addition and removal of images
27581        from page/inspector/Images in recent commits.
27582
27583        * page/inspector/WebKit.qrc:
27584
275852008-04-22  David Hyatt  <hyatt@apple.com>
27586
27587        Fix for <rdar://5589634>.
27588
27589        Implement CSS alpha masks.  The syntax is very similar to that used for backgrounds.  Multiple mask images
27590        can be specified, and each one can be tiled, positioned, etc.  The following new properties have been
27591        added (all of which are analogous to their background-* counterparts).
27592
27593        mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
27594
27595        The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
27596        alpha of 0 = don't show).
27597
27598        SVG images and CSS gradients can also be used as masks.
27599
27600        Reviewed by Dan
27601
27602        Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
27603
27604        * css/CSSMutableStyleDeclaration.cpp:
27605        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
27606        (WebCore::initShorthandMap):
27607        * css/CSSParser.cpp:
27608        (WebCore::CSSParser::parseFillProperty):
27609        (WebCore::CSSParser::parseTransformOrigin):
27610        * css/CSSStyleSelector.cpp:
27611        (WebCore::CSSStyleSelector::adjustRenderStyle):
27612        (WebCore::CSSStyleSelector::applyProperty):
27613        * rendering/InlineFlowBox.cpp:
27614        (WebCore::InlineFlowBox::paint):
27615        (WebCore::InlineFlowBox::paintFillLayers):
27616        (WebCore::InlineFlowBox::paintFillLayer):
27617        (WebCore::InlineFlowBox::paintBoxDecorations):
27618        (WebCore::InlineFlowBox::paintMask):
27619        * rendering/InlineFlowBox.h:
27620        * rendering/RenderBlock.cpp:
27621        (WebCore::RenderBlock::paint):
27622        (WebCore::RenderBlock::paintObject):
27623        * rendering/RenderBox.cpp:
27624        (WebCore::RenderBox::paintRootBoxDecorations):
27625        (WebCore::RenderBox::paintBoxDecorations):
27626        (WebCore::RenderBox::paintMask):
27627        (WebCore::RenderBox::paintFillLayers):
27628        (WebCore::RenderBox::paintFillLayer):
27629        (WebCore::RenderBox::paintFillLayerExtended):
27630        * rendering/RenderBox.h:
27631        * rendering/RenderFieldset.cpp:
27632        (WebCore::RenderFieldset::paintBoxDecorations):
27633        (WebCore::RenderFieldset::paintMask):
27634        * rendering/RenderFieldset.h:
27635        * rendering/RenderInline.cpp:
27636        (WebCore::RenderInline::requiresLayer):
27637        * rendering/RenderLayer.cpp:
27638        (WebCore::RenderLayer::isTransparent):
27639        (WebCore::RenderLayer::paintLayer):
27640        * rendering/RenderObject.cpp:
27641        (WebCore::RenderObject::requiresLayer):
27642        (WebCore::mustRepaintFillLayers):
27643        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
27644        (WebCore::RenderObject::setStyle):
27645        (WebCore::RenderObject::updateFillImages):
27646        * rendering/RenderObject.h:
27647        (WebCore::RenderObject::hasMask):
27648        (WebCore::RenderObject::paintMask):
27649        (WebCore::RenderObject::paintFillExtended):
27650        * rendering/RenderReplaced.cpp:
27651        (WebCore::RenderReplaced::paint):
27652        * rendering/RenderStyle.cpp:
27653        (WebCore::FillLayer::FillLayer):
27654        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
27655        * rendering/RenderStyle.h:
27656        (WebCore::FillLayer::initialFillComposite):
27657        (WebCore::FillLayer::initialFillSize):
27658        (WebCore::FillLayer::FillLayer):
27659        (WebCore::RenderStyle::hasMask):
27660        * rendering/RenderTable.cpp:
27661        (WebCore::RenderTable::paint):
27662        (WebCore::RenderTable::paintBoxDecorations):
27663        (WebCore::RenderTable::paintMask):
27664        * rendering/RenderTable.h:
27665        * rendering/RenderTableCell.cpp:
27666        (WebCore::RenderTableCell::requiresLayer):
27667        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
27668        (WebCore::RenderTableCell::paintMask):
27669        * rendering/RenderTableCell.h:
27670        * rendering/RenderWidget.cpp:
27671        (WebCore::RenderWidget::paint):
27672        * svg/graphics/SVGImage.cpp:
27673        (WebCore::SVGImage::draw):
27674        (WebCore::SVGImage::dataChanged):
27675
276762008-04-22  Sam Weinig  <sam@webkit.org>
27677
27678        Reviewed by Geoffrey Garen.
27679
27680        Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
27681        the DOMWindow.
27682
27683        To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
27684        after a navigation once the split window is completed, the DOMAbstractView must
27685        wrap the Frame instead of a DOMWindow since the DOMWindow will change.
27686
27687        * WebCore.xcodeproj/project.pbxproj:
27688        * bindings/objc/DOMAbstractView.mm: Added.
27689        (-[DOMAbstractView dealloc]):
27690        (-[DOMAbstractView finalize]):
27691        (-[DOMAbstractView document]):
27692        (-[DOMAbstractView _disconnectFrame]):
27693        (-[DOMAbstractView WebCore::]):
27694        (-[DOMAbstractView _initWithFrame:WebCore::]):
27695        (+[DOMAbstractView _wrapAbstractView:WebCore::]):
27696        Add custom implementation to implement weak reference semantics.
27697
27698        * bindings/objc/DOMAbstractViewFrame.h: Added.
27699        Declare the [DOMAbstractView _disconectFrame] selector.
27700        * bindings/objc/DOMInternal.h:
27701        Remove DOMRGBColor Internal category since it is now generated.
27702
27703        * bindings/objc/DOMUtility.mm:
27704        (KJS::createDOMWrapper):
27705        Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
27706
27707        * bindings/scripts/CodeGeneratorObjC.pm:
27708        Generate internal header for IDLs that want custom implementations.
27709
27710        * css/RGBColor.idl:
27711        Make this a PODType as it really is in the implementation.
27712
27713        * page/AbstractView.idl:
27714        This now needs a custom objective-c binding implementation.
27715
27716        * page/Frame.cpp:
27717        (WebCore::Frame::~Frame):
27718        disconnect the weak frame reference in the WindowScriptObject.
27719
27720        * page/Frame.h:
27721        * page/gtk/FrameGtk.cpp:
27722        (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
27723        * page/mac/FrameMac.mm:
27724        (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView.
27725        (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
27726        * page/qt/FrameQt.cpp:
27727        (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
27728        * page/win/FrameWin.cpp:
27729        (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
27730
277312008-04-22  Dan Bernstein  <mitz@apple.com>
27732
27733        Reviewed by Sam Weinig.
27734
27735        - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
27736          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
27737
27738        * rendering/bidi.cpp:
27739        (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
27740        trailing white space a bidi level consistent with its position.
27741
277422008-04-22  Timothy Hatcher  <timothy@apple.com>
27743
27744        Remove many unused Web Inspector images.
27745
27746        Rubber-stamped by Adam Roben and Sam Weinig.
27747
27748        * page/inspector/Images/attachedShadow.png: Removed.
27749        * page/inspector/Images/backNormal.png: Removed.
27750        * page/inspector/Images/bottomShadow.png: Removed.
27751        * page/inspector/Images/breadcrumbBackground.png: Removed.
27752        * page/inspector/Images/console.png: Removed.
27753        * page/inspector/Images/databaseBrowserViewNormal.png: Removed.
27754        * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
27755        * page/inspector/Images/databaseBrowserViewSmall.png: Removed.
27756        * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
27757        * page/inspector/Images/databaseQueryViewNormal.png: Removed.
27758        * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
27759        * page/inspector/Images/databaseQueryViewSmall.png: Removed.
27760        * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
27761        * page/inspector/Images/disclosureDownPressed.png: Removed.
27762        * page/inspector/Images/disclosureRightDown.png: Removed.
27763        * page/inspector/Images/disclosureRightPressed.png: Removed.
27764        * page/inspector/Images/document.png: Removed.
27765        * page/inspector/Images/domViewNormal.png: Removed.
27766        * page/inspector/Images/domViewNormalSelected.png: Removed.
27767        * page/inspector/Images/domViewSmall.png: Removed.
27768        * page/inspector/Images/domViewSmallSelected.png: Removed.
27769        * page/inspector/Images/downTriangle.png: Removed.
27770        * page/inspector/Images/folder.png: Removed.
27771        * page/inspector/Images/forwardNormal.png: Removed.
27772        * page/inspector/Images/gradient.png: Removed.
27773        * page/inspector/Images/gradientHighlight.png: Removed.
27774        * page/inspector/Images/gradientHighlightBottom.png: Removed.
27775        * page/inspector/Images/hideStatusWidget.png: Removed.
27776        * page/inspector/Images/hideStatusWidgetPressed.png: Removed.
27777        * page/inspector/Images/network.png: Removed.
27778        * page/inspector/Images/plainDocument.png: Removed.
27779        * page/inspector/Images/popupArrows.png: Removed.
27780        * page/inspector/Images/popupArrowsBlack.png: Removed.
27781        * page/inspector/Images/reload.png: Removed.
27782        * page/inspector/Images/rightTriangle.png: Removed.
27783        * page/inspector/Images/showStatusWidget.png: Removed.
27784        * page/inspector/Images/showStatusWidgetPressed.png: Removed.
27785        * page/inspector/Images/sidbarItemBackground.png: Removed.
27786        * page/inspector/Images/sidebarActionWidget.png: Removed.
27787        * page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
27788        * page/inspector/Images/sidebarAttachWidget.png: Removed.
27789        * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
27790        * page/inspector/Images/sidebarDetachWidget.png: Removed.
27791        * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
27792        * page/inspector/Images/sidebarResizeWidget.png: Removed.
27793        * page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
27794        * page/inspector/Images/sourceViewNormal.png: Removed.
27795        * page/inspector/Images/sourceViewNormalSelected.png: Removed.
27796        * page/inspector/Images/sourceViewSmall.png: Removed.
27797        * page/inspector/Images/sourceViewSmallSelected.png: Removed.
27798        * page/inspector/Images/tab.png: Removed.
27799        * page/inspector/Images/tabSelected.png: Removed.
27800        * page/inspector/Images/toggleDown.png: Removed.
27801        * page/inspector/Images/toggleUp.png: Removed.
27802        * page/inspector/Images/toolbarButtonNormal.png: Removed.
27803        * page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
27804        * page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
27805        * page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
27806        * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
27807        * page/inspector/Images/toolbarButtonSmall.png: Removed.
27808        * page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
27809        * page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
27810        * page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
27811        * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
27812        * page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
27813        * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
27814        * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
27815        * page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
27816        * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
27817        * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
27818        * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
27819        * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
27820        * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
27821        * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
27822        * page/inspector/Images/treeLeftTriangleBlack.png: Removed.
27823
278242008-04-22  Anders Carlsson  <andersca@apple.com>
27825
27826        Reviewed by Darin.
27827
27828        Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
27829
27830        * bridge/npapi.h:
27831        * bridge/npruntime.h:
27832        * plugins/npfunctions.h:
27833
278342008-04-22  Alice Liu  <alice.liu@apple.com>
27835
27836        Reviewed by John Sullivan and Adam Roben.
27837
27838        Test: fast/events/tabindex-focus-chain.html
27839
27840        * dom/Document.cpp:
27841        (WebCore::Document::nextFocusableNode):
27842        (WebCore::Document::previousFocusableNode):
27843        If the focused node has been removed from the normal tabbing order,
27844        advancing focus from this node should advance to the next focusable
27845        node in tree order, and not start over at the beginning of the focus
27846        chain. 
27847
278482008-04-22  Timothy Hatcher  <timothy@apple.com>
27849
27850        Adds a debugger toggle button to the scripts status bar that will start
27851        and stop debugging of the inspected page.
27852
27853        Reviewed by Adam Roben.
27854
27855        * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
27856        * page/InspectorController.cpp:
27857        (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
27858        (WebCore::InspectorController::InspectorController): Initialize
27859        m_debuggerAttached to false.
27860        (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
27861        property to the InspectorController class.
27862        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
27863        Set m_debuggerAttached to true.
27864        (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
27865        * page/InspectorController.h:
27866        * page/inspector/Images/debuggingButtons.png: Added.
27867        * page/inspector/ScriptsPanel.js:
27868        (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
27869        button and setup the id, className and event listener. Call reset.
27870        (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
27871        (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
27872        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
27873        the debugging button to match what will happen when clicked. Change the style class,
27874        and toggle the disabled state of the pause button.
27875        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
27876        depending on InspectorController.debuggerAttached().
27877        * page/inspector/inspector.css: Added style rules for the debugger button.
27878
278792008-04-21  Adam Roben  <aroben@apple.com>
27880
27881        Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
27882
27883        Reviewed by Dan Bernstein.
27884
27885        * platform/win/WheelEventWin.cpp:
27886        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
27887        GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
27888        delta (it is equivalent to what we were previously doing, however).
27889
278902008-04-22  Simon Hausmann  <hausmann@webkit.org>
27891
27892        Qt build fix.
27893
27894        Adjust the Qt resource file to removed image files.
27895
27896        * page/inspector/WebKit.qrc:
27897
278982008-04-21  Timothy Hatcher  <timothy@apple.com>
27899
27900        Use CSS gradients to replace many image files in the Web Inspector.
27901
27902        Rubber-stamped by Adam Roben.
27903
27904        * page/inspector/Images/alternateTableRows.png: Removed.
27905        * page/inspector/Images/darkShadow.png: Removed.
27906        * page/inspector/Images/paneHeader.png: Removed.
27907        * page/inspector/Images/paneHeaderActive.png: Removed.
27908        * page/inspector/Images/sidebarSelection.png: Removed.
27909        * page/inspector/Images/sidebarSelectionBackground.png: Removed.
27910        * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
27911        * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
27912        * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
27913        * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
27914        * page/inspector/Images/sidebarSelectionGray.png: Removed.
27915        * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
27916        * page/inspector/Images/sidebarSelectionTall.png: Removed.
27917        * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
27918        * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
27919        * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
27920        * page/inspector/Images/toolbarBackground.png: Removed.
27921        * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
27922        * page/inspector/inspector.css:
27923
279242008-04-22  Andre Poenitz  <andre.poenitz@trolltech.com>
27925
27926        Reviewed by Simon.
27927
27928        Remove compiler warnings on string literals used to construct QStrings
27929        in webkit.
27930
27931        * bridge/qt/qt_instance.cpp:
27932        (KJS::Bindings::QtField::valueFromInstance):
27933        (KJS::Bindings::QtField::setValueToInstance):
27934        * bridge/qt/qt_runtime.cpp:
27935        (KJS::Bindings::convertValueToQVariant):
27936        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
27937
279382008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
27939
27940        Reviewed by Simon.
27941
27942        Fall back to last path component for suggested filename if the HTTP content disposition is not set.
27943
27944        * platform/network/qt/QNetworkReplyHandler.cpp:
27945        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
27946
279472008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
27948
27949        Reviewed by Simon.
27950
27951        Implemented the generation of the title string for images.
27952
27953        * platform/qt/Localizations.cpp:
27954
279552008-04-22  Simon Hausmann  <hausmann@webkit.org>
27956
27957        Qt build fix.
27958
27959        * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
27960        the signature in the base class.
27961        * platform/qt/RenderThemeQt.h: Ditto.
27962
279632008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
27964
27965        Reviewed by Darin.
27966
27967        Add a method to get the AccessibilityObject's access key,
27968
27969        * page/AccessibilityObject.cpp:
27970        (WebCore::AccessibilityObject::accessKey): Added; returns the object's
27971        access key attribute.
27972        * page/AccessibilityObject.h: Added declaration for accessKey().
27973
279742008-04-21  Sam Weinig  <sam@webkit.org>
27975
27976        Reviewed by Anders Carlsson.
27977
27978        Fix numerous crashing tests.
27979
27980        * html/HTMLHtmlElement.cpp:
27981        (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
27982
279832008-04-21  Dan Bernstein  <mitz@apple.com>
27984
27985        Reviewed by Darin Adler.
27986
27987        Tests: fast/media/implicit-media-all.html
27988               fast/media/monochrome.html
27989
27990        - allow implicit "all" media in media queries
27991        - use a value of 0 for the monochrome media feature on color displays
27992
27993        * css/CSSGrammar.y:
27994        * css/CSSParser.cpp:
27995        (WebCore::CSSParser::createFloatingMediaQuery):
27996        * css/CSSParser.h:
27997        * css/MediaQueryEvaluator.cpp:
27998        (WebCore::monochromeMediaFeatureEval):
27999
280002008-04-21  Brady Eidson  <beidson@apple.com>
28001
28002        Rockingly reviewed by Adele
28003
28004        Small StorageArea cleanups
28005
28006        * storage/SessionStorageArea.cpp:
28007        (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
28008        (WebCore::SessionStorageArea::SessionStorageArea):
28009        * storage/SessionStorageArea.h:
28010
28011        * storage/StorageArea.cpp:  Changed to not expose the StorageMap at all - it's dangerous to expose
28012          it since we rely explicitly on its ref-count
28013        (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 
28014          StorageMap from that.
28015        (WebCore::StorageArea::setItem):  The previous comment/code here was bogus.  All JS objects passed in
28016          to this API are stringified, so there's no such thing as "null" for setItem()
28017        * storage/StorageArea.h:
28018
280192008-04-21  Justin Garcia  <justin.garcia@apple.com>
28020
28021        Reviewed by John Sullivan.
28022
28023        <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
28024        
28025        If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
28026        Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
28027        when it is false, that does not necessarily mean that a default paragraph element
28028        will not be used.  Callers that passed false for this argument are OK with this.
28029
28030        * editing/InsertParagraphSeparatorCommand.cpp:
28031        (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 
28032        (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
28033        (WebCore::InsertParagraphSeparatorCommand::doApply):
28034        * editing/InsertParagraphSeparatorCommand.h:
28035
280362008-04-21  Anders Carlsson  <andersca@apple.com>
28037
28038        Reviewed by Adam.
28039
28040        Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
28041        
28042        * html/HTMLAttributeNames.in:
28043        Add manifest attribute.
28044        
28045        * html/HTMLHtmlElement.cpp:
28046        (WebCore::HTMLHtmlElement::insertedIntoDocument):
28047        * html/HTMLHtmlElement.h:
28048        Perform cache selection.
28049        
28050        * loader/MainResourceLoader.cpp:
28051        (WebCore::MainResourceLoader::load):
28052        * loader/appcache/ApplicationCacheGroup.cpp:
28053        (WebCore::cacheHostSet):
28054        (WebCore::urlHostHash):
28055        (WebCore::ApplicationCacheGroup::cacheForRequest):
28056        (WebCore::ApplicationCacheGroup::selectCache):
28057        * loader/appcache/ApplicationCacheGroup.h:
28058        * platform/KURL.h:
28059        (WebCore::KURL::hostStart):
28060        (WebCore::KURL::hostEnd):
28061
280622008-04-21  Mike Belshe  <mike@belshe.com>
28063
28064        Reviewed by eseidel and darin.  Landed by eseidel.
28065
28066        Fix broken optimization in createStrippingNullCharacters.
28067
28068        * platform/text/StringImpl.cpp:
28069        (WebCore::StringImpl::createStrippingNullCharacters):
28070
280712008-04-21  David Hyatt  <hyatt@apple.com>
28072
28073        Make the back end parsing of background properties generic.  Rename all the parsing functions from
28074        background -> fill.
28075
28076        Add a new set of properties for doing masks.  The code is now refactored so that the mask properties
28077        and the background properties share parsing routines.
28078
28079        Reviewed by Dan
28080
28081        * css/CSSComputedStyleDeclaration.cpp:
28082        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
28083        * css/CSSParser.cpp:
28084        (WebCore::CSSParser::parseValue):
28085        (WebCore::CSSParser::addFillValue):
28086        (WebCore::CSSParser::parseFillShorthand):
28087        (WebCore::CSSParser::parseFillImage):
28088        (WebCore::CSSParser::parseFillPositionXY):
28089        (WebCore::CSSParser::parseFillPosition):
28090        (WebCore::CSSParser::parseFillSize):
28091        (WebCore::CSSParser::parseFillProperty):
28092        (WebCore::CSSParser::parseTransformOrigin):
28093        * css/CSSParser.h:
28094        * css/CSSPropertyNames.in:
28095        * css/CSSStyleSelector.cpp:
28096        (WebCore::CSSStyleSelector::CSSStyleSelector):
28097        (WebCore::CSSStyleSelector::mapFillAttachment):
28098        (WebCore::CSSStyleSelector::mapFillClip):
28099        (WebCore::CSSStyleSelector::mapFillComposite):
28100        (WebCore::CSSStyleSelector::mapFillOrigin):
28101        (WebCore::CSSStyleSelector::mapFillImage):
28102        (WebCore::CSSStyleSelector::mapFillRepeat):
28103        (WebCore::CSSStyleSelector::mapFillSize):
28104        (WebCore::CSSStyleSelector::mapFillXPosition):
28105        (WebCore::CSSStyleSelector::mapFillYPosition):
28106        * rendering/RenderStyle.cpp:
28107        (WebCore::FillLayer::FillLayer):
28108        (WebCore::FillLayer::operator=):
28109        (WebCore::FillLayer::operator==):
28110        (WebCore::StyleBackgroundData::StyleBackgroundData):
28111        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
28112        (WebCore::StyleRareNonInheritedData::operator==):
28113        (WebCore::RenderStyle::diff):
28114        * rendering/RenderStyle.h:
28115        (WebCore::LengthSize::LengthSize):
28116        (WebCore::FillLayer::type):
28117        (WebCore::FillLayer::initialFillAttachment):
28118        (WebCore::FillLayer::initialFillClip):
28119        (WebCore::FillLayer::initialFillOrigin):
28120        (WebCore::FillLayer::initialFillRepeat):
28121        (WebCore::FillLayer::initialFillComposite):
28122        (WebCore::FillLayer::initialFillSize):
28123        (WebCore::FillLayer::initialFillXPosition):
28124        (WebCore::FillLayer::initialFillYPosition):
28125        (WebCore::FillLayer::initialFillImage):
28126        (WebCore::RenderStyle::maskImage):
28127        (WebCore::RenderStyle::maskRepeat):
28128        (WebCore::RenderStyle::maskComposite):
28129        (WebCore::RenderStyle::maskAttachment):
28130        (WebCore::RenderStyle::maskClip):
28131        (WebCore::RenderStyle::maskOrigin):
28132        (WebCore::RenderStyle::maskXPosition):
28133        (WebCore::RenderStyle::maskYPosition):
28134        (WebCore::RenderStyle::maskSize):
28135        (WebCore::RenderStyle::accessMaskLayers):
28136        (WebCore::RenderStyle::maskLayers):
28137        (WebCore::RenderStyle::clearBackgroundLayers):
28138        (WebCore::RenderStyle::clearMaskLayers):
28139        (WebCore::RenderStyle::inheritMaskLayers):
28140
281412008-04-21  Timothy Hatcher  <timothy@apple.com>
28142
28143        Fixes the issue were a Database view could still be visible after navigating to a new page.
28144
28145        Reviewed by Darin Adler.
28146
28147        * page/inspector/DatabasesPanel.js:
28148        (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
28149        from all databases. Remove all the children from databaseViews.
28150
281512008-04-21  Timothy Hatcher  <timothy@apple.com>
28152
28153        Adds the ability to enter multi-line commands in the console by holding the
28154        alt/option key when pressing enter/return.
28155
28156        https://bugs.webkit.org/show_bug.cgi?id=18454
28157
28158        Reviewed by Darin Adler.
28159
28160        * page/inspector/Console.js:
28161        (WebInspector.Console.prototype._enterKeyPressed): Return early if the
28162        alt/option key is held when enter is pressed.
28163        * page/inspector/inspector.css:
28164        (.console-message-text): Added. Set white-space: pre-wrap.
28165
281662008-04-21  Timothy Hatcher  <timothy@apple.com>
28167
28168        Fixes the bug where the Database table names do not update when
28169        running the CREATE TABLE or DROP TABLE queries. Also makes the
28170        table names update every time the database is collapsed and expanded.
28171
28172        https://bugs.webkit.org/show_bug.cgi?id=18453
28173
28174        Reviewed by Darin Adler.
28175
28176        * page/inspector/DatabasesPanel.js:
28177        (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
28178        Set shouldRefreshChildren to true on the Database's tree element.
28179        The refreshChildren property was renamed to shouldRefreshChildren.
28180        (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
28181        Request a refresh after every collapse so the next expand will
28182        have an updated table list.
28183
281842008-04-21  Timothy Hatcher  <timothy@apple.com>
28185
28186        Adds INDEX to the list of completion words for the Databases query view.
28187
28188        https://bugs.webkit.org/show_bug.cgi?id=18452
28189
28190        Reviewed by Darin Adler.
28191
28192        * page/inspector/DatabaseQueryView.js:
28193        (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
28194        and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
28195
281962008-04-21  Timothy Hatcher  <timothy@apple.com>
28197
28198        Adds the UI portions of the Scripts panel to the Web Inspector.
28199        The Scripts panel has not been added to the toolbar yet.
28200
28201        https://bugs.webkit.org/show_bug.cgi?id=18601
28202
28203        Reviewed by Adam Roben.
28204
28205        * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
28206        to "Show inherited". Adds new strings for the Scripts' panel tooltips.
28207        * page/inspector/BreakpointsSidebarPane.js: Added.
28208        * page/inspector/CallStackSidebarPane.js: Added.
28209        * page/inspector/Images/back.png: Added.
28210        * page/inspector/Images/debuggerContinue.png: Added.
28211        * page/inspector/Images/debuggerPause.png: Added.
28212        * page/inspector/Images/debuggerStepInto.png: Added.
28213        * page/inspector/Images/debuggerStepOut.png: Added.
28214        * page/inspector/Images/debuggerStepOver.png: Added.
28215        * page/inspector/Images/forward.png: Added.
28216        * page/inspector/Images/statusbarResizerHorizontal.png: Added.
28217        * page/inspector/PropertiesSection.js:
28218        (WebInspector.PropertiesSection): Flip the order the subtile is appended
28219        so it can float right in the CSS.
28220        * page/inspector/ScriptsPanel.js: Added.
28221        * page/inspector/StylesSidebarPane.js:
28222        (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
28223        to "Show inherited".
28224        * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 
28225        Also changes the look of the section to match the mockup, this affects
28226        Styles and Properties in Elements.
28227        * page/inspector/inspector.html: Import new files.
28228        * page/inspector/inspector.js:
28229        (Preferences.minScriptsSidebarWidth): Added.
28230
282312008-04-21  Kevin McCullough  <kmccullough@apple.com>
28232
28233        Reviewed by Adam.
28234
28235        <rdar://problem/5770054> JavaScript profiler (10928)
28236        Took out debugging printing since we really want to hook into the
28237        inspector and not to print to the terminal.
28238
28239        * page/Console.cpp:
28240        (WebCore::Console::profileEnd):
28241
282422008-04-21  Sam Weinig  <sam@webkit.org>
28243
28244        Reviewed by Alexey Proskuryakov.
28245
28246        Fix up XMLHttpRequestProgressEvent.
28247
28248        * bindings/js/JSEventCustom.cpp:
28249        (WebCore::toJS):
28250        * xml/XMLHttpRequestProgressEvent.cpp:
28251        * xml/XMLHttpRequestProgressEvent.h:
28252
282532008-04-21  Adam Roben  <aroben@apple.com>
28254
28255        Fix Bug 18615: Crash in PluginPackage::hash
28256
28257        <https://bugs.webkit.org/show_bug.cgi?id=18615>
28258
28259        Reviewed by Anders Carlsson.
28260
28261        * plugins/PluginDatabase.cpp:
28262        (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
28263        to add().
28264
282652008-04-21  Anders Carlsson  <andersca@apple.com>
28266
28267        Reviewed by Adam.
28268
28269        Add cache group implementation.
28270
28271        * loader/DocumentLoader.cpp:
28272        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
28273        * loader/appcache/ApplicationCache.cpp:
28274        (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
28275        (WebCore::ApplicationCache::resourceForRequest):
28276        * loader/appcache/ApplicationCache.h:
28277        * loader/appcache/ApplicationCacheGroup.cpp:
28278        (WebCore::cacheGroupMap):
28279        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
28280        (WebCore::ApplicationCacheGroup::selectCache):
28281        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
28282        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
28283        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
28284        (WebCore::ApplicationCacheGroup::cacheDestroyed):
28285        (WebCore::ApplicationCacheGroup::update):
28286        (WebCore::ApplicationCacheGroup::didReceiveResponse):
28287        (WebCore::ApplicationCacheGroup::didReceiveData):
28288        (WebCore::ApplicationCacheGroup::didFinishLoading):
28289        (WebCore::ApplicationCacheGroup::didFail):
28290        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
28291        (WebCore::ApplicationCacheGroup::didReceiveManifestData):
28292        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
28293        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
28294        (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
28295        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
28296        (WebCore::ApplicationCacheGroup::startLoadingEntry):
28297        (WebCore::ApplicationCacheGroup::addEntry):
28298        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
28299        (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
28300        (WebCore::ApplicationCacheGroup::callListeners):
28301        * loader/appcache/ApplicationCacheGroup.h:
28302        (WebCore::ApplicationCacheGroup::status):
28303        (WebCore::ApplicationCacheGroup::newestCache):
28304        * platform/KURL.h:
28305        (WebCore::KURL::hostStart):
28306        (WebCore::KURL::hostEnd):
28307
283082008-04-21  David Hyatt  <hyatt@apple.com>
28309
28310        Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
28311
28312        Reviewed by Dan
28313
28314        * css/CSSComputedStyleDeclaration.cpp:
28315        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
28316        * css/CSSPrimitiveValueMappings.h:
28317        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
28318        (WebCore::CSSPrimitiveValue::operator EFillBox):
28319        (WebCore::CSSPrimitiveValue::operator EFillRepeat):
28320        * css/CSSStyleSelector.cpp:
28321        (WebCore::CSSStyleSelector::applyProperty):
28322        (WebCore::CSSStyleSelector::mapFillAttachment):
28323        (WebCore::CSSStyleSelector::mapFillClip):
28324        (WebCore::CSSStyleSelector::mapFillComposite):
28325        (WebCore::CSSStyleSelector::mapFillOrigin):
28326        (WebCore::CSSStyleSelector::mapFillImage):
28327        (WebCore::CSSStyleSelector::mapFillRepeat):
28328        (WebCore::CSSStyleSelector::mapFillSize):
28329        (WebCore::CSSStyleSelector::mapFillXPosition):
28330        (WebCore::CSSStyleSelector::mapFillYPosition):
28331        (WebCore::CSSStyleSelector::mapTransitionDuration):
28332        (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
28333        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
28334        (WebCore::CSSStyleSelector::mapTransitionProperty):
28335        * css/CSSStyleSelector.h:
28336        * page/AnimationController.cpp:
28337        (WebCore::ImplicitAnimation::ImplicitAnimation):
28338        (WebCore::CompositeImplicitAnimation::animate):
28339        * rendering/InlineFlowBox.cpp:
28340        (WebCore::InlineFlowBox::paintBackgrounds):
28341        (WebCore::InlineFlowBox::paintBackground):
28342        * rendering/InlineFlowBox.h:
28343        * rendering/RenderBox.cpp:
28344        (WebCore::RenderBox::paintRootBoxDecorations):
28345        (WebCore::RenderBox::paintBackgrounds):
28346        (WebCore::RenderBox::paintBackground):
28347        (WebCore::RenderBox::calculateBackgroundSize):
28348        (WebCore::RenderBox::imageChanged):
28349        (WebCore::RenderBox::calculateBackgroundImageGeometry):
28350        (WebCore::RenderBox::paintBackgroundExtended):
28351        * rendering/RenderBox.h:
28352        * rendering/RenderObject.cpp:
28353        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
28354        (WebCore::RenderObject::updateBackgroundImages):
28355        (WebCore::RenderObject::arenaDelete):
28356        * rendering/RenderObject.h:
28357        (WebCore::RenderObject::paintBackgroundExtended):
28358        * rendering/RenderStyle.cpp:
28359        (WebCore::FillLayer::FillLayer):
28360        (WebCore::FillLayer::~FillLayer):
28361        (WebCore::FillLayer::operator=):
28362        (WebCore::FillLayer::operator==):
28363        (WebCore::FillLayer::fillUnsetProperties):
28364        (WebCore::FillLayer::cullEmptyLayers):
28365        (WebCore::Transition::fillUnsetProperties):
28366        * rendering/RenderStyle.h:
28367        (WebCore::FillLayer::image):
28368        (WebCore::FillLayer::xPosition):
28369        (WebCore::FillLayer::yPosition):
28370        (WebCore::FillLayer::attachment):
28371        (WebCore::FillLayer::clip):
28372        (WebCore::FillLayer::origin):
28373        (WebCore::FillLayer::repeat):
28374        (WebCore::FillLayer::composite):
28375        (WebCore::FillLayer::size):
28376        (WebCore::FillLayer::next):
28377        (WebCore::FillLayer::isImageSet):
28378        (WebCore::FillLayer::isXPositionSet):
28379        (WebCore::FillLayer::isYPositionSet):
28380        (WebCore::FillLayer::isAttachmentSet):
28381        (WebCore::FillLayer::isClipSet):
28382        (WebCore::FillLayer::isOriginSet):
28383        (WebCore::FillLayer::isRepeatSet):
28384        (WebCore::FillLayer::isCompositeSet):
28385        (WebCore::FillLayer::isSizeSet):
28386        (WebCore::FillLayer::setImage):
28387        (WebCore::FillLayer::setXPosition):
28388        (WebCore::FillLayer::setYPosition):
28389        (WebCore::FillLayer::setAttachment):
28390        (WebCore::FillLayer::setClip):
28391        (WebCore::FillLayer::setOrigin):
28392        (WebCore::FillLayer::setRepeat):
28393        (WebCore::FillLayer::setComposite):
28394        (WebCore::FillLayer::setSize):
28395        (WebCore::FillLayer::clearImage):
28396        (WebCore::FillLayer::clearXPosition):
28397        (WebCore::FillLayer::clearYPosition):
28398        (WebCore::FillLayer::clearAttachment):
28399        (WebCore::FillLayer::clearClip):
28400        (WebCore::FillLayer::clearOrigin):
28401        (WebCore::FillLayer::clearRepeat):
28402        (WebCore::FillLayer::clearComposite):
28403        (WebCore::FillLayer::clearSize):
28404        (WebCore::FillLayer::setNext):
28405        (WebCore::FillLayer::operator!=):
28406        (WebCore::FillLayer::hasFixedImage):
28407        (WebCore::Transition::isDurationSet):
28408        (WebCore::Transition::isRepeatCountSet):
28409        (WebCore::Transition::isTimingFunctionSet):
28410        (WebCore::Transition::isPropertySet):
28411        (WebCore::Transition::clearDuration):
28412        (WebCore::Transition::clearRepeatCount):
28413        (WebCore::Transition::clearTimingFunction):
28414        (WebCore::Transition::clearProperty):
28415        (WebCore::Transition::duration):
28416        (WebCore::Transition::repeatCount):
28417        (WebCore::Transition::timingFunction):
28418        (WebCore::Transition::property):
28419        (WebCore::Transition::setDuration):
28420        (WebCore::Transition::setRepeatCount):
28421        (WebCore::Transition::setTimingFunction):
28422        (WebCore::Transition::setProperty):
28423        (WebCore::RenderStyle::NonInheritedFlags::operator==):
28424        (WebCore::RenderStyle::setBitDefaults):
28425        (WebCore::RenderStyle::backgroundRepeat):
28426        (WebCore::RenderStyle::backgroundComposite):
28427        (WebCore::RenderStyle::backgroundAttachment):
28428        (WebCore::RenderStyle::backgroundClip):
28429        (WebCore::RenderStyle::backgroundOrigin):
28430        (WebCore::RenderStyle::backgroundSize):
28431        (WebCore::RenderStyle::accessBackgroundLayers):
28432        (WebCore::RenderStyle::backgroundLayers):
28433        (WebCore::RenderStyle::clearBackgroundLayers):
28434        (WebCore::RenderStyle::inheritBackgroundLayers):
28435        (WebCore::RenderStyle::initialFillAttachment):
28436        (WebCore::RenderStyle::initialFillClip):
28437        (WebCore::RenderStyle::initialFillOrigin):
28438        (WebCore::RenderStyle::initialFillRepeat):
28439        (WebCore::RenderStyle::initialFillComposite):
28440        (WebCore::RenderStyle::initialFillSize):
28441        (WebCore::RenderStyle::initialFillXPosition):
28442        (WebCore::RenderStyle::initialFillYPosition):
28443        (WebCore::RenderStyle::initialFillImage):
28444        (WebCore::RenderStyle::initialWhiteSpace):
28445        (WebCore::RenderStyle::initialColor):
28446        * rendering/RenderTableCell.cpp:
28447        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
28448        * rendering/RenderTheme.cpp:
28449        (WebCore::RenderTheme::adjustStyle):
28450        (WebCore::RenderTheme::isControlStyled):
28451        * rendering/RenderTheme.h:
28452        * rendering/RenderThemeMac.h:
28453        * rendering/RenderThemeMac.mm:
28454        (WebCore::RenderThemeMac::isControlStyled):
28455
284562008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
28457
28458        Rubber-stamped by Ap.
28459
28460        Add 2 explicit casts.
28461        Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
28462
28463        * xml/XMLHttpRequest.cpp:
28464        (WebCore::XMLHttpRequest::dispatchProgressEvent):
28465
284662008-04-21  Anders Carlsson  <andersca@apple.com>
28467
28468        Reviewed by Adam.
28469
28470        Make it possible to load resources from the cache. 
28471        (Currently no documents are ever associated with a cache though.)
28472        
28473        * loader/DocumentLoader.cpp:
28474        (WebCore::DocumentLoader::setPrimaryLoadComplete):
28475        (WebCore::DocumentLoader::mainResourceApplicationCache):
28476        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
28477        * loader/DocumentLoader.h:
28478        * loader/MainResourceLoader.cpp:
28479        (WebCore::MainResourceLoader::didFinishLoading):
28480        (WebCore::MainResourceLoader::load):
28481        * loader/MainResourceLoader.h:
28482        (WebCore::MainResourceLoader::applicationCache):
28483        * loader/ResourceLoader.cpp:
28484        (WebCore::ResourceLoader::ResourceLoader):
28485        (WebCore::ResourceLoader::load):
28486        * loader/ResourceLoader.h:
28487        * loader/appcache/ApplicationCacheGroup.h:
28488        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
28489
284902008-04-21  Darin Fisher  <darin@chromium.org>
28491
28492        Reviewed by eseidel.  Landed by eseidel.
28493
28494        Add FrameLoader::policyDocumentLoader, and change
28495        provisionalDocumentLoader to have a const signature to be
28496        consistent with documentLoader and activeDocumentLoader.
28497
28498        * WebCore.base.exp:
28499        * WebCore.order:
28500        * loader/FrameLoader.cpp:
28501        (WebCore::FrameLoader::policyDocumentLoader):
28502        (WebCore::FrameLoader::provisionalDocumentLoader):
28503        * loader/FrameLoader.h:
28504
285052008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
28506
28507        Not reviewed, add missing files in my previous commit.
28508
28509        Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
28510
28511        * xml/XMLHttpRequestProgressEvent.cpp: Added.
28512        (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
28513        (WebCore::XMLHttpRequestProgressEvent::position):
28514        (WebCore::XMLHttpRequestProgressEvent::totalSize):
28515        * xml/XMLHttpRequestProgressEvent.h: Added.
28516        (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
28517        (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
28518        (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
28519        (WebCore::XMLHttpRequestProgressEvent::loaded):
28520        (WebCore::XMLHttpRequestProgressEvent::total):
28521        * xml/XMLHttpRequestProgressEvent.idl: Added.
28522
285232008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
28524
28525        Reviewed by Ap.
28526
28527        Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
28528        progressive download content length information.
28529
28530        - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
28531
28532        - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
28533         (as specified by the XHR2 specification) but also implement LSProgressEvent interface
28534         (to be compliant with Firefox event).
28535
28536        Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
28537
28538        * DerivedSources.make:
28539        * GNUmakefile.am:
28540        * WebCore.pro:
28541        * WebCore.vcproj/WebCore.vcproj:
28542        * WebCore.xcodeproj/project.pbxproj:
28543        * WebCoreSources.bkl:
28544        * bindings/js/JSEventCustom.cpp:
28545        (WebCore::toJS):
28546        * bindings/js/JSXMLHttpRequestCustom.cpp:
28547        (WebCore::JSXMLHttpRequest::mark):
28548        (WebCore::JSXMLHttpRequest::onprogress):
28549        (WebCore::JSXMLHttpRequest::setOnprogress):
28550        * dom/Event.cpp:
28551        (WebCore::Event::isXMLHttpRequestProgressEvent):
28552        * dom/Event.h:
28553        * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
28554        * xml/XMLHttpRequest.cpp:
28555        (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
28556        (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
28557        (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
28558        (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
28559        (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
28560        (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
28561        (WebCore::XMLHttpRequest::dispatchProgressEvent):
28562        * xml/XMLHttpRequest.h:
28563        * xml/XMLHttpRequest.idl: Add onprogress event handler.
28564        * xml/XMLHttpRequestProgressEvent.cpp: Added.
28565        (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
28566        (WebCore::XMLHttpRequestProgressEvent::position):
28567        (WebCore::XMLHttpRequestProgressEvent::totalSize):
28568        The two previous methods are used for Firefox compatibility and map to the
28569        same value as the ProgressEvent methods (but they are deprecated and display
28570
28571        * xml/XMLHttpRequestProgressEvent.h: Added.
28572        (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
28573        (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
28574        (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
28575        (WebCore::XMLHttpRequestProgressEvent::loaded):
28576        (WebCore::XMLHttpRequestProgressEvent::total):
28577        * xml/XMLHttpRequestProgressEvent.idl: Added.
28578
285792008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
28580
28581        Reviewed by Simon.
28582
28583        Better handle Qt binding object lifetime in JS.
28584        Add explicit marking of JS objects created for Qt
28585        bindings, and remove the gcProtect calls.
28586
28587        * bridge/qt/qt_class.cpp:
28588        (KJS::Bindings::QtClass::fallbackObject):
28589        * bridge/qt/qt_instance.cpp:
28590        (KJS::Bindings::QtRuntimeObjectImp::mark):
28591        (KJS::Bindings::QtInstance::~QtInstance):
28592        (KJS::Bindings::QtInstance::mark):
28593        (KJS::Bindings::QtInstance::invokeDefaultMethod):
28594        (KJS::Bindings::QtField::valueFromInstance):
28595        * bridge/qt/qt_instance.h:
28596
285972008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
28598
28599        Reviewed by Simon.
28600
28601        Add better support for RuntimeArray type conversions.
28602        It seems that RuntimeArray claims to inherit ArrayInstance
28603        (in the JS sense), but the C++ class doesn't, so properly
28604        access RuntimeArrays.  Also, properly support turning
28605        a JS object into a QVariantMap, since we support the
28606        reverse.
28607
28608        * bridge/qt/qt_runtime.cpp:
28609        (KJS::Bindings::):
28610        (KJS::Bindings::operator<<):
28611        (KJS::Bindings::valueRealType):
28612        (KJS::Bindings::convertValueToQVariant):
28613        (KJS::Bindings::convertQVariantToValue):
28614
286152008-04-21  Simon Hausmann  <hausmann@webkit.org>
28616
28617        Reviewed by Holger.
28618
28619        Fix painting of text fields in the CleanLooks style.
28620
28621        The CleanLooks style calls painter->drawRect() and expects a painter
28622        that has no brush set. This is a fairly common assumption and therefore
28623        we now always set the brush to NoBrush before calling a style. This
28624        is done by centralizing the painter setup code into StylePainter
28625        and restore the old brush in the StylePainter destructor.
28626
28627        In addition for textfields it is not necessary anymore to draw
28628        PE_FrameLineEdit as we set the lineWidth in the style option correctly
28629        and it's the style responsibility (QCommonStyle usually) to draw
28630        PE_FrameLineEdit.
28631
28632        * platform/qt/RenderThemeQt.cpp:
28633        (WebCore::RenderThemeQt::paintButton):
28634        (WebCore::RenderThemeQt::paintTextField):
28635        (WebCore::RenderThemeQt::paintMenuList):
28636        (WebCore::StylePainter::StylePainter):
28637        (WebCore::StylePainter::~StylePainter):
28638        * platform/qt/RenderThemeQt.h:
28639        (WebCore::StylePainter::isValid):
28640        (WebCore::StylePainter::drawPrimitive):
28641        (WebCore::StylePainter::drawControl):
28642        (WebCore::StylePainter::drawComplexControl):
28643
286442008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
28645
28646        Reviewed by Simon.
28647
28648        Fixes copy and paste of international characters.
28649
28650        When exporting HTML to the clipboard we need meta tags for now that confirm the
28651        conversion to utf-8 done inside QClipboard.
28652
28653        * platform/qt/PasteboardQt.cpp:
28654        (WebCore::Pasteboard::writeSelection):
28655
286562008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
28657
28658        Reviewed by Simon.
28659
28660        Fixes: Copying on X11 doesn't always work in webkit
28661
28662        Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
28663
28664        * platform/qt/PasteboardQt.cpp:
28665
286662008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28667
28668        Reviewed by Simon.
28669
28670        * Assume that our lineedit has a frame. This is needed for the motif style
28671
28672        * platform/qt/RenderThemeQt.cpp:
28673        (WebCore::RenderThemeQt::paintTextField):
28674
286752008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28676
28677        Reviewed by Simon.
28678
28679        * Follow the windows render theme when determining whether to style
28680        listboxes or not.
28681
28682        * platform/qt/RenderThemeQt.cpp:
28683        (WebCore::RenderThemeQt::isControlStyled):
28684
286852008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28686
28687        Reviewed by Simon.
28688
28689        * Try to bring the notImplemented implementations closer together. This will
28690        print each unimplemted method name only once.
28691
28692        * We might want to change wtf/Assertions.cpp to use qDebug
28693
28694        * platform/NotImplemented.h:
28695
286962008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28697
28698        Reviewed by Simon.
28699
28700        * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
28701        0 as width and after intialising drawing would fail. BitmapImage relies on a proper
28702        ImageSource.
28703        * Instead of adding more special cases to BitmapImage create a new class called StillImage
28704        which is getting one QPixmap and is implementing Image::draw and Image::size. This is
28705        working well for the images created using Image::loadPlatformResource.
28706
28707        * platform/graphics/BitmapImage.h:
28708        * platform/graphics/qt/ImageQt.cpp:
28709        (WebCore::BitmapImage::initPlatformData):
28710        (WebCore::BitmapImage::getPixmap):
28711        (WebCore::StillImage::StillImage):
28712        (WebCore::StillImage::size):
28713        (WebCore::StillImage::getPixmap):
28714        (WebCore::StillImage::draw):
28715
287162008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28717
28718        Reviewed by Simon.
28719
28720        * Package the Resources into a qrc
28721
28722        * Resources/WebKitResources.qrc: Added.
28723        * WebCore.pro:
28724
287252008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
28726
28727        Reviewed by Simon.
28728
28729        * Make sure every resource is available als png as well.
28730
28731        * Resources/deleteButton.png: Added.
28732        * Resources/deleteButtonPressed.png: Added.
28733        * Resources/missingImage.png: Added.
28734        * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
28735        * Resources/textAreaResizeCorner.png: Added.
28736        * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
28737
287382008-04-20  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
28739
28740        Reviewed by Alp Toker.
28741
28742        Implement FileSystemGtk's getFileModificationTime() with GLib.
28743
28744        * platform/gtk/FileSystemGtk.cpp:
28745        (WebCore::getFileModificationTime):
28746
287472008-04-20  Christian Persch  <chpe@gnome.org>
28748
28749        Reviewed by Alp Toker.
28750
28751        Bundle GTK+ Xt compatibility code from Mozilla. These files are used
28752        by all currently proposed GTK+ plugin patches and will make the
28753        proposed patches smaller and easier to review.
28754
28755        These files should be kept as close to the upstream versions as
28756        possible so fixes can be shared between projects and to ensure
28757        compatibility with the reference implementation.
28758
28759        * plugins/gtk/gtk2xtbin.c: Added.
28760        (xt_event_prepare):
28761        (xt_event_check):
28762        (xt_event_dispatch):
28763        (xt_event_polling_timer_callback):
28764        (gtk_xtbin_get_type):
28765        (gtk_xtbin_class_init):
28766        (gtk_xtbin_init):
28767        (gtk_xtbin_realize):
28768        (gtk_xtbin_new):
28769        (gtk_xtbin_set_position):
28770        (gtk_xtbin_resize):
28771        (gtk_xtbin_unrealize):
28772        (gtk_xtbin_destroy):
28773        (xt_client_init):
28774        (xt_client_create):
28775        (xt_client_unrealize):
28776        (xt_client_destroy):
28777        (xt_client_set_info):
28778        (xt_client_handle_xembed_message):
28779        (xt_client_event_handler):
28780        (send_xembed_message):
28781        (error_handler):
28782        (trap_errors):
28783        (untrap_error):
28784        (xt_client_focus_listener):
28785        (xt_add_focus_listener):
28786        (xt_remove_focus_listener):
28787        (xt_add_focus_listener_tree):
28788        * plugins/gtk/gtk2xtbin.h: Added.
28789
287902008-04-20  Dirk Schulze  <vbs85@gmx.de>
28791
28792        Reviewed by Alp Toker.
28793
28794        http://bugs.webkit.org/show_bug.cgi?id=15449
28795        [CAIRO] SVG gradients do not work properly
28796
28797        Fixed SVG-gradients in Cairo.
28798
28799        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
28800        (WebCore::SVGPaintServerGradient::setup):
28801
288022008-04-20  Simon Hausmann  <hausmann@webkit.org>
28803
28804        Reviewed by Alp Toker.
28805
28806        http://bugs.webkit.org/show_bug.cgi?id=18578
28807        Share the printing code between the Gtk and the Qt port
28808
28809        Share the printing code between the Gtk and the Qt port
28810        and added printing to the Qt WebKit API.
28811
28812        * GNUmakefile.am:
28813        * WebCore.pro:
28814        * page/PrintContext.cpp: Added.
28815        (WebCore::PrintContext::PrintContext):
28816        (WebCore::PrintContext::~PrintContext):
28817        (WebCore::PrintContext::pageCount):
28818        (WebCore::PrintContext::computePageRects):
28819        (WebCore::PrintContext::begin):
28820        (WebCore::PrintContext::spoolPage):
28821        * page/PrintContext.h: Added.
28822
288232008-04-19  Alp Toker  <alp@nuanti.com>
28824
28825        Reviewed by Mark Rowe.
28826
28827        Complete the Cairo (CSS) gradient implementation.
28828
28829        * platform/graphics/Gradient.h:
28830        * platform/graphics/cairo/GradientCairo.cpp:
28831        (WebCore::Gradient::platformDestroy):
28832        (WebCore::Gradient::fill):
28833
288342008-04-19  Alp Toker  <alp@nuanti.com>
28835
28836        Reviewed by Dave Hyatt.
28837
28838        Restore Cairo canvas support following the recent changes in
28839        BitmapImage and ImageBuffer integrating canvas with CSS. Some
28840        drawing regressions remain unfixed.
28841
28842        * platform/graphics/BitmapImage.h:
28843        * platform/graphics/ImageBuffer.h:
28844        * platform/graphics/cairo/ImageBufferCairo.cpp:
28845        (WebCore::ImageBuffer::image):
28846        * platform/graphics/cairo/ImageCairo.cpp:
28847        (WebCore::BitmapImage::BitmapImage):
28848        (WebCore::BitmapImage::draw):
28849        * platform/graphics/cairo/ImageSourceCairo.cpp:
28850        (WebCore::ImageSource::createFrameAtIndex):
28851
288522008-04-19  Dan Bernstein  <mitz@apple.com>
28853
28854        Reviewed by Dave Hyatt.
28855
28856        - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921
28857          namely cases where the trailing white space is already in a separate
28858          run but still needs to be re-ordered.
28859
28860        Test: fast/text/trailing-white-space-2.html
28861
28862        * platform/text/BidiResolver.h:
28863        (WebCore::::moveRunToEnd):
28864        (WebCore::::moveRunToBeginning):
28865        * rendering/bidi.cpp:
28866        (WebCore::RenderBlock::layoutInlineChildren):
28867
288682008-04-19  Alp Toker  <alp@nuanti.com>
28869
28870        Reviewed by Nikolas.
28871
28872        Add text shadow support for simple text in FontCairo.
28873
28874        * platform/graphics/cairo/FontCairo.cpp:
28875        (WebCore::Font::drawGlyphs):
28876
288772008-04-19  David Hyatt  <hyatt@apple.com>
28878
28879        Fix a minor typo in CSSGradientValue's cssText() method.
28880
28881        Reviewed by olliej
28882
28883        * css/CSSGradientValue.cpp:
28884        (WebCore::CSSGradientValue::cssText):
28885
288862008-04-19  Brady Eidson  <beidson@apple.com>
28887
28888        Reviewed by Tim Hatcher
28889
28890        Add LocalStorageDatabasePath to the settings for the location of persistent local storage.
28891
28892        * WebCore.base.exp:
28893
28894        * page/Settings.cpp:
28895        (WebCore::Settings::setLocalStorageDatabasePath):
28896        * page/Settings.h:
28897        (WebCore::Settings::localStorageDatabasePath):
28898
288992008-04-18 Jan  Michael Alonzo  <jmalonzo@unpluggable.com>
28900
28901        Reviewed by Alp Toker.
28902
28903        http://bugs.webkit.org/show_bug.cgi?id=16620
28904        [GTK] Autotools make dist and make check support
28905
28906        Cleanups.
28907
28908        * GNUmakefile.am:
28909
289102008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
28911
28912        Reviewed by Ollie.
28913
28914        Change when AccessibilityObject children are added.
28915
28916        Children are now added when children() is called if the children vector
28917        is not up to date. This removes the need for addChildren() and
28918        hasChildren() to be called from outside of AccessibilityObject.
28919
28920        * page/AccessibilityObject.cpp:
28921        (WebCore::AccessibilityObject::AccessibilityObject): Initialize
28922        m_haveChildren to false.
28923        (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to
28924        false.
28925        (WebCore::AccessibilityObject::children): If m_haveChildren is false,
28926        call addChildren().
28927        (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true.
28928        * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren()
28929        private and const. Added m_haveChildren. Made m_children mutable so
28930        children() could modify it.
28931        * page/mac/AccessibilityObjectWrapper.mm:
28932        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't
28933        call hasChildren() or addChildren().
28934
289352008-04-18  Marco Barisione  <marco.barisione@collabora.co.uk>
28936
28937        Reviewed by Alexey.
28938
28939        http://bugs.webkit.org/show_bug.cgi?id=18357
28940        [GTK] Enter on buttons doesn't work
28941
28942        * platform/gtk/KeyEventGtk.cpp:
28943        (WebCore::singleCharacterString): Set the text of a keyboard event for
28944        GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty
28945        string.
28946
289472008-04-18  Marco Barisione  <marco@barisione.org>
28948
28949        Reviewed by Alp Toker.
28950
28951        https://bugs.webkit.org/show_bug.cgi?id=18576
28952        [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and
28953        GDK_KP_Enter
28954
28955        * platform/gtk/KeyEventGtk.cpp:
28956        (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and
28957        GDK_KP_Enter in windowsKeyCodeForKeyEvent.
28958
289592008-04-18  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
28960
28961        Reviewed by Mark Rowe.
28962
28963        Gtk build fix.  Profiler.h does not live inside the kjs directory of JavaScriptCore
28964        so it doesn't make sense to include it as kjs/Profiler.h from WebCore.
28965
28966        * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h.
28967        * page/Console.cpp:
28968
289692008-04-18  Antti Koivisto  <antti@apple.com>
28970
28971        Reviewed by Oliver.
28972
28973        Implement path animation for <animateMotion>.
28974        
28975        SVG test suite tests
28976        animate-elem-07-t.svg
28977        animate-elem-08-t.svg
28978        animate-elem-24-t.svg
28979        animate-elem-30-t.svg
28980
28981        * svg/SVGAnimateMotionElement.cpp:
28982        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
28983        (WebCore::SVGAnimateMotionElement::hasValidTarget):
28984        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
28985        (WebCore::SVGAnimateMotionElement::rotateMode):
28986        (WebCore::SVGAnimateMotionElement::animationPath):
28987        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
28988        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
28989        * svg/SVGAnimateMotionElement.h:
28990        (WebCore::SVGAnimateMotionElement::):
28991        * svg/SVGAnimationElement.cpp:
28992        (WebCore::SVGAnimationElement::animationMode):
28993        (WebCore::SVGAnimationElement::startedActiveInterval):
28994        * svg/SVGAnimationElement.h:
28995        (WebCore::SVGAnimationElement::):
28996        (WebCore::SVGAnimationElement::calculateDistance):
28997        (WebCore::SVGAnimationElement::animationPath):
28998
289992008-04-11  Mark Rowe  <mrowe@apple.com>
29000
29001        Rubber-stamped by Antti Koivisto.
29002
29003        Silence GCC 4.3 warnings by removing extraneous consts.
29004
29005        * platform/graphics/Font.h:
29006        * platform/network/ResourceRequestBase.cpp:
29007        * platform/network/ResourceRequestBase.h:
29008
290092008-04-18  Brady Eidson  <beidson@apple.com>
29010
29011        Rubberstamped by Mark Rowe
29012
29013        Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix.
29014        The feature in question was NOT database support.
29015
29016        The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225
29017
29018        * page/PageGroup.cpp:
29019        (WebCore::PageGroup::localStorage):
29020
290212008-04-18  Brady Eidson  <beidson@apple.com>
29022
29023        Reviewed by Darin and Sam
29024
29025        Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything
29026        else that will be per-PageGroup in the future (such as LocalStorage).
29027
29028        This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out
29029        of the PageGroups map without manual deletion leaked it!
29030
29031        * page/Page.cpp:
29032        (WebCore::Page::setGroupName):
29033
290342008-04-18  Dan Bernstein  <mitz@apple.com>
29035
29036        Reviewed by Brady Eidson.
29037
29038        - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page
29039
29040        Test: fast/dynamic/5872671.html
29041
29042        * rendering/bidi.cpp:
29043        (WebCore::RenderBlock::layoutInlineChildren): Added a missing null
29044        check.
29045
290462008-04-18  Sam Weinig  <sam@webkit.org>
29047
29048        Rubber-stamped by Mark Rowe.
29049
29050        responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter.
29051
29052        * bindings/js/JSXMLHttpRequestCustom.cpp:
29053        * xml/XMLHttpRequest.cpp:
29054        (WebCore::XMLHttpRequest::responseText):
29055        (WebCore::XMLHttpRequest::responseXML):
29056        * xml/XMLHttpRequest.h:
29057        * xml/XMLHttpRequest.idl:
29058
290592008-04-18  Kevin McCullough  <kmccullough@apple.com>
29060
29061        Reviewed by Sam.
29062
29063        - Build fix.
29064
29065        * page/Console.cpp:
29066        (WebCore::Console::profile):
29067        * page/Console.h:
29068        * page/Console.idl:
29069
290702008-04-18  Eric Seidel  <eric@webkit.org>
29071
29072        Reviewed by darin.
29073
29074        Fix probable crasher caused by invalid static_cast
29075        https://bugs.webkit.org/show_bug.cgi?id=18585
29076
29077        * page/Frame.cpp:
29078        (WebCore::Frame::contentRenderer):
29079        (WebCore::Frame::ownerRenderer):
29080        * rendering/RenderObject.h: sort the "is*" functions
29081        (WebCore::RenderObject::isApplet):
29082        (WebCore::RenderObject::isBR):
29083        (WebCore::RenderObject::isBlockFlow):
29084        (WebCore::RenderObject::isCounter):
29085        (WebCore::RenderObject::isFrame):
29086        (WebCore::RenderObject::isFrameSet):
29087        (WebCore::RenderObject::isImage):
29088        (WebCore::RenderObject::isInlineBlockOrInlineTable):
29089        (WebCore::RenderObject::isInlineFlow):
29090        (WebCore::RenderObject::isListBox):
29091        (WebCore::RenderObject::isListItem):
29092        (WebCore::RenderObject::isListMarker):
29093        (WebCore::RenderObject::isMedia):
29094        (WebCore::RenderObject::isMenuList):
29095        (WebCore::RenderObject::isRenderBlock):
29096        (WebCore::RenderObject::isRenderImage):
29097        (WebCore::RenderObject::isRenderInline):
29098        (WebCore::RenderObject::isRenderPart):
29099        (WebCore::RenderObject::isRenderView):
29100        (WebCore::RenderObject::isSlider):
29101        (WebCore::RenderObject::isTable):
29102        (WebCore::RenderObject::isTableCell):
29103        (WebCore::RenderObject::isTableCol):
29104        (WebCore::RenderObject::isTableRow):
29105        (WebCore::RenderObject::isTableSection):
29106        (WebCore::RenderObject::isTextArea):
29107        * rendering/RenderPart.h:
29108
291092008-04-17  Eric Seidel  <eric@webkit.org>
29110
29111        Reviewed by beth.
29112
29113        Rename Frame::renderer() to contentRenderer() and fix uses.
29114
29115        * WebCore.base.exp:
29116        * editing/Editor.cpp:
29117        (WebCore::Editor::respondToChangedContents):
29118        * loader/FrameLoader.cpp:
29119        (WebCore::FrameLoader::gotoAnchor):
29120        * page/DragController.cpp:
29121        (WebCore::DragController::canProcessDrag):
29122        (WebCore::DragController::mayStartDragAtEventLocation):
29123        (WebCore::DragController::startDrag):
29124        * page/EventHandler.cpp:
29125        (WebCore::EventHandler::eventMayStartDrag):
29126        (WebCore::EventHandler::updateSelectionForMouseDrag):
29127        (WebCore::EventHandler::hitTestResultAtPoint):
29128        (WebCore::EventHandler::hoverTimerFired):
29129        (WebCore::EventHandler::handleDrag):
29130        * page/Frame.cpp:
29131        (WebCore::Frame::selectionLayoutChanged):
29132        (WebCore::Frame::contentRenderer):
29133        (WebCore::Frame::paint):
29134        (WebCore::Frame::markAllMatchesForText):
29135        (WebCore::Frame::documentAtPoint):
29136        * page/Frame.h:
29137        * page/FrameView.cpp:
29138        (WebCore::FrameView::~FrameView):
29139        (WebCore::FrameView::adjustViewSize):
29140        (WebCore::FrameView::layout):
29141        (WebCore::FrameView::scheduleRelayoutOfSubtree):
29142        (WebCore::FrameView::needsLayout):
29143        (WebCore::FrameView::setNeedsLayout):
29144        (WebCore::FrameView::updateControlTints):
29145        * rendering/RenderTreeAsText.cpp:
29146        (WebCore::write):
29147        * svg/graphics/SVGImage.cpp:
29148        (WebCore::SVGImage::nativeImageForCurrentFrame):
29149
291502008-04-18  Antti Koivisto  <antti@apple.com>
29151
29152        Reviewed by Oliver.
29153
29154        https://bugs.webkit.org/show_bug.cgi?id=18551
29155        REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
29156        
29157        Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
29158        crashing under guard malloc after the previous fix.
29159        
29160        If the event base element was a parent of the current element, dereffing it during 
29161        removedFromDocument() would cause problems. Avoid this by not holding ref pointer
29162        to the event base but instead checking from the ref count of the event listener whether
29163        it is still alive and in need for unregistering.
29164        
29165        This shold not be a problem for syncbase pointers since those are always animation elements
29166        and leaf nodes.
29167
29168        * svg/animation/SVGSMILElement.cpp:
29169        (WebCore::ConditionEventListener::ConditionEventListener):
29170        (WebCore::ConditionEventListener::unregister):
29171        (WebCore::ConditionEventListener::handleEvent):
29172        (WebCore::SVGSMILElement::connectConditions):
29173        (WebCore::SVGSMILElement::disconnectConditions):
29174        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
29175        * svg/animation/SVGSMILElement.h:
29176
291772008-04-18  Kevin McCullough  <kmccullough@apple.com>
29178
29179        Reviewed by Sam and Adam.
29180
29181        -<rdar://problem/5770054> JavaScript profiler (10928)
29182        - Added support for console.profile() and console.profileEnd().
29183
29184        * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
29185        * ForwardingHeaders/kjs/Profiler.h: Added.
29186        * page/Console.cpp:
29187        (WebCore::Console::profile):
29188        (WebCore::Console::profileEnd):
29189        * page/Console.h:
29190        * page/Console.idl:
29191
291922008-04-18  Kevin Ollivier  <kevino@theolliviers.com>
29193
29194        wx build fix. Add the new loader/appcache files.
29195
29196        * WebCoreSources.bkl:
29197
291982008-04-18  Dan Bernstein  <mitz@apple.com>
29199
29200        Reviewed by Darin Adler.
29201
29202        - fix https://bugs.webkit.org/show_bug.cgi?id=17921
29203          Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
29204
29205        Test: fast/text/trailing-white-space.html
29206
29207        Made trailing white space on the line always behave like it has the base
29208        bidi level of the block, meaning it will always go on the right (left)
29209        of the line in a left-to-right (right-to-left) block. Made the trailing
29210        white space vanish when it is next to a margin that the text should
29211        be touching, and made its width not count when computing the center
29212        point for center alignment.
29213
29214        * platform/text/BidiResolver.h:
29215        (WebCore::::prependRun): Added.
29216        * rendering/RenderBlock.h:
29217        * rendering/bidi.cpp:
29218        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
29219        logicallyLastRun parameter to an optional trailingSpaceRun and changed
29220        the alignment logic to implement the above rules.
29221        (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
29222        when there is trailing white space that needs to be split into its own
29223        run and optionally re-ordered.
29224        (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
29225        trailing space into a separate run in one special case.
29226
292272008-04-10  Mark Rowe  <mrowe@apple.com>
29228
29229        Rubber-stamped by Brady Eidson.
29230
29231        Fix builds that do not have DOM storage enabled.
29232
29233        * page/DOMWindow.cpp:
29234        * page/Page.cpp:
29235        * page/PageGroup.cpp:
29236        * page/PageGroup.h:
29237
292382008-04-18  Timothy Hatcher  <timothy@apple.com>
29239
29240        Fixes the regression where style rules in the Inspector always show "inline stylesheet"
29241        for the source of the rule and not the URL or other sources.
29242
29243        https://bugs.webkit.org/show_bug.cgi?id=18592
29244
29245        Reviewed by Dan Bernstein.
29246
29247        * page/inspector/StylesSidebarPane.js:
29248        (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
29249        that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
29250
292512008-04-18  Dean Jackson <dino@apple.com>
29252
29253        Fixed marquee suspension on wrong document. Passes current
29254        document into Frame::clearTimers.
29255
29256        Reviewed by hyatt.
29257
29258        * history/CachedPage.cpp:
29259        (WebCore::CachedPage::clear):
29260        * page/Frame.cpp:
29261        (WebCore::Frame::clearTimers):
29262        * page/Frame.h:
29263
292642008-04-18  Dean Jackson <dino@apple.com>
29265
29266        Add 'ease' timing function to transitions and
29267        make it the default. See latest specification proposal at:
29268        http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
29269
29270        Reviewed by hyatt.
29271
29272        NOTE: still working on a way to test animating/transitioning content
29273
29274        * css/CSSParser.cpp:
29275        (WebCore::CSSParser::parseTransitionTimingFunction):
29276        * css/CSSStyleSelector.cpp:
29277        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
29278        * css/CSSValueKeywords.in:
29279
292802008-04-18  Adam Roben  <aroben@apple.com>
29281
29282        Change JavaScriptDebugListener to use KJS::UString instead of
29283        WebCore::String
29284
29285        This should reduce the number of string allocations performed while
29286        debugging.
29287
29288        Reviewed by Tim Hatcher.
29289
29290        * page/InspectorController.cpp: Updated JavaScriptDebugListener
29291        functions.
29292        * page/InspectorController.h: Ditto.
29293        * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
29294        of WebCore::String.
29295        * page/JavaScriptDebugServer.cpp: Ditto.
29296        * platform/win/BString.cpp:
29297        (WebCore::BString::BString): Added a constructor that takes a
29298        KJS::UString.
29299        * platform/win/BString.h:
29300
293012008-04-18  Adam Roben  <aroben@apple.com>
29302
29303        Mac build fix
29304
29305        * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
29306        private.
29307
293082008-04-18  Adam Roben  <aroben@apple.com>
29309
29310        Make InspectorController a JavaScriptDebugListener
29311
29312        I added two new functions to the InspectorController JS object:
29313        reloadInspectedPageAndStartDebugging and stopDebugging. These control
29314        when the InspectorController adds/removes itself to/from the
29315        JavaScriptDebugServer.
29316
29317        Reviewed by Tim Hatcher.
29318
29319        * page/InspectorController.cpp:
29320        (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
29321        through to InspectorController.
29322        (WebCore::stopDebugging): Ditto.
29323        (WebCore::InspectorController::~InspectorController): Make sure we
29324        stop debugging before we are destroyed so the JavaScriptDebugServer
29325        won't be left with a stale pointer.
29326        (WebCore::InspectorController::windowScriptObjectAvailable): Added two
29327        new functions to our JS object.
29328        (WebCore::InspectorController::closeWindow): Stop debugging when the
29329        window closes.
29330        (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
29331        Added.
29332        (WebCore::InspectorController::stopDebugging): Added.
29333
29334        (WebCore::InspectorController::didParseSource):
29335        (WebCore::InspectorController::failedToParseSource):
29336        (WebCore::InspectorController::didEnterCallFrame):
29337        (WebCore::InspectorController::willExecuteStatement):
29338        (WebCore::InspectorController::willLeaveCallFrame):
29339        Added empty implementations of the JavaScriptDebugListener functions.
29340
29341        * page/InspectorController.h:
29342
293432008-04-17  Adam Roben  <aroben@apple.com>
29344
29345        Rename ExecState* instances from state to exec
29346
29347        Requested by Darin Adler and Sam Weinig.
29348
29349        * bindings/js/JSConsoleCustom.cpp:
29350
293512008-04-17  Adam Roben  <aroben@apple.com>
29352
29353        Clean up InspectorController's use of JSStringRef
29354
29355        All JSStringRef creation now happens through a helper function,
29356        jsStringRef, which takes either a const char* or a const String& and
29357        returns a JSRetainPtr<JSStringRef>.
29358
29359        Reviewed by Mitz Pettel.
29360
29361        * page/InspectorController.cpp:
29362        Added jsStringRef and converted all callers to
29363        JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
29364        it.
29365
293662008-04-17  Adam Roben  <aroben@apple.com>
29367
29368        Add wrappers around InspectorClient::{show,close}Window
29369
29370        This will let us perform actions when the window is actually
29371        showing/closing (InspectorController::show doesn't always directly
29372        show the window).
29373
29374        Reviewed by Tim Hatcher.
29375
29376        * page/InspectorController.cpp:
29377        (WebCore::InspectorController::scriptObjectReady): Call showWindow()
29378        instead of m_client->showWindow().
29379        (WebCore::InspectorController::show): Ditto.
29380        (WebCore::InspectorController::close): Ditto for closeWindow().
29381        (WebCore::InspectorController::showWindow):
29382        (WebCore::InspectorController::closeWindow):
29383        * page/InspectorController.h:
29384
293852008-04-18  Simon Hausmann  <hausmann@webkit.org>
29386
29387        Reviewed by Holger.
29388
29389        Adapt to the API changes in WebKit/qt/
29390
29391        * platform/graphics/qt/ImageQt.cpp:
29392        (loadResourcePixmap):
29393
293942008-04-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
29395
29396        Reviewed by Adam Roben.
29397
29398        https://bugs.webkit.org/show_bug.cgi?id=18477
29399
29400        No resize indication is shown when moving/hovering over the frame
29401        border/splitter.
29402
29403        * page/EventHandler.cpp:
29404        (WebCore::EventHandler::selectCursor):
29405
294062008-04-18  Adam Roben  <aroben@apple.com>
29407
29408        Windows build fix
29409
29410        Same as before, but for fabs/fabsf.
29411
29412        * svg/SVGAnimateTransformElement.cpp:
29413        (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
29414        use fabsf and removed narrowPrecisionToFloat.
29415
294162008-04-18  Adam Roben  <aroben@apple.com>
29417
29418        Windows build fix
29419
29420        In MSVC, sqrt() has three overloads: float, double, and long
29421        double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
29422        sqrtf() to operate explicitly on floats.
29423
29424        * svg/SVGAnimateMotionElement.cpp:
29425        (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
29426        sqrtf and removed narrowPrecisionToFloat.
29427        * svg/SVGAnimateTransformElement.cpp:
29428        (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
29429
294302008-04-18  Simon Hausmann  <hausmann@webkit.org>
29431
29432        Fix the build without Database support (fixes the Qt/win build).
29433
29434        * page/PageGroup.cpp:
29435        (WebCore::PageGroup::localStorage):
29436
294372008-04-18  Simon Hausmann  <hausmann@webkit.org>
29438
29439        Fix the Gtk build on the build bot.
29440
29441        * GNUmakefile.am: Back out the previous LocalStorage, etc. additions
29442        as they're already listed in another sources group that wasn't used
29443        due to a local configure error.
29444
294452008-04-18  Simon Hausmann  <hausmann@webkit.org>
29446
29447        Prospective wx build fix.
29448
29449        * webcore-base.bkl: Add loader/appcache to include paths.
29450
294512008-04-18  Simon Hausmann  <hausmann@webkit.org>
29452
29453        Build fix. Back out previous #include fix for PageGroup.h as it broke
29454        the Mac build due to forwarding headers.
29455
29456        * page/PageGroup.h:
29457
294582008-04-18  Simon Hausmann  <hausmann@webkit.org>
29459
29460        Build fix for Qt and gcc 4.3.
29461
29462        * WebCore.pro: Added missing files and include paths, re-ordered
29463        the storage/ include path to avoid conflict of storage/LocalStorage.h
29464        with kjs/LocalStorage.h
29465        * page/PageGroup.h: Include LocalStorage.h instead of forward
29466        declaration to fix compilation with gcc 4.3.
29467
294682008-04-18  Simon Hausmann  <hausmann@webkit.org>
29469
29470        Build fix for Gtk and gcc 4.3.
29471
29472        * GNUmakefile.am: Added missing files and include paths.
29473        * storage/LocalStorage.h: Include LocalStorageArea.h instead of
29474        forward declaring it due to the HashMap use where gcc 4.3 needs to
29475        see the class.
29476
294772008-04-17  Antti Koivisto  <antti@apple.com>
29478
29479        Reviewed by Oliver.
29480        
29481        https://bugs.webkit.org/show_bug.cgi?id=18573
29482
29483        Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
29484        This will allow <animateTransform> and <animateMotion> combine properly.
29485
29486        * svg/SVGAnimateMotionElement.cpp:
29487        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
29488        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
29489        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
29490        * svg/SVGElement.h:
29491        (WebCore::SVGElement::supplementalTransform):
29492        * svg/SVGStyledTransformableElement.cpp:
29493        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
29494        * svg/SVGStyledTransformableElement.h:
29495        (WebCore::SVGStyledTransformableElement::supplementalTransform):
29496        * svg/SVGTextElement.cpp:
29497        (WebCore::SVGTextElement::animatedLocalTransform):
29498        * svg/SVGTextElement.h:
29499        (WebCore::SVGTextElement::supplementalTransform):
29500
295012008-04-17  Antti Koivisto  <antti@apple.com>
29502
29503        Reviewed by Oliver.
29504
29505        Implement calcMode=paced.
29506        
29507        Tested by SVG testsuite tests
29508        animate-elem-11-t.svg
29509        animate-elem-15-t.svg
29510        animate-elem-82-t.svg
29511
29512        * svg/SVGAnimateElement.cpp:
29513        (WebCore::SVGAnimateElement::calculateDistance):
29514        * svg/SVGAnimateElement.h:
29515        * svg/SVGAnimateMotionElement.cpp:
29516        (WebCore::SVGAnimateMotionElement::calculateDistance):
29517        * svg/SVGAnimateMotionElement.h:
29518        * svg/SVGAnimateTransformElement.cpp:
29519        (WebCore::SVGAnimateTransformElement::calculateDistance):
29520        * svg/SVGAnimateTransformElement.h:
29521        * svg/SVGAnimationElement.cpp:
29522        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
29523        (WebCore::SVGAnimationElement::startedActiveInterval):
29524        * svg/SVGAnimationElement.h:
29525        (WebCore::SVGAnimationElement::calculateDistance):
29526
295272008-04-17  David Hyatt  <hyatt@apple.com>
29528
29529        Fix a leak in ImageBuffer's clearImage method.
29530
29531        Reviewed by olliej
29532
29533        * platform/graphics/ImageBuffer.h:
29534        (WebCore::ImageBuffer::clearImage):
29535
295362008-04-17  Antti Koivisto  <antti@apple.com>
29537
29538        Reviewed by Eric.
29539        
29540        https://bugs.webkit.org/show_bug.cgi?id=12438
29541
29542        More SVG animation:
29543        
29544        - Make multiple additive animations work
29545        - Support animating <use> instance trees
29546
29547        * svg/SVGAnimateColorElement.cpp:
29548        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
29549        * svg/SVGAnimateColorElement.h:
29550        
29551        Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
29552        
29553        * svg/SVGAnimateElement.cpp:
29554        (WebCore::SVGAnimateElement::determinePropertyType):
29555        (WebCore::SVGAnimateElement::calculateAnimatedValue):
29556        (WebCore::SVGAnimateElement::calculateFromAndToValues):
29557        (WebCore::SVGAnimateElement::calculateFromAndByValues):
29558        (WebCore::SVGAnimateElement::resetToBaseValue):
29559        (WebCore::SVGAnimateElement::applyResultsToTarget):
29560        * svg/SVGAnimateElement.h:
29561        * svg/SVGAnimateMotionElement.cpp:
29562        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
29563        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
29564        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
29565        * svg/SVGAnimateMotionElement.h:
29566        * svg/SVGAnimateTransformElement.cpp:
29567        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
29568        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
29569        (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
29570        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
29571        * svg/SVGAnimateTransformElement.h:
29572        
29573        Switch to new model where
29574        - resetToBaseValue() resets the animated value back to the base value
29575        - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
29576        - applyResultsToTarget() sets the computed value the target element
29577        
29578        * svg/SVGAnimationElement.cpp:
29579        (WebCore::SVGAnimationElement::fromValue):
29580        (WebCore::SVGAnimationElement::attributeIsCSS):
29581        (WebCore::SVGAnimationElement::targetAttributeIsCSS):
29582        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
29583        
29584        Update instances too.
29585        
29586        (WebCore::SVGAnimationElement::startedActiveInterval):
29587        (WebCore::SVGAnimationElement::updateAnimation):
29588        (WebCore::SVGAnimationElement::endedActiveInterval):
29589        * svg/SVGAnimationElement.h:
29590        * svg/SVGSVGElement.cpp:
29591        (WebCore::SVGSVGElement::SVGSVGElement):
29592        * svg/SVGSetElement.cpp:
29593        (WebCore::SVGSetElement::SVGSetElement):
29594        * svg/SVGSetElement.h:
29595        
29596        Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
29597        
29598        * svg/animation/SMILTimeContainer.cpp:
29599        (WebCore::SMILTimeContainer::SMILTimeContainer):
29600        (WebCore::SMILTimeContainer::unschedule):
29601        (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
29602        (WebCore::PriorityCompare::PriorityCompare):
29603        (WebCore::PriorityCompare::operator()):
29604        (WebCore::SMILTimeContainer::sortByPriority):
29605        (WebCore::applyOrderSortFunction):
29606        (WebCore::sortByApplyOrder):
29607        (WebCore::SMILTimeContainer::baseValueFor):
29608        (WebCore::SMILTimeContainer::updateAnimations):
29609        * svg/animation/SMILTimeContainer.h:
29610        (WebCore::SMILTimeContainer::create):
29611        (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
29612        
29613        Do additive animation with the following steps
29614        - sort active animations based on their priority (begin time, document order).
29615        - if not yet saved for each (element, attribute) pair save the base value.
29616        - lowest priority animation for each (element, attribute) acts as the result element.
29617        - animation results are resolved in priority order and results are accumulated to the result element.
29618        - after all active animations have been processed the values in result elements are applied to the target elements.
29619        
29620        * svg/animation/SVGSMILElement.cpp:
29621        (WebCore::SVGSMILElement::SVGSMILElement):
29622        (WebCore::SVGSMILElement::insertedIntoDocument):
29623        
29624        Invalidate document order index.
29625        
29626        (WebCore::SVGSMILElement::attributeName):
29627        (WebCore::SVGSMILElement::isInactive):
29628        (WebCore::SVGSMILElement::isFrozen):
29629        (WebCore::SVGSMILElement::beginListChanged):
29630        (WebCore::SVGSMILElement::determineActiveState):
29631        (WebCore::SVGSMILElement::isContributing):
29632        (WebCore::SVGSMILElement::progress):
29633        
29634        Take care that animations in frozen state still contribute to the total. Since we now build the result starting
29635        from the base value, fill="replace" works magically simply by not contributing anything.
29636        
29637        * svg/animation/SVGSMILElement.h:
29638        (WebCore::SVGSMILElement::previousIntervalBegin):
29639        (WebCore::SVGSMILElement::documentOrderIndex):
29640        (WebCore::SVGSMILElement::setDocumentOrderIndex):
29641
296422008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
29643
29644        Reviewed by Darin, Alice.
29645
29646        Implement AXObjectCache::detachWrapper() on Windows.
29647
29648        * page/win/AXObjectCacheWin.cpp:
29649        (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper,
29650        call its detach() method.
29651
296522008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
29653
29654        Reviewed by mrowe.
29655
29656        Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it.
29657
29658        * config.h: Remove HAVE_ACCESSIBILITY.
29659        * page/AccessibilityObject.h: Include wtf/Platform.h to pick up
29660        HAVE_ACCESSIBILITY.
29661
296622008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
29663
29664        Reviewed by aliu.
29665
29666        * page/AccessibilityObject.cpp:
29667        (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
29668        casting to RenderView.
29669
296702008-04-17  Antti Koivisto  <antti@apple.com>
29671
29672        Reviewed by Oliver.
29673        
29674        Fix https://bugs.webkit.org/show_bug.cgi?id=18551
29675        Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
29676        
29677        Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
29678
29679        Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
29680
29681        * svg/animation/SVGSMILElement.cpp:
29682        (WebCore::SVGSMILElement::removedFromDocument):
29683        (WebCore::SVGSMILElement::attributeChanged):
29684        (WebCore::SVGSMILElement::targetElement):
29685        * svg/animation/SVGSMILElement.h:
29686
296872008-04-17  Sam Weinig  <sam@webkit.org>
29688
29689        Reviewed by Anders Carlsson.
29690
29691        Autogenerate the XMLHttpRequest javascript binding.
29692
29693        * GNUmakefile.am:
29694        * WebCore.pro:
29695        * WebCore.vcproj/WebCore.vcproj:
29696        * WebCoreSources.bkl:
29697        * DerivedSources.make:
29698        * WebCore.xcodeproj/project.pbxproj:
29699        * bindings/js/JSDOMWindowBase.cpp:
29700        * bindings/js/JSXMLHttpRequest.cpp: Removed.
29701        * bindings/js/JSXMLHttpRequest.h: Removed.
29702        * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
29703        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
29704        (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
29705        (WebCore::JSXMLHttpRequestConstructor::construct):
29706        * bindings/js/JSXMLHttpRequestConstructor.h: Added.
29707        (WebCore::JSXMLHttpRequestConstructor::classInfo):
29708        * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
29709        (WebCore::JSXMLHttpRequest::mark):
29710        (WebCore::JSXMLHttpRequest::onreadystatechange):
29711        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
29712        (WebCore::JSXMLHttpRequest::onload):
29713        (WebCore::JSXMLHttpRequest::setOnload):
29714        (WebCore::JSXMLHttpRequest::responseXML):
29715        (WebCore::JSXMLHttpRequest::open):
29716        (WebCore::JSXMLHttpRequest::setRequestHeader):
29717        (WebCore::JSXMLHttpRequest::send):
29718        (WebCore::JSXMLHttpRequest::getResponseHeader):
29719        (WebCore::JSXMLHttpRequest::overrideMimeType):
29720        (WebCore::JSXMLHttpRequest::addEventListener):
29721        (WebCore::JSXMLHttpRequest::removeEventListener):
29722        (WebCore::JSXMLHttpRequest::dispatchEvent):
29723        * xml/XMLHttpRequest.cpp:
29724        (WebCore::XMLHttpRequest::readyState):
29725        (WebCore::XMLHttpRequest::responseText):
29726        * xml/XMLHttpRequest.h:
29727        * xml/XMLHttpRequest.idl: Added.
29728
297292008-04-17  Brady Eidson  <beidson@apple.com>
29730
29731        Reviewed by Anders
29732
29733        The SessionStorage for a Page has to be copied every time a new Page is created.
29734
29735        I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(),
29736        but it just so happens there was another - in the ContextMenuController.
29737
29738        The *real* choke point for this, then, is in the Chrome itself.
29739
29740        * loader/FrameLoader.cpp:
29741        (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here...
29742
29743        * page/Chrome.cpp:
29744        (WebCore::Chrome::createWindow): Do it here, instead!
29745
297462008-04-17  Alice Liu  <alice.liu@apple.com>
29747
29748        Reviewed by Jon Honeycutt.
29749
29750        Added some asserts to catch undesirable usage of setWrapper and addChildren.
29751        * page/AccessibilityObject.cpp:
29752        (WebCore::AccessibilityObject::addChildren):
29753        * page/AccessibilityObject.h:
29754        (WebCore::AccessibilityObject::setWrapper):
29755
297562008-04-17  Brady Eidson  <beidson@apple.com>
29757
29758        Reviewed by the Mitzpettel
29759
29760        Before things get much more intertwined, move away from a global LocalStorage model
29761        to a per-PageGroup LocalStorage model.
29762
29763        * page/DOMWindow.cpp:
29764        (WebCore::DOMWindow::localStorage): Get it from the current PageGroup, not the global
29765          LocalStorage (which doesn't exist anymore).
29766
29767        * page/Page.cpp:
29768        * page/PageGroup.cpp:
29769        (WebCore::PageGroup::localStorage): Create a LocalStorage object on demand.
29770        * page/PageGroup.h:
29771
29772        * storage/LocalStorage.cpp:
29773        (WebCore::LocalStorage::LocalStorage): Hold a back pointer to the owning PageGroup.
29774        (WebCore::LocalStorage::storageArea):
29775        * storage/LocalStorage.h:
29776        (WebCore::LocalStorage::create):
29777
29778        * storage/LocalStorageArea.cpp:
29779        (WebCore::LocalStorageArea::LocalStorageArea): Hold a back pointer to the owning LocalStorage.
29780        * storage/LocalStorageArea.h:
29781        (WebCore::LocalStorageArea::create):
29782
297832008-04-17  Anders Carlsson  <andersca@apple.com>
29784
29785        Fix indentation.
29786        
29787        * loader/DocumentLoader.cpp:
29788        (WebCore::DocumentLoader::scheduleArchiveLoad):
29789
297902008-04-17  Anders Carlsson  <andersca@apple.com>
29791
29792        Reviewed by Brady.
29793
29794        When in the web archive debug mode, don't call didFail immediately. Instead,
29795        add the loader to the substitute resource map, but with a null resource, which
29796        indicates to substituteResourceDeliveryTimerFired that the load should fail.
29797        
29798        * loader/DocumentLoader.cpp:
29799        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
29800        (WebCore::DocumentLoader::scheduleArchiveLoad):
29801        * loader/ResourceLoader.cpp:
29802        (WebCore::ResourceLoader::load):
29803
298042008-04-17  Anders Carlsson  <andersca@apple.com>
29805
29806        Reviewed by Sam.
29807
29808        Add JS bindings for the DOMApplicationCache object.
29809        
29810        * bindings/js/JSDOMApplicationCacheCustom.cpp:
29811        (WebCore::JSDOMApplicationCache::add):
29812        (WebCore::JSDOMApplicationCache::remove):
29813        (WebCore::JSDOMApplicationCache::addEventListener):
29814        (WebCore::JSDOMApplicationCache::removeEventListener):
29815        (WebCore::JSDOMApplicationCache::dispatchEvent):
29816        (WebCore::JSDOMApplicationCache::setOnchecking):
29817        (WebCore::JSDOMApplicationCache::onchecking):
29818        (WebCore::JSDOMApplicationCache::setOnerror):
29819        (WebCore::JSDOMApplicationCache::onerror):
29820        (WebCore::JSDOMApplicationCache::setOnnoupdate):
29821        (WebCore::JSDOMApplicationCache::onnoupdate):
29822        (WebCore::JSDOMApplicationCache::setOndownloading):
29823        (WebCore::JSDOMApplicationCache::ondownloading):
29824        (WebCore::JSDOMApplicationCache::setOnprogress):
29825        (WebCore::JSDOMApplicationCache::onprogress):
29826        (WebCore::JSDOMApplicationCache::setOnupdateready):
29827        (WebCore::JSDOMApplicationCache::onupdateready):
29828        (WebCore::JSDOMApplicationCache::setOncached):
29829        (WebCore::JSDOMApplicationCache::oncached):
29830        (WebCore::JSDOMApplicationCache::mark):
29831        * bindings/js/JSDOMWindowCustom.cpp:
29832        (WebCore::JSDOMWindow::mark):
29833        * bindings/js/JSEventTargetBase.cpp:
29834        (WebCore::toJS):
29835        * loader/appcache/DOMApplicationCache.idl:
29836        * page/DOMWindow.idl:
29837
298382008-04-17 Eric Carlson  <eric.carlson@apple.com> 
29839
29840        Reviewed by Adele. 
29841
29842        Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values
29843
29844        * platform/graphics/win/QTMovieWin.cpp:
29845        (QTMovieWin::rate):
29846        (QTMovieWin::setRate):
29847        (QTMovieWin::setVolume):
29848        (QTMovieWin::getNaturalSize):
29849
298502008-04-17  Marco Barisione  <marco.barisione@collabora.co.uk>
29851
29852        Reviewed by Alp Toker.
29853
29854        http://bugs.webkit.org/show_bug.cgi?id=18335
29855        Pango font backend unable to display japanese properly
29856
29857        Different fonts can have different glyph indices, so we need to pass
29858        the right font when retrieving a glyph index.
29859
29860        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
29861        (WebCore::pango_font_get_glyph): Temporarily override the font in the
29862        PangoAnalysis passed to pango_shape.
29863
298642008-04-17  Anders Carlsson  <andersca@apple.com>
29865
29866        According to Sam and David, it's "topLevel", not "toplevel".
29867        
29868        * loader/DocumentLoader.cpp:
29869        (WebCore::DocumentLoader::topLevelApplicationCache):
29870        * loader/DocumentLoader.h:
29871        * loader/appcache/DOMApplicationCache.cpp:
29872        (WebCore::DOMApplicationCache::associatedCache):
29873
298742008-04-17  Anders Carlsson  <andersca@apple.com>
29875
29876        Reviewed by Sam.
29877
29878        Add DOMApplicationCache implementation.
29879        
29880        * dom/EventNames.h:
29881        Add new event names.
29882        
29883        * dom/EventTarget.cpp:
29884        (WebCore::EventTarget::toDOMApplicationCache):
29885        * dom/EventTarget.h:
29886        Add EventTarget conversion method.
29887        
29888        * loader/appcache/ApplicationCacheGroup.h:
29889        (WebCore::ApplicationCacheGroup::):
29890        (WebCore::ApplicationCacheGroup::status):
29891        (WebCore::ApplicationCacheGroup::update):
29892        (WebCore::ApplicationCacheGroup::newestCache):
29893        Add more stubs.
29894        
29895        * loader/appcache/DOMApplicationCache.cpp:
29896        * loader/appcache/DOMApplicationCache.h:
29897
29898        * page/DOMWindow.cpp:
29899        (WebCore::DOMWindow::clear):
29900        (WebCore::DOMWindow::applicationCache):
29901        * page/DOMWindow.h:
29902        (WebCore::DOMWindow::optionalApplicationCache):
29903        Add ApplicationCache member.
29904        
299052008-04-17  Anders Carlsson  <andersca@apple.com>
29906
29907        Build fix.
29908
29909        * WebCore.vcproj/WebCore.vcproj:
29910
299112008-04-17  Dean Jackson  <dino@apple.com>
29912
29913        Reviewed by Hyatt.
29914
29915        Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present
29916
29917        Test: fast/css/transform-default-parameter.html
29918
29919        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
29920        translate function with only X parameter now leaves the Y parameter as zero.
29921
299222008-04-17  Anders Carlsson  <andersca@apple.com>
29923
29924        Reviewed by Sam.
29925        
29926        Add plumbing for associating document loaders with application caches.
29927        
29928        * loader/DocumentLoader.cpp:
29929        (WebCore::DocumentLoader::DocumentLoader):
29930        (WebCore::DocumentLoader::~DocumentLoader):
29931        (WebCore::DocumentLoader::originalURL):
29932        (WebCore::DocumentLoader::requestURL):
29933        (WebCore::DocumentLoader::responseURL):
29934        (WebCore::DocumentLoader::responseMIMEType):
29935        (WebCore::DocumentLoader::setCandidateApplicationCacheGroup):
29936        (WebCore::DocumentLoader::setApplicationCache):
29937        (WebCore::DocumentLoader::toplevelApplicationCache):
29938        * loader/DocumentLoader.h:
29939        (WebCore::DocumentLoader::candidateApplicationCacheGroup):
29940        (WebCore::DocumentLoader::applicationCache):
29941        * loader/appcache/ApplicationCacheGroup.h:
29942        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
29943
299442008-04-17  Adam Roben  <aroben@apple.com>
29945
29946        Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash
29947
29948        <https://bugs.webkit.org/show_bug.cgi?id=18544>
29949
29950        r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as
29951        the context parameter. The caller in XSLTProcessor was changed, but
29952        the one in XSLStyleSheet was missed.
29953
29954        Reviewed by Alexey Proskuryakov.
29955
29956        * xml/XSLStyleSheet.cpp:
29957        (WebCore::XSLStyleSheet::parseString): Pass the Console as the context
29958        to parseErrorFunc.
29959
299602008-04-17  Adam Roben  <aroben@apple.com>
29961
29962        Windows build fix after r31981
29963
29964        * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings.
29965
299662008-04-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
29967
29968        Reviewed by Simon.
29969
29970        Implemented getFileModificationTime and pathGetFileName for the Qt port.
29971
29972        * platform/qt/FileSystemQt.cpp:
29973        (WebCore::getFileModificationTime):
29974
299752008-04-17  Mark Rowe  <mrowe@apple.com>
29976
29977        Fix the non-Mac builds that I broke with my Mac build fix.
29978
29979        * css/CSSMutableStyleDeclaration.cpp:
29980        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max
29981        to avoid making assumptions about sizeof(size_t).
29982
299832008-04-17  Mark Rowe  <mrowe@apple.com>
29984
29985        Rubber-stamped by Dan Bernstein.
29986
29987        Fix the Mac build.
29988
29989        * css/CSSMutableStyleDeclaration.cpp:
29990        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned.
29991        * dom/NamedNodeMap.h: Ditto.
29992        * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too.
29993
299942008-04-16  Jon Honeycutt  <jhoneycutt@apple.com>
29995
29996        Reviewed by Darin.
29997
29998        Use size_t instead of unsigned where appropriate.
29999
30000        * css/CSSValueList.h:
30001        * dom/NamedAttrMap.h:
30002        * rendering/RenderStyle.h:
30003
300042008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
30005
30006        Reviewed by Darin.
30007
30008        Add some methods to check AccessibilityObject state.
30009
30010        * page/AccessibilityObject.cpp:
30011        (WebCore::AccessibilityObject::AccessibilityObject): Assert that the
30012        passed renderer is not null.
30013        (WebCore::AccessibilityObject::isPasswordField): Refactored to use early
30014        return.
30015        (WebCore::AccessibilityObject::isPressed): Return true if this is a
30016        button in the pressed state.
30017        (WebCore::AccessibilityObject::isIndeterminate): Return true if this is
30018        a tri-state checkbox in the indeterminate state.
30019        (WebCore::AccessibilityObject::isChecked): True if this is a radio
30020        button or checkbox in the checked state.
30021        (WebCore::AccessibilityObject::isHovered): True if object is currently
30022        under the mouse cursor.
30023        (WebCore::AccessibilityObject::isMultiSelect): True if this is a select
30024        element capable of multi-select.
30025        (WebCore::AccessibilityObject::isReadOnly): False if this object has
30026        editable content.
30027        (WebCore::AccessibilityObject::isOffScreen): True if this object is not
30028        in the visible portion of the view.
30029        * page/AccessibilityObject.h: Grouped methods into is-state and is-kind.
30030
300312008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
30032
30033        Reviewed by Darin.
30034
30035        Add AccessibilityObjectWrapper to Windows.
30036
30037        * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h
30038        * page/AccessibilityObject.h: Include COMPtr.h,
30039        AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and
30040        setWrapper() if accessibility is present. Add an m_wrapper on Windows.
30041        * page/AccessibilityObject.cpp:
30042        (WebCore::AccessibilityObject::detach): Clear m_wrapper if
30043        accessibility is present.
30044        * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for
30045        AccessibilityObjects on Windows.
30046        (WebCore::AccessibilityObjectWrapper::attached): Return true if attached
30047        to an object.
30048        (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the
30049        wrapped object.
30050        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
30051
300522008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
30053
30054        Reviewed by Darin.
30055
30056        Add AXObjectCache to Windows.
30057
30058        * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp.
30059        * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to
30060        non-Mac platforms, and added stub for it. Replace PLATFORM(MAC)
30061        conditional with HAVE(ACCESSIBILITY) for stubs.
30062        (WebCore::AXObjectCache::enableAccessibility):
30063        (WebCore::AXObjectCache::accessibilityEnabled):
30064        * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods
30065        below.
30066        (WebCore::AXObjectCache::detachWrapper):
30067        (WebCore::AXObjectCache::attachWrapper):
30068        (WebCore::AXObjectCache::postNotification):
30069        (WebCore::AXObjectCache::postNotificationToElement):
30070        * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows.
30071
300722008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
30073
30074        Reviewed by Darin.
30075
30076        * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h.
30077
300782008-04-16  Brady Eidson  <beidson@apple.com>
30079
30080        Reviewed by Darin Adler
30081
30082        Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods.
30083        Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage
30084        and LocalStorage instantiate the appropriate type of StorageArea object.
30085
30086        This purpose of this change is because while adding the persistent store to LocalStorage,
30087        it became obvious that the client approach wasn't scaling well.  Additionally, a StorageArea
30088        backing a local storage area required vastly different data members compared to one backing
30089        a session storage area.
30090
30091        This will be much cleaner going forward.
30092
30093        * GNUmakefile.am:
30094        * WebCore.pro:
30095        * WebCore.vcproj/WebCore.vcproj:
30096        * WebCore.xcodeproj/project.pbxproj:
30097        * WebCoreSources.bkl:
30098
30099        * storage/LocalStorage.cpp:
30100        (WebCore::LocalStorage::storageArea):
30101        * storage/LocalStorage.h:
30102
30103        * storage/LocalStorageArea.cpp: Added.
30104        (WebCore::LocalStorageArea::LocalStorageArea):
30105        (WebCore::LocalStorageArea::itemChanged):
30106        (WebCore::LocalStorageArea::itemRemoved):
30107        (WebCore::LocalStorageArea::dispatchStorageEvent):
30108        * storage/LocalStorageArea.h: Added.
30109        (WebCore::LocalStorageArea::create):
30110
30111        * storage/SessionStorage.cpp:
30112        (WebCore::SessionStorage::copy):
30113        (WebCore::SessionStorage::storageArea):
30114        * storage/SessionStorage.h:
30115
30116        * storage/SessionStorageArea.cpp: Added.
30117        (WebCore::SessionStorageArea::copy):
30118        (WebCore::SessionStorageArea::SessionStorageArea):
30119        (WebCore::SessionStorageArea::itemChanged):
30120        (WebCore::SessionStorageArea::itemRemoved):
30121        (WebCore::SessionStorageArea::dispatchStorageEvent):
30122        * storage/SessionStorageArea.h: Added.
30123        (WebCore::SessionStorageArea::create):
30124        (WebCore::SessionStorageArea::page):
30125
30126        * storage/StorageArea.cpp:
30127        (WebCore::StorageArea::StorageArea):
30128        (WebCore::StorageArea::setItem):
30129        (WebCore::StorageArea::removeItem):
30130        (WebCore::StorageArea::storageMap):
30131        * storage/StorageArea.h:
30132
30133        * storage/StorageAreaClient.h: Removed.
30134
301352008-04-16  David Hyatt  <hyatt@apple.com>
30136
30137        Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
30138
30139        Reviewed by olliej
30140
30141        Added fast/canvas/canvas-bg.html
30142
30143        * GNUmakefile.am:
30144        * WebCore.pro:
30145        * WebCore.vcproj/WebCore.vcproj:
30146        * WebCore.xcodeproj/project.pbxproj:
30147        * WebCoreSources.bkl:
30148        * css/CSSCanvasValue.cpp: Added.
30149        (WebCore::CSSCanvasValue::~CSSCanvasValue):
30150        (WebCore::CSSCanvasValue::cssText):
30151        (WebCore::CSSCanvasValue::canvasChanged):
30152        (WebCore::CSSCanvasValue::canvasResized):
30153        (WebCore::CSSCanvasValue::fixedSize):
30154        (WebCore::CSSCanvasValue::element):
30155        (WebCore::CSSCanvasValue::image):
30156        * css/CSSCanvasValue.h: Added.
30157        (WebCore::CSSCanvasValue::CSSCanvasValue):
30158        (WebCore::CSSCanvasValue::isFixedSize):
30159        (WebCore::CSSCanvasValue::setName):
30160        * css/CSSGradientValue.cpp:
30161        * css/CSSGradientValue.h:
30162        * css/CSSImageGeneratorValue.cpp:
30163        (WebCore::CSSImageGeneratorValue::generatedImage):
30164        * css/CSSImageGeneratorValue.h:
30165        (WebCore::CSSImageGeneratorValue::isFixedSize):
30166        (WebCore::CSSImageGeneratorValue::fixedSize):
30167        * css/CSSParser.cpp:
30168        (WebCore::CSSParser::parseContent):
30169        (WebCore::CSSParser::parseBackgroundImage):
30170        (WebCore::CSSParser::parseBorderImage):
30171        (WebCore::CSSParser::parseCanvas):
30172        * css/CSSParser.h:
30173        * dom/Document.cpp:
30174        (WebCore::Document::getCSSCanvasContext):
30175        (WebCore::Document::getCSSCanvasElement):
30176        * dom/Document.h:
30177        * dom/Document.idl:
30178        * html/HTMLCanvasElement.cpp:
30179        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
30180        (WebCore::HTMLCanvasElement::reset):
30181        * html/HTMLCanvasElement.h:
30182        (WebCore::HTMLCanvasElement::setSize):
30183        * rendering/RenderBox.cpp:
30184        (WebCore::RenderBox::calculateBackgroundSize):
30185        (WebCore::RenderBox::imageChanged):
30186        * rendering/RenderBox.h:
30187        * rendering/RenderImage.cpp:
30188        (WebCore::RenderImage::imageChanged):
30189        * rendering/RenderImage.h:
30190        (WebCore::RenderImage::imagePtr):
30191        (WebCore::RenderImage::intrinsicSizeChanged):
30192        * rendering/RenderImageGeneratedContent.h:
30193        (WebCore::RenderImageGeneratedContent::imageSize):
30194        (WebCore::RenderImageGeneratedContent::imagePtr):
30195        * rendering/RenderListMarker.cpp:
30196        (WebCore::RenderListMarker::layout):
30197        (WebCore::RenderListMarker::imageChanged):
30198        (WebCore::RenderListMarker::calcPrefWidths):
30199        (WebCore::RenderListMarker::getRelativeMarkerRect):
30200        * rendering/RenderListMarker.h:
30201        * rendering/RenderObject.cpp:
30202        (WebCore::RenderObject::paintBorderImage):
30203        (WebCore::RenderObject::imageChanged):
30204        * rendering/RenderObject.h:
30205        (WebCore::RenderObject::imageChanged):
30206        * rendering/RenderSVGImage.cpp:
30207        (WebCore::RenderSVGImage::imageChanged):
30208        * rendering/RenderSVGImage.h:
30209        * rendering/RenderStyle.cpp:
30210        (WebCore::StyleCachedImage::imageSize):
30211        (WebCore::StyleGeneratedImage::imageSize):
30212        * rendering/RenderStyle.h:
30213        (WebCore::StyleCachedImage::data):
30214        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
30215        (WebCore::StyleGeneratedImage::data):
30216        (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
30217        (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
30218        (WebCore::StyleGeneratedImage::usesImageContainerSize):
30219        * rendering/RenderTableCol.cpp:
30220        (WebCore::RenderTableCol::imageChanged):
30221        * rendering/RenderTableCol.h:
30222        * rendering/RenderTableRow.cpp:
30223        (WebCore::RenderTableRow::imageChanged):
30224        * rendering/RenderTableRow.h:
30225        * rendering/RenderTableSection.cpp:
30226        (WebCore::RenderTableSection::imageChanged):
30227        * rendering/RenderTableSection.h:
30228
302292008-04-16  Anders Carlsson  <andersca@apple.com>
30230
30231        Reviewed by Darin.
30232
30233        Add manifest parser.
30234
30235        * loader/appcache/ManifestParser.cpp:
30236        (WebCore::parseManifest):
30237        * loader/appcache/ManifestParser.h:
30238        * platform/text/CharacterNames.h:
30239
302402008-04-16  Darin Adler  <darin@apple.com>
30241
30242        Reviewed by Mitz.
30243
30244        - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1):
30245          Safari does not find words containing ß (German letter sharp-s)
30246
30247        Test: fast/text/find-case-folding.html
30248
30249        * platform/text/StringImpl.cpp:
30250        (WebCore::StringImpl::foldCase):
30251        Pass the folded length to foldCase rather than the original string length.
30252        Without this, we get an error code every time.
30253
302542008-04-16  Anders Carlsson  <andersca@apple.com>
30255
30256        Fix build.
30257        
30258        * loader/appcache/ApplicationCache.cpp:
30259        (WebCore::ApplicationCache::ApplicationCache):
30260        (WebCore::ApplicationCache::setManifestResource):
30261        (WebCore::ApplicationCache::addResource):
30262
302632008-04-16  Anders Carlsson  <andersca@apple.com>
30264
30265        Reviewed by Darin.
30266
30267        Add new protocolHostAndPortAreEqual function.
30268        
30269        * platform/KURL.cpp:
30270        (WebCore::KURL::host):
30271        (WebCore::KURL::setHost):
30272        (WebCore::KURL::setHostAndPort):
30273        (WebCore::protocolHostAndPortAreEqual):
30274        * platform/KURL.h:
30275        (WebCore::KURL::hostStart):
30276
302772008-04-16  Anders Carlsson  <andersca@apple.com>
30278
30279        Reviewed by Sam.
30280        
30281        Fix some style nits.
30282        
30283        * loader/appcache/ApplicationCache.cpp:
30284        (WebCore::ApplicationCache::ApplicationCache):
30285        (WebCore::ApplicationCache::setManifestResource):
30286        (WebCore::ApplicationCache::addResource):
30287        (WebCore::ApplicationCache::removeResource):
30288        (WebCore::ApplicationCache::dump):
30289        * loader/appcache/ApplicationCacheGroup.h:
30290
302912008-04-16  Anders Carlsson  <andersca@apple.com>
30292
30293        Reviewed by Brady and Sam.
30294
30295        Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods
30296        needed by ApplicationCache.
30297        
30298        * loader/appcache/ApplicationCache.cpp:
30299        (WebCore::ApplicationCache::ApplicationCache):
30300        (WebCore::ApplicationCache::~ApplicationCache):
30301        (WebCore::ApplicationCache::setManifestResource):
30302        (WebCore::ApplicationCache::addResource):
30303        (WebCore::ApplicationCache::removeResource):
30304        (WebCore::ApplicationCache::resourceForURL):
30305        (WebCore::ApplicationCache::resourceForRequest):
30306        (WebCore::ApplicationCache::numDynamicEntries):
30307        (WebCore::ApplicationCache::dynamicEntry):
30308        (WebCore::ApplicationCache::addDynamicEntry):
30309        (WebCore::ApplicationCache::removeDynamicEntry):
30310        (WebCore::ApplicationCache::setOnlineWhitelist):
30311        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
30312        (WebCore::ApplicationCache::dump):
30313        * loader/appcache/ApplicationCache.h:
30314        (WebCore::ApplicationCache::create):
30315        (WebCore::ApplicationCache::manifestResource):
30316        (WebCore::ApplicationCache::group):
30317        (WebCore::ApplicationCache::begin):
30318        (WebCore::ApplicationCache::end):
30319        * loader/appcache/ApplicationCacheGroup.h:
30320        (WebCore::ApplicationCacheGroup::manifestURL):
30321        (WebCore::ApplicationCacheGroup::cacheDestroyed):
30322
303232008-04-16  Adam Roben  <aroben@apple.com>
30324
30325        Fix Bug 18505: REGRESSION: Search is disabled and not functional
30326
30327        <https://bugs.webkit.org/show_bug.cgi?id=18505>
30328
30329        Reviewed by Tim Hatcher.
30330
30331        * page/inspector/ResourcesPanel.js:
30332        (WebInspector.ResourcesPanel.sourceFrameForResource): Added.
30333        * page/inspector/inspector.css: Added back rules for the search field
30334        that were removed in r31736.
30335        * page/inspector/inspector.html:
30336          - Removed the disabled attribute from the search field
30337          - Added back the #searchResults and #searchResultsResizer divs which
30338            were removed in r31736
30339        * page/inspector/inspector.js:
30340        (WebInspector.set showingSearchResults): Updated for class rename
30341        panels -> main-panels.
30342        (WebInspector.loaded): Added back the mousedown event listener for the
30343        search results resizer that was removed in r31736.
30344        (WebInspector.searchResultsResizerDrag): Updated for class rename
30345        panels -> main-panels.
30346        (WebInspector.performSearch):
30347          - Changed to use sourceFrameForResource
30348          - Changed to use showResource
30349          - Changed to save/restore the focused element around the setting of
30350            the current panel
30351          - Changed to get the source document from the match range instead of
30352            by crawling back up to the source view
30353          - Changed to bind the onselect handlers to this so that we can
30354            access the Elements/Resources panels
30355
303562008-04-16  Brady Eidson  <beidson@apple.com>
30357
30358        Reviewed by Sam Weinig
30359
30360        Changing ThreadSafeShared to start with a ref count of 1, so updating all users to
30361        adoptRef() that initial reference.
30362
30363        * bindings/js/JSCustomSQLStatementCallback.h:
30364        (WebCore::JSCustomSQLStatementCallback::create):
30365        * bindings/js/JSCustomSQLStatementErrorCallback.h:
30366        (WebCore::JSCustomSQLStatementErrorCallback::create):
30367        * bindings/js/JSCustomSQLTransactionCallback.h:
30368        (WebCore::JSCustomSQLTransactionCallback::create):
30369        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
30370        (WebCore::JSCustomSQLTransactionErrorCallback::create):
30371
30372        * bindings/js/JSDatabaseCustom.cpp:
30373        (WebCore::JSDatabase::changeVersion):
30374        (WebCore::JSDatabase::transaction):
30375
30376        * bindings/js/JSSQLTransactionCustom.cpp:
30377        (WebCore::JSSQLTransaction::executeSql):
30378
30379        * dom/Document.cpp:
30380        (WebCore::Document::databaseThread):
30381
30382        * platform/SecurityOrigin.cpp:
30383        (WebCore::SecurityOrigin::create):
30384
30385        * platform/sql/SQLiteAuthorizer.h:
30386        (WebCore::SQLiteAuthorizer::create):
30387        (WebCore::SQLiteAuthorizer::SQLiteAuthorizer):
30388
30389        * storage/ChangeVersionWrapper.cpp:
30390        (WebCore::ChangeVersionWrapper::performPreflight):
30391        (WebCore::ChangeVersionWrapper::performPostflight):
30392        * storage/ChangeVersionWrapper.h:
30393        (WebCore::ChangeVersionWrapper::create):
30394
30395        * storage/Database.cpp:
30396        (WebCore::Database::openAndVerifyVersion):
30397        (WebCore::Database::markAsDeletedAndClose):
30398        (WebCore::Database::changeVersion):
30399        (WebCore::Database::transaction):
30400        (WebCore::Database::scheduleTransaction):
30401        (WebCore::Database::scheduleTransactionStep):
30402        (WebCore::Database::tableNames):
30403
30404        * storage/DatabaseAuthorizer.h:
30405        (WebCore::DatabaseAuthorizer::create):
30406
30407        * storage/DatabaseTask.h:
30408        (WebCore::DatabaseOpenTask::create):
30409        (WebCore::DatabaseCloseTask::create):
30410        (WebCore::DatabaseTransactionTask::create):
30411        (WebCore::DatabaseTableNamesTask::create):
30412
30413        * storage/DatabaseThread.cpp:
30414        (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw
30415        (WebCore::DatabaseThread::scheduleImmediateTask): Ditto
30416        * storage/DatabaseThread.h:
30417        (WebCore::DatabaseThread::create):
30418
30419        * storage/SQLError.h:
30420        (WebCore::SQLError::create):
30421        (WebCore::SQLError::SQLError):
30422
30423        * storage/SQLResultSet.h:
30424        (WebCore::SQLResultSet::create):
30425
30426        * storage/SQLStatement.cpp:
30427        (WebCore::SQLStatement::create):
30428        (WebCore::SQLStatement::execute):
30429        (WebCore::SQLStatement::setDatabaseDeletedError):
30430        (WebCore::SQLStatement::setVersionMismatchedError):
30431        (WebCore::SQLStatement::setFailureDueToQuota):
30432        * storage/SQLStatement.h:
30433
30434        * storage/SQLTransaction.cpp:
30435        (WebCore::SQLTransaction::create):
30436        (WebCore::SQLTransaction::executeSQL):
30437        (WebCore::SQLTransaction::openTransactionAndPreflight):
30438        (WebCore::SQLTransaction::deliverTransactionCallback):
30439        (WebCore::SQLTransaction::handleCurrentStatementError):
30440        (WebCore::SQLTransaction::deliverStatementCallback):
30441        (WebCore::SQLTransaction::postflightAndCommit):
30442        * storage/SQLTransaction.h:
30443
304442008-04-16  Anders Carlsson  <andersca@apple.com>
30445
30446        Reviewed by Adam and Brady.
30447        
30448        Add implementation of ApplicationCacheResource.
30449        
30450        * loader/appcache/ApplicationCacheResource.cpp:
30451        (WebCore::ApplicationCacheResource::ApplicationCacheResource):
30452        (WebCore::ApplicationCacheResource::dumpType):
30453        * loader/appcache/ApplicationCacheResource.h:
30454        (WebCore::ApplicationCacheResource::):
30455        (WebCore::ApplicationCacheResource::create):
30456        (WebCore::ApplicationCacheResource::type):
30457        (WebCore::ApplicationCacheResource::addType):
30458
304592008-04-16  Timothy Hatcher  <timothy@apple.com>
30460
30461        Fixes an issue where the source for a resource that had errors would
30462        not be shown because the view was created before the resource load
30463        finished. The right view is now created, even if the resource isn't 
30464        finished. The SourceView just makes sure to not load the source until
30465        the resource is finished. Only if the category changes, does the view
30466        need to be recreated.
30467
30468        Reviewed by Adam Roben.
30469
30470        * page/inspector/Resource.js:
30471        (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded.
30472        * page/inspector/ResourcesPanel.js:
30473        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
30474        Added. Tries to make a new view, if the view is the same prototype of the
30475        previous view, return early. If they differ, close and detach the old view
30476        and associate the resource with the new view. Calling updateErrorsAndWarnings
30477        is needed, because the errors and warnings that might have been added to the
30478        previous view will be lost, so make the tree element match.
30479        (WebInspector.Resource.prototype._createResourceView): Always create a view
30480        that matches the resource category. Ignore the loading and failed status.
30481        * page/inspector/SourceView.js:
30482        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the
30483        frame if the resource hasn't finished or if the load failed.
30484
304852008-04-16  Timothy Hatcher  <timothy@apple.com>
30486
30487        Adds a console formatter for Error objects. So typing a expression in the
30488        console that ends in an exception will print meaningful info. Also calling
30489        console.{log,error,warn,info} with an error object will output nicely.
30490
30491        Reviewed by Adam Roben.
30492
30493        * page/inspector/Console.js:
30494        (WebInspector.Console.prototype._formaterror): Added. Formats an error
30495        object by showing it like other exceptions, with a clickable file URL.
30496
304972008-04-16  Timothy Hatcher  <timothy@apple.com>
30498
30499        Refactors code that updates the errors and warnings count in the
30500        resources sidebar so other functions can easily trigger updates.
30501
30502        Reviewed by Adam Roben.
30503
30504        * page/inspector/ResourcesPanel.js:
30505        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings.
30506        Removes code that updates the bubbleText and class names.
30507        (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
30508        (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings):
30509        Added. Updates the bubbleText and adds or removes the class names
30510        depending on if the values are zero.
30511
305122008-04-16  Antti Koivisto  <antti@apple.com>
30513
30514        Reviewed by Alexey.
30515        
30516        Fix <rdar://problem/5863728>
30517        REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol)
30518        
30519        Parse the encoding attribute in PreloadScanner.
30520
30521        Test: fast/encoding/script-preload-encoding.html
30522
30523        * html/PreloadScanner.cpp:
30524        (WebCore::PreloadScanner::processAttribute):
30525        (WebCore::PreloadScanner::emitTag):
30526        (WebCore::PreloadScanner::emitCSSRule):
30527        * html/PreloadScanner.h:
30528        * loader/DocLoader.cpp:
30529        (WebCore::DocLoader::preload):
30530        * loader/DocLoader.h:
30531
305322008-04-16  Anders Carlsson  <andersca@apple.com>
30533
30534        Reviewed by Adam.
30535
30536        Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 
30537        fix typos in the #if line.
30538        
30539        * DerivedSources.make:
30540        * WebCore.vcproj/WebCore.vcproj:
30541        * WebCore.xcodeproj/project.pbxproj:
30542        * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
30543        * loader/appcache/ApplicationCache.cpp:
30544        * loader/appcache/ApplicationCache.h:
30545        * loader/appcache/ApplicationCacheGroup.cpp:
30546        * loader/appcache/ApplicationCacheGroup.h:
30547        * loader/appcache/ApplicationCacheResource.cpp:
30548        * loader/appcache/ApplicationCacheResource.h:
30549        * loader/appcache/DOMApplicationCache.cpp:
30550        * loader/appcache/DOMApplicationCache.h:
30551        * loader/appcache/DOMApplicationCache.idl:
30552        * loader/appcache/ManifestParser.cpp:
30553        * loader/appcache/ManifestParser.h:
30554
305552008-04-16  Sam Weinig  <sam@webkit.org>
30556
30557        Reviewed by Geoffrey Garen.
30558
30559        - To keep the behavior of the WebKit and JavaScriptCore API's the same,
30560          we need to hide the fact that the global object and the window object
30561          are no longer the same thing, and the the global object now changes on
30562          navigations.  To do this, only the wrapper should ever be exposed.  This
30563          fixes the two remaining spots where the internal global object is exposed,
30564          the windowScriptObject returned from [WebFrame windowObject] and the object
30565          return by calling JSContextGetGlobalObject on [WebFrame globalContext]
30566
30567        * bindings/js/JSDOMWindowWrapper.cpp:
30568        (WebCore::JSDOMWindowWrapper::putWithAttributes):
30569        * bindings/js/JSDOMWindowWrapper.h:
30570        Forward this new method so that JSObjectSetProperty doesn't set properties on the 
30571        wrapper.
30572
30573        * page/mac/FrameMac.mm:
30574        (WebCore::Frame::windowScriptObject):
30575        Return the wrapper instead of the global object.
30576
305772008-04-16  David Hyatt  <hyatt@apple.com>
30578
30579        Eliminate the paintBuffer and drawImage(ImageBuffer*) methods from GraphicsContext* in favor of just
30580        snagging an Image* from the ImageBuffer and drawing that instead.
30581
30582        Enhance canvas with a CanvasObserver so that notifications of dirtying or resizing can be tracked by
30583        a consumer.
30584
30585        Reviewed by olliej
30586
30587        * html/CanvasRenderingContext2D.cpp:
30588        (WebCore::CanvasRenderingContext2D::drawImage):
30589        * html/HTMLCanvasElement.cpp:
30590        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
30591        (WebCore::HTMLCanvasElement::willDraw):
30592        (WebCore::HTMLCanvasElement::reset):
30593        (WebCore::HTMLCanvasElement::paint):
30594        * html/HTMLCanvasElement.h:
30595        (WebCore::CanvasObserver::~CanvasObserver):
30596        (WebCore::HTMLCanvasElement::setSize):
30597        (WebCore::HTMLCanvasElement::setObserver):
30598        * platform/graphics/GraphicsContext.cpp:
30599        (WebCore::GraphicsContext::drawImage):
30600        (WebCore::GraphicsContext::drawTiledImage):
30601        * platform/graphics/GraphicsContext.h:
30602        * platform/graphics/ImageBuffer.h:
30603        (WebCore::ImageBuffer::clearImage):
30604        * platform/graphics/cairo/GraphicsContextCairo.cpp:
30605        * platform/graphics/cg/GraphicsContextCG.cpp:
30606        * platform/graphics/cg/ImageCG.cpp:
30607        (WebCore::BitmapImage::draw):
30608        (WebCore::Image::drawPattern):
30609        * platform/graphics/cg/ImageSourceCG.cpp:
30610        (WebCore::ImageSource::createFrameAtIndex):
30611        * platform/graphics/qt/GraphicsContextQt.cpp:
30612        * platform/graphics/wx/GraphicsContextWx.cpp:
30613
306142008-04-16  Steve Falkenburg  <sfalken@apple.com>
30615
30616        Improve timer latency/resolution.
30617                
30618        The primary timing mechanism is now CreateTimerQueueTimer, with a PostMessage from
30619        the callback proc.  This event will be delivered sooner than if we used SetTimer(),
30620        since it is higher priority than other messages.
30621        
30622        If there is an input message pending, we'll use we SetTimer() based timers to avoid
30623        starving user input.
30624
30625        Don't call PostMessage immediately on all timers < 10ms.  Only call immediately if
30626        timer is already expired.  This avoids the case where no timers would be processed,
30627        causing the timer to be re-posted via the slower SetTimer method.
30628
30629        Don't call PostMessage immediately if there's a pending WM_PAINT, since
30630        we don't want to starve all paints when bombarded with a continuous stream of low
30631        duration timers.
30632
30633        Removed reentrancy check, since we're now looking for specific starvation cases,
30634        and will typically defer non-expired timers through CreateTimerQueueTimer.
30635
30636        The reason Windows wouldn't starve paints in favor of timers with the old code:
30637        When we went to reset the timer when it fired, the timer reset code treated this as a
30638        reentrant timer, causing us to hit the slow SetTimer code rather than calling PostMessage,
30639        even for timers expiring in < 10ms.  I corrected that, exposing the paint starvation problem.
30640
30641        Use timeBeginPeriod/timeEndPeriod to improve resolution of system timers.
30642        Limit this resolution change to within 20ms of the last high resolution timer request.
30643                        
30644        Corrected GetQueueStatus to check for specific input (and paint) messages rather than
30645        checking QS_ALLINPUT.  Contrary to its name, QS_ALLINPUT actually indicates interest
30646        in ALL queued messages, not just input messages.
30647        
30648        Fix SetTimer/KillTimer calls to pass our window handle.
30649
30650        Reviewed by Brady.
30651
30652        * platform/win/SharedTimerWin.cpp:
30653        (WebCore::TimerWindowWndProc):
30654        (WebCore::queueTimerProc):
30655        (WebCore::setSharedTimerFireTime):
30656        (WebCore::stopSharedTimer):
30657
306582008-04-16  Adam Roben  <aroben@apple.com>
30659
30660        Fix console-log-formatting to truly test formatting an undefined value
30661
30662        Exceptions thrown by the test will also now be shown as errors.
30663
30664        Reviewed by Tim Hatcher.
30665
30666        * manual-tests/inspector/console-log-formatting.html:
30667        (test): Use console.error to report exceptions.
30668        (runTests): Use window.noSuchVariable instead of just noSuchVariable
30669        to avoid an exception.
30670
306712008-04-16  Anatoli Papirovski  <apapirovski@mac.com>
30672
30673        Reviewed by David.
30674
30675        Optimized the calculation of background-size.
30676
30677        * rendering/RenderBox.cpp:
30678        (WebCore::RenderBox::calculateBackgroundSize):
30679
306802008-04-16  Adam Roben  <aroben@apple.com>
30681
30682        Fix Bug 17228: console.{log,warn,info,error} should support format
30683        strings, variable arguments
30684
30685        <https://bugs.webkit.org/show_bug.cgi?id=17228>
30686        <rdar://problem/5732828>
30687
30688        Reviewed by Tim Hatcher.
30689
30690        Test: manual-tests/inspector/console-log-formatting.html
30691
30692        * page/inspector/Console.js:
30693        (WebInspector.ConsoleMessage): Pass any extra arguments down to
30694        _format.
30695        (WebInspector.ConsoleMessage._format): This method constructs
30696        this.formattedMessage. We treat the first parameter as a format
30697        string. Any parameters that have not been used after substituting into
30698        the format string are concatenated together, separated by spaces.
30699        (WebInspector.ConsoleMessage.toMessageElement): Updated to use
30700        this.formattedMessage.
30701        (WebInspector.ConsoleMessage.toString): Ditto.
30702
307032008-04-15  Adam Roben  <aroben@apple.com>
30704
30705        Make String.format return an array of unused substitutions
30706
30707        String.format now returns an object with two properties:
30708        formattedResult and unusedSubstitutions.
30709
30710        Reviewed by Tim Hatcher.
30711
30712        * page/inspector/utilities.js:
30713        (String.vsprintf): Updated for changes to String.format. We throw away
30714        the array of unused substitutions.
30715        (String.format): Changed to keep track of which substitutions are used
30716        when formatting. We then return both the formatted result and the
30717        array of unused substitutions.
30718
307192008-04-15  Adam Roben  <aroben@apple.com>
30720
30721        Generalize String.format some more
30722
30723        String.format now takes an initial value and an append function which
30724        it uses to build the result. Each time a token is processed,
30725        append(valueSoFar, newValue) is called.
30726
30727        Reviewed by Tim Hatcher.
30728
30729        * page/inspector/utilities.js:
30730        (String.vsprintf): Pass the empty string for the initial value, and
30731        a function that concatenates two strings as the append function.
30732        (String.format): Use initialValue and append to build the result
30733        instead of only working with strings.
30734
307352008-04-15  Adam Roben  <aroben@apple.com>
30736
30737        Add String.format
30738
30739        String.format is a more generic form of String.vsprintf that takes a
30740        set of formatter functions, one for each supported format specifier.
30741        Each formatter function is passed the relevant token and substitution
30742        value, and returns the formatted result.
30743
30744        Reviewed by Tim Hatcher.
30745
30746        * page/inspector/utilities.js:
30747        (String.standardFormatters): Added.
30748        (String.vsprintf): Changed to call through to String.format.
30749        (String.format): Added. Most of the code came from String.vsprintf,
30750        except that we use the passed-in formatters to format the
30751        substitutions rather than hard-coding how to handle each format
30752        specifier.
30753
307542008-04-15  Adam Roben  <aroben@apple.com>
30755
30756        Refactor String.vsprintf to separate tokenizing and substituting
30757
30758        This will eventually be useful for the various console methods that
30759        take a format string.
30760
30761        Reviewed by Tim Hatcher.
30762
30763        * page/inspector/utilities.js:
30764        (String.tokenizeFormatString): Added. This uses the format parsing
30765        code from String.vsprintf but just returns an array of "string" and
30766        "specifier" tokens.
30767        (String.vsprintf): Now calls String.tokenizeFormatString and processes
30768        the tokens one at a time.
30769
307702008-04-15  Adam Roben  <aroben@apple.com>
30771
30772        Pass all arguments to console.{log,warn,info,error} into the Inspector's JS
30773
30774        Part of Bug 17228: console.{log,warn,info,error} should support format
30775        strings, variable arguments
30776        <http://bugs.webkit.org/show_bug.cgi?id=17228>
30777        <rdar://problem/5732828>
30778
30779        We don't use the extra arguments yet.
30780
30781        Reviewed by Tim Hatcher.
30782
30783        * page/Console.cpp:
30784        (WebCore::Console::error): Pass the arguments list to
30785        InspectorController.
30786        (WebCore::Console::info): Ditto.
30787        (WebCore::Console::log): Ditto.
30788        (WebCore::Console::warn): Ditto.
30789        * page/InspectorController.cpp:
30790        (WebCore::ConsoleMessage::ConsoleMessage): Added a new constructor
30791        that takes an ExecState and a List instead of a String. We wrap and
30792        store the JSValues from the List in a Vector<ProtectedPtr<JSValue> >.
30793        (WebCore::InspectorController::addMessageToConsole): Added an overload
30794        that takes an ExecState and a List.
30795        (WebCore::InspectorController::addConsoleMessage): Moved code here
30796        from addMessageToConsole. Both overloads of addMessageToConsole now
30797        call this helper method.
30798        (WebCore::InspectorController::addScriptConsoleMessage): Updated for
30799        the new parameter order of WebInspector.ConsoleMessage. If the
30800        ConsoleMessage has a non-empty wrappedArguments Vector, we use that
30801        instead of the ConsoleMessage's message String.
30802        * page/InspectorController.h:
30803        * page/inspector/Console.js:
30804        (WebInspector.ConsoleMessage): Removed the explicit message parameter.
30805        We now get the message from the unnamed 5th parameter.
30806        * page/inspector/Resource.js: Updated for the change to
30807        WebInspector.ConsoleMessage's parameter order.
30808
308092008-04-15  Adam Roben  <aroben@apple.com>
30810
30811        Change calls to Chrome::addMessageToConsole to use Console::addMessage
30812
30813        Part of Bug 17228: console.{log,warn,info,error} should support format
30814        strings, variable arguments
30815        <http://bugs.webkit.org/show_bug.cgi?id=17228>
30816        <rdar://problem/5732828>
30817
30818        Console now takes care of calling ChromeClient::addMessageToConsole
30819        for the appropriate messages (i.e., just messages from JavaScript). If
30820        you ever want to add a message to the console, Console is the place to
30821        do it.
30822
30823        Reviewed by Darin Adler.
30824
30825        * WebCore.xcodeproj/project.pbxproj: Mark Console.h Private.
30826        * page/Chrome.cpp: Removed addMessageToConsole
30827        * page/Chrome.h: Moved MessageSource/MessageLevel to Console.h.
30828        * page/Console.cpp:
30829        (WebCore::Console::addMessage): Added. Calls
30830        ChromeClient::addMessageToConsole for JS messages, and calls
30831        InspectorController::addMessageToConsole for all messages.
30832        (WebCore::Console::error): Changed to call directly to
30833        InspectorController in addition to ChromeClient.
30834        (WebCore::Console::info): Ditto.
30835        (WebCore::Console::log): Ditto.
30836        (WebCore::Console::warn): Ditto.
30837        * page/Console.h: Added MessageSource/MessageLevel enums from Chrome.h.
30838
308392008-04-15  Adam Roben  <aroben@apple.com>
30840
30841        Pass JSConsole's arguments unmodified to Console
30842
30843        Part of Bug 17228: console.{log,warn,info,error} should support format
30844        strings, variable arguments
30845        <http://bugs.webkit.org/show_bug.cgi?id=17228>
30846        <rdar://problem/5732828>
30847
30848        All of JSConsole's methods are now custom, so that we can pass the
30849        arguments unmodified to Console. Console now handles calling
30850        toString() on the first argument. Later it will pass the arguments off
30851        to InspectorController.
30852
30853        There should be no behavioral changes caused by this patch.
30854
30855        Reviewed by Darin Adler.
30856
30857        * ForwardingHeaders/kjs/list.h: Added.
30858        * GNUmakefile.am: Added JSConsoleCustom.cpp to the project.
30859        * WebCore.pro: Ditto.
30860        * WebCore.vcproj/WebCore.vcproj: Ditto.
30861        * WebCore.xcodeproj/project.pbxproj: Ditto.
30862        * WebCoreSources.bkl: Ditto.
30863        * bindings/js/JSConsoleCustom.cpp: Added.
30864        (WebCore::JSConsole::error):
30865        (WebCore::JSConsole::info):
30866        (WebCore::JSConsole::log):
30867        (WebCore::JSConsole::warn):
30868        * page/Console.cpp: Changed all methods to take an ExecState* and a
30869        const List&. The first item in the List is toString()ed and passed to
30870        Chrome.
30871        (WebCore::Console::error):
30872        (WebCore::Console::info):
30873        (WebCore::Console::log):
30874        (WebCore::Console::warn):
30875        * page/Console.h:
30876        * page/Console.idl:
30877
308782008-04-16  Sam Weinig  <sam@webkit.org>
30879
30880        Reviewed by Darin Adler.
30881
30882        Rename kjs_strtod to KJS::strtod.
30883
30884        * platform/text/String.cpp:
30885        (WebCore::charactersToDouble):
30886
308872008-04-16  Alexey Proskuryakov  <ap@webkit.org>
30888
30889        Reviewed by Adam.
30890
30891        http://bugs.webkit.org/show_bug.cgi?id=18259
30892        XML+XSLT pages in iframe contains document.location of a parent window
30893
30894        Test: fast/xsl/subframe-location.html
30895
30896        * xml/XSLTProcessor.cpp:
30897        (WebCore::XSLTProcessor::createDocumentFromSource): Set resulting document URL before opening
30898        it, so that the document loader picks a correct URL, too.
30899
309002008-04-16  Dan Bernstein  <mitz@apple.com>
30901
30902        Rubber-stamped by John Sullivan.
30903
30904        - remove unreachable code which was added in r8802
30905
30906        * rendering/RenderText.cpp:
30907        (WebCore::RenderText::caretRect):
30908
309092008-04-15  Timothy Hatcher  <timothy@apple.com>
30910
30911        Adds a script resource icon. Update the CSS icon to better match the script icon.
30912
30913        https://bugs.webkit.org/show_bug.cgi?id=18499
30914
30915        Rubber-stamped by Adele Peterson.
30916
30917        * page/inspector/Images/resourceCSSIcon.png: Updated.
30918        * page/inspector/Images/resourceJSIcon.png: Added.
30919        * page/inspector/inspector.css: Changed the script icon rule to reference the new image.
30920
309212008-04-16  Eric Seidel  <eric@webkit.org>
30922
30923        Reviewed by hyatt.
30924
30925        Fix leaky ImageBuffer code.
30926
30927        * platform/graphics/GeneratedImage.cpp:
30928        (WebCore::GeneratedImage::drawPattern):
30929        * platform/graphics/ImageBuffer.h:
30930        * platform/graphics/cg/ImageBufferCG.cpp:
30931        (WebCore::ImageBuffer::image):
30932
309332008-04-15  Justin Garcia  <justin.garcia@apple.com>
30934
30935        Reviewed by Oliver.
30936
30937        <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
30938
30939        * editing/markup.cpp:
30940        (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold
30941        paragraphs if the enclosing block is the root editable element.
30942
309432008-04-15  Mark Rowe  <mrowe@apple.com>
30944
30945        Reviewed by Jon Honeycutt.
30946
30947        Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role.  It is really
30948        a subrole of NSAccessibilityButtonRole.  As it is not used inside WebCore there is no change in
30949        behaviour as a result of doing this.  This fixes <rdar://problem/5866444>.
30950
30951        * page/AccessibilityObject.cpp:
30952        (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.
30953        * page/AccessibilityObject.h: Ditto.
30954        * page/mac/AccessibilityObjectWrapper.mm:
30955        (RoleEntry::):
30956
309572008-04-15  Anders Carlsson  <andersca@apple.com>
30958
30959        Fix leaks seen on bot.
30960        
30961        * loader/SubstituteResource.h:
30962        (WebCore::SubstituteResource::~SubstituteResource):
30963        Add a virtual destructor.
30964
309652008-04-15  Brady Eidson  <beidson@apple.com>
30966
30967        Reviewed by Anders Carlsson
30968
30969        Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.
30970
30971        Each SubresourceLoader has a client.  That client is often a Loader::Host object.  
30972        The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
30973        object lifetime manually.
30974
30975        The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when 
30976        beginning the new navigation, and once when the new navigation is committed.
30977
30978        The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly 
30979        thereafter.  But the SubresourceLoader had a dangling pointer to the Host which is now invalid.
30980
30981        I explored a few options to fix this bug.  The one that was most obviously "clean" was to call cancel() on
30982        the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
30983        cleanup.
30984
30985        This problem with that approach was that it had other side effects - when you cut off a load that had already
30986        partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
30987        turn into broken image icons.  This was visually jarring and pretty unacceptable. 
30988
30989        So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
30990        SubresourceLoader before it forgets about it.  This leaves things the same visually and fixes the crash.
30991
30992        Note that the layout test for this - if possible - will require other enhancements to DRT including possibly 
30993        adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826> 
30994
30995        * loader/SubresourceLoader.h:
30996        (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient.  This is 
30997          perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less,
30998          and already null-check the client before calling it.
30999
31000        * loader/loader.cpp:
31001        (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide 
31002          to call into its client later.  Since the client has no guaranteed lifetime and is liable to be deleted 
31003          after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
31004
310052008-04-15  Anders Carlsson  <andersca@apple.com>
31006
31007        Reviewed by Adam.
31008
31009        Add empty files for the application cache.
31010        
31011        * Configurations/WebCore.xcconfig:
31012        * WebCore.vcproj/WebCore.vcproj:
31013        * WebCore.vcproj/build-generated-files.sh:
31014        Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
31015        
31016        * WebCore.xcodeproj/project.pbxproj:
31017        * loader/appcache: Added.
31018        * loader/appcache/ApplicationCache.cpp: Added.
31019        * loader/appcache/ApplicationCache.h: Added.
31020        * loader/appcache/ApplicationCacheGroup.cpp: Added.
31021        * loader/appcache/ApplicationCacheGroup.h: Added.
31022        * loader/appcache/ApplicationCacheResource.cpp: Added.
31023        * loader/appcache/ApplicationCacheResource.h: Added.
31024        * loader/appcache/DOMApplicationCache.cpp: Added.
31025        * loader/appcache/DOMApplicationCache.h: Added.
31026        * loader/appcache/DOMApplicationCache.idl: Added.
31027        * loader/appcache/ManifestParser.cpp: Added.
31028        * loader/appcache/ManifestParser.h: Added.
31029
310302008-04-15  Kevin McCullough  <kmccullough@apple.com>
31031
31032        Reviewed by Tim.
31033
31034        - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
31035        - Add XMLHttpRequest support to the inspector.
31036
31037        * English.lproj/InspectorLocalizedStrings.js: Specify capitalization
31038        instead of using text-transform because XHR must capitalize all the letters.
31039        * page/inspector/Resource.js: Assume XHRs are textType even though this
31040        may not always be true.
31041        Also add the XHR category and let all mime types be consistent with it.
31042        * page/inspector/ResourcesPanel.js: Set the XHR category color.
31043        * page/inspector/inspector.css: Make XHRs yellow and fonts red because
31044        XHRs are more common than fonts and yellow next to orange (scripts) is
31045        not as harsh on the eyes as red next to orange.
31046        * page/inspector/inspector.js: Specify capitalization again.
31047
310482008-04-15  David Hyatt  <hyatt@apple.com>
31049
31050        Fix the zoom property so that it works properly with font-size.
31051
31052        Reviewed by John Sullivan
31053
31054        Added fast/css/zoom-font-size.html
31055
31056        * css/CSSStyleSelector.cpp:
31057        (WebCore::CSSStyleSelector::updateFont):
31058        (WebCore::CSSStyleSelector::applyProperty):
31059        (WebCore::CSSStyleSelector::checkForZoomChange):
31060        * css/CSSStyleSelector.h:
31061
310622008-04-15  Timothy Hatcher  <timothy@apple.com>
31063
31064        Fixes the bug where a resource view could still be shown after the inspected
31065        page navigates to another page.
31066
31067        https://bugs.webkit.org/show_bug.cgi?id=18517
31068
31069        Reviewed by Adam Roben.
31070
31071        * page/inspector/ResourcesPanel.js:
31072        (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
31073        Iterate over all the resources and zero errors and warnings and delete the
31074        resource view and tree element. Removes all children of resourceViews. Passes
31075        true to _updateGraphDividersIfNeeded to force an immediate update.
31076        (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
31077        the resource view if it is visible. Removes the resource from the _resources
31078        array. Removes the tree element from the outline tree. Zeros out the errors
31079        and warnings properties. Deletes the tree element and resource view properties.
31080        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
31081        this._calculator for times when reset is called before the calculator is set.
31082        * page/inspector/inspector.js:
31083        (WebInspector.removeResource): Call ResourcesPanel.removeResource.
31084
310852008-04-15  Anders Carlsson  <andersca@apple.com>
31086
31087        Reviewed by Adam.
31088
31089        Rename "archive" to "substitute" in a couple of places.
31090        
31091        * loader/DocumentLoader.cpp:
31092        (WebCore::DocumentLoader::DocumentLoader):
31093        (WebCore::DocumentLoader::clearArchiveResources):
31094        (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):
31095        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
31096        (WebCore::DocumentLoader::isSubstituteLoadPending):
31097        (WebCore::DocumentLoader::cancelPendingSubstituteLoad):
31098        (WebCore::DocumentLoader::scheduleArchiveLoad):
31099        (WebCore::DocumentLoader::setDefersLoading):
31100        * loader/DocumentLoader.h:
31101        * loader/ResourceLoader.cpp:
31102        (WebCore::ResourceLoader::load):
31103        (WebCore::ResourceLoader::didCancel):
31104
311052008-04-15  Anders Carlsson  <andersca@apple.com>
31106
31107        Reviewed by Adam.
31108
31109        Move the URL, response and data to SubstituteResource.
31110        
31111        * loader/SubstituteResource.h:
31112        (WebCore::SubstituteResource::url):
31113        (WebCore::SubstituteResource::response):
31114        (WebCore::SubstituteResource::data):
31115        (WebCore::SubstituteResource::SubstituteResource):
31116        * loader/archive/ArchiveResource.cpp:
31117        (WebCore::ArchiveResource::ArchiveResource):
31118        * loader/archive/ArchiveResource.h:
31119        (WebCore::ArchiveResource::frameName):
31120
311212008-04-15  David Hyatt  <hyatt@apple.com>
31122
31123        https://bugs.webkit.org/show_bug.cgi?id=18467
31124
31125        Make sure to ignore zoom:0.  That is not supposed to actually do anything.  It's a hack in IE
31126        to cause an element to set "hasLayout."
31127
31128        Reviewed by Anders
31129
31130        Added fast/css/zoom-property-parsing.html
31131
31132        * css/CSSParser.cpp:
31133        (WebCore::CSSParser::parseValue):
31134        * css/CSSStyleSelector.cpp:
31135        (WebCore::CSSStyleSelector::applyProperty):
31136
311372008-04-15  Anders Carlsson  <andersca@apple.com>
31138
31139        Reviewed by Adam.
31140
31141        Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.
31142        
31143        * WebCore.vcproj/WebCore.vcproj:
31144        * WebCore.xcodeproj/project.pbxproj:
31145        * loader/SubstituteResource.h: Added.
31146        * loader/archive/ArchiveResource.h:
31147
311482008-04-15  Antti Koivisto  <antti@apple.com>
31149
31150        Reviewed by Geoff.
31151
31152        Fix <rdar://problem/5862921>
31153        REGRESSION: Leak in SVGSVGElement::SVGSVGElement
31154        
31155        In these strange days RefCounted starts with count of one.
31156
31157        * svg/SVGSVGElement.cpp:
31158        (WebCore::SVGSVGElement::SVGSVGElement):
31159        * svg/animation/SMILTimeContainer.h:
31160        (WebCore::SMILTimeContainer::create):
31161
311622008-04-15  Anatoli Papirovski  <apapirovski@mac.com>
31163
31164        Reviewed by hyatt
31165
31166        [CSS1, CSS3] Fixed the background-origin calculation for root elements
31167        (background-size and background-position are affected), r10794
31168        [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto
31169
31170        Test: fast/backgrounds/background-origin-root-element.html
31171
31172        * rendering/RenderBox.cpp:
31173        (WebCore::RenderBox::calculateBackgroundSize):
31174        (WebCore::RenderBox::calculateBackgroundImageGeometry):
31175
311762008-04-15  Timothy Hatcher  <timothy@apple.com>
31177
31178        Fixes the regression where the error and warning counts did not show up in the Resources
31179        sidebar next to resources.
31180
31181        https://bugs.webkit.org/show_bug.cgi?id=18494
31182
31183        Reviewed by Adam Roben.
31184
31185        * page/inspector/ResourcesPanel.js:
31186        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
31187        on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
31188        or warning class to the bubble.
31189        (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
31190        properties on each resource. Set the bubbleText back to an empty string.
31191        * page/inspector/SidebarTreeElement.js:
31192        (WebInspector.SidebarTreeElement): Create a statusElement.
31193        (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
31194        (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
31195        Assign the value to _bubbleText and bubbleElement.textContent.
31196        (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.
31197        * page/inspector/inspector.css: Style rules for bubbles and status elements.
31198
311992008-04-15  Timothy Hatcher  <timothy@apple.com>
31200
31201        Fixes the regression where error and warning bubbles would not be added
31202        to the source view of a resource.
31203
31204        https://bugs.webkit.org/show_bug.cgi?id=18495
31205
31206        Reviewed by Adam Roben.
31207
31208        * css/view-source.css:
31209        (.webkit-html-message-bubble): Add a min-height to make sure the border-radius
31210        has enough room to apply.
31211        * page/inspector/Console.js:
31212        (WebInspector.Console.prototype.addMessage): Removed code that added messages
31213        to resource panels and incremented error and warning counts on resources.
31214        Now just call ResourcesPanel.addMessageToResource after assigning the resource
31215        to the console message.
31216        (WebInspector.Console.prototype.clearMessages): Removed code that cleared error
31217        and warning counts from resources an call ResourcesPanel.clearMessages.
31218        * page/inspector/ResourcesPanel.js:
31219        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
31220        on the resource's view, if it is implemented.
31221        (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
31222        on all the resource views for the ones that implement it.
31223        (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
31224        to make the resource's view if needed. Use a local view variable.
31225        (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
31226        to create a resource view if needed.
31227        * page/inspector/SourceView.js:
31228        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the 
31229        _frameNeedsSetup property at the beginning to prevent recursion. Get the
31230        length of the messages array when assigning the local length variable.
31231        (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
31232        (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
31233        bubbles that might be sprinkled in the source. Also clears the messages array.
31234        (WebInspector.SourceView.prototype._addMessageToSource): Create the image
31235        element in the Inspector's document so we can use relative image URLs. Then
31236        adopt the image element into the frame's document.
31237
312382008-04-15  Brady Eidson  <beidson@apple.com>
31239
31240        Reviewed by Anders
31241
31242        Hook up event dispatching for window.localStorage changes.
31243
31244        Tests: storage/domstorage/localstorage/enumerate-storage.html
31245               storage/domstorage/localstorage/iframe-events.html
31246               storage/domstorage/localstorage/index-get-and-set.html
31247               storage/domstorage/localstorage/onstorage-attribute-markup.html
31248               storage/domstorage/localstorage/onstorage-attribute-setattribute.html
31249               storage/domstorage/localstorage/simple-events.html
31250               storage/domstorage/localstorage/simple-usage.html
31251               storage/domstorage/localstorage/window-open.html
31252
31253        * storage/LocalStorage.cpp:
31254        (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding
31255          each Frame that matches the storage area's security origin to a Vector.  Then dispatch
31256          the StorageEvent to each Frame in the Vector
31257
31258        * storage/SessionStorage.cpp:
31259        (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage,
31260          which is to only add the Frames to the Vector if their security origin matches
31261
312622008-04-15  Olivier Goffart  <ogoffart@trolltech.com>
31263
31264        Reviewed by Simon.
31265
31266        Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
31267
31268        * platform/Pasteboard.h: Added Qt-specific selection mode
31269        * platform/qt/PasteboardQt.cpp: Choose the clipboard or the selecton
31270        according to the selection mode
31271        (WebCore::Pasteboard::writeSelection):
31272        (WebCore::Pasteboard::plainText):
31273        (WebCore::Pasteboard::documentFragment):
31274        (WebCore::Pasteboard::writeURL):
31275        (WebCore::Pasteboard::clear):
31276        (WebCore::Pasteboard::isSelectionMode):
31277
312782008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
31279
31280        Reviewed by Simon.
31281
31282        Fix compilation with Qt namespaces
31283
31284        Qt can be configured to have all of its classes inside a specified namespaces.
31285        This is for example used in plugin/component environments like Eclipse.
31286
31287        This change makes it possible to let the Qt port compile against a namespaced
31288        Qt by the use of macros Qt provides to properly forward declare Qt classes in
31289        the namespace.
31290
31291        * WebCore.pro:
31292        * bridge/qt/qt_class.h:
31293        * bridge/qt/qt_instance.h:
31294        * html/HTMLCanvasElement.h:
31295        * platform/DragData.h:
31296        * platform/DragImage.h:
31297        * platform/KURL.h:
31298        * platform/PlatformKeyboardEvent.h:
31299        * platform/PlatformMouseEvent.h:
31300        * platform/PlatformWheelEvent.h:
31301        * platform/Widget.h:
31302        * platform/graphics/Color.h:
31303        * platform/graphics/FloatPoint.h:
31304        * platform/graphics/FloatRect.h:
31305        * platform/graphics/Gradient.h:
31306        * platform/graphics/GraphicsContext.h:
31307        * platform/graphics/ImageBuffer.h:
31308        * platform/graphics/ImageSource.h:
31309        * platform/graphics/IntPoint.h:
31310        * platform/graphics/IntRect.h:
31311        * platform/graphics/IntSize.h:
31312        * platform/graphics/Path.h:
31313        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
31314        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
31315        * platform/network/qt/QNetworkReplyHandler.h:
31316        * platform/network/qt/ResourceRequest.h:
31317        * platform/qt/ClipboardQt.h:
31318        * platform/qt/RenderThemeQt.h:
31319        * platform/text/PlatformString.h:
31320        * platform/text/qt/TextCodecQt.h:
31321        * svg/graphics/SVGPaintServer.h:
31322        * svg/graphics/SVGPaintServerGradient.h:
31323
313242008-04-14  Brady Eidson  <beidson@apple.com>
31325
31326        Reviewed by Anders
31327
31328        Lay the underpinnings for LocalStorage.
31329
31330        For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
31331        like SessionStorage.  The primary difference at this point is that the object returned is shared globally,
31332        and isn't copied for new top-level browsing contexts like SessionStorage.
31333
31334        Later, I'll add proper event dispatch and a persistent storage backing.
31335
31336        * GNUmakefile.am:
31337        * WebCore.base.exp:
31338        * WebCore.pro:
31339        * WebCore.vcproj/WebCore.vcproj:
31340        * WebCore.xcodeproj/project.pbxproj:
31341        * WebCoreSources.bkl:
31342
31343        * bindings/js/JSDOMWindowCustom.cpp:
31344        (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
31345
31346        * page/DOMWindow.cpp:
31347        (WebCore::DOMWindow::clear):
31348        (WebCore::DOMWindow::localStorage):
31349        * page/DOMWindow.h:
31350        (WebCore::DOMWindow::optionalLocalStorage):
31351
31352        * storage/LocalStorage.cpp: Added.
31353        (WebCore::LocalStorage::sharedLocalStorage):
31354        (WebCore::LocalStorage::LocalStorage):
31355        (WebCore::LocalStorage::storageArea):
31356        (WebCore::LocalStorage::itemChanged):
31357        (WebCore::LocalStorage::itemRemoved):
31358        (WebCore::LocalStorage::dispatchStorageEvent):
31359        * storage/LocalStorage.h: Added.
31360
31361        * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects
31362        (WebCore::SessionStorage::SessionStorage):
31363        (WebCore::SessionStorage::copy):
31364        (WebCore::SessionStorage::storageArea):
31365        (WebCore::SessionStorage::itemChanged):
31366        (WebCore::SessionStorage::itemRemoved):
31367        (WebCore::SessionStorage::dispatchStorageEvent):
31368        * storage/SessionStorage.h:
31369
31370        * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed.
31371        (WebCore::StorageArea::create):
31372        (WebCore::StorageArea::StorageArea):
31373        (WebCore::StorageArea::copy):
31374        (WebCore::StorageArea::setItem):
31375        (WebCore::StorageArea::removeItem):
31376        (WebCore::StorageArea::setClient):
31377        * storage/StorageArea.h:
31378        (WebCore::StorageArea::page):
31379        (WebCore::StorageArea::securityOrigin):
31380
31381        * storage/StorageAreaClient.h: Added.  Break out "itemChanged" and "itemRemoved" to a StorageAreaClient
31382          This way, both SessionStorage and LocalStorage areas can have different behavior on changes with
31383          that behavior managed from a central location.
31384        (WebCore::StorageAreaClient::~StorageAreaClient):
31385        (WebCore::StorageAreaClient::StorageAreaClient):
31386        (WebCore::StorageAreaClient::itemChanged):
31387        (WebCore::StorageAreaClient::itemRemoved):
31388
313892008-04-14  Brady Eidson  <beidson@apple.com>
31390
31391        Reviewed by Anders
31392
31393        Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
31394        if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
31395        network and will instead fail the load with a "cannot show URL" error.
31396
31397        * loader/ResourceLoader.cpp:
31398        (WebCore::ResourceLoader::load): Do the check here.
31399
31400        * page/Settings.cpp:
31401        (WebCore::Settings::Settings):
31402        (WebCore::Settings::setWebArchiveDebugModeEnabled):
31403        * page/Settings.h:
31404        (WebCore::Settings::webArchiveDebugModeEnabled):
31405
314062008-04-14  Antti Koivisto  <antti@apple.com>
31407
31408        Reviewed by Eric.
31409
31410        Some preparations for additive animations and animations in <use>.
31411        - Disallow animation elements in instance trees.
31412        - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it 
31413          public and static
31414        - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree
31415          there as well.
31416        - Add mechanism for blocking instance updates when an animation changes
31417          the referenced tree.
31418        
31419        The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
31420        with the existing test cases.
31421
31422        * svg/SVGAElement.cpp:
31423        (WebCore::SVGAElement::defaultEventHandler):
31424        * svg/SVGElementInstance.cpp:
31425        (WebCore::SVGElementInstance::updateInstance):
31426        * svg/SVGStyledElement.cpp:
31427        (WebCore::SVGStyledElement::updateElementInstance):
31428        (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
31429        * svg/SVGStyledElement.h:
31430        * svg/SVGUseElement.cpp:
31431        (WebCore::isDisallowedElement):
31432        (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree):
31433        * svg/SVGUseElement.h:
31434        * svg/animation/SVGSMILElement.cpp:
31435        (WebCore::SVGSMILElement::insertedIntoDocument):
31436        (WebCore::SVGSMILElement::isSMILElement):
31437        (WebCore::SVGSMILElement::connectConditions):
31438        (WebCore::SVGSMILElement::disconnectConditions):
31439        * svg/animation/SVGSMILElement.h:
31440
314412008-04-14  Adam Roben  <aroben@apple.com>
31442
31443        Don't let the inspected page overwrite properties of JS objects in the
31444        Inspector
31445
31446        <https://bugs.webkit.org/show_bug.cgi?id=16011>
31447        <rdar://problem/5604409>
31448
31449        <https://bugs.webkit.org/show_bug.cgi?id=16837>
31450        <rdar://problem/5813850>
31451
31452        Reviewed by Sam Weinig and Geoff Garen.
31453
31454        Tests (contributed by Adam Barth and Collin Jackson):
31455        manual-tests/inspector-wrappers
31456
31457        * GNUmakefile.am:
31458        * WebCore.pro:
31459        * WebCore.vcproj/WebCore.vcproj:
31460        * WebCore.xcodeproj/project.pbxproj:
31461        * WebCoreSources.bkl:
31462        Added new files to the projects.
31463
31464        * bindings/js/JSQuarantinedObjectWrapper.cpp: Added.
31465        (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue
31466        into a JSQuarantinedObjectWrapper, if the JSValue is in fact a
31467        JSQuarantinedObjectWrapper.
31468        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to
31469        be used with PropertySlot.
31470        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
31471        Hold onto the object we're wrapping and its global object. Pass the
31472        wrapped prototype up to the JSObject constructor.
31473        (WebCore::JSQuarantinedObjectWrapper::~JSQuarantinedObjectWrapper):
31474        (WebCore::JSQuarantinedObjectWrapper::unwrappedExecStateMatches):
31475        Returns true if our underlying object originated from the same global
31476        object as the passed-in ExecState.
31477        (WebCore::JSQuarantinedObjectWrapper::unwrappedExecState):
31478        (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
31479        Wraps and moves an exception from our underlying ExecState to the
31480        passed-in one.
31481        (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the
31482        objects we're holding references to.
31483
31484        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
31485        (WebCore::JSQuarantinedObjectWrapper::put):
31486        (WebCore::JSQuarantinedObjectWrapper::deleteProperty):
31487        (WebCore::JSQuarantinedObjectWrapper::implementsConstruct):
31488        (WebCore::JSQuarantinedObjectWrapper::construct):
31489        (WebCore::JSQuarantinedObjectWrapper::implementsHasInstance):
31490        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
31491        (WebCore::JSQuarantinedObjectWrapper::implementsCall):
31492        (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
31493        (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
31494        JSObject overrides. These each check the appropriate permission before
31495        allowing the call to proceed. We wrap all outgoing values using
31496        m_wrapOutgoingValue, and we prepare all incoming values with the
31497        virtual prepareIncomingValue function. If an exception is raised when
31498        calling the underlying object, we transfer the exception in wrapped
31499        form to the passed-in ExecState.
31500
31501        * bindings/js/JSQuarantinedObjectWrapper.h: Added.
31502        (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
31503        (WebCore::JSQuarantinedObjectWrapper::className): We return the
31504        underlying object's class name so that we can successfully masquerade
31505        as that underlying object when, e.g., Object.prototype.toString is
31506        called on us.
31507        (WebCore::JSQuarantinedObjectWrapper::classInfo):
31508
31509        (WebCore::JSQuarantinedObjectWrapper::allowsGetProperty):
31510        (WebCore::JSQuarantinedObjectWrapper::allowsSetProperty):
31511        (WebCore::JSQuarantinedObjectWrapper::allowsDeleteProperty):
31512        (WebCore::JSQuarantinedObjectWrapper::allowsConstruct):
31513        (WebCore::JSQuarantinedObjectWrapper::allowsHasInstance):
31514        (WebCore::JSQuarantinedObjectWrapper::allowsCallAsFunction):
31515        (WebCore::JSQuarantinedObjectWrapper::allowsGetPropertyNames):
31516        These virtual methods let subclasses define the allowed operations on
31517        the wrapped object. By default all operations are disabled.
31518
31519        * bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of
31520        JSQuarantinedObjectWrapper is used to wrap objects from the inspected
31521        page being passed to the Inspector.
31522        (WebCore::wrappers):
31523        (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object
31524        if needed and returns the wrapper. If this object has been wrapped
31525        previously we'll return the old wrapper rather than make a new one.
31526        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add
31527        ourselves to the wrapper map.
31528        (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove
31529        ourselves from the wrapper map.
31530        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that
31531        any objects passed to the inspected object are either wrappers around
31532        objects from the inspected page (in which case we unwrap them so that
31533        the inspected page never sees the wrapper), or wrapped callbacks from
31534        the Inspector.
31535        * bindings/js/JSInspectedObjectWrapper.h: Added.
31536        (WebCore::JSInspectedObjectWrapper::classInfo):
31537        (WebCore::JSInspectedObjectWrapper::allowsGetProperty):
31538        (WebCore::JSInspectedObjectWrapper::allowsSetProperty):
31539        (WebCore::JSInspectedObjectWrapper::allowsDeleteProperty):
31540        (WebCore::JSInspectedObjectWrapper::allowsConstruct):
31541        (WebCore::JSInspectedObjectWrapper::allowsHasInstance):
31542        (WebCore::JSInspectedObjectWrapper::allowsCallAsFunction):
31543        (WebCore::JSInspectedObjectWrapper::allowsGetPropertyNames):
31544        These all return true so that the Inspector can use objects from the
31545        inspected page however it needs.
31546        (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all
31547        outgoing values as JSInspectedObjectWrappers.
31548
31549        * bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of
31550        JSQuarantinedObjectWrapper is used to wrap callbacks that the
31551        Inspector passes to the inspected page (e.g., for event listeners or
31552        client-side storage callbacks).
31553        (WebCore::wrappers):
31554        (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in
31555        object if needed and returns the wrapper. If this object has been
31556        wrapped previously we'll return the old wrapper rather than make a new
31557        one.
31558        (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add
31559        ourselves to the wrapper map.
31560        (WebCore::JSInspectorCallbackWrapper::~JSInspectorCallbackWrapper):
31561        Remove ourselves from the wrapper map.
31562        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure
31563        that values passed from the inspected page to an Inspector callback
31564        are wrapped in JSInspectedObjectWrappers. We also allow the inspected
31565        page to pass ourselves in (which will happen in the case of a
31566        client-side storage callback, where the callback itself is passed as
31567        the `this` object). In this case we unwrap ourselves so that the
31568        Inspector doesn't have to deal with the wrapper.
31569        * bindings/js/JSInspectorCallbackWrapper.h: Added.
31570        (WebCore::JSInspectorCallbackWrapper::classInfo):
31571        (WebCore::JSInspectorCallbackWrapper::allowsCallAsFunction):
31572        This is the only allowed operation on a JSInspectorCallbackWrapper.
31573        (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all
31574        outgoing values as JSInspectorCallbackWrappers.
31575
31576        * page/InspectorController.cpp:
31577        (WebCore::getResourceDocumentNode): Wrap the Document before passing
31578        it to the Inspector.
31579        (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed
31580        to us.
31581        (WebCore::databaseTableNames): Unwrap the Database that the Inspector
31582        passed to us.
31583        (WebCore::inspectedWindow): Wrap the Window before passing it to the
31584        Inspector.
31585        (WebCore::InspectorController::focusNode): Wrap the Node before
31586        passing it to the Inspector.
31587        (WebCore::wrapCallback): Wraps the passed-in callback in a
31588        JSInspectorCallbackWrapper.
31589        (WebCore::InspectorController::addDatabaseScriptResource): Wrap the
31590        Database beore pasing it to the Inspector.
31591        (WebCore::InspectorController::windowScriptObjectAvailable): Add the
31592        new wrapCallback function to the InspectorController JS object.
31593
31594        * page/inspector/ElementsPanel.js:
31595        (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback.
31596
31597        * page/inspector/DatabaseQueryView.js:
31598        (WebInspector.DatabaseQueryView._enterKeyPressed):
31599        * page/inspector/DatabaseTableView.js:
31600        (WebInspector.DatabaseTableView.update):
31601        Pass null instead of an empty array to executeSql since we're no
31602        longer allowed to pass any unwrapped objects to the inspected page.
31603        We now wrap all callbacks being passed to the inspected page using
31604        InspectorController.wrapCallback.
31605
316062008-04-14  Adam Roben  <aroben@apple.com>
31607
31608        Use prototypes/constructors from the inspected page when operating on
31609        objects from the inspected page
31610
31611        Reviewed by Tim Hatcher.
31612
31613        * page/inspector/Console.js:
31614        (WebInspector.ConsolePanel._format): Use the Node constructor from the
31615        inspected Window with the instanceof operator.
31616        * page/inspector/ElementsPanel.js:
31617        (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the
31618        Element prototype from the inspected Window instead of the Element
31619        prototype from this Window.
31620        * page/inspector/inspector.js:
31621        (WebInspector.performSearch): Ditto for Document prototype.
31622        * page/inspector/utilities.js:
31623        (Object.type): Now takes an optional Window parameter that is used to
31624        find the built-in constructors.
31625
316262008-04-14  Adam Roben  <aroben@apple.com>
31627
31628        Don't store objects from the Inspector on CSSStyleRules from the
31629        inspected page
31630
31631        Reviewed by Tim Hatcher.
31632
31633        * page/inspector/StylesSidebarPane.js:
31634        (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules
31635        from the inspected page in the styleRules array. Instead, always use a
31636        wrapper object. This will keep us from setting Inspector objects as
31637        properties of inspected objects.
31638
316392008-04-14  Timothy Hatcher  <timothy@apple.com>
31640
31641        Fixes a regression where clicking a resource URL in the Console would not
31642        show the resource in the Resources panel.
31643
31644        https://bugs.webkit.org/show_bug.cgi?id=18493
31645
31646        Reviewed by Adam Roben.
31647
31648        * page/inspector/Console.js:
31649        (WebInspector.Console.prototype._messagesClicked): Removed console-message-url
31650        handling to show resources. This is now handled by WebInspector.showResourceForURL.
31651        (WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link
31652        class name to the URL anchor. Also add the line number as a property to the anchor.
31653        * page/inspector/ResourcesPanel.js:
31654        (WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator.
31655        (WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in
31656        the sidebar. Call showLine on the resource view if it is implemented.
31657        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's
31658        tree element in the sidebar.
31659        (WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after
31660        the calculator changes since closeVisibleResource uses the calculator.
31661        * page/inspector/SourceView.js:
31662        (WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero.
31663        (WebInspector.SourceView.prototype.showLine):  Renamed from showSourceLine.
31664        * page/inspector/inspector.css:
31665        (body.console-visible #main-panels): Made the bottom 24px to match
31666        the height of #main-status-bar.
31667        (.console-message-url): Make the color important so it wins over
31668        the .webkit-html-resource-link rule.
31669        (.resource-view .resource-view-content): Made more generic from .image
31670        so all resource views get sized correctly.
31671        (.resource-view.image .resource-view-content): Removed.
31672        * page/inspector/inspector.js:
31673        (WebInspector.documentClick): Pass the line number from the anchor to
31674        WebInspector.showResourceForURL.
31675        (WebInspector.showResourceForURL): Add line number support. Pass the line
31676        to ResourcesPanel.showResource.
31677        (WebInspector.addMainEventListeners): Use bind for the event listeners.
31678
316792008-04-14  Xan Lopez  <xan@gnome.org>
31680
31681        Reviewed by Alp Toker.
31682
31683        http://bugs.webkit.org/show_bug.cgi?id=17917
31684        Bug 17917: Cookie support for HTTP soup backend
31685
31686        Initial implementation of cookies for the http soup backend.
31687
31688        Moved CookieJarGtk to CookieJarSoup in network/soup and left the original
31689        one as CookieJarCurl in network/curl.
31690
31691        * GNUmakefile.am:
31692        * platform/CookieJar.h:
31693        * platform/network/curl/CookieJarCurl.cpp: Renamed from WebCore/platform/gtk/CookieJarGtk.cpp.
31694        (WebCore::setCookies):
31695        (WebCore::cookies):
31696        * platform/network/soup/CookieJarSoup.cpp: Added.
31697        (WebCore::getCookieJar):
31698        (WebCore::setCookies):
31699        (WebCore::cookies):
31700        * platform/network/soup/ResourceHandleSoup.cpp:
31701        (WebCore::ResourceHandle::start):
31702
317032008-04-14  Holger Freyther  <zecke@selfish.org>
31704
31705        Reviewed by Alp Toker.
31706
31707        https://bugs.webkit.org/show_bug.cgi?id=18411
31708        Enable Page caching and create FrameViews on the fly
31709
31710        Create the FrameView on the fly and cache pages
31711
31712        - Keep a copy of the GtkAdjustment to be able to reuse it for the
31713          FrameViews
31714        - Do not initially create a FrameView and update the WebKit code to
31715          cope with not having a view.
31716        - Cache seven pages by default.
31717
31718        * platform/gtk/ScrollViewGtk.cpp:
31719        (WebCore::ScrollView::setGtkAdjustments):
31720
317212008-04-14  David Hyatt  <hyatt@apple.com>
31722
31723        Add a new optimized layout path for positioned objects that move.  Also avoid always marking the <html>
31724        object for layout when it has a percentage height, since the RenderView already does that when its size
31725        changes.
31726
31727        Reviewed by mjs
31728
31729        * rendering/RenderBlock.cpp:
31730        (WebCore::RenderBlock::layoutBlockChildren):
31731        (WebCore::RenderBlock::layoutPositionedObjects):
31732        * rendering/RenderBox.h:
31733        (WebCore::RenderBox::layoutDoingPositionedMovementOnly):
31734        * rendering/RenderObject.cpp:
31735        (WebCore::RenderObject::RenderObject):
31736        (WebCore::RenderObject::setNeedsLayout):
31737        (WebCore::RenderObject::setChildNeedsLayout):
31738        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
31739        (WebCore::RenderObject::setStyle):
31740        * rendering/RenderObject.h:
31741        (WebCore::RenderObject::needsLayout):
31742        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
31743        (WebCore::RenderObject::layoutDoingPositionedMovementOnly):
31744        * rendering/RenderStyle.cpp:
31745        (WebCore::positionedObjectMoved):
31746        (WebCore::RenderStyle::diff):
31747        * rendering/RenderStyle.h:
31748        (WebCore::RenderStyle::):
31749
317502008-04-14  David Hyatt  <hyatt@apple.com>
31751
31752        Add support for gradients in the CSS content property.
31753
31754        Reviewed by olliej
31755
31756        Added fast/gradients/generated-gradients.html
31757
31758        * GNUmakefile.am:
31759        * WebCore.pro:
31760        * WebCore.vcproj/WebCore.vcproj:
31761        * WebCore.xcodeproj/project.pbxproj:
31762        * WebCoreSources.bkl:
31763        * css/CSSParser.cpp:
31764        (WebCore::CSSParser::parseContent):
31765        * css/CSSStyleSelector.cpp:
31766        (WebCore::CSSStyleSelector::applyProperty):
31767        (WebCore::CSSStyleSelector::styleImage):
31768        (WebCore::CSSStyleSelector::mapBackgroundImage):
31769        * css/CSSStyleSelector.h:
31770        * html/HTMLImageElement.cpp:
31771        (WebCore::HTMLImageElement::attach):
31772        * rendering/RenderContainer.cpp:
31773        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
31774        * rendering/RenderImage.cpp:
31775        (WebCore::RenderImage::RenderImage):
31776        (WebCore::RenderImage::setCachedImage):
31777        (WebCore::RenderImage::paintReplaced):
31778        (WebCore::RenderImage::calcReplacedWidth):
31779        (WebCore::RenderImage::calcReplacedHeight):
31780        (WebCore::RenderImage::calcAspectRatioWidth):
31781        (WebCore::RenderImage::calcAspectRatioHeight):
31782        * rendering/RenderImage.h:
31783        (WebCore::RenderImage::hasImage):
31784        (WebCore::RenderImage::image):
31785        (WebCore::RenderImage::errorOccurred):
31786        (WebCore::RenderImage::usesImageContainerSize):
31787        (WebCore::RenderImage::setImageContainerSize):
31788        (WebCore::RenderImage::imageHasRelativeWidth):
31789        (WebCore::RenderImage::imageHasRelativeHeight):
31790        (WebCore::RenderImage::imageSize):
31791        * rendering/RenderImageGeneratedContent.cpp: Added.
31792        (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent):
31793        (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent):
31794        (WebCore::RenderImageGeneratedContent::setStyleImage):
31795        * rendering/RenderImageGeneratedContent.h: Added.
31796        (WebCore::RenderImageGeneratedContent::hasImage):
31797        (WebCore::RenderImageGeneratedContent::image):
31798        (WebCore::RenderImageGeneratedContent::errorOccurred):
31799        (WebCore::RenderImageGeneratedContent::usesImageContainerSize):
31800        (WebCore::RenderImageGeneratedContent::setImageContainerSize):
31801        (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth):
31802        (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight):
31803        (WebCore::RenderImageGeneratedContent::imageSize):
31804        * rendering/RenderObject.cpp:
31805        (WebCore::RenderObject::createObject):
31806        * rendering/RenderStyle.cpp:
31807        (WebCore::StyleCachedImage::imageHasRelativeWidth):
31808        (WebCore::StyleCachedImage::imageHasRelativeHeight):
31809        (WebCore::StyleCachedImage::usesImageContainerSize):
31810        (WebCore::RenderStyle::contentDataEquivalent):
31811        (WebCore::RenderStyle::setContent):
31812        (WebCore::ContentData::clear):
31813        * rendering/RenderStyle.h:
31814        (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
31815        (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
31816        (WebCore::StyleGeneratedImage::usesImageContainerSize):
31817        (WebCore::BackgroundLayer::setBackgroundImage):
31818        (WebCore::ContentData::):
31819        (WebCore::RenderStyle::setListStyleImage):
31820
318212008-04-14  Brady Eidson  <beidson@apple.com>
31822
31823        Reviewed by Sam, but Anders too, and he was more thorough in his review
31824        and thats the only reason Sam beat him
31825
31826        Swap the Page and SecurityOrigin arguments when creating a StorageArea.
31827
31828        SecurityOrigin is really the primary identifying characteristic of a StorageArea,
31829        and StorageAreas that represent LocalStorage won't have an owner Page.
31830
31831        * storage/SessionStorage.cpp:
31832        (WebCore::SessionStorage::copy):
31833        (WebCore::SessionStorage::storageArea):
31834
31835        * storage/StorageArea.cpp:
31836        (WebCore::StorageArea::create):
31837        (WebCore::StorageArea::StorageArea):
31838        (WebCore::StorageArea::copy):
31839        (WebCore::StorageArea::dispatchStorageEvent): Null check m_page here, as in the future
31840          it might be null
31841        * storage/StorageArea.h:
31842
318432008-04-14  Timothy Hatcher  <timothy@apple.com>
31844
31845        Add support for changing the sort order of the resources. The two sorting
31846        methods supported current are Time and Size.
31847
31848        Reviewed by Adam Roben.
31849
31850        * page/inspector/Images/statusbarMenuButton.png: Added.
31851        * page/inspector/Images/statusbarMenuButtonSelected.png: Added.
31852        * page/inspector/ResourcesPanel.js:
31853        (WebInspector.ResourcesPanel): Create the status bar menu button and
31854        setup the event listener to call _changeSortingFunction. Each option in
31855        the select references a sorting function.
31856        (WebInspector.ResourcesPanel.get statusBarItems): Add the sorting menu to the
31857        items returned.
31858        (WebInspector.ResourcesPanel._changeSortingFunction): Set the sorting function
31859        to the selected option's function in the sorting menu.
31860        * page/inspector/inspector.css: Added CSS rules for select elements in status bars.
31861
318622008-04-14  Timothy Hatcher  <timothy@apple.com>
31863
31864        Add support for toggling between small and large resource rows
31865        in the Resources panel.
31866
31867        Reviewed by Adam Roben.
31868
31869        * English.lproj/InspectorLocalizedStrings.js: Added new tooltip string.
31870        * page/inspector/Images/largerResourcesButtons.png: Added.
31871        * page/inspector/Images/resourceDocumentIconSmall.png: Added.
31872        * page/inspector/Images/resourcePlainIconSmall.png: Added.
31873        * page/inspector/ResourcesPanel.js:
31874        (WebInspector.ResourcesPanel): Create the status bar button and
31875        setup the event listener to call _toggleLargerResources.
31876        (WebInspector.ResourcesPanel.get statusBarItems): Return the status bar button.
31877        (WebInspector.ResourcesPanel._toggleLargerResources): Toggle the class names
31878        for the resources children list and the status bar button.
31879        * page/inspector/inspector.css: New style rules for small resources
31880        and the status bar item.
31881
318822008-04-14  Chris Fleizach  <cfleizach@apple.com>
31883
31884        Reviewed by Darin Adler
31885
31886        <rdar://problem/5854572> REGRESSION: AXPosition seems to be flipped in nightly build
31887        AX was using the wrong method to determine the view to use to create the screen position 
31888
31889        * page/AccessibilityObject.cpp:
31890        (WebCore::AccessibilityObject::documentFrameView):
31891        * page/mac/AccessibilityObjectWrapper.mm:
31892        (-[AccessibilityObjectWrapper position]):
31893
318942008-04-14  David Smith  <catfish.man@gmail.com>
31895
31896        Reviewed by Timothy Hatcher.
31897        
31898        - Fix https://bugs.webkit.org/show_bug.cgi?id=14258
31899        Response time vs. download time should be shown in the network profile
31900
31901        * page/inspector/Resource.js: Change the sorting function to sort by response received time.
31902        * page/inspector/ResourcesPanel.js: Hook up the existing infrastructure to two bars instead of one; one for the total time, one for the time post-response.
31903        * page/inspector/inspector.css: Add a new rule to make the waiting bar have a lower opacity, and change the total bar opacity to handle the overlap
31904
319052008-04-14  Julien Chaffraix  <jchaffraix@webkit.org>
31906
31907        Reviewed by Ap.
31908
31909        Bug 17403: WebKit Creates Invalid Xhtml Links with Ajax
31910        http://bugs.webkit.org/show_bug.cgi?id=17403
31911
31912        The previous code had callbacks for the normal parsing (full document) and fragment parsing.
31913        The difference was induced by the method we were using which did not accept a xmlParserCtxt.
31914        The code has been refactored to allow us to share the callbacks between the different cases.
31915        A drawback is that we have to use xmlParseContent which is an internal libxml method and thus
31916        some internal intialization is done in WebCore.
31917
31918        Test: fast/parser/ampersand-escaped-parseXMLFragment.xhtml
31919
31920        * dom/XMLTokenizer.cpp:
31921        (WebCore::createStringParser): Moved didInit in the global scope as it is shared by the
31922        2 create methods.
31923
31924        (WebCore::createMemoryParser): Create a memory parser similar to the previous code.
31925        Initialize the xmlParserContext to call xmlParseContent in parseXMLDocumentFragment.
31926
31927        (WebCore::XMLTokenizer::initializeParserContext): Check m_parsingFragment to know
31928        which create method to call.
31929
31930        * dom/XMLTokenizer.h: Added parseXMLDocumentFragment as a friend of XMLTokenizer.
31931
319322008-04-14  Rob Buis  <buis@kde.org>
31933
31934        Reviewed by Eric.
31935
31936        http://bugs.webkit.org/show_bug.cgi?id=18230
31937        tspan in link not working
31938
31939        Implement SVG Errata: "The 'a' element may contain any
31940        element that its parent may contain, except itself."
31941
31942        * svg/SVGAElement.cpp:
31943        (WebCore::SVGAElement::childShouldCreateRenderer):
31944
319452008-04-13  David Hyatt  <hyatt@apple.com>
31946
31947        Fix for bug 18466, WebKit exhibits slow performance on Opera DHTML benchmark.  Improve layout's rect
31948        invalidation code to only invalidate a single unioned rect once enough individual little rects have
31949        been detected.
31950
31951        Reviewed by olliej
31952
31953        * page/FrameView.cpp:
31954        (WebCore::FrameViewPrivate::reset):
31955        (WebCore::FrameView::layout):
31956        (WebCore::FrameView::repaintRectangle):
31957        (WebCore::FrameView::beginDeferredRepaints):
31958        (WebCore::FrameView::endDeferredRepaints):
31959        * page/FrameView.h:
31960
319612008-04-13  Eric Seidel  <eric@webkit.org>
31962
31963        Reviewed by Oliver.
31964
31965        Fix spelling error in function name, no test case.
31966
31967        * svg/SVGTextContentElement.cpp:
31968        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
31969
319702008-04-13  Eric Seidel  <eric@webkit.org>
31971
31972        Reviewed by Oliver.
31973
31974        Build fix for +SVG_ANIMATION -SVG_FOREIGN_OBJECT build, no tests.
31975
31976        * svg/SVGAnimateMotionElement.cpp:
31977        (WebCore::SVGAnimateMotionElement::hasValidTarget):
31978
319792008-04-13  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
31980
31981        Reviewed by Oliver Hunt.
31982
31983        http://bugs.webkit.org/show_bug.cgi?id=18239
31984        [Gtk] Build breaks if SVG is enabled but SVG Fonts disabled
31985
31986        * svg/SVGAltGlyphElement.idl: Add SVG_FONTS in Conditional
31987
319882008-04-13  Julien Chaffraix  <jchaffraix@webkit.org>
31989
31990        Reviewed by David.
31991
31992        More SVG filters build fix.
31993
31994        * svg/graphics/filters/SVGFEImage.cpp:
31995        (WebCore::SVGFEImage::~SVGFEImage):
31996        (WebCore::SVGFEImage::setCachedImage):
31997
319982008-04-13  David Hyatt  <hyatt@apple.com>
31999
32000        Fix build bustage on the filters SVG code path (not built by default).
32001
32002        * svg/SVGFEImageElement.cpp:
32003        (WebCore::SVGFEImageElement::~SVGFEImageElement):
32004        (WebCore::SVGFEImageElement::parseMappedAttribute):
32005
320062008-04-13  Dan Winship  <danw@gnome.org>
32007
32008        Reviewed by Alp Toker.
32009
32010        http://bugs.webkit.org/show_bug.cgi?id=18391
32011        return body data incrementally from libsoup backend
32012
32013        Fix libsoup backend to pass data to the loader incrementally
32014        rather than all at once at the end.
32015
32016        * platform/network/soup/ResourceHandleSoup.cpp
32017        (ResourceHandle::start): connect to "got-headers" and "got-chunk"
32018        signals on the message
32019        (gotHeadersCallback): call client->didReceiveResponse() from here
32020        (gotChunkCallback): call client->didReceiveData() from here
32021        (finishedCallback): renamed from dataCallback. mostly just calls
32022        client->didFinishLoading() now.
32023
320242008-04-13  Dan Bernstein  <mitz@apple.com>
32025
32026        Reviewed by Jessica Kahn.
32027
32028        - remove duplicate condition in canHaveChildrenForEditing()
32029
32030        * editing/htmlediting.cpp:
32031        (WebCore::canHaveChildrenForEditing):
32032
320332008-04-13  Dan Bernstein  <mitz@apple.com>
32034
32035        Reviewed by Darin Adler.
32036
32037        - fix http://bugs.webkit.org/show_bug.cgi?id=18307
32038          <rdar://problem/5842546> REGRESSION (r31620): Incorrect Hiragino Kaku Gothic, font-weight:500
32039
32040        Test: fast/css/font-weight-1.html
32041
32042        * platform/graphics/mac/FontCacheMac.mm:
32043        (WebCore::toAppKitFontWeight): Adjusted the mapping to cover the AppKit
32044        weight range from 2 to 12, because AppKit weight 1 never occurs. The
32045        new mapping matches font-weight: n00 to ISO weight Wn.
32046        * platform/mac/WebFontCache.mm:
32047        (betterChoice): Changed the midpoint used when deciding between two
32048        candidates that deviate from the desired weight by the same amount.
32049
320502008-04-12  David Hyatt  <hyatt@apple.com>
32051
32052        Memory management cleanup for the new StyleCachedImage and StyleGeneratedImage classes.  Make the back end
32053        values hold refptrs to cached front end values.  This will avoid malloc churn as RenderStyles get
32054        re-resolved.
32055
32056        Reviewed by olliej
32057
32058        * css/CSSCursorImageValue.cpp:
32059        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
32060        (WebCore::CSSCursorImageValue::cachedImage):
32061        * css/CSSCursorImageValue.h:
32062        * css/CSSImageGeneratorValue.cpp:
32063        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
32064        (WebCore::CSSImageGeneratorValue::generatedImage):
32065        * css/CSSImageGeneratorValue.h:
32066        * css/CSSImageValue.cpp:
32067        (WebCore::CSSImageValue::CSSImageValue):
32068        (WebCore::CSSImageValue::~CSSImageValue):
32069        (WebCore::CSSImageValue::cachedImage):
32070        * css/CSSImageValue.h:
32071        * css/CSSStyleSelector.cpp:
32072        (WebCore::CSSStyleSelector::applyProperty):
32073        (WebCore::CSSStyleSelector::createStyleImage):
32074        * css/CSSStyleSelector.h:
32075        * rendering/RenderStyle.h:
32076        (WebCore::StyleCachedImage::cachedImage):
32077        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
32078        (WebCore::StyleGeneratedImage::data):
32079
320802008-04-12  Julien Chaffraix  <jchaffraix@webkit.org>
32081
32082        Not reviewed, Qt build fix.
32083
32084        * dom/XMLTokenizer.cpp:
32085       (WebCore::XMLTokenizer::parseEndElement):
32086        * platform/graphics/qt/GraphicsContextQt.cpp:
32087        (WebCore::GraphicsContext::clip):
32088        * platform/qt/ClipboardQt.cpp:
32089        (WebCore::ClipboardQt::setDragImage):
32090
320912008-04-12  David Hyatt  <hyatt@apple.com>
32092
32093        Add support for list-style-image gradients.  Also improve the image comparisons between two RenderStyles        
32094        to not mistakenly believe that images have changed.
32095
32096        Reviewed by olliej
32097
32098        Added fast/gradients/list-item-gradient.html
32099
32100        * css/CSSComputedStyleDeclaration.cpp:
32101        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
32102        * css/CSSParser.cpp:
32103        (WebCore::CSSParser::parseValue):
32104        * css/CSSStyleSelector.cpp:
32105        (WebCore::CSSStyleSelector::applyProperty):
32106        (WebCore::CSSStyleSelector::createStyleImage):
32107        * rendering/RenderListMarker.cpp:
32108        (WebCore::RenderListMarker::RenderListMarker):
32109        (WebCore::RenderListMarker::paint):
32110        (WebCore::RenderListMarker::imageChanged):
32111        (WebCore::RenderListMarker::calcPrefWidths):
32112        * rendering/RenderListMarker.h:
32113        * rendering/RenderStyle.cpp:
32114        (WebCore::imagesEquivalent):
32115        (WebCore::BorderImage::operator==):
32116        (WebCore::StyleCachedImage::errorOccurred):
32117        (WebCore::BackgroundLayer::operator==):
32118        (WebCore::StyleInheritedData::StyleInheritedData):
32119        (WebCore::cursorDataEquivalent):
32120        (WebCore::StyleInheritedData::operator==):
32121        (WebCore::RenderStyle::diff):
32122        * rendering/RenderStyle.h:
32123        (WebCore::StyleImage::errorOccurred):
32124        (WebCore::RenderStyle::listStyleImage):
32125        (WebCore::RenderStyle::setListStyleImage):
32126        (WebCore::RenderStyle::initialListStyleImage):
32127
321282008-04-12  Dan Bernstein  <mitz@apple.com>
32129
32130        - Windows build fix
32131
32132        * platform/win/ClipboardWin.cpp:
32133        (WebCore::ClipboardWin::setDragImage):
32134
321352008-04-12  Kevin Ollivier  <kevino@theolliviers.com>
32136
32137        wx build fix. Update clip to take a FloatRect.
32138
32139        * platform/graphics/wx/GraphicsContextWx.cpp:
32140        (WebCore::GraphicsContext::clip):
32141
321422008-04-12  David Hyatt  <hyatt@apple.com>
32143
32144        Add gradient support to border-image (even though it's mostly just weird).
32145
32146        Reviewed by Dan
32147
32148        Added fast/gradients/border-image-gradient.html
32149              fast/gradients/border-image-gradient-sides-and-corners.html
32150
32151        * css/CSSBorderImageValue.h:
32152        (WebCore::CSSBorderImageValue::imageValue):
32153        * css/CSSStyleSelector.cpp:
32154        (WebCore::CSSStyleSelector::applyProperty):
32155        * platform/graphics/GeneratedImage.cpp:
32156        (WebCore::GeneratedImage::draw):
32157        * rendering/InlineFlowBox.cpp:
32158        (WebCore::InlineFlowBox::paintBoxDecorations):
32159        * rendering/RenderBox.cpp:
32160        (WebCore::RenderBox::imageChanged):
32161        * rendering/RenderObject.cpp:
32162        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
32163        (WebCore::RenderObject::paintBorderImage):
32164        (WebCore::RenderObject::paintBorder):
32165        (WebCore::RenderObject::updateBackgroundImages):
32166        (WebCore::RenderObject::arenaDelete):
32167        * rendering/RenderStyle.cpp:
32168        (WebCore::StyleCachedImage::isLoaded):
32169        * rendering/RenderStyle.h:
32170        (WebCore::StyleImage::isLoaded):
32171        (WebCore::BorderImage::image):
32172
321732008-04-11  Dan Bernstein  <mitz@apple.com>
32174
32175        Reviewed by Dave Hyatt.
32176
32177        - fix a regression from r31324 which caused most Arabic text to render
32178          as missing glyphs
32179
32180        Test: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
32181
32182        * svg/SVGFont.cpp:
32183        (WebCore::SVGTextRunWalker::walk): Changed to always process characters
32184        in logical order and therefore dispatch the callbacks with a logically-
32185        ordered glyph stream. Changed the call to isCompatibleGlyph() to check
32186        for compatibility only with the range of characters the candidate glyph
32187        is derived from rather than with the entire lookup range. Changed to
32188        mark the <missing-glyph> glyph identifier as valid, to facilitate the
32189        use of invalid glyph identifiers to mark font fallback.
32190        (WebCore::drawTextUsingSVGFontCallback): Changed to only append the
32191        glyph identifier to a vector.
32192        (WebCore::drawTextMissingGlyphCallback): Changed to only append the
32193        character to a vector and append an invalid glyph identifier to the
32194        glyph vector.
32195        (WebCore::Font::drawTextUsingSVGFont): Moved the drawing from the
32196        callbacks into this function, iterating over the glyph and fallback
32197        characters vector in visual order.
32198
321992008-04-11  Dirk Schulze <vbs85@gmx.de>
32200
32201        Reviewed by eseidel.
32202
32203        Attempt to fix Cairo build.
32204
32205        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32206        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
32207
322082008-04-11  David Hyatt  <hyatt@apple.com>
32209
32210        Rename CachedResource's ref/deref methods to addClient/removeClient.  This matches the new
32211        StyleImage class and is a more accurate description of what those methods really do.
32212
32213        Reviewed by olliej
32214
32215        * WebCore.base.exp:
32216        * css/CSSCursorImageValue.cpp:
32217        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
32218        * css/CSSFontFaceSource.cpp:
32219        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
32220        (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
32221        * css/CSSImageValue.cpp:
32222        (WebCore::CSSImageValue::~CSSImageValue):
32223        (WebCore::CSSImageValue::image):
32224        * css/CSSImportRule.cpp:
32225        (WebCore::CSSImportRule::~CSSImportRule):
32226        (WebCore::CSSImportRule::insertedIntoParent):
32227        * dom/ProcessingInstruction.cpp:
32228        (WebCore::ProcessingInstruction::~ProcessingInstruction):
32229        (WebCore::ProcessingInstruction::checkStyleSheet):
32230        (WebCore::ProcessingInstruction::parseStyleSheet):
32231        * dom/XMLTokenizer.cpp:
32232        (WebCore::XMLTokenizer::~XMLTokenizer):
32233        (WebCore::XMLTokenizer::endElementNs):
32234        (WebCore::XMLTokenizer::notifyFinished):
32235        * html/CanvasPattern.cpp:
32236        (WebCore::CanvasPattern::CanvasPattern):
32237        (WebCore::CanvasPattern::~CanvasPattern):
32238        * html/HTMLImageLoader.cpp:
32239        (WebCore::HTMLImageLoader::~HTMLImageLoader):
32240        (WebCore::HTMLImageLoader::setImage):
32241        (WebCore::HTMLImageLoader::updateFromElement):
32242        * html/HTMLLinkElement.cpp:
32243        (WebCore::HTMLLinkElement::~HTMLLinkElement):
32244        (WebCore::HTMLLinkElement::process):
32245        * html/HTMLScriptElement.cpp:
32246        (WebCore::HTMLScriptElement::~HTMLScriptElement):
32247        (WebCore::HTMLScriptElement::parseMappedAttribute):
32248        (WebCore::HTMLScriptElement::insertedIntoDocument):
32249        (WebCore::HTMLScriptElement::removedFromDocument):
32250        (WebCore::HTMLScriptElement::notifyFinished):
32251        * html/HTMLTokenizer.cpp:
32252        (WebCore::HTMLTokenizer::reset):
32253        (WebCore::HTMLTokenizer::scriptHandler):
32254        (WebCore::HTMLTokenizer::notifyFinished):
32255        * loader/CachedCSSStyleSheet.cpp:
32256        (WebCore::CachedCSSStyleSheet::addClient):
32257        * loader/CachedCSSStyleSheet.h:
32258        * loader/CachedFont.cpp:
32259        (WebCore::CachedFont::addClient):
32260        * loader/CachedFont.h:
32261        * loader/CachedImage.cpp:
32262        (WebCore::CachedImage::addClient):
32263        * loader/CachedImage.h:
32264        * loader/CachedResource.cpp:
32265        (WebCore::CachedResource::addClient):
32266        (WebCore::CachedResource::removeClient):
32267        * loader/CachedResource.h:
32268        * loader/CachedScript.cpp:
32269        (WebCore::CachedScript::addClient):
32270        * loader/CachedScript.h:
32271        * loader/CachedXBLDocument.h:
32272        * loader/CachedXSLStyleSheet.cpp:
32273        (WebCore::CachedXSLStyleSheet::addClient):
32274        * loader/CachedXSLStyleSheet.h:
32275        * loader/mac/UserStyleSheetLoader.cpp:
32276        (UserStyleSheetLoader::UserStyleSheetLoader):
32277        (UserStyleSheetLoader::~UserStyleSheetLoader):
32278        * platform/mac/ClipboardMac.mm:
32279        (WebCore::ClipboardMac::setDragImage):
32280        * rendering/RenderImage.cpp:
32281        (WebCore::RenderImage::~RenderImage):
32282        (WebCore::RenderImage::setCachedImage):
32283        * rendering/RenderListMarker.cpp:
32284        (WebCore::RenderListMarker::~RenderListMarker):
32285        (WebCore::RenderListMarker::setStyle):
32286        * rendering/RenderObject.cpp:
32287        (WebCore::RenderObject::updateBackgroundImages):
32288        (WebCore::RenderObject::arenaDelete):
32289        * rendering/RenderStyle.cpp:
32290        (WebCore::StyleCachedImage::addClient):
32291        (WebCore::StyleCachedImage::removeClient):
32292        * svg/SVGImageLoader.cpp:
32293        (WebCore::SVGImageLoader::updateFromElement):
32294        * xml/XSLImportRule.cpp:
32295        (WebCore::XSLImportRule::~XSLImportRule):
32296        (WebCore::XSLImportRule::loadSheet):
32297
322982008-04-11  David Hyatt  <hyatt@apple.com>
32299
32300        This patch adds support for CSS gradients as background images.  RenderStyles now hold a StyleImage
32301        RefPtr, which is a wrapper for two types of images: CachedImages (loaded from URLs) and generated images
32302        (patterns created on the fly such as gradients).
32303
32304        All of the features of <canvas> are supported: gradients can be linear or radial, have multiple stops, and
32305        can specify their points as percentages (for reusable gradients across different box sizes).
32306
32307        Reviewed by olliej
32308
32309        Added fast/gradients/simple-gradients.html
32310
32311        * WebCore.xcodeproj/project.pbxproj:
32312        * css/CSSBorderImageValue.cpp:
32313        (WebCore::CSSBorderImageValue::CSSBorderImageValue):
32314        * css/CSSBorderImageValue.h:
32315        (WebCore::CSSBorderImageValue::imageValue):
32316        (WebCore::CSSBorderImageValue::generatorValue):
32317        * css/CSSComputedStyleDeclaration.cpp:
32318        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
32319        * css/CSSGradientValue.cpp: Added.
32320        (WebCore::CSSGradientValue::cssText):
32321        (WebCore::CSSGradientValue::createGradient):
32322        (WebCore::CSSGradientValue::image):
32323        (WebCore::compareStops):
32324        (WebCore::CSSGradientValue::sortStopsIfNeeded):
32325        (WebCore::CSSGradientValue::resolvePoint):
32326        (WebCore::CSSGradientValue::resolveRadius):
32327        * css/CSSGradientValue.h: Added.
32328        (WebCore::CSSGradientColorStop::CSSGradientColorStop):
32329        (WebCore::CSSGradientValue::CSSGradientValue):
32330        (WebCore::CSSGradientValue::type):
32331        (WebCore::CSSGradientValue::setType):
32332        (WebCore::CSSGradientValue::setFirstX):
32333        (WebCore::CSSGradientValue::setFirstY):
32334        (WebCore::CSSGradientValue::setSecondX):
32335        (WebCore::CSSGradientValue::setSecondY):
32336        (WebCore::CSSGradientValue::setFirstRadius):
32337        (WebCore::CSSGradientValue::setSecondRadius):
32338        (WebCore::CSSGradientValue::addStop):
32339        * css/CSSImageGeneratorValue.cpp: Added.
32340        (WebCore::CSSImageGeneratorValue::~CSSImageGeneratorValue):
32341        (WebCore::CSSImageGeneratorValue::addClient):
32342        (WebCore::CSSImageGeneratorValue::removeClient):
32343        (WebCore::CSSImageGeneratorValue::getImage):
32344        (WebCore::CSSImageGeneratorValue::putImage):
32345        * css/CSSImageGeneratorValue.h: Added.
32346        (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
32347        * css/CSSImageValue.h:
32348        (WebCore::CSSImageValue::isImageValue):
32349        * css/CSSParser.cpp:
32350        (WebCore::CSSParser::parseBackgroundImage):
32351        (WebCore::BorderImageParseContext::commitImage):
32352        (WebCore::CSSParser::parseBorderImage):
32353        (WebCore::parseGradientPoint):
32354        (WebCore::parseGradientColorStop):
32355        (WebCore::CSSParser::parseGradient):
32356        * css/CSSParser.h:
32357        * css/CSSStyleSelector.cpp:
32358        (WebCore::CSSStyleSelector::applyProperty):
32359        (WebCore::CSSStyleSelector::createStyleImage):
32360        (WebCore::CSSStyleSelector::mapBackgroundImage):
32361        * css/CSSStyleSelector.h:
32362        * css/CSSValue.h:
32363        (WebCore::CSSValue::isImageValue):
32364        (WebCore::CSSValue::isImageGeneratorValue):
32365        * html/CanvasRenderingContext2D.cpp:
32366        (WebCore::CanvasRenderingContext2D::isPointInPath):
32367        * platform/graphics/BitmapImage.cpp:
32368        (WebCore::BitmapImage::BitmapImage):
32369        (WebCore::BitmapImage::dataChanged):
32370        (WebCore::BitmapImage::frameCount):
32371        * platform/graphics/BitmapImage.h:
32372        * platform/graphics/GraphicsContext.cpp:
32373        (WebCore::GraphicsContext::clipToImageBuffer):
32374        * platform/graphics/GraphicsContext.h:
32375        * platform/graphics/ImageBuffer.h:
32376        (WebCore::ImageBuffer::cgImage):
32377        (WebCore::ImageBuffer::image):
32378        * platform/graphics/cg/GraphicsContextCG.cpp:
32379        (WebCore::GraphicsContext::clipToImageBuffer):
32380        (WebCore::GraphicsContext::paintBuffer):
32381        (WebCore::GraphicsContext::drawImage):
32382        * platform/graphics/cg/ImageBufferCG.cpp:
32383        (WebCore::ImageBuffer::create):
32384        (WebCore::ImageBuffer::ImageBuffer):
32385        (WebCore::ImageBuffer::~ImageBuffer):
32386        (WebCore::ImageBuffer::image):
32387        (WebCore::ImageBuffer::getImageData):
32388        (WebCore::ImageBuffer::putImageData):
32389        (WebCore::ImageBuffer::toDataURL):
32390        * platform/graphics/cg/ImageCG.cpp:
32391        (WebCore::BitmapImage::BitmapImage):
32392        (WebCore::BitmapImage::draw):
32393        (WebCore::Image::drawPattern):
32394        * platform/graphics/qt/ImageQt.cpp:
32395        (WebCore::BitmapImage::BitmapImage):
32396        * rendering/InlineFlowBox.cpp:
32397        (WebCore::InlineFlowBox::paintBackground):
32398        * rendering/RenderBox.cpp:
32399        (WebCore::RenderBox::calculateBackgroundSize):
32400        (WebCore::RenderBox::imageChanged):
32401        (WebCore::RenderBox::paintBackgroundExtended):
32402        * rendering/RenderObject.cpp:
32403        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
32404        (WebCore::RenderObject::updateBackgroundImages):
32405        (WebCore::RenderObject::arenaDelete):
32406        * rendering/RenderStyle.cpp:
32407        (WebCore::StyleCachedImage::cssValue):
32408        (WebCore::StyleCachedImage::canRender):
32409        (WebCore::StyleCachedImage::imageSize):
32410        (WebCore::StyleCachedImage::setImageContainerSize):
32411        (WebCore::StyleCachedImage::addClient):
32412        (WebCore::StyleCachedImage::removeClient):
32413        (WebCore::StyleCachedImage::image):
32414        (WebCore::StyleGeneratedImage::cssValue):
32415        (WebCore::StyleGeneratedImage::imageSize):
32416        (WebCore::StyleGeneratedImage::setImageContainerSize):
32417        (WebCore::StyleGeneratedImage::addClient):
32418        (WebCore::StyleGeneratedImage::removeClient):
32419        (WebCore::StyleGeneratedImage::image):
32420        * rendering/RenderStyle.h:
32421        (WebCore::StyleImage::StyleImage):
32422        (WebCore::StyleImage::~StyleImage):
32423        (WebCore::StyleImage::operator==):
32424        (WebCore::StyleImage::canRender):
32425        (WebCore::StyleImage::isCachedImage):
32426        (WebCore::StyleImage::isGeneratedImage):
32427        (WebCore::StyleCachedImage::StyleCachedImage):
32428        (WebCore::StyleCachedImage::data):
32429        (WebCore::StyleCachedImage::isCachedImage):
32430        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
32431        (WebCore::StyleGeneratedImage::data):
32432        (WebCore::StyleGeneratedImage::isGeneratedImage):
32433        (WebCore::BackgroundLayer::backgroundImage):
32434        (WebCore::BackgroundLayer::setBackgroundImage):
32435        (WebCore::BackgroundLayer::containsImage):
32436        (WebCore::RenderStyle::backgroundImage):
32437        (WebCore::RenderStyle::initialBackgroundImage):
32438        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
32439        (WebCore::SVGPaintServerGradient::teardown):
32440        * svg/graphics/cg/SVGResourceMaskerCg.mm:
32441        (WebCore::SVGResourceMasker::applyMask):
32442
324432008-04-11  Dan Bernstein  <mitz@apple.com>
32444
32445        Reviewed by Oliver Hunt.
32446
32447        - add SVGGlyphMap.h to project files
32448
32449        * WebCore.vcproj/WebCore.vcproj:
32450        * WebCore.xcodeproj/project.pbxproj:
32451
324522008-04-11  Anders Carlsson  <andersca@apple.com>
32453
32454        Fix release build.
32455        
32456        * WebCore.base.exp:
32457        
32458        * loader/archive/ArchiveResource.h:
32459        (WebCore::ArchiveResource::response):
32460        This should be const.
32461
324622008-04-11  Antti Koivisto  <antti@apple.com>
32463
32464        Try to fix Qt build.
32465
32466        * svg/animation/SMILTime.cpp:
32467
324682008-04-11  Anders Carlsson  <andersca@apple.com>
32469
32470        Reviewed by Brady.
32471
32472        Don't create the ArchiveResource response lazily.
32473        
32474        * loader/archive/ArchiveResource.cpp:
32475        (WebCore::ArchiveResource::ArchiveResource):
32476        * loader/archive/ArchiveResource.h:
32477        (WebCore::ArchiveResource::response):
32478
324792008-04-11  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
32480
32481        Reviewed by Mark Rowe.
32482
32483        Added missing '\' in the svg include path
32484
32485        * GNUmakefile.am:
32486
324872008-04-11  Antti Koivisto  <antti@apple.com>
32488
32489        Another attempted Qt build fix.
32490
32491        * WebCore.pro:
32492
324932008-04-11  Antti Koivisto  <antti@apple.com>
32494
32495        Reviewed by Oliver.
32496
32497        Fix build when SVG is enabled but SVG_ANIMATION is not.
32498
32499        * ChangeLog:
32500        * bindings/js/JSSVGElementWrapperFactory.cpp:
32501        * bindings/objc/DOM.mm:
32502        (WebCore::createElementClassMap):
32503        * svg/SVGAElement.cpp:
32504        (WebCore::SVGAElement::defaultEventHandler):
32505        * svg/SVGAnimateColorElement.cpp:
32506        * svg/SVGAnimateColorElement.h:
32507        * svg/SVGAnimateColorElement.idl:
32508        * svg/SVGAnimateMotionElement.h:
32509        * svg/SVGAnimationElement.cpp:
32510        (WebCore::SVGAnimationElement::animationMode):
32511        * svg/SVGAnimationElement.h:
32512        * svg/SVGAnimationElement.idl:
32513        * svg/SVGSetElement.cpp:
32514        * svg/SVGSetElement.h:
32515        * svg/SVGSetElement.idl:
32516        * svg/animation/SMILTimeContainer.cpp:
32517        (WebCore::SMILTimeContainer::begin):
32518        (WebCore::SMILTimeContainer::pause):
32519        (WebCore::SMILTimeContainer::resume):
32520        (WebCore::SMILTimeContainer::elapsed):
32521        (WebCore::SMILTimeContainer::isPaused):
32522        (WebCore::SMILTimeContainer::timerFired):
32523        * svg/animation/SMILTimeContainer.h:
32524        * svg/animation/SVGSMILElement.cpp:
32525        * svg/animation/SVGSMILElement.h:
32526        * svg/svgtags.in:
32527
325282008-04-11  Anders Carlsson  <andersca@apple.com>
32529
32530        Reviewed by Brady.
32531
32532        Move archive loading from FrameLoader to DocumentLoader.
32533        
32534        * loader/DocumentLoader.cpp:
32535        (WebCore::DocumentLoader::DocumentLoader):
32536        (WebCore::DocumentLoader::clearArchiveResources):
32537        (WebCore::DocumentLoader::deliverArchivedResourcesAfterDelay):
32538        (WebCore::DocumentLoader::archiveResourceDeliveryTimerFired):
32539        (WebCore::DocumentLoader::isArchiveLoadPending):
32540        (WebCore::DocumentLoader::cancelPendingArchiveLoad):
32541        (WebCore::DocumentLoader::scheduleArchiveLoad):
32542        (WebCore::DocumentLoader::setDefersLoading):
32543        * loader/DocumentLoader.h:
32544        * loader/FrameLoader.cpp:
32545        (WebCore::FrameLoader::FrameLoader):
32546        (WebCore::FrameLoader::setDefersLoading):
32547        (WebCore::FrameLoader::stopAllLoaders):
32548        * loader/FrameLoader.h:
32549        * loader/ResourceLoader.cpp:
32550        (WebCore::ResourceLoader::load):
32551        (WebCore::ResourceLoader::didCancel):
32552
325532008-04-11  Timothy Hatcher  <timothy@apple.com>
32554
32555        Fixes the regression where the DOM tree does not update when navigating
32556        to another page with the Inspector open.
32557
32558        https://bugs.webkit.org/show_bug.cgi?id=18418
32559
32560        Reviewed by Adam Roben.
32561
32562        * page/inspector/ElementsPanel.js:
32563        (WebInspector.ElementsPanel.prototype.reset): If the inspected document does not have a
32564        firstChild yet, add an event listener for DOMContentLoaded. The event listener just sets
32565        a proeprty that a polling functions looks for then triggers the reset.
32566        (WebInspector.ElementsPanel.prototype._focusedNodeChanged): Always call updateStyles with
32567        forceUpdate as true. This makes sure the Styles pane clears when there isn't a focused node.
32568
325692008-04-11  Dan Bernstein  <mitz@apple.com>
32570
32571        Reviewed by Timothy Hatcher.
32572
32573        - fix http://bugs.webkit.org/show_bug.cgi?id=18412
32574          Inspector truncates text when editing a CSS property
32575
32576        * page/inspector/inspector.css:
32577
325782008-04-11  Antti Koivisto  <antti@apple.com>
32579
32580        Try to fix Qt build by including some headers.
32581
32582        * ChangeLog:
32583        * platform/graphics/UnitBezier.h:
32584        * svg/SVGAnimationElement.cpp:
32585        * svg/animation/SMILTime.h:
32586        * svg/animation/SVGSMILElement.cpp:
32587
325882008-04-11  Antti Koivisto  <antti@apple.com>
32589
32590        Try to fix Windows build by switching to std::sort().
32591
32592        * svg/animation/SVGSMILElement.cpp:
32593        (WebCore::sortTimeList):
32594
325952008-04-11  Rob Buis  <buis@kde.org>
32596
32597        Reviewed by Eric.
32598
32599        http://bugs.webkit.org/show_bug.cgi?id=18340
32600        Elements with display="none" in a <clipPath> still contribute to clipping path
32601
32602        Skip elements in clip-path container that have display=none specified.
32603
32604        * svg/SVGClipPathElement.cpp:
32605        (WebCore::SVGClipPathElement::canvasResource):
32606
326072008-04-10  Antti Koivisto  <antti@apple.com>
32608
32609        Reviewed by Eric.
32610
32611        Redo the SVG animation support.
32612        
32613        It does
32614        - Full SMIL interval timing model including syncbase and event base timing (the hard part).
32615        - CSS and XML attribute animation.
32616        - Linear, discrete and spline calcModes.
32617        - Values animation with keyTimes and keySplines.
32618        - Link activated animations.
32619        - Pretty good support for <animate> and <set> animations
32620        - Basic support for <animateColor>, <animateMotion> and <animateTransform>.
32621
32622        This passes some 35 of the 56 tests in W3C SVG animation test suite, a bunch more
32623        with some subtest failures.
32624
32625        What is still missing
32626        - Additive animation with multiple animations operating on the same property. This is a
32627          major architectural feature in animation code. It shouldn't be too hard to add.
32628        - Only <animate> implements accumulate.
32629        - <animateMotion> does not do paths, keypoints, rotate.
32630        - <animateTransform> does not work correctly in all cases
32631        - calcMode paced is missing.
32632        - repeat, beginEvent, endEvent are missing.
32633        - accesskey() is missing.
32634        - JS does not see correct values for baseVal/animVal, changing values that are being
32635          animted for a script produces wrong results. This problem needs to be solved outside
32636          the animation code.
32637        - Some other stuff I forgot or do not know about.
32638
32639        * GNUmakefile.am:
32640        * WebCore.pro:
32641        * WebCore.vcproj/WebCore.vcproj:
32642        * WebCore.xcodeproj/project.pbxproj:
32643        * dom/Document.cpp:
32644        * history/CachedPage.cpp:
32645        (WebCore::CachedPage::CachedPage):
32646        
32647        Use cache notification mechanism to start/stop animations.
32648
32649        * svg/SVGAElement.cpp:
32650        (WebCore::SVGAElement::defaultEventHandler):
32651        
32652        Start target animation on link activation.
32653        
32654        * svg/SVGAnimateColorElement.cpp:
32655        (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
32656        (WebCore::SVGAnimateColorElement::updateAnimatedValue):
32657        (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
32658        (WebCore::SVGAnimateColorElement::calculateFromAndByValues):
32659        * svg/SVGAnimateColorElement.h:
32660        * svg/SVGAnimateElement.cpp:
32661        (WebCore::SVGAnimateElement::SVGAnimateElement):
32662        (WebCore::parseNumberValueAndUnit):
32663        (WebCore::SVGAnimateElement::applyAnimatedValueToElement):
32664        (WebCore::SVGAnimateElement::updateAnimatedValue):
32665        (WebCore::isColorAttribute):
32666        (WebCore::SVGAnimateElement::calculateFromAndToValues):
32667        (WebCore::SVGAnimateElement::calculateFromAndByValues):
32668        * svg/SVGAnimateElement.h:
32669        (WebCore::SVGAnimateElement::):
32670        * svg/SVGAnimateMotionElement.cpp:
32671        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
32672        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
32673        (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
32674        (WebCore::parsePoint):
32675        (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
32676        (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
32677        (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
32678        (WebCore::SVGAnimateMotionElement::startedActiveInterval):
32679        * svg/SVGAnimateMotionElement.h:
32680        * svg/SVGAnimateTransformElement.cpp:
32681        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
32682        (WebCore::SVGAnimateTransformElement::hasValidTarget):
32683        (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
32684        (WebCore::transformListFor):
32685        (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
32686        (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
32687        (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
32688        (WebCore::SVGAnimateTransformElement::startedActiveInterval):
32689        (WebCore::SVGAnimateTransformElement::parseTransformValue):
32690        * svg/SVGAnimateTransformElement.h:
32691        
32692        Concrete anmation element classes.
32693        
32694        * svg/SVGAnimationElement.cpp:
32695        (WebCore::SVGAnimationElement::SVGAnimationElement):
32696        (WebCore::SVGAnimationElement::~SVGAnimationElement):
32697        (WebCore::parseKeyTimes):
32698        (WebCore::parseKeySplines):
32699        (WebCore::SVGAnimationElement::parseMappedAttribute):
32700        (WebCore::SVGAnimationElement::attributeChanged):
32701        (WebCore::SVGAnimationElement::getStartTime):
32702        (WebCore::SVGAnimationElement::getCurrentTime):
32703        (WebCore::SVGAnimationElement::getSimpleDuration):
32704        (WebCore::SVGAnimationElement::beginElement):
32705        (WebCore::SVGAnimationElement::beginElementAt):
32706        (WebCore::SVGAnimationElement::endElement):
32707        (WebCore::SVGAnimationElement::endElementAt):
32708        (WebCore::SVGAnimationElement::animationMode):
32709        (WebCore::SVGAnimationElement::calcMode):
32710        (WebCore::SVGAnimationElement::attributeType):
32711        (WebCore::SVGAnimationElement::toValue):
32712        (WebCore::SVGAnimationElement::byValue):
32713        (WebCore::SVGAnimationElement::fromValue):
32714        (WebCore::SVGAnimationElement::attributeName):
32715        (WebCore::SVGAnimationElement::isAdditive):
32716        (WebCore::SVGAnimationElement::isAccumulated):
32717        (WebCore::SVGAnimationElement::hasValidTarget):
32718        (WebCore::SVGAnimationElement::targetAttributeIsCSS):
32719        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
32720        (WebCore::SVGAnimationElement::targetAttributeBaseValue):
32721        (WebCore::solveEpsilon):
32722        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
32723        (WebCore::SVGAnimationElement::startedActiveInterval):
32724        (WebCore::SVGAnimationElement::applyAnimation):
32725        (WebCore::SVGAnimationElement::unapplyAnimation):
32726        (WebCore::SVGAnimationElement::endedActiveInterval):
32727        * svg/SVGAnimationElement.h:
32728        (WebCore::SVGAnimationElement::):
32729        
32730        This is pretty much a complete rewrite of the SVGAnimationElement. Timing related functionality
32731        was refactored to SMILTimingElement class that this class now inherits.
32732        
32733        * svg/SVGDocumentExtensions.cpp:
32734        (WebCore::SVGDocumentExtensions::startAnimations):
32735        * svg/SVGElement.cpp:
32736        (WebCore::SVGElement::ownerSVGElement):
32737        * svg/SVGSVGElement.cpp:
32738        
32739        We need to reach the <svg> element from <use> too so go out from the shadow tree.
32740        
32741        (WebCore::SVGSVGElement::SVGSVGElement):
32742        (WebCore::SVGSVGElement::~SVGSVGElement):
32743        (WebCore::SVGSVGElement::pauseAnimations):
32744        (WebCore::SVGSVGElement::unpauseAnimations):
32745        (WebCore::SVGSVGElement::animationsPaused):
32746        (WebCore::SVGSVGElement::getCurrentTime):
32747        (WebCore::SVGSVGElement::willSaveToCache):
32748        (WebCore::SVGSVGElement::willRestoreFromCache):
32749        * svg/SVGSVGElement.h:
32750        (WebCore::SVGSVGElement::timeContainer):
32751        * svg/SVGSetElement.cpp:
32752        (WebCore::SVGSetElement::applyAnimatedValueToElement):
32753        (WebCore::SVGSetElement::calculateFromAndToValues):
32754        (WebCore::SVGSetElement::calculateFromAndByValues):
32755        (WebCore::SVGSetElement::updateAnimatedValue):
32756        * svg/SVGSetElement.h:
32757        
32758        Concrete anmation element classes.
32759        
32760        * svg/SVGTimer.cpp: Removed.
32761        * svg/SVGTimer.h: Removed.
32762        * svg/SVGUseElement.cpp:
32763        (WebCore::SVGUseElement::removedFromDocument):
32764        * svg/TimeScheduler.cpp: Removed.
32765        * svg/TimeScheduler.h: Removed.
32766        
32767        Replaced these with SMILTimeContainer class.
32768        
32769        * svg/animation: Added.
32770        * svg/animation/SMILTime.cpp: Added.
32771        (WebCore::operator+):
32772        (WebCore::operator-):
32773        (WebCore::operator*):
32774        * svg/animation/SMILTime.h: Added.
32775        (WebCore::SMILTime::SMILTime):
32776        (WebCore::SMILTime::unresolved):
32777        (WebCore::SMILTime::indefinite):
32778        (WebCore::SMILTime::operator=):
32779        (WebCore::SMILTime::value):
32780        (WebCore::SMILTime::isFinite):
32781        (WebCore::SMILTime::isIndefinite):
32782        (WebCore::SMILTime::isUnresolved):
32783        (WebCore::operator==):
32784        (WebCore::operator!=):
32785        (WebCore::operator>):
32786        (WebCore::operator<):
32787        (WebCore::operator>=):
32788        (WebCore::operator<=):
32789        (WebCore::max):
32790        (WebCore::min):
32791        
32792        A floating point number with special values "indefinite" and "unresolved". Defines math for those.
32793        
32794        * svg/animation/SMILTimeContainer.cpp: Added.
32795        (WebCore::SMILTimeContainer::SMILTimeContainer):
32796        (WebCore::SMILTimeContainer::schedule):
32797        (WebCore::SMILTimeContainer::unschedule):
32798        (WebCore::SMILTimeContainer::elapsed):
32799        (WebCore::SMILTimeContainer::isActive):
32800        (WebCore::SMILTimeContainer::isPaused):
32801        (WebCore::SMILTimeContainer::begin):
32802        (WebCore::SMILTimeContainer::pause):
32803        (WebCore::SMILTimeContainer::resume):
32804        (WebCore::SMILTimeContainer::startTimer):
32805        (WebCore::SMILTimeContainer::timerFired):
32806        (WebCore::SMILTimeContainer::updateAnimations):
32807        * svg/animation/SMILTimeContainer.h: Added.
32808        
32809        Manages the clock and time line for active animations in a document.
32810        
32811        * svg/animation/SVGSMILElement.cpp: Added.
32812        (WebCore::ConditionEventListener::ConditionEventListener):
32813        (WebCore::ConditionEventListener::handleEvent):
32814        (WebCore::SVGSMILElement::Condition::Condition):
32815        (WebCore::SVGSMILElement::SVGSMILElement):
32816        (WebCore::SVGSMILElement::~SVGSMILElement):
32817        (WebCore::SVGSMILElement::insertedIntoDocument):
32818        (WebCore::SVGSMILElement::removedFromDocument):
32819        (WebCore::SVGSMILElement::finishParsingChildren):
32820        (WebCore::SVGSMILElement::parseOffsetValue):
32821        (WebCore::SVGSMILElement::parseClockValue):
32822        (WebCore::smilTimeSortFunction):
32823        (WebCore::sortTimeList):
32824        (WebCore::SVGSMILElement::parseCondition):
32825        (WebCore::SVGSMILElement::isTimingElement):
32826        (WebCore::SVGSMILElement::parseBeginOrEnd):
32827        (WebCore::SVGSMILElement::parseMappedAttribute):
32828        (WebCore::SVGSMILElement::attributeChanged):
32829        (WebCore::SVGSMILElement::connectConditions):
32830        (WebCore::SVGSMILElement::disconnectConditions):
32831        (WebCore::SVGSMILElement::reschedule):
32832        (WebCore::SVGSMILElement::targetElement):
32833        (WebCore::SVGSMILElement::elapsed):
32834        (WebCore::SVGSMILElement::restart):
32835        (WebCore::SVGSMILElement::fill):
32836        (WebCore::SVGSMILElement::xlinkHref):
32837        (WebCore::SVGSMILElement::dur):
32838        (WebCore::SVGSMILElement::repeatDur):
32839        (WebCore::SVGSMILElement::repeatCount):
32840        (WebCore::SVGSMILElement::maxValue):
32841        (WebCore::SVGSMILElement::minValue):
32842        (WebCore::SVGSMILElement::simpleDuration):
32843        (WebCore::SVGSMILElement::addBeginTime):
32844        (WebCore::SVGSMILElement::addEndTime):
32845        (WebCore::SVGSMILElement::findInstanceTime):
32846        (WebCore::SVGSMILElement::repeatingDuration):
32847        (WebCore::SVGSMILElement::resolveActiveEnd):
32848        (WebCore::SVGSMILElement::resolveInterval):
32849        (WebCore::SVGSMILElement::resolveFirstInterval):
32850        (WebCore::SVGSMILElement::resolveNextInterval):
32851        (WebCore::SVGSMILElement::nextProgressTime):
32852        (WebCore::SVGSMILElement::beginListChanged):
32853        (WebCore::SVGSMILElement::endListChanged):
32854        (WebCore::SVGSMILElement::checkRestart):
32855        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
32856        (WebCore::SVGSMILElement::calculateNextProgressTime):
32857        (WebCore::SVGSMILElement::determineActiveState):
32858        (WebCore::SVGSMILElement::progress):
32859        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
32860        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
32861        (WebCore::SVGSMILElement::addTimeDependent):
32862        (WebCore::SVGSMILElement::removeTimeDependent):
32863        (WebCore::SVGSMILElement::handleConditionEvent):
32864        (WebCore::SVGSMILElement::beginByLinkActivation):
32865        * svg/animation/SVGSMILElement.h: Added.
32866        (WebCore::SVGSMILElement::timeContainer):
32867        (WebCore::SVGSMILElement::):
32868        (WebCore::SVGSMILElement::intervalBegin):
32869        (WebCore::SVGSMILElement::intervalEnd):
32870        (WebCore::SVGSMILElement::Condition::):
32871        
32872            This abstract class implements the SMIL timing model. As an output it produces calls
32873            to these virtual functions:
32874        
32875            virtual void startedActiveInterval() = 0;
32876            virtual void applyAnimation(float percent, unsigned repeat) = 0;
32877            virtual void unapplyAnimation() = 0;
32878            virtual void endedActiveInterval() = 0;
32879
328802008-04-10  Antti Koivisto  <antti@apple.com>
32881
32882        Reviewed by Eric.
32883
32884        Move CurveData out from AnimationController.cpp and rename
32885        it to UnitBezier. This makes it possible to reuse this nice class from the 
32886        SVG animation code.
32887
32888        * WebCore.vcproj/WebCore.vcproj:
32889        * WebCore.xcodeproj/project.pbxproj:
32890        * page/AnimationController.cpp:
32891        (WebCore::solveCubicBezierFunction):
32892        * platform/graphics/UnitBezier.h: Added.
32893        (WebCore::UnitBezier::UnitBezier):
32894        (WebCore::UnitBezier::sampleCurveX):
32895        (WebCore::UnitBezier::sampleCurveY):
32896        (WebCore::UnitBezier::sampleCurveDerivativeX):
32897        (WebCore::UnitBezier::solveCurveX):
32898        (WebCore::UnitBezier::solve):
32899
329002008-04-10  Brady Eidson  <beidson@apple.com>
32901
32902        Reviewed by Sam Weinig
32903
32904        The name "OriginStorage" never felt right to a few of us.  The HTML5 spec refers to our 
32905        concept of "OriginStorage" as a "storage area", which makes more sense here.
32906
32907        This patch is basically:
32908        s/OriginStorage/StorageArea/
32909
32910        * GNUmakefile.am:
32911        * WebCore.pro:
32912        * WebCore.vcproj/WebCore.vcproj:
32913        * WebCore.xcodeproj/project.pbxproj:
32914        * WebCoreSources.bkl:
32915
32916        * loader/FrameLoader.cpp:
32917
32918        * page/DOMWindow.cpp:
32919        (WebCore::DOMWindow::sessionStorage):
32920        * page/Page.cpp:
32921
32922        * storage/OriginStorage.cpp: Removed.
32923        * storage/OriginStorage.h: Removed.
32924
32925        * storage/SessionStorage.cpp:
32926        (WebCore::SessionStorage::copy):
32927        (WebCore::SessionStorage::storageArea):
32928        * storage/SessionStorage.h:
32929
32930        * storage/Storage.cpp:
32931        (WebCore::Storage::create):
32932        (WebCore::Storage::Storage):
32933        (WebCore::Storage::length):
32934        (WebCore::Storage::key):
32935        (WebCore::Storage::getItem):
32936        (WebCore::Storage::setItem):
32937        (WebCore::Storage::removeItem):
32938        (WebCore::Storage::contains):
32939        * storage/Storage.h:
32940
32941        * storage/StorageArea.cpp: Copied from storage/OriginStorage.cpp.
32942        (WebCore::StorageArea::create):
32943        (WebCore::StorageArea::StorageArea):
32944        (WebCore::StorageArea::~StorageArea):
32945        (WebCore::StorageArea::copy):
32946        (WebCore::StorageArea::length):
32947        (WebCore::StorageArea::key):
32948        (WebCore::StorageArea::getItem):
32949        (WebCore::StorageArea::setItem):
32950        (WebCore::StorageArea::removeItem):
32951        (WebCore::StorageArea::contains):
32952        (WebCore::StorageArea::dispatchStorageEvent):
32953        * storage/StorageArea.h: Copied from storage/OriginStorage.h.
32954
329552008-04-10  Xan Lopez  <xan@gnome.org>
32956
32957        Reviewed by Alp Toker.
32958
32959        http://bugs.webkit.org/show_bug.cgi?id=18342
32960        Bug #18342 - Add logging to HTTP soup backend
32961        
32962        Add soup logging facilities to HTTP soup backend.
32963        Enable defining WEBKIT_SOUP_LOGGING, with values from
32964        0 to 3 for more verbosity.
32965        
32966        * platform/network/soup/ResourceHandleSoup.cpp:
32967        (WebCore::ResourceHandle::start):
32968
329692008-04-10  Timothy Hatcher  <timothy@apple.com>
32970
32971        Fixes floating point precision in the Resources graph labels by using String.sprintf to
32972        format the values. Also makes the image view use Number.bytesToString when showing the file
32973        size. Makes Number.bytesToString and Number.secondsToString take an optional formatter function
32974        so the Inspector can pass WebInspector.UIString, so the format strings can be localized.
32975
32976        https://bugs.webkit.org/show_bug.cgi?id=18381
32977        https://bugs.webkit.org/show_bug.cgi?id=14333
32978
32979        Reviewed by Adam Roben.
32980
32981        * English.lproj/InspectorLocalizedStrings.js: Added the new strings.
32982        * page/inspector/ImageView.js:
32983        (WebInspector.ImageView): Use Number.bytesToString to format this.resource.contentLength.
32984        * page/inspector/ResourcesPanel.js:
32985        (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): Pass WebInspector.UIString
32986        to Number.secondsToString.
32987        (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): Pass WebInspector.UIString
32988        to Number.bytesToString.
32989        * page/inspector/utilities.js:
32990        (Number.secondsToString): Added a formatterFunction argument. Use the formatter and format strings
32991        to control the number precision.
32992        (Number.bytesToString): Ditto.
32993
329942008-04-010  Alice Liu  <alice.liu@apple.com>
32995
32996        Reviewed by Dan Bernstein.
32997
32998        Fixed <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6
32999
33000        Test: fast/events/mouseout-dead-subframe.html
33001
33002        * page/EventHandler.cpp:
33003        dispatching a mouse event can change the document structure, necessitating
33004        a check for whether we still want to pass the event to the pre-determined subframe 
33005        (WebCore::EventHandler::handleMouseMoveEvent):
33006
330072008-04-10  Antti Koivisto  <antti@apple.com>
33008
33009        Reviewed by Eric.
33010
33011        Fix scale transform. This will be tested by the animation test suite when
33012        SVG animation support lands.
33013
33014        * svg/SVGTransformDistance.cpp:
33015        (WebCore::SVGTransformDistance::SVGTransformDistance):
33016
330172008-04-10  David Hyatt  <hyatt@apple.com>
33018
33019        Add a gradient fillRect method to GraphicsContext.  This is implemented only in the CG port.  I stubbed
33020        out a method in GraphicsContext.cpp with notImplemented().  Other platforms will need to add their own
33021        gradient fill methods.
33022
33023        Reviewed by aroben
33024
33025        * platform/graphics/GraphicsContext.cpp:
33026        (WebCore::GraphicsContext::fillRect):
33027        * platform/graphics/GraphicsContext.h:
33028        * platform/graphics/cg/GraphicsContextCG.cpp:
33029        (WebCore::GraphicsContext::fillRect):
33030
330312008-04-10  David Hyatt  <hyatt@apple.com>
33032
33033        Gradient improvements.  Support for adding color stops by Color and not just by String.  Add the ability to mark
33034        stops as already being sorted.
33035
33036        Reviewed by aroben
33037
33038        * platform/graphics/Gradient.cpp:
33039        (WebCore::Gradient::addColorStop):
33040        * platform/graphics/Gradient.h:
33041        (WebCore::Gradient::setStopsSorted):
33042
330432008-04-10  Timothy Hatcher  <timothy@apple.com>
33044
33045        Fixes the build where some wtf headers would not be copied due
33046        to a bug in some older versions of Xcode.
33047
33048        Rubber-stamped by Adam Roben.
33049
33050        * WebCore.xcodeproj/project.pbxproj: Adds a new script phase to handle
33051        the copying of the icu and ForwardingHeaders folder to WebCore's PrivateHeaders.
33052        Removes the old copy files phase and the icu and ForwardingHeaders folder references.
33053
330542008-04-09  Brady Eidson  <beidson@apple.com>
33055
33056        Reviewed by Mitz Pettel
33057
33058        Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling.
33059
33060        Tests: storage/domstorage/sessionstorage/onstorage-attribute-markup.html
33061               storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html
33062
33063        * html/HTMLAttributeNames.in: Added "onstorage"
33064        * html/HTMLBodyElement.cpp:
33065        (WebCore::HTMLBodyElement::parseMappedAttribute): Handle this attribute on the body element *only*
33066          because that's where the HTML5 spec says StorageEvents go.  This might change in the future
33067
330682008-04-09  Antti Koivisto  <antti@apple.com>
33069
33070        Reviewed by Mitz.
33071
33072        Remove a less-than-critical bit from Node and replace it with a hash. Those bits are valuable!
33073
33074        Also moved setting of the guard to dispatchSimulatedClick for better consistency. 
33075        No one else calls dispatchSimulatedMouseEvent() currently and this is really a click() specific behavior.
33076
33077        * dom/EventTargetNode.cpp:
33078        (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
33079        (WebCore::EventTargetNode::dispatchSimulatedClick):
33080        * dom/Node.cpp:
33081        (WebCore::Node::Node):
33082        * dom/Node.h:
33083
330842008-04-09  Sam Weinig  <sam@webkit.org>
33085
33086        Reviewed by Geoffrey Garen.
33087
33088        Fix for https://bugs.webkit.org/show_bug.cgi?id=18389
33089        Crash in JSDOMWindowWrapper::mark loading digg.com
33090
33091        - Add a null check to JSDOMWindowWrapper::mark for the case when the collector
33092          runs during its allocation.
33093        - Cleans up the creation of the window to be a little more straight forward.
33094
33095        * bindings/js/JSDOMWindowBase.cpp:
33096        (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
33097        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
33098        (WebCore::JSDOMWindowBase::clear):
33099        (WebCore::JSDOMWindowBase::wrapper):
33100        * bindings/js/JSDOMWindowBase.h:
33101        * bindings/js/JSDOMWindowWrapper.cpp:
33102        (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
33103        (WebCore::JSDOMWindowWrapper::mark):
33104        * bindings/js/JSDOMWindowWrapper.h:
33105        * bindings/js/kjs_proxy.cpp:
33106        (WebCore::KJSProxy::initScript):
33107        * bindings/scripts/CodeGeneratorJS.pm:
33108
331092008-04-09  Brady Eidson  <beidson@apple.com>
33110
33111        Rubberstamped by Mitzpettel
33112
33113        Added HTMLAttributeNames.in and HTMLTagNames.in to the xcodeproj for easy editing, 
33114        and sorted the html group
33115
33116        * WebCore.xcodeproj/project.pbxproj:
33117
331182008-04-09  Brent Fulgham  <bfulgham@gmail.com>
33119
33120        Reviewed by Mitz.
33121
33122        Correct build regression in Windows (Cairo) build due to changes
33123        in FontDescription.h signature.  (see http://bugs.webkit.org/show_bug.cgi?id=18394)
33124
33125        * rendering/RenderThemeWin.cpp:  Change for new font methods.
33126        (WebCore::RenderThemeWin::systemFont):
33127
331282008-04-09  Brady Eidson  <beidson@apple.com>
33129
33130        Reviewed by Sam Weinig
33131
33132        When enumerating a Storage object, the Storage built-ins should not be included, but the 
33133        prototype chain SHOULD be included.
33134
33135        * bindings/js/JSStorageCustom.cpp:
33136        (WebCore::JSStorage::customGetPropertyNames): Return false so the prototype chain is walked
33137
33138        * storage/Storage.idl: Mark all built-ins as "DontEnum"
33139
331402008-04-09  Brady Eidson  <beidson@apple.com>
33141
33142        Reviewed by Adam Roben
33143
33144        Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area, 
33145        and should not return the built-in properties.
33146
33147        Test: storage/domstorage/sessionstorage/enumerate-storage.html
33148
33149        * bindings/js/JSLocationCustom.cpp:
33150        (WebCore::JSLocation::customGetPropertyNames): Removed the name from an unused parameter
33151
33152        * bindings/js/JSStorageCustom.cpp:
33153        (WebCore::JSStorage::customGetPropertyNames): Copy all of the keys into the property names array
33154
33155        * storage/Storage.idl: Add CustomGetPropertyNames
33156
331572008-04-09  Timothy Hatcher  <timothy@apple.com>
33158
33159        Fixes the regression where resource time/size pills do not
33160        update during a load in the Inspector.
33161
33162        http://bugs.webkit.org/show_bug.cgi?id=18374
33163
33164        Reviewed by John Sullivan.
33165
33166        * page/inspector/ResourcesPanel.js:
33167        (ResourcesPanel.prototype.show): Remove an unneeded call to _updateGraphBars,
33168        since _updateSidebarWidth already calls _updateGraphBars.
33169        (ResourcesPanel.prototype.addResource): Call updateGraphSideWidth.
33170        (ResourcesPanel.prototype._updateGraphBars): Ditto.
33171        (ResourceSidebarTreeElement.prototype.updateGraphSideWidth): Update the
33172        style for graphSideElement with the passed in width.
33173
331742008-04-09  Antti Koivisto  <antti@apple.com>
33175
33176        Reviewed by Mitz.
33177
33178        Avoid unnecessary calls to virtual updateStyleAttributeIfNeeded() method.
33179        - do the the checking in call sites instead of inside the function
33180        - rename to updateStyleAttribute()
33181        - use namedAttrMap directly (for getting id attribute) in insertedIntoDocument/removedFromDocument 
33182          to avoid calling attributes() which may trigger style attribute update.
33183        
33184        * dom/Element.cpp:
33185        (WebCore::Element::attributes):
33186        (WebCore::Element::getAttribute):
33187        (WebCore::Element::hasAttributes):
33188        (WebCore::Element::insertedIntoDocument):
33189        (WebCore::Element::removedFromDocument):
33190        * dom/Element.h:
33191        (WebCore::Element::updateStyleAttribute):
33192        * dom/NamedAttrMap.cpp:
33193        (WebCore::NamedAttrMap::addAttribute):
33194        * dom/StyledElement.cpp:
33195        (WebCore::StyledElement::updateStyleAttribute):
33196        * dom/StyledElement.h:
33197
331982008-04-09  Timothy Hatcher  <timothy@apple.com>
33199
33200        A more complete fix for: can't drag the Web Inspector when grabbing
33201        in the toolbar area. Makes dragging under the search field in the
33202        empty space work again.
33203
33204        http://bugs.webkit.org/show_bug.cgi?id=18373
33205
33206        Reviewed by Adam Roben.
33207
33208        * page/inspector/inspector.js:
33209        (WebInspector.toolbarDragStart): Prevent dragging if the event target
33210        is a toggleable toolbar item. Allow dragging when the target is a
33211        normal toolbar item.
33212
332132008-04-08  Sam Weinig  <sam@webkit.org>
33214
33215        Reviewed by Timothy Hatcher.
33216
33217        Fix for http://bugs.webkit.org/show_bug.cgi?id=18373
33218        REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area
33219
33220        * page/inspector/inspector.css:
33221
332222008-04-08  Christian Persch  <chpe@gnome.org>
33223
33224        Reviewed by Alp Toker.
33225
33226        http://bugs.webkit.org/show_bug.cgi?id=18360
33227        "missing sentinel" warnings in PluginDatabaseGtk.cpp
33228
33229        Use NULL, not 0 as sentinel in varargs calls.
33230
33231        * plugins/gtk/PluginDatabaseGtk.cpp:
33232        (WebCore::PluginDatabase::getPluginPathsInDirectories):
33233        (WebCore::PluginDatabase::defaultPluginDirectories):
33234
332352008-04-04  Sam Weinig  <sam@webkit.org>
33236
33237        Reviewed by Geoffrey Garen.
33238
33239        First step in implementing the "split window"
33240
33241        - This patch takes the first step in changing the window navigation model
33242          from clearing the window properties on navigation, to replacing
33243          an inner window.  This is necessary to safely perform security checks
33244          using the lexical global object.
33245
33246          This first step adds a new class called JSDOMWindowWrapper, which wraps
33247          the real window object.  All JS calls that would go to the window object
33248          now go to it, which it forwards to the current inner window.  To accomplish
33249          this, the wrapper window is used as the ThisValue wherever the window was used
33250          before.
33251
33252        * WebCore.base.exp:
33253        * WebCore.xcodeproj/project.pbxproj:
33254        * bindings/js/JSDOMWindowBase.cpp:
33255        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
33256        (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too.
33257        (WebCore::JSDOMWindowBase::toThisObject):
33258        (WebCore::JSDOMWindowBase::wrapper):
33259        (WebCore::windowProtoFuncAToB):
33260        (WebCore::windowProtoFuncBToA):
33261        (WebCore::windowProtoFuncOpen):
33262        (WebCore::windowProtoFuncSetTimeout):
33263        (WebCore::windowProtoFuncClearTimeout):
33264        (WebCore::windowProtoFuncSetInterval):
33265        (WebCore::windowProtoFuncAddEventListener):
33266        (WebCore::windowProtoFuncRemoveEventListener):
33267        (WebCore::windowProtoFuncShowModalDialog):
33268        (WebCore::windowProtoFuncNotImplemented):
33269        (WebCore::toJS):
33270        * bindings/js/JSDOMWindowBase.h:
33271        Fix to expect the wrapper as the thisObj.
33272        * bindings/js/JSDOMWindowCustom.cpp:
33273        (WebCore::JSDOMWindow::postMessage):
33274        (WebCore::toDOMWindow):
33275        * bindings/js/JSDOMWindowWrapper.cpp: Added.
33276        (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
33277        (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper):
33278        (WebCore::JSDOMWindowWrapper::mark):
33279        (WebCore::JSDOMWindowWrapper::className):
33280        (WebCore::JSDOMWindowWrapper::getOwnPropertySlot):
33281        (WebCore::JSDOMWindowWrapper::put):
33282        (WebCore::JSDOMWindowWrapper::deleteProperty):
33283        (WebCore::JSDOMWindowWrapper::getPropertyNames):
33284        (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
33285        (WebCore::JSDOMWindowWrapper::defineGetter):
33286        (WebCore::JSDOMWindowWrapper::defineSetter):
33287        (WebCore::JSDOMWindowWrapper::lookupGetter):
33288        (WebCore::JSDOMWindowWrapper::lookupSetter):
33289        (WebCore::JSDOMWindowWrapper::toGlobalObject):
33290        (WebCore::JSDOMWindowWrapper::impl):
33291        (WebCore::JSDOMWindowWrapper::disconnectFrame):
33292        (WebCore::JSDOMWindowWrapper::clear):
33293        (WebCore::toJS):
33294        * bindings/js/JSDOMWindowWrapper.h: Added.
33295        (WebCore::JSDOMWindowWrapper::innerWindow):
33296        (WebCore::JSDOMWindowWrapper::setInnerWindow):
33297        (WebCore::JSDOMWindowWrapper::classInfo):
33298        Forward methods to the innerWindow.
33299        * bindings/js/JSHTMLDocumentCustom.cpp:
33300        (WebCore::JSHTMLDocument::open):
33301        * bindings/js/ScheduledAction.cpp:
33302        (WebCore::ScheduledAction::execute):
33303        * bindings/js/kjs_events.cpp:
33304        (WebCore::JSAbstractEventListener::handleEvent):
33305        * bindings/js/kjs_proxy.cpp:
33306        (WebCore::KJSProxy::~KJSProxy):
33307        (WebCore::KJSProxy::evaluate):
33308        (WebCore::KJSProxy::clear):
33309        (WebCore::KJSProxy::initScript):
33310        (WebCore::KJSProxy::clearDocumentWrapper):
33311        (WebCore::KJSProxy::processingUserGesture):
33312        (WebCore::KJSProxy::attachDebugger):
33313        * bindings/js/kjs_proxy.h:
33314        (WebCore::KJSProxy::haveWindowWrapper):
33315        (WebCore::KJSProxy::windowWrapper):
33316        (WebCore::KJSProxy::globalObject):
33317        (WebCore::KJSProxy::initScriptIfNeeded):
33318        Hold onto the wrapper window instead of global object.  As a convenience,
33319        keep the globalObject() as a forward to the inner window.
33320        * bindings/objc/DOMUtility.mm:
33321        (KJS::createDOMWrapper):
33322        * bindings/scripts/CodeGeneratorJS.pm:
33323        * dom/Document.cpp:
33324        (WebCore::Document::domWindow):
33325        * dom/Document.h:
33326        (WebCore::Document::defaultView):
33327        * loader/FrameLoader.cpp:
33328        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
33329        * page/DOMWindow.idl:
33330        * page/Frame.cpp:
33331        (WebCore::Frame::~Frame):
33332        (WebCore::Frame::pageDestroyed):
33333
333342008-04-08  Brady Eidson  <beidson@apple.com>
33335
33336        Encourage Windows to rebuild - AGAIN...
33337
33338        * WebCore.vcproj/build-generated-files.sh:
33339        * bindings/scripts/CodeGenerator.pm:
33340        * bindings/scripts/CodeGeneratorJS.pm:
33341        * config.h:
33342
333432008-04-08  Brady Eidson  <beidson@apple.com>
33344
33345        OMG release builds didn't have this flag Windows build bots I'm so 
33346        sorry will you ever forgive me?
33347
33348        (Found by Stephanie, rubberstamped and landed by Brady)
33349
33350        * WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds
33351
333522008-04-08  Timothy Hatcher  <timothy@apple.com>
33353
33354        Fixes a crash in KJS::JSValue::toObject when closing
33355        Safari with Inspector open.
33356
33357        http://bugs.webkit.org/show_bug.cgi?id=18371
33358
33359        Reviewed by Adam Roben.
33360
33361        * page/InspectorController.cpp:
33362        (WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
33363        Return JSNull if JSDOMWindow is 0.
33364        * page/inspector/ElementsPanel.js:
33365        (ElementsPanel.prototype.reset): NULL check the result of
33366        InspectorController.inspectedWindow.
33367
333682008-04-08  Adam Roben  <aroben@apple.com>
33369
33370        Wx build fix
33371
33372        * webcore-wx.bkl: Removed entry for non-existent file.
33373
333742008-04-08  Adam Roben  <aroben@apple.com>
33375
33376        qmake build fixes
33377
33378        * WebCore.pro: Removed entries for non-existent files.
33379
333802008-04-08  Brady Eidson  <beidson@apple.com>
33381
33382        Rubberstamped by Adam Roben
33383        
33384        Touch some files to *strongly* encourage Windows to rebuilt with DOM_STORAGE enabled
33385
33386        * WebCore.vcproj/build-generated-files.sh:
33387        * bindings/scripts/CodeGenerator.pm:
33388        * config.h:
33389
333902008-04-08  Timothy Hatcher  <timothy@apple.com>
33391
33392        Implements the majority of the Inspector UI refresh as shown at:
33393        http://trac.webkit.org/projects/webkit/wiki/ProposedWebInspectorUIRefresh
33394
33395        http://bugs.webkit.org/show_bug.cgi?id=17773
33396
33397        A few areas that have not been re-implemented with the new UI are:
33398        * Search and search results.
33399        * Request and response headers in the Resources panel.
33400        * Changing the sorting, grouping or toggling small rows in Resources.
33401        * Image and font previews in the icon of resources.
33402
33403        Reviewed by Adam Roben.
33404
33405        * English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings.
33406        * WebCore.vcproj/WebCore.vcproj: Added new files.
33407        * page/InspectorController.cpp:
33408        (WebCore::InspectorController::setWindowVisible): Call resetScriptObjects()
33409        instead of individual clear functions.
33410        (WebCore::InspectorController::populateScriptObjects): Renamed from
33411        populateScriptResources.
33412        (WebCore::InspectorController::addDatabaseScriptResource): Call
33413        addDatabase instead of addResource.
33414        (WebCore::InspectorController::removeDatabaseScriptResource): Call
33415        removeDatabase instead of removeResource.
33416        (WebCore::InspectorController::resetScriptObjects): Renamed from
33417        clearScriptResources.
33418        (WebCore::InspectorController::didCommitLoad): Call resetScriptObjects()
33419        instead of individual clear functions.
33420        * page/InspectorController.h: Rename functions.
33421        * page/inspector/Console.js: Changed the object name to Console from
33422        ConsolePanel. Made it inherit the prototype from View. Added code
33423        to animate in and out.
33424        * page/inspector/Database.js: Removed title updating and Resource
33425        pseudo-subclassing. Made more of a Model object that just encapsulates
33426        data. Add a getter for table names.
33427        * page/inspector/DatabaseQueryView.js: Added. Implements the view seen
33428        when selecting a Database in the DatabasesPanel. Implemented as an
33429        interactive console-like area.
33430        * page/inspector/DatabaseTableView.js: Added. Implements the view seen
33431        when selecting a Database Table in the DatabasesPanel. Matches the old
33432        Browse view of Database panels.
33433        * page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel
33434        from DatabasePanel. Implements a panel that shows a sidebar of Databases
33435        and Database Tables.
33436        * page/inspector/ElementsPanel.js:  Changed the object name to ElementsPanel
33437        from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the
33438        main resource.
33439        * page/inspector/FontView.js: Use this.contentElement instead of this.element.
33440        * page/inspector/ImageView.js: Ditto.
33441        * page/inspector/Images/clearConsoleButtons.png: Added.
33442        * page/inspector/Images/consoleButtons.png: Added.
33443        * page/inspector/Images/darkShadow.png: Flipped.
33444        * page/inspector/Images/database.png: Modified to be 32x32.
33445        * page/inspector/Images/databaseTable.png: Added.
33446        * page/inspector/Images/databasesIcon.png: Added.
33447        * page/inspector/Images/disclosureTriangleSmallDown.png: Added.
33448        * page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added.
33449        * page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added.
33450        * page/inspector/Images/disclosureTriangleSmallRight.png: Added.
33451        * page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added.
33452        * page/inspector/Images/disclosureTriangleSmallRightDown.png: Added.
33453        * page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added.
33454        * page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added.
33455        * page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added.
33456        * page/inspector/Images/dockButtons.png: Added.
33457        * page/inspector/Images/elementsIcon.png: Added.
33458        * page/inspector/Images/gradientHighlightBottom.png:
33459        * page/inspector/Images/resourceCSSIcon.png: Added.
33460        * page/inspector/Images/resourceDocumentIcon.png: Added.
33461        * page/inspector/Images/resourcePlainIcon.png: Added.
33462        * page/inspector/Images/resourcesIcon.png: Added.
33463        * page/inspector/Images/resourcesSizeGraphIcon.png: Added.
33464        * page/inspector/Images/resourcesTimeGraphIcon.png: Added.
33465        * page/inspector/Images/scriptsIcon.png: Added.
33466        * page/inspector/Images/segment.png: Modified to fit the taller status bar.
33467        * page/inspector/Images/segmentEnd.png: Ditto.
33468        * page/inspector/Images/segmentHover.png: Ditto.
33469        * page/inspector/Images/segmentHoverEnd.png: Ditto.
33470        * page/inspector/Images/segmentSelected.png: Ditto.
33471        * page/inspector/Images/segmentSelectedEnd.png: Ditto.
33472        * page/inspector/Images/sidebarSelectionBackground.png: Added.
33473        * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added.
33474        * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added.
33475        * page/inspector/Images/sidebarSmallSelectionBackground.png: Added.
33476        * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added.
33477        * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added.
33478        * page/inspector/Images/statusbarBackground.png: Added.
33479        * page/inspector/Images/statusbarBottomBackground.png: Added.
33480        * page/inspector/Images/statusbarButtons.png: Added.
33481        * page/inspector/Images/statusbarResizerVertical.png: Added.
33482        * page/inspector/Images/toolbarItemSelected.png: Added.
33483        * page/inspector/Panel.js: Added support for toolbar items and status bar items.
33484        Inherits from the View prototype.
33485        * page/inspector/Resource.js: Removed title updating and the ResourceTreeElement.
33486        Made more of a Model object that just encapsulates data.
33487        * page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement.
33488        Made more of a Model object that just encapsulates data.
33489        * page/inspector/ResourceView.js: A simple base object for Resource views
33490        shown in ResourcesPanel. Inherits from the View prototype.
33491        * page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel
33492        from NetworkPanel. Implements the timeline graph, size graph and resource
33493        viewing by using ResourceViews.
33494        * page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements
33495        a section element and a regular element that has an icon, title and optional subtitle.
33496        * page/inspector/SourceView.js: Use this.contentElement instead of this.element.
33497        * page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource.
33498        * page/inspector/View.js: Added. A simple object to manage showing and hiding an element.
33499        * page/inspector/WebKit.qrc: Added new files.
33500        * page/inspector/inspector.css: New and changed style rules to support the new UI.
33501        * page/inspector/inspector.html: New and changed HTML for the UI. The search field
33502        is disabled until search is reimplemented.
33503        * page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists.
33504        Also removed code related to navigation to panels. Added code to instantiate the new
33505        panels and setup the toolbar.
33506
335072008-04-08  Dan Bernstein  <mitz@apple.com>
33508
33509        Reviewed by Antti Koivisto.
33510
33511        - fix a regression from r31313 which made the inspector highlight and
33512          yellow find highlight for table cells with extra top appear in the
33513          wrong position
33514
33515        * rendering/LayoutState.cpp:
33516        (WebCore::LayoutState::LayoutState): Changed absolutePosition() to
33517        absolutePositionForContent(), to get the right position for children of
33518        table cells. This is the correct fix for this part of r31313.
33519        * rendering/RenderBox.cpp:
33520        (WebCore::RenderBox::absolutePosition): Reverted the change from r31313
33521        by changing absolutePosition() to absolutePositionForContent() here too.
33522        * rendering/RenderObject.h:
33523        (WebCore::RenderObject::absolutePositionForContent): Changed to return
33524        the result from absolutePosition().
33525        * rendering/RenderTableCell.cpp:
33526        (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the
33527        "else" case into an early return.
33528        (WebCore::RenderTableCell::absolutePosition): Reverted the change from
33529        r31313.
33530
335312008-04-08  Dan Bernstein  <mitz@apple.com>
33532
33533        Reviewed by Antti Koivisto.
33534
33535        - fix http://bugs.webkit.org/show_bug.cgi?id=18172
33536          REGRESSION (r31114-31132): Page renders structured almost horizontally (at flickr.com)
33537
33538        Test: fast/block/float/br-with-clear-2.html
33539
33540        * rendering/bidi.cpp:
33541        (WebCore::RenderBlock::layoutInlineChildren): The existing code for
33542        handling a float-clearing <br> in incremental layout had several bugs in
33543        it: it only applied when the <br> was on the last line of the block; it
33544        assumed that the <br> was always the rightmost box on the line (which is
33545        false in right-to-left runs); and in some places it looked at the last
33546        child of the block instead of the last box on the line. Fixed these
33547        bugs.
33548
335492008-04-08  Adam Roben  <aroben@apple.com>
33550
33551        Mac build fix
33552
33553        * WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which
33554        were moved to WTF.
33555
335562008-04-08  Timothy Hatcher  <timothy@apple.com>
33557
33558        Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more
33559        state, so calling elementDragEnd does not need the listener functions. Also makes
33560        calling elementDragStart again without elementDragEnd work correctly.
33561
33562        Reviewed by Adam Roben.
33563
33564        * page/inspector/ElementsPanel.js:
33565        (DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart.
33566        Removed code that stored away the listeners now that elementDragStart does it.
33567        (DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd.
33568        Removed code that deleted listeners properties now that elementDragEnd does it.
33569        * page/inspector/inspector.js:
33570        (WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd.
33571        (WebInspector.searchResultsResizerDragEnd): Ditto.
33572        (WebInspector.elementDragStart): Store the listeners as private properties on WebInspector.
33573        If the properties are already defined, call elementDragEnd first.
33574        (WebInspector.elementDragEnd): Remove the event listeners using the stored properties.
33575        Delete the private listener properties.
33576
335772008-04-08  Adam Roben  <aroben@apple.com>
33578
33579        Build fix
33580
33581        * ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this.
33582
335832008-04-08  Adam Roben  <aroben@apple.com>
33584
33585        Move callOnMainThread to WTF
33586
33587        Reviewed by Alexey Proskuryakov.
33588
33589        * GNUmakefile.am:
33590        * WebCore.pro:
33591        * WebCore.vcproj/WebCore.vcproj:
33592        * WebCoreSources.bkl:
33593        Removed MainThread files.
33594
33595        * bindings/js/JSCustomSQLTransactionCallback.cpp:
33596        * loader/icon/IconDatabase.cpp:
33597        (WebCore::iconDatabase):
33598        * storage/Database.cpp:
33599        (WebCore::Database::Database):
33600        * storage/DatabaseTracker.cpp:
33601        Updated #includes and replaced calls to
33602        WebCore::initializeThreadingAndMainThread with calls to
33603        KJS::initializeThreading.
33604
33605        * platform/MainThread.cpp: Removed.
33606        * platform/MainThread.h: Removed.
33607        * platform/gtk/MainThreadGtk.cpp: Removed.
33608        * platform/mac/MainThreadMac.mm: Removed.
33609        * platform/qt/MainThreadQt.cpp: Removed.
33610        * platform/win/MainThreadWin.cpp: Removed.
33611        * platform/wx/MainThreadWx.cpp: Removed.
33612
336132008-04-07  Timothy Hatcher  <timothy@apple.com>
33614
33615        Makes the Network timeline graph resource sizes on the bar graph
33616        when Transfer Size is selected.
33617
33618        http://bugs.webkit.org/show_bug.cgi?id=18351
33619
33620        Reviewed by Adam Roben.
33621
33622        * page/inspector/Resource.js:
33623        (WebInspector.Resource.CompareByTime): Array sorting function for time.
33624        Copied from WebInspector.NetworkPanel.timelineEntryCompare.
33625
33626        * page/inspector/ResourcesPanel.js:
33627        (WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to
33628        make Transfer Time the default graph.
33629        (WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset,
33630        _refreshAllResources and _updateGraphDividersIfNeeded.
33631        (WebInspector.NetworkPanel.prototype.get totalDuration): Removed.
33632        (WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary
33633        checking code and just call calculator.updateBoundries.
33634        (WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument.
33635        Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label.
33636        Ask the calculator to format the label values for each slice.
33637        (WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset.
33638        (WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime.
33639
33640        (WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute
33641        bar graph percentages for a resource. Use those percentages to change the bar style.
33642
33643        (WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator.
33644        (WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach
33645        to a normal for loop. Work with resources instead of TimelineEntries.
33646        (WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph
33647        percents with start always being zero.
33648        (WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between
33649        maximumBoundary and minimumBoundary.
33650        (WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value.
33651        The minimumBoundary is always zero.
33652        (WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary.
33653        (WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
33654
33655        (WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator.
33656        (WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources
33657        instead of entries. Changed the Array.forEach to a normal for loop.
33658        (WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents
33659        just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before.
33660        (WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and
33661        maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing.
33662
33663        (WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator.
33664        (WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
33665
336662008-04-08  Rob Buis  <buis@kde.org>
33667
33668        Fix the SVG build.
33669
33670        * svg/SVGFEFloodElement.cpp:
33671        (WebCore::SVGFEFloodElement::filterEffect):
33672
336732008-04-08  Alice Liu  <alice.liu@apple.com>
33674
33675        Reviewed by Dan Bernstein.
33676        
33677        fixed http://bugs.webkit.org/show_bug.cgi?id=18329
33678        REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:] 
33679        when invoking the Dictionary pop-up
33680
33681        * page/mac/AccessibilityObjectWrapper.mm:
33682        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
33683        In the section of code where WebCore-equivalents of mac-specific types are
33684        prepared, some functions weren't meant to operate on the default initialized
33685        values.  Checking for nil in certain places will better maintain the original
33686        pre-refactoring code path. 
33687
336882008-04-08  Dan Bernstein  <mitz@apple.com>
33689
33690        Reviewed by Maciej Stachowiak.
33691
33692        - fix most of the Windows layout test regressions from the font-weight patch
33693
33694        * platform/graphics/win/FontCacheWin.cpp:
33695        (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect
33696        to italics: always prefer (reject) a candidate that changes the italics
33697        trait to (from) the desired value.
33698        (WebCore::createGDIFont): Added code to set more members of the LOGFONT
33699        structure before creating the font.
33700
337012008-04-07  Rob Buis  <buis@kde.org>
33702
33703        Reviewed by Ollie.
33704
33705        http://bugs.webkit.org/show_bug.cgi?id=18354
33706        feFlood in attribute should be removed according to SVG 1.1 Errata
33707
33708        Remove the in attribute from SVGFEFlood DOM.
33709
33710        * svg/SVGFEFloodElement.cpp:
33711        (WebCore::SVGFEFloodElement::parseMappedAttribute):
33712        * svg/SVGFEFloodElement.h:
33713        * svg/SVGFEFloodElement.idl:
33714
337152008-04-07  Brady Eidson  <beidson@apple.com>
33716
33717        Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message
33718
33719        * bindings/js/JSStorageCustom.cpp:
33720        (WebCore::JSStorage::customPut):
33721
337222008-04-07  Brady Eidson  <beidson@apple.com>
33723
33724        Reviewed by John Honeycutt
33725
33726        ENABLE_DOM_STORAGE for Windows
33727
33728        * WebCore.vcproj/WebCore.vcproj:
33729        * WebCore.vcproj/build-generated-files.sh:
33730
337312008-04-07  Brady Eidson  <beidson@apple.com>
33732
33733        Fix build for builds without DOM_STORAGE enabled
33734
33735        * dom/EventTargetNode.cpp:
33736        (WebCore::EventTargetNode::dispatchStorageEvent):
33737        * dom/EventTargetNode.h:
33738
337392008-04-07  Alice Liu  <alice.liu@apple.com>
33740
33741        Reviewed by Beth Dakin.
33742
33743        * WebCore.vcproj/WebCore.vcproj:
33744            Added a few cross-platform accessibility source files
33745            
33746        * WebCore.xcodeproj/project.pbxproj:
33747            Added AXObjectCache.cpp
33748            
33749        * page/AXObjectCache.cpp: Added.
33750            These were made cross-platform:
33751        (WebCore::AXObjectCache::~AXObjectCache):
33752        (WebCore::AXObjectCache::get):
33753        (WebCore::AXObjectCache::remove):
33754        (WebCore::AXObjectCache::childrenChanged):
33755        
33756        * page/AXObjectCache.h:
33757            These were made platform-specific
33758        (WebCore::AXObjectCache::isIDinUse):
33759        (WebCore::AXObjectCache::detachWrapper):
33760        (WebCore::AXObjectCache::attachWrapper):
33761        (WebCore::AXObjectCache::postNotificationToElement):
33762        
33763        * page/AccessibilityObject.cpp:
33764        (WebCore::AccessibilityObject::detach):
33765            Since only the mac has a wrapper for now, so temporarily 
33766            wrapping this line in #if PLATFORM(MAC)
33767            
33768        (WebCore::AccessibilityObject::removeAXObjectID):
33769            Since only the mac has uses Accessibility Object IDs,
33770            wrap this line in #if PLATFORM(MAC)
33771            
33772        * page/mac/AXObjectCacheMac.mm:
33773            Detaching and attaching the wrapper is platform-specific 
33774            since each wrapper class is platform-specific.
33775        (WebCore::AXObjectCache::detachWrapper):
33776        (WebCore::AXObjectCache::attachWrapper):        
33777
337782008-04-07  Brady Eidson  <beidson@apple.com>
33779
33780        Lovingly reviewed by Sam Weinig
33781
33782        <rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage
33783
33784        Tests: storage/domstorage/sessionstorage/iframe-events.html
33785               storage/domstorage/sessionstorage/index-get-and-set.html
33786               storage/domstorage/sessionstorage/simple-events.html
33787               storage/domstorage/sessionstorage/simple-usage.html
33788               storage/domstorage/sessionstorage/window-open.html
33789               storage/domstorage/window-attributes-exist.html
33790
33791        * Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE
33792
33793        * bindings/js/JSDOMWindowCustom.cpp:
33794        (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case
33795
33796        * bindings/js/JSEventCustom.cpp:
33797        (WebCore::toJS): Add StorageEvent case
33798
33799        * bindings/js/JSStorageCustom.cpp:
33800        (WebCore::JSStorage::canGetItemsForName):
33801        (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem()
33802        (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem()
33803
33804        * dom/Event.cpp:
33805        (WebCore::Event::isStorageEvent):
33806        * dom/Event.h:
33807
33808        * dom/EventNames.h: Add "storage"
33809
33810        * dom/EventTargetNode.cpp:
33811        (WebCore::EventTargetNode::dispatchStorageEvent):
33812        * dom/EventTargetNode.h:
33813
33814        * loader/FrameLoader.cpp:
33815        (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object
33816          to a copy of the previous Page's
33817
33818        * page/DOMWindow.cpp:
33819        (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's
33820          SessionStorage.
33821        (WebCore::DOMWindow::localStorage): To be filled in later
33822        * page/DOMWindow.h:
33823        (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark, 
33824          if any exists
33825        * page/DOMWindow.idl:
33826
33827        * page/Page.cpp:
33828        (WebCore::Page::sessionStorage):  Create and/or return the SessionStorage for this Page.
33829        (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a
33830          Window.open();
33831        * page/Page.h:
33832
33833        * storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap 
33834          objects.  There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such
33835          as the SessionStorage.  This layer forwards DOM-level calls down to the backing StorageMap, handles 
33836          copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will
33837          eventually handle quota enforcement.
33838        (WebCore::OriginStorage::create):
33839        (WebCore::OriginStorage::OriginStorage):
33840        (WebCore::OriginStorage::~OriginStorage):
33841        (WebCore::OriginStorage::copy):
33842        (WebCore::OriginStorage::length):
33843        (WebCore::OriginStorage::key):
33844        (WebCore::OriginStorage::getItem):
33845        (WebCore::OriginStorage::setItem):
33846        (WebCore::OriginStorage::removeItem):
33847        (WebCore::OriginStorage::contains):
33848        (WebCore::OriginStorage::dispatchStorageEvent):
33849        * storage/OriginStorage.h:
33850
33851        * storage/SessionStorage.cpp: From the HTML5 spec:
33852          "Each top-level browsing context has a unique set of session storage areas, one for each origin."
33853          This object represents that "unique set of session storage areas", and creates or returns the Storage
33854          object for the requested SecurityOrigin
33855        (WebCore::SessionStorage::create):
33856        (WebCore::SessionStorage::SessionStorage):
33857        (WebCore::SessionStorage::copy):
33858        (WebCore::SessionStorage::originStorage):
33859        * storage/SessionStorage.h:
33860        (WebCore::SessionStorage::page):
33861
33862        * storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage.  There is a unique
33863          Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object.
33864        (WebCore::Storage::create):
33865        (WebCore::Storage::Storage):
33866        (WebCore::Storage::length):
33867        (WebCore::Storage::key):
33868        (WebCore::Storage::getItem):
33869        (WebCore::Storage::setItem):
33870        (WebCore::Storage::removeItem):
33871        (WebCore::Storage::contains):
33872        * storage/Storage.h:
33873        * storage/Storage.idl:
33874
33875        * storage/StorageEvent.cpp:
33876        (WebCore::StorageEvent::StorageEvent):
33877        (WebCore::StorageEvent::initStorageEvent):
33878        * storage/StorageEvent.h:
33879        (WebCore::StorageEvent::isStorageEvent):
33880
33881        * storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects, 
33882          and implements copy-on-write semantics whenever a value is changed
33883        (WebCore::StorageMap::create):
33884        (WebCore::StorageMap::StorageMap):
33885        (WebCore::StorageMap::copy):
33886        (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API
33887        (WebCore::StorageMap::setIteratorToIndex): Ditto
33888        (WebCore::StorageMap::length):
33889        (WebCore::StorageMap::key):
33890        (WebCore::StorageMap::getItem):
33891        (WebCore::StorageMap::setItem):
33892        (WebCore::StorageMap::removeItem):
33893        (WebCore::StorageMap::contains):
33894        * storage/StorageMap.h:
33895
338962008-04-07  Timothy Hatcher  <timothy@apple.com>
33897
33898        Renamed various functions that are internal to the Console
33899        object to have an underscore prefix.
33900
33901        Rubber-stamped by Adam Roben.
33902
33903        * page/inspector/Console.js:
33904
339052008-04-07  Timothy Hatcher  <timothy@apple.com>
33906
33907        Renamed various functions and properties that are internal
33908        to an object to have an underscore prefix.
33909
33910        Rubber-stamped by Adam Roben.
33911
33912        * page/inspector/Resource.js:
33913        * page/inspector/ResourcesPanel.js:
33914
339152008-04-07  Timothy Hatcher  <timothy@apple.com>
33916
33917        Fixes coding style for two utility getters.
33918
33919        * page/inspector/utilities.js: Fix coding style for the
33920        totalOffsetLeft and totalOffsetTop getters.
33921
339222008-04-07  Dan Bernstein  <mitz@apple.com>
33923
33924        Reviewed by Dave Hyatt.
33925
33926        - fix http://bugs.webkit.org/show_bug.cgi?id=18311
33927          <rdar://problem/5842980> REGRESSION (r31620): Font variants (e.g. Helvetica Neue *Light*) don't render correctly
33928
33929        * platform/mac/WebFontCache.mm:
33930        (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
33931        match by family name first, and only if that fails, look for a match by
33932        full (PostScript) name. Reverted the full name-based match logic to only
33933        distinguish between the broad categories of "bold" and "not bold".
33934
339352008-04-07  Timothy Hatcher  <timothy@apple.com>
33936
33937        When the WebInspector.currentFocusElement changes, move the caret
33938        selection to be inside the focused element. This makes sure the
33939        caret moves in and out of the console when the focus changes.
33940
33941        Reviewed by Adam Roben.
33942
33943        * page/inspector/TextPrompt.js:
33944        (TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside.
33945        * page/inspector/inspector.js: 
33946        (WebInspector.set currentFocusElement): Make a caret selection inside
33947        the focused element if there isn't a range selection and there isn't
33948        already a caret selection inside.
33949        * page/inspector/utilities.js:
33950        (Element.prototype.isInsertionCaretInside): Added. Tests if the
33951        selection is collapsed and is inside the element.
33952
339532008-04-07  Brady Eidson  <beidson@apple.com>
33954
33955        Reviewed by Tim Hatcher
33956
33957        Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working
33958
33959        * GNUmakefile.am:
33960        * WebCore.pro:
33961        * WebCore.vcproj/WebCore.vcproj:
33962        * WebCore.xcodeproj/project.pbxproj:
33963        * WebCoreSources.bkl:
33964
33965        * bindings/js/JSStorageCustom.cpp: Added.
33966
339672008-04-07  Alexey Proskuryakov  <ap@webkit.org>
33968
33969        Reviewed by Dan Bernstein.
33970
33971        <rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8
33972
33973        Test: fast/loader/inherit-charset-to-empty-frame.html
33974
33975        * loader/FrameLoader.cpp:
33976        (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one.
33977
339782008-04-07  Timothy Hatcher  <timothy@apple.com>
33979
33980        Rename some Inspector panel objects to facilitate the up-coming
33981        UI refresh changes.
33982
33983        Reviewed by Adam Roben.
33984
33985        * page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView.
33986        * page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView.
33987        * page/inspector/FontView.js: Renamed FontPanel to FontView.
33988        * page/inspector/ImageView.js: Renamed ImagePanel to ImageView.
33989        * page/inspector/Resource.js: Instantiate the new "View" named objects.
33990        * page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView.
33991        * page/inspector/SourceView.js: Renamed SourcePanel to SourceView.
33992
339932008-04-07  Timothy Hatcher  <timothy@apple.com>
33994
33995        Fix an exception and remove code that was missed when TextPrompt
33996        was added. This makes the Console work again.
33997        
33998        Reviewed by Adam Roben.
33999        
34000        * page/inspector/Console.js: Removed code that used non-existent
34001        properties.
34002
340032008-04-07  Timothy Hatcher  <timothy@apple.com>
34004
34005        Remove the workaround for bug 11399 now that it is fixed.
34006
34007        Reviewed by Adam Roben.
34008
34009        * page/inspector/Console.js: Removed the 'with' statement
34010        around the eval and call eval directly on the inspected window.
34011
340122008-04-07  Luca Bruno  <lethalman88@gmail.com>
34013
34014        Reviewed by Alp Toker.
34015
34016        http://bugs.webkit.org/show_bug.cgi?id=18297
34017        Bug #18297 - Acid2/Acid3 -tests don't load load with soup.
34018
34019        Fixes in the libsoup backend: data url parsing, acid tests, redirects,
34020        response headers handling and re-entrancy issues on job cancellation.
34021        Thanks to Dan Winship for libsoup hints.
34022
34023        * platform/network/ResourceHandleInternal.h:
34024        (WebCore::ResourceHandleInternal::ResourceHandleInternal): add m_cancelled and remove unuseful m_session
34025        * platform/network/soup/ResourceHandleSoup.cpp:
34026        (WebCore::restartedCallback): added to route redirects to webkit
34027        (WebCore::dataCallback): add response headers, some checks and fix re-entrancy
34028        (WebCore::parseDataUrl): be an idle callback for the main loop
34029        (WebCore::ResourceHandle::start):
34030        (WebCore::ResourceHandle::cancel): fixed re-entrancy
34031
340322008-04-07  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
34033
34034        Build fix, rubber-stamped and landed by ap.
34035
34036        * GNUmakefile.am: Fix dom_storage conditional and typo: ENABLE_DOM_STORAG
34037
340382008-04-07  Brady Eidson  <beidson@apple.com>
34039
34040        Whoops, idls don't go in the vcproj!
34041
34042        * WebCore.vcproj/WebCore.vcproj:
34043
340442008-04-06  Brady Eidson <beidson@apple.com>
34045
34046        Attempt to tickle Windows build into accepting this idl
34047
34048        * storage/StorageEvent.idl:
34049
340502008-04-06  Brady Eidson <beidson@apple.com>
34051
34052        Reviewed by Sam
34053
34054        HTML5 Session and Local Storage
34055
34056        Land a bunch of empty files and interfaces to keep things building while 
34057        I finish off the rest of the implementation of SessionStorage
34058
34059        * DerivedSources.make:
34060        * GNUmakefile.am:
34061        * WebCore.pro:
34062        * WebCore.vcproj/WebCore.vcproj:
34063        * WebCore.xcodeproj/project.pbxproj:
34064        * WebCoreSources.bkl:
34065
34066        * storage/OriginStorage.cpp: Added.
34067        * storage/OriginStorage.h: Added.
34068
34069        * storage/SessionStorage.cpp: Added.
34070        * storage/SessionStorage.h: Added.
34071
34072        * storage/Storage.cpp: Added.
34073        (WebCore::Storage::length):
34074        (WebCore::Storage::key):
34075        (WebCore::Storage::getItem):
34076        (WebCore::Storage::setItem):
34077        (WebCore::Storage::removeItem):
34078        * storage/Storage.h: Added.
34079        * storage/Storage.idl: Added.
34080
34081        * storage/StorageEvent.cpp: Added.
34082        * storage/StorageEvent.h: Added.
34083        (WebCore::StorageEvent::key):
34084        (WebCore::StorageEvent::oldValue):
34085        (WebCore::StorageEvent::newValue):
34086        (WebCore::StorageEvent::uri):
34087        (WebCore::StorageEvent::source):
34088        (WebCore::StorageEvent::initStorageEvent):
34089        * storage/StorageEvent.idl: Added.
34090
34091        * storage/StorageMap.cpp: Added.
34092        * storage/StorageMap.h: Added.
34093
340942008-04-05  Kevin Ollivier  <kevino@theolliviers.com>
34095
34096        Reviewed by Mark Rowe.
34097
34098        Add CSS to the MIMETypeRegistry, which ensures CSS files get
34099        the right MIMEType when loaded from disk.
34100
34101        * platform/gtk/MIMETypeRegistryGtk.cpp:
34102        * platform/wx/MimeTypeRegistryWx.cpp:
34103
341042008-04-05  Rob Buis  <buis@kde.org>
34105
34106        Reviewed by Eric.
34107
34108        http://bugs.webkit.org/show_bug.cgi?id=17129
34109        Incorrect style resolution in CSS styled SVG, with multiple style sheets
34110
34111        Fix the style resolution on the svg by ensuring xml-stylesheet pseudo
34112        attributes title and alternate are transferred to the stylesheet
34113        created from the ProcessingInstruction.
34114
34115        * dom/ProcessingInstruction.cpp:
34116        (WebCore::ProcessingInstruction::ProcessingInstruction):
34117        (WebCore::ProcessingInstruction::checkStyleSheet):
34118        (WebCore::ProcessingInstruction::setCSSStyleSheet):
34119        * dom/ProcessingInstruction.h:
34120
341212008-04-05  Dan Bernstein  <mitz@apple.com>
34122
34123        Reviewed by Darin Adler.
34124
34125        - fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height
34126
34127        Test: fast/repaint/table-two-pass-layout-overpaint.html
34128
34129        * rendering/RenderTable.cpp:
34130        (WebCore::RenderTable::layout): Changed the first pass over the sections
34131        to only call calcRowHeight() and recalcOuterBorder() but not
34132        layoutRows(), because the section's final height is unknown yet.
34133        Removed caching of m_height before the call to calcHeight(), because
34134        for non-positioned tables, calcHeight() only calculates the vertical
34135        margins and does not change m_height.
34136        Added a second pass over the sections, after the table height is known,
34137        to call layoutRows() on each section, with additional height if needed.
34138        Did minimal cleanup including caching the value of collapseBorders() in
34139        a local variable and changing a while loop into a for loop.
34140        * rendering/RenderTableSection.cpp:
34141        (WebCore::RenderTableSection::calcRowHeight): Changed to return the
34142        height of the section based on row height calculations.
34143        (WebCore::RenderTableSection::layoutRows): Removed a call to
34144        recalcOuterBorder(), which is now done by RenderTable::layout().
34145        * rendering/RenderTableSection.h: Changed calcRowHeight() to have a
34146        return value.
34147
341482008-04-05  Simon Hausmann  <shausman@trolltech.com>
34149
34150        Reviewed by Holger.
34151
34152        Fixes: Disable "unimplemented" warnings when building WebKit inside Qt.
34153
34154        * WebCore.pro:
34155        * platform/NotImplemented.h:
34156
341572008-04-05  Simon Hausmann  <hausmann@webkit.org>
34158
34159        Rubber-stamped by Holger
34160
34161        Revert "* Load images incrementally. This will show warnings on the console"
34162        This rolls out -r29739.
34163
34164        This unfortunately caused some crashes and drawing errors. Backing out for now.
34165
34166        * platform/graphics/qt/ImageDecoderQt.cpp:
34167        (WebCore::ImageDecoderQt::setData):
34168
341692008-04-04  Kevin Ollivier  <kevino@theolliviers.com>
34170
34171        Add GradientWx.cpp to the wx build process. 
34172
34173        * webcore-wx.bkl:
34174
341752008-04-04  Dan Bernstein  <mitz@apple.com>
34176
34177        Reviewed by Sam Weinig.
34178
34179        - speed up CSSFontSelector::getFontData()
34180
34181        * css/CSSFontSelector.cpp:
34182        (WebCore::fontDataForGenericFamily): Factored out of getFontData().
34183        (WebCore::CSSFontSelector::getFontData): Changed to call
34184        fontDataForGenericFamily() directly if the map is empty.
34185
341862008-04-04  Jon Honeycutt  <jhoneycutt@apple.com>
34187
34188        Reviewed by Oliver.
34189
34190        Replace AccessibilityObject::isRenderImage() with a virtual
34191        RenderObject::isRenderImage().
34192
34193        * page/AccessibilityObject.cpp:
34194        (WebCore::AccessibilityObject::accessibilityIsIgnored):
34195        (WebCore::AccessibilityObject::addChildren):
34196        * page/AccessibilityObject.h:
34197        (WebCore::AccessibilityObject::isDetached):
34198        * rendering/RenderImage.h:
34199        (WebCore::RenderImage::isRenderImage):
34200        * rendering/RenderObject.h:
34201        (WebCore::RenderObject::isRenderImage):
34202
342032008-04-04  Dan Bernstein  <mitz@apple.com>
34204
34205        - try to fix the wx build
34206
34207        * platform/graphics/wx/FontPlatformDataWx.cpp:
34208        (WebCore::fontWeightToWxFontWeight):
34209        (WebCore::FontPlatformData::FontPlatformData):
34210
342112008-04-04  Jon Honeycutt  <jhoneycutt@apple.com>
34212
34213        Reviewed by Beth.
34214
34215        Some more clean-up of AccessibilityObject:
34216        - Rearranged/grouped methods.
34217        - Marked many methods const.
34218        - Changed many methods to take args by const ref instead of by val.
34219        - Made headingLevel() static.
34220        - Renamed detached() to isDetached(), loaded() to isLoaded(),
34221          documentLinks to getDocumentLinks().
34222        - Made clearChildren(), removeAXObjectID(), isDetached() private.
34223        - Added notImplemented() calls for unimplemented methods.
34224        - Replaced stringForReplacedNode method with static function.
34225
34226        * page/AccessibilityObject.cpp:
34227        (WebCore::AccessibilityObject::~AccessibilityObject):
34228        (WebCore::AccessibilityObject::firstChild):
34229        (WebCore::AccessibilityObject::lastChild):
34230        (WebCore::AccessibilityObject::previousSibling):
34231        (WebCore::AccessibilityObject::nextSibling):
34232        (WebCore::AccessibilityObject::parentObject):
34233        (WebCore::AccessibilityObject::parentObjectUnignored):
34234        (WebCore::AccessibilityObject::headingLevel):
34235        (WebCore::AccessibilityObject::anchorElement):
34236        (WebCore::AccessibilityObject::actionElement):
34237        (WebCore::AccessibilityObject::mouseButtonListener):
34238        (WebCore::AccessibilityObject::helpText):
34239        (WebCore::AccessibilityObject::textUnderElement):
34240        (WebCore::AccessibilityObject::hasIntValue):
34241        (WebCore::AccessibilityObject::intValue):
34242        (WebCore::AccessibilityObject::stringValue):
34243        (WebCore::AccessibilityObject::title):
34244        (WebCore::AccessibilityObject::accessibilityDescription):
34245        (WebCore::AccessibilityObject::boundingBoxRect):
34246        (WebCore::AccessibilityObject::size):
34247        (WebCore::AccessibilityObject::linkedUIElement):
34248        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
34249        (WebCore::AccessibilityObject::accessibilityIsIgnored):
34250        (WebCore::AccessibilityObject::isLoaded):
34251        (WebCore::AccessibilityObject::layoutCount):
34252        (WebCore::AccessibilityObject::textLength):
34253        (WebCore::AccessibilityObject::selectedText):
34254        (WebCore::AccessibilityObject::selection):
34255        (WebCore::AccessibilityObject::selectedTextRange):
34256        (WebCore::AccessibilityObject::setSelectedText):
34257        (WebCore::AccessibilityObject::setSelectedTextRange):
34258        (WebCore::AccessibilityObject::makeRangeVisible):
34259        (WebCore::AccessibilityObject::url):
34260        (WebCore::AccessibilityObject::isVisited):
34261        (WebCore::AccessibilityObject::isFocused):
34262        (WebCore::AccessibilityObject::setValue):
34263        (WebCore::AccessibilityObject::isEnabled):
34264        (WebCore::AccessibilityObject::topRenderer):
34265        (WebCore::AccessibilityObject::textControl):
34266        (WebCore::AccessibilityObject::widget):
34267        (WebCore::AccessibilityObject::axObjectCache):
34268        (WebCore::AccessibilityObject::getDocumentLinks):
34269        (WebCore::AccessibilityObject::documentFrameView):
34270        (WebCore::AccessibilityObject::widgetForAttachmentView):
34271        (WebCore::AccessibilityObject::frameViewIfRenderView):
34272        (WebCore::AccessibilityObject::visiblePositionRange):
34273        (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
34274        (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
34275        (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
34276        (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
34277        (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
34278        (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
34279        (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
34280        (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
34281        (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
34282        (WebCore::AccessibilityObject::textMarkerRangeForRange):
34283        (WebCore::stringForReplacedNode):
34284        (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
34285        (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
34286        (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
34287        (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
34288        (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
34289        (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
34290        (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
34291        (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
34292        (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
34293        (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
34294        (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
34295        (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
34296        (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
34297        (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
34298        (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
34299        (WebCore::AccessibilityObject::textMarkerForIndex):
34300        (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
34301        (WebCore::AccessibilityObject::doAXLineForTextMarker):
34302        (WebCore::AccessibilityObject::rangeForTextMarkerRange):
34303        (WebCore::AccessibilityObject::indexForTextMarker):
34304        (WebCore::AccessibilityObject::doAXRangeForLine):
34305        (WebCore::AccessibilityObject::doAXRangeForPosition):
34306        (WebCore::AccessibilityObject::doAXRangeForIndex):
34307        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
34308        (WebCore::AccessibilityObject::doAXStringForRange):
34309        (WebCore::AccessibilityObject::doAXBoundsForRange):
34310        (WebCore::AccessibilityObject::doAccessibilityHitTest):
34311        (WebCore::AccessibilityObject::focusedUIElement):
34312        (WebCore::AccessibilityObject::observableObject):
34313        (WebCore::AccessibilityObject::roleValue):
34314        (WebCore::AccessibilityObject::canSetFocusAttribute):
34315        (WebCore::AccessibilityObject::canSetValueAttribute):
34316        (WebCore::AccessibilityObject::canSetTextRangeAttributes):
34317        (WebCore::AccessibilityObject::hasChildren):
34318        (WebCore::AccessibilityObject::axObjectID):
34319        * page/AccessibilityObject.h:
34320        (WebCore::VisiblePositionRange::VisiblePositionRange):
34321        (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
34322        (WebCore::AccessibilityObject::areaElement):
34323        (WebCore::AccessibilityObject::renderer):
34324        (WebCore::AccessibilityObject::children):
34325        (WebCore::AccessibilityObject::wrapper):
34326        (WebCore::AccessibilityObject::isDetached):
34327        * page/mac/AccessibilityObjectWrapper.mm:
34328        (AXAttributeStringSetHeadingLevel):
34329        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
34330
343312008-04-04  Timothy Hatcher  <timothy@apple.com>
34332
34333        Restore the user entered text when clearing the auto-completion.
34334        This is important when the user typed text that is a different
34335        case than the completion. This has no affect on the Console, since
34336        it matches completions case-sensitively. This is used in the up-coming
34337        Database Query view for words like "SELECT" and "INSERT".
34338
34339        Reviewed by Adam Roben.
34340
34341        * page/inspector/TextPrompt.js:
34342        (WebInspector.TextPrompt.prototype.clearAutoComplete): Restore the user typed
34343        text in the original DOM range that complete() saved away.
34344        (WebInspector.TextPrompt.prototype.complete): Store away the fullWordRange
34345        and it's text content so clearAutoComplete can restore it.
34346
343472008-04-04  Timothy Hatcher  <timothy@apple.com>
34348
34349        Don't trim whitespace when looking for the current match, this prevents
34350        tabbing through matches in the up-coming Database Query view.
34351
34352        Reviewed by Adam Roben.
34353
34354        * page/inspector/TextPrompt.js: Removed a trimTrailingWhitespace() call.
34355
343562008-04-04  Timothy Hatcher  <timothy@apple.com>
34357
34358        Factor out the Console text completion and command history into
34359        a new TextPrompt object. This TextPrompt object will be used later
34360        other parts of the Inspector that need text completion and history.
34361        Not functionality changed, just moved code around.
34362
34363        Reviewed by Adam Roben.
34364
34365        * WebCore.vcproj/WebCore.vcproj: Add TextPrompt.js.
34366        * page/inspector/Console.js: Call the new prompt object and
34367          delete all the code that moved.
34368        * page/inspector/TextPrompt.js: Added. Moved code from Console.js.
34369        * page/inspector/WebKit.qrc: Add TextPrompt.js.
34370        * page/inspector/inspector.html: Add TextPrompt.js.
34371
343722008-04-04  Timothy Hatcher  <timothy@apple.com>
34373
34374        Makes setting shouldRefreshChildren on a TreeElement perform the refresh
34375        immediately if the element is already expanded.
34376
34377        Reviewed by Adam Roben.
34378
34379        * page/inspector/treeoutline.js:
34380        (TreeElement.prototype.get shouldRefreshChildren): Return this._shouldRefreshChildren.
34381        (TreeElement.prototype.set shouldRefreshChildren): If changing to true, and
34382        already expanded,
34383        call expand again to trigger the refresh. Sets this._shouldRefreshChildren.
34384        (TreeElement.prototype._attach): Check for this._shouldRefreshChildren.
34385        (TreeElement.prototype.expand): Ditto.
34386
343872008-04-04  Jon Honeycutt  <jhoneycutt@apple.com>
34388
34389        Reviewed by Beth.
34390
34391        Some clean up of AccessibilityObject:
34392        - Use existing isImage() in more places.
34393        - Use existing isTextControl() in more places.
34394        - Added isRenderImage(). Check this before casting to RenderImage,
34395          since other, non-RenderImage derived RenderObjects (e.g.
34396          RenderListMarker) can return true for isImage().
34397        - Fix two copy/paste errors with improper semicolons.
34398
34399        * page/AccessibilityObject.cpp:
34400        (WebCore::AccessibilityObject::isImageButton): Use isImage().
34401        (WebCore::AccessibilityObject::isRenderImage): Added.
34402        (WebCore::AccessibilityObject::isAnchor): Use isImage().
34403        (WebCore::AccessibilityObject::isAttachment): Same.
34404        (WebCore::AccessibilityObject::accessibilityDescription): Same.
34405        (WebCore::AccessibilityObject::accessibilityIsIgnored): Use
34406        isRenderImage() instead of isImage().
34407        (WebCore::AccessibilityObject::url): Use isImage().
34408        (WebCore::AccessibilityObject::textControl): Remove improper semicolon, 
34409        and use isTextControl().
34410        (WebCore::AccessibilityObject::textMarkerForIndex): Same.
34411        (WebCore::AccessibilityObject::indexForTextMarker): Use isTextControl().
34412        (WebCore::AccessibilityObject::doAXRangeForLine): Same.
34413        (WebCore::AccessibilityObject::doAXRangeForIndex): Same
34414        (WebCore::AccessibilityObject::doAXStringForRange): Same.
34415        (WebCore::AccessibilityObject::roleValue):  Use isImage().
34416        (WebCore::AccessibilityObject::addChildren): Use isRenderImage().
34417        * page/AccessibilityObject.h:
34418
344192008-04-04  Timothy Hatcher  <timothy@apple.com>
34420
34421        Fixes a null exception when hovering in some areas of the DOM tree.
34422
34423        Reviewed by Adam Roben.
34424
34425        * page/inspector/treeoutline.js:
34426        (TreeOutline.prototype.treeElementFromPoint): Check listNode for null/undefined
34427        before accessing any properties. Return null if listNode is null.
34428
344292008-04-04  Timothy Hatcher  <timothy@apple.com>
34430
34431        Changing WebInspector.currentFocusElement to/from an input element
34432        does not change the actual focus of that input element. You see this
34433        in the search field.
34434
34435        Reviewed by Adam Roben.
34436
34437        * page/inspector/inspector.js:
34438        (WebInspector.set currentFocusElement): Call blur and focus if the
34439        node implements them.
34440
344412008-04-04  David Hyatt  <hyatt@apple.com>
34442
34443        Improve the background size heuristic for SVGs used as background images with no intrinsic size specified.
34444        Treat them as having a background-size of 100%.  This means their maximal size will be the box established
34445        by background-origin.
34446
34447        Reviewed by Beth
34448
34449        * rendering/RenderBox.cpp:
34450        (WebCore::RenderBox::calculateBackgroundSize):
34451
344522008-04-04  Timothy Hatcher  <timothy@apple.com>
34453
34454        Correctly show DOCTYPE in the breadcrumbs and match the CSS rules
34455        from view-source.css for the DOCTYPE in the DOM tree.
34456
34457        Reviewed by Adam Roben.
34458
34459        * css/view-source.css: Add and correct comments about keeping
34460        in-sync with inspector.css.
34461        * page/inspector/ElementsPanel.js:
34462        (WebInspector.DocumentPanel.prototype.updateBreadcrumb):
34463        Add a case for Node.DOCUMENT_TYPE_NODE.
34464        * page/inspector/inspector.css: Add a rule for .webkit-html-doctype.
34465        * page/inspector/utilities.js:
34466        (nodeTitleInfo): Use the webkit-html-doctype class for nodes
34467        with Node.DOCUMENT_TYPE_NODE.
34468
344692008-04-04  Dan Bernstein  <mitz@apple.com>
34470
34471        - try to fix the Tiger build
34472
34473        * icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h.
34474
344752008-04-04  Adam Roben  <aroben@apple.com>
34476
34477        Copy icu/ to PrivateHeaders for WebKit's benefit
34478
34479        Rubberstamped by Tim Hatcher.
34480
34481        * WebCore.xcodeproj/project.pbxproj: Renamed the Copy Forwarding
34482        Headers build phase to Copy Forwarding and ICU Headers, and added the
34483        icu/ directory to it.
34484
344852008-04-04  Adam Roben  <aroben@apple.com>
34486
34487        Fix <rdar://problem/5804776> Would like to use WebCore's
34488        ForwardingHeaders in WebKit without manually creating copies
34489
34490        Patch by Tim Hatcher, typed by me.
34491
34492        * WebCore.xcodeproj/project.pbxproj: Added a new build phase, Copy
34493        Forwarding Headers, that copies the ForwardingHeaders directory to
34494        WebCore's PrivateHeaders directory.
34495
344962008-04-04  Ada Chan  <adachan@apple.com>
34497
34498        Changed the signature of imageTitleForFilename so we can pass in the width
34499        and height as integers.
34500
34501        Reviewed by Dan.
34502
34503        * page/mac/WebCoreViewFactory.h:
34504        * platform/mac/LocalizedStringsMac.mm:
34505        (WebCore::imageTitle):
34506
345072008-04-03  Dan Bernstein  <mitz@apple.com>
34508
34509        - Windows build fix
34510
34511        * platform/graphics/win/FontCacheWin.cpp:
34512        (WebCore::matchImprovingEnumProc):
34513
345142008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
34515
34516        Fix PlatformGradient so that it's a pointer on all platforms.
34517
34518        * platform/graphics/Gradient.h:
34519
345202008-04-03  Dan Bernstein  <mitz@apple.com>
34521
34522        - 64-bit build fix
34523
34524        * platform/mac/WebFontCache.mm:
34525        (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
34526
345272008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
34528
34529        wx build fix. Add stubs for gradient class platform functions.
34530
34531        * platform/graphics/wx/GradientWx.cpp: Added.
34532        (WebCore::Gradient::platformDestroy):
34533        (WebCore::Gradient::platformGradient):
34534
345352008-04-03  Kevin Ollivier  <kevino@theolliviers.com>
34536
34537        Reviewed by Dan Bernstein.
34538
34539        Refactor Gradient.h to have the same API on platforms 
34540        without a gradient class.
34541
34542        * platform/graphics/Gradient.h:
34543
345442008-04-03  Dan Bernstein  <mitz@apple.com>
34545
34546        - Qt build fix
34547
34548        * platform/graphics/qt/FontQt.cpp:
34549        (WebCore::Font::Font):
34550
345512008-04-03  Dan Bernstein  <mitz@apple.com>
34552
34553        - Tiger build fix
34554
34555        * platform/mac/WebFontCache.mm:
34556        * rendering/RenderThemeMac.mm:
34557
345582008-04-03  Dan Bernstein  <mitz@apple.com>
34559
34560        - Gtk build fix
34561
34562        * platform/graphics/gtk/FontPlatformData.h:
34563        (WebCore::FontPlatformData::size):
34564        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
34565        (WebCore::FontPlatformData::FontPlatformData):
34566        * platform/graphics/gtk/FontPlatformDataPango.cpp:
34567        (WebCore::FontPlatformData::FontPlatformData):
34568
345692008-04-03  Dan Bernstein  <mitz@apple.com>
34570
34571        - project file updates in preparation for build fixes
34572
34573        * GNUmakefile.am:
34574        * WebCore.pro:
34575        * WebCoreSources.bkl:
34576
345772008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
34578
34579        Updated by Dan Bernstein. Reviewed by Dave Hyatt.
34580
34581        - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
34582          font-weight does not properly support graded weights
34583
34584        Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306>
34585
34586        Build fixes for platforms other than Mac and Windows to come.
34587
34588        * WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp.
34589
34590        * WebCore.xcodeproj/project.pbxproj: Ditto.
34591
34592        * css/CSSComputedStyleDeclaration.cpp:
34593        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
34594        return additional weight value keywords 100, 200, 300, 500, 600, 800
34595        and 900.
34596
34597        * css/CSSFontSelector.cpp:
34598        (WebCore::hashForFont): Changed the bold parameter into a weight
34599        parameter and added the weight to the string to be hashed.
34600        (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS
34601        weight values to the font description.
34602        (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to
34603        go through all weights equal or lighter from the desired weight. For
34604        SVG, to also consider heavier weights.
34605
34606        * css/CSSParser.cpp:
34607        (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight
34608        property.
34609
34610        * css/CSSStyleSelector.cpp:
34611        (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS
34612        weight values to the font description.
34613
34614        * platform/graphics/Font.h:
34615        (WebCore::Font::weight): Updated for the change to
34616        FontDescription::weight().
34617
34618        * platform/graphics/FontCache.cpp:
34619        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced
34620        the bold component of the key with a weight component.
34621        (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above.
34622        (WebCore::computeHash): Ditto.
34623        (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed
34624        unnecessary parameters.
34625        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto.
34626        (WebCore::FontCache::getCachedFontPlatformData): Updated for the change
34627        in FontPlatformDataCacheKey.
34628
34629        * platform/graphics/FontDescription.cpp: Added.
34630        (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS
34631        font-weight value if there is one, or the lightest value.
34632        (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS
34633        font-weight value if there is one, or the heaviest value.
34634
34635        * platform/graphics/FontDescription.h:
34636        (WebCore::FontWeight): Added this enumeration.
34637        (WebCore::FontDescription::FontDescription):
34638        (WebCore::FontDescription::bold): Removed.
34639        (WebCore::FontDescription::weight): Changed to return a FontWeight.
34640        (WebCore::FontDescription::setBold): Removed.
34641        (WebCore::FontDescription::setWeight): Changed to take a FontWeight.
34642
34643        * platform/graphics/mac/FontCacheMac.mm:
34644        (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit
34645        font weight scale of 0-15.
34646        (WebCore::isAppKitFontWeightBold): Added.
34647        (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight
34648        instead of the bold trait for custom fonts, and to decide whether to
34649        synthesize bold based on the weights rather than the bold trait.
34650        (WebCore::FontCache::fontExists): Updated for the change in
34651        WebFontCache .
34652        (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
34653        decide whether to synthesize bold based on the weights rather than on
34654        the bold trait.
34655
34656        * platform/graphics/win/FontCacheWin.cpp:
34657        (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font
34658        weight constant.
34659        (WebCore::isGDIFontWeightBold): Added.
34660        (WebCore::adjustedGDIFontWeight): Added.
34661        (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this
34662        data structure for use by the following callback.
34663        (WebCore::matchImprovingEnumProc): Added. The logic of this method is a
34664        simplification of the betterChoice() predicate in WebFontCache.mm, which
34665        considers only the italic trait and the weight.
34666        (WebCore::createGDIFont): Added. Similarly to
34667        +[WebFontCache fontWithFamily:traits:weight:size:], this function
34668        finds the closest match in the family for the desired italic bit and
34669        weight.
34670        (WebCore::FontCache::fontExists): Changed to call createGDIFont().
34671        (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
34672        compute the synthetic bold and synthetic italic flags based on weights
34673        and italic bits and pass them to the FontPlatformData constructor.
34674
34675        * platform/graphics/win/FontPlatformDataWin.cpp:
34676        (WebCore::FontPlatformData::FontPlatformData): Changed the bold and
34677        oblique parameters to mean whether these should be synthesized and
34678        removed the font enumeration code that used to decide that.
34679
34680        * platform/graphics/win/SimpleFontDataWin.cpp:
34681        (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the
34682        synthetic bold and oblique flags from the full-size FontPlatformData to
34683        the FontPlatformData constructor for the small caps font.
34684
34685        * platform/mac/WebCoreTextRenderer.h:
34686        * platform/mac/WebCoreTextRenderer.mm:
34687        (WebCoreFindFont): Added a weight parameter, which is passed to
34688        +[WebFontCache fontWithFamily:traits:weight:size:].
34689
34690        * platform/mac/WebFontCache.h:
34691        * platform/mac/WebFontCache.mm:
34692        (acceptableChoice):
34693        (betterChoice): Changed to ignore the bold trait. Changed the logic for
34694        deciding based on weights to prefer the font whose weight is closer to
34695        the desired one, or, if both candidates' weights are the same distance
34696        from the desired weight, the one that is more "off-center". 
34697        (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
34698        check for weight when matching by full name. Changed to pass
34699        the actual desired weight instead of the constant 5 to
34700        acceptableChoice() and betterChoice(). Changed to use weights to decide
34701        whether to synthesize bold.
34702        (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight
34703        parameter, which is passed to the internal method.
34704
34705        * platform/win/PopupMenuWin.cpp:
34706        (WebCore::PopupMenu::paint): Updated for the change to FontDescription.
34707
34708        * rendering/RenderListBox.cpp:
34709        (WebCore::RenderListBox::updateFromElement): Ditto.
34710        (WebCore::RenderListBox::paintItemForeground): Ditto.
34711
34712        * rendering/RenderThemeMac.mm:
34713        (WebCore::toFontWeight): Added. Maps the AppKit font weight range of
34714        0-15 to the FontWeight range.
34715        (WebCore::RenderThemeMac::systemFont): Updated for the change to
34716        FontDescription.
34717
34718        * rendering/RenderThemeSafari.cpp:
34719        (WebCore::RenderThemeSafari::systemFont): Ditto.
34720
347212008-04-03  Dan Bernstein  <mitz@apple.com>
34722
34723        - another Gtk build fix attempt
34724
34725        * platform/graphics/cairo/GradientCairo.cpp:
34726        (WebCore::Gradient::platformDestroy):
34727
347282008-04-03  Dan Bernstein  <mitz@apple.com>
34729
34730        - attempted Gtk build fix
34731
34732        * GNUmakefile.am:
34733
347342008-04-03  Dan Bernstein  <mitz@apple.com>
34735
34736        - attempted Qt build fix
34737
34738        * platform/graphics/qt/GradientQt.cpp:
34739        (WebCore::Gradient::platformDestroy):
34740
347412008-04-03  Dan Bernstein  <mitz@apple.com>
34742
34743        - attempted Gtk build fix
34744
34745        * html/CanvasRenderingContext2D.cpp:
34746        (WebCore::CanvasRenderingContext2D::stroke):
34747
347482008-04-03  Dan Bernstein  <mitz@apple.com>
34749
34750        - attempted Qt build fix
34751
34752        * html/CanvasRenderingContext2D.cpp:
34753        (WebCore::CanvasRenderingContext2D::stroke):
34754
347552008-04-03  Beth Dakin  <bdakin@apple.com>
34756
34757        Reviewed by Alice.
34758
34759        Build fix for non-Macs.
34760
34761        * page/AXObjectCache.h:
34762        (WebCore::AXObjectCache::isIDinUse):
34763
347642008-04-03  Brent Fulgham  <bfulgham@gmail.com>
34765
34766        Reviewed by Darin.
34767
34768        Correct build error due to incomplete merging of changes to project
34769        files from Issue 17985.  This small project file patch corrects
34770        the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195).
34771
34772        * WebCore.vcproj/WebCore.vcproj:
34773
347742008-04-02  Beth Dakin  <bdakin@apple.com>
34775
34776        Reviewed by Hyatt.
34777
34778        This patch eliminates AccessibilityObjectMac. All of the platform-
34779        specific code is now in AccessibilityObjectWrapper.
34780
34781        * WebCore.xcodeproj/project.pbxproj:
34782        * dom/Element.h:
34783        (WebCore::Element::isPasswordField):
34784        * html/HTMLInputElement.h:
34785        (WebCore::HTMLInputElement::isPasswordField):
34786        * page/AXObjectCache.h:
34787        (WebCore::AXObjectCache::isIDinUse):
34788        * page/AccessibilityObject.cpp:
34789        (WebCore::AccessibilityObject::isPasswordField):
34790        (WebCore::AccessibilityObject::press):
34791        (WebCore::AccessibilityObject::widgetForAttachmentView):
34792        (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
34793        (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
34794        * page/AccessibilityObject.h:
34795        (WebCore::AccessibilityObject::areaElement):
34796        (WebCore::AccessibilityObject::setWrapper):
34797        * page/mac/AXObjectCacheMac.mm:
34798        * page/mac/AccessibilityObjectMac.mm: Removed.
34799        * page/mac/AccessibilityObjectWrapper.h:
34800        * page/mac/AccessibilityObjectWrapper.mm:
34801        (-[AccessibilityObjectWrapper attachmentView]):
34802        (textMarkerForVisiblePosition):
34803        (visiblePositionForTextMarker):
34804        (visiblePositionForStartOfTextMarkerRange):
34805        (visiblePositionForEndOfTextMarkerRange):
34806        (textMarkerRangeFromMarkers):
34807        (AXAttributeStringSetFont):
34808        (CreateCGColorIfDifferent):
34809        (AXAttributeStringSetColor):
34810        (AXAttributeStringSetNumber):
34811        (AXAttributeStringSetStyle):
34812        (blockquoteLevel):
34813        (AXAttributeStringSetBlockquoteLevel):
34814        (AXAttributeStringSetSpelling):
34815        (AXAttributeStringSetHeadingLevel):
34816        (AXLinkElementForNode):
34817        (AXAttributeStringSetElement):
34818        (AXAttributedStringAppendText):
34819        (nsStringForReplacedNode):
34820        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
34821        (textMarkerRangeFromVisiblePositions):
34822        (-[AccessibilityObjectWrapper accessibilityActionNames]):
34823        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
34824        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
34825        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
34826        (-[AccessibilityObjectWrapper position]):
34827        (createAccessibilityRoleMap):
34828        (RoleEntry::):
34829        (roleValueToNSString):
34830        (-[AccessibilityObjectWrapper role]):
34831        (-[AccessibilityObjectWrapper subrole]):
34832        (-[AccessibilityObjectWrapper roleDescription]):
34833        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
34834        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
34835        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
34836        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
34837        (-[AccessibilityObjectWrapper doAXRTFForRange:]):
34838        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
34839        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
34840        * platform/ScrollView.h:
34841        * platform/mac/ScrollViewMac.mm:
34842        (WebCore::ScrollView::viewRectToScreen):
34843        (WebCore::ScrollView::absolutePointToView):
34844
348452008-04-03  David Hyatt  <hyatt@apple.com>
34846
34847        Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it.  This first
34848        step just cleans up CanvasGradient.  The code that calls it remains ifdef'd however.
34849
34850        Reviewed by olliej
34851
34852        * WebCore.pro:
34853        * WebCore.vcproj/WebCore.vcproj:
34854        * WebCore.xcodeproj/project.pbxproj:
34855        * WebCoreSources.bkl:
34856        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
34857        (WebCore::toJS):
34858        * html/CanvasGradient.cpp:
34859        (WebCore::CanvasGradient::CanvasGradient):
34860        * html/CanvasGradient.h:
34861        (WebCore::CanvasGradient::gradient):
34862        (WebCore::CanvasGradient::addColorStop):
34863        (WebCore::CanvasGradient::getColor):
34864        * html/CanvasRenderingContext2D.cpp:
34865        (WebCore::CanvasRenderingContext2D::fill):
34866        (WebCore::CanvasRenderingContext2D::stroke):
34867        (WebCore::CanvasRenderingContext2D::fillRect):
34868        * html/CanvasStyle.h:
34869        (WebCore::CanvasStyle::canvasGradient):
34870        * platform/graphics/Gradient.cpp: Added.
34871        (WebCore::Gradient::Gradient):
34872        (WebCore::Gradient::~Gradient):
34873        (WebCore::Gradient::addColorStop):
34874        (WebCore::compareStops):
34875        (WebCore::Gradient::getColor):
34876        (WebCore::Gradient::findStop):
34877        * platform/graphics/Gradient.h: Added.
34878        (WebCore::Gradient::ColorStop::ColorStop):
34879        (WebCore::Gradient::platformInit):
34880        * platform/graphics/cairo/GradientCairo.cpp: Added.
34881        (WebCore::Gradient::platformDestroy):
34882        (WebCore::Gradient::platformGradient):
34883        * platform/graphics/cg/GradientCG.cpp: Added.
34884        (WebCore::Gradient::platformDestroy):
34885        (WebCore::gradientCallback):
34886        (WebCore::Gradient::platformGradient):
34887        * platform/graphics/qt/GradientQt.cpp: Added.
34888        (WebCore::Gradient::platformDestroy):
34889        (WebCore::Gradient::platformGradient):
34890
348912008-04-03  Simon Hausmann  <hausmann@webkit.org>
34892
34893        Reviewed by Mark Rowe.
34894
34895        Roll out r31599 and r31605 again after discussion with Mark Rowe.
34896
34897        * history/HistoryItem.cpp:
34898        * loader/FrameLoader.cpp:
34899        (WebCore::FrameLoader::startIconLoader):
34900        * loader/icon/IconDatabase.cpp:
34901        (WebCore::IconDatabase::iconForPageURL):
34902        (WebCore::IconDatabase::readIconForPageURLFromDisk):
34903        * loader/icon/IconDatabase.h:
34904        * loader/icon/IconDatabaseNone.cpp:
34905
349062008-04-03  David Hyatt  <hyatt@apple.com>
34907
34908        Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom.
34909
34910        Reviewed by adele
34911
34912        * rendering/RenderLayer.cpp:
34913        (WebCore::RenderLayer::resize):
34914
349152008-04-03  Oliver Hunt  <oliver@apple.com>
34916
34917        Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out)
34918
34919        * dom/Element.h:
34920        * dom/NamedAttrMap.h:
34921        * rendering/SVGRootInlineBox.cpp:
34922        (WebCore::SVGRootInlineBox::buildLayoutInformation):
34923        (WebCore::SVGRootInlineBox::buildTextChunks):
34924        * svg/SVGAElement.h:
34925        (WebCore::SVGAElement::contextElement):
34926        * svg/SVGAltGlyphElement.h:
34927        (WebCore::SVGAltGlyphElement::contextElement):
34928        * svg/SVGAnimateColorElement.h:
34929        * svg/SVGAnimateElement.h:
34930        * svg/SVGAnimateMotionElement.h:
34931        * svg/SVGAnimateTransformElement.h:
34932        * svg/SVGAnimatedTemplate.h:
34933        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
34934        (WebCore::lookupOrCreateWrapper):
34935        * svg/SVGAnimationElement.h:
34936        * svg/SVGCircleElement.h:
34937        (WebCore::SVGCircleElement::contextElement):
34938        * svg/SVGClipPathElement.h:
34939        (WebCore::SVGClipPathElement::contextElement):
34940        * svg/SVGComponentTransferFunctionElement.cpp:
34941        * svg/SVGComponentTransferFunctionElement.h:
34942        * svg/SVGCursorElement.cpp:
34943        (WebCore::SVGCursorElement::SVGCursorElement):
34944        * svg/SVGCursorElement.h:
34945        (WebCore::SVGCursorElement::contextElement):
34946        * svg/SVGDefsElement.h:
34947        (WebCore::SVGDefsElement::contextElement):
34948        * svg/SVGElement.cpp:
34949        * svg/SVGElement.h:
34950        (WebCore::SVGElement::svgAttributeChanged):
34951        * svg/SVGEllipseElement.cpp:
34952        (WebCore::SVGEllipseElement::SVGEllipseElement):
34953        * svg/SVGEllipseElement.h:
34954        (WebCore::SVGEllipseElement::contextElement):
34955        * svg/SVGExternalResourcesRequired.h:
34956        * svg/SVGFEBlendElement.h:
34957        * svg/SVGFEColorMatrixElement.cpp:
34958        * svg/SVGFEColorMatrixElement.h:
34959        * svg/SVGFEComponentTransferElement.h:
34960        * svg/SVGFECompositeElement.h:
34961        * svg/SVGFEDiffuseLightingElement.h:
34962        * svg/SVGFEDisplacementMapElement.h:
34963        * svg/SVGFEFloodElement.h:
34964        * svg/SVGFEGaussianBlurElement.h:
34965        * svg/SVGFEImageElement.cpp:
34966        * svg/SVGFEImageElement.h:
34967        (WebCore::SVGFEImageElement::contextElement):
34968        * svg/SVGFELightElement.h:
34969        * svg/SVGFEMergeElement.h:
34970        * svg/SVGFEMergeNodeElement.h:
34971        * svg/SVGFEOffsetElement.h:
34972        * svg/SVGFESpecularLightingElement.h:
34973        * svg/SVGFETileElement.h:
34974        * svg/SVGFETurbulenceElement.h:
34975        * svg/SVGFilterElement.cpp:
34976        (WebCore::SVGFilterElement::SVGFilterElement):
34977        * svg/SVGFilterElement.h:
34978        (WebCore::SVGFilterElement::contextElement):
34979        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
34980        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
34981        * svg/SVGFilterPrimitiveStandardAttributes.h:
34982        * svg/SVGFitToViewBox.cpp:
34983        * svg/SVGFitToViewBox.h:
34984        * svg/SVGFontElement.h:
34985        * svg/SVGForeignObjectElement.cpp:
34986        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
34987        * svg/SVGForeignObjectElement.h:
34988        (WebCore::SVGForeignObjectElement::contextElement):
34989        * svg/SVGGElement.h:
34990        (WebCore::SVGGElement::contextElement):
34991        * svg/SVGGradientElement.cpp:
34992        * svg/SVGGradientElement.h:
34993        * svg/SVGImageElement.cpp:
34994        (WebCore::SVGImageElement::SVGImageElement):
34995        * svg/SVGImageElement.h:
34996        (WebCore::SVGImageElement::contextElement):
34997        * svg/SVGLength.cpp:
34998        * svg/SVGLength.h:
34999        * svg/SVGLengthList.cpp:
35000        * svg/SVGLengthList.h:
35001        * svg/SVGLineElement.cpp:
35002        (WebCore::SVGLineElement::SVGLineElement):
35003        * svg/SVGLineElement.h:
35004        (WebCore::SVGLineElement::contextElement):
35005        * svg/SVGLinearGradientElement.cpp:
35006        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
35007        (WebCore::SVGLinearGradientElement::collectGradientProperties):
35008        * svg/SVGLinearGradientElement.h:
35009        * svg/SVGMPathElement.h:
35010        * svg/SVGMarkerElement.cpp:
35011        (WebCore::SVGMarkerElement::SVGMarkerElement):
35012        * svg/SVGMarkerElement.h:
35013        (WebCore::SVGMarkerElement::contextElement):
35014        * svg/SVGMaskElement.cpp:
35015        (WebCore::SVGMaskElement::SVGMaskElement):
35016        * svg/SVGMaskElement.h:
35017        * svg/SVGNumberList.cpp:
35018        * svg/SVGNumberList.h:
35019        * svg/SVGPathElement.h:
35020        (WebCore::SVGPathElement::contextElement):
35021        * svg/SVGPatternElement.cpp:
35022        (WebCore::SVGPatternElement::SVGPatternElement):
35023        (WebCore::SVGPatternElement::collectPatternProperties):
35024        * svg/SVGPatternElement.h:
35025        * svg/SVGPolyElement.h:
35026        (WebCore::SVGPolyElement::contextElement):
35027        * svg/SVGPreserveAspectRatio.cpp:
35028        * svg/SVGPreserveAspectRatio.h:
35029        * svg/SVGRadialGradientElement.cpp:
35030        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
35031        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
35032        (WebCore::SVGRadialGradientElement::collectGradientProperties):
35033        * svg/SVGRadialGradientElement.h:
35034        * svg/SVGRectElement.cpp:
35035        (WebCore::SVGRectElement::SVGRectElement):
35036        * svg/SVGRectElement.h:
35037        (WebCore::SVGRectElement::contextElement):
35038        * svg/SVGSVGElement.cpp:
35039        (WebCore::SVGSVGElement::SVGSVGElement):
35040        (WebCore::SVGSVGElement::currentView):
35041        * svg/SVGSVGElement.h:
35042        * svg/SVGScriptElement.h:
35043        (WebCore::SVGScriptElement::contextElement):
35044        * svg/SVGSetElement.h:
35045        * svg/SVGStyledElement.h:
35046        * svg/SVGStyledTransformableElement.cpp:
35047        * svg/SVGStyledTransformableElement.h:
35048        * svg/SVGSwitchElement.h:
35049        (WebCore::SVGSwitchElement::contextElement):
35050        * svg/SVGSymbolElement.h:
35051        (WebCore::SVGSymbolElement::contextElement):
35052        * svg/SVGTRefElement.h:
35053        (WebCore::SVGTRefElement::contextElement):
35054        * svg/SVGTSpanElement.h:
35055        * svg/SVGTextContentElement.cpp:
35056        (WebCore::SVGTextContentElement::SVGTextContentElement):
35057        * svg/SVGTextContentElement.h:
35058        * svg/SVGTextElement.cpp:
35059        * svg/SVGTextElement.h:
35060        (WebCore::SVGTextElement::contextElement):
35061        * svg/SVGTextPathElement.cpp:
35062        (WebCore::SVGTextPathElement::SVGTextPathElement):
35063        * svg/SVGTextPathElement.h:
35064        (WebCore::SVGTextPathElement::contextElement):
35065        * svg/SVGTextPositioningElement.cpp:
35066        * svg/SVGTextPositioningElement.h:
35067        * svg/SVGTransformList.cpp:
35068        * svg/SVGTransformList.h:
35069        * svg/SVGURIReference.h:
35070        * svg/SVGUseElement.cpp:
35071        (WebCore::SVGUseElement::SVGUseElement):
35072        * svg/SVGUseElement.h:
35073        (WebCore::SVGUseElement::contextElement):
35074        * svg/SVGViewElement.h:
35075        (WebCore::SVGViewElement::contextElement):
35076        * svg/SVGViewSpec.cpp:
35077        * svg/SVGViewSpec.h:
35078
350792008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
35080
35081        Reviewed by Simon.
35082
35083        * Change IconDatabase::iconForPageURL to return more information. E.g. if
35084        an image has been found, or if the loading of an image has been scheduled.
35085        * Update FrameLoader to use another method to trigger reading from disk
35086        * Update the QWebFrame and QWebSettings
35087
35088        * history/HistoryItem.cpp:
35089        * loader/FrameLoader.cpp:
35090        * loader/icon/IconDatabase.cpp:
35091        (WebCore::IconDatabase::iconForPageURL):
35092        (WebCore::IconDatabase::readIconForPageURLFromDisk):
35093        (WebCore::IconDatabase::iconURLForPageURL):
35094        (WebCore::IconDatabase::defaultIcon):
35095        * loader/icon/IconDatabase.h:
35096
350972008-04-03  Dan Bernstein  <mitz@apple.com>
35098
35099        - Mac build fix
35100
35101        * WebCore.base.exp:
35102
351032008-04-03  Simon Hausmann  <hausmann@webkit.org>
35104
35105        Fix the build when building without icondatabase.
35106
35107        * loader/icon/IconDatabaseNone.cpp: Fix the function signature, no
35108        bool cache anymore.
35109
351102008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
35111
35112        Reviewed by Simon.
35113
35114        * Remove the unused 'cache' parameter
35115
35116        * loader/icon/IconDatabase.cpp:
35117        (WebCore::IconDatabase::iconForPageURL):
35118        * loader/icon/IconDatabase.h:
35119
351202008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
35121
35122        Reviewed by Simon.
35123
35124        * Add WebCore/loader/icon to the DEPENDPATH as well
35125
35126        * WebCore.pro:
35127
351282008-04-02  Brady Eidson  <beidson@apple.com>
35129
35130        Reviewed by Mitz Pettel
35131
35132        <rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
35133        Webarchive fails to save CSS files in @import statements
35134
35135        * css/CSSStyleSheet.cpp:
35136        (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
35137        * css/CSSStyleSheet.h:
35138        * css/StyleSheet.h:
35139        (WebCore::StyleSheet::addSubresourceURLStrings):
35140
35141        * html/HTMLLinkElement.cpp:
35142        (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import
35143          rules rooted at the linked stylesheet.
35144
35145        * html/HTMLStyleElement.cpp:
35146        (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this
35147          stylesheet to add to the list.
35148        * html/HTMLStyleElement.h:
35149
351502008-04-02  Mark Rowe  <mrowe@apple.com>
35151
35152        Reviewed by Oliver Hunt.
35153
35154        Ensure that debug symbols are generated for x86_64 and ppc64 builds.
35155
35156        * Configurations/Base.xcconfig:
35157
351582008-04-02  Christian Persch  <chpe@gnome.org>
35159
35160        Reviewed by Alp Toker.
35161
35162        GTK+/Pango font backend build fix.
35163
35164        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
35165        (WebCore::FontCustomPlatformData::fontPlatformData):
35166
351672008-04-02  Eric Seidel  <eric@webkit.org>
35168
35169        No review, build fix only.
35170
35171        Speculative build fix for no-svg build.
35172        Use #if ENABLE(SVG) instead of #if ENABLE_SVG
35173
35174        * css/CSSMutableStyleDeclaration.cpp:
35175        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
35176
351772008-04-02  Adam Roben  <aroben@apple.com>
35178
35179        Rename instances of ExecState from "state" to "exec" in
35180        JavaScriptDebugServer
35181
35182        Rename requested by Darin Adler.
35183
35184        * page/JavaScriptDebugServer.cpp:
35185
351862008-04-02  Adam Roben  <aroben@apple.com>
35187
35188        Make it possible for JavaScriptDebugListeners to listen to specific Pages
35189
35190        JavaScriptDebugServer now has overloads of its
35191        addListener/removeListener methods that take a Page* to indicate for
35192        which Page the JavaScriptDebugListener wishes to receive messages.
35193
35194        Reviewed by Darin.
35195
35196        * page/JavaScriptDebugServer.cpp:
35197        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all
35198        ListenerSets being held in m_pageListenersMap.
35199        (WebCore::JavaScriptDebugServer::addListener): Changed to call
35200        hasListeners().
35201        (WebCore::JavaScriptDebugServer::removeListener): Ditto.
35202        (WebCore::JavaScriptDebugServer::addListener): Added. This overload
35203        takes a Page* and puts the listener in the appropriate ListenerSet
35204        within m_pageListenersMap. The ListenerSet is allocated and added to
35205        m_pageListenersMap when its first listener is added.
35206        (WebCore::JavaScriptDebugServer::removeListener): Added. This overload
35207        takes a Page* and removes the listener from the appropriate
35208        ListenerSet in m_pageListenersMap. The ListenerSet is deleted and
35209        removed from m_pageListenersMap when its last listener is removed.
35210        (WebCore::toPage): Added. Retrieves the parent Page from an ExecState.
35211        (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call
35212        dispatchDidParseSource/dispatchDidFailToParseSource for both the
35213        global listeners and the Page listeners.
35214        (WebCore::dispatchFunctionToListeners): Added. This code was extracted
35215        from the JavaScriptDebugServer method of the same name.
35216        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call
35217        dispatchFunctionToListeners for both the global listeners and the Page
35218        listeners.
35219        * page/JavaScriptDebugServer.h:
35220          - Added declarations for new methods.
35221          - Made JavaScriptExecutionCallback typedef public so that it could
35222            be used by a helper method.
35223          - Added new m_pageListenersMap member.
352242008-04-02  Simon Hausmann  <hausmann@webkit.org>
35225
35226        Fix compilation on case-sensitive file systems.
35227
35228        * svg/SVGGradientElement.h: Include SVGTransformList.h instead of
35229        SVGTRansformlist.h
35230
352312008-04-02  Nikolas Zimmermann  <zimmermann@kde.org>
35232
35233        Reviewed by Oliver.
35234
35235        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
35236
35237        SVG Errata states: "All SVG DOM objects that directly correspond to an
35238        attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
35239        means that any changes made to the attribute are immediately reflected in the
35240        corresponding SVG DOM object." (see linked URL on bug report)
35241
35242        Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
35243        element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
35244
35245        Add a new synchronization layer to handle SVG DOM -> XML changes.
35246
35247        Added Test: svg/custom/svg-xml-dom-sync.html
35248
35249        * dom/Element.h:
35250        * dom/NamedAttrMap.h:
35251        * rendering/SVGRootInlineBox.cpp:
35252        (WebCore::nodeToTextContentElement):
35253        (WebCore::nodeToTextPositioningElement):
35254        (WebCore::SVGRootInlineBox::buildLayoutInformation):
35255        (WebCore::SVGRootInlineBox::buildTextChunks):
35256        * svg/SVGAElement.h:
35257        (WebCore::SVGAElement::contextElement):
35258        * svg/SVGAltGlyphElement.h:
35259        (WebCore::SVGAltGlyphElement::contextElement):
35260        * svg/SVGAnimateColorElement.h:
35261        (WebCore::SVGAnimateColorElement::contextElement):
35262        * svg/SVGAnimateElement.h:
35263        (WebCore::SVGAnimateElement::contextElement):
35264        * svg/SVGAnimateMotionElement.h:
35265        (WebCore::SVGAnimateMotionElement::contextElement):
35266        * svg/SVGAnimateTransformElement.h:
35267        (WebCore::SVGAnimateTransformElement::contextElement):
35268        * svg/SVGAnimatedTemplate.h:
35269        (WebCore::SVGAnimatedTemplate::toString):
35270        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
35271        (WebCore::lookupOrCreateWrapper):
35272        (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
35273        (WebCore::SVGAnimatedAngle::toString):
35274        (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
35275        (WebCore::SVGAnimatedBoolean::toString):
35276        (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
35277        (WebCore::SVGAnimatedEnumeration::toString):
35278        (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
35279        (WebCore::SVGAnimatedInteger::toString):
35280        (WebCore::SVGAnimatedLength::SVGAnimatedLength):
35281        (WebCore::SVGAnimatedLength::toString):
35282        (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
35283        (WebCore::SVGAnimatedLengthList::toString):
35284        (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
35285        (WebCore::SVGAnimatedNumber::toString):
35286        (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
35287        (WebCore::SVGAnimatedNumberList::toString):
35288        (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
35289        (WebCore::SVGAnimatedPreserveAspectRatio::toString):
35290        (WebCore::SVGAnimatedRect::SVGAnimatedRect):
35291        (WebCore::SVGAnimatedRect::toString):
35292        (WebCore::SVGAnimatedString::SVGAnimatedString):
35293        (WebCore::SVGAnimatedString::toString):
35294        (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
35295        (WebCore::SVGAnimatedTransformList::toString):
35296        (WebCore::SVGAnimatedType::SVGAnimatedType):
35297        * svg/SVGAnimationElement.h:
35298        * svg/SVGCircleElement.h:
35299        (WebCore::SVGCircleElement::contextElement):
35300        * svg/SVGClipPathElement.h:
35301        (WebCore::SVGClipPathElement::contextElement):
35302        * svg/SVGComponentTransferFunctionElement.cpp:
35303        * svg/SVGComponentTransferFunctionElement.h:
35304        * svg/SVGCursorElement.cpp:
35305        (WebCore::SVGCursorElement::SVGCursorElement):
35306        * svg/SVGCursorElement.h:
35307        (WebCore::SVGCursorElement::contextElement):
35308        * svg/SVGDefsElement.h:
35309        (WebCore::SVGDefsElement::contextElement):
35310        * svg/SVGElement.cpp:
35311        (WebCore::SVGElement::getAttribute):
35312        * svg/SVGElement.h:
35313        (LazilyUpdatedType::LazilyUpdatedType):
35314        (LazilyUpdatedType::operator=):
35315        (LazilyUpdatedType::operator==):
35316        (LazilyUpdatedType::operator!=):
35317        (LazilyUpdatedType::operator StoredType):
35318        (WebCore::SVGElement::invokeSVGPropertySynchronizer):
35319        (WebCore::SVGElement::addSVGPropertySynchronizer):
35320        * svg/SVGEllipseElement.cpp:
35321        (WebCore::SVGEllipseElement::SVGEllipseElement):
35322        * svg/SVGEllipseElement.h:
35323        (WebCore::SVGEllipseElement::contextElement):
35324        * svg/SVGExternalResourcesRequired.h:
35325        * svg/SVGFEBlendElement.h:
35326        (WebCore::SVGFEBlendElement::contextElement):
35327        * svg/SVGFEColorMatrixElement.cpp:
35328        * svg/SVGFEColorMatrixElement.h:
35329        (WebCore::SVGFEColorMatrixElement::contextElement):
35330        * svg/SVGFEComponentTransferElement.h:
35331        (WebCore::SVGFEComponentTransferElement::contextElement):
35332        * svg/SVGFECompositeElement.h:
35333        (WebCore::SVGFECompositeElement::contextElement):
35334        * svg/SVGFEDiffuseLightingElement.h:
35335        (WebCore::SVGFEDiffuseLightingElement::contextElement):
35336        * svg/SVGFEDisplacementMapElement.h:
35337        (WebCore::SVGFEDisplacementMapElement::contextElement):
35338        * svg/SVGFEFloodElement.h:
35339        (WebCore::SVGFEFloodElement::contextElement):
35340        * svg/SVGFEGaussianBlurElement.h:
35341        (WebCore::SVGFEGaussianBlurElement::contextElement):
35342        * svg/SVGFEImageElement.cpp:
35343        * svg/SVGFEImageElement.h:
35344        (WebCore::SVGFEImageElement::contextElement):
35345        * svg/SVGFELightElement.h:
35346        * svg/SVGFEMergeElement.h:
35347        (WebCore::SVGFEMergeElement::contextElement):
35348        * svg/SVGFEMergeNodeElement.h:
35349        (WebCore::SVGFEMergeNodeElement::contextElement):
35350        * svg/SVGFEOffsetElement.h:
35351        (WebCore::SVGFEOffsetElement::contextElement):
35352        * svg/SVGFESpecularLightingElement.h:
35353        (WebCore::SVGFESpecularLightingElement::contextElement):
35354        * svg/SVGFETileElement.h:
35355        (WebCore::SVGFETileElement::contextElement):
35356        * svg/SVGFETurbulenceElement.h:
35357        (WebCore::SVGFETurbulenceElement::contextElement):
35358        * svg/SVGFilterElement.cpp:
35359        (WebCore::SVGFilterElement::SVGFilterElement):
35360        * svg/SVGFilterElement.h:
35361        (WebCore::SVGFilterElement::contextElement):
35362        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
35363        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
35364        * svg/SVGFilterPrimitiveStandardAttributes.h:
35365        (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
35366        * svg/SVGFitToViewBox.cpp:
35367        * svg/SVGFitToViewBox.h:
35368        * svg/SVGFontElement.h:
35369        (WebCore::SVGFontElement::contextElement):
35370        * svg/SVGForeignObjectElement.cpp:
35371        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
35372        * svg/SVGForeignObjectElement.h:
35373        (WebCore::SVGForeignObjectElement::contextElement):
35374        * svg/SVGGElement.h:
35375        (WebCore::SVGGElement::contextElement):
35376        * svg/SVGGradientElement.cpp:
35377        * svg/SVGGradientElement.h:
35378        * svg/SVGImageElement.cpp:
35379        (WebCore::SVGImageElement::SVGImageElement):
35380        * svg/SVGImageElement.h:
35381        (WebCore::SVGImageElement::contextElement):
35382        * svg/SVGLength.cpp:
35383        (WebCore::SVGLength::SVGLength):
35384        (WebCore::SVGLength::operator=):
35385        (WebCore::SVGLength::operator==):
35386        (WebCore::SVGLength::operator!=):
35387        * svg/SVGLength.h:
35388        * svg/SVGLengthList.cpp:
35389        (WebCore::SVGLengthList::valueAsString):
35390        * svg/SVGLengthList.h:
35391        * svg/SVGLineElement.cpp:
35392        (WebCore::SVGLineElement::SVGLineElement):
35393        * svg/SVGLineElement.h:
35394        (WebCore::SVGLineElement::contextElement):
35395        * svg/SVGLinearGradientElement.cpp:
35396        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
35397        (WebCore::SVGLinearGradientElement::collectGradientProperties):
35398        * svg/SVGLinearGradientElement.h:
35399        (WebCore::SVGLinearGradientElement::contextElement):
35400        * svg/SVGMPathElement.h:
35401        (WebCore::SVGMPathElement::contextElement):
35402        * svg/SVGMarkerElement.cpp:
35403        (WebCore::SVGMarkerElement::SVGMarkerElement):
35404        * svg/SVGMarkerElement.h:
35405        (WebCore::SVGMarkerElement::contextElement):
35406        * svg/SVGMaskElement.cpp:
35407        (WebCore::SVGMaskElement::SVGMaskElement):
35408        * svg/SVGMaskElement.h:
35409        (WebCore::SVGMaskElement::contextElement):
35410        * svg/SVGNumberList.cpp:
35411        (WebCore::SVGNumberList::valueAsString):
35412        * svg/SVGNumberList.h:
35413        * svg/SVGPathElement.h:
35414        (WebCore::SVGPathElement::contextElement):
35415        * svg/SVGPatternElement.cpp:
35416        (WebCore::SVGPatternElement::SVGPatternElement):
35417        (WebCore::SVGPatternElement::collectPatternProperties):
35418        * svg/SVGPatternElement.h:
35419        (WebCore::SVGPatternElement::contextElement):
35420        * svg/SVGPolyElement.h:
35421        (WebCore::SVGPolyElement::contextElement):
35422        * svg/SVGPreserveAspectRatio.cpp:
35423        (WebCore::SVGPreserveAspectRatio::valueAsString):
35424        * svg/SVGPreserveAspectRatio.h:
35425        * svg/SVGRadialGradientElement.cpp:
35426        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
35427        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
35428        (WebCore::SVGRadialGradientElement::collectGradientProperties):
35429        * svg/SVGRadialGradientElement.h:
35430        (WebCore::SVGRadialGradientElement::contextElement):
35431        * svg/SVGRectElement.cpp:
35432        (WebCore::SVGRectElement::SVGRectElement):
35433        * svg/SVGRectElement.h:
35434        (WebCore::SVGRectElement::contextElement):
35435        * svg/SVGSVGElement.cpp:
35436        (WebCore::SVGSVGElement::SVGSVGElement):
35437        (WebCore::SVGSVGElement::currentView):
35438        * svg/SVGSVGElement.h:
35439        (WebCore::SVGSVGElement::contextElement):
35440        * svg/SVGScriptElement.h:
35441        (WebCore::SVGScriptElement::contextElement):
35442        * svg/SVGSetElement.h:
35443        (WebCore::SVGSetElement::contextElement):
35444        * svg/SVGStyledElement.h:
35445        * svg/SVGStyledTransformableElement.cpp:
35446        * svg/SVGStyledTransformableElement.h:
35447        * svg/SVGSwitchElement.h:
35448        (WebCore::SVGSwitchElement::contextElement):
35449        * svg/SVGSymbolElement.h:
35450        (WebCore::SVGSymbolElement::contextElement):
35451        * svg/SVGTRefElement.h:
35452        (WebCore::SVGTRefElement::contextElement):
35453        * svg/SVGTSpanElement.h:
35454        (WebCore::SVGTSpanElement::contextElement):
35455        * svg/SVGTextContentElement.cpp:
35456        (WebCore::SVGTextContentElement::SVGTextContentElement):
35457        * svg/SVGTextContentElement.h:
35458        * svg/SVGTextElement.cpp:
35459        * svg/SVGTextElement.h:
35460        (WebCore::SVGTextElement::contextElement):
35461        * svg/SVGTextPathElement.cpp:
35462        (WebCore::SVGTextPathElement::SVGTextPathElement):
35463        * svg/SVGTextPathElement.h:
35464        (WebCore::SVGTextPathElement::contextElement):
35465        * svg/SVGTextPositioningElement.cpp:
35466        * svg/SVGTextPositioningElement.h:
35467        * svg/SVGTransformList.cpp:
35468        (SVGTransformList::valueAsString):
35469        * svg/SVGTransformList.h:
35470        * svg/SVGURIReference.h:
35471        * svg/SVGUseElement.cpp:
35472        (WebCore::SVGUseElement::SVGUseElement):
35473        * svg/SVGUseElement.h:
35474        (WebCore::SVGUseElement::contextElement):
35475        * svg/SVGViewElement.h:
35476        (WebCore::SVGViewElement::contextElement):
35477        * svg/SVGViewSpec.cpp:
35478        (WebCore::SVGViewSpec::SVGViewSpec):
35479        (WebCore::SVGViewSpec::contextElement):
35480        * svg/SVGViewSpec.h:
35481
354822008-04-02  Darin Adler  <darin@apple.com>
35483
35484        Reviewed by Alexey.
35485
35486        - fix storage leak seen on buildbot
35487
35488        * platform/graphics/cg/ImageBufferCG.cpp:
35489        (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed
35490        result to be a RetainPtr.
35491        (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and
35492        some unneeded explicit conversions.
35493
354942008-04-01  Darin Adler  <darin@apple.com>
35495
35496        * WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
35497
354982008-04-01  Darin Adler  <darin@apple.com>
35499
35500        Reviewed by Sam and Antti.
35501
35502        - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes
35503
35504        Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
35505        the offset is now stored as a node pointer, and the offset is computed as and when needed.
35506        This allows us to efficiently update when the DOM tree is changed -- computation of the
35507        node offsets is deferred until the Range is used later.
35508
35509        * WebCore.base.exp: Export nodeIndex().
35510
35511        * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h
35512        and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
35513
35514        * dom/ContainerNode.cpp:
35515        (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
35516
35517        * dom/Document.cpp:
35518        (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range.
35519        (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for
35520        the index.
35521        * dom/Document.h: Take fewer arguments.
35522
35523        * dom/NodeWithIndexAfter.h: Removed.
35524        * dom/NodeWithIndexBefore.h: Removed.
35525
35526        * dom/Range.cpp:
35527        (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor.
35528        (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position.
35529        (WebCore::Range::~Range): Ditto.
35530        (WebCore::Range::startContainer): Ditto.
35531        (WebCore::Range::startOffset): Ditto.
35532        (WebCore::Range::endContainer): Ditto.
35533        (WebCore::Range::endOffset): Ditto.
35534        (WebCore::Range::commonAncestorContainer): Ditto.
35535        (WebCore::Range::collapsed): Ditto.
35536        (WebCore::Range::setStart): Ditto.
35537        (WebCore::Range::setEnd): Ditto.
35538        (WebCore::Range::collapse): Ditto.
35539        (WebCore::Range::isPointInRange): Ditto.
35540        (WebCore::Range::comparePoint): Ditto.
35541        (WebCore::Range::compareNode): Ditto.
35542        (WebCore::Range::compareBoundaryPoints): Ditto.
35543        (WebCore::Range::boundaryPointsValid): Ditto.
35544        (WebCore::Range::intersectsNode): Ditto.
35545        (WebCore::Range::processContents): Ditto.
35546        (WebCore::Range::cloneContents): Ditto.
35547        (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code
35548        at the end that updates the range -- not all of it is needed now since most of the fixup
35549        is done automatically by the range document mutation machinery. The one bit that remains
35550        is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification
35551        that it is indeed a bug (and then Acid3 will probably have to change).
35552        (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position.
35553        (WebCore::Range::text): Ditto.
35554        (WebCore::Range::createContextualFragment): Ditto.
35555        (WebCore::Range::detach): Ditto.
35556        (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to
35557        be more efficient by using childNode instead of childNodeCount, and also return the node
35558        before which is needed to set the value of a RangeBoundaryPoint.
35559        (WebCore::Range::cloneRange): Ditto.
35560        (WebCore::Range::setStartAfter): Ditto.
35561        (WebCore::Range::setEndBefore): Ditto.
35562        (WebCore::Range::setEndAfter): Ditto.
35563        (WebCore::Range::selectNode): Ditto.
35564        (WebCore::Range::selectNodeContents): Ditto.
35565        (WebCore::Range::surroundContents): Ditto.
35566        (WebCore::Range::setStartBefore): Ditto.
35567        (WebCore::Range::checkDeleteExtract): Ditto.
35568        (WebCore::Range::containedByReadOnly): Ditto.
35569        (WebCore::Range::firstNode): Ditto.
35570        (WebCore::Range::editingStartPosition): Ditto.
35571        (WebCore::Range::pastLastNode): Ditto.
35572        (WebCore::Range::addLineBoxRects): Ditto.
35573        (WebCore::Range::formatForDebugger): Ditto.
35574        (WebCore::Range::maxStartOffset): Ditto.
35575        (WebCore::Range::maxEndOffset): Ditto.
35576        (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of
35577        Position. Also changed name and changed to just call invalidateOffset.
35578        (WebCore::Range::nodeChildrenChanged): Changed to take just a container node.
35579        (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of
35580        Position. Also changed name and changed to update childBefore.
35581        (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*.
35582        (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of
35583        Position. Also changed name.
35584        (WebCore::Range::textInserted): Ditto.
35585        (WebCore::boundaryTextRemoved): Ditto.
35586        (WebCore::Range::textRemoved): Ditto.
35587        (WebCore::boundaryTextNodesMerged): Ditto.
35588        (WebCore::Range::textNodesMerged): Ditto.
35589        (WebCore::boundaryTextNodesSplit): Ditto.
35590        (WebCore::Range::textNodeSplit): Ditto.
35591
35592        * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
35593
35594        * dom/RangeBoundaryPoint.h: Added.
35595
355962008-04-01  Anders Carlsson  <andersca@apple.com>
35597
35598        Reviewed by Sam.
35599
35600        Get rid of old "bindings" forwarding headers.
35601
35602        * ForwardingHeaders/bindings: Removed.
35603        * ForwardingHeaders/bindings/NP_jsobject.h: Removed.
35604        * ForwardingHeaders/bindings/npruntime.h: Removed.
35605        * ForwardingHeaders/bindings/npruntime_impl.h: Removed.
35606        * ForwardingHeaders/bindings/npruntime_internal.h: Removed.
35607        * ForwardingHeaders/bindings/runtime.h: Removed.
35608        * ForwardingHeaders/bindings/runtime_object.h: Removed.
35609        * ForwardingHeaders/bindings/runtime_root.h: Removed.
35610
356112008-04-01  Timothy Hatcher  <timothy@apple.com>
35612
35613        Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.
35614
35615        http://bugs.webkit.org/show_bug.cgi?id=17773
35616
35617        Rubber-stamped by Brady Eidson.
35618
35619        * WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
35620        * page/inspector/DatabasePanel.js: Removed.
35621        * page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
35622        * page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
35623        * page/inspector/inspector.html: Reference DatabasesPanel.js.
35624
356252008-04-01  Brady Eidson  <beidson@apple.com>
35626
35627        Touch a file to get Windows to rebuild WebCore
35628
35629        * platform/ContextMenu.cpp: Alphabetize headers
35630
356312008-04-01  Brady Eidson  <beidson@apple.com>
35632
35633        Reviewed by Adam Roben
35634
35635        Export loader/archive and loader/archive/cf headers for WebKitWin to use
35636
35637        * WebCore.vcproj/WebCore.vcproj:
35638
356392008-04-01  Brady Eidson  <beidson@apple.com>
35640
35641        Reviewed by Darin
35642
35643        WebArchives need to load on Windows the same way as on Mac, and this change in the 
35644        finished-loading code path was a big part of that
35645
35646        * loader/FrameLoader.cpp:
35647        (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading()
35648          for non-archive loads
35649
356502008-04-01  Dan Bernstein  <mitz@apple.com>
35651
35652        - Mac build fix
35653
35654        * WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
35655
356562008-04-01  Dan Bernstein  <mitz@apple.com>
35657
35658        Reviewed by Darin Adler.
35659
35660        - move the FontRenderingMode enumeration into its own header file
35661
35662        * WebCore.vcproj/WebCore.vcproj:
35663        * WebCore.xcodeproj/project.pbxproj:
35664        * loader/CachedFont.h:
35665        * platform/graphics/FontDescription.h:
35666        * platform/graphics/FontRenderingMode.h: Added.
35667        * platform/graphics/gtk/FontCustomPlatformData.h:
35668        * platform/graphics/mac/FontCustomPlatformData.h:
35669        * platform/graphics/qt/FontCustomPlatformData.h:
35670        * platform/graphics/win/FontCustomPlatformData.h:
35671
356722008-04-01  Darin Adler  <darin@apple.com>
35673
35674        Reviewed by Mitz.
35675
35676        - fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
35677        - fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
35678
35679        * bindings/js/JSCustomXPathNSResolver.cpp:
35680        (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
35681        * css/CSSStyleSelector.cpp:
35682        (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
35683
356842008-04-01  Darin Adler  <darin@apple.com>
35685
35686        Reviewed by Sam.
35687
35688        - speed up hasChildNodes, which does not need to be virtual
35689
35690        * dom/ContainerNode.cpp: Removed hasChildNodes.
35691        * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
35692        * dom/Node.cpp: Removed hasChildNodes.
35693        * dom/Node.h: Added non-vritual inline hasChildNodes.
35694
356952008-04-01  Simon Hausmann  <hausmann@webkit.org>
35696
35697        Fix the non-mac build.
35698
35699        * page/AXObjectCache.h: Don't reference AccessibilityObjects when
35700        building without accessibility.
35701        * page/AccessibilityObject.h: Don't include RetainPtr.h for non-mac
35702        builds.
35703
357042008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
35705
35706        Reviewed by Simon.
35707
35708        * Do not store the QWebFrame associated with a ScrollView/FrameView
35709        in the WebCore::Widget.
35710        * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
35711        and QWebFramePrivate::kit function to convert from and to QWebFrame.
35712
35713        * platform/Widget.h:
35714        * platform/qt/WidgetQt.cpp:
35715        (WebCore::WidgetPrivate::WidgetPrivate):
35716        (WebCore::Widget::containingWindow):
35717
357182008-04-01  Alice Liu  <alice.liu@apple.com>
35719        Patch by Beth Dakin <bdakin@apple.com> and Alice Liu
35720
35721        Reviewed by Darin.
35722
35723        Refactored WebCore Accessibility code.  Prior to this patch, WebCore
35724        accessibility was implemented in an ObjC class named WebCoreAXObject,
35725        with much of the "guts" in C++.  This patch the next natural step of
35726        factoring out the C++ code into a class named AccessibilityObject, and 
35727        in order to maintain the required ObjC object ties, also implements an
35728        ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
35729        C++ object.  Internally within WebCore we operate on the C++ object as
35730        much as possible, and the ObjC object gets used mostly when we need to
35731        return something to AppKit or call something implemented on NSObject.
35732        The AXObjectCache still keeps one HashMap, now of RenderObjects to
35733        AccessibilityObjects instead of WebCoreAXObjects, and the
35734        AccessibilityObject keeps track of its ObjC wrapper.
35735
35736        * WebCore.xcodeproj/project.pbxproj:
35737        * page/AXObjectCache.h:
35738        (WebCore::AXObjectCache::get):
35739        (WebCore::AXObjectCache::removeAXID):
35740        * page/AccessibilityObject.cpp: Added.
35741        (WebCore::AccessibilityObject::AccessibilityObject):
35742        (WebCore::AccessibilityObject::~AccessibilityObject):
35743        (WebCore::AccessibilityObject::create):
35744        (WebCore::AccessibilityObject::detach):
35745        (WebCore::AccessibilityObject::firstChild):
35746        (WebCore::AccessibilityObject::lastChild):
35747        (WebCore::AccessibilityObject::previousSibling):
35748        (WebCore::AccessibilityObject::nextSibling):
35749        (WebCore::AccessibilityObject::parentObject):
35750        (WebCore::AccessibilityObject::parentObjectUnignored):
35751        (WebCore::AccessibilityObject::isWebArea):
35752        (WebCore::AccessibilityObject::isImageButton):
35753        (WebCore::AccessibilityObject::isAnchor):
35754        (WebCore::AccessibilityObject::isTextControl):
35755        (WebCore::AccessibilityObject::isImage):
35756        (WebCore::AccessibilityObject::isAttachment):
35757        (WebCore::isPasswordFieldElement):
35758        (WebCore::AccessibilityObject::isPasswordField):
35759        (WebCore::AccessibilityObject::headingLevel):
35760        (WebCore::AccessibilityObject::isHeading):
35761        (WebCore::AccessibilityObject::anchorElement):
35762        (WebCore::isCheckboxOrRadio):
35763        (WebCore::AccessibilityObject::actionElement):
35764        (WebCore::AccessibilityObject::mouseButtonListener):
35765        (WebCore::AccessibilityObject::helpText):
35766        (WebCore::AccessibilityObject::textUnderElement):
35767        (WebCore::AccessibilityObject::hasIntValue):
35768        (WebCore::AccessibilityObject::intValue):
35769        (WebCore::AccessibilityObject::stringValue):
35770        (WebCore::labelForElement):
35771        (WebCore::AccessibilityObject::title):
35772        (WebCore::AccessibilityObject::accessibilityDescription):
35773        (WebCore::AccessibilityObject::boundingBoxRect):
35774        (WebCore::AccessibilityObject::size):
35775        (WebCore::AccessibilityObject::linkedUIElement):
35776        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
35777        (WebCore::AccessibilityObject::accessibilityIsIgnored):
35778        (WebCore::AccessibilityObject::loaded):
35779        (WebCore::AccessibilityObject::layoutCount):
35780        (WebCore::AccessibilityObject::textLength):
35781        (WebCore::AccessibilityObject::selectedText):
35782        (WebCore::AccessibilityObject::selection):
35783        (WebCore::AccessibilityObject::selectedTextRange):
35784        (WebCore::AccessibilityObject::setSelectedText):
35785        (WebCore::AccessibilityObject::setSelectedTextRange):
35786        (WebCore::AccessibilityObject::makeRangeVisible):
35787        (WebCore::AccessibilityObject::url):
35788        (WebCore::AccessibilityObject::isVisited):
35789        (WebCore::AccessibilityObject::isFocused):
35790        (WebCore::AccessibilityObject::setFocused):
35791        (WebCore::AccessibilityObject::setValue):
35792        (WebCore::AccessibilityObject::isEnabled):
35793        (WebCore::AccessibilityObject::press):
35794        (WebCore::AccessibilityObject::topRenderer):
35795        (WebCore::AccessibilityObject::textControl):
35796        (WebCore::AccessibilityObject::widget):
35797        (WebCore::AccessibilityObject::axObjectCache):
35798        (WebCore::AccessibilityObject::documentLinks):
35799        (WebCore::AccessibilityObject::documentFrameView):
35800        (WebCore::AccessibilityObject::frameViewIfRenderView):
35801        (WebCore::AccessibilityObject::visiblePositionRange):
35802        (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
35803        (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
35804        (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
35805        (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
35806        (WebCore::updateAXLineStartForVisiblePosition):
35807        (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
35808        (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
35809        (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
35810        (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
35811        (WebCore::startOfStyleRange):
35812        (WebCore::endOfStyleRange):
35813        (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
35814        (WebCore::AccessibilityObject::textMarkerRangeForRange):
35815        (WebCore::AccessibilityObject::stringForReplacedNode):
35816        (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
35817        (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
35818        (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
35819        (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
35820        (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
35821        (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
35822        (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
35823        (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
35824        (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
35825        (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
35826        (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
35827        (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
35828        (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
35829        (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
35830        (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
35831        (WebCore::AccessibilityObject::textMarkerForIndex):
35832        (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
35833        (WebCore::AccessibilityObject::doAXLineForTextMarker):
35834        (WebCore::AccessibilityObject::rangeForTextMarkerRange):
35835        (WebCore::AccessibilityObject::indexForTextMarker):
35836        (WebCore::AccessibilityObject::doAXRangeForLine):
35837        (WebCore::AccessibilityObject::doAXRangeForPosition):
35838        (WebCore::AccessibilityObject::doAXRangeForIndex):
35839        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
35840        (WebCore::AccessibilityObject::doAXStringForRange):
35841        (WebCore::AccessibilityObject::doAXBoundsForRange):
35842        (WebCore::AccessibilityObject::doAXLineForIndex):
35843        (WebCore::AccessibilityObject::doAccessibilityHitTest):
35844        (WebCore::AccessibilityObject::focusedUIElement):
35845        (WebCore::AccessibilityObject::observableObject):
35846        (WebCore::AccessibilityObject::roleValue):
35847        (WebCore::AccessibilityObject::canSetFocusAttribute):
35848        (WebCore::AccessibilityObject::canSetValueAttribute):
35849        (WebCore::AccessibilityObject::canSetTextRangeAttributes):
35850        (WebCore::AccessibilityObject::childrenChanged):
35851        (WebCore::AccessibilityObject::clearChildren):
35852        (WebCore::AccessibilityObject::hasChildren):
35853        (WebCore::AccessibilityObject::addChildren):
35854        (WebCore::AccessibilityObject::axObjectID):
35855        (WebCore::AccessibilityObject::setAXObjectID):
35856        (WebCore::AccessibilityObject::removeAXObjectID):
35857        * page/AccessibilityObject.h: Added.
35858        (WebCore::VisiblePositionRange::VisiblePositionRange):
35859        (WebCore::VisiblePositionRange::isNull):
35860        (WebCore::AccessibilityObject::detached):
35861        (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
35862        (WebCore::AccessibilityObject::PlainTextRange::isNull):
35863        (WebCore::AccessibilityObject::renderer):
35864        (WebCore::AccessibilityObject::children):
35865        (WebCore::AccessibilityObject::wrapper):
35866        (WebCore::AccessibilityObject::setWrapper):
35867        * page/mac/AXObjectCacheMac.mm:
35868        (WebCore::AXObjectCache::~AXObjectCache):
35869        (WebCore::AXObjectCache::get):
35870        (WebCore::AXObjectCache::remove):
35871        (WebCore::AXObjectCache::getAXID):
35872        (WebCore::AXObjectCache::removeAXID):
35873        (WebCore::AXObjectCache::textMarkerForVisiblePosition):
35874        (WebCore::AXObjectCache::childrenChanged):
35875        (WebCore::AXObjectCache::postNotification):
35876        (WebCore::AXObjectCache::postNotificationToElement):
35877        * page/mac/AccessibilityObjectMac.mm: Added.
35878        (createAccessibilityRoleMap):
35879        (RoleEntry::):
35880        (roleValueToNSString):
35881        (AccessibilityObject::attachmentView):
35882        (AccessibilityObject::performPressActionForAttachment):
35883        (AccessibilityObject::textMarkerRange):
35884        (AccessibilityObject::textMarkerForVisiblePosition):
35885        (AccessibilityObject::startTextMarker):
35886        (AccessibilityObject::visiblePositionForTextMarker):
35887        (AccessibilityObject::visiblePositionForStartOfTextMarkerRange):
35888        (AccessibilityObject::visiblePositionForEndOfTextMarkerRange):
35889        (AccessibilityObject::textMarkerRangeFromVisiblePositions):
35890        (AccessibilityObject::textMarkerRangeForSelection):
35891        (AccessibilityObject::textMarkerRangeFromMarkers):
35892        (AccessibilityObject::convertViewRectToScreenCoords):
35893        (AccessibilityObject::convertAbsolutePointToViewCoords):
35894        (AccessibilityObject::convertWidgetChildrenToNSArray):
35895        (AccessibilityObject::position):
35896        (AccessibilityObject::role):
35897        (AccessibilityObject::subrole):
35898        (AccessibilityObject::roleDescription):
35899        (blockquoteLevel):
35900        (AccessibilityObject::AXAttributeStringSetElement):
35901        (AXAttributeStringSetBlockquoteLevel):
35902        (CreateCGColorIfDifferent):
35903        (AXAttributeStringSetColor):
35904        (AXAttributeStringSetNumber):
35905        (AXAttributeStringSetFont):
35906        (AXAttributeStringSetStyle):
35907        (AccessibilityObject::AXAttributeStringSetHeadingLevel):
35908        (AccessibilityObject::AXLinkElementForNode):
35909        (AXAttributeStringSetSpelling):
35910        (AccessibilityObject::AXAttributedStringAppendText):
35911        (nsStringForReplacedNode):
35912        (AccessibilityObject::doAXAttributedStringForTextMarkerRange):
35913        (AccessibilityObject::doAXAttributedStringForRange):
35914        (AccessibilityObject::doAXRTFForRange):
35915        * page/mac/AccessibilityObjectWrapper.h: Added.
35916        * page/mac/AccessibilityObjectWrapper.mm: Added.
35917        (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
35918        (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
35919        (-[AccessibilityObjectWrapper detach]):
35920        (-[AccessibilityObjectWrapper accessibilityObject]):
35921        (-[AccessibilityObjectWrapper accessibilityActionNames]):
35922        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
35923        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
35924        (-[AccessibilityObjectWrapper renderWidgetChildren]):
35925        (convertToNSArray):
35926        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
35927        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
35928        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
35929        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
35930        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
35931        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
35932        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
35933        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
35934        (rendererForView):
35935        (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
35936        (-[AccessibilityObjectWrapper accessibilityActionDescription:]):
35937        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
35938        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
35939        * page/mac/WebCoreAXObject.h: Removed.
35940        * page/mac/WebCoreAXObject.mm: Removed.
35941        * rendering/RenderMenuList.cpp:
35942        (WebCore::RenderMenuList::selectElement):
35943        * rendering/RenderMenuList.h:
35944
359452008-03-31  Dan Bernstein  <mitz@apple.com>
35946
35947        - fix previous attempted fixes
35948
35949        * platform/qt/TemporaryLinkStubs.cpp:
35950        (PluginDatabase::getPluginPathsInDirectories):
35951        * platform/wx/TemporaryLinkStubs.cpp:
35952        (PluginDatabase::getPluginPathsInDirectories):
35953
359542008-03-31  Dan Bernstein  <mitz@apple.com>
35955
35956        - fix Qt link stubs
35957
35958        * platform/qt/TemporaryLinkStubs.cpp:
35959        (PluginDatabase::getPluginPathsInDirectories):
35960        (PluginDatabase::isPreferredPluginDirectory):
35961
359622008-03-31  Dan Bernstein  <mitz@apple.com>
35963
35964        - try to fix the Wx build
35965
35966        * platform/wx/TemporaryLinkStubs.cpp:
35967        (PluginDatabase::getPluginPathsInDirectories):
35968        (PluginDatabase::isPreferredPluginDirectory):
35969
359702008-03-31  Dan Bernstein  <mitz@apple.com>
35971
35972        - Gtk and Qt build fixes
35973
35974        * platform/graphics/gtk/FontCustomPlatformData.cpp:
35975        (WebCore::FontCustomPlatformData::fontPlatformData):
35976        * platform/graphics/gtk/FontCustomPlatformData.h:
35977        * platform/graphics/qt/FontCustomPlatformData.cpp:
35978        (WebCore::FontCustomPlatformData::fontPlatformData):
35979        * platform/graphics/qt/FontCustomPlatformData.h:
35980
359812008-03-31  Dan Bernstein  <mitz@apple.com>
35982
35983        - Mac build fix
35984
35985        * platform/graphics/mac/FontCustomPlatformData.cpp:
35986        (WebCore::FontCustomPlatformData::fontPlatformData):
35987        * platform/graphics/mac/FontCustomPlatformData.h:
35988
359892008-03-31  Dan Bernstein  <mitz@apple.com>
35990
35991        Reviewed by Darin Adler.
35992
35993        - fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
35994
35995        * WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
35996
35997        * css/CSSFontFaceSource.cpp:
35998        (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering
35999        mode to CachedFont::platformDataFromCustomData().
36000
36001        * loader/CachedFont.cpp:
36002        (WebCore::CachedFont::platformDataFromCustomData): Added a rendering
36003        mode parameter which is passed down to
36004        FontCustomPlatformData::fontPlatformData().
36005
36006        * loader/CachedFont.h:
36007
36008        * platform/graphics/win/FontCacheWin.cpp:
36009        (WebCore::FontCache::fontExists): Changed the number 5 to the named
36010        constant CLEARTYPE_QUALITY.
36011
36012        * platform/graphics/win/FontCustomPlatformData.cpp:
36013        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code
36014        to delete the embedded font reference.
36015        (WebCore::FontCustomPlatformData::fontPlatformData): Added code to
36016        create an HFONT from the embedded font reference and pass it along with
36017        the CGFontRef to the FontPlatformData constructor. Added a rendering
36018        mode parameter which is passed down to the FontPlatformData constructor.
36019        (WebCore::EOTStream::EOTStream): Added this helper class used to feed
36020        data to TTLoadEmbeddedFont().
36021        (WebCore::EOTStream::read): Added.
36022        (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback.
36023        (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived
36024        font name. 
36025        (WebCore::createFontCustomPlatformData): Added code to make the font
36026        accessible to GDI by creating an Embedded OpenType stream and
36027        activating it in the process under a globally-unique name.
36028
36029        * platform/graphics/win/FontCustomPlatformData.h:
36030        Added a font reference data member which holds the embedded font.
36031        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
36032        rendering mode parameter.
36033
36034        * platform/graphics/win/FontPlatformData.h:
36035        (WebCore::FontPlatformData::FontPlatformData): Made this class always
36036        own the CGFontRef and the HFONT by turning these data members into a
36037        RetainPtr and a RefPtr around a RefCountedHFONT.
36038        Added an HFONT parameter to the CGFontRef-based constructor.
36039        Made platformDataInit() private.
36040        (WebCore::FontPlatformData::hfont):
36041        (WebCore::FontPlatformData::cgFont):
36042        (WebCore::FontPlatformData::hash):
36043        (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added.
36044        (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
36045        (WebCore::FontPlatformData::RefCountedHFONT::hfont):
36046        (WebCore::FontPlatformData::RefCountedHFONT::hash):
36047
36048        * platform/graphics/win/FontPlatformDataCGWin.cpp:
36049        (WebCore::FontPlatformData::platformDataInit): Changed to take
36050        ownership of the CGFontRef created here.
36051        (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter
36052        and a useGDI flag.
36053
36054        * platform/graphics/win/FontPlatformDataWin.cpp:
36055        (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership
36056        of the HFONT.
36057
36058        * platform/graphics/win/GetEOTHeader.cpp: Added.
36059        (WebCore::BigEndianUShort::operator unsigned short):
36060        (WebCore::BigEndianULong::operator unsigned):
36061        (WebCore::appendBigEndianStringToEOTHeader):
36062        (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot)
36063        header for the given font data, making it suitable as input for
36064        TTLoadEmbeddedFont.
36065
36066        * platform/graphics/win/GetEOTHeader.h: Added.
36067
36068        * platform/graphics/win/SimpleFontDataCGWin.cpp:
36069        (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts
36070        of the FontPlatformData, since they are now always owned and managed
36071        by the FontPlatformData.
36072
360732008-03-31  Darin Adler  <darin@apple.com>
36074
36075        Reviewed by Anders.
36076
36077        - fix crash seen on buildbot (regression from a recent speedup)
36078
36079        * html/HTMLDocument.cpp:
36080        (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since
36081        that takes care of the null string case.
36082
360832008-03-31  Dan Bernstein  <mitz@apple.com>
36084
36085        Reviewed by John Sullivan.
36086
36087        - fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
36088
36089        * platform/win/CursorWin.cpp:
36090        (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors
36091        to fully opaque. The mask is ignored and the alpha values from the
36092        32-bit image are used except in the case of a fully-transparent image,
36093        in which the fully-opaque 1-bit mask is required to get transparency.
36094
360952008-03-31  Brady Eidson  <beidson@apple.com>
36096
36097        Reviewed by Jon Honeycutt
36098
36099        Move a WebArchive loading check into WebCore
36100        
36101        * loader/FrameLoader.cpp:
36102        (WebCore::FrameLoader::committedLoad): Don't call the client method if currently loading a WebArchive
36103
361042008-03-31  Brady Eidson  <beidson@apple.com>
36105
36106        Reviewed by Oliver Hunt
36107
36108        "Turn on" WebArchives for Windows
36109        
36110        Thought I'd done this already, but I hadn't!
36111
36112        * platform/MIMETypeRegistry.cpp:
36113        (WebCore::initializeSupportedNonImageMimeTypes): Apply known ArchiveFactory MIME types
36114
361152008-03-31  Dan Bernstein  <mitz@apple.com>
36116
36117        Reviewed by Dave Hyatt.
36118
36119        - fix http://bugs.webkit.org/show_bug.cgi?id=18076
36120          Box disappears after CSS Transition completes
36121
36122        * page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR
36123        macro to not blend two invalid colors.
36124        * rendering/RenderStyle.cpp:
36125        (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing
36126        copying of the m_color data member.
36127
361282008-03-31  Julien Chaffraix  <jchaffraix@webkit.org>
36129
36130        Reviewed by Darin.
36131
36132        Bug 18177: m_encoding is used twice in XMLHttpRequest
36133        http://bugs.webkit.org/show_bug.cgi?id=18177
36134
36135        - Change XMLHttpRequest variable m_encoding to m_responseEncoding.
36136
36137        - Change send local variable m_encoding to encoding.
36138
36139        No test case (no functionnal change).
36140
36141        * platform/network/ResourceResponseBase.h: Removed unused variable.
36142        * xml/XMLHttpRequest.cpp:
36143        (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding.
36144        (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding.
36145        (WebCore::XMLHttpRequest::didReceiveData): Ditto.
36146        * xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate
36147        the name as it is only used for response.
36148
361492008-03-27  Adam Roben  <aroben@apple.com>
36150
36151        Pass the right ExecStates to toJS when creating JS wrappers for
36152        objects from the inspected page
36153
36154        We now use an ExecState from the inspected page to create the JS
36155        wrappers for objects from the inspected page, rather than use an
36156        ExecState from the Inspector.
36157
36158        Reviewed by Tim Hatcher.
36159
36160        * page/InspectorController.cpp:
36161        (WebCore::getResourceDocumentNode):
36162        (WebCore::InspectorController::focusNode):
36163        (WebCore::InspectorController::addDatabaseScriptResource):
36164
361652008-03-31  Adam Roben  <aroben@apple.com>
36166
36167        Stop relying on functions added to prototypes in the Inspector being
36168        callable on objects from the inspected window
36169
36170        Reviewed by Tim Hatcher.
36171
36172        * page/inspector/Console.js:
36173        (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node)
36174        instead of node.titleInfo().
36175        * page/inspector/StylesSidebarPane.js: Changed uses of
36176        getShorthandValue, getShorthandPriority, getLonghandProperties, and
36177        getUniqueStyleProperties to call them as functions instead of as
36178        methods on the CSSStyleDeclaration objects.
36179        * page/inspector/utilities.js: Removed Node.prototype.titleInfo, and
36180        changed our CSSStyleDeclaration methods to just be standalone
36181        functions.
36182
361832008-03-26  Adam Roben  <aroben@apple.com>
36184
36185        Fix an exception while adding a message to the console
36186
36187        Reviewed by Mark Rowe.
36188
36189        * page/inspector/ConsolePanel.js: Don't call addMessageToSource if the
36190        panel has no such method. This can happen if we get a message for,
36191        e.g., a Database.
36192
361932008-03-31  Brady Eidson  <beidson@apple.com>
36194
36195        Reviewed by Darin and Mitz's rubber stamp
36196
36197        Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
36198
36199        * page/EditorClient.h:
36200        * svg/graphics/SVGImageEmptyClients.h:
36201
36202        * platform/mac/PasteboardMac.mm:
36203        (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly
36204
362052008-03-31  Brady Eidson  <beidson@apple.com>
36206
36207        Reviewed by Mitz Pettel
36208
36209        Fix for http://bugs.webkit.org/show_bug.cgi?id=18183
36210
36211        Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and 
36212        therefore don't know how to make a layout test for it.
36213
36214        * loader/archive/ArchiveResource.cpp:
36215        (WebCore::ArchiveResource::response): Fix potential null dereference
36216
362172008-03-29  Adam Roben  <aroben@apple.com>
36218
36219        Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on
36220        Windows
36221
36222        <http://bugs.webkit.org/show_bug.cgi?id=18208>
36223
36224        We now keep track of all the plugin paths found each time refresh() is
36225        called. We'll only instantiate PluginPackages if there are new paths
36226        or paths with changed timestamps since the last time refresh() was
36227        called.
36228
36229        Reviewed by Darin Adler and Anders Carlsson.
36230
36231        * plugins/PluginDatabase.cpp:
36232        (WebCore::PluginDatabase::refresh):
36233          - Only instantiate PluginPackages if there is a new path or a path
36234            with a changed timestamp since we last ran refresh().
36235          - Cache the set of plugin paths found and their timestamps for the
36236            next call to refresh().
36237          - Only re-register MIME types if our set of plugins changed.
36238        * plugins/PluginDatabase.h: Added a new member to cache plugin paths
36239        and their timestamps.
36240
362412008-03-29  Adam Roben  <aroben@apple.com>
36242
36243        Separate filesystem crawling from PluginPackage instantiation
36244
36245        Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
36246        on Windows
36247        <http://bugs.webkit.org/show_bug.cgi?id=18208>
36248
36249        refresh() is now the only place where PluginPackages are instantiated.
36250        refresh() now asks for a set of plugins that no longer exist on disk,
36251        and the set of all plugin files in our plugin directories. Using these
36252        two sets we can update our instantiated plugins without copying any
36253        HashSets. The code in refresh() and in the platform-specific methods
36254        to crawl the filesystem is now quite a bit simpler.
36255
36256        PluginDatabase now stores both a PluginSet and a HashMap that maps
36257        plugin paths to PluginPackages. This allows us to quickly determine
36258        whether we already have a PluginPackage instantiated for a particular
36259        path. The new add/remove methods handle the modification of these two
36260        collections.
36261
36262        A nice side effect of all this is that refresh() no longer copies any
36263        HashSets.
36264
36265        Reviewed by Mitz Pettel.
36266
36267        * plugins/PluginDatabase.cpp:
36268        (WebCore::PluginDatabase::refresh): Unload any plugins that have been
36269        deleted from disk, and add any plugins that either weren't installed
36270        last time, or have changed since last time.
36271        (WebCore::PluginDatabase::getDeletedPlugins): Added.
36272        (WebCore::PluginDatabase::add): Added. Returns whether or not the
36273        PluginPackage was actually added to the database (duplicates won't be
36274        added).
36275        (WebCore::PluginDatabase::remove): Added.
36276        * plugins/PluginDatabase.h:
36277        * plugins/PluginPackage.h:
36278        (WebCore::PluginPackage::path): Added.
36279        (WebCore::PluginPackage::lastModified): Added.
36280        * plugins/gtk/PluginDatabaseGtk.cpp:
36281        (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from
36282        getPluginsInDirectories. Now fills a HashSet of Strings instead of
36283        instantiated PluginPackages.
36284        * plugins/win/PluginDatabaseWin.cpp:
36285        (WebCore::addPluginPathsFromRegistry): Ditto.
36286        (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
36287
362882008-03-29  Adam Roben  <aroben@apple.com>
36289
36290        Change getPluginsInDirectories to use an out parameter
36291
36292        This avoids copying a HashSet.
36293
36294        Reviewed by Mitz Pettel.
36295
36296        * plugins/PluginDatabase.cpp:
36297        (WebCore::PluginDatabase::refresh):
36298        * plugins/PluginDatabase.h:
36299        * plugins/gtk/PluginDatabaseGtk.cpp:
36300        (WebCore::PluginDatabase::getPluginsInDirectories):
36301        * plugins/win/PluginDatabaseWin.cpp:
36302        (WebCore::PluginDatabase::getPluginsInDirectories):
36303
363042008-03-29  Adam Roben  <aroben@apple.com>
36305
36306        Make some PluginPackage methods return const String&
36307
36308        Reviewed by Mitz Pettel.
36309
36310        * plugins/PluginPackage.h:
36311
363122008-03-29  Adam Roben  <aroben@apple.com>
36313
36314        Rename PluginDatabase's "PluginPaths" to "PluginDirectories"
36315
36316        The code expects these paths to all be directories, so it seems good
36317        to refer to them as such.
36318
36319        This patch just changes "Paths" to "Directories" and "Path" to
36320        "Directory".
36321
36322        Reviewed by Mitz Pettel.
36323
36324        * platform/qt/TemporaryLinkStubs.cpp:
36325        * platform/wx/TemporaryLinkStubs.cpp:
36326        * plugins/PluginDatabase.cpp:
36327        (WebCore::PluginDatabase::installedPlugins):
36328        (WebCore::PluginDatabase::refresh):
36329        * plugins/PluginDatabase.h:
36330        (WebCore::PluginDatabase::setPluginDirectories):
36331        * plugins/gtk/PluginDatabaseGtk.cpp:
36332        (WebCore::PluginDatabase::getPluginsInDirectories):
36333        * plugins/win/PluginDatabaseWin.cpp:
36334        (WebCore::PluginDatabase::getPluginsInDirectories):
36335        (WebCore::safariPluginsDirectory):
36336        (WebCore::PluginDatabase::defaultPluginDirectories):
36337        (WebCore::PluginDatabase::isPreferredPluginDirectory):
36338        * plugins/win/PluginPackageWin.cpp:
36339        (WebCore::PluginPackage::compare):
36340
363412008-03-29  Adam Roben  <aroben@apple.com>
36342
36343        Remove PlatformFileTime
36344
36345        This typedef is time_t on all platforms, so we can just get rid of the
36346        typedef.
36347
36348        Reviewed by Mitz Pettel.
36349
36350        * platform/FileSystem.h:
36351        * plugins/PluginPackage.cpp:
36352        * plugins/PluginPackage.h:
36353
363542008-03-29  Adam Roben  <aroben@apple.com>
36355
36356        Change PlatformFileTime on Windows to be time_t
36357
36358        This matches other platforms and our existing functions in
36359        FileSystem.h. It will also let us get rid of PlatformFileTime
36360        altogether.
36361
36362        Reviewed by Mitz Pettel.
36363
36364        * platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
36365        * plugins/win/PluginDatabaseWin.cpp:
36366        (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get
36367        the modification time to pass to PluginPackage::create.
36368        (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
36369        * plugins/win/PluginPackageWin.cpp:
36370        (WebCore::PluginPackage::hash): Updated to use m_lastModified as a
36371        time_t.
36372        (WebCore::PluginPackage::equal): Ditto.
36373
363742008-03-29  Adam Roben  <aroben@apple.com>
36375
36376        Make PluginPackage work like our other RefCounted classes
36377
36378        PluginPackage now starts with a ref count of 1, and its createPackage
36379        method now returns a PassRefPtr instead of a raw pointer.
36380
36381        Reviewed by Darin Adler.
36382
36383        * plugins/PluginPackage.cpp:
36384        (WebCore::PluginPackage::PluginPackage): Removed explicit call to the
36385        RefCounted constructor so that we'll start with a ref count of 1.
36386        (WebCore::PluginPackage::createPackage): Changed to return a
36387        PassRefPtr.
36388        * plugins/PluginPackage.h:
36389        * plugins/gtk/PluginDatabaseGtk.cpp:
36390        (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the
36391        newly-created PluginPackage in a RefPtr.
36392        * plugins/win/PluginDatabaseWin.cpp:
36393        (WebCore::addPluginsFromRegistry): Ditto.
36394        (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
36395
363962008-03-29  Adam Roben  <aroben@apple.com>
36397
36398        Fix Bug 18214: WebKit will sometimes load duplicate plugins
36399
36400        <http://bugs.webkit.org/show_bug.cgi?id=18214>
36401
36402        We now compare 3 things to determine if two PluginPackages are equal:
36403          1) Name
36404          2) Description
36405          3) Supported MIME types
36406
36407        This matches Gecko's equality logic for plugins (implemented in
36408        nsPluginTag::Equals).
36409
36410        Reviewed by Darin Adler.
36411
36412        * plugins/win/PluginPackageWin.cpp:
36413        (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to
36414        calculate the hash.
36415        (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to
36416        determine equality.
36417
364182008-03-31  Simon Hausmann  <hausmann@webkit.org>
36419
36420        Fix the Qt build.
36421
36422        ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
36423        ResourceHandle.h.
36424
36425        * platform/network/ResourceHandleInternal.h:
36426
364272008-03-31  Rob Buis  <buis@kde.org>
36428
36429        Reviewed by Darin.
36430
36431        http://bugs.webkit.org/show_bug.cgi?id=15595
36432        marker property doesn't show up correctly as "shorthand" in inspector
36433
36434        Make sure parsing the marker property sets the individual
36435        marker properties as implicit with marker as shorthand.
36436        Also let CSSStyleDecleration::getPropertyValue return
36437        the correct value for the marker property.
36438
36439        * css/CSSMutableStyleDeclaration.cpp:
36440        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
36441        * css/CSSParser.cpp:
36442        * css/CSSParser.h:
36443        (WebCore::ShorthandScope::ShorthandScope):
36444        (WebCore::ShorthandScope::~ShorthandScope):
36445        * css/SVGCSSParser.cpp:
36446        (WebCore::CSSParser::parseSVGValue):
36447
364482008-03-30  Eric Seidel  <eric@webkit.org>
36449
36450        Reviewed by Oliver.
36451
36452        Make AMatthews life easier -- fix the SVG_FILTERS build
36453
36454        Build fix only, no tests.
36455
36456        * svg/SVGComponentTransferFunctionElement.cpp:
36457        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
36458        * svg/SVGFEColorMatrixElement.cpp:
36459        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
36460        * svg/SVGFEDiffuseLightingElement.cpp:
36461        * svg/SVGFEGaussianBlurElement.cpp:
36462        * svg/SVGFEImageElement.cpp:
36463        (WebCore::SVGFEImageElement::SVGFEImageElement):
36464        * svg/SVGFESpecularLightingElement.cpp:
36465        * svg/SVGFETurbulenceElement.cpp:
36466        * svg/SVGFilterElement.cpp:
36467        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
36468        * svg/graphics/filters/SVGFEBlend.cpp:
36469        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
36470        * svg/graphics/filters/SVGFEComposite.cpp:
36471        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
36472        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
36473        * svg/graphics/filters/SVGFEImage.cpp:
36474        * svg/graphics/filters/SVGFEMerge.cpp:
36475        * svg/graphics/filters/SVGFEMorphology.cpp:
36476        * svg/graphics/filters/SVGFEOffset.cpp:
36477        * svg/graphics/filters/SVGFESpecularLighting.cpp:
36478        * svg/graphics/filters/SVGFETurbulence.cpp:
36479
364802008-03-30  Dan Bernstein  <mitz@apple.com>
36481
36482        Reviewed by Sam Weinig.
36483
36484        - fix http://bugs.webkit.org/show_bug.cgi?id=18115
36485          REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts
36486
36487        Test: fast/repaint/lines-with-layout-delta.html
36488
36489        * rendering/RenderObject.cpp:
36490        (WebCore::RenderObject::repaintRectangle): Made this method take layout
36491        delta into account.
36492
364932008-03-30  Dan Bernstein  <mitz@apple.com>
36494
36495        Reviewed by Maciej Stachowiak.
36496
36497        - fix assertion failure in CSSParser.cpp's equalIgnoringCase() when
36498          parsing certain transforms.
36499
36500        Test: fast/css/transform-function-lowercase-assert.html
36501
36502        * css/CSSParser.cpp:
36503        (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to
36504        always pass a lowercase string as the second argument of
36505        equalIgnoringCase().
36506
365072008-03-30  Mark Rowe  <mrowe@apple.com>
36508
36509        ARM build fix.
36510
36511        * platform/text/AtomicString.cpp:
36512        (WebCore::equal): Use correct variable name.
36513
365142008-03-30  Hiroyuki Ikezoe  <poincare@ikezoe.net>
36515
36516        Reviewed by Alp Toker.
36517
36518        http://bugs.webkit.org/show_bug.cgi?id=18036
36519        Rendering invalid japanese characters with pango backend.
36520
36521        * platform/graphics/gtk/FontPlatformDataPango.cpp:
36522        (FontPlatformData::FontPlatformData): Set PangoFontDescription for
36523        PangoContext explicitly to use proper font.
36524
365252008-03-30  Rob Buis  <buis@kde.org>
36526
36527        Reviewed by Oliver.
36528
36529        http://bugs.webkit.org/show_bug.cgi?id=17633
36530        SVG: modifying x & y attribute of text element from JS fails
36531
36532        Make SVG text relayout when x, y attribute is changed from js.
36533
36534        * svg/SVGTextContentElement.cpp:
36535        (WebCore::SVGTextContentElement::isKnownAttribute):
36536        * svg/SVGTextContentElement.h:
36537        * svg/SVGTextElement.cpp:
36538        (WebCore::SVGTextElement::svgAttributeChanged):
36539        * svg/SVGTextElement.h:
36540        * svg/SVGTextPositioningElement.cpp:
36541        (WebCore::SVGTextPositioningElement::isKnownAttribute):
36542        * svg/SVGTextPositioningElement.h:
36543
365442008-03-28  Maciej Stachowiak  <mjs@apple.com>
36545
36546        Reviewed by Oliver.
36547
36548        - yet still more bindings speedup
36549        
36550        Make AtomicString straight from UString in handcoded bindings
36551
36552        * bindings/js/JSElementCustom.cpp:
36553        (WebCore::JSElement::setAttribute):
36554        (WebCore::JSElement::setAttributeNS):
36555        * dom/Document.cpp:
36556        (WebCore::Document::createElement):
36557        * dom/Document.h:
36558        * html/HTMLDocument.cpp:
36559        (WebCore::HTMLDocument::createElement):
36560        * html/HTMLDocument.h:
36561
365622008-03-29  Sam Weinig  <sam@webkit.org>
36563
36564        Reviewed by Darin Adler.
36565
36566        Fix for <rdar://problem/5828873>
36567
36568        Since NSURL is allowing invalid urls to be loaded, we need to
36569        check the URL validity at the ResourceHandle level and fire off
36570        a cannotShowURL error.
36571
36572        * loader/FrameLoader.cpp:
36573        (WebCore::FrameLoader::cannotShowURLError):
36574        * loader/FrameLoader.h:
36575        * loader/ResourceLoader.cpp:
36576        (WebCore::ResourceLoader::cannotShowURLError):
36577        (WebCore::ResourceLoader::wasBlocked):
36578        (WebCore::ResourceLoader::cannotShowURL):
36579        * loader/ResourceLoader.h:
36580        * platform/KURL.h:
36581        (WebCore::KURL::isValid):
36582        * platform/network/ResourceHandle.cpp:
36583        (WebCore::ResourceHandle::create):
36584        (WebCore::ResourceHandle::scheduleFailure):
36585        (WebCore::ResourceHandle::fireFailure):
36586        (WebCore::portAllowed):
36587        * platform/network/ResourceHandle.h:
36588        (WebCore::ResourceHandle::):
36589        * platform/network/ResourceHandleClient.h:
36590        (WebCore::ResourceHandleClient::cannotShowURL):
36591        * platform/network/ResourceHandleInternal.h:
36592        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
36593
365942008-03-29  Darin Adler  <darin@apple.com>
36595
36596        Reviewed by Mitz.
36597
36598        - more bindings speedup
36599
36600        When I changed the temporary variables to be UString that means that the
36601        valueToString functions also need to return UString to avoid converting
36602        from UString to String twice.
36603
36604        * bindings/js/kjs_binding.cpp:
36605        (WebCore::valueToStringWithNullCheck): Changed return value to UString.
36606        (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
36607        * bindings/js/kjs_binding.h: Ditto.
36608
366092008-03-29  Darin Adler  <darin@apple.com>
36610
36611        Reviewed by Sam.
36612
36613        * DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
36614
366152008-03-29  Darin Adler  <darin@apple.com>
36616
36617        Reviewed by Sam.
36618
36619        - tweak handling of the class attribute to speed up code that
36620          sets it but never needs to parse it
36621
36622        6% speedup of Acid3 test 26
36623
36624        * css/CSSStyleSelector.cpp:
36625        (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual
36626        classNames function since the hasClass bit can only be set for a
36627        StyledElement.
36628        (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also
36629        streamlined the code a bit for the tag matching as well.
36630
36631        * dom/ClassNames.cpp:
36632        (WebCore::hasNonASCIIOrUpper): Added. This function does what other
36633        callers seem to want isLower() to do. We should merge this with
36634        isLower() in a subsequent cleanup pass.
36635        (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute.
36636        Turns the string into a vector.
36637        (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
36638
36639        * dom/ClassNames.h: Added a separate ClassNameData class so we could hold
36640        the string and case folding flag as well as the vector. Changed ClassNames
36641        to have a set function rather than a parseClassAttribute function. Removed
36642        the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
36643
36644        * dom/ClassNodeList.cpp:
36645        (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the
36646        parseClassAttribute function.
36647        (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode
36648        check, since hasClass will only be true for StyledElement nodes. Use the new
36649        containsAll function in ClassNames instead of having a loop here.
36650
36651        * dom/ClassNodeList.h: Removed unneeded forward declaration.
36652
36653        * dom/Document.cpp: Removed unneeded include.
36654
36655        * dom/Element.cpp:
36656        (WebCore::Element::cloneNode): Changed code to copy attributes to use a
36657        function call instead of the assignment operator. This paves the way to
36658        making the function more efficient, using a virtual function.
36659        (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change
36660        (element -> m_element).
36661        (WebCore::Element::createAttributeMap): Changed to use create function instead of
36662        calling the constructor directly.
36663        * dom/Element.h: Removed unneeded virtual getClassNames function.
36664        Changed the argument to setAttributeMap to be a PassRefPtr.
36665
36666        * dom/NamedAttrMap.cpp:
36667        (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element).
36668        (WebCore::NamedAttrMap::getNamedItem): Ditto.
36669        (WebCore::NamedAttrMap::removeNamedItem): Ditto.
36670        (WebCore::NamedAttrMap::setNamedItem): Ditto.
36671        (WebCore::NamedAttrMap::item): Ditto.
36672        (WebCore::NamedAttrMap::detachFromElement): Ditto.
36673        (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator.
36674        (WebCore::NamedAttrMap::addAttribute): Ditto.
36675        (WebCore::NamedAttrMap::removeAttribute): Ditto.
36676        (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
36677        * dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added
36678        a new function, setAttributes, possibly to be made virtual in the future. Made
36679        isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected
36680        and added a create function.
36681
36682        * dom/NamedMappedAttrMap.cpp:
36683        (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to
36684        take a StyledElement.
36685        (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
36686
36687        * dom/NamedMappedAttrMap.h: Made constructor private and added a create function.
36688        Replaced theparseClassAttribute function with clearClass and setClass functions.
36689        Replaced the getClassNames function with a classNames function returning a reference
36690        instead of a pointer.
36691
36692        * dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded
36693        virtual function isReadOnlyNode.
36694
36695        * dom/StyledElement.cpp:
36696        (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to
36697        use new function names and took out uneeded special case for null attribute.
36698        (WebCore::StyledElement::createAttributeMap): Changed to use create function instead
36699        of a direct call to new.
36700
36701        * dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual
36702        inline classNames function.
36703
36704        * html/HTMLElement.cpp:
36705        (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a
36706        function call instead of the assignment operator.
36707
36708        * html/HTMLTokenizer.cpp:
36709        (WebCore::Token::addAttribute): Use create function instead of a a direct call
36710        to new.
36711
36712        * html/HTMLViewSourceDocument.cpp:
36713        (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new
36714        create function.
36715        (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto.
36716        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
36717        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
36718        (WebCore::HTMLViewSourceDocument::addText): Ditto.
36719        (WebCore::HTMLViewSourceDocument::addLink): Ditto.
36720        * html/HTMLViewSourceDocument.h: Ditto.
36721
36722        * svg/SVGUseElement.cpp:
36723        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy
36724        attributes to use a function call instead of the assignment operator.
36725        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
36726
367272008-03-29  Sam Weinig  <sam@webkit.org>
36728
36729        Reviewed by Brady Eidson.
36730
36731        Fix crash when canceling a resource load while port blocked failure
36732        timer is going.
36733
36734        Test: fast/loader/cancel-load-during-port-block-timer.html
36735
36736        * platform/network/ResourceHandle.cpp:
36737        (WebCore::ResourceHandle::scheduleBlockedFailure):
36738        (WebCore::ResourceHandle::fireBlockedFailure):
36739        * platform/network/ResourceHandleInternal.h:
36740        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
36741        Make the Timer a member variable of ResourceHandleInternal so
36742        that it can be canceled if the ResourceHandle is destroyed.
36743
367442008-03-28  Stephanie  <slewis@apple.com>
36745
36746        Fix 64bit build
36747
36748        * WebCore.LP64.exp:
36749        * loader/archive/cf/LegacyWebArchiveMac.mm:
36750        (WebCore::createResourceResponseFromMacArchivedData):
36751
367522008-03-28  Steve Falkenburg  <sfalken@apple.com>
36753
36754        Enabled LTCG on files within "page".
36755
36756        Rubber stamped by Oliver.
36757
36758        * WebCore.vcproj/WebCore.vcproj:
36759
367602008-03-28  Dan Bernstein  <mitz@apple.com>
36761
36762        Reviewed by Dave Hyatt.
36763
36764        - fix a percentage background position regression from r31389
36765
36766        Test: fast/backgrounds/background-position-1.html
36767
36768        * rendering/Length.h:
36769        (WebCore::Length::calcValue): Divide by 100.
36770        (WebCore::Length::calcMinValue): Ditto.
36771
367722008-03-28  David Hyatt  <hyatt@apple.com>
36773
36774        Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
36775        to match the reference rendering on Acid 3.
36776
36777        * platform/graphics/SimpleFontData.h:
36778        * platform/graphics/mac/FontMac.mm:
36779        (WebCore::Font::drawGlyphs):
36780        * platform/graphics/mac/SimpleFontDataMac.mm:
36781        (WebCore::SimpleFontData::platformInit):
36782        * platform/graphics/win/FontCGWin.cpp:
36783        (WebCore::Font::drawGlyphs):
36784        * platform/graphics/win/SimpleFontDataCGWin.cpp:
36785        (WebCore::SimpleFontData::platformInit):
36786        * rendering/RenderBlock.cpp:
36787        (WebCore::RenderBlock::positionNewFloats):
36788
367892008-03-28  Brady Eidson  <beidson@apple.com>
36790
36791        Reviewed by Darin Adler
36792
36793        More Kit->Core WebArchive changes.
36794
36795        Create an archive from the current selection in a frame
36796
36797        * WebCore.base.exp:
36798
36799        * loader/archive/cf/LegacyWebArchive.cpp:
36800        (WebCore::LegacyWebArchive::createFromSelection):
36801        * loader/archive/cf/LegacyWebArchive.h:
36802
368032008-03-28  Kevin McCullough  <kmccullough@apple.com>
36804
36805        - Somehow managed to duplicate code :(
36806
36807        * xml/XMLHttpRequest.cpp:
36808        (WebCore::XMLHttpRequest::didFinishLoading):
36809
368102008-03-28  Kevin McCullough  <kmccullough@apple.com>
36811
36812        - Missed some changes in previous checkin.
36813
36814        * xml/XMLHttpRequest.cpp:
36815        (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader.
36816        (WebCore::XMLHttpRequest::didFinishLoading):
36817
368182008-03-28  Kevin McCullough  <kmccullough@apple.com>
36819
36820        Reviewed by Adam.
36821
36822        -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
36823        -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
36824        -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
36825        - Send the XMLHttpRequest data to the Inspector Controller.
36826
36827        * loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case.
36828        (WebCore::FrameLoader::loadResourceSynchronously):
36829        * loader/FrameLoader.h: Ditto.
36830        * page/InspectorController.cpp:
36831        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will
36832        be XHR and the encoding is not used (we decoded earlier).
36833        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing
36834        the KJS::UString::Rep.
36835        (WebCore::InspectorResource::setXMLHttpRequestProperties):
36836        (WebCore::InspectorResource::sourceString): Return the decoded source.
36837        (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource.
36838        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
36839        * page/InspectorController.h: Pass a UString instead of copying to a WebCore::String.  In case we
36840        never ask for the string's contents this will save us an extra copy.
36841        * xml/XMLHttpRequest.cpp:
36842        (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier
36843        but we need it to find the InspectorResource in order to tell it that it was loaded via XHR.
36844        (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded
36845        via XHR.
36846        * xml/XMLHttpRequest.h: Ditto.
36847
368482008-03-28  Brady Eidson  <beidson@apple.com>
36849
36850        Reviewed by Sam Weinig
36851
36852        WebArchive saga continues - Can now make archives from ranges in WebCore
36853
36854        Again, previous layout test coverage exercised this code
36855
36856        * WebCore.base.exp:
36857
36858        * editing/markup.cpp:
36859        (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
36860        * editing/markup.h:
36861
36862        * loader/archive/cf/LegacyWebArchive.cpp:
36863        (WebCore::LegacyWebArchive::create):
36864        * loader/archive/cf/LegacyWebArchive.h:
36865
368662008-03-28  Stephanie Lewis  <slewis@apple.com>
36867
36868        windows build fix.
36869
36870        * platform/win/MainThreadWin.cpp:
36871        (WebCore::initializeThreadingAndMainThread):
36872
368732008-03-28  Brady Eidson  <beidson@apple.com>
36874
36875        Reviewed by Sam Weinig
36876
36877        More Kit->Core webarchive code movement
36878
36879        * WebCore.base.exp:
36880        * editing/markup.cpp:
36881        (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including 
36882          the document type string, which the WebKit implementation did indirectly
36883        * editing/markup.h:
36884
368852008-03-28  Darin Adler  <darin@apple.com>
36886
36887        Reviewed by Maciej.
36888
36889        - cut down on copying and refcount churn a little by using references a bit more for
36890          KURL and String
36891
36892        * bindings/js/JSXMLHttpRequest.cpp:
36893        (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
36894        * css/StyleSheet.h:
36895        (WebCore::StyleSheet::href): Return const String& instead of String.
36896        (WebCore::StyleSheet::title): Ditto.
36897        * dom/Document.cpp:
36898        (WebCore::Document::completeURL): Use const KURL* for a local variable instead of
36899        KURL to avoid copying the KURL.
36900        * dom/Element.cpp:
36901        (WebCore::Element::baseURI): Use const KURL& instead of KURL.
36902        * html/HTMLAnchorElement.cpp:
36903        (WebCore::HTMLAnchorElement::hostname): Ditto.
36904        * html/HTMLFrameElementBase.cpp:
36905        (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
36906        * html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
36907        * page/ContextMenuController.cpp:
36908        (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary
36909        KURL.
36910        * platform/SecurityOrigin.cpp:
36911        (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
36912
369132008-03-28  Alexey Proskuryakov  <ap@webkit.org>
36914
36915        Reviewed by Sam Weinig.
36916
36917        Fix a dtoa thread safety issue.
36918
36919        * ForwardingHeaders/kjs/InitializeThreading.h: Added.
36920        * platform/MainThread.cpp:
36921        * platform/MainThread.h:
36922        (WebCore::initializeThreadingAndMainThread): Call KJS::initializeThreading instead of its
36923        WTF counterpart.
36924
369252008-03-28  Brent Fulgham  <bfulgham@gmail.com>
36926
36927        Reviewed by Maciej, landed by Brady
36928
36929        Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)
36930
36931        * platform/graphics/win/GraphicsContextCairoWin.cpp:
36932        (WebCore::GraphicsContext::getWindowsContext):
36933        (WebCore::GraphicsContext::releaseWindowsContext):
36934
369352008-03-28  Brady Eidson  <beidson@apple.com>
36936
36937        Reviewed by Darin
36938
36939        "Yet another transitional step" to empty out WebKit-based code for archiving.
36940
36941        With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
36942        entirely within WebCore, and opens the door to saving WebArchives on Windows.
36943
36944        This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
36945        covered the relevant code
36946
36947        * WebCore.base.exp:
36948        * loader/archive/cf/LegacyWebArchive.cpp:
36949        (WebCore::LegacyWebArchive::create):
36950        * loader/archive/cf/LegacyWebArchive.h:
36951
369522008-03-28  Jasper Bryant-Greene  <jasper@unix.geek.nz>
36953
36954        Reviewed by Alp Toker.
36955
36956        http://bugs.webkit.org/show_bug.cgi?id=18061
36957        PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets
36958
36959        Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.
36960
36961        * platform/gtk/PlatformScrollBarGtk.cpp:
36962        (PlatformScrollbar::geometryChanged):
36963
369642008-03-28  Brady Eidson  <beidson@apple.com>
36965
36966        Reviewed by Darin
36967
36968        Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
36969        created from a String.
36970
36971        * ForwardingHeaders/wtf/unicode/UTF8.h: Added.
36972        * platform/text/PlatformString.h:
36973        * platform/text/String.cpp:
36974        (WebCore::utf8Buffer):
36975
369762008-03-28  Darin Adler  <darin@apple.com>
36977
36978        Reviewed by Adam.
36979
36980        - eliminate a tiny bit of unnecessary refcount churn
36981
36982        * bindings/js/JSEventTargetBase.cpp:
36983        (WebCore::eventNameForPropertyToken): Return const AtomicString&.
36984        * bindings/js/JSEventTargetBase.h:
36985        (WebCore::JSEventTargetBase::getValueProperty): Update for above change.
36986        (WebCore::JSEventTargetBase::putValueProperty): Ditto.
36987
369882008-03-28  Simon Hausmann  <hausmann@webkit.org>
36989
36990        Fix the Qt build.
36991
36992        * rendering/Length.h: Include wtf/MathExtras.h for round().
36993
369942008-03-28  David Hyatt  <hyatt@apple.com>
36995
36996        Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
36997        pixel values.  This matches other browsers.
36998
36999        Reviewed by maciej
37000
37001        Added fast/backgrounds/background-position-rounding.html
37002
37003        * rendering/Length.h:
37004        (WebCore::Length::calcValue):
37005        (WebCore::Length::calcMinValue):
37006        * rendering/RenderBox.cpp:
37007        (WebCore::RenderBox::calculateBackgroundImageGeometry):
37008
370092008-03-27  Kevin Ollivier  <kevino@theolliviers.com>
37010
37011        wx build fix. Return a default value for operator == 
37012        when !USE(WXGC) (not implemented in that case).
37013
37014        * platform/graphics/wx/AffineTransformWx.cpp:
37015        (WebCore::AffineTransform::operator== ):
37016
370172008-03-27  Maciej Stachowiak  <mjs@apple.com>
37018
37019        - fix build
37020
37021        * svg/SVGGlyphMap.h:
37022        (WebCore::GlyphMapNode::create):
37023
370242008-03-27  Brady Eidson  <beidson@apple.com>
37025
37026        Forgot a small requested change before committing
37027
37028        * loader/DocumentLoader.cpp:
37029        (WebCore::DocumentLoader::mainResource):
37030
370312008-03-27  Brady Eidson  <beidson@apple.com>
37032
37033        Reviewed by Adam Roben
37034
37035        Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
37036        as the push to core-ify WebArchives continues.
37037
37038        This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
37039        WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
37040        Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
37041        (as in "while archiving a page") are accepting of null or empty data.
37042
37043        This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
37044
37045        * WebCore.base.exp:
37046        * loader/DocumentLoader.cpp:
37047        (WebCore::DocumentLoader::archiveResourceForURL): Make this const
37048        (WebCore::DocumentLoader::mainResource):
37049        (WebCore::DocumentLoader::subresource): Make this const and relocate
37050        (WebCore::DocumentLoader::getSubresources):
37051        * loader/DocumentLoader.h:
37052
370532008-03-27  Maciej Stachowiak  <mjs@apple.com>
37054
37055        Reviewed by Darin.
37056
37057        - fixed many buildbot leaks in glyph map code
37058
37059        * svg/SVGGlyphMap.h:
37060        (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking
37061        these objects.
37062        (WebCore::SVGGlyphMap::add): Call create instead of using new.
37063
370642008-03-27  Maciej Stachowiak  <mjs@apple.com>
37065
37066        Rubber stamped by Oliver.
37067
37068        - re-fix Acid3, some code was incorrectly moved when fixing the Qt build
37069
37070        * rendering/SVGRootInlineBox.cpp:
37071        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
37072
370732008-03-27  Simon Hausmann  <hausmann@webkit.org>
37074
37075        Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.
37076
37077        * platform/graphics/qt/FontQt.cpp:
37078        (WebCore::Font::floatWidth): Forgot to adjust this signture for Qt 4.4.
37079        * bindings/js/JSSVGElementWrapperFactory.cpp: Added a missing #ifdef
37080        for SVG_FONTS
37081
370822008-03-27  Simon Hausmann  <hausmann@webkit.org>
37083
37084        Reviewed by Eric Seidel.
37085
37086        Fix the Qt build and the build without ENABLE(SVG_FONTS)
37087
37088        * WebCore.pro: Removed ElementTimeControl.idl as it's ObjC only and
37089        removed some SVG_FONTS specific idl files from IDL_BINDINGS for now
37090        * bindings/js/JSSVGElementWrapperFactory.cpp: altGlyph is
37091        ENABLE(SVG_FONTS) only
37092        * platform/graphics/qt/FontQt.cpp:
37093        (WebCore::Font::floatWidth): Adjust the function signature to Font.h
37094        * rendering/SVGRootInlineBox.cpp:
37095        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Fix
37096        compilation without SVG_FONTS
37097        * svg/SVGAltGlyphElement.cpp: Compile only if ENABLE(SVG_FONTS)
37098        * svg/SVGAltGlyphElement.h: Ditto
37099        * svg/svgtags.in: hkern and altGlyph are SVG_FONTS only.
37100        * svg/SVGTSpanElement.cpp:
37101        (WebCore::SVGTSpanElement::childShouldCreateRenderer): Compile without
37102        SVG_FONTS
37103        * svg/SVGTextElement.cpp:
37104        (WebCore::SVGTextElement::childShouldCreateRenderer): Ditto
37105        * svg/SVGTextPathElement.cpp:
37106        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
37107
371082008-03-26  Timothy Hatcher  <timothy@apple.com>
37109
37110        Rename some Inspector files to facilitate the up-coming UI refresh changes.
37111
37112        http://bugs.webkit.org/show_bug.cgi?id=17773
37113
37114        Rubber-stamped by Adam Roben.
37115
37116        * WebCore.vcproj/WebCore.vcproj:
37117        * page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
37118        * page/inspector/ConsolePanel.js: Removed.
37119        * page/inspector/DocumentPanel.js: Removed.
37120        * page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
37121        * page/inspector/FontPanel.js: Removed.
37122        * page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
37123        * page/inspector/ImagePanel.js: Removed.
37124        * page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
37125        * page/inspector/NetworkPanel.js: Removed.
37126        * page/inspector/ResourcePanel.js: Removed.
37127        * page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
37128        * page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
37129        * page/inspector/SourcePanel.js: Removed.
37130        * page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
37131        * page/inspector/WebKit.qrc:
37132        * page/inspector/inspector.html:
37133
371342008-03-26  Steve Falkenburg  <sfalken@apple.com>
37135
37136        Enable LTCG on css, dom files in WebCore
37137
37138        Reviewed by Stephanie.
37139
37140        * WebCore.vcproj/WebCore.vcproj:
37141
371422008-03-26  Stephanie Lewis  <slewis@apple.com>
37143
37144        Fix Windows Build
37145
37146        * WebCore.vcproj/WebCore.vcproj:
37147
371482008-03-26  Mark Rowe  <mrowe@apple.com>
37149
37150        Speculative GTK build fix.
37151
37152        * GNUmakefile.am:
37153
371542008-03-26  Mark Rowe  <mrowe@apple.com>
37155
37156        Mac build fix.
37157
37158        * WebCore.base.exp:  Remove nonexistent symbol from the export file.
37159
371602008-03-26  Sam Weinig  <sam@webkit.org>
37161
37162        Try and fix Gtk+ again.
37163
37164        * GNUmakefile.am:
37165
371662008-03-26  Dan Bernstein  <mitz@apple.com>
37167
37168        Reviewed by Dave Hyatt.
37169
37170        - fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese
37171
37172        * html/HTMLParser.cpp:
37173        (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren()
37174        on the new node.
37175        (WebCore::HTMLParser::handleError): Ditto.
37176        (WebCore::HTMLParser::reopenResidualStyleTags): Ditto.
37177        (WebCore::HTMLParser::pushBlock): Removed incorrect call to
37178        beginParsingChildren() on the current node.
37179        * manual-tests/applet-finish-parsing-children.html: Added.
37180        * manual-tests/resources/DrawMessage.class: Added.
37181
371822008-03-26  Brady Eidson  <beidson@apple.com>
37183
37184        Reviewed by Darin
37185
37186        When we create a WebArchive, we walk every node from some starting point, asking each node
37187        along the way "What are your subresource URLs?"
37188
37189        That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
37190        WebCore::Node
37191
37192        * WebCore.base.exp:
37193        
37194        * dom/Node.cpp:
37195        (WebCore::Node::getSubresourceURLs):
37196        (WebCore::Node::getSubresourceAttributeStrings):  Virtual and empty.  Subclasses of Node that have 
37197          subresources will override it.
37198
37199        * dom/ProcessingInstruction.cpp:
37200        (WebCore::ProcessingInstruction::getSubresourceAttributeStrings):
37201        * dom/ProcessingInstruction.h:
37202        * html/HTMLBodyElement.cpp:
37203        (WebCore::HTMLBodyElement::getSubresourceAttributeStrings):
37204        * html/HTMLBodyElement.h:
37205        * html/HTMLEmbedElement.cpp:
37206        (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings):
37207        * html/HTMLEmbedElement.h:
37208        * html/HTMLImageElement.cpp:
37209        (WebCore::HTMLImageElement::getSubresourceAttributeStrings):
37210        * html/HTMLImageElement.h:
37211        * html/HTMLInputElement.cpp:
37212        (WebCore::HTMLInputElement::getSubresourceAttributeStrings):
37213        * html/HTMLInputElement.h:
37214        * html/HTMLLinkElement.cpp:
37215        (WebCore::HTMLLinkElement::getSubresourceAttributeStrings):
37216        * html/HTMLLinkElement.h:
37217        * html/HTMLObjectElement.cpp:
37218        (WebCore::HTMLObjectElement::getSubresourceAttributeStrings):
37219        * html/HTMLObjectElement.h:
37220        * html/HTMLParamElement.cpp:
37221        (WebCore::HTMLParamElement::getSubresourceAttributeStrings):
37222        * html/HTMLParamElement.h:
37223        * html/HTMLScriptElement.cpp:
37224        (WebCore::HTMLScriptElement::getSubresourceAttributeStrings):
37225        * html/HTMLScriptElement.h:
37226        * html/HTMLTableCellElement.cpp:
37227        (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings):
37228        * html/HTMLTableCellElement.h:
37229        * html/HTMLTableElement.cpp:
37230        (WebCore::HTMLTableElement::getSubresourceAttributeStrings):
37231        * html/HTMLTableElement.h:
37232        * svg/SVGCursorElement.cpp:
37233        (WebCore::SVGCursorElement::getSubresourceAttributeStrings):
37234        * svg/SVGCursorElement.h:
37235        * svg/SVGFEImageElement.cpp:
37236        (WebCore::SVGFEImageElement::getSubresourceAttributeStrings):
37237        * svg/SVGFEImageElement.h:
37238        * svg/SVGImageElement.cpp:
37239        (WebCore::SVGImageElement::getSubresourceAttributeStrings):
37240        * svg/SVGImageElement.h:
37241        * svg/SVGScriptElement.cpp:
37242        (WebCore::SVGScriptElement::getSubresourceAttributeStrings):
37243        * svg/SVGScriptElement.h:
37244
372452008-03-26  Dan Bernstein  <mitz@apple.com>
37246
37247        Reviewed by Dave Hyatt.
37248
37249        - maintain subpixel-antialiasing when drawing text with a simple shadow
37250
37251        * platform/graphics/mac/FontMac.mm:
37252        (WebCore::Font::drawComplexText): If the shadow has a zero blur radius,
37253        draw the shadow by drawing the text at an offset instead of relying on
37254        Core Graphics shadows.
37255        (WebCore::Font::drawGlyphs): Ditto.
37256        * platform/graphics/win/FontCGWin.cpp:
37257        (WebCore::Font::drawGlyphs): Ditto.
37258
372592008-03-26  Brady Eidson  <beidson@apple.com>
37260
37261        Reviewed by Mark Rowe
37262
37263        Part of the continued push to move WebArchive-related code down to WebCore, this
37264        moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
37265
37266        * WebCore.base.exp:
37267        * loader/DocumentLoader.cpp:
37268        (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists
37269          Otherwise, fallback to an ArchiveResource from the current Archive if any.  Otherwise, return null
37270        * loader/DocumentLoader.h:
37271
37272        * loader/archive/ArchiveResource.cpp:
37273        (WebCore::ArchiveResource::create):
37274        (WebCore::ArchiveResource::ArchiveResource):
37275        * loader/archive/ArchiveResource.h:
37276
372772008-03-26  Sam Weinig  <sam@webkit.org>
37278
37279        Fix Gtk+ build.
37280
37281        * GNUmakefile.am:
37282
372832008-03-26  Mark Rowe  <mrowe@apple.com>
37284
37285        Rubber-stamped by Brady Eidson.
37286
37287        Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
37288
37289        * Configurations/WebCore.xcconfig:
37290
372912008-03-26  Brent Fulgham  <bfulgham@gmail.com>
37292
37293        Reviewed by Adam Roben.
37294
37295        Add necessary files and build commands to vcproj files to
37296        build a Curl-based Windows WebKit.  For details, see
37297        http://bugs.webkit.org/show_bug.cgi?id=17985
37298
37299        * WebCore.vcproj/WebCore.vcproj:
37300
373012008-03-26  Adam Roben  <aroben@apple.com>
37302
37303        Record JS exceptions triggered by the Inspector's use of JSC
37304
37305        We now dump all exceptions returned from JavaScriptCore into the
37306        Inspector's console.
37307
37308        The HANDLE_EXCEPTION macro records the line on which the exception was
37309        returned. It calls a new private handleException method on
37310        InspectorController.
37311
37312        Reviewed by Kevin McCullough.
37313
37314        * page/InspectorController.cpp:
37315        (WebCore::InspectorController::callSimpleFunction): Made this be a
37316        member of InspectorController so that it can call handleException.
37317        (WebCore::addSourceToFrame): Pass the exception pointer on to inner
37318        JSC calls, and check it after those calls return.
37319        (WebCore::getResourceDocumentNode): Ditto.
37320        (WebCore::search): Ditto. Also changed the name/type of an existing
37321        exception variable to ExceptionCode ec.
37322        (WebCore::databaseTableNames): Ditto.
37323        (WebCore::moveByUnrestricted): Ditto.
37324        (WebCore::InspectorController::~InspectorController): Check for and
37325        record exceptions as we call JSC.
37326        (WebCore::InspectorController::focusNode): Ditto.
37327        (WebCore::InspectorController::scriptObjectReady): Ditto.
37328        (WebCore::addHeaders): Added an exception parameter.
37329        (WebCore::scriptObjectForRequest): Ditto.
37330        (WebCore::scriptObjectForResponse): Ditto.
37331        (WebCore::InspectorController::addScriptResource): Check for and
37332        record exceptions as we call JSC.
37333        (WebCore::InspectorController::addAndUpdateScriptResource): Ditto.
37334        (WebCore::InspectorController::removeScriptResource): Ditto. Also
37335        moved the call to setScriptObject to before the JSC calls so that it
37336        will always be called even if we return early if JSC throws an
37337        exception.
37338        (WebCore::InspectorController::updateScriptResourceRequest): Check for
37339        and record exceptions as we call JSC.
37340        (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
37341        (WebCore::InspectorController::updateScriptResource): Ditto.
37342        (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
37343        (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
37344        Also moved the call to setScriptObject to before the JSC calls so that
37345        it will always be called even if we return early if JSC throws an
37346        exception.
37347        (WebCore::InspectorController::addScriptConsoleMessage): Check for and
37348        record exceptions as we call JSC.
37349        (WebCore::InspectorController::handleException): Added.
37350        * page/InspectorController.h:
37351
373522008-03-26  Darin Adler  <darin@apple.com>
37353
37354        Rubber stamped by Maciej.
37355
37356        - removed a couple log messages in error cases that are handled internally
37357
37358        * platform/text/TextCodecICU.cpp:
37359        (WebCore::TextCodecICU::decode): Removed the LOG_ERROR.
37360        * platform/text/mac/TextCodecMac.cpp:
37361        (WebCore::TextCodecMac::decode): Ditto.
37362
373632008-03-26  Sam Weinig  <sam@webkit.org>
37364
37365        Reviewed by Adam Roben.
37366
37367        * page/Location.idl: Don't enumerate toString.
37368
373692008-03-26  Mark Rowe  <mrowe@apple.com>
37370
37371        Release build fix.
37372
37373        * rendering/SVGRootInlineBox.cpp:
37374        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Initialize svgFont to zero.
37375
373762008-03-26  Maciej Stachowiak  <mjs@apple.com>
37377
37378        Reviewed by Hyatt and Adam.
37379
37380        Coded by me and Darin.
37381        
37382        - SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet) 
37383        
37384        Acid3 100/100
37385
37386        * DerivedSources.make:
37387        * WebCore.vcproj/WebCore.vcproj:
37388        * WebCore.xcodeproj/project.pbxproj:
37389        * platform/graphics/Font.cpp:
37390        (WebCore::Font::floatWidth):
37391        (WebCore::Font::isSVGFont):
37392        * platform/graphics/Font.h:
37393        * rendering/SVGInlineTextBox.cpp:
37394        (WebCore::SVGInlineTextBox::calculateGlyphWidth):
37395        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
37396        * rendering/SVGInlineTextBox.h:
37397        * rendering/SVGRootInlineBox.cpp:
37398        (WebCore::cummulatedWidthOrHeightOfTextChunk):
37399        (WebCore::SVGRootInlineBox::buildLayoutInformation):
37400        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
37401        * rendering/SVGRootInlineBox.h:
37402        (WebCore::LastGlyphInfo::LastGlyphInfo):
37403        * svg/SVGFont.cpp:
37404        (WebCore::SVGTextRunWalker::walk):
37405        (WebCore::Font::svgFont):
37406        (WebCore::floatWidthOfSubStringUsingSVGFont):
37407        (WebCore::Font::floatWidthUsingSVGFont):
37408        (WebCore::Font::drawTextUsingSVGFont):
37409        (WebCore::Font::selectionRectForTextUsingSVGFont):
37410        * svg/SVGFontElement.cpp:
37411        (WebCore::SVGFontElement::invalidateGlyphCache):
37412        (WebCore::SVGFontElement::ensureGlyphCache):
37413        (WebCore::parseUnicodeRange):
37414        (WebCore::parseUnicodeRangeList):
37415        (WebCore::stringMatchesUnicodeRange):
37416        (WebCore::matches):
37417        (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
37418        * svg/SVGFontElement.h:
37419        * svg/SVGGlyphElement.cpp:
37420        (WebCore::SVGGlyphElement::insertedIntoDocument):
37421        (WebCore::SVGGlyphElement::removedFromDocument):
37422        * svg/SVGHKernElement.cpp: Added.
37423        (WebCore::SVGHKernElement::SVGHKernElement):
37424        (WebCore::SVGHKernElement::~SVGHKernElement):
37425        (WebCore::SVGHKernElement::insertedIntoDocument):
37426        (WebCore::SVGHKernElement::removedFromDocument):
37427        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
37428        * svg/SVGHKernElement.h: Added.
37429        (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair):
37430        (WebCore::SVGHKernElement::rendererIsNeeded):
37431        * svg/SVGHKernElement.idl: Added.
37432        * svg/SVGTextContentElement.cpp:
37433        (WebCore::cummulatedCharacterRangeLength):
37434        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
37435        * svg/svgtags.in:
37436
374372008-03-26  Sam Weinig  <sam@webkit.org>
37438
37439        Reviewed by Adam Roben.
37440
37441        Autogenerate JSLocation.
37442
37443        * GNUmakefile.am:
37444        * WebCore.pro:
37445        * WebCore.vcproj/WebCore.vcproj:
37446        * WebCore.xcodeproj/project.pbxproj:
37447        * WebCoreSources.bkl:
37448        Add files.
37449
37450        * DerivedSources.make: Add Location, remove JSLocation.lut.h
37451        * bindings/js/JSDOMWindowBase.cpp:
37452        (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
37453        (WebCore::JSDOMWindowBase::getValueProperty):
37454        (WebCore::JSDOMWindowBase::put):
37455        (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
37456        (WebCore::JSDOMWindowBase::disconnectFrame):
37457        * bindings/js/JSDOMWindowBase.h:
37458        Remove manuel management of the Location object.
37459
37460        * bindings/js/JSDOMWindowCustom.cpp:
37461        (WebCore::JSDOMWindow::mark): Add marking of JSLocation.
37462        (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when
37463        safe and we need to keep Dashboard quirks.
37464
37465        * bindings/js/JSDocumentCustom.cpp:
37466        (WebCore::JSDocument::location):
37467        Fetch the location object using the normal toJS route.
37468
37469        * bindings/js/JSLocation.cpp: Removed.
37470        * bindings/js/JSLocation.h: Removed.
37471        * bindings/js/JSLocationCustom.cpp: Added.
37472        (WebCore::JSLocation::customGetOwnPropertySlot):
37473        (WebCore::JSLocation::customPut):
37474        (WebCore::JSLocation::deleteProperty):
37475        (WebCore::JSLocation::customGetPropertyNames):
37476        (WebCore::navigateIfAllowed):
37477        (WebCore::JSLocation::setHref):
37478        (WebCore::JSLocation::setProtocol):
37479        (WebCore::JSLocation::setHost):
37480        (WebCore::JSLocation::setHostname):
37481        (WebCore::JSLocation::setPort):
37482        (WebCore::JSLocation::setPathname):
37483        (WebCore::JSLocation::setSearch):
37484        (WebCore::JSLocation::setHash):
37485        (WebCore::JSLocation::replace):
37486        (WebCore::JSLocation::reload):
37487        (WebCore::JSLocation::assign):
37488        (WebCore::JSLocation::toString):
37489        Setter and Functions need custom implementations as they rely on the dynamic
37490        global object for determining the behavior of the navigation.
37491
37492        * history/CachedPage.cpp:
37493        (WebCore::CachedPage::CachedPage):
37494        (WebCore::CachedPage::restore):
37495        (WebCore::CachedPage::clear):
37496        * history/CachedPage.h:
37497        Removed all the special casing for location as it should be treated like all
37498        the other objects hanging off the window.
37499
37500        * page/DOMWindow.cpp:
37501        (WebCore::DOMWindow::clear):
37502        (WebCore::DOMWindow::location):
37503        * page/DOMWindow.h:
37504        (WebCore::DOMWindow::optionalLocation):
37505        * page/DOMWindow.idl:
37506        Add Location accessor and pointer getter for marking.
37507
37508        * page/Location.cpp: Added.
37509        (WebCore::Location::Location):
37510        (WebCore::Location::disconnectFrame):
37511        (WebCore::Location::url):
37512        (WebCore::Location::href):
37513        (WebCore::Location::protocol):
37514        (WebCore::Location::host):
37515        (WebCore::Location::hostname):
37516        (WebCore::Location::port):
37517        (WebCore::Location::pathname):
37518        (WebCore::Location::search):
37519        (WebCore::Location::hash):
37520        (WebCore::Location::toString):
37521        * page/Location.h: Added.
37522        (WebCore::Location::create):
37523        (WebCore::Location::frame):
37524        * page/Location.idl: Added.
37525
375262008-03-26  David Hyatt  <hyatt@apple.com>
37527
37528        Add support for the rendering and measurement of the <altGlyph> element in SVG.  This patch brings
37529        is half of what's needed to reach 100/100 on Acid3 and pass the test.  Maciej has coded up the other half. :)
37530
37531        Reviewed by mjs
37532
37533        Added svg/custom/altGlyph.svg
37534
37535        * svg/SVGAltGlyphElement.cpp:
37536        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
37537        (WebCore::SVGAltGlyphElement::glyphElement):
37538        * svg/SVGAltGlyphElement.h:
37539        * svg/SVGFont.cpp:
37540        (WebCore::SVGTextRunWalker::walk):
37541        * svg/SVGFontFaceElement.cpp:
37542        (WebCore::SVGFontFaceElement::insertedIntoDocument):
37543        * svg/SVGGlyphElement.cpp:
37544        (WebCore::SVGGlyphElement::insertedIntoDocument):
37545        (WebCore::SVGGlyphElement::removedFromDocument):
37546
375472008-03-26  Adam Roben  <aroben@apple.com>
37548
37549        Turn on SVG animation on Windows
37550
37551        Also touched some files to force things to rebuild/regenerate.
37552
37553        * WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION.
37554        * WebCore.vcproj/build-generated-files.sh: Ditto.
37555        * bindings/scripts/CodeGenerator.pm: Touched.
37556        * config.h: Touched.
37557        * svg/svgtags.in: Touched.
37558
375592008-03-26  Justin Garcia  <justin.garcia@apple.com>
37560
37561        Reviewed by Harrison.
37562
37563        <rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution
37564
37565        * editing/markup.cpp:
37566        (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n"
37567        with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>".
37568        Don't enclose paragraphs in clones of the context's enclosing block if that block is the
37569        html or body element.  Currently no way to test [DOMHTMLElement createFragmentFromText:].
37570
375712008-03-26  Antti Koivisto  <antti@apple.com>
37572
37573        Reviewed by Anders.
37574
37575        http://bugs.webkit.org/show_bug.cgi?id=17077
37576        Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76)
37577
37578        - enable SVG animation support.
37579        - basic implementation of beginElement()/endElement().
37580        
37581        Animation definitely will need more work than this, but it is a start!
37582
37583        * Configurations/WebCore.xcconfig:
37584        * svg/SVGAnimationElement.cpp:
37585        (WebCore::SVGAnimationElement::SVGAnimationElement):
37586        (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
37587        (WebCore::SVGAnimationElement::beginElement):
37588        (WebCore::SVGAnimationElement::beginElementAt):
37589        (WebCore::SVGAnimationElement::endElement):
37590        (WebCore::SVGAnimationElement::endElementAt):
37591        * svg/SVGAnimationElement.h:
37592
375932008-03-26  Mark Rowe  <mrowe@apple.com>
37594
37595        Reviewed by David Hyatt.
37596
37597        Make the Ahem font antialias correctly on Acid3 on Tiger.
37598
37599        * WebCore.Tiger.exp:
37600        * platform/graphics/mac/SimpleFontDataMac.mm:
37601        (WebCore::SimpleFontData::platformInit):
37602        * platform/mac/WebCoreSystemInterface.h:
37603        * platform/mac/WebCoreSystemInterface.mm:
37604
376052008-03-26  Simon Hausmann  <hausmann@webkit.org>
37606
37607        Attempt to fix the Qt build.
37608
37609        * platform/text/qt/TextCodecQt.cpp: Adjust function signature.
37610        (WebCore::TextCodecQt::decode):
37611        * platform/text/qt/TextCodecQt.h: Ditto.
37612
376132008-03-26  Dan Bernstein  <mitz@apple.com>
37614
37615        Reviewed by Anders Carlsson.
37616
37617        - fix http://bugs.webkit.org/show_bug.cgi?id=18104
37618          REGRESSION: LEAK: 2 InlineBox in editing/inserting/12882.html
37619
37620        * rendering/bidi.cpp:
37621        (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch
37622        old clean lines (due to changed or newly-added floats), keep the
37623        reference to those lines so they can be properly deleted in the end,
37624        and use a separate flag to signal that no matching should be attempted.
37625
376262008-03-26  Mark Rowe  <mrowe@apple.com>
37627
37628        Speculative Windows build fix.
37629
37630        * platform/graphics/win/SimpleFontDataCGWin.cpp:
37631
376322008-03-25  Steve Falkenburg  <sfalken@apple.com>
37633
37634        Turn on link-time-codegen in html and rendering related files.
37635
37636        Reviewed by Oliver.
37637
37638        * WebCore.vcproj/WebCore.vcproj:
37639
376402008-03-26  Maciej Stachowiak  <mjs@apple.com>
37641
37642        Reviewed by Darin.
37643
37644        - fixed "SVG multichar glyph matching matches longest instead of first (affects Acid3 test 79)"
37645        http://bugs.webkit.org/show_bug.cgi?id=18118
37646
37647        * svg/SVGFont.cpp:
37648        (WebCore::SVGTextRunWalker::walk):
37649        * svg/SVGFontElement.cpp:
37650        (WebCore::SVGFontElement::SVGFontElement):
37651        (WebCore::SVGFontElement::addGlyphToCache):
37652        (WebCore::SVGFontElement::removeGlyphFromCache):
37653        (WebCore::SVGFontElement::ensureGlyphCache):
37654        (WebCore::SVGFontElement::getGlyphIdentifiersForString):
37655        * svg/SVGFontElement.h:
37656        * svg/SVGGlyphElement.h:
37657        (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
37658        * svg/SVGGlyphMap.h: Added. New radix tree based glyph map.
37659        (WebCore::GlyphMapNode::GlyphMapNode):
37660        (WebCore::SVGGlyphMap::SVGGlyphMap):
37661        (WebCore::SVGGlyphMap::add):
37662        (WebCore::SVGGlyphMap::compareGlyphPriority):
37663        (WebCore::SVGGlyphMap::get):
37664        (WebCore::SVGGlyphMap::clear):
37665
376662008-03-26  David Hyatt  <hyatt@apple.com>
37667
37668        Fix build bustage on Tiger.  Tiger will not have the bug fix.
37669
37670        * platform/graphics/mac/SimpleFontDataMac.mm:
37671        (WebCore::SimpleFontData::platformInit):
37672        * platform/graphics/win/SimpleFontDataCGWin.cpp:
37673        (WebCore::SimpleFontData::platformInit):
37674
376752008-03-26  David Hyatt  <hyatt@apple.com>
37676
37677        Make the Ahem font antialias correctly on Acid3.
37678
37679        Reviewed by Dan
37680
37681        * platform/graphics/SimpleFontData.h:
37682        * platform/graphics/mac/FontMac.mm:
37683        (WebCore::Font::drawGlyphs):
37684        * platform/graphics/mac/SimpleFontDataMac.mm:
37685        (WebCore::SimpleFontData::platformInit):
37686        * platform/graphics/win/FontCGWin.cpp:
37687        (WebCore::Font::drawGlyphs):
37688        * platform/graphics/win/SimpleFontDataCGWin.cpp:
37689        (WebCore::SimpleFontData::platformInit):
37690
376912008-03-26  Mark Rowe  <mrowe@apple.com>
37692
37693        Fix the Mac build.
37694
37695        * WebCore.xcodeproj/project.pbxproj:  Copy the newly generated header into the right place.
37696
376972008-03-26  Adam Roben  <aroben@apple.com>
37698
37699        Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements
37700        properties
37701
37702        <http://bugs.webkit.org/show_bug.cgi?id=17768>
37703
37704        We were throwing an exception from Object.describe because of some
37705        undefined variables.
37706
37707        Reviewed by Tim Hatcher.
37708
37709        * page/inspector/utilities.js:
37710        (Object.describe): Reinstate the type1 and type2 variables that were
37711        removed in r30146. They're still used when formatting a function.
37712
377132008-03-26  Eric Seidel  <eric@webkit.org>
37714
37715        Reviewed by darin.
37716
37717        Forgot to add braces darin asked for during review.
37718
37719        * dom/XMLTokenizer.cpp:
37720        (WebCore::XMLTokenizer::write):
37721
377222008-03-26  Eric Seidel  <eric@webkit.org>
37723
37724        Reviewed by darin.
37725
37726        Fix, makes us pass Test 70
37727        XML documents should be strict about encoding checks
37728        http://bugs.webkit.org/show_bug.cgi?id=17079
37729
37730        Test: fast/encoding/invalid-xml.html
37731
37732        * WebCore.base.exp:
37733        * dom/XMLTokenizer.cpp:
37734        (WebCore::XMLTokenizer::write):
37735        * loader/CachedFont.cpp:
37736        (WebCore::CachedFont::ensureSVGFontData):
37737        * loader/TextResourceDecoder.cpp:
37738        (WebCore::TextResourceDecoder::TextResourceDecoder):
37739        (WebCore::TextResourceDecoder::decode):
37740        * loader/TextResourceDecoder.h:
37741        * platform/text/TextCodec.h:
37742        (WebCore::TextCodec::decode):
37743        * platform/text/TextCodecICU.cpp:
37744        (WebCore::TextCodecICU::decodeToBuffer):
37745        (WebCore::ErrorCallbackSetter::ErrorCallbackSetter):
37746        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
37747        (WebCore::TextCodecICU::decode):
37748        * platform/text/TextCodecICU.h:
37749        * platform/text/TextCodecLatin1.cpp:
37750        * platform/text/TextCodecLatin1.h:
37751        * platform/text/TextCodecUTF16.cpp:
37752        * platform/text/TextCodecUTF16.h:
37753        * platform/text/TextCodecUserDefined.cpp:
37754        * platform/text/TextCodecUserDefined.h:
37755        * platform/text/TextDecoder.cpp:
37756        (WebCore::TextDecoder::checkForBOM):
37757        * platform/text/TextDecoder.h:
37758        (WebCore::TextDecoder::decode):
37759        * platform/text/TextEncoding.cpp:
37760        (WebCore::TextEncoding::decode):
37761        * platform/text/TextEncoding.h:
37762        (WebCore::TextEncoding::decode):
37763        * platform/text/mac/TextCodecMac.cpp:
37764        (WebCore::TextCodecMac::decode):
37765        * platform/text/mac/TextCodecMac.h:
37766
377672008-03-26  Antti Koivisto  <antti@apple.com>
37768
37769        Reviewed by Adam.
37770
37771        Add ElementTimeControl interface to SVGAnimationElement.
37772        Passes Acid3 test 75.
37773
37774        * DerivedSources.make:
37775        * WebCore.pro:
37776        * WebCore.vcproj/WebCore.vcproj:
37777        * WebCore.xcodeproj/project.pbxproj:
37778        * bindings/scripts/CodeGeneratorObjC.pm:
37779        * svg/ElementTimeControl.h: Added.
37780        (WebCore::ElementTimeControl::~ElementTimeControl):
37781        * svg/ElementTimeControl.idl: Added.
37782        * svg/SVGAnimationElement.cpp:
37783        (WebCore::SVGAnimationElement::beginElement):
37784        (WebCore::SVGAnimationElement::beginElementAt):
37785        (WebCore::SVGAnimationElement::endElement):
37786        (WebCore::SVGAnimationElement::endElementAt):
37787        * svg/SVGAnimationElement.h:
37788        * svg/SVGAnimationElement.idl:
37789
377902008-03-26  Kevin McCullough  <kmccullough@apple.com>
37791
37792        - LayoutTest fix.  Null check.
37793
37794        * xml/XMLHttpRequest.cpp:
37795        (WebCore::XMLHttpRequest::send):
37796
377972008-03-26  Dan Bernstein  <mitz@apple.com>
37798
37799        Reviewed by Darin Adler.
37800
37801        - fix http://bugs.webkit.org/show_bug.cgi?id=17994
37802          REGRESSION (523-525+) View not updated when changing CSS size via JavaScript
37803        - fix http://bugs.webkit.org/show_bug.cgi?id=18063
37804          REGRESSION (r31250): Small bug that just cropped up in WebKit r31275
37805
37806        Tests: fast/repaint/subtree-root-clip.html
37807               fast/repaint/subtree-root-clip-2.html
37808               fast/repaint/subtree-root-clip-3.html
37809
37810        * rendering/LayoutState.cpp:
37811        (WebCore::LayoutState::LayoutState): Changed to not set an initial clip.
37812        Since the root is clipping, there is no need to set a clip, and setting
37813        the clip based on the container was wrong because often the root was
37814        not included in the container's overflow rect because it had its own
37815        layer.
37816        * rendering/RenderBox.cpp:
37817        (WebCore::RenderBox::absolutePosition): Removed code that added table
37818        cell's extra top offset only in the slow (recursive) code path.
37819        * rendering/RenderTableCell.cpp:
37820        (WebCore::RenderTableCell::absolutePosition): Added code to add the
37821        extra top offset in both code paths.
37822
378232008-03-26  Simon Hausmann  <hausmann@webkit.org>
37824
37825        Fix the Qt build.
37826
37827        * platform/graphics/qt/FontQt.cpp:
37828        (WebCore::Font::floatWidth):
37829
378302008-03-24  Maciej Stachowiak  <mjs@apple.com>
37831
37832        Reviewed by Eric.
37833
37834        - fixed "SVGTextElement.getStartPositionOfChar does not correctly account for multichar glyphs"
37835        http://bugs.webkit.org/show_bug.cgi?id=18046
37836
37837        * platform/graphics/Font.cpp:
37838        (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end,
37839        and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts.
37840        * platform/graphics/Font.h:
37841        * rendering/SVGInlineTextBox.cpp:
37842        (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out
37843        argument.
37844        (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument.
37845        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs
37846        right but I don't know what effects this would have.
37847        * rendering/SVGInlineTextBox.h:
37848        * rendering/SVGRootInlineBox.cpp:
37849        (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right
37850        but again I am not sure what effect this would have.
37851        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph
37852        selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars.
37853        * rendering/SVGRootInlineBox.h:
37854        * svg/SVGFont.cpp:
37855        (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where
37856        we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how
37857        many chars were consumed).
37858        (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers.
37859        (WebCore::Font::floatWidthUsingSVGFont): ditto
37860        (WebCore::Font::drawTextUsingSVGFont): ditto
37861        (WebCore::Font::selectionRectForTextUsingSVGFont): ditto
37862        * svg/SVGTextContentElement.cpp:
37863        (WebCore::cummulatedCharacterRangeLength): ditto
37864        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto
37865
378662008-03-25  Beth Dakin  <bdakin@apple.com>
37867
37868        Reviewed by Oliver.
37869
37870        Fix for <rdar://problem/5811826> CSSValueList::item() does not 
37871        range-check index
37872
37873        Check bounds before accessing the item to avoid a crash. 
37874        itemWithoutBoundsCheck() is still inlined and not bounds-checked to 
37875        avoid slowing down our internal callers of item().
37876        * css/CSSValueList.cpp:
37877        (WebCore::CSSValueList::item):
37878        * css/CSSValueList.h:
37879        (WebCore::CSSValueList::itemWithoutBoundsCheck):
37880
37881        Call itemWithoutBoundsCheck() to avoid slowing down these internal 
37882        callers.
37883        * css/CSSFontSelector.cpp:
37884        (WebCore::CSSFontSelector::addFontFaceRule):
37885        * css/CSSMutableStyleDeclaration.cpp:
37886        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
37887        * css/CSSStyleSelector.cpp:
37888        (WebCore::applyCounterList):
37889        (WebCore::CSSStyleSelector::applyProperty):
37890        * css/MediaQueryEvaluator.cpp:
37891        (WebCore::parseAspectRatio):
37892        * svg/SVGFontFaceElement.cpp:
37893        (WebCore::SVGFontFaceElement::rebuildFontFace):
37894        * svg/graphics/SVGPaintServer.cpp:
37895        (WebCore::dashArrayFromRenderingStyle):
37896
378972008-03-25  Antti Koivisto  <antti@apple.com>
37898
37899        Reviewed by Oliver.
37900
37901        Fix http://bugs.webkit.org/show_bug.cgi?id=18082
37902        REGRESSION (r31287): GMail does not work if user stylesheet is set
37903        
37904        Oops, my cache refactoring patch was missing these rather essential lines for
37905        user stylesheets. They would get reloaded repeatedly.
37906
37907        * loader/Cache.cpp:
37908        (WebCore::Cache::requestUserCSSStyleSheet):
37909
379102008-03-25  Matt Lilek  <webkit@mattlilek.com>
37911
37912        Rubber stamped by Adam
37913
37914        Roll out r31300 since it causes assertion failures on page load.
37915        See http://bugs.webkit.org/show_bug.cgi?id=18093
37916
37917        * page/InspectorController.cpp:
37918        (WebCore::InspectorController::didFinishLoading):
37919        (WebCore::InspectorController::didFailLoading):
37920
379212008-03-25  Darin Adler  <darin@apple.com>
37922
37923        Reviewed by Anders.
37924
37925        - fix http://bugs.webkit.org/show_bug.cgi?id=17252
37926          Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2)
37927
37928        Test: traversal/acid3-test-2.html
37929
37930        * bindings/js/JSNodeIteratorCustom.cpp:
37931        (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr.
37932        (WebCore::JSNodeIterator::previousNode): Ditto.
37933        * dom/NodeIterator.cpp:
37934        (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to
37935        track both the current candidate (which needs to move along to the next node
37936        if current node is deleted) and the current provisional result (passed to acceptNode,
37937        and needs to be returned even if it's deleted).
37938        (WebCore::NodeIterator::previousNode): Ditto.
37939        (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for
37940        m_candidateNode as well as m_referenceNode.
37941        * dom/NodeIterator.h: Use PassRefPtr for return values.
37942
379432008-03-25  Brady Eidson  <beidson@apple.com>
37944
37945        Reviewed by Anders
37946
37947        Add the ability to transform a CString into a SharedBuffer to avoid copying data
37948        This is valuable to avoid copying a block of data for an upcoming patch
37949
37950        * platform/SharedBuffer.cpp:
37951        (WebCore::SharedBuffer::adoptVector):
37952        * platform/SharedBuffer.h:
37953
37954        * platform/text/CString.cpp:
37955        (WebCore::CString::releaseBuffer):
37956        * platform/text/CString.h:
37957        (WebCore::CStringBuffer::releaseBuffer):
37958
379592008-03-25  Brady Eidson  <beidson@apple.com>
37960
37961        Attempt to fix .bkl build systems after recent archive additions
37962
37963        * webcore-base.bkl:
37964
379652008-03-25  Kevin McCullough  <kmccullough@apple.com>
37966
37967        Reviewed by Adam.
37968
37969        - Cleaned up the needless use of RefPtrs, which we may someday no longer use for
37970        InspectorResources.
37971
37972        * page/InspectorController.cpp:
37973        (WebCore::InspectorController::didFinishLoading):
37974        (WebCore::InspectorController::didFailLoading):
37975
379762008-03-25  Kevin McCullough  <kmccullough@apple.com>
37977
37978        Reviewed by Adam.
37979
37980        - Added a null check
37981
37982        * xml/XMLHttpRequest.cpp: Null check
37983        (WebCore::XMLHttpRequest::send):
37984
379852008-03-25  Kevin McCullough  <kmccullough@apple.com>
37986
37987        Reviewed by Tim.
37988
37989        -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
37990        -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
37991        -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
37992        - XMLHttpRequestResources now identify themselves to the inspector which caches the data related to
37993        the request since no one else caches it.  However this is just the plumbing and the Inspector's UI
37994        has not been changed to show XHR resources yet. 
37995
37996        * page/InspectorController.cpp: Add ability to set XHR data on an InspectorResource.
37997        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
37998        (WebCore::XMLHttpRequestResource::data):
37999        (WebCore::XMLHttpRequestResource::encoding):
38000        (WebCore::InspectorResource::): Add new type.
38001        (WebCore::InspectorResource::~InspectorResource): No longer virtual since we are not using inheritance.
38002        (WebCore::InspectorResource::type): Ditto.
38003        (WebCore::InspectorResource::setXMLHttpRequestResource):
38004        (WebCore::InspectorResource::isXHR):
38005        (WebCore::InspectorResource::xmlHttpRequestData):
38006        (WebCore::InspectorResource::xmlHttpRequestEncoding):
38007        (WebCore::InspectorResource::InspectorResource):
38008        (WebCore::addSourceToFrame):
38009        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
38010        * page/InspectorController.h: Add accessor for setting the XHR data.
38011        * page/inspector/Resource.js: Keep the XHR resource types in sync with the Inspector Controller.
38012        * xml/XMLHttpRequest.cpp: Give the InspectorController the XHR information to cache.
38013        (WebCore::XMLHttpRequest::send):
38014
380152008-03-25  Adam Roben  <aroben@apple.com>
38016
38017        Add an UnusedParam.h forwarding header for use by testapi
38018
38019        Reviewed by Steve Falkenburg.
38020
38021        * ForwardingHeaders/wtf/UnusedParam.h: Added.
38022
380232008-03-25  Brady Eidson  <beidson@apple.com>
38024
38025        Reviewed by Adam Roben
38026
38027        <rdar://problem/5819308> - View Source is empty when view webarchives
38028
38029        * WebCore.base.exp:
38030        * loader/DocumentLoader.cpp:
38031        (WebCore::DocumentLoader::setParsedArchiveData):
38032        (WebCore::DocumentLoader::parsedArchiveData):
38033        * loader/DocumentLoader.h:
38034
38035        * loader/FrameLoader.cpp:
38036        (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
38037          in the DocumentLoader
38038
380392008-03-25  Eric Seidel  <eric@webkit.org>
38040
38041        Reviewed by Oliver.
38042
38043        Speculative crash fix for Acid3 crasher.
38044        I couldn't figure out how to make a test case for this?
38045        Suggestions welcome.
38046
38047        * css/CSSFontSelector.cpp: null check document->renderer()
38048
380492008-03-25  Antti Koivisto  <antti@apple.com>
38050
38051        Reviewed by Geoff Garen.
38052
38053        Some memory cache cleanups:
38054        - Separate CachedResource loading from construction, initiate load using a separate load() method.
38055        - Add special case function to Cache for loading user stylesheets. This allows removal
38056          of a bunch of parameters from several methods and CachedResource constructors.
38057        - Construct CachedResources with m_inCache set to false which is quite a bit more logical as they
38058          are not yet in the cache at that point.
38059        - Pass encoding around as const String& instead of const String*.
38060
38061        * css/CSSImageValue.cpp:
38062        (WebCore::CSSImageValue::image):
38063        * html/HTMLImageLoader.cpp:
38064        (WebCore::HTMLImageLoader::updateFromElement):
38065        * loader/Cache.cpp:
38066        (WebCore::createResource):
38067        (WebCore::Cache::requestResource):
38068        (WebCore::Cache::requestUserCSSStyleSheet):
38069        (WebCore::Cache::remove):
38070        * loader/Cache.h:
38071        * loader/CachedCSSStyleSheet.cpp:
38072        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
38073        * loader/CachedCSSStyleSheet.h:
38074        * loader/CachedFont.cpp:
38075        (WebCore::CachedFont::CachedFont):
38076        (WebCore::CachedFont::load):
38077        (WebCore::CachedFont::ref):
38078        * loader/CachedFont.h:
38079        * loader/CachedImage.cpp:
38080        (WebCore::CachedImage::CachedImage):
38081        (WebCore::CachedImage::load):
38082        * loader/CachedImage.h:
38083        * loader/CachedResource.cpp:
38084        (WebCore::CachedResource::CachedResource):
38085        (WebCore::CachedResource::~CachedResource):
38086        (WebCore::CachedResource::load):
38087        * loader/CachedResource.h:
38088        (WebCore::CachedResource::load):
38089        * loader/CachedScript.cpp:
38090        (WebCore::CachedScript::CachedScript):
38091        * loader/CachedScript.h:
38092        * loader/CachedXBLDocument.cpp:
38093        (WebCore::CachedXBLDocument::CachedXBLDocument):
38094        * loader/CachedXBLDocument.h:
38095        * loader/CachedXSLStyleSheet.cpp:
38096        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
38097        * loader/CachedXSLStyleSheet.h:
38098        * loader/DocLoader.cpp:
38099        (WebCore::DocLoader::requestImage):
38100        (WebCore::DocLoader::requestFont):
38101        (WebCore::DocLoader::requestCSSStyleSheet):
38102        (WebCore::DocLoader::requestUserCSSStyleSheet):
38103        (WebCore::DocLoader::requestScript):
38104        (WebCore::DocLoader::requestXSLStyleSheet):
38105        (WebCore::DocLoader::requestXBLDocument):
38106        (WebCore::DocLoader::requestResource):
38107        (WebCore::DocLoader::preload):
38108        * loader/DocLoader.h:
38109
381102008-03-25  Darin Adler  <darin@apple.com>
38111
38112        Reviewed by Anders.
38113
38114        - avoid converting UString to String and then later to AtomicString
38115
38116        1% speedup on Acid3 test 26
38117
38118        This is inefficient for the case where there's already an AtomicString.
38119        By first creating and destroying a String we waste time.
38120
38121        * bindings/scripts/CodeGeneratorJS.pm: Use const UString& for string
38122        arguments rather than using String; this uses the object as it's produced
38123        from toString rather than creating a new temporary object that might not
38124        be of the right type. The type conversion happens at the callsite instead.
38125        Also eliminate the ability to use the type AtomicString from IDL.
38126
38127        * dom/KeyboardEvent.idl: AtomicString -> DOMString.
38128        * dom/MouseEvent.idl: Ditto.
38129        * dom/MutationEvent.idl: Ditto.
38130        * dom/UIEvent.idl: Ditto.
38131        * svg/SVGStyleElement.idl: Ditto.
38132
381332008-03-25  Brady Eidson  <beidson@apple.com>
38134
38135        Build fix for non-CoreFoundation platforms
38136
38137        * loader/archive/ArchiveFactory.cpp:
38138
381392008-03-25  Brady Eidson  <beidson@apple.com>
38140
38141        Reviewed by Darin
38142
38143        Remove newly obsolete FrameLoaderClient methods
38144
38145        * loader/FrameLoaderClient.h:
38146        * svg/graphics/SVGImageEmptyClients.h:
38147        (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
38148        (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
38149
381502008-03-25  Brady Eidson  <beidson@apple.com>
38151
38152        Reviewed by Darin
38153
38154        <rdar://problem/4516169> - Support WebArchives on Windows
38155        And pave the way for many future WebArchive bug fixes and enhancements
38156
38157        This patch accomplishes two main goals:
38158        1 - Consolidates much of the spread out WebKitMac archive code into one place in WebCore.  This allows for cleaner refactoring 
38159            in the future as well as adding more archive formats with ease.
38160        2 - Hooks up WebArchive support on Windows.  Safari-style .webarchive files are nothing more than property lists readable by
38161            CoreFoundation.  While there are still some outstanding issues, including an NSKeyedArchiver chunk of data for the 
38162            ResourceResponse for each resource, this patch manually parses through the property list on CoreFoundation platforms and
38163            gets many archives loading on Windows
38164
38165        My goal for this first cut was zero behavior change.  As such, I went for a direct port of the WebKitMac code.  There will be
38166        opportunities for redesign and refactoring as followups.
38167
38168        * WebCore.base.exp:
38169
38170        * loader/DocumentLoader.cpp:
38171        (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ported from WebKitMac, WebDataSource
38172        (WebCore::DocumentLoader::addAllArchiveResources):
38173        (WebCore::DocumentLoader::addArchiveResource):
38174        (WebCore::DocumentLoader::archiveResourceForURL):
38175        (WebCore::DocumentLoader::popArchiveForSubframe):
38176        (WebCore::DocumentLoader::clearArchiveResources):
38177        * loader/DocumentLoader.h:
38178
38179        * loader/FrameLoader.cpp: Moved WebFrameLoaderClient and WebFrame code down into their more appropriate FrameLoader home
38180        (WebCore::FrameLoader::FrameLoader):
38181        (WebCore::FrameLoader::setDefersLoading):
38182        (WebCore::FrameLoader::deliverArchivedResourcesAfterDelay):
38183        (WebCore::FrameLoader::archiveResourceDeliveryTimerFired):
38184        (WebCore::FrameLoader::loadURLIntoChildFrame):
38185        (WebCore::FrameLoader::loadArchive):
38186        (WebCore::FrameLoader::scheduleArchiveLoad):
38187        (WebCore::FrameLoader::stopAllLoaders):
38188        (WebCore::FrameLoader::cancelPendingArchiveLoad):
38189        (WebCore::FrameLoader::isArchiveLoadPending):
38190        (WebCore::FrameLoader::finishedLoadingDocument):
38191        * loader/FrameLoader.h:
38192
38193        * loader/ResourceLoader.cpp:
38194        (WebCore::ResourceLoader::load):
38195
38196        * loader/archive/Archive.h: Generic "Archive of web resources" class that is only useful when subclassed.  
38197            Contains a MainResource, subresources, and Archives for subframes
38198        (WebCore::Archive::mainResource):
38199        (WebCore::Archive::subresources):
38200        (WebCore::Archive::subframeArchives):
38201        (WebCore::Archive::setMainResource):
38202        (WebCore::Archive::addSubresource):
38203        (WebCore::Archive::addSubframeArchive):
38204
38205        * loader/archive/ArchiveFactory.cpp: A class that will take raw archive data and the MIMEtype, and create the
38206            appropriate Archive class for it.  Additionally it handles registering the known MIMEtypes for all known archive formats
38207        (WebCore::archiveFactoryCreate):
38208        (WebCore::archiveMIMETypes):
38209        (WebCore::ArchiveFactory::isArchiveMimeType):
38210        (WebCore::ArchiveFactory::create):
38211        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
38212        * loader/archive/ArchiveFactory.h:
38213
38214        * loader/archive/ArchiveResource.cpp: Analog to "WebResource" in WebKitMac.  Contains the data and other important
38215            attributes of an archived resource
38216        (WebCore::ArchiveResource::create):
38217        (WebCore::ArchiveResource::ArchiveResource):
38218        (WebCore::ArchiveResource::response):
38219        * loader/archive/ArchiveResource.h:
38220        (WebCore::ArchiveResource::data):
38221        (WebCore::ArchiveResource::url):
38222        (WebCore::ArchiveResource::mimeType):
38223        (WebCore::ArchiveResource::textEncoding):
38224        (WebCore::ArchiveResource::frameName):
38225        (WebCore::ArchiveResource::ignoreWhenUnarchiving):
38226        (WebCore::ArchiveResource::shouldIgnoreWhenUnarchiving):
38227
38228        * loader/archive/ArchiveResourceCollection.cpp: Analog of "WebUnarchivingState" in WebKitMac.  Contains a hash of
38229            all the resources for every frame in an archive, and contains the archives for each subframe needed to load a multi-frame archive
38230        (WebCore::ArchiveResourceCollection::ArchiveResourceCollection):
38231        (WebCore::ArchiveResourceCollection::addAllResources):
38232        (WebCore::ArchiveResourceCollection::addResource):
38233        (WebCore::ArchiveResourceCollection::archiveResourceForURL):
38234        (WebCore::ArchiveResourceCollection::popSubframeArchive):
38235        * loader/archive/ArchiveResourceCollection.h:
38236
38237        * loader/archive/cf/LegacyWebArchive.cpp: Subclass of Archive specifically for Webkit's Objective-C based ".webarchive" format.
38238            Mostly a collection of static methods involved in parsing and serializing a WebKit-style .webarchive.  Is mostly supported
38239            for any CF platform.
38240        (WebCore::createPropertyListRepresentationFromResource):
38241        (WebCore::createPropertyListRep):
38242        (WebCore::createResourceResponseFromPropertyListData):
38243        (WebCore::createResource):
38244        (WebCore::LegacyWebArchive::create):
38245        (WebCore::LegacyWebArchive::LegacyWebArchive):
38246        (WebCore::LegacyWebArchive::init):
38247        (WebCore::LegacyWebArchive::extract):
38248        (WebCore::LegacyWebArchive::rawDataRepresentation):
38249        (WebCore::createResourceResponseFromMacArchivedData):
38250        (WebCore::propertyListDataFromResourceResponse):
38251        * loader/archive/cf/LegacyWebArchive.h:
38252        * loader/archive/cf/LegacyWebArchiveMac.mm:
38253        (WebCore::createResourceResponseFromMacArchivedData):
38254        (WebCore::propertyListDataFromResourceResponse):
38255
38256        * platform/network/mac/ResourceRequest.h:
38257        * platform/network/mac/ResourceRequestMac.mm:
38258        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Tweak the resource request for Mac clients when loading WebArchives
38259
382602008-03-25  David Hyatt  <hyatt@apple.com>
38261
38262        Cut and paste error in the zoom code.  A width() should have been a height().  Regression tests caught this.
38263
38264        * page/DOMWindow.cpp:
38265        (WebCore::DOMWindow::innerHeight):
38266
382672008-03-24  Darin Adler  <darin@apple.com>
38268
38269        - try to fix broken Wx build
38270
38271        * platform/wx/TemporaryLinkStubs.cpp:
38272        (GraphicsContext::setPlatformShadow):
38273        (GraphicsContext::clearPlatformShadow):
38274
382752008-03-24  Darin Adler  <darin@apple.com>
38276
38277        Reviewed by Sam.
38278
38279        - use AtomicString more consistently for attribute values
38280
38281        1% speedup on Acid3 test 26
38282
38283        * dom/Element.cpp:
38284        (WebCore::Element::setAttribute): Changed value argument to AtomicString.
38285        Also fixed call to lower() to only be done if the name isn't already lowercase.
38286        Also took out one unneeded condition in a cascade of if statements.
38287        (WebCore::Element::createAttribute): Ditto.
38288        (WebCore::Element::setAttributeNS): Ditto.
38289        * dom/Element.h: Ditto.
38290        * dom/StyledElement.cpp:
38291        (WebCore::StyledElement::createAttribute): Ditto.
38292        * dom/StyledElement.h: Ditto.
38293
382942008-03-24  Darin Adler  <darin@apple.com>
38295
38296        Reviewed by Sam.
38297
38298        - get rid of extra level of function call in toJS functions for Node
38299
38300        0.6% speedup on Acid3 test 26
38301
38302        * bindings/js/JSNodeCustom.cpp:
38303        (WebCore::toJS): Take a raw pointer, not a PassRefPtr, like other toJS functions.
38304
38305        * bindings/scripts/CodeGeneratorJS.pm: Add an inlined toJS for EventTargetNode*
38306        to avoid ambiguity that otherwise exists between the toJS for EventTarget* and
38307        for Node*.
38308
383092008-03-24  Darin Adler  <darin@apple.com>
38310
38311        Reviewed by Hyatt.
38312
38313        - add fast path to isValidName that does not use advanced Unicode functions
38314
38315        2% speedup on Acid3 test 26
38316
38317        * dom/Document.cpp:
38318        (WebCore::isValidNameNonASCII): Added. Contains the old isValidName function.
38319        (WebCore::isValidNameASCII): Added. Contains a simpler function that returns
38320        true for most valid names that are also all ASCII.
38321        (WebCore::Document::isValidName): Changed to call both of the above functions.
38322        The common case is that isValidNameASCII returns true so isValidNameNonASCII
38323        is never called.
38324
383252008-03-24  David Hyatt  <hyatt@apple.com>
38326
38327        Fix for bug 18052, window properties need to respect zoom factor.
38328
38329        Reviewed by Beth
38330
38331        * page/DOMWindow.cpp:
38332        (WebCore::DOMWindow::innerHeight):
38333        (WebCore::DOMWindow::innerWidth):
38334        (WebCore::DOMWindow::scrollX):
38335        (WebCore::DOMWindow::scrollY):
38336        (WebCore::DOMWindow::scrollTo):
38337        * page/FrameView.cpp:
38338        (WebCore::FrameViewPrivate::reset):
38339        (WebCore::FrameView::layout):
38340        (WebCore::FrameView::performPostLayoutTasks):
38341
383422008-03-24  Sam Weinig  <sam@webkit.org>
38343
38344        Reviewed by Darin Adler.
38345
38346        Fix http://bugs.webkit.org/show_bug.cgi?id=18048
38347        The "thisObject" parameter to JSEvaluateScript is not used properly
38348
38349        * bindings/js/kjs_proxy.cpp:
38350        (WebCore::KJSProxy::evaluate): No need to pass a thisObject since we want the global object to be used.
38351        * bridge/jni/jni_jsobject.mm:
38352        (JavaJSObject::eval): To avoid any change to this function, don't pass a thisObject to keep the same
38353        behavior.
38354
383552008-03-24  Brady Eidson  <beidson@apple.com>
38356
38357        Reviewed by Darin's rubberstamp
38358
38359        Land a load of empty files for upcoming work to make sure I'm not breaking any platform's build
38360
38361        * GNUmakefile.am:
38362        * WebCore.pro:
38363        * WebCore.vcproj/WebCore.vcproj:
38364        * WebCore.xcodeproj/project.pbxproj:
38365        * WebCoreSources.bkl:
38366        * loader/archive: Added.
38367        * loader/archive/Archive.h: Added.
38368        * loader/archive/ArchiveFactory.cpp: Added.
38369        * loader/archive/ArchiveFactory.h: Added.
38370        * loader/archive/ArchiveResource.cpp: Added.
38371        * loader/archive/ArchiveResource.h: Added.
38372        * loader/archive/ArchiveResourceCollection.cpp: Added.
38373        * loader/archive/ArchiveResourceCollection.h: Added.
38374        * loader/archive/cf: Added.
38375        * loader/archive/cf/LegacyWebArchive.cpp: Added.
38376        * loader/archive/cf/LegacyWebArchive.h: Added.
38377        * loader/archive/cf/LegacyWebArchiveMac.mm: Added.
38378
383792008-03-24  David Hyatt  <hyatt@apple.com>
38380
38381        Fix for bug 18009. Make sure the IE offset/client/scroll*** extensions respect full page zoom.
38382
38383        Reviewed by Beth
38384
38385        * dom/Element.cpp:
38386        (WebCore::localZoomForRenderer):
38387        (WebCore::adjustForLocalZoom):
38388        (WebCore::adjustForAbsoluteZoom):
38389        (WebCore::Element::offsetLeft):
38390        (WebCore::Element::offsetTop):
38391        (WebCore::Element::offsetWidth):
38392        (WebCore::Element::offsetHeight):
38393        (WebCore::Element::clientLeft):
38394        (WebCore::Element::clientTop):
38395        (WebCore::Element::clientWidth):
38396        (WebCore::Element::clientHeight):
38397        (WebCore::Element::scrollLeft):
38398        (WebCore::Element::scrollTop):
38399        (WebCore::Element::setScrollLeft):
38400        (WebCore::Element::setScrollTop):
38401        (WebCore::Element::scrollWidth):
38402        (WebCore::Element::scrollHeight):
38403        * rendering/RenderBox.cpp:
38404        (WebCore::RenderBox::setStyle):
38405        * rendering/RenderObject.cpp:
38406        (WebCore::RenderObject::offsetParent):
38407        * rendering/RenderObject.h:
38408
384092008-03-24  Brady Eidson  <beidson@apple.com>
38410
38411        Reviewed by Darin
38412
38413        Some style cleanup and add a logging channel for upcoming work
38414
38415        * platform/Logging.cpp:
38416        * platform/Logging.h:
38417
38418        * platform/MIMETypeRegistry.cpp:
38419        (WebCore::initializeSupportedImageMIMETypes):
38420        (WebCore::initializeSupportedNonImageMimeTypes):
38421
384222008-03-24  Dan Bernstein  <mitz@apple.com>
38423
38424        Reviewed by Sam Weinig.
38425
38426        - fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
38427
38428        Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html
38429
38430        * page/FrameView.cpp:
38431        (WebCore::FrameViewPrivate::reset): Removed repaintRects code.
38432        (WebCore::FrameView::layout): Ditto.
38433        (WebCore::FrameView::addRepaintInfo): Removed.
38434
38435        * page/FrameView.h: Removed addRepaintInfo().
38436
38437        * rendering/RenderBlock.cpp:
38438        (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle
38439        instead of FrameView::addRepaintInfo().
38440        * rendering/RenderTable.cpp:
38441        (WebCore::RenderTable::layout): Ditto.
38442
384432008-03-24  Alp Toker  <alp@atoker.com>
38444
38445        GTK+/soup http backend build fix for breakage introduced in r31141.
38446        Fix suggested by Xan.
38447
38448        * platform/network/ResourceHandle.h:
38449
384502008-03-24  Dan Bernstein  <mitz@apple.com>
38451
38452        Reviewed by Sam Weinig.
38453
38454        - fix <rdar://problem/5792582> CSS opacity does not work with GDI text
38455        - fix <rdar://problem/5792619> non-opaque CSS colors do not work with GDI text (RGBA, HSLA)
38456        - fix <rdar://problem/5792624> GDI text can't be stroked/filled independently
38457        - make text-shadow work with GDI text
38458        - make -webkit-background-clip: text work with GDI text
38459
38460        * platform/graphics/GraphicsContext.cpp:
38461        (WebCore::GraphicsContext::setShadow): Made this a shared method that
38462        updates the state and calls the platform-specific method.
38463        (WebCore::GraphicsContext::clearShadow): Ditto.
38464        (WebCore::GraphicsContext::getShadow): Added.
38465
38466        * platform/graphics/GraphicsContext.h:
38467        (WebCore::GraphicsContext::WindowsBitmap): Added this class that
38468        represents a bitmap with a Windows device context that GDI can draw into.
38469
38470        * platform/graphics/GraphicsContextPrivate.h:
38471        (WebCore::GraphicsContextState::GraphicsContextState): Added the shadow
38472        parameters to the graphics state.
38473
38474        * platform/graphics/cairo/GraphicsContextCairo.cpp:
38475        (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
38476        specific implementation to this.
38477        (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
38478        specific implementation to this.
38479
38480        * platform/graphics/cg/GraphicsContextCG.cpp:
38481        (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
38482        specific implementation to this.
38483        (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
38484        specific implementation to this.
38485
38486        * platform/graphics/qt/GraphicsContextQt.cpp:
38487        (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
38488        specific implementation to this.
38489        (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
38490        specific implementation to this.
38491
38492        * platform/graphics/win/FontCGWin.cpp:
38493        (WebCore::toCGFloat): Added. Converts a Windows FIXED.
38494        (WebCore::createPathForGlyph): Added. Retrieves a glyph's hinted
38495        outline from GDI and creates a CGPath containing it.
38496        (WebCore::Font::drawGlyphs): Added two code paths in the GDI case.
38497        The existing code path, which uses GDI to draw text directly to the
38498        graphics context, is used for opaque-colored, non-transformed,
38499        non-stroked, non-shadowed text in a GDI-backed graphics context that is
38500        not in a transparency layer.
38501        An additional code path is used for non-stroked text in all other cases.
38502        It uses GDI to draw black text into an all-white Windows bitmap, then
38503        uses the green channel as a mask to create a bitmap with the desired
38504        fill color and alpha. The bitmap is then drawn into the graphics
38505        context, at which time transparency layers, transforms and shadows are
38506        handled properly.
38507        A third code path is used for stroked text. It constructs a path from
38508        hinted glyph outlines retrieved from GDI and strokes (and optionally
38509        fills) it.
38510
38511        * platform/graphics/win/GraphicsContextCGWin.cpp:
38512        (WebCore::GraphicsContext::getWindowsContext): Added a mayCreateBitmap
38513        parameter. When false, prevents this method from creating a Windows
38514        device context if the graphics context does not already have one.
38515        (WebCore::GraphicsContext::releaseWindowsContext): Added a
38516        mayCreateBitmap parameter to match getWindowsContext().
38517        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
38518        (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
38519        (WebCore::GraphicsContext::createWindowsBitmap): Added.
38520        (WebCore::GraphicsContext::drawWindowsBitmap): Added. Draws the bitmap
38521        as a non-alpha-premultiplied image.
38522
385232008-03-24  Kevin McCullough <kmccullough@apple.com>
38524
38525          - Fixed Changelog
38526
385272008-03-24  Marco Barisione  <marco.barisione@collabora.co.uk>
38528
38529        Reviewed by Alp Toker.
38530
38531        http://bugs.webkit.org/show_bug.cgi?id=17845
38532        [GTK] combo box menu displayed in the wrong position
38533
38534        * platform/gtk/PopupMenuGtk.cpp:
38535        (WebCore::PopupMenu::show): Change the popup menu vertical position so
38536        that the active item is over the combo box.
38537        (WebCore::PopupMenu::menuPositionFunction): use the "push in" style
38538        like native GTK+ combo boxes to handle menus that don't fit in the
38539        screen.
38540
385412008-03-24  Adam Roben  <aroben@apple.com>
38542
38543        * WebCore.vcproj/WebCore.vcproj: Add files from WebCore/page/inspector
38544        to the project.
38545
385462008-03-24  Alexey Proskuryakov  <ap@webkit.org>
38547
38548        Build fix.
38549
38550        * WebCore.xcodeproj/project.pbxproj: Added DOMSVGAltGlyphElement.h and
38551        DOMSVGAltGlyphElementInternal.h to Copy Generated Headers phase.
38552
385532008-03-24  Eric Seidel  <eric@webkit.org>
38554
38555        Build fix, no review.
38556
38557        Fix project paths to be group relative instead of project relative
38558
38559        * WebCore.xcodeproj/project.pbxproj:
38560
385612008-03-23  Maciej Stachowiak  <mjs@apple.com>
38562
38563        Reviewed by Eric.
38564
38565        - fixed "SVGTextElement.getNumberOfChars is broken for altGlyph (affects Acid3 test 79)"
38566        http://bugs.webkit.org/show_bug.cgi?id=17062
38567
38568        * svg/SVGAltGlyphElement.cpp: Added. Implementation for new element.
38569        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
38570        (WebCore::SVGAltGlyphElement::~SVGAltGlyphElement):
38571        (WebCore::SVGAltGlyphElement::setGlyphRef):
38572        (WebCore::SVGAltGlyphElement::glyphRef):
38573        (WebCore::SVGAltGlyphElement::setFormat):
38574        (WebCore::SVGAltGlyphElement::format):
38575        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
38576        (WebCore::SVGAltGlyphElement::createRenderer): For now, this just renders as a tspan,
38577        which is right for everything besides the alternate glyph substitution itself.
38578        * svg/SVGAltGlyphElement.h: Added. Header for new element.
38579        (WebCore::SVGAltGlyphElement::contextElement):
38580        * svg/SVGAltGlyphElement.idl: Added. Interface for new element.
38581        * svg/SVGTSpanElement.cpp:
38582        (WebCore::SVGTSpanElement::childShouldCreateRenderer): Allow altGlyph to render here.
38583        * svg/SVGTextElement.cpp:
38584        (WebCore::SVGTextElement::childShouldCreateRenderer): ditto
38585        * svg/SVGTextPathElement.cpp:
38586        (WebCore::SVGTextPathElement::childShouldCreateRenderer): ditto
38587        * svg/svgtags.in: Add altGlyph
38588        * DerivedSources.make: Add new files
38589        * GNUmakefile.am: ditto
38590        * WebCore.SVG.exp: Add new ObjC DOM class
38591        * WebCore.pro: Add new files
38592        * WebCore.vcproj/WebCore.vcproj: ditto
38593        * WebCore.xcodeproj/project.pbxproj: ditto
38594        * bindings/js/JSSVGElementWrapperFactory.cpp: Handle altGlyph
38595        * bindings/objc/DOM.mm:
38596        (WebCore::createElementClassMap): ditto
38597        * bindings/objc/DOMInternal.h: Include altGlyph header
38598        * bindings/objc/DOMSVG.h: Include altGlyph header
38599
386002008-03-23  Robert Blaut  <webkit@blaut.biz>
38601
38602        Reviewed by eseidel.  Landed by eseidel.
38603
38604        Bug 17685: [~=] attribute selector failing to match empty string
38605        <http://bugs.webkit.org/show_bug.cgi?id=17685>
38606
38607        Test: fast/css/attribute-selector-empty-value.html
38608
38609        * css/CSSStyleSelector.cpp:
38610        (WebCore::CSSStyleSelector::checkOneSelector):
38611
386122008-03-22  Marco Barisione  <marco.barisione@collabora.co.uk>
38613
38614        Reviewed by Darin Adler.
38615
38616        http://bugs.webkit.org/show_bug.cgi?id=16339
38617        Frame scrollbar positions are not updated on page scroll
38618
38619        Widget::geometryChanged() was called instead of
38620        ScrollViewScrollbar::geometryChanged() because of a missing const.
38621
38622        * platform/gtk/ScrollViewGtk.cpp:
38623        (WebCore::ScrollViewScrollbar::geometryChanged): add the missing
38624        const.
38625
386262008-03-22  Rodney Dawes  <dobey@wayofthemonkey.com>
38627
38628        Reviewed by Mark Rowe.
38629
38630        Bug 17974: REGRESSION: npfunctions.h should not import npruntime_internal.h
38631        <http://bugs.webkit.org/show_bug.cgi?id=17974>
38632        <rdar://problem/5782310>
38633
38634        Include npapi.h and npruntime.h directly in npfunctions.h.
38635        Add npfunctions.h and npapi.h to npruntime_internal.h.
38636        Replace includes of npfunctions.h with npruntime_internal.h.
38637
38638        * bridge/npruntime_internal.h:
38639        * plugins/PluginPackage.h:
38640        * plugins/PluginStream.h:
38641        * plugins/npapi.cpp:
38642        * plugins/npfunctions.h:
38643
386442008-03-22  Mark Rowe  <mrowe@apple.com>
38645
38646        Qt build fix.
38647
38648        * bridge/qt/qt_runtime.cpp:
38649        (KJS::Bindings::valueRealType):
38650
386512008-03-22  Eric Seidel  <eric@webkit.org>
38652
38653        Reviewed by mjs.
38654
38655        Unify handling of NAMESPACE_ERR and fix Acid3 test 25
38656        http://bugs.webkit.org/show_bug.cgi?id=16693
38657
38658        Test: fast/dom/DOMImplementation/createDocumentType-err.html
38659
38660        * dom/DOMImplementation.cpp:
38661        (WebCore::DOMImplementation::createDocumentType):
38662        (WebCore::DOMImplementation::createDocument):
38663        * dom/DOMImplementation.idl:
38664        * dom/Document.cpp:
38665        (WebCore::Document::hasPrefixNamespaceMismatch):
38666        (WebCore::Document::createElementNS):
38667        (WebCore::Document::parseQualifiedName):
38668        (WebCore::Document::createAttributeNS):
38669        * dom/Document.h:
38670        * dom/Element.cpp:
38671        (WebCore::Element::setAttributeNS):
38672        * editing/FormatBlockCommand.cpp:
38673        (WebCore::FormatBlockCommand::doApply):
38674
386752008-03-22  Eric Seidel  <eric@webkit.org>
38676
38677        Reviewed by mjs.
38678
38679        Fix createElementNS to throw exceptions for invalid qualified names
38680        Fixes Acid3 sub-test 23
38681        http://bugs.webkit.org/show_bug.cgi?id=16833
38682
38683        Tests: fast/dom/Document/createAttributeNS-namespace-err.html
38684               fast/dom/Document/createElementNS-namespace-err.html
38685
38686        * dom/Document.cpp:
38687        (WebCore::Document::createElement):
38688        (WebCore::hasNamespaceError):
38689        (WebCore::Document::createElementNS):
38690        (WebCore::Document::createAttributeNS):
38691        * dom/Document.idl:
38692
386932008-03-21  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
38694
38695        Reviewed by Oliver Hunt.
38696
38697        Bug 13693: REGRESSION (r13615): Acid2 Test Eyes render improperly after a page refresh
38698        <http://bugs.webkit.org/show_bug.cgi?id=13693>
38699
38700        Do not create bogus history items for unloaded <object> elements, because they
38701        cause fallback content to be ignored on reload.
38702
38703        * loader/FrameLoader.cpp:
38704        (WebCore::FrameLoader::createHistoryItemTree):
38705
387062008-03-21  Dan Bernstein  <mitz@apple.com>
38707
38708        Reviewed by Oliver Hunt.
38709
38710        - fix http://bugs.webkit.org/show_bug.cgi?id=17988
38711          REGRESSION (r31114-31132): Crash in InlineBox::isDirty() opening chowhound.com
38712
38713        Test: fast/css-generated-content/empty-content-with-float-crash.html
38714
38715        * rendering/bidi.cpp:
38716        (WebCore::RenderBlock::layoutInlineChildren): Added a null check for
38717        the case where the block contains no in-flow elements but still lays
38718        out as a line flow, which can happen as a result of empty generated
38719        content.
38720
387212008-03-21  Sam Weinig  <sam@webkit.org>
38722
38723        Reviewed by Oliver Hunt.
38724
38725        Fix <rdar://problem/5788451>
38726        toDataURL not implemented for Windows (need mapping of MIME type to UTI)
38727
38728        Hard code support for just PNG's on windows, the minimum the spec requires.
38729
38730        * platform/MIMETypeRegistry.cpp:
38731        (WebCore::initializeSupportedImageMIMETypesForEncoding):
38732        * platform/graphics/cg/ImageBufferCG.cpp:
38733        (WebCore::utiFromMIMEType):
38734        (WebCore::ImageBuffer::toDataURL):
38735
387362008-03-21  Matt Lilek  <webkit@mattlilek.com>
38737
38738        Not reviewed, Mac build fix.
38739
38740        * bindings/objc/WebScriptObject.mm:
38741        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
38742        * bridge/jni/jni_utility.cpp:
38743        (KJS::Bindings::convertValueToJValue):
38744        * bridge/objc/objc_runtime.mm:
38745        (ObjcFallbackObjectImp::callAsFunction):
38746
387472008-03-21  Adam Roben  <aroben@apple.com>
38748
38749        Attempt to fix the Mac build
38750
38751        * bindings/objc/DOMUtility.mm:
38752        (KJS::createDOMWrapper):
38753
387542008-03-21  Adam Roben  <aroben@apple.com>
38755
38756        Rename static info members to s_info
38757
38758        This avoids conflicts with custom "info" methods, such as the one that
38759        will soon be added to Console.
38760
38761        Reviewed by Ada Chan and Sam Weinig.
38762
387632008-03-21  David Hyatt  <hyatt@apple.com>
38764
38765        <rdar://problem/5808863> Zooming should not let non-zero border width become zero
38766
38767        Make sure zoomed values that begin >= 1 are not allowed to fall below 1.
38768
38769        Reviewed by adele
38770
38771        * css/CSSPrimitiveValue.cpp:
38772        (WebCore::CSSPrimitiveValue::computeLengthDouble):
38773        * loader/CachedImage.cpp:
38774        (WebCore::CachedImage::imageSize):
38775        (WebCore::CachedImage::imageRect):
38776
387772008-03-21  Kevin McCullough  <kmccullough@apple.com>
38778
38779        Reviewed by Sam.
38780
38781        -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
38782        -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
38783        -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
38784        - Instrument the InspectorController to cache XHR resrouces since they are not cached by WebCore.
38785        The resources will be kept in the same map as all other resources so they will have the exact
38786        same lifecycle. 
38787
38788        * ChangeLog:
38789        * page/InspectorController.cpp:
38790        (WebCore::InspectorCachedXMLHttpRequestResource::type):
38791        (WebCore::InspectorCachedXMLHttpRequestResource::setType):
38792        (WebCore::InspectorCachedXMLHttpRequestResource::data):
38793        (WebCore::InspectorCachedXMLHttpRequestResource::setData):
38794        (WebCore::InspectorCachedXMLHttpRequestResource::encoding):
38795        (WebCore::InspectorCachedXMLHttpRequestResource::setEncoding):
38796        (WebCore::InspectorCachedXMLHttpRequestResource::create):
38797        (WebCore::InspectorCachedXMLHttpRequestResource::InspectorCachedXMLHttpRequestResource):
38798
387992008-03-21  Rodney Dawes  <dobey@wayofthemonkey.com>
38800
38801        Reviewed by Holger.
38802
38803        http://bugs.webkit.org/show_bug.cgi?id=17981
38804
38805        Remove WebCore/ForwardingHeaders from cppflags as it is not needed,
38806        and causes build problems with GTK+.
38807
38808        * GNUmakefile.am:
38809
388102008-03-21  Dan Bernstein  <mitz@apple.com>
38811
38812        Reviewed by Adele Peterson.
38813
38814        - fix http://bugs.webkit.org/show_bug.cgi?id=17966
38815          REGRESSION (r31114-r31132): Clearing via br behaves unpredictably
38816
38817        Test: fast/block/float/br-with-clear.html
38818
38819        * rendering/bidi.cpp:
38820        (WebCore::RenderBlock::layoutInlineChildren): Fixed the logic for the
38821        very special case of an all-lines-clean block that ends with a float-
38822        clearing <br> by looking for the <br> at the end of the line rather
38823        than at its beginning.
38824
388252008-03-21  Adam Roben  <aroben@apple.com>
38826
38827        Don't allow any newly-scheduled plugin requests to be serviced when JS is paused
38828
38829        This is a followup to r31199.
38830
38831        Reviewed by Tim Hatcher.
38832
38833        * plugins/PluginView.cpp:
38834        (WebCore::PluginView::requestTimerFired): Added an assertion that JS
38835        is not paused.
38836        (WebCore::PluginView::scheduleRequest): Don't start the request timer
38837        if JS is paused. This is the bug fix.
38838        (WebCore::PluginView::setJavaScriptPaused): Replaced the use of
38839        m_requestTimerWasActive with a check to see if we have any pending
38840        requests. m_requestTimerWasActive would not be accurate if a new
38841        request had been scheduled while JS was paused.
38842        (WebCore::PluginView::PluginView): Removed initialization of
38843        m_requestTimerWasActive.
38844        * plugins/PluginView.h: Removed m_requestTimerWasActive.
38845
388462008-03-20  Dan Bernstein  <mitz@apple.com>
38847
38848        Reviewed by Anders Carlsson.
38849
38850        - fix an assertion failure due to a line being marked dirty during
38851          computeVerticalPositionsForLine() due to temporary box destruction
38852
38853        Test: fast/inline/clean-after-removing-temp-boxes.html
38854
38855        * rendering/RenderText.cpp:
38856        (WebCore::RenderText::setTextWithOffset): Added code to dirty lines
38857        when this method is called on an empty text node, which has no line
38858        boxes.
38859        * rendering/bidi.cpp:
38860        (WebCore::RenderBlock::computeVerticalPositionsForLine): Mark the line
38861        clean in the end.
38862
388632008-03-20  Anders Carlsson  <andersca@apple.com>
38864
38865        Reviewed by Maciej.
38866
38867        Make some member variables private.
38868        
38869        * loader/ResourceLoader.cpp:
38870        (WebCore::ResourceLoader::ResourceLoader):
38871        * loader/ResourceLoader.h:
38872
388732008-03-20  Anders Carlsson  <andersca@apple.com>
38874
38875        Reviewed by Maciej.
38876
38877        Get rid of m_originalURL in ResourceLoader.
38878
38879        * loader/ResourceLoader.cpp:
38880        (WebCore::ResourceLoader::load):
38881        Don't store m_originalURL.
38882        
38883        * loader/ResourceLoader.h:
38884        * loader/SubresourceLoader.cpp:
38885        (WebCore::SubresourceLoader::willSendRequest):
38886        Use the url of the current request instead of the original URL.
38887
388882008-03-20  Anders Carlsson  <andersca@apple.com>
38889
38890        Reviewed by Maciej.
38891
38892        Small loader cleanups.
38893        
38894        * loader/MainResourceLoader.cpp:
38895        (WebCore::MainResourceLoader::willSendRequest):
38896        No need to call setRequest here, ResourceLoader::willSendRequest takes care of that. 
38897        Also, there is no need to check that newRequest is null here, because we assert earlier that it is not.
38898        
38899        * loader/ResourceLoader.h:
38900        Get rid of setRequest, it is no longer needed.
38901
389022008-03-20  Anders Carlsson  <andersca@apple.com>
38903
38904        Get rid of a couple of unnecessary class declarations.
38905        
38906        * loader/SubresourceLoader.h:
38907
389082008-03-20  David Hyatt  <hyatt@apple.com>
38909
38910        Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
38911        associated text decorations like shadows and underlines).
38912
38913        Reviewed by Beth
38914
38915        * css/CSSParser.cpp:
38916        (WebCore::CSSParser::parseBackgroundProperty):
38917        * css/CSSPrimitiveValueMappings.h:
38918        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
38919        (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
38920        * platform/graphics/GraphicsContext.cpp:
38921        (WebCore::GraphicsContext::clipToImageBuffer):
38922        * platform/graphics/GraphicsContext.h:
38923        * platform/graphics/cg/GraphicsContextCG.cpp:
38924        (WebCore::GraphicsContext::clipToImageBuffer):
38925        * rendering/InlineBox.cpp:
38926        (WebCore::InlineBox::paint):
38927        * rendering/InlineFlowBox.cpp:
38928        (WebCore::InlineFlowBox::paintBackgrounds):
38929        (WebCore::InlineFlowBox::paintBackground):
38930        (WebCore::InlineFlowBox::paintBoxDecorations):
38931        * rendering/InlineFlowBox.h:
38932        * rendering/InlineTextBox.cpp:
38933        (WebCore::InlineTextBox::paint):
38934        * rendering/RenderBlock.cpp:
38935        (WebCore::RenderBlock::paintColumns):
38936        (WebCore::RenderBlock::paintObject):
38937        (WebCore::RenderBlock::paintFloats):
38938        * rendering/RenderBlock.h:
38939        * rendering/RenderBox.cpp:
38940        (WebCore::RenderBox::paintRootBoxDecorations):
38941        (WebCore::RenderBox::paintBoxDecorations):
38942        (WebCore::RenderBox::paintBackgrounds):
38943        (WebCore::RenderBox::paintBackground):
38944        (WebCore::RenderBox::paintBackgroundExtended):
38945        * rendering/RenderBox.h:
38946        * rendering/RenderFieldset.cpp:
38947        (WebCore::RenderFieldset::paintBoxDecorations):
38948        * rendering/RenderFlow.cpp:
38949        (WebCore::RenderFlow::paintLines):
38950        * rendering/RenderObject.h:
38951        (WebCore::RenderObject::paintBackgroundExtended):
38952        * rendering/RenderStyle.h:
38953        * rendering/RenderTable.cpp:
38954        (WebCore::RenderTable::paintBoxDecorations):
38955        * rendering/RenderTableCell.cpp:
38956        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
38957
389582008-03-20  Adam Roben  <aroben@apple.com>
38959
38960        Allow pausing/blocking of JS execution by plugins
38961
38962        Part of Bug 17133: Should support pausing JavaScript execution without
38963        hanging the process
38964
38965        <http://bugs.webkit.org/show_bug.cgi?id=17133>
38966        <rdar://problem/5719551>
38967
38968        This patch doesn't affect Mac, which doesn't use the shared PluginView
38969        code.
38970
38971        Note that this patch doesn't prevent plugins from executing JS via an
38972        NPObject they've already gotten hold of. It just blocks obtaining new
38973        NPObjects and pauses any requests to evaluate javascript: URIs. This
38974        is probably good enough for now because most plugins seem to always
38975        obtain the Window object each time they want to execute JS.
38976
38977        Reviewed by Tim Hatcher.
38978
38979        * plugins/PluginView.cpp:
38980        (WebCore::PluginView::getValue): Return an error if JS is paused.
38981        (WebCore::PluginView::setJavaScriptPaused): Stop the request timer if
38982        we're pausing, and resume it if we're unpausing.
38983        (WebCore::PluginView::PluginView): Initialize new members.
38984        * plugins/PluginView.h:
38985
389862008-03-20  Adam Roben  <aroben@apple.com>
38987
38988        Allow pausing of callOnMainThread callbacks
38989
38990        Part of Bug 17133: Should support pausing JavaScript execution without
38991        hanging the process
38992
38993        <http://bugs.webkit.org/show_bug.cgi?id=17133>
38994        <rdar://problem/5719551>
38995
38996        Reviewed by Tim Hatcher.
38997
38998        * platform/MainThread.cpp:
38999        (WebCore::dispatchFunctionsFromMainThread): If callbacks are paused,
39000        don't dispatch the functions.
39001        (WebCore::setMainThreadCallbacksPaused): Added. If we're being
39002        unpaused, call scheduleDispatchFunctionsOnMainThread so that any
39003        queued callbacks will get dispatched in the near future.
39004        * platform/MainThread.h:
39005
390062008-03-20  Adam Roben  <aroben@apple.com>
39007
39008        Allow blocking of JS event handlers/javascript: URIs per-Frame
39009
39010        Part of Bug 17133: Should support pausing JavaScript execution without
39011        hanging the process
39012
39013        <http://bugs.webkit.org/show_bug.cgi?id=17133>
39014        <rdar://problem/5719551>
39015
39016        Two new methods are added to KJSProxy: setPaused and isPaused. When
39017        setPaused(true) is called, JS event handlers are blocked and
39018        javascript: URIs will not be evaluated.
39019
39020        Reviewed by Tim Hatcher.
39021
39022        * bindings/js/kjs_events.cpp:
39023        (WebCore::JSAbstractEventListener::handleEvent):
39024          - Removed some old KJS_DEBUGGER code
39025          - Don't run the handler if the KJSProxy is paused.
39026        * bindings/js/kjs_proxy.cpp:
39027        (WebCore::KJSProxy::KJSProxy): Initialize new member.
39028        * bindings/js/kjs_proxy.h: Added new methods.
39029        * loader/FrameLoader.cpp:
39030        (WebCore::FrameLoader::executeScript): Don't execute the script if the
39031        KJSProxy is paused.
39032
390332008-03-20  Jon Honeycutt  <jhoneycutt@apple.com>
39034
39035        Reviewed by Anders.
39036
39037        Fix Windows warning / leak: warning C4150: deletion of pointer to
39038        incomplete type 'WebCore::PluginRequest'; no destructor called
39039
39040        * plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so
39041        Windows PluginView destructor can use WTF::deleteAllValues to clean up
39042        m_requests.
39043        * plugins/PluginView.h:
39044        (WebCore::PluginRequest::PluginRequest):
39045        (WebCore::PluginRequest::frameLoadRequest):
39046        (WebCore::PluginRequest::notifyData):
39047        (WebCore::PluginRequest::sendNotification):
39048        (WebCore::PluginRequest::shouldAllowPopups):
39049
390502008-03-20  Mark Rowe  <mrowe@apple.com>
39051
39052        Reviewed by Sam Weinig.
39053
39054        Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
39055        This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
39056        command-line.
39057
39058        * Configurations/WebCore.xcconfig:
39059
390602008-03-20  Jon Honeycutt  <jhoneycutt@apple.com>
39061
39062        Reviewed by Anders.
39063
39064        <rdar://problem/5809600> REGRESSION:
39065        http/tests/plugins/cross-frame-object-access.html hangs Windows Layout
39066        Tests
39067
39068        r30897 changed the way we conditionalize this feature.
39069
39070        * plugins/PluginView.cpp:
39071        (WebCore::PluginView::getValue): Test ENABLE(NETSCAPE_PLUGIN_API)
39072        instead of USE(NPOBJECT).
39073        (WebCore::PluginView::bindingInstance): Same.
39074
390752008-03-20  Adam Roben  <aroben@apple.com>
39076
39077        Highlight nodes when you hover over them in the Console
39078
39079        Part of Bug 16532: Inspector should highlight nodes in page when
39080        hovering over nodes in Inspector's interface
39081
39082        <http://bugs.webkit.org/show_bug.cgi?id=16532>
39083        <rdar://problem/5712896>
39084
39085        Reviewed by Tim Hatcher.
39086
39087        * page/inspector/ConsolePanel.js:
39088        (WebInspector.ConsolePanel._formatnode): Add mouseover/mouseout event
39089        listeners to highlight the node and clear the highlight.
39090
390912008-03-20  Adam Roben  <aroben@apple.com>
39092
39093        Highlight nodes in the page when you hover over their DOM breadcrumbs
39094
39095        Part of Bug 16532: Inspector should highlight nodes in page when
39096        hovering over nodes in Inspector's interface
39097
39098        <http://bugs.webkit.org/show_bug.cgi?id=16532>
39099        <rdar://problem/5712896>
39100
39101        Reviewed by Tim Hatcher.
39102
39103        * page/inspector/DocumentPanel.js:
39104        (WebInspector.DocumentPanel): Add an mouseout event listener to the
39105        breadcrumbs element to clear the highlighted node.
39106        (WebInspector.DocumentPanel.updateBreadcrumbs): Change the mouseover
39107        event listener to highlight the node represented by the hovered
39108        breadcrumb.
39109
391102008-03-20  Adam Roben  <aroben@apple.com>
39111
39112        Highlight nodes in the page when you hover over them in the DOM tree
39113
39114        Part of Bug 16532: Inspector should highlight nodes in page when
39115        hovering over nodes in Inspector's interface
39116
39117        <http://bugs.webkit.org/show_bug.cgi?id=16532>
39118        <rdar://problem/5712896>
39119
39120        The inspected node is no longer highlighted (unless, of course, you
39121        hover over it).
39122
39123        Reviewed by Tim Hatcher.
39124
39125        * page/inspector/DocumentPanel.js:
39126        (WebInspector.DocumentPanel):
39127          - Don't highlight the focused node when the DOM tree is shown
39128          - Added mousemove/mouseout event listeners to set/clear the
39129            highlighted node. These are added to the root of the DOM tree
39130            instead of to each individual list item to avoid flashing as the
39131            mouse moves between nodes.
39132        (WebInspector.DocumentPanel.set focusedDOMNode): Don't highlight the
39133        focused node.
39134        (WebInspector.DocumentPanel._onmousemove): Highlight the node under
39135        the mouse.
39136
391372008-03-20  Adam Roben  <aroben@apple.com>
39138
39139        Show nodes' content/padding/border/margin boxes in the node highlight
39140
39141        Part of Bug 17221: Node highlight should show node metrics
39142
39143        <http://bugs.webkit.org/show_bug.cgi?id=17221>
39144        <rdar://problem/5732822>
39145
39146        Outstanding issues:
39147          1) We don't show padding/border/margins for inlines
39148          2) We don't show any numeric metrics, we just draw the boxes
39149          3) We'll probably want to tweak the look of the highlight some, at
39150             least to make the boxes better distinguishable
39151
39152        Reviewed by Tim Hatcher.
39153
39154        * page/InspectorController.cpp:
39155        (WebCore::drawOutlinedRect): Added. Just draws a single rect.
39156        (WebCore::drawHighlightForBoxes): Added. Takes the rects we calculated
39157        for the node and draws the highlight.
39158        (WebCore::InspectorController::drawNodeHighlight): Calculates the
39159        content/padding/border/margin boxes for blocks and passes them off to
39160        drawHighlightForBoxes. The behavior for inlines is for now unchanged.
39161
391622008-03-20  Adam Roben  <aroben@apple.com>
39163
39164        Fix RenderContainer's override of addLineBoxRects to match RenderObject's
39165
39166        RenderContainer::addLineBoxRects was never getting called because its
39167        parameters didn't match those of RenderObject::addLineBoxRects.
39168
39169        Reviewed by Mitz Pettel.
39170
39171        No test possible.
39172
39173        * rendering/RenderContainer.cpp: Added an optional bool
39174        useSelectionHeight parameter to match RenderObject's method.
39175        * rendering/RenderContainer.h: Ditto.
39176
391772008-03-20  Marco Barisione  <marco.barisione@collabora.co.uk>
39178
39179        Reviewed by Alp Toker.
39180
39181        http://bugs.webkit.org/show_bug.cgi?id=17946
39182        [GTK] Widgets are not clipped
39183
39184        * platform/gtk/RenderThemeGtk.cpp:
39185        (WebCore::paintMozWidget): pass the clipping rectangle to
39186        moz_gtk_widget_paint() instead of just the widget rectangle.
39187
391882008-03-20  David Hyatt  <hyatt@apple.com>
39189
39190        Fix for http://bugs.webkit.org/show_bug.cgi?id=9279
39191
39192        Make :hover work with the adjacent sibling selector.  This fix makes all forms of dynamic changes
39193        (class name changes, :hover, :focus, etc.) work properly when used with the + selector.
39194
39195        Reviewed by weinig
39196
39197        Added fast/css/dynamic-sibling-selector.html
39198
39199        * dom/Element.cpp:
39200        (WebCore::Element::recalcStyle):
39201
392022008-03-20  Aaron Golden  <aegolden@gmail.com>
39203
39204        Reviewed by Darin and David Kilzer.
39205
39206        Addresses <http://bugs.webkit.org/show_bug.cgi?id=15263>, which caused certain marquees to not display.
39207
39208        Test: fast/html/marquee-scroll.html
39209
39210        * html/HTMLMarqueeElement.cpp:
39211        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
39212
392132008-03-20  Adam Roben  <aroben@apple.com>
39214
39215        Export InspectorController::drawNodeHighlight
39216
39217        Reviewed by Tim Hatcher.
39218
39219        * WebCore.base.exp: Also sorted this file.
39220
392212008-03-19  Stephanie Lewis  <slewis@apple.com>
39222
39223        Rubber-stamped by Anders.
39224
39225        Fix Windows Build
39226
39227        * platform/cf/SharedBufferCF.cpp:
39228        (WebCore::SharedBuffer::createCFData):
39229
392302008-03-19  Stephanie Lewis <slewis@apple.com>
39231
39232        Rubber-stamped by Anders.
39233
39234        Fix Windows Build
39235
39236        * platform/SharedBuffer.h:
39237
392382008-03-19  Justin Garcia  <justin.garcia@apple.com>
39239
39240        Reviewed by Oliver.
39241        
39242        <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
39243         
39244        Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
39245        a document in quirksmode and pasted into to one in standards mode.  This fix uses the computed 
39246        the value for a property if its value is a percentage.
39247        
39248        * css/CSSMutableStyleDeclaration.cpp:
39249        (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use
39250        setProperty from appendStartMarkup.  We already have a parsed property value, so we shouldn't
39251        use setProperty, since it takes in a String.  If we did, we would have to call CSSValue::cssText()
39252        for a String only to re-parse it in setProperty.  This wasn't extremely important now, but it will 
39253        be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
39254        * css/CSSMutableStyleDeclaration.h:
39255        * editing/markup.cpp:
39256        (WebCore::appendStartMarkup): Compute values for properties that have percentage values.  We could
39257        perhaps narrow this special case to only include properties that are effected by quirksmode.
39258
392592008-03-19  Sam Weinig  <sam@webkit.org>
39260
39261        Reviewed by Anders Carlsson.
39262
39263        Fix for <rdar://problem/5785694>
39264        Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
39265
39266        Make the activeExecStates stack per JSGlobalObject instead of static to ensure
39267        thread safety.
39268
39269        * bindings/objc/WebScriptObject.mm:
39270        (+[WebScriptObject throwException:]): Change to throw an exception on the current
39271        GlobalObject instead of the top of the static activeExecStates stack.
39272        (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject
39273        instead of the top of the static activeExecStates stack.
39274
39275        * bridge/c/c_instance.cpp:
39276        * bridge/c/c_instance.h:
39277        * bridge/jni/jni_instance.cpp:
39278        (JavaInstance::virtualBegin):
39279        (JavaInstance::virtualEnd):
39280        * bridge/jni/jni_instance.h:
39281        * bridge/objc/objc_instance.h:
39282        * bridge/objc/objc_instance.mm:
39283        (ObjcInstance::~ObjcInstance):
39284        (ObjcInstance::virtualBegin):
39285        (ObjcInstance::virtualEnd):
39286        * bridge/runtime.cpp:
39287        (KJS::Bindings::Instance::setDidExecuteFunction):
39288        (KJS::Bindings::Instance::didExecuteFunction):
39289        (KJS::Bindings::Instance::setCurrentGlobalObject): Added.
39290        (KJS::Bindings::Instance::currentGlobalObject): Added.
39291        (KJS::Bindings::Instance::begin):
39292        (KJS::Bindings::Instance::end):
39293        * bridge/runtime.h:
39294        (KJS::Bindings::Instance::virtualBegin): Renamed from begin().
39295        (KJS::Bindings::Instance::virtualEnd): Renamed from end().
39296        We now store the currently active globalObject everytime we cross the runtime
39297        object boundary.  To do this, we take advantage of the existing begin/end
39298        methods that are called when crossing this boundary, making begin set the current
39299        globalObject and then call the old begin, now called virtualBegin.
39300
393012008-03-19  Brady Eidson  <beidson@apple.com>
39302
39303        Reviewed by Anders
39304
39305        Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
39306        (Mac and Windows instead of just Mac)
39307
39308        * WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
39309        * WebCore.xcodeproj/project.pbxproj: Ditto
39310
39311        * platform/SharedBuffer.cpp:
39312        * platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
39313
39314        * platform/cf/SharedBufferCF.cpp: Added.
39315        (WebCore::SharedBuffer::SharedBuffer):
39316        (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData
39317        (WebCore::SharedBuffer::hasPlatformData):
39318        (WebCore::SharedBuffer::platformData):
39319        (WebCore::SharedBuffer::platformDataSize):
39320        (WebCore::SharedBuffer::maybeTransferPlatformData):
39321        (WebCore::SharedBuffer::clearPlatformData):
39322
39323        * platform/mac/SharedBufferMac.mm:
39324        (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging
39325        (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
39326
393272008-03-19  Oliver Hunt  <oliver@apple.com>
39328
39329        Reviewed by Antti.
39330
39331        Bug 17954: Canvas arc() with radius of 0 throws exception
39332        http://bugs.webkit.org/show_bug.cgi?id=17954
39333
39334        Simple fix -- use >= instead of > when validating the radius.
39335
39336        * html/CanvasRenderingContext2D.cpp:
39337        (WebCore::CanvasRenderingContext2D::arc):
39338
393392008-03-19  Justin Garcia  <justin.garcia@apple.com>
39340
39341        Reviewed by Oliver.
39342
39343        <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
39344        
39345        The position inside an empty inline-block was a candidate, but upstream and downstream
39346        would move across it without stopping.  This confused canonicalPosition, since no more
39347        than two candidates should have the same upstream/downstream (be visually equivalent).
39348        
39349        Code was added intentionally in isCandidate to make VisiblePositions inside empty 
39350        inline-blocks, so we need to make upstream/downstream understand that.
39351
39352        * dom/Position.cpp:
39353        (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only
39354        stop when entering or leaving a non-inline element (referred to as a "block").  We must also 
39355        avoid entering or leaving an empty inline-block.  This will allow a VisiblePosition there, to 
39356        match up with what the code in isCandidate intended.
39357        (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this.
39358        (WebCore::Position::upstream): Added better comments, called the new functions.
39359        (WebCore::Position::downstream): Ditto.
39360        * dom/Position.h:
39361
393622008-03-19  Dan Bernstein  <mitz@apple.com>
39363
39364        Rubber-stamped by John Sullivan.
39365
39366        - change CSS property and value keyword constants from all-caps with
39367          underscores to intra-caps.
39368
39369        * css/makeprop.pl:
39370        * css/makevalues.pl:
39371        * All files using the constants
39372
393732008-03-19  Adam Roben  <aroben@apple.com>
39374
39375        Make clicking anywhere in a row in the DOM tree select that row's node
39376
39377        We now have mousedown and dblclick event listeners on the root of the
39378        tree that forward the event to the node on the row the mouse is over.
39379
39380        Reviewed by Tim Hatcher.
39381
39382        * page/inspector/DocumentPanel.js:
39383        (WebInspector.DocumentPanel): Added a dblclick and mousedown event
39384        listeners to the root of the tree.
39385        (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the
39386        tree element for the row underneath the mouse.
39387        (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick
39388        event on to the tree element in the current row.
39389        (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree
39390        element in the current row.
39391        * page/inspector/treeoutline.js:
39392        (TreeOutline.treeElementFromPoint): Added.
39393        (TreeElement.treeElementSelected): Changed to call
39394        TreeElement.isEventWithinDisclosureTriangle, and added an early return.
39395        (TreeElement.treeElementToggled): Ditto.
39396        (TreeElement.isEventWithinDisclosureTriangle): Added.
39397        * page/inspector/utilities.js:
39398        (Node.enclosingNodeOrSelfWithNodeNameInArray): Added.
39399        (Node.enclosingNodeOrSelfWithNodeName): Now just calls
39400        enclosingNodeOrSelfWithNodeNameInArray.
39401        (Elemnt.get totalOffsetLeft): Added.
39402        (Elemnt.get totalOffsetTop): Added.
39403
394042008-03-19  Dan Bernstein  <mitz@apple.com>
39405
39406        Reviewed by Sam Weinig.
39407
39408        - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
39409
39410        Test: fast/repaint/line-flow-with-floats-10.html
39411
39412        * rendering/bidi.cpp:
39413        (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
39414        If the float's top margin has changed and it has not been repositioned
39415        yet, we do not have its new y position.
39416
394172008-03-19  David Hyatt  <hyatt@apple.com>
39418
39419        New implementation of full page zoom.  Because of how much doesn't transform when zooming, and because
39420        of the need to obey viewport constraints, I decided to take a completely different approach.  Now CSS
39421        lengths and intrinsic sizes are simply adjusted by the zoom factor.  This approach works much better and
39422        avoids pixel cracks more than the old approach.   In addition widgets "just work", namely plugins zoom
39423        and scrollbars do not.
39424
39425        This patch also implements the IE zoom CSS property.  This property allows fine-grained control over
39426        zooming at the element level.  It takes values of normal | <number> | <percentage> to match WinIE.  In
39427        addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
39428        extra value, reset.  The reset keyword can be used to prevent a section of the page from scaling at all
39429        when a zoom is applied.
39430
39431        Reviewed by olliej
39432
39433        * css/CSSComputedStyleDeclaration.cpp:
39434        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
39435        Support the new 'zoom' property for getComputedStyle.
39436
39437        * css/CSSParser.cpp:
39438        (WebCore::CSSParser::parseValue):
39439        Code that parses the 'zoom' property.
39440
39441        * css/CSSPrimitiveValue.cpp:
39442        (WebCore::CSSPrimitiveValue::computeLengthInt):
39443        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
39444        (WebCore::CSSPrimitiveValue::computeLengthShort):
39445        (WebCore::CSSPrimitiveValue::computeLengthFloat):
39446        (WebCore::CSSPrimitiveValue::computeLengthDouble):
39447        * css/CSSPrimitiveValue.h:
39448        Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the
39449        zoom factor.
39450
39451        * css/CSSPropertyNames.in:
39452        Add the new zoom property to the list of properties we understand.
39453
39454        * css/CSSStyleSelector.cpp:
39455        (WebCore::CSSStyleSelector::applyDeclarations):
39456        (WebCore::CSSStyleSelector::applyProperty):
39457        (WebCore::CSSStyleSelector::mapBackgroundSize):
39458        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
39459        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
39460        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
39461        * css/CSSStyleSelector.h:
39462        (WebCore::CSSStyleSelector::setStyle):
39463        Pass in the zoom factor when computing all lengths in CSS.
39464
39465        * css/CSSValueKeywords.in:
39466        Add support for the 'reset' keyword of the zoom property.
39467
39468        * dom/Document.cpp:
39469        (WebCore::Document::recalcStyle):
39470        Set the 'zoom' CSS property on the RenderView.  This is how we implement full page zoom.
39471
39472        * html/CanvasRenderingContext2D.cpp:
39473        (WebCore::size):
39474        Make sure the back end canvas size ignores zooming when rendering images.
39475
39476        * html/HTMLImageElement.cpp:
39477        (WebCore::HTMLImageElement::width):
39478        (WebCore::HTMLImageElement::height):
39479        (WebCore::HTMLImageElement::naturalWidth):
39480        (WebCore::HTMLImageElement::naturalHeight):
39481        Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
39482
39483        * loader/CachedImage.cpp:
39484        (WebCore::CachedImage::ref):
39485        (WebCore::CachedImage::imageSize):
39486        (WebCore::CachedImage::imageRect):
39487        * loader/CachedImage.h:
39488        (WebCore::CachedImage::canRender):
39489        Force access to the CachedImage metrics to take a multiplier so that people have to think about
39490        the zoom factor.  The "intrinsic size" of the image then takes that into account.
39491
39492        * loader/ImageDocument.cpp:
39493        (WebCore::ImageTokenizer::finish):
39494        (WebCore::ImageDocument::scale):
39495        (WebCore::ImageDocument::resizeImageToFit):
39496        (WebCore::ImageDocument::imageChanged):
39497        (WebCore::ImageDocument::restoreImageSize):
39498        (WebCore::ImageDocument::imageFitsInWindow):
39499        Make sure image documents respect the zoom.
39500
39501        * page/AnimationController.cpp:
39502        (WebCore::ImplicitAnimation::animate):
39503        Make the 'zoom' CSS property work with CSS transitions.
39504
39505        * page/Frame.h:
39506        (WebCore::Frame::pageZoomFactor):
39507        (WebCore::Frame::textZoomFactor):
39508        Add accessors for obtaining the pageZoom vs. textZoom.
39509
39510        * page/FrameView.cpp:
39511        (WebCore::FrameView::adjustViewSize):
39512        Remove the old zoom implementation that used transforms.
39513
39514        * page/mac/WebCoreAXObject.mm:
39515        (-[WebCoreAXObject accessibilityIsIgnored]):
39516        Pass in the zoom factor.
39517
39518        * rendering/InlineFlowBox.cpp:
39519        (WebCore::InlineFlowBox::paintBackground):
39520        (WebCore::InlineFlowBox::paintBoxDecorations):
39521        Pass in the zoom factor when testing for size.
39522
39523        * rendering/RenderBox.cpp:
39524        (WebCore::RenderBox::calculateBackgroundSize):
39525        (WebCore::RenderBox::imageChanged):
39526        (WebCore::RenderBox::paintBackgroundExtended):
39527        (WebCore::RenderBox::calcHeight):
39528        * rendering/RenderFrameSet.cpp:
39529        (WebCore::RenderFrameSet::layout):
39530        * rendering/RenderHTMLCanvas.cpp:
39531        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
39532        * rendering/RenderHTMLCanvas.h:
39533        (WebCore::RenderHTMLCanvas::renderName):
39534        (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
39535        * rendering/RenderImage.cpp:
39536        (WebCore::RenderImage::setImageSizeForAltText):
39537        (WebCore::RenderImage::imageChanged):
39538        (WebCore::RenderImage::calcReplacedWidth):
39539        (WebCore::RenderImage::calcReplacedHeight):
39540        * rendering/RenderImage.h:
39541        (WebCore::RenderImage::intrinsicSizeChanged):
39542        * rendering/RenderListMarker.cpp:
39543        (WebCore::RenderListMarker::layout):
39544        (WebCore::RenderListMarker::imageChanged):
39545        (WebCore::RenderListMarker::getRelativeMarkerRect):
39546        * rendering/RenderObject.cpp:
39547        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
39548        (WebCore::RenderObject::paintBorder):
39549        Pass in the zoom factor when testing for size.
39550
39551        * rendering/RenderReplaced.cpp:
39552        (WebCore::RenderReplaced::RenderReplaced):
39553        (WebCore::RenderReplaced::setStyle):
39554        (WebCore::RenderReplaced::intrinsicSizeChanged):
39555        * rendering/RenderReplaced.h:
39556        Added a new call when the zoom factor changes, intrinsicSizeChanged().  Replaced element subclasses
39557        respond to this via overrides.
39558
39559        * rendering/RenderStyle.cpp:
39560        (WebCore::StyleVisualData::StyleVisualData):
39561        (WebCore::StyleInheritedData::StyleInheritedData):
39562        (WebCore::StyleInheritedData::operator==):
39563        (WebCore::RenderStyle::diff):
39564        * rendering/RenderStyle.h:
39565        (WebCore::StyleVisualData::operator==):
39566        (WebCore::RenderStyle::zoom):
39567        (WebCore::RenderStyle::zoomInEffect):
39568        (WebCore::RenderStyle::setZoom):
39569        (WebCore::RenderStyle::setZoomInEffect):
39570        (WebCore::RenderStyle::initialZoom):
39571        Support for 'zoom' in the RenderStyle.  "zoomInEffect" represents the computed zoom taking into account
39572        all the zooms specified on ancestors.
39573
39574        * rendering/RenderTableCol.cpp:
39575        (WebCore::RenderTableCol::imageChanged):
39576        * rendering/RenderTableRow.cpp:
39577        (WebCore::RenderTableRow::imageChanged):
39578        * rendering/RenderTableSection.cpp:
39579        (WebCore::RenderTableSection::imageChanged):
39580        * rendering/RenderVideo.h:
39581        (WebCore::RenderVideo::intrinsicSizeChanged):
39582        Pass in the zoom factor.
39583
39584        * rendering/RenderView.cpp:
39585        (WebCore::RenderView::calcHeight):
39586        (WebCore::RenderView::calcWidth):
39587        (WebCore::RenderView::layout):
39588        (WebCore::RenderView::viewHeight):
39589        (WebCore::RenderView::viewWidth):
39590        * rendering/RenderView.h:
39591        (WebCore::RenderView::zoomFactor):
39592        Back out the old implementation.
39593
395942008-03-19  Adam Roben  <aroben@apple.com>
39595
39596        Rename firstParent* methods to enclosingNode*
39597
39598        Rubberstamped by John Sullivan.
39599
39600        * page/inspector/ConsolePanel.js:
39601        * page/inspector/DocumentPanel.js:
39602        * page/inspector/NetworkPanel.js:
39603        * page/inspector/inspector.js:
39604        * page/inspector/utilities.js:
39605
396062008-03-19  Dan Bernstein  <mitz@apple.com>
39607
39608        Reviewed by John Sullivan.
39609
39610        - fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
39611
39612        Test: fast/dynamic/subtree-parent-static-y.html
39613
39614        * rendering/RenderObject.cpp:
39615        (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling
39616        this method on the parent if the parent is the new layout subtree root,
39617        which would result in marking all the way to the top, when it should
39618        actually do nothing.
39619
396202008-03-19  Mark Rowe  <mrowe@apple.com>
39621
39622        Reviewed by Oliver Hunt.
39623
39624        Use WTF::Unicode abstraction rather than using ICU functions directly.
39625
39626        * html/PreloadScanner.cpp:
39627        (WebCore::PreloadScanner::tokenize):
39628
396292008-03-19  Mark Rowe  <mrowe@apple.com>
39630
39631        Attempt to fix the Gtk build.
39632
39633        * platform/network/curl/ResourceHandleCurl.cpp:
39634        (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
39635
396362008-03-18  Darin Adler  <darin@apple.com>
39637
39638        Reviewed by Maciej.
39639
39640        - Speed up JavaScript built-in properties by changing the
39641          hash table to take advantage of the identifier objects
39642
39643        5% speedup for Acid3 test 26
39644
39645        * bindings/js/JSDOMWindowBase.cpp:
39646        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable.
39647        (WebCore::JSDOMWindowBase::put): Ditto.
39648        * bindings/js/JSDOMWindowCustom.cpp:
39649        (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
39650        * bindings/js/JSHTMLInputElementBase.cpp:
39651        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
39652        * bindings/js/JSHistoryCustom.cpp:
39653        (WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
39654        * bindings/js/JSLocation.cpp:
39655        (WebCore::JSLocation::customGetOwnPropertySlot): Ditto.
39656        (WebCore::JSLocation::put): Ditto.
39657        * bindings/js/kjs_binding.cpp:
39658        (WebCore::nonCachingStaticFunctionGetter): Ditto.
39659
39660        * bindings/scripts/CodeGeneratorJS.pm: Same changes as in the
39661        create_hash_table script.
39662
396632008-03-18  Matt Lilek  <webkit@mattlilek.com>
39664
39665        Fix the Gtk build for real this time.
39666
39667        * platform/network/curl/AuthenticationChallenge.h:
39668
396692008-03-18  Sam Weinig  <sam@webkit.org>
39670
39671        Reviewed by Anders Carlsson.
39672
39673        Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
39674        REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
39675        <rdar://problem/5725058>
39676
39677        Tests: fast/dom/NodeList/5725058-crash-scenario-1.html
39678               fast/dom/NodeList/5725058-crash-scenario-2.html
39679               fast/dom/NodeList/5725058-crash-scenario-3.html
39680
39681        * dom/ChildNodeList.cpp: 
39682        (WebCore::ChildNodeList::ChildNodeList):
39683        * dom/ChildNodeList.h:
39684        Remove rootNodeChildrenChanged() method and fix the constructor to not 
39685        pass in a needsNotifications argument to DynamicNodeList, as it no longer
39686        takes one.
39687
39688        * dom/ClassNodeList.cpp:
39689        (WebCore::ClassNodeList::ClassNodeList):
39690        Don't pass the needsNotifications argument to DynamicNodeList.
39691
39692        * dom/ContainerNode.cpp:
39693        (WebCore::ContainerNode::childrenChanged):
39694        Rename call to hasNodeLists() to hasNodeListCaches().
39695
39696        * dom/Document.cpp:
39697        (WebCore::Document::Document):
39698        (WebCore::Document::~Document): Zero out the m_document variable to signify
39699        to destructors down the destruction chain that this is a Document type node
39700        being destructed, and thus, accessing document() is prohibited.
39701        * dom/Document.h:
39702        (WebCore::Document::addNodeListCache): Renamed from addNodeList.
39703        (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion.
39704        (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches.
39705        Rename m_numNodeLists to m_numNodeListCaches.
39706
39707        * dom/DynamicNodeList.cpp:
39708        (WebCore::DynamicNodeList::DynamicNodeList):
39709        (WebCore::DynamicNodeList::~DynamicNodeList):
39710        (WebCore::DynamicNodeList::invalidateCache):
39711        (WebCore::DynamicNodeList::Caches::Caches):
39712        * dom/DynamicNodeList.h:
39713        (WebCore::DynamicNodeList::hasOwnCaches):
39714        Remove the needsNotifications concept from DynamicNodeList, instead, manually
39715        invalidate the cache for lists that own their own cache.
39716
39717        * dom/NameNodeList.cpp:
39718        (WebCore::NameNodeList::NameNodeList):
39719        * dom/NameNodeList.h:
39720        Remove rootNodeAttributeChanged() method and fix the constructor to not 
39721        pass in a needsNotifications argument to DynamicNodeList, as it no longer
39722        takes one.
39723
39724        * dom/Node.cpp:
39725        (WebCore::Node::~Node): Decrement the document's nodeListCache count
39726        if we had a NodeListsNodeData cache and this is not the Document being
39727        destructor, as tagged by a null m_document.
39728        (WebCore::Node::childNodes): Increment the document's nodeListCache count 
39729        if we need create the NodeListsNodeData.
39730        (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count 
39731        if we need create the NodeListsNodeData.  Change to invalidate all the caches, instead 
39732        of just the ChildNodeList, if document has had no NodeListCaches.
39733        (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches
39734        set if it is owned by the NodeList and clear the m_nodeLists if it is empty.
39735        (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to 
39736        NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty.
39737        (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to 
39738        NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty.
39739        (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup.
39740        (WebCore::Node::getElementsByName): Increment the document's nodeListCache count 
39741        if we need create the NodeListsNodeData.
39742        (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count 
39743        if we need create the NodeListsNodeData.
39744
39745        (WebCore::NodeListsNodeData::invalidateCaches): Added.
39746        (WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
39747        (WebCore::NodeListsNodeData::isEmpty): Added.
39748
39749        * dom/TagNodeList.cpp:
39750        (WebCore::TagNodeList::TagNodeList):
39751        Don't pass the needsNotifications argument to DynamicNodeList.
39752
397532008-03-18  Matt Lilek  <webkit@mattlilek.com>
39754
39755        Not reviewed, build fix.
39756
39757        * platform/network/curl/AuthenticationChallenge.h:
39758
397592008-03-18  Brent Fulgham  <bfulgham@gmail.com>
39760
39761        Reviewed by Adam Roben.
39762
39763        Provide some stub implementations for things that WebKit
39764        uses for performing authentication/challenge activities.  This
39765        is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
39766
39767        * platform/network/ResourceHandle.h:
39768        * platform/network/curl/AuthenticationChallenge.h:
39769        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
39770        (WebCore::AuthenticationChallenge::sourceHandle):
39771
397722008-03-18  Eric Seidel  <eric@webkit.org>
39773
39774        Reviewed by Oliver.
39775
39776        Fix SVGImage crash seen once, and obvious via code inspection.
39777        
39778        I was not able to find a test case for this.
39779
39780        * svg/graphics/SVGImage.cpp:
39781        (WebCore::SVGImage::setContainerSize):
39782        (WebCore::SVGImage::usesContainerSize):
39783        (WebCore::SVGImage::hasRelativeWidth):
39784        (WebCore::SVGImage::hasRelativeHeight):
39785
397862008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>
39787
39788        Fix Qt build after r31123.
39789
39790        Add PluginView methods to TemporaryLinkStubs.
39791
39792        * platform/qt/TemporaryLinkStubs.cpp:
39793
397942008-03-18  Sam Weinig  <sam@webkit.org>
39795
39796        Reviewed by Darin Adler.
39797
39798        - Speed up JavaScript prototype and constructor object creation
39799          using a static Identifier in the self() methods to avoid the
39800          cost of creating one from a c-string each time.
39801
39802        5% speedup for Acid3 test 26
39803
39804        * bindings/scripts/CodeGeneratorJS.pm:
39805
398062008-03-18  Antti Koivisto  <antti@apple.com>
39807
39808        Reviewed by Mark Rowe.
39809
39810        Enable preloading for other platforms besides Mac.
39811
39812        * GNUmakefile.am:
39813        * WebCore.pro:
39814        * WebCore.vcproj/WebCore.vcproj:
39815        * WebCoreSources.bkl:
39816        * html/HTMLTokenizer.cpp:
39817        * html/HTMLTokenizer.h:
39818        * html/PreloadScanner.cpp:
39819        (WebCore::PreloadScanner::tokenize):
39820
398212008-03-18  Dan Bernstein  <mitz@apple.com>
39822
39823        Reviewed by Adele Peterson.
39824
39825        - fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
39826
39827        Test: fast/dynamic/floating-to-positioned.html
39828
39829        * rendering/RenderObject.cpp:
39830        (WebCore::RenderObject::setStyle): Added code to remove a float from
39831        object lists if its position property changes to something other than
39832        static, since then it ceases to be a float.
39833
398342008-03-18  Adam Roben  <aroben@apple.com>
39835
39836        Windows build fix after r31123
39837
39838        * plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.
39839
398402008-03-18  Dan Bernstein  <mitz@apple.com>
39841
39842        Reviewed by Darin Adler.
39843
39844        - eliminate RenderFlow::m_clear
39845
39846        * rendering/RenderBlock.cpp:
39847        (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
39848        (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
39849        * rendering/RenderBlock.h:
39850        * rendering/RenderFlow.h:
39851        (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
39852        * rendering/bidi.cpp:
39853        (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
39854        variable, passing a pointer to it to findNextLineBreak() and its value
39855        to newLine(). 
39856        (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
39857        which this method adjusts when it encounters a <br>.
39858
398592008-03-18  Simon Hausmann  <hausmann@webkit.org>
39860
39861        Reviewed by Holger.
39862
39863        Fix the Qt build and clean up the invoke mechanism for dispatching
39864        functions in the main thread by using QMetaObject::invokeMethod
39865        instead of posting a null event.
39866
39867        * platform/qt/MainThreadQt.cpp:
39868
398692008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>
39870
39871        Fix Mac build from commit of r31123.
39872
39873        Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.
39874
39875        * platform/Widget.h:
39876        * WebCore.vcproj/WebCore.vcproj:
39877
398782008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>
39879
39880        Reviewed by Jon Honeycutt.
39881
39882        Add PluginView.cpp and npapi.cpp to build files.
39883        Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
39884        Split Windows specific code out of PluginView.cpp.
39885        Add #if USE(NPOBJECT) around dependant code.
39886        Use npruntime_internal.h instead of npapi.h.
39887        Add PlatformWidget typedef to Widget.h.
39888        Update WidgetGtk.cpp for the PlatformWidget usage.
39889        Add needed methods to TemporaryLinkStubs for GTK+ port.
39890
39891        * GNUmakefile.am:
39892        * WebCore.pro:
39893        * WebCoreSources.bkl:
39894        * WebCore.vcproj/WebCore.vcproj:
39895        * plugins/win/PluginViewWin.cpp:
39896        * plugins/PluginView.cpp:
39897        * plugins/PluginView.h:
39898        * plugins/npapi.cpp:
39899        * platform/Widget.h:
39900        * platform/gtk/WidgetGtk.cpp:
39901        * platform/gtk/TemporaryLinkStubs.cpp:
39902
399032008-03-17  Darin Adler  <darin@apple.com>
39904
39905        Reviewed by Maciej.
39906
39907        - speed up document property fetching (eliminate the AtomicString
39908          objects made during document property lookup)
39909
39910        3% speedup for Acid3 test 26
39911
39912        * bindings/js/JSDOMWindowBase.cpp:
39913        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to
39914        locate the AtomicString, only if already present. Also call the new faster
39915        versions of the hasNamedItem and hasElementWithId functions that don't
39916        ref/deref the AtomicStringImpl, get inlined, etc.
39917        * bindings/js/JSHTMLDocumentCustom.cpp:
39918        (WebCore::JSHTMLDocument::canGetItemsForName): Ditto.
39919        (WebCore::writeHelper): Use a Vector instead of a String to build up
39920        the string to avoid the bad performance of string append.
39921
39922        * dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
39923        * dom/Document.h: Added new hasElementWithId function that's faster than
39924        getElementById because it doesn't ref/deref the AtomicStringImpl*, gets
39925        inlined, doesn't have to handle the 0 case, and doesn't try to return the
39926        element pointer (just a boolean).
39927
39928        * html/HTMLAppletElement.cpp:
39929        (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString
39930        consistently. Also renamed the data member for clarity.
39931        (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto.
39932        (WebCore::HTMLAppletElement::removedFromDocument): Ditto.
39933        * html/HTMLAppletElement.h: Ditto.
39934
39935        * html/HTMLDocument.cpp:
39936        (WebCore::addItemToMap): Use AtomicString instead of String.
39937        (WebCore::removeItemFromMap): Ditto.
39938        (WebCore::HTMLDocument::addNamedItem): Updated for member name change.
39939        (WebCore::HTMLDocument::removeNamedItem): Ditto.
39940        (WebCore::HTMLDocument::addExtraNamedItem): Ditto.
39941        (WebCore::HTMLDocument::removeExtraNamedItem): Ditto.
39942        (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript
39943        bindings. If we're going to have an empty placeholder function, there's no
39944        reason to have it in the bindings instead of here.
39945        * html/HTMLDocument.h: Added clear. Changed the named item function
39946        arguments to AtomicString insted of String. Changed the NameCountMap to
39947        use AtomicStringImpl* instead of StringImpl*. Renamed the data members
39948        to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem
39949        and hasExtraNamedItem functions that are inlined and faster than the old
39950        idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined,
39951        and don't have to handle the 0 case.
39952        * html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took
39953        it out of the JavaScript-specific section.
39954
39955        * html/HTMLEmbedElement.cpp:
39956        (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString
39957        consistently. Also renamed the data member for clarity.
39958        (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
39959        (WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
39960        * html/HTMLFormElement.cpp:
39961        (WebCore::HTMLFormElement::insertedIntoDocument): Ditto.
39962        (WebCore::HTMLFormElement::removedFromDocument): Ditto.
39963        (WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
39964        * html/HTMLFormElement.h: Ditto.
39965
39966        * html/HTMLFrameElementBase.cpp:
39967        (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for
39968        clarity, since the frame name is not the same as the name attribute.
39969        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto.
39970        (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
39971        * html/HTMLFrameElementBase.h: Ditto.
39972
39973        * html/HTMLIFrameElement.cpp:
39974        (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString
39975        consistently. Also renamed the data member for clarity.
39976        (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto.
39977        (WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
39978        * html/HTMLIFrameElement.h: Ditto.
39979        * html/HTMLImageElement.cpp:
39980        (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
39981        (WebCore::HTMLImageElement::insertedIntoDocument): Ditto.
39982        (WebCore::HTMLImageElement::removedFromDocument): Ditto.
39983        * html/HTMLImageElement.h: Ditto.
39984        * html/HTMLObjectElement.cpp:
39985        (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
39986        (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto.
39987        (WebCore::HTMLObjectElement::removedFromDocument): Ditto.
39988        (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
39989        * html/HTMLObjectElement.h: Ditto.
39990
39991        * html/HTMLParamElement.cpp:
39992        (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead
39993        of callling lower().
39994
39995        * html/HTMLPlugInElement.h: Changed the type of m_name. The code that
39996        uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.
39997
39998        * platform/text/AtomicString.cpp:
39999        (WebCore::equal): Moved to an inline so we can share this code between a
40000        few different functions. It could move to a header too if we want to use
40001        it elsewhere.
40002        (WebCore::UCharBufferTranslator::equal): Change to use inline.
40003        (WebCore::HashAndCharactersTranslator::hash): Added.
40004        (WebCore::HashAndCharactersTranslator::equal): Added.
40005        (WebCore::HashAndCharactersTranslator::translate): Added.
40006        (WebCore::AtomicString::add): Improved the Identifier and UString overloads
40007        to use the already-computed hash code instead of rehashing the string.
40008        (WebCore::AtomicString::find): Added.
40009        * platform/text/AtomicString.h: Added a find function so we can avoid
40010        allocating memory just to look up a string in an atomic string set or map.
40011
40012        * platform/text/StringImpl.h: Added declarations needed for the
40013        AtomicString changes.
40014
400152008-03-17  Timothy Hatcher  <timothy@apple.com>
40016
40017        Reviewed by Mark Rowe.
40018
40019        Bug 17908: Various bugs in the Console completion code
40020        http://bugs.webkit.org/show_bug.cgi?id=17908
40021
40022        * page/inspector/ConsolePanel.js:
40023        (WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end
40024        of the prompt into the _caretAtEndOfPrompt helper function.
40025        (WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes.
40026        (WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result.
40027        (WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the
40028        end of the prompt.
40029        (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length.
40030        This makes sure the caret is at the end when there are multiple text nodes in the prompt.
40031
400322008-03-17  Dan Bernstein  <mitz@apple.com>
40033
40034        Rubber-stamped by Dave Hyatt.
40035
40036        - FloatingObject cleanup
40037
40038        Renamed FloatingObject's data members as follows: node -> m_renderer,
40039        startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
40040        and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
40041
40042        Also addressed the FIXME in RenderBlock::containsFloat().
40043
40044        * rendering/RenderBlock.cpp:
40045        (WebCore::RenderBlock::repaintOverhangingFloats):
40046        (WebCore::RenderBlock::paintFloats):
40047        (WebCore::RenderBlock::insertFloatingObject):
40048        (WebCore::RenderBlock::removeFloatingObject):
40049        (WebCore::RenderBlock::positionNewFloats):
40050        (WebCore::RenderBlock::leftRelOffset):
40051        (WebCore::RenderBlock::rightRelOffset):
40052        (WebCore::RenderBlock::nextFloatBottomBelow):
40053        (WebCore::RenderBlock::floatBottom):
40054        (WebCore::RenderBlock::floatRect):
40055        (WebCore::RenderBlock::lowestPosition):
40056        (WebCore::RenderBlock::rightmostPosition):
40057        (WebCore::RenderBlock::leftmostPosition):
40058        (WebCore::RenderBlock::leftBottom):
40059        (WebCore::RenderBlock::rightBottom):
40060        (WebCore::RenderBlock::clearFloats):
40061        (WebCore::RenderBlock::addOverhangingFloats):
40062        (WebCore::RenderBlock::addIntrudingFloats):
40063        (WebCore::RenderBlock::containsFloat): Changed to return false if the
40064        floats lists exists but is empty, since line layout code no longer
40065        relies on the buggy behavior.
40066        (WebCore::RenderBlock::nodeAtPoint):
40067        (WebCore::RenderBlock::adjustForBorderFit):
40068        * rendering/RenderBlock.h:
40069        (WebCore::RenderBlock::containsFloats):
40070        (WebCore::RenderBlock::FloatingObject::FloatingObject):
40071        * rendering/bidi.cpp:
40072        (WebCore::RenderBlock::layoutInlineChildren):
40073        (WebCore::RenderBlock::matchedEndLine):
40074
400752008-03-17  Dan Bernstein  <mitz@apple.com>
40076
40077        Reviewed by Dave Hyatt.
40078
40079        - allow incremental relayout of blocks that contain floats
40080
40081        Tests: fast/repaint/line-flow-with-floats-[1-9].html
40082
40083        * rendering/RenderBlock.cpp:
40084        (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
40085        of the function body out of an if statement which was replaced with an
40086        early return.
40087        (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
40088        of the function body out of an if statement and moving the ASSERT, which
40089        is a crash in release builds, to the beginning. Made this function set
40090        the m_isDescendant flag of floating objects it creates.
40091        (WebCore::RenderBlock::removeFloatingObject): Added a call to
40092        markLinesDirtyInVerticalRange() when removing a float from a block with
40093        inline children.
40094        (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
40095        lines in the given range as dirty.
40096        (WebCore::RenderBlock::clearFloats): Added code to detect changes to
40097        the geometry of floats intruding into this block from other blocks and
40098        mark any lines whose available width has changed as a result as dirty.
40099
40100        * rendering/RenderBlock.h:
40101        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
40102        to cache a float with its position and size.
40103        (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
40104        m_isDescendant flag, used by clearFloats() to distinguish between floats
40105        entering the block from outside and floats internal to the block.
40106
40107        * rendering/RootInlineBox.h:
40108        (WebCore::RootInlineBox::floats): Added.
40109        (WebCore::RootInlineBox::floatsPtr): Added.
40110        (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
40111        hold the floats originating on the line.
40112
40113        * rendering/bidi.cpp:
40114        (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
40115        floats not force a full layout. Changed to cache the geometry of floats
40116        in the block and detect changes to it. If a float's size or position
40117        changes, all lines from that point on are treated as dirty. An exception
40118        is a change in the dimensions of a float on an otherwise-clean line,
40119        which only dirties lines potentially affected by the change (see
40120        determineStartPosition()). Added code to update each RootInlineBox's
40121        set of floats as lines are laid out. Added code to shift floats
40122        belonging to clean lines in the end along with the lines.
40123        (WebCore::RenderBlock::determineStartPosition): Made this function look
40124        for changes to floats' dimensions and mark lines as dirty accordingly.
40125        Also look for new floats and if found, cause a full layout. Added code
40126        to re-add floats belonging to clean lines.
40127        (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
40128        lines in the end can be shifted vertically as needed, i.e. that the
40129        available width along the way is uniform.
40130
401312008-03-17  Eric Seidel  <eric@webkit.org>
40132
40133        Reviewed by darin.
40134
40135        Fix _NPN_IntFromIdentifier (and export the symbol for use!)
40136
40137        Test: plugins/netscape-identifier-conversion.html
40138
40139        * WebCore.NPAPI.exp:
40140        * bridge/npruntime.cpp:
40141        (_NPN_IntFromIdentifier):
40142
401432008-03-17  Sam Weinig  <sam@webkit.org>
40144
40145        Reviewed by Dan Bernstein.
40146
40147        Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
40148
40149        * page/DOMWindow.idl: 
40150
401512008-03-17  Holger Hans Peter Freyther  <zecke@selfish.org>
40152
40153        Unreviewed Gtk+ build fix.
40154
40155        * platform/gtk/ScrollViewGtk.cpp: remove const
40156
401572008-03-17  Julien Chaffraix  <julien.chaffraix@gmail.com>
40158
40159        Reviewed by Holger.
40160
40161        <http://bugs.webkit.org/show_bug.cgi?id=17754>
40162
40163        - Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous
40164          requests.
40165
40166        - Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds
40167          the network data, response and error for us during the transfert.
40168
40169        * platform/network/ResourceHandleInternal.h: Remove trailing white space.
40170        * platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader
40171        (WebCore::WebCoreSynchronousLoader::resourceResponse):
40172        (WebCore::WebCoreSynchronousLoader::resourceError):
40173        (WebCore::WebCoreSynchronousLoader::data):
40174        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
40175        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
40176        (WebCore::WebCoreSynchronousLoader::didReceiveData):
40177        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
40178        (WebCore::WebCoreSynchronousLoader::didFail):
40179        (WebCore::ResourceHandle::loadResourceSynchronously): Implement method
40180        using WebCoreSynchronousLoader.
40181
40182        * platform/network/curl/ResourceHandleManager.cpp:
40183        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
40184        (WebCore::ResourceHandleManager::startJob):
40185        (WebCore::ResourceHandleManager::initializeHandle): Handle initialization
40186        method used both for synchronous and asynchronous job.
40187
40188        * platform/network/curl/ResourceHandleManager.h:
40189
401902008-03-17  Darin Adler  <darin@apple.com>
40191
40192        - try to fix GTK build
40193
40194        * platform/ScrollView.h: Make setGtkAdjustments adjustment.
40195        And non-virtual (why was it virtual?).
40196
401972008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>
40198
40199        Fix Bug 17898: Split PluginMessageThrottlerWin into its own files
40200
40201        <http://bugs.webkit.org/show_bug.cgi?id=17898>
40202
40203        Move the PluginMessageThrottlerWin class into its own files, in
40204        preparation for refactoring PluginView code to be shared.
40205
40206        Reviewed and tweaked by Adam Roben.
40207
40208        * WebCore.vcproj/WebCore.vcproj:
40209        * plugins/PluginView.h:
40210        * plugins/win/PluginMessageThrottlerWin.cpp: Added.
40211        * plugins/win/PluginMessageThrottlerWin.h: Added.
40212        * plugins/win/PluginViewWin.cpp:
40213
402142008-03-17  Adam Roben  <aroben@apple.com>
40215
40216        More Windows build fixes after r31098
40217
40218        * platform/ScrollView.h: Make some more methods public.
40219
402202008-03-17  Adam Roben  <aroben@apple.com>
40221
40222        Windows and Qt build fixes after r31098
40223
40224        * platform/ScrollView.h: Mark methods public that still need to be so.
40225
402262008-03-16  Timothy Hatcher  <timothy@apple.com>
40227
40228        Reviewed by Darin Adler.
40229
40230        Bug 17883: Console completion should support bracket notation
40231        http://bugs.webkit.org/show_bug.cgi?id=17883
40232
40233        Also fixes a bug where the Inspector's window object was used instead of the
40234        inspected window object.
40235
40236        * page/inspector/ConsolePanel.js:
40237        (WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call.
40238        (WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call.
40239        Check the last character of the expression for a dot or bracket. Fallback
40240        to the InspectorController.inspectedWindow() instead of window, this was a bad bug.
40241        If the expression caused an exception, just consider the prefix a window property.
40242        When bracket notation is used remember what quote was used and compared property names
40243        with that quote surrounding it. Also escape the property name for the quote and backslash.
40244
402452008-03-17  Robert Blaut  <webkit@blaut.biz>
40246
40247        Reviewed by Darin.
40248
40249        Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
40250        Set default margin-bottom for form element in quirk mode
40251        and be compatible with Gecko.
40252
40253        Tests: fast/css/margin-bottom-form-element-quirk.html
40254               fast/css/margin-bottom-form-element-strict.html
40255
40256        * css/html4.css:
40257        * css/quirks.css:
40258
402592008-03-17  Antti Koivisto  <antti@apple.com>
40260
40261        Reviewed by Darin.
40262
40263        Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878
40264        Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests
40265        
40266        I can't reproduce the crash or make a test case for this one but I'm pretty sure this
40267        is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862
40268        except in didFail() instead of didFinishLoading().
40269
40270        * loader/loader.cpp:
40271        (WebCore::Loader::Host::didFail):
40272
402732008-03-17  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
40274
40275        Reviewed and tweaked by Darin.
40276
40277        http://bugs.webkit.org/show_bug.cgi?id=17172
40278        Refactor platform checks in ScrollView.h
40279
40280        * platform/ScrollView.h: Change #ifs around.
40281
402822008-03-17  Yuzhu Shen  <yuzhu.shen@gmail.com>
40283
40284        Reviewed by Darin.
40285
40286        Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
40287        It is necessary to load the image even when src="".
40288
40289        Test: fast/images/load-img-with-empty-src.html
40290
40291        * html/HTMLImageLoader.cpp:
40292        (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.
40293
402942008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>
40295
40296        Fix GTK+ build from r31094.
40297
40298        * plugins/gtk/PluginDatabaseGtk.cpp:
40299        (PluginDatabase::getPluginsInPaths):
40300
403012008-03-17  Adam Roben  <aroben@apple.com>
40302
40303        Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
40304
40305        <http://bugs.webkit.org/show_bug.cgi?id=17876>
40306
40307        Reviewed by John.
40308
40309        Test: fast/dom/remove-named-attribute-crash.html
40310
40311        * dom/NamedAttrMap.cpp:
40312        (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're
40313        going to remove from the m_attributes Vector in a RefPtr so it doesn't
40314        get deleted when it is removed from the Vector.
40315
403162008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>
40317
40318        Reviewed by Adam Roben.
40319
40320        Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp.
40321        Remove implemented methods from TemporaryLinkStubs.
40322
40323        * GNUmakefile.am:
40324        * plugins/gtk:
40325        * plugins/gtk/PluginDatabaseGtk.cpp:
40326        * platform/gtk/TemporaryLinkStubs.cpp:
40327
403282008-03-17  Simon Hausmann  <hausmann@webkit.org>
40329
40330        Fix the Qt build.
40331
40332        * platform/text/qt/TextCodecQt.cpp:
40333        (WebCore::TextCodecQt::encode):
40334        * platform/text/qt/TextCodecQt.h:
40335
403362008-03-16  Maciej Stachowiak  <mjs@apple.com>
40337
40338        Not reviewed, just fixing an incomplete comment from the last commit.
40339
40340        * dom/Range.cpp:
40341        (WebCore::Range::surroundContents):
40342
403432008-03-16  Maciej Stachowiak  <mjs@apple.com>
40344
40345        Reviewed by Darin.
40346
40347        - fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
40348        http://bugs.webkit.org/show_bug.cgi?id=17509
40349        
40350        This gets us to 92/100
40351
40352        * dom/Range.cpp:
40353        (WebCore::Range::surroundContents): Check for
40354        HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3
40355        expects exceptional conditions to be tested in the order that the
40356        spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If
40357        the start point of the range is in a comment node, the node that
40358        would be the parent of a partial replacement is actually the
40359        comment node's parent (since comment nodes have character
40360        indices), so we should do the HIERARCHY_REQUEST_ERR check based on
40361        the parent of the comment node, as for text nodes, even though it
40362        will fail later with a different exception because it is not
40363        allowed to surround a partially selected non-text node.
40364
403652008-03-16  Brett Wilson  <brettw@chromium.org>
40366
40367        Reviewed by Darin.
40368
40369        Fix bug 15119: URL query characters that are unencodable in the
40370        request's character set should be converted to XML entities with
40371        non-alphanumeric characters escaped.
40372
40373        Test: http/tests/uri/escaped-entity.html
40374
40375        * html/FormDataList.cpp:
40376        (WebCore::FormDataList::appendString):
40377        * html/HTMLFormElement.cpp:
40378        (WebCore::HTMLFormElement::formData):
40379        * platform/KURL.cpp:
40380        (WebCore::encodeRelativeString):
40381        * platform/text/String.cpp:
40382        (WebCore::String::latin1):
40383        (WebCore::String::utf8):
40384        * platform/text/TextCodec.cpp:
40385        (WebCore::TextCodec::unencodableCharReplacement):
40386        * platform/text/TextCodec.h:
40387        * platform/text/TextCodecICU.cpp:
40388        (WebCore::urlEscapedEntityCallback):
40389        (WebCore::gbkUrlEscapedEntityCallack):
40390        (WebCore::TextCodecICU::encode):
40391        * platform/text/TextCodecICU.h:
40392        (WebCore::TextCodecICU::setNeedsGBKFallbacks):
40393        * platform/text/TextCodecLatin1.cpp:
40394        (WebCore::encodeComplexWindowsLatin1):
40395        (WebCore::TextCodecLatin1::encode):
40396        * platform/text/TextCodecLatin1.h:
40397        * platform/text/TextCodecUTF16.cpp:
40398        (WebCore::TextCodecUTF16::encode):
40399        * platform/text/TextCodecUTF16.h:
40400        * platform/text/TextCodecUserDefined.cpp:
40401        (WebCore::encodeComplexUserDefined):
40402        (WebCore::TextCodecUserDefined::encode):
40403        * platform/text/TextCodecUserDefined.h:
40404        * platform/text/TextEncoding.cpp:
40405        (WebCore::TextEncoding::encode):
40406        * platform/text/TextEncoding.h:
40407        * platform/text/mac/TextCodecMac.cpp:
40408        (WebCore::TextCodecMac::encode):
40409        * platform/text/mac/TextCodecMac.h:
40410        * xml/XMLHttpRequest.cpp:
40411        (WebCore::XMLHttpRequest::send):
40412
404132008-03-16  Kevin Ollivier  <kevino@theolliviers.com>
40414
40415        Rubber stamped by Darin.
40416
40417        Add set-webkit-configuration support for wx port, and centralize
40418        build dir location setting.
40419
40420        http://bugs.webkit.org/show_bug.cgi?id=17790
40421
40422        * webcore-base.bkl:
40423
404242008-03-16  Darin Adler  <darin@apple.com>
40425
40426        Reviewed by Mark Rowe.
40427
40428        - http://bugs.webkit.org/show_bug.cgi?id=17881
40429          a little cleanup for HTMLTextAreaElement
40430
40431        Tests: fast/forms/textarea-default-value-leading-newline.html
40432               fast/forms/textarea-linewrap-dynamic.html
40433
40434        * html/HTMLTextAreaElement.cpp:
40435        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/
40436        (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return
40437        and check for < 0 rather than -1 specifically.
40438        (WebCore::HTMLTextAreaElement::selectionEnd): Ditto.
40439        (WebCore::HTMLTextAreaElement::setSelectionStart): Early return.
40440        (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto.
40441        (WebCore::HTMLTextAreaElement::select): Ditto.
40442        (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto.
40443        (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing
40444        to treat unknown values as meaning "default" rather than "leave value as-is".
40445        Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed.
40446        (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument.
40447        (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes.
40448        (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit
40449        class name in isFocusable call.
40450        (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto.
40451        (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting.
40452        (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto.
40453        (WebCore::HTMLTextAreaElement::updateValue): Early return.
40454        (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to
40455        eliminate on small refcount churn.
40456        (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant
40457        string length checks, since String already checks all indexing and returns 0.
40458        (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize
40459        line endings and add a leading line ending to fix cases where the first
40460        character is a newline.
40461        (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg.
40462        (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid
40463        refcount churn.
40464        (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead
40465        of -1 specifically.
40466
40467        * html/HTMLTextAreaElement.h: Replaced wrap function with more-specific
40468        shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum
40469        provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to
40470        m_cachedSelectionStart and m_cachedSelectionEnd.
40471
40472        * rendering/RenderTextControl.cpp:
40473        (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to
40474        HTMLTextAreaElement wrap function.
40475
404762008-03-16  Antti Koivisto  <antti@apple.com>
40477
40478        Reviewed by Mitz.
40479
40480        Fix http/tests/security/frame-loading-via-document-write.html
40481        which was broken by the preload patch.
40482        
40483        Don't print error message when preload fails local file security check.
40484        Some minor refactoring.
40485
40486        * html/PreloadScanner.cpp:
40487        (WebCore::PreloadScanner::emitTag):
40488        (WebCore::PreloadScanner::emitCSSRule):
40489        * loader/Cache.cpp:
40490        (WebCore::Cache::requestResource):
40491        * loader/Cache.h:
40492        * loader/DocLoader.cpp:
40493        (WebCore::DocLoader::requestResource):
40494        (WebCore::DocLoader::preload):
40495        (WebCore::DocLoader::printPreloadStats):
40496        * loader/DocLoader.h:
40497
404982008-03-16  Antti Koivisto  <antti@apple.com>
40499
40500        Reviewed by Darin.
40501        
40502        Fix http://bugs.webkit.org/show_bug.cgi?id=17862
40503        REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
40504        
40505        This was a memory smasher introduced by the preloading patch. 
40506        If a script resource was marked uncacheable, early deletion of the 
40507        Request object would cause deletion of the CachedResource too if
40508        it was referred more than once in a single document.
40509
40510        Test: http/tests/misc/uncacheable-script-repeated.html
40511
40512        * loader/loader.cpp:
40513        (WebCore::Loader::Host::servePendingRequests):
40514        (WebCore::Loader::Host::didFinishLoading):
40515
405162008-03-16  Yuzhu Shen  <yuzhu.shen@gmail.com>
40517
40518        Reviewed by Darin.
40519
40520        Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
40521        <img href="#"> should go to top of the page.
40522
40523        Test: fast/html/empty-fragment-id-goto-top.html
40524
40525        * loader/FrameLoader.cpp:
40526        (WebCore::FrameLoader::gotoAnchor):
40527
405282008-03-16  Thiago Macieira  <thiago.macieira@trolltech.com>
40529
40530        Reviewed by Darin.
40531
40532        Don't use RefPtr in classes you haven't seen the implementation of.
40533
40534        Forward-declaration and declaration of RefPtr<Foo> is ok. But you
40535        cannot *use* said objects until Foo is defined. This is true even for
40536        initialisation with a 0.
40537
40538        Seems the HP aCC compiler is more strict here than gcc.
40539
40540        * editing/SplitTextNodeCommand.h:
40541        * page/FrameTree.h:
40542        * xml/XPathExpressionNode.h:
40543
405442008-03-16  Darin Adler  <darin@apple.com>
40545
40546        Reviewed by Mitz.
40547
40548        - fix http://bugs.webkit.org/show_bug.cgi?id=14941
40549          <rdar://problem/5404093> textarea value from JavaScript includes extra newline
40550
40551        Test: fast/forms/textarea-trailing-newline.html
40552
40553        * rendering/RenderTextControl.cpp:
40554        (WebCore::RenderTextControl::finishText): Added code to strip the trailing
40555        newline. It's possible there are some obscure cases where this is not wanted,
40556        but I couldn't find any. If someone finds a case where this is bad, we can
40557        make the code conditional.
40558
405592008-03-16  Darin Adler  <darin@apple.com>
40560
40561        Reviewed by Mitz.
40562
40563        - fix http://bugs.webkit.org/show_bug.cgi?id=17876
40564          Attempting to visit Ofcom page causes crash
40565
40566        This is causing intermittent crashes on some existing test cases on the buildbot
40567        too; I don't have a 100% test case right now, but it should be easy to add one later
40568        and this does fix a crash in a test we already have.
40569
40570        * dom/CharacterData.cpp:
40571        (WebCore::CharacterData::CharacterData): Initialize m_data to the empty string,
40572        not the null string. The class assumes the string can never being null.
40573        (WebCore::CharacterData::setData): If asked to set the data to the null string,
40574        set it to the empty string instead. This matches what the (non-empty) constructor
40575        has always done.
40576
405772008-03-15  Timothy Hatcher  <timothy@apple.com>
40578
40579        Reviewed by Adam Roben.
40580
40581        Bug 17870: Web Inspector console should feel more like a terminal
40582        http://bugs.webkit.org/show_bug.cgi?id=17870
40583
40584        Bug 14390: Console input area should be more noticeable
40585        http://bugs.webkit.org/show_bug.cgi?id=14390
40586        <rdar://5712831>
40587
40588        Bug 17237: Inspector should tab-complete object properties in the Console
40589        http://bugs.webkit.org/show_bug.cgi?id=17237
40590        <rdar://5732842>
40591
40592        Adds tab completion, auto completion and a blended input prompt.
40593        The prompt is also focused when the console is shown.
40594           Implements a new look, that will be part of the UI refresh.
40595
40596        * page/inspector/ConsolePanel.js: 
40597        (WebInspector.ConsolePanel): Renamed a few properties.
40598        (WebInspector.ConsolePanel.get/set promptText): Property to set
40599        and get the current prompt text. Does not affect command history.
40600        (WebInspector.ConsolePanel.show): Make the prompt focus on show.
40601        (WebInspector.ConsolePanel.acceptAutoComplete): Accepts any
40602        pending auto complete text.
40603        (WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending
40604        auto complete text.
40605        (WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto
40606        complete in 250 ms, only if there isn't a pending auto complete.
40607        (WebInspector.ConsolePanel.complete): 
40608        (WebInspector.ConsolePanel.completions): Generate a list of possible
40609        completions based on the prefix and the previous expression ranges.
40610        (WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards
40611        from a node and offset to find a start node and offset of the first
40612        character found in the characters string.
40613        (WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the
40614        inspected window.
40615        (WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection
40616        is collapsed and is inside the prompt element.
40617        (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection
40618        to the end of the prompt.
40619        (WebInspector.ConsolePanel._onTabPressed): Calls complete on
40620        tab press.
40621        (WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the
40622        autocompletion text is not evaluated.
40623
40624        * page/inspector/Images/errorIcon.png: New image.
40625        * page/inspector/Images/userInputIcon.png: Added.
40626        * page/inspector/Images/userInputPreviousIcon.png: Added.
40627        * page/inspector/Images/warningIcon.png: New image.
40628        * page/inspector/inspector.css: New refreshed UI.
40629
406302008-03-15  Mark Mentovai  <mark@moxienet.com>
40631
40632        Reviewed and landed by Darin.
40633
40634        - http://bugs.webkit.org/show_bug.cgi?id=17833
40635          use file extensions instead of explicit file types in WebCore's Xcode project
40636
40637        * WebCore.xcodeproj/project.pbxproj: Remove unnecessary
40638          uses of explicitFileType, preferring lastKnownFileType ("File Type:
40639          Default for File" in Xcode's File Info's General tab).  Files below
40640          that relied on an explicit file type setting other than what would
40641          be implied by their extensions have been renamed to have correct
40642          extensions.
40643        * bridge/jni/jni_jsobject.cpp: Removed.
40644        * bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp.
40645        * loader/mac/LoaderNSURLExtras.m: Removed.
40646        * loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m.
40647        * platform/mac/SharedTimerMac.cpp: Removed.
40648        * platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp.
40649
406502008-03-15  Darin Adler  <darin@apple.com>
40651
40652        Reviewed by Sam.
40653
40654        - fix http://bugs.webkit.org/show_bug.cgi?id=11997
40655          Ranges are not fixed after mutation (affects Acid3 test 13)
40656
40657        Test: fast/dom/Range/mutation.html
40658
40659        * WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h,
40660        and NodeWithIndexBefore.h.
40661
40662        * dom/CharacterData.cpp:
40663        (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers
40664        with call to Document::textRemoved.
40665        (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers
40666        with call to Document::textInserted.
40667        (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers
40668        and Document::shiftMarkers with call to Document::textRemoved.
40669        (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers
40670        and Document::shiftMarkers with call to Document::textRemoved and
40671        Document::textInserted.
40672        (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.
40673
40674        * dom/ContainerNode.cpp:
40675        (WebCore::ContainerNode::childrenChanged): Added a call to
40676        Document::nodeChildrenChanged when the nmber of children was changed (and not
40677        by the parser).
40678        (WebCore::dispatchChildRemovalEvents): Updated for name change.
40679
40680        * dom/Document.cpp:
40681        (WebCore::Document::~Document): Assert that all ranges are gone.
40682        (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on
40683        all ranges.
40684        (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
40685        Added code to call nodeWillBeRemoved on all ranges.
40686        (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and
40687        also calls shiftMarkers.
40688        (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also
40689        calls removeMarkers and shiftMarkers.
40690        (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges.
40691        (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges.
40692        (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges
40693        for this document.
40694        (WebCore::Document::detachRange): Added. Removes range from the HashSet.
40695        * dom/Document.h: Added the new functions and the data member.
40696
40697        * dom/Element.cpp:
40698        (WebCore::Element::normalizeAttributes): Added. Contains the part of the
40699        normalize function that's specific to Element. Better encapsulation to have it
40700        here rather than in Node::normalize.
40701        * dom/Element.h: Added the new function.
40702
40703        * dom/Node.cpp:
40704        (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added
40705        a call to textNodesMerged after each pair of nodes is merged but before the
40706        second node is removed.
40707        (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by
40708        normalize, but also useful elsewhere.
40709        * dom/Node.h: Added the new function.
40710
40711        * dom/NodeIterator.cpp:
40712        (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
40713        * dom/NodeIterator.h: Ditto.
40714
40715        * dom/ProcessingInstruction.cpp:
40716        (WebCore::ProcessingInstruction::setData): Call textRemoved.
40717
40718        * dom/Range.cpp:
40719        (WebCore::NodeWithIndex::index): Added. Computes and stores index.
40720        (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index.
40721        (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index.
40722        (WebCore::Range::Range): Call attachRange.
40723        (WebCore::Range::~Range): Call detachRange unless the range is already detached.
40724        (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR.
40725        It's no longer possible to create a range where the two containers are non-zero
40726        and have no common ancestor.
40727        (WebCore::Range::isPointInRange): Rewrote expression to be more readable.
40728        (WebCore::Range::compareNode): Changed local variable to use int for consistency.
40729        (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED.
40730        (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and
40731        initialization of ec to 0; both are now inside checkDeleteExtract.
40732        (WebCore::Range::intersectsNode): Changed local variable to use int for consistency.
40733        Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1
40734        and -1.
40735        (WebCore::Range::processContents): Changed code to not get the nodeType multiple
40736        times on the same node, and tweaked formatting. Removed code to update the range
40737        on deletion, because the normal delete logic will take care of that now.
40738        (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and
40739        initialization of ec to 0; both are now inside checkDeleteExtract.
40740        (WebCore::Range::insertNode): Changed local variable to use int for consistency.
40741        (WebCore::Range::toString): Changed variable name to pastLast.
40742        (WebCore::Range::detach): Call detachRange.
40743        (WebCore::Range::checkDeleteExtract): Added check for detached range and code to
40744        set ec to 0; moved here from the two callers. Also changed variable name to pastLast.
40745        (WebCore::endpointNodeChildrenChanged): Added.
40746        (WebCore::Range::nodeChildrenChanged): Added.
40747        (WebCore::endpointNodeWillBeRemoved): Added.
40748        (WebCore::Range::nodeWillBeRemoved): Added.
40749        (WebCore::endpointTextInserted): Added.
40750        (WebCore::Range::textInserted): Added.
40751        (WebCore::endpointTextRemoved): Added.
40752        (WebCore::Range::textRemoved): Added.
40753        (WebCore::endpointTextNodesMerged): Added.
40754        (WebCore::Range::textNodesMerged): Added.
40755        (WebCore::endpointTextNodesSplit): Added.
40756        (WebCore::Range::textNodeSplit): Added.
40757
40758        * dom/Range.h: Added new member functions.
40759
40760        * dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same
40761        node more than once.
40762        * dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a
40763        node and treats a node pointer of 0 as meaning "before first node in parent container".
40764        * dom/NodeWithIndexBefore.h: Added.  Similar to NodeWithIndex but treats a node pointer of 0
40765        as meaning "after last node in parent container".
40766
40767        * dom/Text.cpp:
40768        (WebCore::Text::splitText): Call textNodeSplit.
40769
40770        * editing/ApplyStyleCommand.cpp:
40771        (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.
40772
407732008-03-15  Julien Chaffraix  <julien.chaffraix@gmail.com>
40774
40775        Reviewed by Holger.
40776
40777        [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
40778        http://bugs.webkit.org/show_bug.cgi?id=16906
40779
40780        Add null checks for httpBody() to match other ports.
40781
40782        Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html
40783
40784        * platform/network/curl/ResourceHandleManager.cpp:
40785        (WebCore::readCallback): Add null check.
40786        (WebCore::ResourceHandleManager::setupPOST): Ditto.
40787
407882008-03-14  Steve Falkenburg  <sfalken@apple.com>
40789
40790        PGO build fixes.
40791
40792        * WebCore.vcproj/WebCore.vcproj:
40793
407942008-03-14  Anders Carlsson  <andersca@apple.com>
40795
40796        Reviewed by Sam.
40797
40798        <rdar://problem/5794989>
40799        https://bugs.webkit.org/show_bug.cgi?id=17792
40800        REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
40801
40802        Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow
40803        so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame.
40804        
40805        * bindings/js/JSDOMWindowBase.cpp:
40806        (WebCore::createWindow):
40807        * loader/FrameLoader.cpp:
40808        (WebCore::FrameLoader::createWindow):
40809        * loader/FrameLoader.h:
40810
408112008-03-14  Dan Bernstein  <mitz@apple.com>
40812
40813        Reviewed by Mark Rowe.
40814
40815        - fix <rdar://problem/5797836> shadow offsets are smaller than specified
40816
40817        * platform/graphics/cg/GraphicsContextCG.cpp:
40818        (WebCore::GraphicsContext::setShadow): Made the workaround for
40819        <rdar://problem/5539388> unconditional.
40820
408212008-03-14  Adam Roben  <aroben@apple.com>
40822
40823        Fix it right this time
40824
40825        * platform/MainThread.cpp: Cast to unsigned so we can use %u in the
40826        format string.
40827        * platform/mac/MainThreadMac.mm:
40828
408292008-03-14  Adam Roben  <aroben@apple.com>
40830
40831        Mac build fix
40832
40833        * platform/mac/MainThreadMac.mm: Corrected a typo.
40834
408352008-03-14  Dan Bernstein  <mitz@apple.com>
40836
40837        Reviewed by Darin Adler.
40838
40839        - fix http://bugs.webkit.org/show_bug.cgi?id=17834
40840          REGRESSION: floated first-letter does not work when included in table
40841
40842        Test: fast/css/first-letter-float.html
40843
40844        * rendering/RenderBlock.cpp:
40845        (WebCore::RenderBlock::updateFirstLetter): Changed the search for the
40846        first text node to stop at a float if that float is an existing first-
40847        letter.
40848
408492008-03-14  Sam Weinig  <sam@webkit.org>
40850
40851        Fix Mac build
40852
40853        * WebCore.xcodeproj/project.pbxproj:
40854
408552008-03-13  Adam Roben  <aroben@apple.com>
40856
40857        Make most of callOnMainThread's implementation be cross-platform
40858
40859        I took the non-platform-specific parts of MainThreadWin.cpp and moved
40860        them to a new MainThread.cpp. Each platform is now responsible for
40861        implementing one function, scheduleDispatchFunctionsOnMainThread,
40862        which is supposed to set things up so that
40863        dispatchFunctionsFromMainThread gets called from the main thread in
40864        the near future.
40865
40866        Reviewed by Alexey.
40867
40868        * GNUmakefile.am: Added MainThread.cpp to the project.
40869        * WebCore.pro: Ditto.
40870        * WebCore.vcproj/WebCore.vcproj: Ditto.
40871        * WebCore.xcodeproj/project.pbxproj: Ditto.
40872        * WebCoreSources.bkl: Ditto.
40873        * platform/MainThread.cpp:
40874          - Copied from WebCore/platform/win/MainThreadWin.cpp.
40875          - Removed the Windows-specific parts.
40876        (WebCore::callOnMainThread): Changed to call
40877        scheduleDispatchFunctionsOnMainThread instead of PostMessage.
40878        * platform/gtk/MainThreadGtk.cpp:
40879        (WebCore::timeoutFired): Renamed from callFunctionOnMainThread. Now
40880        just calls dispatchFunctionsFromMainThread.
40881        (WebCore::scheduleDispatchFunctionsOnMainThread): Added. Calls through
40882        to g_timeout_add.
40883        * platform/mac/MainThreadMac.mm: Renamed WebCoreFunctionWrapper to
40884        WebCoreMainThreadCaller.
40885        (-[WebCoreMainThreadCaller call]): Calls through to
40886        dispatchFunctionsFromMainThread.
40887        (WebCore::scheduleDispatchFunctionsOnMainThread): Makes a new
40888        WebCoreMainThreadCaller and calls performSelectorOnMainThread on it.
40889        * platform/qt/MainThreadQt.cpp: Removed PerformFunctionEvent.
40890        (WebCore::MainThreadInvoker::event): Chagned to call through to
40891        dispatchFunctionsFromMainThread.
40892        (WebCore::scheduleDispatchFunctionsOnMainThread): Sends an empty event
40893        to the MainThreadInvoker.
40894        * platform/win/MainThreadWin.cpp:
40895          - Removed the non-Windows-specific parts.
40896          - Removed some unnecessary initialization of static variables to 0.
40897        (WebCore::ThreadingWindowWndProc): Changed to call
40898        dispatchFunctionsFromMainThread.
40899        (WebCore::scheduleDispatchFunctionsOnMainThread): Calls through to
40900        PostMessage.
40901        * platform/wx/MainThreadWx.cpp:
40902        (WebCore::scheduleDispatchFunctionsOnMainThread): Added.
40903
409042008-03-14  Beth Dakin  <bdakin@apple.com>
40905
40906        Reviewed by Geoff.
40907
40908        Fix for <rdar://problem/5728171> Potential PLT speedup: don't 
40909        realloc every time inside NamedAttrMap::addAttribute
40910
40911        The speed-up for this turned out to be so small that it is mostly 
40912        imperceptible. It is likely that it is a tiny boost, though, and 
40913        the new code is much cleaner.
40914
40915        * dom/Element.cpp:
40916        (WebCore::Element::setAttributeMap): attrs is now called 
40917        m_attributes
40918        * dom/NamedAttrMap.cpp: The array attrs is now the Vector of 
40919        RefPtrs called m_attributes, and there is no longer any need for 
40920        the len member variable. 
40921        (WebCore::NamedAttrMap::NamedAttrMap): 
40922        (WebCore::NamedAttrMap::item):
40923        (WebCore::NamedAttrMap::getAttributeItem):
40924        (WebCore::NamedAttrMap::clearAttributes):
40925        (WebCore::NamedAttrMap::operator=):
40926        (WebCore::NamedAttrMap::addAttribute):
40927        (WebCore::NamedAttrMap::removeAttribute):
40928        (WebCore::NamedAttrMap::mapsEquivalent):
40929        * dom/NamedAttrMap.h: Same.
40930        (WebCore::NamedAttrMap::length):
40931        (WebCore::NamedAttrMap::attributeItem):
40932        (WebCore::NamedAttrMap::shrinkToLength):
40933        (WebCore::NamedAttrMap::reserveCapacity):
40934        * html/HTMLTokenizer.cpp: One of the benefits of the old array was 
40935        that it never took up more memory than it needed to. So the 
40936        tokenizer utilizes new member functions on NamedAttrMap 
40937        (shrinkToLength and reserveCapacity) to try to keep memory usage at 
40938        a minimum. 
40939        (WebCore::Token::addAttribute):
40940        (WebCore::HTMLTokenizer::processToken):
40941
409422008-03-14  David D. Kilzer  <ddkilzer@apple.com>
40943
40944        BUILD FIX when ENABLE(MAC_JAVA_BRIDGE) set to 0.
40945
40946        * page/mac/FrameMac.mm: Move up #if ENABLE(MAC_JAVA_BRIDGE) guard
40947        to comment out unused code.
40948
409492008-03-14  David D. Kilzer  <ddkilzer@apple.com>
40950
40951        Unify concept of enabling the Mac Java bridge.
40952
40953        Reviewed by Darin and Anders.
40954
40955        No test cases added since there is no change in functionality.
40956
40957        * DerivedSources.make: Added check for ENABLE_MAC_JAVA_BRIDGE macro.
40958        If defined as "1", add WebCore.JNI.exp to WEBCORE_EXPORT_DEPENDENCIES.
40959        * WebCore.JNI.exp: Added.
40960        * WebCore.base.exp: Moved exported JNI methods to WebCore.JNI.exp.
40961
40962        * bridge/jni/jni_class.cpp: Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
40963        * bridge/jni/jni_class.h: Ditto.
40964        * bridge/jni/jni_instance.cpp: Ditto.
40965        * bridge/jni/jni_instance.h: Ditto.
40966        * bridge/jni/jni_jsobject.cpp: Ditto.
40967        * bridge/jni/jni_jsobject.h: Ditto.
40968        * bridge/jni/jni_objc.mm: Ditto.
40969        * bridge/jni/jni_runtime.cpp: Ditto.
40970        * bridge/jni/jni_runtime.h: Ditto.
40971        * bridge/jni/jni_utility.cpp: Ditto.
40972        * bridge/jni/jni_utility.h: Ditto.
40973
40974        * bridge/runtime.cpp: Removed unused #include statements.
40975        * bridge/runtime.h:
40976        (KJS::Bindings::Instance::BindingLanguage): Added #if ENABLE(MAC_JAVA_BRIDGE)
40977        guard for JavaLanguage enum.  Also added #if PLATFORM(MAC) guard for
40978        ObjectiveCLanguage enum to match corresponding code in runtime.cpp.
40979
40980        * config.h: Removed definition of HAVE_JNI.
40981
40982        * loader/FrameLoaderClient.h:
40983        (WebCore::FrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
40984        * page/Frame.cpp:
40985        (WebCore::Frame::Frame): Ditto.
40986        * page/Frame.h:
40987        (WebCore::Frame::initJavaJSBindings): Ditto.
40988        * page/mac/FrameMac.mm:
40989        (WebCore::Frame::createScriptInstanceForWidget): Ditto.
40990        (WebCore::Frame::initJavaJSBindings): Ditto.
40991
409922008-03-13  Darin Adler  <darin@apple.com>
40993
40994        * html/PreloadScanner.h: Corrected license.
40995        * html/PreloadScanner.cpp: Corrected license.
40996
409972008-03-13  Mark Mentovai  <mark@moxienet.com>
40998
40999        Reviewed by darin.  Landed by eseidel.
41000
41001        * platform/FloatConversion.h: Include a header to get CoreGraphics
41002        types when using CoreGraphics types.
41003
410042008-03-13  Mark Mentovai  <mark@moxienet.com>
41005
41006        Reviewed by eseidel.  Landed by eseidel.
41007
41008        * WebCore.xcodeproj/project.pbxproj:
41009        * css/CSSParser.cpp:
41010        * css/makeprop.pl:
41011        Move CSSPropertyNames.c to CSSPropertyNames.cpp
41012
410132008-03-13  Mark Mentovai  <mark@moxienet.com>
41014
41015        Reviewed by eseidel.  Landed by eseidel.
41016
41017        * platform/Arena.h: Use statement1;statement2 instead of
41018        (statement1,statement2) in CLEAR_UNUSED.
41019
410202008-03-13  Tommi Komulainen  <tommi.komulainen@iki.fi>
41021
41022        Reviewed by Alp Toker.
41023
41024        http://bugs.webkit.org/show_bug.cgi?id=17821
41025        [SOUP] POST requests are empty
41026
41027        Send the HTTP request body as well.
41028
41029        * platform/network/soup/ResourceHandleSoup.cpp:
41030        (WebCore::ResourceHandle::start):
41031
410322008-03-13  Dan Bernstein  <mitz@apple.com>
41033
41034        Reviewed by Dave Hyatt.
41035
41036        - fix http://bugs.webkit.org/show_bug.cgi?id=17819
41037          Border-collapse: collapse later cell wins on PC, earlier cell on Mac
41038
41039        Test: fast/table/border-collapsing/equal-precedence-resolution.html
41040
41041        * rendering/RenderTableCell.cpp:
41042        (WebCore::RenderTableCell::collapsedLeftBorder): When calling
41043        compareBorders() with borders that may have the same precedence, made
41044        sure to pass the border belonging to the earlier (in document order)
41045        element first, since compareBorders() prefers the first argument when
41046        there is a tie.
41047        (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
41048        (WebCore::RenderTableCell::collapsedTopBorder): Ditto.
41049
410502008-03-13  Adam Roben  <aroben@apple.com>
41051
41052        wx build fix and Windows leak fix after r31034
41053
41054        * platform/graphics/wx/ImageWx.cpp:
41055        (WebCore::Image::loadPlatformResource): Use SharedBuffer::create.
41056        * platform/win/SharedBufferWin.cpp:
41057        (WebCore::SharedBuffer::createWithContentsOfFile): Ditto (we were
41058        leaking the SharedBuffer here before).
41059
410602008-03-13  Antti Koivisto  <antti@apple.com>
41061
41062        Reviewed by Eric.
41063
41064        Correct a few issues spotted by Mike Belshe. 
41065
41066        * html/PreloadScanner.cpp:
41067        (WebCore::PreloadScanner::tokenize):
41068        * loader/loader.cpp:
41069        (WebCore::Loader::cancelRequests):
41070
410712008-03-13  Rodney Dawes  <dobey@wayofthemonkey.com>
41072
41073        Fix GTK+ build for SharedBuffer changes.
41074
41075        * platform/graphics/gtk/ImageGtk.cpp:
41076        (Image::loadPlatformResource):
41077
410782008-03-13  Steve Falkenburg  <sfalken@apple.com>
41079
41080        More PGO build fixes.
41081
41082        * WebCorePrefix.cpp:
41083
410842008-03-13  Antti Koivisto  <antti@apple.com>
41085
41086        Reviewed by Darin.
41087        
41088        Make page loads go fast.
41089        
41090        http://bugs.webkit.org/show_bug.cgi?id=17480
41091
41092        - Implement speculative preloading. When a script load blocks the main parser, use a side 
41093          parser to pick up more resources.
41094        - Implement per-host load queues, prioritize scripts and stylesheets over images.
41095        
41096        Depending on content and network latency this may speed things up quite a bit.
41097
41098        * WebCore.xcodeproj/project.pbxproj:
41099        * dom/Document.cpp:
41100        (WebCore::Document::implicitClose):
41101        Clear the preloads after laoding completes.
41102        
41103        * html/HTMLLinkElement.cpp:
41104        (WebCore::HTMLLinkElement::parseMappedAttribute):
41105        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
41106        * html/HTMLLinkElement.h:
41107        Make tokenizeRelAttribute() public static so it can be used from elsewhere.
41108        Eliminate a pointless bitfield so I can get references.
41109        
41110        * html/HTMLTokenizer.cpp:
41111        (WebCore::HTMLTokenizer::scriptHandler):
41112        (WebCore::HTMLTokenizer::scriptExecution):
41113        (WebCore::HTMLTokenizer::write):
41114        * html/HTMLTokenizer.h:
41115        Spin up the preload scanner whenever a script load blocks the parser. One scanner tracks the end of 
41116        the document while temporary ones are created as needed to scan document.write() output.
41117        
41118        * html/PreloadScanner.cpp: Added.
41119        (WebCore::PreloadScanner::PreloadScanner):
41120        (WebCore::PreloadScanner::~PreloadScanner):
41121        (WebCore::PreloadScanner::begin):
41122        (WebCore::PreloadScanner::end):
41123        (WebCore::PreloadScanner::reset):
41124        (WebCore::PreloadScanner::write):
41125        (WebCore::isWhitespace):
41126        (WebCore::PreloadScanner::clearLastCharacters):
41127        (WebCore::PreloadScanner::rememberCharacter):
41128        (WebCore::PreloadScanner::lastCharactersMatch):
41129        (WebCore::legalEntityFor):
41130        (WebCore::PreloadScanner::consumeEntity):
41131        (WebCore::PreloadScanner::tokenize):
41132        (WebCore::PreloadScanner::processAttribute):
41133        (WebCore::PreloadScanner::emitCharacter):
41134        (WebCore::PreloadScanner::tokenizeCSS):
41135        (WebCore::PreloadScanner::emitTag):
41136        (WebCore::PreloadScanner::emitCSSRule):
41137        * html/PreloadScanner.h: Added.
41138        (WebCore::PreloadScanner::inProgress):
41139        (WebCore::PreloadScanner::):
41140        HTML5 tokenization plus some glue code. Fake CSS parsing thrown in just for fun.
41141        
41142        * loader/Cache.cpp:
41143        (WebCore::Cache::pruneDeadResources):
41144        Preloads have zero refcount, avoid kicking them out too early.
41145        
41146        * loader/CachedResource.cpp:
41147        (WebCore::CachedResource::CachedResource):
41148        (WebCore::CachedResource::ref):
41149        * loader/CachedResource.h:
41150        (WebCore::CachedResource::):
41151        (WebCore::CachedResource::preloadResult):
41152        (WebCore::CachedResource::setRequestedFromNetworkingLayer):
41153        (WebCore::CachedResource::canDelete):
41154        (WebCore::CachedResource::isPreloaded):
41155        (WebCore::CachedResource::increasePreloadCount):
41156        (WebCore::CachedResource::decreasePreloadCount):
41157        Keep track which resources are preloads. Avoid deleting them. Track
41158        at which point of the loading preloads get utilized to enable some interesting 
41159        statistics.
41160        
41161        * loader/DocLoader.cpp:
41162        (WebCore::DocLoader::~DocLoader):
41163        (WebCore::DocLoader::checkForReload):
41164        (WebCore::DocLoader::registerPreload):
41165        (WebCore::DocLoader::clearPreloads):
41166        (WebCore::DocLoader::printPreloadStats):
41167        * loader/DocLoader.h:
41168        Ensure we utilize preloaded resources during reloads.
41169        Keep a list of all preloads in the document. Clear the preloads after
41170        parsing is complete. Some debug statistics.
41171        
41172        * loader/DocumentLoader.cpp:
41173        (WebCore::DocumentLoader::isLoadingInAPISense):
41174        Avoid signaling that loading is complete too early. 
41175        
41176        * loader/loader.cpp:
41177        (WebCore::Loader::Loader):
41178        (WebCore::Loader::~Loader):
41179        (WebCore::Loader::determinePriority):
41180        (WebCore::Loader::load):
41181        (WebCore::Loader::scheduleServePendingRequests):
41182        (WebCore::Loader::requestTimerFired):
41183        (WebCore::Loader::servePendingRequests):
41184        (WebCore::Loader::cancelRequests):
41185        (WebCore::Loader::Host::Host):
41186        (WebCore::Loader::Host::~Host):
41187        (WebCore::Loader::Host::addRequest):
41188        (WebCore::Loader::Host::hasRequests):
41189        (WebCore::Loader::Host::servePendingRequests):
41190        (WebCore::Loader::Host::didFinishLoading):
41191        (WebCore::Loader::Host::didFail):
41192        (WebCore::Loader::Host::didReceiveResponse):
41193        (WebCore::Loader::Host::didReceiveData):
41194        (WebCore::Loader::Host::cancelPendingRequests):
41195        (WebCore::Loader::Host::cancelRequests):
41196        * loader/loader.h:
41197        (WebCore::Loader::):
41198        Distribute load requests to per-host priority queues. Limit the number of loads issued to the 
41199        networking layer so we have better changes of getting important requests through first.
41200        Prioritize scripts > stylesheets > images.
41201
412022008-03-13  David Hyatt  <hyatt@apple.com>
41203
41204        This patch makes full page zoom work pretty well. It fixes repainting so that it works when transforms
41205        are set on the RenderView. It also implements the "smart layout" behavior that other browsers support when
41206        zooming. The page will still try to constrain to the viewport size even when zoomed.
41207
41208        Reviewed by john
41209
41210        * dom/Document.cpp:
41211        (WebCore::Document::recalcStyle):
41212        Make sure to test for transform changes even when there is no zoom.  This fixes repainting issues
41213        caused by jumping from a zoomed state back to the standard size.
41214
41215        * page/FrameView.cpp:
41216        (WebCore::FrameView::adjustViewSize):
41217        Adjust for the zoom factor (the render tree is in unzoomed coordinates, but the scrollbars of the view
41218        need to handle zoomed coordinates).
41219
41220        * rendering/RenderBox.cpp:
41221        (WebCore::RenderBox::calcHeight):
41222        Fix the body-sizing-to-the-view-height quirk so that it takes the zoom factor into account when
41223        stretching to fill the viewport.
41224
41225        * rendering/RenderLayer.cpp:
41226        (WebCore::RenderLayer::updateLayerPositions):
41227        (WebCore::RenderLayer::setHasVisibleContent):
41228        Remove the FIXMEs now that absoluteClippedOverflowRect works with transforms on the RenderView.
41229
41230        * rendering/RenderView.cpp:
41231        (WebCore::RenderView::calcHeight):
41232        (WebCore::RenderView::calcWidth):
41233        Make sure the calculated width/height take the zoom factor into account in order to get the "smart layout"
41234        behavior.
41235
41236        (WebCore::RenderView::layout):
41237        When deciding whether children have to get a relayout, we need to check the zoomed width/height and not just
41238        the viewport size.
41239
41240        (WebCore::RenderView::computeAbsoluteRepaintRect):
41241        Patched to take into account transforms set on the RenderView.
41242
41243        (WebCore::RenderView::docHeight):
41244        (WebCore::RenderView::docWidth):
41245        Patched to just always use m_width and m_height initially, since those have already been adjusted for
41246        the zoom factor.
41247
41248        (WebCore::RenderView::zoomedHeight):
41249        (WebCore::RenderView::zoomedWidth):
41250        * rendering/RenderView.h:
41251        New helper methods for obtaining the adjusted width/height of the viewport taking into account the
41252        zoom factor.
41253
412542008-03-13  Anders Carlsson  <andersca@apple.com>
41255
41256        Build fix.
41257
41258        * WebCore.base.exp:
41259
412602008-03-13  Anders Carlsson  <andersca@apple.com>
41261
41262        Reviewed by Adam.
41263
41264        Get rid of actualRequest, it is not used anymore. Also, get rid of 
41265        initialRequest and replace all uses with originalRequest because those are
41266        the same thing.
41267        
41268        * loader/DocumentLoader.cpp:
41269        * loader/DocumentLoader.h:
41270        * loader/FrameLoader.cpp:
41271        (WebCore::FrameLoader::initialRequest):
41272        (WebCore::FrameLoader::originalRequestURL):
41273
412742008-03-13  Brady Eidson  <beidson@apple.com>
41275
41276        Reviewed by Anders
41277
41278        Convert SharedBuffer to start with a refCount of 1
41279
41280        * loader/ImageDocument.cpp:
41281        (WebCore::ImageTokenizer::finish):
41282
41283        * loader/ResourceLoader.cpp:
41284        (WebCore::ResourceLoader::addData):
41285        (WebCore::ResourceLoader::willStopBufferingData):
41286
41287        * loader/icon/IconDatabase.cpp:
41288        (WebCore::IconDatabase::defaultIcon):
41289        (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
41290
41291        * loader/loader.cpp:
41292        (WebCore::Loader::didReceiveData):
41293
41294        * platform/SharedBuffer.h:
41295        (WebCore::SharedBuffer::create): Make all constructors private, add ::create() calls
41296        * platform/SharedBuffer.cpp:
41297        (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1
41298        (WebCore::SharedBuffer::copy):
41299        * platform/mac/SharedBufferMac.mm:
41300        (WebCore::SharedBuffer::wrapNSData):
41301        (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1
41302
413032008-03-13  Steve Falkenburg  <sfalken@apple.com>
41304
41305        PGO build fixes.
41306        
41307        Disable PGO for normal release builds.
41308        Added work-in-progress Release_PGOInstrument/Release_PGOOptimize targets.
41309
41310        * WebCore.vcproj/WebCore.vcproj:
41311
413122008-03-13  Anders Carlsson  <andersca@apple.com>
41313
41314        Reviewed by Darin.
41315
41316        Make a bunch of DocumentLoader setters/getters inline.
41317        
41318        * loader/DocumentLoader.cpp:
41319        * loader/DocumentLoader.h:
41320        (WebCore::DocumentLoader::isStopping):
41321        (WebCore::DocumentLoader::setCommitted):
41322        (WebCore::DocumentLoader::isCommitted):
41323        (WebCore::DocumentLoader::isLoading):
41324        (WebCore::DocumentLoader::setLoading):
41325        (WebCore::DocumentLoader::response):
41326        (WebCore::DocumentLoader::mainDocumentError):
41327        (WebCore::DocumentLoader::setResponse):
41328        (WebCore::DocumentLoader::isClientRedirect):
41329        (WebCore::DocumentLoader::setIsClientRedirect):
41330        (WebCore::DocumentLoader::overrideEncoding):
41331        (WebCore::DocumentLoader::responses):
41332        (WebCore::DocumentLoader::triggeringAction):
41333        (WebCore::DocumentLoader::setTriggeringAction):
41334        (WebCore::DocumentLoader::setOverrideEncoding):
41335        (WebCore::DocumentLoader::setLastCheckedRequest):
41336        (WebCore::DocumentLoader::lastCheckedRequest):
41337        (WebCore::DocumentLoader::title):
41338        (WebCore::DocumentLoader::setLoadingFromCachedPage):
41339        (WebCore::DocumentLoader::isLoadingFromCachedPage):
41340
413412008-03-13  Rodney Dawes  <dobey@wayofthemonkey.com>
41342
41343        Fix builds without SVG enabled.
41344
41345        * page/Frame.cpp:
41346        (Frame::shouldApplyTextZoom):
41347        (Frame::shouldApplyPageZoom):
41348
413492008-03-13  Simon Hausmann  <hausmann@webkit.org>
41350
41351        Fix the Qt build.
41352
41353        * bridge/qt/qt_instance.cpp:
41354        (KJS::Bindings::QtInstance::getQtInstance):
41355        (KJS::Bindings::QtInstance::getRuntimeObject):
41356        * bridge/qt/qt_instance.h:
41357        (KJS::Bindings::QtInstance::create):
41358        * bridge/qt/qt_runtime.cpp:
41359        (KJS::Bindings::convertQVariantToValue):
41360        (KJS::Bindings::QtConnectionObject::execute):
41361        * page/qt/FrameQt.cpp:
41362        (WebCore::Frame::createScriptInstanceForWidget):
41363
413642008-03-12  Sam Weinig  <sam@webkit.org>
41365
41366        Reviewed by Darin Adler.
41367
41368        Fix <rdar://problem/5784773>
41369        Crash loading QT movies @ apple.com/ipodtouch/features.html with a PAC file (WebKitThreadingException)
41370
41371        Make bridged RuntimeObjects get collected on the main thread only. This is necessary
41372        because clients of the bridged objects are unlikely to prepared for a collection on 
41373        non-main thread, which can happen with a PAC file.
41374
41375        * bridge/runtime_object.cpp:
41376        (RuntimeObjectImp::RuntimeObjectImp):
41377
413782008-03-12  Adam Roben  <aroben@apple.com>
41379
41380        Fix Bug 17815: Inspector's DOM tree should descend into subframes
41381
41382        <http://bugs.webkit.org/show_bug.cgi?id=17815>
41383
41384        Reviewed by Tim.
41385
41386        * page/inspector/DocumentPanel.js:
41387        (WebInspector.DocumentPanel.revealNode): Changed to provide
41388        _isAncestorIncludingParentFramesWithinPanel and
41389        _parentNodeOrFrameElementWithinPanel for the isAncestor and getParent
41390        parameters to findTreeElement so that parent frames will be searched.
41391        (WebInspector.DocumentPanel.updateBreadcrumb):
41392          - Changed while loop to for loop
41393          - Use _parentNodeOrFrameElementWithinPanel instead of
41394            Node.parentNode to move to the next node
41395          - The loop now ends when we reach the DocumentPanel's document node
41396          - Traversal past other Document nodes is now allowed
41397          - We add the "start" class to the final crumb after the loop exits
41398        (WebInspector.DocumentPanel._getDocumentForNode): Added. Simple helper
41399        that returns the node itself if the node is a Document node, or the
41400        node's ownerDocument otherwise.
41401        (WebInspector.DocumentPanel._parentNodeOrFrameElementWithinPanel):
41402        Added. Returns the node's parent node or, in the case of a Document
41403        node, the node's window's owning frame element, but will not return a
41404        node that is in a parent frame of the DocumentPanel's Document.
41405        (WebInspector.DocumentPanel._isAncestorIncludingParentFramesWithinPanel):
41406        Added. Returns true if a is an ancestor of b if a is an ancestor of a
41407        frame element whose subframe(s) contain b.
41408        (WebInspector.DOMNodeTreeElement): We now consider ourselves to have
41409        children if we have a contentDocument.
41410        (WebInspector.DOMNodeTreeElement.onpopulate): Moved the appendChild
41411        loop into a function so that we can add both children of our
41412        contentDocument and children of our node to the tree.
41413        (WebInspector.DOMNodeTreeElement.ondblclick): Changed so that we get
41414        the rootDOMNode by traversing the tree outline hierarchy instead of
41415        the DOM hierarchy so that we can easily jump up to a parent frame.
41416
414172008-03-12  Adam Roben  <aroben@apple.com>
41418
41419        Update the styles/metrics panes and breadcrumb after editing DOM
41420        attributes
41421
41422        Reviewed by Tim.
41423
41424        * page/inspector/DocumentPanel.js:
41425        (WebInspector.DocumentPanel.set focusedDOMNode): Moved code to update
41426        the parts of the DocumentPanel other than the DOM tree into a new
41427        function, _focusedNodeChanged.
41428        (WebInspector.DocumentPanel._focusedNodeChanged): Added. The
41429        forceUpdate parameter specifies whether the update should occur even
41430        if the focused node hasn't changed since the last update.
41431        (WebInspector.DocumentPanel.updateBreadcrumb): Added a forceUpdate
41432        parameter. If forceUpdate is true, we always rebuild the breadcrumbs.
41433        (WebInspector.DocumentPanel.updateStyles): Added a forceUpdate
41434        parameter. If forceUpdate is true, we always rebuild the styles pane.
41435        (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added a
41436        call to DocumentPanel._focusedNodeChanged. We have to force the update
41437        because we haven't changed the focused node (the attributes of the
41438        node have changed).
41439        * page/inspector/StylesSidebarPane.js:
41440        (WebInspector.StylesSidebarPane.update): Added a forceUpdate
41441        parameter. If forceUpdate is true we always rebuild the styles.
41442
414432008-03-12  Mark Rowe  <mrowe@apple.com>
41444
41445        Further Gtk and Qt build fixes.
41446
41447        * bridge/runtime.cpp:
41448        (KJS::Bindings::Instance::createRuntimeObject): Adapt Qt-only code for change to PassRefPtr.
41449        * page/gtk/FrameGtk.cpp: Add missing include.
41450
414512008-03-12  Mark Rowe  <mrowe@apple.com>
41452
41453        Fix Gtk and Qt builds.
41454
41455        * page/gtk/FrameGtk.cpp:
41456        * page/qt/FrameQt.cpp:
41457
414582008-03-12  Mark Rowe  <mrowe@apple.com>
41459
41460        Mac build fix.
41461
41462        * WebCore.base.exp:  Remove symbol.
41463
414642008-03-12  Steve Falkenburg  <sfalken@apple.com>
41465
41466        Build fix.
41467
41468        * page/win/FrameWin.cpp:
41469
414702008-03-12  Steve Falkenburg  <sfalken@apple.com>
41471
41472        Build fix.
41473
41474        * plugins/win/PluginViewWin.cpp:
41475        (WebCore::PluginView::bindingInstance):
41476
414772008-03-12  Darin Adler  <darin@apple.com>
41478
41479        Reviewed by Anders.
41480
41481        - http://bugs.webkit.org/show_bug.cgi?id=17640
41482          eliminate WebCoreFrameBridge
41483
41484        * WebCore.base.exp: Added more exports, needed by code moved from WebCoreFrameBridge
41485        to WebFrame in WebKit.
41486        * WebCore.xcodeproj/project.pbxproj: Added more headers, same reason. Also deleted
41487        WebCoreFrameBridge.h and WebCoreFrameBridge.mm.
41488
41489        * page/Frame.cpp:
41490        (WebCore::Frame::Frame): Added call to initJavaJSBindings(), formerly handled by
41491        the WebCoreFrameBridge.
41492        * page/Frame.h: Added initJavaJSBindings function.
41493
41494        * page/mac/FrameMac.mm:
41495        (WebCore::updateRenderingForBindings): Moved here from WebCoreFrameBridge.
41496        (WebCore::Frame::initJavaJSBindings): Ditto; code was in the init function.
41497
41498        * page/mac/WebCoreFrameBridge.h: Removed.
41499        * page/mac/WebCoreFrameBridge.mm: Removed.
41500
415012008-03-12  Sam Weinig  <sam@webkit.org>
41502
41503        Reviewed by Anders Carlsson.
41504
41505        Don't go through the Document just to get the frame Element.
41506
41507        * page/DOMWindow.cpp:
41508        (WebCore::DOMWindow::frameElement):
41509
415102008-03-12  Anders Carlsson  <andersca@apple.com>
41511
41512        Reviewed by Geoff and Sam.
41513
41514        More Instance cleanup:
41515        
41516        * Make Instance inherit from RefCounted instead of doing its own refcounting.        
41517        * Make all Instance subclasses private, add static create methods.         
41518        * Have Instance start out with a refcount of 1.
41519        * Get rid of Instance::createBindingForLanguageInstance and call the individual 
41520          instance constructor methods instead.
41521        * Fix many methods to take and return PassRefPtr<Instance> to ensure that the
41522          refcounting is done correctly.
41523         
41524        * bridge/c/c_instance.h:
41525        (KJS::Bindings::CInstance::create):
41526        * bridge/c/c_utility.cpp:
41527        (KJS::Bindings::convertNPVariantToValue):
41528        * bridge/jni/jni_instance.cpp:
41529        (JavaInstance::invokeMethod):
41530        * bridge/jni/jni_instance.h:
41531        (KJS::Bindings::JavaInstance::create):
41532        * bridge/jni/jni_jsobject.cpp:
41533        (JavaJSObject::convertJObjectToValue):
41534        * bridge/jni/jni_runtime.cpp:
41535        (JavaField::valueFromInstance):
41536        (JavaArray::valueAt):
41537        * bridge/objc/objc_instance.h:
41538        (KJS::Bindings::ObjcInstance::create):
41539        * bridge/objc/objc_utility.mm:
41540        (KJS::Bindings::convertObjcValueToValue):
41541        * bridge/qt/qt_instance.cpp:
41542        (KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
41543        (KJS::Bindings::QtInstance::getQtInstance):
41544        (KJS::Bindings::QtInstance::getRuntimeObject):
41545        * bridge/qt/qt_instance.h:
41546        * bridge/runtime.cpp:
41547        (KJS::Bindings::Instance::Instance):
41548        (KJS::Bindings::Instance::createRuntimeObject):
41549        * bridge/runtime.h:
41550        * bridge/runtime_object.cpp:
41551        (RuntimeObjectImp::RuntimeObjectImp):
41552        * bridge/runtime_object.h:
41553        * page/Frame.h:
41554        * page/mac/FrameMac.mm:
41555        (WebCore::Frame::createScriptInstanceForWidget):
41556        * page/win/FrameWin.cpp:
41557        (WebCore::Frame::createScriptInstanceForWidget):
41558        * plugins/PluginView.h:
41559        * plugins/win/PluginViewWin.cpp:
41560        (WebCore::PluginView::bindingInstance):
41561
415622008-03-12  Dan Bernstein  <mitz@apple.com>
41563
41564        Suggested by Darin Adler. Reviewed by Dave Hyatt.
41565
41566        - speed up BidiIterator::direction()
41567
41568        * rendering/bidi.cpp:
41569        (WebCore::BidiIterator::current): Made inline and corrected the
41570        out-of-bounds condition to work with 0-length text and offsets beyond
41571        the end of the text.
41572        (WebCore::BidiIterator::direction): Changed to call current() and not
41573        call the virtual method isListMarker() most of the time.
41574        (WebCore::addMidpoint): Removed unnecessary null-check of smidpoints.
41575        (WebCore::appendRunsForObject): Ditto.
41576
415772008-03-12  Adam Roben  <aroben@apple.com>
41578
41579        Make URLs not be underlined while editing them in the DOM view
41580
41581        Reviewed by Tim.
41582
41583        * page/inspector/inspector.css:
41584
415852008-03-12  Adam Roben  <aroben@apple.com>
41586
41587        Part of Bug 17224: DOM nodes/attributes should be editable
41588
41589        <http://bugs.webkit.org/show_bug.cgi?id=17224>
41590        <rdar://problem/5732825>
41591
41592        We now start editing if the user single-clicks on an attribute,
41593        attribute value, or text node while the parent element is selected.
41594        Previously, we started editing on double-click regardless of the
41595        selection state of the element.
41596
41597        URLs in the DOM tree are now followed on Alt/Option-click, rather than
41598        on just click.
41599
41600        Reviewed by Tim.
41601
41602        * English.lproj/InspectorLocalizedStrings.js: Added four new localized
41603        strings.
41604        * page/inspector/DocumentPanel.js:
41605        (WebInspector.DOMNodeTreeElement.onattach): Call new
41606        _makeURLSActivateOnModifiedClick.
41607        (WebInspector.DOMNodeTreeElement._makeURLsActivateOnModifiedClick):
41608        Added. Changes the tooltip of each link in this element to indicate
41609        that Alt/Option-click will follow the URL, and sets the
41610        followOnAltClick property on each link.
41611        (WebInspector.DOMNodeTreeElement.onselect): Mark that we're being
41612        selected.
41613        (WebInspector.DOMNodeTreeElement.onmousedown): If we're not currently
41614        being selected, start editing.
41615        (WebInspector.DOMNodeTreeElement.ondblclick): We no longer start
41616        editing here. We block re-rooting of the tree if we're currently
41617        editing.
41618        (WebInspector.DOMNodeTreeElement._startEditing):
41619          - Don't do anything if we're not focused
41620          - Pass the event down to _startEditingAttribute.
41621        (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't do
41622        anything if the event target is a URL and the Alt/Option key is
41623        pressed -- in this case we want to follow the link.
41624        (WebInspector.DOMNodeTreeElement._updateTitle): Call
41625        _makeURLsActivateOnClick again since the anchor elements have all been
41626        recreated.
41627        * page/inspector/inspector.js:
41628        (WebInspector.documentClick): If the anchor as a followOnAltClick
41629        property and the Alt/Option key is not pressed, do nothing.
41630
416312008-03-12  Ada Chan  <adachan@apple.com>
41632
41633        Fixed the initial value of zoom factor.
41634
41635        Reviewed by Adam.
41636
41637        * page/Frame.cpp:
41638        (WebCore::FramePrivate::FramePrivate):
41639
416402008-03-12  David Hyatt  <hyatt@apple.com>
41641
41642        Make full page zoom vaguely work.  This patch uses the CSS transform system to turn on full page zoom at the
41643        document level.  There are many many bugs that I'm going to file to track all the issues (most of the issues
41644        are just bugs with transforms themselves).
41645
41646        Reviewed by Adam Roben
41647
41648        * css/CSSStyleSelector.cpp:
41649        (WebCore::CSSStyleSelector::applyProperty):
41650        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
41651        * dom/Document.cpp:
41652        (WebCore::Document::recalcStyle):
41653        * page/Frame.cpp:
41654        (WebCore::Frame::shouldApplyTextZoom):
41655        (WebCore::Frame::shouldApplyPageZoom):
41656        * page/Frame.h:
41657        * rendering/RenderLayer.cpp:
41658        (WebCore::RenderLayer::updateLayerPositions):
41659        (WebCore::RenderLayer::setHasVisibleContent):
41660        (WebCore::RenderLayer::paintLayer):
41661        (WebCore::RenderLayer::hitTestLayer):
41662        * rendering/RenderLayer.h:
41663
416642008-03-12  David Hyatt  <hyatt@apple.com>
41665
41666        Make the zoom factor a float and not a percent.
41667
41668        Reviewed by antti
41669
41670        * WebCore.base.exp:
41671        * css/CSSStyleSelector.cpp:
41672        (WebCore::CSSStyleSelector::applyProperty):
41673        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
41674        * page/Frame.cpp:
41675        (WebCore::Frame::zoomFactor):
41676        (WebCore::Frame::setZoomFactor):
41677        * page/Frame.h:
41678        * page/FramePrivate.h:
41679        * svg/SVGSVGElement.cpp:
41680        (WebCore::SVGSVGElement::currentScale):
41681        (WebCore::SVGSVGElement::setCurrentScale):
41682
416832008-03-12  David Hyatt  <hyatt@apple.com>
41684
41685        Eliminate setTextMultiplier from the bridge.  Make Webkit just call setZoomFactor on the frame directly.
41686
41687        Reviewed by Tim H.
41688
41689        * WebCore.base.exp:
41690        * page/mac/WebCoreFrameBridge.h:
41691        * page/mac/WebCoreFrameBridge.mm:
41692
416932008-03-12  Dan Bernstein  <mitz@apple.com>
41694
41695        Reviewed by Darin Adler and Sam Weinig.
41696
41697        - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
41698
41699        Use CTFontCopyGraphicsFont and CTFontGetPlatformFont on Leopard instead
41700        of wkGetCGFontFromNSFont and wkGetNSFontATSUFontId, relying on NSFont
41701        and CTFontRef being toll-free bridged.
41702
41703        * WebCore.Tiger.exp:
41704        * WebCore.base.exp:
41705        * platform/graphics/mac/FontMac.mm:
41706        (WebCore::Font::drawGlyphs): Changed to use the cgFont() accessor.
41707        * platform/graphics/mac/FontPlatformData.h:
41708        Made m_cgFont a RetainPtr on Leopard.
41709        (WebCore::toCTFontRef): Added a function that encapsulates the
41710        toll-free bridging.
41711        (WebCore::FontPlatformData::FontPlatformData):
41712        (WebCore::FontPlatformData::cgFont): Added this accessor method.
41713        * platform/graphics/mac/FontPlatformDataMac.mm:
41714        (WebCore::FontPlatformData::FontPlatformData): Changed to use
41715        CoreText API on Leopard.
41716        (WebCore::FontPlatformData::setFont): Ditto.
41717        * platform/graphics/mac/SimpleFontDataMac.mm:
41718        (WebCore::initFontData):
41719        (WebCore::pathFromFont):
41720        (WebCore::SimpleFontData::platformInit):
41721        (WebCore::SimpleFontData::platformWidthForGlyph):
41722        * platform/mac/WebCoreSystemInterface.mm:
41723
417242008-03-12  David Harrison  <harrison@apple.com>
41725
41726        Reviewed by Darin.
41727
41728        <rdar://problem/5607382> CrashTracer: [REGRESSION] 2290 crashes in Safari at com.apple.WebCore: -[WebCoreAXObject isWebArea] + 8
41729
41730        The problem was that we lost track of the AX cache for a subframe when Frame::disconnectOwnerElement() was
41731        called, so we were unable to locate the AXObjects to de-register from AppKit's accessibility registry.
41732        Also saw that cache clearing was missing from Document::detach(), and fixed that.
41733        
41734        Also added a debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
41735        
41736        Lastly, RenderWidget::destroy() now skips trying to remove the AXObject if accessibility has never been enabled.
41737       
41738        * dom/Document.cpp:
41739        (WebCore::Document::attach):
41740        Assert that there is no AX cache (since there is no renderer).
41741        
41742        (WebCore::Document::detach):
41743        Destroy the AX cache installed on this document.
41744        
41745        (WebCore::Document::clearAXObjectCache):
41746        New. Destroy the AX cache associated with this document.
41747        
41748        (WebCore::Document::axObjectCache):
41749        Added some comments.
41750        
41751        * dom/Document.h:
41752        Declare clearAXObjectCache().
41753        
41754        * page/Frame.cpp:
41755        (WebCore::Frame::disconnectOwnerElement):
41756        Destroy the AX cache associated with this frame's document.
41757        
41758        * page/mac/AXObjectCacheMac.mm:
41759        (WebCore::AXObjectCache::remove):        
41760        * page/mac/WebCoreAXObject.mm:
41761        (-[WebCoreAXObject initWithRenderer:]):
41762        (-[WebCoreAXObject detach]):
41763        * rendering/RenderObject.cpp:
41764        (WebCore::RenderObject::RenderObject):
41765        (WebCore::RenderObject::~RenderObject):
41766        * rendering/RenderObject.h:
41767        (WebCore::RenderObject::setHasAXObject):
41768        (WebCore::RenderObject::hasAXObject):
41769        Add debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
41770        
41771        * rendering/RenderWidget.cpp:
41772        (WebCore::RenderWidget::destroy):
41773        Skip call to remove the AXObject if accessibility has never been enabled. A simple speed optimization in the
41774        very common case that the accessibility APIs are not being used. Same as in RenderObject::destroy().
41775
417762008-03-12  Xan Lopez  <xan@gnome.org>
41777
41778        Reviewed by Alp Toker.
41779
41780        http://bugs.webkit.org/show_bug.cgi?id=15229
41781
41782        Add Pango font backend.
41783
41784        Original patch by Sven Herzberg <sven@imendio.com>
41785
41786        * GNUmakefile.am:
41787        * platform/graphics/gtk/FontCacheGtk.cpp:
41788        (WebCore::FontCache::fontExists):
41789        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Added.
41790        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
41791        (WebCore::FontCustomPlatformData::fontPlatformData):
41792        (WebCore::releaseData):
41793        (WebCore::createFontCustomPlatformData):
41794        * platform/graphics/gtk/FontPlatformData.h:
41795        (WebCore::FontPlatformData::FontPlatformData):
41796        (WebCore::FontPlatformData::hash):
41797        * platform/graphics/gtk/FontPlatformDataPango.cpp: Added.
41798        (WebCore::FontPlatformData::FontPlatformData):
41799        (WebCore::FontPlatformData::init):
41800        (WebCore::FontPlatformData::~FontPlatformData):
41801        (WebCore::FontPlatformData::isFixedPitch):
41802        (WebCore::FontPlatformData::setFont):
41803        (WebCore::FontPlatformData::operator==):
41804        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Added.
41805        (WebCore::pango_font_get_glyph):
41806        (WebCore::GlyphPage::fill):
41807        * platform/graphics/gtk/SimpleFontDataPango.cpp: Added.
41808        (WebCore::SimpleFontData::platformInit):
41809        (WebCore::SimpleFontData::platformDestroy):
41810        (WebCore::SimpleFontData::smallCapsFontData):
41811        (WebCore::SimpleFontData::containsCharacters):
41812        (WebCore::SimpleFontData::determinePitch):
41813        (WebCore::SimpleFontData::platformWidthForGlyph):
41814        (WebCore::SimpleFontData::setFont):
41815
418162008-03-12  Justin Garcia  <justin.garcia@apple.com>
41817
41818        Reviewed by Oliver.
41819        
41820        <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
41821        
41822        Fixes some (but not all) of the instances of:
41823        <rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241
41824        <rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion
41825
41826        * editing/InsertLineBreakCommand.cpp:
41827        (WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held
41828        the old endingSelection(), so we must recompute it.  Added a FIXME.  Added a few comments.
41829        * editing/RemoveFormatCommand.cpp:
41830        (WebCore::RemoveFormatCommand::doApply): Added a FIXME.
41831
418322008-03-11  Alexey Proskuryakov  <ap@webkit.org>
41833
41834        Reviewed by Darin.
41835
41836        <rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke
41837        some sites.
41838
41839        Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now:
41840        if the frame and subframe belong to the same site, then the encoding is inherited from parent
41841        frame to subframe. Otherwise, it is not.
41842
41843        Always inheriting the encoding would cause a security problem.
41844
41845        Tests: http/tests/misc/frame-default-enc-different-domain.html
41846               http/tests/misc/frame-default-enc-same-domain.html
41847               fast/encoding/frame-default-enc.html
41848
41849        * loader/FrameLoader.cpp:
41850        (WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null -
41851        this function also has code that uses it without checking, so it must be safe.
41852
418532008-03-12  Mark Rowe  <mrowe@apple.com>
41854
41855        Gtk build fix.
41856
41857        * page/Frame.h: Forward-declare FramePrivate.
41858
418592008-03-11  Steve Falkenburg  <sfalken@apple.com>
41860
41861        Disable LTCG/PGO for all of WebCore for now.
41862        We'll re-enable this as part of follow-on PGO work.
41863        
41864        Reviewed by Oliver.
41865
41866        * WebCore.vcproj/WebCore.vcproj:
41867
418682008-03-11  Darin Adler  <darin@apple.com>
41869
41870        Reviewed by Sam.
41871
41872        - remove all bridge-related things from WebCore except the bridge itself
41873
41874        * WebCore.base.exp: Removed the bridge and setBridge functions.
41875
41876        * loader/FrameLoader.cpp:
41877        (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's
41878        close method.
41879
41880        * page/Frame.cpp:
41881        (WebCore::Frame::~Frame): Removed call to setBridge(0).
41882        (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge.
41883        * page/Frame.h: Removed setBridge and bridge functions.
41884        * page/FramePrivate.h: Removed m_bridge pointer.
41885        * page/mac/FrameMac.mm: Removed setBridge and bridge functions.
41886
41887        * page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method.
41888        Removed bridgeForDOMDocument: and clearFrame methods.
41889        * page/mac/WebCoreFrameBridge.mm: Ditto.
41890        (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly.
41891        (-[WebCoreFrameBridge setWebCoreFrame:]): Added.
41892
418932008-03-11  Darin Adler  <darin@apple.com>
41894
41895        - restored some code I removed in the Range change; this code can't go
41896          until the rest of the Range fix is in
41897
41898        * dom/Range.cpp:
41899        (WebCore::Range::commonAncestorContainer): Added back the check for 0
41900        that I removed erroneously in the Range patch.
41901        (WebCore::Range::processContents): Left in assertions I used to debug
41902        this.
41903
419042008-03-11  Darin Adler  <darin@apple.com>
41905
41906        - fix Release build
41907
41908        * platform/mac/ScrollViewMac.mm:
41909        (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
41910
419112008-03-11  Darin Adler  <darin@apple.com>
41912
41913        Reviewed by Anders.
41914
41915        - simplify Mac code for ScrollView, since it's used only for FrameView
41916          and not in two different modes like it was historically
41917        - remove code depending on the bridge to get from an NSView to a WebCore::Frame
41918
41919        * bindings/objc/DOMHTML.mm:
41920        (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView.
41921
41922        * bridge/jni/jni_jsobject.cpp:
41923        (createRootObject): Instead of using WebCoreViewFactory to find the frame given
41924        and NSView, use the WebCoreFrameView interface to do it.
41925
41926        * editing/mac/EditorMac.mm:
41927        (WebCore::Editor::paste): getDocumentView -> documentView.
41928        * editing/mac/SelectionControllerMac.mm:
41929        (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto.
41930
41931        * page/FrameView.h: Fixed comment.
41932
41933        * page/InspectorController.cpp:
41934        (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts
41935        to ScrollView* since FrameView is derived from ScrollView.
41936
41937        * page/mac/EventHandlerMac.mm:
41938        (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView.
41939        * page/mac/FrameMac.mm:
41940        (WebCore::Frame::imageFromRect): Ditto.
41941        * page/mac/WebCoreAXObject.mm:
41942        (-[WebCoreAXObject position]): Ditto.
41943        (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
41944        (-[WebCoreAXObject rendererForView:]): Updated code that used to use
41945        WebCoreBridgeHolder to use WebCoreFrameView instead.
41946
41947        * page/mac/WebCoreFrameBridge.mm:
41948        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
41949        getDocumentView -> documentView.
41950
41951        * page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just
41952        use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to
41953        WebCoreFrameScrollView, since it's a protocol for the scroll view, not the
41954        frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView
41955        protocol, which returns a WebCore::Frame directly rather than a bridge.
41956
41957        * page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method.
41958
41959        * platform/ScrollView.h: Moved the constructor and destructor out of the
41960        class-specific #if blocks. Renamed Mac-specific function that gets the
41961        NSView for from getDocumentView to documentView and a scrollView function
41962        that returns an appropriately classed NSScrollView.
41963
41964        * platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView
41965        instead of Widget.
41966        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41967        (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast.
41968
41969        * platform/mac/PopupMenuMac.mm:
41970        (WebCore::PopupMenu::show): getDocumentView -> documentView.
41971        * platform/mac/ScrollViewMac.mm:
41972        (WebCore::ScrollView::ScrollView): Added.
41973        (WebCore::ScrollView::~ScrollView): Added.
41974        (WebCore::ScrollView::scrollView): Added.
41975        (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case.
41976        (WebCore::ScrollView::visibleHeight): Ditto.
41977        (WebCore::ScrollView::visibleContentRect): Ditto.
41978        (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto.
41979        (WebCore::ScrollView::contentsWidth): Ditto.
41980        (WebCore::ScrollView::contentsHeight): Ditto.
41981        (WebCore::ScrollView::contentsX): Ditto.
41982        (WebCore::ScrollView::contentsY): Ditto.
41983        (WebCore::ScrollView::scrollOffset): Ditto.
41984        (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto.
41985        (WebCore::ScrollView::setContentsPos): Ditto.
41986        (WebCore::ScrollView::setVScrollbarMode): Ditto.
41987        (WebCore::ScrollView::setHScrollbarMode): Ditto.
41988        (WebCore::ScrollView::setScrollbarsMode): Ditto.
41989        (WebCore::ScrollView::vScrollbarMode): Ditto.
41990        (WebCore::ScrollView::hScrollbarMode): Ditto.
41991        (WebCore::ScrollView::suppressScrollbars): Ditto.
41992        (WebCore::ScrollView::addChild): Ditto.
41993        (WebCore::ScrollView::resizeContents): Ditto.
41994        (WebCore::ScrollView::updateContents): Ditto.
41995        (WebCore::ScrollView::contentsToWindow): Ditto.
41996        (WebCore::ScrollView::windowToContents): Ditto.
41997        (WebCore::ScrollView::setStaticBackground): Ditto.
41998        (WebCore::ScrollView::documentView): Renamed and removed unused case.
41999        (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment.
42000
42001        * platform/mac/WidgetMac.mm:
42002        (WebCore::Widget::getOuterView): Update for protocol name change.
42003
42004        * rendering/RenderThemeMac.mm:
42005        (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView.
42006        (WebCore::RenderThemeMac::paintRadio): Ditto.
42007        (WebCore::RenderThemeMac::paintButton): Ditto.
42008        (WebCore::RenderThemeMac::paintMenuList): Ditto.
42009        (WebCore::RenderThemeMac::paintSliderThumb): Ditto.
42010        (WebCore::RenderThemeMac::paintSearchField): Ditto.
42011        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto.
42012        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto.
42013        (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto.
42014
420152008-03-11  Brent Fulgham  <bfulgham@gmail.com>
42016
42017        Reviewed by Adam Roben.
42018
42019        Split CookieJarWin.cpp into CFNet and non-CFNet versions to
42020        reduce the massive amount of conditionalization in the file.
42021        (see http://bugs.webkit.org/show_bug.cgi?id=17788)
42022
42023        * WebCore.vcproj/WebCore.vcproj:
42024        * platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp.
42025        (WebCore::setCookies):
42026        (WebCore::cookies):
42027        (WebCore::cookiesEnabled):
42028        * platform/network/win/CookieJarWin.cpp:
42029        (WebCore::setCookies):
42030        (WebCore::cookies):
42031        (WebCore::cookiesEnabled):
42032
420332008-03-11  Darin Adler  <darin@apple.com>
42034
42035        Reviewed by Sam.
42036
42037        - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
42038
42039        * page/ChromeClient.h: Added new client functions to replace calls up to WebKit
42040        that were formerly handled by the bridge.
42041
42042        * page/Frame.h: Removed unneeded declarations. Moved declarations of script-specific
42043        functions to a ScriptController section. Removed willPopupMenu.
42044
42045        * page/mac/ChromeMac.mm:
42046        (WebCore::Chrome::focusNSView): Changed to call firstResponder and makeFirstResponder
42047        via the client instead of the bridge.
42048
42049        * page/mac/EventHandlerMac.mm:
42050        (WebCore::EventHandler::passMouseDownEventToWidget): Changed to call firstResponder
42051        and makeFirstResponder via the chrome client instead of the bridge.
42052
42053        * page/mac/FrameMac.mm: Removed willPopupMenu.
42054
42055        * page/mac/WebCoreFrameBridge.h: Removed WebCoreFrameBridge protocol and
42056        SubclassResponsibility category. Also removed some unneeded imports.
42057
42058        * platform/mac/PopupMenuMac.mm:
42059        (WebCore::PopupMenu::show): Call willPopUpMenu on chrome client instead of frame.
42060
42061        * platform/mac/WidgetMac.mm:
42062        (WebCore::Widget::setIsSelected): Call functions directly on the view rather than
42063        calling via the bridge.
42064
420652008-03-11  Darin Adler  <darin@apple.com>
42066
42067        Reviewed by Mitz.
42068
42069        - make some Range improvements (preparation for Range support for DOM mutation)
42070
42071        Made constructors private, added create functions.
42072        Made refcount start at 1 rather than starting at 0 and being incremented.
42073        Made Range use two Position objects for the start/end container/offset pairs.
42074
42075        * WebCore.base.exp: Updated.
42076
42077        * dom/Document.cpp:
42078        (WebCore::Document::createRange): Changed to use Range::create.
42079        (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
42080
42081        * dom/Position.cpp:
42082        (WebCore::Position::formatForDebugger): Updated for member variable name change.
42083        (WebCore::Position::showTreeForThis): Ditto.
42084        (WebCore::startPosition): Changed to use Range::startPosition.
42085        (WebCore::endPosition): Changed to use Range::endPosition.
42086
42087        * dom/Position.h: Made the data members public and renamed them to container
42088        and offset. But since offset() is already a function, temporarily used posOffset
42089        for the data member. Later we'll get rid of offset(). Made more functions inline.
42090        Removed the constructor that takes a PositionIterator.
42091
42092        * dom/PositionIterator.cpp:
42093        (WebCore::PositionIterator::operator Position): Added. Replaces the constructor
42094        that used to be in Position.
42095        * dom/PositionIterator.h: Added conversion operator to produce a Position.
42096        Removed friend declaration for Position.
42097
42098        * dom/Range.cpp:
42099        (WebCore::Range::Range): Updated constructors for data member changes and made
42100        them use a refcount of 1.
42101        (WebCore::Range::create): Added.
42102        (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached
42103        is now indicated by m_start.container of 0. Also updated to use m_start instead
42104        of the old m_startContainer.
42105        (WebCore::Range::startOffset): Ditto.
42106        (WebCore::Range::endContainer): Ditto.
42107        (WebCore::Range::endOffset): Ditto.
42108        (WebCore::Range::commonAncestorContainer): Ditto.
42109        (WebCore::Range::collapsed): Ditto.
42110        (WebCore::Range::setStart): Ditto.
42111        (WebCore::Range::setEnd): Ditto.
42112        (WebCore::Range::collapse): Ditto.
42113        (WebCore::Range::isPointInRange): Ditto.
42114        (WebCore::Range::comparePoint): Ditto.
42115        (WebCore::Range::compareNode): Ditto.
42116        (WebCore::Range::compareBoundaryPoints): Ditto.
42117        (WebCore::Range::boundaryPointsValid): Ditto.
42118        (WebCore::Range::deleteContents): Ditto.
42119        (WebCore::Range::intersectsNode): Ditto.
42120        (WebCore::Range::processContents): Ditto.
42121        (WebCore::Range::extractContents): Ditto.
42122        (WebCore::Range::cloneContents): Ditto.
42123        (WebCore::Range::insertNode): Ditto.
42124        (WebCore::Range::toString): Ditto.
42125        (WebCore::Range::text): Ditto.
42126        (WebCore::Range::createContextualFragment): Ditto.
42127        (WebCore::Range::detach): Ditto.
42128        (WebCore::Range::checkNodeBA): Changed to use switch statements instead of
42129        multiple calls to the virtual nodeType() function.
42130        (WebCore::Range::cloneRange): Ditto.
42131        (WebCore::Range::setStartAfter): Ditto.
42132        (WebCore::Range::setEndBefore): Ditto.
42133        (WebCore::Range::setEndAfter): Ditto.
42134        (WebCore::Range::selectNode): Ditto.
42135        (WebCore::Range::selectNodeContents): Ditto.
42136        (WebCore::Range::surroundContents): Ditto.
42137        (WebCore::Range::setStartBefore): Ditto.
42138        (WebCore::Range::checkDeleteExtract): Ditto.
42139        (WebCore::Range::containedByReadOnly): Ditto.
42140        (WebCore::Range::firstNode): Ditto.
42141        (WebCore::Range::editingStartPosition): Ditto.
42142        (WebCore::Range::pastLastNode): Ditto.
42143        (WebCore::Range::addLineBoxRects): Ditto.
42144        (WebCore::Range::formatForDebugger): Ditto.
42145        (WebCore::operator==): Ditto.
42146        (WebCore::rangeOfContents): Ditto.
42147        (WebCore::Range::maxStartOffset): Ditto.
42148        (WebCore::Range::maxEndOffset): Ditto.
42149
42150        * dom/Range.h: Made constructors private. Added create functions.
42151        Added getters for startContainer/Offset and endContainer/Offset that
42152        return 0 instead of an exception for detached ranges that are inline
42153        and don't require an ExceptionCode out parameter. Changed the parameters
42154        to setStart and setEnd to PassRefPtr. Removed isDetached function.
42155        Made ActionType and processContents private. Made startPosition and
42156        endPosition inlines and have then return const&. Renamed startNode and
42157        pastEndNode to firstNode and pastLastNode to reduce the chance of
42158        confusion with startContainer/endContainer. Used Position for m_start
42159        and m_end instead of separate container and offset members. Changed
42160        maxStartOffset and maxEndOffset into int to match other offsets.
42161
42162        * editing/ApplyStyleCommand.cpp:
42163        (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create.
42164        (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
42165        * editing/CompositeEditCommand.cpp:
42166        (WebCore::CompositeEditCommand::inputText): Ditto.
42167        (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
42168        * editing/DeleteSelectionCommand.cpp:
42169        (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
42170        * editing/Editor.cpp:
42171        (WebCore::Editor::fontForSelection): Changed for pastLastNode name change.
42172        (WebCore::Editor::setComposition): Changed to use Range::create.
42173        (WebCore::paragraphAlignedRangeForRange): Ditto.
42174        (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for
42175        isDetached and check for 0 from startContainer instead.
42176        (WebCore::Editor::compositionRange): Changed to use Range::create.
42177        * editing/EditorCommand.cpp:
42178        (WebCore::unionDOMRanges): Ditto.
42179        * editing/Selection.cpp:
42180        (WebCore::Selection::toRange): Ditto.
42181        * editing/TextIterator.cpp:
42182        (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode
42183        name change.
42184        (WebCore::TextIterator::range): Changed to use Range::create.
42185        (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
42186        (WebCore::TextIterator::subrange): Ditto.
42187        * editing/VisiblePosition.cpp:
42188        (WebCore::makeRange): Ditto.
42189        * editing/VisiblePosition.h: Added now-needed include.
42190        * editing/htmlediting.cpp:
42191        (WebCore::indexForVisiblePosition): Changed to use Range::create.
42192        (WebCore::avoidIntersectionWithNode): Changed to get rid of check for
42193        isDetached and check for 0 instead and to use Range::create.
42194        * editing/markup.cpp:
42195        (WebCore::renderedText): Changed to use Range::create.
42196        (WebCore::createMarkup): Changed to no longer use isDetached and also
42197        for new firstNode/pastEndNode names.
42198        (WebCore::createFragmentFromText): Ditto.
42199        * editing/visible_units.cpp:
42200        (WebCore::previousBoundary): Changed to use Range::create.
42201        * page/mac/WebCoreFrameBridge.mm:
42202        (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use
42203        isDetached().
42204        * rendering/RenderTextControl.cpp:
42205        (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create.
42206        (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.
42207
422082008-03-11  Daniel Zucker <zucker@wake3.com>
42209
42210        Reviewed by Adam Roben.
42211
42212        There are a handful of placed where the use of CFNetwork-specific
42213        calls are protected by PLATFORM(CF).  Revise to use the more specific
42214        USE(CFNETWORK) macro.  (See http://bugs.webkit.org/show_bug.cgi?id=17783) 
42215
42216        * platform/network/ProtectionSpace.cpp:  Change PLATFORM(CF) to USE(CFNETWORK)
42217        * platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
42218        * platform/network/win/CookieJarWin.cpp:  Correct error in
42219          InternetGetCookie call.  Conditionalize 'cookiesEnabled' the same
42220          as all other implementations in this file.
42221
422222008-03-11  Xan Lopez  <xan@gnome.org>
42223
42224        Reviewed by Alp Toker.
42225
42226        http://bugs.webkit.org/show_bug.cgi?id=16476
42227
42228        Add libsoup HTTP backend.
42229        
42230        * GNUmakefile.am:
42231        * platform/network/ResourceHandleInternal.h:
42232        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
42233        * platform/network/soup/AuthenticationChallenge.h: Added.
42234        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
42235        * platform/network/soup/ResourceError.h: Added.
42236        (WebCore::ResourceError::ResourceError):
42237        * platform/network/soup/ResourceHandleSoup.cpp: Added.
42238        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
42239        (WebCore::ResourceHandle::~ResourceHandle):
42240        (WebCore::dataCallback):
42241        (WebCore::parseDataUrl):
42242        (WebCore::ResourceHandle::start):
42243        (WebCore::ResourceHandle::cancel):
42244        (WebCore::ResourceHandle::bufferedData):
42245        (WebCore::ResourceHandle::supportsBufferedData):
42246        (WebCore::ResourceHandle::setDefersLoading):
42247        (WebCore::ResourceHandle::loadsBlocked):
42248        (WebCore::ResourceHandle::willLoadFromCache):
42249        * platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h.
42250        (WebCore::ResourceRequest::ResourceRequest):
42251        (WebCore::ResourceRequest::doUpdatePlatformRequest):
42252        * platform/network/soup/ResourceResponse.h: Added.
42253        (WebCore::ResourceResponse::ResourceResponse):
42254        (WebCore::ResourceResponse::setResponseFired):
42255        (WebCore::ResourceResponse::responseFired):
42256        (WebCore::ResourceResponse::doUpdateResourceResponse):
42257
422582008-03-11  Rodney Dawes  <dobey@wayofthemonkey.com>
42259
42260        Fix Qt build.
42261
42262        * plugins/qt/PluginDataQt.cpp:
42263        (PluginData::initPlugins)
42264
422652008-03-11  Adam Roben  <aroben@apple.com>
42266
42267        Make attribute quoting in DOM view more consistent with source view
42268
42269        Two changes which make the DOM view more consistent with source view:
42270         1) We now quote all attribute values, including URLs
42271         2) The quotes around the values are now purple, matching the left and
42272            right angle brackets that surround the tag
42273
42274        One bug fixed by these changes:
42275         1) The entire URL is selected for editing when you double-click a URL
42276            that is an attribute value. Previously, the first and last
42277            characters were not included in the selection.
42278
42279        Reviewed by Darin.
42280
42281        * page/inspector/DocumentPanel.js:
42282        (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need
42283        to account for the quotes around attribute values anymore because the
42284        quotes are now outside the webkit-html-attribute-value span.
42285        * page/inspector/utilities.js:
42286        (nodeTitleInfo): Quote all attribute values, including URLs, and place
42287        the quotes outside the webkit-html-attribute-value span.
42288
422892008-03-11  Adam Roben  <aroben@apple.com>
42290
42291        Stop including pthread.h in WebCore on Windows
42292
42293        Reviewed by Darin.
42294
42295        * WebCore.vcproj/WebCore.vcproj:
42296          - Changed the include path to not contain pthreads/
42297          - Let VS remove a duplicate FileConfiguration element
42298          - Let VS have its way with the file ordering
42299        * WebCorePrefix.h: Made the #include of pthread.h be compiled out on
42300        Windows.
42301        * loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of
42302        localtime_r (pthread.h was providing a macro that substituted plain
42303        old localtime before, but localtime_s is "more secure", so I went with
42304        that).
42305        * loader/FTPDirectoryParser.cpp: Ditto for gmtime_r.
42306
423072008-03-11  Adam Roben  <aroben@apple.com>
42308
42309        Roll out r30961 since it broke the default site icon on Windows
42310
42311        * loader/icon/IconDatabase.cpp:
42312        (WebCore::IconDatabase::defaultIcon):
42313
423142008-03-11  Dan Bernstein  <mitz@apple.com>
42315
42316        Reviewed by Darin Adler.
42317
42318        - clean up line layout code
42319
42320        * platform/graphics/GraphicsContext.cpp:
42321        (WebCore::TextRunIterator::increment): Removed the resolver parameter.
42322        (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to
42323        createBidiRunsForLine(), which no longer takes a start parameter.
42324        * platform/text/BidiResolver.h:
42325        (WebCore::BidiResolver::): Made Noncopyable and removed the
42326        m_adjustEmbedding member variable.
42327        (WebCore::BidiResolver::position): Added. Returns the resolver's current
42328        position.
42329        (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current
42330        position without changing any other state.
42331        (WebCore::BidiResolver::increment): Added. Advances the resolver to the
42332        next position, allowing the iterator to push and pop embedding.
42333        (WebCore::BidiResolver::appendRun): Removed the resolver parameter in
42334        the call to increment().
42335        (WebCore::BidiResolver::embed): Removed code to save, set and restore
42336        m_adjustEmbedding.
42337        (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a
42338        'start' iterator. Instead, start at the current position. Removed code
42339        to set m_adjustEmbedding. Changed for noncopyability.
42340        * rendering/RenderBlock.h:
42341        * rendering/bidi.cpp:
42342        (WebCore::bidiNext): Made the resolver parameter optional. Changed to
42343        null-check the 'end of inline' pointer only twice.
42344        (WebCore::bidiFirst): Made the resolver parameter optional.
42345        (WebCore::BidiIterator::increment): Ditto.
42346        (WebCore::BidiState::increment): Added. Overrides the default
42347        BidiResolver::increment() method by passing the resolver to
42348        BidiIterator::increment().
42349        (WebCore::checkMidpoints): Removed the resolver parameter.
42350        (WebCore::BidiState::appendRun): Removed code to save, set and restore
42351        m_adjustEmbedding. Adjusted for change to increment().
42352        (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter
42353        and unreachable code.
42354        (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/
42355        (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize
42356        the resolver from this method to determineStartPosition(). Unified the
42357        resolver with the 'start' iterator. Removed unreachable code. Moved one
42358        statement from the beginning of the while loop to the end.
42359        (WebCore::RenderBlock::determineStartPosition): Moved code to initialize
42360        the resolver from layoutInlineChildren() into this method.
42361        (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and
42362        the 'start' iterator being one object.
42363        (WebCore::skipNonBreakingSpace): Made the parameter const.
42364        (WebCore::requiresLineBox): Ditto.
42365        (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for
42366        the change to BidiIterator::increment().
42367        (WebCore::RenderBlock::skipWhitespace): Made two versions of this
42368        method, one for BidiIterator and one for BidiState.
42369        (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver
42370        parameter.
42371        (WebCore::RenderBlock::findNextLineBreak): Removed the resolver
42372        parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous'
42373        variable and changed the 'last' variable to do its job.
42374        * rendering/bidi.h:
42375
423762008-03-10  Adam Roben  <aroben@apple.com>
42377
42378        Part of Bug 17224: DOM nodes/attributes should be editable
42379
42380        <http://bugs.webkit.org/show_bug.cgi?id=17224>
42381        <rdar://problem/5732825>
42382
42383        This patch makes text nodes editable via double-click.
42384
42385        Reviewed by Tim.
42386
42387        * page/inspector/DocumentPanel.js:
42388        (WebInspector.DOMNodeTreeElement._startEditing):
42389          - Moved most of this code to _startEditingAttribute
42390          - Calls _startEditingTextNode or _startEditingAttribute as
42391            appropriate
42392        (WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code
42393        came from _startEditing.
42394        (WebInspector.DOMNodeTreeElement._startEditingTextNode): Added.
42395        (WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added.
42396        (WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from
42397        _attributeEditingCancelled.
42398        * page/inspector/utilities.js:
42399        (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so
42400        that we can easily recognize/edit them.
42401
424022008-03-11  Holger Hans Peter Freyther  <zecke@selfish.org>
42403
42404        Reviewed by Darin.
42405
42406        r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
42407        not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
42408        to theme this icon and the Gtk+ platform will probably end up with themable icons
42409        as well.
42410        
42411        Remove dead code from the windows port and move the urlIcon from the windows
42412        directory to the Resource directory to be used by Qt and other ports.
42413        
42414        Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
42415        it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
42416        once it does it wants to use this for getting the urlIcon as well.
42417
42418        * Resources/urlIcon.png: Renamed from WebKit/win/WebKit.vcproj/urlIcon.png.
42419        * loader/icon/IconDatabase.cpp:
42420        (WebCore::IconDatabase::defaultIcon):
42421
424222008-03-11  Tor Arne Vestbø  <tavestbo@trolltech.com>
42423
42424        Reviewed by Darin.
42425
42426        Implemented HTML media element support for QtWebKit, using Phonon.
42427
42428        http://bugs.webkit.org/show_bug.cgi?id=17766
42429
42430        * WebCore.pro:
42431        * platform/graphics/MediaPlayer.cpp:
42432        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Added.
42433        (debugMediaObject):
42434        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
42435        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
42436        (WebCore::MediaPlayerPrivate::getSupportedTypes):
42437        (WebCore::MediaPlayerPrivate::hasVideo):
42438        (WebCore::MediaPlayerPrivate::load):
42439        (WebCore::MediaPlayerPrivate::cancelLoad):
42440        (WebCore::MediaPlayerPrivate::play):
42441        (WebCore::MediaPlayerPrivate::pause):
42442        (WebCore::MediaPlayerPrivate::paused):
42443        (WebCore::MediaPlayerPrivate::seek):
42444        (WebCore::MediaPlayerPrivate::seeking):
42445        (WebCore::MediaPlayerPrivate::duration):
42446        (WebCore::MediaPlayerPrivate::currentTime):
42447        (WebCore::MediaPlayerPrivate::setEndTime):
42448        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
42449        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
42450        (WebCore::MediaPlayerPrivate::bytesLoaded):
42451        (WebCore::MediaPlayerPrivate::totalBytesKnown):
42452        (WebCore::MediaPlayerPrivate::totalBytes):
42453        (WebCore::MediaPlayerPrivate::setRate):
42454        (WebCore::MediaPlayerPrivate::setVolume):
42455        (WebCore::MediaPlayerPrivate::setMuted):
42456        (WebCore::MediaPlayerPrivate::dataRate):
42457        (WebCore::MediaPlayerPrivate::networkState):
42458        (WebCore::MediaPlayerPrivate::readyState):
42459        (WebCore::MediaPlayerPrivate::updateStates):
42460        (WebCore::MediaPlayerPrivate::setVisible):
42461        (WebCore::MediaPlayerPrivate::setRect):
42462        (WebCore::MediaPlayerPrivate::loadStateChanged):
42463        (WebCore::MediaPlayerPrivate::rateChanged):
42464        (WebCore::MediaPlayerPrivate::sizeChanged):
42465        (WebCore::MediaPlayerPrivate::timeChanged):
42466        (WebCore::MediaPlayerPrivate::volumeChanged):
42467        (WebCore::MediaPlayerPrivate::didEnd):
42468        (WebCore::MediaPlayerPrivate::loadingFailed):
42469        (WebCore::MediaPlayerPrivate::naturalSize):
42470        (WebCore::MediaPlayerPrivate::eventFilter):
42471        (WebCore::MediaPlayerPrivate::repaint):
42472        (WebCore::MediaPlayerPrivate::paint):
42473        (WebCore::MediaPlayerPrivate::stateChanged):
42474        (WebCore::MediaPlayerPrivate::tick):
42475        (WebCore::MediaPlayerPrivate::metaDataChanged):
42476        (WebCore::MediaPlayerPrivate::seekableChanged):
42477        (WebCore::MediaPlayerPrivate::hasVideoChanged):
42478        (WebCore::MediaPlayerPrivate::bufferStatus):
42479        (WebCore::MediaPlayerPrivate::finished):
42480        (WebCore::MediaPlayerPrivate::currentSourceChanged):
42481        (WebCore::MediaPlayerPrivate::aboutToFinish):
42482        (WebCore::MediaPlayerPrivate::prefinishMarkReached):
42483        (WebCore::MediaPlayerPrivate::totalTimeChanged):
42484        * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Added.
42485        (WebCore::MediaPlayerPrivate::):
42486        (WebCore::MediaPlayerPrivate::isAvailable):
42487
424882008-03-10  Sam Weinig  <sam@webkit.org>
42489
42490        Reviewed by Beth Dakin.
42491
42492        Throw a SECURITY_ERR when accessing a tainted canvas
42493        by CanvasRenderingContext2D::getImageData() and
42494        HTMLCanvasElement::toDataURL().
42495
42496        * html/CanvasRenderingContext2D.cpp:
42497        (WebCore::CanvasRenderingContext2D::getImageData):
42498        * html/CanvasRenderingContext2D.h:
42499        * html/CanvasRenderingContext2D.idl:
42500        * html/HTMLCanvasElement.cpp:
42501        (WebCore::HTMLCanvasElement::toDataURL):
42502        * html/HTMLCanvasElement.h:
42503        * html/HTMLCanvasElement.idl:
42504
425052008-03-10  Justin Garcia  <justin.garcia@apple.com>
42506
42507        Reviewed by Sam.
42508
42509        <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
42510
42511        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
42512        (WebCore::hasCSSPropertyNamePrefix): Fixed a typo.  The code was only
42513        comparing the first character of the prefix to the first character
42514        of the property name.
42515
425162008-03-10  Andre Boule  <aboule@apple.com>
42517
42518        Reviewed by Beth.
42519
42520        Hold off on initializing the frame to avoid the RenderView getting 
42521        a null FrameView. This could potentially cause problems.
42522
42523        * svg/graphics/SVGImage.cpp:
42524        (WebCore::SVGImage::dataChanged):
42525
425262008-03-10  Darin Adler  <darin@apple.com>
42527
42528        - try to fix Qt build
42529
42530        * bridge/qt/qt_runtime.cpp:
42531        (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
42532
425332008-03-10  Darin Adler  <darin@apple.com>
42534
42535        Reviewed by Antti.
42536
42537        - fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab
42538          should be redrawn as visited immediately
42539        - fix <rdar://problem/4382809> Going "back" a page doesn't change the color of
42540          the visited URL at directory.umi
42541        - fix http://bugs.webkit.org/show_bug.cgi?id=4941
42542          Visited links should be marked as visited
42543        - fix http://bugs.webkit.org/show_bug.cgi?id=7960
42544          REGRESSION: Visited link color doesn't displayed after loading page from cache
42545
42546        We now mark all links on a page as "changed" at the appropriate times.
42547
42548        * WebCore.base.exp: Update since I made completeURL be a const member function.
42549
42550        * css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned
42551        into locals. Also changed some static data members to file-scoped globals with
42552        internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the
42553        prefix on m_styleNotYetAvailable to s_styleNotYetAvailable.
42554        (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes.
42555        (WebCore::parseUASheet): Tweak the comment.
42556        (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to
42557        use local variables instead of globals where possible.
42558        (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so
42559        it can store the link in a hash. Also changed it to have a return value instead
42560        of having it modify a global variable. Added code to put the hash into a set so
42561        we can tell later if this is one of the links that affects this page.
42562        (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to
42563        checkPseudoState.
42564        (WebCore::CSSStyleSelector::matchUARules): Updated for name changes.
42565        (WebCore::CSSStyleSelector::styleForElement): Ditto.
42566        (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto.
42567        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read
42568        the SVG style sheet to use a boolean global and put it right here in the function
42569        since this is the only code that needs to know about it.
42570        (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes.
42571        (WebCore::colorForCSSValue): Moved code inside the function that is not needed
42572        anywhere else.
42573        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change
42574        to checkPseudoState.
42575        (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on
42576        all links if there were any in the set.
42577        (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all
42578        links if the one that changed is in the set.
42579
42580        * css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made
42581        CSSStyleSelector derive from Noncopyable. Made lots of member functions private that
42582        didn't need to be public, and removed others that could be made into non-member
42583        functions. Changed pseudoStyleRulesForElement to take a const String& instead of
42584        a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions.
42585        Got rid of unneeded friend declarations.
42586
42587        * dom/Document.cpp:
42588        (WebCore::Document::completeURL): Made const.
42589        (WebCore::findSlashDotDotSlash): Moved here from PageGroup.
42590        (WebCore::findSlashSlash): Ditto.
42591        (WebCore::findSlashDotSlash): Ditto.
42592        (WebCore::containsColonSlashSlash):
42593        (WebCore::cleanPath): Ditto.
42594        (WebCore::matchLetter): Ditto.
42595        (WebCore::needsTrailingSlash): Ditto.
42596        (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is
42597        the poor-man's completeURL function. The idea of putting it here is that this
42598        way it can be alongside the real completeURL function. Later we should figure out
42599        a way to make this function share more code with the real thing and match behavior.
42600
42601        * dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
42602
42603        * page/DOMWindow.cpp:
42604        (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
42605
42606        * page/Page.cpp:
42607        (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all
42608        style selectors.
42609        (WebCore::Page::visitedStateChanged): Ditto.
42610        * page/Page.h: Added the above functions.
42611
42612        * page/PageGroup.cpp:
42613        (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter.
42614        The CSSStyleSelector now handles actually computing the hash, and it does so by
42615        calling code in Document.
42616        (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share
42617        a bit more code. Added code that calls visitedStateChanged if a new link was added.
42618        (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged
42619        if any visited links are removed.
42620        * page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct
42621        definition here.
42622
42623        * platform/text/StringHash.h:
42624        (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with
42625        the StringImpl::computeHash function, using the same technique for avoiding 0.
42626        (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h.
42627        (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
42628
42629        * rendering/RenderStyle.cpp:
42630        (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead
42631        of getting directly at a data member so the data member could be made private.
42632
42633        * loader/FrameLoader.cpp:
42634        (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll.
42635        (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
42636        * loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
42637
426382008-03-10  Adam Roben  <aroben@apple.com>
42639
42640        Part of Bug 17224: DOM nodes/attributes should be editable
42641
42642        <http://bugs.webkit.org/show_bug.cgi?id=17224>
42643        <rdar://problem/5732825>
42644
42645        This patch makes DOM attributes editable via double-click.
42646
42647        Reviewed by Tim.
42648
42649        * page/inspector/DocumentPanel.js:
42650        (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if
42651        we're being edited, since we want default editing behaviors to work.
42652        (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing
42653        before doing anything else.
42654        (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only
42655        lets you edit attributes.
42656        (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added.
42657        Uses a scratch element to get the new attribute(s) parsed, then sets
42658        the attribute(s) on the node in the inspected document.
42659        (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added.
42660        (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the
42661        representation of the node in the Inspector's DOM tree to reflect
42662        the node's current state.
42663        * page/inspector/inspector.css: Made the .editing class apply
42664        everywhere.
42665        * page/inspector/utilities.js:
42666        (nodeTitleInfo): Changed to surround attribute name/value pairs in a
42667        webkit-html-attribute span so that we can easily edit the pair as a
42668        whole.
42669
426702008-03-10  David Kilzer  <ddkilzer@apple.com>
42671
42672        Fix 64-bit builds.
42673
42674        Reviewed by Stephanie.
42675
42676        WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
42677        so we must exclude the _NPN symbols when creating WebCore.LP64.exp.
42678
42679        * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to
42680        r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
42681
426822008-03-10  Eric Seidel  <eric@webkit.org>
42683
42684        Reviewed by Darin.
42685
42686        Remove KJS::UChar, use ::UChar instead
42687        http://bugs.webkit.org/show_bug.cgi?id=17017
42688
42689        To functional changes, thus no tests.
42690
42691        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
42692        (WebCore::hasCSSPropertyNamePrefix):
42693        (WebCore::cssPropertyName):
42694        * bindings/js/JSDOMWindowBase.cpp:
42695        (WebCore::windowProtoFuncAToB):
42696        (WebCore::windowProtoFuncBToA):
42697        * bindings/js/JSSVGPODTypeWrapper.h:
42698        * bindings/js/kjs_proxy.cpp:
42699        (WebCore::KJSProxy::evaluate):
42700        * bridge/objc/objc_utility.mm:
42701        (KJS::Bindings::throwError):
42702        * dom/Document.cpp:
42703        (WebCore::Document::parseQualifiedName):
42704        * platform/text/AtomicString.cpp:
42705        (WebCore::AtomicString::add):
42706        * platform/text/String.cpp:
42707        (WebCore::String::String):
42708        (WebCore::String::operator Identifier):
42709        (WebCore::String::operator UString):
42710        * platform/text/TextCodecICU.cpp:
42711        (WebCore::TextCodecICU::decode):
42712        * svg/SVGAnimatedTemplate.h:
42713
427142008-03-10  Darin Adler  <darin@apple.com>
42715
42716        Reviewed by Sam.
42717
42718        - eliminate keyboard UI mode method from WebCoreFrameBridge
42719
42720        * page/ChromeClient.h: Added keyboardUIMode function.
42721        (WebCore::ChromeClient::keyboardUIMode): Ditto.
42722        * page/mac/EventHandlerMac.mm:
42723        (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead
42724        of bridge function.
42725        * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused
42726        ones.
42727
42728        * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project.
42729        Do not try to fight the Xcode.
42730
427312008-03-10  Darin Adler  <darin@apple.com>
42732
42733        - oops, forgot to save last couple changes from the editor
42734
42735        * bindings/js/JSDOMWindowCustom.cpp:
42736        (WebCore::markDOMObjectWrapper): Tweaked a tiny bit.
42737        (WebCore::JSDOMWindow::mark): Sorted alphabetically.
42738
427392008-03-10  Darin Adler  <darin@apple.com>
42740
42741        Reviewed by Geoff.
42742
42743        - fix failing regression test (window.navigator is getting garbage
42744          collected and thus losing its custom properties)
42745
42746        * bindings/js/JSDOMWindowCustom.cpp:
42747        (WebCore::markDOMObject): Added helper function.
42748        (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang
42749        off the window object.
42750
42751        * page/DOMWindow.h:
42752        (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without
42753        creating it if it's already there.
42754        (WebCore::DOMWindow::optionalSelection): Ditto.
42755        (WebCore::DOMWindow::optionalHistory): Ditto.
42756        (WebCore::DOMWindow::optionalLocationbar): Ditto.
42757        (WebCore::DOMWindow::optionalMenubar): Ditto.
42758        (WebCore::DOMWindow::optionalPersonalbar): Ditto.
42759        (WebCore::DOMWindow::optionalScrollbars): Ditto.
42760        (WebCore::DOMWindow::optionalStatusbar): Ditto.
42761        (WebCore::DOMWindow::optionalToolbar): Ditto.
42762        (WebCore::DOMWindow::optionalConsole): Ditto.
42763        (WebCore::DOMWindow::optionalNavigator): Ditto.
42764
42765        * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in
42766        alphabetical order since there are a lot of them.
42767
427682008-03-10  Darin Adler  <darin@apple.com>
42769
42770        Reviewed by Sam.
42771
42772        - eliminate Java applet methods from WebCoreFrameBridge
42773
42774        * loader/FrameLoaderClient.h: Added a javaApplet function.
42775        * page/mac/FrameMac.mm:
42776        (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code.
42777        Use the loader client instead of the bridge to get the applet.
42778        * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and
42779        pollForAppletInView methods. Also removed other unused things.
42780
427812008-03-10  Marc-Antoine Ruel  <maruel@gmail.com>
42782
42783        Reviewed by Eric, landed by Darin.
42784
42785        http://bugs.webkit.org/show_bug.cgi?id=16095
42786        Move GraphicsContextPrivate to its own header file.
42787
42788        Moves GraphicsContextState and GraphicsContextPrivate to its
42789        own header
42790
42791        * WebCore.vcproj/WebCore.vcproj:
42792        * platform/graphics/GraphicsContext.cpp:
42793        * platform/graphics/GraphicsContextPrivate.h: Added.
42794        (WebCore::GraphicsContextState::GraphicsContextState):
42795        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
42796
427972008-03-10  Julien Chaffraix  <julien.chaffraix@gmail.com>
42798
42799        Reviewed and landed by Darin.
42800
42801        bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
42802
42803        Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
42804        by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.
42805
42806        * bindings/js/kjs_binding.cpp:
42807        (WebCore::setDOMException): Removed PERMISSION_DENIED code.
42808        * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
42809        * dom/ExceptionCode.h: Ditto.
42810        * xml/XMLHttpRequest.cpp:
42811        (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
42812        * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.
42813
428142008-03-09  Adam Roben  <aroben@apple.com>
42815
42816        Refactor CSS editing code so we can share it with DOM editing
42817
42818        Add WebInspector.startEditing, which takes the element to be edited, a
42819        committedCallback, a cancelledCallback, and a context parameter. This
42820        function takes care of setting up the element for editing, and calls
42821        either the cancelledCallback or committedCallback when editing ends.
42822
42823        Reviewed by Tim.
42824
42825        * page/inspector/StylesSidebarPane.js:
42826        (WebInspector.StylePropertyTreeElement.startEditing):
42827          - Call WebInspector.isBeingEdited and WebInspector.startEditing
42828          - Removed code now handled by WebInspector.startEditing
42829        (WebInspector.StylePropertyTreeElement.editingEnded):
42830          - Renamed from endEditing
42831          - Removed code now handled by WebInspector.startEditing
42832        (WebInspector.StylePropertyTreeElement.editingCancelled):
42833          - Renamed from cancelEditing
42834          - Changed parameters to match WebInspector.startEditing's
42835            cancelledCallback
42836        (WebInspector.StylePropertyTreeElement.editingCommitted):
42837          - Renamed from commitEditing
42838          - Changed parameters to match WebInspector.startEditing's
42839            committedCallback
42840        * page/inspector/inspector.js:
42841        (WebInspector.changeFocus): Changed a call to firstParentWithClassName
42842        to firstParentOrSelfWithClassName so that if the focusable element
42843        itself is the target it will be recognized. I don't know why this
42844        change wasn't needed before this.
42845        (WebInspector.isBeingEdited): Added.
42846        (WebInspector.startEditing): Added.
42847
428482008-03-10  Adam Roben  <aroben@apple.com>
42849
42850        Windows build fix
42851
42852        * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
42853        $(WebKitOutputDir) instead of hard-coding WebKitBuild.
42854
428552008-03-10  Darin Adler  <darin@apple.com>
42856
42857        * DerivedSources.make: Merge plug-in-related changes with the new way of handling
42858        autogenerated DOM classes.
42859
428602008-03-10  Johnny Ding  <johnnyding.webkit@gmail.com>
42861
42862        Reviewed, tweaked and landed by Alexey.
42863
42864        - fix http://bugs.webkit.org/show_bug.cgi?id=17732        
42865
42866        We didn't have a fallback to frame encoding in the case of loading a script via
42867        changing its src attribute.
42868
42869        Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html
42870
42871        * html/HTMLScriptElement.cpp:
42872        (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
42873        charset for correct decoding of script content.
42874        (WebCore::HTMLScriptElement::insertedIntoDocument):
42875        (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
42876        for the script (as much as can be determined prior to loading it).
42877        * html/HTMLScriptElement.h:
42878        * html/HTMLTokenizer.cpp:
42879        (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
42880        decoding of script content.
42881
428822008-03-10  Simon Hausmann  <hausmann@webkit.org>
42883
42884        Reviewed by Lars.
42885
42886        Fix reference counting of returned MimeType and Plugin objects
42887        created in the array wrappers.
42888
42889        * plugins/MimeTypeArray.cpp:
42890        * plugins/MimeTypeArray.h:
42891        * plugins/Plugin.cpp:
42892        * plugins/Plugin.h:
42893        * plugins/PluginArray.cpp:
42894        * plugins/PluginArray.h:
42895
428962008-03-10  Simon Hausmann  <hausmann@webkit.org>
42897
42898        Wx linking fix.
42899
42900        Added missing stubs for PluginData.
42901
42902        * platform/wx/TemporaryLinkStubs.cpp:
42903
429042008-03-10  Simon Hausmann  <hausmann@webkit.org>
42905
42906        Windows build fix that I forgot to merge earlier ;(
42907
42908        Forward declare Page as class, not struct.
42909
42910        * plugins/PluginData.h:
42911
429122008-03-10  Simon Hausmann  <hausmann@webkit.org>
42913
42914        Attempt to fix the Wx build.
42915
42916        * WebCoreSources.bkl:
42917
429182008-03-07  Simon Hausmann  <hausmann@webkit.org>
42919
42920        Reviewed by Darin.
42921
42922        Done with Lars.
42923
42924        http://bugs.webkit.org/show_bug.cgi?id=16815
42925
42926        Ported the manually written JS bindings of window.navigator,
42927        window.navigator.plugins and window.navigator.mimeTypes to
42928        auto-generated bindings.
42929
42930        Moved the globally cached plugin and mimetype information to a
42931        per WebCore::Page shared PluginData structure.
42932
42933        Implemented window.navigator.plugins.refresh() in a
42934        platform-independent way.
42935
42936        * DerivedSources.make:
42937        * GNUmakefile.am:
42938        * WebCore.pro:
42939        * WebCore.vcproj/WebCore.vcproj:
42940        * WebCore.xcodeproj/project.pbxproj:
42941        * bindings/js/JSDOMWindowBase.cpp:
42942        (WebCore::JSDOMWindowBase::getValueProperty):
42943        * bindings/js/JSMimeTypeArrayCustom.cpp: Added.
42944        (WebCore::JSMimeTypeArray::canGetItemsForName):
42945        (WebCore::JSMimeTypeArray::nameGetter):
42946        * bindings/js/JSNavigatorCustom.cpp: Added.
42947        (WebCore::needsYouTubeQuirk):
42948        (WebCore::JSNavigator::appVersion):
42949        * bindings/js/JSPluginArrayCustom.cpp: Added.
42950        (WebCore::JSPluginArray::canGetItemsForName):
42951        (WebCore::JSPluginArray::nameGetter):
42952        * bindings/js/JSPluginCustom.cpp: Added.
42953        (WebCore::JSPlugin::canGetItemsForName):
42954        (WebCore::JSPlugin::nameGetter):
42955        * bindings/js/kjs_navigator.cpp: Removed.
42956        * bindings/js/kjs_navigator.h: Removed.
42957        * dom/Clipboard.cpp:
42958        * dom/DOMImplementation.cpp:
42959        (WebCore::DOMImplementation::createDocument):
42960        * loader/FrameLoader.cpp:
42961        (WebCore::FrameLoader::shouldUsePlugin):
42962        * page/DOMWindow.cpp:
42963        (WebCore::DOMWindow::clear):
42964        (WebCore::DOMWindow::navigator):
42965        * page/DOMWindow.h:
42966        * page/DOMWindow.idl:
42967        * page/DragController.cpp:
42968        * page/Frame.cpp:
42969        * page/Frame.h:
42970        * page/Navigator.cpp: Added.
42971        (WebCore::Navigator::Navigator):
42972        (WebCore::Navigator::~Navigator):
42973        (WebCore::Navigator::disconnectFrame):
42974        (WebCore::Navigator::appCodeName):
42975        (WebCore::Navigator::appName):
42976        (WebCore::Navigator::appVersion):
42977        (WebCore::Navigator::language):
42978        (WebCore::Navigator::userAgent):
42979        (WebCore::Navigator::platform):
42980        (WebCore::Navigator::plugins):
42981        (WebCore::Navigator::mimeTypes):
42982        (WebCore::Navigator::product):
42983        (WebCore::Navigator::productSub):
42984        (WebCore::Navigator::vendor):
42985        (WebCore::Navigator::vendorSub):
42986        (WebCore::Navigator::cookieEnabled):
42987        (WebCore::Navigator::javaEnabled):
42988        * page/Navigator.h: Added.
42989        (WebCore::Navigator::create):
42990        (WebCore::Navigator::frame):
42991        * page/Navigator.idl: Added.
42992        * page/Page.cpp:
42993        (WebCore::Page::refreshPlugins):
42994        (WebCore::Page::pluginData):
42995        * page/Page.h:
42996        * page/Plugin.h: Removed.
42997        * page/mac/FrameMac.mm:
42998        * page/mac/WebCoreFrameBridge.mm:
42999        (-[WebCoreFrameBridge canProvideDocumentSource]):
43000        * page/mac/WebCoreViewFactory.h:
43001        * page/qt/FrameQt.cpp:
43002        * page/win/FrameWin.cpp:
43003        * platform/gtk/TemporaryLinkStubs.cpp:
43004        * platform/mac/PlugInInfoStoreMac.mm: Removed.
43005        * platform/qt/MIMETypeRegistryQt.cpp:
43006        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
43007        * plugins/MimeType.cpp: Added.
43008        (WebCore::MimeType::MimeType):
43009        (WebCore::MimeType::~MimeType):
43010        (WebCore::MimeType::type):
43011        (WebCore::MimeType::suffixes):
43012        (WebCore::MimeType::description):
43013        (WebCore::MimeType::enabledPlugin):
43014        * plugins/MimeType.h: Added.
43015        (WebCore::MimeType::create):
43016        * plugins/MimeType.idl: Added.
43017        * plugins/MimeTypeArray.cpp: Added.
43018        (WebCore::MimeTypeArray::MimeTypeArray):
43019        (WebCore::MimeTypeArray::~MimeTypeArray):
43020        (WebCore::MimeTypeArray::length):
43021        (WebCore::MimeTypeArray::item):
43022        (WebCore::MimeTypeArray::canGetItemsForName):
43023        (WebCore::MimeTypeArray::nameGetter):
43024        (WebCore::MimeTypeArray::getPluginData):
43025        * plugins/MimeTypeArray.h: Added.
43026        (WebCore::MimeTypeArray::create):
43027        (WebCore::MimeTypeArray::disconnectFrame):
43028        * plugins/MimeTypeArray.idl: Added.
43029        * plugins/Plugin.cpp: Added.
43030        (WebCore::Plugin::Plugin):
43031        (WebCore::Plugin::~Plugin):
43032        (WebCore::Plugin::name):
43033        (WebCore::Plugin::filename):
43034        (WebCore::Plugin::description):
43035        (WebCore::Plugin::length):
43036        (WebCore::Plugin::item):
43037        (WebCore::Plugin::canGetItemsForName):
43038        (WebCore::Plugin::nameGetter):
43039        * plugins/Plugin.h: Added.
43040        (WebCore::Plugin::create):
43041        * plugins/Plugin.idl: Added.
43042        * plugins/PluginArray.cpp: Added.
43043        (WebCore::PluginArray::PluginArray):
43044        (WebCore::PluginArray::~PluginArray):
43045        (WebCore::PluginArray::length):
43046        (WebCore::PluginArray::item):
43047        (WebCore::PluginArray::canGetItemsForName):
43048        (WebCore::PluginArray::nameGetter):
43049        (WebCore::PluginArray::refresh):
43050        (WebCore::PluginArray::getPluginData):
43051        * plugins/PluginArray.h: Added.
43052        (WebCore::PluginArray::create):
43053        (WebCore::PluginArray::disconnectFrame):
43054        * plugins/PluginArray.idl: Added.
43055        * plugins/PluginData.cpp: Added.
43056        (WebCore::PluginData::PluginData):
43057        (WebCore::PluginData::~PluginData):
43058        (WebCore::PluginData::supportsMimeType):
43059        (WebCore::PluginData::pluginNameForMimeType):
43060        * plugins/PluginData.h: Added.
43061        (WebCore::PluginData::create):
43062        (WebCore::PluginData::disconnectPage):
43063        (WebCore::PluginData::page):
43064        (WebCore::PluginData::plugins):
43065        (WebCore::PluginData::mimes):
43066        * plugins/mac/PluginDataMac.mm: Added.
43067        (WebCore::PluginData::initPlugins):
43068        (WebCore::PluginData::refresh):
43069        * plugins/qt/PluginDataQt.cpp: Added.
43070        (WebCore::PluginData::initPlugins):
43071        * plugins/win/PluginDataWin.cpp: Added.
43072        (WebCore::PluginData::initPlugins):
43073        (WebCore::PluginData::refresh):
43074
430752008-03-10  Simon Hausmann  <hausmann@webkit.org>
43076
43077        Reviewed by Holger.
43078
43079        Replace two printfs() in the Qt port with notImplemented().
43080
43081        * html/CanvasRenderingContext2D.cpp:
43082        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
43083        (WebCore::CanvasRenderingContext2D::applyFillPattern):
43084
430852008-03-10  Simon Hausmann  <hausmann@webkit.org>
43086
43087        Reviewed by Alp.
43088
43089        Compilation fix with gcc 4.3: Include stdio.h for printf.
43090
43091        * html/CanvasRenderingContext2D.cpp:
43092        * html/HTMLCanvasElement.cpp:
43093
430942008-03-09  Steve Falkenburg  <sfalken@apple.com>
43095
43096        Stop Windows build if an error occurs in a prior project.
43097
43098        Rubber stamped by Darin.
43099
43100        * WebCore.vcproj/WebCore.vcproj:
43101        * WebCore.vcproj/WebCoreGenerated.vcproj:
43102
431032008-03-09  Darin Adler  <darin@apple.com>
43104
43105        * DerivedSources.make: Third try at fixing the build.
43106        * bindings/js/JSRGBColor.cpp: And touching this file.
43107
431082008-03-09  Darin Adler  <darin@apple.com>
43109
43110        * DerivedSources.make: One *more* try at fixing the build.
43111
431122008-03-09  Darin Adler  <darin@apple.com>
43113
43114        * DerivedSources.make: One more try at fixing the build.
43115
431162008-03-09  Darin Adler  <darin@apple.com>
43117
43118        * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the
43119        bots by removing the incorrect file.
43120
431212008-03-09  Oliver Hunt  <oliver@apple.com>
43122
43123        RS=Mark Rowe
43124
43125        Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
43126
43127        * DerivedSources.make:
43128
431292008-03-09  Darin Adler  <darin@apple.com>
43130
43131        Reviewed by Adam.
43132
43133        * DerivedSources.make: Put the list of DOM classes into its own
43134        variable, and generate the JavaScript bindings and Objective-C
43135        bindings dependencies from that. Added some separators to make it
43136        a little easier to see the sections of the file. Moved all the
43137        Mac-specific rules (except for the SVG conditional part) down
43138        to the bottom of the file in a separate section.
43139
431402008-03-09  Adam Roben  <aroben@apple.com>
43141
43142        Windows build fix
43143
43144        * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are
43145        excluded from all three CG-based configurations: Debug, Release, and
43146        Debug_Internal.
43147
431482008-03-08  Mark Rowe  <mrowe@apple.com>
43149
43150        Attempt to fix the Qt build.
43151
43152        * platform/MIMETypeRegistry.cpp:  Add missing include.
43153
431542008-03-08  Oliver Hunt  <oliver@apple.com>
43155
43156        Reviewed by Sam W.
43157
43158        Bug 16516: canvas image patterns stop working with some transformations
43159
43160        Simple fix.  We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
43161        with CG.  However any transforms involving FLT_MAX immediately get
43162        consumed by the introduced floating point error.  yStep had already been
43163        clamped to a much smaller arbitrary value, and this patch makes us use
43164        that clamp value for xStep as well.
43165
43166        * html/CanvasPattern.cpp:
43167        (WebCore::CanvasPattern::createPattern):
43168
431692008-03-08  Oliver Hunt  <oliver@apple.com>
43170
43171        Reviewed by Mitz.
43172
43173        Bug 17728: Canvas.createPattern with null repeat argument throws an exception
43174
43175        Trivial fix, we were calling toString on null which produces the string "null",
43176        we just needed to switch to using valueToStringWithNullCheck rather than 
43177        JSValue::toString directly
43178
43179        Test: fast/canvas/canvas-pattern-behaviour.html
43180
43181        * WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
43182        (WebCore::JSCanvasRenderingContext2D::createPattern):
43183
431842008-03-08  Mark Rowe  <mrowe@apple.com>
43185
43186        Reviewed by Darin Adler.
43187
43188        Fix 64-bit build with GCC 4.2.
43189
43190        * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
43191        * platform/mac/SharedBufferMac.mm: Ditto.
43192
431932008-03-08  Dan Bernstein  <mitz@apple.com>
43194
43195        Reviewed by Oliver Hunt.
43196
43197        - fix garbage in transparent areas in canvas.toDataURL results
43198
43199        * platform/graphics/cg/ImageBufferCG.cpp:
43200        (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before
43201        painting the canvas image onto it.
43202
432032008-03-08  Darin Adler  <darin@apple.com>
43204
43205        Reviewed by Adele.
43206
43207        - eliminate custom highlight methods from WebCoreFrameBridge
43208
43209        * page/Chrome.cpp:
43210        (WebCore::ChromeClient::customHighlightRect): Added.
43211        (WebCore::ChromeClient::paintCustomHighlight): Added.
43212        * page/ChromeClient.h: Added custom highlight functions.
43213        * page/Frame.h: Removed custom highlight functions.
43214        * page/mac/FrameMac.mm: Ditto.
43215        * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
43216        * rendering/InlineTextBox.cpp:
43217        (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use
43218        the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
43219        * rendering/RenderBox.cpp:
43220        (WebCore::RenderBox::paintCustomHighlight): Ditto.
43221        * rendering/RootInlineBox.cpp:
43222        (WebCore::RootInlineBox::addHighlightOverflow): Ditto.
43223        (WebCore::RootInlineBox::paintCustomHighlight): Ditto.
43224
432252008-03-07  Stephanie Lewis  <slewis@apple.com>
43226
43227        Reviewed by Oliver.
43228
43229        Fix Windows build.
43230
43231        * platform/graphics/cg/ImageBufferCG.cpp:
43232        (WebCore::ImageBuffer::toDataURL):
43233
432342008-03-07  David D. Kilzer  <ddkilzer@apple.com>
43235
43236        Unify concept of enabling Netscape Plug-in API (NPAPI).
43237
43238        Reviewed by Darin.
43239
43240        No test cases since there is no change in functionality.
43241
43242        * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro.
43243        If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
43244        * WebCore.NPAPI.exp: Added.
43245        * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
43246        * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except
43247        comments) since we now handle exported NPAPI methods via DerivedSources.make.
43248
43249        * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as
43250        defined in Platform.h.
43251
43252        * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
43253        (-[DOMElement _NPObject]):
43254
43255        * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with
43256        ENABLE(NETSCAPE_PLUGIN_API).
43257        * bridge/NP_jsobject.h: Ditto.
43258        * bridge/c/c_class.cpp: Ditto.
43259        * bridge/c/c_class.h: Ditto.
43260        * bridge/c/c_instance.cpp: Ditto.
43261        * bridge/c/c_instance.h: Ditto.
43262        * bridge/c/c_runtime.cpp: Ditto.
43263        * bridge/c/c_runtime.h: Ditto.
43264        * bridge/c/c_utility.cpp: Ditto.
43265        * bridge/c/c_utility.h: Ditto.
43266        * bridge/npruntime.cpp: Ditto.
43267        * bridge/npruntime_impl.h: Ditto.
43268        * bridge/npruntime_priv.h: Ditto.
43269        * bridge/runtime.cpp: Ditto.
43270        (KJS::Bindings::Instance::createBindingForLanguageInstance):
43271
43272        * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
43273        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
43274        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
43275        * html/HTMLPlugInElement.h: Ditto.
43276
43277        * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
43278        (WebCore::Frame::clearScriptObjects):
43279        (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API)
43280        guard around m_windowScriptNPObject.
43281        * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
43282        * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around
43283        m_windowScriptNPObject.
43284        * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
43285        (WebCore::Frame::createScriptInstanceForWidget):
43286
432872008-03-07  Alexey Proskuryakov  <ap@webkit.org>
43288
43289        Reviewed by Darin.
43290
43291        REGRESSION: Korean decoding doesn't support extended EUC-KR.
43292
43293        Test: fast/encoding/char-decoding.html
43294
43295        * platform/text/TextCodecICU.cpp:
43296        (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU
43297        encoding names by manually registering windows-939-2000, and mapping all other related
43298        encodings to it.
43299
433002008-03-07  Dan Bernstein  <mitz@apple.com>
43301
43302        Reviewed by Stephanie.
43303
43304        - try to fix leaks seen on Tiger after r30840
43305
43306        * css/CSSStyleSelector.cpp:
43307        (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator
43308        delete, rather than arena delete, to deallocate the root default style.
43309
433102008-03-07  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
43311
43312        Reviewed by Alp Toker.
43313
43314        http://bugs.webkit.org/show_bug.cgi?id=17681
43315        GtkLauncher fails to render an element with position: fixed
43316
43317        Implement the required parts of PlatformScreenGtk.
43318
43319        * ChangeLog:
43320        * platform/gtk/PlatformScreenGtk.cpp:
43321        (WebCore::screenDepth):
43322        (WebCore::screenIsMonochrome):
43323        (WebCore::screenRect):
43324
433252008-03-07  Oliver Hunt  <oliver@apple.com>
43326
43327        Reviewed by Darin Adler.
43328
43329        Bug 16610: <canvas> restore() removes path segments created before it
43330
43331        The problem here is that WebKit stored the Path as part of the state, so
43332        restore would incorrectly lose changes made to the canvas path.  To match
43333        Firefox and HTML5 we make two real changes:
43334          * Move the context path from the state object directly onto the context.
43335            This is responsible for all the changes to the path manipulation functions
43336          * Add transform tracking to each state -- this is needed to correctly transform
43337            the current path when restore()-ing to a prior state.
43338
43339        Test: fast/canvas/canvas-save-restore-with-path.html
43340
43341        * html/CanvasRenderingContext2D.cpp:
43342        (WebCore::CanvasRenderingContext2D::restore):
43343        (WebCore::CanvasRenderingContext2D::scale):
43344        (WebCore::CanvasRenderingContext2D::rotate):
43345        (WebCore::CanvasRenderingContext2D::translate):
43346        (WebCore::CanvasRenderingContext2D::transform):
43347        (WebCore::CanvasRenderingContext2D::beginPath):
43348        (WebCore::CanvasRenderingContext2D::closePath):
43349        (WebCore::CanvasRenderingContext2D::moveTo):
43350        (WebCore::CanvasRenderingContext2D::lineTo):
43351        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
43352        (WebCore::CanvasRenderingContext2D::arcTo):
43353        (WebCore::CanvasRenderingContext2D::arc):
43354        (WebCore::CanvasRenderingContext2D::rect):
43355        (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
43356        (WebCore::CanvasRenderingContext2D::fill):
43357        (WebCore::CanvasRenderingContext2D::stroke):
43358        (WebCore::CanvasRenderingContext2D::clip):
43359        (WebCore::CanvasRenderingContext2D::isPointInPath):
43360        * html/CanvasRenderingContext2D.h:
43361
433622008-03-07  Oliver Hunt  <oliver@apple.com>
43363
43364        Reviewed by Ada.
43365
43366        Fix for crash caused by FrameLoader incorrectly assuming it has
43367        a RenderWidget
43368
43369        In some circumstances an application embedding a WebView may 
43370        choose to prevent a webview from loading a resource.  If that
43371        resource was requested by an <object> element then we may 
43372        fallback to different content which may not produce a RenderWidget.
43373        Unfortunately FrameLoader::loadSubframe was assuming that if a
43374        renderer was produced it would always be a RenderWidget, and arbitrarily
43375        performed what could be an incorrect cast.  This could then lead to
43376        a crash.
43377
43378        We currently don't have anyway of making a test for this.
43379
43380        * loader/FrameLoader.cpp:
43381        (WebCore::FrameLoader::loadSubframe):
43382
433832008-03-07  Samuel Weinig  <sam@webkit.org>
43384
43385        Reviewed by Oliver Hunt.
43386
43387        Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
43388        <canvas> lacks toDataURL()
43389
43390        Tests: fast/canvas/toDataURL-noData.html
43391               fast/canvas/toDataURL-supportedTypes.html
43392
43393        * html/CanvasRenderingContext2D.cpp:
43394        (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
43395        * html/HTMLCanvasElement.cpp:
43396        (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has
43397        been called on a tainted canvas. 
43398        (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel
43399        data, checks to see if the MIME type is supported.  Unsupported MIME types and the null string (which is made
43400        by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec.  The actual 
43401        toDataURL logic is actually done in the ImageBuffer class.
43402        * html/HTMLCanvasElement.h: Add function declarations.
43403        * html/HTMLCanvasElement.idl: Add function declaration.
43404
43405        * platform/MIMETypeRegistry.cpp:
43406        (WebCore::initializeSupportedImageMIMETypes):
43407        (WebCore::initializeSupportedImageMIMETypesForEncoding):
43408        (WebCore::initializeSupportedJavaScriptMIMETypes):
43409        (WebCore::initializeSupportedNonImageMimeTypes):
43410        (WebCore::initializeSupportedMediaMIMETypes):
43411        (WebCore::initializeMIMETypeRegistry):
43412        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
43413        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
43414        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
43415        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
43416        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
43417        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
43418        (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
43419        (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
43420        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
43421        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
43422        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
43423        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
43424        (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
43425        * platform/MIMETypeRegistry.h:
43426        Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of
43427        MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
43428
43429        * platform/graphics/ImageBuffer.h: Add toDataURL method.
43430        * platform/graphics/cairo/ImageBufferCairo.cpp:
43431        (WebCore::ImageBuffer::toDataURL): Add stub.
43432        * platform/graphics/cg/ImageBufferCG.cpp:
43433        (WebCore::ImageBuffer::create):
43434        (WebCore::ImageBuffer::getImageData):
43435        (WebCore::ImageBuffer::putImageData):
43436        (WebCore::ImageBuffer::toDataURL):
43437        Converts the current context to a data: url of the specified MIME type.  This method
43438        unfortunately has to flip the context, resulting in less than optimal code.
43439
43440        * platform/graphics/qt/ImageBufferQt.cpp:
43441        (WebCore::ImageBuffer::toDataURL): Add stub.
43442        * platform/graphics/wx/ImageBufferWx.cpp:
43443        (WebCore::ImageBuffer::toDataURL): Add stub.
43444
434452008-03-07  Steve Falkenburg  <sfalken@apple.com>
43446
43447        Build fix.
43448
43449        * WebCore.vcproj/WebCore.vcproj:
43450
434512008-03-07  Brent Fulgham  <bfulgham@gmail.com>
43452
43453        Reviewed by Mark Rowe.
43454
43455        Correct build intermediary output
43456        (http://bugs.webkit.org/show_bug.cgi?id=17713)
43457
43458        * WebCore/WebCore.vcproj:  Correct intermediary paths
43459
434602008-03-07  Brent Fulgham  <bfulgham@gmail.com>
43461
43462        Reviewed by Steve Falkenburg.
43463
43464        Add Cairo build requirements to WebCore.vcproj under a new
43465        set of targets.  Exclude Cairo elements from normal CG build.
43466        Exclude CG elements from Cairo builds.
43467        (http://bugs.webkit.org/show_bug.cgi?id=17300)
43468
43469        * WebCore.vcproj/WebCore.vcproj:
43470        * WebCore.vcproj/webcore.vsprops: Added.
43471
434722008-03-07  Darin Adler  <darin@apple.com>
43473
43474        Reviewed by Adam.
43475
43476        - eliminated WebCoreFrameBridge runOpenPanel
43477
43478        * page/ChromeClient.h: Added runOpenPanel function.
43479        * page/mac/ChromeMac.mm:
43480        (WebCore::ChromeClient::runOpenPanel): Added.
43481        * platform/FileChooser.cpp:
43482        (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
43483        Also start the refcount at 1.
43484        (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
43485        (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
43486        * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
43487        * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
43488        since they are no longer platform-specific.
43489        * platform/qt/FileChooserQt.cpp: Ditto.
43490        * platform/win/FileChooserWin.cpp: Ditto.
43491        * platform/wx/TemporaryLinkStubs.cpp: Ditto.
43492        * platform/mac/FileChooserMac.mm:
43493        (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
43494        bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
43495        class and m_controller data member and move the cosntrutor/destructor to platform-
43496        independent code.
43497
434982008-03-07  Adam Roben  <aroben@apple.com>
43499
43500        Add JavaScriptDebugServer
43501
43502        This class is a singleton which allows one or more
43503        JavaScriptDebugListeners to receive callbacks during JavaScript
43504        execution.
43505
43506        Right now all listeners receive callbacks for all Pages in the
43507        process. Eventually we will want to support listeners registering for
43508        callbacks for specific Pages (e.g., the Inspector will want to listen
43509        for execution in just the Page it's inspecting).
43510
43511        Pages notify the JavaScriptDebugServer when they are created so that
43512        it can install itself as the Page's debugger.
43513
43514        Reviewed by Darin.
43515
43516        * GNUMakefile.am: Added new files to project.
43517        * WebCore.pro: Ditto.
43518        * WebCore.vcproj/WebCore.vcproj: Ditto.
43519        * WebCore.xcodeproj/project.pbxproj: Ditto.
43520        * WebCoreSources.bkl: Ditto.
43521        * page/JavaScriptDebugListener.h: Added.
43522        * page/JavaScriptDebugServer.cpp: Added.
43523        (WebCore::toFrame):
43524        (WebCore::JavaScriptDebugServer::shared):
43525        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
43526        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
43527        (WebCore::JavaScriptDebugServer::addListener): Registers as the
43528        debugger for all Pages if we're adding our first listener.
43529        (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
43530        debugger for all Pages if we're removing our last listner.
43531        (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
43532        debugger for the newly created Page if we have any listeners.
43533        (WebCore::dispatchDidParseSource): Helper function.
43534        (WebCore::dispatchFailedToParseSource): Ditto.
43535        (WebCore::JavaScriptDebugServer::sourceParsed): Call
43536        dispatchDidParseSource or dispatchFailedToParseSource depending on
43537        whether there was an error or not.
43538        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
43539        the passed-in JavaScriptExecutionCallback on each listener, guarding
43540        against re-entry.
43541        (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
43542        (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
43543        (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
43544        (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
43545        * page/JavaScriptDebugServer.h: Added.
43546        * page/Page.cpp:
43547        (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
43548        created so it can register as our debugger if needed.
43549
435502008-03-07  Darin Adler  <darin@apple.com>
43551
43552        Reviewed by Brady.
43553
43554        - fix a theoretical problem with the visited-link hash table by avoiding collision
43555          with the special "deleted" value
43556        - improve efficiency of with the visited-link hash table by not hashing twice
43557
43558        * page/PageGroup.cpp:
43559        (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
43560        value, since the hash table uses that for deleted hash table entries.
43561        (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
43562        value with the HashSet.
43563        (WebCore::PageGroup::addVisitedLink): Ditto.
43564
43565        * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
43566        values. This assumes that the value is already a hash value, and doesn't try to
43567        hash it again. Used this for m_visitedLinkHashes.
43568
435692008-03-07  Simon Hausmann  <hausmann@webkit.org>
43570
43571        Fix the Qt build.
43572
43573        * WebCore.pro:
43574
435752008-03-06  Sam Weinig  <sam@webkit.org> with a little help from Oliver Hunt  <oliver@apple.com>
43576
43577        Reviewed by Mitz.
43578
43579        Implement the HTML5 canvas tainting rules to prevent potential data leakage
43580
43581        Added originClean to HTMLCanvasElement and CanvasPattern
43582        to track whether a canvas (or pattern) is tainted by remote
43583        data.
43584        Use originClean flag to determine whether getImageData should
43585        return, well, image data.
43586
43587        Test: http/tests/security/canvas-remote-read-remote-image.html
43588
43589        * html/CanvasPattern.cpp:
43590        (WebCore::CanvasPattern::CanvasPattern):
43591        * html/CanvasPattern.h:
43592        * html/CanvasRenderingContext2D.cpp:
43593        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
43594        (WebCore::CanvasRenderingContext2D::setFillStyle):
43595        (WebCore::CanvasRenderingContext2D::checkOrigin):
43596        (WebCore::CanvasRenderingContext2D::drawImage):
43597        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
43598        (WebCore::CanvasRenderingContext2D::createPattern):
43599        (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
43600        (WebCore::CanvasRenderingContext2D::getImageData):
43601        * html/CanvasRenderingContext2D.h:
43602        * html/HTMLCanvasElement.cpp:
43603        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
43604        * html/HTMLCanvasElement.h:
43605        (WebCore::HTMLCanvasElement::setOriginTainted):
43606        (WebCore::HTMLCanvasElement::originClean):
43607
436082008-03-06  Anders Carlsson  <andersca@apple.com>
43609
43610        Reviewed by Jon.
43611
43612        Templatize the JNI call code to reduce the amount of code that has
43613        to be duplicated.
43614
43615        * bridge/jni/jni_class.cpp:
43616        (JavaClass::JavaClass):
43617        * bridge/jni/jni_instance.cpp:
43618        (JavaInstance::stringValue):
43619        (JavaInstance::numberValue):
43620        (JavaInstance::booleanValue):
43621        (JavaInstance::invokeMethod):
43622        * bridge/jni/jni_jsobject.cpp:
43623        (JavaJSObject::convertJObjectToValue):
43624        * bridge/jni/jni_runtime.cpp:
43625        (JavaField::JavaField):
43626        (JavaMethod::JavaMethod):
43627        * bridge/jni/jni_utility.cpp:
43628        * bridge/jni/jni_utility.h:
43629        (KJS::Bindings::):
43630        (KJS::Bindings::callJNIMethodIDA):
43631        (KJS::Bindings::callJNIMethodV):
43632        (KJS::Bindings::callJNIMethod):
43633        (KJS::Bindings::callJNIStaticMethod):
43634
436352008-03-06  Darin Adler  <darin@apple.com>
43636
43637        Reviewed by Mitz.
43638
43639        - fix regression test failures from the visited-link change
43640
43641        * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
43642        * page/PageGroup.cpp:
43643        (WebCore::PageGroup::addVisitedLink): Do nothing and return early
43644        if shouldTrackVisitedLinks is false.
43645        (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
43646        so the next time a link is queried this will be populated from history.
43647        (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
43648        * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
43649        for now, but it would be better if it was per-page-group instead.
43650
436512008-03-06  Adele Peterson  <adele@apple.com>
43652
43653        Reviewed by Darin.
43654
43655        Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
43656        and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
43657
43658        Tests: fast/dom/HTMLDocument/activeElement.html
43659               fast/dom/HTMLDocument/hasFocus.html
43660
43661        * html/HTMLDocument.cpp:
43662        (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
43663        (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
43664        * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
43665        * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
43666
436672008-03-06  Dan Bernstein  <mitz@apple.com>
43668
43669        Reviewed by Darin Adler.
43670
43671        - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
43672
43673        Test: fast/text/soft-hyphen-3.html
43674
43675        * rendering/bidi.cpp:
43676        (WebCore::checkMidpoints):
43677        (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
43678        midpoint after a hyphen always be a valid iterator, not allowing an
43679        offset past the end of a text node. Changed the check for consecutive
43680        soft hyphens to account for that.
43681
436822008-03-06  Darin Adler  <darin@apple.com>
43683
43684        - try to fix Wx build
43685
43686        * WebCoreSources.bkl: Added PageGroup.cpp.
43687
436882008-03-06  Darin Adler  <darin@apple.com>
43689
43690        - fix some builds
43691
43692        * GNUmakefile.am: Added PageGroup.cpp.
43693        * WebCore.base.exp: Removed WebCoreHistory.
43694        * WebCore.pro: Added PageGroup.cpp.
43695
436962008-03-06  Alexey Proskuryakov  <ap@webkit.org>
43697
43698        Reviewed by Darin.
43699
43700        <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
43701        
43702        * ForwardingHeaders/wtf/unicode/Collator.h: Added.
43703        * xml/XSLTUnicodeSort.cpp:
43704        (WebCore::xsltUnicodeSortFunction):
43705        * xml/XSLTUnicodeSort.h:
43706
437072008-03-06  Darin Adler  <darin@apple.com>
43708
43709        Reviewed by Mitz.
43710
43711        - fix http://bugs.webkit.org/show_bug.cgi?id=17526
43712          REGRESSION: iframes are added to Safari's History menu
43713          by separating the visited link machinery from global history
43714
43715        This should also make page loading faster due to more efficient visited link coloring.
43716
43717        * WebCore.base.exp: Updated.
43718        * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
43719        * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
43720
43721        * css/CSSStyleSelector.cpp: Updated includes.
43722        (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
43723        currentEncodedURL.
43724        (WebCore::checkPseudoState): Moved most of the code inside a new
43725        PageGroup::isLinkVisited function.
43726        (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
43727        references and only getting colors when needed.
43728        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
43729        * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
43730
43731        * dom/Document.cpp:
43732        (WebCore::Document::attach): Removed call to setEncodedURL.
43733        (WebCore::Document::setURL): Ditto.
43734        (WebCore::Document::recalcStyleSelector): Ditto.
43735
43736        * loader/FrameLoader.cpp:
43737        (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
43738        early exit idiom to be a little more readable.
43739        (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
43740        better efficiency.
43741        (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
43742        readable.
43743        (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
43744        in here and got rid of the helper function updateGlobalHistory, restoring the
43745        logic before r30549. Also added a call to the new addVisitedLink function.
43746        (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
43747        addVisitedLink here.
43748        (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
43749        (WebCore::FrameLoader::updateHistoryForReload): Removed call to
43750        updateGlobalHistory; we can just go without updating global history or
43751        visited links here, at least for now, since it's not clear that a reload
43752        is a "history event".
43753        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
43754        history code back where it was, and added the call to addVisitedLink, just
43755        as in updateHistoryForStandardLoad above.
43756        * loader/FrameLoader.h: Removed updateGlobalHistory function.
43757
43758        * page/Chrome.cpp:
43759        (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
43760        don't have to implement this for every port all at once.
43761        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
43762        new PageGroup class.
43763        * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
43764        visited links set from the global history at application startup time.
43765
43766        * page/FrameTree.cpp:
43767        (WebCore::FrameTree::find): Updated to use the new PageGroup class.
43768
43769        * page/GlobalHistory.h: Removed.
43770        * page/win/GlobalHistoryWin.cpp: Removed.
43771        * page/mac/GlobalHistoryMac.mm: Removed.
43772        * platform/mac/WebCoreHistory.h: Removed.
43773        * platform/mac/WebCoreHistory.m: Removed.
43774        * platform/win/WebCoreHistory.cpp: Removed.
43775        * platform/win/WebCoreHistory.h: Removed.
43776
43777        * page/Page.cpp:
43778        (WebCore::Page::Page): Set m_group to 0.
43779        (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
43780        group, set it to 0 for now to postpone the cost of creating a group.
43781        (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
43782        group; used when getting a group.
43783        (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
43784        on all page groups.
43785        * page/Page.h: Moved enums inside the WebCore namespace. Removed the
43786        frameNamespace function and instead added the group and groupPtr functions.
43787
43788        * page/PageGroup.cpp: Added. Contains all the visited code from the
43789        CSSStyleSelector in the isVisitedLink function, but more efficient because
43790        we don't allocate memory for the buffer.
43791        * page/PageGroup.h: Added.
43792
43793        * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
43794        * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
43795        * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
43796
437972008-03-06  Mark Rowe  <mrowe@apple.com>
43798
43799        Fix 64-bit Mac build.
43800
43801        * WebCore.xcodeproj/project.pbxproj:  Exclude _NPN symbols from the exports list as they
43802        are compiled out of 64-bit builds.
43803
438042008-03-06  Mark Rowe  <mrowe@apple.com>
43805
43806        Leopard build fix.
43807
43808        * WebCore.base.exp:
43809
438102008-03-05  Kevin Ollivier  <kevino@theolliviers.com>
43811
43812        Fix the wx build after the bindings move.
43813
43814        * WebCoreSources.bkl:
43815        * webcore-base.bkl:
43816        * webcore-wx.bkl:
43817
438182008-03-05  Dan Bernstein  <mitz@apple.com>
43819
43820        Reviewed by Adele Peterson.
43821
43822        - fix "background-position: inherit"
43823
43824        * css/CSSStyleSelector.cpp:
43825        Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
43826        a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
43827        macro.
43828
438292008-03-05  Alp Toker  <alp@atoker.com>
43830
43831        Add a missing make dependency for derived sources to improve
43832        autotools build dependency tracking.
43833
43834        Issue spotted by Ori Bernstein.
43835
43836        * GNUmakefile.am:
43837
438382008-03-05  Alp Toker  <alp@atoker.com>
43839
43840        GTK+ build fix for breakage introduced in r30800.
43841
43842        Track moved bridge sources from JavaScriptCore to WebCore.
43843
43844        * GNUmakefile.am:
43845
438462008-03-05  Justin Garcia  <justin.garcia@apple.com>
43847
43848        Reviewed by Darin.
43849
43850        One part of fix for:
43851        <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
43852
43853        * editing/markup.cpp:
43854        (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
43855        inline style declarations, not the other way around. 
43856
438572008-03-05  Anders Carlsson  <andersca@apple.com>
43858
43859        Reviewed by Darin.
43860
43861        Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
43862
43863        * bridge/jni/jni_jsobject.cpp:
43864        (completedJavaScriptAccess):
43865        (initializeJavaScriptAccessLock):
43866        (lockJavaScriptAccess):
43867        (unlockJavaScriptAccess):
43868        (dispatchToJavaScriptThread):
43869        (performJavaScriptAccess):
43870        (JavaJSObject::initializeJNIThreading):
43871        (isJavaScriptThread):
43872        (JavaJSObject::invoke):
43873        * bridge/jni/jni_jsobject.h:
43874        * bridge/runtime_root.cpp:
43875        * bridge/runtime_root.h:
43876        * page/mac/WebCoreFrameBridge.mm:
43877        (-[WebCoreFrameBridge init]):
43878
438792008-03-05  Darin Adler  <darin@apple.com>
43880
43881        Reviewed by Sam.
43882
43883        - add functions giving offsets within a KURL, slated to replace the
43884          EncodedURL object in CSSStyleSelector (in a future "visited link" change)
43885        - changed all KURL data members names to use the traditional m_ prefix
43886        - initialize all members to 0 in invalid KURLs rather than having all
43887          functions check m_isValid
43888
43889        * platform/KURL.cpp:
43890        (WebCore::KURL::invalidate): Added. Initializes all the fields except for
43891        m_string to the "invalid" values. For use in the empty constructor and
43892        in the init and parse functions.
43893        (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
43894        early to use the invalidate() function. Updated for member variable name
43895        changes.
43896        (WebCore::KURL::hasPath): Updated for member variable name changes.
43897        Remove now-unneeded check of m_isValid.
43898        (WebCore::KURL::lastPathComponent): Ditto.
43899        (WebCore::KURL::protocol): Ditto.
43900        (WebCore::KURL::host): Ditto.
43901        (WebCore::KURL::port): Ditto.
43902        (WebCore::KURL::pass): Ditto.
43903        (WebCore::KURL::user): Ditto.
43904        (WebCore::KURL::ref): Ditto.
43905        (WebCore::KURL::hasRef): Ditto.
43906        (WebCore::KURL::protocolIs): Ditto.
43907        (WebCore::KURL::query): Ditto.
43908        (WebCore::KURL::path): Ditto.
43909        (WebCore::KURL::setProtocol): Ditto.
43910        (WebCore::KURL::setHost): Ditto.
43911        (WebCore::KURL::setPort): Ditto.
43912        (WebCore::KURL::setHostAndPort): Ditto.
43913        (WebCore::KURL::setUser): Ditto.
43914        (WebCore::KURL::setPass): Ditto.
43915        (WebCore::KURL::setRef): Ditto.
43916        (WebCore::KURL::setQuery): Ditto.
43917        (WebCore::KURL::setPath): Ditto.
43918        (WebCore::KURL::prettyURL): Ditto.
43919        (WebCore::copyPathRemovingDots): Removed braces to match our code style.
43920        (WebCore::KURL::parse): Changed all code paths that return early to use
43921        the invalidate function. Moved code to set m_isValid to true to the very
43922        end of the function. Removed braces to match our code style. Removed an
43923        extra copy of the path/query/fragment code (there were two identical copies
43924        in the two sides of an if statement). Removed some commented-out code.
43925        Reversed an if statment. Added code to set the new m_pathAfterLastSlash
43926        field. Updated for member variable name changes.
43927        (WebCore::equalIgnoringRef): Updated for member variable name changes.
43928        (WebCore::KURL::isHierarchical): Ditto.
43929
43930        * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
43931        constructor inline and called the new invalidate function. Added new
43932        pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
43933        new visited link code. Added an invalidate function. Renamed all the
43934        data members to use the m_ prefix.
43935
43936        * WebCore.base.exp: Updated.
43937
439382008-03-05  Anders Carlsson  <andersca@apple.com>
43939
43940        Reviewed by Sam.
43941
43942        * WebCore.xcodeproj/project.pbxproj:
43943        Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 
43944        this with jni_objc.mm and create jni_jsobject.mm.
43945        
43946        * bridge/jni/jni_jsobject.cpp:
43947        (createRootObject):
43948        Move createRootObject here from WebCoreFrameBridge.
43949        
43950        (JavaJSObject::createNative):
43951        Call the newly added createRootObject function.
43952        
43953        * bridge/runtime_root.cpp:
43954        (KJS::Bindings::RootObject::initializeJNIThreading):
43955        * bridge/runtime_root.h:
43956        setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
43957
43958        * page/mac/FrameMac.mm:
43959        (WebCore::Frame::createScriptInstanceForWidget):
43960        Just call Frame::createRootObject here.
43961        
43962        * page/mac/WebCoreFrameBridge.mm:
43963        (-[WebCoreFrameBridge init]):
43964        Call initializeJNIThreading.
43965
439662008-03-05  Anders Carlsson  <andersca@apple.com>
43967
43968        Reviewed by Sam.
43969
43970        Change some static class variables to be regular static variables,
43971        making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
43972
43973        * bridge/runtime_root.cpp:
43974        (KJS::Bindings::completedJavaScriptAccess):
43975        (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
43976        (KJS::Bindings::performJavaScriptAccess):
43977        (KJS::Bindings::RootObject::createRootObject):
43978        (KJS::Bindings::RootObject::runLoop):
43979        (KJS::Bindings::RootObject::setCreateRootObject):
43980        * bridge/runtime_root.h:
43981
439822008-03-05  Brent Fulgham <bfulgham@gmail.com>
43983
43984        Reviewed by Adam Roben.
43985
43986        Modify source files to use the USE(SAFARI_THEME) macro, rather than
43987        USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)
43988
43989        * WebCore/platform/win/PlatformScrollBarSafari.cpp
43990        * WebCore/rendering/RenderThemeSafari.cpp
43991        * WebCore/rendering/RenderThemeSafari.h
43992        * config.h: Move definition of WTF_USE_SAFARI_THEME here 
43993
439942008-03-05  Brady Eidson  <beidson@apple.com>
43995
43996        Reviewed by Alexey and Mark Rowe
43997
43998        Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
43999
44000        DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
44001        removing particular items for Databases that were shutting down.
44002
44003        This filtering operation is not atomic, and therefore causes a race condition with the
44004        database thread waking up and reading from the message queue.  
44005
44006        The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
44007        seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
44008        assertion with a crash in a release build is what revealed this bug.
44009
44010        The fix for the above symptom was entirely in WTF::MessageQueue in JSCore.  With this fix in 
44011        place, another crash popped up in the layout tests that was related to dereferencing a 
44012        deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 
44013        when it needed to be a ref pointer.
44014
44015        * storage/SQLTransaction.cpp:
44016        (WebCore::SQLTransaction::runCurrentStatement):
44017        * storage/SQLTransaction.h: Change m_database to be a RefPtr
44018        (WebCore::SQLTransaction::database):
44019
440202008-03-05  Mark Rowe  <mrowe@apple.com>
44021
44022        Build fix.
44023
44024        * WebCore.base.exp:  Remove symbol that no longer exists from the exports file.
44025
440262008-03-05  Adam Roben  <aroben@apple.com>
44027
44028        Export a header/symbol for WebKit
44029
44030        Reviewed by Kevin M.
44031
44032        * WebCore.base.exp:
44033        * WebCore.xcodeproj/project.pbxproj:
44034
440352008-03-05  Adam Roben  <aroben@apple.com>
44036
44037        Move WebCoreScriptDebugger up to WebKit
44038
44039        Reviewed by Darin.
44040
44041        * WebCore.base.exp: Exported some functions used by
44042        WebCoreScriptDebugger, and sorted the list.
44043        * WebCore.xcodeproj/project.pbxproj: Removed
44044        WebCoreScriptDebugger.{h,mm} from the project and marked
44045        a few headers private so that WebKit can use them.
44046        * page/mac/WebCoreScriptDebugger.h: Removed.
44047        * page/mac/WebCoreScriptDebugger.mm: Removed.
44048
440492008-03-05  Anders Carlsson  <andersca@apple.com>
44050
44051        Build bridge/. Copy some headers over to WebKit as part of the post-build step.
44052        
44053        * WebCore.vcproj/WebCore.vcproj:
44054
440552008-03-05  Anders Carlsson  <andersca@apple.com>
44056
44057        Reviewed by Geoff.
44058
44059        * WebCore.base.exp:
44060        Add the NPN and KJS methods.
44061        
44062        * WebCore.xcodeproj/project.pbxproj:
44063        Bring in bridge/
44064
44065        * config.h:
44066        Add HAVE_JNI define.
44067        
44068        * bindings/js/kjs_html.cpp:
44069        * bindings/objc/DOMInternal.mm:
44070        * bindings/objc/DOMUtility.mm:
44071        * bindings/objc/WebScriptObject.mm:
44072        * html/HTMLAppletElement.cpp:
44073        * html/HTMLEmbedElement.cpp:
44074        * html/HTMLObjectElement.cpp:
44075        * html/HTMLPlugInElement.cpp:
44076        * page/Frame.cpp:
44077        * page/mac/FrameMac.mm:
44078        * page/mac/WebCoreFrameBridge.mm:
44079        * page/mac/WebCoreScriptDebugger.mm:
44080        * plugins/win/PluginViewWin.cpp:
44081        Include file changes.
44082
440832008-03-04  Anders Carlsson  <andersca@apple.com>
44084
44085        Reviewed by Sam.
44086
44087        Rewrite NPRuntime string conversion routines to use WebCore::String
44088        
44089        * bridge/NP_jsobject.cpp:
44090        (_NPN_Evaluate):
44091        * bridge/c/c_utility.cpp:
44092        (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
44093        (KJS::Bindings::convertNPVariantToValue):
44094        (KJS::Bindings::convertNPStringToUTF16):
44095        (KJS::Bindings::identifierFromNPIdentifier):
44096        * bridge/c/c_utility.h:
44097
440982008-03-05  Oliver Hunt  <oliver@apple.com>
44099
44100        Reviewed by Alexey P.
44101
44102        Small performance improvement to putImageData (3-5% on assignment in my tests)
44103
44104        * html/CanvasPixelArray.h:
44105        (WebCore::CanvasPixelArray::set):
44106
441072008-03-04  Sam Weinig  <sam@webkit.org>
44108
44109        Reviewed by Adele.
44110
44111        * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
44112
441132008-03-04  Maciej Stachowiak  <mjs@apple.com>
44114
44115        Reviewed by Sam and Oliver.
44116
44117        - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
44118        - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
44119
44120        * bindings/js/JSNodeCustom.cpp:
44121        (WebCore::JSNode::mark): When marking a node that's in-document,
44122        mark the owner document if it hasn't been already. This means holding on
44123        to a single node from an unreferenced document now keeps the whole document alive.
44124        
44125        We are now at 90/100 on Acid3.
44126
441272008-03-04  Sam Weinig  <sam@webkit.org>
44128
44129        Qt build fix.
44130
44131        * page/qt/FrameQt.cpp:
44132
441332008-03-04  Sam Weinig  <sam@webkit.org>
44134
44135        Reviewed by Mark Rowe.
44136
44137        Rename kjs_window to JSDOMWindowBase.
44138
44139        - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
44140          JSDOMWindow.h
44141
44142        * ChangeLog:
44143        * DerivedSources.make:
44144        * GNUmakefile.am:
44145        * WebCore.pro:
44146        * WebCore.vcproj/WebCore.vcproj:
44147        * WebCore.xcodeproj/project.pbxproj:
44148        * WebCoreSources.bkl:
44149        * bindings/js/JSCustomVoidCallback.cpp:
44150        * bindings/js/JSCustomXPathNSResolver.cpp:
44151        * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
44152        * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
44153        * bindings/js/JSDOMWindowCustom.cpp:
44154        * bindings/js/JSDatabaseCustom.cpp:
44155        * bindings/js/JSEventTargetBase.cpp:
44156        * bindings/js/JSEventTargetBase.h:
44157        * bindings/js/JSEventTargetNode.cpp:
44158        * bindings/js/JSHTMLDocumentCustom.cpp:
44159        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
44160        * bindings/js/JSHistoryCustom.cpp:
44161        * bindings/js/JSLocation.cpp:
44162        * bindings/js/JSSQLTransactionCustom.cpp:
44163        * bindings/js/JSXMLHttpRequest.cpp:
44164        * bindings/js/ScheduledAction.cpp:
44165        * bindings/js/kjs_binding.cpp:
44166        * bindings/js/kjs_events.cpp:
44167        * bindings/js/kjs_navigator.cpp:
44168        * bindings/js/kjs_proxy.cpp:
44169        * bindings/js/kjs_window.cpp: Removed.
44170        * bindings/js/kjs_window.h: Removed.
44171        * bindings/scripts/CodeGeneratorJS.pm:
44172        * history/CachedPage.cpp:
44173        * loader/FrameLoader.cpp:
44174        * page/Chrome.cpp:
44175        * page/InspectorController.cpp:
44176        * page/mac/FrameMac.mm:
44177        * page/mac/WebCoreFrameBridge.mm:
44178        * page/qt/FrameQt.cpp:
44179        * page/win/FrameWin.cpp:
44180        * plugins/win/PluginViewWin.cpp:
44181
441822008-03-04  Mark Rowe  <mrowe@apple.com>
44183
44184        Speculative Qt build fix.
44185
44186        * platform/qt/PasteboardQt.cpp:
44187
441882008-03-04  Anders Carlsson  <andersca@apple.com>
44189
44190        Reviewed by Sam.
44191
44192        Update include paths. This code is not used yet.
44193
44194        * bridge/NP_jsobject.cpp:
44195        * bridge/c/c_class.cpp:
44196        * bridge/c/c_instance.cpp:
44197        * bridge/c/c_utility.cpp:
44198        (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
44199        #if 0 this out for now. 
44200        
44201        * bridge/jni/jni_class.cpp:
44202        * bridge/jni/jni_jsobject.cpp:
44203        * bridge/jni/jni_objc.mm:
44204        * bridge/jni/jni_runtime.cpp:
44205        * bridge/jni/jni_utility.cpp:
44206        * bridge/jni/jni_utility.h:
44207        * bridge/npruntime.cpp:
44208        * bridge/objc/WebScriptObject.h:
44209        * bridge/objc/objc_class.h:
44210        * bridge/objc/objc_instance.h:
44211        * bridge/objc/objc_runtime.h:
44212        * bridge/objc/objc_utility.h:
44213        * bridge/objc/objc_utility.mm:
44214        * bridge/runtime.cpp:
44215        * bridge/runtime.h:
44216        * bridge/runtime_array.cpp:
44217        * bridge/runtime_array.h:
44218        * bridge/runtime_method.cpp:
44219        * bridge/runtime_method.h:
44220        * bridge/runtime_object.cpp:
44221        * bridge/runtime_object.h:
44222        * bridge/runtime_root.cpp:
44223        * bridge/runtime_root.h:
44224
442252008-03-04  Dan Bernstein  <mitz@apple.com>
44226
44227        Reviewed by Darin Adler.
44228
44229        - fix http://bugs.webkit.org/show_bug.cgi?id=17676
44230          <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
44231
44232        Test: fast/encoding/url-host-name-non-ascii.html
44233
44234        * platform/KURL.cpp:
44235        (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
44236        case to avoid copying the host name twice and corrected the error
44237        checking after calling uidna_IDNToASCII().
44238
442392008-03-04  Sam Weinig  <sam@webkit.org>
44240
44241        Reviewed by Dan Bernstein.
44242
44243        Use JSDOMWindow exclusively instead of JSDOMWindowBase.
44244
44245        * bindings/js/ScheduledAction.cpp:
44246        (WebCore::ScheduledAction::execute):
44247        * bindings/js/ScheduledAction.h:
44248        * bindings/js/kjs_window.cpp:
44249        (WebCore::JSDOMWindowBase::timerFired):
44250
442512008-03-04  Timothy Hatcher  <timothy@apple.com>
44252
44253        Reviewed by Darin Adler.
44254
44255        <rdar://problem/5720160> Browser windows "do nothing" while modal
44256        dialog or menu is up due to run loop modes (or while scrolling)
44257
44258        Adds a new SchedulePair object that holds a runloop and the mode to use.
44259        A HashSet of SchedulePairs is tracked by Page so it can be used for resource
44260        loading and, in the future, maybe SharedTimerMac.
44261
44262        * WebCore.base.exp: Add new exports for WebKit.
44263        * WebCore.xcodeproj/project.pbxproj: Add new files.
44264        * loader/mac/DocumentLoaderMac.cpp: Added.
44265        (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
44266        (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
44267        (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
44268        (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
44269        * loader/DocumentLoader.h:
44270        * page/Page.h:
44271        (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
44272        * page/mac/PageMac.cpp:
44273        (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
44274        (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
44275        * platform/cf/SchedulePair.cpp: Added.
44276        * platform/cf/SchedulePair.h: Added.
44277        * platform/mac/SchedulePairMac.mm: Added.
44278        * platform/network/ResourceHandle.h:
44279        * platform/network/mac/FormDataStreamMac.mm:
44280        (WebCore::advanceCurrentStream): Use the new SchedulePair.
44281        (WebCore::formCreate): Ditto.
44282        (WebCore::formFinalize): Ditto.
44283        (WebCore::formSchedule): Ditto.
44284        (WebCore::formUnschedule): Ditto.
44285        * platform/network/mac/ResourceHandleMac.mm:
44286        (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
44287        that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
44288        pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
44289        (WebCore::ResourceHandle::schedule):
44290        (WebCore::ResourceHandle::unschedule):
44291
442922008-03-04  Sam Weinig  <sam@webkit.org>
44293
44294        Reviewed by Darin Adler.
44295
44296        Rename kjs_css to JSRGBColor.
44297
44298        * DerivedSources.make:
44299        * GNUmakefile.am:
44300        * WebCore.pro:
44301        * WebCore.vcproj/WebCore.vcproj:
44302        * WebCore.xcodeproj/project.pbxproj:
44303        * WebCoreSources.bkl:
44304        * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
44305        * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
44306        * bindings/js/kjs_css.cpp: Removed.
44307        * bindings/js/kjs_css.h: Removed.
44308        * bindings/js/kjs_window.cpp:
44309        * bindings/objc/DOMUtility.mm:
44310        * bindings/scripts/CodeGeneratorJS.pm:
44311
443122008-03-04  Anders Carlsson  <andersca@apple.com>
44313
44314        Fix 64-bit build.
44315        
44316        * html/HTMLPlugInElement.cpp:
44317
443182008-03-04  Nikolas Zimmermann  <zimmermann@kde.org>
44319
44320        Reviewed by Eric & David.
44321
44322        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
44323
44324        Fix getSubStringLength() handling, verified by Acid3 test 77.
44325        Brings up Acid3 score to 88/100.
44326
44327        Added test: svg/custom/acid3-test-77.html
44328                    svg/custom/getSubStringLength.html
44329
44330        * svg/SVGTextContentElement.cpp:
44331        (WebCore::cummulatedCharacterRangeLength): Simplify some code.
44332        (WebCore::SVGTextContentElement::getSubStringLength):
44333
443342008-03-04  Anders Carlsson  <andersca@apple.com>
44335
44336        Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
44337
44338        * bindings/js/kjs_proxy.cpp:
44339        (WebCore::KJSProxy::attachDebugger):
44340        * page/Page.cpp:
44341        (WebCore::Page::setDebuggerForAllPages):
44342        (WebCore::Page::setDebugger):
44343
443442008-03-04  Adam Roben  <aroben@apple.com>
44345
44346        Add ExecState.h to ForwardingHeaders
44347
44348        Reviewed by Anders.
44349
44350        * ForwardingHeaders/kjs/ExecState.h: Added.
44351        * page/Page.cpp: Touch this to force WebCore to build and the headers
44352        to be copied.
44353
443542008-03-04  Adam Roben  <aroben@apple.com>
44355
44356        Make it possible to set a KJS::Debugger on all Frames in a Page and
44357        all Pages in the process
44358
44359        Reviewed by Kevin M.
44360
44361        * ForwardingHeaders/kjs/debugger.h: Added.
44362        * bindings/js/kjs_proxy.cpp:
44363        (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
44364        is one.
44365        (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
44366        detach any existing debugger if none was passed in.
44367        * bindings/js/kjs_proxy.h:
44368        * page/Page.cpp:
44369        (WebCore::Page::Page): Initialize new member.
44370        (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
44371        in the process.
44372        (WebCore::Page::setDebugger): Store the debugger and pass it off to
44373        all our Frames.
44374        * page/Page.h:
44375
443762008-03-04  Sam Weinig  <sam@webkit.org>
44377
44378        Reviewed by Darin Adler.
44379
44380        Add ClassInfo to custom constructors so that they toString properly
44381
44382        - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
44383          and XSLTProcessorConstructorImp and prefix all the classes with JS. 
44384
44385        * bindings/js/JSAudioConstructor.cpp:
44386        (WebCore::): Added ClassInfo definition.
44387        (WebCore::JSAudioConstructor::JSAudioConstructor):
44388        (WebCore::JSAudioConstructor::construct): Cleanup.
44389        * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
44390        (WebCore::JSAudioConstructor::classInfo): Added.
44391
44392        * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 
44393        to JSHTMLInputElementBasePrototype as seen if toString'ed.
44394
44395        * bindings/js/JSHTMLOptionElementConstructor.cpp:
44396        (WebCore::): Added ClassInfo definition.
44397        * bindings/js/JSHTMLOptionElementConstructor.h:
44398        (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
44399
44400        * bindings/js/JSImageConstructor.cpp:
44401        (WebCore::): Added ClassInfo definition.
44402        (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
44403        * bindings/js/JSImageConstructor.h:
44404        (WebCore::JSImageConstructor::classInfo): Added.
44405
44406        * bindings/js/JSXMLHttpRequest.cpp:
44407        (WebCore::): Rename XMLHttpRequestPrototype  to JSXMLHttpRequestPrototype 
44408        as seen if toString'ed.
44409        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
44410        (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
44411        (WebCore::JSXMLHttpRequestConstructor::construct):
44412        * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
44413        JSXMLHttpRequestConstructor and doc to m_document and 
44414        (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
44415
44416        * bindings/js/JSXSLTProcessor.cpp:
44417        (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 
44418        XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
44419        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
44420        (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
44421        (WebCore::JSXSLTProcessorConstructor::construct):
44422        * bindings/js/JSXSLTProcessor.h:
44423        (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
44424
44425        * bindings/js/kjs_window.cpp:
44426        (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
44427
444282008-03-04  Dan Bernstein  <mitz@apple.com>
44429
44430        Reviewed by Oliver Hunt and Geoffrey Garen.
44431
44432        - fix http://bugs.webkit.org/show_bug.cgi?id=17667
44433          <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
44434
44435        * loader/loader.cpp:
44436        (WebCore::Loader::didFinishLoading): Changed to call
44437        setLoadInProgress(false) even for 4xx errors, because that triggers
44438        load completion check.
44439
444402008-03-04  Adele Peterson  <adele@apple.com>
44441
44442        Reviewed by Beth.
44443
44444        Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
44445
44446        If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
44447        from being keyboard focusable (using the tab key).
44448
44449        * html/HTMLAnchorElement.cpp:
44450        (WebCore::HTMLAnchorElement::isFocusable):
44451        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
44452
444532008-03-04  Chris Fleizach  <cfleizach@apple.com>
44454
44455        Reviewed by Darin Adler.
44456
44457        - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
44458
44459        * page/mac/WebCoreAXObject.mm:
44460        (headingLevel):
44461        (-[WebCoreAXObject accessibilityIsIgnored]):
44462
444632008-03-04  Sam Weinig  <sam@webkit.org>
44464
44465        GTK+ build fix.
44466
44467        * GNUmakefile.am:
44468
444692008-03-04  Sam Weinig  <sam@webkit.org>
44470
44471        Reviewed by Darin Adler.
44472
44473        Remame ImageConstructorImp to JSImageConstructor and move it into its
44474        own file.
44475
44476        * GNUmakefile.am:
44477        * WebCore.pro:
44478        * WebCore.vcproj/WebCore.vcproj:
44479        * WebCore.xcodeproj/project.pbxproj:
44480        * WebCoreSources.bkl:
44481        * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
44482        (WebCore::JSImageConstructor::JSImageConstructor):
44483        (WebCore::JSImageConstructor::construct):
44484        * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
44485        * bindings/js/kjs_html.cpp:
44486        (WebCore::getRuntimeObject): Make this function static since it is only used
44487        in this file.
44488        * bindings/js/kjs_html.h:
44489        * bindings/js/kjs_window.cpp:
44490        (WebCore::JSDOMWindowBase::getValueProperty):
44491
444922008-03-04  Adam Roben  <aroben@apple.com>
44493
44494        Fix an uninitialized value warning in CodeGeneratorJS.pm
44495
44496        * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
44497        non-existent $maybeOkParam (this was removed in r30753).
44498
444992008-03-04  Sam Weinig  <sam@webkit.org>
44500
44501        Reviewed by Darin Adler.
44502
44503        Remove kjs_dom.{h,cpp}.
44504
44505        - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
44506          to us a null return value as an indication of failure. (This new logic is used
44507          for toVoidCallback as well.)
44508        - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
44509          functions currently live.
44510        - Move checkNodeSecurity to kjs_binding, where other frame security functions 
44511          currently live.
44512        - Remove getNodeConstructor.  It had no implementation.
44513
44514        * GNUmakefile.am:
44515        * WebCore.pro:
44516        * WebCore.vcproj/WebCore.vcproj:
44517        * WebCore.xcodeproj/project.pbxproj:
44518        * WebCoreSources.bkl:
44519        * bindings/js/JSAttrCustom.cpp:
44520        * bindings/js/JSCustomVoidCallback.cpp:
44521        (WebCore::toVoidCallback):
44522        * bindings/js/JSCustomVoidCallback.h:
44523        * bindings/js/JSDatabaseCustom.cpp:
44524        (WebCore::JSDatabase::changeVersion):
44525        (WebCore::JSDatabase::transaction):
44526        * bindings/js/JSElementCustom.cpp:
44527        (WebCore::JSElement::setAttributeNode):
44528        (WebCore::JSElement::setAttributeNodeNS):
44529        * bindings/js/JSEventTargetBase.cpp:
44530        (WebCore::toJS):
44531        * bindings/js/JSEventTargetBase.h:
44532        * bindings/js/JSHTMLAppletElementCustom.cpp:
44533        * bindings/js/JSHTMLElementCustom.cpp:
44534        * bindings/js/JSHTMLEmbedElementCustom.cpp:
44535        * bindings/js/JSHTMLFormElementCustom.cpp:
44536        * bindings/js/JSHTMLFrameElementCustom.cpp:
44537        * bindings/js/JSHTMLIFrameElementCustom.cpp:
44538        * bindings/js/JSHTMLObjectElementCustom.cpp:
44539        * bindings/js/JSNamedNodeMapCustom.cpp:
44540        * bindings/js/JSNamedNodesCollection.cpp:
44541        * bindings/js/JSNodeFilterCustom.cpp:
44542        * bindings/js/JSXSLTProcessor.cpp:
44543        * bindings/js/kjs_binding.cpp:
44544        (WebCore::checkNodeSecurity):
44545        * bindings/js/kjs_binding.h:
44546        * bindings/js/kjs_css.cpp:
44547        * bindings/js/kjs_dom.cpp: Removed.
44548        * bindings/js/kjs_dom.h: Removed.
44549        * bindings/js/kjs_events.cpp:
44550        * bindings/js/kjs_html.cpp:
44551        (WebCore::getRuntimeObject):
44552        * bindings/js/kjs_html.h:
44553        * bindings/js/kjs_window.cpp:
44554        * bindings/scripts/CodeGeneratorJS.pm:
44555        * dom/Attr.idl:
44556        * html/HTMLPlugInElement.cpp:
44557        * page/InspectorController.cpp:
44558
445592008-03-04  Adam Roben  <aroben@apple.com>
44560
44561        Win/Qt/GTK+/wx build fix after r30740
44562
44563        * editing/Editor.cpp: Added missing #include.
44564        * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
44565        * page/win/FrameWin.cpp: Ditto.
44566        * platform/wx/TemporaryLinkStubs.cpp: Ditto.
44567
445682008-03-04  Alp Toker  <alp@atoker.com>
44569
44570        GTK+ build fix for breakage introduced in r30740.
44571
44572        Remove Frame::dashboardRegionsChanged(). There's now a default
44573        implementation at ChromeClient::dashboardRegionsChanged().
44574
44575        * page/gtk/FrameGtk.cpp:
44576
445772008-03-04  Alp Toker  <alp@atoker.com>
44578
44579        GTK+ build fix suggested by aroben. Remove an unused Mac-specific
44580        included introduced in r30740.
44581
44582        * page/ChromeClient.h:
44583
445842008-03-04  Dan Bernstein  <mitz@apple.com>
44585
44586        Reviewed by Sam Weinig.
44587
44588        - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
44589
44590        Test: platform/win/fast/text/uniscribe-missing-glyph.html
44591
44592        Note that default installations of Windows do not have Myanmar fonts.
44593        What this patch does is ensure that the Myanmar and other complex
44594        scripts are rendered as missing glyphs rather than not rendered at all.
44595        The particular page in the bug measures the relative widths of two
44596        rendered strings and, if they are rendered as missing glyphs, detects
44597        that a Myanmar fonts is not available and substitutes the text with
44598        images. By not rendering (and measuring) missing glyphs, WebKit was
44599        throwing the page's detection code off.
44600
44601        * platform/graphics/win/UniscribeController.cpp:
44602        (WebCore::UniscribeController::shape): Removed an early return in case
44603        shaping resulted in missing glyphs. This is now expected if font
44604        fallback failed to produce a font containing glyphs for the character.
44605        Also changed two resize()s to shrink()s.
44606
446072008-03-04  Darin Adler  <darin@apple.com>
44608
44609        Reviewed by Adam.
44610
44611        - remove WebCoreFrameBridge reapplyStyles method
44612
44613        * WebCore.base.exp: Added exports.
44614        * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
44615        reapplyStylesForDeviceType: method.
44616        * page/mac/WebCoreFrameBridge.mm: Ditto.
44617
446182008-03-04  Darin Adler  <darin@apple.com>
44619
44620        Reviewed by Adam.
44621
44622        - eliminate WebCoreFrameBridge createFrameViewWithNSView
44623
44624        * WebCore.base.exp: Added some more exports.
44625        * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
44626        * page/mac/WebCoreFrameBridge.mm: Ditto.
44627
446282008-03-04  Darin Adler  <darin@apple.com>
44629
44630        Reviewed by Adam.
44631
44632        - removed WebCoreFrameBridge scrollOverflowInDirection
44633
44634        * WebCore.base.exp: Export function needed by WebKit.
44635        * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
44636        and scrollOverflowInDirection.
44637        * page/mac/WebCoreFrameBridge.mm: Removed method.
44638
446392008-03-04  Darin Adler  <darin@apple.com>
44640
44641        Reviewed by Adam.
44642
44643        - remove WebCoreFrameBridge installInFrame: method
44644
44645        * WebCore.base.exp: Export a few symbols.
44646        * WebCore.xcodeproj/project.pbxproj: Export a few files.
44647        * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
44648        * page/mac/WebCoreFrameBridge.mm: Ditto.
44649
446502008-03-04  Darin Adler  <darin@apple.com>
44651
44652        Reviewed by Adam.
44653
44654        - remove WebCoreFrameBridge window method
44655
44656        * page/mac/EventHandlerMac.mm:
44657        (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
44658        window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
44659        special, so a call to -[NSView window] is fine.
44660
44661        * page/mac/WebCoreFrameBridge.h: Removed the window method.
44662
446632008-03-04  Darin Adler  <darin@apple.com>
44664
44665        Reviewed by Adam.
44666
44667        - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
44668
44669        * WebCore.base.exp: Updated.
44670        * page/Chrome.cpp:
44671        (WebCore::ChromeClient::dashboardRegionsChanged): Added.
44672        * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
44673        * page/Frame.h: Removed dashboardRegionsChanged function.
44674        * page/FrameView.cpp:
44675        (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
44676        on ChromeClient and to only call it when the regions actually changed.
44677        * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
44678        * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
44679
446802008-03-04  Darin Adler  <darin@apple.com>
44681
44682        Reviewed by Adam.
44683
44684        - remove WebCoreFrameBridge issuePasteComand method
44685
44686        * editing/Editor.cpp:
44687        (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
44688        * editing/mac/EditorMac.mm:
44689        (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
44690        WebHTMLView). We should get rid of this eventually.
44691        * page/Frame.h: Removed issuePasteCommand.
44692        * page/mac/FrameMac.mm: Ditto.
44693        * page/mac/WebCoreFrameBridge.h: Ditto.
44694
446952008-03-04  Alexey Proskuryakov  <ap@webkit.org>
44696
44697        Suggested by Darin, rubber-stamped by Mark.
44698
44699        http://bugs.webkit.org/show_bug.cgi?id=17569
44700        REGRESSION (r30571): Buzzword.com doesn't load
44701
44702        Rolling out r30571, as determining what is wrong with it proved tricky.
44703
44704        * loader/FrameLoader.cpp:
44705        (WebCore::FrameLoader::load):
44706        (WebCore::FrameLoader::tokenizerProcessedData):
44707        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
44708
447092008-03-04  Sam Weinig  <sam@webkit.org>
44710
44711        Build fix.
44712
44713        * bindings/js/kjs_events.cpp:
44714
447152008-03-03  Sam Weinig  <sam@webkit.org>
44716
44717        Reviewed by Mark Rowe.
44718
44719        Move JSClipboard into its own file.
44720
44721        * DerivedSources.make:
44722        * GNUmakefile.am:
44723        * WebCore.pro:
44724        * WebCore.vcproj/WebCore.vcproj:
44725        * WebCore.xcodeproj/project.pbxproj:
44726        * WebCoreSources.bkl:
44727        * bindings/js/JSAttrCustom.cpp:
44728        * bindings/js/JSClipboardCustom.cpp: Added.
44729        (WebCore::JSClipboard::types):
44730        (WebCore::JSClipboard::clearData):
44731        (WebCore::JSClipboard::getData):
44732        (WebCore::JSClipboard::setData):
44733        (WebCore::JSClipboard::setDragImage):
44734        * bindings/js/JSElementCustom.cpp:
44735        * bindings/js/JSEventCustom.cpp:
44736        * bindings/js/JSHTMLFrameElementCustom.cpp:
44737        * bindings/js/JSHTMLIFrameElementCustom.cpp:
44738        * bindings/js/kjs_events.cpp:
44739        * bindings/js/kjs_events.h:
44740        * bindings/js/kjs_window.cpp:
44741        * bindings/scripts/CodeGeneratorJS.pm:
44742        * dom/Clipboard.cpp:
44743        (WebCore::Clipboard::setDropEffect):
44744        (WebCore::Clipboard::setEffectAllowed):
44745        * dom/Clipboard.idl: Added.
44746
447472008-03-03  Sam Weinig  <sam@webkit.org>
44748
44749        Windows build-fix.
44750
44751        * page/Chrome.cpp:
44752        * plugins/win/PluginViewWin.cpp:
44753
447542008-03-03  Sam Weinig  <sam@webkit.org>
44755
44756        Reviewed by Darin Adler.
44757
44758        Cleanup and plumbing in preparation for the great Window split.
44759
44760        - Rename KJS::Window to WebCore::JSDOMWindowBase.
44761        - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
44762          with the new toJSDOMWindow().
44763        - Remove KJS::Window::retrieveActive() and replace with explicit call to 
44764          exec->dynamicGlobalObject() and toJSDOMWindow().
44765
44766        * bindings/js/JSCustomVoidCallback.cpp:
44767        (WebCore::toVoidCallback):.
44768        * bindings/js/JSCustomXPathNSResolver.cpp:
44769        (WebCore::JSCustomXPathNSResolver::create):
44770        * bindings/js/JSDatabaseCustom.cpp:
44771        (WebCore::JSDatabase::changeVersion):
44772        (WebCore::JSDatabase::transaction):
44773        * bindings/js/JSDocumentCustom.cpp:
44774        (WebCore::JSDocument::location):
44775        (WebCore::toJS):
44776        * bindings/js/JSEventTargetBase.cpp:
44777        (WebCore::jsEventTargetAddEventListener):
44778        (WebCore::jsEventTargetRemoveEventListener):
44779        * bindings/js/JSEventTargetNode.cpp:
44780        (WebCore::JSEventTargetNode::setListener):
44781        * bindings/js/JSHTMLDocumentCustom.cpp:
44782        (WebCore::JSHTMLDocument::nameGetter):
44783        (WebCore::JSHTMLDocument::open):
44784        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
44785        (WebCore::JSHTMLFrameSetElement::nameGetter):
44786        * bindings/js/JSLocation.cpp:
44787        (WebCore::JSLocation::put):
44788        (WebCore::jsLocationProtoFuncReplace):
44789        (WebCore::jsLocationProtoFuncReload):
44790        (WebCore::jsLocationProtoFuncAssign):
44791        * bindings/js/JSLocation.h:
44792        * bindings/js/JSSQLTransactionCustom.cpp:
44793        (WebCore::JSSQLTransaction::executeSql):
44794        * bindings/js/JSSVGLazyEventListener.cpp:
44795        (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
44796        (WebCore::JSSVGLazyEventListener::eventParameterName):
44797        * bindings/js/JSSVGLazyEventListener.h:
44798        * bindings/js/JSXMLHttpRequest.cpp:
44799        (WebCore::JSXMLHttpRequest::putValueProperty):
44800        (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
44801        (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
44802        (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
44803        * bindings/js/ScheduledAction.cpp:
44804        (WebCore::ScheduledAction::execute):
44805        * bindings/js/ScheduledAction.h:
44806        * bindings/js/kjs_binding.cpp:
44807        (WebCore::allowsAccessFromFrame):
44808        (WebCore::printErrorMessageForFrame):
44809        * bindings/js/kjs_events.cpp:
44810        (WebCore::JSAbstractEventListener::handleEvent):
44811        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
44812        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
44813        (WebCore::JSUnprotectedEventListener::windowObj):
44814        (WebCore::JSEventListener::JSEventListener):
44815        (WebCore::JSEventListener::~JSEventListener):
44816        (WebCore::JSEventListener::windowObj):
44817        (WebCore::JSLazyEventListener::JSLazyEventListener):
44818        (WebCore::JSLazyEventListener::parseCode):
44819        * bindings/js/kjs_events.h:
44820        * bindings/js/kjs_navigator.cpp:
44821        (WebCore::MimeType::getValueProperty):
44822        * bindings/js/kjs_proxy.cpp:
44823        (WebCore::KJSProxy::evaluate):
44824        (WebCore::KJSProxy::createHTMLEventHandler):
44825        (WebCore::KJSProxy::createSVGEventHandler):
44826        * bindings/js/kjs_window.cpp:
44827        (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
44828        (WebCore::DOMWindowTimer::DOMWindowTimer):
44829        (WebCore::DOMWindowTimer::action):
44830        (WebCore::DOMWindowTimer::takeAction):
44831        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
44832        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
44833        (WebCore::JSDOMWindowBase::location):
44834        (WebCore::JSDOMWindowBase::mark):
44835        (WebCore::allowPopUp):
44836        (WebCore::createWindow):
44837        (WebCore::showModalDialog):
44838        (WebCore::JSDOMWindowBase::getValueProperty):
44839        (WebCore::JSDOMWindowBase::childFrameGetter):
44840        (WebCore::JSDOMWindowBase::indexGetter):
44841        (WebCore::JSDOMWindowBase::namedItemGetter):
44842        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
44843        (WebCore::JSDOMWindowBase::put):
44844        (WebCore::JSDOMWindowBase::allowsAccessFrom):
44845        (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
44846        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
44847        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
44848        (WebCore::JSDOMWindowBase::printErrorMessage):
44849        (WebCore::JSDOMWindowBase::globalExec):
44850        (WebCore::JSDOMWindowBase::shouldInterruptScript):
44851        (WebCore::JSDOMWindowBase::setListener):
44852        (WebCore::JSDOMWindowBase::getListener):
44853        (WebCore::JSDOMWindowBase::findJSEventListener):
44854        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
44855        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
44856        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
44857        (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
44858        (WebCore::JSDOMWindowBase::clear):
44859        (WebCore::JSDOMWindowBase::setCurrentEvent):
44860        (WebCore::JSDOMWindowBase::currentEvent):
44861        (WebCore::windowProtoFuncAToB):
44862        (WebCore::windowProtoFuncBToA):
44863        (WebCore::windowProtoFuncOpen):
44864        (WebCore::windowProtoFuncSetTimeout):
44865        (WebCore::windowProtoFuncClearTimeout):
44866        (WebCore::windowProtoFuncSetInterval):
44867        (WebCore::windowProtoFuncAddEventListener):
44868        (WebCore::windowProtoFuncRemoveEventListener):
44869        (WebCore::windowProtoFuncShowModalDialog):
44870        (WebCore::windowProtoFuncNotImplemented):
44871        (WebCore::JSDOMWindowBase::setReturnValueSlot):
44872        (WebCore::JSDOMWindowBase::clearAllTimeouts):
44873        (WebCore::JSDOMWindowBase::installTimeout):
44874        (WebCore::JSDOMWindowBase::pauseTimeouts):
44875        (WebCore::JSDOMWindowBase::resumeTimeouts):
44876        (WebCore::JSDOMWindowBase::clearTimeout):
44877        (WebCore::JSDOMWindowBase::timerFired):
44878        (WebCore::JSDOMWindowBase::disconnectFrame):
44879        (WebCore::JSDOMWindowBase::jsEventListeners):
44880        (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
44881        (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
44882        (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
44883        (WebCore::toJS):
44884        (WebCore::toJSDOMWindow):
44885        (WebCore::toJSDOMWindow):
44886        * bindings/js/kjs_window.h:
44887        (WebCore::JSDOMWindowBase::impl):
44888        (WebCore::JSDOMWindowBase::classInfo):
44889        (WebCore::JSDOMWindowBase::):
44890        * bindings/objc/DOMUtility.mm:
44891        (KJS::createDOMWrapper):
44892        * bindings/scripts/CodeGeneratorJS.pm:
44893        * history/CachedPage.cpp:
44894        (WebCore::CachedPage::CachedPage):
44895        (WebCore::CachedPage::restore):
44896        * page/Chrome.cpp:
44897        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
44898        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
44899        * page/DOMWindow.idl:
44900        * page/Frame.cpp:
44901        (WebCore::Frame::~Frame):
44902        (WebCore::Frame::windowScriptNPObject):
44903        (WebCore::Frame::pageDestroyed):
44904        * page/InspectorController.cpp:
44905        (WebCore::inspectedWindow):
44906        * page/mac/FrameMac.mm:
44907        (WebCore::Frame::windowScriptObject):
44908        * page/mac/WebCoreFrameBridge.mm:
44909        (updateRenderingForBindings):
44910        * platform/SecurityOrigin.cpp:
44911        (WebCore::SecurityOrigin::canAccess):
44912
449132008-03-03  Kevin Ollivier  <kevino@theolliviers.com>
44914
44915        wx build fixes after recent Frame-related changes.
44916
44917        * platform/wx/PasteboardWx.cpp:
44918        * platform/wx/TemporaryLinkStubs.cpp:
44919
449202008-03-03  Dan Bernstein  <mitz@apple.com>
44921
44922        Reviewed by Darin Adler.
44923
44924        - make :first-letter apply to the first letter in normal flow, skipping
44925          floats and positioned objects
44926
44927        Test: fast/css/first-letter-skip-out-of-flow.html
44928
44929        * rendering/RenderBlock.cpp:
44930        (WebCore::RenderBlock::updateFirstLetter):
44931
449322008-03-03  Ada Chan  <adachan@apple.com>
44933
44934        Fix build.
44935
44936        * plugins/win/PluginViewWin.cpp:
44937
449382008-03-03  Mark Rowe  <mrowe@apple.com>
44939
44940        Reviewed by Dan Bernstein.
44941
44942        Fix http://bugs.webkit.org/show_bug.cgi?id=17313
44943        Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
44944
44945        Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
44946        before using it to resolve styles, which lead to it having a stale m_style member in some situations.
44947        This stale m_style member resulted in a wild store that would write over whatever object now resided
44948        at the location m_style pointed to.
44949
44950        Test: fast/dom/SelectorAPI/bug-17313.html
44951
44952        * dom/Node.cpp:
44953        (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
44954        * dom/SelectorNodeList.cpp:
44955        (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
44956
449572008-03-03  Anders Carlsson  <andersca@apple.com>
44958
44959        Reviewed by Darin and Sam.
44960
44961        Include fixes, in preparation of using the headers in WebCore/bridge.
44962        
44963        * bindings/js/kjs_binding.h:
44964        * bindings/js/kjs_dom.cpp:
44965        * bindings/objc/DOMInternal.mm:
44966        * bindings/objc/DOMUtility.mm:
44967        * bindings/objc/WebScriptObject.mm:
44968        * bindings/objc/WebScriptObjectPrivate.h:
44969        * bridge/objc/objc_class.h:
44970        * bridge/objc/objc_instance.h:
44971        * bridge/objc/objc_runtime.h:
44972        * bridge/objc/objc_utility.h:
44973        * bridge/runtime.h:
44974        * bridge/runtime_object.h:
44975        * bridge/runtime_root.h:
44976        * html/HTMLAppletElement.cpp:
44977        * html/HTMLAppletElement.h:
44978        * html/HTMLEmbedElement.cpp:
44979        * html/HTMLEmbedElement.h:
44980        * html/HTMLObjectElement.cpp:
44981        * html/HTMLPlugInElement.cpp:
44982        * html/HTMLPlugInElement.h:
44983        * page/mac/FrameMac.mm:
44984        * page/mac/WebCoreFrameBridge.h:
44985        * page/mac/WebCoreFrameBridge.mm:
44986        * page/mac/WebCoreScriptDebugger.mm:
44987
449882008-03-03  David Hyatt  <hyatt@apple.com>
44989
44990        Full page zoom plumbing.  Add a notion of whether or not a zoom is text only or a full zoom to the
44991        Frame.  setTextSizeMultiplier does a text only zoom.
44992
44993        Reviewed by Tim H.
44994
44995        * page/Frame.cpp:
44996        (WebCore::Frame::zoomFactor):
44997        (WebCore::Frame::isZoomFactorTextOnly):
44998        (WebCore::Frame::setZoomFactor):
44999        (WebCore::FramePrivate::FramePrivate):
45000        * page/Frame.h:
45001        * page/FramePrivate.h:
45002        * page/mac/WebCoreFrameBridge.mm:
45003        (-[WebCoreFrameBridge setTextSizeMultiplier:]):
45004        * svg/SVGSVGElement.cpp:
45005        (WebCore::SVGSVGElement::setCurrentScale):
45006
450072008-03-03  David Hyatt  <hyatt@apple.com>
45008
45009        Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
45010
45011        This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
45012
45013        Make sure not to access position -1 of the size 0 vectors.
45014
45015        Reviewed by ggaren
45016
45017        * rendering/FixedTableLayout.cpp:
45018        (WebCore::FixedTableLayout::layout):
45019
450202008-03-03  David D. Kilzer  <ddkilzer@webkit.org>
45021
45022        Dynamically inserting CSS rule with @media query fails with DOM Exception 12
45023        <http://bugs.webkit.org/show_bug.cgi?id=15986>
45024
45025        Reviewed by Darin.
45026
45027        Allow any valid rule (@font-face, @import, @media, @page or style) to be
45028        parsed when using CSSStyleSheet.insertRule().  Previously only import and
45029        style rules were allowed.  Note that @page rules always throw an exception
45030        because they're not implemented yet, so no test case was added for them.
45031
45032        Tests: fast/css/insertRule-font-face.html
45033               fast/css/insertRule-media.html
45034
45035        * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'.  Renamed
45036        'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
45037
450382008-03-03  Anders Carlsson  <andersca@apple.com>
45039
45040        Reviewed by Sam.
45041
45042        Copy JSC bindings directory over to WebCore/bridge.
45043
45044        * bridge: Copied from ../JavaScriptCore/bindings.
45045
450462008-03-03  Dan Bernstein  <mitz@apple.com>
45047
45048        Reviewed by Darin Adler.
45049
45050        - remove CSSMutableStyleDeclaration::setChanged()'s change type
45051          parameter
45052
45053        * css/CSSMutableStyleDeclaration.cpp:
45054        (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
45055        type parameter and made this function determine the correct change type
45056        based on whether this is an inline style declaration.
45057        (WebCore::CSSMutableStyleDeclaration::setProperty):
45058        * css/CSSMutableStyleDeclaration.h:
45059        (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
45060        method.
45061        (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
45062
450632008-03-03  Darin Adler  <darin@apple.com>
45064
45065        Reviewed by Adam.
45066
45067        - some "cleanup" on the path to removing WebCoreFrameBridge
45068
45069        * WebCore.base.exp: Exported some stuff we either already use or
45070        I am about to use in an upcoming patch.
45071
45072        * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
45073        than project, for future use in WebKit.
45074
45075        * bindings/objc/WebScriptObject.mm: Removed some dead code.
45076
45077        * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
45078        * editing/Editor.cpp: Ditto.
45079
45080        * editing/Editor.h: Removed many unneeded declarations and includes.
45081        Removed the unused userVisibleString function.
45082
45083        * editing/EditorCommand.cpp:
45084        (WebCore::executeYank): Added parameter for triggeringEvent, which no
45085        longer has a default value.
45086        (WebCore::executeYankAndSelect): Ditto.
45087
45088        * editing/mac/EditorMac.mm: Removed userVisibleString.
45089
45090        * page/mac/EventHandlerMac.mm:
45091        (WebCore::isKeyboardOptionTab): Tweaked formattin.
45092
45093        * page/mac/WebCoreFrameBridge.mm:
45094        (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
45095        rather than from the bridge. There's no special value in the bridge's window
45096        method and we can use NSView directly.
45097        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
45098
45099        * platform/graphics/mac/ImageMac.mm:
45100        (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
45101        find the bundle rather than using WebCoreFrameBridge.
45102
45103        * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
45104        * platform/mac/PasteboardMac.mm: Ditto.
45105
45106        * rendering/RenderObject.h:
45107        (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
45108        comparing the clip rectangle.
45109        (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
45110
451112008-03-03  Oliver Hunt  <oliver@apple.com>
45112
45113        Reviewed by Mark Rowe.
45114
45115        Bug 17620: getImageData lies
45116        http://bugs.webkit.org/show_bug.cgi?id=17620
45117
45118        Correct logic to actually iterate over the source row
45119
45120        * platform/graphics/cg/ImageBufferCG.cpp:
45121        (WebCore::ImageBuffer::getImageData):
45122
451232008-03-03  Oliver Hunt  <oliver@apple.com>
45124
45125        Reviewed by Mark Rowe.
45126
45127        Correct incorrect assertion
45128
45129        * platform/graphics/cg/ImageBufferCG.cpp:
45130        (WebCore::ImageBuffer::putImageData):
45131
451322008-03-02  Alp Toker  <alp@atoker.com>
45133
45134        Another fix for non-database builds after changes in r30331.
45135
45136        Conditionalize a stopDatabases() call.
45137
45138        * loader/FrameLoader.cpp:
45139        (WebCore::FrameLoader::stopLoading):
45140
451412008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
45142
45143        Reviewed by Alp Toker.
45144
45145        Scrolling fixes. Implement page scrolling, initialize mouse wheel
45146        event variables, and remove duplicate event binding for TOP
45147        scrolling event.
45148
45149        http://bugs.webkit.org/show_bug.cgi?id=17643
45150
45151        * platform/wx/MouseWheelEventWx.cpp:
45152        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
45153        * platform/wx/ScrollViewWx.cpp:
45154        (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
45155        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
45156
451572008-03-02  Alp Toker  <alp@atoker.com>
45158
45159        Fix building without database support after changes in r30331.
45160
45161        * dom/Document.cpp:
45162
451632008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
45164
45165        wx build fix for Windows after PageWin.cpp move.
45166
45167        * webcore-wx.bkl:
45168
451692008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
45170
45171        Reviewed by Dave Hyatt.
45172
45173        Gracefully handle a CSS rule containing an invalid value.
45174        (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
45175
45176        * css/CSSGrammar.y:
45177
451782008-03-02  Alp Toker  <alp@atoker.com>
45179
45180        Reviewed by Mark Rowe.
45181
45182        Improve the Cairo Path::isEmpty() function
45183
45184        Use cairo_has_current_point() where available.
45185
45186        * platform/graphics/cairo/PathCairo.cpp:
45187        (WebCore::Path::isEmpty):
45188
451892008-03-01  Mark Rowe  <mrowe@apple.com>
45190
45191        Reviewed by Tim Hatcher.
45192
45193        Update Xcode configuration to support building debug and release from the mysterious future.
45194
45195        * Configurations/DebugRelease.xcconfig:
45196
451972008-03-01  Oliver Hunt  <oliver@apple.com>
45198
45199        Reviewed by Sam Weinig.
45200
45201        Bug 16954: Support putImageData
45202        
45203        Implement support for HTML5's putImageData for the CG port.  All other ports
45204        are currently just using stubs for the final blit.
45205
45206        Test: fast/canvas/canvas-putImageData.html
45207
45208        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
45209        (WebCore::JSCanvasRenderingContext2D::putImageData):
45210        * html/CanvasRenderingContext2D.cpp:
45211        (WebCore::CanvasRenderingContext2D::putImageData):
45212        * html/CanvasRenderingContext2D.h:
45213        * platform/graphics/ImageBuffer.h:
45214        * platform/graphics/cairo/ImageBufferCairo.cpp:
45215        * platform/graphics/cg/ImageBufferCG.cpp:
45216        (WebCore::ImageBuffer::putImageData):
45217        * platform/graphics/qt/ImageBufferQt.cpp:
45218        * platform/graphics/wx/ImageBufferWx.cpp:
45219
452202008-03-01  Jon Honeycutt  <jhoneycutt@apple.com>
45221
45222        Reviewed by Darin.
45223
45224        <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
45225        instances
45226
45227        The VLC Netscape plug-in crashes if more than one instance is created.
45228
45229        Added a quirk that disallows a plug-in from having more than one
45230        instance and set this for the VLC plug-in.
45231
45232        In addition, we now sort plug-ins that handle the same MIME
45233        type to choose the most appropriate one. This sorting first sorts by
45234        whether a plug-in has an issue that should put it at the end of the
45235        list, then whether it appears in a "preferred" plug-in directory.
45236
45237        * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
45238        * plugins/PluginDatabase.cpp:
45239        (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
45240        sorting plug-ins; calls PluginPackage::compare().
45241        (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
45242        that handle this MIME type to a list, sort the list, and return the
45243        first item.
45244        (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
45245        that handle this extension to a list, sort the list, and return the MIME
45246        type used by the plug-in at the beginning of the list.
45247        * plugins/PluginDatabase.h:
45248        * plugins/PluginPackage.h:
45249        (WebCore::PluginPackage::version): Added; returns the module version.
45250        * plugins/win/PluginDatabaseWin.cpp:
45251        (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
45252        const.
45253        * plugins/win/PluginPackageWin.cpp:
45254        (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
45255        the end, then plug-ins in preferred directories to the beginning, then
45256        alphabetically by file name, numerically by version, and alphabetically
45257        by parent directory.
45258        (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
45259        instances" quirk for VLC.
45260        (WebCore::PluginPackage::load): Return false if the plug-in library has
45261        already been loaded and the "don't allow multiple instances" quirk is
45262        set.
45263        * platform/gtk/TemporaryLinkStubs.cpp:
45264        (PluginPackage::compare): Added stub.
45265        (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
45266        * platform/qt/TemporaryLinkStubs.cpp:
45267        (PluginPackage::compare): Added stub.
45268        (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
45269        * platform/wx/TemporaryLinkStubs.cpp:
45270        (PluginPackage::compare): Added stub.
45271        (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
45272
452732008-03-01  Sam Weinig  <sam@webkit.org>
45274
45275        Rubber-stamped by Mark Rowe.
45276
45277        Remove reference to the now non-existent bridge directory.
45278
45279        * WebCore.xcodeproj/project.pbxproj:
45280
452812008-03-01  Sam Weinig  <sam@webkit.org>
45282
45283        Reviewed by Darin Adler.
45284
45285        Search the entire prototype chain when doing early prototype lookup in
45286        the Window's getOwnPropertySlot method.
45287
45288        Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
45289
45290        * bindings/js/kjs_window.cpp:
45291        (KJS::Window::getOwnPropertySlot):
45292
452932008-03-01  Nikolas Zimmermann  <zimmermann@kde.org>
45294
45295        Reviewed by Oliver.
45296
45297        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
45298
45299        As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
45300
45301        Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
45302               svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
45303               svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
45304               svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
45305               svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
45306               svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
45307               svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
45308               svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
45309
45310        * svg/SVGForeignObjectElement.cpp:
45311        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
45312        (WebCore::addCSSPropertyAndNotifyAttributeMap):
45313        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
45314        * svg/SVGForeignObjectElement.h:
45315
453162008-02-29  Brady Eidson  <beidson@apple.com>
45317
45318        Reviewed by build-fix karma
45319
45320        Bonehead mistake.  Revert function to previous version for all non-Windows+CFNetwork platforms
45321
45322        * platform/network/ProtectionSpace.cpp:
45323        (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
45324
453252008-02-29  Brady Eidson  <beidson@apple.com>
45326
45327        Reviewed by Darin
45328        
45329        <rdar://problem/5771227> - Incorrect password handling text in credential sheet
45330
45331        * platform/network/ProtectionSpace.cpp:
45332        (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
45333          get "secureness" of the auth challenge instead of figuring it out ourselves
45334
453352008-02-29  Brent Fulgham  <bfulgham@gmail.com>
45336
45337        http://bugs.webkit.org/show_bug.cgi?id=17483
45338        Implement scrollbars on Windows (Cairo)
45339
45340        Reviewed by Adam Roben.
45341
45342        * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
45343          from PlatformScrollBarWinSafari.cpp, then modify to use the
45344          native Windows theme engine.  Use SOFT_LINK.  Use platform
45345          'GetSystemMetrics' call to decide size of scrollbars and buttons.
45346
453472008-02-29  Adam Roben  <aroben@apple.com>
45348
45349        Windows build fix
45350
45351        * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
45352        and the post-build event, and add page/win to each. Also let VS have
45353        its way with the order of the files.
45354        * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
45355        * page/win/GlobalHistoryWin.cpp: Copied from
45356        bridge/win/GlobalHistoryWin.cpp in r30673
45357
453582008-02-29  Anders Carlsson  <andersca@apple.com>
45359
45360        Build fix.
45361
45362        * WebCore.xcodeproj/project.pbxproj:
45363
453642008-02-29  Mark Rowe  <mrowe@apple.com>
45365
45366        Reviewed by Tim Hatcher.
45367
45368        64-bit build fix.
45369
45370        * platform/graphics/mac/SimpleFontDataMac.mm:
45371        (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
45372        FMGetATSFontRefFromFont is not available.
45373
453742008-02-29  Mark Rowe  <mrowe@apple.com>
45375
45376        Build fix.  Only declare pathFromFont in debug builds as it is unused in release builds.
45377
45378        * platform/graphics/mac/SimpleFontDataMac.mm:
45379
453802008-02-29  Anders Carlsson  <andersca@apple.com>
45381
45382        Reviewed by Adam.
45383        
45384        Copy the remaining files in bridge/ over to page/
45385
45386        * WebCore.vcproj/WebCore.vcproj:
45387        * WebCore.xcodeproj/project.pbxproj:
45388        * bridge: Removed.
45389        * bridge/AXObjectCache.h: Removed.
45390        * bridge/EditorClient.h: Removed.
45391        * bridge/GlobalHistory.h: Removed.
45392        * bridge/win: Removed.
45393        * bridge/win/FrameCGWin.cpp: Removed.
45394        * bridge/win/FrameCairoWin.cpp: Removed.
45395        * bridge/win/FrameWin.cpp: Removed.
45396        * bridge/win/FrameWin.h: Removed.
45397        * bridge/win/GlobalHistoryWin.cpp: Removed.
45398        * bridge/win/PageWin.cpp: Removed.
45399        * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
45400        * page/EditorClient.h: Copied from bridge/EditorClient.h.
45401        * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
45402        * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
45403        * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
45404        * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
45405        * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
45406
454072008-02-29  Robert Blaut  <webkit@blaut.biz>
45408
45409        Reviewed by Darin Adler.
45410
45411        - fix http://bugs.webkit.org/show_bug.cgi?id=17532
45412          Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
45413
45414        Test: fast/html/link-rel-stylesheet.html
45415
45416        * html/HTMLLinkElement.cpp:
45417        (WebCore::HTMLLinkElement::process):
45418
454192008-02-29  Mark Rowe  <mrowe@apple.com>
45420
45421        Reviewed by Anders Carlsson.
45422
45423        Replace use of WKPathFromFont with implementation in terms of public API.
45424
45425        * WebCore.base.exp: Remove unused symbol.
45426        * platform/graphics/mac/SimpleFontDataMac.mm:
45427        (WebCore::initFontData):
45428        (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
45429        (WebCore::SimpleFontData::platformInit):
45430        * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
45431        * platform/mac/WebCoreSystemInterface.mm: Ditto.
45432
454332008-02-29  Anders Carlsson  <andersca@apple.com>
45434
45435        Reviewed by Adam.
45436
45437        Move a bunch of files from bridge/mac to page/mac.
45438        
45439        * WebCore.xcodeproj/project.pbxproj:
45440        * bridge/mac: Removed.
45441        * bridge/mac/AXObjectCacheMac.mm: Removed.
45442        * bridge/mac/GlobalHistoryMac.mm: Removed.
45443        * bridge/mac/WebCoreAXObject.h: Removed.
45444        * bridge/mac/WebCoreAXObject.mm: Removed.
45445        * bridge/mac/WebCoreScriptDebugger.h: Removed.
45446        * bridge/mac/WebCoreScriptDebugger.mm: Removed.
45447        * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
45448        * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
45449        * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
45450        * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
45451        * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
45452        * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
45453
454542008-02-29  David Hyatt  <hyatt@apple.com>
45455
45456        Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
45457        guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
45458        been assigned into the document's member variable.
45459
45460        Reviewed by aroben
45461
45462        * css/CSSStyleSelector.cpp:
45463        (WebCore::CSSRuleSet::addRulesFromSheet):
45464        * css/MediaQueryEvaluator.cpp:
45465        (WebCore::MediaQueryEvaluator::eval):
45466        * css/MediaQueryEvaluator.h:
45467
454682008-02-29  David Hyatt  <hyatt@apple.com>
45469
45470        <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
45471
45472        Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
45473        Be more precise in terms of what nodes we mark dirty.
45474
45475        Reviewed by Beth
45476
45477        * css/CSSStyleSelector.cpp:
45478        (WebCore::CSSStyleSelector::checkSelector):
45479        * dom/Element.cpp:
45480        (WebCore::Element::recalcStyle):
45481        (WebCore::checkForSiblingStyleChanges):
45482        (WebCore::Element::childrenChanged):
45483        (WebCore::Element::finishParsingChildren):
45484        * rendering/RenderStyle.cpp:
45485        (WebCore::RenderStyle::RenderStyle):
45486        * rendering/RenderStyle.h:
45487        (WebCore::RenderStyle::childrenAffectedByPositionalRules):
45488        (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
45489        (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
45490
454912008-02-29  Alexey Proskuryakov  <ap@webkit.org>
45492
45493        Reviewed by Darin.
45494
45495        <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
45496
45497        Test: http/tests/xmlhttprequest/status-after-abort.html
45498
45499        * xml/XMLHttpRequest.cpp:
45500        (WebCore::XMLHttpRequest::getStatus):
45501        (WebCore::XMLHttpRequest::getStatusText):
45502        Changed to match Firefox more closely (IE just raises an exception in most of those cases).
45503
455042008-02-29  Dan Bernstein  <mitz@apple.com>
45505
45506        Reviewed by Darin Adler.
45507
45508        - fix a bug where explicit embedding past the end of a line could
45509          affect text that line
45510
45511        Test: fast/text/embed-at-end-of-pre-wrap-line.html
45512
45513        * rendering/bidi.cpp:
45514        (WebCore::RenderBlock::skipWhitespace): Removed calls to
45515        setAdjustEmbedding().
45516        (WebCore::RenderBlock::findNextLineBreak): Added calls to
45517        setAdjustEmbedding() around skipWhitespace() only where needed.
45518
455192008-02-29  Mark Rowe  <mrowe@apple.com>
45520
45521        Reviewed by Oliver Hunt.
45522
45523        Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
45524
45525        * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
45526        * platform/mac/WebCoreSystemInterface.mm: Ditto.
45527        * platform/network/mac/ResourceRequestMac.mm:
45528        (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
45529        * WebCore.Tiger.exp: Move Tiger-only symbol here.
45530        * WebCore.base.exp:
45531
455322008-02-29  Mark Rowe  <mrowe@apple.com>
45533
45534        Rubber-stamped by Eric Seidel.
45535
45536        Remove unneeded includes of WebCoreSystemInterface.h.
45537
45538        * loader/mac/LoaderNSURLExtras.m:
45539        * page/mac/FrameMac.mm:
45540        * page/mac/WebCoreFrameBridge.mm:
45541        * platform/MIMETypeRegistry.cpp:
45542        * platform/graphics/mac/ImageMac.mm:
45543        * platform/mac/PasteboardMac.mm:
45544
455452008-02-29  Mark Rowe  <mrowe@apple.com>
45546
45547        Reviewed by Oliver Hunt and Oliver Hunt.
45548
45549        <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
45550
45551        * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
45552        * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
45553        * platform/mac/WebCoreSystemInterface.mm:  Ditto.
45554        * WebCore.base.exp:  Ditto.
45555
455562008-02-28  Mark Rowe  <mrowe@apple.com>
45557
45558        Reviewed by Dave Hyatt.
45559
45560        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
45561
45562        * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
45563        * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
45564        * WebCore.base.exp:
45565        * platform/graphics/mac/SimpleFontDataMac.mm:
45566        (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
45567        * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
45568        * platform/mac/WebCoreSystemInterface.mm:  Ditto.
45569
455702008-02-28  Matt Lilek  <webkit@mattlilek.com>
45571
45572        Reviewed by Tim Hatcher.
45573
45574        Bug 16535: Stylesheets loaded with @import are not editable
45575        http://bugs.webkit.org/show_bug.cgi?id=16535
45576        <rdar://problem/5712899>
45577
45578        Sheets loaded using @import were incorrectly being flagged as non-editable
45579        user agent sheets because their parent sheet doesn't have an ownerNode. We now
45580        check to make sure sheets also don't have a href before restricting their editability.
45581
45582        * page/inspector/StylesSidebarPane.js:
45583
455842008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
45585
45586        Reviewed by Adam Roben.
45587
45588        Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
45589        Add PluginPackage.cpp to build configurations.
45590        Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
45591        Use cross-platform pathGetFilename method.
45592        Remove platform-specific code from shared PluginPackage implementation.
45593        Remove shared code from PluginPackageWin.cpp.
45594
45595        * GNUmakefile.am:
45596        * WebCore.pro:
45597        * WebCoreSources.bkl:
45598        * WebCore.vcproj/WebCore.vcproj:
45599        * platform/gtk/TemporaryLinkStubs.cpp:
45600        * platform/qt/TemporaryLinkStubs.cpp:
45601        * platform/wx/TemporaryLinkStubs.cpp:
45602        * plugins/PluginPackage.cpp:
45603        * plugins/win/PluginPackageWin.cpp:
45604
456052008-02-28  Justin Garcia  <justin.garcia@apple.com>
45606
45607        Reviewed by Darin Adler.
45608
45609        <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
45610        
45611        Add a second style span at copy time to hold document default styles.  This helps us
45612        differentiate between those and user applied styles at paste time, where we'll want
45613        to let Mail's Paste As Quotation blockquote override document default styles, but
45614        not others.
45615
45616        * css/CSSComputedStyleDeclaration.cpp:
45617        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
45618        for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
45619        are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
45620        type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
45621        an element and that element's inlineStyleDecl(), causing identical values to always appear 
45622        different to diff().
45623        * editing/ReplaceSelectionCommand.cpp:
45624        (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
45625        the class to an empty string, completely remove it, it's no longer needed.
45626        (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
45627        (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
45628        Added, replaces removeRedundantStyles.
45629        We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
45630        unused code and renamed the function.
45631        There won't be more than two style spans that we need to consider, the one with the 
45632        source document's default styles and styles on the commonAncestor of the copied Range, 
45633        so don't look for more than two.
45634        Let elements that wrap the incoming fragment override the source document's styles.
45635        (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
45636        and call the renamed handleStyleSpans.
45637        * editing/ReplaceSelectionCommand.h:
45638        * editing/markup.cpp:
45639        (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
45640        that holds user applied styles, since they'll be added to their own style span.
45641        (WebCore::createMarkup):
45642        Add a second style span that holds just the document defaults. This lets us differentiate
45643        between those and user applied styles at paste time.
45644        Mail blockquotes are just another type of special element, moved their handling there. This
45645        also lets paste code make assumptions about the position of the two style spans (they are 
45646        *always* parent-child).
45647
456482008-02-28  Brent Fulgham <bfulgham@gmail.com>
45649
45650        http://bugs.webkit.org/show_bug.cgi?id=17576
45651        Modify RenderThemeWin to use SOFT_LINK
45652
45653        Reviewed by Adam Roben.
45654
45655        * rendering/RenderThemeWin.h: Remove unneeded library handle
45656        * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
45657          rather than hand-coded load library calls.
45658
456592008-02-28  Dan Bernstein  <mitz@apple.com>
45660
45661        Reviewed by Darin Adler.
45662
45663        - fix http://bugs.webkit.org/show_bug.cgi?id=17590
45664          ASSERTION FAILED: subject in jsRegExpExecute()
45665
45666        * page/mac/FrameMac.mm:
45667        (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
45668        case the element name is empty.
45669
456702008-02-28  Justin Garcia  <justin.garcia@apple.com>
45671
45672        Reviewed by Dan Bernstein
45673        
45674        Small editing speed up.
45675        
45676        * dom/Position.cpp:
45677        (WebCore::Position::upstream): Don't check for a change in editability
45678        if the current node hasn't changed.
45679        (WebCore::Position::downstream): Ditto.
45680
456812008-02-27  Dan Bernstein  <mitz@apple.com>
45682
45683        Reviewed by John Sullivan.
45684
45685        - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
45686
45687        Test: fast/text/soft-hyphen-2.html
45688
45689        * rendering/bidi.cpp:
45690        (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
45691        that if there are two midpoints at the given position, only the last one
45692        will be chopped off.
45693
456942008-02-27  Dan Bernstein  <mitz@apple.com>
45695
45696        Reviewed by Darin Adler.
45697
45698        - make centered text in right-to-left blocks spill over to the left
45699
45700        Test: fast/text/align-center-rtl-spill.html
45701
45702        * rendering/bidi.cpp:
45703        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
45704
457052008-02-27  Dan Bernstein  <mitz@apple.com>
45706
45707        Reviewed by Darin Adler.
45708
45709        - more bidi.cpp cleanup
45710
45711        * platform/text/BidiResolver.h:
45712        (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
45713        (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
45714        here.
45715        (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
45716        addRun().
45717        (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
45718        destroy(), avoiding the need to specialize this method in BidiState.
45719        * rendering/bidi.cpp:
45720        (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
45721        (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
45722        (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
45723        (WebCore::RenderBlock::createLineBoxes): 
45724        (WebCore::RenderBlock::constructLine):
45725        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
45726        (WebCore::RenderBlock::computeVerticalPositionsForLine):
45727        (WebCore::buildCompactRuns):
45728        (WebCore::RenderBlock::layoutInlineChildren):
45729        (WebCore::RenderBlock::determineStartPosition):
45730        (WebCore::RenderBlock::determineEndPosition):
45731        (WebCore::RenderBlock::matchedEndLine):
45732        (WebCore::skipNonBreakingSpace):
45733        (WebCore::RenderBlock::skipWhitespace):
45734        (WebCore::shouldSkipWhitespaceAfterStartObject):
45735        * rendering/bidi.h:
45736        (WebCore::BidiRun): Added m_ prefixes to several member variables. 
45737
457382008-02-27  Sam Weinig  <sam@webkit.org>
45739
45740        Reviewed by Darin.
45741
45742        Fix for <rdar://problem/5768769>
45743
45744        - Don't allow cross-origin calls using window.functionName.call(otherFrame)
45745          syntax.
45746
45747        * bindings/js/JSLocation.cpp:
45748        (WebCore::jsLocationProtoFuncToString): Do same-origin check.
45749        * bindings/js/kjs_window.cpp:
45750        (KJS::windowProtoFuncAToB): Ditto.
45751        (KJS::windowProtoFuncBToA): Ditto.
45752        (KJS::windowProtoFuncOpen): Ditto.
45753        (KJS::windowProtoFuncClearTimeout): Ditto.
45754        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
45755
457562008-02-27  David Hyatt  <hyatt@apple.com>
45757
45758        More cleanup in preparation for fixing the HTML5 spec performance regression.
45759
45760        Reviewed by Sam Weinig
45761
45762        * dom/Attr.cpp:
45763        (WebCore::Attr::childrenChanged):
45764        * dom/Attr.h:
45765        * dom/ContainerNode.cpp:
45766        (WebCore::ContainerNode::insertBefore):
45767        (WebCore::ContainerNode::replaceChild):
45768        (WebCore::ContainerNode::removeChild):
45769        (WebCore::ContainerNode::removeChildren):
45770        (WebCore::ContainerNode::appendChild):
45771        (WebCore::ContainerNode::addChild):
45772        (WebCore::ContainerNode::childrenChanged):
45773        * dom/ContainerNode.h:
45774        * dom/Document.cpp:
45775        (WebCore::Document::childrenChanged):
45776        * dom/Document.h:
45777        * dom/Element.cpp:
45778        (WebCore::Element::childrenChanged):
45779        * dom/Element.h:
45780        * dom/Node.h:
45781        (WebCore::Node::childrenChanged):
45782        * html/HTMLObjectElement.cpp:
45783        (WebCore::HTMLObjectElement::childrenChanged):
45784        * html/HTMLObjectElement.h:
45785        * html/HTMLOptGroupElement.cpp:
45786        (WebCore::HTMLOptGroupElement::childrenChanged):
45787        * html/HTMLOptGroupElement.h:
45788        * html/HTMLOptionElement.cpp:
45789        (WebCore::HTMLOptionElement::childrenChanged):
45790        * html/HTMLOptionElement.h:
45791        * html/HTMLScriptElement.cpp:
45792        (WebCore::HTMLScriptElement::childrenChanged):
45793        * html/HTMLScriptElement.h:
45794        * html/HTMLSelectElement.cpp:
45795        (WebCore::HTMLSelectElement::childrenChanged):
45796        * html/HTMLSelectElement.h:
45797        * html/HTMLStyleElement.cpp:
45798        (WebCore::HTMLStyleElement::childrenChanged):
45799        * html/HTMLStyleElement.h:
45800        * html/HTMLTextAreaElement.cpp:
45801        (WebCore::HTMLTextAreaElement::childrenChanged):
45802        * html/HTMLTextAreaElement.h:
45803        * html/HTMLTitleElement.cpp:
45804        (WebCore::HTMLTitleElement::childrenChanged):
45805        * html/HTMLTitleElement.h:
45806        * svg/SVGClipPathElement.cpp:
45807        (WebCore::SVGClipPathElement::childrenChanged):
45808        * svg/SVGClipPathElement.h:
45809        * svg/SVGDefinitionSrcElement.cpp:
45810        (WebCore::SVGDefinitionSrcElement::childrenChanged):
45811        * svg/SVGDefinitionSrcElement.h:
45812        * svg/SVGFontFaceElement.cpp:
45813        (WebCore::SVGFontFaceElement::childrenChanged):
45814        * svg/SVGFontFaceElement.h:
45815        * svg/SVGFontFaceFormatElement.cpp:
45816        (WebCore::SVGFontFaceFormatElement::childrenChanged):
45817        * svg/SVGFontFaceFormatElement.h:
45818        * svg/SVGFontFaceSrcElement.cpp:
45819        (WebCore::SVGFontFaceSrcElement::childrenChanged):
45820        * svg/SVGFontFaceSrcElement.h:
45821        * svg/SVGFontFaceUriElement.cpp:
45822        (WebCore::SVGFontFaceUriElement::childrenChanged):
45823        * svg/SVGFontFaceUriElement.h:
45824        * svg/SVGGElement.cpp:
45825        (WebCore::SVGGElement::childrenChanged):
45826        * svg/SVGGElement.h:
45827        * svg/SVGGradientElement.cpp:
45828        (WebCore::SVGGradientElement::childrenChanged):
45829        * svg/SVGGradientElement.h:
45830        * svg/SVGMarkerElement.cpp:
45831        (WebCore::SVGMarkerElement::childrenChanged):
45832        * svg/SVGMarkerElement.h:
45833        * svg/SVGMaskElement.cpp:
45834        (WebCore::SVGMaskElement::childrenChanged):
45835        * svg/SVGMaskElement.h:
45836        * svg/SVGPatternElement.cpp:
45837        (WebCore::SVGPatternElement::childrenChanged):
45838        * svg/SVGPatternElement.h:
45839        * svg/SVGStyleElement.cpp:
45840        (WebCore::SVGStyleElement::childrenChanged):
45841        * svg/SVGStyleElement.h:
45842        * svg/SVGStyledElement.cpp:
45843        (WebCore::SVGStyledElement::childrenChanged):
45844        * svg/SVGStyledElement.h:
45845        * svg/SVGTitleElement.cpp:
45846        (WebCore::SVGTitleElement::childrenChanged):
45847        * svg/SVGTitleElement.h:
45848        * svg/SVGUseElement.cpp:
45849        (WebCore::SVGUseElement::childrenChanged):
45850        * svg/SVGUseElement.h:
45851
458522008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
45853
45854        Reviewed by Alexey.
45855
45856        http://bugs.webkit.org/show_bug.cgi?id=17481
45857        Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
45858
45859        Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
45860
45861        * xml/XMLHttpRequest.cpp:
45862        (WebCore::XMLHttpRequest::open):
45863
458642008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
45865
45866        Reviewed, tweaked and landed by ap.
45867
45868        http://bugs.webkit.org/show_bug.cgi?id=17487
45869        HTMLInput mysteriously fails to work if ICU dat file is missing
45870
45871        * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
45872        has been opened.
45873
458742008-02-27  Adam Roben  <aroben@apple.com>
45875
45876        Windows build fix after r30616
45877
45878        * platform/win/ClipboardWin.cpp:
45879
458802008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
45881
45882        Reviewed by Simon.
45883
45884        Small style cleanup, and obvious fix: SVGGElement reacted on
45885        'clipPathUnits' changes, which is a funny copy&paste error.
45886
45887        * svg/SVGGElement.cpp:
45888        (WebCore::SVGGElement::parseMappedAttribute):
45889        (WebCore::SVGGElement::svgAttributeChanged):
45890        (WebCore::SVGGElement::createRenderer):
45891
458922008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
45893
45894        Reviewed by Simon.
45895
45896        Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
45897        Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
45898
45899        * svg/SVGDefsElement.cpp:
45900        (WebCore::SVGDefsElement::createRenderer):
45901        * svg/SVGDefsElement.h:
45902        * svg/SVGDescElement.h:
45903
459042008-02-26  Antti Koivisto  <antti@apple.com>
45905
45906        Reviewed by Darin.
45907
45908        Fix <rdar://problem/5761326>
45909        REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
45910        
45911        Generate better code with VS:
45912        - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
45913        - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
45914        - Add a separate version of the function for cases where error messages are not wanted
45915
45916        * bindings/js/JSDOMWindowCustom.cpp:
45917        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
45918        * bindings/js/kjs_window.cpp:
45919        (KJS::Window::allowsAccessFrom):
45920        (KJS::Window::allowsAccessFromNoErrorMessage):
45921        (KJS::Window::allowsAccessFromPrivate):
45922        (KJS::Window::crossDomainAccessErrorMessage):
45923        * bindings/js/kjs_window.h:
45924
459252008-02-26  Sam Weinig  <sam@webkit.org>
45926
45927        Reviewed by Dave Hyatt.
45928
45929        - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
45930
45931        * GNUmakefile.am:
45932        * WebCore.pro:
45933        * WebCore.vcproj/WebCore.vcproj:
45934        * WebCore.xcodeproj/project.pbxproj:
45935        * WebCoreSources.bkl:
45936        * platform/ArrayImpl.cpp: Removed.
45937        * platform/ArrayImpl.h: Removed.
45938        * platform/DeprecatedArray.h: Removed.
45939        * platform/DeprecatedCString.cpp: Removed.
45940        * platform/DeprecatedCString.h: Removed.
45941        * platform/text/CString.cpp:
45942        (WebCore::CString::length):
45943        * platform/text/CString.h:
45944
459452008-02-26  David Hyatt  <hyatt@apple.com>
45946
45947        Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
45948
45949        Reviewed by Sam Weinig
45950
45951        * dom/Attr.cpp:
45952        (WebCore::Attr::childrenChanged):
45953        * dom/ContainerNode.cpp:
45954        (WebCore::ContainerNode::insertBefore):
45955        (WebCore::ContainerNode::replaceChild):
45956        (WebCore::ContainerNode::removeChild):
45957        (WebCore::ContainerNode::removeChildren):
45958        (WebCore::ContainerNode::appendChild):
45959        (WebCore::ContainerNode::addChild):
45960        (WebCore::ContainerNode::childrenChanged):
45961        * dom/ContainerNode.h:
45962        * dom/EventTargetNode.cpp:
45963        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
45964        * dom/EventTargetNode.h:
45965        * dom/NamedAttrMap.cpp:
45966        (WebCore::NamedAttrMap::addAttribute):
45967        (WebCore::NamedAttrMap::removeAttribute):
45968
459692008-02-26  Darin Adler  <darin@apple.com>
45970
45971        Reviewed by Sam.
45972
45973        - remove use of DeprecatedCString from Windows pasteboard code
45974
45975        * platform/win/ClipboardUtilitiesWin.cpp:
45976        (WebCore::createGlobalData): Added an overload for Vector<char>.
45977        Streamlined the logic a bit.
45978        (WebCore::append): Added. Helper functions for appending to a
45979        Vector<char>.
45980        (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
45981        of DeprecatedCString. Also simplified the logic a bit and used
45982        macros to handle the integer width.
45983        (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
45984        (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
45985        * platform/win/ClipboardUtilitiesWin.h: Update type of return
45986        value from markupToCF_HTML. Did a bit of streamlining too.
45987        * platform/win/ClipboardWin.cpp:
45988        (WebCore::writeURL): Update for above changes.
45989        (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
45990        (WebCore::ClipboardWin::writeRange): Ditto.
45991        * platform/win/PasteboardWin.cpp:
45992        (WebCore::Pasteboard::writeSelection): Ditto.
45993        (WebCore::Pasteboard::writeURL): Ditto.
45994
459952008-02-26  Timothy Hatcher  <timothy@apple.com>
45996
45997        Reviewed by Adam Roben.
45998
45999        <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
46000        source list does not scroll when item at edge is reached (16572)
46001
46002        Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
46003        we were using in utilities.js.
46004
46005        * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
46006        * page/inspector/Resource.js: Ditto.
46007        * page/inspector/inspector.js: Ditto.
46008        * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
46009        of scrollIntoView, so the source line is centered in the view if needed.
46010        * page/inspector/utilities.js: Removed scrollToElement().
46011
460122008-02-26  David Hyatt  <hyatt@apple.com>
46013
46014        Reviewed by Dan
46015
46016        http://bugs.webkit.org/show_bug.cgi?id=17485
46017
46018        Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
46019        Fixes a regression on huffingtonpost.com.
46020
46021        New tests added to fast/inline
46022
46023        * rendering/InlineFlowBox.cpp:
46024        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
46025        (WebCore::InlineFlowBox::placeBoxesVertically):
46026        (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
46027        * rendering/RenderFlow.cpp:
46028        (WebCore::RenderFlow::calcMargins):
46029        * rendering/RenderFlow.h:
46030        * rendering/RenderObject.h:
46031        (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
46032        (WebCore::RenderObject::hasHorizontalBordersOrPadding):
46033        * rendering/bidi.cpp:
46034        (WebCore::getBorderPaddingMargin):
46035        (WebCore::RenderBlock::layoutInlineChildren):
46036        (WebCore::inlineFlowRequiresLineBox):
46037
460382008-02-26  Sam Weinig  <sam@webkit.org>
46039
46040        Fix Windows build.
46041
46042        * platform/text/PlatformString.h:
46043        (WebCore::reverseFind):
46044
460452008-02-26  Dan Bernstein  <mitz@apple.com>
46046
46047        Reviewed by Darin Adler.
46048
46049        - fix http://bugs.webkit.org/show_bug.cgi?id=17555
46050          <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
46051
46052        Test: fast/dynamic/subtree-table-cell-height.html
46053
46054        * rendering/RenderObject.cpp:
46055        (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
46056        height depends on their contents even if the CSS height property is
46057        fixed.
46058
460592008-02-25  Sam Weinig  <sam@webkit.org>
46060
46061        Reviewed by Dan Bernstein.
46062
46063        Make the cleanPath function in CSSStyleSelector more efficient by using
46064        a Vector<UChar>.
46065
46066        * css/CSSStyleSelector.cpp:
46067        (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
46068        of a String.  Also remove unnecessary reverseFind call that could be acomplished
46069        with two compares.
46070        (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
46071        a stack buffer.
46072        * platform/text/PlatformString.h:
46073        (WebCore::find): Make this find generic enough that it can be used for
46074        String::find.
46075        (WebCore::reverseFind): Implement reverseFind so that it can be used
46076        for with a UChar* and length.
46077        * platform/text/StringImpl.cpp:
46078        (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
46079        (WebCore::StringImpl::reverseFind): Ditto,
46080
460812008-02-26  Satoshi Nakagawa  <artension@gmail.com>
46082
46083        Reviewed by Darin. Tweaked and landed by Alexey.
46084
46085        http://bugs.webkit.org/show_bug.cgi?id=17411
46086        Ideographic comma and full stop should be treated as line-breakable characters
46087
46088        Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
46089
46090        * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
46091        * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
46092        Unicode 5.0 that is causing this.
46093
460942008-02-26  Darin Fisher  <darin@chromium.org>
46095
46096        Reviewed by eseidel.  Landed by eseidel
46097
46098        Fix improperly initialized m_isUpToDate member variable.
46099        Fixs 50+ layout tests when run on Tiger.
46100        http://bugs.webkit.org/show_bug.cgi?id=17549
46101
46102        * platform/network/cf/ResourceResponse.h:
46103        (WebCore::ResourceResponse::ResourceResponse):
46104        * platform/network/mac/ResourceResponse.h:
46105        (WebCore::ResourceResponse::ResourceResponse):
46106
461072008-02-25  Dan Bernstein  <mitz@apple.com>
46108
46109        Reviewed by Sam Weinig.
46110
46111        - fix http://bugs.webkit.org/show_bug.cgi?id=17152
46112          Paragraphs indented with :first-letter and text-align CSS render incorrectly
46113
46114        Test: fast/text/apply-start-width-after-skipped-text.html
46115
46116        * rendering/bidi.cpp:
46117        (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
46118        to figure in the padding, border and margin before a text node when the
46119        line begins inside a text node.
46120
461212008-02-25  Kevin Ollivier  <kevino@theolliviers.com>
46122
46123        Windows build fix for wx port.
46124
46125        * loader/FTPDirectoryDocument.cpp:
46126
461272008-02-25  Mark Rowe  <mrowe@apple.com>
46128
46129        Windows build fix.
46130
46131        * platform/network/cf/ResourceResponseCFNet.cpp:
46132        (WebCore::ResourceResponse::platformCompare):  Implement platformCompare for ResourceResponseCFNet.cpp.
46133
461342008-02-25  Beth Dakin  <bdakin@apple.com>
46135
46136        Reviewed by Geoff.
46137
46138        Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 
46139        Document::removePendingSheet() from r30438
46140
46141        r30438 added a call to CachedResource::error() from inside 
46142        Loader::didReceiveData() if a CSS file 4xxs. There was an 
46143        assumption in the loader, though, that either error() would be 
46144        called, or didFinishLoading() would be called, so some work is 
46145        duplicated in each. Now that we are calling an error() on files 
46146        that will also make it to didFinishLoading() (since they succeeded 
46147        in the network layer), we need to make sure we do not duplicate the 
46148        work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 
46149        decrementing the document's pending style sheet counter. 
46150        checkNotify() was still getting called, though, through the normal  
46151        didFinishLoading code path, and the counter was being decremented 
46152        twice. Bad!
46153
46154        * loader/loader.cpp:
46155        (WebCore::Loader::didFinishLoading):
46156        (WebCore::Loader::didReceiveData):
46157
461582008-02-25  Mark Rowe  <mrowe@apple.com>
46159
46160        Fix the Gtk, wx and Qt builds.
46161
46162        * GNUmakefile.am: Add new files.
46163        * WebCore.pro: Ditto.
46164        * WebCoreSources.bkl: Ditto.
46165        * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
46166
461672008-02-25  Darin Fisher  <darin@chromium.org>
46168
46169        Reviewed by Darin Adler.
46170
46171        Eliminate some #ifdefs from headers in platform/network.
46172        http://bugs.webkit.org/show_bug.cgi?id=17210
46173
46174        * WebCore.base.exp:
46175        * WebCore.order:
46176        * WebCore.vcproj/WebCore.vcproj:
46177        * WebCore.xcodeproj/project.pbxproj:
46178        * dom/XMLTokenizer.cpp:
46179        * loader/ResourceLoader.h:
46180        * platform/network/AuthenticationChallenge.cpp: Removed.
46181        * platform/network/AuthenticationChallenge.h: Removed.
46182        * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
46183        (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
46184        (WebCore::AuthenticationChallengeBase::previousFailureCount):
46185        (WebCore::AuthenticationChallengeBase::proposedCredential):
46186        (WebCore::AuthenticationChallengeBase::protectionSpace):
46187        (WebCore::AuthenticationChallengeBase::failureResponse):
46188        (WebCore::AuthenticationChallengeBase::error):
46189        (WebCore::AuthenticationChallengeBase::isNull):
46190        (WebCore::AuthenticationChallengeBase::nullify):
46191        (WebCore::AuthenticationChallengeBase::compare):
46192        * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
46193        (WebCore::AuthenticationChallengeBase::platformCompare):
46194        (WebCore::operator==):
46195        (WebCore::operator!=):
46196        * platform/network/ResourceError.cpp: Removed.
46197        * platform/network/ResourceError.h: Removed.
46198        * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
46199        (WebCore::ResourceErrorBase::lazyInit):
46200        (WebCore::ResourceErrorBase::compare):
46201        * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
46202        (WebCore::ResourceErrorBase::isNull):
46203        (WebCore::ResourceErrorBase::domain):
46204        (WebCore::ResourceErrorBase::errorCode):
46205        (WebCore::ResourceErrorBase::failingURL):
46206        (WebCore::ResourceErrorBase::localizedDescription):
46207        (WebCore::ResourceErrorBase::ResourceErrorBase):
46208        (WebCore::ResourceErrorBase::platformLazyInit):
46209        (WebCore::ResourceErrorBase::platformCompare):
46210        (WebCore::operator==):
46211        * platform/network/ResourceResponseBase.cpp:
46212        (WebCore::ResourceResponseBase::isHTTP):
46213        (WebCore::ResourceResponseBase::url):
46214        (WebCore::ResourceResponseBase::setUrl):
46215        (WebCore::ResourceResponseBase::mimeType):
46216        (WebCore::ResourceResponseBase::setMimeType):
46217        (WebCore::ResourceResponseBase::expectedContentLength):
46218        (WebCore::ResourceResponseBase::setExpectedContentLength):
46219        (WebCore::ResourceResponseBase::textEncodingName):
46220        (WebCore::ResourceResponseBase::setTextEncodingName):
46221        (WebCore::ResourceResponseBase::suggestedFilename):
46222        (WebCore::ResourceResponseBase::setSuggestedFilename):
46223        (WebCore::ResourceResponseBase::httpStatusCode):
46224        (WebCore::ResourceResponseBase::setHTTPStatusCode):
46225        (WebCore::ResourceResponseBase::httpStatusText):
46226        (WebCore::ResourceResponseBase::setHTTPStatusText):
46227        (WebCore::ResourceResponseBase::httpHeaderField):
46228        (WebCore::ResourceResponseBase::setHTTPHeaderField):
46229        (WebCore::ResourceResponseBase::httpHeaderFields):
46230        (WebCore::ResourceResponseBase::isAttachment):
46231        (WebCore::ResourceResponseBase::setExpirationDate):
46232        (WebCore::ResourceResponseBase::expirationDate):
46233        (WebCore::ResourceResponseBase::setLastModifiedDate):
46234        (WebCore::ResourceResponseBase::lastModifiedDate):
46235        (WebCore::ResourceResponseBase::lazyInit):
46236        (WebCore::ResourceResponseBase::compare):
46237        * platform/network/ResourceResponseBase.h:
46238        (WebCore::ResourceResponseBase::ResourceResponseBase):
46239        (WebCore::ResourceResponseBase::platformLazyInit):
46240        (WebCore::ResourceResponseBase::platformCompare):
46241        (WebCore::operator==):
46242        * platform/network/cf/AuthenticationCF.cpp:
46243        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46244        (WebCore::AuthenticationChallenge::platformCompare):
46245        * platform/network/cf/AuthenticationChallenge.h: Added.
46246        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46247        (WebCore::AuthenticationChallenge::sourceHandle):
46248        (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
46249        * platform/network/cf/ResourceError.h: Added.
46250        (WebCore::ResourceError::ResourceError):
46251        * platform/network/cf/ResourceErrorCF.cpp:
46252        (WebCore::ResourceError::ResourceError):
46253        (WebCore::ResourceError::platformLazyInit):
46254        (WebCore::ResourceError::platformCompare):
46255        (WebCore::ResourceError::operator CFStreamError):
46256        * platform/network/cf/ResourceResponse.h:
46257        (WebCore::ResourceResponse::ResourceResponse):
46258        * platform/network/cf/ResourceResponseCFNet.cpp:
46259        (WebCore::ResourceResponse::platformLazyInit):
46260        * platform/network/curl/AuthenticationChallenge.h: Added.
46261        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46262        * platform/network/curl/ResourceError.h: Added.
46263        (WebCore::ResourceError::ResourceError):
46264        * platform/network/curl/ResourceResponse.h:
46265        (WebCore::ResourceResponse::ResourceResponse):
46266        * platform/network/mac/AuthenticationChallenge.h: Added.
46267        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46268        (WebCore::AuthenticationChallenge::sender):
46269        (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
46270        * platform/network/mac/AuthenticationMac.mm:
46271        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46272        (WebCore::AuthenticationChallenge::platformCompare):
46273        * platform/network/mac/ResourceError.h: Added.
46274        (WebCore::ResourceError::ResourceError):
46275        * platform/network/mac/ResourceErrorMac.mm:
46276        (WebCore::ResourceError::platformLazyInit):
46277        (WebCore::ResourceError::platformCompare):
46278        * platform/network/mac/ResourceResponse.h:
46279        (WebCore::ResourceResponse::ResourceResponse):
46280        * platform/network/mac/ResourceResponseMac.mm:
46281        (WebCore::ResourceResponse::platformLazyInit):
46282        (WebCore::ResourceResponse::platformCompare):
46283        * platform/network/qt/AuthenticationChallenge.h: Added.
46284        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
46285        * platform/network/qt/ResourceError.h: Added.
46286        (WebCore::ResourceError::ResourceError):
46287        * platform/network/qt/ResourceResponse.h:
46288        (WebCore::ResourceResponse::ResourceResponse):
46289        * xml/XSLTProcessor.cpp:
46290
462912008-02-25  Anders Carlsson  <andersca@apple.com>
46292
46293        Reviewed by Darin.
46294
46295        Move remaining render style objects over to start with a refcount of 1 and get
46296        rid of DeprecatedDataRef.
46297        
46298        * rendering/DataRef.h:
46299        (WebCore::DataRef::operator*):
46300        (WebCore::DataRef::operator->):
46301        * rendering/RenderStyle.h:
46302        * rendering/SVGRenderStyle.cpp:
46303        (WebCore::SVGRenderStyle::SVGRenderStyle):
46304        * rendering/SVGRenderStyle.h:
46305        (WebCore::SVGRenderStyle::create):
46306        (WebCore::SVGRenderStyle::copy):
46307        * rendering/SVGRenderStyleDefs.cpp:
46308        (StyleFillData::StyleFillData):
46309        (StyleStrokeData::StyleStrokeData):
46310        (StyleStopData::StyleStopData):
46311        (StyleTextData::StyleTextData):
46312        (StyleClipData::StyleClipData):
46313        (StyleMaskData::StyleMaskData):
46314        (StyleMarkerData::StyleMarkerData):
46315        (StyleMiscData::StyleMiscData):
46316        * rendering/SVGRenderStyleDefs.h:
46317        (WebCore::StyleFillData::create):
46318        (WebCore::StyleFillData::copy):
46319        (WebCore::StyleStrokeData::create):
46320        (WebCore::StyleStrokeData::copy):
46321        (WebCore::StyleStopData::create):
46322        (WebCore::StyleStopData::copy):
46323        (WebCore::StyleTextData::create):
46324        (WebCore::StyleTextData::copy):
46325        (WebCore::StyleClipData::create):
46326        (WebCore::StyleClipData::copy):
46327        (WebCore::StyleMaskData::create):
46328        (WebCore::StyleMaskData::copy):
46329        (WebCore::StyleMarkerData::create):
46330        (WebCore::StyleMarkerData::copy):
46331        (WebCore::StyleMiscData::create):
46332        (WebCore::StyleMiscData::copy):
46333
463342008-02-25  Dan Bernstein  <mitz@apple.com>
46335
46336        Reviewed by Dave Hyatt.
46337
46338        - remove file-static BidiRun variables from bidi.cpp
46339
46340        * platform/text/BidiResolver.h:
46341        (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
46342        (WebCore::BidiResolver::logicallyLastRun): Added.
46343        (WebCore::BidiResolver::runCount): Made unsigned.
46344        (WebCore::::reverseRuns): Changed ints to unsigned.
46345        (WebCore::::createBidiRunsForLine): Made this function set
46346        m_logicallyLastRun.
46347        * rendering/RenderBlock.h:
46348        * rendering/bidi.cpp:
46349        (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
46350        (WebCore::RenderBlock::constructLine): Removed unused start parameter
46351        and added run count and first and last run parameters. Replaced end
46352        parameter with lastLine boolean and endObject pointer.
46353        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
46354        and logically last run parameters.
46355        (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
46356        parameter.
46357        (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
46358        variables.
46359        (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
46360        accessors instead of file statics.
46361
463622008-02-25  Rodney Dawes  <dobey@wayofthemonkey.com>
46363
46364        Reviewed by Jon Honeycutt.
46365
46366        http://bugs.webkit.org/show_bug.cgi?id=16924
46367        Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
46368
46369        Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
46370        Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
46371        Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
46372        Add new PluginDatabase.cpp to Windows build.
46373        Add temporary stubs for new PluginDatabase and PluginPackage.
46374        shared classes to GTK+, Qt, and Wx ports.
46375        Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
46376        Remove shared code from PluginDatabaseWin.cpp.
46377        Remove Windows-specific code from PluginDatabase.cpp.
46378        Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
46379        Remove extraneous PluginPackage:: from hash() class method prototype.
46380        Subsume storeFileVersion into PluginPackage::fetchInfo.
46381        Add cross-platform PlatformModuleVersion type definition.
46382        Use PlatformModuleVersion to store the module version.
46383        Rename m_fileVersion[ML]S to m_moduleVersion.
46384        Change compareFileVersion to use PlatformModuleVersion as the argument.
46385        Move PluginView::determineQuirks and m_quirks to PluginPackage.
46386        Updated determineQuirks for the PlatformModuleVersion.
46387
46388        * GNUmakefile.am:
46389        * WebCore.pro:
46390        * WebCoreSources.bkl:
46391        * webcore-base.bkl:
46392        * WebCore.vcproj/WebCore.vcproj:
46393        * Platform/FileSystem.h:
46394        * platform/qt/PlugInInfoStoreQt.cpp:
46395        * platform/gtk/TemporaryLinkStubs.cpp:
46396        * platform/qt/TemporaryLinkStubs.cpp:
46397        * platform/wx/TemporaryLinkStubs.cpp:
46398        * plugins/PluginDatabase.cpp:
46399        * plugins/PluginDatabase.h:
46400        * plugins/win/PluginDatabaseWin.cpp:
46401        * plugins/PluginPackage.h:
46402        * plugins/win/PluginPackageWin.cpp:
46403        * plugins/PluginView.h:
46404        * plugins/win/PluginViewWin.cpp:
46405
464062008-02-25  Anders Carlsson  <andersca@apple.com>
46407
46408        Reviewed by Darin.
46409
46410        Make more style objects start out with a refcount of 1.
46411        
46412        * rendering/RenderStyle.cpp:
46413        (WebCore::StyleSurroundData::StyleSurroundData):
46414        (WebCore::StyleBoxData::StyleBoxData):
46415        (WebCore::StyleVisualData::StyleVisualData):
46416        (WebCore::StyleBackgroundData::StyleBackgroundData):
46417        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
46418        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
46419        (WebCore::StyleInheritedData::StyleInheritedData):
46420        * rendering/RenderStyle.h:
46421        (WebCore::StyleSurroundData::create):
46422        (WebCore::StyleSurroundData::copy):
46423        (WebCore::StyleBoxData::create):
46424        (WebCore::StyleBoxData::copy):
46425        (WebCore::StyleVisualData::create):
46426        (WebCore::StyleVisualData::copy):
46427        (WebCore::StyleBackgroundData::create):
46428        (WebCore::StyleBackgroundData::copy):
46429        (WebCore::StyleBackgroundData::~StyleBackgroundData):
46430        (WebCore::StyleRareNonInheritedData::create):
46431        (WebCore::StyleRareNonInheritedData::copy):
46432        (WebCore::StyleRareInheritedData::create):
46433        (WebCore::StyleRareInheritedData::copy):
46434        (WebCore::StyleInheritedData::create):
46435        (WebCore::StyleInheritedData::copy):
46436
464372008-02-25  Anders Carlsson  <andersca@apple.com>
46438
46439        Reviewed by Darin.
46440
46441        Make some of the refcounted style objects start out with a refcount of 1.
46442
46443        * rendering/DataRef.h:
46444        Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
46445        Change DataRef to use ::create() and ::copy() instead of the constructors.
46446        Change DataRef's pointer to be a RefPtr instead.
46447
46448        * rendering/RenderStyle.cpp:
46449        (WebCore::StyleMarqueeData::StyleMarqueeData):
46450        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
46451        (WebCore::StyleMultiColData::StyleMultiColData):
46452        (WebCore::StyleTransformData::StyleTransformData):
46453        Start with a RefCount of 1.
46454        
46455        * rendering/RenderStyle.h:
46456        * rendering/SVGRenderStyle.h:
46457        Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
46458
464592008-02-25  Darin Adler  <darin@apple.com>
46460
46461        Reviewed by Anders.
46462        Based on a patch by Tim Steele <timsteele41@gmail.com>.
46463
46464        - fix http://bugs.webkit.org/show_bug.cgi?id=17186
46465          Fragment navigation within a page permanently cancels meta refresh
46466
46467        Test: fast/loader/meta-refresh-anchor-click.html
46468
46469        * loader/FrameLoader.cpp:
46470        (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
46471        always do a real load. This makes sure that meta refresh loads are treated as real loads
46472        rather than anchor scrolls. Also tweaked formatting a bit.
46473        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
46474        an alternate way to complete a load, so it needs to start the redirection timer if
46475        redirection has already been scheduled.
46476
464772008-02-25  Dan Bernstein  <mitz@apple.com>
46478
46479        Reviewed by Darin Adler.
46480
46481        - avoid counting spaces in non-justified text
46482
46483        * rendering/bidi.cpp:
46484        Removed file-static numSpaces.
46485        (WebCore::BidiState::addRun): Removed space counting.
46486        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
46487        counting, conditional on the block having the text-align: justify
46488        property value.
46489        (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
46490        numSpaces.
46491
464922008-02-25  Darin Adler  <darin@apple.com>
46493
46494        Requested by Steve.
46495
46496        * platform/graphics/cg/ImageSourceCG.cpp:
46497        (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
46498        variable (because CFSTR is inefficient on Windows).
46499
465002008-02-25  Darin Adler  <darin@apple.com>
46501
46502        Reviewed by Adam.
46503
46504        * WebCore.base.exp: Export blankURL, and sort the file.
46505
465062008-02-25  Simon Hausmann  <hausmann@webkit.org>
46507
46508        Reviewed by Mark Rowe.
46509
46510        Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
46511
46512        * dom/Position.cpp:
46513        * dom/Range.cpp:
46514        * editing/Selection.cpp:
46515        * editing/SelectionController.cpp:
46516        * editing/VisiblePosition.cpp:
46517        * history/HistoryItem.cpp:
46518        * loader/Cache.cpp:
46519        * loader/FTPDirectoryParser.cpp:
46520        * platform/KURL.cpp:
46521        * platform/gtk/FileSystemGtk.cpp:
46522        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
46523        * platform/text/TextCodecLatin1.cpp:
46524        * platform/text/TextCodecUserDefined.cpp:
46525        * rendering/CounterNode.cpp:
46526        * rendering/RenderObject.cpp:
46527
465282008-02-25  Johnny Ding  <johnnyding.webkit@gmail.com>
46529
46530        Reviewed by Darin Adler.
46531
46532        - fix http://bugs.webkit.org/show_bug.cgi?id=17444
46533
46534        In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
46535        whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
46536        and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
46537        to decide whether to save prependingSrc or not. The later behavior is not right
46538        because, in scriptHandler and scriptExecution, even the pendingScripts queue is
46539        empty, the testBit:LoadingExtScript might be TRUE.
46540
46541        Test: fast/tokenizer/nested-multiple-scripts.html
46542
46543        * html/HTMLTokenizer.cpp:
46544        (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
46545        checking state.loadingExtScript().
46546        (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
46547        checking state.loadingExtScript().
46548
465492008-02-24  Darin Adler  <darin@apple.com>
46550
46551        * dom/Document.h: Removed stray duplicate declaration of
46552        RegisteredEventListenerList.
46553
465542008-02-24  Darin Adler  <darin@apple.com>
46555
46556        * dom/Range.cpp:
46557        (WebCore::Range::surroundContents): Removed incorrect comment.
46558        I added it a while ago, and I was just mixed up.
46559
465602008-02-24  Darin Adler  <darin@apple.com>
46561
46562        - quick follow-up to that last check-in
46563
46564        * platform/graphics/cg/ImageSourceCG.cpp:
46565        (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
46566        WebCore::String's == for speed.
46567
465682008-02-24  Michael Knaup  <michael.knaup@mac.com>
46569
46570        Reviewed by Darin.
46571
46572        Bug 8749: XBM rendered incorrectly as black on white
46573
46574        xbm images are now created and rendered using black on a
46575        transparent background (same behavior as in Firefox)
46576
46577        Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
46578
46579        * platform/graphics/cg/ImageSourceCG.cpp:
46580        (WebCore::ImageSource::createFrameAtIndex):
46581
465822008-02-24  Dan Bernstein  <mitz@apple.com>
46583
46584        Reviewed by Darin Adler.
46585
46586        - fix http://bugs.webkit.org/show_bug.cgi?id=17471
46587          REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
46588
46589        Test: http/tests/misc/object-image-error.html
46590
46591        * html/HTMLObjectElement.cpp:
46592        (WebCore::HTMLObjectElement::attach): Added an early return in case
46593        updateFromElement() has changed the object to use fallback content.
46594
465952008-02-24  Dan Bernstein  <mitz@apple.com>
46596
46597        Reviewed by Darin Adler.
46598
46599        - fix float positioning when a float that does not fit on the line is
46600          followed by a float that does
46601
46602        Test: fast/block/float/narrow-after-wide.html
46603
46604        * rendering/bidi.cpp:
46605        (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
46606        more floats on the line once a float that does not fit is encountered.
46607        That float should be pushed to the next line, and so should all floats
46608        that follow, regardless of whether they can fit on the current line.
46609
466102008-02-24  Darin Adler  <darin@apple.com>
46611
46612        Reviewed by Sam.
46613
46614        - fix http://bugs.webkit.org/show_bug.cgi?id=16770
46615          Acid3 expects :visited styled links to restyle on iframe load
46616
46617        Disentangle global history updating from the back/forward history.
46618        There are many cases where we don't want to create a new back/forward
46619        item, but we do still want to add to the global history (used for visited
46620        link coloring) in those cases.
46621
46622        Test: fast/history/subframe-is-visited.html
46623
46624        * loader/FrameLoader.cpp:
46625        (WebCore::FrameLoader::updateGlobalHistory): Renamed from
46626        addHistoryForCurrentLocation and removed the back/forward handling.
46627        (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
46628        bit. Replaced call to addHistoryForCurrentLocation with a call to
46629        addBackForwardItemClippedAtTarget. Added an unconditional call to
46630        updateGlobalHistory.
46631        (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
46632        why doesn't this function update global history?
46633        (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
46634        (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
46635        the client with a call to the new updateGlobalHistory function.
46636        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
46637        the same changes as for updateHistoryForStandardLoad.
46638        * loader/FrameLoader.h: More of the same.
46639
46640        * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
46641        renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
46642
46643        * svg/graphics/SVGImageEmptyClients.h:
46644        (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
46645        match the above.
46646
466472008-02-23  Darin Adler  <darin@apple.com>
46648
46649        Reviewed by Sam.
46650
46651        - fix http://bugs.webkit.org/show_bug.cgi?id=17508
46652          REGRESSION (r30535): mailto regression tests failing
46653
46654        * html/HTMLFormElement.cpp:
46655        (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
46656        trip through String do to the replace operation. It's inefficient, but there's
46657        no real reason to worry about the efficiency of mailto forms, since that feature
46658        is nearly obsolete.
46659
466602008-02-23  Darin Adler  <darin@apple.com>
46661
46662        Reviewed by Sam.
46663
46664        - replace SegmentedString's use of DeprecatedValueList with Deque
46665
46666        Testing indicates this is a slight speed-up for page loading.
46667
46668        * platform/text/SegmentedString.cpp:
46669        (WebCore::SegmentedString::length): Update to use Deque.
46670        (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
46671        (WebCore::SegmentedString::append): Ditto.
46672        (WebCore::SegmentedString::prepend): Ditto.
46673        (WebCore::SegmentedString::advanceSubstring): Ditto.
46674        (WebCore::SegmentedString::toString): Ditto.
46675        * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
46676        class private with a single friend. Change m_sbstrings from a DeprecatedValueList
46677        to a Deque.
46678
466792008-02-23  Darin Adler  <darin@apple.com>
46680
46681        Reviewed by Anders.
46682
46683        - fix http://bugs.webkit.org/show_bug.cgi?id=17506
46684          REGRESSION (r30535): ASSERTION FAILED: i < size()
46685
46686        * loader/TextResourceDecoder.cpp:
46687        (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
46688        the C string here.
46689
466902008-02-23  Matt Lilek  <webkit@mattlilek.com>
46691
46692        Not reviewed, build fix.
46693
46694        * platform/network/cf/FormDataStreamCFNet.cpp:
46695        (WebCore::httpBodyFromRequest):
46696        * plugins/win/PluginViewWin.cpp:
46697        (WebCore::PluginView::handlePost):
46698
466992008-02-23  Dan Bernstein  <mitz@apple.com>
46700
46701        - fix a typo
46702
46703        * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
46704        (WebCore::GlyphPage::fill):
46705        * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
46706        (WebCore::GlyphPage::fill):
46707
467082008-02-23  Dan Bernstein  <mitz@apple.com>
46709
46710        Reviewed by Anders Carlsson.
46711
46712        - fix GlyphPage::fill() logic for partial page fills
46713
46714        * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
46715        (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
46716        work correctly when the length parameter is less than a full page size.
46717        Also updated the comment.
46718        * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
46719        (WebCore::GlyphPage::fill): Ditto.
46720
467212008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
46722
46723        Reviewed by Darin Adler.
46724
46725        Move text drawing into wxcode, as we need platform-dependent
46726        APIs for drawing non-kerned text, which wx doesn't yet have.
46727        (But hopefully will, once these APIs are fleshed out on all
46728        platforms!)
46729
46730        http://bugs.webkit.org/show_bug.cgi?id=17396
46731
46732        * platform/graphics/wx/FontWx.cpp:
46733        (WebCore::Font::drawGlyphs):
46734        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
46735        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
46736        * platform/wx/wxcode/non-kerned-drawing.h: Added.
46737        * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
46738        * webcore-wx.bkl:
46739
467402008-02-23  Darin Adler  <darin@apple.com>
46741
46742        Pointed out by Mitz.
46743
46744        * loader/TextResourceDecoder.cpp:
46745        (WebCore::find): Fix a "==" that was supposed to be ">".
46746        (WebCore::findIgnoringCase): Ditto.
46747
467482008-02-23  Darin Adler  <darin@apple.com>
46749
46750        Reviewed by Sam.
46751
46752        * html/HTMLFormElement.cpp:
46753        (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
46754
467552008-02-23  Darin Adler  <darin@apple.com>
46756
46757        Reviewed by Sam.
46758
46759        - remove all but 1 remaining use of DeprecatedCString
46760        - change FormData to start refcount at 1
46761
46762        * html/HTMLFormElement.cpp:
46763        (WebCore::appendString): Added. Helpers for Vector<char>.
46764        (WebCore::appendEncodedString): Renamed from encodeCString and changed to
46765        append to an existing Vector<char> to cut down a bit on memory allocation.
46766        (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
46767        enc_string with a Vector<char> called encodedData. Change to use the new
46768        FormData::create function.
46769        (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
46770
46771        * loader/TextResourceDecoder.cpp:
46772        (WebCore::find): Added. Helper for searching in char* with length.
46773        (WebCore::findIgnoringCase): Ditto.
46774        (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
46775        when we have a char* with length rather than a null-terminated char*.
46776        (WebCore::findXMLEncoding): Changed to use char* and length rather than
46777        DeprecatedCString. Also fixed some things that would be one-character
46778        buffer overruns in a string that's not null-terminated.
46779        (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
46780        findTextEncoding rather than constructing a CString to pass to the
46781        TextEncodingconstructor.
46782        (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
46783
46784        * platform/network/FormData.cpp:
46785        (WebCore::FormData::FormData): Changed to start refcount at 1.
46786        (WebCore::FormData::create): Added.
46787        (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
46788        * platform/network/FormData.h: Made constructor private. Added create functions.
46789
46790        * platform/network/mac/ResourceRequestMac.mm:
46791        (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
46792        * xml/XMLHttpRequest.cpp:
46793        (WebCore::XMLHttpRequest::send): Ditto.
46794
467952008-02-23  Darin Adler  <darin@apple.com>
46796
46797        Reviewed by Anders.
46798
46799        - http://bugs.webkit.org/show_bug.cgi?id=17067
46800          eliminate attributes parameter from JSObject::put for speed/clarity
46801
46802        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
46803        (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
46804
46805        * bindings/js/JSCanvasPixelArrayCustom.cpp:
46806        (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
46807        (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
46808        CanvasPixelArray object, for consistency with the getter. Removed attributes
46809        argument.
46810
46811        * bindings/js/JSDOMWindowCustom.cpp:
46812        (WebCore::JSDOMWindow::customPut): Removed special case for variable
46813        initialization, which is not needed since that does use put any more.
46814        Removed attributes argument.
46815
46816        * bindings/js/JSEventTargetBase.h:
46817        (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
46818        (WebCore::JSEventTargetBase::put): Ditto.
46819        (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
46820        * bindings/js/JSEventTargetNode.cpp:
46821        (WebCore::JSEventTargetNode::put): Removed attributes argument.
46822        (WebCore::JSEventTargetNode::putValueProperty): Ditto.
46823        * bindings/js/JSEventTargetNode.h: Ditto.
46824        * bindings/js/JSHTMLAppletElementCustom.cpp:
46825        (WebCore::JSHTMLAppletElement::customPut): Ditto.
46826        * bindings/js/JSHTMLEmbedElementCustom.cpp:
46827        (WebCore::JSHTMLEmbedElement::customPut): Ditto.
46828        * bindings/js/JSHTMLInputElementBase.cpp:
46829        (WebCore::JSHTMLInputElementBase::put): Ditto.
46830        (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
46831        * bindings/js/JSHTMLInputElementBase.h: Ditto.
46832        * bindings/js/JSHTMLObjectElementCustom.cpp:
46833        (WebCore::JSHTMLObjectElement::customPut): Ditto.
46834        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
46835        (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
46836        * bindings/js/JSHTMLSelectElementCustom.cpp:
46837        (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
46838        * bindings/js/JSHistoryCustom.cpp:
46839        (WebCore::JSHistory::customPut): Ditto.
46840        * bindings/js/JSLocation.cpp:
46841        (WebCore::JSLocation::put): Ditto.
46842        * bindings/js/JSLocation.h: Ditto.
46843        * bindings/js/JSXMLHttpRequest.cpp:
46844        (WebCore::JSXMLHttpRequest::put): Ditto.
46845        (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
46846        * bindings/js/JSXMLHttpRequest.h: Ditto.
46847
46848        * bindings/js/kjs_dom.cpp:
46849        (WebCore::getRuntimeObject): Changed return type to JSObject*.
46850        * bindings/js/kjs_dom.h: Ditto.
46851
46852        * bindings/js/kjs_events.cpp:
46853        (WebCore::JSClipboard::put): Removed attributes argument.
46854        (WebCore::JSClipboard::putValueProperty): Ditto.
46855        * bindings/js/kjs_events.h: Ditto.
46856
46857        * bindings/js/kjs_html.cpp:
46858        (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
46859        return a JSObject. Used early exit idiom.
46860        (WebCore::runtimeObjectPropertyGetter): Ditto.
46861        (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
46862        (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
46863        that we should put with the property syntax instead of canPut.
46864        (WebCore::runtimeObjectImplementsCall): Ditto.
46865        (WebCore::runtimeObjectCallAsFunction): Ditto.
46866        * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
46867
46868        * bindings/js/kjs_window.cpp:
46869        (KJS::Window::put): Removed attributes argument.
46870        * bindings/js/kjs_window.h: Ditto.
46871
46872        * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
46873        putValueProperty, customPut, and indexSetter.
46874
46875        * html/CanvasPixelArray.h:
46876        (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
46877        function. Before, the checking was done in the JavaScript bindings for set.
46878
468792008-02-23  Brent Fulgham  <bfulgham@gmail.com>
46880
46881        Reviewed by Adam and Darin.
46882
46883        http://bugs.webkit.org/show_bug.cgi?id=17442
46884        Correct the Windows Cairo implementation of GraphicsContext so
46885        that Windows 'WorldTransform' is kept in sync with the Cairo
46886        transormations.
46887
46888        Also corrects an uninitialized variable in the Cairo Windows
46889        image drag handler.
46890
46891        WARNING: NO TEST CASES ADDED OR CHANGED
46892
46893        * platform/graphics/cairo/GraphicsContextCairo.cpp:  Modify
46894          methods to call GraphicsContextPlatformPrivate calls, just
46895          as is done for the CoreGraphics version.  These calls are
46896          nop's for everything but Windows.
46897        (WebCore::GraphicsContext::savePlatformState):
46898        (WebCore::GraphicsContext::restorePlatformState):
46899        (WebCore::GraphicsContext::clip):
46900        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
46901        (WebCore::GraphicsContext::translate):
46902        (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
46903        (WebCore::GraphicsContext::beginTransparencyLayer):
46904        (WebCore::GraphicsContext::endTransparencyLayer):
46905        (WebCore::GraphicsContext::rotate):
46906        (WebCore::GraphicsContext::scale):
46907        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
46908        * platform/graphics/win/GraphicsContextCGWin.cpp:  Move common
46909          code for handling WorldTransform calls to parent class.
46910        * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add common
46911          code for handling WorldTransform calls.
46912          (WebCore::GraphicsContextPlatformPrivate::concatCTM):  Change
46913          implementation so that it only handles WorldTransform.  The
46914          Cairo update is done in GraphicsContextCairo.cpp
46915        * platform/graphics/win/GraphicsContextWin.cpp:  Call platform-private
46916          methods to keep WorldTransform in sync.
46917        (WebCore::GraphicsContextPlatformPrivate::save):
46918        (WebCore::GraphicsContextPlatformPrivate::restore):
46919        (WebCore::GraphicsContextPlatformPrivate::clip):
46920        (WebCore::GraphicsContextPlatformPrivate::scale):
46921        (WebCore::GraphicsContextPlatformPrivate::rotate):
46922        (WebCore::GraphicsContextPlatformPrivate::translate):
46923        * platform/win/DragImageCairoWin.cpp:
46924        (WebCore::createDragImageFromImage):  Correct uninitialized value
46925
469262008-02-23  Dan Bernstein  <mitz@apple.com>
46927
46928        Reviewed by Dave Hyatt.
46929
46930        - make non-autowrapping text clear floats
46931
46932        Test: fast/text/whitespace/nowrap-clear-float.html
46933
46934        * rendering/RenderBlock.cpp:
46935        (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
46936        this and changed to avoid comparing bottom to 0 in each iteration.
46937        (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
46938        * rendering/RenderBlock.h:
46939        * rendering/bidi.cpp:
46940        (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
46941        findNextLineBreak() and simplified.
46942        (WebCore::RenderBlock::findNextLineBreak): Changed to call
46943        fitBelowFloats(). Fixed the bug by trying to fit below floats in the
46944        case of non-wrapping text. Removed some redundancy.
46945
469462008-02-23  Sam Weinig  <sam@webkit.org>
46947
46948        Reviewed by Oliver Hunt.
46949
46950        Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
46951        Speed up DOM lists array subscription syntax by using the fast 
46952        getOwnPropertySlot and set paths
46953
46954        - 6x speed improvement on Oliver's ImageData put test.
46955
46956        * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
46957        and put when an indexGetter or indexSetter is used.  We can not use the fast
46958        path if an overridingNameGetter is used as there would be no way to override.
46959
469602008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
46961
46962        wx build fix after JSImageData.cpp was added.
46963
46964        * WebCoreSources.bkl:
46965
469662008-02-23  Alexey Proskuryakov  <ap@webkit.org>
46967
46968        Windows build fix - move ThreadCondition implementation from WebCore to WTF.
46969
46970        * WebCore.vcproj/WebCore.vcproj:
46971        * platform/win/ThreadConditionWin.cpp: Removed.
46972
469732008-02-23  Alexey Proskuryakov  <ap@webkit.org>
46974
46975        Reviewed by Darin.
46976
46977        Move basic threading support from WebCore to WTF.
46978
46979        One call that remains in WebCore is callOnMainThread(), and it has its own header now.
46980
46981        * ForwardingHeaders/wtf/Locker.h: Added.
46982        * ForwardingHeaders/wtf/MessageQueue.h: Added.
46983        * ForwardingHeaders/wtf/Threading.h: Added.
46984        * GNUmakefile.am:
46985        * WebCore.pro:
46986        * WebCore.vcproj/WebCore.vcproj:
46987        * WebCore.xcodeproj/project.pbxproj:
46988        * WebCoreSources.bkl:
46989        * bindings/js/JSCustomSQLTransactionCallback.cpp:
46990        * dom/XMLTokenizer.cpp:
46991        * loader/icon/IconDatabase.cpp:
46992        (WebCore::iconDatabase):
46993        * loader/icon/IconDatabase.h:
46994        * platform/Locker.h: Removed.
46995        * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
46996        (WebCore::initializeThreadingAndMainThread):
46997        * platform/MessageQueue.h: Removed.
46998        * platform/SecurityOrigin.h:
46999        * platform/Threading.h: Removed.
47000        * platform/ThreadingNone.cpp: Removed.
47001        * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
47002        * platform/gtk/ThreadingGtk.cpp: Removed.
47003        * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
47004        * platform/mac/Threading.mm: Removed.
47005        * platform/pthreads: Removed.
47006        * platform/pthreads/ThreadingPthreads.cpp: Removed.
47007        * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
47008        * platform/qt/ThreadingQt.cpp: Removed.
47009        * platform/sql/SQLValue.h:
47010        * platform/sql/SQLiteAuthorizer.h:
47011        * platform/sql/SQLiteDatabase.h:
47012        * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
47013        (WebCore::initializeThreadingAndMainThread):
47014        * platform/win/MutexWin.cpp: Removed.
47015        * platform/win/ThreadingWin.cpp: Removed.
47016        * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
47017        * platform/wx/ThreadingWx.cpp: Removed.
47018        * storage/Database.cpp:
47019        (WebCore::Database::Database):
47020        * storage/Database.h:
47021        * storage/DatabaseTask.h:
47022        * storage/DatabaseThread.h:
47023        * storage/DatabaseTracker.cpp:
47024        * storage/OriginQuotaManager.h:
47025        * storage/SQLError.h:
47026        * storage/SQLResultSet.h:
47027        * storage/SQLStatement.h:
47028        * storage/SQLStatementCallback.h:
47029        * storage/SQLStatementErrorCallback.h:
47030        * storage/SQLTransaction.h:
47031        * storage/SQLTransactionCallback.h:
47032        * storage/SQLTransactionErrorCallback.h:
47033        * webcore-wx.bkl:
47034
470352008-02-23  David Kilzer  <ddkilzer@apple.com>
47036
47037        Please clarify licensing for some files
47038        <http://bugs.webkit.org/show_bug.cgi?id=14970>
47039
47040        Reviewed by Darin.
47041
47042        * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
47043        * bindings/objc/WebScriptObjectPrivate.h: Ditto.
47044        * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
47045
470462008-02-22  Justin Garcia  <justin.garcia@apple.com>
47047
47048        Reviewed by Anders Carlsson.
47049
47050        <rdar://problem/5714333> Add document.getSelection()
47051        
47052        Add a synonym for window.getSelection() that FF supports.  There were requests in
47053        this bugs dupes to also support the IE only document.selection, but IE's Selection
47054        object is too different than ours currently for that to be safe (specifically, we
47055        don't support enough of IE's TextRange methods on our DOM Range object yet). I
47056        filed <rdar://problem/5761233> to cover that.
47057
47058        * dom/Document.cpp:
47059        (WebCore::Document::getSelection): Added.
47060        * dom/Document.h:
47061        * dom/Document.idl: Ditto.  JS only since this is about web compatibility.
47062
470632008-02-22  Oliver Hunt  <oliver@apple.com>
47064
47065        WX build fixes
47066
47067        * WebCoreSources.bkl:
47068
470692008-02-22  Oliver Hunt  <oliver@apple.com>
47070
47071        Once more with the cairo/qt/wx build fixing
47072
47073        * platform/graphics/cairo/ImageBufferCairo.cpp:
47074        * platform/graphics/qt/ImageBufferQt.cpp:
47075        * platform/graphics/wx/ImageBufferWx.cpp:
47076
470772008-02-22  Mark Rowe  <mrowe@apple.com>
47078
47079        Windows build fix.  Add missing include of DeprecatedCString.h and sort existing includes.
47080
47081        * platform/win/PasteboardWin.cpp:
47082
470832008-02-22  Mark Rowe  <mrowe@apple.com>
47084
47085        Speculative Windows build fix.
47086
47087        * platform/win/ClipboardUtilitiesWin.cpp:  Add missing include of DeprecatedCString.h and sort existing includes.
47088        * platform/win/ClipboardWin.cpp:  Ditto.
47089
470902008-02-22  Oliver Hunt  <oliver@apple.com>
47091
47092        Build fix for windows, wx and qt
47093
47094        * html/CanvasPixelArray.h:
47095        (WebCore::CanvasPixelArray::set):
47096
470972008-02-22  Oliver Hunt  <oliver@apple.com>
47098
47099        Unbreak windows vcproj
47100
47101        * WebCore.vcproj/WebCore.vcproj:
47102
471032008-02-22  Oliver Hunt  <oliver@apple.com>
47104
47105        Reviewed by Sam W.
47106
47107        Support Canvas.getImageData and Canvas.createImageData
47108        
47109        This patch adds support for all the pixel reading portions
47110        of the HTML5 Canvas spec.  There are two new types ImageData
47111        and CanvasPixelArray which are used to provide the HTML5
47112        ImageData object, and the required semantics for assignment
47113        to the ImageData data array.
47114        
47115        We only implement the CG version of ImageBuffer::getImageData,
47116        but the logic is null safe, so this will not introduce any
47117        crashes into other platforms, unfortunately it will result in
47118        JS Object detection "lying" on non-CG platforms.
47119
47120        Tests: fast/canvas/canvas-ImageData-behaviour.html
47121               fast/canvas/canvas-getImageData.html
47122
47123        * DerivedSources.make:
47124        * GNUmakefile.am:
47125        * WebCore.pro:
47126        * WebCore.vcproj/WebCore.vcproj:
47127        * WebCore.xcodeproj/project.pbxproj:
47128        * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
47129        (WebCore::JSCanvasPixelArray::indexGetter):
47130        (WebCore::JSCanvasPixelArray::indexSetter):
47131        (WebCore::toJS):
47132        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
47133        * bindings/scripts/CodeGeneratorJS.pm:
47134        * html/CanvasPixelArray.cpp: Added.
47135        (WebCore::CanvasPixelArray::create):
47136        * html/CanvasPixelArray.h: Added.
47137        (WebCore::CanvasPixelArray::data):
47138        (WebCore::CanvasPixelArray::length):
47139        (WebCore::CanvasPixelArray::set):
47140        (WebCore::CanvasPixelArray::get):
47141        * html/CanvasPixelArray.idl: Added.
47142        * html/CanvasRenderingContext2D.cpp:
47143        (WebCore::createEmptyImageData):
47144        (WebCore::CanvasRenderingContext2D::createImageData):
47145        (WebCore::CanvasRenderingContext2D::getImageData):
47146        * html/CanvasRenderingContext2D.h:
47147        * html/CanvasRenderingContext2D.idl:
47148        * html/HTMLCanvasElement.cpp:
47149        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
47150        (WebCore::HTMLCanvasElement::createImageBuffer):
47151        * html/HTMLCanvasElement.h:
47152        * html/ImageData.cpp: Added.
47153        (WebCore::ImageData::create):
47154        (WebCore::ImageData::ImageData):
47155        * html/ImageData.h: Added.
47156        (WebCore::ImageData::width):
47157        (WebCore::ImageData::height):
47158        (WebCore::ImageData::data):
47159        * html/ImageData.idl: Added.
47160        * platform/graphics/ImageBuffer.h:
47161        * platform/graphics/cairo/ImageBufferCairo.cpp:
47162        (WebCore::ImageBuffer::getImageData):
47163        * platform/graphics/cg/ImageBufferCG.cpp:
47164        (WebCore::ImageBuffer::getImageData):
47165        * platform/graphics/qt/ImageBufferQt.cpp:
47166        (WebCore::ImageBuffer::getImageData):
47167        * platform/graphics/wx/ImageBufferWx.cpp:
47168        (WebCore::ImageBuffer::getImageData):
47169
471702008-02-22  Sam Weinig  <sam@webkit.org>
47171
47172        Rubber-stamped by Adam Roben.
47173
47174        Rid the project of the Devil known as DeprecatedString!
47175
47176        * GNUmakefile.am:
47177        * WebCore.base.exp:
47178        * WebCore.pro:
47179        * WebCore.vcproj/WebCore.vcproj:
47180        * WebCore.xcodeproj/project.pbxproj:
47181        * WebCoreSources.bkl:
47182        * dom/Node.h:
47183        * html/HTMLFormElement.cpp:
47184        * platform/DeprecatedString.cpp: Removed.
47185        * platform/DeprecatedString.h: Removed.
47186        * platform/graphics/qt/IconQt.cpp:
47187        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47188        * platform/gtk/CookieJarGtk.cpp:
47189        * platform/gtk/CursorGtk.cpp:
47190        * platform/gtk/KeyEventGtk.cpp:
47191        * platform/mac/DeprecatedStringMac.mm: Removed.
47192        * platform/network/qt/ResourceHandleQt.cpp:
47193        * platform/network/win/CookieJarWin.cpp:
47194        (WebCore::cookies):
47195        * platform/qt/ClipboardQt.cpp:
47196        * platform/qt/CookieJarQt.cpp:
47197        * platform/qt/CursorQt.cpp:
47198        * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
47199        * platform/text/AtomicString.cpp:
47200        * platform/text/AtomicString.h:
47201        * platform/text/PlatformString.h:
47202        * platform/text/String.cpp:
47203        * platform/text/StringImpl.cpp:
47204        * platform/text/qt/StringQt.cpp:
47205        (WebCore::String::String):
47206        * platform/text/wx/StringWx.cpp:
47207        * platform/win/BString.cpp:
47208        * platform/win/BString.h:
47209        * platform/win/PasteboardWin.cpp:
47210
472112008-02-22  Sam Weinig  <sam@webkit.org>
47212
47213        Reviewed by Geoff Garen.
47214
47215        - Remove use of DeprecatedString in CSSStyleSelector.
47216
47217        * css/CSSStyleSelector.cpp:
47218        (WebCore::findHash): Removed.  Use find instead.
47219        (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
47220        (WebCore::findSlashSlash): Ditto.
47221        (WebCore::findSlashDotSlash): Ditto.
47222        (WebCore::containsColonSlashSlash): Ditto.
47223        (WebCore::cleanPath): Change to operate on a String.
47224        (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
47225
472262008-02-22  Geoffrey Garen  <ggaren@apple.com>
47227
47228        Reviewed by Sam Weinig.
47229        
47230        Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
47231        associated objects @ www.viamichelin.it, which was probably an underlying
47232        cause of <rdar://problem/5744037> Gmail out of memory (17455)
47233        
47234        If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
47235        the XMLHttpRequest but think we hadn't, therefore never
47236        calling deref() / gcUnprotect().
47237        
47238        This could happen at gmail.com, since gmail.com attempts to send
47239        XMLHttpRequests from unload handlers in order to gather usage statistics.
47240        (According to comments in the code, SubresourceLoader::create returns
47241        NULL when called from an unload handler.)
47242
47243        The solution is to ref() / gcProtect() only if SubresourceLoader::create
47244        doesn't return NULL. This make sense, since we only need to protect the
47245        request as long as it has an outstanding network transaction.
47246        
47247        * xml/XMLHttpRequest.cpp:
47248        (WebCore::XMLHttpRequest::XMLHttpRequest):
47249        (WebCore::XMLHttpRequest::send):
47250
472512008-02-22  Darin Adler  <darin@apple.com>
47252
47253        Reviewed, tweaked and landed by Sam.
47254
47255        - Make RegularExpression operate on Strings instead of DeprecatedStrings.
47256
47257        * dom/DOMImplementation.cpp:
47258        (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
47259        to build up the RegularExpression.
47260        * page/Frame.cpp:
47261        (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
47262        (WebCore::Frame::searchForLabelsAboveCell): Ditto.
47263        (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
47264        (WebCore::Frame::matchLabelsAgainstElement): Ditto.
47265        * page/Frame.h:
47266        * page/mac/FrameMac.mm:
47267        (WebCore::regExpForLabels): Ditto.
47268        (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
47269        (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
47270        (WebCore::Frame::matchLabelsAgainstElement): Ditto.
47271
47272        * platform/text/RegularExpression.cpp:
47273        (WebCore::RegularExpression::Private::Private):
47274        (WebCore::RegularExpression::Private::compile):
47275        (WebCore::RegularExpression::RegularExpression):
47276        (WebCore::RegularExpression::operator=):
47277        (WebCore::RegularExpression::pattern):
47278        (WebCore::RegularExpression::match):
47279        (WebCore::RegularExpression::search):
47280        (WebCore::RegularExpression::searchRev):
47281        (WebCore::replace): Added.
47282        * platform/text/RegularExpression.h:
47283        Change functions to take Strings as input instead of DeprecatedStrings and
47284        reduce the complexity of the class by removing unneeded globbing support.
47285
472862008-02-22  Jon Honeycutt  <jhoneycutt@apple.com>
47287
47288        Reviewed by Anders.
47289
47290        <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
47291        during stress test (after only 5 min) - null dereference
47292
47293        Full-frame plug-ins create PluginStream objects without loaders, as the
47294        PluginView receives the loading callbacks. We were trying to call
47295        setDefersLoading on these null pointers.
47296
47297        * plugins/PluginStream.cpp:
47298        (WebCore::PluginStream::startStream): Add null check.
47299        (WebCore::PluginStream::destroyStream): Same.
47300        (WebCore::PluginStream::deliverData): Same.
47301
473022008-02-22  Darin Adler  <darin@apple.com>
47303
47304        Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
47305
47306        - Remove uses of DeprecatedString in Windows plugin code.
47307
47308        * plugins/win/PluginPackageWin.cpp:
47309        (WebCore::getVersionInfo): Cleanup formatting.
47310        (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
47311        (WebCore::PluginPackage::storeFileVersion): Move casts.
47312        (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
47313        use of Vectors.
47314        (WebCore::PluginPackage::load): Fix whitespace.
47315        (WebCore::PluginPackage::hash): Make the hashCodes const
47316        * plugins/win/PluginViewWin.cpp:
47317        (WebCore::makeURL): Use String instead of DeprecatedString.
47318        (WebCore::parseRFC822HeaderFields): Ditto.
47319        (WebCore::PluginView::handlePost): Ditto.
47320        (WebCore::PluginView::status): Ditto.
47321
473222008-02-22  Darin Adler  <darin@apple.com>
47323
47324        Reviewed, tweaked and landed by Sam.
47325
47326        - Don't use DeprecatedString in HTMLTokenizer.
47327
47328        * html/HTMLTokenizer.cpp:
47329        (WebCore::HTMLTokenizer::finish):
47330        * platform/text/PlatformString.h:
47331        (WebCore::find):
47332
473332008-02-21  Sam Weinig  <sam@webkit.org>
47334
47335        Reviewed by Anders Carlsson.
47336
47337        Fix for <rdar://problem/5757946>
47338
47339        - Parse URLs before checking whether they are javascript: urls
47340          (which require security checks).
47341
47342        * bindings/js/JSAttrCustom.cpp:
47343        (WebCore::JSAttr::setValue):
47344        * bindings/js/JSElementCustom.cpp:
47345        (WebCore::allowSettingSrcToJavascriptURL):
47346        * bindings/js/JSHTMLFrameElementCustom.cpp:
47347        (WebCore::allowSettingJavascriptURL):
47348        * bindings/js/JSHTMLIFrameElementCustom.cpp:
47349        (WebCore::JSHTMLIFrameElement::setSrc):
47350
473512008-02-21  Ada Chan  <adachan@apple.com>
47352
47353        <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
47354        We could get a buffer overrun in DeprecatedCString::find() if the end of the
47355        string matches a beginning portion of the substring, for example, if string is
47356        "a" but the substring is "ab".
47357        The code as is also will not match things correctly under certain situations
47358        since the inner while loop increments the index. For example, we wouldn't find
47359        a match if the string is "aab..." and the substring is "ab".  Changed the 
47360        inner while loop to increment a temporary index into str.
47361        
47362        Test: fast/loader/charset-parse.html
47363
47364        Reviewed by Dan Berstein.
47365
47366        * platform/DeprecatedCString.cpp:
47367        (WebCore::DeprecatedCString::find):
47368
473692008-02-21  David Hyatt  <hyatt@apple.com>
47370
47371        Fix for bug 17301.  CSS media queries need to use the correct viewport
47372        when contained in documents inside iframes (rather than always using the
47373        top-level document's viewport).  CSS media queries based on the viewport
47374        also needed to be dynamic and update as you resize the window (this is
47375        a HOT feature). :)
47376
47377        This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
47378
47379        Reviewed by olliej
47380
47381        Added fast/media/viewport-media-query.html
47382
47383        * css/CSSStyleSelector.cpp:
47384        (WebCore::CSSStyleSelector::CSSStyleSelector):
47385        (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
47386        (WebCore::CSSStyleSelector::affectedByViewportChange):
47387        * css/CSSStyleSelector.h:
47388        (WebCore::MediaQueryResult::MediaQueryResult):
47389        * css/MediaQueryEvaluator.cpp:
47390        (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
47391        (WebCore::MediaQueryEvaluator):
47392        (WebCore::MediaQueryEvaluator::eval):
47393        (WebCore::colorMediaFeatureEval):
47394        (WebCore::monochromeMediaFeatureEval):
47395        (WebCore::device_aspect_ratioMediaFeatureEval):
47396        (WebCore::device_pixel_ratioMediaFeatureEval):
47397        (WebCore::gridMediaFeatureEval):
47398        (WebCore::device_heightMediaFeatureEval):
47399        (WebCore::device_widthMediaFeatureEval):
47400        (WebCore::heightMediaFeatureEval):
47401        (WebCore::widthMediaFeatureEval):
47402        (WebCore::min_colorMediaFeatureEval):
47403        (WebCore::max_colorMediaFeatureEval):
47404        (WebCore::min_monochromeMediaFeatureEval):
47405        (WebCore::max_monochromeMediaFeatureEval):
47406        (WebCore::min_device_aspect_ratioMediaFeatureEval):
47407        (WebCore::max_device_aspect_ratioMediaFeatureEval):
47408        (WebCore::min_device_pixel_ratioMediaFeatureEval):
47409        (WebCore::max_device_pixel_ratioMediaFeatureEval):
47410        (WebCore::min_heightMediaFeatureEval):
47411        (WebCore::max_heightMediaFeatureEval):
47412        (WebCore::min_widthMediaFeatureEval):
47413        (WebCore::max_widthMediaFeatureEval):
47414        (WebCore::min_device_heightMediaFeatureEval):
47415        (WebCore::max_device_heightMediaFeatureEval):
47416        (WebCore::min_device_widthMediaFeatureEval):
47417        (WebCore::max_device_widthMediaFeatureEval):
47418        * css/MediaQueryEvaluator.h:
47419        * css/MediaQueryExp.cpp:
47420        (WebCore::MediaQueryExp::~MediaQueryExp):
47421        * css/MediaQueryExp.h:
47422        (WebCore::MediaQueryExp::value):
47423        (WebCore::MediaQueryExp::isViewportDependent):
47424        * html/HTMLMediaElement.cpp:
47425        (WebCore::HTMLMediaElement::pickMedia):
47426        * page/FrameView.cpp:
47427        (WebCore::FrameView::layout):
47428
474292008-02-21  Anders Carlsson  <andersca@apple.com>
47430
47431        Reviewed by Sam.
47432
47433        Make more classes start out with a refcount of 1.
47434
47435        * dom/QualifiedName.cpp:
47436        (WebCore::QNameComponentsTranslator::translate):
47437        (WebCore::QualifiedName::QualifiedName):
47438        * dom/QualifiedName.h:
47439        (WebCore::QualifiedName::QualifiedNameImpl::create):
47440        (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
47441        * history/BackForwardList.cpp:
47442        (WebCore::BackForwardList::BackForwardList):
47443        * history/BackForwardList.h:
47444        (WebCore::BackForwardList::create):
47445        * page/Page.cpp:
47446        (WebCore::Page::Page):
47447        * platform/text/CString.cpp:
47448        (WebCore::CString::init):
47449        (WebCore::CString::newUninitialized):
47450        (WebCore::CString::copyBufferIfNeeded):
47451        * platform/text/CString.h:
47452        (WebCore::CStringBuffer::create):
47453        (WebCore::CStringBuffer::CStringBuffer):
47454
474552008-02-21  Kevin Ollivier  <kevino@theolliviers.com>
47456
47457        wx build fix for the domString() -> string() rename in r30443.
47458
47459        * platform/graphics/wx/FontPlatformDataWx.cpp:
47460        (WebCore::FontPlatformData::FontPlatformData):
47461
474622008-02-21  Antti Koivisto  <antti@apple.com>
47463
47464        Reviewed by Sam Weinig.
47465
47466        <rdar://problem/5753789>
47467        REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
47468        
47469        Ensure all versions of allowsAccessFrom are inlined to single functions. 
47470        This is a 2% win in browser hosted Sunspider. 
47471
47472        * bindings/js/kjs_window.cpp:
47473        (KJS::Window::allowsAccessFrom):
47474        (KJS::Window::allowsAccessFromPrivate):
47475        * bindings/js/kjs_window.h:
47476
474772008-02-21  Dan Bernstein  <mitz@apple.com>
47478
47479        Reviewed by Sam Weinig.
47480
47481        - minor cleanup
47482
47483        * rendering/bidi.cpp:
47484        (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
47485        true for RenderLineBreak.
47486        (WebCore::bidiFirst): Ditto.
47487        (WebCore::shouldSkipWhitespaceAfterStartObject):
47488        (WebCore::RenderBlock::findNextLineBreak):
47489
474902008-02-21  Geoffrey Garen  <ggaren@apple.com>
47491
47492        Reviewed by David Harrison.
47493        
47494        Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 
47495        WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
47496
47497        Test: fast/dom/script-element-without-frame-crash.html
47498
47499        * html/HTMLTokenizer.cpp:
47500        (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
47501        accidentally removed in r30325.
47502
475032008-02-21  Rodney Dawes  <dobey@wayofthemonkey.com>
47504
47505        GTK+ build fix. s/domString()/string()/
47506
47507        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
47508        (FontPlatformData::FontPlatformData):
47509
475102008-02-20  Dan Bernstein  <mitz@apple.com>
47511
47512        Reviewed by Dave Hyatt.
47513
47514        - fix http://bugs.webkit.org/show_bug.cgi?id=17465
47515          REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
47516
47517        Test: fast/tokenizer/doctype-search-reset.html
47518
47519        * html/HTMLTokenizer.cpp:
47520        (WebCore::HTMLTokenizer::parseTag):
47521
475222008-02-20  Dan Bernstein  <mitz@apple.com>
47523
47524        Reviewed by Dave Hyatt.
47525
47526        - fix http://bugs.webkit.org/show_bug.cgi?id=17464
47527          REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
47528
47529        Test: fast/text/wbr-in-pre-crash.html
47530
47531        * rendering/bidi.cpp:
47532        (WebCore::RenderBlock::findNextLineBreak):
47533
475342008-02-20  Oliver Hunt  <oliver@apple.com>
47535
47536        Reviewed by Hyatt.
47537
47538        Bug 17303: Canvas crash in ImageBuffer
47539
47540        We handle a null GraphicsContext everywhere, but we weren't checking for 
47541        a null ImageBuffer, which is what will result in a null GraphicsContext in
47542        the first place.
47543
47544        Test: fast/canvas/access-zero-sized-canvas.html
47545
47546        * html/HTMLCanvasElement.cpp:
47547
475482008-02-20  David Hyatt  <hyatt@apple.com>
47549
47550        Fix the layout test failure that never should have passed in the first
47551        place by making changes to media lists actually result in the recomputation
47552        of the style selector.  Now it passes for the right reasons and not because
47553        of dumb luck.
47554
47555        Reviewed by Sam Weinig
47556
47557        * css/MediaList.cpp:
47558        (WebCore::MediaList::deleteMedium):
47559        (WebCore::MediaList::setMediaText):
47560        (WebCore::MediaList::appendMedium):
47561        (WebCore::MediaList::notifyChanged):
47562        * css/MediaList.h:
47563        * dom/Document.cpp:
47564        (WebCore::Document::attach):
47565
475662008-02-20  Darin Adler  <darin@apple.com>
47567
47568        Reviewed, tweaked and landed by Sam.
47569
47570        - make markup functions not use DeprecatedString.
47571
47572        * editing/markup.cpp:
47573        (WebCore::append): Added.
47574        (WebCore::escapeContentText): Build up string using a Vector.
47575        (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
47576
475772008-02-20  Darin Adler  <darin@apple.com>
47578
47579        Reviewed, tweaked and landed by Sam.
47580
47581        - make TextIterator use a Vector instead of a DeprecatedString.
47582
47583        * editing/TextIterator.cpp:
47584        (WebCore::CharacterIterator::string): Build up the String using a
47585        Vector.
47586        (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
47587        (WebCore::WordAwareIterator::length): Ditto.
47588        (WebCore::WordAwareIterator::characters): Ditto.
47589        * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
47590        of DeprecatedString.
47591
475922008-02-20  Darin Adler  <darin@apple.com>
47593
47594        Reviewed, tweaked and landed by Sam.
47595
47596        - make HTMLInterchange return a String instead of a DeprecatedString
47597
47598        * editing/HTMLInterchange.cpp:
47599        (WebCore::): Return a String from convertedSpaceString.
47600        (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
47601        a DeprecatedString to build up the return String.
47602        * editing/HTMLInterchange.h:
47603
476042008-02-20  Eric Seidel  <eric@webkit.org>
47605
47606        Reviewed by Oliver.
47607
47608        Remove m_drawingContext and change m_data to m_imageBuffer
47609
47610        * html/HTMLCanvasElement.cpp:
47611        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
47612        (WebCore::HTMLCanvasElement::reset):
47613        (WebCore::HTMLCanvasElement::paint):
47614        (WebCore::HTMLCanvasElement::createImageBuffer):
47615        (WebCore::HTMLCanvasElement::buffer):
47616        (WebCore::HTMLCanvasElement::createPlatformImage):
47617        * html/HTMLCanvasElement.h:
47618
476192008-02-20  Anders Carlsson  <andersca@apple.com>
47620
47621        Reviewed by Sam.
47622
47623        Rename AtomicString::domString() to AtomicString::string().
47624        
47625        * css/CSSComputedStyleDeclaration.cpp:
47626        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47627        * css/CSSFontSelector.cpp:
47628        (WebCore::CSSFontSelector::getFontData):
47629        * dom/Attr.cpp:
47630        (WebCore::Attr::createTextChild):
47631        * dom/Comment.cpp:
47632        (WebCore::Comment::nodeName):
47633        * dom/Document.cpp:
47634        (WebCore::Document::recalcStyleSelector):
47635        (WebCore::Document::setHTMLWindowEventListener):
47636        (WebCore::Document::formElementsState):
47637        * dom/StyledElement.cpp:
47638        (WebCore::StyledElement::parseMappedAttribute):
47639        * dom/Text.cpp:
47640        (WebCore::Text::nodeName):
47641        * editing/SelectionController.cpp:
47642        (WebCore::SelectionController::debugRenderer):
47643        * html/HTMLCollection.cpp:
47644        (WebCore::HTMLCollection::checkForNameMatch):
47645        * html/HTMLElement.cpp:
47646        (WebCore::HTMLElement::nodeName):
47647        (WebCore::HTMLElement::setHTMLEventListener):
47648        * html/HTMLFormCollection.cpp:
47649        (WebCore::HTMLFormCollection::getNamedFormItem):
47650        * html/HTMLImageElement.cpp:
47651        (WebCore::HTMLImageElement::parseMappedAttribute):
47652        (WebCore::HTMLImageElement::isURLAttribute):
47653        * html/HTMLLinkElement.cpp:
47654        (WebCore::HTMLLinkElement::parseMappedAttribute):
47655        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
47656        * html/HTMLObjectElement.cpp:
47657        (WebCore::HTMLObjectElement::isURLAttribute):
47658        (WebCore::HTMLObjectElement::containsJavaApplet):
47659        * html/HTMLParamElement.cpp:
47660        (WebCore::HTMLParamElement::isURLAttribute):
47661        * html/HTMLParser.cpp:
47662        (WebCore::HTMLParser::handleIsindex):
47663        * html/HTMLScriptElement.cpp:
47664        (WebCore::HTMLScriptElement::insertedIntoDocument):
47665        (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
47666        * html/HTMLStyleElement.cpp:
47667        (WebCore::HTMLStyleElement::parseMappedAttribute):
47668        * html/HTMLTokenizer.cpp:
47669        (WebCore::HTMLTokenizer::parseTag):
47670        * html/HTMLViewSourceDocument.cpp:
47671        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
47672        * loader/FrameLoader.cpp:
47673        (WebCore::FrameLoader::saveDocumentState):
47674        * page/FrameTree.cpp:
47675        (WebCore::FrameTree::uniqueChildName):
47676        * platform/text/AtomicString.h:
47677        (WebCore::AtomicString::string):
47678        (WebCore::AtomicString::contains):
47679        (WebCore::AtomicString::find):
47680        (WebCore::AtomicString::startsWith):
47681        (WebCore::AtomicString::endsWith):
47682        * rendering/RenderPartObject.cpp:
47683        (WebCore::RenderPartObject::updateWidget):
47684        * svg/SVGElement.cpp:
47685        (WebCore::SVGElement::addSVGEventListener):
47686        * svg/SVGSVGElement.cpp:
47687        (WebCore::SVGSVGElement::addSVGWindowEventListener):
47688        * xml/XPathFunctions.cpp:
47689        (WebCore::XPath::FunLocalName::evaluate):
47690        (WebCore::XPath::FunNamespaceURI::evaluate):
47691        (WebCore::XPath::FunName::evaluate):
47692
476932008-02-20  Brent Fulgham  <bfulgham@gmail.com>
47694
47695        Reviewed by Dan.
47696
47697        http://bugs.webkit.org/show_bug.cgi?id=17336
47698        Provide implementations for Windows (Cairo) build of WebKit that
47699        handles font formatting.
47700        - Split font implementation files to allow maximal code sharing
47701          between CG and Cairo back-ends. 
47702
47703        * WebCore.vcproj/WebCore.vcproj:
47704        * platform/graphics/SimpleFontData.h:   Add signatures for private win
47705          initialization functions.
47706        * platform/graphics/win/FontCacheWin.cpp:
47707        (WebCore::FontCache::platformInit):
47708        (WebCore::FontCache::createFontPlatformData):
47709        * platform/graphics/win/FontCairoWin.cpp: Removed.  Universal version
47710          is now part of platform/graphics/cairo.
47711        * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
47712        (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
47713        (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
47714        (WebCore::releaseData):
47715        (WebCore::createFontCustomPlatformData):
47716        * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
47717        (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
47718        * platform/graphics/win/FontPlatformData.h:
47719        (WebCore::FontPlatformData::FontPlatformData):
47720        (WebCore::FontPlatformData::fontFace):
47721        (WebCore::FontPlatformData::scaledFont):
47722        (WebCore::FontPlatformData::operator==):
47723        * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
47724        (WebCore::FontPlatformData::platformDataInit):
47725        * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
47726        (WebCore::FontPlatformData::platformDataInit):
47727        (WebCore::FontPlatformData::FontPlatformData):
47728        (WebCore::FontPlatformData::setFont):
47729        * platform/graphics/win/FontPlatformDataWin.cpp:  Moved CG-specific
47730          code to FontPlatformDataCG.cpp.
47731        (WebCore::FontPlatformData::FontPlatformData):
47732        * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
47733        * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
47734        (WebCore::GlyphPage::fill):
47735        * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed.  Replaced
47736          with CG- and Cairo-specific versions.
47737        * platform/graphics/win/SimpleFontDataCGWin.cpp:
47738        (WebCore::SimpleFontData::platformInit):
47739        (WebCore::SimpleFontData::platformDestroy):
47740        (WebCore::SimpleFontData::platformWidthForGlyph):
47741        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
47742        (WebCore::SimpleFontData::platformInit):
47743        (WebCore::SimpleFontData::platformDestroy):
47744        (WebCore::SimpleFontData::platformWidthForGlyph):
47745        (WebCore::SimpleFontData::setFont):
47746        * platform/graphics/win/SimpleFontDataWin.cpp:
47747        (WebCore::SimpleFontData::initGDIFont):
47748        (WebCore::SimpleFontData::platformCommonDestroy):
47749        (WebCore::SimpleFontData::widthForGDIGlyph):
47750
477512008-02-20  Darin Adler  <darin@apple.com>
47752
47753        Reviewed by Sam.
47754
47755        * dom/Node.h: Took out unneeded forward declaration of TextStream.
47756
477572008-02-20  Darin Adler  <darin@apple.com>
47758
47759        Reviewed by Sam.
47760
47761        * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
47762
477632008-02-20  David Hyatt  <hyatt@apple.com>
47764
47765        Fix for bug 16760, incorrect <object> MIME type handling and fallback
47766        handling.
47767
47768        Reviewed by darin
47769
47770        * html/HTMLImageLoader.cpp:
47771        (WebCore::HTMLImageLoader::notifyFinished):
47772        If the image had an error, make sure to do <object> fallback.
47773
47774        * html/HTMLObjectElement.cpp:
47775        (WebCore::HTMLObjectElement::renderFallbackContent):
47776        Before doing fallback check if there is a MIME type mismatch between
47777        an image type and a non-image type.  If so, detach and re-attach after
47778        storing the correct MIME type.
47779
47780        * loader/loader.cpp:
47781        (WebCore::Loader::didReceiveData):
47782        Consider it an error when a 404 is encountered on a CachedResource load.
47783
477842008-02-20  Anders Carlsson  <andersca@apple.com>
47785
47786        Reviewed by Sam.
47787
47788        StringImpl constructors used by AtomicString should start with a refcount of 1.
47789        
47790        * platform/text/AtomicString.cpp:
47791        (WebCore::AtomicString::add):
47792        * platform/text/AtomicString.h:
47793        * platform/text/StringImpl.cpp:
47794        (WebCore::StringImpl::StringImpl):
47795
477962008-02-20  Darin Adler  <darin@apple.com>
47797
47798        * bindings/js/kjs_navigator.cpp:
47799        (WebCore::needsYouTubeQuirk): Tweak comments.
47800
478012008-02-20  Anders Carlsson  <andersca@apple.com>
47802
47803        Reviewed by Darin.
47804
47805        Change all refcounted classes in page/ to start with a refcount of 1.
47806
47807        * page/BarInfo.cpp:
47808        (WebCore::BarInfo::BarInfo):
47809        * page/BarInfo.h:
47810        (WebCore::BarInfo::create):
47811        * page/Console.cpp:
47812        (WebCore::Console::Console):
47813        * page/Console.h:
47814        (WebCore::Console::create):
47815        * page/DOMSelection.cpp:
47816        (WebCore::DOMSelection::DOMSelection):
47817        * page/DOMSelection.h:
47818        (WebCore::DOMSelection::create):
47819        * page/DOMWindow.cpp:
47820        (WebCore::DOMWindow::DOMWindow):
47821        (WebCore::DOMWindow::screen):
47822        (WebCore::DOMWindow::history):
47823        (WebCore::DOMWindow::locationbar):
47824        (WebCore::DOMWindow::menubar):
47825        (WebCore::DOMWindow::personalbar):
47826        (WebCore::DOMWindow::scrollbars):
47827        (WebCore::DOMWindow::statusbar):
47828        (WebCore::DOMWindow::toolbar):
47829        (WebCore::DOMWindow::console):
47830        (WebCore::DOMWindow::getSelection):
47831        * page/DOMWindow.h:
47832        (WebCore::DOMWindow::create):
47833        * page/Frame.cpp:
47834        (WebCore::Frame::domWindow):
47835        * page/History.cpp:
47836        (WebCore::History::History):
47837        * page/History.h:
47838        (WebCore::History::create):
47839        * page/InspectorController.cpp:
47840        (WebCore::InspectorResource::create):
47841        (WebCore::InspectorResource::InspectorResource):
47842        (WebCore::InspectorDatabaseResource::create):
47843        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
47844        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
47845        (WebCore::InspectorController::identifierForInitialRequest):
47846        (WebCore::InspectorController::didOpenDatabase):
47847        * page/Plugin.h:
47848        (WebCore::Plugin::create):
47849        (WebCore::Plugin::Plugin):
47850        * page/Screen.cpp:
47851        (WebCore::Screen::Screen):
47852        * page/Screen.h:
47853        (WebCore::Screen::create):
47854
478552008-02-20  Sam Weinig  <sam@webkit.org>
47856
47857        Reviewed by Darin and Geoff.
47858
47859        - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
47860
47861        * WebCore.base.exp: Updated.
47862
47863        * bindings/js/kjs_navigator.cpp:
47864        (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
47865        (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
47866        return true, then return the empty string.
47867
47868        * page/Settings.cpp:
47869        (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
47870        (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
47871        * page/Settings.h: Added m_needsSiteSpecificQuirks.
47872        (WebCore::Settings::needsSiteSpecificQuirks): Added.
47873
478742008-02-20  David Hyatt  <hyatt@apple.com>
47875
47876        Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
47877
47878        Reviewed by Sam Weinig
47879
47880        Many tests added in fast/doctypes.
47881
47882        * dom/DOMImplementation.cpp:
47883        (WebCore::DOMImplementation::createDocument):
47884        (WebCore::DOMImplementation::createHTMLDocument):
47885        * dom/Document.cpp:
47886        (WebCore::Document::Document):
47887        (WebCore::Document::setDocType):
47888        (WebCore::Document::attach):
47889        (WebCore::Document::getImageMap):
47890        * dom/Document.h:
47891        (WebCore::Document::doctype):
47892        (WebCore::Document::):
47893        (WebCore::Document::determineParseMode):
47894        (WebCore::Document::setParseMode):
47895        (WebCore::Document::parseMode):
47896        (WebCore::Document::inCompatMode):
47897        (WebCore::Document::inAlmostStrictMode):
47898        (WebCore::Document::inStrictMode):
47899        * dom/DocumentType.cpp:
47900        (WebCore::DocumentType::cloneNode):
47901        (WebCore::DocumentType::insertedIntoDocument):
47902        (WebCore::DocumentType::removedFromDocument):
47903        * dom/DocumentType.h:
47904        * dom/Node.cpp:
47905        (WebCore::Node::childAllowed):
47906        * dom/StyledElement.cpp:
47907        (WebCore::StyledElement::attributeChanged):
47908        * dom/XMLTokenizer.cpp:
47909        (WebCore::XMLTokenizer::internalSubset):
47910        * editing/markup.cpp:
47911        (WebCore::appendStartMarkup):
47912        * html/HTMLAppletElement.cpp:
47913        (WebCore::HTMLAppletElement::createRenderer):
47914        * html/HTMLDocument.cpp:
47915        (WebCore::HTMLDocument::HTMLDocument):
47916        (WebCore::HTMLDocument::childAllowed):
47917        (WebCore::HTMLDocument::determineParseMode):
47918        * html/HTMLDocument.h:
47919        * html/HTMLMapElement.cpp:
47920        (WebCore::HTMLMapElement::parseMappedAttribute):
47921        * html/HTMLParamElement.cpp:
47922        (WebCore::HTMLParamElement::parseMappedAttribute):
47923        * html/HTMLParser.cpp:
47924        (WebCore::HTMLParser::parseDoctypeToken):
47925        * html/HTMLParser.h:
47926        * html/HTMLTokenizer.cpp:
47927        (WebCore::HTMLTokenizer::reset):
47928        (WebCore::HTMLTokenizer::parseDoctype):
47929        (WebCore::HTMLTokenizer::parseTag):
47930        (WebCore::HTMLTokenizer::write):
47931        (WebCore::HTMLTokenizer::finish):
47932        (WebCore::HTMLTokenizer::processDoctypeToken):
47933        * html/HTMLTokenizer.h:
47934        (WebCore::DoctypeToken::DoctypeToken):
47935        (WebCore::DoctypeToken::reset):
47936        (WebCore::DoctypeToken::state):
47937        (WebCore::DoctypeToken::setState):
47938        (WebCore::HTMLTokenizer::State::inDoctype):
47939        (WebCore::HTMLTokenizer::State::setInDoctype):
47940        (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
47941        (WebCore::HTMLTokenizer::State::):
47942        * html/HTMLViewSourceDocument.cpp:
47943        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
47944        (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
47945        * html/HTMLViewSourceDocument.h:
47946        * loader/FrameLoader.cpp:
47947        (WebCore::FrameLoader::write):
47948        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
47949        * page/Frame.cpp:
47950        (WebCore::Frame::documentTypeString):
47951        * page/inspector/utilities.js:
47952        * xml/XSLTProcessor.cpp:
47953        (WebCore::XSLTProcessor::createDocumentFromSource):
47954
479552008-02-20  Anders Carlsson  <andersca@apple.com>
47956
47957        Reviewed by Darin.
47958
47959        Change most SVG related classes to start out with a ref count of 1.
47960        
47961        * bindings/js/JSSVGPointListCustom.cpp:
47962        (WebCore::JSSVGPointList::initialize):
47963        (WebCore::JSSVGPointList::insertItemBefore):
47964        (WebCore::JSSVGPointList::replaceItem):
47965        (WebCore::JSSVGPointList::appendItem):
47966        * bindings/js/JSSVGTransformListCustom.cpp:
47967        (WebCore::JSSVGTransformList::initialize):
47968        (WebCore::JSSVGTransformList::insertItemBefore):
47969        (WebCore::JSSVGTransformList::replaceItem):
47970        (WebCore::JSSVGTransformList::appendItem):
47971        * rendering/SVGCharacterLayoutInfo.h:
47972        (WebCore::SVGCharOnPath::create):
47973        (WebCore::SVGCharOnPath::SVGCharOnPath):
47974        * rendering/SVGRootInlineBox.cpp:
47975        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
47976        * svg/SVGAnimationElement.cpp:
47977        (WebCore::SVGAnimationElement::parseBeginOrEndValue):
47978        * svg/SVGClipPathElement.cpp:
47979        (WebCore::SVGClipPathElement::canvasResource):
47980        * svg/SVGElementInstance.cpp:
47981        (WebCore::SVGElementInstance::childNodes):
47982        * svg/SVGElementInstanceList.cpp:
47983        (WebCore::SVGElementInstanceList::SVGElementInstanceList):
47984        * svg/SVGElementInstanceList.h:
47985        (WebCore::SVGElementInstanceList::create):
47986        * svg/SVGFitToViewBox.cpp:
47987        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
47988        * svg/SVGGradientElement.cpp:
47989        (WebCore::SVGGradientElement::SVGGradientElement):
47990        (WebCore::SVGGradientElement::canvasResource):
47991        * svg/SVGImageElement.cpp:
47992        (WebCore::SVGImageElement::SVGImageElement):
47993        * svg/SVGLengthList.h:
47994        (WebCore::SVGLengthList::create):
47995        * svg/SVGList.h:
47996        (WebCore::SVGList::SVGList):
47997        (WebCore::SVGPODListItem::create):
47998        (WebCore::SVGPODListItem::copy):
47999        (WebCore::SVGPODListItem::SVGPODListItem):
48000        (WebCore::SVGPODList::initialize):
48001        (WebCore::SVGPODList::insertItemBefore):
48002        (WebCore::SVGPODList::replaceItem):
48003        (WebCore::SVGPODList::appendItem):
48004        (WebCore::SVGPODList::SVGPODList):
48005        * svg/SVGMarkerElement.cpp:
48006        (WebCore::SVGMarkerElement::canvasResource):
48007        * svg/SVGMaskElement.cpp:
48008        (WebCore::SVGMaskElement::canvasResource):
48009        * svg/SVGNumberList.h:
48010        (WebCore::SVGNumberList::create):
48011        * svg/SVGPathElement.cpp:
48012        (WebCore::SVGPathElement::createSVGPathSegClosePath):
48013        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
48014        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
48015        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
48016        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
48017        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
48018        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
48019        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
48020        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
48021        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
48022        (WebCore::SVGPathElement::createSVGPathSegArcRel):
48023        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
48024        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
48025        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
48026        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
48027        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
48028        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
48029        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
48030        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
48031        (WebCore::SVGPathElement::pathSegList):
48032        * svg/SVGPathElement.h:
48033        * svg/SVGPathSeg.h:
48034        (WebCore::SVGPathSeg::SVGPathSeg):
48035        * svg/SVGPathSegArc.h:
48036        (WebCore::SVGPathSegArcAbs::create):
48037        (WebCore::SVGPathSegArcRel::create):
48038        * svg/SVGPathSegClosePath.h:
48039        (WebCore::SVGPathSegClosePath::create):
48040        * svg/SVGPathSegCurvetoCubic.h:
48041        (WebCore::SVGPathSegCurvetoCubicAbs::create):
48042        (WebCore::SVGPathSegCurvetoCubicRel::create):
48043        * svg/SVGPathSegCurvetoCubicSmooth.h:
48044        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
48045        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
48046        * svg/SVGPathSegCurvetoQuadratic.h:
48047        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
48048        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
48049        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
48050        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
48051        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
48052        * svg/SVGPathSegLineto.h:
48053        (WebCore::SVGPathSegLinetoAbs::create):
48054        (WebCore::SVGPathSegLinetoRel::create):
48055        * svg/SVGPathSegLinetoHorizontal.h:
48056        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
48057        (WebCore::SVGPathSegLinetoHorizontalRel::create):
48058        * svg/SVGPathSegLinetoVertical.h:
48059        (WebCore::SVGPathSegLinetoVerticalAbs::create):
48060        (WebCore::SVGPathSegLinetoVerticalRel::create):
48061        * svg/SVGPathSegList.h:
48062        (WebCore::SVGPathSegList::create):
48063        * svg/SVGPathSegMoveto.h:
48064        (WebCore::SVGPathSegMovetoAbs::create):
48065        (WebCore::SVGPathSegMovetoRel::create):
48066        * svg/SVGPatternElement.cpp:
48067        (WebCore::SVGPatternElement::SVGPatternElement):
48068        (WebCore::SVGPatternElement::canvasResource):
48069        * svg/SVGPointList.h:
48070        (WebCore::SVGPointList::create):
48071        * svg/SVGPolyElement.cpp:
48072        (WebCore::SVGPolyElement::points):
48073        * svg/SVGPreserveAspectRatio.cpp:
48074        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
48075        * svg/SVGPreserveAspectRatio.h:
48076        (WebCore::SVGPreserveAspectRatio::create):
48077        * svg/SVGRenderingIntent.h:
48078        (WebCore::SVGRenderingIntent::SVGRenderingIntent):
48079        * svg/SVGStringList.h:
48080        (WebCore::SVGStringList::create):
48081        * svg/SVGStyledTransformableElement.cpp:
48082        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
48083        * svg/SVGTests.cpp:
48084        (WebCore::SVGTests::requiredFeatures):
48085        (WebCore::SVGTests::requiredExtensions):
48086        (WebCore::SVGTests::systemLanguage):
48087        * svg/SVGTextElement.cpp:
48088        (WebCore::SVGTextElement::SVGTextElement):
48089        * svg/SVGTextPositioningElement.cpp:
48090        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
48091        * svg/SVGTransformList.h:
48092        (WebCore::SVGTransformList::create):
48093        * svg/SVGUnitTypes.h:
48094        (WebCore::SVGUnitTypes::SVGUnitTypes):
48095        * svg/SVGViewElement.cpp:
48096        (WebCore::SVGViewElement::viewTarget):
48097        * svg/SVGViewSpec.cpp:
48098        (WebCore::SVGViewSpec::SVGViewSpec):
48099        * svg/graphics/SVGPaintServer.cpp:
48100        (WebCore::SVGPaintServer::sharedSolidPaintServer):
48101        * svg/graphics/SVGPaintServer.h:
48102        * svg/graphics/SVGPaintServerGradient.h:
48103        (WebCore::SVGPaintServerGradient::SharedStopCache::create):
48104        (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
48105        * svg/graphics/SVGPaintServerLinearGradient.h:
48106        (WebCore::SVGPaintServerLinearGradient::create):
48107        * svg/graphics/SVGPaintServerPattern.h:
48108        (WebCore::SVGPaintServerPattern::create):
48109        * svg/graphics/SVGPaintServerRadialGradient.h:
48110        (WebCore::SVGPaintServerRadialGradient::create):
48111        * svg/graphics/SVGPaintServerSolid.h:
48112        (WebCore::SVGPaintServerSolid::create):
48113        * svg/graphics/SVGResource.cpp:
48114        (WebCore::SVGResource::SVGResource):
48115        * svg/graphics/SVGResource.h:
48116        * svg/graphics/SVGResourceClipper.h:
48117        (WebCore::SVGResourceClipper::create):
48118        * svg/graphics/SVGResourceMarker.h:
48119        (WebCore::SVGResourceMarker::create):
48120        * svg/graphics/SVGResourceMasker.h:
48121        (WebCore::SVGResourceMasker::create):
48122        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
48123        (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
48124
481252008-02-20  Darin Adler  <darin@apple.com>
48126
48127        Reviewed by Sam.
48128
48129        - make conversion from CSS ParseString to String and AtomicString
48130          automatic and remove all the explicit calls to do the conversion
48131
48132        - fix CSS parsing to do fewer allocations, mostly by using the
48133          equalIgnoringCase function in CSSParser
48134
48135        * css/CSSGrammar.y: Take out all the explicit atomicString and
48136        domString calls now that ParseString knows how to convert itself.
48137
48138        * css/CSSParser.cpp:
48139        (WebCore::equal): Added.
48140        (WebCore::equalIgnoringCase): Allow non-lettters.
48141        (WebCore::ParseString::lower): Used charactersAreAllASCII.
48142        (WebCore::unitFromString): Use equal.
48143        (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
48144        (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
48145        (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
48146        (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
48147        (WebCore::CSSParser::parseDashboardRegions): More of the same.
48148        (WebCore::CSSParser::parseCounterContent): Ditto.
48149        (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
48150        (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
48151        (WebCore::CSSParser::parseFontFaceSrc): More.
48152        (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
48153        (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
48154        handles the case folding.
48155        (WebCore::CSSParser::parseColorFromValue): More.
48156        (WebCore::CSSParser::parseBorderImage): More.
48157        (WebCore::CSSParser::parseCounter): More.
48158        (WebCore::TransformOperationInfo::TransformOperationInfo): More.
48159        (WebCore::CSSParser::parseTransform): More.
48160        (WebCore::CSSParser::createCharsetRule): More.
48161        (WebCore::CSSParser::createImportRule): More.
48162
48163        * css/CSSParser.h: Removed domString and atomicString functions.
48164        (WebCore::ParseString::operator String): Added. Allows conversion to String
48165        without an explicit function call.
48166        (WebCore::ParseString::operator AtomicString): Ditto.
48167
48168        * css/MediaQueryExp.cpp:
48169        (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
48170        * css/SVGCSSParser.cpp:
48171        (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
48172
48173        * platform/graphics/Color.cpp:
48174        (WebCore::findNamedColor): Call toASCIILower on each character as we copy
48175        it into the 8-bit character buffer to make the operation fold case.
48176
481772008-02-20  Justin Garcia  <justin.garcia@apple.com>
48178
48179        Reviewed by Darin Adler.
48180
48181        <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
48182
48183        * editing/DeleteSelectionCommand.cpp:
48184        (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
48185        is where there are no special elements.  Avoid creating VisiblePositions in
48186        that case.  Additionally, this change postpones the more expensive creation
48187        of an upstream VisiblePosition until the last possible moment.
48188        (WebCore::DeleteSelectionCommand::saveTypingStyleState):
48189        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an 
48190        early return for a common case: deleting characters that are all inside the 
48191        same text node. In that case the style at the start of the selection will 
48192        not change during the delete, so there is no need to save/recompute it.
48193        (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
48194        before VisiblePosition creation if the ends of the selection aren't enclosed
48195        by an anchor.
48196        * editing/TypingCommand.cpp:
48197        (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
48198        checking isn't enabled.
48199
482002008-02-20  Alexey Proskuryakov  <ap@webkit.org>
48201
48202        Incorporates some improvements made by Dan Bernstein.
48203
48204        Reviewed by Darin.
48205
48206        http://bugs.webkit.org/show_bug.cgi?id=17106
48207        <rdar://problem/5750722> Debug build ASSERTs on page load
48208
48209        Test: fast/encoding/GBK/close-gbk-converter.html
48210
48211        * platform/text/TextCodecICU.cpp:
48212        (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
48213        are only four values.
48214        (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
48215        getting an escape character if it's not UCNV_UNASSIGNED.
48216        (WebCore::gbkCallbackSubstitute): Ditto.
48217
482182008-02-20  Alexey Proskuryakov  <ap@webkit.org>
48219
48220        Build fix.
48221
48222        * xml/XMLHttpRequest.cpp:
48223        (WebCore::isSafeRequestHeader):
48224        (WebCore::XMLHttpRequest::setRequestHeader):
48225
482262008-02-20  Alexey Proskuryakov  <ap@webkit.org>
48227
48228        Reviewed by Darin.
48229
48230        <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
48231
48232        Cannot be tested in DRT.
48233
48234        * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
48235        local files can also set any headers.
48236
482372008-02-19  Darin Adler  <darin@apple.com>
48238
48239        Reviewed by Sam.
48240
48241        - removed use of DeprecatedString for font family names
48242
48243        * css/CSSFontSelector.cpp:
48244        (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
48245        * css/CSSParser.cpp:
48246        (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
48247        function and String rather than DeprecatedString.
48248        * css/CSSStyleSelector.cpp:
48249        (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
48250        * css/FontFamilyValue.cpp:
48251        (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
48252        expression with code that does the same thing more efficiently.
48253        (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
48254        (WebCore::FontFamilyValue::cssText): Updated for name change.
48255        * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
48256        to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
48257        and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
48258        be private instead of public.
48259
482602008-02-19  Darin Adler  <darin@apple.com>
48261
48262        - fix build when SVG is not enabled
48263
48264        * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
48265
482662008-02-19  Anders Carlsson  <andersca@apple.com>
48267
48268        Reviewed by Darin.
48269
48270        Change all classes in xml/ to start out with a ref count of 1.
48271        
48272        * bindings/js/JSCustomXPathNSResolver.h:
48273        * bindings/js/JSXMLHttpRequest.cpp:
48274        (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
48275        * bindings/js/JSXSLTProcessor.cpp:
48276        (WebCore::JSXSLTProcessor::JSXSLTProcessor):
48277        * bindings/objc/DOMCustomXPathNSResolver.h:
48278        (WebCore::DOMCustomXPathNSResolver::create):
48279        * bindings/scripts/CodeGeneratorJS.pm:
48280        * bindings/scripts/CodeGeneratorObjC.pm:
48281        * dom/Document.cpp:
48282        (WebCore::Document::applyXSLTransform):
48283        (WebCore::Document::createExpression):
48284        (WebCore::Document::createNSResolver):
48285        (WebCore::Document::evaluate):
48286        * xml/DOMParser.h:
48287        (WebCore::DOMParser::create):
48288        (WebCore::DOMParser::DOMParser):
48289        * xml/NativeXPathNSResolver.h:
48290        (WebCore::NativeXPathNSResolver::create):
48291        * xml/XMLHttpRequest.cpp:
48292        (WebCore::XMLHttpRequest::XMLHttpRequest):
48293        * xml/XMLHttpRequest.h:
48294        (WebCore::XMLHttpRequest::create):
48295        * xml/XMLSerializer.h:
48296        (WebCore::XMLSerializer::create):
48297        (WebCore::XMLSerializer::XMLSerializer):
48298        * xml/XPathEvaluator.cpp:
48299        (WebCore::XPathEvaluator::createNSResolver):
48300        * xml/XPathEvaluator.h:
48301        (WebCore::XPathEvaluator::create):
48302        (WebCore::XPathEvaluator::XPathEvaluator):
48303        * xml/XPathExpression.cpp:
48304        (WebCore::XPathExpression::createExpression):
48305        (WebCore::XPathExpression::evaluate):
48306        * xml/XPathExpression.h:
48307        (WebCore::XPathExpression::create):
48308        (WebCore::XPathExpression::XPathExpression):
48309        * xml/XPathNSResolver.h:
48310        * xml/XPathResult.cpp:
48311        (WebCore::XPathResult::XPathResult):
48312        * xml/XPathResult.h:
48313        (WebCore::XPathResult::create):
48314        * xml/XPathValue.cpp:
48315        (WebCore::XPath::Value::modifiableNodeSet):
48316        * xml/XPathValue.h:
48317        (WebCore::XPath::ValueData::create):
48318        (WebCore::XPath::ValueData::ValueData):
48319        (WebCore::XPath::Value::Value):
48320        * xml/XSLTProcessor.h:
48321        (WebCore::XSLTProcessor::create):
48322        (WebCore::XSLTProcessor::XSLTProcessor):
48323
483242008-02-19  Darin Adler  <darin@apple.com>
48325
48326        Reviewed by Sam.
48327
48328        - Trimmed down TextStream and weaned it from DeprecatedString.
48329
48330        * page/mac/WebCoreFrameBridge.mm:
48331        (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
48332        Removed now-unneeded call to getNSString.
48333
48334        * platform/text/TextStream.cpp: Removed unused functions.
48335        Use snprintf instead of sprintf, for better security.
48336        (WebCore::TextStream::release): Added.
48337        * platform/text/TextStream.h: Removed lots of unneeded stuff.
48338
48339        * rendering/RenderTreeAsText.cpp:
48340        (WebCore::externalRepresentation): Changed to use String instead
48341        of DeprecatedString.
48342        * rendering/RenderTreeAsText.h: Ditto.
48343
48344        * rendering/SVGRenderTreeAsText.cpp:
48345        (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
48346        (WebCore::write): Ditto.
48347        (WebCore::writeRenderResources): Ditto.
48348
483492008-02-19  Justin Garcia  <justin.garcia@apple.com>
48350
48351        Reviewed by Darin Adler.
48352
48353        <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
48354        
48355        This brings performance on the phone back to old levels.  Andre and I are doing
48356        some formal testing to see exactly where we stand.
48357
48358        * dom/Position.cpp:
48359        (WebCore::enclosingBlockIgnoringEditability): Added.  This is enclosingBlock
48360        without the expensive editability checks. upstream and downstream can avoid 
48361        those because they do their own editability checking.
48362        (WebCore::Position::upstream):
48363        (WebCore::Position::downstream):
48364
483652008-02-19  Chris Fleizach  <cfleizach@apple.com>
48366
48367        Reviewed by Darin.
48368
48369        <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
48370
48371        * bridge/mac/WebCoreAXObject.mm:
48372        (-[WebCoreAXObject linkedUIElement]):
48373        Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
48374        
48375        (-[WebCoreAXObject accessibilityAttributeNames]):
48376        (-[WebCoreAXObject accessibilityAttributeValue:]):
48377        Support NSAccessibilityLinkedUIElementsAttribute.
48378
483792008-02-19  Darin Adler  <darin@apple.com>
48380
48381        Reviewed by Sam.
48382
48383        - Removed old debugging aids, Node::dump, RenderObject::dump, and
48384          RenderObject::information, that used DeprecatedString.
48385
48386        * dom/CharacterData.cpp: Removed override of Node::dump.
48387        * dom/CharacterData.h: Ditto.
48388        * dom/Element.cpp: Ditto.
48389        * dom/Element.h: Ditto.
48390        * dom/EventTargetNode.cpp: Ditto.
48391        * dom/EventTargetNode.h: Ditto.
48392        * dom/Node.cpp: Removed Node::dump.
48393        * dom/Node.h: Ditto.
48394
48395        * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
48396        * rendering/RenderBlock.h: Ditto.
48397        * rendering/RenderFrameSet.cpp: Ditto.
48398        * rendering/RenderFrameSet.h: Ditto.
48399        * rendering/RenderObject.cpp: Removed RenderObject::dump and
48400        RenderObject::information.
48401        * rendering/RenderObject.h: Ditto.
48402        * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
48403        * rendering/RenderTable.h: Ditto.
48404        * rendering/RenderTableCell.cpp: Ditto.
48405        * rendering/RenderTableCell.h: Ditto.
48406        * rendering/RenderTableCol.cpp: Ditto.
48407        * rendering/RenderTableCol.h: Ditto.
48408        * rendering/RenderTableSection.cpp: Ditto.
48409        * rendering/RenderTableSection.h: Ditto.
48410
48411        * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
48412        and added forward declarations as appropriate.
48413
48414        * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
48415        * svg/graphics/SVGResourceClipper.cpp: And here.
48416        * svg/graphics/SVGResourceFilter.cpp: Ditto.
48417        * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
48418        * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
48419        * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
48420        * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
48421        * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
48422        * svg/graphics/filters/SVGFEImage.cpp: Ditto.
48423        * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
48424        * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
48425        * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
48426        * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
48427        * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
48428        * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
48429
484302008-02-19  Beth Dakin  <bdakin@apple.com>
48431
48432        Reviewed by Sam.
48433
48434        Fix for <rdar://problem/5729674> Seed: Crash in 
48435        RenderButton::setStyle at http://www.dinorpg.com
48436
48437        Inputs should not honor first-letter.
48438
48439        * rendering/RenderBlock.cpp:
48440        (WebCore::RenderBlock::updateFirstLetter):
48441
484422008-02-19  Dan Bernstein  <mitz@apple.com>
48443
48444        Reviewed by Darin Adler.
48445
48446        - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
48447
48448        Test: fast/text/wbr-styled.html
48449
48450        Changed RenderWordBreak to inherit from RenderText instead of
48451        RenderInline.
48452
48453        * rendering/RenderBlock.cpp:
48454        (WebCore::RenderBlock::calcInlinePrefWidths):
48455        * rendering/RenderFlow.h:
48456        * rendering/RenderText.cpp:
48457        (WebCore::RenderText::renderName):
48458        (WebCore::RenderText::isTextFragment):
48459        (WebCore::RenderText::isWordBreak):
48460        * rendering/RenderText.h:
48461        * rendering/RenderWordBreak.cpp:
48462        (WebCore::RenderWordBreak::RenderWordBreak):
48463        * rendering/RenderWordBreak.h:
48464        * rendering/bidi.cpp:
48465        (WebCore::RenderBlock::findNextLineBreak):
48466
484672008-02-19  Anders Carlsson  <andersca@apple.com>
48468
48469        Reviewed by Darin.
48470
48471        * WebCore.base.exp:
48472        * loader/mac/LoaderNSURLExtras.h:
48473        * loader/mac/LoaderNSURLExtras.m:
48474        Move unused functions to WebKit (where they are used)
48475        
48476        (vectorContainsString):
48477        Use const references.
48478        
48479        * platform/mac/WebCoreSystemInterface.h:
48480        * platform/mac/WebCoreSystemInterface.mm:
48481        Remove wkNSURLProtocolClassForReqest.
48482        
484832008-02-19  Justin Garcia  <justin.garcia@apple.com>
48484
48485        Reviewed by Darin Adler.
48486
48487        <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore 
48488        
48489        These changes bring deleting performance back to old levels on the phone
48490        except for deleting the first space to the right of a word, which we are
48491        still working on.
48492
48493        * dom/Position.cpp:
48494        (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
48495        if we have left the original enclosing block or entered a new one, and avoid
48496        rootEditableElement for determining if we have changed editability.  These
48497        operations are expensive.
48498        (WebCore::Position::downstream): Ditto.
48499
485002008-02-19  Darin Adler  <darin@apple.com>
48501
48502        Rubber stamped by Anders.
48503
48504        - removed explicit initialization to 1 for RefCounted; that's now the default
48505
48506        * loader/ResourceLoader.cpp:
48507        (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
48508        * platform/network/ResourceHandle.cpp:
48509        (WebCore::ResourceHandle::ResourceHandle): Ditto.
48510        * platform/text/StringImpl.cpp:
48511        (WebCore::StringImpl::StringImpl): Ditto.
48512
485132008-02-18  Anders Carlsson  <andersca@apple.com>
48514
48515        Reviewed by Darin.
48516
48517        Make ResourceLoader and ResourceHandle start out with a refcount of 1.
48518
48519        * loader/MainResourceLoader.cpp:
48520        (WebCore::MainResourceLoader::create):
48521        * loader/NetscapePlugInStreamLoader.cpp:
48522        (WebCore::NetscapePlugInStreamLoader::create):
48523        * loader/ResourceLoader.cpp:
48524        (WebCore::ResourceLoader::ResourceLoader):
48525        * loader/SubresourceLoader.cpp:
48526        (WebCore::SubresourceLoader::create):
48527        * platform/network/ResourceHandle.cpp:
48528        (WebCore::ResourceHandle::ResourceHandle):
48529        (WebCore::ResourceHandle::create):
48530
485312008-02-19  Alp Toker  <alp@atoker.com>
48532
48533        Reviewed by Mark Rowe.
48534
48535        http://bugs.webkit.org/show_bug.cgi?id=16863
48536        [GTK] tab focusing doesn't work
48537
48538        GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
48539        the meta key state.
48540
48541        Use GDK_META_MASK where available, otherwise do not support the meta
48542        key. This matches the behaviour of other applications.
48543
48544        Also add a comment noting that the platform event constructors need to
48545        be kept in sync (it's not obvious that there are multiple places that
48546        check the key state).
48547
48548        * platform/gtk/KeyEventGtk.cpp:
48549        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
48550        * platform/gtk/MouseEventGtk.cpp:
48551        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
48552        * platform/gtk/WheelEventGtk.cpp:
48553        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
48554
485552008-02-18  Brady Eidson  <beidson@apple.com>
48556
48557        Reviewed by Sam Weinig's white rhino tusk stamp
48558
48559        SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
48560
48561        * platform/sql/SQLiteTransaction.cpp:
48562        (WebCore::SQLiteTransaction::stop):
48563
485642008-02-18  Brady Eidson  <beidson@apple.com>
48565
48566        Reviewed by Darin
48567
48568        Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
48569
48570        Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
48571
48572        * bindings/objc/WebScriptObject.mm:
48573        (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key];    // defaults to throwing an exception` 
48574          says it all - it throws an exception.  This method also happens to hold the JSLock.  Problematically, when the exeception
48575          is thrown and the method exited, the JSLock is never released.  Fix that without otherwise changing behavior by holding the 
48576          JSLock in two individual scopes - Right before the exception and right after.  
48577
485782008-02-18  Darin Adler  <darin@apple.com>
48579
48580        Reviewed by Sam.
48581
48582        - reduce use of DeprecatedString and memory allocations in processing of CSS
48583        - remove unnecessary double -> float -> double trip in the CSS parser
48584        - cleaned up names and structure in CSS grammar
48585
48586        * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
48587        instead, and they now work on ParseString and String objects and don't require the caller
48588        to put the string into a char*. Gave members of the %union more sensible names, removed
48589        duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
48590        it commented out.
48591        * css/CSSParser.cpp:
48592        (WebCore::equalIgnoringCase): Added.
48593        (WebCore::hasPrefix): Added.
48594        (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
48595        which obviates the need to call lower() and utf8() or to allocate memory at all. Also
48596        used equalIgnoringCase rather than putting the value into a String just to compare it.
48597        (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
48598        along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
48599        affects the result of one layout test.
48600        (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
48601        without allocating any memory.
48602        (WebCore::cssValueKeywordID): Ditto.
48603        * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
48604        CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
48605
48606        * css/CSSStyleDeclaration.cpp:
48607        (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
48608        (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
48609        (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
48610        (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
48611        (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
48612        (WebCore::CSSStyleDeclaration::setProperty): Ditto.
48613        (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
48614        (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
48615        * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
48616        and the getPropertyID function declaration along with its associated apology comment.
48617
48618        * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
48619        enumeration, like properties, since you rarely have any reason to handle all values, but
48620        often have a reason to handle all properties). Renamed the constant for the number of CSS
48621        value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
48622
48623        * platform/text/String.cpp:
48624        (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
48625        rather than a CString.
48626
486272008-02-18  Dan Bernstein  <mitz@apple.com>
48628
48629        Reviewed by Dave Hyatt.
48630
48631        - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
48632
48633        Test: fast/css/font-face-multiple-remote-sources.html
48634
48635        * css/CSSFontFace.cpp:
48636        (WebCore::CSSFontFace::fontLoaded):
48637        * css/CSSSegmentedFontFace.cpp:
48638        (WebCore::CSSSegmentedFontFace::fontLoaded):
48639
486402008-02-18  Darin Adler  <darin@apple.com>
48641
48642        Reviewed by Sam.
48643
48644        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
48645        (WebCore::hasCSSPropertyNamePrefix): Added.
48646        (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
48647        by using a Vector<UChar> and eliminating all the string operations.
48648
486492008-02-18  Stephanie Lewis  <slewis@apple.com>
48650
48651        Reviewed by Adam.
48652
48653        Remove workaround for <rdar://problem/5695848>.
48654        
48655        * platform/network/cf/ResourceResponseCFNet.cpp:
48656        (WebCore::ResourceResponse::doUpdateResourceResponse):
48657
486582008-02-18  Samuel Weinig  <sam@webkit.org>
48659
48660        Reviewed by Geoff Garen.
48661
48662        Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
48663        Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
48664
48665        * bindings/js/kjs_proxy.cpp:
48666        (WebCore::KJSProxy::initScript):
48667
486682008-02-18  Alp Toker  <alp@atoker.com>
48669
48670        Reviewed by Mark Rowe.
48671
48672        http://bugs.webkit.org/show_bug.cgi?id=17381
48673        [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
48674
48675        This patch resolves the regression for the GTK+ port.
48676
48677        * platform/network/curl/ResourceHandleManager.cpp:
48678        (WebCore::parseDataUrl):
48679
486802008-02-18  Darin Adler  <darin@apple.com>
48681
48682        Reviewed by Sam.
48683
48684        * platform/network/win/ResourceHandleWin.cpp:
48685        (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
48686        (WebCore::ResourceHandle::start): Ditto.
48687
486882008-02-18  Darin Adler  <darin@apple.com>
48689
48690        Reviewed by Sam.
48691
48692        * platform/network/win/CookieJarWin.cpp:
48693        (WebCore::setCookies): Use String instead of DeprecatedString.
48694        (WebCore::cookies): Ditto.
48695
486962008-02-18  Darin Adler  <darin@apple.com>
48697
48698        Reviewed by Sam.
48699
48700        - removed use of DeprecatedString in the Color class
48701
48702        * platform/graphics/Color.cpp:
48703        (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
48704        Used toASCIIHexValue a character at a time rather than using toIntStrict
48705        in base 16 mode.
48706        (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
48707        a color using the gperf-generated findColor function. Saves a memory allocation
48708        vs. the old version that called DeprecatedString::latin1().
48709        (WebCore::Color::setNamedColor): Changed to use findNamedColor.
48710
487112008-02-18  Darin Adler  <darin@apple.com>
48712
48713        Reviewed by Sam.
48714
48715        * editing/htmlediting.cpp:
48716        (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
48717        DeprecatedString.
48718
487192008-02-18  Darin Adler  <darin@apple.com>
48720
48721        Reviewed by Sam.
48722
48723        * editing/SelectionController.cpp:
48724        (WebCore::SelectionController::debugRenderer): Changed to use String instead of
48725        DeprecatedString.
48726
487272008-02-18  Darin Adler  <darin@apple.com>
48728
48729        Reviewed and landed by Sam.
48730
48731        Remove DeprecatedStringList.
48732
48733        * GNUmakefile.am:
48734        * WebCore.pro:
48735        * WebCore.vcproj/WebCore.vcproj:
48736        * WebCore.xcodeproj/project.pbxproj:
48737        * WebCoreSources.bkl:
48738        * editing/markup.cpp:
48739        * platform/DeprecatedStringList.cpp: Removed.
48740        * platform/DeprecatedStringList.h: Removed.
48741        * platform/mac/DeprecatedStringListMac.mm: Removed.
48742
487432008-02-18  Darin Adler  <darin@apple.com>
48744
48745        Reviewed by Sam.
48746
48747        * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
48748        This will ease the way some day if we decide to use an enum instead of int; otherwise
48749        we'll have a ton of "unhandled enum value" warnings here.
48750
487512008-02-18  Alp Toker  <alp@atoker.com>
48752
48753        Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
48754        with older GTK+ versions for now.
48755
48756        * platform/gtk/PasteboardGtk.cpp:
48757        (WebCore::Pasteboard::writeSelection):
48758
487592008-02-18  Darin Adler  <darin@apple.com>
48760
48761        Reviewed by Sam.
48762
48763        * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
48764        in the future in WebKit.
48765
487662008-02-18  Darin Adler  <darin@apple.com>
48767
48768        Reviewed by Sam.
48769
48770        * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
48771        for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
48772        files would not be regenerated if the scripts were changed (but would if SVG was
48773        disabled).
48774
487752008-02-18  Alexey Proskuryakov  <ap@webkit.org>
48776
48777        Suggested by Darin.
48778
48779        * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
48780        conversion via UString (as in bug 17418).
48781
487822008-02-18  Jon Honeycutt  <jhoneycutt@apple.com>
48783
48784        Reviewed by Darin.
48785
48786        <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
48787        slow script Flash 9 dialog at http://www.kidzui.com
48788
48789        When navigating to a new page, we stop all outstanding PluginStreams.
48790        Flash hangs in the call to NPP_URLNotify. It eventually displays the
48791        "slow script" dialog, which relinquishes control to the system. While
48792        this dialog is running, the request we are in the process of cancelling
48793        completes, and we re-enter Flash to deliver the data. When the dialog
48794        is dismissed, the internal state of Flash has changed, and Flash
48795        crashes with a null dereference.
48796
48797        To work around this, we can defer loading before entering plug-in code,
48798        so that even if a plug-in yields to the system, we won't get callbacks
48799        while we're handling a callback.
48800
48801        * plugins/PluginStream.cpp:
48802        (WebCore::PluginStream::startStream): Defers loads while calling into
48803        plug-in.
48804        (WebCore::PluginStream::destroyStream): Same.
48805        (WebCore::PluginStream::deliverData): Same.
48806        (WebCore::PluginStream::didFail): Protect 'this' from deletion by
48807        destroyStream. Null out m_loader only after destroyStream returns.
48808        (WebCore::PluginStream::didFinishLoading): Same.
48809
488102008-02-18  Alexey Proskuryakov  <ap@webkit.org>
48811
48812        Reviewed by Darin.
48813
48814        http://bugs.webkit.org/show_bug.cgi?id=17418
48815        REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
48816
48817        * platform/win/ClipboardWin.cpp:
48818        (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
48819        as an implicit conversion uses UString and thus needs a JSLock.
48820
488212008-02-17  Sam Weinig  <sam@webkit.org>
48822
48823        Roll out r30360.
48824
48825        * loader/FrameLoader.cpp:
48826        (WebCore::FrameLoader::changeLocation):
48827
488282008-02-17  Sam Weinig  <sam@webkit.org>
48829
48830        Mac build fix.
48831
48832        * WebCore.xcodeproj/project.pbxproj:
48833
488342008-02-17  Alp Toker  <alp@atoker.com>
48835
48836        Attempt to fix the Wx build (has been broken all weekend).
48837
48838        Stub out some graphics functions.
48839
48840        * platform/graphics/wx/GraphicsContextWx.cpp:
48841        (WebCore::GraphicsContext::beginPath):
48842        (WebCore::GraphicsContext::addPath):
48843        * platform/graphics/wx/PathWx.cpp:
48844        (WebCore::Path::isEmpty):
48845
488462008-02-17  Julien Chaffraix  <julien.chaffraix@gmail.com>
48847
48848        Reviewed by Alexey Proskuryakov.
48849
48850        http://bugs.webkit.org/show_bug.cgi?id=16989
48851        bug 16989 : Add send() flag checks in XmlHttpRequest
48852
48853        Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
48854        perform the cancellation and is called mainly from internal methods.
48855
48856        Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
48857               http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
48858               http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
48859
48860        * xml/XMLHttpRequest.cpp:
48861        (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
48862        (WebCore::XMLHttpRequest::send): Added m_loader check
48863        (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
48864        in the spec
48865
48866        (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
48867        (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
48868
48869        (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
48870        (WebCore::XMLHttpRequest::willSendRequest): Ditto
48871        (WebCore::XMLHttpRequest::cancelRequests): Ditto
48872        (WebCore::XMLHttpRequest::detachRequests): Ditto
48873        * xml/XMLHttpRequest.h: Added the private internalAbort method
48874
488752008-02-17  Sam Weinig  <sam@webkit.org>
48876
48877        Reviewed by Dan Bernstein.
48878
48879        Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
48880        document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
48881
48882        - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
48883
48884        * DerivedSources.make:
48885        Generate Objective-C binding for DOMProgressEvent which was missing.
48886
48887        * WebCore.xcodeproj/project.pbxproj:
48888        Add missing DOMProgressEvent files to the project.
48889
48890        * bindings/js/JSEventCustom.cpp:
48891        (WebCore::toJS):
48892        Clean up and add case for SVGZoomEvent that was missing.
48893
48894        * bindings/objc/DOMEvents.mm:
48895        (+[DOMEvent _wrapEvent:WebCore::]):
48896        Clean up and add cases for ProgressEvent and MessageEvent that were missing.
48897
48898        * dom/Document.cpp:
48899        (WebCore::Document::createEvent):
48900        Add case for MessageEvent.
48901
489022008-02-17  Adam Treat  <treat@kde.org>
48903
48904        Reviewed by Eric Seidel.
48905
48906        http://bugs.webkit.org/show_bug.cgi?id=17008
48907        Meta refresh does not work with cache turned off
48908
48909        Fix for issue noticed on http://adserver.vivox.com/2
48910
48911        * loader/FrameLoader.cpp:
48912        (WebCore::FrameLoader::changeLocation):
48913
489142008-02-17  Alp Toker  <alp@atoker.com>
48915
48916        Reviewed by Sam Weinig.
48917
48918        Fix for change made in r30355. Issue noticed by İsmail Dönmez.
48919
48920        Verify SSL certs by default, but allow checks to be disabled with an
48921        environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
48922
48923        * platform/network/curl/ResourceHandleManager.cpp:
48924        (WebCore::ResourceHandleManager::startJob):
48925
489262008-02-17  Bin Chen  <binary.chen@gmail.com>
48927
48928        Reviewed by Alp Toker.
48929
48930        http://bugs.webkit.org/show_bug.cgi?id=17404
48931        Bug 17404: curl certification problem
48932
48933        Disable SSL cert verification until we have a way of distributing
48934        certs and/or reporting SSL errors to the user.
48935
48936        * platform/network/curl/ResourceHandleManager.cpp:
48937        (WebCore::ResourceHandleManager::startJob):
48938
489392008-02-17  Alp Toker  <alp@atoker.com>
48940
48941        Reviewed by Mark Rowe.
48942
48943        DevHelp fails to load local files; URL truncated by one character.
48944
48945        Fix a file:// URL regression introduced in KURL.cpp r30243.
48946
48947        * platform/KURL.cpp:
48948        (WebCore::KURL::KURL):
48949
489502008-02-17  Dan Bernstein  <mitz@apple.com>
48951
48952        Reviewed by Darin Adler.
48953
48954        - fix http://bugs.webkit.org/show_bug.cgi?id=17033
48955          <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
48956
48957        Test: fast/forms/control-clip-overflow.html
48958
48959        * rendering/RenderFlow.cpp:
48960        (WebCore::RenderFlow::lowestPosition): Account for control clipping.
48961        (WebCore::RenderFlow::rightmostPosition): Ditto.
48962        (WebCore::RenderFlow::leftmostPosition): Ditto.
48963
489642008-02-16  Oliver Hunt  <oliver@apple.com>
48965
48966        Reviewed by Eric S.
48967
48968        Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
48969
48970        Use cross-platform code to determine the dirty rects for
48971        fill and stroke operations
48972
48973        * html/CanvasRenderingContext2D.cpp:
48974        (WebCore::CanvasRenderingContext2D::fill):
48975        (WebCore::CanvasRenderingContext2D::stroke):
48976          Added a FIXME as code inspection shows a trivial under-painting
48977          bug, although we currently ignore dirty rect tracking on canvas
48978          and repaint the whole thing anyway.
48979        (WebCore::CanvasRenderingContext2D::fillRect):
48980
489812008-02-16  Sam Weinig  <sam@webkit.org>
48982
48983        Reviewed by Darin Adler.
48984
48985        Take another step in the direction of getting rid of DeprecatedString
48986        by moving all the to{NumericType} off of it.
48987
48988        - Create free functions that take a UChar* buffer and length to do
48989          the string-to-number conversions.  This allows us to avoid two allocations
48990          if we don't already have a String and is consistent with the design we would
48991          like going forward.
48992        - Since the toInt (and family) functions on DeprecatedString were slightly
48993          different than the ones on String (they didn't allow trailing garbage),
48994          an extra set of 'Strict' toInt functions were added that have this behavior.
48995
48996        * platform/graphics/Color.cpp:
48997        (WebCore::Color::parseHexColor):
48998        * platform/text/PlatformString.h:
48999        * platform/text/String.cpp:
49000        (WebCore::String::percentage):
49001        (WebCore::String::toIntStrict):
49002        (WebCore::String::toUIntStrict):
49003        (WebCore::String::toInt64Strict):
49004        (WebCore::String::toUInt64Strict):
49005        (WebCore::String::toUInt):
49006        (WebCore::String::toDouble):
49007        (WebCore::isCharacterAllowedInBase):
49008        (WebCore::toIntegralType):
49009        (WebCore::lengthOfCharactersAsInteger):
49010        (WebCore::charactersToIntStrict):
49011        (WebCore::charactersToUIntStrict):
49012        (WebCore::charactersToInt64Strict):
49013        (WebCore::charactersToUInt64Strict):
49014        (WebCore::charactersToInt):
49015        (WebCore::charactersToUInt):
49016        (WebCore::charactersToInt64):
49017        (WebCore::charactersToUInt64):
49018        (WebCore::charactersToDouble):
49019        (WebCore::charactersToFloat):
49020        * platform/text/StringImpl.cpp:
49021        (WebCore::parseLength):
49022        (WebCore::StringImpl::toIntStrict):
49023        (WebCore::StringImpl::toUIntStrict):
49024        (WebCore::StringImpl::toInt64Strict):
49025        (WebCore::StringImpl::toUInt64Strict):
49026        (WebCore::StringImpl::toInt):
49027        (WebCore::StringImpl::toUInt):
49028        (WebCore::StringImpl::toInt64):
49029        (WebCore::StringImpl::toUInt64):
49030        (WebCore::StringImpl::toDouble):
49031        (WebCore::StringImpl::toFloat):
49032        * platform/text/StringImpl.h:
49033        * svg/SVGAnimationElement.cpp:
49034        (WebCore::SVGAnimationElement::parseClockValue):
49035        * svg/SVGFETurbulenceElement.cpp:
49036        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
49037
490382008-02-16  Dan Bernstein  <mitz@apple.com>
49039
49040        Reviewed by Sam Weinig.
49041
49042        - fix fixed-pitch font measurement of control characters that render
49043          as zero-width space
49044
49045        Test: fast/text/fixed-pitch-control-characters.html
49046
49047        * rendering/RenderText.cpp:
49048        (WebCore::RenderText::widthFromCache):
49049
490502008-02-16  Kevin Ollivier  <kevino@theolliviers.com>
49051
49052        wx build fix.
49053
49054        * platform/graphics/wx/GraphicsContextWx.cpp:
49055        (WebCore::GraphicsContext::drawImage):
49056
490572008-02-16  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
49058
49059        Reviewed by Alp Toker.
49060
49061        Cross document messaging GTK+/autotools build fix.
49062
49063        * GNUmakefile.am:
49064
490652008-02-15  Oliver Hunt  <oliver@apple.com>
49066
49067        Build fix for Qt and Cairo builds
49068
49069        * platform/graphics/cairo/GraphicsContextCairo.cpp:
49070        (WebCore::GraphicsContext::drawImage):
49071        * platform/graphics/qt/GraphicsContextQt.cpp:
49072
490732008-02-15  Oliver Hunt  <oliver@apple.com>
49074
49075        Reviewed by Dan B.
49076
49077        Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
49078        Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs
49079
49080        Add logic draw(ImageBuffer*) method to GraphicsContext to handle
49081        painting the source canvas content.
49082
49083        * html/CanvasRenderingContext2D.cpp:
49084        (WebCore::CanvasRenderingContext2D::drawImage):
49085        * html/HTMLCanvasElement.cpp:
49086        (WebCore::HTMLCanvasElement::buffer):
49087        * html/HTMLCanvasElement.h:
49088        * platform/graphics/GraphicsContext.h:
49089        * platform/graphics/cairo/GraphicsContextCairo.cpp:
49090        (WebCore::GraphicsContext::drawImage):
49091        * platform/graphics/cg/GraphicsContextCG.cpp:
49092        (WebCore::GraphicsContext::paintBuffer):
49093        (WebCore::GraphicsContext::drawImage):
49094        * platform/graphics/qt/GraphicsContextQt.cpp:
49095        (WebCore::GraphicsContext::drawImage):
49096
490972008-02-15  Kevin Ollivier  <kevino@theolliviers.com>
49098
49099        Reviewed by David Hyatt.
49100
49101        Using GetNativeFontInfoDesc() to generate the hash value was
49102        leading to duplicate entries in the HashMap. Use the font object's
49103        pointer instead.
49104
49105        http://bugs.webkit.org/show_bug.cgi?id=17371
49106
49107        * platform/graphics/wx/FontPlatformData.h:
49108        (WebCore::FontPlatformData::computeHash):
49109
491102008-02-15  Ada Chan  <adachan@apple.com>
49111
49112        When parsing url we get from a CFURLRef, we need to null terminate 
49113        the string for the case when url ends with a '/'.
49114
49115        Reviewed by Darin.
49116
49117        * platform/cf/KURLCFNet.cpp:
49118        (WebCore::KURL::KURL):
49119
491202008-02-15  Brady Eidson  <beidson@apple.com>
49121
49122        Reviewed by Darin
49123
49124        Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after
49125        a page has closed or loaded a new document
49126
49127        Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements
49128        a policy of shutting down the databases in a document at the same time.  This includes removing all pending transactions 
49129        in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being
49130        made.
49131
49132        No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already
49133        (crashing, unexpected exceptions and output, etc)
49134
49135        * dom/Document.cpp:
49136        (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already.
49137          Add an assertion to that effect.
49138        (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set
49139        (WebCore::Document::removeOpenDatabase): Remove such a handle
49140        (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document
49141        * dom/Document.h:
49142
49143        * loader/FrameLoader.cpp:
49144        (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O
49145
49146        * platform/MessageQueue.h:
49147        (WebCore::MessageQueue::killed): 
49148
49149        * platform/sql/SQLiteTransaction.cpp:
49150        (WebCore::SQLiteTransaction::stop): Added.  Explicit stop to cut off a transaction so it won't try anymore SQL activity
49151        * platform/sql/SQLiteTransaction.h:
49152
49153        * storage/Database.cpp:
49154        (WebCore::Database::Database):
49155        (WebCore::Database::~Database):
49156        (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the
49157          thread.
49158        (WebCore::Database::stop):  Stop this database, including all queued transactions and callbacks
49159        * storage/Database.h:
49160        (WebCore::Database::stopped):
49161
49162        * storage/DatabaseThread.cpp:
49163        (WebCore::DatabaseThread::terminationRequested):
49164        * storage/DatabaseThread.h:
49165
49166        * storage/SQLTransaction.cpp:
49167        (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed
49168        (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added.  Clears queued statements and clear the next step
49169          when the database has been closed since the last step/callback was run.  Also stops the current SQLite transaction,
49170          if any
49171        (WebCore::SQLTransaction::performNextStep):
49172        (WebCore::SQLTransaction::performPendingCallback):
49173        * storage/SQLTransaction.h:
49174
491752008-02-15  Adele Peterson  <adele@apple.com>
49176
49177        Reviewed by Darin.
49178
49179        Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs
49180
49181        The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus.
49182        We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior).
49183        This change makes the shift-tab behavior match the forward-tab behavior.
49184
49185        If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided.
49186        This is something we should look into and maybe advise the site on in the future.  However, it's a low-risk change to just make tab and shift-tab uniform 
49187        in this respect, so I think this is the way to go for right now.
49188
49189        * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
49190
491912008-02-15  Anders Carlsson  <andersca@apple.com>
49192
49193        Reviewed by Alice.
49194
49195        <rdar://problem/5738678>
49196        REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari
49197        
49198        Use the new CFNetwork functions for setting body parts.
49199        
49200        * platform/network/cf/FormDataStreamCFNet.cpp:
49201        (WebCore::setHTTPBody):
49202        (WebCore::httpBodyFromRequest):
49203
492042008-02-15  Geoffrey Garen  <ggaren@apple.com>
49205
49206        Reviewed by Anders Carlsson.
49207        
49208        Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online
49209        surveys no longer work due to XMLHttpRequest exceptions
49210        
49211        Reverted some exception throwing code from r12194.
49212        
49213        To comply with the W3C draft spec, we used to throw an exception when
49214        trying to access responseText and responseXML at the wrong time, but
49215        that turned out to be a compatibility problem.
49216        
49217        Now, matching Firefox and previous versions of WebKit, we never throw
49218        an exception when accessing responseText or responseXML.
49219        
49220        See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html.
49221
49222        * xml/XMLHttpRequest.cpp:
49223        (WebCore::XMLHttpRequest::getResponseText):
49224        (WebCore::XMLHttpRequest::getResponseXML):
49225
492262008-02-15  Justin Garcia  <justin.garcia@apple.com>
49227
49228        Reviewed by Dan Bernstein.
49229
49230        <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace
49231        
49232        Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667>
49233
49234        * editing/SelectionController.cpp:
49235        (WebCore::SelectionController::nodeWillBeRemoved):
49236
492372008-02-15  Alice Liu  <alice.liu@apple.com>
49238
49239        Reviewed by Darin.
49240
49241        Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run
49242     
49243        Before this patch, Frame::scriptProxy() would only return null in the case that javascript was 
49244        disabled and if the script proxy field wasn't set (which would only be the case if the window 
49245        hasn't loaded anything yet).  Not all callers of scriptProxy() always check for a non-null return 
49246        value.  Those that did check would effectively be checking if javascript was enabled before proceeding.
49247        This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless 
49248        of whether javascript is disabled.  This will mean that callers who don't check for null won't crash.  
49249        Second, callers who did check for null now instead check for javascript being disabled.  This means that 
49250        code paths intended for preventing javascript from being run will be making the correct check.  Another
49251        minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript
49252        is enabled. 
49253
49254        * bindings/js/JSCustomSQLStatementCallback.cpp:
49255        (WebCore::JSCustomSQLStatementCallback::handleEvent):
49256        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
49257        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
49258        * bindings/js/JSCustomSQLTransactionCallback.cpp:
49259        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
49260        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
49261        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
49262        * bindings/js/JSCustomVoidCallback.cpp:
49263        (WebCore::JSCustomVoidCallback::handleEvent):
49264        * bindings/js/JSCustomXPathNSResolver.cpp:
49265        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
49266        * bindings/js/ScheduledAction.cpp:
49267        (WebCore::ScheduledAction::execute):
49268        * bindings/js/kjs_events.cpp:
49269        (WebCore::JSAbstractEventListener::handleEvent):
49270        (WebCore::JSLazyEventListener::parseCode):
49271        * bindings/js/kjs_html.cpp:
49272        (WebCore::runtimeObjectImplementsCall):
49273        * bindings/js/kjs_proxy.cpp:
49274        (WebCore::KJSProxy::isEnabled):
49275        * bindings/js/kjs_proxy.h:
49276        * bindings/js/kjs_window.cpp:
49277        (KJS::Window::retrieveWindow):
49278        (KJS::Window::retrieve):
49279        * dom/Document.cpp:
49280        (WebCore::Document::createHTMLEventListener):
49281        * dom/EventTarget.cpp:
49282        (WebCore::EventTarget::dispatchGenericEvent):
49283        * html/HTMLPlugInElement.cpp:
49284        (WebCore::HTMLPlugInElement::createNPObject):
49285        * html/HTMLScriptElement.cpp:
49286        (WebCore::HTMLScriptElement::evaluateScript):
49287        * html/HTMLTokenizer.cpp:
49288        (WebCore::HTMLTokenizer::parseTag):
49289        (WebCore::HTMLTokenizer::processToken):
49290        * loader/FrameLoader.cpp:
49291        (WebCore::FrameLoader::executeScript):
49292        (WebCore::FrameLoader::userGestureHint):
49293        (WebCore::FrameLoader::open):
49294        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
49295        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
49296        * manual-tests/disable-javascript-reload.html: Added.
49297        * page/Frame.cpp:
49298        (WebCore::Frame::scriptProxy):
49299        (WebCore::Frame::bindingRootObject):
49300        (WebCore::Frame::windowScriptNPObject):
49301        * page/Frame.h:
49302        * page/InspectorController.cpp:
49303        (WebCore::canPassNodeToJavaScript):
49304        * page/mac/FrameMac.mm:
49305        (WebCore::Frame::windowScriptObject):
49306        * svg/SVGDocumentExtensions.cpp:
49307        (WebCore::SVGDocumentExtensions::createSVGEventListener):
49308
493092008-02-15  Dan Bernstein  <mitz@apple.com>
49310
49311        Reviewed by Alexey Proskuryakov.
49312
49313        - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
49314          <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
49315
49316        Test: http/tests/loading/text-content-type-with-binary-extension.html
49317
49318        Refined the workaround for <rdar://problem/5321972> to exclude files
49319        with extensions that are known to be associated with binary MIME types.
49320
49321        * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}.
49322        * platform/network/mac/ResourceResponseMac.mm:
49323        (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the
49324        workaround logic into WebCoreURLResponse.
49325        * platform/network/mac/WebCoreURLResponse.h: Added.
49326        * platform/network/mac/WebCoreURLResponse.mm: Added.
49327        (createBinaryExtensionsSet): Returns a set of extensions known to
49328        belong to MIME types of binary data.
49329        (-[NSURLResponse _webcore_MIMEType]):
49330        (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from
49331        application/octet-stream to text/plain if that is the specified
49332        Content-Type, unless the extension is in the binary extensions set.
49333
493342008-02-15  Dan Bernstein  <mitz@apple.com>
49335
49336        Reviewed by Dave Hyatt.
49337
49338        - fix http://bugs.webkit.org/show_bug.cgi?id=17306
49339          <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently
49340
49341        * manual-tests/transitions.html: Added.
49342        * page/AnimationController.cpp:
49343        (WebCore::CompositeImplicitAnimation::animate): Changed to use the
49344        transition properties of the current style rather than the target style.
49345        (WebCore::AnimationControllerPrivate::get): Changed to not create an
49346        animation if the style does not have transitions.
49347        (WebCore::AnimationController::updateImplicitAnimations): Added code to
49348        return the target style if the current style is not animating.
49349        * rendering/RenderObject.cpp:
49350        (WebCore::RenderObject::setAnimatableStyle): Changed to call
49351        updateImplicitAnimations() even if the current style does not have
49352        transitions, because we may be animating out of a style that had them.
49353
493542008-02-15  Alexey Proskuryakov  <ap@webkit.org>
49355
49356        Rubber-stamped by Darin.
49357
49358        Remove an obsolete WebCore readme file.
49359
49360        * README: Removed.
49361
493622008-02-15  Sam Weinig  <sam@webkit.org>
49363
49364        Reviewed by Darin Adler.
49365
49366        Remove more uses of DeprecatedString in preparation of getting rid of it.
49367
49368        * bridge/mac/WebCoreScriptDebugger.mm:
49369        * css/CSSCursorImageValue.cpp:
49370        (WebCore::isSVGCursorIdentifier):
49371        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
49372        * css/CSSStyleSelector.h:
49373        * dom/Element.cpp:
49374        (WebCore::Element::dump):
49375        (WebCore::Element::formatForDebugger):
49376        * dom/Position.cpp:
49377        (WebCore::Position::debugPosition):
49378        (WebCore::Position::formatForDebugger):
49379        * dom/Range.cpp:
49380        (WebCore::Range::formatForDebugger):
49381        * dom/Text.cpp:
49382        (WebCore::Text::formatForDebugger):
49383        * editing/Selection.cpp:
49384        (WebCore::Selection::debugPosition):
49385        (WebCore::Selection::formatForDebugger):
49386        * editing/SelectionController.cpp:
49387        (WebCore::SelectionController::debugRenderer):
49388        * editing/VisiblePosition.cpp:
49389        (WebCore::VisiblePosition::debugPosition):
49390        * html/HTMLTokenizer.cpp:
49391        (WebCore::HTMLTokenizer::scriptHandler):
49392        (WebCore::HTMLTokenizer::parseTag):
49393        (WebCore::HTMLTokenizer::processToken):
49394        (WebCore::HTMLTokenizer::notifyFinished):
49395        * svg/SVGFontFaceElement.cpp:
49396        (WebCore::mapAttributeToCSSProperty):
49397
493982008-02-15  Adam Roben  <aroben@apple.com>
49399
49400        * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to
49401        regenerate.
49402
494032008-02-15  Adam Roben  <aroben@apple.com>
49404
49405        Try to fix Qt/GTK+ builds
49406
49407        * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional
49408        parts of this file.
49409
494102008-02-15  Darin Adler  <darin@apple.com>
49411
49412        - another Qt build fix
49413
49414        * platform/qt/KURLQt.cpp:
49415        (WebCore::KURL::operator QUrl): Use the characters directly, not ascii().
49416        Eliminate references to urlString.
49417
494182008-02-15  Darin Adler  <darin@apple.com>
49419
49420        - another Qt build fix
49421
49422        * platform/qt/ClipboardQt.cpp:
49423        (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String.
49424
494252008-02-14  Darin Adler  <darin@apple.com>
49426
49427        - another round of build fixes
49428
49429        * platform/KURL.cpp:
49430        (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen).
49431        * platform/network/curl/ResourceHandleManager.cpp:
49432        (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters.
49433
494342008-02-14  Darin Adler  <darin@apple.com>
49435
49436        - added back accidentally-removed files
49437
49438        * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp.
49439        * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h.
49440        * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm.
49441
494422008-02-14  Darin Adler  <darin@apple.com>
49443
49444        - more build fixes
49445
49446        * platform/KURL.cpp:
49447        (WebCore::appendEncodedHostname): Use String to make a QString.
49448        * platform/network/cf/ResourceRequest.h:
49449        (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
49450        * platform/network/curl/ResourceHandleManager.cpp:
49451        (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions.
49452
494532008-02-14  Darin Adler  <darin@apple.com>
49454
49455        - next Qt build fix
49456
49457        * platform/network/qt/ResourceRequest.h:
49458        (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
49459
494602008-02-14  Darin Adler  <darin@apple.com>
49461
49462        - another build fix
49463
49464        * platform/network/curl/ResourceRequest.h:
49465        (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
49466
494672008-02-14  Darin Adler  <darin@apple.com>
49468
49469        - first Qt build fix
49470
49471        * dom/XMLTokenizer.cpp:
49472        (WebCore::XMLTokenizer::endElementNs): Added a missing string() call.
49473
494742008-02-14  Darin Adler  <darin@apple.com>
49475
49476        Reviewed by Eric Seidel.
49477
49478        Based on work by Brett Wilson <brettw@chromium.org>
49479
49480        - fix http://bugs.webkit.org/show_bug.cgi?id=16538
49481          KURL should use String instead of DeprecatedString
49482
49483        - fix http://bugs.webkit.org/show_bug.cgi?id=16485
49484          DocLoader::checkForReload will crash if the URL isNull
49485          and a similar problem in IconDatabase
49486
49487        - fix http://bugs.webkit.org/show_bug.cgi?id=16487
49488          KURL doesn't preserve isNull when constructed with a DeprecatedString
49489
49490        - changed completeURL and various DOM getters to return KURL, to avoid
49491          conversion back and forth from KURL to String
49492
49493        - changed the conversion of KURL to NSURL or NSString to be automatic,
49494          to ease the use of KURL in Objective C DOM bindings, and eliminated
49495          the getNSURL function
49496
49497        - because I had to visit the DOM bindings anyway, eliminated almost all
49498          the use of the KJS namespace for things in WebCore
49499
49500        - fixed HTMLOptionElement constructor to check for undefined rather
49501          than size of the arguments array
49502
49503        - eliminated some other unnecessary uses of DeprecatedString
49504
49505        - changed String::split to take a Vector parameter instead of returning
49506          a Vector, for better performance
49507
49508        - added a couple of missing calls to do layout in SVG image handling;
49509          I was able to reproduce these only because I had broken URLs for a
49510          while -- not sure how to reproduce them now but the changes are
49511          clearly needed
49512
49513        Performance testing shows this to be at least a 1% speedup.
49514
49515        Added a new function protocols to efficiently compare protocols
49516        without case errors and a blankURL function so we don't have to
49517        code "about:blank" in multiple places in the code and don't have to
49518        construct a frash KURL each time. Moved decode_string and encode_string
49519        out of KURL and gave them clearer names.
49520
49521        Made KURL constructors explicit to highlight potentially-expensive
49522        operations and the poor semantics of KURL's constructor that takes
49523        a String.
49524
49525        * WebCore.base.exp: Updated.
49526
49527        * bindings/js/JSAttrCustom.cpp:
49528        (WebCore::JSAttr::setValue): Use protocolIs.
49529        * bindings/js/JSAudioConstructor.h: KJS namespace change.
49530        * bindings/js/JSCSSRuleCustom.cpp:
49531        (WebCore::toJS): Ditto.
49532        * bindings/js/JSCSSValueCustom.cpp:
49533        (WebCore::toJS): Ditto.
49534        * bindings/js/JSDocumentCustom.cpp:
49535        (WebCore::JSDocument::location): Ditto.
49536        (WebCore::JSDocument::setLocation): Updated for KURL change.
49537        (WebCore::toJS): KJS namespace change.
49538        * bindings/js/JSElementCustom.cpp:
49539        (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs.
49540        (WebCore::JSElement::setAttribute): KJS namespace change.
49541        (WebCore::JSElement::setAttributeNode): Ditto.
49542        (WebCore::JSElement::setAttributeNS): Ditto.
49543        (WebCore::JSElement::setAttributeNodeNS): Ditto.
49544        * bindings/js/JSHTMLFrameElementCustom.cpp:
49545        (WebCore::allowSettingJavascriptURL): Use protocolIs.
49546        (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change.
49547        (WebCore::JSHTMLFrameElement::setLocation): Ditto.
49548        * bindings/js/JSHTMLIFrameElementCustom.cpp:
49549        (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs.
49550        * bindings/js/JSHTMLOptionElementConstructor.cpp:
49551        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
49552        (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the
49553        structure a bit and changed checking to check for undefined rather than
49554        number of arguments.
49555        * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change.
49556        * bindings/js/JSLocation.cpp:
49557        (WebCore::JSLocation::put): Eliminated some DeprecatedString use,
49558        and use protocolIs.
49559        (WebCore::jsLocationProtoFuncReplace): Ditto.
49560        (WebCore::jsLocationProtoFuncReload): Ditto.
49561        (WebCore::jsLocationProtoFuncAssign): Ditto.
49562        * bindings/js/JSLocation.h: KJS namespace change.
49563        * bindings/js/JSNamedNodeMapCustom.cpp:
49564        (WebCore::JSNamedNodeMap::canGetItemsForName): Ditto.
49565        (WebCore::JSNamedNodeMap::nameGetter): Ditto.
49566        * bindings/js/JSNamedNodesCollection.cpp:
49567        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Ditto.
49568        * bindings/js/JSNamedNodesCollection.h: Ditto.
49569        * bindings/js/JSXMLHttpRequest.cpp:
49570        (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Removed
49571        DeprecatedString use.
49572        (WebCore::jsXMLHttpRequestPrototypeFunctionSend): Ditto.
49573        * bindings/js/JSXMLHttpRequest.h: Moved this class into the WebCore
49574        namespace.
49575        * bindings/js/JSXSLTProcessor.cpp: Namespace change.
49576        * bindings/js/JSXSLTProcessor.h: Ditto.
49577
49578        * bindings/js/kjs_binding.cpp: Updated for namespace change.
49579        (WebCore::jsStringOrNull): Added an overload for KURL to allow DOM
49580        classes to return KURL even if the DOM expects a string.
49581        (WebCore::jsStringOrUndefined): Ditto.
49582        (WebCore::jsStringOrFalse): Ditto.
49583        * bindings/js/kjs_binding.h: Moved everything into the WebCore
49584        namespace.
49585
49586        * bindings/js/kjs_css.h: Namespace change.
49587        * bindings/js/kjs_events.cpp: Removed an include.
49588        * bindings/js/kjs_events.h: Namespace change.
49589        * bindings/js/kjs_html.h: Namespace change.
49590
49591        * bindings/js/kjs_navigator.cpp: Moved everything into the
49592        WebCore namespace.
49593        * bindings/js/kjs_navigator.h: Ditto.
49594
49595        * bindings/js/kjs_window.cpp:
49596        (KJS::parseModalDialogFeatures): Updated for String::split change.
49597        (KJS::createWindow): Use protocolIs and removed some DeprecatedString.
49598        (KJS::Window::put): Ditto.
49599        (KJS::Window::allowsAccessFrom): Ditto.
49600        (KJS::windowProtoFuncOpen): Ditto.
49601
49602        * bindings/objc/DOM.mm:
49603        (-[DOMElement _getURLAttribute:]): Removed getNSURL call.
49604        * bindings/objc/DOMHTML.mm:
49605        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
49606
49607        * bindings/scripts/CodeGeneratorCOM.pm: Updated includes so conversions from
49608        KURL will work.
49609        * bindings/scripts/CodeGeneratorJS.pm: Updated for namespace changes, and also
49610        updated includes so conversions from KURL will work.
49611        * bindings/scripts/CodeGeneratorObjC.pm: Updated includes so conversions from
49612        KURL will work.
49613
49614        * bridge/mac/WebCoreAXObject.mm:
49615        (-[WebCoreAXObject accessibilityAttributeValue:]): Removed getNSURL call.
49616        Also streamlined the logic.
49617        (AXAttributedStringAppendText): Ditto.
49618
49619        * bridge/mac/WebCoreScriptDebugger.mm:
49620        (toNSString): Tweaked.
49621        (toNSURL): Removed getNSURL call.
49622
49623        * css/CSSImageValue.cpp:
49624        (WebCore::CSSImageValue::image): Removed DeprecatedString use.
49625        * css/CSSImportRule.cpp:
49626        (WebCore::CSSImportRule::insertedIntoParent): Ditto.
49627        * css/CSSParser.cpp:
49628        (WebCore::CSSParser::parseValue): Ditto.
49629        (WebCore::CSSParser::parseContent): Ditto.
49630        (WebCore::CSSParser::parseBackgroundImage): Ditto.
49631        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
49632        (WebCore::CSSParser::parseBorderImage): Ditto.
49633        * css/CSSStyleSelector.cpp:
49634        (WebCore::CSSStyleSelector::setEncodedURL): Ditto.
49635        (WebCore::checkPseudoState): Ditto.
49636        * css/CSSStyleSelector.h: Ditto.
49637
49638        * css/MediaList.cpp:
49639        (WebCore::MediaList::setMediaText): Updated for String::split change.
49640
49641        * css/StyleBase.cpp:
49642        (WebCore::StyleBase::baseURL): Return KURL.
49643        * css/StyleBase.h: DItto.
49644
49645        * dom/Document.cpp:
49646        (WebCore::Document::~Document): Updated for namespace change.
49647        (WebCore::Document::documentURI): Return KURL.
49648        (WebCore::Document::setDocumentURI): Removed DeprecatedString use.
49649        (WebCore::Document::baseURI): Return KURL.
49650        (WebCore::Document::open): Updated to use blankURL.
49651        (WebCore::Document::setURL): Take KURL.
49652        (WebCore::Document::shouldBeAllowedToLoadLocalResources): Updated for
49653        change to use KURL
49654        (WebCore::Document::setBaseURL): Take KURL.
49655        (WebCore::Document::elementSheet): Updated for KURL change.
49656        (WebCore::Document::mappedElementSheet): Ditto.
49657        (WebCore::Document::processHttpEquiv): Ditto.
49658        (WebCore::Document::recalcStyleSelector): Removed use of
49659        DeprecatedString -- also noticed some dead code here!
49660        (WebCore::Document::setCookie): Ditto.
49661        (WebCore::Document::completeURL): Return KURL.
49662        * dom/Document.h: Use KURL instead of String in a few places.
49663
49664        * dom/DocumentType.cpp:
49665        (WebCore::DocumentType::baseURI): Return KURL.
49666        * dom/DocumentType.h: Ditto.
49667
49668        * dom/Element.cpp:
49669        (WebCore::Element::baseURI): Return KURL.
49670        * dom/Element.h: Ditto.
49671
49672        * dom/Node.cpp:
49673        (WebCore::Node::setDocument): Namespace change.
49674        (WebCore::Node::baseURI): Return KURL.
49675        * dom/Node.h: Ditto.
49676
49677        * dom/ProcessingInstruction.cpp:
49678        (WebCore::ProcessingInstruction::checkStyleSheet): Updated for KURL change.
49679        * dom/StyleElement.cpp:
49680        (WebCore::StyleElement::process): Changed to use Vector<UChar> instead of
49681        String for better performance.
49682        (WebCore::StyleElement::createSheet): Removed use of DeprecateString.
49683        * dom/XMLTokenizer.cpp:
49684        (WebCore::XMLTokenizer::endElementNs): Updated for KURL change.
49685        (WebCore::XMLTokenizer::end): Ditto.
49686        (WebCore::xmlDocPtrForString): Removed use of DeprecateString.
49687        * dom/XMLTokenizer.h: Ditto.
49688
49689        * editing/markup.cpp: Moved appendString to PlatformString.h.
49690        (WebCore::appendQuotedURLAttributeValue): Use protocolIs.
49691        (WebCore::completeURLs): Removed DeprecatedString use.
49692        (WebCore::createFragmentFromMarkup): Use blankURL.
49693        (WebCore::fillContainerFromString): Removed DeprecatedString use.
49694        (WebCore::createFragmentFromText): Ditto.
49695
49696        * history/HistoryItem.cpp:
49697        (WebCore::HistoryItem::url): Removed DeprecatedString use.
49698        (WebCore::HistoryItem::originalURL): Ditto.
49699        * history/HistoryItem.h: Removed include.
49700
49701        * html/HTMLAnchorElement.cpp:
49702        (WebCore::HTMLAnchorElement::defaultEventHandler): Removed use of
49703        DeprecatedString.
49704        (WebCore::HTMLAnchorElement::href): Return KURL.
49705        (WebCore::HTMLAnchorElement::hash): Removed DeprecatedString use.
49706        (WebCore::HTMLAnchorElement::host): Ditto.
49707        (WebCore::HTMLAnchorElement::hostname): Ditto.
49708        (WebCore::HTMLAnchorElement::pathname): Ditto.
49709        (WebCore::HTMLAnchorElement::port): Ditto.
49710        (WebCore::HTMLAnchorElement::protocol): Ditto.
49711        (WebCore::HTMLAnchorElement::search): Ditto.
49712        (WebCore::HTMLAnchorElement::toString): Ditto.
49713        * html/HTMLAnchorElement.h: Ditto.
49714        * html/HTMLAppletElement.cpp:
49715        (WebCore::HTMLAppletElement::createRenderer): Updated for KURL change.
49716        * html/HTMLAreaElement.cpp:
49717        (WebCore::HTMLAreaElement::href): Return KURL.
49718        * html/HTMLAreaElement.h: Ditto.
49719        * html/HTMLBaseElement.cpp:
49720        (WebCore::HTMLBaseElement::removedFromDocument): Updated for KURL change.
49721        (WebCore::HTMLBaseElement::process): Removed DeprecatedString use.
49722        * html/HTMLBodyElement.cpp:
49723        (WebCore::HTMLBodyElement::parseMappedAttribute): Updated for KURL change.
49724        * html/HTMLEmbedElement.cpp:
49725        (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed use of
49726        DeprecatedString.
49727        * html/HTMLEmbedElement.h: Removed DeprecatedString use.
49728        * html/HTMLFormElement.cpp:
49729        (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): Use protocolIs.
49730        (WebCore::encodeCString): Updated for change to String::split.
49731        (WebCore::HTMLFormElement::dataEncoding): Ditto.
49732        (WebCore::HTMLFormElement::formData): Removed DeprecatedString use.
49733        (WebCore::HTMLFormElement::isMailtoForm): Use protocolIs.
49734        (WebCore::HTMLFormElement::submit): Updated for KURL change.
49735        (WebCore::HTMLFormElement::reset): Ditto.
49736        * html/HTMLFrameElementBase.cpp:
49737        (WebCore::HTMLFrameElementBase::isURLAllowed): Updated for KURL change
49738        and use equalIgnoringRef instead of doing a setRef to get the same effect.
49739        (WebCore::HTMLFrameElementBase::openURL): Use blankURL.
49740        (WebCore::HTMLFrameElementBase::location): Return KURL.
49741        (WebCore::HTMLFrameElementBase::src): Return KURL.
49742        * html/HTMLFrameElementBase.h: Ditto.
49743        * html/HTMLImageElement.cpp:
49744        (WebCore::HTMLImageElement::parseMappedAttribute): Updated for KURL change.
49745        (WebCore::HTMLImageElement::longDesc): Return KURL.
49746        (WebCore::HTMLImageElement::lowsrc): Return KURL.
49747        (WebCore::HTMLImageElement::src): Return KURL.
49748        * html/HTMLImageElement.h: Ditto. Also removed imageMap() function.
49749        * html/HTMLInputElement.cpp:
49750        (WebCore::HTMLInputElement::src): Return KURL.
49751        * html/HTMLInputElement.h: Ditto.
49752        * html/HTMLLinkElement.cpp:
49753        (WebCore::HTMLLinkElement::parseMappedAttribute): Updated for KURL change.
49754        (WebCore::HTMLLinkElement::tokenizeRelAttribute): Updated for String::split change.
49755        (WebCore::HTMLLinkElement::href): Return KURL.
49756        * html/HTMLLinkElement.h: Ditto.
49757        * html/HTMLMediaElement.cpp:
49758        (WebCore::HTMLMediaElement::src): Return KURL.
49759        (WebCore::HTMLMediaElement::pickMedia): Updated for KURL change.
49760        * html/HTMLMediaElement.h: Ditto.
49761        * html/HTMLObjectElement.cpp:
49762        (WebCore::HTMLObjectElement::isImageType): Use protocolIs.
49763        (WebCore::HTMLObjectElement::data): Return KURL.
49764        * html/HTMLObjectElement.h: Ditto.
49765        * html/HTMLOptGroupElement.cpp:
49766        (WebCore::HTMLOptGroupElement::groupLabelText): Removed DeprecatedString use.
49767        * html/HTMLParser.cpp:
49768        (WebCore::HTMLParser::reportErrorToConsole): Updated for KURL change.
49769        * html/HTMLScriptElement.cpp:
49770        (WebCore::HTMLScriptElement::insertedIntoDocument): Ditto.
49771        (WebCore::HTMLScriptElement::text): Changed to use Vector<UChar> instead of
49772        String for better performance.
49773        (WebCore::HTMLScriptElement::src): Return KURL.
49774        * html/HTMLScriptElement.h: Ditto.
49775        * html/HTMLSourceElement.cpp:
49776        (WebCore::HTMLSourceElement::src): Return KURL.
49777        * html/HTMLSourceElement.h: Ditto.
49778        * html/HTMLTableElement.cpp:
49779        (WebCore::HTMLTableElement::parseMappedAttribute): Updated for KURL change.
49780        * html/HTMLTablePartElement.cpp:
49781        (WebCore::HTMLTablePartElement::parseMappedAttribute): Updated for KURL change.
49782        * html/HTMLTextAreaElement.cpp:
49783        (WebCore::HTMLTextAreaElement::setValue): Removed DeprecatedString use.
49784        * html/HTMLTokenizer.cpp:
49785        (WebCore::HTMLTokenizer::scriptExecution): Ditto.
49786        (WebCore::HTMLTokenizer::notifyFinished): Use protocolIs.
49787        * html/HTMLVideoElement.cpp:
49788        (WebCore::HTMLVideoElement::poster): Return KURL.
49789        * html/HTMLVideoElement.h: Ditto.
49790        * html/HTMLViewSourceDocument.cpp:
49791        (WebCore::HTMLViewSourceDocument::addText): Updated for String::split change.
49792
49793        * loader/DocLoader.cpp:
49794        (WebCore::DocLoader::checkForReload): Add an explicit check for an empty URL
49795        here to avoid problems using its string as a hash table key later.
49796        (WebCore::DocLoader::requestResource): Removed DeprecatedString use.
49797
49798        * loader/FTPDirectoryDocument.cpp:
49799        (WebCore::FTPDirectoryTokenizer::createTDForFilename): Updated for KURL change.
49800        (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Removed use of
49801        DeprecatedString.
49802
49803        * loader/FrameLoader.cpp:
49804        (WebCore::FrameLoader::requestFrame): Use protocolIs.
49805        (WebCore::FrameLoader::loadSubframe): Use blankURL.
49806        (WebCore::FrameLoader::submitForm): Use protocolIs and removed use of
49807        DeprecatedString.
49808        (WebCore::FrameLoader::iconURL): Return KURL. Use protcolIs.
49809        (WebCore::FrameLoader::didOpenURL): Use protocolIs.
49810        (WebCore::FrameLoader::didExplicitOpen): Use blankURL.
49811        (WebCore::FrameLoader::executeIfJavaScriptURL): Use protocolIs.
49812        Update for name change to decodeURLEscapeSequences.
49813        (WebCore::FrameLoader::receivedFirstData): Updated for KURL changes.
49814        (WebCore::FrameLoader::begin): Removed DeprecatedString use.
49815        Renamed baseurl to baseURL. Updated to use KURL more.
49816        (WebCore::FrameLoader::gotoAnchor): Removed use of encodedHtmlRef
49817        function, which is no different from ref.
49818        (WebCore::FrameLoader::completeURL): Updated for KURL change.
49819        (WebCore::FrameLoader::scheduleLocationChange): Ditto.
49820        (WebCore::FrameLoader::canCachePage): Use protocolIs.
49821        (WebCore::FrameLoader::updatePolicyBaseURL): Update for KURL change.
49822        (WebCore::FrameLoader::setPolicyBaseURL): Take KURL.
49823        (WebCore::FrameLoader::startRedirectionTimer): Removed use of
49824        DeprecatedString.
49825        (WebCore::FrameLoader::load): Use protocolIs.
49826        (WebCore::FrameLoader::shouldHideReferrer): Use protocolIs.
49827        (WebCore::FrameLoader::shouldAllowNavigation): Updated for KURL change.
49828        (WebCore::FrameLoader::commitProvisionalLoad): Use blankURL.
49829        (WebCore::FrameLoader::open): Use protcolIs.
49830        (WebCore::FrameLoader::createHistoryItem): Use blankURL.
49831        (WebCore::FrameLoader::createJavaAppletWidget): Updated for KURL change.
49832        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Removed
49833        DeprecatedString use.
49834        * loader/FrameLoader.h: Ditto.
49835
49836        * loader/ImageDocument.cpp:
49837        (WebCore::ImageDocument::createDocumentStructure): Updated for KURL change.
49838        * loader/PluginDocument.cpp:
49839        (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
49840
49841        * loader/icon/IconDatabase.cpp:
49842        (WebCore::IconDatabase::iconForPageURL): Added a check for an empty URL
49843        before trying to use it as a hash table key.
49844
49845        * loader/icon/IconLoader.h: Tweaked includes.
49846
49847        * loader/loader.cpp:
49848        (WebCore::Loader::servePendingRequests): Use protcolIs. Also removed some
49849        code to set up a local variable that is never used (and a DeprecatedString
49850        on to boot!).
49851
49852        * loader/mac/LoaderNSURLExtras.m:
49853        (suggestedFilenameWithMIMEType): Removed unnecessary typecast.
49854
49855        * page/ContextMenuController.cpp: Removed include.
49856
49857        * page/mac/EventHandlerMac.mm:
49858        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
49859        Use protocolIs.
49860
49861        * page/mac/WebCoreFrameBridge.mm:
49862        (-[WebCoreFrameBridge URLWithAttributeString:]): Removed getNSURL call.
49863        (-[WebCoreFrameBridge baseURL]): Ditto.
49864
49865        * platform/KURL.cpp:
49866        (WebCore::isSchemeFirstChar): Fixed bug in handling of values >= 0x80.
49867        (WebCore::isSchemeChar): Ditto.
49868        (WebCore::isPathSegmentEndChar): Ditto.
49869        (WebCore::hexDigitValue): Changed parameter type to UChar.
49870        (WebCore::copyASCII): Added.
49871        (WebCore::findFirstOf): Added.
49872        (WebCore::KURL::protocolIs): Added.
49873        (WebCore::KURL::KURL): Tightened logic up quite a bit. Changed parameter
49874        types from DeprecatedString to String.
49875        (WebCore::KURL::init): Changed parameter type to String. Preserved the
49876        passed-in string even if the base is invalid. Cleaned up logic to determine
49877        if the originalString should be pased in to the parse function. Simplified
49878        by calling the new parse overload that takes String in many cases.
49879        (WebCore::KURL::lastPathComponent): Return String.
49880        (WebCore::KURL::protocol): Ditto.
49881        (WebCore::KURL::host): Ditto.
49882        (WebCore::KURL::port): Changed logic to use early return for clarity.
49883        (WebCore::KURL::pass): Return String.
49884        (WebCore::KURL::user): Ditto.
49885        (WebCore::KURL::ref): Ditto.
49886        (WebCore::assertProtocolIsGood): Added.
49887        (WebCore::KURL::protocolIs): Added.
49888        (WebCore::KURL::query): Return String.
49889        (WebCore::KURL::path): Ditto.
49890        (WebCore::KURL::setProtocol): Take String.
49891        (WebCore::KURL::setHost): Ditto.
49892        (WebCore::KURL::setPort): Use String.
49893        (WebCore::KURL::setHostAndPort): Take String.
49894        (WebCore::KURL::setUser): Ditto.
49895        (WebCore::KURL::setPass): Ditto.
49896        (WebCore::KURL::setRef): Ditto.
49897        (WebCore::KURL::setQuery): Ditto.
49898        (WebCore::KURL::setPath): Ditto.
49899        (WebCore::KURL::prettyURL): Return String. Use Vector<UChar> to build it.
49900        (WebCore::decodeURLEscapeSequences): Renamed from KURL::decode_string.
49901        Return String. Use Vector<UChar> to build it.
49902        (WebCore::KURL::isLocalFile): Use protocolIs.
49903        (WebCore::KURL::parse): Added an overload that takes a String to replace
49904        the use of DeprecatedString::ascii at various call sites. Updated for
49905        name change (urlString -> m_string).
49906        (WebCore::equalIgnoringRef): Wrote a new implementation that doesn't
49907        do any allocation.
49908        (WebCore::encodeWithURLEscapeSequences): Renamed from KURL::encode_string.
49909        Return String.
49910        (WebCore::appendEncodedHostname): Added. Replaces encodeHostname and
49911        avoids the need to allocate a string.
49912        (WebCore::findHostnamesInMailToURL): Update to use findFirstOf instead of
49913        regular expressions.
49914        (WebCore::findHostnameInHierarchicalURL): Ditto.
49915        (WebCore::encodeHostnames): Use protocolIs and the other helpers above.
49916        (WebCore::encodeRelativeString): Changed to put result into a CharBuffer.
49917        (WebCore::substituteBackslashes): Updated to use String.
49918        (WebCore::KURL::copyToBuffer): Added.
49919        (WebCore::protocolIs): Added.
49920        (WebCore::blankURL): Added.
49921        (WebCore::KURL::print): Updated.
49922        * platform/KURL.h: Added a number of comments. Reorganized the header a bit.
49923        Made the string constructors explicit. Changed to use String instead of
49924        DeprecatedString. Removed encodedHTMLRef. Renamed and added a few functions.
49925
49926        * platform/cf/KURLCFNet.cpp:
49927        (WebCore::KURL::KURL): Streamlined the logic a bit.
49928        (WebCore::KURL::createCFURL): Changed to use copyToBuffer.
49929
49930        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
49931        (WebCore::MediaPlayerPrivate::createQTMovie): Removed getNSURL call.
49932        Use protocolIs.
49933        * platform/mac/ClipboardMac.mm:
49934        (WebCore::ClipboardMac::declareAndWriteDragImage): Removed getNSURL call.
49935        * platform/mac/CookieJar.mm:
49936        (WebCore::cookies): Removed getNSURL call.
49937        (WebCore::setCookies): Removed getNSURL call.
49938        * platform/mac/KURLMac.mm:
49939        (WebCore::KURL::KURL): Streamlined the logic a bit.
49940        * platform/mac/PasteboardMac.mm:
49941        (WebCore::Pasteboard::writeURL): Removed getNSURL call.
49942        (WebCore::Pasteboard::writeImage): Ditto.
49943        * platform/mac/SSLKeyGeneratorMac.mm:
49944        (WebCore::signedPublicKeyAndChallengeString): Ditto.
49945
49946        * platform/network/HTTPParsers.cpp:
49947        (WebCore::filenameFromHTTPContentDisposition): Updated for String::split.
49948        * platform/network/ResourceHandle.cpp:
49949        (WebCore::ResourceHandle::portAllowed): Use protocolIs.
49950
49951        * platform/network/cf/ResourceErrorCF.cpp:
49952        (WebCore::ResourceError::operator CFErrorRef): Removed deprecatedString call.
49953        * platform/network/curl/ResourceHandleManager.cpp:
49954        (WebCore::headerCallback): Ditto.
49955        (WebCore::parseDataUrl): Use String instead of DeprecatedString.
49956        (WebCore::ResourceHandleManager::startJob): Updated for KURL changes.
49957        * platform/network/mac/ResourceErrorMac.mm:
49958        (WebCore::ResourceError::operator NSError*): Removed getNSURL call.
49959        * platform/network/mac/ResourceRequest.h:
49960        (WebCore::ResourceRequest::ResourceRequest): Removed DeprecatedString use.
49961        * platform/network/mac/ResourceRequestMac.mm:
49962        (WebCore::ResourceRequest::doUpdatePlatformRequest): Removed getNSURL call.
49963        * platform/network/mac/ResourceResponseMac.mm:
49964        (WebCore::ResourceResponse::nsURLResponse): Removed getNSURL call.
49965
49966        * platform/qt/ClipboardQt.cpp:
49967        (WebCore::ClipboardQt::writeURL): Removed deprecatedString call.
49968
49969        * platform/text/CString.h:
49970        (WebCore::CStringBuffer::length): Fixed size_t/unsigned mismatch to make it
49971        possible to compile this on Windows with higher warning level
49972
49973        * platform/text/PlatformString.h: Updated split to modify a result parameter
49974        rather than returning a Vector. Added charactersAreAllASCII and an append
49975        function that appends a String to a Vector<UChar>.
49976        * platform/text/String.cpp:
49977        (WebCore::String::split): Updated.
49978
49979        * platform/win/BString.cpp:
49980        (WebCore::BString::BString): Added conversion from KURL.
49981        * platform/win/BString.h: Ditto.
49982
49983        * platform/win/ClipboardUtilitiesWin.cpp:
49984        (WebCore::markupToCF_HTML): Removed use of deprecatedString.
49985        * platform/win/ClipboardWin.cpp:
49986        (WebCore::filesystemPathFromUrlOrTitle): Ditto.
49987        (WebCore::createGlobalHDropContent): Ditto.
49988        (WebCore::ClipboardWin::setData): Ditto.
49989        (WebCore::ClipboardWin::writeRange): Ditto.
49990        * platform/win/PasteboardWin.cpp:
49991        (WebCore::Pasteboard::writeSelection): Ditto.
49992        * plugins/PluginStream.cpp:
49993        (WebCore::PluginStream::startStream): Ditto.
49994        (WebCore::PluginStream::destroyStream): Ditto.
49995        * plugins/win/PluginViewWin.cpp:
49996        (WebCore::scriptStringIfJavaScriptURL): Ditto.
49997        (WebCore::PluginView::performRequest): Ditto.
49998        (WebCore::PluginView::PluginView): Ditto.
49999
50000        * rendering/HitTestResult.cpp:
50001        (WebCore::HitTestResult::absoluteImageURL): Removed DeprecatedString use.
50002        (WebCore::HitTestResult::absoluteLinkURL): Ditto.
50003
50004        * rendering/RenderFrameSet.cpp:
50005        (WebCore::RenderFrameSet::layOutAxis): Fixed comment wording.
50006        * rendering/RenderImage.cpp:
50007        (WebCore::RenderImage::paintReplaced): Removed use of DeperecatedString,
50008        (WebCore::RenderImage::imageMap): Changed to call useMap instead of imageMap;
50009        both do the same thing, and the first is standard DOM.
50010
50011        * rendering/RenderObject.cpp:
50012        (WebCore::RenderObject::addPDFURLRect): Rewrote and streamlined to remove
50013        DeprecatedString use.
50014        * rendering/RenderObject.h: Changed addPDFURLRect to take const IntRect&.
50015
50016        * rendering/RenderPartObject.cpp:
50017        (WebCore::isURLAllowed): Updated for KURL change and use equalIgnoringRef
50018        instead of doing a setRef to get the same effect.
50019        (WebCore::RenderPartObject::updateWidget): Updated for KURL change.
50020
50021        * rendering/RenderText.cpp:
50022        (WebCore::charactersAreAllASCII): Moved the guts to PlatformString.h.
50023
50024        * rendering/SVGRenderSupport.cpp:
50025        (WebCore::renderSubtreeToImage): Added missing call to do layout. I ran
50026        into this while doing some layout tests while URL processing was broken.
50027
50028        * rendering/SVGRenderTreeAsText.h: Removed include.
50029
50030        * svg/SVGImageLoader.cpp:
50031        (WebCore::SVGImageLoader::updateFromElement): Removed DeprecatedString use.
50032
50033        * svg/graphics/SVGImage.cpp:
50034        (WebCore::SVGImage::draw): Added missing call to do layout. I ran
50035        into this while doing some layout tests while URL processing was broken.
50036        (WebCore::SVGImage::dataChanged): Use a null URL rather than an arbitrary
50037        string for the document.
50038
50039        * xml/XMLHttpRequest.cpp:
50040        (WebCore::XMLHttpRequest::getResponseXML): Removed DeprecatedString use.
50041        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): Ditto.
50042        (WebCore::XMLHttpRequest::open): Ditto.
50043        (WebCore::XMLHttpRequest::send):  Namespace change.
50044        (WebCore::XMLHttpRequest::dropProtection): Ditto.
50045        * xml/XMLHttpRequest.h: Removed DeprecatedString use.
50046
50047        * xml/XSLImportRule.cpp:
50048        (WebCore::XSLImportRule::loadSheet): Removed DeprecatedString use.
50049        * xml/XSLStyleSheet.cpp:
50050        (WebCore::XSLStyleSheet::loadChildSheets): Ditto.
50051        (WebCore::XSLStyleSheet::loadChildSheet): Ditto.
50052        * xml/XSLStyleSheet.h: Ditto.
50053        * xml/XSLTProcessor.cpp:
50054        (WebCore::docLoaderFunc): Ditto.
50055        (WebCore::xsltStylesheetPointer): Ditto.
50056        (WebCore::xmlDocPtrFromNode): Ditto.
50057
500582008-02-14  Ada Chan  <adachan@apple.com>
50059
50060        <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp.
50061        
50062        Reviewed by Jon and Darin.
50063
50064        * page/Frame.cpp:
50065        (WebCore::createRegExpForLabels):
50066        (WebCore::Frame::searchForLabelsBeforeElement):
50067        (WebCore::Frame::matchLabelsAgainstElement):
50068
500692008-02-14  Stephanie Lewis  <slewis@apple.com>
50070
50071        Reviewed by Geoff.
50072
50073        Update order files.
50074
50075        * WebCore.order:
50076
500772008-02-14  Oliver Hunt  <oliver@apple.com>
50078
50079        Reviewed by Geoff G and Weinig.
50080
50081        <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar
50082
50083        Revert the portions of r29428 responsible for breaking the ability to
50084        set window.status
50085
50086        * page/DOMWindow.cpp:
50087        (WebCore::DOMWindow::setStatus):
50088        (WebCore::DOMWindow::defaultStatus):
50089        (WebCore::DOMWindow::setDefaultStatus):
50090        * page/DOMWindow.h:
50091        * page/DOMWindow.idl:
50092
500932008-02-14  Anders Carlsson  <andersca@apple.com>
50094
50095        Reviewed by Darin.
50096
50097        <rdar://problem/5721790>
50098        Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com
50099        
50100        Use pointers in the cache map tables. Otherwise when we rehash, 
50101        we will end up destroying Cache objects that node lists might point to.
50102        
50103        * dom/Node.cpp:
50104        (WebCore::NodeListsNodeData::~NodeListsNodeData):
50105        (WebCore::Node::getElementsByName):
50106        (WebCore::Node::getElementsByClassName):
50107
501082008-02-14  Alp Toker  <alp@atoker.com>
50109
50110        Reviewed by Darin.
50111
50112        http://bugs.webkit.org/show_bug.cgi?id=17353
50113        XMLTokenizer installs global libxml2 callbacks that can break client applications
50114
50115        Patch by Mark Rowe (with a few changes).
50116
50117        The xmlRegisterInputCallbacks/xmlRegisterOutputCallbacks done at
50118        init are global so we need to make sure these callbacks only get used
50119        by XMLTokenizer and never by libxml2 calls in user applications.
50120
50121        This patch modifies the match and open functions to only apply when we
50122        are certain the caller is XMLTokenizer by checking globalDocLoader and
50123        ensuring we're on the correct thread.
50124
50125        Some possible issues remain. See the bug report for details.
50126
50127        * dom/XMLTokenizer.cpp:
50128        (WebCore::matchFunc):
50129        (WebCore::openFunc):
50130        (WebCore::createStringParser):
50131
501322008-02-14  Timothy Hatcher  <timothy@apple.com>
50133
50134        Reviewed by Darin Adler.
50135
50136        <rdar://problem/5743768> A deadlock during storage layout tests
50137
50138        Make sure not to hold the m_openDatabaseMapGuard mutex when calling
50139        Database::markAsDeletedAndClose(), since that can cause a deadlock
50140        during the synchronous DatabaseThread call it triggers.
50141
50142        * storage/DatabaseTracker.cpp:
50143        (WebCore::DatabaseTracker::deleteDatabaseFile):
50144
501452008-02-14  Adam Roben  <aroben@apple.com>
50146
50147        Turn on cross-document messaging support by default
50148
50149        Reviewed by Darin.
50150
50151        * Configurations/WebCore.xcconfig:
50152        * WebCore.pro:
50153        * WebCore.vcproj/WebCore.vcproj:
50154
501552008-02-14  Adam Roben  <aroben@apple.com>
50156
50157        Conditionalize cross-document messaging support
50158
50159        The cross-document messaging parts of HTML 5 are in flux and we want
50160        ports to be able to turn off the support as needed.
50161
50162        Note that the support is turned off by default right now. A subsequent
50163        commit will turn it on by default.
50164
50165        Reviewed by Darin.
50166
50167        * GNUmakefile.am:
50168        * WebCore.vcproj/build-generated-files.sh:
50169        * bindings/js/JSDOMWindowCustom.cpp:
50170        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
50171        * bindings/js/JSEventCustom.cpp:
50172        (WebCore::toJS):
50173        * dom/Event.cpp:
50174        (WebCore::Event::isMessageEvent):
50175        * dom/Event.h:
50176        * dom/MessageEvent.cpp:
50177        * dom/MessageEvent.h:
50178        * dom/MessageEvent.idl:
50179        * page/DOMWindow.cpp:
50180        (WebCore::DOMWindow::postMessage):
50181        * page/DOMWindow.h:
50182        * page/DOMWindow.idl:
50183
501842008-02-14  Adam Roben  <aroben@apple.com>
50185
50186        Improve the efficiency of SecurityOriginHash
50187
50188        Reviewed by Alexey.
50189
50190        * platform/SecurityOriginHash.h:
50191        (WebCore::SecurityOriginHash::hash): Now takes a const
50192        RefPtr<SecurityOrigin>& to reduce ref-count churn.
50193        (WebCore::SecurityOriginHash::equal): Ditto.
50194
501952008-02-13  Justin Garcia  <justin.garcia@apple.com>
50196
50197        Reviewed by Oliver Hunt.
50198
50199        Fixes the editing/deleting/5729680.html failure.  It succeeds when run by itself
50200        but fails when run with other tests because FramePrivate's m_selectionGranularity
50201        isn't reset when a Frame receives a new document.  It was also uninitialized in
50202        the constructor.
50203
50204        * loader/FrameLoader.cpp:
50205        (WebCore::FrameLoader::clear): Initialize m_selectionGranularity.
50206        * page/Frame.cpp:
50207        (WebCore::FramePrivate::FramePrivate): Ditto.
50208
502092008-02-13  Jon Honeycutt  <jhoneycutt@apple.com>
50210
50211        Reviewed by Anders.
50212
50213        <rdar://problem/5739282> Hangs after closing video trailer popup with
50214        VLC plugin
50215
50216        VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window
50217        handle.
50218
50219        * plugins/PluginQuirkSet.h: Added new quirk
50220        PluginQuirkDontSetNullWindowHandleOnDestroy.
50221        * plugins/win/PluginViewWin.cpp:
50222        (WebCore::PluginView::stop): Selectively call NPP_SetWindow.
50223        (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in.
50224
502252008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
50226
50227        Reviewed by Alp Toker.
50228
50229        Fix non-SVG builds.
50230
50231        * css/CSSCursorImageValue.cpp:
50232
502332008-02-13  Justin Garcia  <justin.garcia@apple.com>
50234
50235        Reviewed by Adam Roben.
50236
50237        <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space
50238        
50239        * editing/Editor.cpp:
50240        (WebCore::Editor::deleteWithDirection): Fixed a typo.
50241
502422008-02-13  Nikolas Zimmermann  <zimmermann@kde.org>
50243
50244        Reviewed by Oliver.
50245
50246        Actually fix the manual-tests/svg-cursor-changes.svg testcase.
50247        I only reran layout tests when fixing the last issues with the patch,
50248        instead of trying the manual-test :( Fixed.
50249
50250        * css/CSSCursorImageValue.cpp:
50251        (WebCore::CSSCursorImageValue::CSSCursorImageValue):
50252        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
50253        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
50254        * css/CSSCursorImageValue.h:
50255
502562008-02-13  Adam Roben  <aroben@apple.com>
50257
50258        Windows build fix
50259
50260        * css/CSSCursorImageValue.cpp: #include MathExtras.h to get roundf.
50261
502622008-02-13  Nikolas Zimmermann  <zimmermann@kde.org>
50263
50264        Reviewed by Darin & Eric.
50265
50266        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation)
50267
50268        SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore.
50269        SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from
50270        CachedResourceClient itself, handling remote-image acquisation on its own.
50271
50272        RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image"
50273        and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id).
50274
50275        SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself -
50276        instead of storing the CachedImage in the CursorData class, as it's supposed to be.
50277        Because of that several places in WebCore contain special SVG cursor handling - which
50278        is unneeded.
50279
50280        Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId'
50281        from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute
50282        changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute). Now you
50283        can script the mouse cursor location using SVG - the feature anyone has waited for.
50284
50285        Added manual test case: manual-tests/svg-cursor-changes.svg (no support for cursors in DRT)
50286
50287        * css/CSSCursorImageValue.cpp:
50288        (WebCore::isSVGCursorIdentifier):
50289        (WebCore::resourceReferencedByCursorElement):
50290        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
50291        (WebCore::CSSCursorImageValue::updateIfNeeded):
50292        (WebCore::CSSCursorImageValue::image):
50293        * css/CSSCursorImageValue.h:
50294        * css/CSSImageValue.cpp:
50295        (WebCore::CSSImageValue::image):
50296        * css/CSSImageValue.h:
50297        * css/CSSParser.cpp:
50298        (WebCore::CSSParser::parseValue):
50299        * css/CSSStyleSelector.cpp:
50300        (WebCore::CSSStyleSelector::applyProperty):
50301        * manual-tests/svg-cursor-changes.svg: Added.
50302        * page/EventHandler.cpp:
50303        (WebCore::EventHandler::selectCursor):
50304        * rendering/RenderStyle.cpp:
50305        * rendering/RenderStyle.h:
50306        (WebCore::CursorData::operator==):
50307        * svg/SVGCursorElement.cpp:
50308        (WebCore::SVGCursorElement::SVGCursorElement):
50309        (WebCore::SVGCursorElement::~SVGCursorElement):
50310        (WebCore::SVGCursorElement::parseMappedAttribute):
50311        (WebCore::SVGCursorElement::addClient):
50312        (WebCore::SVGCursorElement::removeClient):
50313        (WebCore::SVGCursorElement::svgAttributeChanged):
50314        * svg/SVGCursorElement.h:
50315        (WebCore::SVGCursorElement::isValid):
50316
503172008-02-13  Alp Toker  <alp@atoker.com>
50318
50319        Reviewed by Adam Roben.
50320
50321        Split out pure-cairo Font code to FontCairo.cpp.
50322
50323        Part of the ongoing work to share code with the Win port.
50324
50325        * GNUmakefile.am:
50326        * WebCore.pro:
50327        * platform/graphics/cairo/FontCairo.cpp: Added.
50328        (WebCore::Font::drawGlyphs):
50329        * platform/graphics/gtk/FontGtk.cpp:
50330
503312008-02-13  Kevin Ollivier <kevino@theolliviers.com>
50332
50333        Reviewed by Darin Adler.
50334
50335        Import wx/defs.h to keep windows.h from using ANSI functions
50336        (see note in file for more info) and use the 8-bit string friendly
50337        version of StringImpl::computeHash since we're passing it un UTF8
50338        string. Also, don't cache the hash result.
50339        
50340        http://bugs.webkit.org/show_bug.cgi?id=17321
50341
50342        * config.h:
50343        * platform/graphics/wx/FontPlatformData.h:
50344        (WebCore::FontPlatformData::hash):
50345        (WebCore::FontPlatformData::computeHash):
50346
503472008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
50348
50349        Fix Bug 17220: Illogical dependency between PluginView and
50350        PluginDatabase
50351        
50352        <http://bugs.webkit.org/show_bug.cgi?id=17220>
50353
50354        Reviewed by Adam and Darin.
50355
50356        Rename PluginDatabase::createPluginView to PluginView::create, to make
50357        the illogical dependency between the two, logical
50358        Make PluginDatabase::findPlugin a public method
50359        Update the includes in PluginView and PluginDatabase for the change
50360
50361        * plugins/PluginDatabase.h:
50362        * plugins/PluginView.h:
50363        * plugins/win/PluginDatabaseWin.cpp:
50364        * plugins/win/PluginViewWin.cpp:
50365
503662008-02-13  Adam Roben  <aroben@apple.com>
50367
50368        Build fix
50369
50370        * platform/graphics/cg/GraphicsContextCG.cpp: Added missing #include.
50371
503722008-02-13  Matt Lilek  <webkit@mattlilek.com>
50373
50374        Not reviewed, build fix.
50375
50376        * platform/graphics/cg/GraphicsContextCG.cpp:
50377        (WebCore::GraphicsContext::paintBuffer):
50378
503792008-02-13  Darin Adler  <darin@apple.com>
50380
50381        - try to fix Wx build
50382
50383        * platform/graphics/wx/GraphicsContextWx.cpp:
50384        (WebCore::GraphicsContext::paintBuffer): Added.
50385
50386        * platform/graphics/cairo/GraphicsContextCairo.cpp:
50387        (WebCore::GraphicsContext::paintBuffer): Added missing paintingDisabled() check.
50388        * platform/graphics/cg/GraphicsContextCG.cpp:
50389        (WebCore::GraphicsContext::paintBuffer): Ditto.
50390        * platform/graphics/qt/GraphicsContextQt.cpp:
50391        (WebCore::GraphicsContext::paintBuffer): Ditto.
50392
503932008-02-13  Darin Adler  <darin@apple.com>
50394
50395        - try to fix Wx build
50396
50397        * platform/wx/LocalizedStringsWx.cpp: Add missing include.
50398
503992008-02-11  Darin Adler  <darin@apple.com>
50400
50401        - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
50402          incorrectly due to visibility fix
50403
50404        Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
50405
50406        * WebCore.base.exp: Rolled out change.
50407        * css/CSSMutableStyleDeclaration.cpp:
50408        (WebCore::CSSMutableStyleDeclaration::setProperty): Ditto.
50409        * page/Settings.cpp:
50410        (WebCore::Settings::Settings): Ditto. But keep the initialization of
50411        m_fontRenderingMode.
50412        (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Removed.
50413        * page/Settings.h:
50414        (WebCore::Settings::needsXcodeVisibilityQuirk): Removed.
50415
504162008-02-13  Alexey Proskuryakov  <ap@webkit.org>
50417
50418        Reviewed by Darin.
50419
50420        <rdar://problem/5740042> Database termination issues
50421
50422        Test: storage/close-during-stress-test.html
50423
50424        * dom/Document.cpp:
50425        (WebCore::Document::databaseThread):
50426        * dom/Document.h:
50427        Don't re-create the database thread if it has been already terminated.
50428
50429        * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid
50430        having a hanging reference.
50431
50432        * storage/DatabaseThread.cpp:
50433        (WebCore::DatabaseThread::requestTermination):
50434
50435        * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging.
50436        Transactions are deleted during GC, so it's usually not importatnt to know when it happens.
50437
504382008-02-12  Bernhard Rosenkraenzer  <bero@arklinux.org>
50439
50440        Reviewed by Darin.
50441
50442        - fix http://bugs.webkit.org/show_bug.cgi?id=17340
50443          WebCore/platform/Timer.cpp fails to build with gcc 4.3
50444
50445        * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX.
50446
504472008-02-12  Timothy Hatcher  <timothy@apple.com>
50448
50449        Reviewed by Brady Eidson.
50450
50451        <rdar://problem/5652560> Can't delete database if the website that
50452        uses it has been opened in this session
50453
50454        Close the Database on the database thread before deleting the file.
50455        Tested and works on Windows and Mac.
50456
50457        * platform/sql/SQLiteDatabase.cpp:
50458        (WebCore::SQLiteDatabase::close): Assert we are on the opening thread.
50459        * storage/Database.cpp:
50460        (WebCore::Database::markAsDeletedAndClose): Unschedule any pending
50461        Database tasks, and start and imediate DatabaseCloseTask.
50462        (WebCore::Database::close): Close the SQLDatabase.
50463        * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose.
50464        * storage/DatabaseTask.cpp:
50465        (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task.
50466        (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database.
50467        (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask".
50468        * storage/DatabaseTask.h: Add DatabaseCloseTask.
50469        * storage/DatabaseTracker.cpp:
50470        (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed
50471          markAsDeletedAndClose.
50472
504732008-02-12  Oliver Hunt  <oliver@apple.com>
50474
50475        Endeavour to fix qt and gtk builds
50476
50477        * platform/graphics/cairo/GraphicsContextCairo.cpp:
50478        * platform/graphics/qt/GraphicsContextQt.cpp:
50479
504802008-02-12  Oliver Hunt  <oliver@apple.com>
50481
50482        Reviewed by Eric S.
50483
50484        Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
50485        Remove ifdef's from canvas paint code
50486
50487        By making GraphicsContext aware of the crossplatform ImageBuffer
50488        type we can migrate the ifdef-ified paint code in HTMLCanvasElement
50489        into platform implementations of GraphicsContext.
50490
50491        * html/HTMLCanvasElement.cpp:
50492        (WebCore::HTMLCanvasElement::paint):
50493        * platform/graphics/GraphicsContext.h:
50494        * platform/graphics/cairo/GraphicsContextCairo.cpp:
50495        (WebCore::GraphicsContext::paintBuffer):
50496        * platform/graphics/cg/GraphicsContextCG.cpp:
50497        (WebCore::GraphicsContext::paintBuffer):
50498        * platform/graphics/qt/GraphicsContextQt.cpp:
50499        (WebCore::GraphicsContext::paintBuffer):
50500
505012008-02-12  Brady Eidson  <beidson@apple.com>
50502
50503        Reviewed by Darin Adler
50504
50505        Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback
50506
50507        Layout tests will come shortly with a mess of DRT changes
50508
50509        * platform/SecurityOrigin.cpp:
50510        (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string
50511          as different paths of constructing a SecurityOrigin were causing different hashes for the "same"
50512          SecurityOrigin
50513
50514        * storage/Database.cpp:
50515        (WebCore::Database::changeVersion): Pass in the successCallback
50516        (WebCore::Database::transaction): Ditto
50517
50518        * storage/SQLTransaction.cpp:
50519        (WebCore::SQLTransaction::SQLTransaction):
50520        (WebCore::SQLTransaction::debugStepName):
50521        (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps
50522        (WebCore::SQLTransaction::performPendingCallback): Ditto
50523        (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise
50524          skip straight to cleanupAfterSuccessCallback()
50525        (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then
50526          schedule cleanupAfterSuccessCallback()
50527        (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction
50528        (WebCore::SQLTransaction::handleTransactionError):
50529        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
50530        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
50531        * storage/SQLTransaction.h:
50532
505332008-02-12  Steve Falkenburg  <sfalken@apple.com>
50534
50535        Changes to support merged MIDL output.
50536        
50537        All COM interfaces are now generated to WebKit.h.
50538        
50539        Reviewed by Sam, Ada.
50540
50541        * bindings/scripts/CodeGeneratorCOM.pm:
50542
505432008-02-12  Dan Bernstein  <mitz@apple.com>
50544
50545        Reviewed by Adam Roben.
50546
50547        - fix http://bugs.webkit.org/show_bug.cgi?id=17041
50548          <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel
50549
50550        Revised the system fallback font lookup logic to use MLang font linking
50551        again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>,
50552        for CJK characters, try linking based on a single code page at a time,
50553        starting with the user's default code page (if it is one of the CJK
50554        code pages) followed by the other CJK code pages in a prescribed order
50555        that matches what Firefox does.
50556
50557        * platform/graphics/win/FontCacheWin.cpp:
50558        (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK
50559        code pages, with the user's default code page first.
50560        (WebCore::currentFontContainsCharacter): Factored out of
50561        getFontDataForCharacters().
50562        (WebCore::createMLangFont): Ditto.
50563        (WebCore::FontCache::getFontDataForCharacters):
50564
505652008-02-12  Rodney Dawes  <dobey@wayofthemonkey.com>
50566
50567        Reviewed by Alp Toker.
50568
50569        Add -DMAEMO_CHANGES when the hildon CONFIG option is specified
50570        Add hildon-1 to PKGCONFIG when hildon CONFIG option is specified
50571
50572        * WebCore.pro:
50573
505742008-02-12  Dan Bernstein  <mitz@apple.com>
50575
50576        Reviewed by Timothy Hatcher.
50577
50578        - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds
50579
50580        * platform/graphics/cg/GraphicsContextCG.cpp:
50581        (WebCore::GraphicsContext::setShadow):
50582
505832008-02-12  Brady Eidson  <beidson@apple.com>
50584
50585        Release build fix
50586
50587        * storage/DatabaseTask.cpp:
50588
505892008-02-12  Alexey Proskuryakov <ap@webkit.org> and Brady Eidson <beidson@apple.com>
50590
50591        Reviewed by Brady.
50592
50593        http://bugs.webkit.org/show_bug.cgi?id=17177
50594        <rdar://problem/5729619> Storage tasks are getting lost
50595
50596        <rdar://problem/5729445> REGRESSION: Cannot schedule more than one transaction at a time
50597
50598        <rdar://problem/5729446> Major thread safety issue in Database code
50599
50600        * platform/MessageQueue.h: Added a thread-safe queue abstraction.
50601
50602        * WebCore.vcproj/WebCore.vcproj:
50603        * WebCore.xcodeproj/project.pbxproj:
50604        Added MessageQueue.h.
50605
50606        * dom/Document.cpp:
50607        (WebCore::Document::~Document): Fixed a race condition resulting in a hanging reference.
50608
50609        * storage/Database.idl: Fixed parameter declarations to actually match implementation
50610        (which is custom, so it got out of sync).
50611
50612        * storage/DatabaseTask.h:
50613        (WebCore::DatabaseTask::database):
50614        (WebCore::DatabaseTransactionTask::transaction):
50615        Changed tasks to hold more information internally. Added helpers for better debug logging.
50616
50617        * storage/DatabaseTask.cpp:
50618        (WebCore::DatabaseTask::DatabaseTask):
50619        (WebCore::DatabaseTask::performTask):
50620        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
50621        (WebCore::DatabaseOpenTask::doPerformTask):
50622        (WebCore::DatabaseOpenTask::debugTaskName):
50623        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
50624        (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
50625        (WebCore::DatabaseTransactionTask::doPerformTask):
50626        (WebCore::DatabaseTransactionTask::debugTaskName):
50627        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
50628        (WebCore::DatabaseTableNamesTask::doPerformTask):
50629        (WebCore::DatabaseTableNamesTask::debugTaskName):
50630        Implementation for the above.
50631
50632        (WebCore::DatabaseTask::lockForSynchronousScheduling):
50633        (WebCore::DatabaseTask::waitForSynchronousCompletion):
50634        Fixed a potential race condition: if the task completed before we entered a wait, we'd never
50635        wake up. There was an assertion guarding against this, but no actual guarantee that I could see.
50636
50637        * storage/DatabaseThread.cpp:
50638        (WebCore::DatabaseThread::DatabaseThread):
50639        (WebCore::DatabaseThread::requestTermination):
50640        (WebCore::DatabaseThread::databaseThread):
50641        (WebCore::DatabaseThread::scheduleTask):
50642        (WebCore::DatabaseThread::scheduleImmediateTask):
50643        (WebCore::DatabaseThread::unscheduleDatabaseTasks):
50644        * storage/DatabaseThread.h:
50645        Changed to use MessageQueue.
50646
50647        * storage/Database.cpp:
50648        (WebCore::guidMutex):
50649        (WebCore::guidToVersionMap):
50650        (WebCore::guidToDatabaseMap):
50651        (WebCore::Database::openDatabase):
50652        (WebCore::Database::Database):
50653        (WebCore::Database::~Database):
50654        (WebCore::Database::openAndVerifyVersion):
50655        (WebCore::guidForOriginAndName):
50656        (WebCore::Database::changeVersion):
50657        (WebCore::Database::transaction):
50658        (WebCore::Database::scheduleTransaction):
50659        (WebCore::Database::scheduleTransactionStep):
50660        (WebCore::Database::scheduleTransactionCallback):
50661        (WebCore::Database::version):
50662        (WebCore::Database::deliverPendingCallback):
50663        (WebCore::Database::tableNames):
50664        * storage/Database.h:
50665        Changed m_transactionQueue to a MessageQueue.
50666        Got rid of callback tracking - these can take care of themselves.
50667        Got rid of a DatabaseThread member, as the Document can be asked for it.
50668        Moved private static members and helpers out of the header.
50669        Lost CurrentThreadSetter debug helper on the way. We may need to re-add something like that later.
50670
50671        * storage/SQLTransaction.h:
50672        * storage/SQLTransaction.cpp: Added a lot of debug logging.
50673        (WebCore::SQLTransaction::scheduleToRunStatements): Removed "m_currentStatement = 0" assignment,
50674        as it created a race condition. Everything seems to work better without it, although a real fix
50675        would be to get rid of this variable - it's evil shared data that isn't even protected in any way.
50676
50677        * manual-tests/database-threading-stress-test-2.html: Added.
50678        * manual-tests/database-threading-stress-test.html: Added.
50679
506802008-02-12  Adam Roben  <aroben@apple.com>
50681
50682        Fix Bug 17328: REGRESSION (r30147): Inspector is unstyled on Windows
50683
50684        <http://bugs.webkit.org/show_bug.cgi?id=17328>
50685        <rdar://5737946>
50686
50687        Reviewed by Mitz.
50688
50689        Test: fast/loader/local-css-allowed-in-strict-mode.html
50690
50691        * platform/network/cf/ResourceResponseCFNet.cpp:
50692        (WebCore::ResourceResponse::doUpdateResourceResponse): Add a case for
50693        .css files.
50694
506952008-02-12  Anders Carlsson  <andersca@apple.com>
50696
50697        Build fix.
50698        
50699        * loader/ImageDocument.cpp:
50700
507012008-02-12  Anders Carlsson  <andersca@apple.com>
50702
50703        Reviewed by Mitz.
50704
50705        Make the code that sets the image title cross platform.
50706
50707        * WebCore.xcodeproj/project.pbxproj:
50708        Remove ImageDocumentMac.
50709        
50710        * loader/ImageDocument.cpp:
50711        (WebCore::ImageTokenizer::finish):
50712
50713        * loader/mac/ImageDocumentMac.h: Removed.
50714        * loader/mac/ImageDocumentMac.mm: Removed.
50715        
50716        * page/mac/WebCoreFrameBridge.h:
50717        * page/mac/WebCoreViewFactory.h:
50718        Move imageTitleForFilename:size from the bridge to
50719        the view factory.
50720        
50721        * platform/LocalizedStrings.h:
50722        Add imageTitle.
50723        
50724        * platform/mac/LocalizedStringsMac.mm:
50725        (WebCore::imageTitle):
50726        Have imageTitle call the view factory.
50727        
50728        * platform/qt/Localizations.cpp:
50729        (WebCore::imageTitle):
50730        * platform/wx/LocalizedStringsWx.cpp:
50731        (WebCore::imageTitle):
50732        * platform/gtk/LocalizedStringsGtk.cpp:
50733        (WebCore::imageTitle):
50734        Add stubs.
50735        
507362008-02-12  Oliver Hunt  <oliver@apple.com>
50737
50738        more Qt fixes
50739
50740        * html/HTMLCanvasElement.cpp:
50741        (WebCore::HTMLCanvasElement::paint):
50742
507432008-02-12  Oliver Hunt  <oliver@apple.com>
50744
50745        And another attempt to fixerate Qt
50746
50747        * html/HTMLCanvasElement.cpp:
50748        (WebCore::HTMLCanvasElement::paint):
50749
507502008-02-12  Oliver Hunt  <oliver@apple.com>
50751
50752        Attempt to fix Qt build
50753
50754        * html/HTMLCanvasElement.h:
50755
507562008-02-11  Oliver Hunt  <oliver@apple.com>
50757
50758        Reviewed by Alp Toker.
50759
50760        Make canvas use an ImageBuffer for its backing store
50761
50762        In order to make the canvas implementation less platform dependent
50763        (and thus reduce the current quagmire of ifdefs) we now use an 
50764        ImageBuffer to provide the backing buffer, an immediate consequence
50765        of this is to remove multiple ifdefs in the construction of the
50766        buffer.  This patch allows us to further reduce the platform
50767        dependencies in later patches.
50768
50769
50770        * html/CanvasRenderingContext2D.cpp:
50771        (WebCore::CanvasRenderingContext2D::drawImage):
50772        * html/HTMLCanvasElement.cpp:
50773        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
50774        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
50775        (WebCore::HTMLCanvasElement::reset):
50776        (WebCore::HTMLCanvasElement::paint):
50777        (WebCore::HTMLCanvasElement::createDrawingContext):
50778        (WebCore::HTMLCanvasElement::drawingContext):
50779        (WebCore::HTMLCanvasElement::createPlatformImage):
50780        * html/HTMLCanvasElement.h:
50781
507822008-02-11  Dan Bernstein  <mitz@apple.com>
50783
50784        Reviewed by Dave Hyatt.
50785
50786        - fix http://bugs.webkit.org/show_bug.cgi?id=17320
50787          <rdar://problem/5736953> :last-child does not set the "uses sibling rules" flag
50788
50789        Test: fast/css/last-child-style-sharing.html
50790
50791        * css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all
50792        CSS3 selectors that require it.
50793
507942008-02-11  Sam Weinig  <sam@webkit.org>
50795
50796        Reviewed by Darin Adler.
50797
50798        Make the cross-domain security model more closely match Firefox by always returning the
50799        native built-in functions when accessing functions cross-domain.
50800
50801        Fixes for:
50802        <rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
50803        <rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it
50804
50805        Tests: fast/dom/Window/window-custom-prototype-crash.html
50806               fast/dom/Window/window-function-frame-getter-precedence.html
50807               http/tests/security/cross-frame-access-get-override.html
50808               http/tests/security/cross-frame-access-location-get-override.html
50809               http/tests/security/cross-frame-access-location-get.html
50810               http/tests/security/cross-frame-access-location-put.html
50811
50812        * bindings/js/JSDOMWindowCustom.cpp:
50813        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
50814        - Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or
50815          not it has been overridden, instead of undefined.
50816        - When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable) 
50817          instead of calling the virtual classInfo() method to avoid the unnecessary overhead.
50818        - Allow access to the native toString function cross-domain.  It always returns "[object Window]".
50819        - Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that
50820          the function an overridden function is not inadvertantly returned from the PropertyMap.\
50821
50822        * bindings/js/JSHistoryCustom.cpp:
50823        (WebCore::JSHistory::customGetOwnPropertySlot):
50824        - Implement the same model as described above for the History object, always returning the
50825          native built-in function cross-domain.
50826        - Allow access to the native toString function cross-domain.
50827        - Clean up the code to make it clear that the custom functionality is only there for cross-domain
50828          access.
50829
50830        * bindings/js/JSLocation.cpp:
50831        (WebCore::JSLocation::getOwnPropertySlot):
50832        - Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot
50833          function.  This will help moving to a generated class in the future.
50834        (WebCore::JSLocation::customGetOwnPropertySlot):
50835        - Implement the same model as described above for the Location object, always returning the
50836          native built-in function cross-domain.
50837        - Clean up the code to make it clear that the custom functionality is only there for cross-domain
50838          access.
50839        (WebCore::JSLocation::put):
50840        (WebCore::JSLocation::deleteProperty):
50841        (WebCore::JSLocation::getPropertyNames):
50842        * bindings/js/JSLocation.h:
50843        - Clean up to match the rest of the file a little better.
50844
50845        * bindings/js/kjs_binding.cpp:
50846        (WebCore::allowsAccessFromFrame):
50847        (WebCore::printErrorMessageForFrame):
50848        (WebCore::nonCachingStaticFunctionGetter):
50849        (WebCore::objectToStringFunctionGetter):
50850        * bindings/js/kjs_binding.h:
50851        - Put common functionality related to cross-domain access here to serve as a central shared point.
50852          This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp
50853          and JSLocation.cpp.
50854
50855        * bindings/js/kjs_dom.cpp:
50856        (WebCore::checkNodeSecurity):
50857        - Use the new allowsAccessFromFrame method.
50858
50859        * bindings/js/kjs_window.cpp:
50860        (KJS::Window::childFrameGetter): Cleanup.
50861        (KJS::Window::namedItemGetter): Cleanup.
50862        (KJS::Window::getOwnPropertySlot):
50863        - Do the prototype lookup early to match Firefox in having function lookup have a higher precedence
50864          than the index or shortcut name getters.
50865        - Cleanup function to make it more understandable and slightly more efficient.
50866        (KJS::Window::allowsAccessFrom):
50867        - Add a new variant of this method that takes a reference to a String, which, on failure, will
50868          contain the error message to print out.  The caller can then pass this to printErrorMessage.
50869          This allows for code to check allowsAccessFrom and act on the result without printing out the
50870          error message. For convenience, a version with out the String parameter has been left which 
50871          prints out the message automatically.
50872        (KJS::Window::printErrorMessage):
50873        * bindings/js/kjs_window.h:
50874
508752008-02-11  Darin Adler  <darin@apple.com>
50876
50877        Reviewed by Mitz.
50878
50879        - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
50880          incorrectly due to visibility fix
50881
50882        Added an Xcode-specific quirk.
50883
50884        * WebCore.base.exp: Added export for new Settings function.
50885        * css/CSSMutableStyleDeclaration.cpp:
50886        (WebCore::CSSMutableStyleDeclaration::setProperty): Here's the crazy quirk.
50887        If you try to change the visibilty on a node with the class name tab_content,
50888        instead it will use display:none.
50889        * page/Settings.cpp:
50890        (WebCore::Settings::Settings): Initialize m_needsXcodeVisibilityQuirk. Also
50891        initialize m_fontRenderingMode! This seems like it was a bug before, but we
50892        probably were getting lucky and always getting 0 on Windows, which is the
50893        only place the setting matters.
50894        (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Added.
50895        * page/Settings.h:
50896        (WebCore::Settings::needsXcodeVisibilityQuirk): Added.
50897
508982008-02-11  Timothy Hatcher  <timothy@apple.com>
50899
50900        Reviewed by Brady Eidson.
50901
50902        <rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard
50903
50904        * storage/DatabaseTracker.cpp:
50905        (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap.
50906        (WebCore::DatabaseTracker::origins): Ditto.
50907        (WebCore::DatabaseTracker::setQuota): Ditto.
50908        (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the
50909        origins to call deleteOrigin().
50910        (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap.
50911
509122008-02-11  David Hyatt  <hyatt@apple.com>
50913
50914        Fix for bug 17286, crash accessing a null RenderStyle.  Add a simple null check.
50915
50916        Reviewed by aroben
50917
50918        Added fast/css/empty-generated-content.html
50919
50920        * css/CSSStyleSelector.cpp:
50921        (WebCore::CSSStyleSelector::checkOneSelector):
50922
509232008-02-11  Rob Buis  <buis@kde.org>
50924
50925        Reviewed by David Kilzer.
50926
50927        http://bugs.webkit.org/show_bug.cgi?id=17201
50928        Bug 17201: Use RefPtr in CSSParser::parseFont() to get rid of goto silliness
50929
50930        Gets rid of goto usage in parseFont.
50931
50932        * css/CSSParser.cpp:
50933        (WebCore::CSSParser::parseFont):
50934
509352008-02-11  David Hyatt  <hyatt@apple.com>
50936
50937        Fix for bug 17298, Acid3 text should be black and not red.  Make sure stylesheets with the wrong MIME type
50938        are not accepted in strict mode.
50939
50940        Reviewed by darin
50941
50942        Added http/tests/misc/css-reject-in-strict-mode.html
50943
50944        * css/CSSImportRule.cpp:
50945        (WebCore::CSSImportRule::setCSSStyleSheet):
50946        * css/CSSImportRule.h:
50947        * dom/Document.cpp:
50948        (WebCore::Document::setCSSStyleSheet):
50949        * dom/Document.h:
50950        * dom/ProcessingInstruction.cpp:
50951        (WebCore::ProcessingInstruction::setCSSStyleSheet):
50952        * dom/ProcessingInstruction.h:
50953        * html/HTMLLinkElement.cpp:
50954        (WebCore::HTMLLinkElement::setCSSStyleSheet):
50955        * html/HTMLLinkElement.h:
50956        * html/HTMLMediaElement.cpp:
50957        (WebCore::HTMLMediaElement::pickMedia):
50958        * loader/CachedCSSStyleSheet.cpp:
50959        (WebCore::CachedCSSStyleSheet::ref):
50960        (WebCore::CachedCSSStyleSheet::checkNotify):
50961        (WebCore::CachedCSSStyleSheet::canUseSheet):
50962        * loader/CachedCSSStyleSheet.h:
50963        (WebCore::CachedCSSStyleSheet::sheetText):
50964        * loader/CachedResourceClient.h:
50965        (WebCore::CachedResourceClient::setCSSStyleSheet):
50966        * loader/mac/UserStyleSheetLoader.cpp:
50967        (UserStyleSheetLoader::setCSSStyleSheet):
50968        * loader/mac/UserStyleSheetLoader.h:
50969
509702008-02-11  Adam Roben  <aroben@apple.com>
50971
50972        Fix Bug 14316: Inspector's Console truncates long strings
50973
50974        <http://bugs.webkit.org/show_bug.cgi?id=14316>
50975        <rdar://5357695>
50976
50977        We no longer call Object.describe to format all the output of commands
50978        enetered into the Console. The ConsolePanel object now has a set of
50979        formatting functions that append a formatted representation of the
50980        passed-in object to the passed-in container node.
50981
50982        Reviewed by Sam.
50983
50984        * page/inspector/ConsolePanel.js:
50985        (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of
50986        _outputToNode to _format.
50987        (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use
50988        Object.type to get the type of the object, then call the appropriate
50989        formatting function.
50990        (WebInspector.ConsolePanel._formatvalue): Added.
50991        (WebInspector.ConsolePanel._formatstring): Added. This function
50992        contains the actual fix for the bug, since it doesn't truncate the
50993        string no matter how long it is.
50994        (WebInspector.ConsolePanel._formatregexp): Added.
50995        (WebInspector.ConsolePanel._formatarray): Added. This is a bit more
50996        functional than Object.describe for arrays, since it recursively
50997        formats each item in the array. One advantage of this is that Nodes in
50998        arrays will be linkified instead of just turning into "[Object
50999        HTMLBodyElement]" or similar.
51000        (WebInspector.ConsolePanel._formatnode): Added.
51001        (WebInspector.ConsolePanel._formatobject): Added.
51002        (WebInspector.ConsolePanel.
51003        * page/inspector/utilities.js:
51004        (Object.type): Added. Code was pulled out of Object.describe and
51005        reorganized slightly.
51006        (Object.describe): Call Object.type. There should be no change in
51007        behavior of this function.
51008
510092008-02-11  Alp Toker  <alp@atoker.com>
51010
51011        Wx build fix for breakage introduced in r30142. Spotted by Darin.
51012
51013        * platform/network/curl/ResourceHandleManager.cpp:
51014        (WebCore::parseDataUrl):
51015
510162008-02-11  Brent Fulgham  <bfulgham@gmail.com>
51017
51018        Reviewed and tweaked by Darin
51019
51020        - http://bugs.webkit.org/show_bug.cgi?id=17299
51021          a couple compilation fixes for Cairo/Win32 configuration
51022
51023        * platform/graphics/cairo/ImageSourceCairo.cpp:
51024        (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration.
51025        * rendering/RenderThemeWin.cpp:
51026        (WebCore::prepareForDrawing): Added IntRect parameter.
51027        (WebCore::doneDrawing): Ditto.
51028        (WebCore::RenderThemeWin::paintButton): Ditto.
51029        (WebCore::RenderThemeWin::paintTextField): Ditto.
51030        (WebCore::RenderThemeWin::paintMenuListButton): Ditto.
51031        (WebCore::RenderThemeWin::systemFont): Added.
51032
510332008-02-11  Alp Toker  <alp@atoker.com>
51034
51035        Reviewed by Alexey.
51036
51037        Acid3 data URL parsing fix for the GTK+ port.
51038
51039        Avoid WebCore's base64Decode() when possible since it's not a
51040        general-purpose Base64 decoder and fails on newlines.
51041
51042        * platform/network/curl/ResourceHandleManager.cpp:
51043        (WebCore::parseDataUrl):
51044
510452008-02-11  Darin Adler  <darin@apple.com>
51046
51047        - another Qt build fix
51048
51049        * platform/qt/PopupMenuQt.cpp:
51050        (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor.
51051
510522008-02-10  Darin Adler  <darin@apple.com>
51053
51054        - another Qt build fix (wish the Qt bot wouldn't stop on the first error)
51055
51056        * platform/qt/FileChooserQt.cpp:
51057        (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor.
51058
510592008-02-10  Darin Adler  <darin@apple.com>
51060
51061        - another Qt build fix
51062
51063        * platform/graphics/qt/IconQt.cpp:
51064        (WebCore::Icon::Icon): Added explicit RefCounted constructor.
51065
510662008-02-10  Alp Toker  <alp@atoker.com>
51067
51068        Another Win build fix for r30133 breakage.
51069
51070        * plugins/win/PluginPackageWin.cpp:
51071        (WebCore::PluginPackage::PluginPackage):
51072
510732008-02-10  Alp Toker  <alp@atoker.com>
51074
51075        Build fix GTK+ and prospective build fix for Win breakage introduced
51076        in r30133.
51077
51078        * platform/Cursor.h:
51079        (WebCore::SharedCursor::SharedCursor):
51080        * platform/graphics/gtk/IconGtk.cpp:
51081        (WebCore::Icon::Icon):
51082        * platform/gtk/FileChooserGtk.cpp:
51083        (WebCore::FileChooser::FileChooser):
51084        * platform/gtk/PopupMenuGtk.cpp:
51085        (WebCore::PopupMenu::PopupMenu):
51086
510872008-02-10  Darin Adler  <darin@apple.com>
51088
51089        - try to fix Win, Qt, GTK, and WX builds
51090
51091        * platform/Cursor.h:
51092        (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor.
51093        * platform/graphics/win/IconWin.cpp:
51094        (WebCore::Icon::Icon): Ditto.
51095        * platform/win/FileChooserWin.cpp:
51096        (WebCore::FileChooser::FileChooser): Ditto.
51097        * platform/win/PopupMenuWin.cpp:
51098        (WebCore::PopupMenu::PopupMenu): Ditto.
51099        * platform/wx/TemporaryLinkStubs.cpp:
51100        (FileChooser::FileChooser): Ditto.
51101        (PopupMenu::PopupMenu): Ditto.
51102        (Icon::Icon): Ditto.
51103        * plugins/PluginStream.cpp:
51104        (WebCore::PluginStream::PluginStream): Ditto.
51105
511062008-02-10  David Hyatt  <hyatt@apple.com>
51107
51108        Fix for bug 17082, cssRules should be live.
51109
51110        Reviewed by olliej
51111
51112        Added fast/css/live-cssrules.html
51113
51114        * css/CSSRuleList.cpp:
51115        (WebCore::CSSRuleList::CSSRuleList):
51116        (WebCore::CSSRuleList::length):
51117        (WebCore::CSSRuleList::item):
51118        (WebCore::CSSRuleList::deleteRule):
51119        (WebCore::CSSRuleList::insertRule):
51120        * css/CSSRuleList.h:
51121
511222008-02-10  David Hyatt  <hyatt@apple.com>
51123
51124        Fix for bug 17253.  <iframe> contents need to be reflected into the DOM as a single text node.
51125
51126        Reviewed by olliej
51127
51128        fast/frames/iframe-text-contents.html
51129
51130        * html/HTMLParser.cpp:
51131        (WebCore::HTMLParser::getNode):
51132        * html/HTMLTokenizer.cpp:
51133        (WebCore::HTMLTokenizer::parseSpecial):
51134        (WebCore::HTMLTokenizer::parseComment):
51135        (WebCore::HTMLTokenizer::parseTag):
51136        * html/HTMLTokenizer.h:
51137        (WebCore::HTMLTokenizer::State::inIFrame):
51138        (WebCore::HTMLTokenizer::State::setInIFrame):
51139        (WebCore::HTMLTokenizer::State::inAnySpecial):
51140        (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
51141        (WebCore::HTMLTokenizer::State::):
51142
511432008-02-10  Andrew Wellington  <proton@wiretapped.net>
51144
51145        Reviewed and tweaked by Darin.
51146        
51147        DOMRange.surroundContents throws wrong exception (Acid3 bug)
51148        http://bugs.webkit.org/show_bug.cgi?id=16749
51149        
51150        Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
51151        has offsets in characters.
51152
51153        * dom/Range.cpp:
51154        (WebCore::Range::surroundContents):
51155
511562008-02-10  Darin Adler  <darin@apple.com>
51157
51158        Reviewed by Eric.
51159
51160        - http://bugs.webkit.org/show_bug.cgi?id=17256
51161          Make clients of RefCounted explicitly set the count to 0.
51162
51163        * bindings/js/JSSVGPODTypeWrapper.h:
51164        (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
51165        * css/CSSFontFace.h:
51166        (WebCore::CSSFontFace::CSSFontFace):
51167        * css/CSSRuleList.cpp:
51168        (WebCore::CSSRuleList::CSSRuleList):
51169        * css/CSSSegmentedFontFace.cpp:
51170        (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
51171        * css/Counter.h:
51172        (WebCore::Counter::Counter):
51173        * css/Pair.h:
51174        (WebCore::Pair::Pair):
51175        * css/Rect.h:
51176        (WebCore::Rect::Rect):
51177        * css/StyleBase.h:
51178        (WebCore::StyleBase::StyleBase):
51179        * css/StyleSheetList.cpp:
51180        (WebCore::StyleSheetList::StyleSheetList):
51181        * dom/Attr.cpp:
51182        (WebCore::Attr::Attr):
51183        * dom/Attr.h:
51184        * dom/Attribute.h:
51185        (WebCore::Attribute::Attribute):
51186        * dom/Clipboard.cpp:
51187        (WebCore::Clipboard::Clipboard):
51188        * dom/DOMImplementation.h:
51189        (WebCore::DOMImplementation::DOMImplementation):
51190        * dom/Event.cpp:
51191        (WebCore::Event::Event):
51192        * dom/EventListener.h:
51193        (WebCore::EventListener::EventListener):
51194        * dom/ExceptionBase.cpp:
51195        (WebCore::ExceptionBase::ExceptionBase):
51196        * dom/NamedAttrMap.h:
51197        (WebCore::NamedAttrMap::insertAttribute):
51198        * dom/NamedNodeMap.h:
51199        (WebCore::NamedNodeMap::NamedNodeMap):
51200        * dom/NodeFilter.h:
51201        (WebCore::NodeFilter::NodeFilter):
51202        * dom/NodeFilterCondition.h:
51203        (WebCore::NodeFilterCondition::NodeFilterCondition):
51204        * dom/NodeList.h:
51205        (WebCore::NodeList::NodeList):
51206        * dom/QualifiedName.h:
51207        (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
51208        (WebCore::QualifiedName::ref):
51209        * dom/Range.cpp:
51210        (WebCore::Range::Range):
51211        * dom/RegisteredEventListener.cpp:
51212        (WebCore::RegisteredEventListener::RegisteredEventListener):
51213        * dom/StyledElement.h:
51214        * dom/Traversal.cpp:
51215        (WebCore::Traversal::Traversal):
51216        * editing/EditCommand.cpp:
51217        (WebCore::EditCommand::EditCommand):
51218        * history/BackForwardList.cpp:
51219        (WebCore::BackForwardList::BackForwardList):
51220        * history/CachedPage.cpp:
51221        (WebCore::CachedPage::CachedPage):
51222        * history/HistoryItem.cpp:
51223        (WebCore::HistoryItem::HistoryItem):
51224        * html/CanvasGradient.cpp:
51225        (WebCore::CanvasGradient::CanvasGradient):
51226        * html/CanvasPattern.cpp:
51227        (WebCore::CanvasPattern::CanvasPattern):
51228        * html/CanvasRenderingContext2D.cpp:
51229        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
51230        * html/CanvasStyle.cpp:
51231        (WebCore::CanvasStyle::CanvasStyle):
51232        * html/HTMLCollection.cpp:
51233        (WebCore::HTMLCollection::HTMLCollection):
51234        * html/MediaError.h:
51235        (WebCore::MediaError::MediaError):
51236        * html/TimeRanges.cpp:
51237        (TimeRanges::TimeRanges):
51238        * html/TimeRanges.h:
51239        (WebCore::TimeRanges::TimeRanges):
51240        * html/VoidCallback.h:
51241        (WebCore::VoidCallback::VoidCallback):
51242        * loader/DocumentLoader.cpp:
51243        (WebCore::DocumentLoader::DocumentLoader):
51244        * loader/FormState.cpp:
51245        (WebCore::FormState::FormState):
51246        * loader/ResourceLoader.cpp:
51247        (WebCore::ResourceLoader::ResourceLoader):
51248        * loader/TextResourceDecoder.cpp:
51249        (WebCore::TextResourceDecoder::TextResourceDecoder):
51250        * loader/icon/IconRecord.cpp:
51251        (WebCore::IconRecord::IconRecord):
51252        * page/BarInfo.cpp:
51253        (WebCore::BarInfo::BarInfo):
51254        * page/Console.cpp:
51255        (WebCore::Console::Console):
51256        * page/DOMSelection.cpp:
51257        (WebCore::DOMSelection::DOMSelection):
51258        * page/DOMWindow.cpp:
51259        (WebCore::DOMWindow::DOMWindow):
51260        * page/Frame.cpp:
51261        (WebCore::Frame::Frame):
51262        * page/History.cpp:
51263        (WebCore::History::History):
51264        * page/InspectorController.cpp:
51265        (WebCore::InspectorResource::InspectorResource):
51266        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
51267        * page/Plugin.h:
51268        (WebCore::Plugin::Plugin):
51269        * page/Screen.cpp:
51270        (WebCore::Screen::Screen):
51271        * platform/ArrayImpl.cpp:
51272        (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
51273        * platform/DeprecatedValueListImpl.cpp:
51274        (WebCore::DeprecatedValueListImpl::Private::Private):
51275        * platform/ScrollBar.cpp:
51276        (WebCore::Scrollbar::Scrollbar):
51277        * platform/SharedBuffer.cpp:
51278        (WebCore::SharedBuffer::SharedBuffer):
51279        * platform/graphics/FontFallbackList.cpp:
51280        (WebCore::FontFallbackList::FontFallbackList):
51281        * platform/graphics/FontFamily.cpp:
51282        (WebCore::FontFamily::FontFamily):
51283        * platform/graphics/FontFamily.h:
51284        (WebCore::FontFamily::FontFamily):
51285        * platform/graphics/FontSelector.h:
51286        (WebCore::FontSelector::FontSelector):
51287        (WebCore::FontSelector::~FontSelector):
51288        * platform/graphics/GlyphPageTreeNode.h:
51289        (WebCore::GlyphPage::GlyphPage):
51290        * platform/graphics/mac/IconMac.mm:
51291        (WebCore::Icon::Icon):
51292        * platform/mac/FileChooserMac.mm:
51293        (WebCore::FileChooser::FileChooser):
51294        * platform/mac/PopupMenuMac.mm:
51295        (WebCore::PopupMenu::PopupMenu):
51296        * platform/mac/SharedBufferMac.mm:
51297        (WebCore::SharedBuffer::SharedBuffer):
51298        * platform/network/FormData.cpp:
51299        (WebCore::FormData::FormData):
51300        * platform/network/FormData.h:
51301        (WebCore::FormData::FormData):
51302        * platform/network/ResourceHandle.cpp:
51303        (WebCore::ResourceHandle::ResourceHandle):
51304        * platform/text/CString.h:
51305        (WebCore::CStringBuffer::CStringBuffer):
51306        * platform/text/RegularExpression.cpp:
51307        (WebCore::RegularExpression::Private::Private):
51308        * rendering/RenderStyle.cpp:
51309        (WebCore::StyleSurroundData::StyleSurroundData):
51310        (WebCore::StyleBoxData::StyleBoxData):
51311        (WebCore::StyleVisualData::StyleVisualData):
51312        (WebCore::StyleBackgroundData::StyleBackgroundData):
51313        (WebCore::StyleMarqueeData::StyleMarqueeData):
51314        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
51315        (WebCore::StyleMultiColData::StyleMultiColData):
51316        (WebCore::StyleTransformData::StyleTransformData):
51317        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
51318        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
51319        (WebCore::StyleInheritedData::StyleInheritedData):
51320        * rendering/RenderStyle.h:
51321        (WebCore::TransformOperation::TransformOperation):
51322        (WebCore::CursorList::CursorList):
51323        * rendering/SVGCharacterLayoutInfo.h:
51324        (WebCore::SVGCharOnPath::SVGCharOnPath):
51325        * rendering/SVGRenderStyle.cpp:
51326        (WebCore::SVGRenderStyle::SVGRenderStyle):
51327        * rendering/SVGRenderStyle.h:
51328        (WebCore::SVGRenderStyle::SVGRenderStyle):
51329        * rendering/SVGRenderStyleDefs.cpp:
51330        (StyleFillData::StyleFillData):
51331        (StyleStrokeData::StyleStrokeData):
51332        (StyleStopData::StyleStopData):
51333        (StyleTextData::StyleTextData):
51334        (StyleClipData::StyleClipData):
51335        (StyleMaskData::StyleMaskData):
51336        (StyleMarkerData::StyleMarkerData):
51337        (StyleMiscData::StyleMiscData):
51338        * storage/SQLResultSetRowList.h:
51339        (WebCore::SQLResultSetRowList::SQLResultSetRowList):
51340        * svg/SVGAngle.cpp:
51341        (WebCore::SVGAngle::SVGAngle):
51342        * svg/SVGAnimatedTemplate.h:
51343        (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
51344        * svg/SVGElementInstanceList.cpp:
51345        (WebCore::SVGElementInstanceList::SVGElementInstanceList):
51346        * svg/SVGList.h:
51347        (WebCore::SVGList::SVGList):
51348        (WebCore::SVGPODListItem::SVGPODListItem):
51349        * svg/SVGPathSeg.h:
51350        (WebCore::SVGPathSeg::SVGPathSeg):
51351        * svg/SVGPreserveAspectRatio.cpp:
51352        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
51353        * svg/SVGRenderingIntent.h:
51354        (WebCore::SVGRenderingIntent::SVGRenderingIntent):
51355        * svg/SVGUnitTypes.h:
51356        (WebCore::SVGUnitTypes::SVGUnitTypes):
51357        * svg/graphics/SVGPaintServerGradient.h:
51358        (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
51359        * svg/graphics/SVGResource.cpp:
51360        (WebCore::SVGResource::SVGResource):
51361        * xml/DOMParser.h:
51362        (WebCore::DOMParser::DOMParser):
51363        * xml/XMLHttpRequest.cpp:
51364        (WebCore::XMLHttpRequest::XMLHttpRequest):
51365        * xml/XMLSerializer.h:
51366        (WebCore::XMLSerializer::XMLSerializer):
51367        * xml/XPathEvaluator.h:
51368        (WebCore::XPathEvaluator::XPathEvaluator):
51369        * xml/XPathExpression.h:
51370        (WebCore::XPathExpression::XPathExpression):
51371        * xml/XPathNSResolver.h:
51372        (WebCore::XPathNSResolver::XPathNSResolver):
51373        * xml/XPathResult.cpp:
51374        (WebCore::XPathResult::XPathResult):
51375        * xml/XPathValue.h:
51376        (WebCore::XPath::ValueData::ValueData):
51377        * xml/XSLTProcessor.h:
51378        (WebCore::XSLTProcessor::XSLTProcessor):
51379
513802008-02-09  Kevin Ollivier  <kevino@theolliviers.com>
51381
51382        Reviewed by Eric Seidel.
51383
51384        Calling select() when all the file descriptors are NULL
51385        stops the file download on Windows. As a result, do not
51386        call select() when there are no valid descriptors.
51387
51388        http://bugs.webkit.org/show_bug.cgi?id=17178
51389
51390        * platform/network/curl/ResourceHandleManager.cpp:
51391        (WebCore::ResourceHandleManager::downloadTimerCallback):
51392
513932008-02-09  Dan Bernstein  <mitz@apple.com>
51394
51395        Reviewed by Sam Weinig.
51396
51397        - fix http://bugs.webkit.org/show_bug.cgi?id=17259
51398          Element::recalcStyle() needlessly null-checks the result of styleForElement()
51399
51400        * dom/Element.cpp:
51401        (WebCore::Element::recalcStyle): Removed unneeded null checks.
51402        styleForElement() can never return null.
51403
514042008-02-09  David Hyatt  <hyatt@apple.com>
51405
51406        Fix for bug 17254, nth-* selectors do not work with negative coefficients.
51407
51408        Reviewed by Mitz.
51409
51410        fast/css/negative-nth-child.html
51411
51412        * css/CSSStyleSelector.cpp:
51413        (WebCore::parseNth):
51414
514152008-02-09  David Hyatt  <hyatt@apple.com>
51416
51417        Fix for bug 17203, high CPU usage loading HTML5 spec.  This patch significantly improves the performance
51418        of CSS3 selectors.
51419
51420        (1) Split the notion of being affected by positional rules into "forward" and "backward."  The "forward"
51421        selectors do not need to re-resolve during parsing, since children are appended on the end.  Only the
51422        "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.
51423
51424        (2) Extend childrenChanged to specify whether the children were changed by the parser or not.  This allows
51425        Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when
51426        possible.
51427
51428        (3) Make sure all Elements now know whether or not their children are currently parsing.  Backwards selectors
51429        like last-child will always return false when children are still being parsed.  When an Element finishes
51430        parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.
51431
51432        (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.
51433
51434        (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.
51435
51436        (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
51437        base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).
51438
51439        Reviewed by Eric
51440
51441        * css/CSSStyleSelector.cpp:
51442        (WebCore::CSSStyleSelector::checkSelector):
51443        (WebCore::CSSStyleSelector::checkOneSelector):
51444        * dom/Attr.cpp:
51445        (WebCore::Attr::childrenChanged):
51446        * dom/Attr.h:
51447        * dom/ContainerNode.cpp:
51448        (WebCore::ContainerNode::addChild):
51449        * dom/Document.cpp:
51450        (WebCore::Document::childrenChanged):
51451        * dom/Document.h:
51452        * dom/Element.cpp:
51453        (WebCore::Element::Element):
51454        (WebCore::Element::recalcStyle):
51455        (WebCore::checkFirstChildRules):
51456        (WebCore::checkLastChildRules):
51457        (WebCore::checkEmptyRules):
51458        (WebCore::checkStyleRules):
51459        (WebCore::Element::childrenChanged):
51460        (WebCore::Element::finishParsingChildren):
51461        * dom/Element.h:
51462        (WebCore::Element::finishedParsingChildren):
51463        (WebCore::Element::beginParsingChildren):
51464        * dom/Node.cpp:
51465        * dom/Node.h:
51466        (WebCore::Node::finishParsingChildren):
51467        (WebCore::Node::beginParsingChildren):
51468        (WebCore::Node::childrenChanged):
51469        * dom/StyledElement.cpp:
51470        (WebCore::StyledElement::StyledElement):
51471        * dom/StyledElement.h:
51472        * dom/XMLTokenizer.cpp:
51473        (WebCore::XMLTokenizer::startElementNs):
51474        (WebCore::XMLTokenizer::endElementNs):
51475        * html/HTMLAppletElement.cpp:
51476        (WebCore::HTMLAppletElement::HTMLAppletElement):
51477        (WebCore::HTMLAppletElement::finishParsingChildren):
51478        * html/HTMLAppletElement.h:
51479        * html/HTMLElementFactory.cpp:
51480        (WebCore::objectConstructor):
51481        * html/HTMLGenericFormElement.cpp:
51482        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
51483        * html/HTMLGenericFormElement.h:
51484        * html/HTMLObjectElement.cpp:
51485        (WebCore::HTMLObjectElement::HTMLObjectElement):
51486        (WebCore::HTMLObjectElement::finishParsingChildren):
51487        (WebCore::HTMLObjectElement::childrenChanged):
51488        * html/HTMLObjectElement.h:
51489        * html/HTMLOptGroupElement.cpp:
51490        (WebCore::HTMLOptGroupElement::childrenChanged):
51491        * html/HTMLOptGroupElement.h:
51492        * html/HTMLOptionElement.cpp:
51493        (WebCore::HTMLOptionElement::childrenChanged):
51494        * html/HTMLOptionElement.h:
51495        * html/HTMLParser.cpp:
51496        (WebCore::HTMLParser::insertNode):
51497        (WebCore::HTMLParser::pushBlock):
51498        (WebCore::HTMLParser::popOneBlockCommon):
51499        * html/HTMLScriptElement.cpp:
51500        (WebCore::HTMLScriptElement::childrenChanged):
51501        (WebCore::HTMLScriptElement::finishParsingChildren):
51502        * html/HTMLScriptElement.h:
51503        * html/HTMLSelectElement.cpp:
51504        (WebCore::HTMLSelectElement::childrenChanged):
51505        * html/HTMLSelectElement.h:
51506        * html/HTMLStyleElement.cpp:
51507        (WebCore::HTMLStyleElement::finishParsingChildren):
51508        (WebCore::HTMLStyleElement::childrenChanged):
51509        * html/HTMLStyleElement.h:
51510        * html/HTMLTextAreaElement.cpp:
51511        (WebCore::HTMLTextAreaElement::childrenChanged):
51512        * html/HTMLTextAreaElement.h:
51513        * html/HTMLTitleElement.cpp:
51514        (WebCore::HTMLTitleElement::childrenChanged):
51515        * html/HTMLTitleElement.h:
51516         * rendering/RenderApplet.cpp:
51517        (WebCore::RenderApplet::createWidgetIfNecessary):
51518        * rendering/RenderPartObject.cpp:
51519        (WebCore::RenderPartObject::updateWidget):
51520        * rendering/RenderStyle.cpp:
51521        (WebCore::RenderStyle::RenderStyle):
51522        * rendering/RenderStyle.h:
51523        (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules):
51524        (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules):
51525        (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules):
51526        (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules):
51527        * svg/SVGAnimationElement.cpp:
51528        (WebCore::SVGAnimationElement::finishParsingChildren):
51529        * svg/SVGAnimationElement.h:
51530        * svg/SVGClipPathElement.cpp:
51531        (WebCore::SVGClipPathElement::childrenChanged):
51532        * svg/SVGClipPathElement.h:
51533        * svg/SVGDefinitionSrcElement.cpp:
51534        (WebCore::SVGDefinitionSrcElement::childrenChanged):
51535        * svg/SVGDefinitionSrcElement.h:
51536        * svg/SVGElement.cpp:
51537        (WebCore::SVGElement::finishParsingChildren):
51538        * svg/SVGElement.h:
51539        * svg/SVGFontFaceElement.cpp:
51540        (WebCore::SVGFontFaceElement::childrenChanged):
51541        * svg/SVGFontFaceElement.h:
51542        * svg/SVGFontFaceFormatElement.cpp:
51543        (WebCore::SVGFontFaceFormatElement::childrenChanged):
51544        * svg/SVGFontFaceFormatElement.h:
51545        * svg/SVGFontFaceSrcElement.cpp:
51546        (WebCore::SVGFontFaceSrcElement::childrenChanged):
51547        * svg/SVGFontFaceSrcElement.h:
51548        * svg/SVGFontFaceUriElement.cpp:
51549        (WebCore::SVGFontFaceUriElement::childrenChanged):
51550        * svg/SVGFontFaceUriElement.h:
51551        * svg/SVGGElement.cpp:
51552        (WebCore::SVGGElement::childrenChanged):
51553        * svg/SVGGElement.h:
51554        * svg/SVGGradientElement.cpp:
51555        (WebCore::SVGGradientElement::childrenChanged):
51556        * svg/SVGGradientElement.h:
51557        * svg/SVGMarkerElement.cpp:
51558        (WebCore::SVGMarkerElement::childrenChanged):
51559        * svg/SVGMarkerElement.h:
51560        * svg/SVGMaskElement.cpp:
51561        (WebCore::SVGMaskElement::childrenChanged):
51562        * svg/SVGMaskElement.h:
51563        * svg/SVGPatternElement.cpp:
51564        (WebCore::SVGPatternElement::childrenChanged):
51565        * svg/SVGPatternElement.h:
51566        * svg/SVGStyleElement.cpp:
51567        (WebCore::SVGStyleElement::finishParsingChildren):
51568        (WebCore::SVGStyleElement::childrenChanged):
51569        * svg/SVGStyleElement.h:
51570        * svg/SVGStyledElement.cpp:
51571        (WebCore::SVGStyledElement::childrenChanged):
51572        * svg/SVGStyledElement.h:
51573        * svg/SVGTitleElement.cpp:
51574        (WebCore::SVGTitleElement::childrenChanged):
51575        * svg/SVGTitleElement.h:
51576        * svg/SVGUseElement.cpp:
51577        (WebCore::SVGUseElement::childrenChanged):
51578        * svg/SVGUseElement.h:
51579        
515802008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
51581
51582        Unreviewed build fix
51583
51584        Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
51585        into the patch.
51586
51587        * platform/qt/RenderThemeQt.h:
51588
515892008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
51590
51591        Reviewed by Adele.
51592
51593        paintResizeControl is dead, remove the code. This painting
51594        is done by the RenderLayer.
51595
51596        * platform/qt/RenderThemeQt.cpp:
51597        * platform/qt/RenderThemeQt.h:
51598        * rendering/RenderThemeMac.h:
51599        * rendering/RenderThemeMac.mm:
51600
516012008-02-07  Kevin Ollivier <kevino@theolliviers.com>
51602
51603        Reviewed by Eric Seidel, Adam Roben.
51604
51605        MSVC7 fixes.
51606        http://bugs.webkit.org/show_bug.cgi?id=17211
51607
51608        * platform/Threading.h:
51609        - On MSVC7, when the Interlocked* functions are used, the ref count gets out of sync.
51610          (MSVC8 seems not to have this problem.) Use the old implementation which works correctly.
51611        * platform/win/SharedTimerWin.cpp:
51612        - USER_TIMER_MINIMUM/MAXIMUM aren't defined in winuser.h for the MSVC 2003 Platform SDK
51613          so define them if they are not already defined.
51614
516152008-02-08  Brent Fulgham  <bfulgham@gmail.com>
51616
51617        Reviewed by Adam Roben.
51618
51619        Bug 17226: Fix Windows (Cairo) build of image-decoders
51620        http://bugs.webkit.org/show_bug.cgi?id=17226
51621
51622        * platform/image-decoders/gif/GIFImageDecoder.cpp:
51623        * platform/image-decoders/png/PNGImageDecoder.cpp:
51624
516252008-02-08  Timothy Hatcher  <timothy@apple.com>
51626
51627        Reviewed by Brady Eidson.
51628
51629        <rdar://problem/5640896> Removing database then trying
51630        to recreate it causes trouble
51631
51632        Added open Database support to DatabaseTracker. So any Database that 
51633        is deleted will be marked as deleted and will fail to open any transaction
51634        or execute any new SQL queries.
51635
51636        * storage/Database.cpp:
51637        (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase.
51638        (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase.
51639        (WebCore::Database::markAsDeleted): Set the m_deleted flag.
51640        (WebCore::Database::version): Return a null String if m_deleted is true.
51641        * storage/Database.h:
51642        (WebCore::Database::deleted): Return m_deleted.
51643        * storage/DatabaseTracker.cpp:
51644        (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names.
51645        (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map.
51646        (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases
51647          matching the origin/name.
51648        * storage/DatabaseTracker.h:
51649        * storage/SQLStatement.cpp:
51650        (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
51651        * storage/SQLStatement.h:
51652        * storage/SQLTransaction.cpp:
51653        (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError.
51654        (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database
51655          if the Database was marked as deleted.
51656
516572008-02-08  Darin Adler  <darin@apple.com>
51658
51659        Reviewed by Eric.
51660
51661        - fix http://bugs.webkit.org/show_bug.cgi?id=15003
51662          Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
51663
51664        Test: fast/js/constructor-attributes.html
51665
51666        * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".
51667
516682008-02-08  Anders Carlsson  <andersca@apple.com>
51669
51670        Reviewed by Mitz.
51671
51672        <rdar://problem/5650446>
51673        http://bugs.webkit.org/show_bug.cgi?id=16102
51674        Crash in FrameLoader::stopLoadingSubframes() on IMDB page
51675
51676        Store the child frame in a RefPtr to prevent it from being deleted when the
51677        frame tree changes while calling stopAllLoaders().
51678        
51679        * loader/FrameLoader.cpp:
51680        (WebCore::FrameLoader::stopLoadingSubframes):
51681
516822008-02-08  Kevin Ollivier  <kevino@theolliviers.com>
51683
51684        wx port build fix. Add time.h to define time_t.
51685
51686        * platform/FileSystem.h:
51687
516882008-02-08  Alp Toker  <alp@atoker.com>
51689
51690        Reviewed by Adam Roben.
51691
51692        Avoid null-dereference crasher noticed in the GTK+ port and also
51693        affecting the Win debug build.
51694
51695        Covered by existing tests.
51696
51697        * dom/Document.cpp:
51698        (WebCore::Document::userStyleSheet):
51699
517002008-02-08  Anders Carlsson  <andersca@apple.com>
51701
51702        Reviewed by Adam.
51703
51704        <rdar://problem/5724188> 
51705        REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)
51706        
51707        Revert r29926 which caused the regression.
51708        
51709        * dom/Text.cpp:
51710        (WebCore::Text::createWithLengthLimit):
51711        * dom/Text.h:
51712        * html/HTMLParser.cpp:
51713        (WebCore::HTMLParser::parseToken):
51714        * loader/TextDocument.cpp:
51715        (WebCore::TextTokenizer::write):
51716
517172008-02-08  Sam Weinig  <sam@webkit.org>
51718
51719        Reviewed by Hyatt.
51720
51721        Fix for <rdar://problem/5732491>
51722        http://bugs.webkit.org/show_bug.cgi?id=17213
51723        The querySelectorAll method on an element node does not search only the element's descendants
51724
51725        Test: fast/dom/SelectorAPI/elementRoot.html
51726
51727        * dom/Node.cpp:
51728        (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
51729        * dom/SelectorNodeList.cpp:
51730        (WebCore::SelectorNodeList::SelectorNodeList): ditto.
51731
51732
51733
517342008-02-08  David Hyatt  <hyatt@apple.com>
51735
51736        Fix for bug 16798, button should default to type=submit.
51737
51738        Reviewed by darin
51739
51740        * html/HTMLButtonElement.cpp:
51741        (WebCore::HTMLButtonElement::type):
51742        (WebCore::HTMLButtonElement::parseMappedAttribute):
51743
517442008-02-08  Rodney Dawes  <dobey@wayofthemonkey.com>
51745
51746        Reviewed by Jon Honeycutt.
51747
51748        Redefine some platform-specific types as cross-platform types
51749        Add pathGetFileName method to get the filename from a path string
51750        Add unloadModule method to unload a loadable module from the process
51751        Implement new methods for GTK+ and Windows
51752        Implement missing homeDirectoryPath method for GTK+
51753        Add stub methods for new and missing methods for Wx and Qt
51754
51755        * platform/FileSystem.h:
51756        * platform/gtk/FileSystemGtk.cpp:
51757        * platform/qt/FileSystemQt.cpp:
51758        * platform/win/FileSystemWin.cpp:
51759        * platform/wx/FileSystemWx.cpp:
51760
517612008-02-08  Adam Roben  <aroben@apple.com>
51762
51763        Windows build fix after r30088
51764
51765        * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM
51766        bindings to rebuild.
51767
517682008-02-08  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
51769
51770        Reviewed by Alp Toker.
51771
51772        http://bugs.webkit.org/show_bug.cgi?id=17009
51773        [Gtk] Webkit strips accents from some dead-key combinations
51774
51775        KeyEvents have to go through the gtk input method.
51776
51777        Also implement the isKeypad check and make disambiguateKeyDownEvent
51778        behave more like other ports.
51779
51780        * platform/PlatformKeyboardEvent.h:
51781        * platform/gtk/KeyEventGtk.cpp:
51782        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
51783        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
51784        (WebCore::PlatformKeyboardEvent::gdkEventKey):
51785
517862008-02-08  Darin Adler  <darin@apple.com>
51787
51788        Reviewed by Eric.
51789
51790        - fix http://bugs.webkit.org/show_bug.cgi?id=3492
51791          TreeWalker implementation needs to be fixed (affects Acid3)
51792        - fix http://bugs.webkit.org/show_bug.cgi?id=4714
51793          NodeIterator does not handle exceptions from the filter function (affects Acid3)
51794        - fix http://bugs.webkit.org/show_bug.cgi?id=4716
51795          NodeIterator will crash if the filter function removes the current node from the document
51796
51797        Test: traversal/exception-forwarding.html
51798
51799        This turned into a near-rewrite of NodeIterator and TreeWalker.
51800
51801        * bindings/js/JSNodeFilterCondition.h:
51802        * bindings/js/JSNodeFilterCondition.cpp:
51803        (WebCore::takeException): Added.
51804        (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
51805        a JavaScript exception.
51806
51807        * bindings/js/JSNodeFilterCustom.cpp:
51808        (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
51809        a JavaScript exception if the out parameter is set.
51810
51811        * bindings/js/JSNodeIteratorCustom.cpp:
51812        (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
51813        a JavaScript exception if the out parameter is set.
51814        (WebCore::JSNodeIterator::previousNode): Ditto.
51815
51816        * bindings/js/JSTreeWalkerCustom.cpp:
51817        (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
51818        a JavaScript exception if the out parameter is set.
51819        (WebCore::JSTreeWalker::firstChild): Ditto.
51820        (WebCore::JSTreeWalker::lastChild): Ditto.
51821        (WebCore::JSTreeWalker::nextSibling): Ditto.
51822        (WebCore::JSTreeWalker::previousSibling): Ditto.
51823        (WebCore::JSTreeWalker::previousNode): Ditto.
51824        (WebCore::JSTreeWalker::nextNode): Ditto.
51825
51826        * bindings/objc/DOM.mm:
51827        (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
51828        out parameter.
51829        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
51830        Use RefPtr to make object lifetimes clearer.
51831        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
51832        Ditto.
51833
51834        * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for
51835        JSDocument.cpp.
51836
51837        * dom/Document.h:
51838        * dom/Document.cpp:
51839        (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
51840        (WebCore::Document::createTreeWalker): Ditto.
51841
51842        * dom/NodeFilter.h:
51843        * dom/NodeFilter.cpp:
51844        (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
51845        (WebCore::NodeFilter::acceptNode): Added an out parameter to return
51846        a JavaScript exception.
51847        * dom/NodeFilter.idl: Custom binding for acceptNode.
51848
51849        * dom/NodeFilterCondition.h:
51850        * dom/NodeFilterCondition.cpp:
51851        (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
51852        a JavaScript exception.
51853
51854        * dom/NodeIterator.cpp:
51855        (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
51856        Eliminated m_doc, using the root node instead, and unnecessary check for
51857        null -- rootNode must be non-null and all nodes have a non-null document.
51858        (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
51859        (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
51860        acceptNode function could do anything, including removing the last
51861        reference to the current node. Also folded findNextNode into this function
51862        since it's the only one that needs to call it.
51863        (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
51864        (WebCore::NodeIterator::detach): Changed to use the root node as the indication
51865        that we're detached rather than a separate boolean.
51866        (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
51867        checks. Removed incorrect use of findNextNode/findPreviousNode -- those
51868        functions call acceptNode and the DOM standard is quite clear that these
51869        functions do not take that into account, allowing the current node to become
51870        one that's not accepted.
51871
51872        * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
51873        nextNode and previousNode to have an out parameter with a JavaScript exception.
51874        Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
51875        detached, setDetached, document, findNextNode, and findPreviousNode. All were
51876        unnecessary. Removed data member m_doc which was just rootNode()->document().
51877
51878        * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
51879
51880        * dom/Traversal.cpp:
51881        (WebCore::Traversal::Traversal): Use PassRefPtr more.
51882        (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
51883        Also rearranged the function a little bit for clarity.
51884
51885        * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
51886        exception and made it protected, since it's only for use by the derived classes.
51887
51888        * dom/TreeWalker.cpp:
51889        (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
51890        (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
51891        the overloaded version since it's not needed.
51892        (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
51893        to implement rules about when to check things like whether we're in the tree.
51894        The previous fix where we called isDescendantOf was not entirely correct, because
51895        the specification allows you to walk outside the tree if you get there somehow.
51896        What it doesn't allow is walking outside the tree from inside. The new
51897        implementation handles this correctly.
51898        (WebCore::TreeWalker::firstChild): Ditto.
51899        (WebCore::TreeWalker::lastChild): Ditto.
51900        (WebCore::TreeWalker::previousSibling): Ditto.
51901        (WebCore::TreeWalker::nextSibling): Ditto.
51902        (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
51903        acceptNode function on parents, this can't use traversePreviousNode (more's the
51904        pity, because it's a bit complicated).
51905        (WebCore::TreeWalker::nextNode): Ditto.
51906
51907        * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
51908        more. Changed the navigation functions to have an out parameter with a JavaScript
51909        exception. Removed helper functions setCurrentNode and ancestorRejected.
51910
51911        * dom/TreeWalker.idl: Custom binding for navigation functions.
51912
519132008-02-08  Eric Seidel  <eric@webkit.org>
51914
51915        Reviewed by darin.
51916
51917        Add support for Text.wholeText and Text.replaceWholeText
51918        http://bugs.webkit.org/show_bug.cgi?id=17125
51919
51920        Test EntityReferences to make sure they're always treated as read-only
51921        In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)
51922
51923        * dom/Document.cpp:
51924        (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
51925        * dom/Node.cpp:
51926        * dom/Node.cpp:
51927        (WebCore::Node::textContent):
51928        * dom/Text.cpp:
51929        (WebCore::earliestLogicallyAdjacentTextNode):
51930        (WebCore::latestLogicallyAdjacentTextNode):
51931        (WebCore::Text::wholeText):
51932        (WebCore::Text::replaceWholeText):
51933        * dom/Text.h:
51934        * dom/Text.idl:
51935
519362008-02-06  Kimmo Kinnunen  <kimmok@iki.fi>
51937
51938        Reviewed by Tim Hatcher.
51939
51940        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
51941        HTML5: Client-side database queries should return values of type number
51942        Test: storage/sql-data-types.html
51943
51944        Make the DB queries return a value as a number if it was inserted
51945        as a number to the database.
51946        * platform/sql/SQLiteStatement.cpp:
51947        (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues
51948        * platform/sql/SQLiteStatement.h:
51949        * storage/SQLStatement.cpp:
51950        (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText
51951
519522008-02-07  Ada Chan  <adachan@apple.com>
51953
51954        <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
51955        Added mechanism to communicate client certificate info back to CFNetwork.
51956
51957        Reviewed by Adam.
51958
51959        * platform/network/ResourceHandle.h:
51960        * platform/network/cf/ResourceHandleCFNet.cpp:
51961        (WebCore::clientCerts): Keep a mapping of hosts to client certificates.
51962        (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it
51963        to CFNetwork by setting it in the SSL properties.
51964        (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
51965
519662008-02-07  Adam Roben  <aroben@apple.com>
51967
51968        Qt build fix
51969
51970        * platform/SharedBuffer.cpp: Removed a stub implementation of
51971        createWithContentsOfFile, now that each platform has its own stub.
51972
519732008-02-07  Adam Roben  <aroben@apple.com>
51974
51975        Fix Bug 17138: REGRESSION: Node highlight not updated properly
51976
51977        <http://bugs.webkit.org/show_bug.cgi?id=17138>
51978        <rdar://problem/5719869>
51979
51980        Reviewed by Darin.
51981
51982        No test possible.
51983
51984        * page/InspectorController.cpp:
51985        (WebCore::InspectorController::drawNodeHighlight): Update the
51986        overlayRect after scrolling to make sure that we translate the context
51987        by the correct amount.
51988
519892008-02-07  Adam Roben  <aroben@apple.com>
51990
51991        Qt and GTK+ build fixes
51992
51993        * platform/gtk/FileSystemGtk.cpp: Added a missing #include.
51994        * platform/qt/FileSystemQt.cpp: Ditto.
51995
519962008-02-07  Adam Roben  <aroben@apple.com>
51997
51998        Some cleanup of Mac-only user stylesheet code
51999
52000        I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
52001        moved some Mac-only Frame methods to FrameMac.mm.
52002
52003        Reviewed by Darin.
52004
52005        * WebCore.xcodeproj/project.pbxproj: Added new files to project.
52006        * loader/mac/UserStyleSheetLoader.cpp: Added.
52007        (UserStyleSheetLoader::UserStyleSheetLoader):
52008        (UserStyleSheetLoader::~UserStyleSheetLoader):
52009        * loader/mac/UserStyleSheetLoader.h: Added.
52010        * page/Frame.cpp: Removed setUserStyleSheet[Location]
52011        * page/mac/FrameMac.mm:
52012        (WebCore::Frame::setUserStyleSheetLocation): Moved here from
52013        Frame.cpp.
52014        (WebCore::Frame::setUserStyleSheet): Ditto.
52015
520162008-02-07  Adam Roben  <aroben@apple.com>
52017
52018        Fix <rdar://5555260> GMail never loads when a user stylesheet is
52019        specified
52020
52021        The fix in r29841 did not guarantee that the user stylesheet would not
52022        still be loading by the time GMail called document.write, and so was
52023        not a complete fix.
52024
52025        This change reworks the user stylesheet loading mechanism on non-Mac
52026        platforms to load the stylesheet synchronously from disk, and then
52027        keeps it in memory. This obsoletes the issue of what our behavior
52028        should be before the user stylesheet has loaded and what should happen
52029        when it finishes loading, as the user stylesheet will always be
52030        available when the Document first asks for it. Note, however, that
52031        this removes the ability to specify a non-file: URL for the user
52032        stylesheet. This change was not made for the Mac platform because it's
52033        possible that WebKit clients are relying on non-file: URLs for user
52034        stylesheets. It would also be nice to move back to an asynchronous
52035        loading model someday, but that is not currently possible since we
52036        don't have an asynchronous loading mechanism that is not tied to a
52037        particular Frame.
52038
52039        The responsibility of loading and storing the user stylesheet has
52040        moved from Frame to Page, since the user stylesheet URL is set on the
52041        Page-level Settings object.
52042
52043        Reviewed by Darin.
52044
52045        * dom/Document.cpp:
52046        (WebCore::Document::Document): Changed to call userStyleSheet().
52047        (WebCore::Document::setUserStyleSheet): Made Mac-only.
52048        (WebCore::Document::userStyleSheet): Changed to call up to Page on
52049        non-Mac platforms.
52050        (WebCore::Document::recalcStyleSelector): Changed to call
52051        userStyleSheet().
52052        * dom/Document.h:
52053            - Made setUserStyleSheet and the m_usersheet member Mac-only
52054            - Changed userStyleSheet to return a String instance instead of a
52055              String reference, since we now might return a new null String.
52056        * loader/FrameLoader.cpp:
52057        (WebCore::FrameLoader::begin): Made the call to
52058        Frame::setUserStyleSheetLocation Mac-only.
52059        * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only.
52060        (WebCore::Frame::~Frame): Ditto.
52061        (WebCore::Frame::reapplyStyles): Made the call to
52062        setUserStyleSheet[Location] Mac-only. On non-Mac platforms the
52063        Document will pick up the new stylesheet in Document::reapplyStyles.
52064        (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader
52065        Mac-only.
52066        * page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
52067        * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
52068        * page/Page.cpp:
52069        (WebCore::Page::Page): Initialize new members.
52070        (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on
52071        Mac. On non-Mac, resets all members relating to the user stylesheet so
52072        we'll know to load it again the next time it's asked for.
52073        (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if
52074        the user stylesheet location has changed since the last time we loaded
52075        it, or if the file has been modified since we last loaded it, then
52076        returns the contents of the user stylesheet as a String.
52077        * page/Page.h: Added new methods/members.
52078        * page/Settings.cpp:
52079        (WebCore::Settings::setUserStyleSheetLocation): Changed to call
52080        Page::userStyleSheetLocationChanged.
52081        * page/Settings.h: Changed userStyleSheetLocation to return the KURL
52082        by reference instead of making a copy.
52083        * platform/FileSystem.h: Added declaration for getFileModificationTime.
52084        * platform/KURL.h: Added declaration for fileSystemPath method.
52085        * platform/cf/KURLCFNet.cpp:
52086        (WebCore::KURL::fileSystemPath): Added.
52087        * platform/posix/FileSystemPOSIX.cpp:
52088        (WebCore::getFileModificationTime): Added.
52089        * platform/qt/KURLQt.cpp:
52090        (WebCore::KURL::fileSystemPath): Stubbed out.
52091        * platform/win/FileSystemWin.cpp:
52092        (WebCore::getFileModificationTime): Added.
52093        * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
52094        * platform/gtk/FileSystemGtk.cpp: Ditto.
52095        * platform/wx/FileSystemWx.cpp: Ditto.
52096        * platform/qt/TemporaryLinkStubs.cpp: Stubbed out
52097        SharedBuffer::createWithContentsOfFile.
52098        * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with
52099        KURL::fileSystemPath.
52100        * platform/wx/TemporaryLinkStubs.cpp: Ditto.
52101
521022008-02-07  Adam Roben  <aroben@apple.com>
52103
52104        Clean up FileSystemWin.cpp
52105
52106        This cleanup also makes us call _wstat64 instead of _wstat32i64. The
52107        only difference between these two functions is that _wstat64 gives
52108        64-bit time values, while _wstat32i64 only gives 32-bit time values.
52109
52110        Reviewed by Darin.
52111
52112        All tests pass.
52113
52114        * platform/win/FileSystemWin.cpp:
52115        (WebCore::statFile): New static helper that wraps _wstat64.
52116        (WebCore::getFileSize): Changed to call statFile.
52117        (WebCore::fileExists): Ditto.
52118
521192008-02-07  Adam Roben  <aroben@apple.com>
52120
52121        Rename fileSize to getFileSize
52122
52123        Rubberstamped by Darin.
52124
52125        * platform/FileSystem.h:
52126        * platform/gtk/FileSystemGtk.cpp:
52127        * platform/network/cf/FormDataStreamCFNet.cpp:
52128        (WebCore::setHTTPBody):
52129        * platform/network/curl/ResourceHandleManager.cpp:
52130        (WebCore::ResourceHandleManager::setupPOST):
52131        * platform/posix/FileSystemPOSIX.cpp:
52132        * platform/qt/FileSystemQt.cpp:
52133        * platform/win/FileSystemWin.cpp:
52134        * platform/wx/FileSystemWx.cpp:
52135        * storage/Database.cpp:
52136        (WebCore::Database::databaseSize):
52137        * storage/DatabaseTracker.cpp:
52138        (WebCore::DatabaseTracker::usageForDatabase):
52139        * storage/OriginUsageRecord.cpp:
52140        (WebCore::OriginUsageRecord::diskUsage):
52141
521422008-02-06  Adam Roben  <aroben@apple.com>
52143
52144        Make KURL::isLocalFile treat the URL's protocol case-insensitively
52145
52146        Reviewed by Darin.
52147
52148        * platform/KURL.cpp:
52149        (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
52150
521512008-02-07  David Hyatt  <hyatt@apple.com>
52152
52153        Fix for bug 6248, implement the nth-* CSS3 selectors.  Patch based on original KHTML work from Allan Jensen
52154        and improved upon by Nick Shanks.
52155
52156        Reviewed by Eric
52157
52158        * css/CSSGrammar.y:
52159        * css/CSSParser.cpp:
52160        (WebCore::CSSParser::lex):
52161        * css/CSSSelector.cpp:
52162        (WebCore::CSSSelector::extractPseudoType):
52163        * css/CSSSelector.h:
52164        (WebCore::CSSSelector::):
52165        * css/CSSStyleSelector.cpp:
52166        (WebCore::parseNth):
52167        (WebCore::matchNth):
52168        (WebCore::CSSStyleSelector::checkOneSelector):
52169        * css/tokenizer.flex:
52170        * rendering/RenderStyle.cpp:
52171        (WebCore::RenderStyle::RenderStyle):
52172        * rendering/RenderStyle.h:
52173        (WebCore::RenderStyle::childIndex):
52174        (WebCore::RenderStyle::setChildIndex):
52175
521762008-02-07  Dan Bernstein  <mitz@apple.com>
52177
52178        Reviewed by Dave Hyatt.
52179
52180        - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
52181
52182        Test: fast/block/float/relative-painted-twice.html
52183
52184        * rendering/RenderBlock.cpp:
52185        (WebCore::RenderBlock::addOverhangingFloats): Added another case where
52186        the child should not take over painting the float: when they do not have
52187        the same enclosing layer. In that case, the float is already being
52188        painted by one of its closer ancestors.
52189
521902008-02-07  Dan Bernstein  <mitz@apple.com>
52191
52192        Reviewed by Darin Adler.
52193
52194        - fix http://bugs.webkit.org/show_bug.cgi?id=17194
52195          Changing text to bold changes font family
52196
52197        Test: platform/mac/fast/text/family-for-font-matched-by-name.html
52198
52199        * platform/mac/WebFontCache.mm:
52200        (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use
52201        the family of the font whose name matches the desired family if there
52202        is no exact family match.
52203
522042008-02-07  Beth Dakin  <bdakin@apple.com>
52205
52206        Reviewed by Geoff.
52207
52208        Fix for <rdar://problem/5697882> Traffic or Street View button on 
52209        Google Maps is sometimes not positioned correctly (17000)
52210
52211        On the Mac, timers fire in the order that they are registered. 
52212        Geoff and I discovered that this is not necessarily true on 
52213        Windows, and that turned out to be the cause of this intermittent 
52214        layout problem at Google Maps. This patch adds a new member 
52215        variable to Timer to remember the timer's insertion point into the 
52216        heap. Now when comparing timers, if two timers were registered at 
52217        the same time, their insertion orders are compared to determine 
52218        which should fire first. This code actually never runs on Debug 
52219        builds on the Mac; the system clock on the Mac is accurate enough 
52220        that it knows that the two timers were not registered at *exactly* 
52221        the same time. This is not the case on Windows. In theory, if we 
52222        sped up Javascript enough on the Mac, this code would run and would 
52223        prevent misrenderings such as the one found on Google Maps.
52224
52225        * platform/Timer.cpp:
52226        (WebCore::operator<):
52227        (WebCore::TimerBase::setNextFireTime):
52228        * platform/Timer.h:
52229
522302008-02-06  Justin Garcia  <justin.garcia@apple.com>
52231
52232        Reviewed by Darin Adler.
52233
52234        <rdar://problem/5195056> Huge plain text pastes are slow
52235        
52236        This was fixed in r27369 and then r29367 and r29667 caused performance to
52237        regress.
52238
52239        * editing/EditCommand.cpp:
52240        (WebCore::EditCommand::apply): Only updateLayout() for high level commands.
52241        (WebCore::EditCommand::unapply): Ditto.
52242        (WebCore::EditCommand::reapply): Ditto.
52243        * editing/Editor.cpp:
52244        (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls 
52245        that shouldn't be made, a bug I filed as <rdar://problem/5729315>.
52246        (WebCore::Editor::unappliedEditing): Ditto.
52247        (WebCore::Editor::reappliedEditing): Ditto.
52248        * editing/SelectionController.cpp:
52249        (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection
52250        base and extent with the expensive isCandidate operation if the node that will
52251        be removed is in a fragment, since such a removal is guaranteed to have no effect
52252        on a selection.  This is to speed up the paste operation, which does many removes from
52253        a fragment.
52254
522552008-02-06  Kevin Ollivier  <kevino@theolliviers.com>
52256
52257        Reviewed by Darin Adler.
52258
52259        Rather than directly handing scroll wheel events, use
52260        PlatformWheelEvent to send them to WebCore first, so that
52261        mouse wheel scrolling info can be retrieved via JavaScript.
52262
52263        http://bugs.webkit.org/show_bug.cgi?id=17179
52264
52265        * platform/ScrollView.h:
52266        * platform/wx/MouseWheelEventWx.cpp:
52267        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
52268        * platform/wx/ScrollViewWx.cpp:
52269        (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
52270        (WebCore::ScrollView::wheelEvent):
52271        (WebCore::ScrollView::maximumScroll):
52272
522732008-02-06  Mark Rowe  <mrowe@apple.com>
52274
52275        Fix Windows builds.
52276
52277        * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.
52278
522792008-02-06  Mark Rowe  <mrowe@apple.com>
52280
52281        Mac build fix.  Track rename that happened in r30056.
52282
52283        * platform/graphics/mac/GraphicsContextMac.mm:
52284
522852008-02-06  Brent Fulgham  <bfulgham@gmail.com>
52286
52287        Reviewed by Adam Roben.
52288
52289        http://bugs.webkit.org/show_bug.cgi?id=16979
52290        Conditionalize CoreGraphics vs Cairo support in Windows port.
52291
52292        * WebCore.vcproj/WebCore.vcproj:
52293        * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp.
52294        (WebCore::imageFromSelection):
52295        * bridge/win/FrameCairoWin.cpp: Added.
52296        (WebCore::imageFromSelection):
52297        * bridge/win/FrameWin.cpp:
52298        (WebCore::computePageRectsForFrame):
52299        * platform/graphics/SimpleFontData.h:
52300        * platform/graphics/cairo/GraphicsContextCairo.cpp:
52301        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp.
52302        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
52303        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
52304        (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
52305        (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
52306        * platform/graphics/cg/GraphicsContextCG.cpp:
52307        (WebCore::GraphicsContext::savePlatformState):
52308        (WebCore::GraphicsContext::restorePlatformState):
52309        * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed.
52310        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h.
52311        * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
52312        (WebCore::Font::drawGlyphs):
52313        * platform/graphics/win/FontCairoWin.cpp: Added.
52314        (WebCore::Font::drawGlyphs):
52315        * platform/graphics/win/FontWin.cpp:
52316        * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp.
52317        (WebCore::CGContextWithHDC):
52318        (WebCore::GraphicsContext::inTransparencyLayer):
52319        (WebCore::GraphicsContext::getWindowsContext):
52320        (WebCore::GraphicsContext::releaseWindowsContext):
52321        (WebCore::GraphicsContextPlatformPrivate::scale):
52322        (WebCore::GraphicsContextPlatformPrivate::rotate):
52323        (WebCore::GraphicsContextPlatformPrivate::translate):
52324        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
52325        (WebCore::setCGStrokeColor):
52326        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
52327        * platform/graphics/win/GraphicsContextCairoWin.cpp: Added.
52328        (WebCore::GraphicsContext::GraphicsContext):
52329        (WebCore::GraphicsContext::getWindowsContext):
52330        (WebCore::GraphicsContext::inTransparencyLayer):
52331        (WebCore::GraphicsContext::releaseWindowsContext):
52332        (WebCore::GraphicsContext::concatCTM):
52333        * platform/graphics/win/GraphicsContextWin.cpp:
52334        * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp.
52335        (WebCore::BitmapImage::getHBITMAPOfSize):
52336        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
52337        * platform/graphics/win/ImageCairoWin.cpp: Added.
52338        (WebCore::BitmapImage::getHBITMAPOfSize):
52339        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
52340        * platform/graphics/win/ImageWin.cpp:
52341        * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp.
52342        (WebCore::scaleEmToUnits):
52343        (WebCore::SimpleFontData::platformInit):
52344        (WebCore::SimpleFontData::platformWidthForGlyph):
52345        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added.
52346        (WebCore::SimpleFontData::platformInit):
52347        (WebCore::SimpleFontData::platformDestroy):
52348        (WebCore::SimpleFontData::platformWidthForGlyph):
52349        * platform/graphics/win/SimpleFontDataWin.cpp:
52350        (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
52351        (WebCore::SimpleFontData::shouldApplyMacAscentHack):
52352        * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp.
52353        (WebCore::scaleDragImage):
52354        (WebCore::createDragImageFromImage):
52355        * platform/win/DragImageCairoWin.cpp: Added.
52356        (WebCore::scaleDragImage):
52357        (WebCore::createDragImageFromImage):
52358        * platform/win/DragImageWin.cpp:
52359
523602008-02-06  Anders Carlsson  <andersca@apple.com>
52361
52362        Reviewed by Darin.
52363
52364        Change httpBodyFromStream to take the request instead of the stream.
52365        
52366        * platform/network/cf/FormDataStreamCFNet.cpp:
52367        (WebCore::httpBodyFromRequest):
52368        * platform/network/cf/FormDataStreamCFNet.h:
52369        * platform/network/cf/ResourceRequestCFNet.cpp:
52370        (WebCore::ResourceRequest::doUpdateResourceRequest):
52371
523722008-02-06  Kevin McCullough  <kmccullough@apple.com>
52373
52374        Reviewed by Darin.
52375
52376        - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when
52377        one URL uses an explicit port number and another doesn't
52378
52379        * manual-tests/Default-port-frame.html: Added.
52380        * manual-tests/resources/Default-port-frame-contents.html: Added.
52381
523822008-02-06  Oliver Hunt  <oliver@apple.com>
52383
52384        Fix windows build
52385
52386        * WebCore.vcproj/build-generated-files.sh:
52387
523882008-02-06  Kevin McCullough  <kmccullough@apple.com>
52389
52390        Rubberstamped by Darin.
52391
52392        <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
52393        - Reverted the change that caused the regression.
52394
52395        * dom/Document.cpp:
52396        (WebCore::Document::createElement):
52397        (WebCore::Document::createElementNS):
52398        (WebCore::Document::getElementById):
52399        (WebCore::Document::parseQualifiedName):
52400        (WebCore::Document::createAttributeNS):
52401        * dom/Document.idl:
52402
524032008-02-06  Geoffrey Garen  <ggaren@apple.com>
52404
52405        Reviewed by Oliver Hunt.
52406        
52407        Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot
52408
52409        The problem was refCount underflow in NamedAttrMap.
52410        
52411        Neither our regression tests nor the stress test have yet discovered
52412        another instance of this problem.
52413
52414        * dom/NamedAttrMap.cpp:
52415        (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr,
52416        for fast and correct refCount management. Also, change a rediculously
52417        slow malloc to a slightly less rediculously slow realloc.
52418
52419        * dom/NamedAttrMap.h:
52420        (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr,
52421        for fast and correct refCount management.
52422
52423        * html/HTMLTokenizer.cpp:
52424        (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the
52425        object starts with a refCount of 1.
52426
524272008-02-06  Darin Adler  <darin@apple.com>
52428
52429        Reviewed by Tim Hatcher.
52430
52431        - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector
52432          with View Source window as target
52433
52434        * page/InspectorController.cpp:
52435        (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with
52436        JavaScript disabled.
52437        (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if
52438        it returns false.
52439
524402008-02-06  David Hyatt  <hyatt@apple.com>
52441
52442        Fix for bug 16799, object elements should return absolute URLs from .data.
52443
52444        Reviewed by Mark Rowe
52445
52446        * dom/Document.cpp:
52447        (WebCore::Document::completeURL):
52448        * html/HTMLAnchorElement.cpp:
52449        (WebCore::HTMLAnchorElement::href):
52450        * html/HTMLObjectElement.cpp:
52451        (WebCore::HTMLObjectElement::data):
52452
524532008-02-05  Antti Koivisto  <antti@apple.com>
52454
52455        Reviewed by Darin.
52456
52457        <rdar://problem/5726340>
52458        <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading
52459        
52460        When moving document in and out from the page cache:
52461        - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
52462        - Restart the load if it was aborted in the middle.
52463
52464        * html/HTMLMediaElement.cpp:
52465        (WebCore::HTMLMediaElement::~HTMLMediaElement):
52466        (WebCore::HTMLMediaElement::load):
52467        (WebCore::HTMLMediaElement::willSaveToCache):
52468        (WebCore::HTMLMediaElement::didRestoreFromCache):
52469        * html/HTMLMediaElement.h:
52470        (WebCore::HTMLMediaElement::player):
52471
524722008-02-06  Darin Adler  <darin@apple.com>
52473
52474        Reviewed by Sam.
52475
52476        - replace calls to put to set up properties with calls to putDirect, to
52477          prepare for a future change where put won't take attributes any more,
52478          and for a slight performance boost
52479
52480        * bindings/js/JSAudioConstructor.cpp:
52481        (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
52482        * bindings/js/JSEventTargetBase.h:
52483        (WebCore::JSEventTargetPrototype::self): Ditto.
52484        * bindings/js/JSHTMLOptionElementConstructor.cpp:
52485        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
52486        * bindings/js/JSSQLResultSetRowListCustom.cpp:
52487        (WebCore::JSSQLResultSetRowList::item): Ditto.
52488
524892008-02-06  Dan Bernstein  <mitz@apple.com>
52490
52491        Reviewed by Darin Adler.
52492
52493        - fix http://bugs.webkit.org/show_bug.cgi?17093
52494        'border-color' does not animate to the value of 'color' when unspecified
52495
52496        Test: fast/css/transition-color-unspecified.html
52497
52498        * page/AnimationController.cpp:
52499        (WebCore::ImplicitAnimation::animate): Changed to use the value of the
52500        'color' property in the source or destination style as the source or
52501        destination value of properties whose inital value is defined to be the
52502        computed value of 'color'.
52503
525042008-02-06  Dan Bernstein  <mitz@apple.com>
52505
52506        Build fix.
52507
52508        * svg/svgtags.in:
52509
525102008-02-05  Oliver Hunt  <oliver@apple.com>
52511
52512        Build fix -- touch generate-bindings to trigger regeneration of bindings
52513
52514        * bindings/scripts/generate-bindings.pl:
52515
525162008-02-05  Oliver Hunt  <oliver@apple.com>
52517
52518        RS=Eric.
52519
52520        Re-enable foreignObject by default as it is needed for a number of 
52521        non-fO related SVG tests and none of the old known crashes occur
52522        anymore.
52523
52524        * Configurations/WebCore.xcconfig:
52525        * WebCore.vcproj/WebCore.vcproj:
52526
525272008-02-05  Sam Weinig  <sam@webkit.org>
52528
52529        Reviewed by Anders Carlsson.
52530
52531        Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
52532        NodeList (and other DOM lists) items are not enumeratable using for..in
52533
52534        - Match Firefox when enumerating DOM interfaces with indexGetters (support for 
52535          the array bracket, nodeList[0], notation) by including all the items in the
52536          list before the attributes and methods of the interface.
52537
52538        Test: fast/dom/domListEnumeration.html
52539
52540        * ForwardingHeaders/kjs/PropertyNameArray.h: Added.
52541        * bindings/js/JSDOMWindowCustom.cpp:
52542        (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model. 
52543        * bindings/js/JSHistoryCustom.cpp:
52544        (WebCore::JSHistory::customGetPropertyNames): ditto.
52545        * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of
52546        getProperyNames and implementing the method in the Custom.cpp, move to a the 
52547        model used by generated getOwnPropertySlot() and put() where the custom code
52548        is written in a separate customGetPropertyNames which returns a bool indicating
52549        whether to call up to the base class.  This enables adding the list indexes
52550        to the PropertyNameArray for interfaces with indexGetters automatically.
52551
525522008-02-05  Samuel Weinig  <sam@webkit.org>
52553
52554        Reviewed by Darin Adler.
52555
52556        Fix for <rdar://problem/5726604> 
52557        dom-checker: deleting properties of the window object cross-domain should not be allowed
52558
52559        Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).
52560
52561        Test: http/tests/security/cross-frame-access-delete.html
52562
52563        * bindings/js/JSDOMWindowCustom.cpp:
52564        (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
52565        * bindings/js/JSHistoryCustom.cpp:
52566        (WebCore::JSHistory::deleteProperty): ditto.
52567        * bindings/js/JSLocation.cpp:
52568        (WebCore::JSLocation::deleteProperty): ditto.
52569        * bindings/js/JSLocation.h:
52570
52571        * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
52572        * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
52573        * page/History.idl: ditto.
52574
525752008-02-05  Alp Toker  <alp@atoker.com>
52576
52577        Rubber-stamped by Mark Rowe.
52578
52579        Fix a "missing sentinel in function call" warning by using NULL
52580        instead of 0.
52581
52582        * platform/gtk/RenderThemeGtk.cpp:
52583        (WebCore::RenderThemeGtk::caretBlinkFrequency):
52584
525852008-02-05  Nikolas Zimmermann  <zimmermann@kde.org>
52586
52587        Reviewed by Oliver.
52588
52589        Fix dynamic updates of <circle> element's properties.
52590
52591        Added tests: svg/dynamic-updates/SVGCircleElement*
52592
52593        * svg/SVGCircleElement.cpp:
52594        (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc.
52595        * svg/SVGCircleElement.h:
52596
525972008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
52598
52599        Wx build fix.  Add WebCore/plugins to the include path.
52600
52601        * webcore-base.bkl:
52602
526032008-02-05  Mark Rowe  <mrowe@apple.com>
52604
52605        Mac build fix.  Update the Xcode project to follow a moved file,
52606        and track a rename in two files that were missed earlier.
52607
52608        * WebCore.xcodeproj/project.pbxproj:
52609        * page/mac/WebCoreFrameBridge.mm:
52610        (-[WebCoreFrameBridge canProvideDocumentSource]):
52611        * platform/mac/PlugInInfoStoreMac.mm:
52612        (WebCore::PluginInfoStore::pluginNameForMIMEType):
52613
526142008-02-05  Nikolas Zimmermann  <zimmermann@kde.org>
52615
52616        Reviewed by Holger.
52617
52618        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185
52619        Fix dynamic SVG DOM updates of <a> element's href property.
52620
52621        This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
52622        Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
52623        one test per property per class. As a first pass it's sufficient to add testcases for all
52624        SVG*Element classes, and their properties - and only common-used base-class properties.
52625
52626        For SVGAElement - for example - it makes most sense to test scripting its parent
52627        SVGURIReference object ('href' property) and its own property 'target'.
52628
52629        Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
52630        SVGExternalResourcesRequired interface, should really be done in a second pass.
52631
52632        All tests within the new framework are supposed to be created using make-js-tests-wrappers.
52633
52634        Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js
52635        Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js
52636        Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js
52637        Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js
52638
52639        * svg/SVGAElement.cpp:
52640        (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged.
52641        (WebCore::SVGAElement::svgAttributeChanged):
52642        (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail!
52643        * svg/SVGAElement.h:
52644
526452008-02-05  Justin Garcia  <justin.garcia@apple.com>
52646
52647        Reviewed by Alexey Proskuryakov.
52648
52649        <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)
52650
52651        * editing/CompositeEditCommand.cpp:
52652        (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed
52653        when the editing code actively looked for <br>s of that type in order to handle them
52654        specially.  That is no longer the case.
52655        * editing/InsertParagraphSeparatorCommand.cpp:
52656        (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block
52657        would be inserted when hitting return inside an editable root held open by a placeholder
52658        <br> or '\n'.  Added test cases for the bug and for the special case code that was incorrectly
52659        triggered to cause the bug. 
52660
526612008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
52662
52663        Reviewed by Anders Carlsson.
52664
52665        Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
52666        Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
52667
52668        Remove the Win suffix on several plugin-related classes that will
52669        soon be refactored to be more portable.
52670
52671        * WebCore.vcproj/WebCore.vcproj:
52672        * bindings/js/kjs_navigator.cpp:
52673        (KJS::PluginBase::cachePluginDataIfNecessary):
52674        * bindings/js/kjs_window.cpp:
52675        * bridge/win/FrameWin.cpp:
52676        (WebCore::Frame::createScriptInstanceForWidget):
52677        * dom/Clipboard.cpp:
52678        * dom/DOMImplementation.cpp:
52679        (WebCore::DOMImplementation::createDocument):
52680        * loader/FrameLoader.cpp:
52681        (WebCore::FrameLoader::shouldUsePlugin):
52682        * page/DragController.cpp:
52683        * platform/PlugInInfoStore.h: Removed.
52684        * platform/gtk/TemporaryLinkStubs.cpp:
52685        (PluginInfoStore::createPluginInfoForPluginAtIndex):
52686        (PluginInfoStore::pluginCount):
52687        (PluginInfoStore::pluginNameForMIMEType):
52688        (WebCore::PluginInfoStore::supportsMIMEType):
52689        * platform/qt/PlugInInfoStoreQt.cpp:
52690        (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
52691        (WebCore::PluginInfoStore::pluginCount):
52692        (WebCore::PluginInfoStore::pluginNameForMIMEType):
52693        (WebCore::PluginInfoStore::supportsMIMEType):
52694        * platform/qt/TemporaryLinkStubs.cpp:
52695        * platform/win/SharedTimerWin.cpp:
52696        (WebCore::TimerWindowWndProc):
52697        * platform/wx/TemporaryLinkStubs.cpp:
52698        (PluginInfoStore::createPluginInfoForPluginAtIndex):
52699        (PluginInfoStore::pluginCount):
52700        (WebCore::PluginInfoStore::supportsMIMEType):
52701        (PluginInfoStore::pluginNameForMIMEType):
52702        * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h.
52703        * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp.
52704        (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
52705        (WebCore::PluginInfoStore::pluginCount):
52706        (WebCore::PluginInfoStore::pluginNameForMIMEType):
52707        (WebCore::PluginInfoStore::supportsMIMEType):
52708        (WebCore::refreshPlugins):
52709        * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h.
52710        * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h.
52711        (WebCore::PluginPackageHash::hash):
52712        (WebCore::PluginPackageHash::equal):
52713        (WTF::):
52714        * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h.
52715        (WebCore::PluginView::plugin):
52716        * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp.
52717        (pluginViewForInstance):
52718        (NPN_UserAgent):
52719        * plugins/win/PlugInInfoStoreWin.cpp: Removed.
52720        * plugins/win/PluginDatabaseWin.cpp:
52721        (WebCore::PluginDatabase::installedPlugins):
52722        (WebCore::PluginDatabase::addExtraPluginPath):
52723        (WebCore::PluginDatabase::refresh):
52724        (WebCore::PluginDatabase::plugins):
52725        (WebCore::addPluginsFromRegistry):
52726        (WebCore::PluginDatabase::getPluginsInPaths):
52727        (WebCore::PluginDatabase::defaultPluginPaths):
52728        (WebCore::PluginDatabase::isMIMETypeRegistered):
52729        (WebCore::PluginDatabase::pluginForMIMEType):
52730        (WebCore::PluginDatabase::MIMETypeForExtension):
52731        (WebCore::PluginDatabase::findPlugin):
52732        (WebCore::PluginDatabase::createPluginView):
52733        * plugins/win/PluginDatabaseWin.h: Removed.
52734        * plugins/win/PluginPackageWin.cpp:
52735        (WebCore::PluginPackage::~PluginPackage):
52736        (WebCore::PluginPackage::freeLibrarySoon):
52737        (WebCore::PluginPackage::freeLibraryTimerFired):
52738        (WebCore::PluginPackage::PluginPackage):
52739        (WebCore::PluginPackage::compareFileVersion):
52740        (WebCore::PluginPackage::storeFileVersion):
52741        (WebCore::PluginPackage::isPluginBlacklisted):
52742        (WebCore::PluginPackage::fetchInfo):
52743        (WebCore::PluginPackage::load):
52744        (WebCore::PluginPackage::unload):
52745        (WebCore::PluginPackage::unloadWithoutShutdown):
52746        (WebCore::PluginPackage::createPackage):
52747        (WebCore::PluginPackage::hash):
52748        (WebCore::PluginPackage::equal):
52749        * plugins/win/PluginPackageWin.h: Removed.
52750        * plugins/win/PluginViewWin.cpp:
52751        (WebCore::PluginRequest::PluginRequest):
52752        (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
52753        (WebCore::registerPluginView):
52754        (WebCore::PluginViewWndProc):
52755        (WebCore::PluginView::popPopupsStateTimerFired):
52756        (WebCore::PluginView::wndProc):
52757        (WebCore::PluginView::updateWindow):
52758        (WebCore::PluginView::windowClipRect):
52759        (WebCore::PluginView::setFrameGeometry):
52760        (WebCore::PluginView::geometryChanged):
52761        (WebCore::PluginView::setFocus):
52762        (WebCore::PluginView::show):
52763        (WebCore::PluginView::hide):
52764        (WebCore::PluginView::paintMissingPluginIcon):
52765        (WebCore::PluginView::dispatchNPEvent):
52766        (WebCore::PluginView::paint):
52767        (WebCore::PluginView::handleKeyboardEvent):
52768        (WebCore::PluginView::handleMouseEvent):
52769        (WebCore::PluginView::handleEvent):
52770        (WebCore::PluginView::setParent):
52771        (WebCore::PluginView::attachToWindow):
52772        (WebCore::PluginView::detachFromWindow):
52773        (WebCore::PluginView::setNPWindowRect):
52774        (WebCore::PluginView::start):
52775        (WebCore::PluginView::stop):
52776        (WebCore::PluginView::setCurrentPluginView):
52777        (WebCore::PluginView::currentPluginView):
52778        (WebCore::PluginView::performRequest):
52779        (WebCore::PluginView::requestTimerFired):
52780        (WebCore::PluginView::scheduleRequest):
52781        (WebCore::PluginView::load):
52782        (WebCore::PluginView::getURLNotify):
52783        (WebCore::PluginView::getURL):
52784        (WebCore::PluginView::handlePost):
52785        (WebCore::PluginView::postURLNotify):
52786        (WebCore::PluginView::postURL):
52787        (WebCore::PluginView::newStream):
52788        (WebCore::PluginView::write):
52789        (WebCore::PluginView::destroyStream):
52790        (WebCore::PluginView::userAgent):
52791        (WebCore::PluginView::status):
52792        (WebCore::PluginView::getValue):
52793        (WebCore::PluginView::setValue):
52794        (WebCore::PluginView::invalidateTimerFired):
52795        (WebCore::PluginView::invalidateRect):
52796        (WebCore::PluginView::invalidateRegion):
52797        (WebCore::PluginView::forceRedraw):
52798        (WebCore::PluginView::pushPopupsEnabledState):
52799        (WebCore::PluginView::popPopupsEnabledState):
52800        (WebCore::PluginView::arePopupsAllowed):
52801        (WebCore::PluginView::bindingInstance):
52802        (WebCore::PluginView::~PluginView):
52803        (WebCore::PluginView::disconnectStream):
52804        (WebCore::PluginView::determineQuirks):
52805        (WebCore::PluginView::setParameters):
52806        (WebCore::PluginView::PluginView):
52807        (WebCore::PluginView::init):
52808        (WebCore::PluginView::didReceiveResponse):
52809        (WebCore::PluginView::didReceiveData):
52810        (WebCore::PluginView::didFinishLoading):
52811        (WebCore::PluginView::didFail):
52812        (WebCore::PluginView::setCallingPlugin):
52813        (WebCore::PluginView::isCallingPlugin):
52814        * plugins/win/PluginViewWin.h: Removed.
52815        * plugins/win/npapi.cpp: Removed.
52816
528172008-02-05  Alexey Proskuryakov  <ap@webkit.org>
52818
52819        Reviewed by Darin.
52820
52821        http://bugs.webkit.org/show_bug.cgi?id=17158
52822        Setting innerHTML in a detached XHTML element doesn't use the right namespace
52823
52824        Test: fast/dom/innerHTML-detached-element.xhtml
52825
52826        * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace
52827        into account.
52828
528292008-02-05  Antti Koivisto  <antti@apple.com>
52830
52831        Reviewed by Geoff.
52832        
52833        Fix <rdar://problem/5698200>
52834        eBay photo uploading hangs and causes slow script warning to pop up
52835        
52836        In a case like this
52837        
52838            var f = window.parent.parentFunction;
52839            document.domain = document.domain; // this makes window.parent inaccessible
52840            f();
52841        
52842        Firefox allows parentFunction to access parents properties. Match this behavior.
52843        
52844        In a domain security check against the dynamic global object fails for the specific reason that one of 
52845        the frames has written to the document.domain property and another has not (but they match otherwise), 
52846        then recheck against the lexical global object.
52847
52848        Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html
52849              http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html
52850
52851        * bindings/js/kjs_window.cpp:
52852        (KJS::Window::allowsAccessFrom):
52853        (KJS::Window::printErrorMessage):
52854        * bindings/js/kjs_window.h:
52855        * loader/FrameLoader.cpp:
52856        (WebCore::FrameLoader::shouldAllowNavigation):
52857        * platform/SecurityOrigin.cpp:
52858        (WebCore::SecurityOrigin::canAccess):
52859        * platform/SecurityOrigin.h:
52860        (WebCore::SecurityOrigin::):
52861
528622008-02-05  Adam Roben  <aroben@apple.com>
52863
52864        Remove an unused member from Document
52865
52866        Reviewed by Mitz.
52867
52868        * dom/Document.cpp:
52869        (WebCore::Document::recalcStyleSelector): There's no need to take
52870        m_printSheet into account anymore as it's never anything but the null
52871        string.
52872        * dom/Document.h: Removed m_printSheet and methods relating to it.
52873
528742008-02-05  Dan Bernstein  <mitz@apple.com>
52875
52876        Reviewed by Darin Adler.
52877
52878        - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts
52879
52880        * WebCore.base.exp: Added Editor::setBaseWritingDirection() and
52881        Frame::baseWritingDirectionForSelectionStart().
52882        * page/mac/WebCoreFrameBridge.h: Removed
52883        -baseWritingDirectionForSelectionStart.
52884        * page/mac/WebCoreFrameBridge.mm: Ditto.
52885
528862008-02-05  Mark Rowe  <mrowe@apple.com>
52887
52888        Reviewed by Oliver Hunt.
52889
52890        Update versioning to support the mysterious future.
52891
52892        * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
52893
528942008-02-05  Mark Rowe  <mrowe@apple.com>
52895
52896        Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2.
52897
52898        * editing/SmartReplaceICU.cpp:
52899        (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints.
52900        (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints.
52901
529022008-02-05  Mark Rowe  <mrowe@apple.com>
52903
52904        Rubber-stamped by Oliver Hunt.
52905
52906        30,000!
52907
52908        * ChangeLog: Point out revision 30,000.
52909
529102008-02-04  Mark Rowe  <mrowe@apple.com>
52911
52912        Unreviewed Gtk build fix.
52913
52914        wchar_t is only convertible to UChar on Windows.  Use WebCore's String class
52915        to get the UChars out of a C string in a portable fashion.
52916
52917        * editing/SmartReplaceICU.cpp:
52918        (WebCore::getSmartSet):
52919
529202008-02-04  Tony Chang  <idealisms@gmail.com>
52921
52922        Reviewed by Darin Adler.
52923
52924        Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt
52925        for other platforms by using ICU directly.
52926
52927        * GNUmakefile.am: Add SmartReplaceICU.cpp.
52928        * WebCore.pro: Ditto.
52929        * WebCoreSources.bkl: Ditto.
52930        * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available.
52931        * editing/SmartReplaceICU.cpp:
52932        (getSmartSet):
52933        (WebCore::isCharacterSmartReplaceExempt):
52934
529352008-02-04  Robert Sesek  <rsesek@bluestatic.org>
52936
52937        Reviewed by Darin Adler.
52938
52939        Fix http://bugs.webkit.org/show_bug.cgi?id=17042
52940        forms without action attributes submit to the <base> href instead of the originating page
52941
52942        Test: fast/forms/missing-action.html
52943
52944        * html/HTMLFormElement.cpp:
52945        (WebCore::HTMLFormElement::submit): Submit to origin if there is no action
52946
529472008-02-04  Mark Rowe  <mrowe@apple.com>
52948
52949        Reviewed by Tim Hatcher.
52950
52951        Gtk build fix.  Use std::numeric_limits in place of ULLONG_MAX as
52952        some Linux machines do not have ULLONG_MAX.
52953
52954        OriginUsageRecord::unknownDiskUsage becomes a static function to avoid
52955        the global initialiser which would otherwise be generated.
52956
52957        * storage/OriginUsageRecord.cpp:
52958        (WebCore::OriginUsageRecord::unknownDiskUsage):
52959        (WebCore::OriginUsageRecord::addDatabase):
52960        (WebCore::OriginUsageRecord::removeDatabase):
52961        (WebCore::OriginUsageRecord::markDatabase):
52962        (WebCore::OriginUsageRecord::diskUsage):
52963        * storage/OriginUsageRecord.h:
52964
529652008-02-04  Mark Rowe  <mrowe@apple.com>
52966
52967        Speculative Gtk build fix.
52968
52969        * storage/OriginUsageRecord.cpp:
52970
529712008-02-04  Brady Eidson  <beidson@apple.com>
52972
52973        Attempt to fix build of all non-Mac platforms
52974
52975        * GNUmakefile.am:
52976        * WebCore.pro:
52977        * WebCore.vcproj/WebCore.vcproj:
52978        * WebCoreSources.bkl:
52979
529802008-02-04  Brady Eidson  <beidson@apple.com>
52981
52982        Reviewed by Darin
52983
52984        Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database
52985
52986        To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date
52987        count of the origin's total disk usage.  I've introduced the OriginQuotaManager and OriginUsageRecord classes
52988        to accomplish this.
52989
52990        Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks
52991        that database as unknown in the OriginQuotaManager.  When a transaction later comes along to ask the 
52992        OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns
52993        the result.
52994
52995        Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it 
52996        provides require it to be locked first.  ASSERTs help guarantee this is always the case.
52997
52998        Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly
52999
53000        * WebCore.xcodeproj/project.pbxproj:
53001
53002        * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted
53003
53004        * storage/Database.cpp:
53005        (WebCore::Database::databaseSize): Return the current filesize of this database on disk
53006        (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage
53007        * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going 
53008          to be the solution for this bug.
53009
53010        * storage/DatabaseTracker.cpp:
53011        (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created
53012        (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which
53013          will ensure that the OriginQuotaManager is primed to track this origin
53014        (WebCore::DatabaseTracker::fullPathForDatabase): Ditto
53015        (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here.
53016        (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database
53017          in the origin
53018        (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer 
53019          interesting
53020        (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer
53021          interesting
53022        * storage/DatabaseTracker.h:
53023
53024        * storage/OriginQuotaManager.cpp: Added.
53025        (WebCore::OriginQuotaManager::OriginQuotaManager):
53026        (WebCore::OriginQuotaManager::lock):
53027        (WebCore::OriginQuotaManager::unlock):
53028        (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked.  Useful for when the very first database 
53029          in a new origin is still in the process of being created
53030        (WebCore::OriginQuotaManager::tracksOrigin):
53031        (WebCore::OriginQuotaManager::addDatabase):
53032        (WebCore::OriginQuotaManager::removeDatabase):
53033        (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked
53034        (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the
53035          DatabaseAuthorizer in a SQLTransaction knows the file size might change.
53036        (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin
53037        * storage/OriginQuotaManager.h: Added.
53038
53039        * storage/OriginUsageRecord.cpp: Added.
53040        (WebCore::OriginUsageRecord::OriginUsageRecord):
53041        (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record
53042        (WebCore::OriginUsageRecord::removeDatabase): Removes that entry
53043        (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size
53044        (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases
53045          are marked
53046        * storage/OriginUsageRecord.h: Added.
53047
53048        * storage/SQLTransaction.cpp:
53049        (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the
53050          entire quota to each database.
53051        (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota
53052          to each database.
53053        (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the 
53054          OriginQuotaManager if this statement will change the size of the database
53055        * storage/SQLTransaction.h:
53056
530572008-02-04   David Harrison  <harrison@apple.com>
53058
53059        Reviewed by Darin Adler.
53060
53061        <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24
53062
53063        Use an empty image when the local image file could not be loaded.
53064
53065        No test case because it would require forcing tiff load failure.
53066        
53067        * editing/DeleteButtonController.cpp:
53068        (WebCore::DeleteButtonController::createDeletionUI):
53069        Do not present the deletion UI in the (odd) event that the delete button could not be loaded.
53070        
53071        * platform/graphics/mac/ImageMac.mm:
53072        (WebCore::Image::loadPlatformResource):
53073        Return an empty image instead of 0 if the load fails.
53074
530752008-02-04  Darin Adler  <darin@apple.com>
53076
53077        * dom/Document.cpp:
53078        (WebCore::Document::completeURL): Fixed misleading comment.
53079
530802008-02-04  Jon Honeycutt  <jhoneycutt@apple.com>
53081
53082        Reviewed by Darin.
53083
53084        Blacklist Silverlight versions older than min required, not newer. 
53085
53086        * plugins/win/PluginPackageWin.cpp:
53087        (WebCore::PluginPackageWin::isPluginBlacklisted):
53088
530892008-02-04  David Hyatt  <hyatt@apple.com>
53090
53091        Fix for bug 16751, misparsing of html*.test in CSS.
53092
53093        Reviewed by darin
53094
53095        Added fast/css/simple-selector-chain-parsing.html
53096
53097        * css/CSSGrammar.y:
53098
530992008-02-04  Darin Adler  <darin@apple.com>
53100
53101        Suggested by Geoff and Maciej.
53102
53103        * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading
53104        comment to be correct.
53105
531062008-02-04  Jon Honeycutt  <jhoneycutt@apple.com>
53107
53108        Reviewed by Steve, Anders.
53109
53110        <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of
53111        content area when inside an iframe or div with overflow when playing a
53112        movie and scrolling the iframe/div area
53113
53114        Clip the update region to the zero rect when scrolling. Don't do this
53115        for Java, because it results in repaint problems. 
53116
53117        * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling
53118        quirk
53119        * plugins/win/PluginViewWin.cpp:
53120        (WebCore::PluginViewWin::updateWindow): Readded the old behavior of
53121        clipping to the zero rect when updating the window during a scroll.
53122        Added plug-in quirk to ignore this behavior for Java. Swapped order of
53123        the SetWindowRgn() and MoveWindow() calls to prevent Java from painting
53124        outside of its container during a scroll.
53125        (WebCore::PluginViewWin::determineQuirks): If this is Java, add the
53126        DontClipToZeroRectWhenScrolling quirk.
53127
531282008-02-04  Timothy Hatcher  <timothy@apple.com>
53129
53130        Reviewed by Mark Rowe.
53131
53132        <rdar://problem/5722972> Leopard needs to statically link SQLite
53133
53134        * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3.
53135        * Configurations/DebugRelease.xcconfig: Ditto.
53136        * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3.
53137
531382008-02-04  Adam Roben  <aroben@apple.com>
53139
53140        Windows build fix
53141
53142        * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of
53143        the COM bindings.
53144
531452008-02-04   David Harrison  <harrison@apple.com>
53146
53147        Reviewed by Tim Hatcher.
53148
53149        - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported
53150
53151        Re-add attribute inadvertantly lost by r26499.
53152
53153        Test: fast/js/lastModified.html: Added.
53154
53155        * dom/Document.idl:
53156        Add lastModified.
53157
531582008-02-04  Darin Adler  <darin@apple.com>
53159
53160        Reviewed by Geoff.
53161
53162        - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback
53163
53164        Do main-thread-only stuff on the main thread.
53165
53166        Not clear how to make a regression test for this.
53167
53168        * bindings/js/JSCustomSQLTransactionCallback.cpp:
53169        (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added.
53170        (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added.
53171        (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added.
53172        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a
53173        separate Data object; we'll destroy it on the main thread.
53174        (WebCore::JSCustomSQLTransactionCallback::deleteData): Added.
53175        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the
53176        deleteData function on the main thread.
53177        (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the
53178        m_data object.
53179        * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather
53180        than m_callback and m_frame.
53181
531822008-02-04  Adam Roben  <aroben@apple.com>
53183
53184        Fix the search field if the inpsected Document has overridden
53185        Document.evaluate or Document.querySelectorAll
53186
53187        Reviewed by Darin.
53188
53189        * manual-tests/inspector-document-methods-override.html: Added.
53190        * page/InspectorController.cpp:
53191        (WebCore::InspectorController::didCommitLoad): Reworded a comment to
53192        force WebCore.vcproj to build.
53193        * page/inspector/inspector.js: Call
53194        Document.prototype.{evaluate,querySelectorAll}.call instead of calling
53195        the functions directly on the inspected Document. This ensures we are
53196        calling the version of these functions we intended to.
53197
531982008-02-04  Darin Adler  <darin@apple.com>
53199
53200        Reviewed by Tim Hatcher.
53201
53202        - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks()
53203          reloading a page quickly
53204
53205        I don't fully understand the cause of the crash, but I think this might
53206        be a helpful change.
53207
53208        * platform/sql/SQLiteTransaction.cpp:
53209        (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this
53210        transaction and database both marked as "still in progress". As far as I can
53211        tell this does no good, and also seems to do harm.
53212        (WebCore::SQLiteTransaction::rollback): Ditto.
53213
53214        * storage/Database.cpp:
53215        (WebCore::Database::performTransactionStep): Add some assertions to
53216        detect databases stuck in the "transaction in progress" state.
53217        * storage/SQLTransaction.cpp:
53218        (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto.
53219        (WebCore::SQLTransaction::postflightAndCommit): Ditto.
53220        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto.
53221
532222008-02-04  Darin Adler  <darin@apple.com>
53223
53224        Reviewed by Geoff.
53225
53226        - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo()
53227          calls no longer accept 'undefined' values
53228
53229        By default, we should accept non-numeric parameters and non-integral numbers for
53230        parameters that expect integers, without throwing exceptions.
53231
53232        While creating the test for this, I ran into a couple minor bugs with the
53233        functions involved, and this patch fixes those too.
53234
53235        Test: fast/dom/non-numeric-values-numeric-parameters.html
53236
53237        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
53238        (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior
53239        when passed non-integral values for its second parameter, so it needs to be written
53240        by hand. I think that [Custom] is better here than inventing a new keyword.
53241
53242        * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long"
53243        to ignore errors rather than failing due to type differences. Also changed a couple
53244        functions to use hashes.
53245
53246        * css/CSSStyleSheet.h:
53247        (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second
53248        parameters. While we do allow this from JavaScript, it's not a true optional parameter,
53249        but rather just a case of "you can omit parameters and they are treated as undefined"
53250        combined with "undefined turns into 0 when passed to a function that takes an integer".
53251        * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule.
53252        This is not truly an optional parameter.
53253
53254        * dom/ProgressEvent.cpp:
53255        (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other
53256        DOM event init functions -- important to do nothing if this is called on the an
53257        already-dispatched event and we need to respect the bubble and cancelable arguments.
53258        Also removed initProgressEventNS. We don't support namespaced events, and if we add
53259        support, it should be across all event classes, not just ProgressEvent.
53260        * dom/ProgressEvent.h: Removed initProgressEventNS.
53261        * dom/ProgressEvent.idl: Ditto.
53262
53263        * dom/Range.cpp:
53264        (WebCore::Range::createContextualFragment): Added a check for 0. This can happen
53265        if the passed-in start container is a node that's not an HTML element and also
53266        does not have a parent.
53267
53268        * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the
53269        rules for processing its parameters are unusual.
53270
53271        * page/DOMSelection.cpp: Removed the version of setPosition that has only
53272        one parameter. The offset is not really optional.
53273        * page/DOMSelection.h: Ditto.
53274        * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of
53275        setPosition. It's not a true optional parameter (see discussion of removeRule above).
53276
53277        * page/DOMWindow.cpp:
53278        (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X
53279        and Y coordinates, in a way that makes them work even when the window coordinates
53280        are infinite. Also strengthened the assertion.
53281
532822008-02-04  Alp Toker  <alp@atoker.com>
53283
53284        Rubber-stamped by Mark Rowe.
53285
53286        Remove all trailing whitespace in the GTK+ port and related
53287        components.
53288
53289        * GNUmakefile.am:
53290        * page/gtk/DragControllerGtk.cpp:
53291        (WebCore::DragController::dragOperation):
53292        (WebCore::DragController::maxDragImageSize):
53293        * page/gtk/EventHandlerGtk.cpp:
53294        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
53295        (WebCore::EventHandler::createDraggingClipboard):
53296        * page/gtk/FrameGtk.cpp:
53297        (WebCore::Frame::dragImageForSelection):
53298        * platform/graphics/cairo/AffineTransformCairo.cpp:
53299        (WebCore::AffineTransform::mapRect):
53300        (WebCore::AffineTransform::isIdentity):
53301        (WebCore::AffineTransform::operator== ):
53302        * platform/graphics/cairo/GraphicsContextCairo.cpp:
53303        (WebCore::GraphicsContext::drawLine):
53304        * platform/graphics/cairo/ImageBufferCairo.cpp:
53305        * platform/graphics/cairo/ImageCairo.cpp:
53306        * platform/graphics/cairo/ImageSourceCairo.cpp:
53307        (WebCore::createDecoder):
53308        * platform/graphics/gtk/FontCacheGtk.cpp:
53309        * platform/graphics/gtk/FontGtk.cpp:
53310        * platform/graphics/gtk/FontPlatformData.h:
53311        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
53312        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
53313        * platform/graphics/gtk/IconGtk.cpp:
53314        * platform/graphics/gtk/ImageGtk.cpp:
53315        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
53316        * platform/gtk/ClipboardGtk.h:
53317        * platform/gtk/ContextMenuItemGtk.cpp:
53318        (WebCore::ContextMenuItem::createNativeMenuItem):
53319        * platform/gtk/CursorGtk.cpp:
53320        * platform/gtk/DragDataGtk.cpp:
53321        * platform/gtk/DragImageGtk.cpp:
53322        (WebCore::createDragImageIconForCachedImage):
53323        * platform/gtk/FileChooserGtk.cpp:
53324        (WebCore::stringByAdoptingFileSystemRepresentation):
53325        * platform/gtk/FileSystemGtk.cpp:
53326        (WebCore::fileExists):
53327        (WebCore::deleteFile):
53328        (WebCore::deleteEmptyDirectory):
53329        * platform/gtk/KeyEventGtk.cpp:
53330        * platform/gtk/KeyboardCodes.h:
53331        * platform/gtk/LocalizedStringsGtk.cpp:
53332        (WebCore::inputElementAltText):
53333        (WebCore::resetButtonDefaultLabel):
53334        (WebCore::fileButtonChooseFileLabel):
53335        (WebCore::fileButtonNoFileSelectedLabel):
53336        (WebCore::contextMenuItemTagOpenImageInNewWindow):
53337        * platform/gtk/MIMETypeRegistryGtk.cpp:
53338        * platform/gtk/MouseEventGtk.cpp:
53339        * platform/gtk/PasteboardGtk.cpp:
53340        (WebCore::PasteboardSelectionData::markup):
53341        (WebCore::Pasteboard::writeSelection):
53342        * platform/gtk/PasteboardHelper.h:
53343        * platform/gtk/PlatformScreenGtk.cpp:
53344        (WebCore::screenDepth):
53345        (WebCore::screenIsMonochrome):
53346        (WebCore::screenRect):
53347        (WebCore::screenAvailableRect):
53348        * platform/gtk/PlatformScrollBar.h:
53349        * platform/gtk/PlatformScrollBarGtk.cpp:
53350        (PlatformScrollbar::PlatformScrollbar):
53351        (PlatformScrollbar::updateThumbPosition):
53352        * platform/gtk/PopupMenuGtk.cpp:
53353        (WebCore::PopupMenu::updateFromElement):
53354        * platform/gtk/RenderThemeGtk.h:
53355        * platform/gtk/ScrollViewGtk.cpp:
53356        (WebCore::ScrollView::scrollBy):
53357        (WebCore::ScrollView::addChild):
53358        (WebCore::ScrollView::updateScrollbars):
53359        (WebCore::ScrollView::windowToContents):
53360        (WebCore::ScrollView::contentsToWindow):
53361        (WebCore::ScrollView::scrollbarUnderMouse):
53362        * platform/gtk/SearchPopupMenuGtk.cpp:
53363        * platform/gtk/SharedTimerGtk.cpp:
53364        * platform/gtk/SystemTimeLinux.cpp:
53365        (WebCore::currentTime):
53366        * platform/gtk/TemporaryLinkStubs.cpp:
53367        (PlugInInfoStore::pluginNameForMIMEType):
53368        * platform/gtk/ThreadingGtk.cpp:
53369        (WebCore::establishIdentifierForThread):
53370        (WebCore::threadForIdentifier):
53371        (WebCore::clearThreadForIdentifier):
53372        (WebCore::ThreadCondition::ThreadCondition):
53373        * platform/gtk/WheelEventGtk.cpp:
53374        * platform/gtk/WidgetGtk.cpp:
53375        * platform/network/curl/ResourceHandleCurl.cpp:
53376        * platform/network/curl/ResourceHandleManager.cpp:
53377        (WebCore::ResourceHandleManager::setupPOST):
53378        * platform/network/curl/ResourceHandleManager.h:
53379        * platform/network/curl/ResourceRequest.h:
53380        (WebCore::ResourceRequest::ResourceRequest):
53381        * platform/network/curl/ResourceResponse.h:
53382
533832008-02-03  Christian Dywan  <christian@imendio.com>
53384
53385        Reviewed by Alp Toker.
53386
53387        http://bugs.webkit.org/show_bug.cgi?id=17046
53388        [GTK] Context menu fixes and customisation suport
53389
53390        Provide standard GTK+ context menu items where appropriate.
53391
53392        Note that this change makes direct use of WebKit from WebCore which is
53393        against WebKit/GTK+ guidelines. The ContextMenu abstraction should be
53394        fixed at some point.
53395
53396        * page/ContextMenuController.cpp:
53397        (WebCore::ContextMenuController::contextMenuItemSelected):
53398        * platform/ContextMenu.cpp:
53399        (WebCore::createAndAppendInputMethodsSubMenu):
53400        (WebCore::insertControlCharacter):
53401        (WebCore::createAndAppendUnicodeSubMenu):
53402        (WebCore::ContextMenu::populate):
53403        (ContextMenu::checkOrEnableIfNeeded):
53404        * platform/ContextMenuItem.h:
53405        * platform/LocalizedStrings.h:
53406        * platform/gtk/ContextMenuItemGtk.cpp:
53407        (WebCore::gtkStockIDFromContextMenuAction):
53408        * platform/gtk/LocalizedStringsGtk.cpp:
53409        (WebCore::gtkStockLabel):
53410        (WebCore::contextMenuItemTagCopy):
53411        (WebCore::contextMenuItemTagDelete):
53412        (WebCore::contextMenuItemTagSelectAll):
53413        (WebCore::contextMenuItemTagUnicode):
53414        (WebCore::contextMenuItemTagInputMethods):
53415        (WebCore::contextMenuItemTagGoBack):
53416        (WebCore::contextMenuItemTagGoForward):
53417        (WebCore::contextMenuItemTagStop):
53418        (WebCore::contextMenuItemTagCut):
53419        (WebCore::contextMenuItemTagPaste):
53420        (WebCore::contextMenuItemTagBold):
53421        (WebCore::contextMenuItemTagItalic):
53422        (WebCore::contextMenuItemTagUnderline):
53423
534242008-02-03  Oliver Hunt  <oliver@apple.com>
53425
53426        Reviewed by Maciej.
53427
53428        Bug 17169: Support transform on Canvas
53429
53430        Nice and simple patch as the cross-platform code to apply
53431        a transform was already there.
53432
53433        Tests: fast/canvas/canvas-transform-identity.html
53434               fast/canvas/canvas-transform-infinity.html
53435               fast/canvas/canvas-transform-multiply.html
53436               fast/canvas/canvas-transform-nan.html
53437               fast/canvas/canvas-transform-skewed.html
53438
53439        * html/CanvasRenderingContext2D.cpp:
53440        (WebCore::CanvasRenderingContext2D::transform):
53441        * html/CanvasRenderingContext2D.h:
53442        * html/CanvasRenderingContext2D.idl:
53443
534442008-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
53445
53446        Reviewed by Oliver.
53447
53448        Fix mistake in SVGImageElement, breaking "Dock" example of carto.net
53449        It was comparing against the wrong attribute names in svgAttributeChanged().
53450
53451        Added testcase: svg/custom/js-update-image.svg
53452
53453        * svg/SVGImageElement.cpp:
53454        (WebCore::SVGImageElement::svgAttributeChanged):
53455
534562008-02-03  Eric Seidel  <eric@webkit.org>
53457
53458        Reviewed by darin.
53459
53460        Acid3 expects textNode.localName === null
53461        http://bugs.webkit.org/show_bug.cgi?id=17060
53462
53463        Test: fast/dom/Node/initial-values.html
53464
53465        * dom/Comment.cpp: remove localName implementation
53466        * dom/Comment.h:
53467        * dom/Node.cpp: return nullAtom instead of emptyAtom
53468        * dom/Text.cpp: remove localName implementation
53469        * dom/Text.h:
53470
534712008-02-03  Eric Seidel  <eric@webkit.org>
53472
53473        Reviewed by darin.
53474
53475        Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec
53476        by throwing exceptions for more types of invalid qualified names.
53477        http://bugs.webkit.org/show_bug.cgi?id=16833
53478
53479        Tests: fast/dom/Document/createAttributeNS-namespace-err.html
53480               fast/dom/Document/createElementNS-namespace-err.html
53481
53482        * dom/Document.cpp:
53483        (WebCore::Document::createElement):
53484        (WebCore::hasNamespaceError):
53485        (WebCore::Document::createElementNS):
53486        (WebCore::Document::createAttributeNS):
53487        * dom/Document.idl:
53488
534892008-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
53490
53491        Reviewed by Eric.
53492
53493        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394
53494
53495        Dramatically improve dynamic update performance in DOM / SVG DOM.
53496
53497        The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of
53498        SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM
53499        by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack
53500        for years that attributeChanged() called notifyAttributeChange() - which results in poor
53501        scripting performance and/or dynamic creation/modification of elements using SVG DOM.
53502
53503        Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code.
53504        Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of
53505        "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes
53506        are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)"
53507        SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding
53508        SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs.
53509
53510        HTML dynamic updates vs. SVG dynamic updates:
53511
53512        HTML:
53513            1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
53514            2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1)
53515            3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout)
53516
53517        SVG:
53518            1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
53519            2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle)    
53520            3) same
53521            4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating)
53522        
53523        The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way.
53524        SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that.
53525
53526        Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through
53527        all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch.
53528
53529        * bindings/js/JSSVGPODTypeWrapper.h:
53530        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange):
53531        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange):
53532        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
53533        (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
53534        (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
53535        * bindings/js/JSSVGPathSegListCustom.cpp:
53536        (WebCore::JSSVGPathSegList::clear):
53537        (WebCore::JSSVGPathSegList::initialize):
53538        (WebCore::JSSVGPathSegList::insertItemBefore):
53539        (WebCore::JSSVGPathSegList::replaceItem):
53540        (WebCore::JSSVGPathSegList::removeItem):
53541        (WebCore::JSSVGPathSegList::appendItem):
53542        * bindings/js/JSSVGPointListCustom.cpp:
53543        (WebCore::JSSVGPointList::clear):
53544        (WebCore::JSSVGPointList::initialize):
53545        (WebCore::JSSVGPointList::getItem):
53546        (WebCore::JSSVGPointList::insertItemBefore):
53547        (WebCore::JSSVGPointList::replaceItem):
53548        (WebCore::JSSVGPointList::removeItem):
53549        (WebCore::JSSVGPointList::appendItem):
53550        * bindings/js/JSSVGTransformListCustom.cpp:
53551        (WebCore::JSSVGTransformList::clear):
53552        (WebCore::JSSVGTransformList::initialize):
53553        (WebCore::JSSVGTransformList::getItem):
53554        (WebCore::JSSVGTransformList::insertItemBefore):
53555        (WebCore::JSSVGTransformList::replaceItem):
53556        (WebCore::JSSVGTransformList::removeItem):
53557        (WebCore::JSSVGTransformList::appendItem):
53558        * bindings/scripts/CodeGeneratorJS.pm:
53559        * rendering/RenderSVGGradientStop.cpp:
53560        (WebCore::RenderSVGGradientStop::setStyle):
53561        * rendering/RenderSVGGradientStop.h:
53562        * svg/SVGAElement.cpp:
53563        (WebCore::SVGAElement::defaultEventHandler):
53564        * svg/SVGAElement.h:
53565        * svg/SVGAngle.cpp:
53566        * svg/SVGAngle.h:
53567        (WebCore::SVGAngle::associatedAttributeName):
53568        * svg/SVGAnimatedTemplate.h:
53569        (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
53570        (WebCore::SVGAnimatedTemplate::wrapperCache):
53571        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
53572        (WebCore::lookupOrCreateWrapper):
53573        * svg/SVGAnimationElement.cpp:
53574        (WebCore::SVGAnimationElement::parseBeginOrEndValue):
53575        * svg/SVGAnimationElement.h:
53576        * svg/SVGCircleElement.cpp:
53577        (WebCore::SVGCircleElement::svgAttributeChanged):
53578        * svg/SVGCircleElement.h:
53579        * svg/SVGClipPathElement.cpp:
53580        (WebCore::SVGClipPathElement::svgAttributeChanged):
53581        (WebCore::SVGClipPathElement::childrenChanged):
53582        (WebCore::SVGClipPathElement::canvasResource):
53583        * svg/SVGClipPathElement.h:
53584        (WebCore::SVGClipPathElement::isValid):
53585        (WebCore::SVGClipPathElement::rendererIsNeeded):
53586        * svg/SVGComponentTransferFunctionElement.cpp:
53587        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
53588        * svg/SVGComponentTransferFunctionElement.h:
53589        * svg/SVGCursorElement.cpp:
53590        * svg/SVGElement.cpp:
53591        (WebCore::SVGElement::insertedIntoDocument):
53592        (WebCore::SVGElement::attributeChanged):
53593        * svg/SVGElement.h:
53594        (WebCore::SVGElement::svgAttributeChanged):
53595        * svg/SVGEllipseElement.cpp:
53596        (WebCore::SVGEllipseElement::svgAttributeChanged):
53597        * svg/SVGEllipseElement.h:
53598        * svg/SVGExternalResourcesRequired.cpp:
53599        (WebCore::SVGExternalResourcesRequired::isKnownAttribute):
53600        * svg/SVGExternalResourcesRequired.h:
53601        * svg/SVGFEBlendElement.cpp:
53602        * svg/SVGFEColorMatrixElement.cpp:
53603        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
53604        * svg/SVGFEComponentTransferElement.cpp:
53605        * svg/SVGFECompositeElement.cpp:
53606        * svg/SVGFEDiffuseLightingElement.cpp:
53607        * svg/SVGFEDisplacementMapElement.cpp:
53608        * svg/SVGFEFloodElement.cpp:
53609        * svg/SVGFEGaussianBlurElement.cpp:
53610        * svg/SVGFEImageElement.cpp:
53611        * svg/SVGFELightElement.cpp:
53612        * svg/SVGFEMergeNodeElement.cpp:
53613        * svg/SVGFEOffsetElement.cpp:
53614        * svg/SVGFESpecularLightingElement.cpp:
53615        * svg/SVGFETileElement.cpp:
53616        * svg/SVGFETurbulenceElement.cpp:
53617        * svg/SVGFilterElement.cpp:
53618        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
53619        * svg/SVGFitToViewBox.cpp:
53620        (WebCore::SVGFitToViewBox::isKnownAttribute):
53621        * svg/SVGFitToViewBox.h:
53622        * svg/SVGForeignObjectElement.cpp:
53623        * svg/SVGGElement.cpp:
53624        (WebCore::SVGGElement::svgAttributeChanged):
53625        (WebCore::SVGGElement::childrenChanged):
53626        * svg/SVGGElement.h:
53627        * svg/SVGGradientElement.cpp:
53628        (WebCore::SVGGradientElement::SVGGradientElement):
53629        (WebCore::SVGGradientElement::svgAttributeChanged):
53630        (WebCore::SVGGradientElement::childrenChanged):
53631        (WebCore::SVGGradientElement::buildStops):
53632        * svg/SVGGradientElement.h:
53633        * svg/SVGImageElement.cpp:
53634        (WebCore::SVGImageElement::parseMappedAttribute):
53635        (WebCore::SVGImageElement::svgAttributeChanged):
53636        * svg/SVGImageElement.h:
53637        * svg/SVGLangSpace.cpp:
53638        (WebCore::SVGLangSpace::isKnownAttribute):
53639        * svg/SVGLangSpace.h:
53640        * svg/SVGLengthList.cpp:
53641        (WebCore::SVGLengthList::SVGLengthList):
53642        * svg/SVGLengthList.h:
53643        * svg/SVGLineElement.cpp:
53644        (WebCore::SVGLineElement::svgAttributeChanged):
53645        * svg/SVGLineElement.h:
53646        * svg/SVGLinearGradientElement.cpp:
53647        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
53648        * svg/SVGLinearGradientElement.h:
53649        * svg/SVGList.h:
53650        (WebCore::SVGList::SVGList):
53651        (WebCore::SVGList::associatedAttributeName):
53652        (WebCore::SVGPODList::SVGPODList):
53653        * svg/SVGMarkerElement.cpp:
53654        (WebCore::SVGMarkerElement::svgAttributeChanged):
53655        (WebCore::SVGMarkerElement::childrenChanged):
53656        * svg/SVGMarkerElement.h:
53657        * svg/SVGMaskElement.cpp:
53658        (WebCore::SVGMaskElement::svgAttributeChanged):
53659        (WebCore::SVGMaskElement::childrenChanged):
53660        * svg/SVGMaskElement.h:
53661        * svg/SVGNumberList.cpp:
53662        (WebCore::SVGNumberList::SVGNumberList):
53663        * svg/SVGNumberList.h:
53664        * svg/SVGPathElement.cpp:
53665        (WebCore::SVGPathElement::svgAttributeChanged):
53666        (WebCore::SVGPathElement::pathSegList):
53667        * svg/SVGPathElement.h:
53668        * svg/SVGPathSeg.h:
53669        (WebCore::SVGPathSeg::associatedAttributeName):
53670        * svg/SVGPathSegList.cpp:
53671        (WebCore::SVGPathSegList::SVGPathSegList):
53672        * svg/SVGPathSegList.h:
53673        * svg/SVGPatternElement.cpp:
53674        (WebCore::SVGPatternElement::SVGPatternElement):
53675        (WebCore::SVGPatternElement::svgAttributeChanged):
53676        (WebCore::SVGPatternElement::childrenChanged):
53677        * svg/SVGPatternElement.h:
53678        * svg/SVGPointList.cpp:
53679        (WebCore::SVGPointList::SVGPointList):
53680        * svg/SVGPointList.h:
53681        * svg/SVGPolyElement.cpp:
53682        (WebCore::SVGPolyElement::SVGPolyElement):
53683        (WebCore::SVGPolyElement::points):
53684        (WebCore::SVGPolyElement::parseMappedAttribute):
53685        (WebCore::SVGPolyElement::svgAttributeChanged):
53686        * svg/SVGPolyElement.h:
53687        * svg/SVGPolygonElement.cpp:
53688        * svg/SVGPolygonElement.h:
53689        * svg/SVGPolylineElement.cpp:
53690        * svg/SVGPolylineElement.h:
53691        * svg/SVGPreserveAspectRatio.cpp:
53692        * svg/SVGPreserveAspectRatio.h:
53693        (WebCore::SVGPreserveAspectRatio::associatedAttributeName):
53694        * svg/SVGRadialGradientElement.cpp:
53695        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
53696        * svg/SVGRadialGradientElement.h:
53697        * svg/SVGRectElement.cpp:
53698        (WebCore::SVGRectElement::svgAttributeChanged):
53699        * svg/SVGRectElement.h:
53700        * svg/SVGSVGElement.cpp:
53701        (WebCore::SVGSVGElement::parseMappedAttribute):
53702        (WebCore::SVGSVGElement::svgAttributeChanged):
53703        * svg/SVGSVGElement.h:
53704        * svg/SVGStopElement.cpp:
53705        (WebCore::SVGStopElement::parseMappedAttribute):
53706        (WebCore::SVGStopElement::createRenderer):
53707        * svg/SVGStopElement.h:
53708        * svg/SVGStringList.cpp:
53709        (WebCore::SVGStringList::SVGStringList):
53710        * svg/SVGStringList.h:
53711        * svg/SVGStylable.cpp:
53712        * svg/SVGStylable.h:
53713        * svg/SVGStyledElement.cpp:
53714        (WebCore::SVGStyledElement::isKnownAttribute):
53715        (WebCore::SVGStyledElement::svgAttributeChanged):
53716        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
53717        (WebCore::SVGStyledElement::childrenChanged):
53718        * svg/SVGStyledElement.h:
53719        * svg/SVGStyledLocatableElement.cpp:
53720        * svg/SVGStyledLocatableElement.h:
53721        * svg/SVGStyledTransformableElement.cpp:
53722        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
53723        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
53724        (WebCore::SVGStyledTransformableElement::isKnownAttribute):
53725        * svg/SVGStyledTransformableElement.h:
53726        * svg/SVGTests.cpp:
53727        (WebCore::SVGTests::requiredFeatures):
53728        (WebCore::SVGTests::requiredExtensions):
53729        (WebCore::SVGTests::systemLanguage):
53730        (WebCore::SVGTests::isKnownAttribute):
53731        * svg/SVGTests.h:
53732        * svg/SVGTextContentElement.cpp:
53733        * svg/SVGTextElement.cpp:
53734        (WebCore::SVGTextElement::SVGTextElement):
53735        * svg/SVGTextElement.h:
53736        * svg/SVGTextPathElement.cpp:
53737        * svg/SVGTextPathElement.h:
53738        * svg/SVGTextPositioningElement.cpp:
53739        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
53740        * svg/SVGTextPositioningElement.h:
53741        * svg/SVGTransformList.cpp:
53742        (SVGTransformList::SVGTransformList):
53743        * svg/SVGTransformList.h:
53744        * svg/SVGTransformable.cpp:
53745        (WebCore::SVGTransformable::isKnownAttribute):
53746        * svg/SVGTransformable.h:
53747        * svg/SVGURIReference.cpp:
53748        (WebCore::SVGURIReference::isKnownAttribute):
53749        * svg/SVGURIReference.h:
53750        * svg/SVGUseElement.cpp:
53751        (WebCore::SVGUseElement::insertedIntoDocument):
53752        (WebCore::SVGUseElement::svgAttributeChanged):
53753        (WebCore::SVGUseElement::childrenChanged):
53754        (WebCore::SVGUseElement::buildPendingResource):
53755        * svg/SVGUseElement.h:
53756        * svg/SVGViewElement.cpp:
53757        (WebCore::SVGViewElement::SVGViewElement):
53758        (WebCore::SVGViewElement::viewTarget):
53759        (WebCore::SVGViewElement::parseMappedAttribute):
53760        * svg/SVGViewElement.h:
53761        * svg/SVGViewSpec.cpp:
53762        (WebCore::SVGViewSpec::SVGViewSpec):
53763        * svg/SVGViewSpec.h:
53764        * svg/SVGZoomAndPan.cpp:
53765        (WebCore::SVGZoomAndPan::isKnownAttribute):
53766        * svg/SVGZoomAndPan.h:
53767        * svg/graphics/SVGResource.cpp:
53768        (WebCore::SVGResource::invalidate):
53769        (WebCore::SVGResource::invalidateClients):
53770        (WebCore::SVGResource::addClient):
53771        * svg/graphics/SVGResource.h:
53772        * svg/graphics/SVGResourceMasker.cpp:
53773        (WebCore::SVGResourceMasker::invalidate):
53774        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
53775        (WebCore::SVGPaintServerGradient::invalidate):
53776        * svg/graphics/filters/SVGFEImage.cpp:
53777        (WebCore::SVGFEImage::imageChanged):
53778
537792008-02-03  Kevin Ollivier  <kevino@theolliviers.com>
53780
53781        Build fix for last wx commit (a couple things were not committed).
53782
53783        * platform/ScrollView.h:
53784        * platform/Widget.h:
53785
537862008-02-03  Kevin Ollivier  <kevino@theolliviers.com>
53787
53788        Clean up overlooked coding guideline issues from last commit.
53789
53790        * platform/wx/ScrollViewWx.cpp:
53791        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
53792        (WebCore::ScrollView::update):
53793        (WebCore::ScrollView::scrollBy):
53794        (WebCore::ScrollView::resizeContents):
53795        (WebCore::ScrollView::adjustScrollbars):
53796        (WebCore::ScrollView::setScrollbarsMode):
53797        (WebCore::ScrollView::setHScrollbarMode):
53798        (WebCore::ScrollView::setVScrollbarMode):
53799        (WebCore::ScrollView::suppressScrollbars):
53800        * platform/wx/WidgetWx.cpp:
53801        (WebCore::Widget::setCursor):
53802
538032008-02-03  Kevin Watters  <kevinwatters@gmail.com>
53804
53805        Reviewed by Kevin Ollivier.
53806
53807        * platform/wx/RenderThemeWx.cpp:
53808        (WebCore::RenderThemeWx::paintButton):
53809        * platform/wx/ScrollViewWx.cpp:
53810        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
53811        (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
53812        (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents):
53813        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
53814        (WebCore::ScrollView::ScrollView):
53815        (WebCore::ScrollView::setNativeWindow):
53816        (WebCore::ScrollView::updateContents):
53817        (WebCore::ScrollView::update):
53818        (WebCore::ScrollView::visibleWidth):
53819        (WebCore::ScrollView::visibleHeight):
53820        (WebCore::ScrollView::setContentsPos):
53821        (WebCore::ScrollView::scrollBy):
53822        (WebCore::ScrollView::resizeContents):
53823        (WebCore::ScrollView::contentsX):
53824        (WebCore::ScrollView::contentsY):
53825        (WebCore::ScrollView::contentsWidth):
53826        (WebCore::ScrollView::contentsHeight):
53827        (WebCore::ScrollView::AdjustScrollbars):
53828        (WebCore::ScrollView::setScrollbarsMode):
53829        (WebCore::ScrollView::setHScrollbarMode):
53830        (WebCore::ScrollView::setVScrollbarMode):
53831        (WebCore::ScrollView::suppressScrollbars):
53832        (WebCore::ScrollView::inWindow):
53833        (WebCore::ScrollView::wheelEvent):
53834        (WebCore::ScrollView::addChild):
53835        (WebCore::ScrollView::removeChild):
53836        (WebCore::ScrollView::children):
53837        (WebCore::ScrollView::scrollRectIntoViewRecursively):
53838        (WebCore::ScrollView::scrollbarUnderMouse):
53839        * platform/wx/WidgetWx.cpp:
53840        (WebCore::Widget::Widget):
53841        (WebCore::Widget::~Widget):
53842        (WebCore::Widget::nativeWindow):
53843        (WebCore::Widget::setNativeWindow):
53844
538452008-02-02  David Hyatt  <hyatt@apple.com>
53846
53847        Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors.
53848
53849        Reviewed by olliej
53850
53851        Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html
53852
53853        * css/CSSSelector.cpp:
53854        (WebCore::CSSSelector::extractPseudoType):
53855        * css/CSSSelector.h:
53856        (WebCore::CSSSelector::):
53857        * css/CSSStyleSelector.cpp:
53858        (WebCore::CSSStyleSelector::checkOneSelector):
53859
538602008-02-02  Darin Adler  <darin@apple.com>
53861
53862        Reviewed by Geoff Garen.
53863
53864        PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
53865        slower due to r28884 (global variable symbol table optimization)
53866
53867        * history/CachedPage.cpp:
53868        (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call.
53869        (WebCore::CachedPage::restore): Removed restoreSymbolTable call.
53870        (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable.
53871
53872        * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage
53873        now takes care of the symbol table. Also removed many unnecessary includes.
53874
538752008-02-02  Tony Chang  <idealisms@gmail.com>
53876
53877        Reviewed by eseidel.
53878
53879        Add an include for for <objidl.h> which isn't included
53880        by default with WIN32_LEAN_AND_MEAN.
53881        * platform/graphics/FontCache.h:
53882
538832008-02-02  Kevin Watters  <kevin@dotsyntax.com>
53884
53885        Reviewed by Kevin Ollivier.
53886
53887        wxFont is reference counted and meant to be used as as a value
53888        object; when using wxFont*, ref-counting was not happening properly
53889        and the font object would be destroyed while still in use.
53890
53891        Also, fix memory leak in wx's FrameData::clear() method.
53892
53893        * platform/graphics/SimpleFontData.h:
53894        (WebCore::SimpleFontData::getWxFont):
53895        * platform/graphics/wx/FontPlatformData.h:
53896        (WebCore::FontPlatformData::):
53897        (WebCore::FontPlatformData::FontPlatformData):
53898        (WebCore::FontPlatformData::font):
53899        (WebCore::FontPlatformData::hash):
53900        (WebCore::FontPlatformData::operator==):
53901        (WebCore::FontPlatformData::computeHash):
53902        * platform/graphics/wx/FontPlatformDataWx.cpp:
53903        (WebCore::fontFamilyToWxFontFamily):
53904        (WebCore::FontPlatformData::FontPlatformData):
53905        (WebCore::FontPlatformData::~FontPlatformData):
53906        * platform/graphics/wx/FontWx.cpp:
53907        (WebCore::Font::drawGlyphs):
53908        * platform/graphics/wx/SimpleFontDataWx.cpp:
53909        (WebCore::SimpleFontData::platformInit):
53910        (WebCore::SimpleFontData::determinePitch):
53911        (WebCore::SimpleFontData::platformWidthForGlyph):
53912
539132008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
53914
53915        Reviewed by Adam Roben.
53916
53917        On MSW, the wx port internally uses callbacks for wxTimer, so the
53918        wx port suffers from the same crash problem that was fixed
53919        in r28500 for the Windows port. For now, use the SharedTimerWin.cpp
53920        impl. for wx too on MSW, until a version of wx is released that
53921        fixes the issue by reworking wxTimer.
53922
53923        * page/Page.h:
53924        * platform/win/SharedTimerWin.cpp:
53925        (WebCore::TimerWindowWndProc):
53926        * webcore-wx.bkl:
53927
539282008-02-02  Mark Rowe  <mrowe@apple.com>
53929
53930        Qt build fix.
53931
53932        * platform/qt/ThreadingQt.cpp: Fix typo.
53933
539342008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
53935
53936        Blind build fix for Qt port. Add Threading.h include.
53937
53938        * platform/qt/ThreadingQt.cpp:
53939
539402008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
53941
53942        wx build fix - add missing include file.
53943
53944        * platform/wx/ThreadingWx.cpp:
53945
539462008-02-02  David Hyatt  <hyatt@apple.com>
53947
53948        Fix for bug 4812. Support last-child and last-of-type CSS3 selectors.  Brings Acid3 score up to 68/100.
53949
53950        Reviewed by olliej
53951
53952        Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html
53953
53954        * css/CSSGrammar.y:
53955        * css/CSSSelector.cpp:
53956        (WebCore::CSSSelector::extractPseudoType):
53957        * css/CSSSelector.h:
53958        (WebCore::CSSSelector::):
53959        * css/CSSStyleSelector.cpp:
53960        (WebCore::CSSStyleSelector::checkOneSelector):
53961
539622008-02-01  David Hyatt  <hyatt@apple.com>
53963
53964        Make :first-child and :first-of-type properly dynamic when the DOM changes.  Brings the Acid3 score up
53965        to 66/100.
53966
53967        Reviewed by olliej
53968
53969        Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html
53970
53971        * css/CSSGrammar.y:
53972        * css/CSSStyleSelector.cpp:
53973        (WebCore::CSSStyleSelector::checkOneSelector):
53974        * dom/Element.cpp:
53975        (WebCore::Element::recalcStyle):
53976        (WebCore::Element::childrenChanged):
53977        * rendering/RenderStyle.cpp:
53978        (WebCore::RenderStyle::RenderStyle):
53979        * rendering/RenderStyle.h:
53980        (WebCore::RenderStyle::childrenAffectedByFirstChildRules):
53981        (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules):
53982        (WebCore::RenderStyle::childrenAffectedByLastChildRules):
53983        (WebCore::RenderStyle::setChildrenAffectedByLastChildRules):
53984        (WebCore::RenderStyle::childrenAffectedByPositionalRules):
53985        (WebCore::RenderStyle::setChildrenAffectedByPositionalRules):
53986        (WebCore::RenderStyle::firstChildState):
53987        (WebCore::RenderStyle::setFirstChildState):
53988        (WebCore::RenderStyle::lastChildState):
53989        (WebCore::RenderStyle::setLastChildState):
53990
539912008-02-02  Dan Bernstein  <mitz@apple.com>
53992
53993        Reviewed by Oliver Hunt.
53994
53995        - fix <rdar://problem/5720637> Missing characters in right-to-left complex text where different fonts are used in the same run
53996
53997        * platform/graphics/win/UniscribeController.cpp:
53998        (WebCore::UniscribeController::advance): Fixed an off-by-1 error in the
53999        start offset of sub-runs of RTL runs. Changed to update
54000        m_currentCharacter to the first character of the sub-run before calling
54001        itemizeShapeAndPlace. In RTL runs, m_currentCharacter decreases as
54002        sub-runs are processed from left to right.
54003        (WebCore::UniscribeController::itemizeShapeAndPlace): Removed the
54004        updating of m_currentCharacter because advance() does it now.
54005
540062008-02-01  Brady Eidson  <beidson@apple.com>
54007
54008        Reviewed by Darin's rubberstamp
54009
54010        Move the SecurityOriginHash out into a separate header as it will soon be used in different places
54011
54012        * WebCore.xcodeproj/project.pbxproj:
54013        * platform/SecurityOriginHash.h: Added.
54014        (WebCore::SecurityOriginHash::hash):
54015        (WebCore::SecurityOriginHash::equal):
54016        (WebCore::SecurityOriginTraits::deletedValue):
54017        (WebCore::SecurityOriginTraits::emptyValue):
54018        * storage/DatabaseTracker.cpp:
54019
540202008-02-01  Darin Adler  <darin@apple.com>
54021
54022        Reviewed by Tim.
54023
54024        - fixed mistake in the JSLock fix that caused an assertion every time
54025
54026        * bindings/js/JSCustomSQLTransactionCallback.cpp:
54027        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Added JSLock.
54028        (WebCore::unprotectOnMainThread): Ditto.
54029
540302008-02-01  Anders Carlsson  <andersca@apple.com>
54031
54032        Reviewed by Antti and Darin.
54033
54034        Change Text::createWithLengthLimit to take a UChar pointer instead of a string. This
54035        lets us avoid making a copy of the buffer in TextDocument.cpp.
54036        
54037        * dom/Text.cpp:
54038        (WebCore::Text::createWithLengthLimit):
54039        * dom/Text.h:
54040        * html/HTMLParser.cpp:
54041        (WebCore::HTMLParser::parseToken):
54042        * loader/TextDocument.cpp:
54043        (WebCore::TextTokenizer::write):
54044
540452008-02-01  Darin Adler  <darin@apple.com>
54046
54047        Reviewed by Adam.
54048
54049        * platform/network/mac/ResourceHandleMac.mm:
54050        (WebCore::ResourceHandle::loadsBlocked): Fix grammar and word typo.
54051
540522008-02-01  Darin Adler  <darin@apple.com>
54053
54054        Reviewed by Adam.
54055
54056        - fix <rdar://problem/4527931> showModalDialog calls from onload functions fail (Aspect)
54057
54058        No automated regression test because showModalDialog doesn't work in DumpRenderTree.
54059
54060        * platform/network/mac/ResourceHandleMac.mm:
54061        (WebCore::CallbackGuard::CallbackGuard): Added.
54062        (WebCore::CallbackGuard::~CallbackGuard): Added.
54063        (WebCore::ResourceHandle::supportsBufferedData): Simplified to take advantage of how
54064        static initialization works in C++.
54065        (WebCore::ResourceHandle::loadsBlocked): Always return false on Leopard. The problem in
54066        NSURLConnection that created the need to block loads is fixed in Leoaprd. This is the
54067        bug fix.
54068        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
54069        Use CallbackGuard instead of directly incrementing the count; allows us to omit the code
54070        entirely on Leopard.
54071        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
54072        Ditto.
54073        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
54074        Ditto.
54075        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
54076        Ditto.
54077        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
54078        Ditto.
54079        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
54080        Ditto.
54081        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54082        Ditto.
54083        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
54084        Ditto.
54085        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
54086        Ditto. Fixes a problem where this could leave inNSURLConnectionCallback set
54087        permanently in one of the code paths; this would break showModalDialog from that
54088        point on. This problem doesn't affect Safari.
54089
540902008-02-01  Darin Adler  <darin@apple.com>
54091
54092        * platform/network/mac/ResourceHandleMac.mm:
54093        (WebCore::ResourceHandle::loadsBlocked): Roll out accidentally checked in file.
54094
540952008-02-01  Darin Adler  <darin@apple.com>
54096
54097        Reviewed by Geoff and Brady.
54098
54099        - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
54100          which slows down all JavaScript execution until the thread terminates
54101
54102        * bindings/js/JSCustomSQLTransactionCallback.cpp:
54103        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
54104        Explicitly gcProtect, since we aren't using ProtectedPtr any more.
54105        (WebCore::unprotectOnMainThread): Added.
54106        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
54107        Use unprotectOnMainThread rather than doing a gcUnprotect here.
54108        * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from
54109        a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now.
54110
54111        * loader/icon/IconDatabase.cpp:
54112        (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread):
54113        Renamed. Changed to takea a void* with the icon database pointer.
54114        (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed.
54115        (WebCore::IconDatabase::performURLImport): Updated name, and pass the
54116        icon database pointer in.
54117        * loader/icon/IconDatabase.h: Renamed and added void* parameter.
54118
54119        * platform/Threading.h: Changed callOnMainThread to take a function with a
54120        single parameter rather than a function with no parameters. Added a typedef.
54121
54122        * platform/gtk/ThreadingGtk.cpp:
54123        (WebCore::callFunctionOnMainThread): Changed to use a structure with both
54124        a function pointer and a context pointer, and delete it after calling.
54125        (WebCore::callOnMainThread): Changed to create the structure with both
54126        the function and context pointer.
54127
54128        * platform/mac/Threading.mm:
54129        (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context.
54130        (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context.
54131        Renamed from _call.
54132        (WebCore::callOnMainThread): Updated to take both function and context.
54133
54134        * platform/qt/ThreadingQt.cpp:
54135        (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context.
54136        (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer.
54137        (WebCore::MainThreadInvoker::event): Changed to call invoke.
54138        (WebCore::callOnMainThread): Updated to take both function and context.
54139
54140        * platform/win/ThreadingWin.cpp: Added FunctionWithContext.
54141        (WebCore::callFunctionsOnMainThread): Changed to pass call function with context.
54142        (WebCore::callOnMainThread): Updated to queue both function and context.
54143
54144        * platform/wx/ThreadingWx.cpp:
54145        (WebCore::callOnMainThread): Updated to take both function and context.
54146
54147        * storage/Database.cpp:
54148        (WebCore::Database::scheduleTransactionCallback): Pass 0 for context.
54149        (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer.
54150        * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks.
54151
54152        * storage/DatabaseTracker.cpp:
54153        (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context.
54154        (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer.
54155        * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged.
54156
541572008-02-01  Jon Honeycutt  <jhoneycutt@apple.com>
54158
54159        Rubber-stamped by Ollie.
54160
54161        * plugins/win/PluginPackageWin.cpp:
54162        (WebCore::PluginPackageWin::load): Fix two function pointers
54163
541642008-02-01  Geoffrey Garen  <ggaren@apple.com>
54165
54166        Reviewed by John Sullivan, Oliver Hunt.
54167
54168        Fixed <rdar://problem/5688039> REGRESSION (r29428): Weather widget
54169        fails to load due to reliance on "var location" quirk
54170        
54171        Added a Dashboard quirk.
54172
54173        * bindings/js/kjs_window.cpp:
54174        (KJS::Window::put): In DB backwards compatibility mode, make assignment
54175        to window.location in top-level windows shadow the DOM location API
54176        instead of performing a navigation. This makes a reasonable amount of
54177        sense, because widgets can't navigate their top-level frames, anyway.
54178
541792008-02-01  David Hyatt  <hyatt@apple.com>
54180
54181        Fix for bug 11387, CSS3 :empty selector is not dynamic.
54182
54183        Add support for dynamically updating elements whose style is affected by :empty when the child count changes.
54184
54185        Reviewed by olliej, mitzpettel
54186
54187        fast/css/empty-pseudo-class.html
54188
54189        * css/CSSStyleSelector.cpp:
54190        (WebCore::CSSStyleSelector::locateSharedStyle):
54191        (WebCore::CSSStyleSelector::checkOneSelector):
54192        * dom/Element.cpp:
54193        (WebCore::Element::childrenChanged):
54194        * dom/Element.h:
54195        * rendering/RenderStyle.h:
54196        (WebCore::RenderStyle::affectedByEmpty):
54197        (WebCore::RenderStyle::emptyState):
54198        (WebCore::RenderStyle::setEmptyState):
54199
542002008-02-01  Dan Bernstein  <mitz@apple.com>
54201
54202        Reviewed by Darin Adler.
54203
54204        - switch line breaking from using Carbon Unicode Utilities to using ICU
54205          on Leopard
54206          <http://bugs.webkit.org/show_bug.cgi?id=4628>
54207
54208        fast/text/international/thai-line-breaks.html results do not change.
54209
54210        * rendering/break_lines.cpp:
54211        (WebCore::nextBreakablePosition): Changed to use Carbon only on Tiger.
54212
542132008-02-01  Rodney Dawes  <dobey@wayofthemonkey.com>
54214
54215        Reviewed by Darin.
54216
54217        Update npfunctions.h to export the proper function signatures for UNIX and add
54218        the appropriate #if around the Windows versions
54219
54220        * plugins/npfunctions.h:
54221
542222008-02-01  Eric Seidel  <eric@webkit.org>
54223
54224        Reviewed by Oliver.
54225
54226        Add getSVGDocument to frame and iframe.
54227
54228        Test: svg/custom/frame-getSVGDocument.html
54229
54230        * html/HTMLEmbedElement.cpp:
54231        * html/HTMLEmbedElement.h:
54232        * html/HTMLFrameElement.idl:
54233        * html/HTMLFrameOwnerElement.cpp:
54234        (WebCore::HTMLFrameOwnerElement::getSVGDocument):
54235        * html/HTMLFrameOwnerElement.h:
54236        * html/HTMLIFrameElement.idl:
54237        * html/HTMLObjectElement.cpp:
54238        * html/HTMLObjectElement.h:
54239
542402008-01-30  Eric Seidel  <eric@webkit.org>
54241
54242        Reviewed by darin.
54243
54244        Beat CSSParser with the RefPtr stick.  Hopefully squashing any leaks in the process.
54245        (Deploy RefPtr and PassRefPtr throughout CSSParser)
54246        http://bugs.webkit.org/show_bug.cgi?id=17108
54247
54248        No functional changes, thus no tests.
54249
54250        * css/CSSParser.cpp:
54251        (WebCore::CSSParser::parseColor):
54252        (WebCore::CSSParser::parseValue):
54253        (WebCore::CSSParser::addBackgroundValue):
54254        (WebCore::CSSParser::parseBackgroundShorthand):
54255        (WebCore::CSSParser::addTransitionValue):
54256        (WebCore::CSSParser::parseTransitionShorthand):
54257        (WebCore::CSSParser::parseBackgroundPosition):
54258        (WebCore::CSSParser::parseBackgroundProperty):
54259        (WebCore::CSSParser::parseTransitionProperty):
54260        (WebCore::CSSParser::parseFontFaceSrc):
54261        (WebCore::ShadowParseContext::ShadowParseContext):
54262        (WebCore::CSSParser::parseShadow):
54263        (WebCore::BorderImageParseContext::BorderImageParseContext):
54264        (WebCore::BorderImageParseContext::commitBorderImage):
54265        * css/CSSParser.h:
54266        * css/SVGCSSParser.cpp:
54267        (WebCore::CSSParser::parseSVGValue):
54268
542692008-01-31  Oliver Hunt  <oliver@apple.com>
54270
54271        RS=Brady.
54272
54273        Add platform/Locker.h to vcproj
54274
54275        * WebCore.vcproj/WebCore.vcproj:
54276
542772008-01-31  Brady Eidson  <beidson@apple.com>
54278
54279        Build fix
54280
54281        * WebCore.xcodeproj/project.pbxproj: Header -> WebKit
54282
542832008-01-31  Brady Eidson  <beidson@apple.com>
54284
54285        Reviewed by Maciej
54286
54287        Abstracted the concept of a "Locker" as upcoming work will rely on it.
54288
54289        * platform/Locker.h: Added.  Template class to "lock()" and "unlock()" some arbitrary object
54290        (WebCore::Locker::Locker): Lock the object
54291        (WebCore::Locker::~Locker): Unlock it
54292        * platform/Threading.h: `class MutexLocker` is now `typedef Locker<Mutex>`
54293        * WebCore.xcodeproj/project.pbxproj:
54294
542952008-01-31  Kevin McCullough  <kmccullough@apple.com>
54296
54297        <rdar://problem/5716912> REGRESSION (r29816): Can't navigate back to
54298        Gmail Inbox from Gmail Compose page
54299        Rolling out the change that caused the regression.
54300
54301        * WebCore.base.exp:
54302        * bindings/js/JSHTMLDocumentCustom.cpp:
54303        (WebCore::JSHTMLDocument::open):
54304        * dom/DOMImplementation.cpp:
54305        (WebCore::DOMImplementation::createHTMLDocument):
54306        * dom/Document.cpp:
54307        (WebCore::Document::recalcStyle):
54308        (WebCore::Document::open):
54309        (WebCore::Document::write):
54310        (WebCore::Document::clear):
54311        * dom/Document.h:
54312        * history/HistoryItem.cpp:
54313        (WebCore::HistoryItem::HistoryItem):
54314        * history/HistoryItem.h:
54315        * loader/FrameLoader.cpp:
54316        (WebCore::FrameLoader::didExplicitOpen):
54317        (WebCore::FrameLoader::load):
54318        (WebCore::FrameLoader::reloadAllowingStaleData):
54319        (WebCore::FrameLoader::reload):
54320        (WebCore::FrameLoader::tokenizerProcessedData):
54321        (WebCore::FrameLoader::post):
54322        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
54323        (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
54324        (WebCore::FrameLoader::loadItem):
54325        * loader/FrameLoader.h:
54326        * platform/text/CharacterNames.h:
54327        * xml/DOMParser.cpp:
54328        (WebCore::DOMParser::parseFromString):
54329        * xml/XMLHttpRequest.cpp:
54330        (WebCore::XMLHttpRequest::getResponseXML):
54331        * xml/XSLTProcessor.cpp:
54332        (WebCore::XSLTProcessor::createDocumentFromSource):
54333
543342008-01-31  Matt Lilek  <webkit@mattlilek.com>
54335
54336        Reviewed by Tim Hatcher.
54337
54338        Bug 14960: Cannot copy text in Web Inspector Network panel
54339        http://bugs.webkit.org/show_bug.cgi?id=14960
54340
54341        * page/inspector/inspector.css:
54342
543432008-01-31  Matt Lilek  <webkit@mattlilek.com>
54344
54345        Reviewed by Adam Roben.
54346
54347        Bug 14514: Add full URL view on mouseOver in the network page
54348        http://bugs.webkit.org/show_bug.cgi?id=14514
54349        <rdar://problem/5712841>
54350
54351        * page/inspector/inspector.js:
54352
543532008-01-31  Alp Toker  <alp@atoker.com>
54354
54355        Rubber-stamped Adam Roben.
54356
54357        http://bugs.webkit.org/show_bug.cgi?id=17006
54358        [GTK] Header path should be webkit/webkit.h
54359
54360        Move the GTK+ API sources as needed and update the build systems.
54361
54362        * GNUmakefile.am:
54363        * WebCore.pro:
54364
543652008-01-31  Sam Weinig  <sam@webkit.org>
54366
54367        Reviewed by Geoff Garen.
54368
54369        No need to get the prototype just to compare compare property names.
54370
54371        * bindings/js/JSHistoryCustom.cpp:
54372        (WebCore::JSHistory::customGetOwnPropertySlot):
54373
543742008-01-31  Sam Weinig  <sam@webkit.org>
54375
54376        Fix non-mac builds.
54377
54378        * GNUmakefile.am:
54379        * WebCore.pro:
54380        * WebCore.vcproj/WebCore.vcproj:
54381        * WebCoreSources.bkl:
54382
543832008-01-31  David Hyatt  <hyatt@apple.com>
54384
54385        Fix for bug 17101.
54386
54387        List items need to ignore the line box shrinking quirk, since IE and Firefox both do.
54388
54389        Reviewed by Eric
54390
54391        fast/lists/list-item-line-height.html
54392
54393        * rendering/InlineFlowBox.h:
54394        (WebCore::InlineFlowBox::InlineFlowBox):
54395
543962008-01-31  Samuel Weinig  <sam@webkit.org>
54397
54398        Reviewed by Darin Adler.
54399
54400        Fix for <rdar://problem/5708993> Mutability of the History object
54401
54402        - Don't allow cross-domain get access to any of the history objects properties
54403          except the back(), forward() and go() methods.
54404        - Don't allow cross-domain put access to any of the history objects properties.
54405        - Don't allow cross-domain enumeration of the History or Location objects.
54406
54407        Tests: http/tests/security/cross-frame-access-history-get-override.html
54408               http/tests/security/cross-frame-access-history-get.html
54409               http/tests/security/cross-frame-access-history-put.html
54410
54411        * WebCore.xcodeproj/project.pbxproj:
54412        * bindings/js/JSDOMWindowCustom.cpp: Remove unnessary KJS::'s
54413        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
54414        (WebCore::JSDOMWindow::customPut):
54415        (WebCore::JSDOMWindow::getPropertyNames): Moved implementation from KJS::Window now that the declaration is autogenerated
54416        using the new CustomGetPropertyNames.
54417        (WebCore::JSDOMWindow::postMessage):
54418
54419        * bindings/js/JSHistoryCustom.cpp: Added.
54420        (WebCore::allowsAccessFromFrame):
54421        (WebCore::JSHistory::customGetOwnPropertySlot): Only allow getting the declared functions back(), forward() and go() from cross-domain.
54422        Deny all other gets.
54423        (WebCore::JSHistory::customPut): Don't allow putting cross-domain.
54424        (WebCore::JSHistory::getPropertyNames): Don't allow enumeration cross-domain.
54425
54426        * bindings/js/JSLocation.cpp:
54427        (WebCore::allowsAccessFromFrame):
54428        (WebCore::JSLocation::getPropertyNames): Don't allow enumeration cross-domain.
54429        * bindings/js/JSLocation.h:
54430
54431        * bindings/js/kjs_window.cpp:
54432        * bindings/js/kjs_window.h:
54433
54434        * bindings/scripts/CodeGeneratorJS.pm:
54435        Add support for new CustomGetPropertNames extended attribute and changed the logic of CustomPutFunction
54436        to create an overrided put() function even if no read-write properties exist.
54437
54438        * page/DOMWindow.idl: Added CustomGetPropertNames
54439        * page/History.idl: Added CustomGetPropertNames
54440
544412008-01-30  Justin Garcia  <justin.garcia@apple.com>
54442
54443        Reviewed by Darin Adler.
54444        
54445        <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
54446
54447        * page/mac/WebCoreFrameBridge.h: Re-exposed smartInsertForString:, it's used by a WebKit method used by Mail.
54448
544492008-01-31  Adam Roben  <aroben@apple.com>
54450
54451        Add line box drawing code to InspectorController::drawNodeHighlight
54452
54453        This makes drawNodeHighlight a complete replacement for the painting
54454        code in WebKit/mac/WebNodeHighlightView.mm, and also brings line box
54455        rects to Windows for the first time.
54456
54457        Reviewed by Darin.
54458
54459        * dom/Node.h: Changed isSVGElement to always exist, but to only be
54460        virtual when ENABLE(SVG) is true. This way you can always call
54461        node->isSVGElement() without checking ENABLE(SVG).
54462        * page/InspectorController.cpp:
54463        (WebCore::InspectorController::drawNodeHighlight): Ported line box
54464        rect code from the Mac implementation in WebNodeHighlightView.mm.
54465
544662008-01-31  Adam Roben  <aroben@apple.com>
54467
54468        Put more knowledge about the node highlight in WebCore
54469
54470        InspectorController now calculates the overlay rect and node rect when
54471        drawing the node highlight instead of having them be passed in.
54472        InspectorController now holds onto the highlighted node so that it can
54473        determine these rects.
54474
54475        Once all platforms are calling down to drawNodeHighlight instead of
54476        drawing the highlight themselves, we can change
54477        InspectorClient::highlight(Node*) to something like
54478        InspectorClient::updateAndShowHighlight().
54479
54480        This also fixes Bug 14264: Node highlight makes it impossible to
54481        scroll the page
54482        <http://bugs.webkit.org/show_bug.cgi?id=14264>
54483        <rdar://5712788>
54484
54485        Reviewed by Darin.
54486
54487        * page/InspectorController.cpp:
54488        (WebCore::InspectorController::highlight): Store the node for use in
54489        drawNodeHighlight.
54490        (WebCore::InspectorController::drawNodeHighlight): Changed to be a
54491        const instance method. Now calculates the overlay rect and node rect
54492        instead of having them passed in.
54493        * page/InspectorController.h:
54494
544952008-01-31  Adam Roben  <aroben@apple.com>
54496
54497        Add node highlight drawing code to InspectorController
54498
54499        The code came from WebKit/win/WebNodeHighlight.cpp. It's not quite as
54500        complete as the Mac implementation (in particular, it doesn't handle
54501        line-box rects), but it's a start.
54502
54503        Reviewed by Darin.
54504
54505        * page/InspectorController.cpp:
54506        (WebCore::InspectorController::drawNodeHighlight): Added.
54507        * page/InspectorController.h:
54508
545092008-01-31  Dan Bernstein  <mitz@apple.com>
54510
54511        Reviewed by Dave Hyatt.
54512
54513        - fix http://bugs.webkit.org/show_bug.cgi?id=17107
54514          <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice
54515
54516        Test: fast/block/float/intruding-painted-twice.html
54517
54518        * rendering/RenderBlock.cpp:
54519        (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new
54520        makeChildPaintOtherFloats parameter to addOverhangingFloats() because at
54521        this point we are only taking away floats from the child.
54522        (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new
54523        makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the
54524        child was not laid out again. Only in that case, it may have overhanging
54525        floats that it does not paint because they used to be overhanging from
54526        the parent, but now they are not.
54527        (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for
54528        making the child paint the float: require that the float be a descendant
54529        of the child (the other case is when it intrudes into the child from
54530        another sibling) and that it does not have a layer (in which case it
54531        paints itself). In addition, do the check only if the caller passed
54532        'true' for the makeChildPaintOtherFloats parameter.
54533        * rendering/RenderBlock.h:
54534
545352008-01-30  Dan Bernstein  <mitz@apple.com>
54536
54537        Reviewed by Sam Weinig.
54538
54539        - change the interpretation of unicode-range values in "from-to" form
54540          to include the "to" character.
54541
54542        Test: fast/css/font-face-unicode-range.html
54543
54544        * css/CSSParser.cpp:
54545        (WebCore::CSSParser::parseFontFaceUnicodeRange):
54546        * css/CSSSegmentedFontFace.cpp:
54547        (WebCore::CSSSegmentedFontFace::overlayRange):
54548        * platform/graphics/GlyphPageTreeNode.cpp:
54549        (WebCore::GlyphPageTreeNode::initializePage):
54550        * platform/graphics/SegmentedFontData.cpp:
54551        (WebCore::SegmentedFontData::fontDataForCharacter):
54552        (WebCore::SegmentedFontData::containsCharacters):
54553
545542008-01-30  Dan Bernstein  <mitz@apple.com>
54555
54556        Reviewed by Darin Adler.
54557
54558        - prune references to custom fonts' SimpleFontData from the glyph page
54559          tree when they are destroyed
54560
54561        * css/CSSFontFaceSource.cpp:
54562        (WebCore::CSSFontFaceSource::pruneTable):
54563
545642008-01-30  Darin Adler  <darin@apple.com>
54565
54566        Reviewed by Tim Hatcher.
54567
54568        New fix for <rdar://problem/5688428> Reproducible assertion failure
54569        in SQLTransaction::performNextStep() (16876)
54570
54571        Fixes a deadlock that was happening for all Database use. All
54572        storage layout tests pass.
54573
54574        * storage/Database.cpp:
54575        (WebCore::CurrentThreadSetter::CurrentThreadSetter): New helper class
54576        to set the current thread and zero it on destruction.
54577        (WebCore::CurrentThreadSetter::~CurrentThreadSetter): Set threadIdentifierStorage to 0.
54578        (WebCore::Database::Database): Set m_transactionStepThread to 0.
54579        (WebCore::Database::performTransactionStep): Set m_transactionStepThread to currentThread().
54580        (WebCore::Database::scheduleTransactionCallback): Assert m_transactionStepThread
54581        is currentThread().
54582        * storage/Database.h: Add m_transactionStepThread for debug builds
54583        to track which thread performTransactionStep() was called on. 
54584
545852008-01-30  Timothy Hatcher  <timothy@apple.com>
54586
54587        Reviewed by Darin Adler.
54588
54589        ASSERTION FAILED: JSLock::lockCount() > 0 when opening the
54590        Web Inspector on a page with a Database.
54591
54592        Fix the ASSERT by taking a JSLock before calling toJS().
54593
54594        * page/InspectorController.cpp:
54595        (WebCore::InspectorController::addDatabaseScriptResource):
54596
545972008-01-30  Beth Dakin  <bdakin@apple.com>
54598
54599        Reviewed by Darin.
54600
54601        Fix for <rdar://problem/5598609> CrashTracer: [USER] 626 crashes in 
54602        Safari at com.apple.WebCore: WebCore::FrameView::needsFullRepaint 
54603        const + 6
54604
54605        The real problem here is tracked by rdar://5598072, which is that 
54606        frames can lose sync between their view and their document when a 
54607        non-HTML view is loaded (such as bookmarks view or a PDF). That can 
54608        cause this crash if the layout timer fires before things have fixed 
54609        themselves. This fix turns an ASSERT in FrameView::layout() into an 
54610        early return to cause graceful failure until the root of the 
54611        problem is addressed. 
54612
54613        * page/FrameView.cpp:
54614        (WebCore::FrameView::layout):
54615
546162008-01-30  Justin Garcia  <justin.garcia@apple.com>
54617
54618        Reviewed by Darin Adler.
54619
54620        <rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline
54621
54622        * editing/FormatBlockCommand.cpp:
54623        (WebCore::FormatBlockCommand::doApply): If the selected paragraph was empty,
54624        we may still need to call moveParagrah to remove the line break that holds that
54625        paragraph open because the new block of the requested type needs to to replace it.
54626
546272008-01-30  Timothy Hatcher  <timothy@apple.com>
54628
54629        Reviewed by Darin Adler.
54630
54631        <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)
54632
54633        Revised fix to use the globalCallbackMutex() mutex and hold the mutex
54634        for the entire function scope.
54635
54636        * storage/Database.cpp:
54637        (WebCore::Database::performTransactionStep):
54638
546392008-01-30  Timothy Hatcher  <timothy@apple.com>
54640
54641        Reviewed by Adam Roben.
54642
54643        Make ResourceTreeElement inherit the prototype of TreeElement.
54644
54645        * page/inspector/Resource.js:
54646
546472008-01-30  Sam Weinig  <sam@webkit.org>
54648
54649        Reviewed by Adam Roben.
54650
54651        Don't include SecurityOrigin.h in Document.h so that we can avoid massive
54652        recompilation when changing the SecurityOrigin.
54653
54654        * dom/Document.cpp:
54655        (WebCore::Document::setSecurityOrigin):
54656        * dom/Document.h:
54657
546582008-01-30  Tim Omernick  <timo@apple.com>
54659
54660        Reviewed by Tim Hatcher and Brady.
54661
54662        <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)
54663
54664        * storage/Database.cpp:
54665        (WebCore::Database::performTransactionStep): Do not perform the next transaction if
54666        a global callback is already scheduled.
54667
546682008-01-30  Jon Honeycutt  <jhoneycutt@apple.com>
54669
54670        Reviewed by Darin.
54671
54672        <rdar://problem/5669317> Crash closing pop up window with Real Player
54673        content
54674
54675        Some RealPlayer versions hang on unload. To prevent this hang, don't
54676        unload versions since the last known unloadable version.
54677        <rdar://problem/5713147> tracks revisiting this when the bug in
54678        RealPlayer is fixed and we can again unload the plug-in.
54679
54680        * plugins/win/PluginPackageWin.cpp:
54681        (WebCore::PluginPackageWin::compareFileVersion): Compare the plug-in's
54682        file version to the passed file version, returning -1, 0, or 1 if the
54683        plug-in's version is less than, equal to, or greater than the version
54684        passed.
54685        (WebCore::PluginPackageWin::isPluginBlacklisted): Use
54686        compareFileVersion()
54687        * plugins/win/PluginPackageWin.h:
54688        * plugins/win/PluginViewWin.cpp:
54689        (WebCore::PluginViewWin::determineQuirks): If the plug-in version is
54690        newer than the last-known unloadable version, add the DontUnloadPlugin
54691        quirk
54692
546932008-01-29  Mark Rowe  <mrowe@apple.com>
54694
54695        Reviewed by Tim Hatcher.
54696
54697        Look for headers relative to NEXT_ROOT so that build-root picks up the WebCoreSQLite
54698        version of sqlite3.h rather than the older system version.
54699
54700        * Configurations/Base.xcconfig:
54701
547022008-01-29  Dan Bernstein  <mitz@apple.com>
54703
54704        - build fix
54705
54706        * loader/CachedFont.cpp:
54707        (WebCore::CachedFont::CachedFont):
54708
547092008-01-29  Mark Rowe  <mrowe@apple.com>
54710
54711        Reviewed by Brady Eidson.
54712
54713        Add the correct directory to the header search paths in Production builds.
54714
54715        * Configurations/Base.xcconfig:
54716
547172008-01-29  Dan Bernstein  <mitz@apple.com>
54718
54719        Reviewed by Dave Hyatt.
54720
54721        - fix http://bugs.webkit.org/show_bug.cgi?id=17085
54722          <rdar://problem/5714136> REGRESSION (r29839): All remote fonts are treated as SVG fonts
54723
54724        Test: fast/css/font-face-remote.html
54725
54726        Added an isSVGFont method to CachedFont and use it to decide how to
54727        process the font data. Currently whether the data is SVG is determined
54728        based on the format property in the @font-face rule, but in the future
54729        the MIME type or other metadata may be used when the format is
54730        unspecified.
54731
54732        * css/CSSFontFaceSource.cpp:
54733        (WebCore::CSSFontFaceSource::getFontData): Changed to parse the data as
54734        SVG only if the CachedFont is an SVG font.
54735        * css/CSSFontSelector.cpp:
54736        (WebCore::CSSFontSelector::addFontFaceRule): Mark the CachedFont as an
54737        SVG font based on format.
54738        * loader/CachedFont.cpp:
54739        (WebCore::CachedFont::CachedFont): Initialize m_isSVGFont to false.
54740        (WebCore::CachedFont::ensureCustomFontData):
54741        (WebCore::CachedFont::ensureSVGFontData):
54742        (WebCore::CachedFont::getSVGFontById):
54743        * loader/CachedFont.h:
54744        (WebCore::CachedFont::isSVGFont): Added.
54745        (WebCore::CachedFont::setSVGFont): Added.
54746
547472008-01-29  Antti Koivisto  <antti@apple.com>
54748
54749        Some comment cleanup.
54750
54751        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
54752        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
54753        * platform/graphics/win/QTMovieWin.cpp:
54754        (QTMovieWin::load):
54755        (QTMovieWin::disableUnsupportedTracks):
54756
547572008-01-29  Adele Peterson  <adele@apple.com>
54758
54759        Reviewed by Antti.
54760
54761        Fix for <rdar://5683527> media/{audio,video|-controls-rendering.html failing
54762        
54763        * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled):
54764        Don't treat all media controls as styled.  This causes builds with an old version of SafariTheme to have different metrics for these controls.
54765
547662008-01-29  Dan Bernstein  <mitz@apple.com>
54767
54768        Reviewed by Dave Hyatt.
54769
54770        - make Font instances cache their primary font
54771
54772        * WebCore.base.exp:
54773        * platform/graphics/Font.cpp:
54774        (WebCore::Font::Font):
54775        (WebCore::Font::operator=):
54776        (WebCore::Font::cachePrimaryFont):
54777        (WebCore::Font::update):
54778        * platform/graphics/Font.h:
54779        (WebCore::Font::primaryFont):
54780
547812008-01-29  Dan Bernstein  <mitz@apple.com>
54782
54783        - Leopard build fix
54784
54785        * platform/graphics/SimpleFontData.cpp:
54786        (WebCore::SimpleFontData::SimpleFontData):
54787
547882008-01-29  Mark Rowe  <mrowe@apple.com>
54789
54790        Reviewed by Tim Hatcher.
54791
54792        <rdar://problem/5600926> WebCore on Tiger must link to its own copy of SQLite 3.4 or newer (so HTML database behavior will be correct).
54793
54794        * Configurations/Base.xcconfig: Update the header search path on Tiger.
54795        * Configurations/DebugRelease.xcconfig: Update the header search path on Tiger.
54796        * Configurations/WebCore.xcconfig: Link against libWebCoreSQLite3.a when building on Tiger.
54797        * WebCore.xcodeproj/project.pbxproj: Update the header search path in Production builds on Tiger.
54798
547992008-01-29  Dan Bernstein  <mitz@apple.com>
54800
54801        Reviewed by Adam Roben and Oliver Hunt.
54802
54803        - fix <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing
54804
54805        * platform/graphics/SimpleFontData.cpp:
54806        (WebCore::SimpleFontData::SimpleFontData): Use double instead of float
54807        for consistent rounding behavior between Mac OS X and Windows.
54808
548092008-01-29  Adam Roben  <aroben@apple.com>
54810
54811        Fix <rdar://5713302> Web Inspector on Windows is not using the
54812        localized strings
54813
54814        Reviewed by Steve.
54815
54816        * WebCore.vcproj/WebCore.vcproj: Copy InspectorLocalizedStrings.js to
54817        $WebKitOutputDir.
54818        * page/InspectorController.cpp: Touch this to force the project to
54819        build.
54820
548212008-01-29  Eric Seidel  <eric@webkit.org>
54822
54823        Reviewed by Nikolas.
54824
54825        Acid3 after double-attach
54826        http://bugs.webkit.org/show_bug.cgi?id=17058
54827        
54828        I believe SVGTextPathElement::buildPendingResource() was entirely
54829        bogus, removing it did not cause any tests to fail.
54830
54831        Test: svg/custom/textPath-assert.svg
54832
54833        * svg/SVGTextPathElement.cpp:
54834        (WebCore::SVGTextPathElement::insertedIntoDocument): remove buildPendingResource()
54835        * svg/SVGTextPathElement.h:
54836
548372008-01-29  Adam Roben  <aroben@apple.com>
54838
54839        Fix Bug 16234: Inspector should support searching for elements by CSS selectors
54840
54841        <http://bugs.webkit.org/show_bugs.cgi?id=16234>
54842        <rdar://5712862>
54843
54844        Reviewed by Tim.
54845
54846        * page/inspector/inspector.js: Use Document.querySelectorAll to search
54847        for elements by CSS selector. Also store a custom property on nodes
54848        being added to the search results to avoid showing the same node more
54849        than once.
54850
548512008-01-29  Adam Roben  <aroben@apple.com>
54852
54853        Fix <rdar://5711136> Full-screen Flash on 1up.com is unresponsive
54854
54855        Reviewed by Anders and Darin.
54856
54857        No test possible.
54858
54859        * plugins/win/PluginViewWin.cpp:
54860        (WebCore::PluginViewWin::wndProc): Set/release capture on mouse
54861        down/up, like Firefox does.
54862
548632008-01-28  Dan Bernstein  <mitz@apple.com>
54864
54865        Reviewed by Sam Weinig.
54866
54867        - make isSVGFont non-virtual
54868
54869        * platform/graphics/FontData.h:
54870        * platform/graphics/SegmentedFontData.cpp:
54871        * platform/graphics/SegmentedFontData.h:
54872        * platform/graphics/SimpleFontData.h:
54873        (WebCore::SimpleFontData::isSVGFont):
54874
548752008-01-28  Dan Bernstein  <mitz@apple.com>
54876
54877        Reviewed by Adam Roben.
54878
54879        - fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook
54880
54881        * platform/win/ScrollViewWin.cpp:
54882        (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll
54883        event before updating the window, thus giving event handlers a chance
54884        to update layout for the new scroll position, eliminating the jitter.
54885
548862008-01-28  Adam Roben  <aroben@apple.com>
54887
54888        Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified
54889
54890        Reviewed by Darin.
54891
54892        A null value exception was being thrown in Gmail's JS code because a
54893        call to document.write failed. document.write failed because
54894        Document::close had not yet been called. Document::close was not
54895        called because the Document was considered to not be "complete" in
54896        FrameLoader::checkComplete because the user stylesheet was in the
54897        process of loading. The user stylesheet was loading because it had
54898        previously been evicted from the cache and was loading fresh from
54899        disk. It had been evicted from the cache because the calculation of
54900        the expiration date was incorrectly casting/overflowing in
54901        ResourceResponseCFNet.cpp.
54902
54903        We now calculate the expiration date in a way that does not cause us
54904        to overflow a time_t, and we correctly clamp the value to the range of
54905        a time_t. I also made the fix for the last modified date, though that
54906        was not causing any bug I am aware of.
54907
54908        In the long-term it seems like whether or not Document::close is
54909        called should not be dependent upon whether the user stylesheet has
54910        finished loading or not.
54911
54912        * platform/network/cf/ResourceResponseCFNet.cpp:
54913        (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and
54914        clamps to the range of time_t.
54915        (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT.
54916
549172008-01-28  Dan Bernstein  <mitz@apple.com>
54918
54919        Reviewed by Nikolas Zimmermann.
54920
54921        - fix leaks introduced in r29838
54922
54923        * svg/SVGFont.cpp:
54924        (WebCore::floatWidthMissingGlyphCallback):
54925        (WebCore::drawTextMissingGlyphCallback):
54926
549272008-01-28  Nikolas Zimmermann  <zimmermann@kde.org>
54928
54929        Reviewed by Eric, Dan & Oliver.
54930
54931        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980
54932
54933        Support external SVG Fonts, by reusing the custom font handling logic.
54934        This enables us - as first engine - to render HTML pages using SVG Fonts.
54935
54936        Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg
54937        Add new testcase svg-fonts-in-html.html.
54938
54939        * css/CSSFontFaceSource.cpp:
54940        (WebCore::CSSFontFaceSource::getFontData):
54941        * css/CSSFontFaceSource.h:
54942        * css/CSSFontFaceSrcValue.cpp:
54943        (WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc):
54944        (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
54945        * css/CSSFontFaceSrcValue.h:
54946        * css/CSSFontSelector.cpp:
54947        (WebCore::CSSFontSelector::addFontFaceRule):
54948        * loader/CachedFont.cpp:
54949        (WebCore::CachedFont::~CachedFont):
54950        (WebCore::CachedFont::ensureSVGFontData):
54951        (WebCore::CachedFont::extractFontFromSVGData):
54952        (WebCore::CachedFont::platformDataFromSVGData):
54953        * loader/CachedFont.h:
54954        * platform/graphics/Font.cpp:
54955        (WebCore::Font::offsetForPosition):
54956        * platform/graphics/Font.h:
54957        * svg/SVGFont.cpp:
54958        (WebCore::floatWidthOfSubStringUsingSVGFont):
54959        (WebCore::Font::drawTextUsingSVGFont):
54960        (WebCore::Font::offsetForPositionForTextUsingSVGFont):
54961        * svg/SVGFontFaceElement.cpp:
54962        (WebCore::SVGFontFaceElement::rebuildFontFace):
54963        * svg/SVGFontFaceElement.h:
54964        * svg/SVGFontFaceUriElement.cpp:
54965        (WebCore::SVGFontFaceUriElement::srcValue):
54966
549672008-01-28  Dan Bernstein  <mitz@apple.com>
54968
54969        Reviewed by Adam Roben.
54970
54971        - fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows
54972
54973        The results differed between Mac OS X and Windows because the code was
54974        using a 0-size font, which Mac OS X changes to 12pt.
54975
54976        * svg/SVGFont.cpp:
54977        (WebCore::floatWidthMissingGlyphCallback): Use the font description of
54978        the primary font to initialize the fallback font.
54979        (WebCore::drawTextMissingGlyphCallback): Ditto.
54980
549812008-01-28  Eric Seidel  <eric@webkit.org>
54982
54983        Reviewed by Nikolas Zimmermann.
54984
54985        Use class instead of struct to appease MSVC.
54986
54987        * history/HistoryItem.h:
54988        * loader/FrameLoaderClient.h:
54989        * page/InspectorController.h:
54990        * platform/network/ResourceRequestBase.h:
54991        * platform/network/mac/ResourceRequest.h:
54992
549932008-01-28  Dan Bernstein  <mitz@apple.com>
54994
54995        Reviewed by Darin Adler.
54996
54997        - fix http://bugs.webkit.org/show_bug.cgi?id=16774
54998          REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button
54999
55000        Test: fast/dynamic/float-no-longer-overhanging.html
55001
55002        * rendering/RenderBlock.cpp:
55003        (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns
55004        out not to be overhanging at this time, ensure that the child paints it.
55005
550062008-01-28  Oliver Hunt  <oliver@apple.com>
55007
55008        More wx fixes
55009
55010        * platform/graphics/wx/AffineTransformWx.cpp:
55011
550122008-01-28  Oliver Hunt  <oliver@apple.com>
55013
55014        And another Wx build fix
55015
55016        * platform/graphics/wx/AffineTransformWx.cpp:
55017        (WebCore::AffineTransform::mapRect):
55018
550192008-01-28  Oliver Hunt  <oliver@apple.com>
55020
55021        Yet another Wx build fix
55022
55023        * platform/graphics/wx/GraphicsContextWx.cpp:
55024
550252008-01-28  Oliver Hunt  <oliver@apple.com>
55026
55027        Wx build fix
55028
55029        * platform/graphics/wx/GraphicsContextWx.cpp:
55030        (WebCore::GraphicsContext::getCTM):
55031
550322008-01-28  Oliver Hunt  <oliver@apple.com>
55033
55034        Gtk build fix
55035
55036        * platform/graphics/cairo/GraphicsContextCairo.cpp:
55037
550382008-01-27  Oliver Hunt  <oliver@apple.com>
55039
55040        Reviewed by Sam Weinig.
55041
55042        Bug 16629: <canvas> does not support isPointInPath()
55043
55044        Relatively trivial change to implement pointInPath and add
55045        it to the bindings.  Most of this patch is the addition of
55046        GraphicsContext::getCTM() by pulling the various platform
55047        implementations from CanvasRenderingContext2D::willDraw
55048
55049        Test: fast/canvas/pointInPath.html
55050
55051        * html/CanvasRenderingContext2D.cpp:
55052        (WebCore::CanvasRenderingContext2D::isPointInPath):
55053        (WebCore::CanvasRenderingContext2D::willDraw):
55054        * html/CanvasRenderingContext2D.h:
55055        * html/CanvasRenderingContext2D.idl:
55056        * platform/graphics/AffineTransform.cpp:
55057        (WebCore::AffineTransform::mapPoint):
55058          Support mapping of FloatRects
55059        * platform/graphics/AffineTransform.h:
55060        * platform/graphics/GraphicsContext.h:
55061        * platform/graphics/cairo/GraphicsContextCairo.cpp:
55062        (WebCore::GraphicsContext::getCTM):
55063        * platform/graphics/cg/GraphicsContextCG.cpp:
55064        (WebCore::GraphicsContext::getCTM):
55065        * platform/graphics/qt/GraphicsContextQt.cpp:
55066        (WebCore::GraphicsContext::getCTM):
55067
550682008-01-27  Alexey Proskuryakov  <ap@webkit.org>
55069
55070        Reviewed by Darin.
55071
55072        http://bugs.webkit.org/show_bug.cgi?id=17014
55073        REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000
55074
55075        Test: fast/encoding/char-decoding.html
55076
55077        * platform/text/TextCodecICU.cpp:
55078        (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code.
55079
55080        * platform/text/mac/TextCodecMac.cpp:
55081        (WebCore::TextCodecMac::decode): Corrected a comment.
55082
550832008-01-27  Alp Toker  <alp@atoker.com>
55084
55085        Reviewed by Mark Rowe.
55086
55087        http://bugs.webkit.org/show_bug.cgi?id=17029
55088        Use of deprecated class function but declares GTK_DISABLE_DEPRECATED
55089
55090        Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla
55091        upstream.
55092
55093        Adapt RenderThemeGtk.cpp to track minor changes.
55094
55095        * platform/gtk/RenderThemeGtk.cpp:
55096        (WebCore::gtkTextDirection):
55097        (WebCore::adjustMozStyle):
55098        (WebCore::setMozState):
55099        (WebCore::paintMozWidget):
55100        * platform/gtk/gtk2drawing.c:
55101        (setup_widget_prototype):
55102        (ensure_hpaned_widget):
55103        (ensure_vpaned_widget):
55104        (ensure_toggle_button_widget):
55105        (ensure_combo_box_entry_widget):
55106        (ensure_dropdown_entry_widget):
55107        (moz_gtk_get_dropdown_button):
55108        (ensure_arrow_widget):
55109        (ensure_toolbar_separator_widget):
55110        (ensure_statusbar_widget):
55111        (ensure_frame_widget):
55112        (ensure_menu_separator_widget):
55113        (ensure_tree_view_widget):
55114        (ensure_tree_header_cell_widget):
55115        (ensure_expander_widget):
55116        (ConvertGtkState):
55117        (moz_gtk_button_paint):
55118        (moz_gtk_widget_get_focus):
55119        (moz_gtk_splitter_get_metrics):
55120        (moz_gtk_toggle_paint):
55121        (moz_gtk_scrollbar_button_paint):
55122        (moz_gtk_scrollbar_trough_paint):
55123        (moz_gtk_scrollbar_thumb_paint):
55124        (moz_gtk_spin_paint):
55125        (moz_gtk_spin_updown_paint):
55126        (moz_gtk_scale_paint):
55127        (moz_gtk_scale_thumb_paint):
55128        (moz_gtk_gripper_paint):
55129        (moz_gtk_hpaned_paint):
55130        (moz_gtk_vpaned_paint):
55131        (moz_gtk_entry_paint):
55132        (moz_gtk_treeview_paint):
55133        (moz_gtk_tree_header_cell_paint):
55134        (moz_gtk_tree_header_sort_arrow_paint):
55135        (moz_gtk_treeview_expander_paint):
55136        (moz_gtk_expander_paint):
55137        (moz_gtk_option_menu_paint):
55138        (moz_gtk_downarrow_paint):
55139        (moz_gtk_dropdown_arrow_paint):
55140        (moz_gtk_container_paint):
55141        (moz_gtk_toggle_label_paint):
55142        (moz_gtk_toolbar_paint):
55143        (moz_gtk_toolbar_separator_paint):
55144        (moz_gtk_tooltip_paint):
55145        (moz_gtk_resizer_paint):
55146        (moz_gtk_frame_paint):
55147        (moz_gtk_progressbar_paint):
55148        (moz_gtk_progress_chunk_paint):
55149        (moz_gtk_get_tab_thickness):
55150        (moz_gtk_tab_paint):
55151        (moz_gtk_tabpanels_paint):
55152        (moz_gtk_menu_bar_paint):
55153        (moz_gtk_menu_popup_paint):
55154        (moz_gtk_menu_separator_paint):
55155        (moz_gtk_menu_item_paint):
55156        (moz_gtk_menu_arrow_paint):
55157        (moz_gtk_check_menu_item_paint):
55158        (moz_gtk_window_paint):
55159        (moz_gtk_get_widget_border):
55160        (moz_gtk_get_dropdown_arrow_size):
55161        (moz_gtk_get_toolbar_separator_width):
55162        (moz_gtk_get_expander_size):
55163        (moz_gtk_get_treeview_expander_size):
55164        (moz_gtk_get_menu_separator_height):
55165        (moz_gtk_widget_paint):
55166        (moz_gtk_shutdown):
55167        * platform/gtk/gtkdrawing.h:
55168
551692008-01-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
55170
55171        Reviewed by Alp Toker.
55172
55173        http://bugs.webkit.org/show_bug.cgi?id=14811
55174        [gtk] [request] add a webkit_gtk_page_go_to_history_item function
55175
55176        Added webkit/gtk webkitwebbackforwardlist and webkitwebhistoryitem
55177
55178        * WebCore.pro:
55179
551802008-01-27  Matt Perry  <mpComplete@gmail.com>
55181
55182        Reviewed and tweaked quite a bit by Darin.
55183
55184        Fix for http://bugs.webkit.org/show_bug.cgi?id=14959
55185        No back forward entry added for pages created in javascript
55186
55187        A new HistoryItem is created for calls to Document::open. Calls to
55188        Document::write save the written data to a SharedBuffer that is also
55189        stored on the HistoryItem. When the user navigates back to a
55190        HistoryItem that has a valid buffer, that data is used for the page
55191        content.
55192
55193        Tests: http/tests/navigation/document-open-adds-history-item.html
55194               http/tests/navigation/document-open-delayed-adds-history-item.html
55195               http/tests/navigation/document-open-new-window-adds-history-item.html
55196               http/tests/navigation/document-open-replace-no-history-item.html
55197
55198        * bindings/js/JSHTMLDocumentCustom.cpp:
55199        (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or
55200        "text/plain" and a boolean for "replace" in rather than always setting replace
55201        to true and the MIME type to "text/html".
55202
55203        * dom/DOMImplementation.cpp:
55204        (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and
55205        replace boolean explicitly, since we don't want to rely on Document::open()'s
55206        default.
55207
55208        * dom/Document.cpp:
55209        (WebCore::Document::open): Correctly determine the "replace" boolean.
55210        Pass along the MIME type, replace boolean, and shared buffer to the
55211        frame loader's didExplicitOpen function.
55212        (WebCore::Document::write): Pass MIME type and replace boolean explicitly
55213        to the open function so we don't do treat it as replace if you write without
55214        an open. Store text written by the script so it can be used later for history.
55215        (WebCore::Document::clear): Drop the text written byt he script.
55216
55217        * dom/Document.h: Added MIME type and replace boolean parameters for open.
55218        Had to keep the old version for the sake of DOM bindings. Added the shared
55219        buffer used for text written by script.
55220
55221        * history/HistoryItem.cpp:
55222        (WebCore::HistoryItem::HistoryItem): Copy m_substituteData.
55223        (WebCore::HistoryItem::substituteData): Added.
55224        (WebCore::HistoryItem::setSubstituteData): Added.
55225        * history/HistoryItem.h: Added m_substituteData, getter, and setter.
55226
55227        * loader/FrameLoader.cpp:
55228        (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the
55229        history item, including attaching the shared buffer that will contain all
55230        the data written by script.
55231        (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through
55232        when creating the document loader.
55233        (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader
55234        with the substitute data from the current history item.
55235        (WebCore::FrameLoader::reload): Ditto.
55236        (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history
55237        item has substitute data, then consider the URL from the substitute data
55238        rather than the one in the history item itself.
55239        (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data.
55240        * loader/FrameLoader.h: Added parameters to load and didExplicitOpen.
55241
55242        * platform/text/CharacterNames.h: Added byteOrderMark, and also added it under
55243        its other official name, zeroWidthNoBreakSpace.
55244
55245        * xml/DOMParser.cpp:
55246        (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean
55247        explicitly, since we don't want to rely on Document::open()'s default.
55248        * xml/XMLHttpRequest.cpp:
55249        (WebCore::XMLHttpRequest::getResponseXML): Ditto.
55250        * xml/XSLTProcessor.cpp:
55251        (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
55252
552532008-01-25  Eric Seidel  <eric@webkit.org>
55254
55255        Reviewed by Sam and Darin.
55256
55257        Fire a warning shot in DeprecatedChar's direction.
55258
55259        Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar
55260        Remove a needless String -> DeprecatedString -> String conversion for <script> tags
55261
55262        * css/MediaQueryEvaluator.cpp:
55263        (WebCore::parseAspectRatio):
55264        * css/SVGCSSParser.cpp:
55265        * dom/Position.cpp:
55266        (WebCore::Position::leadingWhitespacePosition):
55267        (WebCore::Position::trailingWhitespacePosition):
55268        * editing/TextIterator.cpp:
55269        (WebCore::WordAwareIterator::advance):
55270        * html/HTMLFontElement.cpp:
55271        (WebCore::parseFontSizeNumber):
55272        * html/HTMLTokenizer.cpp:
55273        (WebCore::HTMLTokenizer::scriptHandler):
55274        (WebCore::HTMLTokenizer::scriptExecution):
55275        (WebCore::HTMLTokenizer::notifyFinished):
55276        * html/HTMLTokenizer.h:
55277        * loader/CachedCSSStyleSheet.cpp:
55278        * loader/TextResourceDecoder.cpp:
55279        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
55280        * platform/mac/ClipboardMac.mm:
55281        (WebCore::ClipboardMac::getData):
55282        * platform/network/HTTPParsers.cpp:
55283        (WebCore::extractMIMETypeFromMediaType):
55284        * platform/text/PlatformString.h:
55285        * platform/text/StringImpl.cpp:
55286        (WebCore::parseLength):
55287        (WebCore::StringImpl::stripWhiteSpace):
55288        (WebCore::StringImpl::simplifyWhiteSpace):
55289        (WebCore::StringImpl::toInt):
55290        (WebCore::StringImpl::toInt64):
55291        (WebCore::StringImpl::toUInt64):
55292        * platform/text/StringImpl.h:
55293        (WebCore::isSpaceOrNewline):
55294        * rendering/InlineFlowBox.cpp:
55295        (WebCore::InlineFlowBox::placeBoxesHorizontally):
55296        * rendering/RenderBlock.cpp:
55297        (WebCore::RenderBlock::updateFirstLetter):
55298        * rendering/bidi.cpp:
55299        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
55300        * svg/SVGFontFaceElement.cpp:
55301        (WebCore::mapAttributeToCSSProperty):
55302        * svg/SVGLength.cpp:
55303        * svg/SVGStyledElement.cpp:
55304        (WebCore::mapAttributeToCSSProperty):
55305        * xml/XPathParser.cpp:
55306
553072008-01-25  Stephanie Lewis  <slewis@apple.com>
55308
55309        Reviewed by Tim.
55310
55311        expand workaround for <rdar://5695848> to include js files so that the
55312        web inspector can work
55313
55314        * platform/network/cf/ResourceResponseCFNet.cpp:
55315        (WebCore::ResourceResponse::doUpdateResourceResponse):
55316
553172008-01-25  Antti Koivisto  <antti@apple.com>
55318
55319        Reviewed by Adele.
55320        
55321        (this is for r29798, my commit failed to include the log)
55322        
55323        Windows fix to match r29773
55324        If the media is playing and the load stalls the playback wont restart by seeking backwards.      
55325
55326        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
55327        (WebCore::MediaPlayerPrivate::updateStates):
55328
553292008-01-25  Darin Adler  <darin@apple.com>
55330
55331        Reviewed by Anders.
55332
55333        - fix <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement
55334
55335        For empty statements, SQLite returns 0 for the statement. We have to cope with that.
55336
55337        Test: storage/empty-statement.html
55338
55339        * platform/sql/SQLiteStatement.cpp:
55340        (WebCore::sqlite3_prepare16_v2): Added overload so we don't need an #if inside the prepare
55341        function.
55342        (WebCore::SQLiteStatement::SQLiteStatement): Initialize the m_isPrepared boolean. Removed
55343        the code to add a null character to the end of the string; instead we will use
55344        charactersWithNullTermination.
55345        (WebCore::SQLiteStatement::prepare): Set m_isPrepared based on the error value returned.
55346        Use the error value from sqlite3_prepare16_v2, not from lastError().
55347        (WebCore::SQLiteStatement::step): Assert that the statement is prepared rather than checking
55348        it at runtime. However, in the case where this is called with m_statement of 0, return
55349        success rather than an error. That's needed for empty statements.
55350        (WebCore::SQLiteStatement::finalize): Use early return idiom for clarity. When there is no
55351        statement, return SQLITE_OK instead of calling lastError().
55352        (WebCore::SQLiteStatement::reset): Use early return idiom for clarity. When there is no
55353        statement, return SQLITE_OK rather than SQLITE_ERROR, but assert the statement is prepared.
55354        (WebCore::SQLiteStatement::executeCommand): Adjust the code that does a prepare so that it
55355        will work for empty statements. Do we really need to allow calling this without prepare?
55356        It would be simpler to just be able to assert that it's prepared.
55357        (WebCore::SQLiteStatement::returnsAtLeastOneResult): Ditto.
55358        (WebCore::SQLiteStatement::bindBlob): Added some assertions. Return SQLITE_ERROR if this
55359        is called with m_statement of 0 (should not be possible without assertions firing first).
55360        Return the actual error code rather than lastError().
55361        (WebCore::SQLiteStatement::bindText): Ditto. Also simplified the special case for empty
55362        strings, since it requires any non-null pointer, not a pointer to a global zero character.
55363        (WebCore::SQLiteStatement::bindInt64): Ditto.
55364        (WebCore::SQLiteStatement::bindDouble): Ditto.
55365        (WebCore::SQLiteStatement::bindNull): Ditto.
55366        (WebCore::SQLiteStatement::bindValue): Moved default case out of the switch to take
55367        advantage of the gcc compiler warning for unhandled enum values in a switch.
55368        (WebCore::SQLiteStatement::bindParameterCount): Added assertion and code to handle the
55369        empty statement case.
55370        (WebCore::SQLiteStatement::columnCount): Added assertion and changed the code to use
55371        the early-return idiom.
55372        (WebCore::SQLiteStatement::getColumnName): Removed getColumnName16 -- we always use 16-bit
55373        characters and have no reason to ever use the 8-bit function. Added assertions about the
55374        passed-in column number. It's a little strange that this function checks the column number
55375        for too-large column numbers, but not for negative ones. I didn't change that for now.
55376        (WebCore::SQLiteStatement::getColumnText): Ditto.
55377        (WebCore::SQLiteStatement::getColumnDouble): Ditto.
55378        (WebCore::SQLiteStatement::getColumnInt): Ditto.
55379        (WebCore::SQLiteStatement::getColumnInt64): Ditto.
55380        (WebCore::SQLiteStatement::getColumnBlobAsVector): Ditto.
55381        (WebCore::SQLiteStatement::getColumnBlob): Tightened up function a bit, including use of
55382        the early-return idiom and replacing the multiple "size = 0" with a single one at the
55383        start of the function.
55384        (WebCore::SQLiteStatement::returnTextResults): Added a failure case when the prepare
55385        call doesn't work. Cleared the vector earlier to make the failure code simpler. Moved
55386        the declaration of the result boolean down lower to make it clearer what it's for.
55387        Changed use of lastError() to call on the database, to make it clearer that there's
55388        no per-statement last error kept around. It'd be even better to not use lastError() here.
55389        (WebCore::SQLiteStatement::returnIntResults): Ditto.
55390        (WebCore::SQLiteStatement::returnInt64Results): Ditto.
55391        (WebCore::SQLiteStatement::returnDoubleResults): Ditto.
55392        (WebCore::SQLiteStatement::isExpired): Changed to use || rather than ?: because I think
55393        it's slightly easier to read that way.
55394
55395        * platform/sql/SQLiteStatement.h: Removed unneeded includes and forward declarations.
55396        Also removed unnneeded functions isPrepared, getColumnName16, getColumnText16,
55397        returnTextResults16, lastError, and lastErrorMsg. Changed prepareAndStep so that it
55398        checks the result of prepare before callling step. Added a debug-only m_isPrepared boolean.
55399
55400        * loader/icon/IconDatabase.cpp:
55401        (WebCore::IconDatabase::checkIntegrity): Remove 16 suffix from text-related function names.
55402        (WebCore::IconDatabase::performURLImport): Ditto.
55403        (WebCore::IconDatabase::pruneUnretainedIcons): Ditto.
55404        * platform/sql/SQLiteDatabase.cpp:
55405        (WebCore::SQLiteDatabase::clearAllTables): Ditto.
55406        * storage/Database.cpp:
55407        (WebCore::retrieveTextResultFromDatabase): Ditto.
55408        (WebCore::Database::performGetTableNames): Ditto.
55409        * storage/DatabaseTracker.cpp:
55410        (WebCore::DatabaseTracker::fullPathForDatabase): Ditto.
55411        (WebCore::DatabaseTracker::populateOrigins): Ditto.
55412        (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto.
55413        (WebCore::DatabaseTracker::addDatabase): Ditto.
55414        * storage/SQLStatement.cpp:
55415        (WebCore::SQLStatement::execute): Ditto.
55416
55417        * platform/sql/SQLiteDatabase.h: Removed unneeded includes.
55418        * storage/SQLResultSet.h: Ditto.
55419        * storage/SQLResultSetRowList.h: Ditto.
55420
554212008-01-25  Adele Peterson  <adele@apple.com>
55422
55423        Reviewed by Sam.
55424
55425        Fix for <rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in
55426
55427        * css/html4.css: Add horizontal padding to the media slider.
55428        * rendering/RenderSlider.cpp:
55429        (WebCore::HTMLSliderThumbElement::defaultEventHandler): Replace use of absoluteBoundingBox() with width() and height()
55430        (WebCore::RenderSlider::positionForOffset): ditto. Also, use the trackSize() for the maximum offset.
55431        (WebCore::RenderSlider::layout):  Use contentWidth() and contentHeight() to take padding into account.
55432        (WebCore::RenderSlider::trackSize): ditto.
55433
554342008-01-24  Adam Roben  <aroben@apple.com>
55435
55436        Better fix for Bug 16996
55437
55438        Rubberstamped by Mitz.
55439
55440        * loader/CachedFont.cpp:
55441        (WebCore::CachedFont::ensureCustomFontData): Don't call
55442        createFontCustomPlatformData if m_data is null.
55443        * platform/graphics/gtk/FontCustomPlatformData.cpp:
55444        (WebCore::createFontCustomPlatformData): Added an assertion.
55445        * platform/graphics/mac/FontCustomPlatformData.cpp:
55446        (WebCore::createFontCustomPlatformData): Ditto.
55447        * platform/graphics/qt/FontCustomPlatformData.cpp:
55448        (WebCore::createFontCustomPlatformData): Ditto.
55449        * platform/graphics/win/FontCustomPlatformData.cpp:
55450        (WebCore::createFontCustomPlatformData): Ditto.
55451
554522008-01-24  Adam Roben  <aroben@apple.com>
55453
55454        Fix Bug 16996: Crash in createFontCustomPlatformData when loading
55455        0-byte font via @font-face
55456
55457        <http://bugs.webkit.org/show_bug.cgi?id=16996>
55458
55459        Reviewed by Hyatt.
55460
55461        Test: fast/loader/font-face-empty.html
55462
55463        * platform/graphics/win/FontCustomPlatformData.cpp:
55464        (WebCore::createFontCustomPlatformData): Null-check the buffer
55465        parameter.
55466
554672008-01-24  Jon Honeycutt  <jhoneycutt@apple.com>
55468
55469        Reviewed by Anders.
55470
55471        <rdar://problem/5588807> Crash in Flash when destroying plug-in (found
55472        using yahoo beta mail)
55473
55474        Flash can dereference NULL in the call to NPP_URLNotify if a request
55475        made with NPN_PostURLNotify fails before NPP_NewStream is called.
55476
55477        Work around this by creating a quirk, PluginQuirkFlashURLNotifyBug, and
55478        checking for this quirk before calling NPP_URLNotify for any request
55479        made with NPN_PostURLNotify. If the quirk is present, call NPP_NewStream
55480        and NPP_DestroyStream before calling NPP_URLNotify.
55481
55482        * WebCore.vcproj/WebCore.vcproj:
55483        * plugins/PluginQuirkSet.h: Added. Moved quirks out of PluginViewWin so
55484        PluginViewWin and PluginStream could share it. Created a class,
55485        PluginQuirkSet, to store plug-in quirks
55486        (WebCore::PluginQuirkSet::PluginQuirkSet):
55487        (WebCore::PluginQuirkSet::add):
55488        (WebCore::PluginQuirkSet::contains):
55489        * plugins/PluginStream.cpp:
55490        (WebCore::PluginStream::PluginStream): Copy the PluginQuirkSet for this
55491        plug-in
55492        (WebCore::PluginStream::destroyStream): Check for the FlashURLNotifyBug
55493        quirk
55494        * plugins/PluginStream.h:
55495        * plugins/win/PluginViewWin.cpp:
55496        (WebCore::PluginViewWin::performRequest): Pass the quirks when creating
55497        the PluginStream
55498        (WebCore::PluginViewWin::didReceiveResponse): Same
55499        (WebCore::PluginViewWin::wndProc): Use add / contains instead of
55500        bit ops
55501        (WebCore::PluginViewWin::userAgent): Same
55502        (WebCore::PluginViewWin::invalidateRect): Same
55503        (WebCore::PluginViewWin::~PluginViewWin): Same
55504        (WebCore::PluginViewWin::determineQuirks): Same
55505        (WebCore::PluginViewWin::setParameters): Same
55506        (WebCore::PluginViewWin::PluginViewWin): Same
55507        (WebCore::PluginViewWin::init): Same
55508        (WebCore::PluginViewWin::setCallingPlugin): Same
55509        * plugins/win/PluginViewWin.h:
55510
555112008-01-24  David Hyatt  <hyatt@apple.com>
55512
55513        http://bugs.webkit.org/show_bug.cgi?id=16982
55514
55515        Make sure to make <head> the current block if it is created before a <body> already exists.
55516
55517        Reviewed by Dan
55518
55519        * html/HTMLParser.cpp:
55520        (WebCore::HTMLParser::createHead):
55521
555222008-01-24  Alexey Proskuryakov  <ap@webkit.org>
55523
55524        http://bugs.webkit.org/show_bug.cgi?id=16993
55525        <rdar://problem/5704331> REGRESSION: Loading page leads to many unexpected redirections
55526
55527        Rolled out r29590, which was not a correct fix for <rdar://problem/5692566>.
55528
55529        * loader/FrameLoader.cpp:
55530        (WebCore::FrameLoader::clear):
55531
555322008-01-24  Antti Koivisto  <antti@apple.com>
55533
55534        Reviewed by Adam.
55535        
55536        If the media is playing and the load stalls the playback wont restart by seeking backwards.
55537        
55538        We should be in CAN_PLAY state if the current time is less than the maximum loaded time. Rate 
55539        tricks were for streaming case and are not necessary now since that is now disabled.
55540        
55541        Windows patch coming separately.
55542
55543        Test: http/tests/media/video-play-stall-seek.html
55544
55545        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
55546        (WebCore::MediaPlayerPrivate::updateStates):
55547
555482008-01-24  Antti Koivisto  <antti@apple.com>
55549
55550        Reviewed by Adam.
55551
55552        Fix <rdar://problem/5684815>
55553        After navigating back to the page that contains a <audio> that has been muted, the audio is still heard
55554        
55555        - get rid of the separate muted state in MediaPlayer, maintain the state in the cross platform code only
55556        - remove volumeChanged() callbacks from HTMLMediaElement and OS X MediaPlayer, they were not used for anything
55557        - rename updateMediaPlayer -> updatePlayState which tells more about what it actually does
55558
55559        * html/HTMLMediaElement.cpp:
55560        (WebCore::HTMLMediaElement::load):
55561        (WebCore::HTMLMediaElement::setReadyState):
55562        (WebCore::HTMLMediaElement::play):
55563        (WebCore::HTMLMediaElement::pause):
55564        (WebCore::HTMLMediaElement::setVolume):
55565        (WebCore::HTMLMediaElement::setMuted):
55566        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
55567        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
55568        (WebCore::HTMLMediaElement::updateVolume):
55569        (WebCore::HTMLMediaElement::updatePlayState):
55570        (WebCore::HTMLMediaElement::setPausedInternal):
55571        * html/HTMLMediaElement.h:
55572        * platform/graphics/MediaPlayer.cpp:
55573        (WebCore::MediaPlayer::MediaPlayer):
55574        * platform/graphics/MediaPlayer.h:
55575        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
55576        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
55577        (WebCore::MediaPlayerPrivate::createQTMovie):
55578        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
55579        * platform/graphics/win/QTMovieWin.cpp:
55580        * platform/graphics/win/QTMovieWin.h:
55581
555822008-01-24  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55583
55584        Reviewed by Simon.
55585
55586        * Fix "QObject::startTimer: QTimer can only be used with threads started with QThread"
55587        * The JSC GCController gets automatically destructed on application exit, it will stop
55588        its timer and we try to schedule the next timer. Now the GCController can get destructed
55589        after our QApplication is gone. This will trigger the above warning, we can avoid this
55590        by checking if our qApp is still around.
55591
55592        * platform/qt/SharedTimerQt.cpp:
55593        (WebCore::setSharedTimerFireTime):
55594
555952008-01-24  Morten Johan Sørvig  <msorvig@trolltech.com>
55596
55597        Reviewed by Simon.
55598
55599        Qt/Mac: Make sure the scrollbars does not overlap the grow box.
55600
55601        When showing only one scrollbar we need to move it so it doesn't overlap the
55602        grow box. This is similar to the code in QAbstractScrollArea.
55603
55604
55605        * platform/qt/ScrollViewQt.cpp:
55606        (WebCore::ScrollView::updateScrollbars):
55607
556082008-01-15  Michael Goddard  <michael.goddard@trolltech.com>
55609
55610        Reviewed by Darin.
55611
55612        While parsing -webkit-border-image, store
55613        the border widths as naked pointers rather
55614        than as OwnPtrs, since they point to the
55615        middle of an array.
55616
55617        Test: fast/css/border-image-crash.html
55618
55619        * css/CSSParser.cpp:
55620
556212008-01-24  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55622
55623        Reviewed by Simon.
55624
55625        * Attempt to fix showing of popup again after a popup has been shown but
55626        the user did not select any item (e.g. clicked outside of the popup)
55627        * Keep track of the popup status using the virtuals showPopup and hidePopup
55628        and do not go into recursion when hiding a popup.
55629
55630        * platform/qt/QWebPopup.cpp:
55631        (WebCore::QWebPopup::showPopup):
55632        (WebCore::QWebPopup::hidePopup):
55633        * platform/qt/QWebPopup.h:
55634
556352008-01-24  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55636
55637        Reviewed by Simon.
55638
55639        * Assert the presence of the PopupMenuClient
55640
55641        * platform/qt/QWebPopup.cpp:
55642        (WebCore::QWebPopup::QWebPopup):
55643        (WebCore::QWebPopup::hideEvent):
55644        (WebCore::QWebPopup::activeChanged):
55645
556462008-01-23  David Kilzer  <ddkilzer@apple.com>
55647
55648        <rdar://problem/5702947> WebCore: CGContextDrawPDFDocument will be deprecated
55649
55650        Reviewed by Darin.
55651
55652        No test cases added since there is no change in behavior.
55653
55654        * platform/graphics/cg/PDFDocumentImage.cpp:
55655        (WebCore::PDFDocumentImage::draw): Replace CGContextDrawPDFDocument() with
55656        calls to CG methods that perform the equivalent work.
55657
556582008-01-23  Antti Koivisto  <antti@apple.com>
55659
55660        Reviewed by Hyatt, Adele.
55661
55662        Timers for media controls keep running when the page is in the page cache.
55663        
55664        Stop timers in RenderMedia and get rid of the controls tree when the page goes to the cache. 
55665
55666        * html/HTMLMediaElement.cpp:
55667        (WebCore::HTMLMediaElement::HTMLMediaElement):
55668        (WebCore::HTMLMediaElement::willSaveToCache):
55669        (WebCore::HTMLMediaElement::didRestoreFromCache):
55670        * html/HTMLMediaElement.h:
55671        (WebCore::HTMLMediaElement::inPageCache):
55672        * rendering/RenderMedia.cpp:
55673        (WebCore::RenderMedia::updateControls):
55674
556752008-01-23  Antti Koivisto  <antti@apple.com>
55676
55677        Reviewed by Adam.
55678
55679        Video that had already played to the end would start playing (from beginning) on back/forward navigation.
55680        
55681        Use setPausedInternal() instead of pause(). This avoid generating pause/play events and matches specification text.
55682
55683        * html/HTMLMediaElement.cpp:
55684        (WebCore::HTMLMediaElement::willSaveToCache):
55685
556862008-01-23  Alexey Proskuryakov  <ap@webkit.org>
55687
55688        Reviewed by Darin.
55689
55690        <rdar://problem/4200075> Missing support for accented chars in mailto forms
55691
55692        With some combinations of form parameters, this was resulting in regressed behavior.
55693
55694        Tests: fast/forms/mailto/get-non-ascii-text-plain-latin-1.html
55695               fast/forms/mailto/post-text-plain-with-accept-charset.html
55696               fast/forms/mailto/post-text-plain.html
55697
55698        * html/HTMLFormElement.cpp:
55699        (WebCore::HTMLFormElement::formData): Ignore accept-charset for mailto forms, which are always
55700        encoded as UTF-8.
55701        (WebCore::HTMLFormElement::isMailtoForm): Added.
55702        (WebCore::HTMLFormElement::dataEncoding): Added (factored out from formData).
55703        (WebCore::HTMLFormElement::submit): When round-tripping in text/plain case, use utf-8 encoding.
55704        * html/HTMLFormElement.h: Added a isMailtoForm() function. It may be a bit unfortunate that
55705        its result is calculated repeatedly, but this doesn't seem to be anywhere near hot code.
55706
557072008-01-22  Justin Garcia  <justin.garcia@apple.com>
55708
55709        Reviewed by Alice Liu.
55710
55711        <rdar://problem/5658727> Undo/redo for pasted or typed text in yahoo mail becomes disabled after one round of being selected
55712
55713        * rendering/RenderTextControl.cpp:
55714        (WebCore::RenderTextControl::updateFromElement): If value == text() and
55715        m_innerText is empty, then value and text() are "". In that case both DOM 
55716        mutations are no-ops and there is no reason to clear the Undo stack.
55717
557182008-01-23  Steve Falkenburg  <sfalken@apple.com>
55719
55720        <rdar://problem/5698732> Copyright strings should include 2008
55721
55722        Reviewed by Sam.
55723
55724        * WebCore.vcproj/QTMovieWin.rc:
55725
557262008-01-23  Steve Falkenburg  <sfalken@apple.com>
55727
55728        <rdar://problem/5699509> Allow file upload dialog to be localized.
55729
55730        Reviewed by Darin.
55731
55732        * platform/LocalizedStrings.h:
55733        * platform/win/FileChooserWin.cpp:
55734        (WebCore::FileChooser::openFileChooser):
55735
557362008-01-23  Adam Roben  <aroben@apple.com>
55737
55738        Fix behavior of type-to-select in <select> menus
55739
55740        In r27825 we started posting both a WM_KEYDOWN and WM_CHAR message
55741        whenever a key was pressed in the dropdown menu. However, since posted
55742        messages go through TranslateMessage, the WM_KEYDOWN was generating
55743        another WM_CHAR message, so two WM_CHAR messages in a row would reach
55744        the WebView. This caused the searching to happen twice for each key,
55745        so typing "dog" would search for "ddoogg".
55746
55747        Reviewed by Darin.
55748
55749        * platform/win/PopupMenuWin.cpp:
55750        (WebCore::PopupWndProc): Repost the WM_KEYDOWN message to the WebView.
55751        This is will generate a WM_CHAR message which will trigger the
55752        type-to-select behavior. This is very similar to our behavior prior to
55753        r27825, except that we're now calling PostMessage instead of
55754        SendMessage.
55755
557562008-01-23  Alp Toker  <alp@atoker.com>
55757
55758        Rubber-stamped by Mark Rowe.
55759
55760        Remove whitespace after -I in automake include lists.
55761
55762        * GNUmakefile.am:
55763
557642008-01-23  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55765
55766        * Rubber stamped by Simon
55767
55768        * Load images incrementally. This will show warnings on the console
55769        and we want to fix them for Qt4.4. If that happens we have to remove
55770        the comment from the enum inside the ImageDecoderQt.cpp
55771
55772        * platform/graphics/qt/ImageDecoderQt.cpp:
55773        (WebCore::ImageDecoderQt::setData):
55774
557752008-01-23  Lars Knoll  <lars@trolltech.com>
55776
55777        Reviewed by Holger Freyther <holger.freyther@trolltech.com>.
55778
55779        Fix rendering of the Scrollbar as well as mouse handling for some styles.
55780
55781        The QStyle expects that that painter is set up to clip to the scrollbar bounds
55782        and some of the styles seem to paint somewhat outside of these bounds. Clipping to
55783        the scrollbar bounds before drawing removes some artifacts.
55784
55785        Also set m_opt.rect.topLeft to (0/0) in the mouse handlers. Fixes some issues with
55786        the oxygen style.
55787
55788
55789        * platform/qt/PlatformScrollBarQt.cpp:
55790        (WebCore::PlatformScrollbar::paint):
55791        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
55792        (WebCore::PlatformScrollbar::handleMousePressEvent):
55793
557942008-01-23  Michael Brasser  <michael.brasser@trolltech.com>
55795
55796        Reviewed by Simon.
55797
55798        Rendering fixes for Qtopia.
55799
55800        Make the focus ring work with line breaks (until we have QPainterPath::simplify) and
55801        call QStyle with better arguments when painting themed elements.
55802
55803        * platform/graphics/qt/GraphicsContextQt.cpp:
55804        (WebCore::GraphicsContext::drawFocusRing):
55805        * platform/qt/RenderThemeQt.cpp:
55806        (WebCore::RenderThemeQt::paintButton):
55807        (WebCore::RenderThemeQt::applyTheme):
55808
558092008-01-23  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55810
55811        Reviewed by Simon.
55812
55813        * FormData::flatten does not include to be uploaded files. Create our own QIODevice
55814        for the QNetworkAccessManager and feed the complete content of the FormData* to
55815        the (HTTP) backend.
55816        * Try to optimize the ::readData implementation to fill the buffer as best as possible
55817
55818        * platform/network/qt/QNetworkReplyHandler.cpp:
55819        (WebCore::FormDataIODevice::FormDataIODevice):
55820        (WebCore::FormDataIODevice::~FormDataIODevice):
55821        (WebCore::FormDataIODevice::moveToNextElement):
55822        (WebCore::FormDataIODevice::readData):
55823        (WebCore::FormDataIODevice::writeData):
55824        (WebCore::FormDataIODevice::setParent):
55825        (WebCore::FormDataIODevice::isSequential):
55826        (WebCore::FormDataIODevice::slotFinished):
55827        (WebCore::QNetworkReplyHandler::start):
55828        * platform/network/qt/QNetworkReplyHandler.h:
55829
558302008-01-23  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
55831
55832        Reviewed by Simon.
55833
55834        * Coding-Style fixes
55835
55836        * platform/network/qt/QNetworkReplyHandler.cpp:
55837        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
55838
558392008-01-23  Michael Brasser  <michael.brasser@trolltech.com>
55840
55841        Reviewed by Simon.
55842
55843        use PopupClient's font for popup menu. Otherwise, in Qtopia, the popup's font is much bigger (QApplication::font()?) and the text doesn't fit.
55844
55845        * platform/qt/QWebPopup.cpp:
55846        (WebCore::QWebPopup::QWebPopup):
55847
558482008-01-23  Simon Hausmann  <hausmann@webkit.org>
55849
55850        Reviewed by Lars.
55851
55852        Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download().
55853        
55854        Added two signals to QWebPage to handle downloading of links and handling of
55855        unsupported content.
55856        
55857
55858        * platform/network/qt/QNetworkReplyHandler.cpp:
55859        (WebCore::QNetworkReplyHandler::release):
55860        * platform/network/qt/QNetworkReplyHandler.h:
55861
558622008-01-22  Dan Bernstein  <mitz@apple.com>
55863
55864        Reviewed by Adele Peterson.
55865
55866        - fix http://bugs.webkit.org/show_bug.cgi?id=16905
55867          <rdar://problem/5692407> REGRESSION (3.0.4-TOT): "menu" pseudocolor is badly chosen
55868
55869        The regression test for this is fast/css/css2-system-color.html which
55870        is currently disabled.
55871
55872        * rendering/RenderThemeMac.mm:
55873        (WebCore::menuBackgroundColor): Added. Uses HIThemeDrawMenuBackground
55874        to draw the menu item background into a bitmap graphics context and
55875        returns the color of the pixel at (0, 0).
55876        (WebCore::RenderThemeMac::systemColor): Changed to call
55877        menuBackgroundColor for the CSS2 menu color.
55878
558792008-01-22  Darin Adler  <darin@apple.com>
55880
55881        Reviewed by Oliver Hunt.
55882
55883        - turn full repainting back on for <canvas> until we get incremental
55884          repaint working properly
55885
55886        Ollie and I came up with a plan for testing this, but for now we should
55887        just fall back on the "repaint everything" behavior we have always had.
55888
55889        * html/HTMLCanvasElement.cpp:
55890        (WebCore::HTMLCanvasElement::willDraw): Just call repaint.
55891
558922008-01-22  Alp Toker  <alp@atoker.com>
55893
55894        GTK+/qmake build fix.
55895
55896        * WebCore.pro:
55897
558982008-01-22  Adam Roben  <aroben@apple.com>
55899
55900        Add HTMLFrameOwnerElement::scrollingMode
55901
55902        This new virtual method is overridden by HTMLFrameElementBase to
55903        provide the scrolling mode set on the frame or iframe element. Object
55904        elements always have scrolling=auto, so there's no need to override
55905        this method for HTMLPlugInElement.
55906
55907        Reviewed by Hyatt.
55908
55909        * html/HTMLFrameElementBase.h: Declare scrollingMode as virtual.
55910        * html/HTMLFrameOwnerElement.h:
55911        (WebCore::HTMLFrameOwnerElement::scrollingMode): Added.
55912
559132008-01-22  David Hyatt  <hyatt@apple.com>
55914
55915        Fix for <rdar://problem/5698481> REGRESSION: Web Inspector source view gutter double divider and no padding
55916
55917        Now that cellpadding cascades properly on <td>s, we need to make the view source padding rules in the user
55918        agent sheet have !important in order to override author settings.
55919
55920        Reviewed by Tim
55921
55922        * css/view-source.css:
55923
559242008-01-22  Nikolas Zimmermann  <zimmermann@kde.org>
55925
55926        Reviewed by Alp.
55927
55928        Allow to use SVGPaintServerSolid without RenderObject/RenderStyle. Used later to draw SVG Fonts in HTML.
55929
55930        * svg/graphics/SVGPaintServer.cpp:
55931        (WebCore::SVGPaintServer::sharedSolidPaintServer):
55932        * svg/graphics/SVGPaintServer.h:
55933        * svg/graphics/cg/SVGPaintServerCg.cpp:
55934        (WebCore::SVGPaintServer::renderPath):
55935        (WebCore::SVGPaintServer::fillPath):
55936        (WebCore::SVGPaintServer::clipToFillPath):
55937        * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
55938        (WebCore::SVGPaintServerSolid::setup):
55939
559402008-01-22  Nikolas Zimmermann  <zimmermann@kde.org>
55941
55942        Reviewed by Alp.
55943
55944        Initialize missing variables, m_lineGap / m_lineSpacing.
55945        Only noticeable when trying to render HTML text using SVG Fonts (which is not possible with trunk, but with my local version).
55946
55947        * platform/graphics/SimpleFontData.cpp:
55948        (WebCore::SimpleFontData::SimpleFontData):
55949
559502008-01-22  Alp Toker  <alp@atoker.com>
55951
55952        Reviewed by Nikolas.
55953
55954        Fix Cairo SVG fonts following changes in r29700.
55955
55956        Set the font description's details as needed in FontPlatformData and
55957        eliminate GraphicsContext::setPlatformFont() since it was redundant
55958        and assumed all fonts were Cairo fonts.
55959
55960        * platform/graphics/GraphicsContext.cpp:
55961        * platform/graphics/cairo/GraphicsContextCairo.cpp:
55962        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
55963        (WebCore::FontPlatformData::FontPlatformData):
55964
559652008-01-22  Dan Bernstein  <mitz@apple.com>
55966 
55967         Reviewed by Eric.
55968 
55969         - fix http://bugs.webkit.org/show_bug.cgi?id=16967
55970           <rdar://problem/5699344> Reproducible crash when navigating back to a page using SVG fonts
55971 
55972         Test: svg/custom/font-platformDestroy-crash.svg
55973 
55974         * platform/graphics/SimpleFontData.cpp:
55975         (WebCore::SimpleFontData::~SimpleFontData): Changed to call
55976         platformDestroy() only if platformInit() was called from the
55977         constructor.
55978
559792008-01-22  Lars Knoll  <lars@trolltech.com>
55980
55981        Reviewed by Simon.
55982
55983        cleanup the CookieJarQt implementation and implement cookiesEnabled.
55984
55985        * platform/qt/CookieJarQt.cpp:
55986        (WebCore::cookieJar):
55987        (WebCore::setCookies):
55988        (WebCore::cookies):
55989        (WebCore::cookiesEnabled):
55990
559912008-01-22  Lars Knoll  <lars@trolltech.com>
55992
55993        Reviewed by Simon.
55994
55995        Ported the font implementation to use the new QFont features of Qt 4.4.
55996        
55997
55998        * platform/graphics/Font.h:
55999        (WebCore::Font::setWordSpacing):
56000        (WebCore::Font::setLetterSpacing):
56001        (WebCore::Font::font):
56002        (WebCore::Font::):
56003        * platform/graphics/qt/FontQt.cpp:
56004        (WebCore::Font::Font):
56005        (WebCore::Font::setWordSpacing):
56006        (WebCore::Font::setLetterSpacing):
56007        (WebCore::qstring):
56008        (WebCore::setupLayout):
56009        (WebCore::Font::drawText):
56010        (WebCore::Font::width):
56011        (WebCore::Font::floatWidth):
56012        (WebCore::Font::offsetForPosition):
56013        (WebCore::Font::selectionRectForText):
56014        (WebCore::generateComponents):
56015        (WebCore::cursorToX):
56016        (WebCore::Font::~Font):
56017        (WebCore::Font::operator=):
56018        (WebCore::Font::operator==):
56019        (WebCore::Font::update):
56020
560212008-01-21  Eric Seidel  <eric@webkit.org>
56022
56023        Reviewed by Nikolas & Oliver.
56024        
56025        Tested by svg/custom/svg-features.html
56026        
56027        * dom/DOMImplementation.cpp:
56028        (WebCore::isSVG10Feature): use ENABLE(SVG_*) conditionals
56029        (WebCore::isSVG11Feature): use ENABLE(SVG_*) conditionals
56030
560312008-01-21  Geoffrey Garen  <ggaren@apple.com>
56032
56033        Reviewed by Maciej Stachowiak.
56034
56035        Adapted WebCore to the fix for http://bugs.webkit.org/show_bug.cgi?id=16909
56036        REGRESSION: Amazon.com crash (ActivationImp)
56037
56038        * bindings/js/kjs_proxy.cpp:
56039        (WebCore::KJSProxy::~KJSProxy): No convenient way to make this assertion
56040        anymore. (It wasn't firing for anyone, anyway, so it's no big loss.)
56041
56042        * bindings/objc/WebScriptObject.mm:
56043        (+[WebScriptObject throwException:]): Use the ExecState stack, instead
56044        of currentExec.
56045        (-[WebScriptObject setException:]): ditto. Also, a slight change in
56046        behavior: If no ExecStates are active, we no longer throw an exception
56047        in the global ExecState. The JavaScriptCore ChangeLog explains why.
56048        This also matches the behavior of +throwException.
56049
560502008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56051
56052        Not reviewed. Try to fix Qt build, after the rmdir() fixes.c
56053
56054        * platform/graphics/qt/SimpleFontDataQt.cpp:
56055        (WebCore::SimpleFontData::SimpleFontData):
56056
560572008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56058
56059        Not reviewed. Another Wx build fix.
56060
56061        * platform/graphics/wx/FontWx.cpp:
56062        (WebCore::Font::drawGlyphs):
56063
560642008-01-21  Darin Adler  <darin@apple.com>
56065
56066        - try to fix Qt build
56067
56068        * platform/qt/FileSystemQt.cpp:
56069        (WebCore::deleteEmptyDirectory): QDir::root().rmdir() instead of QDir::rmdir().
56070
560712008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56072
56073        Not reviewed. Yet another win/gtk build fix.
56074
56075        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
56076        (WebCore::FontPlatformData::FontPlatformData):
56077        * platform/graphics/win/FontWin.cpp:
56078        (WebCore::Font::drawGlyphs):
56079
560802008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56081
56082        Not reviewed. Another build fix for Gtk/Linux & Wx/Mac.
56083
56084        * platform/graphics/SimpleFontData.cpp:
56085        (WebCore::SimpleFontData::SimpleFontData):
56086
560872008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56088
56089        Not reviewed. Build fix for Qt/Gtk & Wx.
56090
56091        * css/CSSFontSelector.cpp:
56092        * platform/graphics/SegmentedFontData.cpp:
56093        (WebCore::SegmentedFontData::isSVGFont): Remove SVG_FONTS block, it's a pure virtual function in the base class.
56094        * platform/graphics/SegmentedFontData.h:
56095
560962008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56097
56098        Not reviewed. Build fix for ports that don't build SVG: wx.
56099
56100        * css/CSSFontFaceSource.h: Wrap include in ENABLE(SVG_FONTS) blocks.
56101        * css/CSSFontFaceSrcValue.h: Ditto.
56102
561032008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56104
56105        Not reviewed. Build fix for Qt/Gtk.
56106
56107        * platform/graphics/SimpleFontData.h:
56108        (WebCore::SimpleFontData::svgFontData):
56109        (WebCore::SimpleFontData::isSVGFont):
56110
561112008-01-21  Nikolas Zimmermann  <zimmermann@kde.org>
56112
56113        Reviewed by Eric. Older parts reviewed by Dan.
56114
56115        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16880 (SVGCSSFontFace should die, instead integrate within the FontCache.)
56116        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16784 (In-document fonts work only as the first child to font-face-src)
56117
56118        Proper integration of SVG Fonts within the existing custom font concept, removing the need for a custom SVGCSSFontFace.
56119        Integrate within the CSSFontFaceSource logic for caching support, as well as the framework for external SVG Fonts.
56120
56121        Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering.
56122
56123        * GNUmakefile.am:
56124        * WebCore.pro:
56125        * WebCore.vcproj/WebCore.vcproj:
56126        * WebCore.xcodeproj/project.pbxproj:
56127        * css/CSSFontFaceSource.cpp:
56128        (WebCore::CSSFontFaceSource::getFontData):
56129        * css/CSSFontFaceSource.h:
56130        (WebCore::CSSFontFaceSource::svgFontFaceElement):
56131        (WebCore::CSSFontFaceSource::setSVGFontFaceElement):
56132        * css/CSSFontFaceSrcValue.h:
56133        (WebCore::CSSFontFaceSrcValue::m_isLocal):
56134        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
56135        (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
56136        (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement):
56137        * css/CSSFontSelector.cpp:
56138        (WebCore::CSSFontSelector::addFontFaceRule):
56139        * css/SVGCSSFontFace.cpp: Removed.
56140        * css/SVGCSSFontFace.h: Removed.
56141        * platform/graphics/Font.cpp:
56142        (WebCore::Font::ascent):
56143        (WebCore::Font::descent):
56144        (WebCore::Font::lineSpacing):
56145        (WebCore::Font::xHeight):
56146        (WebCore::Font::fontSelector):
56147        * platform/graphics/Font.h:
56148        * platform/graphics/FontData.h:
56149        * platform/graphics/SegmentedFontData.cpp:
56150        (WebCore::SegmentedFontData::isSVGFont):
56151        * platform/graphics/SegmentedFontData.h:
56152        * platform/graphics/SimpleFontData.cpp:
56153        (WebCore::SimpleFontData::SimpleFontData):
56154        * platform/graphics/SimpleFontData.h:
56155        (WebCore::SimpleFontData::ascent):
56156        (WebCore::SimpleFontData::descent):
56157        (WebCore::SimpleFontData::lineSpacing):
56158        (WebCore::SimpleFontData::lineGap):
56159        (WebCore::SimpleFontData::xHeight):
56160        (WebCore::SimpleFontData::isSVGFont):
56161        (WebCore::SimpleFontData::svgFontData):
56162        * platform/graphics/gtk/FontPlatformData.h:
56163        (WebCore::FontPlatformData::size):
56164        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
56165        (WebCore::FontPlatformData):
56166        * platform/graphics/mac/FontPlatformData.h:
56167        (WebCore::FontPlatformData::FontPlatformData):
56168        (WebCore::FontPlatformData::size):
56169        * platform/graphics/win/FontPlatformData.h:
56170        * platform/graphics/win/FontPlatformDataWin.cpp:
56171        (WebCore::FontPlatformData::FontPlatformData):
56172        * rendering/RenderSVGText.cpp:
56173        (WebCore::RenderSVGText::relativeBBox):
56174        * svg/SVGFont.cpp:
56175        (WebCore::convertEmUnitToPixel):
56176        (WebCore::isCompatibleGlyph):
56177        (WebCore::svgFontAndFontFaceElementForFontData):
56178        (WebCore::SVGTextRunWalker::SVGTextRunWalker):
56179        (WebCore::SVGTextRunWalker::walk):
56180        (WebCore::floatWidthUsingSVGFontCallback):
56181        (WebCore::floatWidthMissingGlyphCallback):
56182        (WebCore::floatWidthOfSubStringUsingSVGFont):
56183        (WebCore::drawTextUsingSVGFontCallback):
56184        (WebCore::drawTextMissingGlyphCallback):
56185        (WebCore::Font::drawTextUsingSVGFont):
56186        * svg/SVGFontData.cpp: Added.
56187        (WebCore::SVGFontData::SVGFontData):
56188        (WebCore::SVGFontData::~SVGFontData):
56189        * svg/SVGFontData.h: Added.
56190        (WebCore::SVGFontData::svgFontFaceElement):
56191        (WebCore::SVGFontData::horizontalOriginX):
56192        (WebCore::SVGFontData::horizontalOriginY):
56193        (WebCore::SVGFontData::horizontalAdvanceX):
56194        (WebCore::SVGFontData::verticalOriginX):
56195        (WebCore::SVGFontData::verticalOriginY):
56196        (WebCore::SVGFontData::verticalAdvanceY):
56197        * svg/SVGFontFaceElement.cpp:
56198        (WebCore::SVGFontFaceElement::unitsPerEm):
56199        (WebCore::SVGFontFaceElement::xHeight):
56200        (WebCore::SVGFontFaceElement::horizontalOriginX):
56201        (WebCore::SVGFontFaceElement::horizontalOriginY):
56202        (WebCore::SVGFontFaceElement::horizontalAdvanceX):
56203        (WebCore::SVGFontFaceElement::verticalOriginX):
56204        (WebCore::SVGFontFaceElement::verticalOriginY):
56205        (WebCore::SVGFontFaceElement::verticalAdvanceY):
56206        (WebCore::SVGFontFaceElement::ascent):
56207        (WebCore::SVGFontFaceElement::descent):
56208        (WebCore::SVGFontFaceElement::fontFamily):
56209        (WebCore::SVGFontFaceElement::associatedFontElement):
56210        (WebCore::SVGFontFaceElement::rebuildFontFace):
56211        * svg/SVGFontFaceElement.h:
56212        * svg/SVGGlyphElement.cpp:
56213        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
56214        (WebCore::parseSVGGlyphAttribute):
56215        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
56216        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
56217        * svg/SVGGlyphElement.h:
56218        * svg/SVGMissingGlyphElement.cpp:
56219        * svg/svgattrs.in:
56220
562212008-01-21  Darin Adler  <darin@apple.com>
56222
56223        Reviewed by John Sullivan.
56224
56225        - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
56226
56227        - remove the default database quota setting
56228
56229        - simplify the quota-related client calls by merging the one for a new database with
56230          the one for an existing database, adding a feature where you can get details about
56231          a database being created using the same functions that work on the other databases,
56232          and removing the parameters and return values, instead having clients use a function
56233          to set the quota
56234
56235        - fix unsafe multi-thread access to the database tracker's quota map
56236        - fix bug in deleteAllDatabases where it would iterate a HashMap while modifying it
56237
56238        The tracker database is now only created when we set the quota for a database origin.
56239        Thus asking for info about databases won't cause anything to be written to disk.
56240
56241        * WebCore.base.exp: Updated.
56242
56243        * bindings/js/GCController.cpp: Added an #if to get rid of an unused function warning.
56244
56245        * page/Chrome.cpp: Removed database-related functions. There's no problem having the
56246        code deal directly with the client.
56247        * page/Chrome.h: Ditto. Also made Chrome inherit from Noncopyable.
56248
56249        * page/ChromeClient.h: Replaced the two quota-related functions with a single one.
56250        The details about the state of databases in the origin are now available by asking
56251        for database details. There's also no need to pass the security origin, since
56252        it's easy to get that from the frame's document.
56253
56254        * page/Settings.cpp: Removed the default quota setting.
56255        * page/Settings.h: Ditto.
56256
56257        * platform/FileSystem.h: Added deleteEmptyDirectory.
56258        * platform/gtk/FileSystemGtk.cpp:
56259        (WebCore::deleteEmptyDirectory): Added.
56260        * platform/posix/FileSystemPOSIX.cpp:
56261        (WebCore::deleteEmptyDirectory): Added.
56262        * platform/qt/FileSystemQt.cpp:
56263        (WebCore::deleteEmptyDirectory): Added.
56264        * platform/win/FileSystemWin.cpp:
56265        (WebCore::deleteEmptyDirectory): Added.
56266        * platform/wx/FileSystemWx.cpp:
56267        (WebCore::deleteEmptyDirectory): Added placeholder.
56268
56269        * storage/DatabaseDetails.h: Removed the isValid() function since its name is
56270        confusing -- we removed our other isValid() functions. For the few callers that
56271        need this, it's fine to just check name().isEmpty(). Made the member functions
56272        all const.
56273
56274        * storage/DatabaseTracker.cpp:
56275        (WebCore::DatabaseTracker::DatabaseTracker): Removed m_defaultQuota initialization.
56276        Added m_proposedDatabase and m_thread.
56277        (WebCore::DatabaseTracker::setDatabaseDirectoryPath): Got rid of code that would
56278        open the tracker database here. This might slightly speed up launch time, since
56279        we won't do the I/O until we have to, and before we were actually creating an SQL
56280        database in this code that's run when we go to the first webpage.
56281        (WebCore::DatabaseTracker::trackerDatabasePath): Added.
56282        (WebCore::DatabaseTracker::openTrackerDatabase): Added a boolean parameter telling
56283        this function whether to create the database. Made this function safe to call if
56284        the database is already open. Also made the function fail quietly if the path has
56285        not been set yet.
56286        (WebCore::DatabaseTracker::canEstablishDatabase): Got rid of the call to the
56287        establishEntryForOrigin function. The origin is now put in the tracker database
56288        when the quota is set to a non-zero value. When judging if there's enough space
56289        for the new database, require at least one byte even if estimatedSize is 0, and
56290        check for overflow. Also added code here to populate the origins map, which
56291        guarantees it will be ready when the database uses it on another thread later.
56292        Also changed this to call the new ChromeClient function.
56293        (WebCore::DatabaseTracker::hasEntryForDatabase): Added code to open the
56294        tracker database, since that's no longer done by setDatabaseDirectoryPath.
56295        (WebCore::DatabaseTracker::originPath): Added.
56296        (WebCore::DatabaseTracker::fullPathForDatabase): Added code so that this will
56297        return a null string for the proposed database if called from within the
56298        ChromeClient function. Also switched from empty string to null string for the
56299        error cases.
56300        (WebCore::DatabaseTracker::populateOrigins): Added code to open the tracker
56301        database.
56302        (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto.
56303        (WebCore::DatabaseTracker::detailsForNameAndOrigin): Ditto. Also added code that
56304        will return the details of the proposed database if called from within the
56305        ChromeClient function. This is how the client can learn of the display name and
56306        the estimated size of the new database.
56307        (WebCore::DatabaseTracker::setDatabaseDetails): Added code to open the tracker
56308        database.
56309        (WebCore::DatabaseTracker::quotaForOrigin): Made this code OK to call on a non-main
56310        thread by using m_quotaMapGuard to guard access to the map. Other code runs on the
56311        main thread only, and only functions that write to the map use the lock.
56312        (WebCore::DatabaseTracker::setQuota): Changed this function so it can insert the
56313        initial quota as well as updating an existing quota. Added locking since this
56314        function modifies the quota map. Added code to open the tracker database. Added
56315        an early exit if the quota is already correct, which is guarantees that if you
56316        set a quota to 0 it won't trigger creation of a tracker database.
56317        (WebCore::DatabaseTracker::addDatabase): Added code to open the tracker database.
56318        (WebCore::DatabaseTracker::deleteAllDatabases): Made a copy of the quota map before
56319        iterating it to find all the origins. This fixes a problem with the old code where
56320        it would modify the map while iterating it, which gives assertions in debug builds
56321        and unpredictable results.
56322        (WebCore::DatabaseTracker::deleteOrigin): Replaced deleteDatabasesWithOrigin with
56323        this function. Added code to open the tracker database if needed. Added code to
56324        delete the origin from the tracker database, and to close the tracker database
56325        and delete files and directories as needed if we are deleting the final origin.
56326        (WebCore::DatabaseTracker::deleteDatabase): Added code to open the tracker database
56327        if needed.
56328
56329        * storage/DatabaseTracker.h: Renamed databasePath to databaseDirectoryPath for
56330        clarity, including the data member, and the getter and setter functions.
56331        Replaced deleteDatabasesWithOrigin with deleteOrigin. Removed the functions
56332        dealing with default origin quota. There is no default any more; origins start
56333        with no quota and the client must set a quota. Added trackerDatabasePath and
56334        originPath helper functions. Added a boolean parameter to openTrackerDatabase
56335        to tell it whether to create the database or not. Removed the
56336        establishEntryForOrigin function. Renamed m_originQuotaMap to just m_quotaMap,
56337        and added m_quotaMapGuard. Added a QuotaMap typedef. Added m_proposedDatabase,
56338        which holds the origin and details for the current proposed database during
56339        the client callback function that must decide whether to grant quota. Added a
56340        m_thread data member for debugging use to assert if functions that can only
56341        be called on a single thread are misused.
56342
56343        * storage/SQLTransaction.cpp:
56344        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Changed to call the
56345        new exceededDatabaseQuota function instead of the old one.
56346
56347        * svg/graphics/SVGImageEmptyClients.h: Updated for the change to ChromeClient.
56348
563492008-01-21  David Hyatt  <hyatt@apple.com>
56350
56351        Fix for http://bugs.webkit.org/show_bug.cgi?id=16935
56352
56353        Fix a bug in layers where the positioned ancestor was being computed incorrectly (the root should not
56354        automatically be included).
56355
56356        Reviewed by olliej
56357
56358        Added fast/layers/positioned-inside-root-with-margins.html
56359
56360        * rendering/RenderLayer.cpp:
56361        (WebCore::RenderLayer::stackingContext):
56362        (WebCore::RenderLayer::enclosingPositionedAncestor):
56363
563642008-01-21  Simon Hausmann  <hausmann@webkit.org>
56365
56366        Reviewed by Holger.
56367
56368        Fix KURL to QUrl conversion.
56369        
56370        Stick to the encoded version of the URL and in addition to KURL we encode the
56371        characters mentioned in section 2.4.3 of RFC 2396 as QUrl requires these, too.
56372        
56373        This fixes fast/css/import-rule-regression-11590.html,
56374        fast/css/import-style-update.html, svg/hixie/processing-model/003.xml and
56375        svg/hixie/processing-model/004.xml.
56376
56377
56378        * platform/qt/KURLQt.cpp:
56379        (WebCore::toHex):
56380        (WebCore::KURL::operator QUrl):
56381
563822008-01-21  Simon Hausmann  <hausmann@webkit.org>
56383
56384        Reviewed by Holger.
56385
56386        Fix focus chain handling and cycling through focusable objects (links) using tab/backtab.
56387        
56388        * Fix GraphicsContext::drawFocusRing to also draw single focus rects.
56389        * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events
56390        and make the return value depend on whether we successfully determined a focusable
56391        node or not.
56392        * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly
56393        if we could not handle the focus chain ourselves.
56394        * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus.
56395        * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only
56396        used to control the situation of stepping out of the focus chain inside the page.
56397        * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain.
56398        The layout tests expect this to be disabled but for the user it seems sensible to have it
56399        on by default, hence the default in qwebsettings.cpp
56400
56401        * platform/graphics/qt/GraphicsContextQt.cpp:
56402        (WebCore::GraphicsContext::drawFocusRing):
56403
564042008-01-21  Simon Hausmann  <hausmann@webkit.org>
56405
56406        Reviewed by Holger.
56407
56408        Fix access key support and fast/forms/legend-access-key.html
56409
56410        SVN revision 26664 changed the default access key for the non-mac build to Alt
56411        while this test relies on Ctrl.
56412
56413        * page/EventHandler.cpp:
56414
564152008-01-21  Simon Hausmann  <hausmann@webkit.org>
56416
56417        Reviewed by Holger.
56418
56419        Fix error reporting when parsing X(HT)ML fragments.
56420        
56421        We use the regular XMLTokenizer write()/.../end() sequence to parse those
56422        fragments, but we should not report any parsing errors inline inside the
56423        content. Instead we should just return the error and the DOM layer will take
56424        care of throwing an exception.
56425        
56426        This fixes fast/innerHTML/innerHTML-changing-document-properties.xhtml
56427        
56428
56429        * dom/XMLTokenizer.cpp:
56430        (WebCore::createXHTMLParserErrorHeader):
56431
564322008-01-21  Holger Freyther  <holger.freyther@trolltech.com>
56433
56434        Reviewed by Simon.
56435
56436        Fix some issues with redirections.
56437        
56438        * Ensure that we deliver the response to the ResourceHandleClient only once by
56439        setting m_responseSent back to false only before calling start() for the
56440        redirection
56441        * Added 307 as another HTTP status code that causes a redirection after POST to
56442        become get, just like in MainResourceLoader::isPostOrRedirectAfterPost
56443        * Also set the HTTP method on the ResourceRequest to GET before passing it to
56444        willSendRequest.
56445        * willSendRequest's newRequest argument is actually an in/out argument and could be
56446        modified in theory, so set m_request accordingly after the call.
56447        
56448
56449        * platform/network/qt/QNetworkReplyHandler.cpp:
56450        (WebCore::QNetworkReplyHandler::finish):
56451        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56452
564532008-01-21  Holger Freyther  <holger.freyther@trolltech.com>
56454
56455        Reviewed by Simon.
56456
56457        Fixed WebCore::cookies() to return all cookies, not only the first one.
56458        
56459        Fixes login into mail.yahoo.com.
56460        
56461
56462        * platform/qt/CookieJarQt.cpp:
56463        (WebCore::cookies):
56464
564652008-01-20  Oliver Hunt  <oliver@apple.com>
56466
56467        Reviewed by Mitz.
56468
56469        Fix http://bugs.webkit.org/show_bug.cgi?id=16816 , rdar://problem/5682985
56470        
56471        Correctly trigger willPerformDragDestinationAction when a drop causes a 
56472        load to occur.  The logic that originally did this was lost during the
56473        great drag migration of '07.
56474
56475        * page/DragController.cpp:
56476        (WebCore::DragController::performDrag):
56477
564782008-01-20  Dan Bernstein  <mitz@apple.com>
56479
56480        Reviewed by Darin Adler.
56481
56482        - fix http://bugs.webkit.org/show_bug.cgi?id=16951
56483          Assertion failure in FrameView::scheduleRelayout (!m_frame->document() || !m_frame->document()->inPageCache()) when going back from a page with a focused popup
56484
56485        * dom/Document.cpp:
56486        (WebCore::Document::setFocusedNode): Bail out if the document is in the
56487        page cache. Documents in the back/forward cache are "frozen" and should
56488        not change state.
56489
564902008-01-20  Collin Jackson  <webkit@collinjackson.com>
56491
56492        Reviewed by Sam Weinig.
56493
56494        Fix for http://bugs.webkit.org/show_bug.cgi?id=16775
56495
56496        We now use frame()->loader()->url() for postMessage, preventing a
56497        malicious sender from overwriting the uri property (using a <base> tag,
56498        for example). Also, use frame->loader()->url().host() instead of 
56499        instead of document()->SecurityOrigin()->domain() to reflect a recent
56500        clarification in the HTML5 spec. 
56501
56502        Tests: http/tests/security/postMessage/domain-affected-by-document-domain.html
56503               http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html
56504               http/tests/security/postMessage/javascript-page-still-sends-domain.html
56505
56506        * bindings/js/JSDOMWindowCustom.cpp:
56507        (WebCore::JSDOMWindow::postMessage):
56508
565092008-01-20  Antti Koivisto  <antti@apple.com>
56510
56511        Reviewed by Adele.
56512
56513        Fix <rdar://problem/5695451>
56514        Middle part of the media timeline missing on Windows if load failed
56515
56516        Add some null checking to avoid getting garbage results from the functions.
56517
56518        * platform/graphics/MediaPlayer.cpp:
56519        * platform/graphics/win/QTMovieWin.cpp:
56520        (QTMovieWin::duration):
56521        (QTMovieWin::currentTime):
56522        (QTMovieWin::setCurrentTime):
56523        (QTMovieWin::maxTimeLoaded):
56524
565252008-01-19  Alp Toker  <alp@atoker.com>
56526
56527        Reviewed by Mark Rowe.
56528
56529        http://bugs.webkit.org/show_bug.cgi?id=16944
56530        Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor
56531
56532        http://bugzilla.gnome.org/show_bug.cgi?id=510547
56533        Epiphany/Webkit fails to start due to initializing threads twice
56534
56535        Don't call GST_PLUGIN_DEFINE_STATIC() as it performs g_thread_init()
56536        in the global initializer, breaking subsequent calls to
56537        g_thread_init() in applications.
56538
56539        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
56540
565412008-01-19  Alp Toker  <alp@atoker.com>
56542
56543        Reviewed by Mark Rowe.
56544
56545        Remove any fragment part from the URL to be requested just before
56546        passing it to curl, otherwise curl sends it as part of the HTTP/local
56547        file request, causing page loads to fail.
56548
56549        * platform/network/curl/ResourceHandleManager.cpp:
56550        (WebCore::ResourceHandleManager::startJob):
56551
565522008-01-19  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
56553
56554        Reviewed by Alp Toker.
56555
56556        Add svg foreign object and svg experimental to the GTK+/autotools
56557        build system.
56558
56559        * GNUmakefile.am:
56560
565612008-01-19  Dan Bernstein  <mitz@apple.com>
56562
56563        Reviewed by Maciej Stachowiak.
56564
56565        - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116
56566
56567        Test: editing/selection/inconsistent-in-removeChildNode.html
56568
56569        * editing/SelectionController.cpp:
56570        (WebCore::SelectionController::nodeWillBeRemoved): If the selection
56571        base or extent are not visible any more, adjust the selection.
56572
565732008-01-19  Oliver Hunt  <oliver@apple.com>
56574
56575        Reviewed by Eric Seidel.
56576
56577        Build fix for --svg-foreign-object path
56578
56579        * svg/SVGForeignObjectElement.idl:
56580
565812008-01-18  Stephanie  <slewis@apple.com>
56582
56583        Reviewed by Oliver.
56584
56585        Workaround for <rdar://problem/5695848>.  Set mime_type for local files based on file extension. 
56586
56587        * platform/network/cf/ResourceResponseCFNet.cpp:
56588        (WebCore::ResourceResponse::doUpdateResourceResponse):
56589
565902008-01-18  Ada Chan  <adachan@apple.com>
56591
56592        <rdar://problem/5682340> REGRESSION (r28188): Context menu appears at wrong place when clicking in iframe whose parent is scrolled (16827)
56593        Calling absolutePosition() in EventHandler::hitTestResultAtPoint() is extremely inefficient and passing in
56594        true as fixed before was wrong.  Use HitTestResult::localPoint() instead, and take into account border and padding widths.
56595
56596        Reviewed by Hyatt and Darin.
56597
56598        * page/EventHandler.cpp:
56599        (WebCore::EventHandler::hitTestResultAtPoint):
56600        * rendering/HitTestResult.cpp:
56601        (WebCore::HitTestResult::operator=):
56602
566032008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
56604
56605        Reviewed by Darin, landed by Beth.
56606
56607        - fixed http://bugs.webkit.org/show_bug.cgi?id=15765
56608
56609        The call to HTMLTokenizer::write might result in a call to ::end which will invoke
56610        HTMLParser::finished() or Document::finishedParsing(). HTMLParser::finished() will eventually
56611        call Document::finishedParsing. The Document will delete the calling HTMLTokenizer and from the deleted
56612        tokenizer we will call into FrameLoader::tokenizerProcessedData.
56613        -) FrameLoader::tokenizerProcessedData calls FrameLoader::checkCompleted which gets called from the Document::finishedParsing
56614           (FrameLoader::finishedParsing).
56615
56616        * html/HTMLTokenizer.cpp:
56617        (WebCore::HTMLTokenizer::timerFired):
56618
566192008-01-18  David Hyatt  <hyatt@apple.com>
56620
56621        Don't apply the border/margin/padding check to root line boxes, since their renderers
56622        are blocks.
56623
56624        * rendering/InlineFlowBox.cpp:
56625        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
56626        (WebCore::InlineFlowBox::placeBoxesVertically):
56627
566282008-01-18  Geoffrey Garen  <ggaren@apple.com>
56629
56630        Not reviewed: rolling out a previous patch.
56631        
56632        Fixed <rdar://problem/5695439> Crash during GCController destructor on
56633        quitting browser
56634
56635        Used svn merge to roll out r29603 because it introduced some crashes
56636        on quit.
56637        
56638        GC relies on static hash tables, so it's not safe to GC from a static
56639        destructor, which might run after the static hash tables' destructors.
56640
56641        * bindings/js/GCController.cpp:
56642        (WebCore::GCController::garbageCollectNow):
56643        * bindings/js/GCController.h:
56644
566452008-01-18  David Hyatt  <hyatt@apple.com>
56646
56647        Fix for http://bugs.webkit.org/show_bug.cgi?id=15665
56648
56649        Building on Beth's earlier work to start building line boxes for empty inlines, this patch makes more
56650        empty inline cases work.  Empty inlines on lines by themselves now set isLineEmpty to false so that
56651        bidiReorderLine will get properly called.  In addition, the "shrink boxes with no text children" quirk
56652        needs to be disabled for inlines with padding, margins or borders.
56653
56654        Reviewed by Beth
56655
56656        Added fast/inline/inline-padding-disables-text-quirk.html
56657
56658        * rendering/InlineFlowBox.cpp:
56659        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
56660        (WebCore::InlineFlowBox::placeBoxesVertically):
56661        (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
56662        * rendering/RenderObject.h:
56663        (WebCore::RenderObject::hasBordersPaddingOrMargin):
56664        * rendering/bidi.cpp:
56665        (WebCore::inlineFlowRequiresLineBox):
56666        (WebCore::RenderBlock::findNextLineBreak):
56667
566682008-01-18  David Hyatt  <hyatt@apple.com>
56669
56670        Fix for http://bugs.webkit.org/show_bug.cgi?id=14975
56671
56672        Computed size of padding is incorrect because we default padding to auto.  This is a made-up value that
56673        was only used to implement cellpadding on tables.  We needed this made-up value in order to tell that
56674        padding wasn't set so that we could then apply cellpadding.
56675       
56676        This patch rewrites cellpadding to be like other browsers.  Instead of being a setting on the table
56677        renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the
56678        style of <td>s.  With this change it effectively becomes a content model feature and not a rendering
56679        feature.
56680
56681        For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is
56682        not a table.  Anonymous cells and CSS-display-type cells will now never pick up cellpadding.  This behavior
56683        is all consistent with other browsers.
56684
56685        Reviewed by Antti
56686
56687        Added fast/css/padding-no-renderer.html
56688
56689        * css/CSSStyleSelector.cpp:
56690        (WebCore::CSSStyleSelector::canShareStyleWithElement):
56691        (WebCore::CSSStyleSelector::styleForElement):
56692        * css/CSSStyleSelector.h:
56693        * dom/StyledElement.cpp:
56694        * dom/StyledElement.h:
56695        (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls):
56696        (WebCore::StyledElement::additionalAttributeStyleDecls):
56697        * html/HTMLTableCellElement.cpp:
56698        (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
56699        * html/HTMLTableCellElement.h:
56700        (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls):
56701        * html/HTMLTableColElement.cpp:
56702        (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
56703        * html/HTMLTableColElement.h:
56704        (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls):
56705        * html/HTMLTableElement.cpp:
56706        (WebCore::HTMLTableElement::parseMappedAttribute):
56707        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
56708        (WebCore::HTMLTableElement::addSharedCellDecls):
56709        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
56710        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
56711        (WebCore::HTMLTableElement::addSharedGroupDecls):
56712        (WebCore::HTMLTableElement::attach):
56713        * html/HTMLTableElement.h:
56714        (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls):
56715        * html/HTMLTableSectionElement.cpp:
56716        (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
56717        * html/HTMLTableSectionElement.h:
56718        (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls):
56719        * rendering/AutoTableLayout.cpp:
56720        (WebCore::AutoTableLayout::recalcColumn):
56721        * rendering/RenderObject.cpp:
56722        (WebCore::RenderObject::paddingTop):
56723        (WebCore::RenderObject::paddingBottom):
56724        (WebCore::RenderObject::paddingLeft):
56725        (WebCore::RenderObject::paddingRight):
56726        * rendering/RenderStyle.cpp:
56727        (WebCore::StyleSurroundData::StyleSurroundData):
56728        * rendering/RenderStyle.h:
56729        (WebCore::RenderStyle::initialPadding):
56730        * rendering/RenderTable.cpp:
56731        (WebCore::RenderTable::RenderTable):
56732        * rendering/RenderTable.h:
56733
567342008-01-18  Dan Bernstein  <mitz@apple.com>
56735
56736        Reviewed by Dave Hyatt.
56737
56738        - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren
56739
56740        Test: fast/table/insert-row-before-form.html
56741
56742        * rendering/RenderTableRow.cpp:
56743        (WebCore::RenderTableRow::addChild): Changed to ensure that the
56744        object a new cell is inserted before is a child of the row, and
56745        added an assertion that that object is either a cell or a form.
56746        * rendering/RenderTableSection.cpp:
56747        (WebCore::RenderTableSection::addChild): Changed to ensure that the
56748        object a new row is inserted before is a child of the table section, and
56749        added an assertion that that object is either a table row or a form.
56750
567512008-01-18  Geoffrey Garen  <ggaren@apple.com>
56752
56753        Reviewed by Brady Eidson.
56754
56755        Fixed <rdar://problem/5622424> World Leak dialog when closing a page
56756        that has a Database
56757        
56758        The problem was that each transaction and SQL statement would hold on
56759        to its callback indefinitely. By design, callbacks often establish
56760        reference cycles to temporarily protect their execution environments.
56761        To break the cycle, we need to explicitly release each callback as soon
56762        as it is no longer needed.
56763
56764        * storage/SQLStatement.cpp:
56765        (WebCore::SQLStatement::performCallback): Release our callback objects
56766        after performing our callback.
56767
56768        * storage/SQLTransaction.cpp:
56769        (WebCore::SQLTransaction::postflightAndCommit): Release our callback
56770        objects after the transaction has terminated.
56771        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto.
56772
567732008-01-18  Adele Peterson  <adele@apple.com>
56774
56775        Reviewed by Antti.
56776
56777        Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly
56778
56779        * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation.
56780
567812008-01-18  Beth Dakin  <bdakin@apple.com>
56782
56783        Reviewed by Oliver.
56784
56785        Disables SVG foreign object for <rdar://problem/5686989> turn off 
56786        SVG foreignobject because it does not repaint/dirty correctly
56787
56788        * DerivedSources.make:
56789        * WebCore.SVG.ForeignObject.exp: Added.
56790        * WebCore.SVG.exp:
56791        * bindings/js/JSSVGElementWrapperFactory.cpp:
56792        (WebCore::createJSSVGWrapper):
56793        * rendering/RenderForeignObject.cpp:
56794        * rendering/RenderForeignObject.h:
56795        * svg/SVGForeignObjectElement.cpp:
56796        * svg/SVGForeignObjectElement.h:
56797        * svg/SVGForeignObjectElement.idl:
56798        * svg/SVGLocatable.cpp:
56799        (WebCore::SVGLocatable::nearestViewportElement):
56800        (WebCore::SVGLocatable::farthestViewportElement):
56801        * svg/SVGUseElement.cpp:
56802        (WebCore::isDisallowedElement):
56803        * svg/svgtags.in:
56804
568052008-01-18  Mark Rowe  <mrowe@apple.com>
56806
56807        Rubber-stamped by Adam Roben.
56808
56809        Fix mixed line endings in FileSystemWin.cpp and set svn:eol-style to native
56810        to try and keep them consistent in the future.
56811
56812        * platform/win/FileSystemWin.cpp:
56813        (WebCore::fileSize):
56814        (WebCore::fileExists):
56815        (WebCore::deleteFile):
56816        (WebCore::pathByAppendingComponent):
56817        (WebCore::fileSystemRepresentation):
56818        (WebCore::makeAllDirectories):
56819        (WebCore::homeDirectoryPath):
56820        (WebCore::bundleName):
56821        (WebCore::storageDirectory):
56822        (WebCore::cachedStorageDirectory):
56823
568242008-01-18  Antti Koivisto  <antti@apple.com>
56825
56826        Reviewed by Adam.
56827
56828        Fix unreachable code warning in RenderVideo on Windows.
56829        
56830        Make switch cases explicit.
56831
56832        * rendering/RenderImage.cpp:
56833        (WebCore::RenderImage::isWidthSpecified):
56834        (WebCore::RenderImage::isHeightSpecified):
56835        * rendering/RenderVideo.cpp:
56836        (WebCore::RenderVideo::isWidthSpecified):
56837        (WebCore::RenderVideo::isHeightSpecified):
56838
568392008-01-18  Timothy Hatcher  <timothy@apple.com>
56840
56841        Reviewed by Adam Roben.
56842
56843        <rdar://problem/5693558> REGRESSION (r29581): no form field focus
56844        rings and inactive text selection after loading a page
56845        Bug 16910: [GTK] REGRESSION: keyboard cursor doesn't blink
56846        Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
56847
56848        * page/FocusController.cpp:
56849        (WebCore::FocusController::setActive): Use focusedOrMainFrame() instead of focusedFrame()
56850        to call selectionController()->pageActivationChanged() for cases when the focusedFrame()
56851        has not been set yet. 
56852
568532008-01-18  Alexey Proskuryakov  <ap@webkit.org>
56854
56855        Reviewed by Brady.
56856
56857        Database origin tracking is broken.
56858
56859        * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins):
56860        Move reading from statement back into the loop (broken in r29386).
56861
568622008-01-18  Marius Storm-Olsen  <marius@trolltech.com>
56863
56864        Reviewed by Simon Hausmann <hausmann@webkit.org>.
56865
56866        Add use of precompiled header, when building inside Qt.
56867        
56868        Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me.
56869        
56870
56871        * WebCore.pro:
56872
568732008-01-18  Simon Hausmann  <hausmann@webkit.org>
56874
56875        Reviewed by Holger.
56876
56877        Fix fast/forms/button-state-restore.html
56878        
56879        Similar to the fix for fast/forms/form-post-urlencoded.html transform POST
56880        requests to data urls into GET.
56881        
56882
56883        * platform/network/qt/QNetworkReplyHandler.cpp:
56884        (WebCore::QNetworkReplyHandler::start):
56885
568862008-01-18  Simon Hausmann  <hausmann@webkit.org>
56887
56888        Reviewed by Holger.
56889
56890        Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html
56891        
56892        In WebCore::cookies() don't return the full raw form but only the name=value
56893        part. This fixes the getter part of the above test. The above test also
56894        requires a parsing fix in Qt 4.4's QNetworkCookie to fully pass.
56895        
56896
56897        * platform/qt/CookieJarQt.cpp:
56898        (WebCore::cookies):
56899
569002008-01-18  Simon Hausmann  <hausmann@webkit.org>
56901
56902        Reviewed by Holger.
56903
56904        Fix svg/custom/path-getTotalLength.svg
56905        
56906        Path::apply creates a PathElement and its points array on the stack,
56907        to fill it in from the QPainterPath data and then use the platform
56908        independent path applier functions to calculate properties such as
56909        the length. For converting a QPainterPath::CurveToElement we need
56910        three points in the path element. However we allocated only two
56911        on the stack and as a result we got memory corruption and the
56912        failing test.
56913        
56914
56915        * platform/graphics/qt/PathQt.cpp:
56916        (WebCore::Path::apply):
56917
569182008-01-18  Simon Hausmann  <hausmann@webkit.org>
56919
56920        Reviewed by Holger.
56921
56922        Fix LayoutTests/fast/dom/document-attribute-js-null.html
56923        
56924        Don't crash when trying to get/set cookies without a frameloader.
56925        
56926
56927        * platform/qt/CookieJarQt.cpp:
56928        (WebCore::setCookies):
56929        (WebCore::cookies):
56930
569312008-01-18  Simon Hausmann  <hausmann@webkit.org>
56932
56933        Reviewed by Holger.
56934
56935        Fix fast/dom/xmlhttprequest-get.xhtml
56936        
56937        For local file requests remove the content length and the last-modified
56938        headers in the response.
56939        
56940
56941        * platform/network/qt/QNetworkReplyHandler.cpp:
56942        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56943
569442008-01-18  Simon Hausmann  <hausmann@webkit.org>
56945
56946        Reviewed by Holger.
56947
56948        Fix fast/forms/form-post-urlencoded.html.
56949        
56950        Post requests on files don't really make sense, but for
56951        fast/forms/form-post-urlencoded.html we still need to retrieve the file,
56952        which means we map it to a Get instead.
56953        
56954
56955        * platform/network/qt/QNetworkReplyHandler.cpp:
56956        (WebCore::QNetworkReplyHandler::start):
56957
569582008-01-18  Simon Hausmann  <hausmann@webkit.org>
56959
56960        Reviewed by Holger.
56961
56962        Make QNetworkReplyHandler::abort() more robust against multiple invocations.
56963
56964        During DRT runs I see cancel() being called on the same handle multiple times. Guard
56965        against this a bit better by setting m_reply to 0 after we called abort() on it.
56966
56967        * platform/network/qt/QNetworkReplyHandler.cpp:
56968        (WebCore::QNetworkReplyHandler::abort):
56969
569702008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
56971
56972        Reviewed by Simon.
56973
56974        * httpBody() can return 0 and other ports (cf/mac) check for this condition
56975        * Looking at the cf/mac implementation we might need to call setHTTPBody somewhere
56976        as well.
56977        
56978
56979        WARNING: NO TEST CASES ADDED OR CHANGED
56980
56981        * platform/network/qt/QNetworkReplyHandler.cpp:
56982        (WebCore::QNetworkReplyHandler::start):
56983
569842008-01-18  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
56985
56986        Reviewed by Simon Hausmann <hausmann@webkit.org>.
56987
56988        Fix compilation in Win64(3): Due to the size of size_t cast the return value explicitly to double() to make sure the right Value() constructor is called.
56989
56990        * xml/XPathFunctions.cpp:
56991        (WebCore::XPath::FunCount::evaluate):
56992
569932008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
56994
56995        Reviewed by Simon.
56996
56997        * Remove our windowClipRect reimplementation and instead have our own
56998        Widget::invalidate implementation that is invalidating
56999        IntRect(0, 0, width(), height()) without trying to clip it (in contrast
57000        to Widget::invalidateRect)
57001
57002        * platform/qt/PlatformScrollBar.h:
57003        * platform/qt/PlatformScrollBarQt.cpp:
57004        (WebCore::PlatformScrollbar::invalidate):
57005
570062008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57007
57008        Reviewed by Simon.
57009
57010        * Change the coordinate transformation in the PlatformMouseEvent handlers
57011        * We want to convert from coordinates of the containing window to our local
57012        position on the scrollbar.
57013
57014        * platform/qt/PlatformScrollBarQt.cpp:
57015        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
57016        (WebCore::PlatformScrollbar::handleMousePressEvent):
57017
570182008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57019
57020        Reviewed by Simon.
57021
57022        * Make the qDebug more usable. Do not have an additional newline and print
57023        the untranslated coordinates as well.
57024
57025        * platform/qt/PlatformScrollBarQt.cpp:
57026        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
57027        (WebCore::PlatformScrollbar::handleMousePressEvent):
57028
570292008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57030
57031        Reviewed by Simon.
57032
57033        * Dead code, remove it
57034
57035        * platform/qt/PlatformScrollBarQt.cpp:
57036
570372008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57038
57039        Reviewed by Simon.
57040
57041        * Coding-Style fixes.
57042
57043        * platform/qt/PlatformScrollBarQt.cpp:
57044        (WebCore::PlatformScrollbar::PlatformScrollbar):
57045
570462008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57047
57048        Reviewed by Simon.
57049
57050        * Coding-Style fix
57051
57052        * platform/graphics/qt/ImageDecoderQt.cpp:
57053        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
57054
570552008-01-17  Geoffrey Garen  <ggaren@apple.com>
57056
57057        Reviewed by Darin Adler.
57058
57059        Fixed: lots of WebCore leaks reported when quitting Safari
57060        
57061        If we're quitting with a GC still scheduled, do the GC before quitting.
57062        That way, WebCore's leak counters won't count objects that were
57063        scheduled for GC.
57064
57065        * bindings/js/GCController.cpp:
57066        (WebCore::GCController::~GCController):
57067        (WebCore::GCController::garbageCollectNow):
57068        * bindings/js/GCController.h:
57069
570702008-01-17  Alp Toker  <alp@atoker.com>
57071
57072        Reviewed by Oliver Hunt.
57073
57074        gdk_screen_get_font_options() returns NULL if no default options are
57075        set so we always have to NULL check to avoid crashes later on since
57076        Cairo doesn't accept NULL font options.
57077
57078        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
57079        (WebCore::FontPlatformData::FontPlatformData):
57080
570812008-01-17  Antti Koivisto  <antti@apple.com>
57082
57083        Reviewed by Adele.
57084
57085        Windows fix for <rdar://problem/5605682>
57086        Disallow streaming protocols for media elements
57087        and <rdar://problem/5668711>
57088        Limit the container and codec types that the <video> tag supports
57089        
57090        - Disable unsupported QuickTime tracks types. 
57091        - Disallow streaming protocols (for now).
57092
57093        * WebCore.vcproj/WebCore.vcproj:
57094        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
57095        (WebCore::MediaPlayerPrivate::updateStates):
57096        * platform/graphics/win/QTMovieWin.cpp:
57097        (QTMovieWin::load):
57098        (QTMovieWin::disableUnsupportedTracks):
57099        * platform/graphics/win/QTMovieWin.h:
57100
571012008-01-17  Oliver Hunt  <oliver@apple.com>
57102
57103        Support smart copy and paste during drag and drop
57104        
57105        Reviewed by Alice
57106        
57107        In order for the drag and drop tests in Windows DRT to pass
57108        we need to support smart cut and paste operations during
57109        drag and drop on windows.
57110        
57111        There is no layout test as drag and drop is still unsupported
57112        on windows.  Once supported smart drag/drop is tested by existing
57113        tests
57114
57115        * platform/win/ClipboardUtilitiesWin.cpp:
57116        (WebCore::smartPasteFormat):
57117        * platform/win/ClipboardUtilitiesWin.h:
57118        * platform/win/ClipboardWin.cpp:
57119        (WebCore::ClipboardWin::writeRange):
57120        * platform/win/DragDataWin.cpp:
57121
571222008-01-17  Oliver Hunt  <oliver@apple.com>
57123
57124        Reviewed by Anders.
57125
57126        <rdar://problem/5692940> Crash when attempting to get text properties in
57127        SVG with no renderer
57128
57129        We use the element renderer to calculate the text element bounds,
57130        however there was no check against the possibility of the text dimension
57131        properties being requested on a element with no renderer (eg. unattached, 
57132        display: none).
57133
57134        Test: svg/text/text-property-with-display-none.html
57135
57136        * svg/SVGTextContentElement.cpp:
57137        (WebCore::rootInlineBoxForTextContentElement):
57138
571392008-01-17  Anders Carlsson  <andersca@apple.com>
57140
57141        Reviewed by Oliver.
57142
57143        <rdar://problem/5636742>
57144        CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78
57145        
57146        When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us
57147        to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins.
57148        
57149        * WebCore.base.exp:
57150        * loader/DocumentLoader.h:
57151        (WebCore::DocumentLoader::mainResourceLoader):
57152        New accessor method.
57153        
57154        * loader/PluginDocument.cpp:
57155        (WebCore::PluginTokenizer::writeRawData):
57156        Disable buffering for the main resource loader.
57157        
57158        * loader/ResourceLoader.cpp:
57159        (WebCore::ResourceLoader::setShouldBufferData):
57160        * loader/ResourceLoader.h:
57161        Have this free the buffer when disabling buffering.
57162
571632008-01-17  Adam Roben  <aroben@apple.com>
57164
57165        More Qt/GTK+ build fixing.
57166
57167        * platform/gtk/ScrollViewGtk.cpp:
57168        * platform/qt/ScrollViewQt.cpp:
57169
571702008-01-17  Alexey Proskuryakov  <ap@webkit.org>
57171
57172        Reviewed by Darin.
57173
57174        http://bugs.webkit.org/show_bug.cgi?id=16902
57175        <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
57176        fast/dom/Window/window-property-shadowing.html
57177
57178        Test: fast/dom/Window/window-property-shadowing_.html
57179
57180        * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
57181
571822008-01-17  Adam Roben  <aroben@apple.com>
57183
57184        Qt/GTK+ build fix.
57185
57186        * platform/gtk/ScrollViewGtk.cpp:
57187        (WebCore::ScrollView::ScrollViewPrivate::isActive):
57188        * platform/qt/ScrollViewQt.cpp:
57189        (WebCore::ScrollView::ScrollViewPrivate::isActive):
57190
571912008-01-16  Adam Roben  <aroben@apple.com>
57192
57193        Update scroll bars/form controls when FocusController::isActive changes
57194
57195        Part of <rdar://5006915> Inactive look for Aqua controls
57196
57197        Reviewed by Darin.
57198
57199        All tests pass.
57200
57201        * page/FocusController.cpp:
57202        (WebCore::FocusController::setActive): Update control tints when the
57203        active state changes.
57204        * page/FrameView.cpp:
57205        (WebCore::FrameView::updateControlTints): On Windows, we have to ask
57206        ScrollView to paint so that the outermost scroll bars will paint. On
57207        Mac, the outermost scroll bars are taken care of by NSScroller.
57208        * platform/PopupMenu.h: Updated for ScrollBarClient changes.
57209        * platform/ScrollBar.h: Added a new ScrollBarClient method.
57210        * platform/win/PlatformScrollBarSafari.cpp:
57211        (WebCore::PlatformScrollbar::paint): Invalidate when updating control
57212        tints so that we can paint with the new tint later.
57213        (WebCore::PlatformScrollbar::paintButton): Pass the active state down
57214        to SafariTheme.
57215        (WebCore::PlatformScrollbar::paintTrack): Ditto.
57216        (WebCore::PlatformScrollbar::paintThumb): Ditto.
57217        * platform/win/ScrollViewWin.cpp:
57218        (WebCore::ScrollView::ScrollViewPrivate::isActive): Added.
57219        (WebCore::ScrollView::paint): Pass paint calls on down if we're
57220        updating control tints so the scroll bars can invalidate.
57221        * rendering/RenderLayer.cpp:
57222        (WebCore::RenderLayer::isActive): Added.
57223        * rendering/RenderLayer.h:
57224        * rendering/RenderListBox.cpp:
57225        (WebCore::RenderListBox::isActive): Added.
57226        * rendering/RenderListBox.h:
57227        * rendering/RenderTheme.cpp:
57228        (WebCore::RenderTheme::isActive): Added.
57229        * rendering/RenderTheme.h:
57230        * rendering/RenderThemeSafari.cpp:
57231        (WebCore::RenderThemeSafari::determineState): Pass the active state
57232        down to SafariTheme.
57233
572342008-01-16  Adam Roben  <aroben@apple.com>
57235
57236        Move focused/active state from Frame to SelectionController/FocusController
57237
57238        This is the first part of <rdar://5006915> Inactive look for Aqua
57239        controls.
57240
57241        The following methods were moved/renamed:
57242            - Frame::setIsActive -> FocusController::setActive
57243            - Frame::isActive -> SelectionController::isActiveAndFocused
57244            - Frame::setWindowHasFocus -> SelectionController::setFocused
57245
57246        Active state is now correctly a Page-level concept.
57247
57248        The Mac parts of this patch were written by Darin.
57249
57250        Reviewed by Darin.
57251
57252        All tests pass.
57253
57254        * WebCore.base.exp: Updated for method renames.
57255        * css/CSSStyleSelector.cpp:
57256        (WebCore::CSSStyleSelector::checkOneSelector): Ditto.
57257        * editing/SelectionController.cpp:
57258        (WebCore::SelectionController::SelectionController): Initialize new
57259        member.
57260        (WebCore::SelectionController::focusedOrActiveStateChanged): New
57261        private method. Most of this code came from Frame::setIsActive.
57262        (WebCore::SelectionController::pageActivationChanged): Added.
57263        (WebCore::SelectionController::setFocused): Added. Replaces
57264        Frame::setWindowHasFocus.
57265        (WebCore::SelectionController::isFocusedAndActive): Added. Replaces
57266        Frame::isActive.
57267        * editing/SelectionController.h:
57268        * page/FocusController.cpp:
57269        (WebCore::FocusController::FocusController): Initialize new member.
57270        (WebCore::FocusController::setFocusedFrame): Changed to just call
57271        SelectionController::setFocused, since active state has doesn't change
57272        when the focused frame changes.
57273        (WebCore::FocusController::setActive): Added. Replaces
57274        Frame::setIsActive.
57275        * page/FocusController.h:
57276        (WebCore::FocusController::isActive): Added.
57277        * page/Frame.cpp:
57278        (WebCore::Frame::setDocument): Updated for method renames.
57279        (WebCore::Frame::setFocusedNodeIfNeeded): Ditto.
57280        (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto.
57281        (WebCore::FramePrivate::FramePrivate): Removed initialization of
57282        removed members.
57283        * page/Frame.h:
57284        * page/FramePrivate.h:
57285        * page/mac/WebCoreFrameBridge.h: Removed -selectionColor.
57286        * page/mac/WebCoreFrameBridge.mm: Ditto.
57287        * rendering/RenderListBox.cpp:
57288        (WebCore::RenderListBox::paintItemForeground): Updated for method
57289        renames.
57290        (WebCore::RenderListBox::paintItemBackground): Ditto.
57291        * rendering/RenderObject.cpp:
57292        (WebCore::RenderObject::selectionBackgroundColor): Ditto.
57293        (WebCore::RenderObject::selectionForegroundColor): Ditto.
57294        * rendering/RenderTextControl.cpp:
57295        (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto.
57296        * rendering/RenderTheme.cpp:
57297        (WebCore::RenderTheme::isFocused): Ditto.
57298
572992008-01-17  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57300
57301        Reviewed by Simon.
57302
57303        * Make the nice 'safari' feature work on our port. When viewing a single image, clicking
57304        on the image will zoom it.
57305        * It seems like our platform can only determine the size of the image once it is completely
57306        loaded. Call m_doc->imageChanged on the last chunk of data as well.
57307
57308        * loader/ImageDocument.cpp:
57309        (WebCore::ImageTokenizer::finish):
57310
573112008-01-17  Simon Hausmann  <hausmann@webkit.org>
57312
57313        Reviewed by Lars.
57314
57315        Set the library version of QtWebKit to the Qt version.
57316
57317        * WebCore.pro:
57318
573192008-01-17  Simon Hausmann  <hausmann@webkit.org>
57320
57321        Reviewed by Holger.
57322
57323        Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module.
57324
57325        * platform/network/qt/QNetworkReplyHandler.cpp:
57326        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
57327
573282008-01-17  Simon Hausmann  <hausmann@webkit.org>
57329
57330        Another Windows build fix, setCookies accidentially had a const
57331        Document pointer.
57332
57333        * platform/network/win/CookieJarWin.cpp:
57334
573352008-01-17  Simon Hausmann  <hausmann@webkit.org>
57336
57337        MSVC Windows build fix. Forward declaring Document in CookieJar.h
57338        seems not enough for MSVC.
57339
57340        * platform/network/win/CookieJarWin.cpp:
57341
573422008-01-17  Simon Hausmann  <hausmann@webkit.org>
57343
57344        Reviewed by Maciej, Lars, Holger.
57345
57346        http://bugs.webkit.org/show_bug.cgi?id=16589
57347
57348        Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
57349
57350        * WebCore.pro:
57351        * bindings/js/kjs_navigator.cpp:
57352        (KJS::Navigator::getValueProperty):
57353        * dom/Document.cpp:
57354        (WebCore::Document::cookie):
57355        * platform/CookieJar.h:
57356        * platform/gtk/CookieJarGtk.cpp:
57357        (WebCore::setCookies):
57358        (WebCore::cookies):
57359        * platform/mac/CookieJar.mm:
57360        * platform/network/win/CookieJarWin.cpp:
57361        * platform/qt/CookieJarQt.cpp:
57362        (WebCore::setCookies):
57363        (WebCore::cookies):
57364        (WebCore::cookiesEnabled):
57365        * platform/wx/TemporaryLinkStubs.cpp:
57366
573672008-01-17  Simon Hausmann  <hausmann@webkit.org>
57368
57369        Reviewed by Holger.
57370
57371        Windows build fix. (use localtime_r again instead of _s)
57372
57373        * loader/FTPDirectoryDocument.cpp:
57374        (WebCore::processFileDateString):
57375
573762008-01-17  Frans Englich  <fenglich@trolltech.com>
57377
57378        Reviewed by Simon Hausmann <hausmann@webkit.org>.
57379
57380        Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
57381
57382        * loader/FTPDirectoryDocument.cpp:
57383
573842008-01-17  Simon Hausmann  <hausmann@webkit.org>
57385
57386        Reviewed by Holger.
57387
57388        Don't link QtWebKit against libQtXml when building against Qt 4.4.
57389
57390        This is not necessary anymore since QXmlStream has been moved into QtCore.
57391
57392        * WebCore.pro:
57393
573942008-01-17  Håvard Wall  <hwall@trolltech.com>
57395
57396        Reviewed by Simon Hausmann <hausmann@webkit.org>.
57397
57398        Fix compilation on arm
57399
57400        * platform/graphics/qt/GraphicsContextQt.cpp:
57401        (WebCore::GraphicsContext::endTransparencyLayer):
57402
574032008-01-17  Simon Hausmann  <shausman@trolltech.com>
57404
57405        Reviewed by Holger.
57406
57407        Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
57408
57409        * WebCore.pro:
57410        * platform/network/qt/ResourceHandleQt.cpp:
57411        * platform/qt/MIMETypeRegistryQt.cpp:
57412        * platform/qt/PlugInInfoStoreQt.cpp:
57413
574142008-01-17  Frans Englich  <fenglich@trolltech.com>
57415
57416        Reviewed by Simon Hausmann <hausmann@webkit.org>.
57417
57418        Fixes compilation with MinGW.
57419        Neither localtime_r nor localtime_s are available on MingW, so instead of
57420        calling back to the thread-unsafe localtime use QDateTime instead.
57421
57422        * loader/FTPDirectoryDocument.cpp:
57423        (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
57424        (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
57425        (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
57426        * loader/FTPDirectoryParser.cpp:
57427        (WebCore::parseOneFTPLine):
57428
574292008-01-17  Dan Bernstein  <mitz@apple.com>
57430
57431        Reviewed by Dave Hyatt.
57432
57433        - fix determinePitch for segmented fonts
57434
57435        Covered by fast/css/font-face-implicit-local-font.html
57436
57437        * platform/graphics/FontFallbackList.cpp:
57438        (WebCore::FontFallbackList::determinePitch): If the primary font is
57439        segmented, treat as fixed pitch only if it has only one segment
57440        and that segment is fixed-pitch.
57441
574422008-01-16  David Hyatt  <hyatt@apple.com>
57443
57444        Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
57445
57446        Make sure vertical-align length values are offset from their parents rather than being absolute to the
57447        line.
57448
57449        Reviewed by olliej
57450
57451        Added fast/css/vertical-align-lengths.html
57452
57453        * rendering/RenderObject.cpp:
57454        (WebCore::RenderObject::getVerticalPosition):
57455
574562008-01-16  Dan Bernstein  <mitz@apple.com>
57457
57458        Reviewed by Dave Hyatt.
57459
57460        - fix for @font-face rules with unicode-range: always use a local font where not
57461          explicitly overlaid.
57462
57463        Test: fast/css/font-face-implicit-local-font.html
57464
57465        * css/CSSFontSelector.cpp:
57466        (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
57467        @font-face rule with the local font the matches the family and description before
57468        any explicit @font-face rules that overlay specific ranges of the same font.
57469        * css/CSSSegmentedFontFace.h:
57470        (WebCore::CSSSegmentedFontFace::numRanges): Addded.
57471
574722008-01-16  Antti Koivisto  <antti@apple.com>
57473
57474        Fix Tiger build.
57475
57476        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
57477        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
57478
574792008-01-16  Antti Koivisto  <antti@apple.com>
57480
57481        Reviewed by Adele.
57482        
57483        OS X fix for <rdar://problem/5605682>
57484        Disallow streaming protocols for media elements
57485        and <rdar://problem/5668711>
57486        Limit the container and codec types that the <video> tag supports
57487        
57488        - Disable unsupported QuickTime tracks types. 
57489        - Disallow streaming protocols (for now).
57490        - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute 
57491          to limit QuickTime's access to external resources.
57492        
57493        Windows patch coming up.
57494
57495        Tests: media/broken-video.html
57496               media/unsupported-rtsp.html
57497               media/unsupported-tracks.html
57498
57499        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
57500        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
57501        (WebCore::MediaPlayerPrivate::createQTMovie):
57502        (WebCore::MediaPlayerPrivate::updateStates):
57503        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
57504
575052008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
57506
57507        Reviewed by Alp Toker.
57508
57509        http://bugs.webkit.org/show_bug.cgi?id=16897
57510        Add shared plugins directory to INCLUDE path
57511
57512        Add the plugins directory to INCLUDEPATH
57513
57514        * GNUmakefile.am:
57515        * WebCore.pro:
57516
575172008-01-16  Geoffrey Garen  <ggaren@apple.com>
57518
57519        Reviewed by Sam Weinig.
57520        
57521        Added a debug counter for SQL transactions. This helped me debug an SQL
57522        leak.
57523
57524        * bindings/js/JSCustomSQLTransactionCallback.cpp:
57525        (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
57526        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
57527        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
57528        * bindings/js/JSCustomSQLTransactionCallback.h:
57529
57530        * bindings/js/kjs_window.cpp: Removed a silly comment.
57531
575322008-01-16  David Hyatt  <hyatt@apple.com>
57533
57534        Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
57535
57536        Reviewed by Eric Seidel
57537
57538        Added fast/table/dynamic-cellpadding.html
57539
57540        * html/HTMLTableElement.cpp:
57541        (WebCore::HTMLTableElement::parseMappedAttribute):
57542        * rendering/RenderTable.cpp:
57543        (WebCore::RenderTable::setCellPadding):
57544        * rendering/RenderTable.h:
57545
575462008-01-16  David Hyatt  <hyatt@apple.com>
57547
57548        Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
57549
57550        This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
57551        The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
57552        to apply.  In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
57553        to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
57554        laying out).
57555
57556        This new patch rewrites the quirk to be complete.  The original test case attached to the bug that tested a variety
57557        of image/text combinations now fully matches WinIE.
57558
57559        Reviewed by Beth
57560
57561        Added fast/table/unbreakable-images-quirk.html
57562
57563        * rendering/RenderBlock.cpp:
57564        (WebCore::RenderBlock::calcInlinePrefWidths):
57565        * rendering/bidi.cpp:
57566        (WebCore::RenderBlock::findNextLineBreak):
57567
575682008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
57569
57570        Reviewed by Jon Honeycutt
57571
57572        Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
57573        a circular dependency on PluginDatabaseWin
57574        Remove the getFileVersion method, and just check the versions directly
57575        in isPluginBlacklisted, as it was the only caller
57576
57577        http://bugs.webkit.org/show_bug.cgi?id=16884
57578
57579        * plugins/win/PluginDatabaseWin.cpp:
57580        * plugins/win/PluginDatabaseWin.h:
57581        * plugins/win/PluginPackageWin.cpp:
57582        * plugins/win/PluginPackageWin.h:
57583
575842008-01-16  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
57585
57586        Reviewed by Lars.
57587
57588        * Set the cursor on the containingWindow() instead of the
57589        nativeWidget()
57590        * This should be safe even with plugins as the cursor is set
57591        on the mouse events.
57592
57593        * platform/qt/WidgetQt.cpp:
57594        (WebCore::Widget::setCursor):
57595
575962008-01-16  Brad Hughes  <bhughes@trolltech.com>
57597
57598        Reviewed by Lars.
57599
57600        Improve the sqlite3 dependency when building WebKit inside Qt.
57601
57602        Build sqlite3 into QtWebKit if a system sqlite3 development package
57603        can't be found.
57604
57605        * WebCore.pro:
57606
576072008-01-16  Lars Knoll  <lars@trolltech.com>
57608
57609        Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
57610
57611        Implement GraphicsContext::clipOut and fix transparency layers.
57612
57613        Transparency layers where broken in two ways: It always used the
57614        complete device rect as the size of the layer pixmap and the pixmaps
57615        where not correctly initialized to transparent.
57616
57617        This fixes the worst drawing errors in the Inspector and makes drawing it
57618        10 times faster.
57619
57620        * platform/graphics/qt/GraphicsContextQt.cpp:
57621        (WebCore::toQtLineJoin):
57622        (WebCore::TransparencyLayer::TransparencyLayer):
57623        (WebCore::GraphicsContextPlatformPrivate::p):
57624        (WebCore::GraphicsContext::platformContext):
57625        (WebCore::GraphicsContext::savePlatformState):
57626        (WebCore::GraphicsContext::restorePlatformState):
57627        (WebCore::GraphicsContext::drawRect):
57628        (WebCore::GraphicsContext::drawLine):
57629        (WebCore::GraphicsContext::drawEllipse):
57630        (WebCore::GraphicsContext::strokeArc):
57631        (WebCore::GraphicsContext::drawConvexPolygon):
57632        (WebCore::GraphicsContext::fillRect):
57633        (WebCore::GraphicsContext::fillRoundedRect):
57634        (WebCore::GraphicsContext::clip):
57635        (WebCore::GraphicsContext::drawFocusRing):
57636        (WebCore::GraphicsContext::beginTransparencyLayer):
57637        (WebCore::GraphicsContext::endTransparencyLayer):
57638        (WebCore::GraphicsContext::clearRect):
57639        (WebCore::GraphicsContext::strokeRect):
57640        (WebCore::GraphicsContext::setLineCap):
57641        (WebCore::GraphicsContext::setLineJoin):
57642        (WebCore::GraphicsContext::setMiterLimit):
57643        (WebCore::GraphicsContext::setAlpha):
57644        (WebCore::GraphicsContext::setCompositeOperation):
57645        (WebCore::GraphicsContext::clipOut):
57646        (WebCore::GraphicsContext::translate):
57647        (WebCore::GraphicsContext::origin):
57648        (WebCore::GraphicsContext::rotate):
57649        (WebCore::GraphicsContext::scale):
57650        (WebCore::GraphicsContext::clipOutEllipseInRect):
57651        (WebCore::GraphicsContext::addInnerRoundedRectClip):
57652        (WebCore::GraphicsContext::setPlatformStrokeStyle):
57653        (WebCore::GraphicsContext::setPlatformStrokeThickness):
57654        (WebCore::GraphicsContext::setPlatformFillColor):
57655        (WebCore::GraphicsContext::setUseAntialiasing):
57656
576572008-01-16  Lars Knoll  <lars@trolltech.com>
57658
57659        Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
57660
57661        Trivially implement the themed search field by mapping it to a text field
57662
57663        Also add a bunch of notImplemented warnings for other places where we don't
57664        have an implementatin in RenderTheme.
57665
57666        * platform/qt/RenderThemeQt.cpp:
57667        (WebCore::RenderThemeQt::paintTextField):
57668        (WebCore::RenderThemeQt::paintMenuListButton):
57669        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
57670        (WebCore::RenderThemeQt::paintSliderTrack):
57671        (WebCore::RenderThemeQt::paintSliderThumb):
57672        (WebCore::RenderThemeQt::paintSearchField):
57673        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
57674        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
57675        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
57676        (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
57677        (WebCore::RenderThemeQt::paintSearchFieldDecoration):
57678        (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
57679        (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
57680
576812008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
57682
57683        Reviewed by Simon.
57684
57685        * Follow the EventHandlerWin.cpp and always return true in the handlers.
57686        * Match the windows implementation more closely as well.
57687        * This is fixing "selection" bugs with the Web Inspector
57688
57689        * page/qt/EventHandlerQt.cpp:
57690        (WebCore::EventHandler::focusDocumentView):
57691        (WebCore::EventHandler::passMousePressEventToSubframe):
57692        (WebCore::EventHandler::passMouseMoveEventToSubframe):
57693        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
57694        (WebCore::EventHandler::passMousePressEventToScrollbar):
57695
576962008-01-16  Simon Hausmann  <hausmann@webkit.org>
57697
57698        Reviewed by Lars Knoll <lars@trolltech.com>.
57699
57700        Fix crashes in the new networking code.
57701
57702        When the ResourceLoader cancels the handle we have to make sure not to access
57703        the resource handle afterwards again.
57704
57705        * platform/network/qt/QNetworkReplyHandler.cpp:
57706        (WebCore::QNetworkReplyHandler::finish):
57707        (WebCore::QNetworkReplyHandler::forwardData):
57708
577092008-01-16  Lars Knoll  <lars@trolltech.com>
57710
57711        Reviewed by Simon.
57712
57713        add conversion methods from and to QUrl to KURL.
57714
57715        Use them in the places I found at the moment. Fixes a bug
57716        where form data was encoded twice.
57717        Also fix QWebSettings to take a QUrl for the user style sheet
57718        location.
57719
57720        * WebCore.pro:
57721        * platform/KURL.h:
57722        * platform/network/qt/QNetworkReplyHandler.cpp:
57723        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
57724        * platform/network/qt/ResourceRequestQt.cpp:
57725        (WebCore::ResourceRequest::toNetworkRequest):
57726        * platform/qt/KURLQt.cpp: Added.
57727        (WebCore::KURL::KURL):
57728        (WebCore::KURL::operator QUrl):
57729
577302008-01-15  Darin Adler  <darin@apple.com>
57731
57732        Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
57733
57734        - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
57735
57736        Put navigation policy delegate calls back for redirects.
57737        Just rolled out the change where I took them out.
57738
57739        * loader/MainResourceLoader.cpp:
57740        (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
57741        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
57742        (WebCore::MainResourceLoader::willSendRequest):
57743        * loader/MainResourceLoader.h:
57744
577452008-01-15  Adele Peterson  <adele@apple.com>
57746
57747        Reviewed by Sam.
57748
57749        Remove unused variable for old media control background drawing code.
57750
57751        * rendering/RenderThemeMac.h:
57752        * rendering/RenderThemeMac.mm:
57753        (WebCore::RenderThemeMac::RenderThemeMac):
57754        (WebCore::RenderThemeMac::~RenderThemeMac):
57755
577562008-01-15  Sam Weinig  <sam@webkit.org>
57757
57758        Reviewed by Geoffrey Garen.
57759
57760        Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
57761
57762        - Update JS Function implementations to use a static function based method. This decreases
57763          the binary size of an Intel only build by 1013.5K.
57764
57765        * WebCore.xcodeproj/project.pbxproj:
57766        * bindings/js/JSDOMWindowCustom.cpp:
57767        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
57768        * bindings/js/JSEventTargetBase.cpp:
57769        (WebCore::jsEventTargetAddEventListener):
57770        (WebCore::jsEventTargetRemoveEventListener):
57771        (WebCore::jsEventTargetDispatchEvent):
57772        (WebCore::retrieveEventTargetAndCorrespondingNode):
57773        * bindings/js/JSEventTargetBase.h:
57774        * bindings/js/JSHTMLInputElementBase.cpp:
57775        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
57776        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
57777        * bindings/js/JSHTMLInputElementBase.h:
57778        * bindings/js/JSLocation.cpp:
57779        (WebCore::JSLocation::getOwnPropertySlot):
57780        (WebCore::jsLocationProtoFuncReplace):
57781        (WebCore::jsLocationProtoFuncReload):
57782        (WebCore::jsLocationProtoFuncAssign):
57783        (WebCore::jsLocationProtoFuncToString):
57784        * bindings/js/JSLocation.h:
57785        * bindings/js/JSXMLHttpRequest.cpp:
57786        (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
57787        (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
57788        (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
57789        (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
57790        (KJS::jsXMLHttpRequestPrototypeFunctionSend):
57791        (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
57792        (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
57793        (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
57794        (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
57795        (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
57796        * bindings/js/JSXMLHttpRequest.h:
57797        * bindings/js/JSXSLTProcessor.cpp:
57798        (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
57799        (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
57800        (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
57801        (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
57802        (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
57803        (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
57804        (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
57805        (KJS::jsXSLTProcessorPrototypeFunctionReset):
57806        * bindings/js/JSXSLTProcessor.h:
57807        * bindings/js/kjs_events.cpp:
57808        (WebCore::jsClipboardPrototypeFunctionClearData):
57809        (WebCore::jsClipboardPrototypeFunctionGetData):
57810        (WebCore::jsClipboardPrototypeFunctionSetData):
57811        (WebCore::jsClipboardPrototypeFunctionSetDragImage):
57812        * bindings/js/kjs_events.h:
57813        * bindings/js/kjs_navigator.cpp:
57814        (KJS::pluginsFunctionRefresh):
57815        (KJS::navigatorProtoFuncJavaEnabled):
57816        * bindings/js/kjs_navigator.h:
57817        * bindings/js/kjs_window.cpp:
57818        (KJS::Window::getOwnPropertySlot):
57819        (KJS::windowProtoFuncAToB):
57820        (KJS::windowProtoFuncBToA):
57821        (KJS::windowProtoFuncOpen):
57822        (KJS::windowProtoFuncSetTimeout):
57823        (KJS::windowProtoFuncClearTimeout):
57824        (KJS::windowProtoFuncSetInterval):
57825        (KJS::windowProtoFuncAddEventListener):
57826        (KJS::windowProtoFuncRemoveEventListener):
57827        (KJS::windowProtoFuncShowModalDialog):
57828        (KJS::windowProtoFuncNotImplemented):
57829        * bindings/js/kjs_window.h:
57830        * bindings/scripts/CodeGenerator.pm:
57831        * bindings/scripts/CodeGeneratorJS.pm:
57832
578332008-01-15  Adele Peterson  <adele@apple.com>
57834
57835        Reviewed by Dan.
57836
57837        Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
57838
57839        * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
57840          Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. 
57841
578422008-01-15  Alp Toker  <alp@atoker.com>
57843
57844        Rubber-stamped by Anders.
57845
57846        Make the HTTP backend configurable in the GTK+ port. curl is currently
57847        the only option.
57848
57849        * GNUmakefile.am:
57850
578512008-01-15  Adele Peterson  <adele@apple.com>
57852
57853        Build fix.
57854
57855        * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
57856
578572008-01-14  Samuel Weinig  <sam@webkit.org>
57858
57859        Reviewed by Darin.
57860
57861        Fix for <rdar://problem/5671040>
57862        REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
57863
57864        On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
57865        which does not completely make up reported regression, but I was not able to
57866        reproduce those findings either.
57867
57868        * css/CSSStyleSelector.cpp:
57869        (WebCore::CSSStyleSelector::matchRules):
57870        (WebCore::CSSStyleSelector::checkOneSelector):
57871        * dom/ClassNames.cpp:
57872        (WebCore::ClassNames::parseClassAttribute):
57873        * dom/ClassNames.h:
57874        (WebCore::ClassNames::contains):
57875        (WebCore::ClassNames::operator[]):
57876
578772008-01-15  Adele Peterson  <adele@apple.com>
57878
57879        Build fix.  This time for real.
57880
57881        * rendering/RenderThemeSafari.cpp:
57882
578832008-01-15  Adele Peterson  <adele@apple.com>
57884
57885        Build fix.
57886
57887        * rendering/RenderThemeSafari.cpp:
57888
578892008-01-15  Dan Bernstein  <mitz@apple.com>
57890
57891        Reviewed by Darin Adler.
57892
57893        - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
57894
57895        * svg/SVGPreserveAspectRatio.cpp:
57896        (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
57897        from float to double in order to make the values passed to scale() and
57898        translate() on Mac OS X and on Windows the same.
57899        * svg/SVGPreserveAspectRatio.h:
57900
579012008-01-15  Alexey Proskuryakov  <ap@webkit.org>
57902
57903        Reviewed by Darin.
57904
57905        <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
57906
57907        Test: fast/encoding/mailto-always-utf-8.html
57908
57909        * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
57910
579112008-01-15  Adele Peterson  <adele@apple.com>
57912
57913        Reviewed by Adam and Antti.
57914
57915        WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
57916
57917        * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData.  Added symbol for wkDrawMediaSliderTrack.
57918        * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
57919        * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element.  Removed unnecessary margin for slider.
57920        * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
57921
57922        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
57923          Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
57924        * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData.  Added wkDrawMediaSliderTrack.
57925        * platform/mac/WebCoreSystemInterface.mm: ditto.
57926
57927        * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
57928        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
57929        * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
57930        * rendering/RenderThemeMac.mm:
57931        (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
57932        (WebCore::RenderThemeMac::paintMediaSliderTrack): Added.  Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
57933        * rendering/RenderThemeSafari.cpp: ditto.
57934        (WebCore::RenderThemeSafari::adjustSliderThumbSize):
57935        (WebCore::RenderThemeSafari::paintMediaSliderTrack):
57936        * rendering/RenderThemeSafari.h:
57937
579382008-01-15  Alexey Proskuryakov  <ap@webkit.org>
57939
57940        Reviewed by Mark Rowe.
57941
57942        Some logging channels weren't initialized from user defaults.
57943
57944        * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
57945        Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
57946
579472008-01-14  Steve Falkenburg  <sfalken@apple.com>
57948
57949        Use shared vsprops for most vcproj properties.
57950        
57951        Reviewed by Darin.
57952
57953        * WebCore.vcproj/QTMovieWin.vcproj:
57954        * WebCore.vcproj/WebCore.vcproj:
57955        * platform/graphics/win/QTMovieWin.cpp:
57956        (QTMovieWin::initializeQuickTime): Fix compiler warning.
57957
579582008-01-14  Eric Seidel  <eric@webkit.org>
57959
57960        Reviewed by mjs.
57961
57962        Remove a couple more uses of DeprecatedString
57963
57964        No functional changes, thus no test case.
57965
57966        * dom/Document.cpp:
57967        (WebCore::Document::write):
57968        (WebCore::Document::writeln):
57969        (WebCore::Document::recalcStyleSelector):
57970        * dom/Document.h:
57971
579722008-01-14  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
57973
57974        Reviewed by Alp Toker.
57975
57976        Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
57977        http://bugs.webkit.org/show_bug.cgi?id=16874
57978
57979        * GNUmakefile.am:
57980        * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
57981        (WebCore::SVGResourceFilter::createPlatformData):
57982        (WebCore::SVGResourceFilter::prepareFilter):
57983        (WebCore::SVGResourceFilter::applyFilter):
57984
579852008-01-14  Finnur Thorarinsson  <finnur.webkit@gmail.com>
57986
57987        Reviewed by hyatt & eseidel.
57988
57989        - fix http://bugs.webkit.org/show_bug.cgi?id=16844
57990        RenderText::addLineBoxRects erroneously includes last char for boundingBox
57991
57992        This patch fixes an issue with addLineBoxRects not correctly calculating the 
57993        rects due to an off-by-one error in using box->end(). We were assuming that 
57994        end() gives the index past the last character, when in fact it gives the 
57995        index _of_ the last character. 
57996
57997        Eric Seidel and I could not find a way to test this via DRT. This method is 
57998        only used by WebKit or Safari for displaying selection rects AFAICT.
57999
58000        * rendering/RenderText.cpp:
58001        (WebCore::RenderText::addLineBoxRects):
58002
580032008-01-14  Darin Adler  <darin@apple.com>
58004
58005        Reviewed by Geoff.
58006
58007        - fix crash seen in layout tests
58008
58009        * html/HTMLFrameSetElement.cpp:
58010        (WebCore::HTMLFrameSetElement::attach):
58011        Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
58012        HTMLElement or a Document, not necessarily an HTMLElement.
58013
580142008-01-14  Darin Adler  <darin@apple.com>
58015
58016        Reviewed by Sam.
58017
58018        - fix mistakes Sam noticed in my re-speed-up patch
58019
58020        * dom/Element.cpp:
58021        (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
58022        this inline.
58023        * dom/Element.h: Moved virtualHasTagName out of header file.
58024
58025        * dom/Node.cpp:
58026        (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
58027        this inline.
58028        * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
58029        out of header file.
58030
58031        * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
58032
58033        * platform/text/StringImpl.h: Removed StringBuffer class.
58034
58035        * loader/DocumentLoader.cpp: Added StringBuffer.h include.
58036        * platform/text/String.cpp: Ditto.
58037        * platform/text/StringImpl.cpp: Ditto.
58038        * platform/text/TextCodecLatin1.cpp: Ditto.
58039        * platform/text/TextCodecUTF16.cpp: Ditto.
58040        * platform/text/TextCodecUserDefined.cpp: Ditto.
58041
58042        * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
58043        * WebCore.xcodeproj/project.pbxproj: Ditto.
58044
580452008-01-14  Dave Hyatt  <hyatt@apple.com>
58046
58047        Clean up all the misplaced graphics files after the recent file moves.  Clean up the project to
58048        accurately reflect the location of all the graphics files.
58049        
58050        Reviewed by Adam
58051
58052        * WebCore.vcproj/WebCore.vcproj:
58053        * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
58054        * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
58055        * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
58056        * platform/win/GraphicsContextWin.cpp: Removed.
58057        * platform/win/UniscribeController.cpp: Removed.
58058        * platform/win/UniscribeController.h: Removed.
58059
580602008-01-14  Geoffrey Garen  <ggaren@apple.com>
58061
58062        Reviewed by Sam Weinig.
58063        
58064        Some cleanup to my last patch.
58065
58066        Removed one unused setter declaration and one unused setter definition.
58067        
58068        Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
58069        because "get" is all over the IDL files, and "read" is not.
58070
58071        * bindings/scripts/CodeGeneratorJS.pm:
58072        * page/DOMWindow.h:
58073        (WebCore::DOMWindow::defaultstatus):
58074        * page/DOMWindow.idl:
58075
580762008-01-14  Dan Bernstein  <mitz@apple.com>
58077
58078        Rubber-stamped by Alice Liu.
58079
58080        - remove reference to nonexistent file
58081
58082        * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
58083
580842008-01-14  Darin Adler  <darin@apple.com>
58085
58086        Reviewed by Adam.
58087
58088        - re-speed-up the page load test (my StringImpl change slowed it down)
58089          <rdar://problem/5677241> 1.5% PLT regression from r29098
58090
58091        To reverse the slowdown I caused by changing StringImpl, I tightened it up,
58092        and also did a little optimization in the HTML tokenizer and in other clients
58093        of Vector.
58094
58095        * WebCore.base.exp: Removed export of a now-inline function.
58096
58097        * css/CSSParser.cpp:
58098        (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
58099        to get property ID. This could be sped up even more by writing a fast path
58100        to use a local Vector<char> rather than allocating a string.
58101        (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
58102        allocating a string object to hold the number.
58103        (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
58104        DeprecatedString::toFloat.
58105
58106        * dom/Element.h:
58107        (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
58108        an Element*. It's still virtual if you have a Node*.
58109        (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
58110        case work.
58111
58112        * dom/Node.h:
58113        (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
58114        can override it with an inline. This is the same technique we use for
58115        firstChild and lastChild.
58116        (WebCore::Node::virtualHasTagName): This is the private virtual that Element
58117        overrides.
58118
58119        * dom/Text.cpp:
58120        (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
58121        PassRefPtr.
58122
58123        * html/HTMLTokenizer.cpp:
58124        (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
58125        which is more efficient in cases where we know the character is not a newline
58126        and hence we don't have to update the line number.
58127        (WebCore::HTMLTokenizer::parseComment): Ditto.
58128        (WebCore::HTMLTokenizer::parseServer): Ditto.
58129        (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
58130        (WebCore::HTMLTokenizer::parseText): Ditto.
58131        (WebCore::HTMLTokenizer::parseEntity): Ditto.
58132        (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
58133        so there's one less branch taken for non-punctuation characters since this
58134        code path is *so* hot.
58135        (WebCore::HTMLTokenizer::write): More of the same.
58136
58137        * loader/Cache.cpp:
58138        (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
58139
58140        * loader/DocumentLoader.cpp:
58141        (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
58142
58143        * loader/TextResourceDecoder.cpp:
58144        (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
58145        (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
58146        (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
58147        (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
58148
58149        * platform/KURL.cpp:
58150        (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
58151
58152        * platform/SharedBuffer.cpp:
58153        (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
58154
58155        * platform/graphics/BitmapImage.cpp:
58156        (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
58157
58158        * platform/network/FormData.cpp:
58159        (WebCore::FormData::appendData): Use Vector::grow instead of resize.
58160        (WebCore::FormData::flatten): Ditto.
58161
58162        * platform/text/AtomicString.cpp:
58163        (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
58164        for use by AtomicString. Avoids setting fields twice, and also preserves reference
58165        count behavior (which I changed for the other constructors, since they're entirely
58166        private and used only inside the class).
58167        (WebCore::UCharBufferTranslator::translate): Ditto.
58168
58169        * platform/text/Base64.cpp:
58170        (WebCore::base64Encode): Use Vector::grow instead of resize.
58171        (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
58172
58173        * platform/text/PlatformString.h:
58174        (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
58175        made both versions inline.
58176
58177        * platform/text/SegmentedString.h:
58178        (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
58179        where the character is known to be a newline.
58180        (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
58181        the character is known not to be a newline.
58182
58183        * platform/text/String.cpp:
58184        (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
58185        (WebCore::String::insert): Ditto.
58186        (WebCore::String::truncate): Ditto.
58187        (WebCore::String::remove): Ditto.
58188        (WebCore::String::format): Use Vector::grow instead of resize.
58189
58190        * platform/text/StringImpl.cpp:
58191        (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
58192        of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
58193        since they all behave this way now. The only exceptions are the constructors for
58194        AtomicString, which retain the old behavior.
58195        (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
58196        special WithOneRef constructor.
58197        (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
58198        (WebCore::StringImpl::lower): Ditto.
58199        (WebCore::StringImpl::upper): Ditto.
58200        (WebCore::StringImpl::secure): Ditto.
58201        (WebCore::StringImpl::foldCase): Ditto.
58202        (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
58203        instead of resize (since half of the function uses Vector<UChar>).
58204        (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
58205        (WebCore::StringImpl::replace): Ditto.
58206        (WebCore::StringImpl::ascii): Streamlined a bit.
58207        (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
58208        Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
58209        Coded the check for null characters in a slightly more efficient way. Since this
58210        is so hot, didn't call adopt at all, putting the code right in here, including
58211        the call to the StringImpl constructor and adoptRef (for the fast case).
58212        (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
58213        Removed the attempt to resize the buffer at the time we adopt based on measuring
58214        actual use and realizing that it's just a character here or there and not worth
58215        a call to fastRealloc. Changed to use adoptRef since the constructor now starts
58216        with a refCount of 1.
58217        (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
58218        starts with a refCount of 1.
58219        (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
58220        (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
58221        itself is now inline.
58222
58223        * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
58224        putting characters into a buffer before creating an immutable string. Not good
58225        at resizing the way Vector<UChar> is, so only useful for things that rarely need
58226        to be resized. Added a new AdoptBuffer constructor and empty constructor, but
58227        made all constructors private so they can be inlined and only used inside the
58228        StringImpl class. Added two new constructors for AtomicString. Made copy()
58229        no longer inline. Changed the type of the [] operator to unsigned instead of
58230        int and added an assertion. Made the hash functions inline.
58231
58232        * platform/text/TextCodecICU.cpp:
58233        (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
58234
58235        * platform/text/TextCodecLatin1.cpp:
58236        (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
58237        (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
58238
58239        * platform/text/TextCodecUTF16.cpp:
58240        (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
58241
58242        * platform/text/TextCodecUserDefined.cpp:
58243        (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
58244        (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
58245
58246        * platform/text/TextEncoding.cpp:
58247        (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
58248
58249        * platform/text/TextStream.cpp:
58250        (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
58251
58252        * platform/text/mac/TextCodecMac.cpp:
58253        (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
58254
58255        * rendering/AutoTableLayout.cpp:
58256        (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
58257
58258        * rendering/RenderFrameSet.h:
58259        (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
58260        size instead of calling resize on them after allocating empty.
58261
58262        * rendering/RenderListMarker.cpp:
58263        (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
58264
58265        * rendering/RenderStyle.cpp: Removed CursorList::operator==.
58266        * rendering/RenderStyle.h:
58267        (WebCore::CursorList::operator==): Implemented using the Vector ==.
58268        (WebCore::CursorList::operator!=): Ditto.
58269
58270        * rendering/RenderTable.cpp:
58271        (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
58272        (WebCore::RenderTable::appendColumn): Ditto.
58273
58274        * rendering/RenderTableSection.cpp:
58275        (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
58276
58277        * rendering/bidi.cpp:
58278        (WebCore::addMidpoint): Use Vector::grow instead of resize.
58279
58280        * xml/XPathNodeSet.h:
58281        (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
58282
582832008-01-13  Steve Falkenburg  <sfalken@apple.com>
58284
58285        Share common files across projects.
58286        
58287        Unify vsprops files
58288        Debug:          common.vsprops, debug.vsprops
58289        Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
58290        Release:        common.vsprops, release.vsprops
58291        
58292        Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
58293        debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
58294
58295        Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
58296
58297        Reviewed by Adam Roben.
58298
58299        * WebCore.vcproj/PRODUCTVERSION: Removed.
58300        * WebCore.vcproj/QTMovieWin.vcproj:
58301        * WebCore.vcproj/VERSION: Removed.
58302        * WebCore.vcproj/WebCore.vcproj:
58303        * WebCore.vcproj/auto-version.sh: Removed.
58304        * WebCore.vcproj/debug.vsprops: Removed.
58305        * WebCore.vcproj/debug_internal.vsprops: Removed.
58306        * WebCore.vcproj/release.vsprops: Removed.
58307
583082008-01-13  Dan Bernstein  <mitz@apple.com>
58309
58310        Reviewed by Darin Adler.
58311
58312        - fix http://bugs.webkit.org/show_bug.cgi?id=16865
58313          fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
58314
58315        * rendering/RenderBox.cpp:
58316        (WebCore::RenderBox::destroy): Removed the call to
58317        RenderLayer::destroy() from here, because ~RenderLayer() calls
58318        RenderObject() methods.
58319        * rendering/RenderObject.cpp:
58320        (WebCore::RenderObject::destroy): Added the call to
58321        RenderLayer::destroy() here.
58322
583232008-01-13  Eric Seidel  <eric@webkit.org>
58324
58325        Reviewed by darin.
58326
58327        Range.insertNode does not update endContainer endIndex correctly
58328        in the case where it had to split a text node.
58329        http://bugs.webkit.org/show_bug.cgi?id=16765
58330        
58331        Darin pointed out during review that we still don't handle the dynamic
58332        range case (where the dom tree changes not using range methods)
58333        Thus this code will get ripped out when we add that.  The test cases
58334        are still valid and useful however, so I'm landing this as-is.
58335
58336        Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
58337               fast/dom/Range/range-insertNode-splittext.html
58338
58339        * dom/Range.cpp:
58340        (WebCore::Range::insertNode): handle the splitText case correctly.
58341
583422008-01-13  Darin Adler  <darin@apple.com>
58343
58344        Reviewed by Eric.
58345
58346        - http://bugs.webkit.org/show_bug.cgi?id=16861
58347          get rid of unnecessary string copying
58348
58349        * dom/Document.cpp:
58350        (WebCore::Document::setDomain): Removed unneeded call to copy.
58351        (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
58352        unneeded length argument to substring, which stops at the end of the string
58353        if you don't specify a length.
58354        (WebCore::Document::createAttributeNS): Replaced code that was calling copy
58355        with more-efficient code using the substring function.
58356        * dom/StyledElement.cpp:
58357        (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
58358        * editing/InsertIntoTextNodeCommand.cpp:
58359        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
58360        unneeded copy and also initialized text instead of assigning to it.
58361        (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
58362        (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
58363
58364        * editing/htmlediting.cpp:
58365        (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
58366        This one was particularly bad since we just turned around and copied it again!
58367
58368        * editing/markup.cpp:
58369        (WebCore::stringValueForRange): Removed unneeded call to copy.
58370
58371        * loader/icon/IconDatabase.cpp:
58372        (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
58373        get the path from the database object. This was the only reason the database
58374        had to keep its path around.
58375
58376        * platform/sql/SQLiteDatabase.cpp:
58377        (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
58378        convert the string to a null-terminated one.
58379        (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
58380        * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
58381        functio member. Also tweaked formatting and comments a bit. Removed the unused
58382        escapeSQLString function.
58383
58384        * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
58385
583862008-01-13  Oliver Hunt  <oliver@apple.com>
58387
58388        Attempt to fix QT build
58389
58390        * html/CanvasRenderingContext2D.cpp:
58391        (WebCore::CanvasRenderingContext2D::willDraw):
58392
583932008-01-13  Oliver Hunt  <oliver@apple.com>
58394
58395        Reviewed by Mark Rowe.
58396
58397        Avoid repainting the entire canvas element when possible.
58398
58399        http://bugs.webkit.org/show_bug.cgi?id=16859
58400
58401        We now only register the dirty regions of a canvas for repainting, rather
58402        than the entire element (though repaint coalescing may choose to combine
58403        these regions).  This doesn't cause a measurable regression in the worst
58404        case (clearing the canvas repeatedly), but is a moderate-large win if only
58405        a minor update has occurred.  If there is any CSS scaling applied to the
58406        canvas almost any update short of clearing the entire element is substantially
58407        faster.
58408
58409        * html/CanvasRenderingContext2D.cpp:
58410        (WebCore::CanvasRenderingContext2D::willDraw):
58411        * html/HTMLCanvasElement.cpp:
58412        (WebCore::HTMLCanvasElement::willDraw):
58413
584142008-01-13  Michael Goddard  <michael.goddard@trolltech.com>
58415
58416        Reviewed by Anders Carlsson.
58417
58418        Move RuntimeObjectImp creations into Instance.
58419        Make the ctor protected, and Instance a friend class, so
58420        that all creation of RuntimeObjectImps goes through
58421        one place.
58422
58423        * bindings/js/kjs_dom.cpp:
58424        (WebCore::getRuntimeObject):
58425
584262008-01-12  Rodney Dawes  <dobey@wayofthemonkey.com>
58427
58428        Gtk debug build fix.  Reviewed by Mark Rowe.
58429
58430        Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
58431
58432        * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
58433        * platform/Logging.cpp:
58434        * platform/Logging.h:
58435        * plugins/PluginDebug.h:
58436
584372008-01-12  Adam Barth  <hk9565@gmail.com>
58438
58439        Reviewed by Maciej (and also tweaked a little bit).
58440
58441        - more thorough fix for some crashing tests
58442          http://bugs.webkit.org/show_bug.cgi?id=16782
58443
58444        * loader/FrameLoader.cpp:
58445        (WebCore::FrameLoader::urlSelected):
58446        (WebCore::FrameLoader::submitForm):
58447        (WebCore::FrameLoader::executeIfJavaScriptURL):
58448        * loader/FrameLoader.h:
58449
584502008-01-12  Maciej Stachowiak  <mjs@apple.com>
58451
58452        Reviewed by Sam.
58453
58454        - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
58455        
58456        * platform/SecurityOrigin.cpp:
58457        (WebCore::isDefaultPortForProtocol):
58458        (WebCore::SecurityOrigin::SecurityOrigin):
58459
584602008-01-11  Geoffrey Garen  <ggaren@apple.com>
58461
58462        Reviewed by Oliver Hunt.
58463        
58464        Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
58465        variable access (16644)
58466        
58467        Removed the ReadOnly bit from some properties, to match Firefox. Also
58468        removed status-related setters, to allow using their names as variable
58469        names.
58470        
58471        * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
58472        are one-way across domain boundaries, to match Firefox.
58473
58474        * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
58475
58476        * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
58477        we don't know that JSObject is our base class.
58478
58479        * page/DOMWindow.idl: Replaced lots of readonly declarations with
58480        [Replaceable] declarations.
58481
58482        * page/DOMWindow.h: Removed interfaces for setting status text via the
58483        DOM. (They were getting in the way of, e.g., "var status"
58484        declarations.) By default, IE 7 and FF disable these interfaces in order
58485        to defend against phishing attacks that try to spoof domain names in the
58486        statusbar.
58487        * page/DOMWindow.cpp:
58488
584892008-01-11  Anyang Ren  <anyang.ren@gmail.com>
58490
58491        Reviewed by Darin Adler.
58492
58493        http://bugs.webkit.org/show_bug.cgi?id=15960
58494        The view source mode should skip an empty attribute value only if
58495        the attribute name is not followed by an equal sign (=).
58496
58497        Test: fast/frames/viewsource-empty-attribute-value.html
58498
58499        * html/HTMLViewSourceDocument.cpp:
58500        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
58501
585022008-01-11  Sylvain Pasche  <sylvain.pasche@gmail.com>
58503
58504        Reviewed by Alp Toker.
58505
58506        [Gtk] Uneven glyph spacing with subpixel antialiasing
58507        http://bugs.webkit.org/show_bug.cgi?id=16715
58508
58509        Use cairo font options from the default GDK screen when creating a
58510        scaled font.
58511
58512        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
58513        (WebCore::FontPlatformData::FontPlatformData):
58514
585152008-01-11  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
58516
58517        Reviewed by Maciej.
58518
58519        Added a new forwarding header, because Activation.h has been separated
58520        from function.h
58521
58522        * ForwardingHeaders/kjs/Activation.h: Added.
58523
585242008-01-11  Luca Bruno  <lethalman88@gmail.com>
58525
58526        Reviewed by Alp Toker.
58527
58528        http://bugs.webkit.org/show_bug.cgi?id=16729
58529        [cURL] Allow multiple files for upload
58530
58531        * platform/network/ResourceHandleInternal.h:
58532        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
58533        * platform/network/curl/ResourceHandleCurl.cpp:
58534        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
58535        * platform/network/curl/ResourceHandleManager.cpp:
58536        (WebCore::readCallback): added
58537        (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
58538        (WebCore::ResourceHandleManager::startJob):
58539        (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
58540        * platform/network/curl/ResourceHandleManager.h:
58541
585422008-01-11  Christian Dywan  <christian@imendio.com>
58543
58544        Reviewed by Alp Toker.
58545
58546        [Gtk] Menu items need underscores
58547        http://bugs.webkit.org/show_bug.cgi?id=16817
58548
58549        Add underscores to appropriate menu labels.
58550        Also adjust strings slightly.
58551
58552        * platform/gtk/ContextMenuItemGtk.cpp:
58553        (WebCore::ContextMenuItem::createNativeMenuItem):
58554        * platform/gtk/LocalizedStringsGtk.cpp:
58555        (WebCore::searchableIndexIntroduction):
58556        (WebCore::fileButtonChooseFileLabel):
58557        (WebCore::fileButtonNoFileSelectedLabel):
58558        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
58559        (WebCore::contextMenuItemTagDownloadLinkToDisk):
58560        (WebCore::contextMenuItemTagCopyLinkToClipboard):
58561        (WebCore::contextMenuItemTagOpenImageInNewWindow):
58562        (WebCore::contextMenuItemTagDownloadImageToDisk):
58563        (WebCore::contextMenuItemTagCopyImageToClipboard):
58564        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
58565        (WebCore::contextMenuItemTagCopy):
58566        (WebCore::contextMenuItemTagGoBack):
58567        (WebCore::contextMenuItemTagGoForward):
58568        (WebCore::contextMenuItemTagStop):
58569        (WebCore::contextMenuItemTagReload):
58570        (WebCore::contextMenuItemTagCut):
58571        (WebCore::contextMenuItemTagPaste):
58572        (WebCore::contextMenuItemTagIgnoreSpelling):
58573        (WebCore::contextMenuItemTagLearnSpelling):
58574        (WebCore::contextMenuItemTagSearchWeb):
58575        (WebCore::contextMenuItemTagLookUpInDictionary):
58576        (WebCore::contextMenuItemTagOpenLink):
58577        (WebCore::contextMenuItemTagIgnoreGrammar):
58578        (WebCore::contextMenuItemTagSpellingMenu):
58579        (WebCore::contextMenuItemTagShowSpellingPanel):
58580        (WebCore::contextMenuItemTagCheckSpelling):
58581        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
58582        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
58583        (WebCore::contextMenuItemTagFontMenu):
58584        (WebCore::contextMenuItemTagBold):
58585        (WebCore::contextMenuItemTagItalic):
58586        (WebCore::contextMenuItemTagUnderline):
58587        (WebCore::contextMenuItemTagOutline):
58588        (WebCore::contextMenuItemTagWritingDirectionMenu):
58589        (WebCore::contextMenuItemTagDefaultDirection):
58590        (WebCore::contextMenuItemTagLeftToRight):
58591        (WebCore::contextMenuItemTagRightToLeft):
58592        (WebCore::contextMenuItemTagInspectElement):
58593        (WebCore::searchMenuClearRecentSearchesText):
58594
585952008-01-11  Ada Chan  <adachan@apple.com>
58596
58597        <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
58598        Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since 
58599        provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
58600        when a link to download a file has been clicked.
58601
58602        Reviewed by John and Anders.
58603
58604        * loader/FrameLoader.cpp:
58605        (WebCore::FrameLoader::provisionalLoadStarted):
58606        (WebCore::FrameLoader::commitProvisionalLoad):
58607
586082008-01-11  Jon Honeycutt  <jhoneycutt@apple.com>
58609
58610        Reviewed by Anders.
58611
58612        <rdar://problem/5683529> plugins/embed-inside-object.html is timing
58613        out/failing
58614
58615        Revert to using FrameTree::find() so that frame aliases like "_self" and
58616        "_current" are interpreted properly
58617
58618        * plugins/win/PluginViewWin.cpp:
58619        (WebCore::PluginViewWin::performRequest):
58620        (WebCore::PluginViewWin::load):
58621
586222008-01-11  Alp Toker  <alp@atoker.com>
58623
58624        Reviewed by Dave Hyatt and Mark Rowe.
58625
58626        http://bugs.webkit.org/show_bug.cgi?id=16089
58627        [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
58628
58629        Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
58630        port.
58631
58632        * GNUmakefile.am:
58633        * WebCore.pro:
58634        * loader/CachedFont.cpp:
58635        (WebCore::CachedFont::~CachedFont):
58636        (WebCore::CachedFont::ensureCustomFontData):
58637        (WebCore::CachedFont::platformDataFromCustomData):
58638        (WebCore::CachedFont::allReferencesRemoved):
58639        * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
58640        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
58641        (WebCore::FontCustomPlatformData::fontPlatformData):
58642        (WebCore::releaseData):
58643        (WebCore::createFontCustomPlatformData):
58644        * platform/graphics/gtk/FontCustomPlatformData.h: Added.
58645        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
58646        * platform/graphics/gtk/FontPlatformData.h:
58647        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
58648        (WebCore::FontPlatformData::FontPlatformData):
58649        (WebCore::FontPlatformData::init):
58650        (WebCore::FontPlatformData::isFixedPitch):
58651        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
58652        (WebCore::SimpleFontData::platformDestroy):
58653
586542008-01-11  Adam Roben  <aroben@apple.com>
58655
58656        Remove FrameLoader::committedFirstRealDocumentLoad
58657        
58658        This method no longer has any callers.
58659
58660        Reviewed by Hyatt.
58661
58662        * loader/FrameLoader.h:
58663
586642008-01-11  Antti Koivisto  <antti@apple.com>
58665
58666        Add a standalone version of the blog post video player as a manual test.
58667
58668        * manual-tests/resources/touch-poster.png: Added.
58669        * manual-tests/video-player.html: Added.
58670
586712008-01-10  Antti Koivisto  <antti@apple.com>
58672
58673        Reviewed by Adam.
58674
58675        Fix <rdar://problem/5682767>
58676        Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
58677        
58678        Take care that GWorld is created and deletes when needed as size or visibility changes.
58679
58680        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
58681        (WebCore::MediaPlayerPrivate::load):
58682        * platform/graphics/win/QTMovieWin.cpp:
58683        (QTMovieWinPrivate::QTMovieWinPrivate):
58684        (QTMovieWinPrivate::updateGWorld):
58685        (QTMovieWinPrivate::setSize):
58686        (QTMovieWin::setVisible):
58687        (QTMovieWin::initializeQuickTime):
58688
586892008-01-11  David Hyatt  <hyatt@apple.com>
58690
58691        Fix for bug 11188, setting hspace on a table overrides align=center.  Fix align=center to be done using
58692        mapped attributes so that it does not get overridden by hspace all the time.
58693
58694        Reviewed by mitz
58695
58696        Added fast/table/table-hspace-align-center.html
58697
58698        * css/html4.css:
58699        * html/HTMLTableElement.cpp:
58700        (WebCore::HTMLTableElement::parseMappedAttribute):
58701
587022008-01-11  Mark Rowe  <mrowe@apple.com>
58703
58704        Qt build fix.
58705
58706        * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
58707
587082008-01-11  Mark Rowe  <mrowe@apple.com>
58709
58710        Qt build fix.  Add link stubs for the new FileSystem.h functions introduced
58711        in r29399.
58712
58713        * platform/qt/TemporaryLinkStubs.cpp:
58714        (WebCore::openTemporaryFile):
58715
587162008-01-11  Rodney Dawes  <dobey@wayofthemonkey.com>
58717
58718        Reviewed by Anders Carlsson.
58719
58720        Bug 16779: Make the PluginStream implementation be shared across platforms
58721        http://bugs.webkit.org/show_bug.cgi?id=16779
58722
58723        Add the new shared PluginStream files to the GTK+ and Win32 builds.
58724        Add PluginStreamClient class for the streamDidFinishLoading method.
58725        Add open/close/write methods to FileSystem for temporary file handling.
58726        Add PluginDebug.h and npfunctions.h for shared PluginStream.
58727        Add shared PluginStream.
58728        Remove PluginStreamWin.
58729        Update PluginViewWin to use shared PluginStream and PluginStreamClass.
58730
58731        * GNUmakefile.am:
58732        * WebCore.pro:
58733        * WebCore.vcproj/WebCore.vcproj:
58734        * platform/FileSystem.h:
58735        * platform/gtk/FileSystemGtk.cpp:
58736        * platform/win/FileSystemWin.cpp:
58737        * plugins/PluginDebug.h:
58738        * plugins/PluginStream.cpp:
58739        * plugins/PluginStream.h:
58740        * plugins/npfunctions.h:
58741        * plugins/win/PluginDebug: Moved to PluginDebug.h.
58742        * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
58743        * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
58744        * plugins/win/PluginViewWin.cpp:
58745        * plugins/win/PluginViewWin.h:
58746        * plugins/win/npfunctions.h: Moved to npfunctions.h
58747
587482008-01-11  Geoffrey Garen  <ggaren@apple.com>
58749
58750        Try to fix Mac build: Edit the right .exp file.
58751
58752        * WebCore.base.exp:
58753
587542008-01-11  Geoffrey Garen  <ggaren@apple.com>
58755
58756        Try to fix Qt build: don't use pthreads if they're not available.
58757
58758        * bindings/js/GCController.cpp:
58759
587602008-01-10  Geoffrey Garen  <ggaren@apple.com>
58761
58762        Reviewed by John Sullivan.
58763
58764        Fixed some world leak reports:
58765        * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
58766        Interpreter after running cvs-base suite
58767
58768        * <rdar://problem/5669423> PLT complains about world leak if browser
58769        window is open when PLT starts
58770        
58771        These were both bugs in the reporting mechanism, so I took the
58772        opportunity to do some house cleaning there.
58773
58774        Stupid class, I kill you:
58775        * bridge/JavaScriptStatistics.cpp: Removed.
58776        * bridge/JavaScriptStatistics.h: Removed.
58777
58778        * bindings/js/GCController.h: Adopted the only useful features of
58779        JavaScriptStatistics, since they were GC-related.
58780        * bindings/js/GCController.cpp:
58781
587822008-01-10  Eric Seidel  <eric@webkit.org>
58783
58784        Reviewed by Adele.
58785
58786        No functional changes, only code cleanup.
58787
58788        * css/MediaQueryEvaluator.cpp:
58789        (WebCore::compareValue): renamed from cmpvalue
58790        (WebCore::colorMediaFeatureEval):
58791        (WebCore::device_aspect_ratioMediaFeatureEval):
58792        (WebCore::device_pixel_ratioMediaFeatureEval):
58793        (WebCore::gridMediaFeatureEval):
58794        (WebCore::device_heightMediaFeatureEval):
58795        (WebCore::device_widthMediaFeatureEval):
58796        (WebCore::heightMediaFeatureEval):
58797        (WebCore::widthMediaFeatureEval):
58798
587992008-01-10  Dan Bernstein  <mitz@apple.com>
58800
58801        Reviewed by Anders Carlsson.
58802
58803        - fix a crash when calling alert() from a repeating timer
58804
58805        On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
58806        alert() and other similar functions, which deletes the actual
58807        DOMWindowTimer objects and replaces them with new objects when resuming.
58808
58809        * bindings/js/kjs_window.cpp:
58810        (KJS::Window::timerFired): Re-fetch the timer object from the map in
58811        case it has been deleted or replaced.
58812
588132008-01-10  Maciej Stachowiak  <mjs@apple.com>
58814
58815        Reviewed by Sam.
58816
58817        - remove SecurityOriginData and fold its functionality into SecurityOrigin
58818
58819        * GNUmakefile.am:
58820        * WebCore.base.exp:
58821        * WebCore.pro:
58822        * WebCore.vcproj/WebCore.vcproj:
58823        * WebCore.xcodeproj/project.pbxproj:
58824        * WebCoreSources.bkl:
58825        * bindings/js/JSDOMWindowCustom.cpp:
58826        (WebCore::JSDOMWindow::postMessage):
58827        * dom/Document.cpp:
58828        (WebCore::Document::domain):
58829        * page/Chrome.cpp:
58830        (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
58831        (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
58832        * page/Chrome.h:
58833        * page/ChromeClient.h:
58834        * platform/SecurityOrigin.cpp:
58835        (WebCore::SecurityOrigin::copy):
58836        (WebCore::SecurityOrigin::createFromIdentifier):
58837        (WebCore::SecurityOrigin::stringIdentifier):
58838        * platform/SecurityOrigin.h:
58839        (WebCore::SecurityOrigin::host):
58840        (WebCore::SecurityOrigin::protocol):
58841        (WebCore::SecurityOrigin::port):
58842        (WebCore::SecurityOrigin::equal):
58843        * platform/SecurityOriginData.cpp: Removed.
58844        * platform/SecurityOriginData.h: Removed.
58845        * storage/Database.cpp:
58846        (WebCore::Database::openDatabase):
58847        (WebCore::Database::Database):
58848        (WebCore::Database::securityOriginCopy):
58849        * storage/Database.h:
58850        * storage/DatabaseTracker.cpp:
58851        (WebCore::SecurityOriginHash::hash):
58852        (WebCore::SecurityOriginHash::equal):
58853        (WebCore::SecurityOriginTraits::deletedValue):
58854        (WebCore::SecurityOriginTraits::emptyValue):
58855        (WebCore::DatabaseTracker::canEstablishDatabase):
58856        (WebCore::DatabaseTracker::hasEntryForOrigin):
58857        (WebCore::DatabaseTracker::hasEntryForDatabase):
58858        (WebCore::DatabaseTracker::establishEntryForOrigin):
58859        (WebCore::DatabaseTracker::fullPathForDatabase):
58860        (WebCore::DatabaseTracker::populateOrigins):
58861        (WebCore::DatabaseTracker::origins):
58862        (WebCore::DatabaseTracker::databaseNamesForOrigin):
58863        (WebCore::DatabaseTracker::detailsForNameAndOrigin):
58864        (WebCore::DatabaseTracker::setDatabaseDetails):
58865        (WebCore::DatabaseTracker::usageForDatabase):
58866        (WebCore::DatabaseTracker::usageForOrigin):
58867        (WebCore::DatabaseTracker::quotaForOrigin):
58868        (WebCore::DatabaseTracker::setQuota):
58869        (WebCore::DatabaseTracker::addDatabase):
58870        (WebCore::DatabaseTracker::deleteAllDatabases):
58871        (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
58872        (WebCore::DatabaseTracker::deleteDatabase):
58873        (WebCore::DatabaseTracker::deleteDatabaseFile):
58874        (WebCore::notificationQueue):
58875        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
58876        (WebCore::DatabaseTracker::notifyDatabasesChanged):
58877        * storage/DatabaseTracker.h:
58878        * storage/DatabaseTrackerClient.h:
58879        * storage/SQLTransaction.cpp:
58880        (WebCore::SQLTransaction::openTransactionAndPreflight):
58881        (WebCore::SQLTransaction::runStatements):
58882        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
58883        (WebCore::SQLTransaction::postflightAndCommit):
58884        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
58885        * svg/graphics/SVGImageEmptyClients.h:
58886        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
58887        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
58888
588892008-01-10  Anders Carlsson  <andersca@apple.com>
58890
58891        Reviewed by Sam.
58892
58893        Use the correct frame loader load method. Using the old method would not cause a 
58894        new window to be open if the frame navigation was not allowed.
58895        
58896        * plugins/win/PluginViewWin.cpp:
58897        (WebCore::PluginViewWin::performRequest):
58898
588992008-01-10  Alp Toker  <alp@atoker.com>
58900
58901        SVG font build fix for GTK+/autotools.
58902
58903        * GNUmakefile.am:
58904
589052008-01-10  Adam Barth  <hk9565@gmail.com>
58906
58907        Reviewed by Sam Weinig and Anders Carlsson.
58908
58909        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
58910        <rdar://problem/5657355>
58911
58912        This patch makes two changes:
58913
58914        1) Java calls FrameLoader::load in a slightly different way than
58915           JavaScript, which previously let a malicious web site bypass the
58916           shouldAllowNavigation check.  This patch adds that check to that
58917           code path.
58918
58919        2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
58920           findFrameForNavigation, which calls shouldAllowNavigation.  This
58921           treats disallowed frame navigations as if the named frame did not
58922           exist, resulting in a popup window when appropriate.
58923
58924        Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
58925               http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
58926
58927        * WebCore.base.exp:
58928        * bindings/js/kjs_window.cpp:
58929        (KJS::WindowProtoFuncOpen::callAsFunction):
58930        * loader/FrameLoader.cpp:
58931        (WebCore::FrameLoader::createWindow):
58932        (WebCore::FrameLoader::load):
58933        (WebCore::FrameLoader::post):
58934        (WebCore::FrameLoader::findFrameForNavigation):
58935        * loader/FrameLoader.h:
58936
589372008-01-10  John Sullivan  <sullivan@apple.com>
58938
58939        Written by Hyatt, reviewed by me
58940        
58941        - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 
58942          a <video> element that uses controls attribute
58943
58944        * rendering/MediaControlElements.cpp:
58945        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
58946        force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
58947        up this architecture, but this one-line fix will prevent the crash in the meantime
58948
589492008-01-10  Ada Chan  <adachan@apple.com>
58950
58951        Fix fast/forms/input-radio-checked-tab.html
58952        Meta key is not the same as Alt key on windows.
58953
58954        Reviewed by Darin.
58955
58956        * platform/win/KeyEventWin.cpp:
58957        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
58958
589592008-01-10  Anders Carlsson  <andersca@apple.com>
58960
58961        Reviewed by Jon.
58962
58963        Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
58964        
58965        * plugins/win/PluginViewWin.cpp:
58966        (WebCore::PluginViewWin::performRequest):
58967        Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
58968        
58969        (WebCore::PluginViewWin::requestTimerFired):
58970        Don't leak the plugin requests.
58971        
58972        (WebCore::PluginViewWin::load):
58973
589742008-01-10  Anders Carlsson  <andersca@apple.com>
58975
58976        Reviewed by John Sullivan.
58977
58978        <rdar://problem/5455889>
58979        REGRESSION: BumperCar crashes when attempting to load a long invalid URL
58980        
58981        Make sure to call FrameLoader::receivedMainResourceError before calling
58982        FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
58983        clearing out the provisional document loader so that we won't call the didFail
58984        ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
58985        didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
58986        
58987        * loader/MainResourceLoader.cpp:
58988        (WebCore::MainResourceLoader::receivedError):
58989
589902008-01-10  Antti Koivisto  <antti@apple.com>
58991
58992        Reviewed by Adele.
58993
58994        Fix <rdar://problem/5658048>
58995        After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
58996        
58997        - Move to paused state if the playback had ended and the controller is used to seek to earlier time
58998        - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
58999
59000        * html/HTMLMediaElement.cpp:
59001        (WebCore::HTMLMediaElement::HTMLMediaElement):
59002        (WebCore::HTMLMediaElement::updateMediaPlayer):
59003        (WebCore::HTMLMediaElement::setPausedInternal):
59004        * html/HTMLMediaElement.h:
59005        * rendering/MediaControlElements.cpp:
59006        (WebCore::MediaControlTimelineElement::defaultEventHandler):
59007
590082008-01-10  Alexey Proskuryakov  <ap@webkit.org>
59009
59010        Reviewed by Adam Roben.
59011
59012        <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
59013
59014        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
59015        requests, as CFNetwork doesn't perform extension to MIME type mapping then.
59016
590172008-01-10  Adam Roben  <aroben@apple.com>
59018
59019        Fixes to allow multiple FrameViews on Windows
59020
59021        Reviewed by Hyatt.
59022
59023        * page/FrameView.cpp:
59024        (WebCore::FrameView::FrameView): Added a new constructor that takes an
59025        IntSize to specify the FrameView's initial size.
59026        (WebCore::FrameView::scheduleRelayout): Added an assertion that our
59027        Document is not in the page cache.
59028        * page/FrameView.h:
59029        * platform/gtk/WidgetGtk.cpp:
59030        (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
59031        * platform/qt/WidgetQt.cpp:
59032        (WebCore::Widget::~Widget): Ditto.
59033        * rendering/RenderWidget.cpp:
59034        (WebCore::RenderWidget::setWidget): Make sure to remove any existing
59035        Widget from the Widget hierarchy before deleting it. One instance
59036        where this is needed is when setWidget is called during FrameView
59037        creation on Windows.
59038
590392008-01-10  Alp Toker  <alp@atoker.com>
59040
59041        Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
59042
59043        * svg/SVGFontFaceElement.cpp:
59044
590452008-01-10  Justin Garcia  <justin.garcia@apple.com>
59046
59047        Reviewed by Alice Liu.
59048
59049        <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
59050        <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
59051        
59052        Make sure we have an updated layout before we perform any editing work.
59053
59054        * editing/EditCommand.cpp:
59055        (WebCore::EditCommand::apply):
59056        (WebCore::EditCommand::unapply):
59057        (WebCore::EditCommand::reapply):
59058
590592008-01-10  Luca Bruno  <lethalman88@gmail.com>
59060
59061        Reviewed by Alp Toker.
59062
59063        Back out r29206 which was causing regressions in curl http job
59064        cancellation.
59065
59066        * platform/network/curl/ResourceHandleManager.cpp
59067        (ResourceHandleManager::cancel): 
59068
590692008-01-10  Kevin McCullough  <kmccullough@apple.com>
59070
59071        Reviewed by Darin, Sam, and Adam.
59072
59073        - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
59074        - link in gmail message displays JavaScript alert falsely complaining
59075        about pop-up blocking
59076        - When trying to open a new window, we now see if the user gesture 
59077        occurred in the global dynamic object instead of the frame since that is
59078        the only place an event can occur. 
59079
59080        * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
59081        of the frame.
59082        (KJS::allowPopUp):
59083        (KJS::showModalDialog):
59084        (KJS::WindowProtoFuncOpen::callAsFunction):
59085
590862008-01-10  David Hyatt  <hyatt@apple.com>
59087
59088        Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
59089
59090        Reviewed by adele
59091
59092        Added fast/css/visibility-hit-test.html test case.
59093
59094        * rendering/RenderBox.cpp:
59095        (WebCore::RenderBox::nodeAtPoint):
59096
590972008-01-10  Lars Knoll  <lars@trolltech.com>
59098
59099        Reviewed by Simon.
59100
59101        rename QWebPageHistory to QWebHistory.
59102
59103        * WebCore.pro:
59104
591052008-01-10  Lars Knoll  <lars@trolltech.com>
59106
59107        Reviewed by Simon.
59108
59109        fix the drawing errors that where introduced due to refactoring.
59110
59111        Correctly clip to the rectangle we want to draw in ScrollView::paint().
59112
59113        * platform/qt/ScrollViewQt.cpp:
59114        (WebCore::ScrollView::paint):
59115
591162008-01-10  Simon Hausmann  <hausmann@webkit.org>
59117
59118        Reviewed by Lars.
59119
59120        Temporarily disable gzip decompression in qhttp due to a bug.
59121
59122        * platform/network/qt/QNetworkReplyHandler.cpp:
59123        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59124
591252008-01-10  Simon Hausmann  <hausmann@webkit.org>
59126
59127        Reviewed by Lars.
59128
59129        http://bugs.webkit.org/show_bug.cgi?id=16588
59130
59131        Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
59132        This allows implementing the synchronous loading correctly for the Qt port where the networking
59133        backend is bound to the page.
59134
59135        * loader/FrameLoader.cpp:
59136        (WebCore::FrameLoader::loadResourceSynchronously):
59137        * platform/network/ResourceHandle.h:
59138        * platform/network/cf/ResourceHandleCFNet.cpp:
59139        * platform/network/curl/ResourceHandleCurl.cpp:
59140        * platform/network/mac/ResourceHandleMac.mm:
59141        * platform/network/qt/ResourceHandleQt.cpp:
59142        (WebCore::ResourceHandle::loadResourceSynchronously):
59143
591442008-01-10  Kevin Ollivier  <kevino@theolliviers.com>
59145
59146        wx build fix for changes in r29328
59147
59148        * WebCoreSources.bkl:
59149
591502008-01-09  Maciej Stachowiak  <mjs@apple.com>
59151
59152        Reviewed by Sam.
59153
59154        - refactor SecurityOrigin in preparation for merging with SecurityOriginData
59155
59156        * platform/SecurityOrigin.cpp:
59157        (WebCore::SecurityOrigin::SecurityOrigin):
59158        (WebCore::SecurityOrigin::create):
59159        (WebCore::SecurityOrigin::createForFrame):
59160        * platform/SecurityOrigin.h:
59161
591622008-01-09  Ada Chan  <adachan@apple.com>
59163
59164        Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
59165
59166        Reviewed by Darin.
59167
59168        Test: fast/forms/tabs-with-modifiers.html
59169
59170        * page/EventHandler.cpp:
59171        (WebCore::EventHandler::defaultKeyboardEventHandler):
59172        (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.  
59173        Clean up the code a bit.
59174        * page/EventHandler.h:
59175        * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent.  It was
59176        only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
59177        no longer needs it.
59178        * page/FocusController.h:
59179
591802008-01-09  Antti Koivisto  <antti@apple.com>
59181
59182        Reviewed by Mitz.
59183
59184        Fix http://bugs.webkit.org/show_bug.cgi?id=16376
59185        <rdar://problem/5665206>
59186        <video> element fails to play frames when navigating back to page (16376)
59187        
59188        Don't make MediaPlayer visible when it is actually in page cache.
59189
59190        * rendering/RenderVideo.cpp:
59191        (WebCore::RenderVideo::updatePlayer):
59192
591932008-01-09  Anders Carlsson  <andersca@apple.com>
59194
59195        Reviewed by Darin.
59196
59197        <rdar://problem/5532361> 
59198        CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
59199        
59200        Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
59201        
59202        * page/Frame.cpp:
59203        (WebCore::Frame::pageDestroyed):
59204
592052008-01-09  John Sullivan  <sullivan@apple.com>
59206
59207        Reviewed by Adam Roben and Anders Carlsson
59208        
59209        - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 
59210          missing-but-expected Reload item
59211
59212        * platform/ContextMenu.cpp:
59213        (WebCore::ContextMenu::populate):
59214        use isLoadingInAPISense when deciding whether to include Stop or Reload in context
59215        menu, to match the WebKit API
59216
592172008-01-09  Mark Rowe  <mrowe@apple.com>
59218
59219        Fix Windows debug build for opensource developers.
59220
59221        * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
59222
592232007-10-01  Allan Sandfeld Jensen  <sandfeld@kde.org>
59224
59225        Reworked by Eric, Reviewed by Hyatt.
59226
59227        - fix http://bugs.webkit.org/show_bug.cgi?id=9454
59228        Add support for :lang inheritance and xml:lang support.
59229
59230        Tests: fast/selectors/lang-inheritance.html
59231               fast/selectors/lang-inheritance2.html
59232               fast/selectors/lang-vs-xml-lang.html
59233               fast/selectors/lang-vs-xml-lang-xhtml.xhtml
59234
59235        * css/CSSStyleSelector.cpp:
59236        (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
59237        different LANG-attribute.
59238        (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
59239        for all the elements parents and the content-language of the document.
59240        * dom/Document.cpp:
59241        (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
59242        * dom/Document.h:
59243        (WebCore::Document::contentLanguage):
59244        (WebCore::Document::setContentLanguage):
59245
592462008-01-08  Timothy Hatcher  <timothy@apple.com>
59247
59248        Reviewed by Brady.
59249
59250        Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
59251        http://bugs.webkit.org/show_bug.cgi?id=16678
59252
59253        Add a NULL check for controller before calling JSObjectSetPrivate.
59254
59255        * page/InspectorController.cpp:
59256        (WebCore::InspectorController::~InspectorController):
59257
592582008-01-08  Xan Lopez  <xan@gnome.org>
59259
59260        Reviewed by Alp Toker.
59261
59262        http://bugs.webkit.org/show_bug.cgi?id=15610
59263        [GTK] Text rendering using Pango
59264
59265        Use Pango to render Complex path text.
59266
59267        * platform/graphics/gtk/FontGtk.cpp:
59268        (WebCore::utf16_to_utf8):
59269        (WebCore::convertUniCharToUTF8):
59270        (WebCore::setPangoAttributes):
59271        (WebCore::Font::drawGlyphs):
59272        (WebCore::Font::drawComplexText):
59273        (WebCore::Font::floatWidthForComplexText):
59274        (WebCore::Font::offsetForPositionForComplexText):
59275
592762008-01-08  Timothy Hatcher  <timothy@apple.com>
59277
59278        Reviewed by Darin Adler.
59279
59280        <rdar://problem/5665860> With the web inspector displayed, a crash occurs
59281        at WebCore::Frame::document() when navigating back to previous page
59282
59283        This fixes the crash, but the inspector was totally broken with back/forward.
59284        So this also fixes back/forward navigation so the right main resource shows
59285        up in the inspector.
59286
59287        * page/InspectorController.cpp:
59288        (WebCore::addSourceToFrame): Add some null checks for the frame when
59289        getting the textEncoding. This was the crash.
59290        (WebCore::InspectorController::addScriptResource): Create a script object
59291        only if needed, and always add it by calling addResource.
59292        (WebCore::InspectorController::didCommitLoad): Check if the loader is 
59293        loading from the page cache, and clear m_mainResource. If the load is
59294        normal, then call addAndUpdateScriptResource with the main resource. 
59295        (WebCore::InspectorController::identifierForInitialRequest): If the load
59296        is from the page cache and the resource is the main resource call
59297        addAndUpdateScriptResource since didCommitLoad did not do it.
59298
592992008-01-08  Alp Toker  <alp@atoker.com>
59300
59301        Back out VIDEO by default in the GTK+ qmake build. The build bot
59302        doesn't have the necessary libraries installed.
59303
59304        * WebCore.pro:
59305
593062008-01-08  Alp Toker  <alp@atoker.com>
59307
59308        Win build fix for breakage introduced in r29328.
59309
59310        * WebCore.vcproj/WebCore.vcproj:
59311
593122008-01-08  Alp Toker  <alp@atoker.com>
59313
59314        Rubber-stamped by Mark Rowe.
59315
59316        Enable VIDEO by default in the GTK+ qmake build.
59317
59318        * WebCore.pro:
59319
593202008-01-08  Alp Toker  <alp@atoker.com>
59321
59322        GTK+ VIDEO build fix for breakage introduced in r29328.
59323
59324        Issue noticed by Ori_B.
59325
59326        * GNUmakefile.am:
59327        * WebCore.pro:
59328
593292008-01-08  Antti Koivisto  <antti@apple.com>
59330
59331        Reviewed by Darin.
59332        
59333        HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 
59334        bit strange.
59335        
59336        Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
59337
59338        Test: media/constructors.html
59339
59340        * WebCore.xcodeproj/project.pbxproj:
59341        * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
59342        (WebCore::JSAudioConstructor::JSAudioConstructor):
59343        (WebCore::JSAudioConstructor::implementsConstruct):
59344        (WebCore::JSAudioConstructor::construct):
59345        * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
59346        * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
59347        * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
59348        * bindings/js/kjs_window.cpp:
59349        (KJS::Window::getValueProperty):
59350        * html/HTMLAudioElement.idl:
59351
593522008-01-08  Anders Carlsson  <andersca@apple.com>
59353
59354        Reviewed by Mitz.
59355
59356        Don't add the applet widget to the view, that's done later by RenderApplet.
59357            
59358        * loader/FrameLoader.cpp:
59359        (WebCore::FrameLoader::createJavaAppletWidget):
59360
593612008-01-08  Antti Koivisto  <antti@apple.com>
59362
59363        Reviewed by Weinig.
59364        
59365        Add security check for Audio constructor.
59366
59367        * bindings/js/kjs_window.cpp:
59368        (KJS::Window::getValueProperty):
59369
593702008-01-08  Timothy Hatcher  <timothy@apple.com>
59371
59372        Reviewed by Adam Roben.
59373
59374        <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
59375
59376        InspectorController::didLoadResourceFromMemoryCache was not being called for
59377        resources that loaded from the memory cache that the FrameLoader's client
59378        has already been notified about. This fix always calls the InspectorController
59379        when loading a memory cached resource. No test possible for the Web Inspector.
59380
59381        * loader/DocLoader.cpp:
59382        (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
59383        FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
59384        * loader/FrameLoader.cpp:
59385        (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
59386        (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
59387        (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
59388        (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
59389        Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
59390        didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
59391        didTellClientAboutLoad.
59392        (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
59393        in FrameLoader::loadedResourceFromMemoryCache.
59394        * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
59395        Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 
59396        m_urlsClientKnowsAbout.
59397        * loader/SubresourceLoader.cpp:
59398        (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
59399
594002008-01-08  Dan Bernstein  <mitz@apple.com>
59401
59402        Rubber-stamped by Sam Weinig.
59403
59404        - prefix all member variables in CSSStyleSelector with m_
59405
59406        * css/CSSStyleSelector.cpp:
59407        (WebCore::CSSStyleSelector::CSSStyleSelector):
59408        (WebCore::CSSStyleSelector::init):
59409        (WebCore::CSSStyleSelector::setEncodedURL):
59410        (WebCore::CSSStyleSelector::loadDefaultStyle):
59411        (WebCore::CSSStyleSelector::matchRules):
59412        (WebCore::CSSStyleSelector::matchRulesForList):
59413        (WebCore::CSSStyleSelector::initElementAndPseudoState):
59414        (WebCore::CSSStyleSelector::initForStyleResolve):
59415        (WebCore::CSSStyleSelector::canShareStyleWithElement):
59416        (WebCore::CSSStyleSelector::locateSharedStyle):
59417        (WebCore::CSSStyleSelector::matchUARules):
59418        (WebCore::CSSStyleSelector::styleForElement):
59419        (WebCore::CSSStyleSelector::pseudoStyleForElement):
59420        (WebCore::CSSStyleSelector::updateFont):
59421        (WebCore::CSSStyleSelector::cacheBorderAndBackground):
59422        (WebCore::CSSStyleSelector::checkSelector):
59423        (WebCore::CSSStyleSelector::checkOneSelector):
59424        (WebCore::CSSStyleSelector::applyProperty):
59425        (WebCore::CSSStyleSelector::mapBackgroundImage):
59426        (WebCore::CSSStyleSelector::mapBackgroundSize):
59427        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
59428        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
59429        (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
59430        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
59431        * css/CSSStyleSelector.h:
59432        (WebCore::CSSStyleSelector::):
59433        (WebCore::CSSRuleData::CSSRuleData):
59434        (WebCore::CSSRuleDataList::CSSRuleDataList):
59435        (WebCore::CSSRuleDataList::append):
59436        * css/SVGCSSStyleSelector.cpp:
59437        (WebCore::CSSStyleSelector::applySVGProperty):
59438        * rendering/RenderStyle.cpp:
59439        (WebCore::RenderStyle::isStyleAvailable):
59440
594412008-01-08  David D. Kilzer  <ddkilzer@apple.com>
59442
59443        Removed unnecessary files from Copy Bundle Resources build phase.
59444
59445        Reviewed by Sam.
59446
59447        * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
59448        DOMCoreException.idl
59449        EventException.idl
59450        MessageEvent.idl
59451        SVGAElement.idl
59452        SVGAngle.idl
59453        SVGAnimateColorElement.idl
59454        SVGAnimateElement.idl
59455        SVGAnimateTransformElement.idl
59456        SVGAnimatedAngle.idl
59457        SVGAnimatedBoolean.idl
59458        SVGAnimatedEnumeration.idl
59459        SVGAnimatedInteger.idl
59460        SVGAnimatedLength.idl
59461        SVGAnimatedLengthList.idl
59462        SVGAnimatedNumber.idl
59463        SVGAnimatedNumberList.idl
59464        SVGAnimatedPathData.idl
59465        SVGAnimatedPoints.idl
59466        SVGAnimatedPreserveAspectRatio.idl
59467        SVGAnimatedRect.idl
59468        SVGAnimatedString.idl
59469        SVGAnimatedTransformList.idl
59470        SVGAnimationElement.idl
59471        SVGCSSPropertyNames.in
59472        SVGCSSValueKeywords.in
59473        SVGCircleElement.idl
59474        SVGClipPathElement.idl
59475        SVGColor.idl
59476        SVGComponentTransferFunctionElement.idl
59477        SVGCursorElement.idl
59478        SVGDefinitionSrcElement.idl
59479        SVGDefsElement.idl
59480        SVGDescElement.idl
59481        SVGDocument.idl
59482        SVGElement.idl
59483        SVGElementInstance.idl
59484        SVGElementInstanceList.idl
59485        SVGEllipseElement.idl
59486        SVGException.idl
59487        SVGExternalResourcesRequired.idl
59488        SVGFEBlendElement.idl
59489        SVGFEColorMatrixElement.idl
59490        SVGFEComponentTransferElement.idl
59491        SVGFECompositeElement.idl
59492        SVGFEDiffuseLightingElement.idl
59493        SVGFEDisplacementMapElement.idl
59494        SVGFEDistantLightElement.idl
59495        SVGFEFloodElement.idl
59496        SVGFEFuncAElement.idl
59497        SVGFEFuncBElement.idl
59498        SVGFEFuncGElement.idl
59499        SVGFEFuncRElement.idl
59500        SVGFEGaussianBlurElement.idl
59501        SVGFEImageElement.idl
59502        SVGFEMergeElement.idl
59503        SVGFEMergeNodeElement.idl
59504        SVGFEOffsetElement.idl
59505        SVGFEPointLightElement.idl
59506        SVGFESpecularLightingElement.idl
59507        SVGFESpotLightElement.idl
59508        SVGFETileElement.idl
59509        SVGFETurbulenceElement.idl
59510        SVGFilterElement.idl
59511        SVGFilterPrimitiveStandardAttributes.idl
59512        SVGFitToViewBox.idl
59513        SVGFontElement.idl
59514        SVGFontFaceElement.idl
59515        SVGFontFaceFormatElement.idl
59516        SVGFontFaceNameElement.idl
59517        SVGFontFaceSrcElement.idl
59518        SVGFontFaceUriElement.idl
59519        SVGForeignObjectElement.idl
59520        SVGGElement.idl
59521        SVGGlyphElement.idl
59522        SVGGradientElement.idl
59523        SVGImageElement.idl
59524        SVGLangSpace.idl
59525        SVGLength.idl
59526        SVGLengthList.idl
59527        SVGLineElement.idl
59528        SVGLinearGradientElement.idl
59529        SVGLocatable.idl
59530        SVGMarkerElement.idl
59531        SVGMaskElement.idl
59532        SVGMatrix.idl
59533        SVGMetadataElement.idl
59534        SVGMissingGlyphElement.idl
59535        SVGNumber.idl
59536        SVGNumberList.idl
59537        SVGPaint.idl
59538        SVGPathElement.idl
59539        SVGPathSeg.idl
59540        SVGPathSegArcAbs.idl
59541        SVGPathSegArcRel.idl
59542        SVGPathSegClosePath.idl
59543        SVGPathSegCurvetoCubicAbs.idl
59544        SVGPathSegCurvetoCubicRel.idl
59545        SVGPathSegCurvetoCubicSmoothAbs.idl
59546        SVGPathSegCurvetoCubicSmoothRel.idl
59547        SVGPathSegCurvetoQuadraticAbs.idl
59548        SVGPathSegCurvetoQuadraticRel.idl
59549        SVGPathSegCurvetoQuadraticSmoothAbs.idl
59550        SVGPathSegCurvetoQuadraticSmoothRel.idl
59551        SVGPathSegLinetoAbs.idl
59552        SVGPathSegLinetoHorizontalAbs.idl
59553        SVGPathSegLinetoHorizontalRel.idl
59554        SVGPathSegLinetoRel.idl
59555        SVGPathSegLinetoVerticalAbs.idl
59556        SVGPathSegLinetoVerticalRel.idl
59557        SVGPathSegList.idl
59558        SVGPathSegMovetoAbs.idl
59559        SVGPathSegMovetoRel.idl
59560        SVGPatternElement.idl
59561        SVGPoint.idl
59562        SVGPointList.idl
59563        SVGPolygonElement.idl
59564        SVGPolylineElement.idl
59565        SVGPreserveAspectRatio.idl
59566        SVGRadialGradientElement.idl
59567        SVGRect.idl
59568        SVGRectElement.idl
59569        SVGRenderingIntent.idl
59570        SVGSVGElement.idl
59571        SVGScriptElement.idl
59572        SVGSetElement.idl
59573        SVGStopElement.idl
59574        SVGStringList.idl
59575        SVGStylable.idl
59576        SVGStyleElement.idl
59577        SVGSwitchElement.idl
59578        SVGSymbolElement.idl
59579        SVGTRefElement.idl
59580        SVGTSpanElement.idl
59581        SVGTests.idl
59582        SVGTextContentElement.idl
59583        SVGTextElement.idl
59584        SVGTextPathElement.idl
59585        SVGTextPositioningElement.idl
59586        SVGTitleElement.idl
59587        SVGTransform.idl
59588        SVGTransformList.idl
59589        SVGTransformable.idl
59590        SVGURIReference.idl
59591        SVGUnitTypes.idl
59592        SVGUseElement.idl
59593        SVGViewElement.idl
59594        SVGViewSpec.idl
59595        SVGZoomAndPan.idl
59596        SVGZoomEvent.idl
59597        XMLHttpRequestException.idl
59598        XPathException.idl
59599        character-sets.txt
59600        mac-encodings.txt
59601        make-charset-table.pl
59602        svgattrs.in
59603        svgtags.in
59604        xlinkattrs.in
59605
596062008-01-08  Luca Bruno  <lethalman88@gmail.com>
59607
59608        Reviewed by Alp Toker.
59609
59610        Support copying the selected URL to the clipboard.
59611
59612        * platform/gtk/PasteboardGtk.cpp:
59613        (WebCore::Pasteboard::writeURL): implemented
59614
596152008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
59616
59617        Renamed CharacterData::m_str to m_data
59618
59619        Rubber-stamped by Adam again.
59620
59621        No test cases added since there is no change in behavior.
59622
59623        * dom/CDATASection.cpp:
59624        * dom/CharacterData.cpp:
59625        (WebCore::CharacterData::CharacterData):
59626        (WebCore::CharacterData::setData):
59627        (WebCore::CharacterData::substringData):
59628        (WebCore::CharacterData::appendData):
59629        (WebCore::CharacterData::insertData):
59630        (WebCore::CharacterData::deleteData):
59631        (WebCore::CharacterData::replaceData):
59632        (WebCore::CharacterData::nodeValue):
59633        (WebCore::CharacterData::containsOnlyWhitespace):
59634        (WebCore::CharacterData::dispatchModifiedEvent):
59635        (WebCore::CharacterData::checkCharDataOperation):
59636        (WebCore::CharacterData::dump):
59637        * dom/CharacterData.h:
59638        * dom/Comment.cpp:
59639        * dom/Text.cpp:
59640        (WebCore::Text::splitText):
59641        (WebCore::Text::createRenderer):
59642        (WebCore::Text::recalcStyle):
59643
596442008-01-08  Steve Falkenburg  <sfalken@apple.com>
59645
59646        Fix a couple of compiler warnings.
59647        
59648        Reviewed by Mitz.
59649
59650        * platform/win/ThreadingWin.cpp:
59651        * platform/win/UniscribeController.cpp: Remove unused function.
59652        (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
59653
596542008-01-08  Adele Peterson  <adele@apple.com>
59655
59656        Reviewed by Darin.
59657
59658        Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
59659
59660        * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
59661          After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
59662          MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.  
59663          This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
59664          I also added a missing call to setDefaultHandled for the mousemove event.
59665
596662008-01-08  Adele Peterson  <adele@apple.com>
59667
59668        Reviewed by Adam. 
59669
59670        * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
59671        paint the media controls in RenderThemeSafari.
59672
596732008-01-08  Oliver Hunt  <oliver@apple.com>
59674
59675        Reviewed by Adele and John.
59676
59677        Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
59678        dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
59679
59680        We hit this crash if the page reloads between DragController::dragUpdated
59681        and DragController::performDrag, meaning that m_document starts pointing to
59682        a now viewless document.  This is picked up by an assertion in performDrag
59683        which I have now replaced with an assignment given that the assertion is 
59684        invalid -- it is possible for m_document to be changed between dragUpdated
59685        performDrag
59686
59687        * page/DragController.cpp:
59688        (WebCore::DragController::performDrag):
59689
596902008-01-08  Alexey Proskuryakov  <ap@webkit.org>
59691
59692        Reviewed by Darin.
59693
59694        <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
59695        WebCore::Node::setChanged + 96
59696
59697        Test: fast/dom/cssTarget-crash.html
59698
59699        * dom/Node.cpp: (WebCore::Node::removedFromDocument):
59700        Check to see if the node being removed is currently set as the Document's cssTarget.
59701        If it is, clear the cssTarget to prevent a hanging reference to it.
59702
597032008-01-08  Adam Roben  <aroben@apple.com>
59704
59705        * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
59706        rebuild on Windows now that the media elements are enabled.
59707
597082008-01-08  Adam Roben  <aroben@apple.com>
59709
59710        * svg/svgtags.in: Touch this again for the sake of the Windows bots.
59711
597122008-01-08  Timothy Hatcher  <timothy@apple.com>
59713
59714        Reviewed by Adam Roben.
59715
59716        Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
59717        Also added some #pragma marks to help find places in the file.
59718
59719        * page/InspectorController.cpp:
59720        (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
59721        And return the result of JSObjectCallAsFunction.
59722        (WebCore::search): Use JSRetainPtr<JSStringRef>.
59723        (WebCore::databaseTableNames): Ditto.
59724        (WebCore::localizedStrings): Ditto.
59725        (WebCore::InspectorController::~InspectorController): Ditto.
59726        (WebCore::InspectorController::focusNode): Ditto.
59727        (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
59728        (WebCore::InspectorController::scriptObjectReady): Ditto.
59729        (WebCore::addHeaders): Ditto.
59730        (WebCore::InspectorController::addScriptResource): Ditto.
59731        (WebCore::InspectorController::removeScriptResource): Ditto.
59732        (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
59733        (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
59734        (WebCore::InspectorController::updateScriptResource): Ditto.
59735        (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
59736        (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
59737        (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
59738
597392008-01-08  Dan Bernstein  <mitz@apple.com>
59740
59741        Rubber-stamped by Sam Weinig.
59742
59743        - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
59744
59745        * GNUmakefile.am:
59746        * WebCore.pro:
59747        * WebCore.vcproj/WebCore.vcproj:
59748        * WebCore.xcodeproj/project.pbxproj:
59749        * WebCoreSources.bkl:
59750        * editing/Editor.cpp:
59751        * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
59752        * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
59753        * platform/graphics/FontDataBaseClass.cpp: Removed.
59754        * platform/graphics/FontDataBaseClass.h: Removed.
59755        * platform/graphics/SegmentedFontData.h:
59756        * platform/graphics/SimpleFontData.h:
59757
597582008-01-08  Dan Bernstein  <mitz@apple.com>
59759
59760        Fix a Wx build error.
59761
59762        * platform/graphics/wx/GlyphMapWx.cpp:
59763        (WebCore::GlyphPage::fill):
59764
597652008-01-08  Dan Bernstein  <mitz@apple.com>
59766
59767        Fix a Qt build error.
59768
59769        * platform/graphics/qt/SimpleFontDataQt.cpp:
59770        (WebCore::SimpleFontData::containsCharacters):
59771        (WebCore::SimpleFontData::fontDataForCharacter):
59772        (WebCore::SimpleFontData::isSegmented):
59773
597742008-01-08  Adam Roben  <aroben@apple.com>
59775
59776        Windows build fix.
59777
59778        Touch config.h to force a rebuild (apparently changing preprocessor
59779        definitions in the .vcproj doesn't force a rebuild).
59780
59781        * config.h:
59782
597832008-01-08  Dan Bernstein  <mitz@apple.com>
59784
59785        Fix a Wx build failure.
59786
59787        * webcore-wx.bkl:
59788
597892008-01-08  Dan Bernstein  <mitz@apple.com>
59790
59791        Fix a Qt build failure.
59792
59793        * WebCore.pro:
59794
597952008-01-08  John Sullivan  <sullivan@apple.com>
59796
59797        Reviewed by Adam Roben
59798        
59799        - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 
59800          Delete menu item is enabled but shouldn't be
59801
59802        The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
59803        parameter to the enabled functions so that they can have parallel logic to the execute functions.
59804
59805        * editing/EditorCommand.cpp:
59806        added EditorCommandSource parameter to isEnabled function prototype
59807        (WebCore::enabled):
59808        added unused EditorCommandSource parameter to these isEnabled functions:
59809        (WebCore::enabledAnySelection):
59810        (WebCore::enabledAnySelectionAndMark):
59811        (WebCore::enableCaretInEditableText):
59812        (WebCore::enabledCopy):
59813        (WebCore::enabledCut):
59814
59815        (WebCore::enabledDelete):
59816        new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
59817        for menu source
59818
59819        added unused EditorCommandSource parameter to these isEnabled functions:
59820        (WebCore::enabledInEditableText):
59821        (WebCore::enabledInRichlyEditableText):
59822        (WebCore::enabledPaste):
59823        (WebCore::enabledRangeInEditableText):
59824        (WebCore::enabledRangeInRichlyEditableText):
59825        (WebCore::enabledRedo):
59826        (WebCore::enabledUndo):
59827        
59828        (WebCore::CommandEntry::):
59829        wire up new enabledDelete function as delete function for Delete command
59830        
59831        (WebCore::Editor::Command::isEnabled):
59832        pass EditorCommandSource parameter to isEnabled function
59833
598342008-01-08  Adam Roben  <aroben@apple.com>
59835
59836        Visual C++ Express build fix
59837
59838        * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
59839        and advapi32.lib. VS implicitly links against these, VC++ Express
59840        doesn't.
59841
598422008-01-08  Dan Bernstein  <mitz@apple.com>
59843
59844        - add bug number
59845
59846        * platform/graphics/mac/FontCustomPlatformData.cpp:
59847        (WebCore::createFontCustomPlatformData):
59848
598492008-01-08  Dan Bernstein  <mitz@apple.com>
59850
59851        Try to fix the Qt build.
59852
59853        * WebCore.pro:
59854
598552008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
59856
59857        Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
59858
59859        * page/inspector/WebKit.qrc:
59860
598612008-01-08  Maciej Stachowiak  <mjs@apple.com>
59862
59863        Reviewed by Mark.
59864
59865        - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
59866
59867        * bindings/objc/PublicDOMInterfaces.h:
59868        * html/HTMLDocument.idl:
59869
598702008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
59871
59872        Renamed CharacterData::str to m_str to match coding style
59873
59874        Rubber-stamped by Adam.
59875
59876        No test cases added since there is no change in behavior.
59877
59878        * dom/CDATASection.cpp:
59879        * dom/CharacterData.cpp:
59880        (WebCore::CharacterData::CharacterData):
59881        (WebCore::CharacterData::setData):
59882        (WebCore::CharacterData::substringData):
59883        (WebCore::CharacterData::appendData):
59884        (WebCore::CharacterData::insertData):
59885        (WebCore::CharacterData::deleteData):
59886        (WebCore::CharacterData::replaceData):
59887        (WebCore::CharacterData::nodeValue):
59888        (WebCore::CharacterData::containsOnlyWhitespace):
59889        (WebCore::CharacterData::dispatchModifiedEvent):
59890        (WebCore::CharacterData::checkCharDataOperation):
59891        (WebCore::CharacterData::dump):
59892        * dom/CharacterData.h:
59893        * dom/Comment.cpp:
59894        * dom/Text.cpp:
59895        (WebCore::Text::splitText):
59896        (WebCore::Text::createRenderer):
59897        (WebCore::Text::recalcStyle):
59898
598992008-01-08  Oliver Hunt  <oliver@apple.com>
59900
59901        Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 
59902        I'm not sure if it just caused the right files to regenerate,
59903        or if there's some configuration weirdness in the non-SVG-fonts
59904        build. 
59905
59906        * WebCore.vcproj/WebCore.vcproj:
59907
599082008-01-07  Maciej Stachowiak  <mjs@apple.com>
59909
59910        Reviewed by Brady.
59911
59912        - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
59913        
59914        Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
59915        
59916        * dom/Document.cpp:
59917        (WebCore::Document::Document):
59918        * dom/Document.h:
59919        (WebCore::Document::setHasOpenDatabases):
59920        (WebCore::Document::hasOpenDatabases):
59921        * loader/FrameLoader.cpp:
59922        (WebCore::FrameLoader::canCachePage):
59923        * storage/Database.cpp:
59924        (WebCore::Database::openDatabase):
59925
599262008-01-07  Dan Bernstein  <mitz@apple.com>
59927
59928        Reviewed by Oliver Hunt.
59929
59930        - fix leaks seen on the build bot
59931
59932        * css/CSSFontSelector.cpp:
59933        (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
59934        CSSFontFaceSource for SVG font-face elements going into an
59935        SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
59936        face elements to a CSSFontFace because it will not work as expected.
59937
599382008-01-07  Mark Rowe  <mrowe@apple.com>
59939
59940        Tiger build fix.
59941
59942        * platform/graphics/mac/FontCustomPlatformData.cpp:
59943        (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
59944        It's not needed on Tiger, and breaks the build.
59945
599462008-01-07  Antti Koivisto  <antti@apple.com>
59947
59948        Reviewed by Steve.
59949
59950        Re-enable media support in Windows build.
59951
59952        * WebCore.vcproj/QTMovieWin.vcproj:
59953        * WebCore.vcproj/WebCore.vcproj:
59954        * WebCore.vcproj/build-generated-files.sh:
59955
599562008-01-07  Steve Falkenburg  <sfalken@apple.com>
59957
59958        Add version resource to QTMovieWin.dll
59959        
59960        Reviewed by Adam.
59961
59962        * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
59963        * WebCore.vcproj/QTMovieWin.rc: Added.
59964        * WebCore.vcproj/QTMovieWin.vcproj:
59965        * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
59966        * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
59967
599682008-01-07  Dan Bernstein  <mitz@apple.com>
59969
59970        Build fix.
59971
59972        * platform/graphics/qt/FontCustomPlatformData.cpp:
59973        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
59974        Calls QFontDatabase::removeApplicationFont().
59975        * platform/graphics/qt/FontCustomPlatformData.h:
59976        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
59977        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
59978        implementation because Qt does not use the WebCore glyph cache.
59979
599802008-01-07  Dan Bernstein  <mitz@apple.com>
59981
59982        Reviewed by Oliver Hunt.
59983
59984        - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
59985          Tiger and multiple SVG layout test failures on Leopard.
59986
59987        * css/CSSSegmentedFontFace.cpp:
59988        (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
59989        empty SegmentedFontData.
59990        * platform/graphics/mac/FontCustomPlatformData.cpp:
59991        (WebCore::createFontCustomPlatformData): Avoid creating a font that
59992        contains no glyphs. On Leopard, ATS might create such a font given
59993        data in an unsupported format (such as SVG).
59994
599952008-01-07  Steve Falkenburg  <sfalken@apple.com>
59996
59997        Build fix.
59998
59999        * WebCore.vcproj/WebCore.sln:
60000        * WebCore.vcproj/WebCore.submit.sln:
60001
600022008-01-07  Oliver Hunt  <oliver@apple.com>
60003
60004        Reviewed by Niko.
60005
60006        Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
60007
60008        Test: svg/custom/image-with-aspect-ratio-stretch.svg
60009
60010        * rendering/RenderSVGImage.cpp:
60011        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
60012
600132008-01-07  Dan Bernstein  <mitz@apple.com>
60014
60015        Build fix.
60016
60017        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
60018        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
60019
600202008-01-07  Adele Peterson  <adele@apple.com>
60021
60022        Add missing newline.
60023
60024        * rendering/MediaControlElements.cpp:
60025
600262008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
60027
60028        Reviewed by Hyatt.
60029
60030        <rdar://problem/5673489> Safari does not render windowless plugins in an
60031        iframe when opacity < 1.0
60032
60033        Plugins in transparency layers handle their own world transforms, so
60034        only apply the horizontal/vertical transform if we are not in a
60035        transparency layer.
60036
60037        * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
60038        inTransparencyLayer() function
60039        * platform/win/GraphicsContextWin.cpp:
60040        (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
60041        (WebCore::GraphicsContext::inTransparencyLayer):
60042        (WebCore::GraphicsContext::releaseWindowsContext): Use
60043        inTransparencyLayer()
60044        * plugins/win/PluginViewWin.cpp:
60045        (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
60046        relative to the window. Pass m_isTransparent to
60047        get/releaseWindowsContext(). Only set the world transform if we are not
60048        in a transparency layer.
60049
600502008-01-07  Adele Peterson  <adele@apple.com>
60051
60052        Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
60053
60054        * rendering/MediaControlElements.cpp:
60055        * rendering/MediaControlElements.h:
60056
600572008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60058
60059        Reviewed by Mark.
60060
60061        Enable SVG_FONTS by default.
60062
60063        * Configurations/WebCore.xcconfig:
60064        * WebCore.vcproj/build-generated-files.sh:
60065
600662008-01-07  Dan Bernstein  <mitz@apple.com>
60067
60068        Build fix.
60069
60070        * platform/graphics/qt/SimpleFontDataQt.cpp:
60071        (WebCore::SimpleFontData::SimpleFontData):
60072        (WebCore::SimpleFontData::~SimpleFontData):
60073
600742008-01-07  Adam Barth  <hk9565@gmail.com>
60075
60076        Reviewed by Sam Weinig
60077
60078        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
60079        <rdar://problem/5657447>
60080
60081        When a frame is created with the URL "about:blank" or "", it should
60082        inherit its SecurityOrigin from its opener.  However, once it has
60083        decided on that SecurityOrigin, it should not change its mind.
60084        Prior to this patch, several events could induce the frame to change
60085        its SecurityOrigin, permitting an attacker to inject script into an
60086        arbitrary SecurityOrigin.
60087
60088        This patch makes several changes:
60089
60090        1) Documents refuse to change from one SecurityOrigin to another
60091           unless explicitly instructed to do so.
60092
60093        2) Navigating to a JavaScript URL that produces a value
60094           preserves the current SecurityOrigin explicitly instead of
60095           relying on the URL to preserve the origin (which fails for
60096           about:blank URLs and SecurityOrigins with document.domain set).
60097
60098           Ideally, we should not preserve the URL at all.  Instead, the
60099           frame's URL should be the JavaScript URL, as in Firefox, but this
60100           would require changes that are too risky for this patch.  I'll
60101           file this as a separate issue.
60102
60103        3) Various methods of navigating to JavaScript URLs were not
60104           properly handling JavaScript that returned a value (and should
60105           therefore replace the current document).  This patch unifies
60106           those code paths with the path that works.
60107
60108           There are still a handful of bugs relating to the handling of
60109           JavaScript URLs, but I'll file those as separate issues.
60110
60111        Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
60112               http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
60113               http/tests/security/aboutBlank/xss-DENIED-set-opener.html
60114
60115        * dom/Document.cpp:
60116        (WebCore::Document::initSecurityOrigin):
60117        * dom/Document.h:
60118        (WebCore::Document::setSecurityOrigin):
60119        * loader/FrameLoader.cpp:
60120        (WebCore::FrameLoader::changeLocation):
60121        (WebCore::FrameLoader::urlSelected):
60122        (WebCore::FrameLoader::requestFrame):
60123        (WebCore::FrameLoader::submitForm):
60124        (WebCore::FrameLoader::executeIfJavaScriptURL):
60125        (WebCore::FrameLoader::begin):
60126        * loader/FrameLoader.h:
60127        * platform/SecurityOrigin.cpp:
60128        (WebCore::SecurityOrigin::setForURL):
60129        (WebCore::SecurityOrigin::createForFrame):
60130        * platform/SecurityOrigin.h:
60131
601322008-01-07  Adele Peterson  <adele@apple.com>
60133
60134        Forgot to check in these changes in my last checkin.
60135
60136        * rendering/RenderThemeSafari.cpp:
60137
601382008-01-07  Dan Bernstein  <mitz@apple.com>
60139
60140        Build fixes.
60141
60142        * WebCore.pro:
60143        * platform/graphics/qt/FontCacheQt.cpp:
60144        (WebCore::FontCache::getCachedFontData):
60145
601462008-01-07  Timothy Hatcher  <timothy@apple.com>
60147
60148        Reviewed by John Sullivan.
60149
60150        <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
60151
60152        * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
60153          normal height when not docked, and small when docked. Also added some cursor properties
60154          prevent showing the text cursor over areas that are not selectable.
60155        * page/inspector/Images: A few images added and old ones removed or renamed.
60156
601572008-01-07  Alp Toker  <alp@atoker.com>
60158
60159        Prospective GTK+ autotools/qmake VIDEO build fix for breakage
60160        introduced in r29257.
60161
60162        * GNUmakefile.am:
60163        * WebCore.pro:
60164
601652008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60166
60167        Reviewed by Oliver.
60168
60169        Build fix affecting all builds - again related to the unicode-range addition.
60170
60171        * css/CSSFontSelector.cpp:
60172        (WebCore::CSSFontSelector::addFontFaceRule):
60173        * css/SVGCSSFontFace.cpp:
60174        (WebCore::SVGCSSFontFace::SVGCSSFontFace):
60175        * css/SVGCSSFontFace.h:
60176        * rendering/RenderSVGText.cpp:
60177        * svg/SVGFont.cpp:
60178        (WebCore::svgFontAndFontFaceElementForFontData):
60179        (WebCore::floatWidthMissingGlyphCallback):
60180        (WebCore::drawTextMissingGlyphCallback):
60181        * svg/SVGFontFaceElement.cpp:
60182
601832008-01-07  Adele Peterson  <adele@apple.com>
60184
60185        Reviewed by Antti, Adam, and Mitz.
60186
60187        WebCore part of fix for 
60188        <rdar://problem/5619073> Updated look for <video> controls
60189        <rdar://problem/5619057> Add volume control to video controls
60190
60191        * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
60192        * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
60193        * WebCore.vcproj/WebCore.vcproj: ditto.
60194
60195        * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
60196        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
60197        * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
60198        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
60199        * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
60200        * css/html4.css: Added new styles for new controls.
60201
60202        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
60203        * html/HTMLMediaElement.h:
60204
60205        * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
60206
60207        * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
60208        * platform/mac/WebCoreSystemInterface.mm: ditto.
60209
60210        * rendering/MediaControlElements.cpp: Added.
60211        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
60212        (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
60213         since its too early to do this here, and causes crashes for the slider.
60214        (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
60215        (WebCore::MediaControlInputElement::update): ditto.
60216        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
60217        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
60218        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
60219        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
60220        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
60221        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
60222        (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
60223        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
60224        (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
60225        (WebCore::MediaControlTimelineElement::update): ditto. 
60226        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
60227        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
60228        * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
60229        (WebCore::MediaControlShadowRootElement::isShadowNode):
60230        (WebCore::MediaControlShadowRootElement::shadowParentNode):
60231        (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
60232        (WebCore::RenderMediaControlShadowRoot::setParent):
60233
60234        * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
60235        (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
60236        (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
60237        (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
60238        (WebCore::RenderMedia::createMuteButton): Added.
60239        (WebCore::RenderMedia::createSeekBackButton): ditto.
60240        (WebCore::RenderMedia::createSeekForwardButton): ditto.
60241        (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
60242        (WebCore::RenderMedia::createFullscreenButton): Added.
60243        (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
60244        (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
60245        (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
60246        * rendering/RenderMedia.h: Added new methods for creating new controls.
60247
60248        * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
60249          but also can contain children (the controls' container) that may need to look for the containing block.
60250
60251        * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
60252
60253        * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
60254        (WebCore::RenderStyle::):
60255
60256        * rendering/RenderTheme.cpp:
60257        (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
60258        (WebCore::RenderTheme::paint): ditto.
60259        * rendering/RenderTheme.h: Added new methods for painting new appearances.
60260        (WebCore::RenderTheme::paintMediaBackground):
60261        (WebCore::RenderTheme::paintMediaFullscreenButton):
60262        (WebCore::RenderTheme::paintMediaPlayButton):
60263        (WebCore::RenderTheme::paintMediaMuteButton):
60264        (WebCore::RenderTheme::paintMediaSeekBackButton):
60265        (WebCore::RenderTheme::paintMediaSeekForwardButton):
60266        (WebCore::RenderTheme::paintMediaSliderThumb):
60267        * rendering/RenderThemeMac.h:
60268        * rendering/RenderThemeMac.mm:
60269        (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
60270        (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
60271        (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
60272        (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
60273        (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
60274        (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
60275        (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
60276        (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
60277        (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
60278        (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
60279        (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
60280        (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
60281        * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
60282        (WebCore::RenderThemeSafari::paintSliderTrack):
60283        (WebCore::RenderThemeSafari::adjustSliderThumbSize):
60284        (WebCore::RenderThemeSafari::paintMediaBackground):
60285        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
60286        (WebCore::RenderThemeSafari::paintMediaMuteButton):
60287        (WebCore::RenderThemeSafari::paintMediaPlayButton):
60288        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
60289        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
60290        (WebCore::RenderThemeSafari::paintMediaSliderThumb):
60291        * rendering/RenderThemeSafari.h:
60292
602932008-01-07  Timothy Hatcher  <timothy@apple.com>
60294
60295        Reviewed by Darin Adler.
60296
60297        Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
60298        when the replacment string is a different length.
60299
60300        * platform/text/StringImpl.cpp:
60301        (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
60302        the Vector size calculation, correcting the order of math operations.
60303
603042008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60305
60306        Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
60307
60308        * platform/graphics/mac/FontCacheMac.mm:
60309
603102008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60311
60312        Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
60313
60314        * css/CSSFontSelector.cpp:
60315        (WebCore::CSSFontSelector::getFontData):
60316
603172008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60318
60319        Not reviewed. Next try to fix wx/mac leopard build.
60320
60321        * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
60322        * svg/SVGFontFaceElement.cpp:
60323        (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
60324        * webcore-base.bkl: Undo svg/ include.
60325
603262008-01-07  Dan Bernstein  <mitz@apple.com>
60327
60328        Reviewed by Dave Hyatt.
60329
60330        - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
60331
60332        * GNUmakefile.am:
60333        * WebCore.pro:
60334        * WebCore.vcproj/WebCore.vcproj:
60335        * WebCore.xcodeproj/project.pbxproj:
60336        * WebCoreSources.bkl:
60337        * bindings/objc/DOM.mm:
60338        * bridge/mac/WebCoreAXObject.mm:
60339        * css/CSSComputedStyleDeclaration.cpp:
60340        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60341        * css/CSSFontFace.cpp:
60342        (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
60343        font face.
60344        (WebCore::CSSFontFace::getFontData):
60345        * css/CSSFontFace.h:
60346        (WebCore::CSSFontFace::CSSFontFace):
60347        (WebCore::CSSFontFace::setSegmentedFontFace):
60348        * css/CSSFontFaceSource.cpp:
60349        (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
60350        GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
60351        font table are not exposed in the glyph page tree. Only the segmented
60352        font is, and that is taken care of by the segmented font face.
60353        (WebCore::CSSFontFaceSource::getFontData):
60354        * css/CSSFontFaceSource.h:
60355        * css/CSSFontSelector.cpp:
60356        (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
60357        @font-face rules with the same family and traits into a single
60358        segmented font face, instead of just retaining the most recent one.
60359        (WebCore::CSSFontSelector::fontLoaded):
60360        (WebCore::CSSFontSelector::getFontData):
60361        * css/CSSFontSelector.h:
60362        * css/CSSGrammar.y:
60363        * css/CSSParser.cpp:
60364        (WebCore::CSSParser::parseValue):
60365        (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
60366        range value.
60367        * css/CSSParser.h:
60368        * css/CSSPrimitiveValue.h:
60369        (WebCore::CSSPrimitiveValue::):
60370        * css/CSSPropertyNames.in:
60371        * css/CSSSegmentedFontFace.cpp: Added.
60372        (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
60373        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
60374        (WebCore::CSSSegmentedFontFace::pruneTable):
60375        (WebCore::CSSSegmentedFontFace::isLoaded):
60376        (WebCore::CSSSegmentedFontFace::isValid):
60377        (WebCore::CSSSegmentedFontFace::fontLoaded):
60378        (WebCore::CSSSegmentedFontFace::overlayRange):
60379        (WebCore::CSSSegmentedFontFace::getFontData):
60380        * css/CSSSegmentedFontFace.h: Added.
60381        (WebCore::FontFaceRange::FontFaceRange):
60382        (WebCore::FontFaceRange::from):
60383        (WebCore::FontFaceRange::to):
60384        (WebCore::FontFaceRange::fontFace):
60385        (WebCore::CSSSegmentedFontFace::fontSelector):
60386        * css/CSSStyleSelector.cpp:
60387        (WebCore::CSSStyleSelector::applyProperty):
60388        * css/CSSUnicodeRangeValue.cpp: Added.
60389        (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
60390        (WebCore::CSSUnicodeRangeValue::cssText):
60391        * css/CSSUnicodeRangeValue.h: Added.
60392        (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
60393        (WebCore::CSSUnicodeRangeValue::from):
60394        (WebCore::CSSUnicodeRangeValue::to):
60395        * css/SVGCSSFontFace.cpp:
60396        (WebCore::SVGCSSFontFace::getFontData):
60397        * css/SVGCSSFontFace.h:
60398        * editing/Editor.cpp:
60399        (WebCore::Editor::fontForSelection):
60400        * editing/Editor.h:
60401        * page/mac/FrameMac.mm:
60402        * page/mac/WebCoreFrameBridge.mm:
60403        (-[WebCoreFrameBridge fontForSelection:]):
60404        * platform/graphics/Font.cpp:
60405        (WebCore::WidthIterator::advance):
60406        (WebCore::Font::glyphDataForCharacter):
60407        (WebCore::Font::primaryFont): Changed to return the simple font data
60408        used for the space character.
60409        (WebCore::Font::fontDataAt):
60410        (WebCore::Font::fontDataForCharacters):
60411        (WebCore::Font::drawGlyphBuffer):
60412        * platform/graphics/Font.h:
60413        * platform/graphics/FontCache.cpp:
60414        (WebCore::FontCache::getCachedFontData):
60415        (WebCore::FontCache::getFontData):
60416        * platform/graphics/FontCache.h:
60417        * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
60418        * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
60419        * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
60420        FontData.cpp.
60421        (WebCore::FontData::~FontData):
60422        * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
60423        FontData.h.
60424        * platform/graphics/FontFallbackList.cpp:
60425        (WebCore::FontFallbackList::determinePitch):
60426        (WebCore::FontFallbackList::fontDataAt):
60427        (WebCore::FontFallbackList::fontDataForCharacters):
60428        * platform/graphics/FontFallbackList.h:
60429        (WebCore::FontFallbackList::primaryFont):
60430        * platform/graphics/FontSelector.h:
60431        * platform/graphics/GlyphBuffer.h:
60432        (WebCore::GlyphBuffer::fontDataAt):
60433        (WebCore::GlyphBuffer::swap):
60434        (WebCore::GlyphBuffer::add):
60435        * platform/graphics/GlyphPageTreeNode.cpp:
60436        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
60437        (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
60438        pages for segmented font data.
60439        (WebCore::GlyphPageTreeNode::getChild):
60440        (WebCore::GlyphPageTreeNode::pruneCustomFontData):
60441        * platform/graphics/GlyphPageTreeNode.h:
60442        (WebCore::GlyphPage::setGlyphDataForCharacter):
60443        (WebCore::GlyphPage::setGlyphDataForIndex):
60444        (WebCore::GlyphPageTreeNode::getRootChild):
60445        * platform/graphics/SegmentedFontData.cpp: Added.
60446        (WebCore::SegmentedFontData::~SegmentedFontData):
60447        (WebCore::SegmentedFontData::fontDataForCharacter):
60448        (WebCore::SegmentedFontData::containsCharacters):
60449        (WebCore::SegmentedFontData::isCustomFont):
60450        (WebCore::SegmentedFontData::isLoading):
60451        (WebCore::SegmentedFontData::isSegmented):
60452        * platform/graphics/SegmentedFontData.h: Added.
60453        (WebCore::FontDataRange::FontDataRange):
60454        (WebCore::FontDataRange::from):
60455        (WebCore::FontDataRange::to):
60456        (WebCore::FontDataRange::fontData):
60457        (WebCore::SegmentedFontData::appendRange):
60458        (WebCore::SegmentedFontData::numRanges):
60459        (WebCore::SegmentedFontData::rangeAt):
60460        * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
60461        (WebCore::SimpleFontData::SimpleFontData):
60462        (WebCore::SimpleFontData::~SimpleFontData):
60463        (WebCore::SimpleFontData::ascent):
60464        (WebCore::SimpleFontData::descent):
60465        (WebCore::SimpleFontData::widthForGlyph):
60466        (WebCore::SimpleFontData::fontDataForCharacter):
60467        (WebCore::SimpleFontData::isSegmented):
60468        * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
60469        (WebCore::SimpleFontData::isCustomFont):
60470        (WebCore::SimpleFontData::isLoading):
60471        * platform/graphics/cairo/GraphicsContextCairo.cpp:
60472        (WebCore::GraphicsContext::setPlatformFont):
60473        * platform/graphics/gtk/FontCacheGtk.cpp:
60474        (WebCore::FontCache::getFontDataForCharacters):
60475        * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
60476        SimpleFontDataGtk.cpp.
60477        * platform/graphics/gtk/FontGtk.cpp:
60478        (WebCore::Font::drawGlyphs):
60479        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
60480        (WebCore::GlyphPage::fill):
60481        * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
60482        (WebCore::SimpleFontData::platformInit):
60483        (WebCore::SimpleFontData::platformDestroy):
60484        (WebCore::SimpleFontData::smallCapsFontData):
60485        (WebCore::SimpleFontData::containsCharacters):
60486        (WebCore::SimpleFontData::determinePitch):
60487        (WebCore::SimpleFontData::platformWidthForGlyph):
60488        (WebCore::SimpleFontData::setFont):
60489        * platform/graphics/mac/FontCacheMac.mm:
60490        (WebCore::FontCache::getFontDataForCharacters):
60491        * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
60492        * platform/graphics/mac/FontMac.mm:
60493        (WebCore::initializeATSUStyle):
60494        (WebCore::overrideLayoutOperation):
60495        (WebCore::ATSULayoutParameters::initialize):
60496        (WebCore::Font::drawGlyphs):
60497        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
60498        (WebCore::GlyphPage::fill):
60499        * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
60500        (WebCore::initFontData):
60501        (WebCore::SimpleFontData::platformInit):
60502        (WebCore::SimpleFontData::platformDestroy):
60503        (WebCore::SimpleFontData::smallCapsFontData):
60504        (WebCore::SimpleFontData::containsCharacters):
60505        (WebCore::SimpleFontData::determinePitch):
60506        (WebCore::SimpleFontData::platformWidthForGlyph):
60507        (WebCore::SimpleFontData::checkShapesArabic):
60508        * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
60509        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
60510        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
60511        * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
60512        * platform/graphics/win/FontCacheWin.cpp:
60513        (WebCore::FontCache::getFontDataForCharacters):
60514        * platform/graphics/win/FontDataWin.cpp: Renamed to
60515        SimpleFontDataWin.cpp.
60516        * platform/graphics/win/FontWin.cpp:
60517        (WebCore::Font::drawGlyphs):
60518        * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
60519        (WebCore::GlyphPage::fill):
60520        * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
60521        (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
60522        (WebCore::SimpleFontData::platformInit):
60523        (WebCore::SimpleFontData::platformDestroy):
60524        (WebCore::SimpleFontData::smallCapsFontData):
60525        (WebCore::SimpleFontData::containsCharacters):
60526        (WebCore::SimpleFontData::determinePitch):
60527        (WebCore::SimpleFontData::platformWidthForGlyph):
60528        (WebCore::SimpleFontData::scriptFontProperties):
60529        * platform/graphics/wx/FontCacheWx.cpp:
60530        (WebCore::FontCache::getFontDataForCharacters):
60531        * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
60532        * platform/graphics/wx/FontWx.cpp:
60533        (WebCore::Font::drawGlyphs):
60534        * platform/graphics/wx/GlyphMapWx.cpp:
60535        (WebCore::GlyphPage::fill):
60536        * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
60537        (WebCore::SimpleFontData::platformInit):
60538        (WebCore::SimpleFontData::platformDestroy):
60539        (WebCore::SimpleFontData::smallCapsFontData):
60540        (WebCore::SimpleFontData::containsCharacters):
60541        (WebCore::SimpleFontData::determinePitch):
60542        (WebCore::SimpleFontData::platformWidthForGlyph):
60543        * platform/mac/FileChooserMac.mm:
60544        * platform/mac/PopupMenuMac.mm:
60545        * platform/mac/WebCoreTextRenderer.mm:
60546        * platform/win/PopupMenuWin.cpp:
60547        * platform/win/UniscribeController.cpp:
60548        (WebCore::UniscribeController::advance):
60549        (WebCore::UniscribeController::itemizeShapeAndPlace):
60550        (WebCore::UniscribeController::shapeAndPlaceItem):
60551        (WebCore::UniscribeController::shape):
60552        * platform/win/UniscribeController.h:
60553        * svg/SVGFont.cpp:
60554        (WebCore::Font::drawGlyphsWithSVGFont):
60555        * svg/SVGFontElement.cpp:
60556        (WebCore::SVGFontElement::collectGlyphs):
60557        * svg/SVGFontFaceElement.cpp:
60558        (WebCore::SVGFontFaceElement::createFontData):
60559        * svg/SVGFontFaceElement.h:
60560        * svg/SVGGlyphElement.cpp:
60561
605622008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60563
60564        Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
60565
60566        * svg/svgtags.in:
60567
605682008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
60569
60570        Not reviewed. Proposed build fix for wx.
60571
60572        * webcore-base.bkl:
60573
605742008-01-07  Dan Bernstein  <mitz@apple.com>
60575
60576        64-bit build fix
60577
60578        * platform/graphics/mac/FontCustomPlatformData.cpp:
60579        (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
60580        cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
60581
605822008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
60583
60584        Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
60585        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
60586
60587        Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
60588        measure & render glyphs contained in SVG Fonts, including ligature lookup support.
60589
60590        Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
60591
60592        Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
60593        Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
60594
60595        Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
60596        This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
60597        required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
60598
60599        Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
60600
60601        <glyph> elements now register themselves in the SVGFontElement's glyph cache.
60602        (insertedIntoDocument / removedFromDocument take care of this)
60603
60604        The cache is built once now, and is kept updated - it's not rebuild anymore
60605        on painting (!) - which was a crude hack for testing.
60606
60607        W3C testcase which include SVG Fonts:
60608        svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
60609        svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
60610        svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
60611        svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
60612        svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
60613        svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
60614        svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
60615        svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
60616        svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
60617        svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
60618        svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
60619        svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
60620        svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
60621        svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
60622        svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
60623        svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
60624        svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
60625        svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
60626        svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
60627        svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
60628        svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
60629        svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
60630        svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
60631
60632        Questionable testcases:
60633        svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
60634        I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
60635
60636        Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
60637
60638        * css/CSSFontSelector.cpp:
60639        (WebCore::CSSFontSelector::addFontFaceRule):
60640        (WebCore::CSSFontSelector::getFontData):
60641        * platform/graphics/Font.cpp:
60642        (WebCore::Font::lineSpacing):
60643        (WebCore::Font::xHeight):
60644        (WebCore::Font::canUseGlyphCache):
60645        (WebCore::Font::drawGlyphBuffer):
60646        (WebCore::Font::drawText):
60647        (WebCore::Font::floatWidth):
60648        (WebCore::Font::selectionRectForText):
60649        * platform/graphics/Font.h:
60650        (WebCore::TextRun::TextRun):
60651        (WebCore::TextRun::activePaintServer):
60652        (WebCore::TextRun::setActivePaintServer):
60653        * platform/graphics/FontData.cpp:
60654        (WebCore::FontData::lineSpacing):
60655        (WebCore::FontData::lineGap):
60656        (WebCore::FontData::xHeight):
60657        * platform/graphics/FontData.h:
60658        * platform/graphics/win/FontWin.cpp:
60659        (WebCore::Font::drawGlyphs):
60660        * rendering/RenderSVGText.cpp:
60661        (WebCore::RenderSVGText::relativeBBox):
60662        * rendering/SVGInlineTextBox.cpp:
60663        (WebCore::SVGInlineTextBox::paintCharacters):
60664        * rendering/SVGInlineTextBox.h:
60665        * rendering/SVGRootInlineBox.cpp:
60666        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
60667        * svg/SVGFont.cpp:
60668        (WebCore::processArabicFormDetection):
60669        (WebCore::charactersWithArabicForm):
60670        (WebCore::isCompatibleArabicForm):
60671        (WebCore::isCompatibleGlyph):
60672        (WebCore::svgFontAndFontFaceElementForFontData):
60673        (WebCore::SVGTextRunWalker::SVGTextRunWalker):
60674        (WebCore::SVGTextRunWalker::walk):
60675        (WebCore::floatWidthUsingSVGFontCallback):
60676        (WebCore::floatWidthMissingGlyphCallback):
60677        (WebCore::floatWidthOfSubStringUsingSVGFont):
60678        (WebCore::Font::floatWidthUsingSVGFont):
60679        (WebCore::drawTextUsingSVGFontCallback):
60680        (WebCore::drawTextMissingGlyphCallback):
60681        (WebCore::Font::drawTextUsingSVGFont):
60682        (WebCore::Font::selectionRectForTextUsingSVGFont):
60683        * svg/SVGFontElement.cpp:
60684        (WebCore::SVGFontElement::SVGFontElement):
60685        (WebCore::SVGFontElement::addGlyphToCache):
60686        (WebCore::SVGFontElement::removeGlyphFromCache):
60687        (WebCore::SVGFontElement::firstMissingGlyphElement):
60688        (WebCore::SVGFontElement::glyphIdentifiersForString):
60689        * svg/SVGFontElement.h:
60690        (WebCore::SVGFontElement::maximumHashKeyLength):
60691        * svg/SVGFontFaceElement.cpp:
60692        (WebCore::SVGFontFaceElement::createFontData):
60693        (WebCore::SVGFontFaceElement::rebuildFontFace):
60694        (WebCore::SVGFontFaceElement::associatedFontElement):
60695        * svg/SVGFontFaceElement.h:
60696        * svg/SVGGlyphElement.cpp:
60697        (WebCore::SVGGlyphElement::insertedIntoDocument):
60698        (WebCore::SVGGlyphElement::removedFromDocument):
60699        (WebCore::parseArabicForm):
60700        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
60701        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
60702        * svg/SVGGlyphElement.h:
60703        (WebCore::SVGGlyphIdentifier::):
60704        (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
60705        (WebCore::SVGGlyphIdentifier::inheritedValue):
60706        (WebCore::SVGGlyphIdentifier::operator==):
60707        (WebCore::SVGGlyphElement::~SVGGlyphElement):
60708
607092008-01-07  David Hyatt  <hyatt@apple.com>
60710
60711        Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
60712
60713        Reviewed by Dan
60714
60715        * rendering/RenderBox.h:
60716        * rendering/RenderTableCell.cpp:
60717        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
60718
607192008-01-07  Holger Freyther  <zecke@selfish.org>
60720
60721        Reviewed by Alp Toker.
60722
60723        * Fix indention
60724
60725        * platform/gtk/ContextMenuGtk.cpp:
60726        (WebCore::ContextMenu::~ContextMenu):
60727
607282008-01-07  Holger Freyther  <zecke@selfish.org>
60729
60730        Reviewed by Alp Toker.
60731
60732        * The ContextMenuController is going to live longer than the ContextMenu. It is
60733        going to live as long as the WebCore::Page is around where the ContextMenu, specially
60734        in the case of a SubMenu, is gone before we popup the menu.
60735
60736        * platform/gtk/ContextMenuGtk.cpp:
60737        (WebCore::menuItemActivated):
60738        (WebCore::ContextMenu::appendItem):
60739
607402008-01-07  Holger Freyther  <zecke@selfish.org>
60741
60742        Reviewed by Alp Toker.
60743
60744        * Fix SubMenu handling
60745        * Do not connect to the activated signal if we are a separator or submenu
60746        * Change our type from ActionType to SubMenuType when we have a submenu
60747        * Initialize the SubMenu
60748
60749        * platform/gtk/ContextMenuGtk.cpp:
60750        (WebCore::ContextMenu::appendItem):
60751        * platform/gtk/ContextMenuItemGtk.cpp:
60752        (WebCore::ContextMenuItem::ContextMenuItem):
60753        (WebCore::ContextMenuItem::createNativeMenuItem):
60754        (WebCore::ContextMenuItem::setSubMenu):
60755
607562008-01-07  Holger Freyther  <zecke@selfish.org>
60757
60758        Reviewed by Alp Toker.
60759
60760        * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
60761        actions.
60762        * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
60763        * Update the ContextMenuController to accept CheckableActionTypes as well.
60764        * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
60765        was extracted from ContextMenu::checkOrEnableIfNeeded.
60766        * Update the Qt and Windows port.
60767
60768
60769        * page/ContextMenuController.cpp:
60770        * platform/ContextMenu.cpp:
60771        (WebCore::createAndAppendFontSubMenu):
60772        (WebCore::createAndAppendSpellingAndGrammarSubMenu):
60773        (WebCore::createAndAppendSpellingSubMenu):
60774        (WebCore::createAndAppendWritingDirectionSubMenu):
60775        * platform/ContextMenuItem.h:
60776        * platform/gtk/ContextMenuItemGtk.cpp:
60777        (WebCore::ContextMenuItem::ContextMenuItem):
60778        (WebCore::ContextMenuItem::createNativeMenuItem):
60779
607802008-01-07  Luca Bruno  <lethalman88@gmail.com>
60781
60782        Reviewed by Alp Toker.
60783
60784        http://bugs.webkit.org/show_bug.cgi?id=16745
60785        [GTK] Context menu doesn't feel or look native - no icons
60786
60787        Use GTK+ stock icons for menu items where possible.
60788
60789        * platform/gtk/ContextMenuItemGtk.cpp:
60790        (WebCore::gtkStockIDFromContextMenuAction):
60791        (WebCore::ContextMenuItem::createNativeMenuItem):
60792        (WebCore::ContextMenuItem::setAction):
60793
607942008-01-07  Dan Bernstein  <mitz@apple.com>
60795
60796        Reviewed by John Sullivan.
60797
60798        - make the ATSUI code path work with custom fonts rather than crash
60799
60800        * platform/graphics/mac/FontCustomPlatformData.cpp:
60801        (WebCore::FontCustomPlatformData::fontPlatformData):
60802        * platform/graphics/mac/FontMac.mm:
60803        (WebCore::initializeATSUStyle):
60804
608052008-01-07  Thiago Macieira  <thiago.macieira@trolltech.com>
60806
60807        Reviewed by Simon.
60808
60809        abort() now emits the signals, so disconnect them before you abort()
60810
60811        * platform/network/qt/QNetworkReplyHandler.cpp:
60812        (WebCore::QNetworkReplyHandler::abort):
60813
608142008-01-07  Simon Hausmann  <hausmann@webkit.org>
60815
60816        Reviewed by Lars.
60817
60818        Use a faster and safer way of flattening the form data.
60819
60820        * platform/network/qt/QNetworkReplyHandler.cpp:
60821        (WebCore::QNetworkReplyHandler::start):
60822
608232008-01-07  Simon Hausmann  <hausmann@webkit.org>
60824
60825        Reviewed by Lars.
60826
60827        Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
60828
60829        * WebCore.pro:
60830        * platform/network/ResourceHandleInternal.h:
60831        * platform/network/qt/QNetworkReplyHandler.cpp: Added.
60832        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
60833        (WebCore::QNetworkReplyHandler::abort):
60834        (WebCore::QNetworkReplyHandler::finish):
60835        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
60836        (WebCore::QNetworkReplyHandler::forwardData):
60837        (WebCore::QNetworkReplyHandler::start):
60838        * platform/network/qt/QNetworkReplyHandler.h: Added.
60839        (WebCore::QNetworkReplyHandler::reply):
60840        * platform/network/qt/ResourceHandleQt.cpp:
60841        (WebCore::ResourceHandle::start):
60842        (WebCore::ResourceHandle::cancel):
60843        (WebCore::ResourceHandle::loadResourceSynchronously):
60844        * platform/network/qt/ResourceRequest.h:
60845        (WebCore::ResourceRequest::ResourceRequest):
60846        * platform/network/qt/ResourceRequestQt.cpp: Added.
60847        (WebCore::ResourceRequest::toNetworkRequest):
60848        * platform/qt/MIMETypeRegistryQt.cpp:
60849        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
60850        * platform/qt/PlugInInfoStoreQt.cpp:
60851        (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
60852        (WebCore::PlugInInfoStore::pluginCount):
60853        (WebCore::PlugInInfoStore::pluginNameForMIMEType):
60854
608552008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
60856
60857        Reviewed by Lars.
60858
60859        * Remove m_dirtyRegion as it is not used as we pass every dirty region
60860        directly to the ChromeClient
60861
60862        * platform/qt/ScrollViewQt.cpp:
60863        (WebCore::ScrollView::paint):
60864
608652008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
60866
60867        Reviewed by Oliver.
60868
60869        Small CG paint server cleanups - use more GraphicsContext method where possible.
60870
60871        * svg/graphics/cg/CgSupport.cpp:
60872        (WebCore::applyStrokeStyleToContext):
60873        (WebCore::strokeBoundingBox):
60874        * svg/graphics/cg/CgSupport.h:
60875        * svg/graphics/cg/RenderPathCg.cpp:
60876        (WebCore::RenderPath::strokeContains):
60877        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
60878        (WebCore::SVGPaintServerGradient::setup):
60879        * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
60880        (WebCore::SVGPaintServerPattern::setup):
60881        * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
60882        (WebCore::SVGPaintServerSolid::setup):
60883
608842008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
60885
60886        Reviewed by Dan.
60887
60888        Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
60889
60890        * platform/graphics/mac/FontMac.mm:
60891        (WebCore::ATSULayoutParameters::initialize):
60892
608932008-01-06  Andrew Wellington  <proton@wiretapped.net>
60894
60895        Reviewed by Darin.
60896        
60897        DOMRange doesn't correctly re-size when inserting items (Acid3)
60898        http://bugs.webkit.org/show_bug.cgi?id=16764
60899        
60900        Update the offset for the range when inserting items into the range.
60901
60902        Test: fast/dom/Range/range-modifycontents.html
60903
60904        * dom/Range.cpp:
60905        (WebCore::Range::insertNode):
60906
609072008-01-06  Alexey Proskuryakov  <ap@webkit.org>
60908
60909        Reviewed by Darin.
60910
60911        http://bugs.webkit.org/show_bug.cgi?id=16731
60912        Incorrect node type for whitespace when setting innerHTML in an XHTML document
60913
60914        Test: fast/dom/xhtml-fragment-whitespace.xhtml
60915
60916        * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
60917        Use balancedCharactersHandler for ignorable whitespace.
60918
609192008-01-06  Alexey Proskuryakov  <ap@webkit.org>
60920
60921        Reviewed by Darin.
60922
60923        http://bugs.webkit.org/show_bug.cgi?id=16701
60924        <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
60925        causes page load error
60926
60927        Test: http/tests/misc/location-with-space.php
60928
60929        * platform/network/cf/ResourceRequestCFNet.cpp:
60930        (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
60931
609322008-01-06  Andrew Wellington  <proton@wiretapped.net>
60933
60934        Reviewed by Darin.
60935        
60936        DOMRange.cloneContents does not work (Acid3 bug)
60937        http://bugs.webkit.org/show_bug.cgi?id=16748
60938        
60939        When cloning an empty range, return an empty DocmentFragment instead of
60940        null or undefined.
60941
60942        Test: fast/dom/Range/range-clone-empty.html
60943
60944        * dom/Range.cpp:
60945        (WebCore::Range::processContents):
60946
609472008-01-06  Luca Bruno  <lethalman88@gmail.com>
60948
60949        Reviewed by Alp Toker.
60950
60951        Remove curl handles immediately if the timer is not running.
60952
60953        * platform/network/curl/ResourceHandleManager.cpp:
60954        (WebCore::ResourceHandleManager::cancel):
60955
609562008-01-06  Alp Toker  <alp@atoker.com>
60957
60958        Reviewed by Eric.
60959
60960        Cairo canvas refcounting fix. Reference the surface in the constructor
60961        to match its destruction in the destructor.
60962
60963        Fixes a crash triggered by leaving this page:
60964          http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
60965
60966        * html/CanvasPattern.cpp:
60967        (WebCore::CanvasPattern::CanvasPattern):
60968
609692008-01-06  Eric Seidel  <eric@webkit.org>
60970
60971        Reviewed by darin.
60972
60973        Make attr selectors case-insensitive for certain HTML attributes
60974        http://bugs.webkit.org/show_bug.cgi?id=15470
60975
60976        Test: fast/css/html-attr-case-sensitivity.html
60977
60978        * css/CSSStyleSelector.cpp:
60979        (WebCore::addLocalNameToSet):
60980        (WebCore::createHtmlCaseInsensitiveAttributesSet):
60981        (WebCore::htmlAttributeHasCaseInsensitiveValue):
60982        (WebCore::CSSStyleSelector::checkOneSelector):
60983
609842008-01-06  Eric Seidel  <eric@webkit.org>
60985
60986        Reviewed by Sam.
60987
60988        Fix :checked matching type='text' and add test case
60989        http://bugs.webkit.org/show_bug.cgi?id=16750
60990
60991        Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
60992
60993        * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
60994
609952008-01-05  Sam Weinig  <sam@webkit.org>
60996
60997        Reviewed by Eric Seidel.
60998
60999        Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
61000        ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
61001
61002        - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
61003
61004        Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
61005
61006        * dom/TreeWalker.cpp:
61007        (WebCore::TreeWalker::parentNode):
61008        (WebCore::TreeWalker::firstChild):
61009        (WebCore::TreeWalker::lastChild):
61010        (WebCore::TreeWalker::previousSibling):
61011        (WebCore::TreeWalker::nextSibling):
61012        (WebCore::TreeWalker::previousNode):
61013        (WebCore::TreeWalker::nextNode):
61014
610152008-01-04  Oliver Hunt  <oliver@apple.com>
61016
61017        Reviewed by Beth Dakin.
61018
61019        Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
61020        and other image repaint bugs.
61021
61022        We now cache the full local bounds for the <image> element, as otherwise certain
61023        combinations of attribute changes could result in incorrect dirty rects.
61024        Additionally we no longer use any of the integer bounds fields on RenderObject for
61025        determining repaint bounds (this was the principle cause of bug #16015).
61026
61027        I also removed the outline painting code as it was both wrong, and not correctly
61028        repainted.  I feel safe doing this as no other browser or viewer supports outline
61029        properties on svg elements.
61030
61031        I was unable to make a testcase for this unfortunately, despite seemingly deterministic 
61032        behaviour :(
61033
61034        * rendering/RenderSVGImage.cpp:
61035        (WebCore::RenderSVGImage::layout):
61036        (WebCore::RenderSVGImage::paint):
61037        (WebCore::RenderSVGImage::nodeAtPoint):
61038        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
61039        * rendering/RenderSVGImage.h:
61040
610412008-01-04  Beth Dakin  <bdakin@apple.com>
61042
61043        Reviewed by Oliver.
61044
61045        Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with 
61046        type="hidden" matches :enabled/:disabled (Acid3 bug)
61047
61048        Prevent :enabled and :disabled from applying to input type="hidden" 
61049
61050        * css/CSSStyleSelector.cpp:
61051        (WebCore::CSSStyleSelector::checkOneSelector): Rather than 
61052        allowing :enabled and :disabled to apply to all controls, only 
61053        allow it to apply to non-"hidden" controls
61054        * dom/Element.h:
61055        (WebCore::Element::isInputTypeHidden): 
61056        * html/HTMLInputElement.h:
61057        (WebCore::HTMLInputElement::isInputTypeHidden):
61058
610592008-01-04  Sam Weinig  <sam@webkit.org>
61060
61061        Reviewed by Oliver Hunt.
61062
61063        - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
61064          getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
61065          if the type of the CSSPrimitiveValue is not the same as the type requested.
61066        - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
61067
61068        Test: fast/css/CSSPrimitiveValue-exceptions.html
61069
61070        * css/CSSPrimitiveValue.cpp:
61071        (WebCore::CSSPrimitiveValue::getDoubleValue):
61072        (WebCore::CSSPrimitiveValue::getStringValue):
61073        (WebCore::CSSPrimitiveValue::getCounterValue):
61074        (WebCore::CSSPrimitiveValue::getRectValue):
61075        (WebCore::CSSPrimitiveValue::getRGBColorValue):
61076        (WebCore::CSSPrimitiveValue::getPairValue):
61077        * css/CSSPrimitiveValue.h:
61078        (WebCore::CSSPrimitiveValue::getFloatValue):
61079        (WebCore::CSSPrimitiveValue::getIntValue):
61080        (WebCore::CSSPrimitiveValue::getCounterValue):
61081        (WebCore::CSSPrimitiveValue::getRectValue):
61082        (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
61083        * css/CSSPrimitiveValue.idl:
61084
610852008-01-04  Antti Koivisto  <antti@apple.com>
61086
61087        Reviewed by Darin.
61088        
61089        Windows part of <rdar://problem/5647034>
61090        Media tests crash if an old version of QuickTime is installed
61091
61092        Check QuickTime version on Windows too.
61093
61094        * platform/graphics/MediaPlayer.cpp:
61095        (WebCore::MediaPlayer::isAvailable):
61096        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
61097        (WebCore::MediaPlayerPrivate::isAvailable):
61098        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
61099        (WebCore::MediaPlayerPrivate::isAvailable):
61100        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
61101        * platform/graphics/win/QTMovieWin.cpp:
61102        (QTMovieWin::initializeQuickTime):
61103
611042008-01-04  Darin Adler  <darin@apple.com>
61105
61106        Reviewed by Maciej and Alice.
61107
61108        - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
61109
61110        Test: fast/images/border.html
61111
61112        * html/HTMLImageElement.cpp:
61113        (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
61114        where the border value is not a number to use the value "0" for the border width instead
61115        of not setting the border width and style at all. This matches other browsers, and makes
61116        more sense.
61117
611182008-01-04  Antti Koivisto  <antti@apple.com>
61119
61120        Try to fix 64-bit build
61121
61122        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
61123        (WebCore::MediaPlayerPrivate::isAvailable):
61124
611252008-01-04  Stephanie  <slewis@apple.com>
61126
61127        Reviewed by Oliver.
61128
61129        WARNING: NO TEST CASES ADDED OR CHANGED
61130
61131        Fix another stringImpl leak.
61132
61133        * platform/text/StringImpl.cpp: remove an extra allocation
61134        (WebCore::StringImpl::StringImpl):
61135
611362008-01-04  Alice Liu  <alice.liu@apple.com>
61137
61138        Reviewed by Mitz.
61139
61140        * platform/graphics/win/FontCacheWin.cpp:
61141        fix loop condition that was causing crash
61142
611432008-01-04  Timothy Hatcher  <timothy@apple.com>
61144
61145        Reviewed by Adam Roben.
61146
61147        <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
61148
61149        * page/inspector/inspector.css: Remove styles related to the toggle button
61150          and make the area always visible. 
61151        * page/inspector/inspector.html: Remove the toggle button.
61152        * page/inspector/inspector.js: Remove code to toggle the status area.
61153
611542008-01-04  Alexey Proskuryakov  <ap@webkit.org>
61155
61156        Reviewed by Adam Roben.
61157
61158        Temporarily restore BackwardDelete for Windows nightlies to work correctly.
61159
61160        * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
61161
611622008-01-04  Alexey Proskuryakov  <ap@webkit.org>
61163
61164        Reviewed by Darin.
61165
61166        <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
61167
61168        Enable the fix on Windows.
61169
61170        * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
61171        Always set a custom sort function, even if it doesn't implement proper collation on the platform.
61172
61173        * xml/XSLTUnicodeSort.cpp:
61174        (WebCore::xsltUnicodeSortFunction):
61175        * xml/XSLTUnicodeSort.h:
61176        If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
61177
611782008-01-04  Antti Koivisto  <antti@apple.com>
61179
61180        Fix build.
61181
61182        * bindings/js/JSHTMLElementWrapperFactory.cpp:
61183
611842008-01-04  Antti Koivisto  <antti@apple.com>
61185
61186        Reviewed by Darin.
61187        
61188        Partial fix for <rdar://problem/5647034>
61189        Media tests crash if an old version of QuickTime is installed
61190
61191        Disable media support if QuickTime is not current enough (>=7.3).
61192        
61193        Windows patch coming soon.
61194
61195        * bindings/js/JSHTMLElementWrapperFactory.cpp:
61196        (WebCore::createJSHTMLWrapper):
61197        * bindings/js/kjs_window.cpp:
61198        (KJS::Window::getValueProperty):
61199        * html/HTMLElementFactory.cpp:
61200        (WebCore::audioConstructor):
61201        (WebCore::videoConstructor):
61202        (WebCore::sourceConstructor):
61203        * platform/graphics/MediaPlayer.cpp:
61204        (WebCore::MediaPlayer::isAvailable):
61205        * platform/graphics/MediaPlayer.h:
61206        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
61207        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
61208        (WebCore::MediaPlayerPrivate::isAvailable):
61209
612102008-01-04  Timothy Hatcher  <timothy@apple.com>
61211
61212        Reviewed by Darin Adler.
61213
61214        <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
61215
61216        Check if the property is a getter before asking for the value.
61217        If the property is a getter, we no longer show the value.
61218
61219        * page/inspector/PropertiesSidebarPane.js:
61220        * page/inspector/inspector.css:
61221
612222008-01-04  Dan Bernstein  <mitz@apple.com>
61223
61224        Reviewed by Darin Adler.
61225
61226        - fix synthetic bold and italic on Windows
61227
61228        Covered by an existing test.
61229
61230        * platform/graphics/win/FontPlatformDataWin.cpp:
61231        (WebCore::FontPlatformData::FontPlatformData):
61232
612332008-01-04  Alp Toker  <alp@atoker.com>
61234
61235        GTK+ autotools build fix. Terminate empty rules.
61236
61237        * GNUmakefile.am:
61238
612392008-01-04  Lars Knoll  <lars@trolltech.com>
61240
61241        Reviewed by Simon.
61242
61243        Remove most dependencies of Widget/ScrollView onto native QWidgets.
61244
61245        This also brings the code closer in line with the Windows code. Seems
61246        to work nicely on first try :)
61247
61248        * page/qt/FrameQt.cpp:
61249        (WebCore::Frame::createScriptInstanceForWidget):
61250        * platform/Widget.h:
61251        * platform/qt/PlatformScreenQt.cpp:
61252        (WebCore::screenDepth):
61253        (WebCore::screenDepthPerComponent):
61254        (WebCore::screenIsMonochrome):
61255        (WebCore::screenRect):
61256        * platform/qt/PlatformScrollBarQt.cpp:
61257        (WebCore::PlatformScrollbar::thumbPosition):
61258        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
61259        * platform/qt/ScrollViewQt.cpp:
61260        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
61261        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
61262        (WebCore::ScrollView::updateContents):
61263        (WebCore::ScrollView::update):
61264        (WebCore::ScrollView::scrollRectIntoViewRecursively):
61265        (WebCore::ScrollView::updateScrollbars):
61266        (WebCore::ScrollView::addChild):
61267        (WebCore::ScrollView::removeChild):
61268        (WebCore::ScrollView::paint):
61269        * platform/qt/WidgetQt.cpp:
61270        (WebCore::WidgetPrivate::WidgetPrivate):
61271        (WebCore::WidgetPrivate::~WidgetPrivate):
61272        (WebCore::Widget::frameGeometry):
61273        (WebCore::Widget::setFrameGeometry):
61274        (WebCore::Widget::setCursor):
61275        (WebCore::Widget::show):
61276        (WebCore::Widget::hide):
61277        (WebCore::Widget::nativeWidget):
61278        (WebCore::Widget::setNativeWidget):
61279        (WebCore::Widget::suppressInvalidation):
61280        (WebCore::Widget::setSuppressInvalidation):
61281        (WebCore::Widget::invalidateRect):
61282        (WebCore::Widget::topLevel):
61283        (WebCore::Widget::containingWindow):
61284
612852008-01-04  Lars Knoll  <lars@trolltech.com>
61286
61287        Reviewed by Simon.
61288
61289        make QWebPage a QObject and get things to compile.
61290
61291        Nothing works currently though.
61292
61293        * platform/qt/ScrollViewQt.cpp:
61294        (WebCore::ScrollView::updateContents):
61295        (WebCore::ScrollView::update):
61296        * platform/qt/WidgetQt.cpp:
61297        (WebCore::Widget::qwidget):
61298        (WebCore::Widget::invalidateRect):
61299
613002008-01-04  Alp Toker  <alp@atoker.com>
61301
61302        Reviewed by Mark Rowe.
61303
61304        http://bugs.webkit.org/show_bug.cgi?id=16667
61305        make -j is failing with the autotools based system
61306
61307        Support parallel code generation. Nearly every use of explicit
61308        multiple targets was a potential concurrency bug, though in practice
61309        the bison rules were the first to be noticed because they took longer
61310        to complete and broke the build immediately.
61311
61312        * GNUmakefile.am:
61313
613142008-01-04  Alp Toker  <alp@atoker.com>
61315
61316        Reviewed by Mark Rowe.
61317
61318        Re-use a single static dummy surface rather than creating and
61319        destroying a surface for each CairoPath.
61320
61321        * platform/graphics/cairo/CairoPath.h:
61322        (WebCore::CairoPath::CairoPath):
61323
613242008-01-04  Mark Rowe  <mrowe@apple.com>
61325
61326        Tiger build fix.
61327
61328        * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
61329
613302008-01-03  Mark Rowe  <mrowe@apple.com>
61331
61332        Reviewed by Maciej Stachowiak.
61333
61334        Use platform-provided atomic operations in place of inline assembly to
61335        increase portability.
61336
61337        * platform/Threading.h:
61338        (WebCore::atomicIncrement):
61339        (WebCore::atomicDecrement):
61340
613412008-01-03  Oliver Hunt  <oliver@apple.com>
61342
61343        Reviewed by Maciej.
61344
61345        Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
61346
61347        We need to cache the absolute bounds of the <image>,
61348        as there's no reliable way to recompute the old bounding
61349        box one we have started layout.
61350
61351        * rendering/RenderSVGImage.cpp:
61352        (WebCore::RenderSVGImage::layout):
61353        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
61354        * rendering/RenderSVGImage.h:
61355
613562008-01-03  Alp Toker  <alp@atoker.com>
61357
61358        Reviewed by Mark Rowe.
61359
61360        Support building in Scratchbox, which has a version of make that fails
61361        on wildcard syntax. Use a vpath to match IDL files instead.
61362
61363        * GNUmakefile.am:
61364
613652008-01-03  Jon Honeycutt  <jhoneycutt@apple.com>
61366
61367        Reviewed by Darin.
61368
61369        <rdar://problem/5504775> PDF page will not load first time after Adobe
61370        Reader install, unless browser is relaunched
61371
61372        Refresh and re-search the plugin database if the MIME type is not
61373        registered.
61374
61375        * plugins/win/PluginDatabaseWin.cpp:
61376        (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
61377        * plugins/win/PluginDatabaseWin.h:
61378
613792008-01-03  Dan Bernstein  <mitz@apple.com>
61380
61381        Reviewed by Darin Adler.
61382
61383        - fix http://bugs.webkit.org/show_bug.cgi?id=16548
61384          <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
61385
61386        * platform/graphics/win/FontCacheWin.cpp:
61387        (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
61388        a valid LOGFONT for a given family.
61389        (WebCore::getLinkedFonts): Added. Returns a vector of font families
61390        linked to the given font family by the Windows registry key
61391        HKLM\Software\...\FontLink\SystemLink. The registry values typically
61392        differ based on the installed language version of Windows.
61393        (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
61394        font mapping, which is Windows code page based, except for characters in
61395        the range U+2000..U+200F. Instead, this function gets the font Uniscribe
61396        would use for the character. However, that font might not actually
61397        contain the character, in which case GDI font linking would substitute a
61398        different font. Therefore, this function walks the linked font list
61399        until it finds a font that actually contains the character.
61400
614012008-01-03  Darin Adler  <darin@apple.com>
61402
61403        Reviewed by Mitz.
61404
61405        - fix http://bugs.webkit.org/show_bug.cgi?id=16723
61406          tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
61407
61408        Test: fast/table/border-changes.html
61409
61410        * html/HTMLTableElement.h:
61411        * html/HTMLTableElement.cpp:
61412        (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
61413        parsing attributes, rather than doing this only for the rules attribute.
61414        (WebCore::HTMLTableElement::cellBorders): Added.
61415        (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
61416        rule about what type of borders to use.
61417
614182008-01-02  Sam Weinig  <sam@webkit.org>
61419
61420        Reviewed by Darin.
61421
61422        Pass the prototype of WebCore JS objects up the constructor chain
61423        rather than explicitly setting using setPrototype.  This removes many
61424        redundant settings of the prototype on construction.  To avoid a CG 
61425        hazard, the prototype must be constructed before calling the
61426        constructor of the JS object.
61427
61428        - JS objects that inherit from DOMObject, which all bindings objects
61429          (except Window) do, now can't implicitly have a jsNull prototype, but
61430          must explicitly pass it up the construction chain.
61431
61432        * bindings/js/JSCSSRuleCustom.cpp:
61433        (WebCore::toJS):
61434        * bindings/js/JSCSSValueCustom.cpp:
61435        (WebCore::toJS):
61436        * bindings/js/JSDocumentCustom.cpp:
61437        (WebCore::toJS):
61438        * bindings/js/JSEventCustom.cpp:
61439        (WebCore::toJS):
61440        * bindings/js/JSEventTargetNode.cpp:
61441        (WebCore::JSEventTargetNode::JSEventTargetNode):
61442        * bindings/js/JSEventTargetNode.h:
61443        * bindings/js/JSHTMLAllCollection.h:
61444        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
61445        * bindings/js/JSHTMLAudioElementConstructor.cpp:
61446        (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
61447        * bindings/js/JSHTMLCollectionCustom.cpp:
61448        (WebCore::getNamedItems):
61449        (WebCore::toJS):
61450        * bindings/js/JSHTMLElementWrapperFactory.cpp:
61451        (WebCore::createJSHTMLWrapper):
61452        * bindings/js/JSHTMLFormElementCustom.cpp:
61453        (WebCore::JSHTMLFormElement::nameGetter):
61454        * bindings/js/JSHTMLInputElementBase.cpp:
61455        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
61456        * bindings/js/JSHTMLInputElementBase.h:
61457        * bindings/js/JSHTMLOptionElementConstructor.cpp:
61458        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
61459        * bindings/js/JSLocation.cpp:
61460        (WebCore::JSLocation::JSLocation):
61461        * bindings/js/JSLocation.h:
61462        * bindings/js/JSNamedNodesCollection.cpp:
61463        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
61464        * bindings/js/JSNamedNodesCollection.h:
61465        * bindings/js/JSNodeCustom.cpp:
61466        (WebCore::toJS):
61467        * bindings/js/JSSVGElementWrapperFactory.cpp:
61468        (WebCore::createJSSVGWrapper):
61469        * bindings/js/JSSVGPathSegCustom.cpp:
61470        (WebCore::toJS):
61471        * bindings/js/JSStyleSheetCustom.cpp:
61472        (WebCore::toJS):
61473        * bindings/js/JSXMLHttpRequest.cpp:
61474        (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
61475        (KJS::JSXMLHttpRequestConstructorImp::construct):
61476        (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
61477        * bindings/js/JSXMLHttpRequest.h:
61478        * bindings/js/JSXSLTProcessor.cpp:
61479        (KJS::JSXSLTProcessor::JSXSLTProcessor):
61480        (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
61481        (KJS::XSLTProcessorConstructorImp::implementsConstruct):
61482        (KJS::XSLTProcessorConstructorImp::construct):
61483        * bindings/js/JSXSLTProcessor.h:
61484        * bindings/js/kjs_binding.h:
61485        (KJS::DOMObject::DOMObject):
61486        (KJS::cacheDOMObject):
61487        (KJS::cacheSVGDOMObject):
61488        * bindings/js/kjs_css.cpp:
61489        (WebCore::JSRGBColor::JSRGBColor):
61490        (WebCore::getJSRGBColor):
61491        * bindings/js/kjs_css.h:
61492        * bindings/js/kjs_events.cpp:
61493        (WebCore::JSClipboard::JSClipboard):
61494        (WebCore::toJS):
61495        * bindings/js/kjs_events.h:
61496        * bindings/js/kjs_html.cpp:
61497        (WebCore::ImageConstructorImp::ImageConstructorImp):
61498        * bindings/js/kjs_navigator.cpp:
61499        (KJS::Navigator::Navigator):
61500        (KJS::PluginBase::PluginBase):
61501        * bindings/js/kjs_navigator.h:
61502        * bindings/js/kjs_window.cpp:
61503        (KJS::Window::Window):
61504        (KJS::Window::location):
61505        (KJS::Window::getValueProperty):
61506        * bindings/js/kjs_window.h:
61507        * bindings/scripts/CodeGeneratorJS.pm:
61508
615092008-01-03  Holger Hans Peter Freyther  <zecke@selfish.org>
61510
61511        Reviewed by Alp.
61512
61513        -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
61514
61515        Change the Gtk ContextMenuItem code to generate the GtkMenuItem
61516        or GtkCheckMenuItem on the fly. Currently we will create a
61517        GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
61518        to be done is to change WebCore to tell the platform code if an item
61519        is checkable or not.
61520
61521        * platform/ContextMenuItem.h:
61522        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
61523        * platform/gtk/ContextMenuGtk.cpp:
61524        (WebCore::ContextMenu::appendItem):
61525        * platform/gtk/ContextMenuItemGtk.cpp:
61526        (WebCore::ContextMenuItem::ContextMenuItem):
61527        (WebCore::ContextMenuItem::~ContextMenuItem):
61528        (WebCore::ContextMenuItem::createNativeMenuItem):
61529        (WebCore::ContextMenuItem::releasePlatformDescription):
61530        (WebCore::ContextMenuItem::type):
61531        (WebCore::ContextMenuItem::setType):
61532        (WebCore::ContextMenuItem::action):
61533        (WebCore::ContextMenuItem::setAction):
61534        (WebCore::ContextMenuItem::platformSubMenu):
61535        (WebCore::ContextMenuItem::setSubMenu):
61536        (WebCore::ContextMenuItem::setChecked):
61537
615382008-01-03  Dan Bernstein  <mitz@apple.com>
61539
61540        Rubber-stamped by Adam Roben.
61541
61542        - update the project hierarchy to match the on-disk organization of
61543          the platform directory.
61544
61545        * WebCore.vcproj/WebCore.vcproj:
61546
615472008-01-03  Adam Roben  <aroben@apple.com>
61548
61549        Fix a buffer overrun and a leak introduced in r29098
61550
61551        Reviewed by Mark.
61552
61553        * platform/text/StringImpl.cpp:
61554        (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
61555        it be big enough to hold the string contents plus the null terminator.
61556
615572008-01-03  Simon Hausmann  <hausmann@webkit.org>
61558
61559        Reviewed by Lars.
61560
61561        Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
61562
61563        * WebCore.pro:
61564
615652008-01-03  Alp Toker  <alp@atoker.com>
61566
61567        Suggested by Mark Rowe.
61568
61569        Fix indentation and remove trailing whitespace.
61570
61571        * platform/network/curl/ResourceHandleManager.cpp:
61572
615732008-01-03  Luca Bruno  <lethalman88@gmail.com>
61574
61575        Reviewed by Alp Toker.
61576
61577        Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
61578        that the two POST methods don't conflict.
61579
61580        * platform/network/curl/ResourceHandleManager.cpp:
61581        (WebCore::ResourceHandleManager::setupPOST):
61582
615832008-01-02  Darin Adler  <darin@apple.com>
61584
61585        - touched some files to try to get the Windows buildbot building again
61586
615872008-01-02  Dan Bernstein  <mitz@apple.com>
61588
61589        Reviewed by Sam Weinig.
61590
61591        - fix small caps rendering
61592
61593        Covered by an existing test.
61594
61595        * platform/graphics/win/FontDataWin.cpp:
61596        (WebCore::FontData::smallCapsFontData):
61597
615982008-01-02  Antti Koivisto  <antti@apple.com>
61599
61600        Reviewed by Oliver.
61601
61602        Calculate video position and size within the renderer box in WebCore. This
61603        way the aspect ratio calculation is not needed in each MediaPlayer implementation.
61604        
61605        This fixes video aspect ratio on Windows.
61606        
61607        Covered by an existing pixel test.
61608
61609        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
61610        (WebCore::MediaPlayerPrivate::createQTMovieView):
61611        * rendering/RenderVideo.cpp:
61612        (WebCore::RenderVideo::videoBox):
61613        (WebCore::RenderVideo::paintReplaced):
61614        (WebCore::RenderVideo::updatePlayer):
61615        * rendering/RenderVideo.h:
61616
616172008-01-02  Ada Chan  <adachan@apple.com>
61618
61619        Fix windows build.
61620
61621        * WebCore.vcproj/WebCore.vcproj:
61622
616232008-01-02  John Sullivan  <sullivan@apple.com>
61624
61625        Reviewed by Dan Bernstein
61626        
61627        - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
61628
61629        * loader/DocumentLoader.cpp:
61630        (WebCore::canonicalizedTitle):
61631        in the code that replaces control characters with white space, also replace the unicode line separator
61632        and paragraph separator characters
61633
616342008-01-02  Darin Adler  <darin@apple.com>
61635
61636        - fix buffer overruns seen on buildbot
61637
61638        * platform/text/StringImpl.cpp:
61639        (WebCore::countCharacter): Added this.
61640        (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
61641        (WebCore::StringImpl::toLengthArray): Ditto.
61642        (WebCore::StringImpl::replace): Added assertions.
61643
616442008-01-02  Darin Adler  <darin@apple.com>
61645
61646        Reviewed by Maciej.
61647
61648        - fix http://bugs.webkit.org/show_bug.cgi?id=16657
61649          Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
61650        - fix http://bugs.webkit.org/show_bug.cgi?id=16659
61651          Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
61652
61653        Tests: dom/html/level2/html/HTMLCollection07.html
61654               dom/html/level2/html/HTMLCollection08.html
61655               dom/html/level2/xhtml/HTMLCollection07.xhtml
61656               dom/html/level2/xhtml/HTMLCollection08.xhtml
61657               fast/dom/HTMLTableElement/early-acid3-65-excerpt.html
61658               fast/dom/HTMLTableElement/early-acid3-66-excerpt.html
61659
61660        * GNUmakefile.am: Added HTMLTableRowsCollection.
61661        * WebCore.pro: Ditto.
61662        * WebCore.vcproj/WebCore.vcproj: Ditto.
61663        * WebCore.xcodeproj/project.pbxproj: Ditto.
61664        * WebCoreSources.bkl: Ditto.
61665
61666        * dom/XMLTokenizer.cpp: Took out stray include.
61667
61668        * html/HTMLCollection.cpp:
61669        (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
61670        a separate class for that collection. Also got rid of the distinct types for custom collections
61671        that don't need them (use Other for both).
61672        * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
61673
61674        * html/HTMLFormCollection.cpp:
61675        (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
61676        for the HTMLCollection type.
61677
61678        * html/HTMLTableElement.cpp:
61679        (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
61680        (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
61681        keeping a pointer to it.
61682        (WebCore::HTMLTableElement::setCaption): Rewrote.
61683        (WebCore::HTMLTableElement::tHead): Ditto.
61684        (WebCore::HTMLTableElement::setTHead): Ditto.
61685        (WebCore::HTMLTableElement::tFoot): Ditto.
61686        (WebCore::HTMLTableElement::setTFoot): Ditto.
61687        (WebCore::HTMLTableElement::createTHead): Ditto.
61688        (WebCore::HTMLTableElement::deleteTHead): Ditto.
61689        (WebCore::HTMLTableElement::createTFoot): Ditto.
61690        (WebCore::HTMLTableElement::deleteTFoot): Ditto.
61691        (WebCore::HTMLTableElement::createCaption): Ditto.
61692        (WebCore::HTMLTableElement::deleteCaption): Ditto.
61693        (WebCore::HTMLTableElement::lastBody): Added.
61694        (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
61695        This is different from the old code mainly in how it handles rows outside any section.
61696        (WebCore::HTMLTableElement::deleteRow): Ditto.
61697        (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
61698        these was a possible source of serious bugs too, including crashes with stale pointers, although I
61699        didn't write any test cases to prove those bugs existed.
61700        (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
61701        just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
61702        visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
61703        (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
61704        * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
61705        things like DOM mutation events take things ot of the tree before they are safely referenced by
61706        JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
61707        firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
61708        Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
61709        unneeded friend declaration for HTMLTableCellElement.
61710        * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
61711
61712        * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
61713        collection in which order.
61714        * html/HTMLTableRowsCollection.h: Added.
61715
61716        * loader/FTPDirectoryDocument.cpp:
61717        (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
61718        coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
61719        create a tbody element.
61720
617212008-01-02  Darin Adler  <darin@apple.com>
61722
61723        Reviewed by Alice and Tim.
61724
61725        - try to fix GTK and Qt builds
61726
61727        * platform/win/ScrollViewWin.cpp:
61728        (WebCore::ScrollView::scroll): Improve logic slightly for the case of
61729        vertical scrolling when there's no vertical scroll bar.
61730
61731        * platform/gtk/ScrollViewGtk.cpp:
61732        (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
61733        should be factored differently.
61734        * platform/qt/ScrollViewQt.cpp:
61735        (WebCore::ScrollView::scroll): Ditto.
61736
617372008-01-02  Darin Adler  <darin@apple.com>
61738
61739        Reviewed by Anders.
61740
61741        - http://bugs.webkit.org/show_bug.cgi?id=16712
61742          change StringImpl to take and return PassRefPtr instead of raw pointers
61743
61744        Also eliminated use of const StringImpl. Since StringImpl is immutable there
61745        is no distinction between a const and non-const one at the moment.
61746
61747        * WebCore.base.exp: Updated.
61748
61749        * css/CSSHelper.cpp:
61750        (WebCore::parseURL): Make String directly, not by making a StringImpl.
61751        * dom/Attr.cpp:
61752        (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
61753        not via StringImpl.
61754        (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
61755        to a function that takes a String.
61756
61757        * dom/CDATASection.cpp: Removed unused constructor.
61758        (WebCore::CDATASection::cloneNode): Added a now-needed .get().
61759        (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
61760        * dom/CDATASection.h:
61761
61762        * dom/CharacterData.cpp:
61763        (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
61764        ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
61765        (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
61766        a RefPtr.
61767        (WebCore::CharacterData::setData): More of that.
61768        (WebCore::CharacterData::substringData): Ditto.
61769        (WebCore::CharacterData::appendData): Ditto.
61770        (WebCore::CharacterData::insertData): Ditto.
61771        (WebCore::CharacterData::deleteData): Ditto.
61772        (WebCore::CharacterData::replaceData): Ditto.
61773        (WebCore::CharacterData::nodeValue): Ditto.
61774        (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
61775        (WebCore::CharacterData::dump): Ditto.
61776        * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
61777        instead, but since String adds extra branches to handle 0, I figured it was
61778        more conservative to just use RefPtr. Later it would be good to figure out
61779        which is preferred style and be more consistent. Maybe we'll phase out
61780        StringImpl, or maybe we'll go the other way and use it more since it can be
61781        more efficient.
61782
61783        * dom/DOMImplementation.cpp:
61784        (WebCore::addString): Changed set to use String rather than StringImpl.
61785        (WebCore::isSVG10Feature): Ditto.
61786        (WebCore::isSVG11Feature): Ditto.
61787        (WebCore::DOMImplementation::createDocument): Replaced custom code to
61788        find a colon with a call to String::find.
61789
61790        * dom/Range.cpp:
61791        (WebCore::Range::insertNode): Updated since the result of splitText is now
61792        a PassRefPtr.
61793
61794        * dom/Text.cpp:
61795        (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
61796        result of this function be a PassRefPtr.
61797        (WebCore::Text::createRenderer): Ditto.
61798        (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
61799        * dom/Text.h:
61800
61801        * html/HTMLElement.cpp:
61802        (WebCore::HTMLElement::nodeName): Use String::upper.
61803
61804        * html/HTMLInputElement.cpp:
61805        (WebCore::numGraphemeClusters): Remove now-unneeded const.
61806        (WebCore::numCharactersInGraphemeClusters): Ditto.
61807
61808        * html/HTMLTokenizer.cpp:
61809        (WebCore::HTMLTokenizer::processToken): Updated for function name change.
61810
61811        * platform/text/AtomicString.cpp:
61812        (WebCore::CStringTranslator::translate): Updated since there is no longer
61813        a constructor that takes a string.
61814
61815        * platform/text/PlatformString.h: Added new constructors that take
61816        PassRefPtr and RefPtr. Removed misleading comment.
61817
61818        * platform/text/String.cpp:
61819        (WebCore::String::String): Changed to use StringImpl::create, which handles
61820        the empty string automatically.
61821        (WebCore::String::append): Ditto.
61822        (WebCore::String::charactersWithNullTermination): Similar.
61823        (WebCore::String::format): Ditto.
61824
61825        * platform/text/StringHash.h: Took out unneeded const.
61826
61827        * platform/text/StringImpl.cpp:
61828        (WebCore::deleteUCharVector): Changed to take a const pointer since the
61829        buffers are now const UChar buffers.
61830        (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
61831        separate init functions. The constructors are now private and used only in
61832        the create functions and one or two other places.
61833        (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
61834        (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
61835        PassRefPtr.
61836        (WebCore::StringImpl::characterStartingAt): Ditto.
61837        (WebCore::StringImpl::toLength): Ditto.
61838        (WebCore::StringImpl::toCoordsArray): Ditto.
61839        (WebCore::StringImpl::toLengthArray): Ditto.
61840        (WebCore::StringImpl::isLower): Ditto.
61841        (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
61842        don't have to use new directly here. Makes empty string handling more consistent.
61843        (WebCore::StringImpl::upper): Ditto.
61844        (WebCore::StringImpl::secure): Ditto.
61845        (WebCore::StringImpl::foldCase): Ditto.
61846        (WebCore::StringImpl::stripWhiteSpace): Ditto.
61847        (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
61848        (WebCore::StringImpl::capitalize): Ditto.
61849        (WebCore::StringImpl::toInt): Removed now-meaningless const.
61850        (WebCore::StringImpl::toInt64): Ditto.
61851        (WebCore::StringImpl::toUInt64): Ditto.
61852        (WebCore::StringImpl::toDouble): Ditto.
61853        (WebCore::StringImpl::toFloat): Ditto.
61854        (WebCore::StringImpl::find): Ditto.
61855        (WebCore::StringImpl::reverseFind): Ditto.
61856        (WebCore::StringImpl::endsWith): Ditto.
61857        (WebCore::StringImpl::replace): Ditto.
61858        (WebCore::equal): Ditto.
61859        (WebCore::equalIgnoringCase): Ditto.
61860        (WebCore::StringImpl::ascii): Ditto.
61861        (WebCore::StringImpl::defaultWritingDirection): Ditto.
61862        (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
61863        (WebCore::StringImpl::adopt): Added special case so this uses the shared
61864        empty string like other functions. Also optimized the common case where the
61865        vector happens to already have the right size so we don't do a fastRealloc
61866        at all in those cases.
61867        (WebCore::StringImpl::create): Added. These are now the public functions for
61868        creating new StringImpl objects. They all implement the shared empty string.
61869        (WebCore::StringImpl::createWithTerminatingNullCharacter):
61870        * platform/text/StringImpl.h:
61871
61872        * platform/text/cf/StringCF.cpp:
61873        (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
61874        * platform/text/cf/StringImplCF.cpp:
61875        (WebCore::StringImpl::createCFString): Removed now-obsolete const.
61876        * platform/text/mac/StringImplMac.mm:
61877        (WebCore::StringImpl::operator NSString *): Ditto.
61878        * platform/text/mac/StringMac.mm:
61879        (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
61880        * platform/text/qt/StringQt.cpp:
61881        (WebCore::String::String): Ditto.
61882        * platform/text/wx/StringWx.cpp:
61883        (WebCore::String::String): Ditto.
61884        * rendering/RenderBR.cpp:
61885        (WebCore::RenderBR::RenderBR): Ditto.
61886
61887        * rendering/RenderSVGInlineText.cpp:
61888        (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
61889        * rendering/RenderSVGInlineText.h:
61890
61891        * rendering/RenderText.cpp:
61892        (WebCore::charactersAreAllASCII): Removed now-unneeded const.
61893        * rendering/RenderTextFragment.cpp:
61894        (WebCore::RenderTextFragment::originalText): Use RefPtr.
61895
618962008-01-02  Timothy Hatcher  <timothy@apple.com>
61897
61898        Reviewed by Oliver Hunt.
61899
61900        <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
61901
61902        Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
61903        internal element lookup tables. The represented DOM node object still holds the identifier
61904        it was assigned, and a later call to findTreeElement will use that original identifier
61905        against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
61906
61907        * page/inspector/treeoutline.js:
61908        (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
61909        but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
61910        instead of an early return.
61911
619122008-01-02  Alice Liu  <alice.liu@apple.com>
61913
61914        Reviewed by Maciej.
61915
61916        Fixed <rdar://5283861> (problems scrolling in gmail message content area)
61917
61918        * platform/ScrollView.h:
61919        * platform/win/ScrollViewWin.cpp:
61920        (WebCore::ScrollView::scroll):
61921         Changed return value to bool to reflect success of scroll attempt
61922
619232008-01-02  Alexey Proskuryakov  <ap@webkit.org>
61924
61925        Fixed a typo (pointed out in review, but I somehow missed it at first).
61926
61927        * editing/EditorCommand.cpp: (WebCore::executeDelete):
61928
619292008-01-02  Alexey Proskuryakov  <ap@webkit.org>
61930
61931        Reviewed by Darin.
61932
61933        Resolved several FIXMEs in EditorCommand.
61934        Made recently added commands hidden from JS again.
61935        Removed BackwardDelete implementation, which used to be dead code, but got exposed now.
61936
61937        Tests: editing/execCommand/delete-no-scroll.html
61938               editing/execCommand/forward-delete-no-scroll.html
61939               editing/execCommand/insert-line-break-no-scroll.html
61940
61941        * editing/EditorCommand.cpp:
61942        (WebCore::executeDelete):
61943        (WebCore::executeForwardDelete):
61944        (WebCore::executeInsertLineBreak):
61945        (WebCore::supportedFromMenuOrKeyBinding):
61946        (WebCore::CommandEntry::):
61947
619482008-01-02  Alexey Proskuryakov  <ap@webkit.org>
61949
61950        Reviewed by Darin.
61951
61952        http://bugs.webkit.org/show_bug.cgi?id=14555
61953        action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice
61954
61955        http://bugs.webkit.org/show_bug.cgi?id=14774
61956        Submitted data only includes first input item
61957
61958        Reworked encoding of mailto URLs to match other browsers.
61959        Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit().
61960
61961        Tests: fast/forms/mailto/advanced-get.html
61962               fast/forms/mailto/advanced-put.html
61963               fast/forms/mailto/get-multiple-items-text-plain.html
61964               fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html
61965               fast/forms/mailto/get-multiple-items.html
61966               fast/forms/mailto/get-non-ascii.html
61967               fast/forms/mailto/get-non-ascii-text-plain.html
61968               fast/forms/mailto/get-overwrite-query.html
61969               fast/forms/mailto/post-append-query.html
61970               fast/forms/mailto/post-multiple-items-multipart-form-data.html
61971               fast/forms/mailto/post-multiple-items-text-plain.html
61972               fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html
61973               fast/forms/mailto/post-multiple-items.html
61974
61975        * html/HTMLFormElement.cpp:
61976        (WebCore::HTMLFormElement::submit):
61977        * loader/FrameLoader.cpp:
61978        (WebCore::FrameLoader::submitForm):
61979
619802008-01-02  Mark Rowe  <mrowe@apple.com>
61981
61982        Autotools build fix.
61983
61984        * GNUmakefile.am: Remove files before generating them, not after.
61985
619862008-01-02  Mark Rowe  <mrowe@apple.com>
61987
61988        Rubber-stamped by Alp Toker.
61989
61990        Add missing dependencies to some GNUmakefile.am rules.
61991
61992        * GNUmakefile.am:
61993
619942008-01-02  Mark Rowe  <mrowe@apple.com>
61995
61996        Reviewed by Alp Toker.
61997
61998        Autotools build fix.  Make can expand $@ to any of the targets for the rule,
61999        while we always want to use the name of the .cpp file as the output file.
62000
62001        * GNUmakefile.am:
62002
620032008-01-02  Luca Bruno  <lethalman88@gmail.com>
62004
62005        Reviewed by Alp Toker.
62006
62007        http://bugs.webkit.org/show_bug.cgi?id=16115
62008        [GTK] ContextMenu and ContextMenuItem lacks an implementation
62009
62010        Add context menu support.
62011
62012        Based on a patch by Holger Freyther.
62013
62014        * platform/gtk/ContextMenuGtk.cpp:
62015        (WebCore::menuItemActivated):
62016        (WebCore::ContextMenu::ContextMenu):
62017        (WebCore::ContextMenu::~ContextMenu):
62018        (WebCore::ContextMenu::appendItem):
62019        (WebCore::ContextMenu::setPlatformDescription):
62020        (WebCore::ContextMenu::releasePlatformDescription):
62021        * platform/gtk/ContextMenuItemGtk.cpp:
62022        (WebCore::ContextMenuItem::ContextMenuItem):
62023        (WebCore::ContextMenuItem::~ContextMenuItem):
62024        (WebCore::ContextMenuItem::releasePlatformDescription):
62025        (WebCore::ContextMenuItem::type):
62026        (WebCore::ContextMenuItem::action):
62027        (WebCore::ContextMenuItem::setAction):
62028        (WebCore::ContextMenuItem::platformSubMenu):
62029        (WebCore::ContextMenuItem::setSubMenu):
62030        (WebCore::ContextMenuItem::setChecked):
62031        (WebCore::ContextMenuItem::setEnabled):
62032
620332008-01-02  Alp Toker  <alp@atoker.com>
62034
62035        GTK+ autotools build fix. Track changes in r29073.
62036
62037        * GNUmakefile.am:
62038
620392008-01-01  Darin Adler  <darin@apple.com>
62040
62041        - fix release build
62042
62043        * bindings/js/kjs_binding.cpp:
62044        (KJS::setDOMException): Initialize to avoid uninitialized variable warning.
62045        Removed default so we get a warning if there's a missing case.
62046
620472008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
62048
62049        Scripting MIME Types application/ecmascript, application/javascript not viewable
62050        <http://bugs.webkit.org/show_bug.cgi?id=11063>
62051
62052        Reviewed by Darin.
62053
62054        This patch consolidates the list of acceptable MIME types for JavaScript
62055        source into the MIMETypeRegistry class, and replaces checks for these
62056        types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType().
62057
62058        No tests added since viewing JavaScript source is not testable.
62059
62060        * dom/DOMImplementation.cpp:
62061        (WebCore::DOMImplementation::isTextMIMEType): Use
62062        MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single
62063        hard-coded MIME type, "application/x-javascript".
62064
62065        * html/HTMLScriptElement.cpp:
62066        (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of
62067        JavaScript MIME types from here to
62068        MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes().
62069
62070        * platform/MIMETypeRegistry.cpp:
62071        (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of
62072        MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript().
62073        (WebCore::initialiseSupportedNonImageMimeTypes): Remove single
62074        hard-coded MIME type, "application/x-javascript", from the list.
62075        (WebCore::initialiseMIMETypeRegistry): Initialise
62076        supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes
62077        with values in supportedJavaScriptMIMETypes.
62078        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added.
62079
62080        * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType().
62081
620822008-01-01  Sam Weinig  <sam@webkit.org>
62083
62084        Reviewed by Darin.
62085
62086        Patch for http://bugs.webkit.org/show_bug.cgi?id=16691
62087        Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc)
62088
62089        - Create JS objects for all the different types of exceptions, each with there own prototype and constructor.
62090        - Abstract all the logic and storage for exception classes in to an ExceptionBase class.
62091        - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException).
62092
62093        Tests: fast/dom/DOMException/EventException.html
62094               fast/dom/DOMException/RangeException.html
62095               fast/dom/DOMException/XPathException.html
62096               http/tests/xmlhttprequest/XMLHttpRequestException.html
62097               svg/custom/SVGException.html
62098
62099        * DerivedSources.make:
62100        * WebCore.pro:
62101        * WebCore.vcproj/WebCore.vcproj:
62102        * WebCore.xcodeproj/project.pbxproj:
62103        * WebCoreSources.bkl:
62104        * bindings/js/JSSVGMatrixCustom.cpp:
62105        (WebCore::JSSVGMatrix::inverse):
62106        (WebCore::JSSVGMatrix::rotateFromVector):
62107        * bindings/js/kjs_binding.cpp:
62108        (KJS::setDOMException):
62109        * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined
62110        in the IDL as the ObjC bindings do.
62111        * bindings/scripts/CodeGeneratorObjC.pm:
62112        * dom/DOMCoreException.cpp: Removed.
62113        * dom/DOMCoreException.h:
62114        (WebCore::DOMCoreException::DOMCoreException):
62115        * dom/DOMCoreException.idl:
62116        * dom/Event.h:
62117        * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h.
62118        (WebCore::EventException::EventException):
62119        (WebCore::EventException::):
62120        * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl.
62121        * dom/EventTargetNode.cpp:
62122        (WebCore::EventTargetNode::dispatchEvent):
62123        * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp.
62124        (WebCore::ExceptionBase::ExceptionBase):
62125        (WebCore::ExceptionBase::toString):
62126        * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h.
62127        (WebCore::ExceptionBase::code):
62128        * dom/ExceptionCode.cpp:
62129        (WebCore::getExceptionCodeDescription):
62130        * dom/ExceptionCode.h:
62131        * dom/Range.cpp:
62132        (WebCore::Range::insertNode):
62133        (WebCore::Range::checkNodeWOffset):
62134        (WebCore::Range::checkNodeBA):
62135        (WebCore::Range::selectNode):
62136        (WebCore::Range::selectNodeContents):
62137        (WebCore::Range::surroundContents):
62138        * dom/RangeException.h:
62139        (WebCore::RangeException::RangeException):
62140        (WebCore::RangeException::):
62141        * dom/RangeException.idl:
62142        * page/DOMWindow.idl:
62143        * svg/SVGColor.cpp:
62144        (WebCore::SVGColor::setRGBColor):
62145        * svg/SVGException.h:
62146        (WebCore::SVGException::SVGException):
62147        (WebCore::SVGException::):
62148        * svg/SVGException.idl:
62149        * svg/SVGLocatable.cpp:
62150        (WebCore::SVGLocatable::getTransformToElement):
62151        * xml/XMLHttpRequest.cpp:
62152        (WebCore::XMLHttpRequest::dispatchEvent):
62153        (WebCore::XMLHttpRequest::open):
62154        (WebCore::XMLHttpRequest::send):
62155        * xml/XMLHttpRequest.h:
62156        * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h.
62157        (WebCore::XMLHttpRequestException::XMLHttpRequestException):
62158        (WebCore::XMLHttpRequestException::):
62159        * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl.
62160        * xml/XPathEvaluator.h:
62161        * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h.
62162        (WebCore::XPathException::XPathException):
62163        (WebCore::XPathException::):
62164        * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl.
62165        * xml/XPathParser.cpp:
62166        (WebCore::XPath::Parser::parseStatement):
62167        * xml/XPathResult.cpp:
62168        (WebCore::XPathResult::convertTo):
62169        (WebCore::XPathResult::numberValue):
62170        (WebCore::XPathResult::stringValue):
62171        (WebCore::XPathResult::booleanValue):
62172        (WebCore::XPathResult::singleNodeValue):
62173        (WebCore::XPathResult::snapshotLength):
62174        (WebCore::XPathResult::iterateNext):
62175        (WebCore::XPathResult::snapshotItem):
62176
621772008-01-01  Sam Weinig  <sam@webkit.org>
62178
62179        Remove JSDomExceptionConstructor.lut.h from clean step
62180        as it no longer exists.
62181
62182        * GNUmakefile.am:
62183
621842008-01-01  Dan Bernstein  <mitz@apple.com>
62185
62186        - Windows build fix
62187
62188        * WebCore.vcproj/WebCore.vcproj:
62189
621902008-01-01  Sam Weinig  <sam@webkit.org>
62191
62192        Try again to fix the builds
62193
62194        * DerivedSources.make:
62195
621962008-01-01  Sam Weinig  <sam@webkit.org>
62197
62198        Fix non-mac builds.
62199
62200        * WebCore.pro:
62201        * WebCore.vcproj/WebCore.vcproj:
62202        * WebCoreSources.bkl:
62203
622042008-01-01  Eric Seidel  <eric@webkit.org>
62205
62206        Reviewed by Alexey.
62207
62208        Don't replace \ with / in data: urls
62209        http://bugs.webkit.org/show_bug.cgi?id=16692
62210
62211        Test: fast/loader/url-data-replace-backslash.html
62212
62213        * platform/KURL.cpp:
62214        (WebCore::KURL::init):
62215
622162008-01-01  Alp Toker  <alp@atoker.com>
62217
62218        GTK+ autotools build fix. Track changes in r29051, r29058 and pass the
62219        correct parameter to AM_INIT_AUTOMAKE.
62220
62221        * GNUmakefile.am:
62222
622232007-12-31  Sam Weinig  <sam@webkit.org>
62224
62225        Reviewed by Darin.
62226
62227        Patch for http://bugs.webkit.org/show_bug.cgi?id=16637
62228        Acid3 expects ExeceptionCode constants to be defined on DOMException objects
62229
62230        - Make DOMException a real JS object.
62231
62232        Test: fast/dom/DOMException/prototype-object.html
62233
62234        * DerivedSources.make:
62235        * WebCore.xcodeproj/project.pbxproj:
62236
62237        This is no longer needed as the autogenerated classes now includes the
62238        constructor.
62239        * bindings/js/JSDOMExceptionConstructor.cpp: Removed.
62240        * bindings/js/JSDOMExceptionConstructor.h: Removed.
62241
62242        Create on demand and use the new class for DOMExceptions.
62243        * bindings/js/kjs_binding.cpp:
62244        (KJS::setDOMException):
62245
62246        Remove no longer needed custom constructor getter.
62247        * bindings/js/kjs_window.cpp:
62248        (KJS::Window::getValueProperty):
62249
62250        Don't expose DOMCoreException as the name of class by special casing
62251        the user visible class name to be DOMException.
62252        * bindings/scripts/CodeGeneratorJS.pm:
62253
62254        The DOMException class/file needs to be named DOMCoreException because there is
62255        name conflict with one of the Objective-C bindings classes.  It should be renamed
62256        to DOMException when the Objective-C bindings are moved into WebKit.
62257        * dom/DOMCoreException.cpp: Added.
62258        (WebCore::DOMCoreException::DOMCoreException):
62259        (WebCore::DOMCoreException::toString):
62260        * dom/DOMCoreException.h: Added.
62261        (WebCore::DOMCoreException::):
62262        (WebCore::DOMCoreException::code):
62263        (WebCore::DOMCoreException::name):
62264        (WebCore::DOMCoreException::message):
62265        * dom/DOMCoreException.idl: Added.
62266        * page/DOMWindow.idl:
62267
622682007-12-31  Sam Weinig  <sam@webkit.org>
62269
62270        Re-enable querySelector and querySelectorAll and touch the necessary files to not
62271        kill the windows build.
62272
62273        * WebCore.vcproj/build-generated-files.sh:
62274        * bindings/scripts/CodeGeneratorCOM.pm:
62275        * dom/Document.idl:
62276        * dom/Element.idl:
62277
622782007-12-31  Darin Adler  <darin@apple.com>
62279
62280        - fix Windows build
62281
62282        * dom/Document.idl: Temporarily disable querySelector and querySelectorAll, since they are showing
62283        up as pure virtual functions. Sam can fix this later.
62284        * dom/Element.idl: Ditto.
62285
622862007-12-31  Dan Bernstein  <mitz@apple.com>
62287
62288        Reviewed by Darin Adler.
62289
62290        - fix http://bugs.webkit.org/show_bug.cgi?id=14134
62291          <rdar://problem/5655160> REGRESSION (r25353): Whitespace nodes ignored between inline list items
62292
62293        Test: fast/dynamic/create-renderer-for-whitespace-only-text.html
62294
62295        * dom/Node.cpp:
62296        (WebCore::Node::attach): Added code to check if this node's renderer
62297        has become the "previous renderer" of any sibling text node, and if so,
62298        ensure that that node gets a renderer if it now needs one.
62299        (WebCore::Node::createRendererIfNeeded): Removed the assertion that the
62300        node is not attached.
62301
623022007-12-31  Darin Adler  <darin@apple.com>
62303
62304        Reviewed by Mitz.
62305
62306        - fix http://bugs.webkit.org/show_bug.cgi?id=16641
62307          Acid3 reveals HTMLFormElement.elements fails to update when element name changes
62308
62309        Test: fast/dom/HTMLFormElement/elements-not-in-document.html
62310
62311        This was a bug specific to forms that are not in the document tree.
62312        The fix was to change the code to increment the document version number to match
62313        up with other document change tracking. Maybe at some point we can clean these up
62314        so we don't have so many competing change notification systems.
62315
62316        * dom/ContainerNode.cpp:
62317        (WebCore::ContainerNode::replaceChild): Removed bogus comment.
62318        (WebCore::ContainerNode::addChild): Added an explicit incDOMTreeVersion
62319        call here, since this code path bypasses the subtree-modified event code.
62320
62321        * dom/Element.cpp:
62322        (WebCore::Element::setAttribute): Remove the inDocument() check -- not all HTML
62323        collections are for things in the document.
62324        (WebCore::Element::setAttributeMap): Ditto.
62325
62326        * dom/EventTargetNode.cpp:
62327        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): Added a call to
62328        incDOMTreeVersion here; covers most cases of tree structure changes.
62329
62330        * dom/Node.cpp:
62331        (WebCore::Node::attach): Remove call to incDOMTreeVersion -- creating a renderer
62332        has nothing to do with changes to the DOM tree!
62333        (WebCore::Node::detach): Ditto.
62334
62335        * html/HTMLFormElement.cpp:
62336        (WebCore::HTMLFormElement::registerFormElement): Remove call to incDOMTreeVersion.
62337        This is handled at a lower level and doesn't need to be here.
62338        (WebCore::HTMLFormElement::removeFormElement): Ditto.
62339
623402007-12-31  Henry Mason  <hmason@mac.com>
62341
62342        Reviewed by Darin.
62343
62344        Patch for http://bugs.webkit.org/show_bug.cgi?id=14994
62345        Support for MessageEvent and cross-domain messaging
62346
62347        Test: http/tests/messaging/cross-domain-message-send.html
62348
62349        * DerivedSources.make:
62350        * WebCore.pro:
62351        * WebCore.vcproj/WebCore.vcproj:
62352        * WebCore.xcodeproj/project.pbxproj:
62353        * WebCoreSources.bkl:
62354        * bindings/js/JSDOMWindowCustom.cpp:
62355        (WebCore::JSDOMWindow::customGetOwnPropertySlot): Allow cross-domain access to the
62356        postMessage function.
62357        (WebCore::JSDOMWindow::postMessage):
62358        * bindings/js/JSEventCustom.cpp:
62359        (WebCore::toJS):
62360        * dom/Event.cpp:
62361        (WebCore::Event::isMessageEvent):
62362        * dom/Event.h:
62363        * dom/EventNames.h: New event name
62364        * dom/MessageEvent.cpp: Added.
62365        * dom/MessageEvent.h: Added.
62366        * dom/MessageEvent.idl: Added.
62367        * page/DOMWindow.cpp:
62368        (WebCore::DOMWindow::postMessage): Added.
62369        * page/DOMWindow.h:
62370        * page/DOMWindow.idl:
62371
623722007-12-31  Darin Adler  <darin@apple.com>
62373
62374        Suggested by Antti.
62375
62376        - turn ENABLE_VIDEO back off for Windows until we can install QuickTime on the build bots
62377
62378        * WebCore.vcproj/WebCore.vcproj: Removed ENABLE_VIDEO.
62379        * WebCore.vcproj/build-generated-files.sh: Ditto.
62380
623812007-12-30  Alp Toker  <alp@atoker.com>
62382
62383        Reviewed by Dan Bernstein.
62384
62385        Silence warning.
62386
62387        * dom/NodeList.h:
62388
623892007-12-30  Sam Weinig  <sam@webkit.org>
62390
62391        Reviewed by Oliver Hunt.
62392
62393        Fix for http://bugs.webkit.org/show_bug.cgi?id=16387
62394        Variable names can be enumerated across domains
62395        <rdar://problem/5640454>
62396
62397        Test: http/tests/security/cross-frame-access-enumeration.html
62398
62399        * bindings/js/kjs_window.cpp:
62400        (KJS::Window::getPropertyNames): Override method to test same-origin policy.
62401        * bindings/js/kjs_window.h:
62402
624032007-12-30  Sam Weinig  <sam@webkit.org>
62404
62405        Reviewed by Oliver Hunt.
62406
62407        Patch for http://bugs.webkit.org/show_bug.cgi?id=10686
62408        event instanceof MouseEvent throws exception
62409
62410        Add JS constructors for all the Event types.
62411
62412        Test: fast/events/event-instanceof.html
62413
62414        * WebCore.xcodeproj/project.pbxproj:
62415        * dom/KeyboardEvent.idl:
62416        * dom/MouseEvent.idl:
62417        * dom/MutationEvent.idl:
62418        * dom/OverflowEvent.idl:
62419        * dom/ProgressEvent.idl:
62420        * dom/TextEvent.idl:
62421        * dom/UIEvent.idl:
62422        * dom/WheelEvent.idl:
62423        * page/DOMWindow.idl:
62424
624252007-12-30  David Kilzer  <ddkilzer@webkit.org>
62426
62427        Reviewed by Darin.
62428
62429        - fix http://bugs.webkit.org/show_bug.cgi?id=15359
62430          JPEG image not shown when height is specified as percentage inside a table
62431
62432        The problem occurs when a replaced element (image, canvas, etc.) with
62433        a percent-height attribute is contained by a table cell with an auto-
62434        or percent-height attribute.  If there are no other conditions to cause
62435        the table cell's height to expand, an available height of zero will
62436        always be returned.  In these cases, the intrinsic height of the
62437        replaced element should be used if it is greater than the available
62438        height of the table cell.
62439
62440        Tests: fast/replaced/table-percent-height.html
62441               tables/mozilla/bugs/bug137388-1.html
62442               tables/mozilla/bugs/bug137388-2.html
62443
62444        * rendering/RenderBox.cpp:
62445        (WebCore::RenderBox::calcReplacedHeightUsing):
62446
624472007-12-30  Luca Bruno  <lethalman88@gmail.com>
62448
62449        Reviewed by Alp Toker.
62450
62451        http://bugs.webkit.org/show_bug.cgi?id=16099
62452        Crash in CURL for empty POST
62453
62454        We have to set POST even when the data is empty, otherwise cURL will
62455        hang while waiting for a response.
62456
62457        * platform/network/curl/ResourceHandleManager.cpp
62458        (ResourceHandleManager::setupPOST): allow empty POST
62459
624602007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
62461
62462        Reviewed by Alp Toker.
62463
62464        Move all SVG related stuff inside SVG block. Don't include
62465        SVGNames, SVGElementFactory, and XLinkNames when SVG is not
62466        enabled
62467
62468        * GNUmakefile.am:
62469
624702007-12-29  Alexey Proskuryakov  <ap@webkit.org>
62471
62472        Reviewed by Darin.
62473
62474        http://bugs.webkit.org/show_bug.cgi?id=14428
62475        FCKEditor: Images disappear on drag/drop and copy/paste
62476
62477        Test: editing/pasteboard/drag-image-in-about-blank-frame.html
62478
62479        * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Don't use "about:blank" as a
62480        base URL, just like we don't use an empty one.
62481
624822007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
62483
62484        Reviewed by Alp Toker.
62485
62486        http://bugs.webkit.org/show_bug.cgi?id=16669
62487        autotools update and fixes
62488
62489        Autotools update and database/icon database inclusion guard fixes
62490
62491        * GNUmakefile.am:
62492          - Update autotools config as per -r29012 changes
62493          - Fix CSSGrammar.h/cpp generation (Seo Sanghyeon, sanxiyn)
62494        * dom/Document.cpp:
62495        * loader/icon/IconDatabase.h:
62496        * page/DOMWindow.cpp:
62497        * page/InspectorController.cpp:
62498        * page/Settings.cpp:
62499        * storage/Database.h:
62500          - Remove ENABLE(DATABASE) inclusion guard. Let the includer add the guard instead.
62501
625022007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62503
62504        Reviewed by Alexey.
62505
62506        Respect horiz-origin-x / horiz-origin-y / vert-origin-x / vert-origin-y properties when drawing SVG Fonts.
62507        (Fixes fonts-elem-05-t.svg in a --svg-fonts build)
62508
62509        * svg/SVGFont.cpp:
62510        (WebCore::Font::drawGlyphsWithSVGFont):
62511
625122007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62513
62514        Reviewed by Oliver.
62515
62516        Further SVG Font work. Parse all <glyph> attributes, using SVGGlyphElement::buildGlyphIdentifier.
62517        SVGFontElement::collectGlyphs() now uses this method. Per character advance values work well now.
62518
62519        * platform/graphics/FontData.cpp:
62520        (WebCore::SVGFontData::convertEmUnitToPixel): Add helper function.
62521        (WebCore::FontData::ascent):
62522        (WebCore::FontData::descent):
62523        * platform/graphics/FontData.h:
62524        * svg/SVGFont.cpp:
62525        (WebCore::isVerticalWritingMode): Add helper function.
62526        (WebCore::Font::drawGlyphsWithSVGFont):
62527        * svg/SVGFontElement.cpp:
62528        (WebCore::SVGFontElement::collectGlyphs): Simplified implementation - SVGGlyphIdentifier now build by SVGGlyphElement.
62529        * svg/SVGGlyphElement.cpp:
62530        (WebCore::parseArabicForm): Helper function.
62531        (WebCore::parseOrientation): Ditto.
62532        (WebCore::parsePathData): Ditto.
62533        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
62534        * svg/SVGGlyphElement.h:
62535        (WebCore::SVGGlyphElement::rendererIsNeeded):
62536
625372007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62538
62539        Reviewed by Oliver.
62540
62541        Refactor SVGAnimationElement::parseValues into a generic function parseDelimitedString.
62542        SVGAnimationElement needs to parse semicolon-seperated strings, SVGGlyphElement comma-seperated.
62543
62544        * svg/SVGAnimationElement.cpp:
62545        (WebCore::SVGAnimationElement::parseMappedAttribute):
62546        * svg/SVGParserUtilities.cpp:
62547        (WebCore::parseDelimitedString):
62548        * svg/SVGParserUtilities.h:
62549
625502007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62551
62552        Reviewed by Maciej.
62553
62554        Add new helper structure SVGFontData - FontData holds this object as OwnPtr.
62555        Store several attribute values there (horiz-adv-x, horiz-origin-x etc..)
62556
62557        To optimize for the common case ('FontData' used for HTML rendering) it feels
62558        better to hold one OwnPtr in FontData, than several floats.
62559
62560        Parse all <font> attributes in SVGFontFaceElement::createFontData.
62561
62562        * platform/graphics/FontData.cpp:
62563        (WebCore::SVGFontData::SVGFontData):
62564        (WebCore::FontData::FontData):
62565        (WebCore::FontData::ascent):
62566        (WebCore::FontData::descent):
62567        * platform/graphics/FontData.h:
62568        (WebCore::FontData::isSVGFont):
62569        (WebCore::FontData::svgFontData):
62570        * svg/SVGFont.cpp:
62571        (WebCore::Font::drawGlyphsWithSVGFont):
62572        * svg/SVGFontElement.cpp:
62573        * svg/SVGFontElement.h:
62574        (WebCore::SVGFontElement::rendererIsNeeded):
62575        * svg/SVGFontFaceElement.cpp:
62576        (WebCore::SVGFontFaceElement::unitsPerEm):
62577        (WebCore::SVGFontFaceElement::createFontData):
62578
625792007-12-28  Darin Adler  <darin@apple.com>
62580
62581        - try to fix Windows and WX builds (broken by SVG Fonts check-in)
62582
62583        * platform/graphics/win/FontWin.cpp:
62584        (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it.
62585        I can't see how it can be right to require the font size for ascent and descent,
62586        but not for other metrics functions in FontData.
62587
62588        * platform/graphics/wx/FontWx.cpp:
62589        (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent.
62590
625912007-12-28  Dan Bernstein  <mitz@apple.com>
62592
62593        Reviewed by Mark Rowe.
62594
62595        - fix http://bugs.webkit.org/show_bug.cgi?id=16650
62596          <rdar://problem/5664872> REGRESSION (r28278-r28314): ATSUI uses LTR writing direction for all text runs
62597
62598        Covered by existing pixel tests.
62599
62600        * platform/graphics/mac/FontMac.mm:
62601        (WebCore::Font::drawComplexText): Corrected to maintain the style
62602        information in the adjusted text run when passing it to
62603        ATSUILayoutParameters. Prior to r28298 the style was passed separately.
62604
626052007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62606
62607        Build fix, not reviewed.
62608
62609        Add wtf/OwnPtr.h include, to fix --svg-fonts build.
62610
62611        * css/SVGCSSFontFace.h:
62612
626132007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
62614
62615        Reviewed by Eric.
62616
62617        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support)
62618
62619        Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work.
62620        Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax
62621        are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet).
62622
62623        Limited to single char <-> glyph mapping, no ligatures supported yet.
62624        (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now)
62625
62626        Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks.
62627
62628        No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font
62629        attributes are not processed yet, the rendering looks wrong - hence disabled by default.)
62630
62631        * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement
62632        * WebCore.pro: Updated build system.
62633        * WebCore.vcproj/WebCore.vcproj: Ditto.
62634        * WebCore.xcodeproj/project.pbxproj: Ditto.
62635        * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement
62636        * bindings/objc/DOM.mm: Ditto (for DOMSVG*).
62637        (WebCore::createElementClassMap):
62638        * bindings/objc/DOMInternal.h: Ditto.
62639        * bindings/objc/DOMSVG.h: Ditto.
62640        * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace
62641        * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source.
62642        (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it.
62643        (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
62644        (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement):
62645        * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts.
62646        (WebCore::CSSFontSelector::addFontFaceRule):
62647        * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts)
62648        (WebCore::SVGCSSFontFace::SVGCSSFontFace):
62649        (WebCore::SVGCSSFontFace::~SVGCSSFontFace):
62650        (WebCore::SVGCSSFontFace::isValid):
62651        (WebCore::SVGCSSFontFace::addSource):
62652        (WebCore::SVGCSSFontFace::getFontData):
62653        * css/SVGCSSFontFace.h: Added.
62654        * platform/graphics/cg/PathCG.cpp:
62655        (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path.
62656        * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts.
62657        (WebCore::Font::ascent): Pass font size to FontData::ascent() call
62658        (WebCore::Font::descent): Pass font size to FontData::descent() call
62659        (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here.
62660        (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font.
62661        * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call.
62662        (WebCore::TextRun::TextRun):
62663        (WebCore::TextRun::referencingRenderObject):
62664        (WebCore::TextRun::setReferencingRenderObject):
62665        * platform/graphics/FontData.cpp:
62666        (WebCore::FontData::FontData):
62667        (WebCore::FontData::ascent):
62668        (WebCore::FontData::descent):
62669        * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont().
62670        (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement.
62671        (WebCore::FontData::svgFontFace):
62672        * rendering/SVGInlineTextBox.cpp:
62673        (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion.
62674        * rendering/SVGRootInlineBox.cpp:
62675        (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun
62676        * svg/SVGFont.cpp: Added.
62677        (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file.
62678        * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values)
62679        (WebCore::SVGFontElement::SVGFontElement):
62680        (WebCore::SVGFontElement::~SVGFontElement):
62681        (WebCore::SVGFontElement::parseMappedAttribute):
62682        (WebCore::SVGFontElement::collectGlyphs):
62683        (WebCore::SVGFontElement::glyphIdentifierForGlyphCode):
62684        * svg/SVGFontElement.h: Added.
62685        (WebCore::GlyphHash::hash):
62686        (WebCore::GlyphHash::equal):
62687        (WebCore::GlyphHashTraits::deletedValue):
62688        (WebCore::SVGFontElement::rendererIsNeeded):
62689        (WebCore::SVGFontElement::contextElement):
62690        * svg/SVGFontElement.idl: Added.
62691        * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object
62692        (WebCore::SVGFontFaceElement::unitsPerEm):
62693        (WebCore::SVGFontFaceElement::fontFamily):
62694        (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc..
62695        (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule.
62696        (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face.
62697        (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement.
62698        * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks.
62699        * svg/SVGFontFaceElement.idl: Ditto.
62700        * svg/SVGFontFaceFormatElement.cpp: Ditto.
62701        * svg/SVGFontFaceFormatElement.h: Ditto.
62702        * svg/SVGFontFaceFormatElement.idl: Ditto.
62703        * svg/SVGFontFaceNameElement.cpp: Ditto.
62704        * svg/SVGFontFaceNameElement.h: Ditto.
62705        * svg/SVGFontFaceNameElement.idl: Ditto.
62706        * svg/SVGFontFaceSrcElement.cpp: Ditto.
62707        * svg/SVGFontFaceSrcElement.h: Ditto.
62708        * svg/SVGFontFaceSrcElement.idl: Ditto.
62709        * svg/SVGFontFaceUriElement.cpp: Ditto.
62710        * svg/SVGFontFaceUriElement.h: Ditto.
62711        * svg/SVGFontFaceUriElement.idl: Ditto.
62712        * svg/SVGDefinitionSrcElement.cpp: Ditto.
62713        * svg/SVGDefinitionSrcElement.h: Ditto.
62714        * svg/SVGDefinitionSrcElement.idl: Ditto.
62715        * svg/SVGGlyphElement.cpp: Added.
62716        (WebCore::SVGGlyphElement::SVGGlyphElement):
62717        (WebCore::SVGGlyphElement::parseMappedAttribute):
62718        (WebCore::SVGGlyphElement::childrenChanged):
62719        * svg/SVGGlyphElement.h: Added.
62720        (WebCore::SVGGlyphElement::rendererIsNeeded):
62721        (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..)
62722        (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
62723        * svg/SVGGlyphElement.idl: Added.
62724        * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation)
62725        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
62726        (WebCore::SVGMissingGlyphElement::parseMappedAttribute):
62727        (WebCore::SVGMissingGlyphElement::childrenChanged):
62728        * svg/SVGMissingGlyphElement.h: Added.
62729        (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
62730        * svg/SVGMissingGlyphElement.idl: Added.
62731        * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!).
62732
627332007-12-27  Dan Bernstein  <mitz@apple.com>
62734
62735        Reviewed by Alexey Proskuryakov.
62736
62737        - fix http://bugs.webkit.org/show_bug.cgi?id=16628
62738          ASSERTION FAILED: m_resizeLayer (running layout tests)
62739
62740        * rendering/RenderLayer.cpp:
62741        (WebCore::RenderLayer::~RenderLayer): Avoid calling
62742        EventHandler::resizeLayerDestroyed() if the document is being destroyed.
62743
627442007-12-27  Dan Bernstein  <mitz@apple.com>
62745
62746        Reviewed by Oliver Hunt.
62747
62748        - fix http://bugs.webkit.org/show_bug.cgi?id=16603
62749          <rdar://problem/5664199> Crash when resizing text field
62750
62751        Test: fast/layers/resize-layer-deletion-crash.html
62752
62753        The event handler has only a weak reference to the layer that is
62754        currently in resize mode, so it is the layer's responsibility to let
62755        the event handler know if it has been destroyed while in that mode.
62756
62757        * page/EventHandler.cpp:
62758        (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets
62759        m_resizeLayer to 0.
62760        * page/EventHandler.h:
62761        * rendering/RenderLayer.cpp:
62762        (WebCore::RenderLayer::~RenderLayer): Added a call to
62763        EventHandler::resizeLayerDestroyed() if the layer is in resize mode.
62764
627652007-12-27  Collin Jackson  <webkit@collinjackson.com>
62766
62767        Reviewed by Sam Weinig.
62768
62769        http://bugs.webkit.org/show_bug.cgi?id=16539
62770        <rdar://problem/5659269>
62771
62772        The same-origin check was missing in the implementation of 
62773        setTimeout, setInterval, addEventListener, and removeEventListener.
62774
62775        Suppose <http://www.badguy.com/> contains an iframe to 
62776        <http://www.goodguy.com/>. Now www.badguy.com can steal
62777        www.goodguy.com cookies by running this code:
62778
62779        setTimeout.call(frames[0], "alert(document.cookie)", 1000);
62780
62781        This patch changes the behavior so that setTimeout to does 
62782        nothing and returns an undefined value if the caller is not
62783        permitted to script the window whose setTimeout method is being
62784        called. The same applies to setInterval, addEventListener, and 
62785        removeEventListener.
62786
62787        Tests: http/tests/security/cross-frame-access-call.html
62788
62789        * bindings/js/kjs_window.cpp:
62790        (KJS::WindowProtoFuncSetTimeout::callAsFunction)
62791        (KJS::WindowProtoFuncSetInterval::callAsFunction)
62792        (KJS::WindowProtoFuncAddEventListener::callAsFunction)
62793        (KJS::WindowProtoFuncRemoveEventListener::callAsFunction)
62794
627952007-12-27  Dan Bernstein  <mitz@apple.com>
62796
62797        Reviewed by Dave Hyatt and Sam Weinig.
62798
62799        - fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click
62800
62801        Test: fast/layers/add-layer-with-nested-stacking.html
62802        Test: fast/layers/remove-layer-with-nested-stacking.html
62803
62804        * rendering/RenderLayer.cpp:
62805        (WebCore::RenderLayer::addChild): If the new child is overflow-only
62806        but has children of its own, dirty the stacking context's z-order lists
62807        since the grandchildren might need to be in them.
62808        (WebCore::RenderLayer::removeChild): Similarly for the old child.
62809
628102007-12-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
62811
62812        Reviewed by Alp Toker.
62813
62814        http://bugs.webkit.org/show_bug.cgi?id=16353
62815        [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)
62816
62817        Added the flags mentioned in the bug only when doing 'debug'
62818        builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.
62819
62820        * GNUmakefile.am:
62821        * WebCore.pro:
62822
628232007-12-27  Dan Bernstein  <mitz@apple.com>
62824
62825        Reviewed by Eric Seidel.
62826
62827        - fix http://bugs.webkit.org/show_bug.cgi?id=16490
62828          ASSERT in ~FrameView while viewing/reloading WICD test case
62829
62830        Test: fast/dynamic/paused-event-dispatch.html
62831
62832        * page/FrameView.cpp:
62833        (WebCore::FrameView::~FrameView):
62834        (WebCore::FrameView::layout): Changed to always pause event dispatch and
62835        always resume event dispatch, regardless of whether the post-layout
62836        task timer is active. However, if it is active, assert that event
62837        dispatch is still paused.
62838
628392007-12-27  Alexey Proskuryakov  <ap@webkit.org>
62840
62841        Reviewed by Maciej.
62842
62843        http://bugs.webkit.org/show_bug.cgi?id=14500
62844        need to be more generous about charset declaration with meta tag
62845        
62846        http://bugs.webkit.org/show_bug.cgi?id=12526
62847        <rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html
62848
62849        <rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head
62850
62851        <rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website
62852
62853        Tests: fast/encoding/ahram-org-eg.html
62854               fast/encoding/bandai-co-jp-releases.html
62855               fast/encoding/floraexpress-ru.html
62856               fast/encoding/hanarei-blog32-fc2-com.html
62857               fast/encoding/yahoo-mail.html
62858
62859        * loader/TextResourceDecoder.cpp:
62860        (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've
62861        seen at least 512 bytes of input.
62862
628632007-12-26  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
62864
62865        Reviewed by Alp Toker.
62866
62867        http://bugs.webkit.org/show_bug.cgi?id=16390
62868        Use autotools or GNU make as the build system for the GTK port
62869
62870        * GNUmakefile.am: Added.
62871
628722007-12-26  Alexey Proskuryakov  <ap@webkit.org>
62873
62874        Reviewed by Sam Weinig.
62875
62876        http://bugs.webkit.org/show_bug.cgi?id=16609
62877        Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic
62878
62879        * manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http).
62880
628812007-12-26  Mark Rowe  <mrowe@apple.com>
62882
62883        Windows build fix.
62884
62885        * platform/Threading.h:
62886
628872007-12-25  Rob Buis  <buis@kde.org>
62888
62889        Reviewed by Eric.
62890
62891        http://bugs.webkit.org/show_bug.cgi?id=15514
62892        <clipPath> with <use> not respected
62893        http://bugs.webkit.org/show_bug.cgi?id=16557
62894        SVG circle elements have been clipped away completely, instead of partially.
62895
62896        Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.
62897
62898        * svg/SVGClipPathElement.cpp:
62899        (WebCore::SVGClipPathElement::canvasResource):
62900        * svg/SVGStyledTransformableElement.h:
62901        (WebCore::SVGStyledTransformableElement::toClipPath):
62902        * svg/SVGUseElement.cpp:
62903        (WebCore::isDirectReference):
62904        (WebCore::SVGUseElement::toClipPath):
62905        * svg/SVGUseElement.h:
62906
629072007-12-25  Sam Weinig  <sam@webkit.org>
62908
62909        Reviewed by Eric Seidel.
62910
62911        Clean up the files relating to NodeLists.
62912
62913        * dom/ChildNodeList.cpp:
62914        (WebCore::ChildNodeList::ChildNodeList):
62915        (WebCore::ChildNodeList::length):
62916        (WebCore::ChildNodeList::item):
62917        (WebCore::ChildNodeList::nodeMatches):
62918        * dom/ChildNodeList.h:
62919        * dom/DynamicNodeList.cpp:
62920        (WebCore::DynamicNodeList::itemForwardsFromCurrent):
62921        (WebCore::DynamicNodeList::itemBackwardsFromCurrent):
62922        (WebCore::DynamicNodeList::itemWithName):
62923        * dom/DynamicNodeList.h:
62924        (WebCore::DynamicNodeList::needsNotifications):
62925        * dom/NameNodeList.cpp:
62926        (WebCore::NameNodeList::NameNodeList):
62927        (WebCore::NameNodeList::rootNodeAttributeChanged):
62928        (WebCore::NameNodeList::nodeMatches):
62929        * dom/NameNodeList.h:
62930        * dom/NodeList.h:
62931        * dom/SelectorNodeList.h:
62932
629332007-12-25  Sam Weinig  <sam@webkit.org>
62934
62935        Fix non-mac builds.
62936
62937        * WebCore.pro:
62938        * WebCore.vcproj/WebCore.vcproj:
62939        * WebCoreSources.bkl:
62940
629412007-12-25  Sam Weinig  <sam@webkit.org>
62942
62943        Rubber stamped by Eric Seidel.
62944
62945        Move TagNodeList into its own file.
62946
62947        * WebCore.xcodeproj/project.pbxproj:
62948        * dom/Node.cpp:
62949        * dom/TagNodeList.cpp: Copied from dom/Node.cpp.
62950        (WebCore::TagNodeList::TagNodeList):
62951        * dom/TagNodeList.h: Copied from dom/Node.cpp.
62952
629532007-12-25  Sam Weinig  <sam@webkit.org>
62954
62955        Reviewed by Eric Seidel.
62956
62957        Simplify the NodeList architecture.
62958        - Rename recursiveItem() to item(), since it is not recursive.
62959        - Make recursiveLength() iterative and rename to length().
62960        - Remove now unneeded overrides of item() and length() that used 
62961          to call the recursive variants.
62962
62963        * dom/ClassNodeList.cpp:
62964        * dom/ClassNodeList.h:
62965        * dom/DynamicNodeList.cpp:
62966        (WebCore::DynamicNodeList::length):
62967        (WebCore::DynamicNodeList::item):
62968        (WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation 
62969        into the .cpp file since virtual methods can't be inlined.
62970        * dom/DynamicNodeList.h:
62971        * dom/NameNodeList.cpp:
62972        * dom/NameNodeList.h:
62973        * dom/Node.cpp:
62974
629752007-12-25  Alp Toker  <alp@atoker.com>
62976
62977        More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in
62978        r28981.
62979
62980        * WebCore.pro:
62981        * WebCore.vcproj/WebCore.vcproj:
62982        * WebCoreSources.bkl:
62983
629842007-12-25  Alp Toker  <alp@atoker.com>
62985
62986        Win build fix for breakage introduced in r28981.
62987
62988        * WebCore.vcproj/WebCore.vcproj:
62989
629902007-12-25  Alp Toker  <alp@atoker.com>
62991
62992        Wx build fix for breakage introduced in r28981.
62993
62994        * WebCoreSources.bkl:
62995
629962007-12-25  Alp Toker  <alp@atoker.com>
62997
62998        GTK+/Qt build fix for breakage introduced in r28981.
62999
63000        * WebCore.pro:
63001
630022007-12-25  David Smith  <catfish.man@gmail.com> and Sam Weinig  <sam@webkit.org>
63003
63004        Reviewed by Oliver.
63005        
63006        - http://bugs.webkit.org/show_bug.cgi?id=16587
63007        Implement the most useful part of the W3C Selectors API.
63008
63009        * WebCore.xcodeproj/project.pbxproj:
63010        * css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector()
63011        * dom/ChildNodeList.cpp:
63012        (WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList
63013        * dom/ChildNodeList.h:
63014        * dom/ClassNodeList.cpp:
63015        (WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList
63016        * dom/ClassNodeList.h:
63017        * dom/Document.idl: Add the new functions
63018        * dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp.
63019        (WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList
63020        (WebCore::DynamicNodeList::~DynamicNodeList):
63021        (WebCore::DynamicNodeList::recursiveLength):
63022        (WebCore::DynamicNodeList::itemForwardsFromCurrent):
63023        (WebCore::DynamicNodeList::itemBackwardsFromCurrent):
63024        (WebCore::DynamicNodeList::recursiveItem):
63025        (WebCore::DynamicNodeList::itemWithName):
63026        (WebCore::DynamicNodeList::rootNodeChildrenChanged):
63027        (WebCore::DynamicNodeList::Caches::Caches):
63028        (WebCore::DynamicNodeList::Caches::reset):
63029        * dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h.
63030        (WebCore::DynamicNodeList::rootNodeAttributeChanged):
63031        * dom/Element.idl: Add the new functions
63032        * dom/NameNodeList.cpp: Change to being a DynamicNodeList
63033        (WebCore::NameNodeList::NameNodeList):
63034        * dom/NameNodeList.h:
63035        (WebCore::NameNodeList::rootNodeAttributeChanged):
63036        * dom/Node.cpp:
63037        (WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList
63038        (WebCore::Node::registerDynamicNodeList):
63039        (WebCore::Node::unregisterDynamicNodeList):
63040        (WebCore::Node::getElementsByName):
63041        (WebCore::Node::getElementsByClassName):
63042        (WebCore::Node::querySelector): new
63043        (WebCore::Node::querySelectorAll): new
63044        * dom/Node.h:
63045        * dom/NodeList.cpp: Removed.
63046        * dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList
63047        (WebCore::NodeList::NodeList):
63048        (WebCore::NodeList::~NodeList):
63049        * dom/SelectorNodeList.cpp: Added.
63050        (WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector
63051        * dom/SelectorNodeList.h: Added.
63052        * dom/StaticNodeList.cpp: Added.
63053        (WebCore::StaticNodeList::length):
63054        (WebCore::StaticNodeList::item):
63055        (WebCore::StaticNodeList::itemWithName):
63056        * dom/StaticNodeList.h: Added.
63057        (WebCore::StaticNodeList::StaticNodeList):
63058        (WebCore::StaticNodeList::~StaticNodeList):
63059
630602007-12-25  Mark Rowe  <mrowe@apple.com>
63061
63062        Reviewed by Sam Weinig.
63063
63064        Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.
63065        http://bugs.webkit.org/show_bug.cgi?id=16596
63066
63067        This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
63068        of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
63069        access to a single ThreadSafeShared object.
63070
63071        The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.
63072
63073        * platform/Threading.h:
63074        (WebCore::atomicIncrement):
63075        (WebCore::atomicDecrement):
63076        (WebCore::ThreadSafeShared::ThreadSafeShared):
63077        (WebCore::ThreadSafeShared::ref): Use lock-free operations if available.
63078        (WebCore::ThreadSafeShared::deref): Ditto.
63079        (WebCore::ThreadSafeShared::hasOneRef):
63080        (WebCore::ThreadSafeShared::refCount):
63081        (WebCore::ThreadSafeShared::isThreadSafe):
63082
630832007-12-24  Darin Adler  <darin@apple.com>
63084
63085        * platform/text/PlatformString.h: Removed now-incorrect comment.
63086        Added a comment about copy().
63087        * platform/text/StringImpl.h: Added a comment about copy().
63088
630892007-12-24  Darin Adler  <darin@apple.com>
63090
63091        Reviewed by Maciej.
63092
63093        - http://bugs.webkit.org/show_bug.cgi?id=16550
63094          make StringImpl immutable
63095
63096        I tried to keep the changes to a minimum. In some cases there is
63097        room for optimization -- I didn't try to add in the "single ref count"
63098        optimizations and there might be a tiny bit more string copying than
63099        we had before.
63100
63101        * WebCore.base.exp: Updated.
63102
63103        * dom/CharacterData.cpp:
63104        (WebCore::CharacterData::appendData): Changed to use String since
63105        StringImpl doesn't have mutating functions any more.
63106        (WebCore::CharacterData::insertData): Ditto.
63107        (WebCore::CharacterData::deleteData): Ditto.
63108        (WebCore::CharacterData::replaceData): Ditto.
63109        * dom/Text.cpp:
63110        (WebCore::Text::splitText): Changed to use substring instead of
63111        remove since StringImpl does't have mutating functions any more.
63112        * editing/CompositeEditCommand.cpp:
63113        (WebCore::CompositeEditCommand::deleteInsignificantText): Changed
63114        to use String instead of StringImpl so we can use remove.
63115
63116        * platform/text/PlatformString.h: Removed newUninitialized.
63117        Added append that takes a character pointer and length.
63118
63119        * platform/text/String.cpp:
63120        (WebCore::String::insert): Added an implementation that does not
63121        rely on an underlying StringImpl function.
63122        (WebCore::String::append): Ditto.
63123        (WebCore::String::truncate): Ditto.
63124        (WebCore::String::remove): Ditto.
63125        (WebCore::String::charactersWithNullTermination): Added an
63126        implementation that uses the new StringImpl null termination feature,
63127        which does not require modifying a string.
63128
63129        * platform/text/StringImpl.cpp:
63130        (WebCore::isSpace): Fix comment.
63131        (WebCore::StringImpl::StringImpl): Added a new constructor that makes
63132        a string with a trailing null character.
63133        (WebCore::StringImpl::substring): Marked const.
63134        (WebCore::StringImpl::replace): Marked const; had to add quite a few
63135        const_cast. Also rewrote one of these to work without modifying the
63136        existing string.
63137
63138        * platform/text/StringImpl.h: Fixed a mistake where the empty string had
63139        m_hasTerminatingNullCharacter uninitialized. Added a type and constructor
63140        for creating strings that have a trailing null character. Added a
63141        hasTerminatingNullCharacter function. Removed newUninitialized,
63142        charactersWithNullTermination, append, insert, truncate, and remove.
63143        Marked lots of other functions const.
63144
63145        * platform/text/TextCodecLatin1.cpp:
63146        (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of
63147        newUninitialized.
63148        * platform/text/TextCodecUTF16.cpp:
63149        (WebCore::TextCodecUTF16::decode): Ditto.
63150        * platform/text/TextCodecUserDefined.cpp:
63151        (WebCore::TextCodecUserDefined::decode): Ditto.
63152
63153        * rendering/RenderStyle.cpp:
63154        (WebCore::RenderStyle::setContent): Changed to use String since
63155        StringImpl doesn't have mutating functions any more.
63156
631572007-12-24  Alexey Proskuryakov  <ap@webkit.org>
63158
63159        Reviewed by Oliver.
63160
63161        Fix fast/events/arrow-keys-on-body.html, failing on Windows.
63162
63163        * platform/win/KeyEventWin.cpp:
63164        (WebCore::isKeypadEvent):
63165        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
63166        Use HIWORD() macro instead of shifting the value explicitly (no change in behavior).
63167
631682007-12-23  Alexey Proskuryakov  <ap@webkit.org>
63169
63170        Fix Debug and Release QTMovieWin bulds.
63171
63172        * WebCore.vcproj/QTMovieWin.vcproj:
63173        * WebCore.vcproj/debug.vsprops:
63174        * WebCore.vcproj/debug_internal.vsprops:
63175        * WebCore.vcproj/release.vsprops:
63176        Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2.
63177        Build release import lib into \lib, not \bin.
63178
631792007-12-23  Alp Toker  <alp@atoker.com>
63180
63181        Reviewed by Holger Freyther.
63182
63183        http://bugs.webkit.org/show_bug.cgi?id=15382
63184        [CAIRO] Canvas pattern support
63185
63186        http://bugs.webkit.org/show_bug.cgi?id=16577
63187        Merge Cairo enhancements from Apollo project
63188
63189        Add support for canvas patterns.
63190
63191        Make Image::nativeImageForCurrentFrame() public.
63192
63193        Fix some typos along the way.
63194
63195        The globalAlpha canvas fixes are not included in this patch as
63196        they're slightly more intrusive and may conflict conceptually with
63197        GraphicsContext::setAlpha().
63198
63199        * html/CanvasPattern.cpp:
63200        (WebCore::CanvasPattern::CanvasPattern):
63201        (WebCore::CanvasPattern::~CanvasPattern):
63202        (WebCore::CanvasPattern::createPattern):
63203        * html/CanvasPattern.h:
63204        (WebCore::CanvasPattern::platformImage):
63205        * html/CanvasRenderingContext2D.cpp:
63206        (WebCore::CanvasRenderingContext2D::setShadow):
63207        (WebCore::CanvasRenderingContext2D::applyShadow):
63208        (WebCore::CanvasRenderingContext2D::drawImage):
63209        (WebCore::CanvasRenderingContext2D::createPattern):
63210        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
63211        (WebCore::CanvasRenderingContext2D::applyFillPattern):
63212        * platform/graphics/Image.h:
63213        (WebCore::Image::nativeImageForCurrentFrame):
63214
632152007-12-23  Kevin Ollivier  <kevino@theolliviers.com>
63216
63217        Reviewed by Eric Seidel.
63218
63219        Remove getWxBitmap as we have nativeImageForCurrentFrame now,
63220        and don't draw a border in fillRect.
63221
63222        * platform/graphics/BitmapImage.h:
63223        * platform/graphics/wx/GraphicsContextWx.cpp:
63224        (WebCore::GraphicsContext::fillRect):
63225        * platform/graphics/wx/ImageWx.cpp:
63226
632272007-12-23  Alp Toker  <alp@atoker.com>
63228
63229        Reviewed by Holger Freyther.
63230
63231        http://bugs.webkit.org/show_bug.cgi?id=16577
63232        Merge Cairo enhancements from Apollo project
63233
63234        This patch is based on initial merging work by Brent Fulgham. Adobe's
63235        code has been modified in a few places to better suit the existing
63236        coding style.
63237
63238        Implement more clipping and drawing functions.
63239
63240        Save and restore the fill rule manually when clipping.
63241
63242        Avoid image surface creation when the image buffer has height zero.
63243
63244        * platform/graphics/cairo/GraphicsContextCairo.cpp:
63245        (WebCore::GraphicsContext::clip):
63246        (WebCore::GraphicsContext::addInnerRoundedRectClip):
63247        (WebCore::GraphicsContext::addPath):
63248        (WebCore::GraphicsContext::clipOut):
63249        (WebCore::GraphicsContext::clipOutEllipseInRect):
63250        (WebCore::GraphicsContext::fillRoundedRect):
63251        * platform/graphics/cairo/ImageSourceCairo.cpp:
63252        (WebCore::ImageSource::createFrameAtIndex):
63253
632542007-12-23  Nikolas Zimmermann  <zimmermann@kde.org>
63255
63256        Reviewed by Mark.
63257
63258        Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block.
63259
63260        * bindings/objc/DOM.mm:
63261        (WebCore::createElementClassMap):
63262
632632007-12-22  Alp Toker  <alp@atoker.com>
63264
63265        GTK+ build fix
63266
63267        GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass
63268        empty target flags for now.
63269
63270        Check GTK+, not GLib versions, since they are different.
63271
63272        * platform/gtk/PasteboardGtk.cpp:
63273        (WebCore::Pasteboard::documentFragment):
63274
632752007-12-22  Luca Bruno  <lethalman88@gmail.com>
63276
63277        Reviewed by Alp Toker.
63278
63279        http://bugs.webkit.org/show_bug.cgi?id=16311
63280        [Gtk] Copy rich text to clipboard as text/plain and text/html.
63281
63282        Hook into the WebView to get the correct clipboard object on the
63283        appropriate display. This is necessary because GTK+ does not have
63284        global clipboards.
63285
63286        * WebCore.pro:
63287        * platform/Pasteboard.h:
63288        (WebCore::Pasteboard::setHelper): added for GTK
63289        (WebCore::Pasteboard::m_helper): private added for GTK
63290        * platform/gtk/PasteboardGtk.cpp:
63291        (WebCore::PasteboardSelectionData): added to support GTK selection data callback
63292        (WebCore::clipboard_get_contents_cb): added
63293        (WebCore::clipboard_clear_contents_cb): added
63294        (WebCore::Pasteboard::~Pasteboard):
63295        (WebCore::Pasteboard::setHelper):
63296        (WebCore::Pasteboard::writeSelection): copy rich text
63297        (WebCore::Pasteboard::documentFragment): 
63298        (WebCore::Pasteboard::plainText): 
63299        * platform/gtk/PasteboardHelper.h: Added.
63300
633012007-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
63302
63303        Reviewed by Oliver.
63304
63305        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover)
63306
63307        Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox.
63308        SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case
63309        for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible
63310        in Web Inspector.
63311
63312        * rendering/InlineBox.h:
63313        (WebCore::InlineBox::isSVGRootInlineBox):
63314        * rendering/SVGInlineTextBox.cpp:
63315        (WebCore::SVGInlineTextBox::svgRootInlineBox):
63316        (WebCore::SVGInlineTextBox::closestCharacterToPosition):
63317        (WebCore::SVGInlineTextBox::selectionRect):
63318        * rendering/SVGRenderTreeAsText.cpp:
63319        (WebCore::writeSVGInlineTextBox):
63320        * rendering/SVGRootInlineBox.h:
63321        (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
63322
633232007-12-22  Alp Toker  <alp@atoker.com>
63324
63325        LOW_BANDWIDTH_DISPLAY build fix
63326
63327        Track recent KURL DeprecatedString changes.
63328
63329        * loader/FrameLoader.cpp:
63330        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
63331
633322007-12-22  Dan Bernstein  <mitz@apple.com>
63333
63334        - Windows build fix
63335
63336        * WebCore.vcproj/WebCore.vcproj:
63337
633382007-12-22  Xan Lopez  <xan@gnome.org>
63339
63340        Reviewed by Alp Toker.
63341
63342        Add missing return 0 to fix a compile warning.
63343
63344        * page/gtk/FrameGtk.cpp:
63345        (WebCore::Frame::createScriptInstanceForWidget):
63346
633472007-12-21  Antti Koivisto  <antti@apple.com>
63348
63349        Reviewed by Darin, Adam and Steve.
63350
63351        Add media playback support for Windows.
63352        
63353        The implementation uses low level QuickTime API. DLL is
63354        needed to work around CF use in both WebKit and QuickTime.
63355        
63356        This makes Windows build depend on the QuickTime SDK 
63357        
63358        http://developer.apple.com/quicktime/download/
63359        
63360        but not QuickTime itself.
63361        
63362        QTMovieWinTimer contains some copy code from SharedTimerWin. It
63363        is used in the QuickTime access DLL which can't use WebCore
63364        SharedTimer due to dependency problems.
63365
63366        * WebCore.vcproj/QTMovieWin.vcproj: Added.
63367        * WebCore.vcproj/WebCore.vcproj:
63368        * WebCore.vcproj/build-generated-files.sh:
63369        * html/HTMLMediaElement.cpp:
63370        (WebCore::HTMLMediaElement::setSrc):
63371        * platform/graphics/MediaPlayer.cpp:
63372        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Added.
63373        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
63374        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
63375        (WebCore::MediaPlayerPrivate::load):
63376        (WebCore::MediaPlayerPrivate::play):
63377        (WebCore::MediaPlayerPrivate::pause):
63378        (WebCore::MediaPlayerPrivate::duration):
63379        (WebCore::MediaPlayerPrivate::currentTime):
63380        (WebCore::MediaPlayerPrivate::seek):
63381        (WebCore::MediaPlayerPrivate::doSeek):
63382        (WebCore::MediaPlayerPrivate::cancelSeek):
63383        (WebCore::MediaPlayerPrivate::seekTimerFired):
63384        (WebCore::MediaPlayerPrivate::setEndTime):
63385        (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
63386        (WebCore::MediaPlayerPrivate::endPointTimerFired):
63387        (WebCore::MediaPlayerPrivate::paused):
63388        (WebCore::MediaPlayerPrivate::seeking):
63389        (WebCore::MediaPlayerPrivate::naturalSize):
63390        (WebCore::MediaPlayerPrivate::hasVideo):
63391        (WebCore::MediaPlayerPrivate::setVolume):
63392        (WebCore::MediaPlayerPrivate::setMuted):
63393        (WebCore::MediaPlayerPrivate::setRate):
63394        (WebCore::MediaPlayerPrivate::dataRate):
63395        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
63396        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
63397        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
63398        (WebCore::MediaPlayerPrivate::bytesLoaded):
63399        (WebCore::MediaPlayerPrivate::totalBytesKnown):
63400        (WebCore::MediaPlayerPrivate::totalBytes):
63401        (WebCore::MediaPlayerPrivate::cancelLoad):
63402        (WebCore::MediaPlayerPrivate::updateStates):
63403        (WebCore::MediaPlayerPrivate::didEnd):
63404        (WebCore::MediaPlayerPrivate::setRect):
63405        (WebCore::MediaPlayerPrivate::setVisible):
63406        (WebCore::MediaPlayerPrivate::paint):
63407        (WebCore::MediaPlayerPrivate::getSupportedTypes):
63408        (WebCore::MediaPlayerPrivate::movieEnded):
63409        (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
63410        (WebCore::MediaPlayerPrivate::movieTimeChanged):
63411        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
63412        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Added.
63413        (WebCore::MediaPlayerPrivate::networkState):
63414        (WebCore::MediaPlayerPrivate::readyState):
63415        * platform/graphics/win/QTMovieWin.cpp: Added.
63416        (updateTaskTimer):
63417        (QTMovieWinPrivate::QTMovieWinPrivate):
63418        (QTMovieWinPrivate::~QTMovieWinPrivate):
63419        (taskTimerFired):
63420        (QTMovieWinPrivate::startTask):
63421        (QTMovieWinPrivate::endTask):
63422        (QTMovieWinPrivate::task):
63423        (QTMovieWinPrivate::registerDrawingCallback):
63424        (QTMovieWinPrivate::drawingComplete):
63425        (QTMovieWinPrivate::createGWorld):
63426        (QTMovieWinPrivate::setSize):
63427        (QTMovieWinPrivate::deleteGWorld):
63428        (QTMovieWin::QTMovieWin):
63429        (QTMovieWin::~QTMovieWin):
63430        (QTMovieWin::play):
63431        (QTMovieWin::pause):
63432        (QTMovieWin::rate):
63433        (QTMovieWin::setRate):
63434        (QTMovieWin::duration):
63435        (QTMovieWin::currentTime):
63436        (QTMovieWin::setCurrentTime):
63437        (QTMovieWin::setVolume):
63438        (QTMovieWin::setMuted):
63439        (QTMovieWin::dataSize):
63440        (QTMovieWin::maxTimeLoaded):
63441        (QTMovieWin::loadState):
63442        (QTMovieWin::getNaturalSize):
63443        (QTMovieWin::setSize):
63444        (QTMovieWin::setVisible):
63445        (QTMovieWin::paint):
63446        (QTMovieWin::load):
63447        (movieDrawingCompleteProc):
63448        (initializeSupportedTypes):
63449        (QTMovieWin::countSupportedTypes):
63450        (QTMovieWin::getSupportedType):
63451        (QTMovieWin::initializeQuickTime):
63452        (DllMain):
63453        * platform/graphics/win/QTMovieWin.h: Added.
63454        * platform/graphics/win/QTMovieWinTimer.cpp: Added.
63455        (TimerWindowWndProc):
63456        (initializeOffScreenTimerWindow):
63457        (setSharedTimerFiredFunction):
63458        (timerFired):
63459        (setSharedTimerFireDelay):
63460        (stopSharedTimer):
63461        (setSharedTimerInstanceHandle):
63462        (systemTime):
63463        * platform/graphics/win/QTMovieWinTimer.h: Added.
63464        * rendering/RenderMedia.cpp:
63465        (WebCore::MediaControlPlayButtonElement::update):
63466
634672007-12-21  Brent Fulgham  <bfulgham@gmail.com>
63468
63469        Reviewed by Alp Toker.
63470
63471        http://bugs.webkit.org/show_bug.cgi?id=16558
63472        Cairo WebCore Rendering Fails on arc drawing
63473
63474        Fix for bug reported (and patched) by Apollo team in which
63475        arcs were draw in reverse (resulting in inverted images).
63476        Review of the source found that the 'clockwise' term was
63477        actually meant to mean 'anticlockwise' so the IDL and
63478        supporting classes have been changed to match this. 
63479
63480        * html/CanvasRenderingContext2D.cpp:
63481        (WebCore::CanvasRenderingContext2D::arc):
63482        * html/CanvasRenderingContext2D.idl:
63483        * platform/graphics/cairo/PathCairo.cpp:
63484        (WebCore::Path::addArc):
63485        (WebCore::Path::addEllipse):
63486        * platform/graphics/Path.h:
63487
634882007-12-21  Alexey Proskuryakov  <ap@webkit.org>
63489
63490        Reviewed by Oliver.
63491
63492        <rdar://problem/5629995> Incorrect display of Danish characters on web site.
63493
63494        Test: http/tests/xmlhttprequest/response-encoding.html
63495
63496        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData):
63497        Default to UTF-8 for HTML, too. It's unfortunate that we have to use different
63498        rules for main content and XHR responses, but this matches both IE and Firefox.
63499
635002007-12-20  Jon Honeycutt  <jhoneycutt@apple.com>
63501
63502        Reviewed by Kevin Decker.
63503
63504        <rdar://problem/5655797> REGRESSION(304-306A10) Safari does not find
63505        shockwave plugin on freshly installed OS
63506
63507        Look for Director plugin in its native directory.
63508
63509        * plugins/win/PluginDatabaseWin.cpp:
63510        (WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin
63511        doesn't start with "np," so special case its filename.
63512        (WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10"
63513        directories to the plugin paths.
63514        (WebCore::PluginDatabaseWin::defaultPluginPaths):
63515
635162007-12-20  Peter Kasting  <pkasting@google.com>
63517
63518        Reviewed by Alp Toker.
63519
63520        http://bugs.webkit.org/show_bug.cgi?id=16508
63521        Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly
63522        decoded transparent areas.
63523
63524        * platform/image-decoders/gif/GIFImageDecoder.cpp:
63525        (WebCore::GIFImageDecoder::haveDecodedRow):
63526        * platform/image-decoders/gif/GIFImageDecoder.h:
63527        * platform/image-decoders/gif/GIFImageReader.cpp:
63528        (GIFImageReader::output_row):
63529
635302007-12-20  Justin Garcia  <justin.garcia@apple.com>
63531
63532        Reviewed by Oliver Hunt.
63533
63534        <rdar://problem/5543472> GoogleDocs: Safari hangs when creating a list from a particular selection
63535        
63536        Still need to fix similar issues with the other operations that iterate 
63537        over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/5658933>).
63538
63539        * editing/IndentOutdentCommand.cpp:
63540        (WebCore::IndentOutdentCommand::indentRegion): Added a FIXME.
63541        * editing/IndentOutdentCommand.h: Removed an unused function.
63542        * editing/InsertListCommand.cpp:
63543        (WebCore::InsertListCommand::modifyRange): 
63544        Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection.
63545        Call the new selectionForParagraphIteration, which a) prevents operations like this
63546        one from being performed on a table that isn't fully selected (where the selection
63547        starts just before the table and ends inside it), and b) helps prevent paragraph
63548        iteration from going past the end of the selection.
63549        Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(),
63550        since when v is in the last paragraph of the last cell of a table, that expression 
63551        will return the position after the table, not the start of the next paragraph.
63552        * editing/htmlediting.cpp:
63553        (WebCore::enclosingListChild): Don't go above a table cell, so that list operations
63554        take effect inside the table cell where they are performed.
63555        (WebCore::selectionForParagraphIteration): Added, see above.
63556        (WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp.
63557        * editing/htmlediting.h:
63558        * editing/visible_units.cpp:
63559        (WebCore::startOfNextParagraph): Added, see above.
63560        * editing/visible_units.h:
63561        * editing/TextIterator.h:
63562        (WebCore::TextIterator::exitNode): Added a FIXME.
63563
635642007-12-20  Alp Toker  <alp@atoker.com>
63565
63566        Rubber-stamped by Maciej.
63567
63568        http://bugs.webkit.org/show_bug.cgi?id=16542
63569        [GTK] Text is missing with old Pango version
63570
63571        Back out commits r28880, r28876, r28865, r28864 which added Pango font
63572        selection support. These changes caused a regression where no text was
63573        displayed with older Pango versions.
63574
63575        * platform/graphics/gtk/FontCacheGtk.cpp:
63576        (WebCore::FontCache::fontExists):
63577        * platform/graphics/gtk/FontDataGtk.cpp:
63578        (WebCore::FontData::platformDestroy):
63579        (WebCore::FontData::containsCharacters):
63580        * platform/graphics/gtk/FontPlatformData.h:
63581        (WebCore::FontPlatformData::FontPlatformData):
63582        (WebCore::FontPlatformData::hash):
63583        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
63584        (WebCore::FontPlatformData::FontPlatformData):
63585        (WebCore::FontPlatformData::init):
63586        (WebCore::FontPlatformData::~FontPlatformData):
63587        (WebCore::FontPlatformData::isFixedPitch):
63588        (WebCore::FontPlatformData::operator==):
63589        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
63590        (WebCore::GlyphPage::fill):
63591
635922007-12-20  Timothy Hatcher  <timothy@apple.com>
63593
63594        Reviewed by Sam Weinig.
63595
63596        <rdar://problem/5604897> Double-clicking on JavaScript console error
63597        won't show the line where it occurred
63598
63599        Make the URLs clickable in the console, since double clicking is used for
63600        word text selection. Makes the word "line" localizable. Messages that don't
63601        have a URL will no longer print "undefined". Messages that have a line number
63602        less than or equal to 0 will no longer be printed.
63603
63604        * English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)".
63605        * page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created
63606          and change the click handler to look for a link with the
63607          "console-message-url" class name.
63608        * page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a
63609          line row is needed. 
63610        * page/inspector/inspector.css: Update the look of the URL in the console.
63611
636122007-12-20  Adam Barth  <hk9565@gmail.com>
63613
63614        Reviewed and landed by Sam Weinig.
63615
63616        http://bugs.webkit.org/show_bug.cgi?id=15313
63617        <rdar://problem/5514516>
63618
63619        The same-origin check was incorrect in two cases (both fixed in this
63620        patch):
63621
63622        A) If both the source and the target have set their document.domain
63623           to the same value, the protocol must also match in order for
63624           access to be allowed.  Without this requirement, the browser is
63625           vulnerable to the following attack:
63626
63627           1) Suppose there is an HTTPS site (www.example.com) that sets
63628              document.domain = "example.com".
63629           2) A network attacker redirects the browser to http://www.example.com/
63630              a) injects script to set document.domain = "example.com", and
63631              b) opens a window to https://www.example.com/
63632           3) Now the network attacker can inject script into the HTTPS page,
63633              stealing cookies and issuing banking transactions.
63634
63635        B) If only one of the source and target has set document.domain, then
63636           access should be denied.  With this behavior, the browser is
63637           vulnerable to the following attack:
63638
63639           1) Suppose http://foo.example.com/ opens an iframe to
63640              http://foo.example.com/frame.html that
63641              a) sets document.domain = "example.com", and
63642              b) opens an iframe to http://bar.example.com/
63643              This is a common usage of document.domain for cross-domain
63644              communication, see for example:
63645                http://www.collinjackson.com/research/papers/fp801-jackson.pdf
63646           2) The inner-most iframe, which is from bar.example.com, sets
63647              document.domain = "example.com".
63648           3) Now the inner-most iframe can inject script into the middle
63649              iframe (say via document.write).  This bar.example.com script
63650              now has access to the outer-most frame (from foo.example.com).
63651
63652        Both these changes cause WebKit to match the behavior of Firefox 2 and
63653        IE6 in these cases.  This patch includes regression tests for both
63654        issues.
63655
63656        Internet Explorer 7 and Opera 9 are more strict in that they require
63657        the port numbers to match when both pages have document.domain set.
63658        Opera 9 allows access when only one page has set document.domain, but
63659        this is a security vulnerability.
63660
63661        Tests: http/tests/security/cross-frame-access-child-explicit-domain.html
63662               http/tests/security/cross-frame-access-parent-explicit-domain.html
63663
63664        * bindings/js/kjs_window.cpp:
63665        (KJS::createWindow):
63666        (KJS::Window::allowsAccessFrom):
63667        * dom/Document.cpp:
63668        (WebCore::Document::domain):
63669        (WebCore::Document::setDomain):
63670        (WebCore::Document::initSecurityOrigin):
63671        * dom/Document.h:
63672        (WebCore::Document::securityOrigin):
63673        * loader/FrameLoader.cpp:
63674        (WebCore::FrameLoader::begin):
63675        (WebCore::FrameLoader::checkCallImplicitClose):
63676        (WebCore::FrameLoader::shouldAllowNavigation):
63677        * platform/SecurityOrigin.cpp:
63678        (WebCore::SecurityOrigin::setForURL):
63679        (WebCore::SecurityOrigin::createForFrame):
63680        (WebCore::SecurityOrigin::canAccess):
63681        * platform/SecurityOrigin.h:
63682        (WebCore::SecurityOrigin::domain):
63683        * storage/Database.cpp:
63684        (WebCore::Database::openDatabase):
63685        (WebCore::Database::Database):
63686        (WebCore::Database::securityOriginData):
63687        * storage/Database.h:
63688        (WebCore::Database::databaseDebugName):
63689        * storage/DatabaseTracker.cpp:
63690        (WebCore::DatabaseTracker::canEstablishDatabase):
63691        * storage/SQLTransaction.cpp:
63692        (WebCore::SQLTransaction::postflightAndCommit):
63693        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
63694
636952007-12-20  Rodney Dawes  <dobey@wayofthemonkey.com>
63696
63697        Reviewed by Darin Adler.
63698
63699        Define XP_UNIX when building with plugins on X11.
63700        Use new npruntime_internal.h instead of npruntime.h.
63701        http://bugs.webkit.org/show_bug.cgi?id=15669
63702
63703        * ForwardingHeaders/bindings/npruntime_internal.h
63704        * WebCore.pro:
63705        * html/HTMLPlugInElement.h:
63706
637072007-12-19  johnnyding.webkit  <johnnyding.webkit@gmail.com>
63708
63709        Reviewed by Alexey. Landed by Stephanie.
63710
63711        - fix http://bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/5619399>
63712          Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error
63713          Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing 
63714          the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name.
63715
63716
63717        * html/HTMLTokenizer.cpp:
63718        (WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity.
63719        (WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer.
63720        * html/HTMLTokenizer.h: Change type of cBuffer from char to UChar.
63721
637222007-12-20  Eric Seidel  <eric@webkit.org>
63723
63724        Reviewed by Nikolas Zimmermann.
63725
63726        WebKit claims to support SVG feature strings it shouldn't
63727        http://bugs.webkit.org/show_bug.cgi?id=15480
63728
63729        * dom/DOMImplementation.cpp:
63730        (WebCore::isSVG10Feature):
63731        (WebCore::isSVG11Feature):
63732
637332007-12-20  John Sullivan  <sullivan@apple.com>
63734
63735        Reviewed by Oliver and Geoff
63736        
63737        - fix <rdar://problem/5536858> Yellow highlight for find results is sometimes shorter 
63738          than white "hole" behind it
63739
63740        * rendering/RenderText.cpp:
63741        (WebCore::RenderText::addLineBoxRects):
63742        respect useSelectionHeight in all cases; we were only respecting it in one of the two cases
63743
637442007-12-20  Dan Bernstein  <mitz@apple.com>
63745
63746        Reviewed by Darin Adler.
63747
63748        - fix <rdar://problem/5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything
63749
63750        * platform/win/ScrollViewWin.cpp:
63751        (WebCore::ScrollView::maximumScroll): Changed back to return the maximum
63752        scroll offsets even if scrolling is not allowed, because navigation and
63753        scrollTo should still work.
63754        (WebCore::ScrollView::wheelEvent): Added early return if scrolling is
63755        not allowed.
63756
637572007-12-17  Tony Chang  <idealisms@gmail.com>
63758
63759        Reviewed by Darin.
63760
63761        - Fix for http://bugs.webkit.org/show_bug.cgi?id=16479
63762          text selection does not always begin at mouse down point
63763          Reset the m_dragSrc object on mouse down on all platforms.
63764
63765        Test: fast/text/reset-drag-on-mouse-down.html
63766
63767        * page/EventHandler.cpp:
63768        (WebCore::EventHandler::handleMousePressEvent):
63769        * page/mac/EventHandlerMac.mm:
63770        (WebCore::EventHandler::mouseDown):
63771
637722007-12-19  Geoffrey Garen  <ggaren@apple.com>
63773
63774        Reviewed by Oliver Hunt.
63775
63776        Build support:
63777        * ForwardingHeaders/kjs/SymbolTable.h: Added.
63778        * ForwardingHeaders/wtf/VectorTraits.h: Added.
63779
63780        * bindings/js/JSDOMWindowCustom.cpp:
63781        (WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of
63782        getDirectLocation with getOwnPropertySlot. getDirectLocation is no
63783        longer valid, since global declarations are not stored in the property
63784        map.
63785
63786        (WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with
63787        JSGlobalObject::put. JSObject::put is no longer valid, since global
63788        declarations are not stored in the property map.
63789
63790        * bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base::
63791        calls, since JSObject is not our base class. This was always a bug, but
63792        the bug is even more apparent after some of my changes.
63793
63794        (KJS::Window::clear): Removed call to clearProperties because
63795        JSGlobalObject::reset takes care of that now.
63796
63797        * history/CachedPage.cpp:
63798        * history/CachedPage.h: Added support for saving a symbol table and
63799        localStorage to the page cache, and restoring it.
63800
638012007-12-19  Dan Bernstein  <mitz@apple.com>
63802
63803        Reviewed by Darin Adler and Dave Hyatt.
63804
63805        - Substitute the user's preferred standard font for an unknown primary
63806          font before falling back on the platform's last resort font
63807
63808        Cannot be tested in DumpRenderTree because it sets the standard font to
63809        Times, which is also the hard-coded last resort font on Mac.
63810
63811        * css/CSSFontSelector.cpp:
63812        (WebCore::CSSFontSelector::getFontData): Changed the early bail out
63813        condition to allow getting generic font families from settings even if
63814        there are not @font-face rules. Fixed a typo that mapped fantasy to
63815        cursive. Added a mapping from -webkit-standard to the standard family.
63816        * css/CSSStyleSelector.cpp:
63817        (WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create
63818        a font selector.
63819        (WebCore::CSSRuleSet::addRulesFromSheet):
63820        (WebCore::CSSStyleSelector::applyProperty): Changed to always use the
63821        font selector.
63822        * css/CSSStyleSelector.h:
63823        (WebCore::CSSStyleSelector::fontSelector):
63824        * platform/graphics/FontCache.cpp:
63825        (WebCore::FontCache::getFontData): Try the user's preferred standard
63826        font before the platform's last resort font.
63827
638282007-12-19  Sven Herzberg  <sven@imendio.com>
63829
63830        Reviewed by Alp Toker.
63831
63832        Scaled font destruction takes place in FontData::platformDestroy(). No
63833        need to do it in FontPlatformData::~FontPlatformData().
63834
63835        Destroying platform data in platformDestroy() is a convention we
63836        borrow from the Mac and Win ports.
63837
63838        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
63839
638402007-12-19  Alice Liu  <alice.liu@apple.com>
63841
63842        build fix (Windows)
63843
63844        Changed uint to unsigned int.  uint caused Windows build breakage
63845
63846        * page/Page.cpp:
63847        (WebCore::Page::markAllMatchesForText):
63848        * page/Page.h:
63849
638502007-12-19  Christian Dywan  <christian@twotoasts.de> 
63851
63852        Reviewed by Alp Toker.
63853
63854        http://bugs.webkit.org/show_bug.cgi?id=16222
63855        [GTK] Implement inline search and highlighting of matching strings.
63856
63857        Implement search and highlighting logic directly in WebCore.
63858
63859        * page/Page.cpp:
63860        (WebCore::incrementFrame):
63861        (WebCore::Page::findString):
63862        (WebCore::Page::markAllMatchesForText):
63863        (WebCore::Page::unmarkAllTextMatches):
63864        * page/Page.h:
63865
638662007-12-19  Geoffrey Garen  <ggaren@apple.com>
63867
63868        Reviewed by Sam Weinig, Dan Bernstein.
63869
63870        Tiger build fix: restored some graphics code still needed on Tiger.
63871
63872        * platform/graphics/GraphicsTypes.h:
63873        * platform/graphics/cg/GraphicsContextCG.cpp:
63874        * platform/graphics/mac/GraphicsContextMac.mm:
63875        (WebCore::GraphicsContext::setCompositeOperation):
63876
638772007-12-19  Alp Toker  <alp@atoker.com>
63878
63879        Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and
63880        the Pango backend API in these cases.
63881
63882        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
63883        (WebCore::FontPlatformData::FontPlatformData):
63884        (WebCore::FontPlatformData::~FontPlatformData):
63885
638862007-12-19  Alice Liu  <alice.liu@apple.com>
63887
63888        Reviewed by Darin.
63889
63890        Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote
63891        on Geico.com WebCore::Document::inPageCache()
63892
63893        Calling Node::willRemove on the focusedNode would immediately tell the document to remove
63894        the focused node, and trigger JS events.  This means that the document is mutated while
63895        the engine is trying to tell all child nodes that it's about to removed.  To avoid
63896        crashing, we need to hold off on mutating the document until node traversal is finished.
63897
63898        * dom/ContainerNode.cpp:
63899        (WebCore::ContainerNode::removeChild):
63900        (WebCore::ContainerNode::removeChildren):
63901        * dom/Node.cpp:
63902        * dom/Node.h:
63903        (WebCore::Node::willRemove):
63904        * loader/FrameLoader.cpp:
63905        (WebCore::FrameLoader::clear):
63906
639072007-12-19  Andre Boule  <aboule@apple.com>
63908
63909        Reviewed by Dan Bernstein.
63910
63911        Test: fast/canvas/canvas-composite.html
63912
63913        Fix for:
63914        <rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode
63915
63916        This fix makes setCompositeOperation consistent across all platforms that use CG.
63917
63918        The following compositing modes don't pass however that is covered by another bug:
63919        source-in
63920        source-out
63921        destination-in
63922        destination-atop
63923        copy
63924        <rdar://problem/5651783> Some canvas tag compositing modes don't render correctly
63925
63926        * platform/graphics/GraphicsTypes.h:
63927        * platform/graphics/cg/GraphicsContextCG.cpp:
63928        (WebCore::GraphicsContext::setCompositeOperation):
63929        * platform/graphics/mac/GraphicsContextMac.mm:
63930        * platform/win/GraphicsContextWin.cpp:
63931
639322007-12-19  Dan Bernstein  <mitz@apple.com>
63933
63934        Reviewed by Dave Hyatt.
63935
63936        - fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page
63937
63938        Test: fast/dynamic/subtree-boundary-percent-height.html
63939
63940        * rendering/RenderObject.cpp:
63941        (WebCore::objectIsRelayoutBoundary): Do not allow overflows with
63942        percent heights because sometimes they compute to 'auto'.
63943
639442007-12-19  Sam Weinig  <sam@webkit.org>
63945
63946        Reviewed by Maciej.
63947
63948        http://bugs.webkit.org/show_bug.cgi?id=16511
63949        Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList.
63950        - This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/
63951
63952        * dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching.
63953        (WebCore::ChildNodeList::ChildNodeList):
63954        * dom/ClassNodeList.cpp:
63955        (WebCore::ClassNodeList::ClassNodeList):
63956        * dom/ClassNodeList.h:
63957
63958        Move getElementsByName and getElementsByClassName to Node so they
63959        can use easily employ the caching already used by ChildNodeLists.  In the case of 
63960        getElementsByClassName, this reduces code duplication in Element as well
63961        * dom/Document.cpp:
63962        * dom/Document.h:
63963
63964        Move getElementsByClassName to Node.
63965        * dom/Element.cpp:
63966        * dom/Element.h:
63967
63968        * dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching.
63969        (WebCore::NameNodeList::NameNodeList):
63970        (WebCore::NameNodeList::item):
63971        * dom/NameNodeList.h:
63972
63973        Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData.
63974        * dom/Node.cpp:
63975        (WebCore::TagNodeList::TagNodeList):
63976        (WebCore::Node::Node):
63977        (WebCore::Node::~Node):
63978        (WebCore::Node::childNodes):
63979        (WebCore::Node::registerNodeList):
63980        (WebCore::Node::getElementsByName):
63981        (WebCore::Node::getElementsByClassName):
63982        * dom/Node.h: Make m_nodeLists an OwnPtr.  Moved getElementsByName and getElementsByClassName here
63983
63984        Allow subclasses to choose whether they want to receive the notifications using a new bit.
63985        * dom/NodeList.cpp:
63986        (WebCore::NodeList::NodeList):
63987        * dom/NodeList.h:
63988        (WebCore::NodeList::needsNotifications):
63989
639902007-12-19  Dave Hyatt  <hyatt@apple.com>
63991
63992        Add support for GDI text rendering to WebKit.
63993      
63994        Reviewed by mitz
63995        
63996        * css/CSSStyleSelector.cpp:
63997        (WebCore::CSSStyleSelector::applyProperty):
63998        * dom/Document.cpp:
63999        (WebCore::Document::recalcStyle):
64000        * page/Settings.cpp:
64001        (WebCore::Settings::setFontRenderingMode):
64002        (WebCore::Settings::fontRenderingMode):
64003        * page/Settings.h:
64004        * platform/graphics/Font.h:
64005        (WebCore::Font::renderingMode):
64006        * platform/graphics/FontCache.cpp:
64007        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
64008        (WebCore::FontPlatformDataCacheKey::operator==):
64009        (WebCore::computeHash):
64010        (WebCore::FontCache::getCachedFontPlatformData):
64011        * platform/graphics/FontDescription.h:
64012        (WebCore::FontDescription::FontDescription):
64013        (WebCore::FontDescription::renderingMode):
64014        (WebCore::FontDescription::setRenderingMode):
64015        (WebCore::FontDescription::operator==):
64016        * platform/graphics/GraphicsContext.h:
64017        * platform/graphics/win/FontCacheWin.cpp:
64018        (WebCore::FontCache::fontExists):
64019        (WebCore::FontCache::createFontPlatformData):
64020        * platform/graphics/win/FontDataWin.cpp:
64021        (WebCore::FontData::platformInit):
64022        (WebCore::FontData::smallCapsFontData):
64023        (WebCore::FontData::containsCharacters):
64024        (WebCore::FontData::determinePitch):
64025        (WebCore::FontData::platformWidthForGlyph):
64026        * platform/graphics/win/FontPlatformData.h:
64027        (WebCore::FontPlatformData::FontPlatformData):
64028        (WebCore::FontPlatformData::useGDI):
64029        (WebCore::FontPlatformData::operator==):
64030        * platform/graphics/win/FontPlatformDataWin.cpp:
64031        (WebCore::FontPlatformData::FontPlatformData):
64032        * platform/graphics/win/FontWin.cpp:
64033        (WebCore::Font::drawGlyphs):
64034        * platform/graphics/win/IconWin.cpp:
64035        (WebCore::Icon::paint):
64036        * platform/win/GraphicsContextWin.cpp:
64037        (WebCore::GraphicsContext::getWindowsContext):
64038        (WebCore::GraphicsContext::releaseWindowsContext):
64039        * platform/win/UniscribeController.cpp:
64040        (WebCore::UniscribeController::shapeAndPlaceItem):
64041        * platform/win/UniscribeController.h:
64042        * plugins/win/PluginViewWin.cpp:
64043        (WebCore::PluginViewWin::paint):
64044
640452007-12-19  Sven Herzberg  <sven@imendio.com>
64046
64047        Reviewed by Alp Toker.
64048
64049        Replace the fontconfig/freetype based font management with a pango
64050        based one. Fixes:
64051        http://bugs.webkit.org/show_bug.cgi?id=15229
64052
64053        * platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated
64054        the platform specific destroy code
64055        (FontData::containsCharacters()): implemented font coverage with pango
64056        * platform/gtk/FontPlatformData.h: replaced fontconfig specific
64057        members with pango-specific ones
64058        * platform/gtk/FontPlatformDataGtk.cpp: added static members for the
64059        FontPlatformData class
64060        (FontPlatformData::FontPlatformData()): implemented the font-matching
64061        with a PangoFontDescription instead of an FcPattern; initialize the
64062        scaled font by using the API for PangoCairoFont
64063        (FontPlatformData::init()): initialize the PangoFontMap and set up a
64064        hash table to translate the font family name into a font family
64065        (FontPlatformData::isFixedPitch()): implemented by querying the
64066        PangoFontFamily
64067        (FontPlatformData::operator==): compare the FontPlatformData by
64068        comparing the font pointers or the described fonts
64069        * platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()):
64070        added a function to query a glyph from a PangoFont
64071        (GlyphPage::fill()): implemented the fill function with Pango instead
64072        of fontconfig/freetype
64073
640742007-12-19  Alp Toker  <alp@atoker.com>
64075
64076        Reviewed by Holger Freyther.
64077
64078        Improve graphics operator approximations
64079        
64080        These changes match Cairo's own CG approximations.
64081
64082        * platform/graphics/cairo/GraphicsContextCairo.cpp:
64083        (WebCore::toCairoOperator):
64084
640852007-12-19  Alp Toker  <alp@atoker.com>
64086
64087        Reviewed by Holger Freyther.
64088
64089        Check the bounding box before doing a full hit test
64090
64091        * platform/graphics/cairo/PathCairo.cpp:
64092        (WebCore::Path::contains):
64093
640942007-12-18  Sam Weinig  <sam@webkit.org>
64095
64096        Reviewed by Geoff.
64097
64098        Fix for <rdar://problem/5646478>
64099        REGRESSION: fast/events/event-view-toString fails on Leopard
64100
64101        This fixes an issue where we were incorrectly setting the lastInPrototypeChain
64102        for the JSDOMWindow (the global object) before a call to setPrototype overwrote
64103        it. This fixes it by passing the prototype up the constructor chain so that it
64104        is set before any calls can be made.
64105
64106        * bindings/js/kjs_window.cpp:
64107        (KJS::Window::Window):
64108        * bindings/js/kjs_window.h:
64109        * bindings/scripts/CodeGeneratorJS.pm:
64110
641112007-12-18  Beth Dakin  <bdakin@apple.com>
64112
64113        Reviewed by Oliver.
64114
64115        Fix for <rdar://problem/5616982> SVGs with width and height 100% 
64116        fail to render when used as <img> or CSS image (16167)
64117
64118        This final part of the work fixes the <img> tag.
64119
64120        This is the real fix. 
64121        * rendering/RenderImage.cpp:
64122        (WebCore::RenderImage::calcReplacedWidth): Set the container size 
64123        on the image. Setting the container size only actually sticks if 
64124        the values are non-zero, so if the container size really was set, 
64125        use the imageSize that is calculated using the container size. If 
64126        it did not stick but the image does have relative width (meaning 
64127        that the container size is 0), set the width to 0 by hand. We want 
64128        to avoid setting the width before we have a container size or we 
64129        will end up incorrectly using the default size of 300x150.
64130        (WebCore::RenderImage::calcReplacedHeight): Same as above, but for 
64131        height.
64132
64133        A few more pieces of information have to be exposed through cached 
64134        image to make this happen.
64135        * loader/CachedImage.cpp:
64136        (WebCore::CachedImage::usesImageContainerSize): As mentioned above, 
64137        when setContainerSize() is called, the container size is only 
64138        actually set if the values are non-zero. This call tells you if it 
64139        was set.
64140        (WebCore::CachedImage::imageHasRelativeWidth):
64141        (WebCore::CachedImage::imageHasRelativeHeight):
64142        * loader/CachedImage.h:
64143        * platform/graphics/Image.h:
64144        (WebCore::Image::usesContainerSize):
64145        * svg/graphics/SVGImage.cpp:
64146        (WebCore::SVGImage::usesContainerSize):
64147        * svg/graphics/SVGImage.h:
64148
641492007-12-18  Mark Rowe  <mrowe@apple.com>
64150
64151        Rubber-stamped by Maciej Stachowiak.
64152
64153        Remove outdated and non-functioning project files for the Apollo port.
64154
64155        * WebCore.apolloproj: Removed.
64156
641572007-12-18  Steve Falkenburg  <sfalken@apple.com>
64158
64159        <rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help
64160        
64161        Need to translate the char back into a key code for posting our WM_KEYDOWN.
64162        
64163        Reviewed by Ada.
64164
64165        * platform/win/PopupMenuWin.cpp:
64166        (WebCore::PopupWndProc):
64167
641682007-12-18  Steve Falkenburg  <sfalken@apple.com>
64169
64170        <rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available
64171        
64172        Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect.
64173        Only create a font with the last one.
64174        
64175        Reviewed by Mitz, Darin.
64176
64177        * platform/graphics/win/FontCacheWin.cpp:
64178        (WebCore::metaFileEnumProc):
64179        (WebCore::FontCache::getFontDataForCharacters):
64180
641812007-12-17  Brent Fulgham  <bfulgham@gmail.com>
64182
64183        Reviewed by Darin.
64184
64185        http://bugs.webkit.org/show_bug.cgi?id=16464
64186        Modify WebCore to use win32 thread primitives
64187
64188        Updates to support native windows threading primitives
64189        rather than pthreads emulation library.
64190
64191        * WebCore.vcproj/WebCore.vcproj:
64192        * config.h:
64193        * platform/Threading.h:
64194        * platform/win/MutexWin.cpp: Added.
64195        (WebCore::Mutex::Mutex):
64196        (WebCore::Mutex::~Mutex):
64197        (WebCore::Mutex::lock):
64198        (WebCore::Mutex::tryLock):
64199        (WebCore::Mutex::unlock):
64200        * platform/win/ThreadConditionWin.cpp: Added.
64201        (WebCore::ThreadCondition::ThreadCondition):
64202        (WebCore::ThreadCondition::~ThreadCondition):
64203        (WebCore::ThreadCondition::wait):
64204        (WebCore::ThreadCondition::signal):
64205        (WebCore::ThreadCondition::broadcast):
64206        * platform/win/ThreadingWin.cpp:
64207        (WebCore::threadMapMutex):
64208        (WebCore::threadMap):
64209        (WebCore::storeThreadHandleByIdentifier):
64210        (WebCore::identifierByThreadHandle):
64211        (WebCore::threadHandleForIdentifier):
64212        (WebCore::clearThreadHandleForIdentifier):
64213        (WebCore::createThread):
64214        (WebCore::waitForThreadCompletion):
64215        (WebCore::detachThread):
64216        (WebCore::currentThread):
64217
642182007-12-18  Rodney Dawes  <dobey@wayofthemonkey.com>
64219
64220        Reviewed by Darin Adler.
64221
64222        Handle EINTR when set by select() and try the select() again
64223        http://bugs.webkit.org/show_bug.cgi?id=16071
64224
64225        * platform/network/curl/ResourceHandleManager.cpp:
64226        (ResourceHandleManager::downloadTimerCallback):
64227
642282007-12-18  Dan Bernstein  <mitz@apple.com>
64229
64230        Reviewed by Dave Hyatt.
64231
64232        - avoid the simplified Chinese font linking code for characters that are
64233          not in any Windows code page
64234
64235        * platform/graphics/win/FontCacheWin.cpp:
64236        (WebCore::FontCache::getFontDataForCharacters):
64237
642382007-12-18  Brady Eidson <beidson@apple.com>
64239
64240        Reviewed by Adele
64241
64242        <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
64243
64244        Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
64245        protected by authentication.  Occasionally one can view the main page of a site but the favicon
64246        is behind the iron curtain - in these cases, we should *not* prompt for a username and password
64247        solely for the favicon.
64248
64249        * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
64250
64251        * loader/SubresourceLoader.cpp:
64252        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
64253          is virtual from ResourceLoader, SubresourceLoader can override.  First call to the 
64254          SubresourceLoaderClient.  If they cancel the resource load, return early. Otherwise, let
64255          ResourceLoader work its magic (resulting in the auth sheet coming down)
64256        * loader/SubresourceLoader.h:
64257
64258        * loader/SubresourceLoaderClient.h:
64259        (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
64260
64261        * loader/icon/IconLoader.cpp:
64262        (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
64263          never prompt the user for credentials just for a favicon.
64264        * loader/icon/IconLoader.h:
64265
642662007-12-18  John Sullivan  <sullivan@apple.com>
64267
64268        Reviewed by Brady
64269        
64270        - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
64271
64272        * storage/DatabaseTracker.cpp:
64273        (WebCore::DatabaseTracker::canEstablishDatabase):
64274        pass "name" instead of "displayName" if there's no displayName
64275
642762007-12-17  Dan Bernstein  <mitz@apple.com>
64277
64278        Reviewed by Maciej Stachowiak.
64279
64280        - restore ButtonFace and ThreeDFace to their previous values for non-Mac
64281          platforms. The Mac port also uses the same values for now instead
64282          of NSColor-based ones.
64283
64284        * rendering/RenderTheme.cpp:
64285        (WebCore::RenderTheme::systemColor):
64286
642872007-12-17  Rodney Dawes  <dobey@wayofthemonkey.com>
64288
64289        Reviewed by Maciej Stachowiak.
64290
64291        Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
64292        Add required Frame::createScriptInstanceForWidget to FrameGtk
64293
64294        * config.h:
64295        * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
64296
642972007-12-17  Alice Liu  <alice.liu@apple.com>
64298
64299        Reviewed by Adam.
64300
64301        Fixed <rdar://5566435> window with no scrollbars can be scrolled
64302
64303        * platform/win/ScrollViewWin.cpp:
64304        (WebCore::ScrollView::maximumScroll):
64305        corrected maximumScroll() to account for scrolling not allowed.
64306        (WebCore::ScrollView::wheelEvent):
64307
643082007-12-14  Juan A. Suarez Romero  <jasuarez@igalia.com>
64309
64310        Reviewed by Alp Toker.
64311
64312        http://bugs.webkit.org/show_bug.cgi?id=16042
64313        [GTK] Eliminate webkit_init()
64314
64315        Move webkit initialization to WebView class init.
64316
64317        * WebCore.pro:
64318
643192007-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
64320
64321        Reviewed by Darin.
64322
64323        <rdar://problem/5651291> REGRESSION: Flash content doesn't display
64324        (www.adobe.com)
64325
64326        We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
64327
64328        * plugins/win/PluginViewWin.cpp:
64329        (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
64330        NPEvent*
64331        (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
64332        (WebCore::PluginViewWin::handleKeyboardEvent): same
64333        (WebCore::PluginViewWin::handleMouseEvent): same
64334        * plugins/win/PluginViewWin.h:
64335
643362007-12-17  Alexey Proskuryakov  <ap@webkit.org>
64337
64338        Reviewed by Darin.
64339
64340        Live to the promise of never making AppKit special character codes visible via DOM.
64341
64342        Test: fast/events/arrow-keys-on-body.html
64343
64344        * page/EventHandler.cpp:
64345        (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
64346        to let quirks-aware code strip special charactrers.
64347        * platform/mac/KeyEventMac.mm:
64348        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
64349        mode, remove the text if it's a special character.
64350
643512007-12-17  Mark Rowe  <mrowe@apple.com>
64352
64353        Reviewed by Darin Adler.
64354
64355        Fix incorrect array size and incorrect array index in convertNSColorToColor.
64356
64357        * rendering/RenderThemeMac.mm:
64358        (WebCore::convertNSColorToColor):
64359
643602007-12-17  Darin Adler  <darin@apple.com>
64361
64362        Reviewed by Mark Rowe.
64363
64364        - fix http://bugs.webkit.org/show_bug.cgi?id=16468
64365          REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
64366
64367        * storage/DatabaseThread.cpp:
64368        (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
64369        because there's no guarantee it won't lose its last reference otherwise.
64370
643712007-12-17  Dan Bernstein  <mitz@apple.com>
64372
64373        Reviewed by Maciej Stachowiak.
64374
64375        - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
64376          and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
64377
64378        * platform/graphics/win/FontCacheWin.cpp:
64379        (WebCore::FontCache::getFontDataForCharacters): To ensure that font
64380        linking gives consistent results for characters that are exclusive to
64381        the simplified Chinese code page and characters that belong to that
64382        code page and other code pages, always ask to map to simplified Chinese
64383        alone first.
64384
643852007-12-17  Christian Dywan  <christian@twotoasts.de>
64386
64387        Reviewed by Alp Toker.
64388
64389        http://bugs.webkit.org/show_bug.cgi?id=16378
64390        Implement Icon for Gtk
64391
64392        Icon provides a GdkPixbuf containing a themed icon.
64393        The icon theme is probed for an icon name according to the
64394        Icon Naming Specification or conventional Gnome icon names respectively.
64395
64396        See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
64397
64398        * platform/graphics/Icon.h:
64399        * platform/graphics/gtk/IconGtk.cpp:
64400        (WebCore::Icon::~Icon):
64401        (WebCore::lookupIconName):
64402        (WebCore::Icon::newIconForFile):
64403        (WebCore::Icon::paint):
64404
644052007-12-16  Sam Weinig  <sam@webkit.org>
64406
64407        Reviewed by Mitz.
64408
64409        Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
64410        Move the JS Location object to its own file
64411
64412        - Move Location into its own file and rename it JSLocation.
64413
64414        * DerivedSources.make:
64415        * WebCore.pro:
64416        * WebCore.vcproj/WebCore.vcproj:
64417        * WebCore.xcodeproj/project.pbxproj:
64418        * WebCoreSources.bkl:
64419        * bindings/js/JSDocumentCustom.cpp:
64420        * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
64421        (WebCore::JSLocation::JSLocation):
64422        (WebCore::JSLocation::getValueProperty):
64423        (WebCore::JSLocation::getOwnPropertySlot):
64424        (WebCore::JSLocation::put):
64425        (WebCore::JSLocationProtoFuncReplace::callAsFunction):
64426        (WebCore::JSLocationProtoFuncReload::callAsFunction):
64427        (WebCore::JSLocationProtoFuncAssign::callAsFunction):
64428        (WebCore::JSLocationProtoFuncToString::callAsFunction):
64429        * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
64430        (WebCore::JSLocation::):
64431        (WebCore::JSLocation::frame):
64432        (WebCore::JSLocation::classInfo):
64433        * bindings/js/kjs_window.cpp:
64434        (KJS::Window::location):
64435        * bindings/js/kjs_window.h:
64436        * history/CachedPage.cpp:
64437
644382007-12-16  Dan Bernstein  <mitz@apple.com>
64439
64440        Reviewed by Sam Weinig.
64441
64442        - make 'cursor: copy' and 'cursor: none' work.
64443
64444        Already covered by manual-tests/cursor.html
64445
64446        * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
64447        needed for the 33rd and 34th cursor values.
64448
644492007-12-16  Mark Rowe  <mrowe@apple.com>
64450
64451        Reviewed by Maciej Stachowiak.
64452
64453        Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
64454
64455        * WebCore.base.exp:
64456        * WebCore.xcodeproj/project.pbxproj:
64457        * loader/NetscapePlugInStreamLoader.h:
64458        * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
64459        * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
64460
644612007-12-16  Sam Weinig  <sam@webkit.org>
64462
64463        Reviewed by Maciej.
64464
64465        Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
64466        Cleanup kjs_window
64467
64468        - Move ScheduledAction into its own file and put it in the WebCore namespace.
64469
64470        * WebCore.pro:
64471        * WebCore.vcproj/WebCore.vcproj:
64472        * WebCore.xcodeproj/project.pbxproj:
64473        * WebCoreSources.bkl:
64474        * bindings/js/PausedTimeouts.cpp:
64475        * bindings/js/PausedTimeouts.h:
64476        * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
64477        (WebCore::ScheduledAction::ScheduledAction):
64478        (WebCore::ScheduledAction::execute):
64479        * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
64480        (WebCore::ScheduledAction::ScheduledAction):
64481        * bindings/js/kjs_window.cpp:
64482        (KJS::DOMWindowTimer::DOMWindowTimer):
64483        (KJS::DOMWindowTimer::action):
64484        (KJS::DOMWindowTimer::takeAction):
64485        (KJS::Window::installTimeout):
64486        (KJS::Window::timerFired):
64487        * bindings/js/kjs_window.h:
64488
644892007-12-16  Alp Toker  <alp@atoker.com>
64490
64491        Reviewed by Maciej.
64492
64493        http://bugs.webkit.org/show_bug.cgi?id=16356
64494        [GTK] Integrate GStreamer video with the graphics backend
64495
64496        Integrate the GStreamer media backend with the Cairo graphics backend.
64497        There are still some issues: Data is copied more often than necessary,
64498        and repaint() is not called, causing transformed video not to update
64499        sometimes.
64500
64501        * WebCore.pro:
64502        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
64503        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
64504        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
64505        (WebCore::MediaPlayerPrivate::currentTime):
64506        (WebCore::MediaPlayerPrivate::setEndTime):
64507        (WebCore::MediaPlayerPrivate::seeking):
64508        (WebCore::MediaPlayerPrivate::naturalSize):
64509        (WebCore::MediaPlayerPrivate::setMuted):
64510        (WebCore::MediaPlayerPrivate::setRect):
64511        (WebCore::MediaPlayerPrivate::setVisible):
64512        (WebCore::MediaPlayerPrivate::repaint):
64513        (WebCore::MediaPlayerPrivate::paint):
64514        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
64515        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
64516        * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
64517        (webkit_video_sink_base_init):
64518        (webkit_video_sink_init):
64519        (webkit_video_sink_idle_func):
64520        (webkit_video_sink_render):
64521        (webkit_video_sink_set_caps):
64522        (webkit_video_sink_dispose):
64523        (webkit_video_sink_finalize):
64524        (webkit_video_sink_set_property):
64525        (webkit_video_sink_get_property):
64526        (webkit_video_sink_stop):
64527        (webkit_video_sink_class_init):
64528        (webkit_video_sink_new):
64529        (webkit_video_sink_set_surface):
64530        (plugin_init):
64531        * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
64532
645332007-12-16  Mark Rowe  <mrowe@apple.com>
64534
64535        Mac build fix.
64536
64537        * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
64538        Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
64539        new shared implementation.
64540
645412007-12-16  Rodney Dawes  <dobey@wayofthemonkey.com>
64542
64543        Reviewed by Maciej Stachowiak.
64544
64545        http://bugs.webkit.org/show_bug.cgi?id=16389
64546        Bug 16389: Common Implementation of NetscapePlugInStreamLoader
64547
64548        * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
64549        * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
64550        * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
64551
645522007-12-16  Grace Kloba  <klobag@gmail.com>
64553
64554        Reviewed by Darin Adler.
64555
64556        Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
64557        Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
64558
64559        * dom/Document.cpp:
64560        (WebCore::Document::Document):
64561        * loader/FrameLoader.cpp:
64562        (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
64563        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
64564
645652007-12-16  Darin Adler  <darin@apple.com>
64566
64567        Reviewed by Maciej.
64568
64569        - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
64570
64571        Test: storage/execute-sql-args.html
64572
64573        * bindings/js/JSSQLTransactionCustom.cpp:
64574        (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
64575        exception happens, we won't try to do any more argument processing. Changed processing
64576        of the second argument so that we allow an undefined value or null, and simply omit the
64577        array. Changed processing of the second argument so that we don't require an actual
64578        JavaScript array. Instead, as with the JavaScript array operations themselves, we use
64579        the length property and corresponding numeric properties of the object, allowing other
64580        objects to act as arrays. Changed processing of the third and fourth arguments to
64581        allow the undefined value as well as null; we check the value of the argument rather
64582        than looking at the size of the passed-in arguments list.
64583
645842007-12-16  Sam Weinig  <sam@webkit.org>
64585
64586        Reviewed by Darin.
64587
64588        More of http://bugs.webkit.org/show_bug.cgi?id=16385
64589        Cleanup kjs_window
64590
64591        - Move PausedTimeouts into its own file and put it in the WebCore namespace.
64592
64593        * WebCore.pro:
64594        * WebCore.vcproj/WebCore.vcproj:
64595        * WebCore.xcodeproj/project.pbxproj:
64596        * WebCoreSources.bkl:
64597        * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
64598        * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
64599        * bindings/js/kjs_window.cpp:
64600        (KJS::Window::pauseTimeouts):
64601        * bindings/js/kjs_window.h:
64602        * history/CachedPage.cpp:
64603        * history/CachedPage.h:
64604        * page/Chrome.cpp:
64605
646062007-12-16  Beth Dakin  <bdakin@apple.com>
64607
64608        Reviewed by Geoff.
64609
64610        Make relative-size SVGs work in border-image.
64611
64612        * rendering/RenderBox.cpp:
64613        (WebCore::RenderBox::calculateBackgroundSize):
64614        * rendering/RenderObject.cpp:
64615        (WebCore::RenderObject::paintBorderImage):
64616
646172007-12-16  Darin Adler  <darin@apple.com>
64618
64619        - fix Tiger build (my fault it was broken)
64620
64621        * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
64622
646232007-12-16  Andrew Wellington  <proton@wiretapped.net>
64624
64625        Reviewed by Darin.
64626        
64627        http://bugs.webkit.org/show_bug.cgi?id=6129
64628        Incomplete implementation of CSS 2.1 system colors
64629
64630        Test: fast/css/css2-system-color.html
64631        
64632        Based on original patch by Rob Buis.
64633        
64634        System colors are retrieved from NSColor as appropriate. If the color is a pattern color
64635        (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
64636        color and sample that to get a solid color.
64637
64638        * css/CSSStyleSelector.cpp:
64639        (WebCore::colorForCSSValue):
64640        * rendering/RenderTheme.cpp:
64641        (WebCore::RenderTheme::systemColor):
64642        * rendering/RenderTheme.h:
64643        * rendering/RenderThemeMac.h:
64644        * rendering/RenderThemeMac.mm:
64645        (WebCore::getSystemColor):
64646        (WebCore::RenderThemeMac::platformColorsDidChange):
64647        (WebCore::RenderThemeMac::systemColor):
64648
646492007-12-16  Dan Bernstein  <mitz@apple.com>
64650
64651        Reviewed by Darin Adler.
64652
64653        - fix http://bugs.webkit.org/show_bug.cgi?id=16426
64654          Divs with overflow:auto: scrollbars not correctly updated when contents change
64655
64656        Test: fast/overflow/scrollbar-position-update.html
64657
64658        * platform/mac/PlatformScrollBarMac.mm:
64659        (WebCore::PlatformScrollbar::updateThumbProportion): Update the
64660        NSScroller's value for the new proportions.
64661        * rendering/RenderLayer.cpp:
64662        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
64663        repaint(). Scrollbars repaint themselves as needed.
64664
646652007-12-16  Alexey Proskuryakov  <ap@webkit.org>
64666
64667        Reviewed by Darin.
64668
64669        http://bugs.webkit.org/show_bug.cgi?id=14140
64670        <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
64671
64672        * dom/KeyboardEvent.h:
64673        (WebCore::KeypressCommand::KeypressCommand):
64674        (WebCore::KeyboardEvent::keypressCommands):
64675        Change stored command class to preserve complete information about commands.
64676
64677        * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
64678        command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
64679        as a command.
64680
64681        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
64682        a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
64683
646842007-12-16  Alexey Proskuryakov  <ap@webkit.org>
64685
64686        Reviewed by Darin.
64687
64688        http://bugs.webkit.org/show_bug.cgi?id=16462
64689        REGRESSION: access keys broken on Windows
64690
64691        * page/EventHandler.cpp:
64692        (WebCore::EventHandler::handleAccessKey):
64693        (WebCore::EventHandler::keyEvent):
64694        * page/EventHandler.h:
64695        Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
64696
646972007-12-16  Xan Lopez  <xan@gnome.org>
64698
64699        Reviewed by Alexey Proskuryakov.
64700
64701        http://bugs.webkit.org/show_bug.cgi?id=16454
64702        [GTK] Text input doesn't work consistently on PPC
64703
64704        * platform/gtk/KeyEventGtk.cpp:
64705        (WebCore::singleCharacterString):
64706
64707        UChar is 2 bytes (UTF-16), so transform accordingly from
64708        gunichar (UCS-4). Fixes keyboard input on big endian systems.
64709
647102007-12-15  Darin Adler  <darin@apple.com>
64711
64712        Reviewed by Mark Rowe.
64713
64714        - better build fix for the problem affecting GTK and some other platforms
64715          "this time for sure"
64716
64717        * WebCore.xcodeproj/project.pbxproj:
64718        * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
64719        * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
64720        which won't work, declare the tables that are in the .lut.h file in the header.
64721
647222007-12-12  Kevin Watters  <kevin@dotsyntax.com>
64723
64724        Reviewed by Darin Adler.
64725
64726        Fixed the Wx port's FontPlatformData for use in HashTable.
64727        - FontPlatformData(Deleted) made unequal to FontPlatformData()
64728
64729        * platform/graphics/wx/FontPlatformData
64730
647312007-12-15  Dan Bernstein  <mitz@apple.com>
64732
64733        Reviewed by Darin Adler.
64734
64735        - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
64736
64737        * platform/graphics/win/FontCacheWin.cpp:
64738        (WebCore::metaFileEnumProc): Added. Called during metafile record
64739        enumeration and extracts the font from the create font record.
64740        (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
64741        let Uniscribe draw the characters and see what font it chooses.
64742
647432007-12-15  Darin Adler  <darin@apple.com>
64744
64745        * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
64746
647472007-12-15  Darin Adler  <darin@apple.com>
64748
64749        Another try at a GTK build fix.
64750
64751        * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
64752
647532007-12-15  Sam Weinig  <sam@webkit.org>
64754
64755        Force windows to regenerate COM DOM bindings.
64756
64757        * WebCore.vcproj/build-generated-files.sh: Add license. 
64758        * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
64759
647602007-12-15  Sam Weinig  <sam@webkit.org>
64761
64762        Fix Windows and wx builds.
64763
64764        * WebCore.vcproj/WebCore.vcproj:
64765        * WebCoreSources.bkl:
64766
647672007-12-15  Mark Rowe  <mrowe@apple.com>
64768
64769        Gtk build fix.  Add JSEventTargetBase.cpp to SOURCES.
64770
64771        * WebCore.pro:
64772
647732007-12-15  Sam Weinig  <sam@webkit.org>
64774
64775        Fix wx build.
64776
64777        * WebCoreSources.bkl:
64778
647792007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
64780
64781        Not reviewed. Build fix for Qt/Gtk.
64782
64783        * WebCore.pro: Include JSEventTargetBase.lut.h in generation
64784
647852007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
64786
64787        Reviewed by Eric.
64788
64789        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
64790
64791        Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
64792        in the base class. Applied the same refactorization to EventTargetNode.
64793
64794        This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
64795        to share as much code as possible with the EventTargetNode classes.
64796
64797        * DerivedSources.make:
64798        * WebCore.xcodeproj/project.pbxproj:
64799        * bindings/js/JSEventTargetBase.cpp: Added.
64800        (WebCore::retrieveEventTargetAndCorrespondingNode):
64801        (WebCore::eventNameForPropertyToken):
64802        * bindings/js/JSEventTargetBase.h: Added.
64803        (WebCore::JSEventTargetProperties::):
64804        (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
64805        (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
64806        (WebCore::::create):
64807        (WebCore::JSEventTargetBase::JSEventTargetBase):
64808        (WebCore::JSEventTargetBase::getValueProperty):
64809        (WebCore::JSEventTargetBase::putValueProperty):
64810        (WebCore::JSEventTargetBase::getOwnPropertySlot):
64811        (WebCore::JSEventTargetBase::put):
64812        (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
64813        (WebCore::JSEventTargetPrototype::self):
64814        (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
64815        (WebCore::JSEventTargetPrototype::classInfo):
64816        * bindings/js/JSEventTargetNode.cpp:
64817        (WebCore::JSEventTargetNode::getOwnPropertySlot):
64818        (WebCore::JSEventTargetNode::getValueProperty):
64819        (WebCore::JSEventTargetNode::put):
64820        (WebCore::JSEventTargetNode::putValueProperty):
64821        (WebCore::JSEventTargetNode::setListener):
64822        (WebCore::toEventTargetNode):
64823        * bindings/js/JSEventTargetNode.h:
64824        (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
64825        (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
64826        * dom/EventTarget.cpp:
64827        (WebCore::EventTarget::addEventListener):
64828        (WebCore::EventTarget::removeEventListener):
64829        (WebCore::EventTarget::dispatchGenericEvent):
64830        (WebCore::EventTarget::removeAllEventListeners):
64831        (WebCore::EventTarget::insertedIntoDocument):
64832        (WebCore::EventTarget::removedFromDocument):
64833        (WebCore::EventTarget::handleLocalEvents):
64834        (WebCore::EventTarget::applySVGEventTargetRules):
64835        (WebCore::forbidEventDispatch):
64836        (WebCore::allowEventDispatch):
64837        (WebCore::eventDispatchForbidden):
64838        * dom/EventTarget.h:
64839        (WebCore::EventTarget::preDispatchEventHandler):
64840        (WebCore::EventTarget::postDispatchEventHandler):
64841        (WebCore::forbidEventDispatch):
64842        (WebCore::allowEventDispatch):
64843        * dom/EventTargetNode.cpp:
64844        (WebCore::EventTargetNode::~EventTargetNode):
64845        (WebCore::EventTargetNode::insertedIntoDocument):
64846        (WebCore::EventTargetNode::removedFromDocument):
64847        (WebCore::EventTargetNode::addEventListener):
64848        (WebCore::EventTargetNode::removeEventListener):
64849        (WebCore::EventTargetNode::removeAllEventListeners):
64850        (WebCore::EventTargetNode::handleLocalEvents):
64851        (WebCore::EventTargetNode::dispatchEvent):
64852        (WebCore::EventTargetNode::dispatchWindowEvent):
64853        * dom/EventTargetNode.h:
64854        (WebCore::EventTargetNode::localEventListeners):
64855        * svg/SVGElement.cpp:
64856        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
64857        (WebCore::SVGElement::dispatchEvent):
64858
648592007-12-15  Eric Seidel  <eric@webkit.org>
64860
64861        Reviewed by Oliver.
64862        
64863        Width of SVG elements not applied to container elements
64864        http://bugs.webkit.org/show_bug.cgi?id=16305
64865        Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
64866        This is caused by poor factoring in the render tree.  RenderContainer probably should be a template.
64867
64868        svg/css/css-box-min-width.html
64869
64870        * rendering/RenderSVGRoot.cpp:
64871        (WebCore::RenderSVGRoot::calcPrefWidths): Added.
64872        * rendering/RenderSVGRoot.h:
64873        * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
64874
648752007-12-15  David Kilzer  <ddkilzer@apple.com>
64876
64877        Fix comment after isSafeScript() was renamed to allowsAccessFrom().
64878
64879        * bindings/js/kjs_window.cpp:
64880        (KJS::createWindow):
64881
648822007-12-15  Alp Toker  <alp@atoker.com>
64883
64884        Reviewed by Mark Rowe.
64885
64886        http://bugs.webkit.org/show_bug.cgi?id=16449
64887        cairo_arc() functions hang or crash when passed inf as radius or start/end angle
64888
64889        Add checks. This matches a similar workaround for a CG bug in the CG
64890        graphics backend: <rdar://problem/5189233>
64891
64892        Fixes:
64893          fast/canvas/arc-crash.html
64894          fast/canvas/canvas-with-incorrect-args.html
64895
64896        * platform/graphics/cairo/PathCairo.cpp:
64897        (WebCore::Path::addArc):
64898
648992007-12-15  Alexey Proskuryakov  <ap@webkit.org>
64900
64901        Reviewed by Darin.
64902
64903        http://bugs.webkit.org/show_bug.cgi?id=16078
64904        Google Maps zooming via the scroll wheel (almost) always zooms IN only.
64905
64906        * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
64907        Ensure that delta is never rounded down to zero - we are getting values less than 1 from 
64908        many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
64909
649102007-12-14  Dan Bernstein  <mitz@apple.com>
64911
64912        - Windows build fix
64913
64914        * WebCore.vcproj/WebCore.vcproj:
64915
649162007-12-14  Alp Toker  <alp@atoker.com>
64917
64918        GTK+/Qt build fix. Track added files in r28722.
64919
64920        * WebCore.pro:
64921
649222007-12-14  Sam Weinig  <sam@webkit.org>
64923
64924        Reviewed by Geoff.
64925
64926        Speed up getElementByClassName.
64927        - This makes getElementByClassName 33% faster on the stress test
64928          linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
64929
64930        * platform/text/StringImpl.cpp:
64931        (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
64932
649332007-12-14  Alp Toker  <alp@atoker.com>
64934
64935        Reviewed by Maciej.
64936
64937        http://bugs.webkit.org/show_bug.cgi?id=16432
64938        [GTK] Update license headers
64939
64940        Consent has been given by the authors of these files to change license
64941        to the LGPL as outlined in the bug report.
64942
64943        * platform/gtk/ClipboardGtk.cpp:
64944        * platform/gtk/ContextMenuGtk.cpp:
64945        * platform/gtk/ContextMenuItemGtk.cpp:
64946        * platform/gtk/CookieJarGtk.cpp:
64947        * platform/gtk/CursorGtk.cpp:
64948        * platform/gtk/DragDataGtk.cpp:
64949        * platform/gtk/DragImageGtk.cpp:
64950        * platform/gtk/PasteboardGtk.cpp:
64951        * platform/gtk/PlatformScreenGtk.cpp:
64952        * platform/gtk/PlatformScrollBarGtk.cpp:
64953        * platform/gtk/SearchPopupMenuGtk.cpp:
64954        * platform/gtk/WidgetGtk.cpp:
64955
649562007-12-14  Darin Adler  <darin@apple.com>
64957
64958        Reviewed by Adele.
64959
64960        - fix http://bugs.webkit.org/show_bug.cgi?id=16442
64961          navigation policy delegate gets called twice for each load
64962
64963        * loader/MainResourceLoader.cpp:
64964        (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
64965        That's handled by FrameLoader.
64966
64967        * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
64968        and continueAfterNavigationPolicy.
64969
649702007-12-14  Anders Carlsson  <andersca@apple.com>
64971
64972        Reviewed by Brady.
64973
64974        Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
64975        return nil in that case.
64976        
64977        * loader/FrameLoader.cpp:
64978        (WebCore::FrameLoader::didExplicitOpen):
64979
649802007-12-14  David Smith  <catfish.man@gmail.com>
64981
64982        Reviewed by Mitz.
64983
64984        - fix http://bugs.webkit.org/show_bug.cgi?id=14955
64985          Implement getElementsByClassName.
64986
64987        This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
64988        and takes advantage of admitting that it's class-specific to encapsulate class attribute 
64989        parsing so it can be shared.  It also changes the class to use a Vector, rather than a linked
64990        list to store the class names.
64991
64992        Tests: fast/dom/getElementsByClassName/001.html
64993               fast/dom/getElementsByClassName/002.html
64994               fast/dom/getElementsByClassName/003.html
64995               fast/dom/getElementsByClassName/004.html
64996               fast/dom/getElementsByClassName/005.html
64997               fast/dom/getElementsByClassName/006.html
64998               fast/dom/getElementsByClassName/007.html
64999               fast/dom/getElementsByClassName/008.html
65000               fast/dom/getElementsByClassName/009.html
65001               fast/dom/getElementsByClassName/010.xml
65002               fast/dom/getElementsByClassName/011.xml
65003               fast/dom/getElementsByClassName/012.html
65004               fast/dom/getElementsByClassName/013.html
65005               fast/dom/getElementsByClassName/014.html
65006               fast/dom/getElementsByClassName/array/001.html
65007               fast/dom/getElementsByClassName/array/002.html
65008               fast/dom/getElementsByClassName/array/003.html
65009               fast/dom/getElementsByClassName/array/004.html
65010               fast/dom/getElementsByClassName/dumpNodeList.html
65011
65012        * WebCore.xcodeproj/project.pbxproj:
65013        * css/CSSStyleSelector.cpp:
65014        (WebCore::CSSStyleSelector::matchRules):
65015        (WebCore::CSSStyleSelector::checkOneSelector):
65016        * dom/AtomicStringList.h: Removed.
65017        * dom/ClassNames.cpp: Added.
65018        (WebCore::ClassNames::contains):
65019        (WebCore::ClassNames::parseClassAttribute):
65020        * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
65021        (WebCore::ClassNames::ClassNames):
65022        (WebCore::ClassNames::size):
65023        (WebCore::ClassNames::clear):
65024        (WebCore::ClassNames::operator[]):
65025        (WebCore::isClassWhitespace):
65026        * dom/ClassNodeList.cpp: Added.
65027        (WebCore::ClassNodeList::ClassNodeList):
65028        (WebCore::ClassNodeList::length):
65029        (WebCore::ClassNodeList::item):
65030        (WebCore::ClassNodeList::nodeMatches):
65031        * dom/ClassNodeList.h: Added.
65032        * dom/Document.cpp:
65033        (WebCore::Document::getElementsByName):
65034        (WebCore::Document::getElementsByClassName):
65035        * dom/Document.h:
65036        * dom/Document.idl:
65037        * dom/Element.cpp:
65038        (WebCore::Element::getClassNames):
65039        (WebCore::Element::getElementsByClassName):
65040        * dom/Element.h:
65041        * dom/Element.idl:
65042        * dom/NameNodeList.cpp:
65043        (WebCore::NameNodeList::NameNodeList):
65044        (WebCore::NameNodeList::item):
65045        (WebCore::NameNodeList::nodeMatches):
65046        * dom/NameNodeList.h:
65047        * dom/NamedMappedAttrMap.cpp:
65048        (WebCore::NamedMappedAttrMap::clearAttributes):
65049        (WebCore::NamedMappedAttrMap::parseClassAttribute):
65050        * dom/NamedMappedAttrMap.h:
65051        (WebCore::NamedMappedAttrMap::getClassNames):
65052        * dom/StyledElement.cpp:
65053        (WebCore::StyledElement::getClassNames):
65054        * dom/StyledElement.h:
65055
650562007-12-14  Darin Adler  <darin@apple.com>
65057
65058        Reviewed by Sam.
65059
65060        - fix http://bugs.webkit.org/show_bug.cgi?id=16351
65061          FontFallbackList.h doesn't include wtf/PassRefPtr.h
65062          
65063        * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
65064        * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
65065
650662007-12-14  Darin Adler  <darin@apple.com>
65067
65068        Reviewed by Alexey.
65069
65070        - http://bugs.webkit.org/show_bug.cgi?id=16420
65071          change regression tests to use document.execCommand instead of textInputController.doCommand
65072
65073        Add a few more operations to document.execCommand.
65074
65075        Finished up the transition to the new Editor::Command, including removing
65076        the Editor::execCommand function.
65077
65078        * WebCore.base.exp: Added Editor::Command::isSupported.
65079        * editing/Editor.h: Removed execCommand.
65080        * editing/EditorCommand.cpp:
65081        (WebCore::expandSelectionToGranularity): Added.
65082        (WebCore::verticalScrollDistance): Added; replaces canScroll.
65083        (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
65084        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
65085        (WebCore::executeDeleteForward): Ditto.
65086        (WebCore::executeDeleteToBeginningOfLine): Ditto.
65087        (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
65088        (WebCore::executeDeleteToEndOfLine): Ditto.
65089        (WebCore::executeDeleteToEndOfParagraph): Ditto.
65090        (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
65091        Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
65092        removing the explicit scrolling, and letting it be done automatically by code that makes
65093        the caret visible. In some cases the old code would scroll twice which was harmless but
65094        unnecessary.
65095        (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
65096        (WebCore::executeMovePageUp): See MovePageDown above.
65097        (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
65098        (WebCore::executeSelectLine): Ditto.
65099        (WebCore::executeSelectParagraph): Ditto.
65100        (WebCore::executeSelectSentence): Ditto.
65101        (WebCore::executeSelectWord): Ditto.
65102        (WebCore::executeSwapWithMark): Some small tweaks.
65103
65104        * page/ContextMenuController.cpp:
65105        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
65106        instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
65107        bit more, but I didn't do that this time.
65108
65109        - Removed some obsolete unused code.
65110
65111        * page/mac/EventHandlerMac.mm:
65112        (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
65113        NSTextView. This was left over from when we used NSTextField and NSTextView for form
65114        elements and is no longer used at all.
65115
65116        * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
65117        of the bridge or another. We really need to find a time to tear down the rest of the
65118        bridge, but that's not this patch.
65119
65120        * page/mac/WebCoreFrameBridge.mm:
65121        (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
65122        instead of using a method.
65123        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
65124        Took out obsolete comment about matching enums (we use a single enum now and have for some
65125        time).
65126        (-[WebCoreFrameBridge selectionGranularity]): Ditto.
65127
651282007-12-14  Justin Garcia  <justin.garcia@apple.com>
65129
65130        Reviewed by Darin Adler.
65131
65132        <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
65133
65134        * editing/CompositeEditCommand.cpp:
65135        (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
65136        * editing/CompositeEditCommand.h:
65137        * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
65138        * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
65139        * editing/InsertListCommand.cpp:
65140        (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
65141        it and listNode, if they exists, so that moving listChildNode doesn't put it out
65142        of order.  Added a test case to cover each change.
65143        * editing/SplitElementCommand.cpp:
65144        (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
65145        tries to split a container at a bogus child, and an early return to avoid a
65146        hang in that case.
65147
651482007-12-14  Anders Carlsson  <andersca@apple.com>
65149
65150        Reviewed by Darin and Geoff.
65151
65152        <rdar://problem/5619295> 
65153        REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
65154
65155        _NPN_CreateScriptObject doesn't take an origin root object anymore.
65156        
65157        * html/HTMLPlugInElement.cpp:
65158        (WebCore::HTMLPlugInElement::createNPObject):
65159        * page/Frame.cpp:
65160        (WebCore::Frame::windowScriptNPObject):
65161
651622007-12-14  Dan Bernstein  <mitz@apple.com>
65163
65164        Reviewed by Darin Adler.
65165
65166        - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
65167          which is the root cause of:
65168          http://bugs.webkit.org/show_bug.cgi?id=12943
65169          box-shadow: small values don't affect shadow position
65170          http://bugs.webkit.org/show_bug.cgi?id=14736
65171          Safari implementation of text-shadow off by 1px
65172
65173        * platform/graphics/cg/GraphicsContextCG.cpp:
65174        (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
65175        of the offsets passed to CGContextSetShadow* to ensure that the end
65176        result after truncation is the desired integer offsets.
65177
651782007-12-13  Alp Toker  <alp@atoker.com>
65179
65180        curl backend build fix for breakage introduced in r28709.
65181
65182        * platform/network/ResourceHandleInternal.h:
65183        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
65184
651852007-12-13  Justin Garcia  <justin.garcia@apple.com>
65186
65187        Reviewed by Oliver Hunt.
65188
65189        <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
65190
65191        * editing/InsertLineBreakCommand.cpp:
65192        (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
65193        handle editing positions, like [input, 0];
65194        * editing/InsertParagraphSeparatorCommand.cpp:
65195        (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
65196        off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
65197        the input element itself.
65198        Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
65199        nesting a <div>.
65200
652012007-12-13  Alp Toker  <alp@atoker.com>
65202
65203        Reviewed by Oliver Hunt.
65204
65205        http://bugs.webkit.org/show_bug.cgi?id=16365
65206        [cURL] Acid2 test segmentation fault
65207
65208        This patch makes the Acid2 test pass.
65209
65210        Defer the cleanup of cancelled jobs and halt further transfer as early
65211        as possible.
65212
65213        Bug found by and initial patch provided by Luca Bruno.
65214
65215        * platform/network/curl/ResourceHandleManager.cpp:
65216        (WebCore::writeCallback):
65217        (WebCore::headerCallback):
65218        (WebCore::ResourceHandleManager::downloadTimerCallback):
65219        (WebCore::ResourceHandleManager::cancel):
65220
652212007-12-13  Sam Weinig  <sam@webkit.org>
65222
65223        Reviewed by Mark Rowe.
65224
65225        Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
65226
65227        * page/InspectorController.cpp:
65228        (WebCore::moveByUnrestricted):
65229        (WebCore::InspectorController::windowScriptObjectAvailable):
65230        (WebCore::InspectorController::moveWindowBy):
65231        * page/InspectorController.h:
65232        * page/inspector/inspector.js:
65233
652342007-12-13  Dan Bernstein  <mitz@apple.com>
65235
65236        Reviewed by Dave Hyatt.
65237
65238        - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
65239
65240        Test: fast/css/transition-timing-function.html
65241
65242        * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
65243        not reject non-primitive non-list values, and instead made sure that the
65244        mapping functions rejected them if necessary. This allows non-primitive
65245        timing functions to be mapped.
65246        (WebCore::CSSStyleSelector::mapBackgroundAttachment):
65247        (WebCore::CSSStyleSelector::mapBackgroundClip):
65248        (WebCore::CSSStyleSelector::mapBackgroundComposite):
65249        (WebCore::CSSStyleSelector::mapBackgroundOrigin):
65250        (WebCore::CSSStyleSelector::mapBackgroundImage):
65251        (WebCore::CSSStyleSelector::mapBackgroundRepeat):
65252        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
65253        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
65254        (WebCore::CSSStyleSelector::mapTransitionDuration):
65255        (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
65256        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
65257        (WebCore::CSSStyleSelector::mapTransitionProperty):
65258        * css/CSSTimingFunctionValue.cpp:
65259        (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
65260        regression test.
65261        * css/CSSTimingFunctionValue.h:
65262        (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
65263        Added. Returns true.
65264        * css/CSSValue.h:
65265        (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
65266        false.
65267
652682007-12-13  Steve Falkenburg  <sfalken@apple.com>
65269
65270        Move source file generation into its own vcproj to fix build dependencies.
65271
65272        Reviewed by Adam.
65273
65274        * WebCore.vcproj/WebCore.make:
65275        * WebCore.vcproj/WebCore.sln:
65276        * WebCore.vcproj/WebCore.submit.sln:
65277        * WebCore.vcproj/WebCore.vcproj:
65278        * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
65279
652802007-12-13  Justin Garcia  <justin.garcia@apple.com>
65281
65282        Reviewed by Oliver Hunt.
65283        
65284        <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
65285        
65286        Some of the operations performed in removeHTMLFontStyle were non-undoable.
65287        
65288        I'm having trouble writing a layout test for this because I can't get DRT to
65289        perform editing operations in separate Undo steps without adding unacceptably long
65290        wait times between operations.  I filed:
65291        
65292        <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
65293
65294        * editing/ApplyStyleCommand.cpp:
65295        (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
65296
652972007-12-13  Sam Weinig  <sam@webkit.org>
65298
65299        Reviewed by Anders.
65300
65301        Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
65302        Toolbar dragged inspector cannot be moved beyond screen edges
65303
65304        * page/InspectorController.cpp:
65305        (WebCore::moveByUnrestricted):
65306        (WebCore::InspectorController::windowScriptObjectAvailable):
65307        (WebCore::InspectorController::moveByUnrestricted):
65308        * page/InspectorController.h:
65309        * page/inspector/inspector.js:
65310
653112007-12-13  Adam Roben  <aroben@apple.com>
65312
65313        Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
65314
65315        Windows Media Player has a modal message loop that will deliver
65316        messages to us at inappropriate times and we will crash if we handle
65317        them when they are delivered. In PluginViewWin, we add a quirk for
65318        Media Player to set a flag whenever we give the plugin a chance to
65319        execute code, and in SharedTimerWin we check if the plugin is
65320        executing code and repost messages if so.
65321
65322        Reviewed by Anders.
65323
65324        * platform/win/SharedTimerWin.cpp:
65325        (WebCore::TimerWindowWndProc): Repost messages if we're calling a
65326        plugin.
65327        * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
65328        setCallingPlugin(true/false).
65329        (WebCore::PluginViewWin::updateWindow):
65330        (WebCore::PluginViewWin::dispatchNPEvent):
65331        (WebCore::PluginViewWin::setNPWindowRect):
65332        (WebCore::PluginViewWin::start):
65333        (WebCore::PluginViewWin::stop):
65334        (WebCore::PluginViewWin::performRequest):
65335        (WebCore::PluginViewWin::bindingInstance):
65336        (WebCore::PluginViewWin::determineQuirks):
65337        (WebCore::PluginViewWin::setCallingPlugin): Added.
65338        (WebCore::PluginViewWin::isCallingPlugin): Added.
65339        * plugins/win/PluginViewWin.h: Added a new quirk.
65340
653412007-12-13  Alp Toker  <alp@atoker.com>
65342
65343        Add a missing DEPENDPATH. Fixes non-clean builds following networking
65344        header changes.
65345
65346        * WebCore.pro:
65347
653482007-12-13  Dan Bernstein  <mitz@apple.com>
65349
65350        Reviewed by Anders Carlsson.
65351
65352        - fix regression in fast/text/international/bidi-override on Tiger
65353
65354        * platform/graphics/GlyphPageTreeNode.cpp:
65355        (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
65356        too. I forgot to add them when I added them to treatAsZeroWidthSpace in
65357        an earlier patch.
65358
653592007-12-13  Justin Garcia  <justin.garcia@apple.com>
65360
65361        Reviewed by Darin Adler.
65362
65363        <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
65364        
65365        The code that checks the selected Range to see if it's inside an anchor
65366        checks ancestors of the Range's commonAncestor() but not the
65367        commonAncestor() itself, and so we'd fail to add markup for the enclosing
65368        anchor to the pasteboard.
65369        
65370        Some enclosing element getters check the node passed to the getter and some
65371        don't.  There were a few places where we incorrectly assumed that enclosing 
65372        element getters check the node passed to the getter, but this is the only 
65373        case that I'm able to write a test case for at the moment.
65374        
65375        In this patch I've:
65376        Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
65377        like the newer enclosing element getters.  This is important because we must
65378        soon add code to the getters so that they understand that some editing positions
65379        inside nodes don't actually refer to positions inside those nodes but positions
65380        before and after them.  Like [table, 0].
65381        Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
65382        n where [n, o] is the position passed to the getter, instead of starting the the parent
65383        of n.  This makes all but a few of the enclosing element getters behave consistently.
65384        Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable 
65385        nodes if the input position was editable.  This fixes a bug that that the above change
65386        exposed.
65387        Changed enclosingTableCell to simply call enclosingNodeWithType.  We should do
65388        this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
65389        unless doing so would affect readability, like it would in the case of enclosingTableCell.
65390        Ditto for enclosingBlock.
65391
65392        * editing/AppendNodeCommand.cpp:
65393        (WebCore::AppendNodeCommand::doApply):
65394        * editing/DeleteButtonController.cpp:
65395        (WebCore::enclosingDeletableElement):
65396        * editing/DeleteSelectionCommand.cpp:
65397        (WebCore::DeleteSelectionCommand::initializePositionData):
65398        (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
65399        * editing/Editor.cpp:
65400        (WebCore::Editor::selectionUnorderedListState):
65401        (WebCore::Editor::selectionOrderedListState):
65402        * editing/IndentOutdentCommand.cpp:
65403        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
65404        (WebCore::IndentOutdentCommand::outdentParagraph):
65405        * editing/InsertNodeBeforeCommand.cpp:
65406        (WebCore::InsertNodeBeforeCommand::doApply):
65407        * editing/InsertParagraphSeparatorCommand.cpp:
65408        (WebCore::InsertParagraphSeparatorCommand::doApply):
65409        * editing/ReplaceSelectionCommand.cpp:
65410        (WebCore::ReplaceSelectionCommand::shouldMerge):
65411        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
65412        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
65413        * editing/TextIterator.cpp:
65414        * editing/htmlediting.cpp:
65415        (WebCore::enclosingBlock):
65416        (WebCore::enclosingNodeWithTag):
65417        (WebCore::enclosingNodeOfType):
65418        (WebCore::enclosingTableCell):
65419        (WebCore::isTableCell):
65420        * editing/htmlediting.h:
65421        * editing/markup.cpp:
65422        (WebCore::appendStartMarkup):
65423        (WebCore::createMarkup):
65424
654252007-12-13  Alexey Proskuryakov  <ap@webkit.org>
65426
65427        Reviewed by Darin.
65428
65429        Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
65430
65431        * WebCore.base.exp:
65432        * dom/KeyboardEvent.cpp:
65433        (WebCore::KeyboardEvent::charCode):
65434        * page/EventHandler.cpp:
65435        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
65436        (WebCore::EventHandler::keyEvent):
65437        * page/EventHandler.h:
65438        * page/Settings.cpp:
65439        (WebCore::Settings::Settings):
65440        (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
65441        * page/Settings.h:
65442        (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
65443        * page/mac/EventHandlerMac.mm:
65444        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
65445        * platform/PlatformKeyboardEvent.h:
65446        * platform/mac/KeyEventMac.mm:
65447        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
65448        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
65449
654502007-12-13  Dan Bernstein  <mitz@apple.com>
65451
65452        - build fix
65453
65454        * platform/network/cf/ResourceErrorCF.cpp:
65455
654562007-12-13  Antti Koivisto  <antti@apple.com>
65457
65458        Reviewed by Tim Hatcher.
65459
65460        Fix <rdar://problem/5605674> 
65461        Make <video> display WebKit context menu instead of the QTKit one.
65462    
65463        It doesn't really matter where the QTMovieView is.
65464
65465        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
65466        (WebCore::MediaPlayerPrivate::createQTMovieView):
65467        (WebCore::MediaPlayerPrivate::setRect):
65468
654692007-12-13  Dan Bernstein  <mitz@apple.com>
65470
65471        Reviewed by Adam Roben.
65472
65473        - ensure that Unicode bidi control characters are rendered as zero width
65474          spaces
65475
65476        Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
65477
65478        * platform/graphics/Font.h:
65479        (WebCore::Font::treatAsZeroWidthSpace):
65480        * platform/graphics/GlyphPageTreeNode.cpp:
65481        (WebCore::GlyphPageTreeNode::initializePage):
65482        * platform/text/CharacterNames.h:
65483
654842007-12-13  Brady Eidson  <beidson@apple.com>
65485
65486        Build fix
65487
65488        * platform/wx/TemporaryLinkStubs.cpp:
65489
654902007-12-12  Brady Eidson  <beidson@apple.com>
65491
65492        Build fix
65493
65494        * platform/gtk/TemporaryLinkStubs.cpp:
65495
654962007-12-12  Brady Eidson  <beidson@apple.com>
65497
65498        Build fix
65499
65500        * WebCore.pro:
65501        * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
65502
655032007-12-12  Brady Eidson  <beidson@apple.com>
65504
65505        Build fix
65506
65507        * platform/win/TemporaryLinkStubs.cpp:
65508
655092007-12-12  Brady Eidson  <beidson@apple.com>
65510
65511        Reviewed by Sam Weinig
65512
65513        Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
65514
65515        All back/forward list and page cache related items used to be in WebKit.
65516        When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
65517        Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive.  We accomplished this via some #ifdefs
65518        in CachedPage and having the Mac-only CachedPageMac.mm
65519
65520        To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the 
65521        concept of "CachedPagePlatformData" which can contain anything the platform API wants.  
65522
65523        I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
65524
65525        * WebCore.base.exp:
65526        * WebCore.xcodeproj/project.pbxproj:
65527
65528        * history/CachedPage.cpp:
65529        (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
65530        (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists.  Also delete the CachedPagePlatformData.
65531        (WebCore::CachedPage::setCachedPagePlatformData):
65532        (WebCore::CachedPage::cachedPagePlatformData):
65533        * history/CachedPage.h:
65534
65535        * history/CachedPagePlatformData.h: Added.
65536        (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
65537        (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
65538
65539        * history/PageCache.cpp:
65540        (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
65541
65542        * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
65543
65544        * loader/FrameLoader.cpp:
65545        (WebCore::FrameLoader::transitionToCommitted): Call the new client methods.  Make some work previously done by WebKitMac cross platform 
65546          (setting the cached DocumentLoader to the Frame).
65547        (WebCore::FrameLoader::cachePageForHistoryItem):  Renamed the client methods
65548
65549        * loader/FrameLoaderClient.h:  The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
65550          become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
65551
65552        * svg/graphics/SVGImageEmptyClients.h:
65553        (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
65554        (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
65555        (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
65556
655572007-12-12  Dan Bernstein  <mitz@apple.com>
65558
65559        Reviewed by Oliver Hunt.
65560
65561        - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
65562
65563        * css/CSSStyleSelector.cpp:
65564        (WebCore::CSSStyleSelector::applyProperty): When the font property is
65565        set to 'initial', set the font size to its initial value, 'medium',
65566        and the font family to the standard family.
65567
655682007-12-12  Justin Garcia  <justin.garcia@apple.com>
65569
65570        Reviewed by Darin Adler.
65571
65572        <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
65573
65574        * editing/DeleteSelectionCommand.cpp:
65575        (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
65576        Don't remove the table row that contained the end of the selection if it is where we are
65577        about to place the ending selection.
65578        Don't remove all empty rows after the row that contained the start of the selection,
65579        they might come after the row that contained the end of the selection.
65580
655812007-12-12  Sam Weinig  <sam@webkit.org>
65582
65583        Reviewed by Anders Carlsson.
65584
65585        Add button to clear the Web Inspector's console.
65586
65587        * English.lproj/InspectorLocalizedStrings.js:
65588        * page/inspector/ConsolePanel.js:
65589        * page/inspector/inspector.css:
65590
655912007-12-12  Anders Carlsson  <andersca@apple.com>
65592
65593        Reviewed by Adam and Jon.
65594
65595        <rdar://problem/5349282>
65596        popup blocking is not applied to plugins on Windows.
65597        
65598        Implement popup blocking. If the plug-in supports the new 
65599        NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
65600        to determine if a plug-in request can open new windows.
65601        
65602        If a plug-in does not support the new API, we assume that a plug-in can open new windows
65603        in response to either mouse click or key press events.
65604        
65605        * plugins/win/PluginViewWin.cpp:
65606        (WebCore::PluginRequestWin::PluginRequestWin):
65607        (WebCore::PluginRequestWin::shouldAllowPopups):
65608        Add new shouldAllowPopups member.
65609        
65610        (WebCore::PluginViewWin::popPopupsStateTimerFired):
65611        Reset the popup state.
65612        
65613        (WebCore::isWindowsMessageUserGesture):
65614        New function that given a windows message id returns whether it's a user gesture or not.
65615        
65616        (WebCore::PluginViewWin::wndProc):
65617        Allow popups if the window message is a user gesture.
65618        
65619        (WebCore::PluginViewWin::dispatchNPEvent):
65620        New method that dispatches an NPEvent, turning on popups if necessary.
65621        
65622        (WebCore::PluginViewWin::paint):
65623        (WebCore::PluginViewWin::handleKeyboardEvent):
65624        (WebCore::PluginViewWin::handleMouseEvent):
65625        Call dispatchNPEvent().
65626        
65627        (WebCore::PluginViewWin::performRequest):
65628        (WebCore::PluginViewWin::load):
65629        Add calls to shouldAllowPopups().
65630        
65631        (WebCore::PluginViewWin::pushPopupsEnabledState):
65632        (WebCore::PluginViewWin::popPopupsEnabledState):
65633        New methods that maintain the popup state stack.
65634        
65635        (WebCore::PluginViewWin::arePopupsAllowed):
65636        New method that returns whether popups are allowed.
65637        
65638        (WebCore::PluginViewWin::PluginViewWin):
65639        * plugins/win/PluginViewWin.h:
65640        Add new instance variables.
65641        
65642        * plugins/win/npapi.cpp:
65643        (NPN_PushPopupsEnabledState):
65644        (NPN_PopPopupsEnabledState):
65645        Implement these.
65646
656472007-12-12  Dan Bernstein  <mitz@apple.com>
65648
65649        Reviewed by John Sullivan.
65650
65651        - fix a bug in debug builds only where selecting an earlier item in
65652          a popup selects the first item
65653
65654        Test: fast/forms/menulist-selection-reset.html
65655
65656        * html/HTMLSelectElement.cpp:
65657        (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
65658        tells that function whether it should update the selected state of
65659        option elements.
65660        (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
65661        as the above argument.
65662        * html/HTMLSelectElement.h:
65663
656642007-12-12  Adele Peterson  <adele@apple.com>
65665
65666        Reviewed by Geoff.
65667
65668        Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
65669
65670        When the specification for cue ranges is more final, we will implement those.
65671
65672        * html/HTMLMediaElement.cpp:
65673        (WebCore::HTMLMediaElement::~HTMLMediaElement):
65674        (WebCore::HTMLMediaElement::load):
65675        * html/HTMLMediaElement.h:
65676        * html/HTMLMediaElement.idl:
65677        * platform/graphics/MediaPlayer.cpp:
65678        * platform/graphics/MediaPlayer.h:
65679        (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
65680        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
65681        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
65682        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
65683        (WebCore::MediaPlayerPrivate::load):
65684        (WebCore::MediaPlayerPrivate::play):
65685        (WebCore::MediaPlayerPrivate::pause):
65686        (WebCore::MediaPlayerPrivate::setEndTime):
65687        (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
65688        (WebCore::MediaPlayerPrivate::endPointTimerFired):
65689        (WebCore::MediaPlayerPrivate::timeChanged):
65690        (WebCore::MediaPlayerPrivate::didEnd):
65691        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
65692        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
65693        (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
65694        (WebCore::MediaPlayerPrivate::endPointTimerFired):
65695        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
65696
656972007-12-12  Darin Fisher  <darin@chromium.org>
65698
65699        Reviewed by Maciej.
65700
65701        Fixes:
65702        http://bugs.webkit.org/show_bug.cgi?id=16408
65703
65704        When navigating back/forward to a http:// link, we should prefer to
65705        load from cache if possible.
65706
65707        * loader/FrameLoader.cpp:
65708
657092007-12-12  Anders Carlsson  <andersca@apple.com>
65710
65711        Reviewed by Sam.
65712
65713        <rdar://problem/5132003>
65714        dumpResourceLoadCallbacks is not implemented in DRT on Windows.
65715        
65716        * platform/network/cf/ResourceErrorCF.cpp:
65717        (WebCore::ResourceError::unpackPlatformError):
65718        Handle kCFErrorDomainWinSock.
65719        
65720        * platform/network/cf/ResourceHandleCFNet.cpp:
65721        (WebCore::willSendRequest):
65722        Ignore willSendRequest calls where the redirect response is null, like we do in 
65723        the Mac version.
65724
657252007-12-12  Steve Falkenburg  <sfalken@apple.com>
65726
65727        <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
65728        
65729        Reviewed by Anders.
65730
65731        * platform/win/SharedTimerWin.cpp:
65732        (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
65733
657342007-12-12  Beth Dakin  <bdakin@apple.com>
65735
65736        Reviewed by Oliver.
65737
65738        Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 
65739        with width and height 100% clip to 300 x 150
65740
65741        Though it was correct in an earlier iteration of my patch, it is 
65742        not sufficient in the final, committed version to ask if the 
65743        relativeWidthValue() or relativeHeightValue() is greater than 0 
65744        just to determine if one has been set, for, they are now 
65745        initialized to 300 and 150 respectively! This patch instead adds a 
65746        bool to keep track of whether a container size has been set, and 
65747        only used the relative value if it has.
65748
65749        * rendering/RenderSVGRoot.cpp:
65750        (WebCore::RenderSVGRoot::calcViewport):
65751        * svg/SVGSVGElement.cpp:
65752        (WebCore::SVGSVGElement::SVGSVGElement):
65753        * svg/SVGSVGElement.h:
65754        (WebCore::SVGSVGElement::setContainerSize):
65755        (WebCore::SVGSVGElement::hasSetContainerSize):
65756
657572007-12-12  Brady Eidson  <beidson@apple.com>
65758
65759        Reviewed by Steve Falkenburg 
65760
65761        <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
65762
65763        * platform/network/ProtectionSpace.cpp:
65764        (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
65765
657662007-12-12  Alp Toker  <alp@atoker.com>
65767
65768        Reviewed by Maciej.
65769
65770        http://bugs.webkit.org/show_bug.cgi?id=16388
65771        [GTK] Widget::setCursor() gets called frequently
65772
65773        Cache the current cursor to avoid calling gdk_window_set_cursor() when
65774        there's no change in cursor.
65775
65776        * platform/gtk/WidgetGtk.cpp:
65777        (WebCore::Widget::Widget):
65778        (WebCore::Widget::cursor):
65779        (WebCore::Widget::setCursor):
65780
657812007-12-12  Rodney Dawes  <dobey@wayofthemonkey.com>
65782
65783        Reviewed by Maciej.
65784
65785        http://bugs.webkit.org/show_bug.cgi?id=16342
65786        Build Warning and Error fixes in WebCore GTK+
65787
65788        Use C-style casts for casting function pointers to gpointer
65789        Use static_cast<int> to cast a float to int to fix a warning
65790
65791        * platform/gtk/PlatformScrollBarGtk.cpp:
65792        (PlatformScrollbar::PlatformScrollbar):
65793        (PlatformScrollbar::~PlatformScrollbar):
65794        (PlatformScrollbar::gtkValueChanged):
65795        * platform/gtk/ThreadingGtk.cpp:
65796        (callFunctionOnMainThread):
65797        (callOnMainThread):
65798
657992007-12-12  Dan Bernstein  <mitz@apple.com>
65800
65801        Reviewed by Darin Adler.
65802
65803        - better fix for a crash when pressing a key that is not associated
65804          with a command
65805
65806        * editing/EditorCommand.cpp:
65807        (WebCore::Editor::command): Return the empty command if the command name
65808        is empty.
65809
658102007-12-12  Alexey Proskuryakov  <ap@webkit.org>
65811
65812        Reviewed by Darin.
65813
65814        http://bugs.webkit.org/show_bug.cgi?id=16410
65815        Implement isKeypadEvent() on Windows
65816
65817        Test: platform/win/fast/events/keyLocation-numpad.html
65818
65819        * platform/win/KeyEventWin.cpp:
65820        (WebCore::isKeypadEvent): Added.
65821        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
65822
658232007-12-12  Oliver Hunt  <oliver@apple.com>
65824
65825        Reviewed by Maciej.
65826
65827        <rdar://problem/5071781> window.mouseout events are not sent 
65828        to window when mouse moves out of window 
65829
65830        Make PlatformMouseEvent recognise WM_MOUSELEAVE.
65831
65832        * platform/win/PlatformMouseEventWin.cpp:
65833        (WebCore::messageToEventType):
65834        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
65835
658362007-12-12  Sam Weinig  <sam@webkit.org>
65837
65838        Fix Mac release build.
65839
65840        * WebCore.base.exp:
65841
658422007-12-12  Sam Weinig  <sam@webkit.org>
65843
65844        Build fix for Qt, Gtk, and Wx.
65845
65846        * css/CSSParser.cpp:
65847        (WebCore::CSSParser::parseValue):
65848        * loader/win/FrameLoaderWin.cpp:
65849        (WebCore::FrameLoader::urlSelected):
65850        * platform/network/curl/ResourceHandleManager.cpp:
65851        (WebCore::parseDataUrl):
65852        (WebCore::ResourceHandleManager::startJob):
65853        * platform/network/win/CookieJarWin.cpp:
65854        (WebCore::setCookies):
65855        (WebCore::cookies):
65856        * platform/network/win/ResourceHandleWin.cpp:
65857        (WebCore::ResourceHandle::start):
65858        * platform/qt/PasteboardQt.cpp:
65859        (WebCore::Pasteboard::writeURL):
65860
658612007-12-11  Dan Bernstein  <mitz@apple.com>
65862
65863        Reviewed by Maciej Stachowiak.
65864
65865        - allow non-integer font sizes on Windows for small caps
65866
65867        * platform/graphics/win/FontDataWin.cpp:
65868        (WebCore::FontData::smallCapsFontData):
65869        * platform/graphics/win/FontPlatformData.h:
65870        (WebCore::FontPlatformData::size):
65871        (WebCore::FontPlatformData::setSize):
65872        * platform/graphics/win/FontPlatformDataWin.cpp:
65873        (WebCore::FontPlatformData::FontPlatformData):
65874
658752007-12-11  Sam Weinig  <sam@webkit.org>
65876
65877        Build fix for Qt, Gtk, and Wx.
65878
65879        * platform/gtk/CookieJarGtk.cpp:
65880        (WebCore::setCookies):
65881        (WebCore::cookies):
65882        * platform/qt/ClipboardQt.cpp:
65883        (WebCore::ClipboardQt::writeURL):
65884        * platform/qt/CookieJarQt.cpp:
65885        (WebCore::setCookies):
65886        (WebCore::cookies):
65887        * platform/wx/PasteboardWx.cpp:
65888        (WebCore::Pasteboard::writeURL):
65889
658902007-12-11  Sam Weinig  <sam@webkit.org>
65891
65892        Reviewed by Darin Adler.
65893
65894        Scrub URL out of the tree in preparation for renaming KURL to URL.
65895            - Renames Document::URL() -> Document::url()
65896            - Renames DocumentLoader::URL() -> DocumentLoader::url()
65897            - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
65898            - Remove FrameLoader::URL()
65899            - Various variable renames.
65900
65901        The change from Document::URL() to Document::url() required changes
65902        to the bindings scripts as well, because URL() is the name of a DOM
65903        method.  The code generation scripts now have code to special case URL()
65904        to url().
65905
65906        * WebCore.base.exp:
65907        * bindings/js/kjs_events.cpp:
65908        (WebCore::JSLazyEventListener::parseCode):
65909        * bindings/js/kjs_navigator.cpp:
65910        (KJS::Navigator::getValueProperty):
65911        * bindings/js/kjs_proxy.cpp:
65912        (WebCore::KJSProxy::initScript):
65913        * bindings/js/kjs_window.cpp:
65914        (KJS::Window::put):
65915        (KJS::Window::allowsAccessFrom):
65916        (KJS::Location::put):
65917        (KJS::LocationProtoFuncReplace::callAsFunction):
65918        (KJS::LocationProtoFuncReload::callAsFunction):
65919        (KJS::LocationProtoFuncAssign::callAsFunction):
65920        * bindings/scripts/CodeGenerator.pm:
65921        * bindings/scripts/CodeGeneratorCOM.pm:
65922        * bindings/scripts/CodeGeneratorJS.pm:
65923        * bindings/scripts/CodeGeneratorObjC.pm:
65924        * css/CSSImportRule.cpp:
65925        (WebCore::CSSImportRule::insertedIntoParent):
65926        * css/CSSParser.cpp:
65927        (WebCore::CSSParser::parseValue):
65928        (WebCore::CSSParser::parseContent):
65929        (WebCore::CSSParser::parseBackgroundImage):
65930        (WebCore::CSSParser::parseFontFaceSrc):
65931        (WebCore::CSSParser::parseBorderImage):
65932        (WebCore::CSSParser::createImportRule):
65933        * css/CSSStyleSelector.cpp:
65934        (WebCore::CSSStyleSelector::setEncodedURL):
65935        * dom/Document.cpp:
65936        (WebCore::Document::processHttpEquiv):
65937        (WebCore::Document::cookie):
65938        (WebCore::Document::setCookie):
65939        (WebCore::Document::domain):
65940        (WebCore::Document::setDomain):
65941        (WebCore::Document::getImageMap):
65942        (WebCore::Document::completeURL):
65943        * dom/Document.h:
65944        (WebCore::Document::url):
65945        (WebCore::Document::baseURL):
65946        * dom/Element.cpp:
65947        (WebCore::Element::baseURI):
65948        * dom/ProcessingInstruction.h:
65949        * dom/StyledElement.cpp:
65950        (WebCore::StyledElement::addCSSImageProperty):
65951        * dom/StyledElement.h:
65952        * dom/XMLTokenizer.cpp:
65953        (WebCore::XMLTokenizer::endElementNs):
65954        (WebCore::XMLTokenizer::end):
65955        * dom/XMLTokenizer.h:
65956        * editing/Editor.cpp:
65957        (WebCore::Editor::copy):
65958        * editing/markup.cpp:
65959        (WebCore::completeURLs):
65960        * history/CachedPage.h:
65961        (WebCore::CachedPage::url):
65962        * history/HistoryItem.cpp:
65963        (WebCore::HistoryItem::HistoryItem):
65964        (WebCore::HistoryItem::setURL):
65965        (WebCore::HistoryItem::isCurrentDocument):
65966        * html/HTMLBaseElement.cpp:
65967        (WebCore::HTMLBaseElement::process):
65968        * html/HTMLParser.cpp:
65969        (WebCore::HTMLParser::reportErrorToConsole):
65970        * html/HTMLScriptElement.cpp:
65971        (WebCore::HTMLScriptElement::childrenChanged):
65972        (WebCore::HTMLScriptElement::insertedIntoDocument):
65973        (WebCore::HTMLScriptElement::evaluateScript):
65974        * html/HTMLScriptElement.h:
65975        * html/HTMLTokenizer.cpp:
65976        (WebCore::HTMLTokenizer::scriptExecution):
65977        * loader/Cache.cpp:
65978        (WebCore::createResource):
65979        (WebCore::Cache::requestResource):
65980        * loader/CachedCSSStyleSheet.cpp:
65981        (WebCore::CachedCSSStyleSheet::checkNotify):
65982        * loader/CachedResource.cpp:
65983        (WebCore::CachedResource::CachedResource):
65984        * loader/CachedResource.h:
65985        (WebCore::CachedResource::):
65986        * loader/CachedScript.h:
65987        * loader/DocLoader.cpp:
65988        (WebCore::DocLoader::checkForReload):
65989        (WebCore::DocLoader::requestResource):
65990        * loader/DocumentLoader.cpp:
65991        (WebCore::DocumentLoader::url):
65992        (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
65993        (WebCore::DocumentLoader::setRequest):
65994        (WebCore::DocumentLoader::startLoadingMainResource):
65995        * loader/DocumentLoader.h:
65996        * loader/FrameLoader.cpp:
65997        (WebCore::FormSubmission::FormSubmission):
65998        (WebCore::ScheduledRedirection::ScheduledRedirection):
65999        (WebCore::FrameLoader::changeLocation):
66000        (WebCore::FrameLoader::urlSelected):
66001        (WebCore::FrameLoader::requestFrame):
66002        (WebCore::FrameLoader::loadSubframe):
66003        (WebCore::FrameLoader::submitFormAgain):
66004        (WebCore::FrameLoader::submitForm):
66005        (WebCore::FrameLoader::didExplicitOpen):
66006        (WebCore::FrameLoader::replaceContentsWithScriptResult):
66007        (WebCore::FrameLoader::executeScript):
66008        (WebCore::FrameLoader::receivedFirstData):
66009        (WebCore::FrameLoader::begin):
66010        (WebCore::FrameLoader::startIconLoader):
66011        (WebCore::FrameLoader::commitIconURLToIconDatabase):
66012        (WebCore::FrameLoader::scheduleRefresh):
66013        (WebCore::FrameLoader::redirectionTimerFired):
66014        (WebCore::FrameLoader::loadPlugin):
66015        (WebCore::FrameLoader::didNotOpenURL):
66016        (WebCore::FrameLoader::updatePolicyBaseURL):
66017        (WebCore::FrameLoader::scrollToAnchor):
66018        (WebCore::FrameLoader::startRedirectionTimer):
66019        (WebCore::FrameLoader::load):
66020        (WebCore::FrameLoader::canLoad):
66021        (WebCore::FrameLoader::shouldHideReferrer):
66022        (WebCore::FrameLoader::shouldAllowNavigation):
66023        (WebCore::FrameLoader::commitProvisionalLoad):
66024        (WebCore::FrameLoader::clientRedirected):
66025        (WebCore::FrameLoader::open):
66026        (WebCore::FrameLoader::didTellBridgeAboutLoad):
66027        (WebCore::FrameLoader::haveToldBridgeAboutLoad):
66028        (WebCore::FrameLoader::post):
66029        (WebCore::FrameLoader::loadResourceSynchronously):
66030        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
66031        (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
66032        (WebCore::FrameLoader::createHistoryItem):
66033        (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
66034        (WebCore::FrameLoader::loadItem):
66035        (WebCore::FrameLoader::urlsMatchItem):
66036        (WebCore::FrameLoader::recursiveGoToItem):
66037        (WebCore::FrameLoader::updateHistoryForStandardLoad):
66038        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
66039        * loader/FrameLoader.h:
66040        (WebCore::FrameLoader::url):
66041        * loader/ImageDocument.cpp:
66042        (WebCore::ImageDocument::createDocumentStructure):
66043        * loader/MainResourceLoader.cpp:
66044        (WebCore::shouldLoadAsEmptyDocument):
66045        (WebCore::MainResourceLoader::didFinishLoading):
66046        * loader/NavigationAction.cpp:
66047        (WebCore::NavigationAction::NavigationAction):
66048        * loader/NavigationAction.h:
66049        (WebCore::NavigationAction::url):
66050        * loader/PluginDocument.cpp:
66051        (WebCore::PluginTokenizer::createDocumentStructure):
66052        * loader/SubresourceLoader.cpp:
66053        (WebCore::SubresourceLoader::load):
66054        (WebCore::SubresourceLoader::create):
66055        * loader/icon/IconLoader.cpp:
66056        (WebCore::IconLoader::startLoading):
66057        (WebCore::IconLoader::finishLoading):
66058        * loader/loader.cpp:
66059        (WebCore::Loader::servePendingRequests):
66060        * loader/mac/LoaderNSURLExtras.m:
66061        (urlOriginalData):
66062        * page/Chrome.cpp:
66063        (WebCore::Chrome::setToolTip):
66064        * page/ContextMenuController.cpp:
66065        (WebCore::ContextMenuController::contextMenuItemSelected):
66066        * page/Frame.cpp:
66067        (WebCore::Frame::setUserStyleSheetLocation):
66068        * page/InspectorController.cpp:
66069        (WebCore::InspectorResource::type):
66070        (WebCore::addSourceToFrame):
66071        (WebCore::InspectorController::addScriptResource):
66072        (WebCore::InspectorController::updateScriptResourceRequest):
66073        (WebCore::InspectorController::didCommitLoad):
66074        * page/mac/WebCoreFrameBridge.mm:
66075        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
66076        * platform/KURL.h:
66077        (WebCore::KURL::string):
66078        (WebCore::KURL::deprecatedString):
66079        * platform/mac/ClipboardMac.mm:
66080        (WebCore::ClipboardMac::getData):
66081        * platform/mac/CookieJar.mm:
66082        (WebCore::cookies):
66083        (WebCore::setCookies):
66084        * platform/mac/PasteboardMac.mm:
66085        (WebCore::Pasteboard::writeURL):
66086        (WebCore::fileWrapperForImage):
66087        (WebCore::Pasteboard::writeImage):
66088        (WebCore::Pasteboard::plainText):
66089        * platform/network/ResourceHandle.cpp:
66090        (WebCore::ResourceHandle::portAllowed):
66091        * platform/network/ResourceRequestBase.cpp:
66092        (WebCore::ResourceRequestBase::isNull):
66093        * platform/network/cf/ResourceHandleCFNet.cpp:
66094        (WebCore::willSendRequest):
66095        (WebCore::didReceiveResponse):
66096        (WebCore::didReceiveData):
66097        (WebCore::didFinishLoading):
66098        (WebCore::didFail):
66099        (WebCore::didReceiveChallenge):
66100        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
66101        (WebCore::ResourceHandle::~ResourceHandle):
66102        (WebCore::ResourceHandle::start):
66103        * platform/win/ClipboardUtilitiesWin.cpp:
66104        (WebCore::createGlobalData):
66105        (WebCore::urlToMarkup):
66106        * platform/win/ClipboardWin.cpp:
66107        (WebCore::writeURL):
66108        (WebCore::writeImageToDataObject):
66109        (WebCore::ClipboardWin::writeURL):
66110        (WebCore::ClipboardWin::writeRange):
66111        * platform/win/PasteboardWin.cpp:
66112        (WebCore::Pasteboard::writeSelection):
66113        (WebCore::Pasteboard::writeURL):
66114        * plugins/win/PluginDatabaseWin.cpp:
66115        (WebCore::PluginDatabaseWin::findPlugin):
66116        * plugins/win/PluginStreamWin.cpp:
66117        (WebCore::PluginStreamWin::startStream):
66118        (WebCore::PluginStreamWin::destroyStream):
66119        * plugins/win/PluginViewWin.cpp:
66120        (WebCore::scriptStringIfJavaScriptURL):
66121        (WebCore::PluginViewWin::performRequest):
66122        * svg/SVGImageLoader.cpp:
66123        (WebCore::SVGImageLoader::updateFromElement):
66124        * xml/XMLHttpRequest.cpp:
66125        (WebCore::XMLHttpRequest::getResponseXML):
66126        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
66127        * xml/XSLImportRule.cpp:
66128        (WebCore::XSLImportRule::loadSheet):
66129        * xml/XSLTProcessor.cpp:
66130        (WebCore::XSLTProcessor::createDocumentFromSource):
66131        (WebCore::xsltStylesheetPointer):
66132        (WebCore::xmlDocPtrFromNode):
66133
661342007-12-11  Beth Dakin  <bdakin@apple.com>
66135
66136        Reviewed by Darin.
66137
66138        Fix for <rdar://problem/5641255> SVGs with width and height 100% 
66139        fail to render when used as background images
66140
66141        CachedImage now has a setImageContainerSize function. It is only 
66142        needed for SVG right now.
66143        * loader/CachedImage.cpp:
66144        (WebCore::CachedImage::setImageContainerSize):
66145        * loader/CachedImage.h:
66146
66147        Relatively sized SVGs have no intrinsic size. Because this call is 
66148        low-level enough that we cannot pass in the container size and get 
66149        the real size of the SVG, we need to know if it has relative 
66150        dimensions, and if so, we need to get the size from scaledTileSize.
66151        * platform/graphics/Image.cpp:
66152        (WebCore::Image::drawTiled):
66153        * platform/graphics/Image.h:
66154        (WebCore::Image::setContainerSize):
66155        (WebCore::Image::hasRelativeWidth):
66156        (WebCore::Image::hasRelativeHeight):
66157
66158        Re-factored calculateBackgroundSize a bit so that it returns an 
66159        IntSize. Made it a member function so that it can send m_width and 
66160        m_height along to setImageContainerSize.
66161        * rendering/RenderBox.cpp:
66162        (WebCore::RenderBox::calculateBackgroundSize):
66163        (WebCore::RenderBox::calculateBackgroundImageGeometry):
66164        * rendering/RenderBox.h:
66165
66166        Need to account for relatively sized SVGs in calcViewport()
66167        * rendering/RenderSVGRoot.cpp:
66168        (WebCore::RenderSVGRoot::calcViewport):
66169        
66170        Added new member variables to store the size of the SVG container. 
66171        relativeWidthValue() and relativeHeightValue() use the stored SVG 
66172        container size to correctly calculate the width and height of a 
66173        relatively sized SVG.
66174        * svg/SVGSVGElement.cpp:
66175        (WebCore::SVGSVGElement::SVGSVGElement):
66176        (WebCore::SVGSVGElement::setContainerSize):
66177        (WebCore::SVGSVGElement::relativeWidthValue):
66178        (WebCore::SVGSVGElement::relativeHeightValue):
66179        * svg/SVGSVGElement.h:
66180        (WebCore::SVGSVGElement::containerSize):
66181        
66182        Re-factored size calculations to use the size of the container.
66183        * svg/graphics/SVGImage.cpp:
66184        (WebCore::SVGImage::setContainerSize):
66185        (WebCore::SVGImage::size):
66186        (WebCore::SVGImage::hasRelativeWidth):
66187        (WebCore::SVGImage::hasRelativeHeight):
66188        * svg/graphics/SVGImage.h:
66189
661902007-12-11  Darin Adler  <darin@apple.com>
66191
66192        * editing/Editor.cpp:
66193        (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
66194        a missing return statement.
66195
661962007-12-11  Darin Adler  <darin@apple.com>
66197
66198        Reviewed by Geoff.
66199
66200        - exposed many new commands to the DOM Document executeCommand function by
66201          merging the JSEditor and Editor executeCommand implementations
66202        - replaced the execCommand function with a EditorCommand class
66203        - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
66204        - replaced the WTF::CaseInsensitiveHash<> class template with the
66205          WebCore::CaseFoldingHash class
66206
66207        * WebCore.base.exp: Updated.
66208        * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
66209        * WebCore.vcproj/WebCore.vcproj: Ditto.
66210        * WebCore.xcodeproj/project.pbxproj: Ditto.
66211        * WebCoreSources.bkl: Ditto.
66212
66213        * dom/Document.cpp:
66214        (WebCore::Document::Document): Removed code to set up m_jsEditor.
66215        (WebCore::Document::~Document): Removed code to delete m_jsEditor.
66216        (WebCore::command): Added. Helper function that gets an Editor::Command.
66217        (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
66218        JSEditor.
66219        (WebCore::Document::queryCommandEnabled): Ditto.
66220        (WebCore::Document::queryCommandIndeterm):
66221        (WebCore::Document::queryCommandState): Ditto.
66222        (WebCore::Document::queryCommandSupported): Ditto.
66223        (WebCore::Document::queryCommandValue): Ditto.
66224
66225        * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
66226        use CaseFoldingHash.
66227
66228        * editing/Editor.cpp:
66229        (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
66230        made into a member function so it is accessible from the new EditorCommand.cpp file.
66231        Also changed to get the selection from the passed-in frame instead of from the
66232        page, because this should work on the targeted frame unless the event overrides it.
66233        (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
66234        (WebCore::Editor::handleInputMethodKeypress): Ditto.
66235        (WebCore::imageElementFromImageDocument): Renamed and changed to return
66236        a HTMLImageElement instead of a Node*.
66237        (WebCore::Editor::canCopy): Updated for name change.
66238        (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
66239        (WebCore::Editor::selectionOrderedListState): Ditto.
66240        (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
66241        (WebCore::updateState): Moved here from Frame.
66242        (WebCore::Editor::selectionHasStyle): Ditto.
66243        (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
66244        (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
66245        selectionForCommand change.
66246        (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
66247        (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
66248        machinery since it's no longer in this file as a local function.
66249        (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
66250        (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
66251        local variable.
66252        (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
66253        without a kill ring, but it's relatively straightforward to implement one.
66254        (WebCore::Editor::appendToKillRing): Put default implementation here for
66255        platforms other than Mac. We should probably put a simple kill ring
66256        implementation here -- doesn't need to be shared with the OS oh platforms
66257        other than Mac.
66258        (WebCore::Editor::prependToKillRing): Ditto.
66259        (WebCore::Editor::yankFromKillRing): Ditto.
66260        (WebCore::Editor::startNewKillRingSequence): Ditto.
66261        (WebCore::Editor::setKillRingToYankedState): Ditto.
66262
66263        * editing/Editor.h: Moved the TriState enum here instead of inside the
66264        Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
66265        here from the Frame class. Added Editor::Command class with five functions
66266        for the various things you can do with a command (execute it, check if it
66267        can be used, and its state and value). Changed hte parameter of
66268        setBaseWritingDirection to be a const String& rather than a String.
66269        Got rid of the kill-ring-related operations, but added the kill ring
66270        functions themselves. Made selectedRange() public. Made the
66271        m_startNewKillRingSequence not Mac-specific and added "should" to its
66272        name.
66273
66274        * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
66275        Retained only the editing commands.
66276        (WebCore::targetFrame): Moved to the top of the file.
66277        (WebCore::executeApplyStyle): Added. Helper function for commands
66278        that need to apply styles.
66279        (WebCore::executeToggleStyle): Added. Helper function for commands
66280        that need to toggle styles based on the style of the start of selection.
66281        (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
66282        for paragraph styles.
66283        (WebCore::executeInsertFragment): Added. Helper function for commands
66284        that need to insert a DOM fragment.
66285        (WebCore::executeInsertNode): Added. Helper function for commands that
66286        need to insert a tree rooted in a single DOM node.
66287        (WebCore::stateStyle): Added. Helper function for the state of commands
66288        that represent style.
66289        (WebCore::valueStyle): Added. Helper function for the value of commands
66290        that represent style.
66291        (WebCore::canScroll): Added. Helper functions for some move and scroll
66292        commands that need to determine if the renderer they are in can scroll.
66293        (WebCore::unionDOMRanges): Moved here from EditorMac.
66294        (WebCore::executeBackColor):
66295        (WebCore::executeBackwardDelete):
66296        (WebCore::executeCopy):
66297        (WebCore::executeCreateLink):
66298        (WebCore::executeCut):
66299        (WebCore::executeDelete):
66300        (WebCore::executeDeleteToMark):
66301        (WebCore::executeDeleteWordBackward):
66302        (WebCore::executeDeleteWordForward):
66303        (WebCore::executeFindString):
66304        (WebCore::executeFontName):
66305        (WebCore::executeFontSize):
66306        (WebCore::executeFontSizeDelta):
66307        (WebCore::executeForeColor):
66308        (WebCore::executeFormatBlock):
66309        (WebCore::executeForwardDelete):
66310        (WebCore::executeIndent):
66311        (WebCore::executeInsertBacktab):
66312        (WebCore::executeInsertHorizontalRule):
66313        (WebCore::executeInsertHTML):
66314        (WebCore::executeInsertImage):
66315        (WebCore::executeInsertLineBreak):
66316        (WebCore::executeInsertNewline):
66317        (WebCore::executeInsertNewlineInQuotedContent):
66318        (WebCore::executeInsertOrderedList):
66319        (WebCore::executeInsertParagraph):
66320        (WebCore::executeInsertTab):
66321        (WebCore::executeInsertText):
66322        (WebCore::executeInsertUnorderedList):
66323        (WebCore::executeJustifyCenter):
66324        (WebCore::executeJustifyFull):
66325        (WebCore::executeJustifyLeft):
66326        (WebCore::executeJustifyRight):
66327        (WebCore::executeMoveBackward):
66328        (WebCore::executeMoveBackwardAndModifySelection):
66329        (WebCore::executeMoveDown):
66330        (WebCore::executeMoveDownAndModifySelection):
66331        (WebCore::executeMoveDownByPageAndModifyCaret):
66332        (WebCore::executeMoveForward):
66333        (WebCore::executeMoveForwardAndModifySelection):
66334        (WebCore::executeMoveLeft):
66335        (WebCore::executeMoveLeftAndModifySelection):
66336        (WebCore::executeMoveRight):
66337        (WebCore::executeMoveRightAndModifySelection):
66338        (WebCore::executeMoveToBeginningOfDocument):
66339        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
66340        (WebCore::executeMoveToBeginningOfLine):
66341        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
66342        (WebCore::executeMoveToBeginningOfParagraph):
66343        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
66344        (WebCore::executeMoveToBeginningOfSentence):
66345        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
66346        (WebCore::executeMoveToEndOfDocument):
66347        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
66348        (WebCore::executeMoveToEndOfSentence):
66349        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
66350        (WebCore::executeMoveToEndOfLine):
66351        (WebCore::executeMoveToEndOfLineAndModifySelection):
66352        (WebCore::executeMoveToEndOfParagraph):
66353        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
66354        (WebCore::executeMoveParagraphBackwardAndModifySelection):
66355        (WebCore::executeMoveParagraphForwardAndModifySelection):
66356        (WebCore::executeMoveUp):
66357        (WebCore::executeMoveUpAndModifySelection):
66358        (WebCore::executeMoveUpByPageAndModifyCaret):
66359        (WebCore::executeMoveWordBackward):
66360        (WebCore::executeMoveWordBackwardAndModifySelection):
66361        (WebCore::executeMoveWordForward):
66362        (WebCore::executeMoveWordForwardAndModifySelection):
66363        (WebCore::executeMoveWordLeft):
66364        (WebCore::executeMoveWordLeftAndModifySelection):
66365        (WebCore::executeMoveWordRight):
66366        (WebCore::executeMoveWordRightAndModifySelection):
66367        (WebCore::executeOutdent):
66368        (WebCore::executePaste):
66369        (WebCore::executePasteAndMatchStyle):
66370        (WebCore::executePrint):
66371        (WebCore::executeRedo):
66372        (WebCore::executeRemoveFormat):
66373        (WebCore::executeSelectAll):
66374        (WebCore::executeSelectToMark):
66375        (WebCore::executeSetMark):
66376        (WebCore::executeStrikethrough):
66377        (WebCore::executeSubscript):
66378        (WebCore::executeSuperscript):
66379        (WebCore::executeSwapWithMark):
66380        (WebCore::executeToggleBold):
66381        (WebCore::executeToggleItalic):
66382        (WebCore::executeTranspose):
66383        (WebCore::executeUnderline):
66384        (WebCore::executeUndo):
66385        (WebCore::executeUnlink):
66386        (WebCore::executeUnscript):
66387        (WebCore::executeUnselect):
66388        (WebCore::executeYank):
66389        (WebCore::executeYankAndSelect):
66390        (WebCore::supported):
66391        (WebCore::supportedPaste):
66392        (WebCore::enabled):
66393        (WebCore::enabledAnySelection):
66394        (WebCore::enabledAnySelectionAndMark):
66395        (WebCore::enableCaretInEditableText):
66396        (WebCore::enabledCopy):
66397        (WebCore::enabledCut):
66398        (WebCore::enabledInEditableText):
66399        (WebCore::enabledInRichlyEditableText):
66400        (WebCore::enabledPaste):
66401        (WebCore::enabledRangeInEditableText):
66402        (WebCore::enabledRangeInRichlyEditableText):
66403        (WebCore::enabledRedo):
66404        (WebCore::enabledUndo):
66405        (WebCore::stateNone):
66406        (WebCore::stateBold):
66407        (WebCore::stateItalic):
66408        (WebCore::stateOrderedList):
66409        (WebCore::stateStrikethrough):
66410        (WebCore::stateSubscript):
66411        (WebCore::stateSuperscript):
66412        (WebCore::stateUnderline):
66413        (WebCore::stateUnorderedList):
66414        (WebCore::valueNull):
66415        (WebCore::valueBackColor):
66416        (WebCore::valueFontName):
66417        (WebCore::valueFontSize):
66418        (WebCore::valueFontSizeDelta):
66419        (WebCore::valueForeColor):
66420        (WebCore::createCommandMap): Added lots of commands, including all the commands
66421        from JSEditor. A few commands needed different behavior based on whether they are
66422        invoked from the DOM or a keyboard binding.
66423        (WebCore::Editor::command): Added. Gets a command object given a name.
66424        (WebCore::Editor::Command::Command): Added.
66425        (WebCore::Editor::Command::execute): Added.
66426        (WebCore::Editor::Command::isSupported): Added.
66427        (WebCore::Editor::Command::isEnabled): Added.
66428        (WebCore::Editor::Command::state): Added.
66429        (WebCore::Editor::Command::value): Added.
66430        (WebCore::Editor::execCommand): Changed to call command().execute().
66431
66432        * editing/JSEditor.cpp: Removed.
66433        * editing/JSEditor.h: Removed.
66434
66435        * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
66436        kill ring commands, so the kill ring commands can be cross-platform.
66437        (WebCore::Editor::appendToKillRing): Added.
66438        (WebCore::Editor::prependToKillRing): Added.
66439        (WebCore::Editor::yankFromKillRing): Added.
66440        (WebCore::Editor::startNewKillRingSequence): Added.
66441        (WebCore::Editor::setKillRingToYankedState): Added.
66442
66443        * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
66444        * page/Frame.h: Ditto.
66445
66446        * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
66447        * page/mac/WebCoreFrameBridge.h: Ditto.
66448
66449        * platform/ContextMenu.cpp:
66450        (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
66451
66452        * platform/text/StringHash.h:
66453        (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
66454        (WebCore::StringHash::equal): Ditto.
66455        (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
66456        classes into this.
66457        (WebCore::CaseFoldingHash::equal): Ditto.
66458
66459        * platform/text/StringImpl.cpp:
66460        (WebCore::equal): Changed to invoke StringHash.
66461        (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
66462
66463        * dom/DOMImplementation.cpp:
66464        (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
66465        (WebCore::isSVG10Feature): Ditto.
66466        (WebCore::isSVG11Feature): Ditto.
66467        * loader/FrameLoader.cpp:
66468        (WebCore::localSchemes): Ditto.
66469        * platform/graphics/FontCache.cpp:
66470        (WebCore::computeHash): Ditto.
66471        * platform/network/HTTPHeaderMap.h: Ditto.
66472        * platform/text/PlatformString.h: Ditto.
66473        * platform/text/StringImpl.h: Ditto.
66474        * rendering/RenderPartObject.cpp:
66475        (WebCore::RenderPartObject::updateWidget): Ditto.
66476        * xml/XMLHttpRequest.cpp:
66477        (WebCore::canSetRequestHeader): Ditto.
66478
66479        * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
66480
664812007-12-11  Darin Adler  <darin@apple.com>
66482
66483        * platform/wx/KeyboardEventWx.cpp:
66484        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
66485        WX build. Changes the code around a little bit.
66486
664872007-12-11  Darin Adler  <darin@apple.com>
66488
66489        * platform/wx/KeyboardEventWx.cpp:
66490        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
66491
664922007-12-11  Dan Bernstein  <mitz@apple.com>
66493
66494        Reviewed by Darin Adler.
66495
66496        - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
66497
66498        Test: fast/text/international/complex-character-based-fallback.html
66499
66500        * platform/graphics/Font.cpp:
66501        (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
66502        that forces this function to use the small caps font. It is used for
66503        combining marks that need to combine with a small cap.
66504        * platform/graphics/Font.h:
66505        * platform/win/UniscribeController.cpp:
66506        (WebCore::UniscribeController::advance): Changed to split the string
66507        into runs of characters that will be rendered using the same FontData.
66508        This is done by calling glyphDataForCharacter() for each cahracter to
66509        find the FontData it should be rendered with.
66510        (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
66511        argument that is passed on to shapeAndPlaceItem() instead of the
66512        smallCaps argument.
66513        (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
66514        argument and removed the font fallback logic from this function, as
66515        it is now expected to be called with an item all of whose characters
66516        can be rendered with the given fontData.
66517        * platform/win/UniscribeController.h:
66518
665192007-12-07  Alexey Proskuryakov  <ap@webkit.org>
66520
66521        Reviewed by Darin.
66522
66523        <rdar://problem/5535636>
66524        Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
66525
66526        http://bugs.webkit.org/show_bug.cgi?id=13916
66527        JavaScript detects Tab as a character input on a textfield validation
66528
66529        Test: platform/win/fast/events/double-dead-char.html
66530
66531        * platform/PlatformKeyboardEvent.h:
66532        (WebCore::PlatformKeyboardEvent::):
66533        (WebCore::PlatformKeyboardEvent::type):
66534        (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
66535        (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
66536        (WebCore::PlatformKeyboardEvent::keyIdentifier):
66537        (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
66538        Added an explicit type member to differentiate different kinds of events:
66539          RawKeyDown == keydown == WM_KEYDOWN
66540          KeyUp == keyup == WM_KEYUP
66541          Char == keypress == WM_CHAR
66542          KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
66543          event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
66544
66545        * platform/mac/KeyEventMac.mm:
66546        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
66547        Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
66548        (WebCore::windowsKeyCodeForKeyEvent): 
66549        (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
66550        that it still fails.
66551        (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
66552        should not be available in those (because it cannot be provided on Windows).
66553
66554        * platform/win/KeyEventWin.cpp:
66555        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
66556        Used standard Windows constants for bit masks instead of our own ones.
66557        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
66558
66559        * platform/gtk/KeyEventGtk.cpp:
66560        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
66561        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
66562        * platform/qt/PlatformKeyboardEventQt.cpp:
66563        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
66564        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
66565        * platform/wx/KeyboardEventWx.cpp:
66566        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
66567        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
66568        Updated for cross-platform changes as much as it was possible without appropriate build
66569        environments.
66570
66571        * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
66572        convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
66573
66574        * bridge/EditorClient.h:
66575        Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
66576        Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
66577
66578        * dom/Document.h:
66579        * dom/Document.cpp:
66580        (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
66581
66582        * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
66583
66584        * dom/KeyboardEvent.cpp:
66585        (WebCore::eventTypeForKeyboardEventType):
66586        (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
66587        now straightforward, so scary hacks such as using autorepeat to distinguish types are
66588        not needed.
66589        (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
66590        (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
66591        Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
66592        character codes.
66593
66594        * editing/Editor.h:
66595        * editing/Editor.cpp:
66596        (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
66597        (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
66598        (WebCore::Editor::handleInputMethodKeydown): Ditto.
66599
66600        * html/HTMLButtonElement.cpp:
66601        (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
66602        appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
66603        not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
66604        highlighted when Space is pressed.
66605
66606        * html/HTMLInputElement.cpp:
66607        (WebCore::HTMLInputElement::defaultEventHandler):
66608        * html/HTMLSelectElement.cpp:
66609        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
66610        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
66611        Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
66612        described above.
66613
66614        * page/EventHandler.cpp:
66615        (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
66616        to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
66617        handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
66618        now being handleInputMethodKeydown().
66619        (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
66620        (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
66621        as default tab handling happens when processing keydown.
66622        (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
66623        event handling. Fixed accesskey processing to use information that's available in a raw keydown
66624        event.
66625
66626        (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
66627        handle tabs during keydown processing.
66628
66629        * page/mac/EventHandlerMac.mm:
66630        (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
66631        what callers want.
66632
66633        * platform/text/PlatformString.h:
66634        * platform/text/String.cpp:
66635        (WebCore::String::characterStartingAt):
66636        * platform/text/StringImpl.cpp:
66637        (WebCore::StringImpl::characterStartingAt):
66638        * platform/text/StringImpl.h:
66639        Added a UChar32 accessor.
66640
66641        * svg/graphics/SVGImageEmptyClients.h:
66642        (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
66643        (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
66644        Updated for new function names.
66645
666462007-12-11  John Sullivan  <sullivan@apple.com>
66647
66648        Reviewed by Adele
66649
66650        Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
66651
66652        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66653        (WebCore::MediaPlayerPrivate::createQTMovieView):
66654        (WebCore::MediaPlayerPrivate::detachQTMovieView):
66655
666562007-12-11  Alexey Proskuryakov  <ap@webkit.org>
66657
66658        Reviewed by Darin.
66659
66660        http://bugs.webkit.org/show_bug.cgi?id=16325
66661        <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
66662
66663        Fix this on Windows, too!
66664
66665        Test: http/tests/misc/empty-cookie.html
66666
66667        * platform/network/win/CookieJarWin.cpp:
66668        (WebCore::setCookies):
66669        (WebCore::cookies):
66670        Same fix as on Mac, translated into CF.
66671
66672        * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
66673
666742007-12-11  Christian Dywan  <christian@twotoasts.de>
66675
66676        Reviewed by Alp Toker.
66677
66678        http://bugs.webkit.org/show_bug.cgi?id=16371
66679        Implement additional mouse cursors for Gtk
66680
66681        Added cursor bitmaps from Mozilla:
66682        http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
66683
66684        * platform/gtk/CursorGtk.cpp:
66685        (WebCore::customCursorNew):
66686        (WebCore::verticalTextCursor):
66687        (WebCore::cellCursor):
66688        (WebCore::contextMenuCursor):
66689        (WebCore::noDropCursor):
66690        (WebCore::copyCursor):
66691        (WebCore::progressCursor):
66692        (WebCore::aliasCursor):
66693        (WebCore::noneCursor):
66694        (WebCore::notAllowedCursor):
66695        (WebCore::zoomInCursor):
66696        (WebCore::zoomOutCursor):
66697        * platform/gtk/CursorGtk.h: Added.
66698
666992007-12-10  Oliver Hunt  <oliver@apple.com>
66700
66701        Reviewed by Weinig, Dan, and Alexey.
66702
66703        Fix character set used for dynamically loaded scripts.
66704
66705        Fix for:
66706            <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
66707            <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
66708            <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
66709            
66710        Use the same logic to determine the charset for a script loaded dynamically
66711        as we do for a statically loaded script.
66712
66713        * html/HTMLScriptElement.cpp:
66714        (WebCore::HTMLScriptElement::insertedIntoDocument):
66715
667162007-12-10  Justin Garcia  <justin.garcia@apple.com>
66717
66718        Reviewed by Oliver Hunt.
66719
66720        <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
66721        
66722        We were trying to insert a block of the requested type before the body element.
66723        
66724        * editing/FormatBlockCommand.cpp:
66725        (WebCore::FormatBlockCommand::doApply): 
66726        Removed unnecessary ()s in the if condition.
66727        Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
66728        a) upstreamStart will never be outside the root editable element, since in that case
66729        there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
66730        *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
66731        at [root, 0].
66732        Added comments to explain the use of upstream() in the second if-clause.
66733        Added an early return for case where there is nothing selected, in that case, there is nothing
66734        to move.
66735
667362007-12-10  Adele Peterson  <adele@apple.com>
66737
66738        Reviewed and partially fixed by Tim Hatcher.
66739
66740        Remaining part of fix for <rdar://problem/5633400>
66741        Transformed <video> is not clipped correctly until a repaint is forced
66742
66743        Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
66744        from clobbering the WebCore repaints.
66745
66746        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
66747        * html/HTMLMediaElement.h:
66748        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
66749        * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
66750
66751        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
66752        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66753        (method_setImplementation): Added for Tiger.
66754
66755        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
66756        (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
66757        (WebCore::MediaPlayerPrivate::setVisible): ditto.
66758        (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
66759
66760        (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
66761        (-[WebCoreMovieObserver repaint]): ditto.
66762
66763        (WebCore::mainThreadSetNeedsDisplay): Added.
66764         Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
66765        (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
66766
667672007-12-10  Geoffrey Garen  <ggaren@apple.com>
66768
66769        Reviewed by Sam Weinig.
66770
66771        Updated for rename in JavaScriptCore.
66772
66773        * bridge/mac/WebCoreScriptDebugger.mm:
66774        (-[WebCoreScriptCallFrame scopeChain]):
66775        (-[WebCoreScriptCallFrame functionName]):
66776        (-[WebCoreScriptCallFrame evaluateWebScript:]):
66777
667782007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
66779
66780        Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
66781        <http://bugs.webkit.org/show_bug.cgi?id=16383>
66782
66783        Use KJS::Window not the ambiguous Window
66784
66785        Reviewed by ddkilzer.
66786
66787        * bindings/js/kjs_dom.cpp (checkNodeSecurity):
66788
667892007-12-10  Sam Weinig  <sam@webkit.org>
66790
66791        Fix non-mac builds.
66792
66793        * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
66794
667952007-12-10  Brett Wilson  <brettw@chromium.org>
66796
66797        Reviewed by Darin.
66798
66799        Fix a divide by 0 in the progress tracker.
66800        http://bugs.webkit.org/show_bug.cgi?id=15055
66801
66802        * loader/ProgressTracker.cpp:
66803        (WebCore::ProgressTracker::incrementProgress):
66804
668052007-12-09  Sam Weinig  <sam@webkit.org>
66806
66807        Reviewed by Darin.
66808
66809        More cleanup of kjs_window.
66810        - Move WindowFeatures from bridge/ to page/
66811        - Move functions related to WindowFeatures (boolFeature,
66812          floatFeature, setWindowFeature, parseWindowFeatures) into the class.
66813        - Fix up whitespace.
66814
66815        * WebCore.vcproj/WebCore.vcproj:
66816        * WebCore.xcodeproj/project.pbxproj:
66817        * bindings/js/kjs_window.cpp:
66818        (KJS::DOMWindowTimer::~DOMWindowTimer):
66819        (KJS::createWindow):
66820        (KJS::showModalDialog):
66821        (KJS::Window::getOwnPropertySlot):
66822        (KJS::Window::allowsAccessFrom):
66823        (KJS::Window::shouldInterruptScript):
66824        (KJS::WindowProtoFuncAToB::callAsFunction):
66825        (KJS::WindowProtoFuncOpen::callAsFunction):
66826        (KJS::Window::setReturnValueSlot):
66827        (KJS::ScheduledAction::execute):
66828        (KJS::Window::timerFired):
66829        (KJS::Location::Location):
66830        (KJS::Location::getValueProperty):
66831        (KJS::Location::getOwnPropertySlot):
66832        (KJS::Location::put):
66833        (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
66834        (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
66835        (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
66836        allowsAccessFrom, cleanup the function a little.
66837        (KJS::PausedTimeouts::~PausedTimeouts):
66838        * bridge/WindowFeatures.h: Removed.
66839        * page/WindowFeatures.cpp: Added.
66840        (WebCore::isSeparator):
66841        (WebCore::WindowFeatures::WindowFeatures):
66842        (WebCore::WindowFeatures::setWindowFeature):
66843        (WebCore::WindowFeatures::boolFeature):
66844        (WebCore::WindowFeatures::floatFeature):
66845        * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
66846        (WebCore::WindowFeatures::WindowFeatures):
66847
668482007-12-10  Timothy Hatcher  <timothy@apple.com>
66849
66850        Reviewed by Mark Rowe.
66851
66852        <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
66853
66854        * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
66855          so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
66856
668572007-12-10  Alp Toker  <alp@atoker.com>
66858
66859        Reviewed by Niko.
66860
66861        Cairo implementation of GraphicsContext::setUseAntialiasing().
66862
66863        * platform/graphics/cairo/GraphicsContextCairo.cpp:
66864        (WebCore::GraphicsContext::setUseAntialiasing):
66865
668662007-12-10  Rob Buis  <buis@kde.org>
66867
66868        Reviewed by Darin.
66869
66870        http://bugs.webkit.org/show_bug.cgi?id=16182
66871        SVG should disable antialiasing for shape-rendering="crispEdges"
66872
66873        Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
66874
66875        * platform/graphics/GraphicsContext.h:
66876        * platform/graphics/cairo/GraphicsContextCairo.cpp:
66877        (WebCore::GraphicsContext::setUseAntialiasing):
66878        * platform/graphics/cg/GraphicsContextCG.cpp:
66879        (WebCore::GraphicsContext::setUseAntialiasing):
66880        * platform/graphics/qt/GraphicsContextQt.cpp:
66881        (WebCore::GraphicsContext::setUseAntialiasing):
66882        * platform/graphics/wx/GraphicsContextWx.cpp:
66883        (WebCore::GraphicsContext::setUseAntialiasing):
66884        * rendering/RenderPath.cpp:
66885        (WebCore::RenderPath::paint):
66886
668872007-12-09  Rob Buis  <buis@kde.org>
66888
66889        Reviewed by Niko.
66890
66891        http://bugs.webkit.org/show_bug.cgi?id=16163
66892        SVG crash in Node::setChanged() on Debug builds only (trashed parent)
66893
66894        Fix the crash by properly unregistering as client from SVGResource
66895        when deleting a styled svg node.
66896
66897        * svg/SVGStyledElement.cpp:
66898        (WebCore::SVGStyledElement::~SVGStyledElement):
66899
669002007-12-10  Brady Eidson  <beidson@apple.com>
66901
66902        Rubberstamped by John
66903
66904        * storage/DatabaseTracker.cpp:
66905        (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
66906          for the new quota, we should allow the database to be created
66907
669082007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
66909
66910        Bug 9683: Implement select.options.remove() method
66911        <http://bugs.webkit.org/show_bug.cgi?id=9683>
66912
66913        Reviewed by Maciej.
66914
66915        Implement select.options.remove() by calling select.remove()
66916        with the same arguments.  This is what MSIE 7 does, although its
66917        select.remove() method differs from WebKit's by throwing an
66918        exception when called with no arguments or with a negative
66919        integer argument.  Note that the DOM Level 1 documentation
66920        specifies that select.remove() does not throw an exception.
66921
66922        Tests: fast/js/select-options-remove-gc.html
66923               fast/js/select-options-remove.html
66924
66925        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
66926        (WebCore::JSHTMLOptionsCollection::remove): Added.
66927        * html/HTMLOptionsCollection.cpp:
66928        (WebCore::HTMLOptionsCollection::remove): Added.
66929        * html/HTMLOptionsCollection.h:
66930        * html/HTMLOptionsCollection.idl:
66931
669322007-12-09  Sam Weinig  <sam@webkit.org>
66933
66934        Rubber stamped by Mark Rowe.
66935
66936        * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
66937
669382007-12-09  Oliver Hunt  <oliver@apple.com>
66939
66940        Reviewed by Niko.
66941
66942        Correction, 'z' and 'Z' are the only commands that cannot have an extended
66943        list of arguments.
66944
66945        * svg/SVGParserUtilities.cpp:
66946        (WebCore::SVGPathParser::parseSVG):
66947
669482007-12-09  Oliver Hunt  <oliver@apple.com>
66949
66950        Reviewed by Niko.
66951
66952        Prevent unlimited iteration in the case of invalid path data.
66953        
66954        The only path commands that can leave numbers trailing the command processing
66955        are 'm' and 'M', in which trailing numbers are parsed as arguments to an
66956        implicit lineto command.  In any case we should just terminate as an invalid
66957        path.
66958
66959        * svg/SVGParserUtilities.cpp:
66960        (WebCore::SVGPathParser::parseSVG):
66961
669622007-12-09  Luca Bruno  <lethalman88@gmail.com>
66963
66964        Reviewed by Alp Toker.
66965
66966        http://bugs.webkit.org/show_bug.cgi?id=15825
66967        [GTK] curl - slow dns causing hangs.
66968
66969        Create a vector of jobs, to satisfy requests in the right order.
66970        Set a limit to the number of simultaneous connections.
66971
66972        * platform/network/curl/ResourceHandleManager.cpp:
66973        (WebCore::maxRunningJobs): added
66974        (WebCore::ResourceHandleManager::ResourceHandleManager):
66975        (WebCore::ResourceHandleManager::removeFromCurl):
66976        (WebCore::ResourceHandleManager::startScheduledJobs):
66977
66978        * platform/network/curl/ResourceHandleManager.h:
66979        (WebCore::ResourceHandleList): removed
66980        (WebCore::ResourceHandleManager::m_runningJobs): added
66981        (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
66982        (WebCore::ResourceHandleManager::m_resourceHandleList): added
66983
669842007-12-08  Sam Weinig  <sam@webkit.org>
66985
66986        Reviewed by Oliver.
66987
66988        Cleanup kjs_window.h/cpp.
66989
66990        * bindings/js/kjs_window.cpp:
66991        (KJS::WindowPrivate::WindowPrivate):
66992        (KJS::DOMWindowTimer::DOMWindowTimer):
66993        (KJS::Window::Window):
66994        (KJS::Window::retrieveWindow):
66995        (KJS::Window::retrieveActive):
66996        (KJS::Window::retrieve):
66997        (KJS::Window::location):
66998        (KJS::Window::mark):
66999        (KJS::allowPopUp):
67000        (KJS::parseModalDialogFeatures):
67001        (KJS::floatFeature):
67002        (KJS::canShowModalDialog):
67003        (KJS::canShowModalDialogNow):
67004        (KJS::showModalDialog):
67005        (KJS::Window::getValueProperty):
67006        (KJS::Window::getOwnPropertySlot):
67007        (KJS::Window::globalExec):
67008        (KJS::Window::setListener):
67009        (KJS::Window::getListener):
67010        (KJS::Window::findOrCreateJSEventListener):
67011        (KJS::Window::findOrCreateJSUnprotectedEventListener):
67012        (KJS::Window::clearHelperObjectProperties):
67013        (KJS::Window::setCurrentEvent):
67014        (KJS::WindowProtoFuncAToB::callAsFunction):
67015        (KJS::WindowProtoFuncBToA::callAsFunction):
67016        (KJS::WindowProtoFuncOpen::callAsFunction):
67017        (KJS::WindowProtoFuncSetTimeout::callAsFunction):
67018        (KJS::WindowProtoFuncClearTimeout::callAsFunction):
67019        (KJS::WindowProtoFuncSetInterval::callAsFunction):
67020        (KJS::WindowProtoFuncAddEventListener::callAsFunction):
67021        (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
67022        (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
67023        (KJS::WindowProtoFuncNotImplemented::callAsFunction):
67024        * bindings/js/kjs_window.h:
67025        (KJS::PausedTimeouts::PausedTimeouts):
67026        (KJS::PausedTimeouts::takeTimeouts):
67027        (KJS::ScheduledAction::ScheduledAction):
67028
670292007-12-08  Sam Weinig  <sam@webkit.org>
67030
67031        Reviewed by Mitz.
67032
67033        Move window scrolling, moving and resizing methods from KJS::Window
67034        to WebCore::DOMWindow so that there bindings can be autogenerated.
67035
67036        Tests: fast/dom/Window/window-resize-and-move-arguments.html
67037               fast/dom/Window/window-scroll-arguments.html
67038
67039        * WebCore.xcodeproj/project.pbxproj:
67040        * bindings/js/kjs_window.cpp:
67041        (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
67042        (KJS::WindowProtoFuncOpen::callAsFunction):
67043        (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
67044        * bindings/js/kjs_window.h:
67045        * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
67046        to ensure that the no less than the declared number of attributes
67047        is allowed.
67048        * page/DOMWindow.cpp:
67049        (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
67050        (WebCore::DOMWindow::scrollBy):
67051        (WebCore::DOMWindow::scrollTo):
67052        (WebCore::DOMWindow::moveBy):
67053        (WebCore::DOMWindow::moveTo):
67054        (WebCore::DOMWindow::resizeBy):
67055        (WebCore::DOMWindow::resizeTo):
67056        * page/DOMWindow.h:
67057        (WebCore::DOMWindow::scroll):
67058        * page/DOMWindow.idl:
67059
670602007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
67061
67062        Reviewed by Alp Toker.
67063
67064        http://bugs.webkit.org/show_bug.cgi?id=14651
67065        [CURL] didReceiveResponse() only called for HTTP loads
67066
67067        http://bugs.webkit.org/show_bug.cgi?id=14583
67068        [GDK] file:// relative CSS include URLs handled incorrectly
67069
67070        Make sure CURL sets the ResourceResponse URL and calls
67071        didReceiveResponse for local files too. 
67072
67073        * platform/network/curl/ResourceHandleManager.cpp:
67074        (WebCore::writeCallback):
67075
670762007-12-08  Oliver Hunt  <oliver@apple.com>
67077
67078        Reviewed by Sam W.
67079
67080        Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
67081        
67082        Fixes <rdar://problem/5620249> Must disable SVG animation
67083        <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
67084        
67085        In order to allow finer grained control over the set of SVG features
67086        this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
67087        distinct flags:
67088        ENABLE_SVG_ANIMATION
67089        ENABLE_SVG_FILTERS
67090        ENABLE_SVG_FONTS
67091        ENABLE_SVG_AS_IMAGE
67092        ENABLE_SVG_USE
67093        
67094        by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
67095
67096        * Configurations/WebCore.xcconfig:
67097        * DerivedSources.make:
67098          Handle the increased number of build flags that may be necessary
67099          
67100        * WebCore.SVG.Animation.exp: Added.
67101        * WebCore.SVG.Filters.exp: Added.
67102        * WebCore.SVG.exp:
67103          We now may not need the animation or filter exports so 
67104          these need to be separate.
67105          
67106        * WebCore.vcproj/WebCore.vcproj:
67107        * WebCore.vcproj/build-generated-files.sh:
67108          Update for new flags
67109          
67110        Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
67111        with the appropriate specific feature flag.  
67112        * bindings/js/JSSVGElementWrapperFactory.cpp:
67113        (WebCore::createJSSVGWrapper):
67114        * bindings/objc/DOM.mm:
67115        (WebCore::createElementClassMap):
67116        * dom/make_names.pl:
67117        * loader/CachedImage.cpp:
67118        (WebCore::CachedImage::createImage):
67119        * page/DOMWindow.idl:
67120        * rendering/RenderPath.cpp:
67121        (WebCore::RenderPath::absoluteClippedOverflowRect):
67122        * rendering/RenderSVGContainer.cpp:
67123        (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
67124        * rendering/RenderSVGImage.cpp:
67125        (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
67126        * rendering/RenderSVGRoot.cpp:
67127        (WebCore::RenderSVGRoot::paint):
67128        (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
67129        * rendering/RenderSVGText.cpp:
67130        (WebCore::RenderSVGText::absoluteClippedOverflowRect):
67131        * rendering/SVGRenderSupport.cpp:
67132        (WebCore::prepareToRenderSVGContent):
67133        (WebCore::finishRenderSVGContent):
67134        * svg/SVGAnimateElement.cpp:
67135        * svg/SVGAnimateElement.h:
67136        * svg/SVGAnimateElement.idl:
67137        * svg/SVGAnimateMotionElement.cpp:
67138        * svg/SVGAnimateMotionElement.h:
67139        * svg/SVGAnimateTransformElement.cpp:
67140        * svg/SVGAnimateTransformElement.h:
67141        * svg/SVGAnimateTransformElement.idl:
67142        * svg/SVGComponentTransferFunctionElement.cpp:
67143        * svg/SVGComponentTransferFunctionElement.h:
67144        * svg/SVGComponentTransferFunctionElement.idl:
67145        * svg/SVGDocumentExtensions.cpp:
67146        (WebCore::SVGDocumentExtensions::startAnimations):
67147        * svg/SVGFEBlendElement.cpp:
67148        * svg/SVGFEBlendElement.h:
67149        * svg/SVGFEBlendElement.idl:
67150        * svg/SVGFEColorMatrixElement.cpp:
67151        * svg/SVGFEColorMatrixElement.h:
67152        * svg/SVGFEColorMatrixElement.idl:
67153        * svg/SVGFEComponentTransferElement.cpp:
67154        * svg/SVGFEComponentTransferElement.h:
67155        * svg/SVGFEComponentTransferElement.idl:
67156        * svg/SVGFECompositeElement.cpp:
67157        * svg/SVGFECompositeElement.h:
67158        * svg/SVGFECompositeElement.idl:
67159        * svg/SVGFEDiffuseLightingElement.cpp:
67160        * svg/SVGFEDiffuseLightingElement.h:
67161        * svg/SVGFEDiffuseLightingElement.idl:
67162        * svg/SVGFEDisplacementMapElement.cpp:
67163        * svg/SVGFEDisplacementMapElement.h:
67164        * svg/SVGFEDisplacementMapElement.idl:
67165        * svg/SVGFEDistantLightElement.cpp:
67166        * svg/SVGFEDistantLightElement.h:
67167        * svg/SVGFEDistantLightElement.idl:
67168        * svg/SVGFEFloodElement.cpp:
67169        * svg/SVGFEFloodElement.h:
67170        * svg/SVGFEFloodElement.idl:
67171        * svg/SVGFEFuncAElement.cpp:
67172        * svg/SVGFEFuncAElement.h:
67173        * svg/SVGFEFuncAElement.idl:
67174        * svg/SVGFEFuncBElement.cpp:
67175        * svg/SVGFEFuncBElement.h:
67176        * svg/SVGFEFuncBElement.idl:
67177        * svg/SVGFEFuncGElement.cpp:
67178        * svg/SVGFEFuncGElement.h:
67179        * svg/SVGFEFuncGElement.idl:
67180        * svg/SVGFEFuncRElement.cpp:
67181        * svg/SVGFEFuncRElement.h:
67182        * svg/SVGFEFuncRElement.idl:
67183        * svg/SVGFEGaussianBlurElement.cpp:
67184        * svg/SVGFEGaussianBlurElement.h:
67185        * svg/SVGFEGaussianBlurElement.idl:
67186        * svg/SVGFEImageElement.cpp:
67187        * svg/SVGFEImageElement.h:
67188        * svg/SVGFEImageElement.idl:
67189        * svg/SVGFELightElement.cpp:
67190        * svg/SVGFELightElement.h:
67191        * svg/SVGFEMergeElement.cpp:
67192        * svg/SVGFEMergeElement.h:
67193        * svg/SVGFEMergeElement.idl:
67194        * svg/SVGFEMergeNodeElement.cpp:
67195        * svg/SVGFEMergeNodeElement.h:
67196        * svg/SVGFEMergeNodeElement.idl:
67197        * svg/SVGFEOffsetElement.cpp:
67198        * svg/SVGFEOffsetElement.h:
67199        * svg/SVGFEOffsetElement.idl:
67200        * svg/SVGFEPointLightElement.cpp:
67201        * svg/SVGFEPointLightElement.h:
67202        * svg/SVGFEPointLightElement.idl:
67203        * svg/SVGFESpecularLightingElement.cpp:
67204        * svg/SVGFESpecularLightingElement.h:
67205        * svg/SVGFESpecularLightingElement.idl:
67206        * svg/SVGFESpotLightElement.cpp:
67207        * svg/SVGFESpotLightElement.h:
67208        * svg/SVGFESpotLightElement.idl:
67209        * svg/SVGFETileElement.cpp:
67210        * svg/SVGFETileElement.h:
67211        * svg/SVGFETileElement.idl:
67212        * svg/SVGFETurbulenceElement.cpp:
67213        * svg/SVGFETurbulenceElement.h:
67214        * svg/SVGFETurbulenceElement.idl:
67215        * svg/SVGFilterElement.cpp:
67216        * svg/SVGFilterElement.h:
67217        * svg/SVGFilterElement.idl:
67218        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
67219        * svg/SVGTimer.cpp:
67220        (WebCore::SVGTimer::animationsByElement):
67221        * svg/SVGUseElement.cpp:
67222        (WebCore::SVGUseElement::buildPendingResource):
67223        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
67224        * svg/SVGUseElement.h:
67225        * svg/TimeScheduler.cpp:
67226        (WebCore::TimeScheduler::connectIntervalTimer):
67227        (WebCore::TimeScheduler::disconnectIntervalTimer):
67228        * svg/graphics/SVGResourceFilter.cpp:
67229        * svg/graphics/SVGResourceFilter.h:
67230        * svg/graphics/cg/SVGResourceFilterCg.cpp:
67231        * svg/graphics/cg/SVGResourceFilterCg.mm:
67232        * svg/graphics/filters/SVGDistantLightSource.h:
67233        * svg/graphics/filters/SVGFEBlend.cpp:
67234        * svg/graphics/filters/SVGFEBlend.h:
67235        * svg/graphics/filters/SVGFEColorMatrix.cpp:
67236        * svg/graphics/filters/SVGFEColorMatrix.h:
67237        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
67238        * svg/graphics/filters/SVGFEComponentTransfer.h:
67239        * svg/graphics/filters/SVGFEComposite.cpp:
67240        * svg/graphics/filters/SVGFEComposite.h:
67241        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
67242        * svg/graphics/filters/SVGFEConvolveMatrix.h:
67243        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
67244        * svg/graphics/filters/SVGFEDiffuseLighting.h:
67245        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
67246        * svg/graphics/filters/SVGFEDisplacementMap.h:
67247        * svg/graphics/filters/SVGFEFlood.cpp:
67248        * svg/graphics/filters/SVGFEFlood.h:
67249        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
67250        * svg/graphics/filters/SVGFEGaussianBlur.h:
67251        * svg/graphics/filters/SVGFEImage.cpp:
67252        * svg/graphics/filters/SVGFEImage.h:
67253        * svg/graphics/filters/SVGFEMerge.cpp:
67254        * svg/graphics/filters/SVGFEMerge.h:
67255        * svg/graphics/filters/SVGFEMorphology.cpp:
67256        * svg/graphics/filters/SVGFEMorphology.h:
67257        * svg/graphics/filters/SVGFEOffset.cpp:
67258        * svg/graphics/filters/SVGFEOffset.h:
67259        * svg/graphics/filters/SVGFESpecularLighting.cpp:
67260        * svg/graphics/filters/SVGFESpecularLighting.h:
67261        * svg/graphics/filters/SVGFETile.h:
67262        * svg/graphics/filters/SVGFETurbulence.cpp:
67263        * svg/graphics/filters/SVGFETurbulence.h:
67264        * svg/graphics/filters/SVGFilterEffect.cpp:
67265        * svg/graphics/filters/SVGFilterEffect.h:
67266        * svg/graphics/filters/SVGLightSource.cpp:
67267        * svg/graphics/filters/SVGLightSource.h:
67268        * svg/graphics/filters/SVGPointLightSource.h:
67269        * svg/graphics/filters/SVGSpotLightSource.h:
67270        * svg/graphics/filters/cg/SVGFEBlendCg.mm:
67271        * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
67272        * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
67273        * svg/graphics/filters/cg/SVGFECompositeCg.mm:
67274        * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
67275        * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
67276        * svg/graphics/filters/cg/SVGFEFloodCg.mm:
67277        * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
67278        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
67279        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
67280        * svg/graphics/filters/cg/SVGFEImageCg.mm:
67281        * svg/graphics/filters/cg/SVGFEMergeCg.mm:
67282        * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
67283        * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
67284        * svg/graphics/filters/cg/SVGFETileCg.mm:
67285        * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
67286        * svg/graphics/filters/cg/WKArithmeticFilter.h:
67287        * svg/graphics/filters/cg/WKArithmeticFilter.m:
67288        * svg/graphics/filters/cg/WKComponentMergeFilter.h:
67289        * svg/graphics/filters/cg/WKComponentMergeFilter.m:
67290        * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
67291        * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
67292        * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
67293        * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
67294        * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
67295        * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
67296        * svg/graphics/filters/cg/WKDistantLightFilter.h:
67297        * svg/graphics/filters/cg/WKDistantLightFilter.m:
67298        * svg/graphics/filters/cg/WKGammaTransferFilter.h:
67299        * svg/graphics/filters/cg/WKGammaTransferFilter.m:
67300        * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
67301        * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
67302        * svg/graphics/filters/cg/WKLinearTransferFilter.h:
67303        * svg/graphics/filters/cg/WKLinearTransferFilter.m:
67304        * svg/graphics/filters/cg/WKNormalMapFilter.h:
67305        * svg/graphics/filters/cg/WKNormalMapFilter.m:
67306        * svg/graphics/filters/cg/WKPointLightFilter.h:
67307        * svg/graphics/filters/cg/WKPointLightFilter.m:
67308        * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
67309        * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
67310        * svg/graphics/filters/cg/WKSpotLightFilter.h:
67311        * svg/graphics/filters/cg/WKSpotLightFilter.m:
67312        * svg/graphics/filters/cg/WKTableTransferFilter.h:
67313        * svg/graphics/filters/cg/WKTableTransferFilter.m:
67314        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
67315        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
67316        * svg/svgtags.in:
67317
673182007-12-08  Dan Bernstein  <mitz@apple.com>
67319
67320        Reviewed by Adele Peterson.
67321
67322        - fix two bugs in parsing of stylesheets in <style> elements created by
67323          the parser:
67324          1. each such stylesheet is parsed twice, once when the text node is
67325             added and again when the </style> tag is reached
67326          2. re-inserting such a <style> element into the document fails to
67327             re-parse and apply its stylesheet.
67328
67329        Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
67330
67331        * html/HTMLStyleElement.cpp:
67332        (WebCore::HTMLStyleElement::finishedParsing):
67333        * svg/SVGStyleElement.cpp:
67334        (WebCore::SVGStyleElement::finishedParsing):
67335
673362007-12-07  Sam Weinig  <sam@webkit.org>
67337
67338        Reviewed by Darin.
67339
67340        - Removes the faulty isSafeScript implementation that was only
67341          used for plugins.
67342        - Renames isSafeScript to allowsAccessFrom.
67343
67344        * bindings/js/JSDOMWindowCustom.cpp:
67345        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
67346        (WebCore::JSDOMWindow::customPut):
67347        * bindings/js/kjs_dom.cpp:
67348        (WebCore::checkNodeSecurity):
67349        * bindings/js/kjs_window.cpp:
67350        (KJS::createWindow):
67351        (KJS::Window::getValueProperty):
67352        (KJS::Window::namedItemGetter):
67353        (KJS::Window::getOwnPropertySlot):
67354        (KJS::Window::put):
67355        (KJS::Window::allowsAccessFrom):
67356        (KJS::Window::setListener):
67357        (KJS::Window::getListener):
67358        (KJS::WindowProtoFuncOpen::callAsFunction):
67359        (KJS::WindowProtoFuncSetTimeout::callAsFunction):
67360        (KJS::WindowProtoFuncClearTimeout::callAsFunction):
67361        (KJS::WindowProtoFuncSetInterval::callAsFunction):
67362        (KJS::WindowProtoFuncAddEventListener::callAsFunction):
67363        (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
67364        (KJS::WindowProtoFuncNotImplemented::callAsFunction):
67365        (KJS::Location::getOwnPropertySlot):
67366        (KJS::Location::put):
67367        (KJS::LocationProtoFuncReplace::callAsFunction):
67368        (KJS::LocationProtoFuncReload::callAsFunction):
67369        (KJS::LocationProtoFuncAssign::callAsFunction):
67370        (KJS::LocationProtoFuncToString::callAsFunction):
67371        * bindings/js/kjs_window.h:
67372        (KJS::Window::allowsAccessFrom):
67373        * bindings/objc/WebScriptObject.mm:
67374        (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
67375        the new call.
67376        * bindings/scripts/CodeGeneratorJS.pm:
67377
673782007-12-08  Rob Buis  <buis@kde.org>
67379
67380        Reviewed by Darin.
67381
67382        http://bugs.webkit.org/show_bug.cgi?id=15464
67383        SVGLengthList allows bad values
67384
67385        Be more strict with svg lengths without a unit identifier.
67386
67387        Test: svg/custom/invalid-lengthlist.svg
67388
67389        * svg/SVGLength.cpp:
67390        (WebCore::SVGLength::setValueAsString):
67391
673922007-12-08  Rob Buis  <buis@kde.org>
67393
67394        Mac Tiger build fix.
67395
67396        Use the wtf prefix when including MathExtras.h.
67397
67398        * rendering/RenderMedia.cpp:
67399
674002007-12-08  Alp Toker  <alp@atoker.com>
67401
67402        GTK+ build fix (for ENABLE_VIDEO builds):
67403
67404        Include MathExtras.h to get isfinite().
67405
67406        * rendering/RenderMedia.cpp:
67407
674082007-12-08  Rob Buis  <buis@kde.org>
67409
67410        Reviewed by Darin.
67411
67412        http://bugs.webkit.org/show_bug.cgi?id=15528
67413        svg_dynamic_cast should be removed
67414
67415        Replace svg_dynamic_cast with a combination of
67416        isSVGElement and static_cast.
67417
67418        * rendering/SVGRootInlineBox.cpp:
67419        (WebCore::SVGRootInlineBox::buildLayoutInformation):
67420        (WebCore::SVGRootInlineBox::buildTextChunks):
67421        * svg/SVGAnimationElement.cpp:
67422        (WebCore::SVGAnimationElement::targetElement):
67423        * svg/SVGElement.h:
67424        * svg/SVGElementInstance.cpp:
67425        (WebCore::SVGElementInstance::updateInstance):
67426        * svg/SVGFilterElement.cpp:
67427        (WebCore::SVGFilterElement::canvasResource):
67428        * svg/SVGGradientElement.cpp:
67429        (WebCore::SVGGradientElement::buildStops):
67430        * svg/SVGLocatable.cpp:
67431        (WebCore::SVGLocatable::getTransformToElement):
67432        * svg/SVGMaskElement.cpp:
67433        (WebCore::SVGMaskElement::drawMaskerContent):
67434        * svg/SVGSwitchElement.cpp:
67435        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
67436        * svg/SVGUseElement.cpp:
67437        (WebCore::SVGUseElement::insertedIntoDocument):
67438        (WebCore::SVGUseElement::buildPendingResource):
67439        (WebCore::SVGUseElement::buildInstanceTree):
67440        (WebCore::SVGUseElement::handleDeepUseReferencing):
67441        (WebCore::SVGUseElement::buildShadowTree):
67442        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
67443        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
67444        * svg/graphics/SVGResource.cpp:
67445        (WebCore::getResourceById):
67446
674472007-12-07  Antti Koivisto  <antti@apple.com>
67448
67449        Reviewed by Adele.
67450        
67451        Partial fix for <rdar://problem/5633400>
67452        Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
67453        
67454        Fix video painting when transform is applied.
67455
67456        Test: media/video-transformed.html
67457
67458        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
67459        (WebCore::MediaPlayerPrivate::paint):
67460
674612007-12-07  Dan Bernstein  <mitz@apple.com>
67462
67463        Reviewed by Sam Weinig.
67464
67465        - fix http://bugs.webkit.org/show_bug.cgi?id=16348
67466          @font-face does not affect the default style
67467
67468        Test: fast/css/font-face-default-font.html
67469
67470        * dom/Document.cpp:
67471        (WebCore::Document::recalcStyle): Pass our font selector to
67472        Font::update() if we already have one.
67473
674742007-12-07  Darin Adler  <darin@apple.com>
67475
67476        - fix Windows build
67477
67478        * bridge/win/GlobalHistoryWin.cpp:
67479        (WebCore::historyContains): Missed a rename.
67480
674812007-12-07  Brady Eidson  <beidson@apple.com>
67482
67483        Reviewed by Anders and Darin
67484
67485        When a statement bumps up against the quota and the UI Delegate grants more space, we need to
67486        actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
67487        in the DatabaseTracker, which was already done)
67488
67489        * storage/SQLTransaction.cpp:
67490        (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
67491          the SQLiteDatabase to the new maximum size
67492
674932007-12-07  Darin Adler  <darin@apple.com>
67494
67495        - fix Tiger build
67496
67497        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
67498        QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
67499
675002007-12-07  Darin Adler  <darin@apple.com>
67501
67502        - fix 64-bit build, hopefully without breaking Tiger build
67503
67504        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
67505        (WebCore::MediaPlayerPrivate::updateStates):
67506        Don't use Movies.h constants that are nonexistent in 64-bit.
67507        Define the new QTMovie.h constants, though, when using an older QTKit.
67508
675092007-12-07  Brady Eidson  <beidson@apple.com>
67510
67511        Reviewed by Anders
67512
67513        Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
67514
67515        * storage/DatabaseTracker.cpp:
67516        (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
67517        (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
67518        * storage/DatabaseTracker.h:
67519
675202007-12-07  Darin Adler  <darin@apple.com>
67521
67522        Reviewed by Mitz.
67523
67524        - http://bugs.webkit.org/show_bug.cgi?id=15981
67525          speed up visited-link code a bit
67526
67527        * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
67528        instead of requiring a DeprecatedString.
67529
67530        * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
67531        Also removes pointless "fast Latin-1" case that was never used.
67532        * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
67533        * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
67534        * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
67535
67536        * css/CSSStyleSelector.cpp:
67537        (WebCore::findHash): Added. Helper for cleanpath.
67538        (WebCore::findSlashDotDotSlash): Ditto.
67539        (WebCore::findSlashSlash): Ditto.
67540        (WebCore::findSlashDotSlash): Ditto.
67541        (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
67542        DeprecatedString find function.
67543        (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
67544        (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
67545        instead of an AtomicString for the attribute value. Changed to use fast helper function
67546        instead of slower DeprecatedString::contains function, and also made the fast case not
67547        bother allocating a DeprecatedConstString.
67548
67549        - unrelated tiny cleanup
67550
67551        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
67552        (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
67553        (WebCore::cgGradientCallback): Ditto.
67554
675552007-12-07  Darin Adler  <darin@apple.com>
67556
67557        Fix build on Tiger (Mark Rowe told me how).
67558
67559        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
67560        Include <objc/objc-runtime.h>, which existed back on Tiger,
67561        rather than <objc/runtime.h>, which did not.
67562
675632007-12-07  Geoffrey Garen  <ggaren@apple.com>
67564
67565        Build fix: rolling out last build fix to change #include path.
67566
67567        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
67568
675692007-12-07  Steve Falkenburg  <sfalken@apple.com>
67570
67571        Re-named our B&I flag from BUILDBOT to PRODUCTION.
67572
67573        Reviewed by Sam Weinig.
67574
67575        * WebCore.vcproj/WebCore.make:
67576
675772007-12-07  Geoffrey Garen  <ggaren@apple.com>
67578
67579        Build fix: corrected #include path.
67580
67581        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
67582
675832007-12-07  Geoffrey Garen  <ggaren@apple.com>
67584
67585        Reviewed by Sam Weinig.
67586
67587        Added some namespace qualifications and a forwarding header, now that
67588        KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
67589
67590        * ForwardingHeaders/wtf/ListRefPtr.h: Added.
67591        * bindings/js/JSXSLTProcessor.cpp:
67592        (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
67593        * bindings/js/kjs_binding.cpp:
67594        (KJS::ScriptInterpreter::getDOMNodeForDocument):
67595        (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
67596        (KJS::ScriptInterpreter::putDOMNodeForDocument):
67597        (KJS::ScriptInterpreter::markDOMNodesForDocument):
67598        (KJS::ScriptInterpreter::updateDOMNodeDocument):
67599
676002007-12-07  Adam Roben  <aroben@apple.com>
67601
67602        Add SoftLinking.h for Windows and use it in a few places
67603
67604        Reviewed by Oliver.
67605
67606        * WebCore.vcproj/WebCore.vcproj: Added new file to project.
67607        * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
67608        (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
67609        soft-linking calls.
67610        (WebCore::PlatformScrollbar::paintButton): Check for the presence of
67611        the SafariTheme library now that we can't check for the presence of
67612        paintThemePart directly.
67613        (WebCore::PlatformScrollbar::paintTrack): Ditto.
67614        (WebCore::PlatformScrollbar::paintThumb): Ditto.
67615        * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
67616        * rendering/RenderThemeSafari.cpp: Same basic changes as to
67617        PlatformScrollBarSafari.cpp.
67618        (WebCore::RenderThemeSafari::RenderThemeSafari):
67619        (WebCore::RenderThemeSafari::isControlStyled):
67620        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
67621        * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
67622
676232007-12-07  Darin Adler  <darin@apple.com>
67624
67625        Reviewed by Adele.
67626
67627        - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
67628          at WebCore::HTMLSelectElement::saveState const + 152
67629
67630        Test: fast/forms/select-set-inner.html
67631
67632        * dom/ContainerNode.cpp:
67633        (WebCore::ContainerNode::removeChildren): Added a return value, as with other
67634        calls that change children, so we can optimize for the case where it does nothing.
67635        (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
67636        * dom/ContainerNode.h: See above.
67637
67638        * html/HTMLOptGroupElement.cpp:
67639        (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
67640        recalcSelectOptions in that case.
67641        (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
67642        addChild, for consistency with HTMLSelectElement; no need to override both.
67643        (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
67644        * html/HTMLOptGroupElement.h: See above.
67645
67646        * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
67647        override childrenChanged, and addChild calls that.
67648        (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
67649        recalcSelectOptions in that case.
67650        (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
67651        by using a for loop and traverseNextSibling. Also added some new comments and
67652        removed some obsolete ones.
67653        (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
67654        sure we don't have a stale list items vector.
67655        * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
67656        This will help us catch cases where we have too few calls to setRecalcListItems.
67657
676582007-12-07  Dan Bernstein  <mitz@apple.com>
67659
67660        Reviewed by Darin Adler.
67661
67662        - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
67663
67664        Test: fast/repaint/focus-ring.html
67665
67666        * editing/SelectionController.cpp:
67667        (WebCore::SelectionController::caretRepaintRect): Changed to return just
67668        the caret rect without any padding.
67669        (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
67670        just the caret rect without any padding.
67671        * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
67672        clearFocusRingClip().
67673        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
67674        * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
67675        * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
67676        m_focusRingClip member.
67677        * platform/graphics/mac/GraphicsContextMac.mm:
67678        (WebCore::GraphicsContext::drawFocusRing): Changed to call
67679        wkDrawFocusRing() once without setting up additional clip. On Leopard,
67680        wkDrawFocusRing() respects the context clip now. On Tiger, a
67681        transparency layer is used to apply clipping to the focus ring.
67682        * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
67683        methods and member.
67684        * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
67685        * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
67686        to wkDrawFocusRing().
67687        * platform/mac/WebCoreSystemInterface.mm: Ditto.
67688        * rendering/RenderLayer.cpp:
67689        (WebCore::setClip): Removed call to set the focus ring clip.
67690        (WebCore::restoreClip): Removed call to reset the focus ring clip.
67691
676922007-12-07  Darin Adler  <darin@apple.com>
67693
67694        Reviewed by Antti Koivisto and Kevin Decker.
67695
67696        - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
67697
67698        Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
67699
67700        * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
67701
67702        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
67703        Made a lot more functions const. Made a few more members private and a couple inline.
67704        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
67705        things we currently use in QTKit. It's a little more awkward for classes and other data objects
67706        than it is for functions, but still relatively straightforward, with no changes needed to the
67707        client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
67708        it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
67709        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
67710        members to nil.
67711        (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
67712        (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
67713        (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
67714        Changed to use long instead of int because that's the type for a QTTime time scale anyway.
67715        (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
67716        (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
67717        (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
67718        points set to avoid a potential problem with a set being modified as we iterate it.
67719        (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
67720        (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
67721        values, used the constants from the headers directly.
67722        (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
67723        pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
67724        of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
67725        no better). Used RetainPtr instead of explicit CFRelease calls.
67726
67727        * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
67728        It's not quite as automatic as the soft linking we can do for functions, since these define
67729        functions to get the values, so you need to define macros to make what look like variable
67730        accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
67731
67732        * html/HTMLMediaElement.h:
67733        * html/TimeRanges.h:
67734        * html/VoidCallback.h:
67735        * platform/graphics/MediaPlayer.h:
67736        Use angle brackets for wtf includes. Omit unneeded includes.
67737
677382007-12-07  Dan Bernstein  <mitz@apple.com>
67739
67740        Reviewed by Darin Adler.
67741
67742        - fix http://bugs.webkit.org/show_bug.cgi?id=16334
67743          <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
67744
67745        Test: fast/dynamic/subtree-no-common-root-static-y.html
67746
67747        * rendering/RenderObject.cpp:
67748        (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
67749        to setChildNeedsLayout() to not mark containing blocks and added a
67750        separate call to markContainingBlocksForLayout() that will not schedule
67751        a layout if we are already in the middle of scheduleRelayoutOfSubtree().
67752
677532007-12-07  Alexey Proskuryakov  <ap@webkit.org>
67754
67755        Reviewed by Darin.
67756
67757        http://bugs.webkit.org/show_bug.cgi?id=16325
67758        <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
67759        
67760        Test: http/tests/misc/empty-cookie.html
67761
67762        * platform/mac/CookieJar.mm:
67763        (WebCore::setCookies): Don't store empty cookies.
67764        (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
67765        with an earlier version of Leopard!
67766
677672007-12-06  Ada Chan  <adachan@apple.com>
67768
67769        Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
67770        returning true when there's an error).
67771
67772        Reviewed by Steve.
67773
67774        * platform/win/FileSystemWin.cpp:
67775        (WebCore::makeAllDirectories):
67776
677772007-12-06  Darin Adler  <darin@apple.com>
67778
67779        - fix broken regression test
67780
67781        * bindings/js/kjs_binding.cpp:
67782        (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
67783
677842007-12-06  Darin Adler  <darin@apple.com>
67785
67786        Reviewed by Sam Weinig.
67787
67788        - fix http://bugs.webkit.org/show_bug.cgi?id=16332
67789          ObjC DOM exception object descriptions should include the exception name
67790
67791        * WebCore.pro: Added ExceptionCode.cpp.
67792        * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
67793        * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
67794        * WebCoreSources.bkl: Added ExceptionCode.cpp.
67795
67796        * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
67797        ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
67798        the many unneeded includes that were here. Had to keep one special case here, for
67799        SECURITY_ERR.
67800
67801        * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
67802        new getExceptionCodeDescription function so that this shares the exception name
67803        information that was previously only available to JavaScript.
67804
67805        * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
67806        (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
67807        handle exception names in a slightly more robust way that is not subject to integer
67808        overflow. (Not a real world issue since we should never receive a bad exception code.)
67809
67810        * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
67811        getExceptionCodeDescription function.
67812
67813        * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
67814        the comments were mildly helpful, but others were incorrect. This now matches the other
67815        exception-related headers such as RangeException.h.
67816
678172007-12-06  Brady Eidson  <beidson@apple.com>
67818
67819        Reviewed by Darin
67820
67821        Fixed a glaring bug that would prevent a statement from getting run a second time
67822
67823        * storage/SQLStatement.cpp:
67824        (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
67825          and return early
67826        (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
67827
678282007-12-06  Timothy Hatcher  <timothy@apple.com>
67829
67830        Reviewed by Oliver Hunt.
67831
67832        Use keydown instead of keypress so keyIdentifier can be used.
67833
67834        * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
67835        * page/inspector/DatabasePanel.js: Ditto.
67836        * page/inspector/inspector.js: Ditto. Plus call removeEventListener
67837        before deleting windowLoaded.
67838
678392007-12-06  Adam Roben  <aroben@apple.com>
67840
67841        Rename FontsTable.plist to FontsList.plist
67842
67843        Rubberstamped by Hyatt.
67844
67845        * platform/graphics/win/FontDatabase.cpp:
67846
678472007-12-06  Brady Eidson  <beidson@apple.com>
67848
67849        Reviewed by Darin
67850
67851        Tweaked a comment and a few assertions from my last checkin
67852
67853        * storage/SQLStatement.cpp:
67854        (WebCore::SQLStatement::execute):
67855        (WebCore::SQLStatement::clearFailureDueToQuota):
67856        (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
67857
678582007-12-06  Brady Eidson <beidson@apple.com>
67859
67860        Reviewed by Darin
67861
67862        Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
67863        will ask the UI Delegate for more space when that quota is met
67864
67865        * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
67866        * platform/sql/SQLiteDatabase.h: Ditto
67867
67868        * storage/Database.cpp:
67869        (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
67870        (WebCore::Database::stringIdentifier): Ditto
67871        * storage/Database.h:
67872
67873        * storage/SQLStatement.cpp:
67874        (WebCore::SQLStatement::SQLStatement):
67875        (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
67876          If the result is quota, this statement expects that it might be run again, presumably after the user increases 
67877          the quota
67878        (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
67879        (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
67880        (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
67881        * storage/SQLStatement.h:
67882
67883        * storage/SQLTransaction.cpp:
67884        (WebCore::SQLTransaction::SQLTransaction):
67885        (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
67886        (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
67887          transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
67888        (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
67889          decision and whether the current statement was already run
67890        (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
67891        (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
67892          that handles a statement error was moved here
67893        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
67894          reschedule the current statement on the database thread
67895        * storage/SQLTransaction.h:
67896
678972007-12-06  Steve Falkenburg  <sfalken@apple.com>
67898
67899        <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
67900        
67901        Don't use callback-based timers, since these cause Windows to eat Windows crashes
67902        in code the timers call.
67903        
67904        Windows appears to be defending against "shatter" attacks partially by setting
67905        up a structured exception block while dispatching callback-based WM_TIMERs.
67906        
67907        I verified this by adding a divide by zero into some timer callback code.
67908        In the case where the timer was dispatched via a callback, the divide by zero
67909        exception was silently handled and ignored, with execution continuing after
67910        our call to DispatchMessage.  When processed via the WNDPROC, no SEH
67911        block was established by Windows, and our divide by zero generated a real
67912        crash (which is what we wanted).
67913        
67914        Windows handling our crashes for us led us to leave the timer data structures
67915        in an invalid state so the next time a timer was set, we'd crash accessing an
67916        invalid HashMap of timer data.
67917        
67918        Reviewed by Hyatt.
67919
67920        * platform/win/SharedTimerWin.cpp:
67921        (WebCore::TimerWindowWndProc):
67922        (WebCore::setSharedTimerFireTime):
67923
679242007-12-06  Adam Roben  <aroben@apple.com>
67925
67926        Fix <rdar://5108390> Feed title is too low in blue banner
67927
67928        Way back in r23069 we started applying the same font ascent hack that
67929        Mac WebKit applies to Helvetica, Times, and Courier. We did this so
67930        that those fonts would match the Mac metrics when we run the
67931        regression tests. However, this hack was applying to Arial on Windows
67932        when a site would specify the Helvetica font face because Windows will
67933        alias the font names. Instead of removing the hack entirely, we
67934        turn it off by default but provide some SPI so that DumpRenderTree can
67935        turn it on.
67936
67937        Reviewed by Hyatt.
67938
67939        All tests pass.
67940
67941        * platform/graphics/FontData.h: Add a new static method to turn on the
67942        hack on Windows only.
67943        * platform/graphics/win/FontDataWin.cpp:
67944        (WebCore::FontData::setShouldApplyMacAscentHack): Added.
67945        (WebCore::FontData::platformInit): Only perform the hack if
67946        shouldApplyMacAscentHack is true.
67947
679482007-12-06  Geoffrey Garen  <ggaren@apple.com>
67949
67950        Reviewed by Sam Weinig.
67951
67952        Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
67953        REGRESSION (r28470): Crash expanding a GMail conversation
67954        
67955        * page/Frame.cpp:
67956        (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
67957        we haven't created the proxy yet. If we've created the proxy already, a
67958        script may be in the midst of execution, even though we've lost our
67959        settings object. During execution, scripts assume they have free access
67960        to the proxy.
67961
679622007-12-06  Adele Peterson  <adele@apple.com>
67963
67964        Reviewed by Oliver.
67965
67966        Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
67967
67968        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
67969        * html/HTMLMediaElement.h:
67970
679712007-12-05  Antti Koivisto  <antti@apple.com>
67972
67973        Reviewed by Oliver.
67974
67975        Rename
67976
67977        Movie -> MediaPlayer
67978        MoviePrivate -> MediaPlayerPrivate
67979        
67980        Movie is QuickTime terminology and clashes with its C API.
67981
67982        * WebCore.xcodeproj/project.pbxproj:
67983        * html/HTMLMediaElement.cpp:
67984        (WebCore::HTMLMediaElement::HTMLMediaElement):
67985        (WebCore::HTMLMediaElement::~HTMLMediaElement):
67986        (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
67987        (WebCore::HTMLMediaElement::bufferingRate):
67988        (WebCore::HTMLMediaElement::load):
67989        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
67990        (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
67991        (WebCore::HTMLMediaElement::setReadyState):
67992        (WebCore::HTMLMediaElement::progressEventTimerFired):
67993        (WebCore::HTMLMediaElement::seek):
67994        (WebCore::HTMLMediaElement::currentTime):
67995        (WebCore::HTMLMediaElement::duration):
67996        (WebCore::HTMLMediaElement::playbackRate):
67997        (WebCore::HTMLMediaElement::setPlaybackRate):
67998        (WebCore::HTMLMediaElement::play):
67999        (WebCore::HTMLMediaElement::pause):
68000        (WebCore::HTMLMediaElement::setVolume):
68001        (WebCore::HTMLMediaElement::setMuted):
68002        (WebCore::HTMLMediaElement::pickMedia):
68003        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
68004        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
68005        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
68006        (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
68007        (WebCore::HTMLMediaElement::addCuePoint):
68008        (WebCore::HTMLMediaElement::buffered):
68009        (WebCore::HTMLMediaElement::seekable):
68010        (WebCore::HTMLMediaElement::effectiveStart):
68011        (WebCore::HTMLMediaElement::effectiveEnd):
68012        (WebCore::HTMLMediaElement::effectiveLoopStart):
68013        (WebCore::HTMLMediaElement::effectiveLoopEnd):
68014        (WebCore::HTMLMediaElement::updateMediaPlayer):
68015        (WebCore::HTMLMediaElement::willSaveToCache):
68016        * html/HTMLMediaElement.h:
68017        (WebCore::HTMLMediaElement::player):
68018        * html/HTMLVideoElement.cpp:
68019        (WebCore::HTMLVideoElement::videoWidth):
68020        (WebCore::HTMLVideoElement::videoHeight):
68021        * platform/MIMETypeRegistry.cpp:
68022        (WebCore::initialiseSupportedMediaMIMETypes):
68023        (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
68024        (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
68025        * platform/MIMETypeRegistry.h:
68026        * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
68027        (WebCore::MediaPlayer::MediaPlayer):
68028        (WebCore::MediaPlayer::~MediaPlayer):
68029        (WebCore::MediaPlayer::load):
68030        (WebCore::MediaPlayer::cancelLoad):
68031        (WebCore::MediaPlayer::play):
68032        (WebCore::MediaPlayer::pause):
68033        (WebCore::MediaPlayer::duration):
68034        (WebCore::MediaPlayer::currentTime):
68035        (WebCore::MediaPlayer::seek):
68036        (WebCore::MediaPlayer::paused):
68037        (WebCore::MediaPlayer::seeking):
68038        (WebCore::MediaPlayer::naturalSize):
68039        (WebCore::MediaPlayer::hasVideo):
68040        (WebCore::MediaPlayer::networkState):
68041        (WebCore::MediaPlayer::readyState):
68042        (WebCore::MediaPlayer::volume):
68043        (WebCore::MediaPlayer::setVolume):
68044        (WebCore::MediaPlayer::rate):
68045        (WebCore::MediaPlayer::setRate):
68046        (WebCore::MediaPlayer::muted):
68047        (WebCore::MediaPlayer::setMuted):
68048        (WebCore::MediaPlayer::dataRate):
68049        (WebCore::MediaPlayer::setEndTime):
68050        (WebCore::MediaPlayer::addCuePoint):
68051        (WebCore::MediaPlayer::removeCuePoint):
68052        (WebCore::MediaPlayer::clearCuePoints):
68053        (WebCore::MediaPlayer::maxTimeBuffered):
68054        (WebCore::MediaPlayer::maxTimeSeekable):
68055        (WebCore::MediaPlayer::bytesLoaded):
68056        (WebCore::MediaPlayer::totalBytesKnown):
68057        (WebCore::MediaPlayer::totalBytes):
68058        (WebCore::MediaPlayer::setRect):
68059        (WebCore::MediaPlayer::visible):
68060        (WebCore::MediaPlayer::setVisible):
68061        (WebCore::MediaPlayer::paint):
68062        (WebCore::MediaPlayer::getSupportedTypes):
68063        (WebCore::MediaPlayer::networkStateChanged):
68064        (WebCore::MediaPlayer::readyStateChanged):
68065        (WebCore::MediaPlayer::volumeChanged):
68066        (WebCore::MediaPlayer::timeChanged):
68067        (WebCore::MediaPlayer::cuePointReached):
68068        * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
68069        (WebCore::MediaPlayerClient::~MediaPlayerClient):
68070        (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
68071        (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
68072        (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
68073        (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
68074        (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
68075        * platform/graphics/Movie.cpp: Removed.
68076        * platform/graphics/Movie.h: Removed.
68077        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
68078        (WebCore::mediaPlayerPrivateErrorCallback):
68079        (WebCore::mediaPlayerPrivateEOSCallback):
68080        (WebCore::mediaPlayerPrivateStateCallback):
68081        (WebCore::mediaPlayerPrivateBufferingCallback):
68082        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
68083        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
68084        (WebCore::MediaPlayerPrivate::load):
68085        (WebCore::MediaPlayerPrivate::play):
68086        (WebCore::MediaPlayerPrivate::pause):
68087        (WebCore::MediaPlayerPrivate::duration):
68088        (WebCore::MediaPlayerPrivate::currentTime):
68089        (WebCore::MediaPlayerPrivate::seek):
68090        (WebCore::MediaPlayerPrivate::setEndTime):
68091        (WebCore::MediaPlayerPrivate::addCuePoint):
68092        (WebCore::MediaPlayerPrivate::removeCuePoint):
68093        (WebCore::MediaPlayerPrivate::clearCuePoints):
68094        (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
68095        (WebCore::MediaPlayerPrivate::cancelSeek):
68096        (WebCore::MediaPlayerPrivate::cuePointTimerFired):
68097        (WebCore::MediaPlayerPrivate::paused):
68098        (WebCore::MediaPlayerPrivate::seeking):
68099        (WebCore::MediaPlayerPrivate::naturalSize):
68100        (WebCore::MediaPlayerPrivate::hasVideo):
68101        (WebCore::MediaPlayerPrivate::setVolume):
68102        (WebCore::MediaPlayerPrivate::setMuted):
68103        (WebCore::MediaPlayerPrivate::setRate):
68104        (WebCore::MediaPlayerPrivate::dataRate):
68105        (WebCore::MediaPlayerPrivate::networkState):
68106        (WebCore::MediaPlayerPrivate::readyState):
68107        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
68108        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
68109        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
68110        (WebCore::MediaPlayerPrivate::bytesLoaded):
68111        (WebCore::MediaPlayerPrivate::totalBytesKnown):
68112        (WebCore::MediaPlayerPrivate::totalBytes):
68113        (WebCore::MediaPlayerPrivate::cancelLoad):
68114        (WebCore::MediaPlayerPrivate::updateStates):
68115        (WebCore::MediaPlayerPrivate::loadStateChanged):
68116        (WebCore::MediaPlayerPrivate::rateChanged):
68117        (WebCore::MediaPlayerPrivate::sizeChanged):
68118        (WebCore::MediaPlayerPrivate::timeChanged):
68119        (WebCore::MediaPlayerPrivate::volumeChanged):
68120        (WebCore::MediaPlayerPrivate::didEnd):
68121        (WebCore::MediaPlayerPrivate::loadingFailed):
68122        (WebCore::MediaPlayerPrivate::setRect):
68123        (WebCore::MediaPlayerPrivate::setVisible):
68124        (WebCore::MediaPlayerPrivate::paint):
68125        (WebCore::MediaPlayerPrivate::getSupportedTypes):
68126        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
68127        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
68128        * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
68129        * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
68130        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
68131        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
68132        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
68133        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
68134        (WebCore::MediaPlayerPrivate::createQTMovie):
68135        (WebCore::MediaPlayerPrivate::createQTMovieView):
68136        (WebCore::MediaPlayerPrivate::createQTTime):
68137        (WebCore::MediaPlayerPrivate::load):
68138        (WebCore::MediaPlayerPrivate::play):
68139        (WebCore::MediaPlayerPrivate::pause):
68140        (WebCore::MediaPlayerPrivate::duration):
68141        (WebCore::MediaPlayerPrivate::currentTime):
68142        (WebCore::MediaPlayerPrivate::seek):
68143        (WebCore::MediaPlayerPrivate::doSeek):
68144        (WebCore::MediaPlayerPrivate::cancelSeek):
68145        (WebCore::MediaPlayerPrivate::seekTimerFired):
68146        (WebCore::MediaPlayerPrivate::setEndTime):
68147        (WebCore::MediaPlayerPrivate::addCuePoint):
68148        (WebCore::MediaPlayerPrivate::removeCuePoint):
68149        (WebCore::MediaPlayerPrivate::clearCuePoints):
68150        (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
68151        (WebCore::MediaPlayerPrivate::cuePointTimerFired):
68152        (WebCore::MediaPlayerPrivate::paused):
68153        (WebCore::MediaPlayerPrivate::seeking):
68154        (WebCore::MediaPlayerPrivate::naturalSize):
68155        (WebCore::MediaPlayerPrivate::hasVideo):
68156        (WebCore::MediaPlayerPrivate::setVolume):
68157        (WebCore::MediaPlayerPrivate::setMuted):
68158        (WebCore::MediaPlayerPrivate::setRate):
68159        (WebCore::MediaPlayerPrivate::dataRate):
68160        (WebCore::MediaPlayerPrivate::networkState):
68161        (WebCore::MediaPlayerPrivate::readyState):
68162        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
68163        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
68164        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
68165        (WebCore::MediaPlayerPrivate::bytesLoaded):
68166        (WebCore::MediaPlayerPrivate::totalBytesKnown):
68167        (WebCore::MediaPlayerPrivate::totalBytes):
68168        (WebCore::MediaPlayerPrivate::cancelLoad):
68169        (WebCore::MediaPlayerPrivate::updateStates):
68170        (WebCore::MediaPlayerPrivate::loadStateChanged):
68171        (WebCore::MediaPlayerPrivate::rateChanged):
68172        (WebCore::MediaPlayerPrivate::sizeChanged):
68173        (WebCore::MediaPlayerPrivate::timeChanged):
68174        (WebCore::MediaPlayerPrivate::volumeChanged):
68175        (WebCore::MediaPlayerPrivate::didEnd):
68176        (WebCore::MediaPlayerPrivate::setRect):
68177        (WebCore::MediaPlayerPrivate::setVisible):
68178        (WebCore::MediaPlayerPrivate::paint):
68179        (WebCore::MediaPlayerPrivate::getSupportedTypes):
68180        (-[WebCoreMovieObserver initWithCallback:WebCore::]):
68181        * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
68182        * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
68183        * rendering/RenderMedia.cpp:
68184        (WebCore::RenderMedia::player):
68185        * rendering/RenderMedia.h:
68186        * rendering/RenderVideo.cpp:
68187        (WebCore::RenderVideo::RenderVideo):
68188        (WebCore::RenderVideo::~RenderVideo):
68189        (WebCore::RenderVideo::videoSizeChanged):
68190        (WebCore::RenderVideo::paintReplaced):
68191        (WebCore::RenderVideo::layout):
68192        (WebCore::RenderVideo::updateFromElement):
68193        (WebCore::RenderVideo::updatePlayer):
68194        * rendering/RenderVideo.h:
68195
681962007-12-06  Geoffrey Garen  <ggaren@apple.com>
68197
68198        Build fix: access global object directly.
68199
68200        * plugins/win/PluginViewWin.cpp:
68201        (WebCore::PluginViewWin::bindingInstance):
68202
682032007-12-06  Mark Rowe  <mrowe@apple.com>
68204
68205        Reviewed by Eric.
68206
68207        Fix bug spotted by GCC 4.2.
68208
68209        * bindings/js/kjs_window.cpp:
68210        (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
68211
682122007-12-06  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
68213
68214        Reviewed by Alp Toker.
68215
68216        http://bugs.webkit.org/show_bug.cgi?id=16173
68217        Licensing change
68218
68219        Change license from BSD to LGPL.
68220
68221        * platform/gtk/FileSystemGtk.cpp:
68222
682232007-12-05  Rob Buis  <buis@kde.org>
68224
68225        Reviewed by Mitz.
68226
68227        http://bugs.webkit.org/show_bug.cgi?id=15289
68228        WebKit does not respect clip paths of a 0x0 rect
68229
68230        Make empty clip paths clip the whole referencing graphic.
68231
68232        * svg/SVGClipPathElement.cpp:
68233        (WebCore::SVGClipPathElement::canvasResource):
68234        * svg/graphics/SVGResourceClipper.h:
68235        (WebCore::ClipDataList::isEmpty):
68236
682372007-12-05  Darin Adler  <darin@apple.com>
68238
68239        Reviewed by Maciej.
68240
68241        - fix http://bugs.webkit.org/show_bug.cgi?id=16266
68242          <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
68243          Interpreter::createObjectsForGlobalObjectProperties()
68244
68245        I don't know how to reproduce this in a test.
68246
68247        * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
68248        Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
68249        right now, but it's best to call your base class, not your base's base.
68250
68251        * bindings/js/kjs_events.h: Removed unneeded virtual from the
68252        JSUnprotectedEventListener::mark() function; it neither derives from or is
68253        derived from anyone else with a mark() function so there's no need for virtual.
68254
68255        * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
68256        not JSObject::mark. This is the actual bug fix.
68257
682582007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
68259
68260        http://bugs.webkit.org/show_bug.cgi?id=16145
68261        [gtk] Implement media support in GTK backend
68262
68263        Reviewed by Alp Toker.
68264
68265        Remove old comments, fix variable names, match WebKit coding style.
68266
68267        * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
68268        (WebCore::moviePrivateEOSCallback):
68269        (WebCore::MoviePrivate::MoviePrivate):
68270        (WebCore::MoviePrivate::load):
68271        (WebCore::MoviePrivate::play):
68272        (WebCore::MoviePrivate::pause):
68273        (WebCore::MoviePrivate::currentTime):
68274        (WebCore::MoviePrivate::seek):
68275        (WebCore::MoviePrivate::cancelSeek):
68276        (WebCore::MoviePrivate::seeking):
68277        (WebCore::MoviePrivate::naturalSize):
68278        (WebCore::MoviePrivate::setVolume):
68279        (WebCore::MoviePrivate::setMuted):
68280        (WebCore::MoviePrivate::maxTimeBuffered):
68281        (WebCore::MoviePrivate::bytesLoaded):
68282        (WebCore::MoviePrivate::totalBytesKnown):
68283        (WebCore::MoviePrivate::totalBytes):
68284        (WebCore::MoviePrivate::updateStates):
68285        (WebCore::MoviePrivate::didEnd):
68286        (WebCore::MoviePrivate::paint):
68287        (WebCore::MoviePrivate::createGSTPlayBin):
68288        * platform/graphics/gtk/MoviePrivateGStreamer.h:
68289
682902007-12-05  Mark Rowe  <mrowe@apple.com>
68291
68292        Speculative wx build fix.  Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
68293
68294        * platform/wx/TemporaryLinkStubs.cpp:
68295
682962007-12-05  Alp Toker  <alp@atoker.com>
68297
68298        Rubber stamped by Mark Rowe.
68299
68300        Remove DEPENDPATH on the generated sources directory. This causes
68301        trouble and is no longer necessary following the glib-genmarshal
68302        generator split.
68303
68304        * WebCore.pro:
68305
683062007-12-04  Geoffrey Garen  <ggaren@apple.com>
68307
68308        Reviewed by Darin Adler.
68309
68310        Third step in refactoring JSGlobalObject: Moved data members and data
68311        member access from Interpreter to JSGlobalObject. Changed Interpreter
68312        member functions to static functions. Same for the subclass, 
68313        ScriptInterpreter.
68314        
68315        This is a big change, but it's mostly code motion and renaming.
68316        
683172007-12-05  Darin Adler  <darin@apple.com>
68318
68319        "Reviewed" by Geoff.
68320
68321        * loader/FrameLoader.cpp:
68322        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
68323        (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
68324        The assertions are firing like crazy. Not sure why yet.
68325
683262007-12-05  Darin Adler  <darin@apple.com>
68327
68328        Reviewed by Adam Roben.
68329
68330        - fix http://bugs.webkit.org/show_bug.cgi?id=16306
68331          Assertion failed in WebCore/loader/FrameLoader.cpp:4642
68332
68333        * loader/FrameLoader.cpp:
68334        (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
68335        and don't deliver the client call in that case.
68336
683372007-12-05  Mark Rowe  <mrowe@apple.com>
68338
68339        Reviewed by Kevin Decker.
68340
68341        Fix 64-bit debug build.
68342
68343        * platform/text/mac/TextCodecMac.cpp:
68344        (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
68345        so we need to cast it to be able to use a single format specifier on both.
68346
683472007-12-05  Kevin Decker  <kdecker@apple.com>
68348
68349        Reviewed by Hyatt.
68350
68351        <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
68352       
68353        * loader/FrameLoader.cpp:
68354        (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
68355        takeover TIFF once again.
68356        
683572007-12-05  Luca Bruno  <lethalman88@gmail.com>
68358
68359        Reviewed by Alp Toker.
68360
68361        http://bugs.webkit.org/show_bug.cgi?id=16290
68362        [GTK] Pasting clipboard in rich text.
68363
68364        * platform/gtk/PasteboardGtk.cpp:
68365        (Pasteboard::documentFragment): Implement rich text paste support.
68366
683672007-12-05  Adele Peterson  <adele@apple.com>
68368
68369        Reviewed by Hyatt.
68370
68371        Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
68372
68373        We need to just fix the underlying focus ring repaint problem.
68374
68375        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
68376
683772007-12-04  Kevin McCullough  <kmccullough@apple.com>
68378
68379        Reviewed by Darin.
68380
68381        - <rdar://5621435>
68382        - Security Fix. Instead of having it off by default, WebKit now must
68383        explicitly turn off local-resource restriction when needed for backwards
68384        compatibility reasons.
68385
68386        * loader/FrameLoader.cpp:
68387
683882007-12-05  Adam Roben  <aroben@apple.com>
68389
68390        Set the menu item identifier for all menu items
68391
68392        This allows WebKit clients to distinguish between submenus in the
68393        context menu.
68394
68395        Reviewed by Darin.
68396
68397        No test possible.
68398
68399        * platform/win/ContextMenuItemWin.cpp:
68400        (WebCore::ContextMenuItem::ContextMenuItem):
68401
684022007-12-05  Dan Bernstein  <mitz@apple.com>
68403
68404        Reviewed by Darin Adler.
68405
68406        - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
68407
68408        * manual-tests/nested-plug-ins.html: Added.
68409        * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
68410        * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
68411        * platform/ScrollView.h:
68412        * platform/Widget.h:
68413        (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
68414        via visible ScrollViews to the root ScrollView of the WebView.
68415        (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
68416        connected via visible ScrollViews to the root ScrollView of the WebView.
68417        * platform/win/ScrollViewWin.cpp:
68418        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
68419        m_visible and m_attachedToWindow members.
68420        (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
68421        view is visible.
68422        (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
68423        view is visible (otherwise they would be detached already).
68424        (WebCore::ScrollView::show): Added. Attaches all children if this view
68425        is attached.
68426        (WebCore::ScrollView::hide): Added. Detaches all children if this view
68427        is attached (otherwise they would be detached already).
68428        (WebCore::ScrollView::isAttachedToWindow): Added.
68429        * platform/win/WidgetWin.cpp:
68430        (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
68431        depending on whether the parent is set and attached or not.
68432        * plugins/win/PluginViewWin.cpp:
68433        (WebCore::PluginViewWin::setFocus):
68434        (WebCore::PluginViewWin::show): Changed to show the plug-in only if
68435        this view is attached.
68436        (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
68437        view is attached (otherwise it would be hidden already).
68438        (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
68439        is visible.
68440        (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
68441        is visible (otherwise it would be hidden already).
68442        (WebCore::PluginViewWin::PluginViewWin):
68443        * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
68444
684452007-12-04  Alp Toker  <alp@atoker.com>
68446
68447        Potential GTK+ build fix for the glib-genmarshal issue.
68448
68449        Split the glib-genmarshal qmake generator in two; one for the source
68450        file, another for the header.
68451
68452        * WebCore.pro:
68453
684542007-12-04  Alp Toker  <alp@atoker.com>
68455
68456        GTK+ build fix.
68457
68458        * platform/PlugInInfoStore.h:
68459
684602007-12-04  Kevin Decker  <kdecker@apple.com>
68461
68462        Reviewed by Anders.
68463
68464        <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
68465
68466        * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
68467        * platform/PlugInInfoStore.h:
68468        * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
68469        (PlugInInfoStore::pluginNameForMIMEType):
68470        * platform/mac/PlugInInfoStoreMac.mm:
68471        (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
68472        * platform/qt/PlugInInfoStoreQt.cpp: 
68473        (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
68474        * plugins/win/PlugInInfoStoreWin.cpp: 
68475        (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
68476
684772007-12-04  Adele Peterson  <adele@apple.com>
68478
68479        Reviewed by Darin.
68480
68481        Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
68482
68483        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
68484        Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
68485
684862007-12-04  Anders Carlsson  <andersca@apple.com>
68487
68488        Reviewed by Jon.
68489
68490        Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
68491        result streams, even if the JavaScript expression threw an exception or returned undefined.
68492        This matches what Firefox does.
68493        
68494        * plugins/win/PluginStreamWin.cpp:
68495        (WebCore::PluginStreamWin::sendJavaScriptStream):
68496        Handle the result string being null, and set the correct NPReason if it is.
68497        
68498        * plugins/win/PluginViewWin.cpp:
68499        (WebCore::PluginViewWin::performRequest):
68500        Always send the JavaScript stream, regardless of the result could be converted to a string or not.
68501
685022007-12-04  Adele Peterson  <adele@apple.com>
68503
68504        Reviewed by Hyatt.
68505
68506        Fix for <rdar://problem/5622464> controls should show up for audio element
68507
68508        * css/html4.css: Added styles for audio controls.  This will need to be refined, since we may want a different look for audio controls.
68509        * html/HTMLMediaElement.cpp:
68510        (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 
68511        (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
68512        (WebCore::HTMLMediaElement::createRenderer): Added.  Uses RenderMedia.
68513        * html/HTMLMediaElement.h:
68514        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
68515        * rendering/RenderMedia.h:
68516
685172007-12-04  Anders Carlsson  <andersca@apple.com>
68518
68519        Reviewed by Sam.
68520
68521        Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
68522        implementation, which always returns true(!).
68523        
68524        * bindings/js/kjs_window.cpp:
68525        (KJS::Window::isSafeScript):
68526        Make the static isSafeScript method take two JSGlobalObjects.
68527        
68528        * bindings/js/kjs_window.h:
68529        (KJS::Window::isSafeScript):
68530        Implement isSafeScript and have it call the static method.
68531
685322007-11-27  Adam Roben  <aroben@apple.com>
68533
68534        Make the implementation of Frame::setNeedsReapplyStyles cross-platform
68535
68536        Reviewed by Hyatt.
68537
68538        No change in functionality.
68539
68540        * page/Frame.cpp:
68541        (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
68542        FrameView so that FrameView::layout will be called, which ends up
68543        calling reapplyStyles.
68544        (WebCore::Frame::needsReapplyStyles): Added.
68545        (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
68546        (WebCore::FramePrivate::FramePrivate):
68547        * page/Frame.h:
68548        * page/FramePrivate.h: Added new boolean member.
68549        * page/FrameView.cpp:
68550        (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
68551        (WebCore::FrameView::needsLayout): Say that we need layout if the
68552        Frame needs styles reapplied.
68553        * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
68554        * page/mac/WebCoreFrameBridge.mm:
68555        (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
68556        rename.
68557
68558        * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
68559        * page/gtk/FrameGtk.cpp: Ditto.
68560        * page/mac/FrameMac.mm: Ditto.
68561        * page/qt/FrameQt.cpp: Ditto.
68562        * platform/wx/TemporaryLinkStubs.cpp: Ditto.
68563
685642007-12-04  Antti Koivisto  <antti@apple.com>
68565
68566        Reviewed by Adele.
68567
68568        Pass intrinsic size to the base class.
68569
68570        * rendering/RenderMedia.cpp:
68571        (WebCore::RenderMedia::RenderMedia):
68572
685732007-12-04  Adele Peterson  <adele@apple.com>
68574
68575        Reviewed by Darin.
68576
68577        Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
68578
68579        * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
68580          When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
68581
685822007-12-04  Darin Adler  <darin@apple.com>
68583
68584        Reviewed by Kevin Decker.
68585
68586        - added an assertion for a situation that leads to a Safari assertion:
68587          a commit that is not followed by a load completion
68588
68589        - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
68590          class cut down to size
68591
68592        * loader/FrameLoader.cpp:
68593        (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
68594        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
68595        that we already sent a commit before sending a complete.
68596        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
68597        client directly instead of indirecting through a function.
68598        (WebCore::FrameLoader::loadItem): Ditto.
68599        (WebCore::FrameLoader::goToItem): Ditto.
68600        (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
68601        state from Settings instead of FrameLoaderClient. Also call client directly
68602        instead of indirecting through a function.
68603        (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
68604        of indirecting through a function.
68605        (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
68606        that we did not yet send a commit and set the flag that will be used to check
68607        that we don't do this twice in a row without an intervening completion call.
68608
68609        * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
68610        now-unneeded functions.
68611
68612        * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
68613
68614        * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
68615        the private browsing state from Settings instead of FrameLoaderClient.
68616
68617        * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
68618
686192007-12-03  Antti Koivisto  <antti@apple.com>
68620
68621        Reviewed by Adele.
68622        
68623        Fix <rdar://problem/5624802> 
68624        Controller displays outside of <video> element when width and height aren't specified 
68625
68626        - Explicitly adjust size of the controls tree root.
68627        - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
68628          by hand. This also allows better code sharing with other replaced element classes.
68629        - Move duplicated layout and painting code from subclasses up to RenderReplaced.
68630
68631        Test: media/video-controls-rendering.html
68632
68633        * rendering/RenderHTMLCanvas.cpp:
68634        (WebCore::RenderHTMLCanvas::paintReplaced):
68635        * rendering/RenderHTMLCanvas.h:
68636            Share code.
68637        * rendering/RenderImage.cpp:
68638        (WebCore::RenderImage::paintReplaced):
68639        (WebCore::RenderImage::minimumReplacedHeight):
68640        * rendering/RenderImage.h:
68641            Share code.
68642        * rendering/RenderMedia.cpp:
68643        (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
68644        (WebCore::RenderMediaControlShadowRoot::setParent):
68645            Add a subclass just to get through encapsulation to use setParent().
68646        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
68647            Move initialization to the constructor.
68648        (WebCore::RenderMedia::RenderMedia):
68649        (WebCore::RenderMedia::~RenderMedia):
68650        (WebCore::RenderMedia::layout):
68651            Resize and layout the controller root by hand.
68652        (WebCore::RenderMedia::firstChild):
68653        (WebCore::RenderMedia::lastChild):
68654        (WebCore::RenderMedia::removeChild):
68655            Support one child renderer for controls.
68656        (WebCore::RenderMedia::createControlsShadowRoot):
68657        * rendering/RenderMedia.h:
68658        (WebCore::RenderMedia::isMedia):
68659            Switch base class to RenderReplaced, delete the now unnecessary stuff.
68660        * rendering/RenderReplaced.cpp:
68661        (WebCore::RenderReplaced::layout):
68662        (WebCore::RenderReplaced::paint):
68663        * rendering/RenderReplaced.h:
68664        (WebCore::RenderReplaced::minimumReplacedHeight):
68665        (WebCore::RenderReplaced::paintReplaced):
68666            Share code.
68667        * rendering/RenderVideo.cpp:
68668        (WebCore::RenderVideo::videoSizeChanged):
68669            Simplify, just request relayout.
68670        (WebCore::RenderVideo::paintReplaced):
68671        (WebCore::RenderVideo::layout):
68672        * rendering/RenderVideo.h:
68673            Share code.
68674
686752007-12-04  Michael Natterer  <mitch@imendio.com>
68676
68677        Reviewed by Alp Toker.
68678
68679        * WebCore.pro: fix build of webkit-marshal by building the
68680        functions into a separate .cpp file instead of including them in
68681        the header. This way we can use the marshallers from more than one
68682        file without using bad hacks.
68683
68684        Add the generated sources directory to DEPENDPATH.
68685
686862007-12-04  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
68687
68688        Reviewed by Alp Toker.
68689
68690        http://bugs.webkit.org/show_bug.cgi?id=16145
68691        [gtk] Implement media support in GTK backend
68692
68693        This implements the media tags of HTML5 on the GTK+ port based on the 
68694        Mac port. Media tests pass although some tests required a small modifications: 
68695        As per the HTML5 spec, the loading of the clip should start only after 
68696        all script are done.  But in the case of the tests, the loading starts 
68697        before some callbacks get registered.  This has been discussed with 
68698        Antti Koivisto, and the tests should be updated.
68699
68700        There is only one known issue: one time in 10 tries, loading a buffered 
68701        clip will never end buffering.  The buffering will stall at 97% for no 
68702        apparent reasons.  Reloading the page usually works around the problem.
68703        On the GStreamer side, some codecs don't return correct values, therefore
68704        they make the tests fail.  For instance H.264 will make the video-end 
68705        test fail.  This should be fixed in GStreamer 0.10.15.
68706
68707        This version displays video in a pop up window.  A place holder is drawn
68708        on the page where the video should appear.
68709
68710        By default, it is turned off in WebCore.pro until GStreamer/X
68711        detection issues are sorted out.
68712
68713        * WebCore.pro:
68714        Disable video for now
68715        * platform/Logging.cpp:
68716        * platform/Logging.h:
68717        Added a logging level for Media stuff
68718        * platform/graphics/Movie.cpp:
68719        * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
68720        (WebCore::moviePrivateErrorCallback):
68721        (WebCore::moviePrivateEOSCallback):
68722        (WebCore::moviePrivateStateCallback):
68723        (WebCore::moviePrivateBufferingCallback):
68724        (WebCore::moviePrivateWindowIDCallback):
68725        (WebCore::MoviePrivate::MoviePrivate):
68726        (WebCore::MoviePrivate::~MoviePrivate):
68727        (WebCore::MoviePrivate::load):
68728        (WebCore::MoviePrivate::play):
68729        (WebCore::MoviePrivate::pause):
68730        (WebCore::MoviePrivate::duration):
68731        (WebCore::MoviePrivate::currentTime):
68732        (WebCore::MoviePrivate::seek):
68733        (WebCore::MoviePrivate::setEndTime):
68734        (WebCore::MoviePrivate::addCuePoint):
68735        (WebCore::MoviePrivate::removeCuePoint):
68736        (WebCore::MoviePrivate::clearCuePoints):
68737        (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
68738        (WebCore::MoviePrivate::cancelSeek):
68739        (WebCore::MoviePrivate::cuePointTimerFired):
68740        (WebCore::MoviePrivate::paused):
68741        (WebCore::MoviePrivate::seeking):
68742        (WebCore::MoviePrivate::naturalSize):
68743        (WebCore::MoviePrivate::hasVideo):
68744        (WebCore::MoviePrivate::setVolume):
68745        (WebCore::MoviePrivate::setMuted):
68746        (WebCore::MoviePrivate::setRate):
68747        (WebCore::MoviePrivate::dataRate):
68748        (WebCore::MoviePrivate::networkState):
68749        (WebCore::MoviePrivate::readyState):
68750        (WebCore::MoviePrivate::maxTimeBuffered):
68751        (WebCore::MoviePrivate::maxTimeSeekable):
68752        (WebCore::MoviePrivate::maxTimeLoaded):
68753        (WebCore::MoviePrivate::bytesLoaded):
68754        (WebCore::MoviePrivate::totalBytesKnown):
68755        (WebCore::MoviePrivate::totalBytes):
68756        (WebCore::MoviePrivate::cancelLoad):
68757        (WebCore::MoviePrivate::updateStates):
68758        (WebCore::MoviePrivate::loadStateChanged):
68759        (WebCore::MoviePrivate::rateChanged):
68760        (WebCore::MoviePrivate::sizeChanged):
68761        (WebCore::MoviePrivate::timeChanged):
68762        (WebCore::MoviePrivate::volumeChanged):
68763        (WebCore::MoviePrivate::didEnd):
68764        (WebCore::MoviePrivate::loadingFailed):
68765        (WebCore::MoviePrivate::setRect):
68766        (WebCore::MoviePrivate::setVisible):
68767        (WebCore::MoviePrivate::paint):
68768        (WebCore::MoviePrivate::getSupportedTypes):
68769        (WebCore::MoviePrivate::createGSTPlayBin):
68770        * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
68771
687722007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
68773
68774        Reviewed by Simon.
68775
68776        * Implement the InspectorClient for the Qt port
68777        * It does not support highlighting of nodes yet
68778        * Use QRC to open the internal page. The important thing is the
68779        '/' in the URL to make WebCore::Document::completeURL behave the
68780        way we want.
68781        * To make the InspectorClient work we will have to mark qrc as secure.
68782
68783        * WebCore.pro:
68784        * loader/FrameLoader.cpp:
68785        (WebCore::localSchemes):
68786        * page/inspector/WebKit.qrc: Added.
68787
687882007-12-04  Alp Toker  <alp@atoker.com>
68789
68790        Rubber stamped by Mark Rowe.
68791
68792        Remove two unused variables to silence warnings.
68793
68794        * html/CanvasRenderingContext2D.cpp:
68795        (WebCore::CanvasRenderingContext2D::fill):
68796        (WebCore::CanvasRenderingContext2D::stroke):
68797
687982007-12-03  Dan Bernstein  <mitz@apple.com>
68799
68800        Reviewed by Darin Adler.
68801
68802        - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
68803
68804        * platform/win/ScrollViewWin.cpp:
68805        (WebCore::ScrollView::visibleWidth): Do not return negative values.
68806        (WebCore::ScrollView::visibleHeight): Ditto.
68807
688082007-12-03  Dan Bernstein  <mitz@apple.com>
68809
68810        Reviewed by Dave Hyatt.
68811
68812        - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
68813
68814        Test: fast/events/resize-subframe.html
68815
68816        * page/FrameView.cpp:
68817        (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
68818        deferring tasks that need to be done after layout.
68819        (WebCore::FrameViewPrivate::reset):
68820        (WebCore::FrameView::~FrameView):
68821        (WebCore::FrameView::layout): Moved the updating of widget positions,
68822        loading plug-ins and sending events queued up during layout into
68823        performPostLayoutTasks(). performPostLayoutTasks() is called after
68824        layout unless the layout was triggered by a previous layout's post-
68825        layout tasks. In the latter case, performPostLayoutTasks() is scheduled
68826        to run later.
68827        (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
68828        to be done after layout but which can result in arbitrary code
68829        execution and therefore may re-invalidate the layout. This includes
68830        updating widget positions, loading plug-ins, and dispatching layout-
68831        related DOM events (scroll, overflow and resize).
68832        (WebCore::FrameView::postLayoutTimerFired):
68833        (WebCore::FrameView::dispatchScheduledEvents):
68834        * page/FrameView.h:
68835        * page/mac/WebCoreFrameBridge.h:
68836        * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
68837        is handled by FrameView now.
68838
688392007-12-03  Rob Buis  <buis@kde.org>
68840
68841        Reviewed by Darin.
68842
68843        http://bugs.webkit.org/show_bug.cgi?id=15767
68844        Text decorations do not respect "visibility" property
68845
68846        Only paint decorations if visibility is "visible".
68847
68848        * rendering/SVGInlineTextBox.cpp:
68849        (WebCore::SVGInlineTextBox::paintDecoration):
68850
688512007-12-03  Steve Falkenburg  <sfalken@apple.com>
68852
68853        Fix build.
68854
68855        * WebCore.vcproj/WebCore.vcproj:
68856
688572007-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
68858
68859        Reviewed by David.
68860
68861        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
68862        Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
68863
68864        * css/CSSStyleSelector.cpp:
68865        (WebCore::CSSStyleSelector::checkSelector):
68866
688672007-12-03  Dan Bernstein  <mitz@apple.com>
68868
68869        Reviewed by Adam Roben.
68870
68871        - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
68872
68873        Test: fast/dom/Document/replaceChild-null-oldChild.html
68874
68875        * dom/Document.cpp:
68876        (WebCore::Document::canReplaceChild):
68877
688782007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68879
68880        Reviewed by Simon.
68881
68882        * Avoid crashes by making sure everything is layouted before
68883        we start painting. This avoids a crash in Widget::invalidateRect
68884        because QPainter::begin would fail
68885        * The QWebFrame::layout() methods and calls are left untouched because
68886        this would be an API decision.
68887        
68888
68889        WARNING: NO TEST CASES ADDED OR CHANGED
68890
68891        * page/FrameView.cpp:
68892        (WebCore::FrameView::updateControlTints):
68893        * page/FrameView.h:
68894        * platform/ScrollView.h:
68895        * platform/qt/ScrollViewQt.cpp:
68896        (WebCore::ScrollView::children):
68897
688982007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68899
68900        Reviewed by Simon.
68901
68902        * Implement GraphicsContext::fillRoundedRect similiar to the
68903        CoreGraphics implementation only addPath is not called this
68904        seems to be only needed for CoreGraphics.
68905        
68906
68907        WARNING: NO TEST CASES ADDED OR CHANGED
68908
68909        * platform/graphics/qt/GraphicsContextQt.cpp:
68910        (WebCore::GraphicsContext::fillRoundedRect):
68911
689122007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68913
68914        Reviewed by Simon.
68915
68916        * Coding Style fixes
68917        
68918
68919        WARNING: NO TEST CASES ADDED OR CHANGED
68920
68921        * platform/qt/ScrollViewQt.cpp:
68922        (WebCore::ScrollView::addChild):
68923        (WebCore::ScrollView::removeChild):
68924
689252007-12-03  Alp Toker  <alp@atoker.com>
68926
68927        Reviewed by Mark Rowe.
68928
68929        Don't delete the decoder if it's already been created. The one we have
68930        is fine.
68931
68932        Cairo image cleanups. Nothing substantial.
68933
68934        Notify ImageObservers where appropriate.
68935
68936        * platform/graphics/cairo/ImageCairo.cpp:
68937        (WebCore::BitmapImage::draw):
68938        (WebCore::Image::drawPattern):
68939        * platform/graphics/cairo/ImageSourceCairo.cpp:
68940        (WebCore::ImageSource::setData):
68941        * platform/graphics/gtk/ImageGtk.cpp:
68942
689432007-12-03  Simon Hausmann  <hausmann@webkit.org>
68944
68945        Reviewed by Lars.
68946
68947        Fixed crash when rendering form elements with Qt 4.4
68948
68949        QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
68950        help of QPaintDevice::devType().
68951        Also fall back to the QApplication::style() if we don't have a widget.
68952
68953        * platform/qt/RenderThemeQt.cpp:
68954        (WebCore::RenderThemeQt::paintButton):
68955        (WebCore::RenderThemeQt::paintTextField):
68956        (WebCore::RenderThemeQt::paintMenuList):
68957        (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
68958
689592007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68960
68961        Reviewed by Sam Weinig.
68962
68963        * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
68964        shouldTreatURLAsLocal.
68965        * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
68966        and do not hardcode "file". This is needed for the WebKit/qt port to make
68967        the Web Inspector work as it using the qrc protocol instead of file.
68968
68969
68970        * loader/FrameLoader.cpp:
68971        (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
68972        * loader/FrameLoader.h:
68973        * platform/SecurityOrigin.cpp:
68974        (WebCore::SecurityOrigin::isSecureTransitionTo):
68975
689762007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68977
68978        Rubber stamped by Sam Weinig.
68979
68980        Only add applewebdata to the localSchemes when building for the
68981        mac. This is in preparation of adding qrc for the Qt port there
68982        as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
68983
68984        According to Anders applewebdata is not used on the win port.
68985
68986        * loader/FrameLoader.cpp:
68987        (WebCore::localSchemes):
68988
689892007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
68990
68991        Rubber stamped by Sam Weinig.
68992
68993        Fix a typo. It is contains and not containts
68994
68995        * loader/FrameLoader.cpp:
68996
689972007-12-03  Alp Toker  <alp@atoker.com>
68998
68999        Add another missing DEPENDPATH.
69000
69001        Noticed when fixing the build.
69002
69003        * WebCore.pro:
69004
690052007-12-03  Adam Roben  <aroben@apple.com>
69006
69007        Speculative Windows build fix
69008
69009        * plugins/win/PluginViewWin.cpp:
69010        (WebCore::getString):
69011
690122007-12-03  Geoffrey Garen  <ggaren@apple.com>
69013
69014        Build fix: added symbols to the right .exp file.
69015
69016        * WebCore.base.exp:
69017
690182007-12-02  Geoffrey Garen  <ggaren@apple.com>
69019
69020        Reviewed by Eric Seidel.
69021
69022        Updated to match the JavaScriptCore change to move virtual methods from
69023        Interpreter to JSGlobalObject.
69024        
69025        Moved virtual ScriptInterpreter functions to Window.
69026
690272007-12-02  Darin Adler  <darin@apple.com>
69028
69029        Reviewed by Mitz.
69030
69031        - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
69032
69033        There were two problems here:
69034
69035            1) Incorrect HTMLCollection behavior led to us trying to insert a
69036               new row inside an existing row instead of next to it. The fix for
69037               this is to make HTMLCollection work better for table-related
69038               collections.
69039
69040            2) HTMLTableRowElement::insertCell would return a bad pointer if
69041               the insertion failed. The code should have failed, but not crashed,
69042               so it's worth fixing that too.
69043
69044        While fixing the HTMLCollection issues, I did some clean-up of that
69045        class and its derived classes.
69046
69047        Test: fast/dom/HTMLTableElement/rows.html
69048        Test: fast/dom/HTMLTableElement/tBodies.html
69049        Test: fast/dom/HTMLTableRowElement/cells.html
69050        Test: fast/dom/HTMLTableRowElement/insertCell.html
69051        Test: fast/dom/HTMLTableSectionElement/rows.html
69052
69053        * bindings/js/JSHTMLCollectionCustom.cpp:
69054        (WebCore::toJS): Updated because collectionType() was renamed to type().
69055
69056        * html/HTMLCollection.cpp:
69057        (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
69058        changes. Also added a protected constructor for use by derived classes
69059        that pass in a CollectionInfo.
69060        (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
69061        the header.
69062        (WebCore::isTableSection): Added.
69063        (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
69064        because the old name was grammatically incorrect and thus a bit confusing.
69065        Changed to operate on Element* instead of Node*, and use 0 to start
69066        rather than passing in the base node (required since the base node can be
69067        a document, which is not an element). Generalized the code that made
69068        NodeChildren not descend into deeper descendants so it can be used for
69069        TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
69070        switch statement and got rid of the "found" boolean since we can just
69071        return when we find something. Got rid of the default case, and instead
69072        listed all the enum values. Also changed to use a for loop for clarity.
69073        (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
69074        (WebCore::HTMLCollection::item): Ditto.
69075        (WebCore::HTMLCollection::nextItem): Ditto.
69076        (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
69077        instead of a Node pointer.
69078        (WebCore::HTMLCollection::namedItem): More of the same.
69079        (WebCore::HTMLCollection::updateNameCache): Ditto.
69080        (WebCore::HTMLCollection::namedItems): Ditto.
69081        (WebCore::HTMLCollection::nextNamedItem): Ditto.
69082        (WebCore::HTMLCollection::tags): Ditto.
69083
69084        * html/HTMLCollection.h: Added a type FormElements, so that the
69085        HTMLFormCollection would not have a type of DocImages, which is what
69086        it previously did. Changed the base parameter to be a PassRefPtr to
69087        make it clear we take ownership of it. Added a comment explaining
69088        why we should change the name CollectionInfo. Made a lot more members
69089        private instead of protected. Renamed traverseNextItem to itemAfter.
69090        Changed most functions to take Element* instead of Node*.
69091
69092        * html/HTMLFormCollection.cpp:
69093        (WebCore::HTMLFormCollection::formCollectionInfo): Added.
69094        (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
69095        collection info into the base class.
69096        (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
69097        don't need to get at m_base directly.
69098        (WebCore::HTMLFormCollection::item): Same, but for info().
69099        (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
69100        argument.
69101        (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
69102        checks that the base is still an element and still a form, since that's
69103        guaranteed.
69104        (WebCore::HTMLFormCollection::nextItem): Use info().
69105        (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
69106        Element, some name changes.
69107        (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
69108        (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
69109        to be much simpler.
69110        (WebCore::HTMLFormCollection::updateNameCache): More of the same.
69111
69112        * html/HTMLFormCollection.h: Changed constructor to take an
69113        HTMLFormElement, using a PassRefPtr to communicate transfer of
69114        ownership. Made everything private instead of protected. Removed
69115        unneeded override of firstItem. Made getNamedItem and
69116        nextNamedItemInternal non-virtual. Removed unused first argument of
69117        getNamedItem. Added declaration of formCollectionInfo.
69118
69119        * html/HTMLNameCollection.cpp:
69120        (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
69121        collection info into the base class.
69122        (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
69123        changed into a for loop.
69124
69125        * html/HTMLNameCollection.h: Updated for name changes. Made function
69126        private instead of public. Used PassRefPtr in constructor.
69127
69128        * html/HTMLOptionsCollection.cpp:
69129        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
69130        pass collection info into the base class.
69131        (WebCore::HTMLOptionsCollection::add): Updated for public/private
69132        changes in the base class.
69133        (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
69134        (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
69135        (WebCore::HTMLOptionsCollection::setLength): Ditto.
69136
69137        * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
69138        PassRefPtr.
69139
69140        * html/HTMLTableRowElement.cpp:
69141        (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
69142        and PassRefPtr since this creates a new object. This alone fixed the
69143        crash. Also cleaned up logic a bit to be more readable.
69144
69145        * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
69146        Also reordered functions a bit to make things a little more logical and
69147        removed the unused ncols data member.
69148
69149        * html/HTMLTableSectionElement.cpp:
69150        (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
69151        TableRows. This mistake was harmless before because TableRows and
69152        TSectionRows were handled identically inside HTMLCollection, but that is
69153        no longer the case with this fix.
69154
69155        * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
69156        fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
69157        I don't think this really should be a special case -- might be worth
69158        returning later to see if this can be optimized.
69159
691602007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
69161
69162        Reviewed by Adam.
69163
69164        RenderSVGViewportContainer sets wrong width/height.
69165        Share code with RenderSVGContainer in a central calcBounds() function.
69166
69167        Fixes:
69168        - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
69169        - svg/custom/deep-dynamic-updates.svg
69170        - svg/custom/use-clipped-hit.svg
69171        - svg/custom/image-clipped-hit.svg
69172
69173        * rendering/RenderSVGContainer.cpp:
69174        (WebCore::RenderSVGContainer::layout):
69175        (WebCore::RenderSVGContainer::calcBounds):
69176        * rendering/RenderSVGContainer.h:
69177        * rendering/RenderSVGViewportContainer.cpp:
69178        (WebCore::RenderSVGViewportContainer::layout):
69179
691802007-12-02  Brady Eidson <beidson@apple.com>
69181
69182        Reviewed by Darin
69183
69184        databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
69185        like all other notifications we send out!
69186
69187        * platform/SecurityOriginData.cpp:
69188        (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
69189        * platform/SecurityOriginData.h:
69190
69191        * storage/DatabaseTracker.cpp:
69192        (WebCore::notificationMutex):
69193        (WebCore::notificationQueue):
69194        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
69195        (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
69196          on the main thread
69197        (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
69198        * storage/DatabaseTracker.h:
69199
69200        * storage/SQLTransaction.cpp:
69201        (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
69202        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
69203
692042007-12-02  Rob Buis  <buis@kde.org>
69205
69206        Reviewed by Darin.
69207
69208        http://bugs.webkit.org/show_bug.cgi?id=16002
69209        Load SVG (and other) UA StyleSheets dynamically when needed
69210
69211        Load svg sheet when needed.
69212
69213        * css/CSSStyleSelector.cpp:
69214        (WebCore::screenEval):
69215        (WebCore::printEval):
69216        (WebCore::CSSStyleSelector::CSSStyleSelector):
69217        (WebCore::CSSStyleSelector::loadDefaultStyle):
69218        (WebCore::CSSStyleSelector::styleForElement):
69219        (WebCore::CSSRuleSet::addRulesFromSheet):
69220
692212007-12-02  Mark Rowe  <mrowe@apple.com>
69222
69223        Try and fix the Windows build.
69224
69225        * plugins/win/PluginViewWin.cpp:
69226        (WebCore::PluginViewWin::bindingInstance):
69227
692282007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
69229
69230        Rubber stamped by Eric.
69231
69232        Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
69233        Updated all project files.
69234
69235        * WebCore.pro:
69236        * WebCore.vcproj/WebCore.vcproj:
69237        * WebCore.xcodeproj/project.pbxproj:
69238        * platform/graphics/svg: Removed.
69239        * platform/graphics/svg/SVGImage.cpp: Removed.
69240        * platform/graphics/svg/SVGImage.h: Removed.
69241        * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
69242        * platform/graphics/svg/SVGPaintServer.cpp: Removed.
69243        * platform/graphics/svg/SVGPaintServer.h: Removed.
69244        * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
69245        * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
69246        * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
69247        * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
69248        * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
69249        * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
69250        * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
69251        * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
69252        * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
69253        * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
69254        * platform/graphics/svg/SVGResource.cpp: Removed.
69255        * platform/graphics/svg/SVGResource.h: Removed.
69256        * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
69257        * platform/graphics/svg/SVGResourceClipper.h: Removed.
69258        * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
69259        * platform/graphics/svg/SVGResourceFilter.h: Removed.
69260        * platform/graphics/svg/SVGResourceListener.h: Removed.
69261        * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
69262        * platform/graphics/svg/SVGResourceMarker.h: Removed.
69263        * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
69264        * platform/graphics/svg/SVGResourceMasker.h: Removed.
69265        * platform/graphics/svg/cairo: Removed.
69266        * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
69267        * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
69268        * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
69269        * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
69270        * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
69271        * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
69272        * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
69273        * platform/graphics/svg/cg: Removed.
69274        * platform/graphics/svg/cg/CgSupport.cpp: Removed.
69275        * platform/graphics/svg/cg/CgSupport.h: Removed.
69276        * platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
69277        * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
69278        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
69279        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
69280        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
69281        * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
69282        * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
69283        * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
69284        * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
69285        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
69286        * platform/graphics/svg/filters: Removed.
69287        * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
69288        * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
69289        * platform/graphics/svg/filters/SVGFEBlend.h: Removed.
69290        * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
69291        * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
69292        * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
69293        * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
69294        * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
69295        * platform/graphics/svg/filters/SVGFEComposite.h: Removed.
69296        * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
69297        * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
69298        * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
69299        * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
69300        * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
69301        * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
69302        * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
69303        * platform/graphics/svg/filters/SVGFEFlood.h: Removed.
69304        * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
69305        * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
69306        * platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
69307        * platform/graphics/svg/filters/SVGFEImage.h: Removed.
69308        * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
69309        * platform/graphics/svg/filters/SVGFEMerge.h: Removed.
69310        * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
69311        * platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
69312        * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
69313        * platform/graphics/svg/filters/SVGFEOffset.h: Removed.
69314        * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
69315        * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
69316        * platform/graphics/svg/filters/SVGFETile.h: Removed.
69317        * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
69318        * platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
69319        * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
69320        * platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
69321        * platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
69322        * platform/graphics/svg/filters/SVGLightSource.h: Removed.
69323        * platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
69324        * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
69325        * platform/graphics/svg/filters/cg: Removed.
69326        * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
69327        * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
69328        * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
69329        * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
69330        * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
69331        * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
69332        * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
69333        * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
69334        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
69335        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
69336        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
69337        * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
69338        * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
69339        * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
69340        * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
69341        * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
69342        * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
69343        * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
69344        * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
69345        * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
69346        * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
69347        * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
69348        * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
69349        * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
69350        * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
69351        * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
69352        * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
69353        * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
69354        * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
69355        * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
69356        * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
69357        * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
69358        * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
69359        * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
69360        * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
69361        * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
69362        * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
69363        * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
69364        * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
69365        * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
69366        * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
69367        * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
69368        * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
69369        * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
69370        * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
69371        * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
69372        * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
69373        * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
69374        * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
69375        * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
69376        * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
69377        * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
69378        * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
69379        * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
69380        * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
69381        * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
69382        * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
69383        * platform/graphics/svg/mac: Removed.
69384        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
69385        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
69386        * platform/graphics/svg/qt: Removed.
69387        * platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
69388        * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
69389        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
69390        * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
69391        * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
69392        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
69393        * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
69394        * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
69395        * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
69396        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
69397        * svg/graphics: Copied from platform/graphics/svg.
69398
693992007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
69400
69401        Reviewed by Maciej.
69402
69403        Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
69404        When entering subdirectories the 'thisDir' variable got altered - see snippet:
69405
69406        THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
69407        ..
69408        -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
69409        ...
69410        <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
69411        THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
69412
69413        'History.cpp' is located in WebCore/page not WebCore/page/gtk.
69414
69415        * bindings/scripts/CodeGenerator.pm:
69416
694172007-12-01  Alp Toker  <alp@atoker.com>
69418
69419        Reviewed by Adam Roben.
69420
69421        Add the newly introduced webkit.h convenience header.
69422
69423        * WebCore.pro:
69424
694252007-12-01  Antti Koivisto  <antti@apple.com>
69426
69427        Reviewed by Adam.
69428        
69429        - Fix crash when removing a loading media element from the tree.
69430        - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
69431
69432        Tests: http/tests/media/remove-while-loading.html
69433               media/remove-from-document.html
69434
69435        * html/HTMLMediaElement.cpp:
69436        (WebCore::HTMLMediaElement::removedFromDocument):
69437
694382007-12-01  Geoffrey Garen  <ggaren@apple.com>
69439
69440        Reviewed by Beth Dakin.
69441
69442        Restored the test string in this test.
69443
69444        * manual-tests/window-open-features-parsing.html:
69445
694462007-11-30  Geoffrey Garen  <ggaren@apple.com>
69447
69448        Reviewed by Beth Dakin.
69449        
69450        Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
69451        rules in JavaScriptCore.
69452
69453        * bindings/js/kjs_binding.cpp:
69454        * bindings/js/kjs_binding.h: Removed stale, unused 
69455        interpreterForGlobalObject().
69456
69457        * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
69458        than an interpreter.
69459        (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 
69460        m_globalObject here because we no longer unnecessarily instantiate it.
69461
69462        * bindings/js/kjs_window.cpp:
69463        (KJS::ScheduledAction::execute):
69464        * bindings/js/kjs_window.h: Removed redundant and less efficient 
69465        interpreter() function -- global objects have direct access to their
69466        interpreters now.
69467
69468        Changed these functions to pass around JSGlobalObjects instead of 
69469        Interpreters:
69470
69471        * page/Frame.cpp:
69472        (WebCore::Frame::bindingRootObject):
69473        (WebCore::Frame::createRootObject):
69474        * page/Frame.h:
69475        * page/mac/WebCoreFrameBridge.mm:
69476        (createRootObject):
69477
694782007-12-01  Darin Adler  <darin@apple.com>
69479
69480        Reviewed by Mitz.
69481
69482        - fix problem tracked by these bugs:
69483          http://bugs.webkit.org/show_bug.cgi?id=16097
69484          <rdar://problem/5619305> Safari crashes during load of LexisNexis search results
69485          <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
69486          WebCore::DocumentLoader::isLoadingMultipartContent const
69487
69488        * loader/ImageDocument.cpp:
69489        (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
69490        instead of an HTMLImageElement.
69491        (WebCore::ImageDocument::scale): Added a null check for m_imageElement.
69492        (WebCore::ImageDocument::resizeImageToFit): Ditto.
69493        (WebCore::ImageDocument::restoreImageSize): Ditto.
69494        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
69495        (WebCore::ImageDocument::windowSizeChanged): Ditto.
69496        (WebCore::ImageDocumentElement::~ImageDocumentElement): Call
69497        disconnectImageElement so m_imageElement will be set to 0
69498         if we're still connected to the document.
69499        (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
69500
69501        * loader/ImageDocument.h: Changed image element type to be
69502        ImageDocumentElement instead of HTMLImageElement. Also added
69503        a disconnectImageElement function that sets m_imageElement to 0.
69504
695052007-12-01  Darin Adler  <darin@apple.com>
69506
69507        - remove the empty directories
69508
69509        * ksvg2: Removed.
69510        * ksvg2/css: Removed.
69511        * ksvg2/events: Removed.
69512        * ksvg2/misc: Removed.
69513        * ksvg2/scripts: Removed.
69514
695152007-12-01  Julien Chaffraix  <julien.chaffraix@gmail.com>
69516
69517        Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
69518
69519        Reviewed by Darin Adler.
69520
69521        * xml/XMLHttpRequest.cpp:
69522        (WebCore::canSetRequestHeader):
69523
69524        Test: http/tests/xmlhttprequest/set-dangerous-headers.html
69525
695262007-12-01  Rahul Abrol  <ra5ul@comcast.net>
69527
69528        Reviewed by Adam Roben.
69529
69530        http://bugs.webkit.org/show_bug.cgi?id=16128
69531        Ignore resizable=no for window.open().
69532
69533        * bindings/js/kjs_window.cpp:
69534        (KJS::setWindowFeature):
69535        (KJS::parseWindowFeatures):
69536        * manual-tests/window-open-features-parsing.html:
69537
695382007-12-01  Dan Bernstein  <mitz@apple.com>
69539
69540        Reviewed by Darin Adler.
69541
69542        - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
69543
69544        Test: fast/dynamic/subtree-common-root.html
69545
69546        * page/FrameView.cpp:
69547        (WebCore::FrameView::layoutRoot): Added a parameter to let this method
69548        return the layout root for a pending layout as well.
69549        (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root
69550        to markContainingBlocksForLayout(). Otherwise,
69551        markContainingBlocksForLayout() could mark past the new root, if it had
69552        previously been marked as having a normal child needing layout and then
69553        was reached via a positioned child.
69554        * page/FrameView.h:
69555        * rendering/RenderBox.cpp:
69556        (WebCore::RenderBox::calcWidth):
69557        * rendering/RenderObject.cpp:
69558        (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that
69559        it would really catch deletion of the layout root.
69560        (WebCore::RenderObject::markContainingBlocksForLayout): Added the
69561        newRoot parameter, which tells this method where to stop marking.
69562        * rendering/RenderObject.h:
69563
695642007-12-01  Dan Bernstein  <mitz@apple.com>
69565
69566        Reviewed by Darin Adler.
69567
69568        - fold FontStyle into TextRun
69569
69570        * WebCore.xcodeproj/project.pbxproj:
69571        * platform/graphics/Font.cpp:
69572        (WebCore::WidthIterator::WidthIterator):
69573        (WebCore::WidthIterator::advance):
69574        (WebCore::Font::width):
69575        (WebCore::Font::drawSimpleText):
69576        (WebCore::Font::drawGlyphBuffer):
69577        (WebCore::Font::drawText):
69578        (WebCore::Font::floatWidth):
69579        (WebCore::Font::floatWidthForSimpleText):
69580        (WebCore::Font::selectionRectForText):
69581        (WebCore::Font::selectionRectForSimpleText):
69582        (WebCore::Font::offsetForPosition):
69583        (WebCore::Font::offsetForPositionForSimpleText):
69584        * platform/graphics/Font.h:
69585        (WebCore::TextRun::TextRun):
69586        (WebCore::TextRun::setText):
69587        (WebCore::TextRun::allowTabs):
69588        (WebCore::TextRun::xPos):
69589        (WebCore::TextRun::padding):
69590        (WebCore::TextRun::rtl):
69591        (WebCore::TextRun::ltr):
69592        (WebCore::TextRun::directionalOverride):
69593        (WebCore::TextRun::applyRunRounding):
69594        (WebCore::TextRun::applyWordRounding):
69595        (WebCore::TextRun::spacingDisabled):
69596        (WebCore::TextRun::disableSpacing):
69597        (WebCore::TextRun::disableRoundingHacks):
69598        (WebCore::TextRun::setRTL):
69599        (WebCore::TextRun::setDirectionalOverride):
69600        * platform/graphics/FontStyle.h: Removed.
69601        * platform/graphics/GraphicsContext.cpp:
69602        (WebCore::GraphicsContext::drawText):
69603        (WebCore::GraphicsContext::drawBidiText):
69604        (WebCore::GraphicsContext::drawHighlightForText):
69605        * platform/graphics/GraphicsContext.h:
69606        * platform/graphics/StringTruncator.cpp:
69607        (WebCore::stringWidth):
69608        * platform/graphics/gtk/FontGtk.cpp:
69609        (WebCore::Font::drawComplexText):
69610        (WebCore::Font::floatWidthForComplexText):
69611        (WebCore::Font::offsetForPositionForComplexText):
69612        (WebCore::Font::selectionRectForComplexText):
69613        * platform/graphics/mac/FontMac.mm:
69614        (WebCore::ATSULayoutParameters::ATSULayoutParameters):
69615        (WebCore::addDirectionalOverride):
69616        (WebCore::overrideLayoutOperation):
69617        (WebCore::ATSULayoutParameters::initialize):
69618        (WebCore::Font::selectionRectForComplexText):
69619        (WebCore::Font::drawComplexText):
69620        (WebCore::Font::floatWidthForComplexText):
69621        (WebCore::Font::offsetForPositionForComplexText):
69622        * platform/graphics/qt/FontQt.cpp:
69623        (WebCore::generateComponents):
69624        (WebCore::Font::drawText):
69625        (WebCore::Font::width):
69626        (WebCore::Font::offsetForPosition):
69627        (WebCore::cursorToX):
69628        (WebCore::Font::selectionRectForText):
69629        * platform/graphics/win/FontWin.cpp:
69630        (WebCore::Font::selectionRectForComplexText):
69631        (WebCore::Font::drawComplexText):
69632        (WebCore::Font::floatWidthForComplexText):
69633        (WebCore::Font::offsetForPositionForComplexText):
69634        * platform/graphics/wx/FontWx.cpp:
69635        (WebCore::Font::selectionRectForComplexText):
69636        (WebCore::Font::drawComplexText):
69637        (WebCore::Font::floatWidthForComplexText):
69638        (WebCore::Font::offsetForPositionForComplexText):
69639        * platform/mac/WebCoreTextRenderer.mm:
69640        (WebCoreDrawTextAtPoint):
69641        (WebCoreTextFloatWidth):
69642        * platform/win/PopupMenuWin.cpp:
69643        (WebCore::PopupMenu::paint):
69644        * platform/win/UniscribeController.cpp:
69645        (WebCore::UniscribeController::UniscribeController):
69646        (WebCore::UniscribeController::offsetForPosition):
69647        (WebCore::UniscribeController::advance):
69648        (WebCore::UniscribeController::itemizeShapeAndPlace):
69649        (WebCore::UniscribeController::resetControlAndState):
69650        (WebCore::UniscribeController::shapeAndPlaceItem):
69651        * platform/win/UniscribeController.h:
69652        * platform/win/WebCoreTextRenderer.cpp:
69653        (WebCore::doDrawTextAtPoint):
69654        * rendering/EllipsisBox.cpp:
69655        (WebCore::EllipsisBox::paint):
69656        * rendering/InlineTextBox.cpp:
69657        (WebCore::InlineTextBox::selectionRect):
69658        (WebCore::InlineTextBox::paint):
69659        (WebCore::InlineTextBox::paintSelection):
69660        (WebCore::InlineTextBox::paintCompositionBackground):
69661        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
69662        (WebCore::InlineTextBox::paintTextMatchMarker):
69663        (WebCore::InlineTextBox::offsetForPosition):
69664        (WebCore::InlineTextBox::positionForOffset):
69665        * rendering/RenderFileUploadControl.cpp:
69666        (WebCore::RenderFileUploadControl::paintObject):
69667        (WebCore::RenderFileUploadControl::calcPrefWidths):
69668        * rendering/RenderImage.cpp:
69669        * rendering/RenderListBox.cpp:
69670        (WebCore::RenderListBox::updateFromElement):
69671        (WebCore::RenderListBox::paintItemForeground):
69672        * rendering/RenderMenuList.cpp:
69673        (WebCore::RenderMenuList::updateOptionsWidth):
69674        * rendering/RenderText.cpp:
69675        (WebCore::RenderText::widthFromCache):
69676        (WebCore::RenderText::calcPrefWidths):
69677        (WebCore::RenderText::width):
69678        * rendering/RenderText.h:
69679        (WebCore::RenderText::allowTabs):
69680        * rendering/RenderTextControl.cpp:
69681        (WebCore::RenderTextControl::calcPrefWidths):
69682        * rendering/SVGInlineTextBox.cpp:
69683        (WebCore::SVGInlineTextBox::calculateGlyphWidth):
69684        (WebCore::SVGInlineTextBox::paintCharacters):
69685        (WebCore::SVGInlineTextBox::paintSelection):
69686        * rendering/SVGRootInlineBox.cpp:
69687        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
69688        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
69689        (WebCore::svgTextRunForInlineTextBox):
69690        * rendering/SVGRootInlineBox.h:
69691
696922007-12-01  Adam Treat  <treat@kde.org>
69693
69694        Reviewed by Simon.
69695
69696        * Don't hide symbols when in Debug mode
69697        * On Linux (glibc) provide a backtrace in the test output for debugging purposes
69698
69699        * WebCore.pro:
69700
697012007-11-30  Alp Toker  <alp@atoker.com>
69702
69703        Reviewed by Adam Roben.
69704
69705        http://bugs.webkit.org/show_bug.cgi?id=15691
69706        [GTK] Public API does not follow GTK+ conventions
69707
69708        Refactor the WebKit/GTK+ public API. Changes:
69709          WebKitPage -> WebKitWebView
69710          WebKitFrame -> WebKitWebFrame
69711
69712        Public API source and header names have been updated to mirror the API
69713        changes.
69714
69715        The API is now kept in WebKit/gtk/WebView to match other ports in the
69716        same class such as Mac and Win.
69717
69718        * WebCore.pro:
69719
697202007-11-30   Anders Carlsson  <andersca@apple.com>
69721
69722        Add platform/text project group.
69723        
69724        * WebCore.vcproj/WebCore.vcproj:
69725
697262007-11-30   Anders Carlsson  <andersca@apple.com>
69727
69728        Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
69729        
69730        * WebCore.vcproj/WebCore.vcproj:
69731
697322007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
69733
69734        Not reviewed. Try to fix qt/gtk build.
69735
69736        * WebCore.pro:
69737
697382007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
69739
69740        Rubber stamped by Eric.
69741
69742        Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
69743        by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
69744        mailing list and on IRC with David/Darin & Eric.
69745
69746        Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
69747
69748        * DerivedSources.make:
69749        * WebCore.pro:
69750        * WebCore.vcproj/WebCore.vcproj:
69751        * WebCore.xcodeproj/project.pbxproj:
69752        * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp.
69753        * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h.
69754        * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp.
69755        * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp.
69756        * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in.
69757        * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp.
69758        * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in.
69759        * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl.
69760        * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed.
69761        * ksvg2/css/SVGCSSParser.cpp: Removed.
69762        * ksvg2/css/SVGCSSPropertyNames.in: Removed.
69763        * ksvg2/css/SVGCSSStyleSelector.cpp: Removed.
69764        * ksvg2/css/SVGCSSValueKeywords.in: Removed.
69765        * ksvg2/css/SVGRenderStyle.cpp: Removed.
69766        * ksvg2/css/SVGRenderStyle.h: Removed.
69767        * ksvg2/css/SVGRenderStyleDefs.cpp: Removed.
69768        * ksvg2/css/SVGRenderStyleDefs.h: Removed.
69769        * ksvg2/events/JSSVGLazyEventListener.cpp: Removed.
69770        * ksvg2/events/JSSVGLazyEventListener.h: Removed.
69771        * ksvg2/events/SVGZoomEvent.cpp: Removed.
69772        * ksvg2/events/SVGZoomEvent.h: Removed.
69773        * ksvg2/events/SVGZoomEvent.idl: Removed.
69774        * ksvg2/misc/PointerEventsHitRules.cpp: Removed.
69775        * ksvg2/misc/PointerEventsHitRules.h: Removed.
69776        * ksvg2/misc/SVGDocumentExtensions.cpp: Removed.
69777        * ksvg2/misc/SVGDocumentExtensions.h: Removed.
69778        * ksvg2/misc/SVGImageLoader.cpp: Removed.
69779        * ksvg2/misc/SVGImageLoader.h: Removed.
69780        * ksvg2/misc/SVGTimer.cpp: Removed.
69781        * ksvg2/misc/SVGTimer.h: Removed.
69782        * ksvg2/misc/TimeScheduler.cpp: Removed.
69783        * ksvg2/misc/TimeScheduler.h: Removed.
69784        * ksvg2/misc/xlinkattrs.in: Removed.
69785        * ksvg2/scripts/make_names.pl: Removed.
69786        * ksvg2/svg: Removed.
69787        * ksvg2/svg/ColorDistance.cpp: Removed.
69788        * ksvg2/svg/ColorDistance.h: Removed.
69789        * ksvg2/svg/GradientAttributes.h: Removed.
69790        * ksvg2/svg/LinearGradientAttributes.h: Removed.
69791        * ksvg2/svg/PatternAttributes.h: Removed.
69792        * ksvg2/svg/RadialGradientAttributes.h: Removed.
69793        * ksvg2/svg/SVGAElement.cpp: Removed.
69794        * ksvg2/svg/SVGAElement.h: Removed.
69795        * ksvg2/svg/SVGAElement.idl: Removed.
69796        * ksvg2/svg/SVGAngle.cpp: Removed.
69797        * ksvg2/svg/SVGAngle.h: Removed.
69798        * ksvg2/svg/SVGAngle.idl: Removed.
69799        * ksvg2/svg/SVGAnimateColorElement.cpp: Removed.
69800        * ksvg2/svg/SVGAnimateColorElement.h: Removed.
69801        * ksvg2/svg/SVGAnimateColorElement.idl: Removed.
69802        * ksvg2/svg/SVGAnimateElement.cpp: Removed.
69803        * ksvg2/svg/SVGAnimateElement.h: Removed.
69804        * ksvg2/svg/SVGAnimateElement.idl: Removed.
69805        * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed.
69806        * ksvg2/svg/SVGAnimateMotionElement.h: Removed.
69807        * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed.
69808        * ksvg2/svg/SVGAnimateTransformElement.h: Removed.
69809        * ksvg2/svg/SVGAnimateTransformElement.idl: Removed.
69810        * ksvg2/svg/SVGAnimatedAngle.idl: Removed.
69811        * ksvg2/svg/SVGAnimatedBoolean.idl: Removed.
69812        * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed.
69813        * ksvg2/svg/SVGAnimatedInteger.idl: Removed.
69814        * ksvg2/svg/SVGAnimatedLength.idl: Removed.
69815        * ksvg2/svg/SVGAnimatedLengthList.idl: Removed.
69816        * ksvg2/svg/SVGAnimatedNumber.idl: Removed.
69817        * ksvg2/svg/SVGAnimatedNumberList.idl: Removed.
69818        * ksvg2/svg/SVGAnimatedPathData.cpp: Removed.
69819        * ksvg2/svg/SVGAnimatedPathData.h: Removed.
69820        * ksvg2/svg/SVGAnimatedPathData.idl: Removed.
69821        * ksvg2/svg/SVGAnimatedPoints.cpp: Removed.
69822        * ksvg2/svg/SVGAnimatedPoints.h: Removed.
69823        * ksvg2/svg/SVGAnimatedPoints.idl: Removed.
69824        * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed.
69825        * ksvg2/svg/SVGAnimatedRect.idl: Removed.
69826        * ksvg2/svg/SVGAnimatedString.idl: Removed.
69827        * ksvg2/svg/SVGAnimatedTemplate.h: Removed.
69828        * ksvg2/svg/SVGAnimatedTransformList.idl: Removed.
69829        * ksvg2/svg/SVGAnimationElement.cpp: Removed.
69830        * ksvg2/svg/SVGAnimationElement.h: Removed.
69831        * ksvg2/svg/SVGAnimationElement.idl: Removed.
69832        * ksvg2/svg/SVGCircleElement.cpp: Removed.
69833        * ksvg2/svg/SVGCircleElement.h: Removed.
69834        * ksvg2/svg/SVGCircleElement.idl: Removed.
69835        * ksvg2/svg/SVGClipPathElement.cpp: Removed.
69836        * ksvg2/svg/SVGClipPathElement.h: Removed.
69837        * ksvg2/svg/SVGClipPathElement.idl: Removed.
69838        * ksvg2/svg/SVGColor.cpp: Removed.
69839        * ksvg2/svg/SVGColor.h: Removed.
69840        * ksvg2/svg/SVGColor.idl: Removed.
69841        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed.
69842        * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed.
69843        * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed.
69844        * ksvg2/svg/SVGCursorElement.cpp: Removed.
69845        * ksvg2/svg/SVGCursorElement.h: Removed.
69846        * ksvg2/svg/SVGCursorElement.idl: Removed.
69847        * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed.
69848        * ksvg2/svg/SVGDefinitionSrcElement.h: Removed.
69849        * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed.
69850        * ksvg2/svg/SVGDefsElement.cpp: Removed.
69851        * ksvg2/svg/SVGDefsElement.h: Removed.
69852        * ksvg2/svg/SVGDefsElement.idl: Removed.
69853        * ksvg2/svg/SVGDescElement.cpp: Removed.
69854        * ksvg2/svg/SVGDescElement.h: Removed.
69855        * ksvg2/svg/SVGDescElement.idl: Removed.
69856        * ksvg2/svg/SVGDocument.cpp: Removed.
69857        * ksvg2/svg/SVGDocument.h: Removed.
69858        * ksvg2/svg/SVGDocument.idl: Removed.
69859        * ksvg2/svg/SVGElement.cpp: Removed.
69860        * ksvg2/svg/SVGElement.h: Removed.
69861        * ksvg2/svg/SVGElement.idl: Removed.
69862        * ksvg2/svg/SVGElementInstance.cpp: Removed.
69863        * ksvg2/svg/SVGElementInstance.h: Removed.
69864        * ksvg2/svg/SVGElementInstance.idl: Removed.
69865        * ksvg2/svg/SVGElementInstanceList.cpp: Removed.
69866        * ksvg2/svg/SVGElementInstanceList.h: Removed.
69867        * ksvg2/svg/SVGElementInstanceList.idl: Removed.
69868        * ksvg2/svg/SVGEllipseElement.cpp: Removed.
69869        * ksvg2/svg/SVGEllipseElement.h: Removed.
69870        * ksvg2/svg/SVGEllipseElement.idl: Removed.
69871        * ksvg2/svg/SVGException.h: Removed.
69872        * ksvg2/svg/SVGException.idl: Removed.
69873        * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed.
69874        * ksvg2/svg/SVGExternalResourcesRequired.h: Removed.
69875        * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed.
69876        * ksvg2/svg/SVGFEBlendElement.cpp: Removed.
69877        * ksvg2/svg/SVGFEBlendElement.h: Removed.
69878        * ksvg2/svg/SVGFEBlendElement.idl: Removed.
69879        * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed.
69880        * ksvg2/svg/SVGFEColorMatrixElement.h: Removed.
69881        * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed.
69882        * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed.
69883        * ksvg2/svg/SVGFEComponentTransferElement.h: Removed.
69884        * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed.
69885        * ksvg2/svg/SVGFECompositeElement.cpp: Removed.
69886        * ksvg2/svg/SVGFECompositeElement.h: Removed.
69887        * ksvg2/svg/SVGFECompositeElement.idl: Removed.
69888        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed.
69889        * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed.
69890        * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed.
69891        * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed.
69892        * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed.
69893        * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed.
69894        * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed.
69895        * ksvg2/svg/SVGFEDistantLightElement.h: Removed.
69896        * ksvg2/svg/SVGFEDistantLightElement.idl: Removed.
69897        * ksvg2/svg/SVGFEFloodElement.cpp: Removed.
69898        * ksvg2/svg/SVGFEFloodElement.h: Removed.
69899        * ksvg2/svg/SVGFEFloodElement.idl: Removed.
69900        * ksvg2/svg/SVGFEFuncAElement.cpp: Removed.
69901        * ksvg2/svg/SVGFEFuncAElement.h: Removed.
69902        * ksvg2/svg/SVGFEFuncAElement.idl: Removed.
69903        * ksvg2/svg/SVGFEFuncBElement.cpp: Removed.
69904        * ksvg2/svg/SVGFEFuncBElement.h: Removed.
69905        * ksvg2/svg/SVGFEFuncBElement.idl: Removed.
69906        * ksvg2/svg/SVGFEFuncGElement.cpp: Removed.
69907        * ksvg2/svg/SVGFEFuncGElement.h: Removed.
69908        * ksvg2/svg/SVGFEFuncGElement.idl: Removed.
69909        * ksvg2/svg/SVGFEFuncRElement.cpp: Removed.
69910        * ksvg2/svg/SVGFEFuncRElement.h: Removed.
69911        * ksvg2/svg/SVGFEFuncRElement.idl: Removed.
69912        * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed.
69913        * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed.
69914        * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed.
69915        * ksvg2/svg/SVGFEImageElement.cpp: Removed.
69916        * ksvg2/svg/SVGFEImageElement.h: Removed.
69917        * ksvg2/svg/SVGFEImageElement.idl: Removed.
69918        * ksvg2/svg/SVGFELightElement.cpp: Removed.
69919        * ksvg2/svg/SVGFELightElement.h: Removed.
69920        * ksvg2/svg/SVGFEMergeElement.cpp: Removed.
69921        * ksvg2/svg/SVGFEMergeElement.h: Removed.
69922        * ksvg2/svg/SVGFEMergeElement.idl: Removed.
69923        * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed.
69924        * ksvg2/svg/SVGFEMergeNodeElement.h: Removed.
69925        * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed.
69926        * ksvg2/svg/SVGFEOffsetElement.cpp: Removed.
69927        * ksvg2/svg/SVGFEOffsetElement.h: Removed.
69928        * ksvg2/svg/SVGFEOffsetElement.idl: Removed.
69929        * ksvg2/svg/SVGFEPointLightElement.cpp: Removed.
69930        * ksvg2/svg/SVGFEPointLightElement.h: Removed.
69931        * ksvg2/svg/SVGFEPointLightElement.idl: Removed.
69932        * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed.
69933        * ksvg2/svg/SVGFESpecularLightingElement.h: Removed.
69934        * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed.
69935        * ksvg2/svg/SVGFESpotLightElement.cpp: Removed.
69936        * ksvg2/svg/SVGFESpotLightElement.h: Removed.
69937        * ksvg2/svg/SVGFESpotLightElement.idl: Removed.
69938        * ksvg2/svg/SVGFETileElement.cpp: Removed.
69939        * ksvg2/svg/SVGFETileElement.h: Removed.
69940        * ksvg2/svg/SVGFETileElement.idl: Removed.
69941        * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed.
69942        * ksvg2/svg/SVGFETurbulenceElement.h: Removed.
69943        * ksvg2/svg/SVGFETurbulenceElement.idl: Removed.
69944        * ksvg2/svg/SVGFilterElement.cpp: Removed.
69945        * ksvg2/svg/SVGFilterElement.h: Removed.
69946        * ksvg2/svg/SVGFilterElement.idl: Removed.
69947        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
69948        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed.
69949        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed.
69950        * ksvg2/svg/SVGFitToViewBox.cpp: Removed.
69951        * ksvg2/svg/SVGFitToViewBox.h: Removed.
69952        * ksvg2/svg/SVGFitToViewBox.idl: Removed.
69953        * ksvg2/svg/SVGFontFaceElement.cpp: Removed.
69954        * ksvg2/svg/SVGFontFaceElement.h: Removed.
69955        * ksvg2/svg/SVGFontFaceElement.idl: Removed.
69956        * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed.
69957        * ksvg2/svg/SVGFontFaceFormatElement.h: Removed.
69958        * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed.
69959        * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed.
69960        * ksvg2/svg/SVGFontFaceNameElement.h: Removed.
69961        * ksvg2/svg/SVGFontFaceNameElement.idl: Removed.
69962        * ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed.
69963        * ksvg2/svg/SVGFontFaceSrcElement.h: Removed.
69964        * ksvg2/svg/SVGFontFaceSrcElement.idl: Removed.
69965        * ksvg2/svg/SVGFontFaceUriElement.cpp: Removed.
69966        * ksvg2/svg/SVGFontFaceUriElement.h: Removed.
69967        * ksvg2/svg/SVGFontFaceUriElement.idl: Removed.
69968        * ksvg2/svg/SVGForeignObjectElement.cpp: Removed.
69969        * ksvg2/svg/SVGForeignObjectElement.h: Removed.
69970        * ksvg2/svg/SVGForeignObjectElement.idl: Removed.
69971        * ksvg2/svg/SVGGElement.cpp: Removed.
69972        * ksvg2/svg/SVGGElement.h: Removed.
69973        * ksvg2/svg/SVGGElement.idl: Removed.
69974        * ksvg2/svg/SVGGradientElement.cpp: Removed.
69975        * ksvg2/svg/SVGGradientElement.h: Removed.
69976        * ksvg2/svg/SVGGradientElement.idl: Removed.
69977        * ksvg2/svg/SVGImageElement.cpp: Removed.
69978        * ksvg2/svg/SVGImageElement.h: Removed.
69979        * ksvg2/svg/SVGImageElement.idl: Removed.
69980        * ksvg2/svg/SVGLangSpace.cpp: Removed.
69981        * ksvg2/svg/SVGLangSpace.h: Removed.
69982        * ksvg2/svg/SVGLangSpace.idl: Removed.
69983        * ksvg2/svg/SVGLength.cpp: Removed.
69984        * ksvg2/svg/SVGLength.h: Removed.
69985        * ksvg2/svg/SVGLength.idl: Removed.
69986        * ksvg2/svg/SVGLengthList.cpp: Removed.
69987        * ksvg2/svg/SVGLengthList.h: Removed.
69988        * ksvg2/svg/SVGLengthList.idl: Removed.
69989        * ksvg2/svg/SVGLineElement.cpp: Removed.
69990        * ksvg2/svg/SVGLineElement.h: Removed.
69991        * ksvg2/svg/SVGLineElement.idl: Removed.
69992        * ksvg2/svg/SVGLinearGradientElement.cpp: Removed.
69993        * ksvg2/svg/SVGLinearGradientElement.h: Removed.
69994        * ksvg2/svg/SVGLinearGradientElement.idl: Removed.
69995        * ksvg2/svg/SVGList.h: Removed.
69996        * ksvg2/svg/SVGListTraits.h: Removed.
69997        * ksvg2/svg/SVGLocatable.cpp: Removed.
69998        * ksvg2/svg/SVGLocatable.h: Removed.
69999        * ksvg2/svg/SVGLocatable.idl: Removed.
70000        * ksvg2/svg/SVGMPathElement.cpp: Removed.
70001        * ksvg2/svg/SVGMPathElement.h: Removed.
70002        * ksvg2/svg/SVGMarkerElement.cpp: Removed.
70003        * ksvg2/svg/SVGMarkerElement.h: Removed.
70004        * ksvg2/svg/SVGMarkerElement.idl: Removed.
70005        * ksvg2/svg/SVGMaskElement.cpp: Removed.
70006        * ksvg2/svg/SVGMaskElement.h: Removed.
70007        * ksvg2/svg/SVGMaskElement.idl: Removed.
70008        * ksvg2/svg/SVGMatrix.idl: Removed.
70009        * ksvg2/svg/SVGMetadataElement.cpp: Removed.
70010        * ksvg2/svg/SVGMetadataElement.h: Removed.
70011        * ksvg2/svg/SVGMetadataElement.idl: Removed.
70012        * ksvg2/svg/SVGNumber.idl: Removed.
70013        * ksvg2/svg/SVGNumberList.cpp: Removed.
70014        * ksvg2/svg/SVGNumberList.h: Removed.
70015        * ksvg2/svg/SVGNumberList.idl: Removed.
70016        * ksvg2/svg/SVGPaint.cpp: Removed.
70017        * ksvg2/svg/SVGPaint.h: Removed.
70018        * ksvg2/svg/SVGPaint.idl: Removed.
70019        * ksvg2/svg/SVGParserUtilities.cpp: Removed.
70020        * ksvg2/svg/SVGParserUtilities.h: Removed.
70021        * ksvg2/svg/SVGPathElement.cpp: Removed.
70022        * ksvg2/svg/SVGPathElement.h: Removed.
70023        * ksvg2/svg/SVGPathElement.idl: Removed.
70024        * ksvg2/svg/SVGPathSeg.h: Removed.
70025        * ksvg2/svg/SVGPathSeg.idl: Removed.
70026        * ksvg2/svg/SVGPathSegArc.cpp: Removed.
70027        * ksvg2/svg/SVGPathSegArc.h: Removed.
70028        * ksvg2/svg/SVGPathSegArcAbs.idl: Removed.
70029        * ksvg2/svg/SVGPathSegArcRel.idl: Removed.
70030        * ksvg2/svg/SVGPathSegClosePath.cpp: Removed.
70031        * ksvg2/svg/SVGPathSegClosePath.h: Removed.
70032        * ksvg2/svg/SVGPathSegClosePath.idl: Removed.
70033        * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed.
70034        * ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed.
70035        * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed.
70036        * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed.
70037        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
70038        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed.
70039        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed.
70040        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed.
70041        * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
70042        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed.
70043        * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed.
70044        * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed.
70045        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
70046        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed.
70047        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed.
70048        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed.
70049        * ksvg2/svg/SVGPathSegLineto.cpp: Removed.
70050        * ksvg2/svg/SVGPathSegLineto.h: Removed.
70051        * ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed.
70052        * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed.
70053        * ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed.
70054        * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed.
70055        * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed.
70056        * ksvg2/svg/SVGPathSegLinetoRel.idl: Removed.
70057        * ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed.
70058        * ksvg2/svg/SVGPathSegLinetoVertical.h: Removed.
70059        * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed.
70060        * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed.
70061        * ksvg2/svg/SVGPathSegList.cpp: Removed.
70062        * ksvg2/svg/SVGPathSegList.h: Removed.
70063        * ksvg2/svg/SVGPathSegList.idl: Removed.
70064        * ksvg2/svg/SVGPathSegMoveto.cpp: Removed.
70065        * ksvg2/svg/SVGPathSegMoveto.h: Removed.
70066        * ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed.
70067        * ksvg2/svg/SVGPathSegMovetoRel.idl: Removed.
70068        * ksvg2/svg/SVGPatternElement.cpp: Removed.
70069        * ksvg2/svg/SVGPatternElement.h: Removed.
70070        * ksvg2/svg/SVGPatternElement.idl: Removed.
70071        * ksvg2/svg/SVGPoint.idl: Removed.
70072        * ksvg2/svg/SVGPointList.cpp: Removed.
70073        * ksvg2/svg/SVGPointList.h: Removed.
70074        * ksvg2/svg/SVGPointList.idl: Removed.
70075        * ksvg2/svg/SVGPolyElement.cpp: Removed.
70076        * ksvg2/svg/SVGPolyElement.h: Removed.
70077        * ksvg2/svg/SVGPolygonElement.cpp: Removed.
70078        * ksvg2/svg/SVGPolygonElement.h: Removed.
70079        * ksvg2/svg/SVGPolygonElement.idl: Removed.
70080        * ksvg2/svg/SVGPolylineElement.cpp: Removed.
70081        * ksvg2/svg/SVGPolylineElement.h: Removed.
70082        * ksvg2/svg/SVGPolylineElement.idl: Removed.
70083        * ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed.
70084        * ksvg2/svg/SVGPreserveAspectRatio.h: Removed.
70085        * ksvg2/svg/SVGPreserveAspectRatio.idl: Removed.
70086        * ksvg2/svg/SVGRadialGradientElement.cpp: Removed.
70087        * ksvg2/svg/SVGRadialGradientElement.h: Removed.
70088        * ksvg2/svg/SVGRadialGradientElement.idl: Removed.
70089        * ksvg2/svg/SVGRect.idl: Removed.
70090        * ksvg2/svg/SVGRectElement.cpp: Removed.
70091        * ksvg2/svg/SVGRectElement.h: Removed.
70092        * ksvg2/svg/SVGRectElement.idl: Removed.
70093        * ksvg2/svg/SVGRenderingIntent.h: Removed.
70094        * ksvg2/svg/SVGRenderingIntent.idl: Removed.
70095        * ksvg2/svg/SVGSVGElement.cpp: Removed.
70096        * ksvg2/svg/SVGSVGElement.h: Removed.
70097        * ksvg2/svg/SVGSVGElement.idl: Removed.
70098        * ksvg2/svg/SVGScriptElement.cpp: Removed.
70099        * ksvg2/svg/SVGScriptElement.h: Removed.
70100        * ksvg2/svg/SVGScriptElement.idl: Removed.
70101        * ksvg2/svg/SVGSetElement.cpp: Removed.
70102        * ksvg2/svg/SVGSetElement.h: Removed.
70103        * ksvg2/svg/SVGSetElement.idl: Removed.
70104        * ksvg2/svg/SVGStopElement.cpp: Removed.
70105        * ksvg2/svg/SVGStopElement.h: Removed.
70106        * ksvg2/svg/SVGStopElement.idl: Removed.
70107        * ksvg2/svg/SVGStringList.cpp: Removed.
70108        * ksvg2/svg/SVGStringList.h: Removed.
70109        * ksvg2/svg/SVGStringList.idl: Removed.
70110        * ksvg2/svg/SVGStylable.cpp: Removed.
70111        * ksvg2/svg/SVGStylable.h: Removed.
70112        * ksvg2/svg/SVGStylable.idl: Removed.
70113        * ksvg2/svg/SVGStyleElement.cpp: Removed.
70114        * ksvg2/svg/SVGStyleElement.h: Removed.
70115        * ksvg2/svg/SVGStyleElement.idl: Removed.
70116        * ksvg2/svg/SVGStyledElement.cpp: Removed.
70117        * ksvg2/svg/SVGStyledElement.h: Removed.
70118        * ksvg2/svg/SVGStyledLocatableElement.cpp: Removed.
70119        * ksvg2/svg/SVGStyledLocatableElement.h: Removed.
70120        * ksvg2/svg/SVGStyledTransformableElement.cpp: Removed.
70121        * ksvg2/svg/SVGStyledTransformableElement.h: Removed.
70122        * ksvg2/svg/SVGSwitchElement.cpp: Removed.
70123        * ksvg2/svg/SVGSwitchElement.h: Removed.
70124        * ksvg2/svg/SVGSwitchElement.idl: Removed.
70125        * ksvg2/svg/SVGSymbolElement.cpp: Removed.
70126        * ksvg2/svg/SVGSymbolElement.h: Removed.
70127        * ksvg2/svg/SVGSymbolElement.idl: Removed.
70128        * ksvg2/svg/SVGTRefElement.cpp: Removed.
70129        * ksvg2/svg/SVGTRefElement.h: Removed.
70130        * ksvg2/svg/SVGTRefElement.idl: Removed.
70131        * ksvg2/svg/SVGTSpanElement.cpp: Removed.
70132        * ksvg2/svg/SVGTSpanElement.h: Removed.
70133        * ksvg2/svg/SVGTSpanElement.idl: Removed.
70134        * ksvg2/svg/SVGTests.cpp: Removed.
70135        * ksvg2/svg/SVGTests.h: Removed.
70136        * ksvg2/svg/SVGTests.idl: Removed.
70137        * ksvg2/svg/SVGTextContentElement.cpp: Removed.
70138        * ksvg2/svg/SVGTextContentElement.h: Removed.
70139        * ksvg2/svg/SVGTextContentElement.idl: Removed.
70140        * ksvg2/svg/SVGTextElement.cpp: Removed.
70141        * ksvg2/svg/SVGTextElement.h: Removed.
70142        * ksvg2/svg/SVGTextElement.idl: Removed.
70143        * ksvg2/svg/SVGTextPathElement.cpp: Removed.
70144        * ksvg2/svg/SVGTextPathElement.h: Removed.
70145        * ksvg2/svg/SVGTextPathElement.idl: Removed.
70146        * ksvg2/svg/SVGTextPositioningElement.cpp: Removed.
70147        * ksvg2/svg/SVGTextPositioningElement.h: Removed.
70148        * ksvg2/svg/SVGTextPositioningElement.idl: Removed.
70149        * ksvg2/svg/SVGTitleElement.cpp: Removed.
70150        * ksvg2/svg/SVGTitleElement.h: Removed.
70151        * ksvg2/svg/SVGTitleElement.idl: Removed.
70152        * ksvg2/svg/SVGTransform.cpp: Removed.
70153        * ksvg2/svg/SVGTransform.h: Removed.
70154        * ksvg2/svg/SVGTransform.idl: Removed.
70155        * ksvg2/svg/SVGTransformDistance.cpp: Removed.
70156        * ksvg2/svg/SVGTransformDistance.h: Removed.
70157        * ksvg2/svg/SVGTransformList.cpp: Removed.
70158        * ksvg2/svg/SVGTransformList.h: Removed.
70159        * ksvg2/svg/SVGTransformList.idl: Removed.
70160        * ksvg2/svg/SVGTransformable.cpp: Removed.
70161        * ksvg2/svg/SVGTransformable.h: Removed.
70162        * ksvg2/svg/SVGTransformable.idl: Removed.
70163        * ksvg2/svg/SVGURIReference.cpp: Removed.
70164        * ksvg2/svg/SVGURIReference.h: Removed.
70165        * ksvg2/svg/SVGURIReference.idl: Removed.
70166        * ksvg2/svg/SVGUnitTypes.h: Removed.
70167        * ksvg2/svg/SVGUnitTypes.idl: Removed.
70168        * ksvg2/svg/SVGUseElement.cpp: Removed.
70169        * ksvg2/svg/SVGUseElement.h: Removed.
70170        * ksvg2/svg/SVGUseElement.idl: Removed.
70171        * ksvg2/svg/SVGViewElement.cpp: Removed.
70172        * ksvg2/svg/SVGViewElement.h: Removed.
70173        * ksvg2/svg/SVGViewElement.idl: Removed.
70174        * ksvg2/svg/SVGViewSpec.cpp: Removed.
70175        * ksvg2/svg/SVGViewSpec.h: Removed.
70176        * ksvg2/svg/SVGViewSpec.idl: Removed.
70177        * ksvg2/svg/SVGZoomAndPan.cpp: Removed.
70178        * ksvg2/svg/SVGZoomAndPan.h: Removed.
70179        * ksvg2/svg/SVGZoomAndPan.idl: Removed.
70180        * ksvg2/svg/svgattrs.in: Removed.
70181        * ksvg2/svg/svgtags.in: Removed.
70182        * rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp.
70183        * rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h.
70184        * rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp.
70185        * rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h.
70186        * rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp.
70187        * rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h.
70188        * svg: Copied from ksvg2/svg.
70189        * svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp.
70190        * svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h.
70191        * svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp.
70192        * svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h.
70193        * svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp.
70194        * svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h.
70195        * svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp.
70196        * svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h.
70197        * svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl.
70198        * svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp.
70199        * svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h.
70200        * svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in.
70201
702022007-11-30  Kevin Ollivier  <kevino@theolliviers.com>
70203
70204        wx build fix. Add WebCore/platform/graphics/wx to includes.
70205
70206        * webcore-wx.bkl:
70207
702082007-11-30  Brady Eidson  <beidson@apple.com>
70209
70210        Reviewed by Geoff
70211
70212        Further hookup of Database API
70213        With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will
70214        result in a didModifyDatabase notification when the transaction is successfully committed
70215
70216        * storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase"
70217        (WebCore::DatabaseAuthorizer::reset):
70218        (WebCore::DatabaseAuthorizer::createTable):
70219        (WebCore::DatabaseAuthorizer::allowAlterTable):
70220        (WebCore::DatabaseAuthorizer::createIndex):
70221        (WebCore::DatabaseAuthorizer::createTrigger):
70222        (WebCore::DatabaseAuthorizer::createVTable):
70223        (WebCore::DatabaseAuthorizer::allowInsert):
70224        (WebCore::DatabaseAuthorizer::allowUpdate):
70225        * storage/DatabaseAuthorizer.h:
70226        (WebCore::DatabaseAuthorizer::lastActionChangedDatabase):
70227
70228        * storage/DatabaseTracker.cpp:
70229        (WebCore::DatabaseTracker::notifyDatabaseChanged): Added.  Allow external entities (SQLTransaction) to be able
70230          to request a didModifyDatabase notification to the delegate
70231        * storage/DatabaseTracker.h:
70232
70233        * storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of 
70234          a transaction resulted in a change to the database.
70235        (WebCore::SQLTransaction::SQLTransaction):
70236        (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation
70237          statement occurred
70238        (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged
70239        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
70240        * storage/SQLTransaction.h:
70241
702422007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
70243
70244        Rubber stamped by David.
70245
70246        Next round of moves - platform reorganization.
70247        Move text/font/glyph related files from the individual port directories
70248        into platform/text/<port> or platform/graphics/<port>.
70249
70250        * DerivedSources.make:
70251        * WebCore.pro:
70252        * WebCore.vcproj/WebCore.vcproj:
70253        * WebCore.xcodeproj/project.pbxproj:
70254        * platform/cf/StringCF.cpp: Removed.
70255        * platform/cf/StringImplCF.cpp: Removed.
70256        * platform/graphics/gtk/FontCacheGtk.cpp: Copied from platform/gtk/FontCacheGtk.cpp.
70257        * platform/graphics/gtk/FontDataGtk.cpp: Copied from platform/gtk/FontDataGtk.cpp.
70258        * platform/graphics/gtk/FontGtk.cpp: Copied from platform/gtk/FontGtk.cpp.
70259        * platform/graphics/gtk/FontPlatformData.h: Copied from platform/gtk/FontPlatformData.h.
70260        * platform/graphics/gtk/FontPlatformDataGtk.cpp: Copied from platform/gtk/FontPlatformDataGtk.cpp.
70261        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Copied from platform/gtk/GlyphPageTreeNodeGtk.cpp.
70262        * platform/graphics/mac/FontCacheMac.mm: Copied from platform/mac/FontCacheMac.mm.
70263        * platform/graphics/mac/FontCustomPlatformData.cpp: Copied from platform/mac/FontCustomPlatformData.cpp.
70264        * platform/graphics/mac/FontCustomPlatformData.h: Copied from platform/mac/FontCustomPlatformData.h.
70265        * platform/graphics/mac/FontDataMac.mm: Copied from platform/mac/FontDataMac.mm.
70266        * platform/graphics/mac/FontMac.mm: Copied from platform/mac/FontMac.mm.
70267        * platform/graphics/mac/FontPlatformData.h: Copied from platform/mac/FontPlatformData.h.
70268        * platform/graphics/mac/FontPlatformDataMac.mm: Copied from platform/mac/FontPlatformDataMac.mm.
70269        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Copied from platform/mac/GlyphPageTreeNodeMac.cpp.
70270        * platform/graphics/qt/FontCacheQt.cpp: Copied from platform/qt/FontCacheQt.cpp.
70271        * platform/graphics/qt/FontCustomPlatformData.cpp: Copied from platform/qt/FontCustomPlatformData.cpp.
70272        * platform/graphics/qt/FontCustomPlatformData.h: Copied from platform/qt/FontCustomPlatformData.h.
70273        * platform/graphics/qt/FontDataQt.cpp: Copied from platform/qt/FontDataQt.cpp.
70274        * platform/graphics/qt/FontPlatformData.h: Copied from platform/qt/FontPlatformData.h.
70275        * platform/graphics/qt/FontQt.cpp: Copied from platform/qt/FontQt.cpp.
70276        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: Copied from platform/qt/GlyphPageTreeNodeQt.cpp.
70277        * platform/graphics/win/FontCacheWin.cpp: Copied from platform/win/FontCacheWin.cpp.
70278        * platform/graphics/win/FontCustomPlatformData.cpp: Copied from platform/win/FontCustomPlatformData.cpp.
70279        * platform/graphics/win/FontCustomPlatformData.h: Copied from platform/win/FontCustomPlatformData.h.
70280        * platform/graphics/win/FontDataWin.cpp: Copied from platform/win/FontDataWin.cpp.
70281        * platform/graphics/win/FontDatabase.cpp: Copied from platform/win/FontDatabase.cpp.
70282        * platform/graphics/win/FontDatabase.h: Copied from platform/win/FontDatabase.h.
70283        * platform/graphics/win/FontPlatformData.h: Copied from platform/win/FontPlatformData.h.
70284        * platform/graphics/win/FontPlatformDataWin.cpp: Copied from platform/win/FontPlatformDataWin.cpp.
70285        * platform/graphics/win/FontWin.cpp: Copied from platform/win/FontWin.cpp.
70286        * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Copied from platform/win/GlyphPageTreeNodeWin.cpp.
70287        * platform/graphics/wx/FontCacheWx.cpp: Copied from platform/wx/FontCacheWx.cpp.
70288        * platform/graphics/wx/FontDataWx.cpp: Copied from platform/wx/FontDataWx.cpp.
70289        * platform/graphics/wx/FontPlatformData.h: Copied from platform/wx/FontPlatformData.h.
70290        * platform/graphics/wx/FontPlatformDataWx.cpp: Copied from platform/wx/FontPlatformDataWx.cpp.
70291        * platform/graphics/wx/FontWx.cpp: Copied from platform/wx/FontWx.cpp.
70292        * platform/graphics/wx/GlyphMapWx.cpp: Copied from platform/wx/GlyphMapWx.cpp.
70293        * platform/gtk/FontCacheGtk.cpp: Removed.
70294        * platform/gtk/FontDataGtk.cpp: Removed.
70295        * platform/gtk/FontGtk.cpp: Removed.
70296        * platform/gtk/FontPlatformData.h: Removed.
70297        * platform/gtk/FontPlatformDataGtk.cpp: Removed.
70298        * platform/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
70299        * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Removed.
70300        * platform/mac/FontCacheMac.mm: Removed.
70301        * platform/mac/FontCustomPlatformData.cpp: Removed.
70302        * platform/mac/FontCustomPlatformData.h: Removed.
70303        * platform/mac/FontDataMac.mm: Removed.
70304        * platform/mac/FontMac.mm: Removed.
70305        * platform/mac/FontPlatformData.h: Removed.
70306        * platform/mac/FontPlatformDataMac.mm: Removed.
70307        * platform/mac/GlyphPageTreeNodeMac.cpp: Removed.
70308        * platform/mac/ShapeArabic.c: Removed.
70309        * platform/mac/ShapeArabic.h: Removed.
70310        * platform/mac/StringImplMac.mm: Removed.
70311        * platform/mac/StringMac.mm: Removed.
70312        * platform/mac/TextBoundaries.mm: Removed.
70313        * platform/mac/TextBreakIteratorInternalICUMac.mm: Removed.
70314        * platform/mac/TextCodecMac.cpp: Removed.
70315        * platform/mac/TextCodecMac.h: Removed.
70316        * platform/mac/character-sets.txt: Removed.
70317        * platform/mac/mac-encodings.txt: Removed.
70318        * platform/mac/make-charset-table.pl: Removed.
70319        * platform/qt/FontCacheQt.cpp: Removed.
70320        * platform/qt/FontCustomPlatformData.cpp: Removed.
70321        * platform/qt/FontCustomPlatformData.h: Removed.
70322        * platform/qt/FontDataQt.cpp: Removed.
70323        * platform/qt/FontPlatformData.h: Removed.
70324        * platform/qt/FontQt.cpp: Removed.
70325        * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
70326        * platform/qt/StringQt.cpp: Removed.
70327        * platform/qt/TextBoundaries.cpp: Removed.
70328        * platform/qt/TextBreakIteratorQt.cpp: Removed.
70329        * platform/qt/TextCodecQt.cpp: Removed.
70330        * platform/qt/TextCodecQt.h: Removed.
70331        * platform/symbian/StringImplSymbian.cpp: Removed.
70332        * platform/symbian/StringSymbian.cpp: Removed.
70333        * platform/text/cf: Added.
70334        * platform/text/cf/StringCF.cpp: Copied from platform/cf/StringCF.cpp.
70335        * platform/text/cf/StringImplCF.cpp: Copied from platform/cf/StringImplCF.cpp.
70336        * platform/text/gtk: Added.
70337        * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Copied from platform/gtk/TextBreakIteratorInternalICUGtk.cpp.
70338        * platform/text/mac/ShapeArabic.c: Copied from platform/mac/ShapeArabic.c.
70339        * platform/text/mac/ShapeArabic.h: Copied from platform/mac/ShapeArabic.h.
70340        * platform/text/mac/StringImplMac.mm: Copied from platform/mac/StringImplMac.mm.
70341        * platform/text/mac/StringMac.mm: Copied from platform/mac/StringMac.mm.
70342        * platform/text/mac/TextBoundaries.mm: Copied from platform/mac/TextBoundaries.mm.
70343        * platform/text/mac/TextBreakIteratorInternalICUMac.mm: Copied from platform/mac/TextBreakIteratorInternalICUMac.mm.
70344        * platform/text/mac/TextCodecMac.cpp: Copied from platform/mac/TextCodecMac.cpp.
70345        * platform/text/mac/TextCodecMac.h: Copied from platform/mac/TextCodecMac.h.
70346        * platform/text/mac/character-sets.txt: Copied from platform/mac/character-sets.txt.
70347        * platform/text/mac/mac-encodings.txt: Copied from platform/mac/mac-encodings.txt.
70348        * platform/text/mac/make-charset-table.pl: Copied from platform/mac/make-charset-table.pl.
70349        * platform/text/qt: Added.
70350        * platform/text/qt/StringQt.cpp: Copied from platform/qt/StringQt.cpp.
70351        * platform/text/qt/TextBoundaries.cpp: Copied from platform/qt/TextBoundaries.cpp.
70352        * platform/text/qt/TextBreakIteratorQt.cpp: Copied from platform/qt/TextBreakIteratorQt.cpp.
70353        * platform/text/qt/TextCodecQt.cpp: Copied from platform/qt/TextCodecQt.cpp.
70354        * platform/text/qt/TextCodecQt.h: Copied from platform/qt/TextCodecQt.h.
70355        * platform/text/symbian: Added.
70356        * platform/text/symbian/StringImplSymbian.cpp: Copied from platform/symbian/StringImplSymbian.cpp.
70357        * platform/text/symbian/StringSymbian.cpp: Copied from platform/symbian/StringSymbian.cpp.
70358        * platform/text/win: Added.
70359        * platform/text/win/TextBreakIteratorInternalICUWin.cpp: Copied from platform/win/TextBreakIteratorInternalICUWin.cpp.
70360        * platform/text/wx: Added.
70361        * platform/text/wx/StringWx.cpp: Copied from platform/wx/StringWx.cpp.
70362        * platform/win/FontCacheWin.cpp: Removed.
70363        * platform/win/FontCustomPlatformData.cpp: Removed.
70364        * platform/win/FontCustomPlatformData.h: Removed.
70365        * platform/win/FontDataWin.cpp: Removed.
70366        * platform/win/FontDatabase.cpp: Removed.
70367        * platform/win/FontDatabase.h: Removed.
70368        * platform/win/FontPlatformData.h: Removed.
70369        * platform/win/FontPlatformDataWin.cpp: Removed.
70370        * platform/win/FontWin.cpp: Removed.
70371        * platform/win/GlyphPageTreeNodeWin.cpp: Removed.
70372        * platform/win/TextBreakIteratorInternalICUWin.cpp: Removed.
70373        * platform/wx/FontCacheWx.cpp: Removed.
70374        * platform/wx/FontDataWx.cpp: Removed.
70375        * platform/wx/FontPlatformData.h: Removed.
70376        * platform/wx/FontPlatformDataWx.cpp: Removed.
70377        * platform/wx/FontWx.cpp: Removed.
70378        * platform/wx/GlyphMapWx.cpp: Removed.
70379        * platform/wx/StringWx.cpp: Removed.
70380        * webcore-wx.bkl:
70381
703822007-11-30  Kevin Ollivier  <kevino@theolliviers.com>
70383
70384        Build fix for wx port. Adding editing/RemoveFormatCommand.cpp
70385
70386        * WebCoreSources.bkl:
70387
703882007-11-30  Simon Hausmann  <hausmann@webkit.org>
70389
70390        Reviewed by Adam Roben.
70391
70392        Fix the build with DATABASE=0.
70393
70394        * page/Settings.cpp:
70395        (WebCore::Settings::setDefaultDatabaseOriginQuota):
70396        (WebCore::Settings::defaultDatabaseOriginQuota):
70397
703982007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
70399
70400        Rubber stamped by Darin.
70401
70402        Fix misplaced file. The name "FontStyle" is not correct though - it probably
70403        needs yet another move - but this time inside platform/graphics - as soon
70404        as we agree on a better name.
70405
70406        * WebCore.xcodeproj/project.pbxproj:
70407        * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h.
70408        * platform/text/FontStyle.h: Removed.
70409
704102007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
70411
70412        Reviewed by Sam.
70413
70414        Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
70415        I scripted a bit too much while doing the TextStyle -> FontStyle change.
70416
70417        * platform/win/PopupMenuWin.cpp:
70418        (WebCore::PopupMenu::paint):
70419        * rendering/EllipsisBox.cpp:
70420        (WebCore::EllipsisBox::paint):
70421        * rendering/RenderFileUploadControl.cpp:
70422        (WebCore::RenderFileUploadControl::paintObject):
70423        * rendering/RenderListBox.cpp:
70424        (WebCore::RenderListBox::updateFromElement):
70425        (WebCore::RenderListBox::paintItemForeground):
70426        * rendering/RenderTextControl.cpp:
70427        (WebCore::RenderTextControl::setStyle):
70428        (WebCore::RenderTextControl::createInnerTextStyle):
70429        (WebCore::RenderTextControl::createSubtreeIfNeeded):
70430        * rendering/RenderTextControl.h:
70431        * rendering/SVGRootInlineBox.cpp:
70432        (WebCore::svgFontStyleForInlineTextBox):
70433
704342007-11-30  Alp Toker  <alp@atoker.com>
70435
70436        GTK+ build fix following the recent text reorganization.
70437
70438        * WebCore.pro:
70439
704402007-11-29  Jon Honeycutt  <jhoneycutt@apple.com>
70441
70442        Reviewed by Adam.
70443
70444        Part of <rdar://problem/5506522> Seed: cannot type into text box in
70445        Facebook, don't see plugin content (Adobe Flash)
70446
70447        * plugins/win/PluginViewWin.cpp:
70448        (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent
70449        frame  
70450
704512007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
70452
70453        Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
70454
70455        * WebCore.pro:
70456        * webcore-base.bkl:
70457
704582007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
70459
70460        Rubber stamped by Brady.
70461
70462        Started platform reorganization (platform/text addition).
70463        Moving string/text/font related classes into new places - as discussed on webkit-dev.
70464
70465        In a follow-up commit I'll move classes out of platform/{mac,win,...} into
70466        platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
70467
70468        * WebCore.order:
70469        * WebCore.pro:
70470        * WebCore.vcproj/WebCore.vcproj:
70471        * WebCore.xcodeproj/project.pbxproj:
70472        * WebCoreSources.bkl:
70473        * editing/ReplaceSelectionCommand.cpp:
70474        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
70475        * platform/AtomicString.cpp: Removed.
70476        * platform/AtomicString.h: Removed.
70477        * platform/AtomicStringImpl.h: Removed.
70478        * platform/Base64.cpp: Removed.
70479        * platform/Base64.h: Removed.
70480        * platform/BidiContext.cpp: Removed.
70481        * platform/BidiContext.h: Removed.
70482        * platform/BidiResolver.h: Removed.
70483        * platform/CString.cpp: Removed.
70484        * platform/CString.h: Removed.
70485        * platform/CharacterNames.h: Removed.
70486        * platform/CharsetData.h: Removed.
70487        * platform/Font.cpp: Removed.
70488        * platform/Font.h: Removed.
70489        * platform/FontCache.cpp: Removed.
70490        * platform/FontCache.h: Removed.
70491        * platform/FontData.cpp: Removed.
70492        * platform/FontData.h: Removed.
70493        * platform/FontDescription.h: Removed.
70494        * platform/FontFallbackList.cpp: Removed.
70495        * platform/FontFallbackList.h: Removed.
70496        * platform/FontFamily.cpp: Removed.
70497        * platform/FontFamily.h: Removed.
70498        * platform/FontSelector.h: Removed.
70499        * platform/GlyphBuffer.h: Removed.
70500        * platform/GlyphPageTreeNode.cpp: Removed.
70501        * platform/GlyphPageTreeNode.h: Removed.
70502        * platform/GlyphWidthMap.cpp: Removed.
70503        * platform/GlyphWidthMap.h: Removed.
70504        * platform/PlatformString.h: Removed.
70505        * platform/RegularExpression.cpp: Removed.
70506        * platform/RegularExpression.h: Removed.
70507        * platform/SegmentedString.cpp: Removed.
70508        * platform/SegmentedString.h: Removed.
70509        * platform/String.cpp: Removed.
70510        * platform/StringHash.h: Removed.
70511        * platform/StringImpl.cpp: Removed.
70512        * platform/StringImpl.h: Removed.
70513        * platform/StringTruncator.cpp: Removed.
70514        * platform/StringTruncator.h: Removed.
70515        * platform/TextBoundaries.h: Removed.
70516        * platform/TextBoundariesICU.cpp: Removed.
70517        * platform/TextBreakIterator.h: Removed.
70518        * platform/TextBreakIteratorICU.cpp: Removed.
70519        * platform/TextBreakIteratorInternalICU.h: Removed.
70520        * platform/TextCodec.cpp: Removed.
70521        * platform/TextCodec.h: Removed.
70522        * platform/TextCodecICU.cpp: Removed.
70523        * platform/TextCodecICU.h: Removed.
70524        * platform/TextCodecLatin1.cpp: Removed.
70525        * platform/TextCodecLatin1.h: Removed.
70526        * platform/TextCodecUTF16.cpp: Removed.
70527        * platform/TextCodecUTF16.h: Removed.
70528        * platform/TextCodecUserDefined.cpp: Removed.
70529        * platform/TextCodecUserDefined.h: Removed.
70530        * platform/TextDecoder.cpp: Removed.
70531        * platform/TextDecoder.h: Removed.
70532        * platform/TextDirection.h: Removed.
70533        * platform/TextEncoding.cpp: Removed.
70534        * platform/TextEncoding.h: Removed.
70535        * platform/TextEncodingRegistry.cpp: Removed.
70536        * platform/TextEncodingRegistry.h: Removed.
70537        * platform/TextStream.cpp: Removed.
70538        * platform/TextStream.h: Removed.
70539        * platform/TextStyle.h: Removed.
70540        * platform/UnicodeRange.cpp: Removed.
70541        * platform/UnicodeRange.h: Removed.
70542        * platform/graphics/Font.cpp: Copied from platform/Font.cpp.
70543        (WebCore::WidthIterator::WidthIterator):
70544        (WebCore::Font::width):
70545        (WebCore::Font::drawSimpleText):
70546        (WebCore::Font::drawGlyphBuffer):
70547        (WebCore::Font::drawText):
70548        (WebCore::Font::floatWidth):
70549        (WebCore::Font::floatWidthForSimpleText):
70550        (WebCore::Font::selectionRectForText):
70551        (WebCore::Font::selectionRectForSimpleText):
70552        (WebCore::Font::offsetForPosition):
70553        (WebCore::Font::offsetForPositionForSimpleText):
70554        * platform/graphics/Font.h: Copied from platform/Font.h.
70555        * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp.
70556        * platform/graphics/FontCache.h: Copied from platform/FontCache.h.
70557        * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp.
70558        * platform/graphics/FontData.h: Copied from platform/FontData.h.
70559        * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h.
70560        * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp.
70561        * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h.
70562        * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp.
70563        * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h.
70564        * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h.
70565        * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h.
70566        * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp.
70567        * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h.
70568        * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp.
70569        * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h.
70570        * platform/graphics/GraphicsContext.cpp:
70571        (WebCore::GraphicsContext::drawText):
70572        (WebCore::GraphicsContext::drawBidiText):
70573        (WebCore::GraphicsContext::drawHighlightForText):
70574        * platform/graphics/GraphicsContext.h:
70575        * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp.
70576        (WebCore::stringWidth):
70577        * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h.
70578        * platform/graphics/qt/GraphicsContextQt.cpp:
70579        * platform/gtk/FontGtk.cpp:
70580        (WebCore::Font::drawComplexText):
70581        (WebCore::Font::floatWidthForComplexText):
70582        (WebCore::Font::offsetForPositionForComplexText):
70583        (WebCore::Font::selectionRectForComplexText):
70584        * platform/mac/FontMac.mm:
70585        (WebCore::ATSULayoutParameters::ATSULayoutParameters):
70586        (WebCore::Font::selectionRectForComplexText):
70587        (WebCore::Font::drawComplexText):
70588        (WebCore::Font::floatWidthForComplexText):
70589        (WebCore::Font::offsetForPositionForComplexText):
70590        * platform/mac/WebCoreTextRenderer.mm:
70591        (WebCoreDrawTextAtPoint):
70592        (WebCoreTextFloatWidth):
70593        * platform/qt/FontQt.cpp:
70594        (WebCore::generateComponents):
70595        (WebCore::Font::drawText):
70596        (WebCore::Font::width):
70597        (WebCore::Font::floatWidth):
70598        (WebCore::Font::offsetForPosition):
70599        (WebCore::cursorToX):
70600        (WebCore::Font::selectionRectForText):
70601        * platform/text: Added.
70602        * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp.
70603        * platform/text/AtomicString.h: Copied from platform/AtomicString.h.
70604        * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h.
70605        * platform/text/Base64.cpp: Copied from platform/Base64.cpp.
70606        * platform/text/Base64.h: Copied from platform/Base64.h.
70607        * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp.
70608        * platform/text/BidiContext.h: Copied from platform/BidiContext.h.
70609        * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h.
70610        * platform/text/CString.cpp: Copied from platform/CString.cpp.
70611        * platform/text/CString.h: Copied from platform/CString.h.
70612        * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h.
70613        * platform/text/FontStyle.h: Copied from platform/TextStyle.h.
70614        (WebCore::FontStyle::FontStyle):
70615        * platform/text/PlatformString.h: Copied from platform/PlatformString.h.
70616        * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp.
70617        * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h.
70618        * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp.
70619        * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h.
70620        * platform/text/String.cpp: Copied from platform/String.cpp.
70621        * platform/text/StringHash.h: Copied from platform/StringHash.h.
70622        * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp.
70623        * platform/text/StringImpl.h: Copied from platform/StringImpl.h.
70624        * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h.
70625        * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp.
70626        (WebCore::findNextWordFromIndex):
70627        * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h.
70628        * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp.
70629        * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h.
70630        * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp.
70631        * platform/text/TextCodec.h: Copied from platform/TextCodec.h.
70632        * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp.
70633        * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h.
70634        * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp.
70635        * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h.
70636        * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp.
70637        * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h.
70638        * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp.
70639        * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h.
70640        * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp.
70641        * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h.
70642        * platform/text/TextDirection.h: Copied from platform/TextDirection.h.
70643        * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp.
70644        * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h.
70645        * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp.
70646        * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h.
70647        * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp.
70648        * platform/text/TextStream.h: Copied from platform/TextStream.h.
70649        * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp.
70650        * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h.
70651        * platform/text/mac: Added.
70652        * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h.
70653        * platform/win/FontWin.cpp:
70654        (WebCore::Font::selectionRectForComplexText):
70655        (WebCore::Font::drawComplexText):
70656        (WebCore::Font::floatWidthForComplexText):
70657        (WebCore::Font::offsetForPositionForComplexText):
70658        * platform/win/PopupMenuWin.cpp:
70659        (WebCore::PopupMenu::paint):
70660        * platform/win/UniscribeController.cpp:
70661        (WebCore::UniscribeController::UniscribeController):
70662        * platform/win/UniscribeController.h:
70663        * platform/win/WebCoreTextRenderer.cpp:
70664        (WebCore::doDrawTextAtPoint):
70665        * platform/wx/FontWx.cpp:
70666        (WebCore::Font::selectionRectForComplexText):
70667        (WebCore::Font::drawComplexText):
70668        (WebCore::Font::floatWidthForComplexText):
70669        (WebCore::Font::offsetForPositionForComplexText):
70670        * rendering/EllipsisBox.cpp:
70671        (WebCore::EllipsisBox::paint):
70672        * rendering/InlineTextBox.cpp:
70673        (WebCore::InlineTextBox::selectionRect):
70674        (WebCore::InlineTextBox::paint):
70675        (WebCore::InlineTextBox::paintSelection):
70676        (WebCore::InlineTextBox::paintCompositionBackground):
70677        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
70678        (WebCore::InlineTextBox::paintTextMatchMarker):
70679        (WebCore::InlineTextBox::offsetForPosition):
70680        (WebCore::InlineTextBox::positionForOffset):
70681        * rendering/RenderFileUploadControl.cpp:
70682        (WebCore::RenderFileUploadControl::paintObject):
70683        (WebCore::RenderFileUploadControl::calcPrefWidths):
70684        * rendering/RenderImage.cpp:
70685        * rendering/RenderListBox.cpp:
70686        (WebCore::RenderListBox::updateFromElement):
70687        (WebCore::RenderListBox::paintItemForeground):
70688        * rendering/RenderMenuList.cpp:
70689        (WebCore::RenderMenuList::updateOptionsWidth):
70690        * rendering/RenderText.cpp:
70691        (WebCore::RenderText::widthFromCache):
70692        (WebCore::RenderText::calcPrefWidths):
70693        (WebCore::RenderText::width):
70694        * rendering/RenderTextControl.cpp:
70695        (WebCore::RenderTextControl::setStyle):
70696        (WebCore::RenderTextControl::createInnerFontStyle):
70697        (WebCore::RenderTextControl::createSubtreeIfNeeded):
70698        (WebCore::RenderTextControl::calcPrefWidths):
70699        * rendering/RenderTextControl.h:
70700        * rendering/SVGInlineTextBox.cpp:
70701        (WebCore::SVGInlineTextBox::calculateGlyphWidth):
70702        (WebCore::SVGInlineTextBox::paintCharacters):
70703        (WebCore::SVGInlineTextBox::paintSelection):
70704        * rendering/SVGRootInlineBox.cpp:
70705        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
70706        (WebCore::svgFontStyleForInlineTextBox):
70707        * rendering/SVGRootInlineBox.h:
70708
707092007-11-30  Adele Peterson  <adele@apple.com>
70710
70711        Reviewed by Darin.
70712
70713        Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
70714        <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
70715
70716        Test: fast/events/mousemove-after-drag-over-scrollbar.html
70717
70718        * page/EventHandler.cpp:
70719        (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse.
70720         We should only need to show the hover effect when the mouse isn't pressed.
70721
707222007-11-29  Brady Eidson <beidson@apple.com>
70723
70724        Reviewed by Tim
70725
70726        Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
70727
70728        SQLite has the ability to enforce the page usage for databases.  This gives us bulletproof
70729        enforcement of the database size limit with reasonable granularity (within 1023 bytes by 
70730        default on OS X with SQLite 3.4.0)
70731
70732        This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
70733        statements involved
70734
70735        Note this patch does not actually use the new maximumSize() functionality of the 
70736        SQLiteDatabase class - that can be reviewed/landed seperately
70737        
70738        * platform/sql/SQLiteDatabase.cpp:
70739        (WebCore::SQLiteDatabase::SQLiteDatabase): 
70740        (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes
70741        (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count
70742          to enforce the maximum size in bytes
70743        (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return
70744          the cached value
70745        (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level 
70746          authorizer setup
70747        (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
70748        * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
70749
707502007-11-29  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
70751
70752        Reviewed by Maciej.
70753
70754        * Fix fast/events/mousedown_in_scrollbar.html
70755        * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
70756        * Extend the current check that the scrollbar in the mev can be go away.
70757        This happens if we destroy a RenderLayer as the result of a click. In the
70758        case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer
70759        is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the
70760        last reference. When calling into this scrollbar the m_client pointer is a dangling pointer.
70761        We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the
70762        scrollbar in the old mev and is gone in the new one.
70763        * This happens only on the Qt port because we send more/different move events.
70764
70765        * page/EventHandler.cpp:
70766        (WebCore::EventHandler::handleMousePressEvent):
70767
707682007-11-29  Antti Koivisto  <antti@apple.com>
70769
70770        Reviewed by Mitz.
70771
70772        Fix aspect ratio calculation of video.
70773        
70774        Video should always be treated as a replaced element in size calculation.
70775        
70776        Test: media/video-aspect-ratio.html
70777
70778        * rendering/RenderBox.cpp:
70779        (WebCore::RenderBox::calcWidth):
70780        (WebCore::RenderBox::calcHeight):
70781        * rendering/RenderBox.h:
70782        (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
70783        * rendering/RenderMedia.h:
70784        (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
70785
707862007-11-29  Sam Weinig  <sam@webkit.org>
70787
70788        Reviewed by Oliver.
70789
70790        Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
70791        - More closely match IE's policy for frame navigation.
70792
70793        * bindings/js/kjs_window.cpp:
70794        (KJS::WindowProtoFuncOpen::callAsFunction):
70795        * loader/FrameLoader.cpp:
70796        (WebCore::FrameLoader::shouldAllowNavigation):
70797        * page/FrameTree.cpp:
70798        (WebCore::FrameTree::top):
70799        * page/FrameTree.h:
70800
708012007-11-29  Dan Bernstein  <mitz@apple.com>
70802
70803        Reviewed by Adam Roben and John Sullivan.
70804
70805        - make the recent searches popup extend only along the straight part of
70806          the search field (unless it needs to be wider).
70807
70808        * platform/PopupMenuClient.h:
70809          Added clientInsetLeft() and clientInsetRight() for clients to
70810          specify desired horizontal insets for the menu.
70811        * platform/win/PopupMenuWin.cpp:
70812        (WebCore::PopupMenu::calculatePositionAndSize):
70813        (WebCore::PopupMenu::paint):
70814        * rendering/RenderMenuList.cpp:
70815        (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
70816        (WebCore::RenderMenuList::clientInsetRight): Ditto.
70817        * rendering/RenderMenuList.h:
70818        * rendering/RenderTextControl.cpp:
70819        (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
70820        control's height, which is the radius of the cap on the left.
70821        (WebCore::RenderTextControl::clientInsetRight): Added.
70822        * rendering/RenderTextControl.h:
70823
708242007-11-30  Alp Toker  <alp@atoker.com>
70825
70826        Reviewed by Maciej.
70827
70828        http://bugs.webkit.org/show_bug.cgi?id=16173
70829        Licensing change
70830
70831        Change license from BSD to LGPL.
70832
70833        This is being done to encourage vendors to contribute their fixes back
70834        upstream.
70835
70836        * platform/graphics/gtk/ColorGtk.cpp:
70837        * platform/graphics/gtk/IntPointGtk.cpp:
70838        * platform/graphics/gtk/IntRectGtk.cpp:
70839        * platform/graphics/svg/cairo/RenderPathCairo.cpp:
70840        * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp:
70841        * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
70842        * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp:
70843        * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
70844        * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp:
70845        * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp:
70846        * platform/gtk/Language.cpp:
70847        * platform/gtk/LoggingGtk.cpp:
70848        * platform/gtk/SoundGtk.cpp:
70849        * platform/gtk/SystemTimeGtk.cpp:
70850        * platform/gtk/TextBreakIteratorInternalICUGtk.cpp:
70851
708522007-11-29  Darin Adler  <darin@apple.com>
70853
70854        Reviewed by Adele.
70855
70856        - fix http://bugs.webkit.org/show_bug.cgi?id=16191
70857          REGRESSION: cannot tab to radio input after setting checked to false
70858
70859        Test: fast/forms/input-radio-checked-tab.html
70860
70861        * html/HTMLFormElement.cpp:
70862        (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
70863        so that it doesn't call setChecked(false) until after the map has been updated.
70864        Otherwise, we can end up deallocating the map before manipulating it. As long
70865        as I was changing the function, I decided to make it do only a single hash
70866        table lookup.
70867
70868        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
70869        Remove the button from the radio buttons set before changing the checked
70870        state. This matches the idiom used elsewhere and fixes the problem where
70871        setting checked to false would not remove it from the set.
70872
708732007-11-29  Justin Garcia  <justin.garcia@apple.com>
70874
70875        Reviewed by Darin Adler.
70876
70877        <rdar://problem/5620093> Brief hang when Safari caches page text of XML document
70878
70879        * editing/TextIterator.cpp:
70880        (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any 
70881        characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
70882        expensive.  So, we perform the inexpensive checks on m_node to see if it necessitates 
70883        emitting a character first and will early return before encountering 
70884        shouldRepresentNodeOffsetZero()s worse case behavior.
70885
708862007-11-29  Anders Carlsson  <andersca@apple.com>
70887
70888        Reviewed by Sam.
70889
70890        Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
70891
70892        * loader/ImageDocument.cpp:
70893        (WebCore::ImageDocument::createDocumentStructure):
70894        (WebCore::ImageDocument::imageChanged):
70895
708962007-11-29  Beth Dakin  <bdakin@apple.com>
70897
70898        Reviewed by Geoff.
70899
70900        Fix for <rdar://problem/5620151> Disable JavaScript for SVG as 
70901        image for <img> and CSS images
70902
70903        * platform/graphics/svg/SVGImage.cpp:
70904        (WebCore::SVGImage::dataChanged): When we create the empty clients, 
70905        explicitly disable JavaScript in the settings.
70906
709072007-11-29  Brady Eidson  <beidson@apple.com>
70908
70909        Reviewed by Anders
70910
70911        Support for <rdar://problem/5556381> and <rdar://problem/5556379>
70912
70913        The Database feature in the engine needs to support delegate calls for policy decisions and
70914        also provide notifications when origins and databases change their state.
70915
70916        This patch also polishes off the missing features of the management API
70917
70918        * page/Chrome.cpp: Implement the two UIDelegate methods
70919        (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
70920        (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
70921        * page/Chrome.h:
70922        * page/ChromeClient.h:
70923        * platform/graphics/svg/SVGImageEmptyClients.h:
70924        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
70925        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
70926
70927        * storage/Database.cpp:
70928        (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high 
70929          enough and if it isn't, the UIDelegate should have a change to bump the quota.
70930          Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
70931
70932        * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
70933          site database and is not important to API clients
70934        (WebCore::DatabaseDetails::DatabaseDetails):
70935        (WebCore::DatabaseDetails::isValid):
70936        (WebCore::DatabaseDetails::name):
70937
70938        * storage/DatabaseTracker.cpp:
70939        (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
70940          prevent you from having two databases of the same name from two different origins.  Also simplify the origin-management schema
70941        (WebCore::DatabaseTracker::canEstablishDatabase): Added.  Does some estimated size vs quota checks, and asks the UI delegate for 
70942          more space if necessary
70943        (WebCore::DatabaseTracker::hasEntryForOrigin):
70944        (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
70945          Also notifies the client of the new origin
70946        (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
70947        (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
70948        (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
70949        (WebCore::DatabaseTracker::origins):
70950        (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
70951        (WebCore::DatabaseTracker::usageForDatabase):
70952        (WebCore::DatabaseTracker::usageForOrigin):
70953        (WebCore::DatabaseTracker::quotaForOrigin):
70954        (WebCore::DatabaseTracker::setQuota): Notify the client
70955        (WebCore::DatabaseTracker::addDatabase): Notify the client 
70956        (WebCore::DatabaseTracker::deleteAllDatabases):
70957        (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
70958        (WebCore::DatabaseTracker::deleteDatabase):
70959        (WebCore::DatabaseTracker::deleteDatabaseFile):
70960        * storage/DatabaseTracker.h:
70961
709622007-11-29  Dan Bernstein  <mitz@apple.com>
70963
70964        Reviewed by Beth Dakin and Darin Adler.
70965
70966        - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
70967
70968        * manual-tests/context-click-unfocused-frame.html: Added.
70969
709702007-11-28  Antti Koivisto  <antti@apple.com>
70971
70972        Reviewed by Geoff.
70973        
70974        Fallback content inside media elements should not be rendered.
70975
70976        Test: media/fallback.html
70977
70978        * rendering/RenderMedia.h:
70979        (WebCore::RenderMedia::canHaveChildren):
70980
709812007-11-28  Mark Rowe  <mrowe@apple.com>
70982
70983        Windows build fix.
70984
70985        * WebCore.vcproj/WebCore.vcproj:
70986
709872007-11-28  Mark Rowe  <mrowe@apple.com>
70988
70989        Gtk build fix.
70990
70991        * WebCore.pro:
70992
709932007-11-28  Antti Koivisto  <antti@apple.com>
70994
70995        Reviewed by Oliver.
70996
70997        Make QTMovieView fill color transparent. This behavior matches the specification
70998        (and allows nice alpha blended video).
70999
71000        * platform/graphics/mac/MoviePrivateQTKit.mm:
71001        (WebCore::MoviePrivate::createQTMovieView):
71002
710032007-11-28  Antti Koivisto  <antti@apple.com>
71004
71005        Reviewed by Darin.
71006
71007        Test: media/video-controls.html
71008        
71009        <rdar://problem/5605668>
71010        Implement controls attribute for video element
71011        
71012        - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
71013          video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
71014          later by just instantiating RenderMedia as renderer.
71015        - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can 
71016          have child nodes (for controls).
71017        - Controls are implemented as a shadow DOM.
71018        - Current look is a placeholder. It is defined purely in CSS.
71019        - Some things like volume controls are not yet implemented.
71020        - Fade-in/out is done manually, CSS animations don't work well in shadow trees.
71021          
71022        * WebCore.xcodeproj/project.pbxproj:
71023        * css/html4.css:
71024        * html/HTMLMediaElement.cpp:
71025        (WebCore::HTMLMediaElement::attributeChanged):
71026        (WebCore::HTMLMediaElement::updateMovie):
71027        (WebCore::HTMLMediaElement::defaultEventHandler):
71028        * html/HTMLMediaElement.h:
71029        * rendering/RenderMedia.cpp: Added.
71030        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
71031        (WebCore::MediaControlShadowRootElement::isShadowNode):
71032        (WebCore::MediaControlShadowRootElement::shadowParentNode):
71033        (WebCore::MediaControlInputElement::MediaControlInputElement):
71034        (WebCore::MediaControlInputElement::attachToParent):
71035        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
71036        (WebCore::MediaControlPlayButtonElement::inPausedState):
71037        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
71038        (WebCore::MediaControlPlayButtonElement::update):
71039        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
71040        (WebCore::MediaControlTimelineElement::defaultEventHandler):
71041        (WebCore::MediaControlTimelineElement::update):
71042        (WebCore::RenderMedia::RenderMedia):
71043        (WebCore::RenderMedia::~RenderMedia):
71044        (WebCore::RenderMedia::mediaElement):
71045        (WebCore::RenderMedia::movie):
71046        (WebCore::RenderMedia::setStyle):
71047        (WebCore::RenderMedia::createControlsShadowRoot):
71048        (WebCore::RenderMedia::createPanel):
71049        (WebCore::RenderMedia::createPlayButton):
71050        (WebCore::RenderMedia::createTimeline):
71051        (WebCore::RenderMedia::createTimeDisplay):
71052        (WebCore::RenderMedia::updateFromElement):
71053        (WebCore::RenderMedia::updateControls):
71054        (WebCore::RenderMedia::timeUpdateTimerFired):
71055        (WebCore::RenderMedia::updateTimeDisplay):
71056        (WebCore::RenderMedia::updateControlVisibility):
71057        (WebCore::RenderMedia::changeOpacity):
71058        (WebCore::RenderMedia::opacityAnimationTimerFired):
71059        (WebCore::RenderMedia::forwardEvent):
71060        * rendering/RenderMedia.h: Added.
71061        (WebCore::RenderMedia::renderName):
71062        (WebCore::RenderMedia::isMedia):
71063        (WebCore::RenderMedia::intrinsicSize):
71064        * rendering/RenderObject.h:
71065        (WebCore::RenderObject::isMedia):
71066        * rendering/RenderVideo.cpp:
71067        (WebCore::RenderVideo::RenderVideo):
71068        (WebCore::RenderVideo::videoSizeChanged):
71069        (WebCore::RenderVideo::paintObject):
71070        (WebCore::RenderVideo::layout):
71071        (WebCore::RenderVideo::updateFromElement):
71072        (WebCore::RenderVideo::calcAspectRatioWidth):
71073        (WebCore::RenderVideo::calcAspectRatioHeight):
71074        * rendering/RenderVideo.h:
71075
710762007-11-28  Justin Garcia  <justin.garcia@apple.com>
71077
71078        Reviewed by Darin Adler.
71079
71080        <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
71081        
71082        In the new beta, Google has added some custom code on top of our RemoveFormat
71083        to work around a bug where fully selected lists aren't removed.  This code corrupts
71084        the undo stack and causes crashes.  This change fixes two problems with RemoveFormat
71085        so that Google doesn't have to have any custom code. After checking this in I'll 
71086        work on bulletproofing the undo stack
71087
71088        * WebCore.xcodeproj/project.pbxproj: 
71089        * editing/CompositeEditCommand.cpp:
71090        (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
71091        (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
71092        just the last paragraph.  Added code to support an input string with '\n's.
71093        * editing/CompositeEditCommand.h:
71094        * editing/Editor.cpp:
71095        (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
71096        * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
71097        (WebCore::RemoveFormatCommand::RemoveFormatCommand):
71098        (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
71099        * editing/RemoveFormatCommand.h: Added.
71100        (WebCore::RemoveFormatCommand::editingAction):
71101
711022007-11-28  Dan Bernstein  <mitz@apple.com>
71103
71104        Reviewed by Dave Hyatt.
71105
71106        - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
71107
71108        Test: fast/table/empty-auto-column-zero-divide.html
71109
71110        * rendering/AutoTableLayout.cpp:
71111        (WebCore::AutoTableLayout::recalcColumn):
71112        (WebCore::AutoTableLayout::fullRecalc):
71113        (WebCore::AutoTableLayout::calcEffectiveWidth):
71114        (WebCore::AutoTableLayout::layout): When distributing the remaining
71115        width among columns, skip those whose effective (rather than
71116        specified) width is auto and contain only empty cells.
71117
711182007-11-28  Peter Kasting  <pkasting@google.com>
71119
71120        Reviewed by Alp Toker.
71121
71122        http://bugs.webkit.org/show_bug.cgi?id=16169
71123        GIF decoder needs to set hasAlpha() correctly on subsequent frames.
71124        
71125        This also removes the workaround for this problem in
71126        ImageSourceCairo.cpp.
71127
71128        * platform/graphics/cairo/ImageSourceCairo.cpp:
71129        (WebCore::ImageSource::frameHasAlphaAtIndex):
71130        * platform/image-decoders/gif/GIFImageDecoder.cpp:
71131        (WebCore::GIFImageDecoder::initFrameBuffer):
71132
711332007-11-28  Dan Bernstein  <mitz@apple.com>
71134
71135        Reviewed by Darin Adler and Adam Roben.
71136
71137        - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
71138
71139        * platform/win/SearchPopupMenuWin.cpp:
71140        (WebCore::SearchPopupMenu::enabled): Changed to return true.
71141        (WebCore::autosaveKey): Added. Returns a preferences key for the
71142        autosave name by prefixing it with "com.apple.WebKit.searchField:".
71143        (WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
71144        (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
71145
711462007-11-28  Alp Toker  <alp@atoker.com>
71147
71148        Reviewed by Mark Rowe.
71149
71150        http://bugs.webkit.org/show_bug.cgi?id=15689
71151        [GTK] Background of loading images is always black
71152
71153        frameHasAlphaAtIndex() exists only to allow optimization for cases we
71154        are certain the image can be blitted rather than composited.
71155
71156        Thus we need to be conservative, returning false only when we are
71157        absolutely certain there is no need for composited copying, and true
71158        otherwise.
71159
71160        CG doesn't even bother with this optimization at all and always
71161        returns true.
71162
71163        Patch includes a workaround for
71164          http://bugs.webkit.org/show_bug.cgi?id=16169
71165          GIF ImageDecoder hasAlpha() return value incorrect
71166
71167        * platform/graphics/cairo/ImageSourceCairo.cpp:
71168        (WebCore::ImageSource::frameHasAlphaAtIndex):
71169
711702007-11-27  Alp Toker  <alp@atoker.com>
71171
71172        Reviewed by Mark Rowe.
71173
71174        Install the JavaScriptCore headers as part of the GTK+ port.
71175
71176        * WebCore.pro:
71177
711782007-11-27  Beth Dakin  <bdakin@apple.com>
71179
71180        Reviewed by Oliver.
71181
71182        Fix for <rdar://problem/5616052> SVGs with width or height of 100% 
71183        hang when used as a background-image (16164)
71184
71185        * platform/graphics/svg/SVGImage.cpp:
71186        (WebCore::SVGImage::size): Use valueAsPercentage() for percents 
71187        instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() 
71188        returns, for example, 50 for 50%, so multiplying percentages by the 
71189        default size of 300 x 150 led to ridiculously huge dimensions for 
71190        SVG images, and the subsequent hang. 
71191
711922007-11-27  Jon Honeycutt  <jhoneycutt@apple.com>
71193
71194        Reviewed by Adam.
71195
71196        Set haveRegisteredWindowClass when we register the window class.
71197
71198        * plugins/win/PluginViewWin.cpp:
71199        (WebCore::registerPluginView):
71200
712012007-11-27  Timothy Hatcher  <timothy@apple.com>
71202
71203        Reviewed by Sam Weinig.
71204
71205        Bug 16165: Dragging the inspector toolbar should move the window
71206        http://bugs.webkit.org/show_bug.cgi?id=16165
71207
71208        * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
71209        * page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
71210        * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add
71211          toolbar drag functions that move the window.
71212
712132007-11-27  Antti Koivisto  <antti@apple.com>
71214
71215        Reviewed by Mitz.
71216
71217        Small changes to make RenderSlider a bit more generic so it can be used in video controls.
71218
71219        * html/HTMLInputElement.cpp:
71220        (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
71221        * rendering/RenderSlider.cpp:
71222        (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events.
71223        (WebCore::RenderSlider::setStyle):
71224        (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset.
71225        (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
71226        * rendering/RenderSlider.h:
71227
712282007-11-27  Antti Koivisto  <antti@apple.com>
71229
71230        Reviewed by Darin.
71231
71232        - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles
71233          generally exist when asked for so the optimization does not do much. This reverses the continuing
71234          growth of the _pseudoBits bitfield in RenderStyle.
71235        - Add some pseudo elements for media controls
71236
71237        * css/CSSSelector.cpp:
71238        (WebCore::CSSSelector::extractPseudoType):
71239        * css/CSSSelector.h:
71240        (WebCore::CSSSelector::):
71241        * css/CSSStyleSelector.cpp:
71242        (WebCore::CSSStyleSelector::matchRulesForList):
71243        (WebCore::CSSStyleSelector::checkOneSelector):
71244        * rendering/RenderObject.cpp:
71245        (WebCore::RenderObject::getPseudoStyle):
71246        * rendering/RenderStyle.cpp:
71247        (WebCore::pseudoBit):
71248        (WebCore::RenderStyle::hasPseudoStyle):
71249        (WebCore::RenderStyle::setHasPseudoStyle):
71250        * rendering/RenderStyle.h:
71251        (WebCore::RenderStyle::):
71252
712532007-11-27  Timothy Hatcher  <timothy@apple.com>
71254
71255        Reviewed by Kevin McCullough.
71256
71257        Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
71258        http://bugs.webkit.org/show_bug.cgi?id=16161
71259
71260        Removed the "Adjust the window rect to be in the coordinate space of
71261        the screen rect" step which was always adding (0,22) to the window
71262        position (on the main screen). Instead, account for screen X and Y
71263        in the bottom and right constrain step.
71264
71265        Added more test cases to: fast/dom/Window/window-resize.html
71266
71267        * bindings/js/kjs_window.cpp:
71268        (KJS::adjustWindowRect):
71269
712702007-11-27  Timothy Hatcher  <timothy@apple.com>
71271
71272        Reviewed by Adam Roben.
71273
71274        * page/inspector/inspector.css: Make the text in the Network
71275        panel legend more readable.
71276
712772007-11-27  Timothy Hatcher  <timothy@apple.com>
71278
71279        Reviewed by Adam Roben.
71280
71281        Don't call setNeedsReapplyStylesInAllFrames if the
71282        authorAndUserStylesEnabled setting didn't change.
71283
71284        * page/Settings.cpp:
71285        (WebCore::Settings::setAuthorAndUserStylesEnabled):
71286
712872007-11-27  Alp Toker  <alp@atoker.com>
71288
71289        Fix potential broken build due to a missing DEPENDPATH.
71290
71291        * WebCore.pro:
71292
712932007-11-26  Timothy Hatcher  <timothy@apple.com>
71294
71295        Reviewed by Dave Hyatt.
71296
71297        <rdar://problem/5569233> Add the ability to disable author and user CSS styles
71298
71299        * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
71300        * css/CSSStyleSelector.cpp:
71301        (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
71302        (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
71303        matching user and author rules.
71304        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
71305        (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
71306        * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
71307        * dom/Document.cpp:
71308        (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
71309        (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
71310        Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
71311        * page/Settings.cpp:
71312        (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
71313        (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
71314        when the setting changes.
71315        * page/Settings.h: Add m_authorAndUserStylesEnabled.
71316        (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
71317
713182007-11-27  Alp Toker  <alp@atoker.com>
71319
71320        Reviewed by Mark Rowe.
71321
71322        Based on changes by Mike Emmel.
71323
71324        CURL HTTP backend local file fixes:
71325
71326        Set a MIME type for local files based on the file extension.
71327
71328        Remove any HTTP query part sent to a local file.
71329
71330        * platform/network/curl/ResourceHandleManager.cpp:
71331        (WebCore::ResourceHandleManager::startJob):
71332
713332007-11-26  Brady Eidson  <beidson@apple.com>
71334
71335        Reviewed by Mark Rowe
71336
71337        Allow setting the default storage quota per database origin
71338
71339        * WebCore.base.exp:
71340
71341        * page/Settings.cpp:
71342        (WebCore::Settings::setDefaultDatabaseOriginQuota):
71343        (WebCore::Settings::defaultDatabaseOriginQuota):
71344        * page/Settings.h:
71345
71346        * storage/DatabaseTracker.cpp:
71347        (WebCore::DatabaseTracker::DatabaseTracker):
71348        (WebCore::DatabaseTracker::setDefaultOriginQuota):
71349        (WebCore::DatabaseTracker::defaultOriginQuota):
71350        * storage/DatabaseTracker.h:
71351
713522007-11-26  Peter Kasting  <pkasting@google.com>
71353
71354        Reviewed by Alp Toker.
71355
71356        http://bugs.webkit.org/show_bug.cgi?id=15974
71357        GIF decoding should respect frames' specified disposal methods.
71358
71359        * platform/image-decoders/ImageDecoder.h:
71360        (WebCore::RGBA32Buffer::):
71361        (WebCore::RGBA32Buffer::RGBA32Buffer):
71362        (WebCore::RGBA32Buffer::disposalMethod):
71363        (WebCore::RGBA32Buffer::setDisposalMethod):
71364        * platform/image-decoders/gif/GIFImageDecoder.cpp:
71365        (WebCore::GIFImageDecoder::frameBufferAtIndex):
71366        (WebCore::GIFImageDecoder::initFrameBuffer):
71367        (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
71368        (WebCore::GIFImageDecoder::haveDecodedRow):
71369        (WebCore::GIFImageDecoder::frameComplete):
71370        * platform/image-decoders/gif/GIFImageDecoder.h:
71371        * platform/image-decoders/gif/GIFImageReader.cpp:
71372        (GIFImageReader::read):
71373        * platform/image-decoders/gif/GIFImageReader.h:
71374        (GIFFrameReader::GIFFrameReader):
71375
713762007-11-26  Adam Roben  <aroben@apple.com>
71377
71378        Add a Color(CGColorRef) constructor
71379
71380        Reviewed by Darin.
71381
71382        * platform/graphics/Color.h:
71383        * platform/graphics/cg/ColorCG.cpp:
71384        (WebCore::Color::Color): Added.
71385
713862007-11-26  Adele Peterson  <adele@apple.com>
71387
71388        Reviewed by Darin.
71389
71390        Update to last change.  Moved addPendingSheet call to within nil check for m_cachedSheet.
71391
71392        * page/Frame.cpp:
71393        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
71394
713952007-11-26  Adele Peterson  <adele@apple.com>
71396
71397        Reviewed by Darin.
71398
71399        Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
71400
71401        * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
71402        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
71403        (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
71404
714052007-11-26  Mark Rowe  <mrowe@apple.com>
71406
71407        GCC 4.2 build fix.
71408
71409        * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
71410
714112007-11-26  Feng Qian <feng@chromium.org>
71412
71413        Reviewed and touched up by Sam Weinig.
71414
71415        Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
71416
71417        Test: http/tests/security/xss-DENIED-invalid-domain-change.html
71418
71419        * dom/Document.cpp:
71420        (WebCore::Document::setDomain): Don't set the securityOrigin policy unless
71421        the set succeeds.  Adds some early returns as well.
71422
714232007-11-26  Steve Falkenburg  <sfalken@apple.com>
71424
71425        Build fix.
71426
71427        * WebCore.vcproj/WebCore.make:
71428        * WebCore.vcproj/migrate-idls.sh:
71429
714302007-11-26  Sam Weinig  <sam@webkit.org>
71431
71432        Fix potential null-dereference.
71433
71434        Reviewed by Adam Roben.
71435
71436        * page/FrameTree.cpp:
71437        (WebCore::FrameTree::isDescendantOf):
71438
714392007-11-26  Sam Weinig  <sam@webkit.org>
71440
71441        Reviewed by Darin.
71442
71443        Fix for <rdar://problem/5592988>
71444        - Enforce tighter restrictions on what frames in other domains
71445          can be navigated.
71446
71447        Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
71448               http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
71449
71450        * bindings/js/kjs_window.cpp:
71451        (KJS::Window::put):
71452        (KJS::Location::put):
71453        (KJS::LocationProtoFuncReplace::callAsFunction):
71454        (KJS::LocationProtoFuncAssign::callAsFunction):
71455        * loader/FrameLoader.cpp:
71456        (WebCore::FrameLoader::createWindow):
71457        (WebCore::FrameLoader::load):
71458        (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
71459        * loader/FrameLoader.h:
71460        * page/FrameTree.cpp:
71461        (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
71462        in the same page.
71463
714642007-11-26  Steve Falkenburg  <sfalken@apple.com>
71465
71466        Build fix.
71467
71468        * WebCore.vcproj/migrate-idls.sh:
71469
714702007-11-26  Dan Bernstein  <mitz@apple.com>
71471
71472        Reviewed by Dave Hyatt.
71473
71474        - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
71475
71476        Test: fast/dynamic/float-withdrawal-2.html
71477
71478        * rendering/RenderBlock.cpp:
71479        (WebCore::RenderBlock::layoutBlockChildren): When a float may have
71480        been withdrawn from a child, mark all descendants if necessary and not
71481        just the child.
71482
714832007-11-26  Steve Falkenburg  <sfalken@apple.com>
71484
71485        Build fix.
71486
71487        * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
71488        * WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
71489        * WebCore.vcproj/migrate-idls.sh:
71490
714912007-11-26  Brady Eidson  <beidson@apple.com>
71492
71493        Reviewed by Anders (and typo lovingly found by Adam)
71494
71495        Change Databases to be stored in a per-origin directory hierarchy - this will make
71496        storage quotas much easier to enforce
71497
71498        * platform/SecurityOriginData.cpp:
71499        (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
71500        (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.  
71501          '_' still works due to not being allowed in domain names, but also is a valid filename character '
71502          on all filesystems we care about
71503
71504        * storage/DatabaseTracker.cpp:
71505        (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
71506          databases by origin
71507
715082007-11-26  Timothy Hatcher  <timothy@apple.com>
71509
71510        Reviewed by Adam Roben.
71511
71512        Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
71513        http://bugs.webkit.org/show_bug.cgi?id=16137
71514
71515        On Leopard the toolbar background will be transparent, to allow the
71516        window background to show through the transparent WebView. The 
71517        search results divs needed to move inside the "main" div, so they
71518        would be clipped and not show where the toolbar is.
71519
71520        * page/InspectorController.cpp:
71521        (WebCore::platform): Return a string for which platform we are.
71522        (WebCore::InspectorController::windowScriptObjectAvailable):
71523        Define the platform function on the JavaScript class.
71524        * page/inspector/Panel.js: Add panels to the panels div.
71525        * page/inspector/inspector.css: On the Leopard platform make
71526        the toolbar background transparent so the window background shows.
71527        * page/inspector/inspector.html: Add a panels div and move search
71528        result divs inside the main div.
71529        * page/inspector/inspector.js: Tweak the resize code to acount for
71530        the search results divs moving inside the main div.
71531
715322007-11-25  Rodney Dawes  <dobey@wayofthemonkey.com>
71533
71534        Reviewed by Maciej Stachowiak.
71535
71536        Remove the unneeded CFNETWORK #ifdefs.
71537
71538        * loader/NetscapePlugInStreamLoader.h:
71539
715402007-11-24  Laszlo Gombos  <laszlo.gombos@gmail.com>
71541
71542        Reviewed by Sam Weinig.
71543
71544        Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
71545
71546        * dom/XMLTokenizer.cpp:
71547        * dom/XMLTokenizer.h:
71548        * platform/DeprecatedString.h:
71549        * platform/PlatformString.h:
71550
715512007-11-25  Dan Bernstein  <mitz@apple.com>
71552
71553        Reviewed by Adam Roben.
71554
71555        - fix off-center error images
71556
71557        Covered by many pixel tests with missing images
71558
71559        * rendering/RenderImage.cpp:
71560        (WebCore::RenderImage::paint): Account for the 1 pixel outline when
71561        positioning the error image.
71562
715632007-11-25  Kevin Ollivier  <kevino@theolliviers.com>
71564
71565        wx build fix. Fix filename case for case-sensitive filesystems.
71566
71567        * WebCoreSources.bkl:
71568
715692007-11-22  Nikolas Zimmermann  <zimmermann@kde.org>
71570
71571        Reviewed by Adam Roben.
71572
71573        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
71574
71575        Fix problems with hidden glyphs. They were taken into account for quite
71576        some operations (hit testing, length calulcations etc..) except painting.
71577        Especially fixes boundaries of <textPath> (see using Web Inspector) if
71578        text-anchor isn't equal to 'start'.
71579
71580        Added testcase:
71581        svg/text/textPathBoundsBug.svg
71582
71583        Fixed testcase: (all showed text selection problems on text paths)
71584        svg/batik/text/textGlyphOrientationHorizontal.svg
71585        svg/batik/text/textOnPath.svg
71586        svg/batik/text/textOnPath3.svg
71587        svg/batik/text/verticalTextOnPath.svg
71588        svg/text/text-align-04-b.svg
71589        svg/W3C-SVG-1.1/text-align-04-b.svg
71590
71591        * rendering/SVGCharacterLayoutInfo.cpp:
71592        (WebCore::SVGChar::isHidden):
71593        * rendering/SVGCharacterLayoutInfo.h:
71594        (WebCore::SVGCharOnPath::SVGCharOnPath):
71595        * rendering/SVGInlineTextBox.cpp:
71596        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
71597        (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
71598        * rendering/SVGRootInlineBox.cpp:
71599        (WebCore::topLeftPositionOfCharacterRange):
71600        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
71601        (WebCore::cummulatedWidthOrHeightOfTextChunk):
71602        (WebCore::applyTextAnchorToTextChunk):
71603        (WebCore::applyTextLengthCorrectionToTextChunk):
71604        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
71605        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
71606        (WebCore::SVGRootInlineBox::buildTextChunks):
71607
716082007-11-25  Alexey Proskuryakov  <ap@webkit.org>
71609
71610        Reviewed by Maciej.
71611
71612        http://bugs.webkit.org/show_bug.cgi?id=15919
71613        XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
71614
71615        Test: fast/xsl/extra-lf-at-end.html
71616
71617        * xml/XSLTProcessor.cpp:
71618        (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
71619        (WebCore::saveResultToString): Remove trailing line feed if present.
71620
716212007-11-24  Mark Rowe  <mrowe@apple.com>
71622
71623        Reviewed by Tim Hatcher.
71624
71625        Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
71626        http://bugs.webkit.org/show_bug.cgi?id=13705
71627
71628        Don't buffer the entire stream contents in memory in the ResourceLoader.
71629
71630        * loader/mac/NetscapePlugInStreamLoaderMac.mm:
71631        (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
71632        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
71633        * loader/mac/WebPlugInStreamLoaderDelegate.h:
71634
716352007-11-23  Adam Roben  <aroben@apple.com>
71636
71637        Get rid of WebCoreSystemInterface on Windows
71638
71639        The one function defined in that file is now in WebKitSystemInterface.
71640
71641        Reviewed by Tim.
71642
71643        * WebCore.vcproj/WebCore.vcproj: Removed
71644        WebCoreSystemInterface.{cpp,h}.
71645        * platform/graphics/cg/ImageCG.cpp: Made #include of
71646        WebCoreSystemInterface.h Mac-only.
71647        * platform/win/GraphicsContextWin.cpp: Ditto.
71648        * platform/win/WebCoreSystemInterface.cpp: Removed.
71649        * platform/win/WebCoreSystemInterface.h: Removed.
71650
716512007-11-24  Adam Roben  <aroben@apple.com>
71652
71653        Replace uses of %@ with %s in the inspector
71654
71655        Rubberstamped by Tim.
71656
71657        * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
71658        * page/inspector/DatabasePanel.js: Ditto.
71659        * page/inspector/StylesSidebarPane.js: Ditto.
71660        * page/inspector/inspector.js: Ditto.
71661        * page/inspector/utilities.js:
71662        (String.vsprintf): Removed @ as a format specifier.
71663
716642007-11-24  Adam Roben  <aroben@apple.com>
71665
71666        Windows build fix
71667
71668        Turn off the change made in r27984 on Windows for now.
71669
71670        * xml/XSLTProcessor.cpp:
71671        (WebCore::XSLTProcessor::transformToString):
71672        * xml/XSLTUnicodeSort.cpp:
71673
716742007-11-24  Timothy Hatcher  <timothy@apple.com>
71675
71676        Reviewed by Adam Roben.
71677
71678        Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
71679        addEventListener and setTimeout
71680        http://bugs.webkit.org/show_bug.cgi?id=16121
71681
71682        Add Function.prototype.bind. This helper will return a wrapper function
71683        that will call the original function with the supplied arguments
71684        and using the supplied 'this' object.
71685
71686        * page/inspector/Database.js: Remove a use of setTimeout by
71687          inheriting some common functions from Resource.
71688        * page/inspector/DatabasePanel.js: Use the new bind function.
71689        * page/inspector/ConsolePanel.js: Ditto.
71690        * page/inspector/DocumentPanel.js: Ditto.
71691        * page/inspector/NetworkPanel.js: Ditto.
71692        * page/inspector/PropertiesSection.js: Ditto.
71693        * page/inspector/Resource.js: Ditto.
71694        * page/inspector/SidebarPane.js: Ditto.
71695        * page/inspector/inspector.html: Moved Database.js after Resource.js,
71696          now that Database.js uses it.
71697        * page/inspector/inspector.js: Use the new bind function. Also
71698          removed a setTimeout used for the localized strings code. There is
71699          now a load event listener added to the localized strings script
71700          element that will call WebInspector.loaded.
71701        * page/inspector/utilities.js: Add Function.prototype.bind.
71702
717032007-11-24  Timothy Hatcher  <timothy@apple.com>
71704
71705        Reviewed by Adam Roben.
71706
71707        Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
71708        http://bugs.webkit.org/show_bug.cgi?id=16112
71709
71710        In the places where we use offsetWidth and offsetHeight before
71711        the stylesheet loads there is now a check. If the body's
71712        offsetWidth is not greater than zero, then set a timeout
71713        to do the updates requiring the stylesheet later.
71714
71715        The three places this happened:
71716        - DOM tree selection highlight would show up at the wrong height
71717          when using Inspect Element to open the inspector.
71718        - DOM tree breadcrumbs would not collapse when using Inspect Element
71719          to open the inspector.
71720        - Network Timeline divider lines would not show when opening directly
71721          into the timeline.
71722
71723        * page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
71724        * page/inspector/NetworkPanel.js: Ditto.
71725        * page/inspector/inspector.html: Include the stylesheet before
71726          any scripts, this will help get it loaded sooner.
71727
717282007-11-24  Kevin Ollivier  <kevino@theolliviers.com>
71729
71730        Add wx implementation for pathGetFilename
71731
71732        Reviewed by David D. Kilzer.
71733
71734        * html/HTMLFormElement.cpp:
71735        (WebCore::pathGetFilename):
71736
717372007-11-23  Timothy Hatcher  <timothy@apple.com>
71738
71739        Reviewed by Adam Roben.
71740
71741        Bug 16110: Clicking inside the resource headers in the network timeline collapses them
71742        http://bugs.webkit.org/show_bug.cgi?id=16110
71743
71744        Toggle the resource headers only if the click happens on the
71745        resource row, not within the headers area.
71746
71747        * WebCore.xcodeproj/project.pbxproj:
71748        * page/inspector/NetworkPanel.js:
71749
717502007-11-23  Kevin Ollivier  <kevino@theolliviers.com>
71751
71752        Win build fixes. CURL needs winsock, so don't disable it, and
71753        include pthreads.h to get the threadsafe *_r functions.
71754
71755        Reviewed by Adam Roben.
71756
71757        * config.h:
71758        * loader/FTPDirectoryDocument.cpp:
71759        * loader/FTPDirectoryParser.cpp:
71760
717612007-11-23  Kevin Ollivier  <kevino@theolliviers.com>
71762
71763        wx build fix. Move wx settings to project build settings,
71764        remove some old settings that were masking a build problem,
71765        and fix include ordering to ensure proper config.h and
71766        unicode/utf8.h headers are used. 
71767
71768        * webcore-base.bkl:
71769        * webcore-wx.bkl:
71770
717712007-11-23  Simon Hausmann  <hausmann@webkit.org>
71772
71773        Reviewed by George Staikos <staikos@kde.org>.
71774
71775        Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
71776
71777        * WebCore.pro:
71778
717792007-11-23  Alexey Proskuryakov  <ap@webkit.org>
71780
71781        Not reviewed, trivial leak fix.
71782
71783        Fix xsltUnicodeSortFunction() memory leaks.
71784
71785        * xml/XSLTUnicodeSort.cpp:
71786        (WebCore::xsltUnicodeSortFunction):
71787
717882007-11-23  Alexey Proskuryakov  <ap@webkit.org>
71789
71790        Reviewed by Maciej.
71791
71792        <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
71793        not closed (affects digg.com)
71794
71795        Tests: fast/loader/meta-refresh-vs-open.html
71796               fast/loader/redirect-with-open-subframe-2.html
71797               fast/loader/redirect-with-open-subframe.html
71798               http/tests/loading/onload-vs-immediate-refresh.pl
71799
71800        * loader/FrameLoader.cpp:
71801        (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
71802        HTTP redirects - JavaScript-initiated ones are effective immediately.
71803
718042007-11-23  Dan Bernstein  <mitz@apple.com>
71805
71806        Reviewed by Alexey Proskuryakov.
71807
71808        - apply matrix transforms on the correct side of the transformation
71809          matrix (not on the side where the vector is multiplied).
71810
71811        Test: fast/transforms/matrix-02.html
71812
71813        * rendering/RenderStyle.h:
71814        (WebCore::MatrixTransformOperation::apply):
71815
718162007-11-23  Alexey Proskuryakov  <ap@webkit.org>
71817
71818        Reviewed by Maciej.
71819
71820        http://bugs.webkit.org/show_bug.cgi?id=16077
71821        <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
71822        browser implementations
71823
71824        Test: fast/xsl/sort-unicode.xml
71825
71826        * xml/XSLTProcessor.cpp:
71827        (WebCore::XSLTProcessor::transformToString): Set a custom sort function.
71828
71829        * xml/XSLTUnicodeSort.cpp: Added.
71830        (init_xsltTransformError):
71831        (xsltTransformError):
71832        (WebCore::xsltUnicodeSortFunction):
71833        * xml/XSLTUnicodeSort.h: Added.
71834        ICU-based implementation of xsl:sort, using an example from libxslt distribution.
71835        Only minimal coding style fixes to ease synchronization with upstream in the future.
71836
71837        * icu/unicode/ucol.h: Added.
71838        * icu/unicode/uset.h: Added.
71839        Taken from ICU 3.2
71840
71841        * WebCore.pro:
71842        * WebCore.vcproj/WebCore.vcproj:
71843        * WebCore.xcodeproj/project.pbxproj:
71844        * WebCoreSources.bkl:
71845        Added XSLTUnicodeSort.cpp.
71846
718472007-11-22  Alexey Proskuryakov  <ap@webkit.org>
71848
71849        Reviewed by Maciej.
71850
71851        http://bugs.webkit.org/show_bug.cgi?id=14977
71852        Hixie's DOM Core performance test shows insert >10x slower than append
71853
71854        Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
71855        which persisted and listened to notifications until GC.
71856
71857        A fix is to avoid registering child node lists for notifications - they don't need them, as
71858        they share a common cache in Node.
71859
71860        * dom/Node.cpp:
71861        (WebCore::Node::registerNodeList):
71862        (WebCore::Node::unregisterNodeList):
71863        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
71864        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
71865        * dom/NodeList.h:
71866        (WebCore::NodeList::needsNotifications):
71867
718682007-11-22  Dan Bernstein  <mitz@apple.com>
71869
71870        Reviewed by Antti Koivisto.
71871
71872        - fix http://bugs.webkit.org/show_bug.cgi?id=15811
71873          WebKit plug-ins can re-enter WebKit under attach()
71874          <rdar://problem/5577978>
71875
71876        Defer plug-in loading until after attach and recalcStyle using the
71877        post-attach callback mechanism. Netscape plug-ins are still loaded only
71878        after layout.
71879
71880        * dom/ContainerNode.cpp:
71881        Made NodeCallbackQueue elements retain the Node because callbacks might
71882        delete nodes that are in the callback queue.
71883        (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
71884        prevent post-attach callbacks from being dispatched under recalcStyle().
71885        (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
71886        (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
71887        attach().
71888        (WebCore::ContainerNode::attach):
71889        * dom/ContainerNode.h:
71890        * dom/Document.cpp:
71891        (WebCore::Document::recalcStyle): Added calls to
71892        suspendPostAttachCallbacks() and resumePostAttachCallbacks().
71893        * html/HTMLEmbedElement.cpp:
71894        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
71895        (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
71896        for post-attach.
71897        (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
71898        post-attach callback.
71899        * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
71900        prevent a double update if another plug-in's post-attach updateWidget()
71901        triggers a layout which updates the widget before this plug-in's
71902        post-attach callback is invoked.
71903        (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
71904        m_needWidgetUpdate.
71905        * html/HTMLObjectElement.cpp:
71906        (WebCore::HTMLObjectElement::attach): Changed to queue the widget update
71907        for post-attach.
71908        (WebCore::HTMLObjectElement::updateWidget): Added. Called by the
71909        post-attach callback.
71910        * html/HTMLObjectElement.h:
71911        (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
71912        m_needWidgetUpdate.
71913        * html/HTMLPlugInElement.cpp:
71914        (WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
71915        * html/HTMLPlugInElement.h:
71916        (WebCore::HTMLPlugInElement::updateWidget):
71917        * rendering/RenderPartObject.cpp:
71918        (WebCore::RenderPartObject::updateWidget): Added calls to
71919        setNeedWidgetUpdate(false) so that if this method is called from
71920        FrameView::layout() during post-attach dispatch of another plug-in,
71921        it will not be called again when this plug-in's post-attach callback
71922        is dispatched.
71923        * rendering/RenderPartObject.h:
71924        (WebCore::RenderPartObject::updateWidget) Renamed argument to match
71925        the method definition.
71926
719272007-11-22  Timothy Hatcher  <timothy@apple.com>
71928
71929        Reviewed by Dan Bernstein.
71930
71931        Fix the Element.hasStyleClass and Element.removeStyleClass helpers
71932        to not find and replace substrings, but whole class names at the
71933        beginning or end of the string or surrounded by whitespace.
71934
71935        * page/inspector/utilities.js:
71936
719372007-11-22  Timothy Hatcher  <timothy@apple.com>
71938
71939        Revert part of my r27935 change that made the Tip balloons
71940        animate with CSS transitions. The balloon was only opacity 0,
71941        so it would cause its row to highlight when hovering over
71942        another row.
71943
71944        * page/inspector/NetworkPanel.js:
71945        * page/inspector/inspector.css:
71946
719472007-11-22  Dan Bernstein  <mitz@apple.com>
71948
71949        Reviewed by Maciej Stachowiak.
71950
71951        - fix http://bugs.webkit.org/show_bug.cgi?id=15943
71952          -webkit-transform matrix does not work
71953
71954        Test: fast/transforms/matrix-01.html
71955
71956        Parse all six matrix entries as numbers.
71957
71958        * css/CSSParser.cpp:
71959        (WebCore::TransformOperationInfo::TransformOperationInfo):
71960        (WebCore::CSSParser::parseTransform):
71961        * css/CSSStyleSelector.cpp:
71962        (WebCore::CSSStyleSelector::applyProperty):
71963        * rendering/RenderStyle.cpp:
71964        (WebCore::MatrixTransformOperation::blend):
71965        * rendering/RenderStyle.h:
71966        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
71967        (WebCore::MatrixTransformOperation::apply):
71968
719692007-11-22  Laszlo Gombos  <laszlo.gombos@gmail.com>
71970
71971        Reviewed by Alp Toker.
71972
71973        Fix some compilation warnings.  Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
71974
71975        * loader/CachedFont.cpp:
71976        (WebCore::CachedFont::~CachedFont):
71977        (WebCore::CachedFont::allReferencesRemoved):
71978
719792007-11-22  Alp Toker  <alp@atoker.com>
71980
71981        Reviewed by Mark Rowe.
71982
71983        GTK+ drawing fix.
71984
71985        Add a check to avoid crashing when the GraphicsContext is not
71986        associated with a GdkEventExpose. This was noticed when adding
71987        printing support but might be triggered in other situations too.
71988
71989        * platform/gtk/WidgetGtk.cpp:
71990        (WebCore::Widget::paint):
71991
719922007-11-22  Julien Chaffraix  <julien.chaffraix@gmail.com>
71993
71994        Reviewed by Alexey.
71995
71996        Bug 15530: XMLHttpRequest should not support certain methods
71997
71998        Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
71999
72000        * xml/XMLHttpRequest.cpp:
72001        (WebCore::XMLHttpRequest::open):
72002
720032007-11-22  Simon Hausmann  <hausmann@kde.org>
72004
72005        Reviewed by George.
72006
72007        For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
72008
72009        * WebCore.pro:
72010
720112007-11-22  Simon Hausmann  <hausmann@kde.org>
72012
72013        Reviewed by George.
72014
72015        Don't set OBJECTS_DIR when building inside Qt
72016
72017        * WebCore.pro:
72018
720192007-11-22  Simon Hausmann  <hausmann@kde.org>
72020
72021        Reviewed by George.
72022
72023        Use ../generated as path for the generated sources for builds inside Qt
72024
72025        * WebCore.pro:
72026
720272007-11-22  Simon Hausmann  <hausmann@kde.org>
72028
72029        Reviewed by George.
72030
72031        Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
72032
72033        * WebCore.pro:
72034
720352007-11-22  Simon Hausmann  <hausmann@kde.org>
72036
72037        Reviewed by George.
72038
72039        Centralize the setup for all the extra compilers in a addExtraCompiler function.
72040        
72041        This allows adding a "generated_files" target that builds all generated files using "make generated_files".
72042        For the build inside Qt we do not generate actual rules for the extra compilers but instead
72043        do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
72044
72045        * WebCore.pro:
72046
720472007-11-21  Timothy Hatcher  <timothy@apple.com>
72048
72049        Reviewed by Eric Seidel.
72050
72051        Show Fonts as Yellow in the network timeline.
72052
72053        * page/inspector/NetworkPanel.js:
72054        * page/inspector/inspector.css:
72055
720562007-11-21  Dan Bernstein  <mitz@apple.com>
72057
72058        Reviewed by Eric Seidel.
72059
72060        - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
72061
72062        Test: fast/repaint/subtree-root-skipped.html
72063
72064        * page/FrameView.cpp:
72065        (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
72066        root to 0.
72067        (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
72068        instead of a Node.
72069        (WebCore::FrameView::layout): Changed for layout root being a renderer
72070        rather than a DOM node. Also replaced clearing the repaint rects
72071        set with asserting that it is empty if this is the top-level call to
72072        layout(). If it is not, the set may contain rects from enclosing
72073        layout() and those should not be removed.
72074        (WebCore::FrameView::scheduleRelayout): Changed for layout root being
72075        a renderer rather than a DOM node.
72076        (WebCore::isObjectAncestorContainerOf): Added this helper function that
72077        tests whether one object will be marked by calling
72078        markContainingBlocksForLayout() on the other.
72079        (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
72080        root being a renderer rather than a DOM node. Changed the check if new
72081        and current layout roots are on the same path from the root to use
72082        the subgraph of the render tree defined by container()hood instead of
72083        the DOM tree and parenthood.
72084        * page/FrameView.h:
72085        * rendering/RenderBox.cpp: 
72086        (WebCore::RenderBox::calcWidth): Changed for layout root being a
72087        renderer rather than a DOM node.
72088        * rendering/RenderObject.cpp:
72089        (WebCore::RenderObject::~RenderObject): Added an assertion that the
72090        object being deleted is not currently the layout root.
72091        (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
72092        a renderer rather than a DOM node.
72093
720942007-11-21  Mark Rowe  <mrowe@apple.com>
72095
72096        Reviewed by Eric.
72097
72098        Fix WebCore to build without warnings under GCC 4.2.
72099
72100        * Configurations/Base.xcconfig:
72101        * css/CSSRuleList.cpp:
72102        (WebCore::CSSRuleList::deleteRule):
72103        * css/CSSStyleSelector.cpp:
72104        (WebCore::CSSStyleSelector::locateSharedStyle):
72105        * html/HTMLParser.cpp:
72106        (WebCore::HTMLParser::allowNestedRedundantTag):
72107        * rendering/RenderBlock.cpp:
72108        (WebCore::RenderBlock::fillInlineSelectionGaps):
72109        (WebCore::RenderBlock::fillBlockSelectionGaps):
72110        * rendering/RenderLayer.cpp:
72111        (WebCore::RenderLayer::stackingContext):
72112        (WebCore::RenderLayer::enclosingPositionedAncestor):
72113        (WebCore::RenderLayer::transparentAncestor):
72114        * rendering/RenderStyle.cpp:
72115        (WebCore::BackgroundLayer::fillUnsetProperties):
72116        (WebCore::Transition::fillUnsetProperties):
72117        * rendering/RenderText.cpp:
72118        (WebCore::RenderText::containsOnlyWhitespace):
72119        * rendering/bidi.cpp:
72120        (WebCore::RenderBlock::determineStartPosition):
72121
721222007-11-21  Alp Toker  <alp@atoker.com>
72123
72124        Reviewed by Mark Rowe.
72125
72126        http://bugs.webkit.org/show_bug.cgi?id=16071
72127        Curl backend handles EINTR incorrectly
72128
72129        Defer timers during select() to avoid interruption by timer signals.
72130
72131        * platform/network/curl/ResourceHandleManager.cpp:
72132        (WebCore::ResourceHandleManager::downloadTimerCallback):
72133
721342007-11-21  Mark Rowe  <mrowe@apple.com>
72135
72136        Reviewed by Tim Hatcher.
72137
72138        Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
72139
72140        Update format strings to use format specifiers that match the argument types.
72141
72142        * loader/icon/IconDatabase.cpp:
72143        (WebCore::IconDatabase::performURLImport):
72144        (WebCore::IconDatabase::writeToDatabase):
72145        * platform/mac/TextCodecMac.cpp:
72146        (WebCore::TextCodecMac::decode):
72147        * storage/Database.cpp:
72148        (WebCore::Database::deliverAllPendingCallbacks):
72149
721502007-11-21  Xan Lopez  <xan@gnome.org>
72151
72152        Reviewed by Alp Toker.
72153
72154        Clarify scroll event processing with a comment.
72155
72156        * platform/gtk/PlatformScrollBarGtk.cpp:
72157        (gtkScrollEventCallback):
72158
721592007-11-21  Timothy Hatcher  <timothy@apple.com>
72160
72161        Reviewed by Adam Roben.
72162
72163        Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
72164        http://bugs.webkit.org/show_bug.cgi?id=16085
72165        
72166        Changes include:
72167        - Refactor the drawing code as nested functions instead of global functions.
72168        - Compute the segment percentages only once per call to drawSummaryGraph.
72169        - Account for percentages that rounded down to total less-than 100%.
72170        - Draw the pill shadow better using the canvas shadow drawing properties.
72171        - Removes a couple canvas context saves and restores.
72172
72173        * page/inspector/NetworkPanel.js:
72174
721752007-11-21  Alexey Proskuryakov  <ap@webkit.org>
72176
72177        Reviewed by Adam Roben.
72178
72179        http://bugs.webkit.org/show_bug.cgi?id=16056
72180        Unicode not being interpreted correctly in Web Inspector source view
72181
72182        Cannot be tested automatically.
72183
72184        * loader/CachedCSSStyleSheet.cpp:
72185        (WebCore::CachedCSSStyleSheet::encoding):
72186        * loader/CachedCSSStyleSheet.h:
72187        * loader/CachedResource.h:
72188        (WebCore::CachedResource::encoding):
72189        * loader/CachedScript.cpp:
72190        (WebCore::CachedScript::encoding):
72191        * loader/CachedScript.h:
72192        * loader/CachedXBLDocument.cpp:
72193        (WebCore::CachedXBLDocument::encoding):
72194        * loader/CachedXBLDocument.h:
72195        * loader/CachedXSLStyleSheet.cpp:
72196        (WebCore::CachedXSLStyleSheet::encoding):
72197        * loader/CachedXSLStyleSheet.h:
72198        Teach textual CachedResources to report their encodings.
72199
72200        * page/InspectorController.cpp:
72201        (WebCore::addSourceToFrame):
72202        (WebCore::updateResourceResponse):
72203        Use the actual encoding - the network layer has little idea about it.
72204
722052007-11-20  Mark Rowe  <mrowe@apple.com>
72206
72207        Reviewed by Maciej Stachowiak.
72208
72209        Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
72210        http://bugs.webkit.org/show_bug.cgi?id=16076
72211
72212        XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
72213        parsed (once for text before the entity, once for the entity itself).  This triggered O(n^2) copying
72214        of the CharacterData's string due to resizing.  We now prevent this happening by buffering all the
72215        content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
72216
72217        * dom/XMLTokenizer.cpp:
72218        (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
72219        (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
72220        (WebCore::endDocumentHandler):
72221        (WebCore::XMLTokenizer::enterText):
72222        (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
72223        (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
72224        (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
72225        that the buffer gets flushed to the node.
72226        * dom/XMLTokenizer.h:
72227
722282007-11-20  Timothy Hatcher  <timothy@apple.com>
72229
72230        Reviewed by Mark Rowe.
72231
72232        Animate the status area and tip balloons in the Web Inspector
72233        with CSS animations.
72234
72235        * page/inspector/NetworkPanel.js:
72236        * page/inspector/inspector.css:
72237        * page/inspector/inspector.js:
72238
722392007-11-20  Kevin Ollivier  <kevino@theolliviers.com>
72240
72241        wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
72242        it indiscriminately copies any headers inside JavaScriptCore,
72243        which includes Tiger ICU headers. 
72244
72245        * webcore-base.bkl:
72246        Remove references to the WebCore/include dir generated by
72247        move-js-headers.sh, and also get headers from JavaScriptCore
72248        directly rather than from WebCore/ForwardingHeaders. 
72249
722502007-11-20  Alp Toker  <alp@atoker.com>
72251
72252        Reviewed by Mark Rowe.
72253
72254        Avoid pointlessly mallocing and freeing this transform matrix.
72255
72256        * platform/gtk/FontPlatformDataGtk.cpp:
72257        (WebCore::FontPlatformData::FontPlatformData):
72258
722592007-11-20  Naiem Shaik  <naiem.shaik@gmail.com>
72260
72261        Reviewed by Alp Toker.
72262
72263        http://bugs.webkit.org/show_bug.cgi?id=15763
72264        [GTK] Enter key does not take to the link highlighted.
72265
72266        Add missing keycode cases.
72267
72268        * platform/gtk/KeyEventGtk.cpp:
72269        (WebCore::keyIdentifierForGdkKeyCode):
72270        (WebCore::windowsKeyCodeForKeyEvent):
72271        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
72272
722732007-11-20  Mark Rowe  <mrowe@apple.com>
72274
72275        Reviewed by Sam Weinig.
72276
72277        Fix http://bugs.webkit.org/show_bug.cgi?id=16074
72278        Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
72279
72280        For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
72281        not result in an id being set.
72282
72283        * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
72284
722852007-11-20  Dan Bernstein  <mitz@apple.com>
72286
72287        Reviewed by Adam Roben.
72288
72289        - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
72290
72291        * platform/win/PlatformScrollBar.h:
72292        * platform/win/PlatformScrollBarSafari.cpp:
72293        Added the "hit inset" constants (representing how far the track eats
72294        into the button).
72295        (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
72296        the thumb only if they should be showing.
72297        (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
72298        arrows should be drawn.
72299        (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
72300        should be drawn.
72301        (WebCore::PlatformScrollbar::forwardButtonRect):
72302        (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
72303        bounds of the scrollbar if the scrollbar has no buttons.
72304        (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
72305        track along the entire scrollbar if it has not buttons.
72306        (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
72307        parts that the scrollbar has in its current dimensions.
72308
723092007-11-20  Mark Rowe  <mrowe@apple.com>
72310
72311        Reviewed by Alp Toker.
72312
72313        * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
72314
723152007-11-20  Simon Hausmann  <hausmann@kde.org>
72316
72317        Reviewed by Adam Treat <treat@kde.org>.
72318
72319        Remove static linkage of QtWebKit against the ICO image format plugin.
72320        Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
72321
72322        * WebCore.pro:
72323        * platform/graphics/qt/ImageDecoderQt.cpp:
72324
723252007-11-20  David D. Kilzer  <ddkilzer@webkit.org>
72326
72327        no-svg build broken after r27278
72328        <http://bugs.webkit.org/show_bug.cgi?id=16061>
72329
72330        Reviewed by Eric.
72331
72332        * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
72333        and DOMHTMLObjectElementPrivate.h for no-svg build.
72334
723352007-11-20  Adam Treat  <treat@kde.org>
72336
72337        Reviewed by Simon.
72338
72339        * Don't use so much heap memory.
72340
72341        * platform/graphics/qt/ImageDecoderQt.cpp:
72342        * platform/graphics/qt/ImageDecoderQt.h:
72343        * platform/graphics/qt/ImageSourceQt.cpp:
72344        (WebCore::ImageSource::createFrameAtIndex):
72345
723462007-11-20  Lars Knoll  <lars@trolltech.com>
72347
72348        Reviewed by Simon.
72349
72350        Fix text break interators.
72351        
72352        The break iterators where trying to be smart about the input
72353        string and caching their results. Unfortunately a pointer/string length
72354        comparison is not good enough in all cases (since some input is stack based
72355        temp strings). Removed the caching but at the same time started to use a more
72356        efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
72357        most strings.
72358        
72359        Fixes two test cases that test "text-transform: capitalize".
72360
72361        * platform/qt/TextBreakIteratorQt.cpp:
72362        (WebCore::wordBreakIterator):
72363        (WebCore::characterBreakIterator):
72364        (WebCore::lineBreakIterator):
72365        (WebCore::sentenceBreakIterator):
72366
723672007-11-20  Adam Treat  <treat@kde.org>
72368
72369        Reviewed by George.
72370
72371        * Make gif animations work for instance.
72372
72373        * platform/graphics/qt/ImageDecoderQt.cpp:
72374        (WebCore::ImageDecoderQt::reset):
72375        (WebCore::ImageDecoderQt::setData):
72376        (WebCore::ImageDecoderQt::frameCount):
72377        (WebCore::ImageDecoderQt::repetitionCount):
72378        * platform/graphics/qt/ImageDecoderQt.h:
72379
723802007-11-20  Adam Treat  <treat@kde.org>
72381
72382        * Build in release mode
72383
72384        * platform/NotImplemented.h:
72385
723862007-11-20  Adam Treat  <treat@kde.org>
72387
72388        Reviewed by Simon and George.
72389
72390        * Be quiet and allow suppression of NotImplemented calls at runtime.
72391
72392        * platform/NotImplemented.h:
72393
723942007-11-19  Doug Turner  <dougt@meer.net>
72395
72396        Reviewed by Alp Toker.
72397
72398        http://bugs.webkit.org/show_bug.cgi?id=16054
72399        Crash when GlyphPage::fill is called with more than 256 bytes of data
72400
72401        http://bugs.webkit.org/show_bug.cgi?id=14446
72402        [GDK] Crash on http://www.wikipedia.org/
72403
72404        setGlyphDataForIndex() uses a fixed array of size 256 which we can't
72405        exceed. We need to return failure if the buffer has Unicode
72406        supplementary characters for now.
72407
72408        This strategy matches the Win port, which also doesn't support this
72409        case yet.
72410
72411        Add an assertion so nobody makes this mistake again.
72412
72413        * platform/GlyphPageTreeNode.h:
72414        (WebCore::GlyphPage::setGlyphDataForIndex):
72415        * platform/gtk/GlyphPageTreeNodeGtk.cpp:
72416        (WebCore::GlyphPage::fill):
72417
724182007-11-19  Doug Turner  <dougt@meer.net>
72419
72420        Reviewed by Timothy Hatcher.
72421
72422        http://bugs.webkit.org/show_bug.cgi?id=16050
72423        sqlite3_prepare16_v2 build bustage.
72424
72425        Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
72426        to fix build bustage.
72427
72428        * platform/sql/SQLiteStatement.cpp:
72429        (WebCore::SQLiteStatement::prepare):
72430
724312007-11-19  Mark Rowe  <mrowe@apple.com>
72432
72433        Build fix.  Don't over-qualify the constructor name.
72434
72435        * storage/DatabaseDetails.h:
72436
724372007-11-19  Brady Eidson <beidson@apple.com>
72438
72439        Reviewed by Maciej
72440
72441        Stub out the WebCore parts of the WebKit API
72442
72443        * WebCore.base.exp:
72444        * WebCore.xcodeproj/project.pbxproj:
72445
72446        * storage/DatabaseDetails.h: Added.  Simple container for vitals on a specific database
72447        (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
72448        (WebCore::DatabaseDetails::DatabaseDetails):
72449        (WebCore::DatabaseDetails::isValid):
72450        (WebCore::DatabaseDetails::name):
72451        (WebCore::DatabaseDetails::version):
72452        (WebCore::DatabaseDetails::displayName):
72453        (WebCore::DatabaseDetails::expectedUsage):
72454        (WebCore::DatabaseDetails::currentUsage):
72455
72456        * storage/DatabaseTracker.cpp:  Added various methods for API usage
72457        (WebCore::DatabaseTracker::detailsForNameAndOrigin):
72458        (WebCore::DatabaseTracker::usageForOrigin):
72459        (WebCore::DatabaseTracker::quotaForOrigin):
72460        (WebCore::DatabaseTracker::setQuota):
72461        * storage/DatabaseTracker.h:
72462
724632007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
72464
72465        wx port build fix.
72466
72467        * platform/graphics/wx/AffineTransformWx.cpp:
72468        (WebCore::AffineTransform::operator== ):
72469        m_transform is only available when using wxGraphicsContext.
72470
724712007-11-19  Alp Toker  <alp@atoker.com>
72472
72473        Reviewed by Mark Rowe.
72474
72475        GTK+ drawing fixes.
72476
72477        Add a check to avoid crashing when the GraphicsContext is not
72478        associated with a GdkDrawable. This was noticed when adding printing
72479        support but might be triggered in other situations too.
72480
72481        Do not render themes when painting is disabled. This is an
72482        optimisation for cases where GraphicsContext is used to calculate page
72483        dimensions etc. without actually rendering.
72484
72485        * platform/graphics/cairo/GraphicsContextCairo.cpp:
72486        (WebCore::GraphicsContext::gdkDrawable):
72487        * platform/gtk/RenderThemeGtk.cpp:
72488        (WebCore::paintMozWidget):
72489
724902007-11-13  Rahul Abrol  <ra5ul@comcast.net>
72491
72492        Reviewed by Tim Hatcher.
72493
72494        http://bugs.webkit.org/show_bug.cgi?id=15977
72495        Resizing images preference now toggles default image state.
72496
72497        * loader/ImageDocument.cpp:
72498        (WebCore::ImageDocument::ImageDocument):
72499        (WebCore::ImageDocument::createDocumentStructure):
72500        (WebCore::ImageDocument::imageChanged):
72501
725022007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
72503
72504        Update wx port build sources with recent changes, update
72505        wx FontPlatformData to be a class (MSVC7 gets confused
72506        otherwise...) and implement its hash() method.
72507
72508        Reviewed by Adam.
72509
72510        * WebCoreSources.bkl:
72511        * platform/wx/FontPlatformData.h:
72512        (WebCore::FontPlatformData::hash):
72513
725142007-11-19  Julien Chaffraix  <julien.chaffraix@gmail.com>
72515
72516        Reviewed by Darin.
72517
72518        http://bugs.webkit.org/show_bug.cgi?id=12194
72519        Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they 
72520        are not available should raise an exception
72521
72522        Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
72523               http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
72524
72525        * bindings/js/JSXMLHttpRequest.cpp:
72526        (KJS::JSXMLHttpRequest::getValueProperty):
72527        * xml/XMLHttpRequest.cpp:
72528        (WebCore::XMLHttpRequest::getResponseText):
72529        (WebCore::XMLHttpRequest::getResponseXML):
72530        * xml/XMLHttpRequest.h:
72531
725322007-11-19  Peter Kasting  <pkasting@google.com>
72533
72534        Reviewed by Darin Adler.
72535
72536        http://bugs.webkit.org/show_bug.cgi?id=15971
72537        The GIF decoder should not fail decoding if the caller asks it to
72538        decode again when no new data has arrived since the last call.
72539
72540        * platform/image-decoders/gif/GIFImageReader.cpp:
72541        (GIFImageReader::read):
72542
725432007-11-18  Brady Eidson <beidson@apple.com>
72544
72545        Reviewed by Eric
72546
72547        Fix a crash hashing a default SecurityOriginData object 
72548
72549        * storage/DatabaseTracker.cpp:
72550        (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
72551          StringImpls - don't try to hash those!
72552
725532007-11-18  Timothy Hatcher  <timothy@apple.com>
72554
72555        Reviewed by Sam Weinig.
72556
72557        Bug 16043: Remove InspectorController.log now that console.log works
72558        http://bugs.webkit.org/show_bug.cgi?id=16043
72559
72560        Remove the last uses of InspectorController.log. Once use was no longer needed,
72561        checking an erro case that can't happen anymore. The other case now uses console.error.
72562
72563        * page/InspectorController.cpp: Remove the log function.
72564        (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
72565        InspectorController script class.
72566        * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
72567        * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
72568
725692007-11-18  Timothy Hatcher  <timothy@apple.com>
72570
72571        Reviewed by Brady.
72572
72573        Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
72574        http://bugs.webkit.org/show_bug.cgi?id=16041
72575
72576        * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
72577          and transaction(). Refactored some code for the success and error callbacks to use.
72578
725792007-11-18  Alexey Proskuryakov  <ap@webkit.org>
72580
72581        Reviewed by Maciej.
72582
72583        <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
72584
72585        HTML5 definition is the same as MSIE's, with the exception that the latter strips null
72586        characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
72587
72588        Test: fast/parser/html-whitespace.html
72589
72590        * html/HTMLTokenizer.cpp:
72591        (WebCore::HTMLTokenizer::parseSpecial):
72592        (WebCore::HTMLTokenizer::parseTag):
72593        Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
72594        check for whitespace almost everywhere.
72595
725962007-11-17  Mark Rowe  <mrowe@apple.com>
72597
72598        Reviewed by Darin Adler.
72599
72600        Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
72601             <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
72602             http://bugs.webkit.org/show_bug.cgi?id=16033
72603
72604        Update for changes in Interpreter method signatures.
72605
72606        * bindings/js/kjs_binding.cpp:
72607        (KJS::ScriptInterpreter::ScriptInterpreter):
72608        * bindings/js/kjs_window.cpp:
72609        (KJS::Window::clear):
72610
726112007-11-17  Timothy Hatcher  <timothy@apple.com>
72612
72613        Reviewed by Mark Rowe.
72614
72615        Bug 13470: i18n: The Web Inspector is not localizable
72616        http://bugs.webkit.org/show_bug.cgi?id=13470
72617
72618        Add support for localization to the Web Inspector. Clients need to
72619        implement localizedStringsURL() to return the URL of the
72620        InspectorLocalizedStrings.js that best matches the user's language.
72621
72622        * English.lproj: Added.
72623        * English.lproj/InspectorLocalizedStrings.js: Added.
72624        * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
72625        * page/InspectorClient.h: Add localizedStringsURL.
72626        * page/InspectorController.cpp: Add localizedStringsURL that calls
72627          the client. Also added a version exposed to JavaScript.
72628        * page/InspectorController.h: Add localizedStringsURL.
72629        * page/inspector/ConsolePanel.js: Call WebInspector.UIString
72630          for user visible strings.
72631        * page/inspector/DatabasePanel.js: Ditto.
72632        * page/inspector/DocumentPanel.js: Ditto.
72633        * page/inspector/ImagePanel.js: Ditto.
72634        * page/inspector/MetricsSidebarPane.js: Ditto.
72635        * page/inspector/NetworkPanel.js: Ditto.
72636        * page/inspector/Panel.js: Ditto.
72637        * page/inspector/PropertiesSidebarPane.js: Ditto.
72638        * page/inspector/Resource.js: Ditto.
72639        * page/inspector/ResourceCategory.js: Ditto.
72640        * page/inspector/SourcePanel.js: Ditto.
72641        * page/inspector/StylesSidebarPane.js: Ditto.
72642        * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
72643        * page/inspector/inspector.html: Remove some user visible strings.
72644        * page/inspector/inspector.js: Added WebInspector.UIString and call
72645          WebInspector.UIString for user visible strings. Some code needed to be 
72646          moved to WebInspector.loaded to use UIString after the localized strings
72647          get loaded.
72648        * platform/graphics/svg/SVGImageEmptyClients.h:
72649        (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
72650        (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
72651        (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
72652        (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
72653        (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
72654
726552007-11-17  Timothy Hatcher  <timothy@apple.com>
72656
72657        Reviewed by Adam.
72658
72659        Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
72660        String.vsprintf so it can be used later for the localization function.
72661
72662        This version only supports argument reordering, precision for floats, and these
72663        format characters: d, f, s and @. Any unsupported format characters are logged
72664        and substituted like strings.
72665
72666        * page/inspector/utilities.js:
72667
726682007-11-17  Alexey Proskuryakov  <ap@webkit.org>
72669
72670        Windows build fix.
72671
72672        * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
72673
726742007-11-17  Alexey Proskuryakov  <ap@webkit.org>
72675
72676        Reviewed by Darin.
72677
72678        http://bugs.webkit.org/show_bug.cgi?id=15969
72679        Eliminate Editor::deleteRange()
72680
72681        No change in functionality.
72682
72683        * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
72684
72685        * editing/Editor.cpp:
72686        (WebCore::Editor::deleteWithDirection):
72687        (WebCore::Editor::cut):
72688        (WebCore::Editor::performDelete):
72689        * editing/Editor.h:
72690        Moved relevant Editor::deleteRange() functionality to its callers.
72691        Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
72692        in my opinion.
72693
72694        * editing/mac/EditorMac.mm:
72695        (WebCore::initializeKillRingIfNeeded):
72696        (WebCore::Editor::addToKillRing):
72697        (WebCore::Editor::yank):
72698        (WebCore::Editor::yankAndSelect):
72699        (WebCore::Editor::setMark):
72700        (WebCore::unionDOMRanges):
72701        (WebCore::Editor::deleteToMark):
72702        (WebCore::Editor::selectToMark):
72703        (WebCore::Editor::swapWithMark):
72704        Pushed kill ring handling down from WebCore.
72705
72706        * page/mac/WebCoreFrameBridge.h:
72707        * page/mac/WebCoreFrameBridge.mm:
72708        Removed setMarkDOMRange (the corresponding getter is still needed).
72709
72710        * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
72711        Export the new kill ring functions.
72712
727132007-11-16  Ryan Leavengood  <leavengood@gmail.com>
72714
72715        Reviewed by David Kilzer.
72716
72717        Build fix: the needed headers for POSIX file functions were not
72718        included.
72719
72720        * platform/posix/FileSystemPOSIX.cpp:
72721
727222007-11-16  Dan Bernstein  <mitz@apple.com>
72723
72724        Reviewed by Darin Adler.
72725
72726        - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
72727          REGRESSION: Incomplete repaint of CSS image substitution
72728
72729        Test: fast/repaint/clip-with-layout-delta.html
72730
72731        * rendering/LayoutState.cpp:
72732        (WebCore::LayoutState::LayoutState): Account for layout delta when
72733        pushing additional clip.
72734
727352007-11-16  Antti Koivisto  <antti@apple.com>
72736
72737        Reviewed by Adele.
72738        
72739        Seeking related fixes, updates to match the latest specification
72740        - rename loopCount of HTMLMediaElement to playCount
72741        - add explicit seeking attribute to HTMLMediaElement to get semantics right
72742        - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement 
72743          instead of MoviePrivateQTKit 
72744        - fix broken behavior when seeking past end of the media, add tests
72745        - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
72746        - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
72747          HTMLMediaElement not depend on synchronous callbacks
72748        - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
72749
72750        Tests: http/tests/media/video-seekable-stall.html
72751               media/video-seeking.html
72752               media/video-seek-past-end-paused.html
72753               media/video-seek-past-end-playing.html
72754
72755        * html/HTMLAttributeNames.in: 
72756        * html/HTMLMediaElement.cpp:
72757        (WebCore::HTMLMediaElement::HTMLMediaElement):
72758        (WebCore::HTMLMediaElement::load):
72759        (WebCore::HTMLMediaElement::movieNetworkStateChanged):
72760        (WebCore::HTMLMediaElement::setReadyState):
72761        (WebCore::HTMLMediaElement::seek):
72762        (WebCore::HTMLMediaElement::seeking):
72763        (WebCore::HTMLMediaElement::currentTime):
72764        (WebCore::HTMLMediaElement::ended):
72765        (WebCore::HTMLMediaElement::play):
72766        (WebCore::HTMLMediaElement::pause):
72767        (WebCore::HTMLMediaElement::playCount):
72768        (WebCore::HTMLMediaElement::setPlayCount):
72769        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
72770        (WebCore::HTMLMediaElement::movieTimeChanged):
72771        (WebCore::HTMLMediaElement::endedPlayback):
72772        (WebCore::HTMLMediaElement::updateMovie):
72773        * html/HTMLMediaElement.h:
72774        * html/HTMLMediaElement.idl:
72775        * platform/graphics/Movie.cpp:
72776        (WebCore::Movie::timeChanged):
72777        * platform/graphics/Movie.h:
72778        (WebCore::MovieClient::movieTimeChanged):
72779        * platform/graphics/mac/MoviePrivateQTKit.h:
72780        * platform/graphics/mac/MoviePrivateQTKit.mm:
72781        (WebCore::MoviePrivate::MoviePrivate):
72782        (WebCore::MoviePrivate::load):
72783        (WebCore::MoviePrivate::play):
72784        (WebCore::MoviePrivate::pause):
72785        (WebCore::MoviePrivate::currentTime):
72786        (WebCore::MoviePrivate::seek):
72787        (WebCore::MoviePrivate::doSeek):
72788        (WebCore::MoviePrivate::cancelSeek):
72789        (WebCore::MoviePrivate::seekTimerFired):
72790        (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
72791        (WebCore::MoviePrivate::paused):
72792        (WebCore::MoviePrivate::updateStates):
72793        (WebCore::MoviePrivate::timeChanged):
72794        (WebCore::MoviePrivate::didEnd):
72795
727962007-11-16  Anders Carlsson  <andersca@apple.com>
72797
72798        Reviewed by Adam.
72799
72800        <rdar://problem/5603832>
72801        XMLHttpRequest readyState 3 & responseText buffer issues.
72802
72803        * platform/network/cf/ResourceHandleCFNet.cpp:
72804        (WebCore::makeFinalRequest):
72805        Add new parameter which controls whether content sniffing should be turned off.
72806        
72807        (WebCore::ResourceHandle::loadResourceSynchronously):
72808        Always content sniff sync loads.
72809        
72810        * platform/network/cf/ResourceRequestCFNet.cpp:
72811        (WebCore::ResourceRequest::doUpdatePlatformRequest):
72812        If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
72813        any properties set on the CFURLRequest.
72814
728152007-11-16  Jon Honeycutt  <jhoneycutt@apple.com>
72816
72817        Reviewed by Ollie.
72818
72819        <rdar://problem/5605175> Crash closing or leaving window with ViewPoint 
72820        Media player plugin
72821
72822        ViewPoint plugin requires that we pass a valid NPSavedData* to
72823        NPP_Destroy.
72824
72825        * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
72826        NPP_Destroy. If the plugin allocates data, discard it
72827
728282007-11-16  Mark Rowe  <mrowe@apple.com>
72829
72830        Reviewed by Tim Hatcher.
72831
72832        Build WebCore as a sub-framework of WebKit in all configurations.
72833
72834        * Configurations/WebCore.xcconfig:
72835        * WebCore.xcodeproj/project.pbxproj:
72836
728372007-11-16  Doug Turner  <dougt@meer.net>
72838
72839        Reviewed by Alp.
72840
72841        http://bugs.webkit.org/show_bug.cgi?id=16018
72842        build bustage when building on debian 4.0
72843
72844        Fix build bustage on GTK+ with older versions of Pango.
72845
72846        Don't cache the return value since the docs say it can change.
72847
72848        * platform/gtk/Language.cpp:
72849        (WebCore::defaultLanguage):
72850
728512007-11-16  Brady Eidson  <beidson@apple.com>
72852
72853        Build fix
72854
72855        * platform/SecurityOriginData.h:
72856        (WebCore::operator!=): Whoops!
72857
728582007-11-16  Brady Eidson  <beidson@apple.com>
72859
72860        Reviewed by Sam
72861
72862        Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
72863
72864        * WebCore.base.exp:
72865        * WebCore.xcodeproj/project.pbxproj:
72866        * WebCore.vcproj/WebCore.vcproj
72867        * WebCore.pro
72868
72869        * platform/SecurityOriginData.cpp: Added.
72870        (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
72871          since that form is what will be stored in the Databases.db on disk
72872        (WebCore::SecurityOriginData::stringIdentifier):
72873        * platform/SecurityOriginData.h:
72874        (WebCore::SecurityOriginData::protocol):
72875        (WebCore::SecurityOriginData::host):
72876        (WebCore::SecurityOriginData::port):
72877
72878        * storage/DatabaseTracker.cpp:
72879        (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for 
72880          a SecurityOriginData object
72881        (WebCore::SecurityOriginDataHash::equal):
72882        (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
72883        (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
72884        (WebCore::DatabaseTracker::fullPathForDatabase):
72885        (WebCore::DatabaseTracker::populateOrigins):
72886        (WebCore::DatabaseTracker::origins):
72887        (WebCore::DatabaseTracker::addDatabase):
72888        * storage/DatabaseTracker.h:
72889
728902007-11-16  Alexey Proskuryakov  <ap@webkit.org>
72891
72892        Windows build fix.
72893
72894        * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
72895
728962007-11-16  Nikolas Zimmermann  <zimmermann@kde.org>
72897
72898        Reviewed by Eric.
72899
72900        Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
72901
72902        Implement all SVGTextContentElement DOM methods.
72903        This is the last missing SVG text feature. SVG fonts is next.
72904
72905        Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
72906
72907        * ksvg2/svg/SVGTextContentElement.cpp:
72908        (WebCore::cummulatedCharacterRangeLength):
72909        (WebCore::SVGInlineTextBoxQueryWalker::):
72910        (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
72911        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
72912        (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
72913        (WebCore::SVGInlineTextBoxQueryWalker::longResult):
72914        (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
72915        (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
72916        (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
72917        (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
72918        (WebCore::findInlineTextBoxInTextChunks):
72919        (WebCore::rootInlineBoxForTextContentElement):
72920        (WebCore::executeTextQuery):
72921        (WebCore::SVGTextContentElement::getNumberOfChars):
72922        (WebCore::SVGTextContentElement::getComputedTextLength):
72923        (WebCore::SVGTextContentElement::getSubStringLength):
72924        (WebCore::SVGTextContentElement::getStartPositionOfChar):
72925        (WebCore::SVGTextContentElement::getEndPositionOfChar):
72926        (WebCore::SVGTextContentElement::getExtentOfChar):
72927        (WebCore::SVGTextContentElement::getRotationOfChar):
72928        (WebCore::SVGTextContentElement::getCharNumAtPosition):
72929        (WebCore::SVGTextContentElement::selectSubString):
72930        * ksvg2/svg/SVGTextContentElement.h:
72931        * rendering/SVGInlineTextBox.h:
72932
729332007-11-15  Adele Peterson  <adele@apple.com>
72934
72935        Reviewed by Oliver.
72936
72937        Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
72938
72939        Test: fast/forms/menulist-no-renderer-onmousedown.html
72940
72941        * html/HTMLSelectElement.cpp:
72942        (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here.  None of the default behavior makes sense if there's no renderer.
72943        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
72944
729452007-11-15  Antti Koivisto  <antti@apple.com>
72946
72947        Reviewed by Adele.
72948
72949        Fix <rdar://problem/5601598>
72950        The movie tag should do initialization on need and not during startup.
72951        
72952        Initialize Movie MIME type hash on demand
72953
72954        * platform/MIMETypeRegistry.cpp:
72955        (WebCore::initialiseSupportedMovieMIMETypes):
72956        (WebCore::initialiseMIMETypeRegistry):
72957        (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
72958        (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
72959
729602007-11-15  Mark Rowe  <mrowe@apple.com>
72961
72962        Build fix for Qt on Windows.
72963
72964        * xml/XPathStep.cpp:
72965        (WebCore::XPath::Step::nodesInAxis):
72966
729672007-11-15  Timothy Hatcher  <timothy@apple.com>
72968
72969        Reviewed by Mark Rowe.
72970
72971        Bug 14761: Web Inspector leaks JS objects and DOM nodes
72972        http://bugs.webkit.org/show_bug.cgi?id=14761
72973
72974        * page/InspectorController.cpp:
72975        (WebCore::InspectorController::~InspectorController):
72976        Change the tear down order so that inspectorDestroyed() is called before
72977        InspectorController private data is set to Zero. The inspectorDestroyed()
72978        call ends up closing the WebView and triggering InspectorController::close()
72979        which unprotects m_scriptObject. This didn't happen when the private data
72980        was cleared before calling inspectorDestroyed().
72981
729822007-11-15  Mark Rowe  <mrowe@apple.com>
72983
72984        Gtk build fix.
72985
72986        * WebCore.pro:
72987
729882007-11-15  Alexey Proskuryakov  <ap@webkit.org>
72989
72990        Reviewed by Darin.
72991
72992        http://bugs.webkit.org/show_bug.cgi?id=15989
72993        XPath queries with predicates incorrectly retains the current node across unions
72994
72995        Test: fast/xpath/union-context-node.xhtml
72996
72997        * xml/XPathPath.cpp:
72998        (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
72999        * xml/XPathStep.cpp:
73000        (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
73001
730022007-11-15  Alexey Proskuryakov  <ap@webkit.org>
73003
73004        Reviewed by Darin.
73005
73006        http://bugs.webkit.org/show_bug.cgi?id=15988
73007        REGRESSION: XPath preceding-axis query misses nested elements
73008
73009        Test: fast/xpath/preceding-axis.xhtml
73010
73011        * xml/XPathStep.cpp:
73012        (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
73013
730142007-11-15  Timothy Hatcher  <timothy@apple.com>
73015
73016        Reviewed by Mark Rowe and Sam.
73017
73018        This corrects a couple of issues in the Web Inspector where selected search results
73019        would not have the right text color when the window is inactive or the results are focused.
73020
73021        * page/inspector/inspector.css:
73022
730232007-11-15  Timothy Hatcher  <timothy@apple.com>
73024
73025        Reviewed by Sam.
73026
73027        Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
73028        http://bugs.webkit.org/show_bug.cgi?id=16007
73029
73030        Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
73031        a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is 
73032        20 pixels, and the default is 10 pixels.
73033
73034        * page/inspector/ResourceCategory.js:
73035        * page/inspector/treeoutline.js:
73036
730372007-11-15  Anders Carlsson  <andersca@apple.com>
73038
73039        Reviewed by Brady.
73040
73041        Pass a VoidCallback to Database::transaction and Database::changeVersion.
73042        This is not yet hooked up to the database machinery.
73043        
73044        * WebCore.vcproj/WebCore.vcproj:
73045        * bindings/js/JSDatabaseCustom.cpp:
73046        (WebCore::JSDatabase::changeVersion):
73047        (WebCore::JSDatabase::transaction):
73048        * storage/Database.cpp:
73049        (WebCore::Database::changeVersion):
73050        (WebCore::Database::transaction):
73051        * storage/Database.h:
73052
730532007-11-15  Timothy Hatcher  <timothy@apple.com>
73054
73055        Reviewed by Adam.
73056
73057        Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
73058        http://bugs.webkit.org/show_bug.cgi?id=16005
73059
73060        Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
73061        crumb will expose as many hidden crumbs as possible to the user. Also crumbs
73062        that have ID attributes will compact to the ID over the tag name.
73063
73064        * page/inspector/DocumentPanel.js:
73065
730662007-11-15  Anders Carlsson  <andersca@apple.com>
73067
73068        Reviewed by Sam.
73069
73070        Make the VoidCallback DOM interface behave more like our other DOM interfaces.
73071        
73072        * bindings/js/JSCustomVoidCallback.h: Added.
73073        * bindings/js/JSCustomVoidCallback.cpp: Added.
73074        (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
73075        (WebCore::JSCustomVoidCallback::handleEvent):
73076        VoidCallback implementation that wraps a JS object.
73077        
73078        (WebCore::toVoidCallback):
73079        New method that creates a VoidCallback implementation given a JS object.
73080        
73081        * bindings/scripts/CodeGeneratorJS.pm:
73082        Specify that VoidCallback can fail conversion and add a custom conversion function.
73083        
73084        * html/HTMLMediaElement.cpp:
73085        (WebCore::HTMLMediaElement::movieCuePointReached):
73086        Call handleEvent on the callback.
73087        
73088        (WebCore::HTMLMediaElement::removeCuePoint):
73089        Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
73090        on overriding VoidCallback equality.
73091        
73092        * html/VoidCallback.cpp: Removed.
73093        
73094        * html/VoidCallback.h:
73095        (WebCore::VoidCallback::VoidCallback):
73096        (WebCore::VoidCallback::~VoidCallback):
73097        Make this an abstract class with a pure virtual handleEvent method.
73098        
730992007-11-15  Adam Roben  <aroben@apple.com>
73100
73101        Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
73102
73103        There were two things broken here:
73104           - WebView now requires a WM_CHAR message to be sent before it will
73105             create a keyboard event with a charCode, but we were only sending
73106             a WM_KEYDOWN event.
73107           - The popup menu was not updating its focused index when the
73108             <select> element's selectedIndex changed.
73109
73110        Reviewed by Adele.
73111
73112        * platform/win/PopupMenuWin.cpp:
73113        (WebCore::PopupMenu::updateFromElement): Update the focused index from
73114        the client's selected index.
73115        (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
73116        printable character, manufacture a WM_KEYDOWN message for it and post
73117        both that and the current WM_CHAR message to the WebView.
73118
731192007-11-15  Brady Eidson  <beidson@apple.com>
73120
73121        Build fix
73122
73123        * storage/DatabaseTracker.cpp:
73124        (WebCore::DatabaseTracker::fullPathForDatabase):
73125        (WebCore::DatabaseTracker::databaseNamesForOrigin):
73126
731272007-11-15  Brady Eidson  <beidson@apple.com>
73128
73129        Reviewed by John and Sam
73130
73131        Stubbing out everything required for a WebKit API for databases
73132
73133        Biggest change in WebCore is that we passed around SecurityOriginData as the representation
73134        of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
73135        that has a different purpose besides just hanging on to the data)
73136
73137        * WebCore.base.exp:
73138        * WebCore.xcodeproj/project.pbxproj:
73139
73140        * platform/SecurityOrigin.cpp:
73141        * platform/SecurityOrigin.h:
73142        * platform/SecurityOriginData.h: Added.  Simple object to encapsulate the 3
73143          pieces of data in the SecurityOrigin tuple
73144        (WebCore::SecurityOriginData::SecurityOriginData):
73145        (WebCore::SecurityOriginData::protocol):
73146        (WebCore::SecurityOriginData::host):
73147        (WebCore::SecurityOriginData::port):
73148        (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
73149          colon separated
73150
73151        * storage/Database.cpp:
73152        (WebCore::Database::Database): Use SecurityOriginData instead
73153
73154        * storage/DatabaseTracker.cpp:
73155        (WebCore::DatabaseTracker::fullPathForDatabase):
73156        (WebCore::DatabaseTracker::databaseNamesForOrigin):
73157        (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
73158        (WebCore::DatabaseTracker::deleteDatabase):
73159        * storage/DatabaseTracker.h:
73160
73161        * storage/DatabaseTrackerClient.h: Added.  For dispatching notifications up to WebKit
73162        (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
73163
731642007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
73165
73166        Reviewed by Anders.
73167
73168        NP_ASFILEONLY streams should not buffer data in m_deliveryData.
73169
73170        * plugins/win/PluginStreamWin.cpp:
73171        (WebCore::PluginStreamWin::didReceiveData):
73172
731732007-11-15  Justin Garcia  <justin.garcia@apple.com>
73174
73175        Reviewed by Adele Peterson.
73176
73177        <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
73178        
73179        A textarea that contained the selection was removed but the selection wasn't cleared,
73180        and we'd crash in code that assumed a valid, in-document selection.
73181
73182        * editing/SelectionController.cpp:
73183        (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
73184        shadowAncestorNode of the node that contains the position, not just if the node being removed
73185        contains that shadowAncestorNode.
73186
731872007-11-15  Nikolas Zimmermann  <zimmermann@kde.org>
73188
73189        Reviewed by Maciej.
73190
73191        Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
73192
73193        * rendering/SVGInlineTextBox.cpp:
73194        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
73195        (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
73196
731972007-11-15  Anders Carlsson  <andersca@apple.com>
73198
73199        Reviewed by Brady.
73200
73201        <rdar://problem/5562470>
73202        openDatabase does not work when the version string is empty
73203
73204        If the string is empty, pass a real empty string to sqlite3_bind_text16.
73205        
73206        * platform/sql/SQLiteStatement.cpp:
73207        (WebCore::SQLiteStatement::bindText):
73208
732092007-11-15  Anders Carlsson  <andersca@apple.com>
73210
73211        Reviewed by Brady.
73212
73213        Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
73214        Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
73215
73216        * loader/icon/IconDatabase.cpp:
73217        (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
73218        (WebCore::IconDatabase::removePageURLFromSQLDatabase):
73219        (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
73220        (WebCore::IconDatabase::addIconURLToSQLDatabase):
73221        (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
73222        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
73223        * platform/sql/SQLiteStatement.cpp:
73224        (WebCore::SQLiteStatement::prepare):
73225        * platform/sql/SQLiteStatement.h:
73226        * storage/Database.cpp:
73227        (WebCore::setTextValueInDatabase):
73228        * storage/DatabaseTracker.cpp:
73229        (WebCore::DatabaseTracker::fullPathForDatabase):
73230        (WebCore::DatabaseTracker::databaseNamesForOrigin):
73231        (WebCore::DatabaseTracker::addDatabase):
73232
732332007-11-14  Brady Eidson <beidson@apple.com>
73234
73235        Rubberstamped by Sam
73236
73237        * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
73238
732392007-11-14  Alexey Proskuryakov  <ap@webkit.org>
73240
73241        Reviewed by Justin Garcia.
73242
73243        http://bugs.webkit.org/show_bug.cgi?id=15781
73244        REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
73245        a marked range that covers half of a composed character sequence)
73246
73247        Test: platform/mac/editing/input/devanagari-ligature.html
73248
73249        This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
73250        However, this is not entirely new for them, as Roman accents are typed in a similar manner.
73251
73252        In the future, we probably want to make commands work with ranges (or Positions explicitly).
73253
73254        * editing/Editor.cpp:
73255        (WebCore::Editor::selectComposition): Force selection to composition range.
73256        * editing/InsertTextCommand.cpp:
73257        (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
73258
732592007-11-14  Beth Dakin  <bdakin@apple.com>
73260
73261        Reviewed by Hyatt.
73262
73263        Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
73264        side image map and <a> tag is not working properly (15522)
73265
73266        * html/HTMLMapElement.cpp:
73267        (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block 
73268        and inline children rather than just block children. This matches 
73269        Firefox. 
73270
732712007-11-14  Justin Garcia  <justin.garcia@apple.com>
73272
73273        Reviewed by Alexey Proskuryakov.
73274
73275        <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
73276
73277        * editing/DeleteSelectionCommand.cpp:
73278        (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
73279        Removed an irrelevant FIXME.
73280        (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
73281        hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
73282        inside that block, which could lead to a crash.  If that happens, there's no content in the block to move,
73283        so just remove the block and return.
73284        Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
73285        its own placeholder insertion when necessary.
73286        (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
73287        because it handles preserving m_needPlaceholder when it calls moveParagraphs.
73288        
732892007-11-14  Timothy Hatcher  <timothy@apple.com>
73290
73291        Reviewed by Adam.
73292
73293        Bug 14380: Long DOM ancestry breadcrumb lists get cut off
73294        http://bugs.webkit.org/show_bug.cgi?id=14380
73295
73296        The breadcumbs will now be compacted and collapsed if there isn't enough room
73297        to show everything. The collapsing algorithm always affects the crumbs that
73298        are farthest away from the selected or hovered crumb first.
73299
73300        * page/inspector/DocumentPanel.js:
73301        * page/inspector/inspector.css:
73302
733032007-11-14  Anders Carlsson  <andersca@apple.com>
73304
73305        Use the correct include path.
73306        
73307        * platform/Cursor.h:
73308        * plugins/win/PluginPackageWin.h:
73309        * plugins/win/PluginStreamWin.h:
73310
733112007-11-13  Brady Eidson  <beidson@apple.com>
73312
73313        Reviewed by Adam
73314
73315        http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
73316
73317        * storage/SQLTransaction.cpp:
73318        (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the 
73319          SQLTransactionCallback fails
73320        (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
73321          and make the commit/rollback decision accordingly
73322
733232007-11-13  Oliver Hunt  <oliver@apple.com>
73324
73325        Reviewed by Anders.
73326
73327        <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
73328
73329        When drawing directly to PDF CG may delay the use of the gradient function until outside our
73330        standard drawing path, which in turn could let us invalidate the caches before they were used.
73331
73332        To work around this we now store the cached stops in a RefCounted object, so that we can ensure
73333        that cache exists as long as required.
73334        
73335        * platform/graphics/svg/SVGPaintServerGradient.cpp:
73336        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
73337        * platform/graphics/svg/SVGPaintServerGradient.h:
73338        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
73339        (WebCore::cgGradientCallback):
73340        (WebCore::CGShadingRefForLinearGradient):
73341        (WebCore::CGShadingRefForRadialGradient):
73342        (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
73343
733442007-11-13  Anders Carlsson  <andersca@apple.com>
73345
73346        Fix Windows build.
73347        
73348        * platform/Cursor.h:
73349        * plugins/win/PluginPackageWin.h:
73350        * plugins/win/PluginStreamWin.h:
73351
733522007-11-13  Geoffrey Garen  <ggaren@apple.com>
73353
73354        Reviewed by Anders Carlsson.
73355
73356        Renamed Shared to RefCounted.
73357
73358        * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
73359        * ForwardingHeaders/wtf/Shared.h: Removed.
73360        * bindings/js/JSSVGPODTypeWrapper.h:
73361        * css/CSSFontFace.h:
73362        * css/CSSRuleList.h:
73363        * css/Counter.h:
73364        * css/Pair.h:
73365        * css/Rect.h:
73366        * css/StyleBase.h:
73367        * css/StyleSheetList.h:
73368        * dom/Attribute.h:
73369        * dom/Clipboard.h:
73370        * dom/DOMImplementation.h:
73371        * dom/Event.h:
73372        * dom/EventListener.h:
73373        * dom/NamedNodeMap.h:
73374        * dom/NodeFilter.h:
73375        * dom/NodeFilterCondition.h:
73376        * dom/NodeList.h:
73377        * dom/QualifiedName.h:
73378        * dom/Range.h:
73379        * dom/RangeException.h:
73380        * dom/RegisteredEventListener.h:
73381        * dom/Traversal.h:
73382        * editing/EditCommand.h:
73383        * history/BackForwardList.h:
73384        * history/CachedPage.h:
73385        * history/HistoryItem.cpp:
73386        (WebCore::HistoryItem::HistoryItem):
73387        * history/HistoryItem.h:
73388        * html/CanvasGradient.h:
73389        * html/CanvasPattern.h:
73390        * html/CanvasRenderingContext2D.h:
73391        * html/CanvasStyle.h:
73392        * html/HTMLCollection.h:
73393        * html/MediaError.h:
73394        * html/TimeRanges.h:
73395        * html/VoidCallback.h:
73396        * ksvg2/css/SVGRenderStyle.cpp:
73397        (WebCore::SVGRenderStyle::SVGRenderStyle):
73398        * ksvg2/css/SVGRenderStyle.h:
73399        * ksvg2/css/SVGRenderStyleDefs.cpp:
73400        (StyleFillData::StyleFillData):
73401        (StyleStrokeData::StyleStrokeData):
73402        (StyleStopData::StyleStopData):
73403        (StyleTextData::StyleTextData):
73404        (StyleClipData::StyleClipData):
73405        (StyleMaskData::StyleMaskData):
73406        (StyleMarkerData::StyleMarkerData):
73407        (StyleMiscData::StyleMiscData):
73408        * ksvg2/css/SVGRenderStyleDefs.h:
73409        * ksvg2/svg/SVGAngle.cpp:
73410        (WebCore::SVGAngle::SVGAngle):
73411        * ksvg2/svg/SVGAngle.h:
73412        * ksvg2/svg/SVGAnimatedTemplate.h:
73413        * ksvg2/svg/SVGElementInstanceList.h:
73414        * ksvg2/svg/SVGException.h:
73415        * ksvg2/svg/SVGList.h:
73416        * ksvg2/svg/SVGPathSeg.h:
73417        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
73418        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
73419        * ksvg2/svg/SVGPreserveAspectRatio.h:
73420        * ksvg2/svg/SVGRenderingIntent.h:
73421        * ksvg2/svg/SVGTransform.h:
73422        * ksvg2/svg/SVGUnitTypes.h:
73423        * loader/DocumentLoader.h:
73424        * loader/FormState.h:
73425        * loader/ResourceLoader.h:
73426        * loader/TextResourceDecoder.h:
73427        * loader/icon/IconRecord.h:
73428        * page/BarInfo.h:
73429        * page/Console.h:
73430        * page/DOMSelection.h:
73431        * page/DOMWindow.h:
73432        * page/Frame.h:
73433        * page/History.h:
73434        * page/InspectorController.cpp:
73435        * page/Plugin.h:
73436        * page/Screen.h:
73437        * platform/ArrayImpl.h:
73438        * platform/CString.h:
73439        * platform/Cursor.h:
73440        * platform/DeprecatedValueListImpl.cpp:
73441        (WebCore::DeprecatedValueListImpl::Private::Private):
73442        * platform/FileChooser.h:
73443        * platform/FontFallbackList.h:
73444        * platform/FontFamily.cpp:
73445        (WebCore::FontFamily::FontFamily):
73446        * platform/FontFamily.h:
73447        * platform/FontSelector.h:
73448        * platform/GlyphPageTreeNode.h:
73449        * platform/PopupMenu.h:
73450        * platform/RegularExpression.cpp:
73451        * platform/ScrollBar.h:
73452        * platform/SharedBuffer.h:
73453        * platform/StringImpl.h:
73454        * platform/graphics/Icon.h:
73455        * platform/graphics/svg/SVGResource.h:
73456        * platform/network/FormData.cpp:
73457        (WebCore::FormData::FormData):
73458        * platform/network/FormData.h:
73459        * platform/network/ResourceHandle.h:
73460        * platform/network/ResourceHandleClient.h:
73461        * rendering/RenderStyle.cpp:
73462        (WebCore::StyleSurroundData::StyleSurroundData):
73463        (WebCore::StyleBoxData::StyleBoxData):
73464        (WebCore::StyleVisualData::StyleVisualData):
73465        (WebCore::StyleBackgroundData::StyleBackgroundData):
73466        (WebCore::StyleMarqueeData::StyleMarqueeData):
73467        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
73468        (WebCore::StyleMultiColData::StyleMultiColData):
73469        (WebCore::StyleTransformData::StyleTransformData):
73470        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
73471        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
73472        (WebCore::StyleInheritedData::StyleInheritedData):
73473        * rendering/RenderStyle.h:
73474        * rendering/SVGCharacterLayoutInfo.h:
73475        (WebCore::SVGCharOnPath::SVGCharOnPath):
73476        * storage/SQLResultSetRowList.h:
73477        * xml/DOMParser.h:
73478        * xml/XMLHttpRequest.h:
73479        * xml/XMLSerializer.h:
73480        * xml/XPathEvaluator.h:
73481        * xml/XPathExpression.h:
73482        * xml/XPathNSResolver.h:
73483        * xml/XPathResult.h:
73484        * xml/XPathValue.h:
73485        * xml/XSLTProcessor.h:
73486
734872007-11-13  Brady Eidson  <beidson@apple.com>
73488
73489        Reviewed by Mark Rowe
73490
73491        Remove errantly added files, and fix the idl (for reference's sake)
73492
73493        * storage/JSCustomSQLStatementCallback.h: Removed.
73494        * storage/JSCustomSQLStatementErrorCallback.h: Removed.
73495        * storage/JSCustomSQLTransactionCallback.h: Removed.
73496        * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
73497        * storage/SQLStatementCallback.idl:
73498
734992007-11-13  Adam Roben  <aroben@apple.com>
73500
73501        Fix a bug and improve upon Brady's fix
73502
73503        Reviewed by Anders.
73504
73505        * bindings/js/JSSQLTransactionCustom.cpp:
73506        (WebCore::JSSQLTransaction::executeSql): Made the code a little
73507        clearer and more correct.
73508        * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
73509        of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
73510        comparison it meant to.
73511
735122007-11-13  Sam Weinig  <sam@webkit.org>
73513
73514        Fix Qt and Gtk builds.
73515
73516        * WebCore.pro: Remove non-generated idl files.
73517
735182007-11-13  Mark Rowe  <mrowe@apple.com>
73519
73520        Remove removed file from the project.
73521
73522        * WebCore.pro:
73523
735242007-11-13  Brady Eidson  <beidson@apple.com>
73525
73526        Release build fix
73527
73528        * bindings/js/JSSQLTransactionCustom.cpp:
73529        (WebCore::JSSQLTransaction::executeSql):
73530
735312007-11-13  Adam Roben  <aroben@apple.com>
73532
73533        Add WindowMessageBroadcaster
73534
73535        This class is used to listen in on messages sent to HWNDs. Multiple
73536        WindowMessageListeners can be notified about messages sent to a single
73537        HWND, and one WindowMessageListener can listen to messages from
73538        multiple HWNDs.
73539
73540        Reviewed by Ada.
73541
73542        * WebCore.vcproj/WebCore.vcproj: Added new files to project.
73543        * platform/win/WindowMessageBroadcaster.cpp: Added.
73544        (WebCore::instancesMap): Static helper.
73545        (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
73546        for a particular HWND.
73547        (WebCore::WindowMessageBroadcaster::removeListener): Removes a
73548        listener for a particular HWND.
73549        (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
73550        (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
73551        (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
73552        from the instancesMap, removes all of its listeners, unsubclasses the
73553        window, and deletes the broadcaster.
73554        (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
73555        the window (which means that SubclassedWndProc won't be called again
73556        for this window).
73557        (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
73558        the listeners about every message sent to the HWND
73559        * platform/win/WindowMessageBroadcaster.h: Added.
73560        (WebCore::WindowMessageBroadcaster::listeners):
73561        (WebCore::WindowMessageBroadcaster::originalWndProc):
73562        * platform/win/WindowMessageListener.h: Added.
73563
735642007-11-13  Geoffrey Garen  <ggaren@apple.com>
73565
73566        Reviewed by Sam Weinig.
73567
73568        Moved Shared.h into wtf so it could be used in more places. Retained 
73569        TreeShared, but moved it to its own file, TreeShared.h.
73570
73571        * ForwardingHeaders/wtf/Shared.h: Added.
73572        * WebCore.xcodeproj/project.pbxproj:
73573        * bindings/js/JSSVGPODTypeWrapper.h:
73574        * css/CSSFontFace.h:
73575        * css/CSSRuleList.h:
73576        * css/Counter.h:
73577        * css/Pair.h:
73578        * css/Rect.h:
73579        * css/StyleBase.h:
73580        * css/StyleSheetList.h:
73581        * dom/Clipboard.h:
73582        * dom/DOMImplementation.h:
73583        * dom/Event.h:
73584        * dom/EventListener.h:
73585        * dom/NamedNodeMap.h:
73586        * dom/NodeFilterCondition.h:
73587        * dom/NodeList.h:
73588        * dom/Range.h:
73589        * dom/RangeException.h:
73590        * dom/RegisteredEventListener.h:
73591        * dom/Traversal.h:
73592        * history/BackForwardList.h:
73593        * history/CachedPage.h:
73594        * history/HistoryItem.h:
73595        * html/CanvasGradient.h:
73596        * html/CanvasPattern.h:
73597        * html/HTMLCollection.h:
73598        * html/MediaError.h:
73599        * html/TimeRanges.h:
73600        * html/VoidCallback.h:
73601        * ksvg2/css/SVGRenderStyleDefs.h:
73602        * ksvg2/svg/SVGAnimatedTemplate.h:
73603        * ksvg2/svg/SVGElementInstanceList.h:
73604        * ksvg2/svg/SVGList.h:
73605        * ksvg2/svg/SVGPathSeg.h:
73606        * ksvg2/svg/SVGPreserveAspectRatio.h:
73607        * ksvg2/svg/SVGRenderingIntent.h:
73608        * ksvg2/svg/SVGTransform.h:
73609        * ksvg2/svg/SVGUnitTypes.h:
73610        * loader/DocumentLoader.h:
73611        * loader/FormState.h:
73612        * loader/ResourceLoader.h:
73613        * loader/TextResourceDecoder.h:
73614        * loader/icon/IconRecord.h:
73615        * page/BarInfo.h:
73616        * page/Console.h:
73617        * page/DOMSelection.h:
73618        * page/DOMWindow.h:
73619        * page/History.h:
73620        * page/InspectorController.cpp:
73621        * page/Plugin.h:
73622        * page/Screen.h:
73623        * platform/ArrayImpl.h:
73624        * platform/CString.h:
73625        * platform/DeprecatedValueListImpl.cpp:
73626        * platform/FontFallbackList.h:
73627        * platform/FontFamily.h:
73628        * platform/FontSelector.h:
73629        * platform/GlyphPageTreeNode.h:
73630        * platform/PopupMenu.h:
73631        * platform/RegularExpression.cpp:
73632        * platform/ScrollBar.h:
73633        * platform/Shared.h: Removed.
73634        * platform/SharedBuffer.h:
73635        * platform/StringImpl.h:
73636        * platform/graphics/Icon.h:
73637        * platform/graphics/svg/SVGResource.h:
73638        * platform/network/FormData.h:
73639        * platform/network/ResourceHandleClient.h:
73640        * rendering/RenderStyle.h:
73641        * rendering/SVGCharacterLayoutInfo.h:
73642        * storage/SQLResultSetRowList.h:
73643        * xml/DOMParser.h:
73644        * xml/XMLSerializer.h:
73645        * xml/XPathEvaluator.h:
73646        * xml/XPathExpression.h:
73647        * xml/XPathNSResolver.h:
73648        * xml/XPathResult.h:
73649
736502007-11-13  Brady Eidson  <beidson@apple.com>
73651
73652        JS bindings by Anders, reviewed by Brady
73653        WebCore changes by Brady, reviewed by Anders and Tim
73654
73655        Adapt to the new iteration of the HTML5 client-side storage spec.
73656
73657        Based largely on implementation feedback we generated in landing our first version of this API and also
73658        on the input of others in the community, the database spec went through a large overhaul that addresses
73659        many concerns.  Amongst other changes/improvements:
73660        - SQLTransaction object is added and all transactions are explicit.  In addition, since the API manages
73661          transactions explicitly, transaction-related language in SQL statements is disallowed
73662        - executeSql() is now on a transaction object instead of the database object.
73663        - Database.changeVersion() now takes place within the context of a transaction.  Therefore the version 
73664          change can be atomic along with the statements that modify the DB schema
73665
73666        Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
73667        as a chain of events on the SQLTransaction object where processing is handed off between being processed 
73668        asynchronously and calling back up to javascript.  To accomplish this voodoo, SQLTransaction has a series of 
73669        methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
73670
73671        * DerivedSources.make:
73672        * WebCore.xcodeproj/project.pbxproj:
73673
73674        * bindings/js/JSDatabaseCustom.cpp:
73675        (WebCore::JSDatabase::changeVersion): Adapt to the new API
73676        (WebCore::JSDatabase::transaction): Added
73677
73678        * bindings/js/JSSQLTransactionCustom.cpp: Added.
73679        (WebCore::JSSQLTransaction::executeSql): Added
73680
73681        * page/DOMWindow.cpp:
73682        (WebCore::DOMWindow::openDatabase): Add the new arguments
73683        * page/DOMWindow.h:
73684        * page/DOMWindow.idl:
73685
73686        * page/inspector/DatabasePanel.js: Use the new API
73687
73688        * storage/ChangeVersionWrapper.cpp: Added.  Implementation of "SQLTransactionWrapper" that enforces
73689          changing the version of the database
73690        (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
73691        (WebCore::ChangeVersionWrapper::performPreflight):
73692        (WebCore::ChangeVersionWrapper::performPostflight):
73693        * storage/ChangeVersionWrapper.h: Added.
73694        (WebCore::ChangeVersionWrapper::sqlError):
73695
73696        * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
73697          happen solely on the background thread - most of these changes result from that change
73698        (WebCore::Database::Database): Removed an obsolete FIXME
73699        (WebCore::Database::openAndVerifyVersion): 
73700        (WebCore::Database::getVersionFromDatabase):
73701        (WebCore::Database::setVersionInDatabase):
73702        (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
73703        (WebCore::Database::performOpenAndVerify):
73704        (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
73705        (WebCore::Database::changeVersion): Changed for the new API from JS
73706        (WebCore::Database::transaction): Added, for the new API from JS
73707        (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
73708        (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
73709        (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
73710        (WebCore::Database::performGetTableNames):
73711        (WebCore::Database::deliverAllPendingCallbacks):
73712        (WebCore::Database::deliverPendingCallback):
73713        (WebCore::Database::setExpectedVersion):
73714        * storage/Database.h: 
73715        * storage/Database.idl:
73716
73717        * storage/DatabaseTask.cpp:  Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
73718          to replace the m_synchronous flag
73719        (WebCore::DatabaseTask::performTask):
73720        (WebCore::DatabaseTask::lockForSynchronousScheduling):
73721        (WebCore::DatabaseTask::waitForSynchronousCompletion):
73722        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
73723        * storage/DatabaseTask.h:
73724
73725        * storage/SQLError.h: New API object
73726
73727        * storage/SQLResultSet.cpp:
73728        (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
73729        * storage/SQLResultSet.h:
73730        * storage/SQLResultSet.idl:
73731
73732        * storage/SQLStatement.cpp: Added.
73733        (WebCore::SQLStatement::SQLStatement):
73734        (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
73735        (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
73736          of an actual version vs. expected version mismatch
73737        (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
73738        * storage/SQLStatement.h: Added.
73739        (WebCore::SQLStatement::hasStatementCallback):
73740        (WebCore::SQLStatement::hasStatementErrorCallback):
73741        (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
73742
73743        * storage/SQLTransaction.cpp: Added.
73744        (WebCore::SQLTransaction::SQLTransaction):
73745        (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
73746        (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
73747        (WebCore::SQLTransaction::performNextStep): Call the method for the next step
73748        (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
73749        (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight 
73750          using the SQLTransactionWrapper, if any
73751        (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
73752        (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread 
73753          and make runStatements() the next step
73754        (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction 
73755        (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
73756        (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
73757        (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
73758        (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
73759        (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
73760        (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
73761        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
73762          transaction after it error'ed out
73763        * storage/SQLTransaction.h:
73764        (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): 
73765        (WebCore::SQLTransaction::database):
73766        * storage/SQLTransaction.idl:
73767
73768        The following were made obsolete by the new version of the API:
73769        * bindings/js/JSCustomSQLCallback.cpp: Removed.
73770        * bindings/js/JSCustomSQLCallback.h: Removed.
73771        * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
73772        * bindings/js/JSCustomVersionChangeCallback.h: Removed.
73773        * storage/DatabaseCallback.cpp: Removed.
73774        * storage/DatabaseCallback.h: Removed.
73775        * storage/SQLCallback.h: Removed.
73776        * storage/SQLCallback.idl: Removed.
73777        * storage/VersionChangeCallback.h: Removed.
73778        * storage/VersionChangeCallback.idl: Removed.
73779
737802007-11-13  Dan Bernstein  <mitz@apple.com>
73781
73782        Reviewed by Beth Dakin.
73783
73784        - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
73785
73786        * css/html4.css: Added a 'cursor: auto' rule for links.
73787        * manual-tests/link-cursor-auto.html: Added.
73788
737892007-11-13  Dan Bernstein  <mitz@apple.com>
73790
73791        Reviewed by Beth Dakin.
73792
73793        - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
73794
73795        The root cause for the crash is that when a non-HTML view enters the
73796        frame, the frame's document pointer keeps pointing at the last HTML-type
73797        document it contained. This patch does not address the root cause, but
73798        makes changes to account for that condition.
73799
73800        * loader/FrameLoader.cpp:
73801        (WebCore::FrameLoader::receivedMainResourceError): Do not change the
73802        frame's current document's page cache state here.
73803        (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
73804        current document is in fact the history item being invalidated, then
73805        set its page cache state here.
73806
738072007-11-12  Antti Koivisto  <antti@apple.com>
73808
73809        Reviewed by Adele.
73810
73811        Fix that 'timeupdate' and 'waiting' events were never dispatched.
73812        
73813        Add explicit m_paused attribute instead of trying to derive paused state from
73814        underlying media. Call updatePlayState() to start/stop media playback
73815        when any attribute that affects active playback state changes. This matches 
73816        specification text.
73817        
73818        Test: http/tests/media/video-play-stall.html
73819
73820        * html/HTMLMediaElement.cpp:
73821        (WebCore::HTMLMediaElement::HTMLMediaElement):
73822        (WebCore::HTMLMediaElement::setReadyState):
73823        (WebCore::HTMLMediaElement::paused):
73824        (WebCore::HTMLMediaElement::play):
73825        (WebCore::HTMLMediaElement::pause):
73826        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
73827        (WebCore::HTMLMediaElement::movieDidEnd):
73828        (WebCore::HTMLMediaElement::updatePlayState):
73829        * html/HTMLMediaElement.h:
73830
738312007-11-13  John Sullivan  <sullivan@apple.com>
73832
73833        Reviewed by Darin.
73834
73835        removed recently-added PreferredType concept; we found a better way to do what
73836        ths was accomplishing
73837
73838        * bridge/WindowFeatures.h:
73839        (WebCore::WindowFeatures::WindowFeatures):
73840        removed definition of PreferredType
73841                        
73842        * page/ContextMenuController.cpp:
73843        (WebCore::openNewWindow):
73844        removed use of PreferredType
73845
738462007-11-12  Alexey Proskuryakov  <ap@webkit.org>
73847
73848        Reviewed by Darin.
73849
73850        http://bugs.webkit.org/show_bug.cgi?id=15954
73851        Move DOM Selection operations out of SelectionController
73852
73853        No change in functionality.
73854
73855        * editing/SelectionController.cpp:
73856        (WebCore::SelectionController::setSelectedRange):
73857        * editing/SelectionController.h:
73858        * page/DOMSelection.cpp:
73859        (WebCore::DOMSelection::anchorNode):
73860        (WebCore::DOMSelection::baseNode):
73861        (WebCore::DOMSelection::anchorOffset):
73862        (WebCore::DOMSelection::baseOffset):
73863        (WebCore::DOMSelection::focusNode):
73864        (WebCore::DOMSelection::extentNode):
73865        (WebCore::DOMSelection::focusOffset):
73866        (WebCore::DOMSelection::extentOffset):
73867        (WebCore::DOMSelection::isCollapsed):
73868        (WebCore::DOMSelection::type):
73869        (WebCore::DOMSelection::rangeCount):
73870        (WebCore::DOMSelection::collapse):
73871        (WebCore::DOMSelection::collapseToEnd):
73872        (WebCore::DOMSelection::collapseToStart):
73873        (WebCore::DOMSelection::empty):
73874        (WebCore::DOMSelection::setBaseAndExtent):
73875        (WebCore::DOMSelection::setPosition):
73876        (WebCore::DOMSelection::modify):
73877        (WebCore::DOMSelection::extend):
73878        (WebCore::DOMSelection::getRangeAt):
73879        (WebCore::DOMSelection::removeAllRanges):
73880        (WebCore::DOMSelection::addRange):
73881        (WebCore::DOMSelection::deleteFromDocument):
73882        (WebCore::DOMSelection::containsNode):
73883        (WebCore::DOMSelection::selectAllChildren):
73884        (WebCore::DOMSelection::toString):
73885        * page/DOMSelection.h:
73886        Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
73887        to return its result directly instead of via an ExceptionCode that no caller wanted.
73888
73889        * editing/Editor.cpp:
73890        (WebCore::Editor::deleteRange):
73891        (WebCore::Editor::removeFormattingAndStyle):
73892        (WebCore::Editor::selectComposition):
73893        (WebCore::Editor::setComposition):
73894        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
73895        Adapted for SelectionController::setSelectedRange() now returning a bool.
73896        SelectionController::toString() is no longer avasilable, use plainText() explicitly.
73897
73898        * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
73899
739002007-11-12  Dan Bernstein  <mitz@apple.com>
73901
73902        Reviewed by Darin Adler.
73903
73904        - <http://bugs.webkit.org/show_bug.cgi?id=15890>
73905          Most of www.aol.com still redraws unnecessarily when headline/photo section changes
73906
73907        Test: fast/repaint/invisible-objects.html
73908
73909        Avoid repainting invisible blocks if they are enclosed in a layer that
73910        contains no visible objects.
73911
73912        * rendering/RenderBlock.cpp:
73913        (WebCore::RenderBlock::layoutBlock):
73914        * rendering/RenderBox.cpp:
73915        (WebCore::RenderBox::absoluteClippedOverflowRect):
73916
739172007-11-12  Timothy Hatcher  <timothy@apple.com>
73918
73919        Reviewed by Mark Rowe.
73920
73921        Prevent selecting a word in the breadcrumb or the styles section when double
73922        clicking on a DOM node in the outline tree.
73923
73924        * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
73925          with a detail of 2 or higher comes in. This prevents the selection.
73926        * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
73927
739282007-11-12  Oliver Hunt  <oliver@apple.com>
73929
73930        Reviewed by John S.
73931
73932        <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
73933        
73934        EventHandler needs to reset these fields when a drag terminates, otherwise
73935        EventHandler is left in an inconsistent state when a drag is initiated on a
73936        page with multiple frames.
73937
73938        * page/EventHandler.cpp:
73939        (WebCore::EventHandler::cancelDragAndDrop):
73940        (WebCore::EventHandler::performDragAndDrop):
73941        (WebCore::EventHandler::clearDragState):
73942        * page/EventHandler.h:
73943
739442007-11-12  Oliver Hunt  <oliver@apple.com>
73945
73946        Reviewed by Darin and Antti.
73947
73948        Return behaviour for 0 sized pattern back to what it was prior to r27704
73949
73950        This change in behaviour broke two layout tests in DRT, so correcting it
73951        corrects existing tests.
73952
73953        * platform/graphics/cg/ImageBufferCG.cpp:
73954
739552007-11-12  Timothy Hatcher  <timothy@apple.com>
73956
73957        Reviewed by John.
73958
73959        <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
73960
73961        * page/mac/WebCoreFrameBridge.mm:
73962        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
73963        If the SharedBuffer is null insert an empty NSData instead of nil.
73964
739652007-11-12  Darin Adler  <darin@apple.com>
73966
73967        Reviewed by Tim.
73968
73969        - http://bugs.webkit.org/show_bug.cgi?id=15947
73970          speed up page loading a bit by inlining
73971
73972        * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
73973        Factored out the slow case of isScheduledLocationChangePending into this.
73974
73975        * loader/FrameLoader.h:
73976        (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
73977        inline check of the far and away most common case, where m_scheduledRedirection
73978        is 0; the rest is in the isLocationChange function.
73979
739802007-11-12  George Staikos  <staikos@kde.org>
73981
73982        Reviewed by Tim.
73983
73984        Extract the text match marker highlight color into RenderTheme instead
73985        of the hardcoded yellow.
73986
73987        * rendering/InlineTextBox.cpp:
73988        (WebCore::InlineTextBox::paintTextMatchMarker):
73989        * rendering/RenderTheme.cpp:
73990        (WebCore::RenderTheme::platformTextSearchHighlightColor):
73991        * rendering/RenderTheme.h:
73992
739932007-11-12  Mark Rowe  <mrowe@apple.com>
73994
73995        Fix deadlock on launch on the Mac.
73996
73997        * loader/icon/IconDatabase.cpp:
73998        (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
73999
740002007-11-12  Justin Haygood  <jhaygood@reaktix.com>
74001
74002        Reviewed by Brady.
74003
74004        http://bugs.webkit.org/show_bug.cgi?id=15955
74005        Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
74006
74007        * loader/icon/IconDatabase.cpp:
74008        (WebCore::IconDatabase::open):
74009        (WebCore::IconDatabase::close):
74010        * loader/icon/IconDatabase.h:
74011        * platform/sql/SQLiteDatabase.cpp:
74012        (WebCore::SQLiteDatabase::SQLiteDatabase):
74013        (WebCore::SQLiteDatabase::open):
74014        (WebCore::SQLiteDatabase::close):
74015        * platform/sql/SQLiteDatabase.h:
74016
740172007-11-12  Adam Roben  <aroben@apple.com>
74018
74019        Windows build fix
74020
74021        * config.h: Touch because VS apparently can't figure out which files
74022        depend on ResourceResponse.h.
74023        * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
74024        project and remove old ResourceResponse files.
74025
740262007-11-12  Julien Chaffraix  <julien.chaffraix@gmail.com>
74027
74028        Reviewed by Darin.
74029
74030        http://bugs.webkit.org/show_bug.cgi?id=15334
74031        Split ResourceResponse into platform specific files
74032
74033        * WebCore.base.exp:
74034        * WebCore.pro:
74035        * WebCore.vcproj/WebCore.vcproj:
74036        * WebCore.xcodeproj/project.pbxproj:
74037        * platform/network/ResourceResponse.cpp: Removed.
74038        * platform/network/ResourceResponse.h: Removed.
74039        * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
74040        (WebCore::ResourceResponseBase::asResourceResponse):
74041        (WebCore::ResourceResponseBase::isHTTP):
74042        (WebCore::ResourceResponseBase::url):
74043        (WebCore::ResourceResponseBase::setUrl):
74044        (WebCore::ResourceResponseBase::mimeType):
74045        (WebCore::ResourceResponseBase::setMimeType):
74046        (WebCore::ResourceResponseBase::expectedContentLength):
74047        (WebCore::ResourceResponseBase::setExpectedContentLength):
74048        (WebCore::ResourceResponseBase::textEncodingName):
74049        (WebCore::ResourceResponseBase::setTextEncodingName):
74050        (WebCore::ResourceResponseBase::suggestedFilename):
74051        (WebCore::ResourceResponseBase::setSuggestedFilename):
74052        (WebCore::ResourceResponseBase::httpStatusCode):
74053        (WebCore::ResourceResponseBase::setHTTPStatusCode):
74054        (WebCore::ResourceResponseBase::httpStatusText):
74055        (WebCore::ResourceResponseBase::setHTTPStatusText):
74056        (WebCore::ResourceResponseBase::httpHeaderField):
74057        (WebCore::ResourceResponseBase::setHTTPHeaderField):
74058        (WebCore::ResourceResponseBase::httpHeaderFields):
74059        (WebCore::ResourceResponseBase::isAttachment):
74060        (WebCore::ResourceResponseBase::setExpirationDate):
74061        (WebCore::ResourceResponseBase::expirationDate):
74062        (WebCore::ResourceResponseBase::setLastModifiedDate):
74063        (WebCore::ResourceResponseBase::lastModifiedDate):
74064        (WebCore::ResourceResponseBase::updateResourceResponse):
74065        * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
74066        (WebCore::ResourceResponseBase::ResourceResponseBase):
74067        * platform/network/cf/ResourceResponse.h: Added.
74068        (WebCore::ResourceResponse::ResourceResponse):
74069        * platform/network/curl/ResourceResponse.h: Added.
74070        (WebCore::ResourceResponse::ResourceResponse):
74071        (WebCore::ResourceResponse::doUpdateResourceResponse):
74072        * platform/network/mac/ResourceResponse.h: Added.
74073        (WebCore::ResourceResponse::ResourceResponse):
74074        * platform/network/qt/ResourceResponse.h: Added.
74075        (WebCore::ResourceResponse::ResourceResponse):
74076        (WebCore::ResourceResponse::doUpdateResourceResponse):
74077
740782007-11-11  Justin Haygood  <jhaygood@reaktix.com>
74079
74080        Reviewed by Adam Roben.
74081
74082        http://bugs.webkit.org/show_bug.cgi?id=15939
74083        Adds a currentThread API for use by SQLiteDatabase, etc.
74084
74085        * platform/Threading.h:
74086        * platform/ThreadingNone.cpp:
74087        (WebCore::currentThread):
74088        * platform/gtk/ThreadingGtk.cpp:
74089        (WebCore::identifierByGthreadHandle):
74090        * platform/pthreads/ThreadingPthreads.cpp:
74091        (WebCore::identifierByPthreadHandle):
74092        (WebCore::currentThread):
74093
740942007-11-11  Dan Bernstein  <mitz@apple.com>
74095
74096        Reviewed by Adam Roben.
74097
74098        - fix http://bugs.webkit.org/show_bug.cgi?id=15942
74099          REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
74100
74101        Test: editing/selection/cleared-by-relayout.html
74102
74103        * editing/Selection.cpp:
74104        (WebCore::Selection::toRange): Check if the selection has been cleared
74105        by updating layout.
74106
741072007-11-11  Darin Adler  <darin@apple.com>
74108
74109        Reviewed by Mark Rowe.
74110
74111        - fix line numbers that were off since my recent patch
74112
74113        * platform/SegmentedString.h:
74114        (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
74115        and rename it to m_doNotExcludeLineNumbers.
74116        (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
74117        (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
74118        (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
74119        (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
74120        the regression, but keep the speediness. I accidentally had removed a ! here.
74121
74122        * platform/SegmentedString.cpp:
74123        (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
74124
741252007-11-11  Oliver Hunt  <oliver@apple.com>
74126
74127        Reviewed by Darin.
74128
74129        Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
74130        malformed SVG file in WebCore::ImageBuffer::create. Add protection
74131        against a potential overflow.
74132
74133        * platform/graphics/cg/ImageBufferCG.cpp:
74134
741352007-11-11  Antti Koivisto  <antti@apple.com>
74136
74137        Reviewed by Darin.
74138
74139        Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
74140
74141        * bindings/js/kjs_binding.cpp:
74142        (KJS::setDOMException):
74143        * dom/Attr.cpp:
74144        (WebCore::Attr::setPrefix):
74145        * dom/Document.cpp:
74146        (WebCore::Document::createElement):
74147        * dom/Element.cpp:
74148        (WebCore::Element::setPrefix):
74149        * dom/Range.cpp:
74150        (WebCore::Range::setStart):
74151        (WebCore::Range::setEnd):
74152        (WebCore::Range::isPointInRange):
74153        (WebCore::Range::comparePoint):
74154        (WebCore::Range::compareBoundaryPoints):
74155        (WebCore::Range::deleteContents):
74156        (WebCore::Range::processContents):
74157        (WebCore::Range::extractContents):
74158        (WebCore::Range::insertNode):
74159        (WebCore::Range::setStartAfter):
74160        (WebCore::Range::setEndBefore):
74161        (WebCore::Range::setEndAfter):
74162        (WebCore::Range::selectNode):
74163        (WebCore::Range::surroundContents):
74164        (WebCore::Range::setStartBefore):
74165        * editing/TextIterator.cpp:
74166        (WebCore::TextIterator::TextIterator):
74167        * html/CanvasRenderingContext2D.cpp:
74168        (WebCore::CanvasRenderingContext2D::createPattern):
74169        * html/HTMLMediaElement.cpp:
74170        (WebCore::HTMLMediaElement::play):
74171        (WebCore::HTMLMediaElement::pause):
74172        * html/HTMLSelectElement.cpp:
74173        (WebCore::HTMLSelectElement::add):
74174        (WebCore::HTMLSelectElement::setOption):
74175        * xml/XPathEvaluator.cpp:
74176        (WebCore::XPathEvaluator::evaluate):
74177
741782007-11-11  Darin Adler  <darin@apple.com>
74179
74180        Reviewed by Mitz.
74181
74182        - http://bugs.webkit.org/show_bug.cgi?id=15945
74183          speed up GraphicsContextCG typical case by skipping roundToDevicePixels
74184
74185        * platform/graphics/cg/GraphicsContextCG.cpp:
74186        (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
74187        longer know if the transform is identity or not.
74188        (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
74189        CGContextSave/RestoreGState.
74190        (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
74191        longer know if the transform is identity or not.
74192        (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
74193        (WebCore::GraphicsContext::scale): Ditto.
74194        (WebCore::GraphicsContext::rotate): Ditto.
74195        (WebCore::GraphicsContext::translate): Ditto.
74196        (WebCore::GraphicsContext::concatCTM): Ditto.
74197        (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
74198        is known to be identity, and record that fact when we discover it otherwise.
74199
74200        * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
74201        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
74202        Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
74203
742042007-11-11  Darin Adler  <darin@apple.com>
74205
74206        Reviewed by Mitz.
74207
74208        - http://bugs.webkit.org/show_bug.cgi?id=15944
74209          streamline SegmentedString to speed up parsing
74210
74211        I measured a speed-up of the page load test while developing this patch. I don't
74212        have a precise figure, though.
74213
74214        * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
74215        lineno to m_lineNumber.
74216        * html/HTMLTokenizer.cpp:
74217        (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
74218        since we don't want to update a line number.
74219        (WebCore::HTMLTokenizer::parseSpecial): Ditto.
74220        (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
74221        instead of lineNumberPtr() since the advance function now takes a reference.
74222        (WebCore::HTMLTokenizer::parseServer): Ditto.
74223        (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
74224        (WebCore::HTMLTokenizer::parseText): Ditto.
74225        (WebCore::HTMLTokenizer::parseEntity): Ditto.
74226        (WebCore::HTMLTokenizer::parseTag): Ditto.
74227        (WebCore::HTMLTokenizer::write): Ditto.
74228
74229        * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
74230        * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
74231        Don't pass 0 to the advance function.
74232
74233        * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
74234        the most common case, and pushed less common cases into a separate function
74235        that is not inlined. Also got rid of a branch by separating the case with a
74236        line number from the case without one.
74237
74238        * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
74239        Added. The aforementioned less common cases are here.
74240
742412007-11-11  Antti Koivisto  <antti@apple.com>
74242
74243        Forgot to do this review change (and test HTTP commit).
74244
74245        * html/HTMLMediaElement.cpp:
74246        (WebCore::HTMLMediaElement::play):
74247
742482007-11-11  Antti Koivisto  <antti@apple.com>
74249
74250        Reviewed by Darin.
74251        
74252        - Update play() and pause() to match current HTML5 draft
74253            - send events asynchronously
74254            - add timeupdate event to pause
74255            - rethrow load() exception, not others
74256        - Use list for async events to get ordering right
74257
74258        Tests: media/video-pause-empty-events.html
74259               media/video-play-empty-events.html
74260               media/video-play-pause-events.html
74261               media/video-play-pause-exception.html
74262
74263        * html/HTMLMediaElement.cpp:
74264        (WebCore::HTMLMediaElement::dispatchEventAsync): 
74265        (WebCore::HTMLMediaElement::asyncEventTimerFired):
74266        (WebCore::HTMLMediaElement::play):
74267        (WebCore::HTMLMediaElement::pause):
74268        * html/HTMLMediaElement.h:
74269
742702007-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
74271
74272        Reviewed by Eric.
74273
74274        Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
74275
74276        Add (basic) support for dominant-baseline / alignment-baseline text properties.
74277        Note: there are no official testcases, and no-one implemented it before. Only ASV3
74278              supported dominant-baseline, but not correct it seems.
74279
74280        * rendering/SVGRootInlineBox.cpp:
74281        (WebCore::dominantBaselineToShift):
74282        (WebCore::alignmentBaselineToShift):
74283        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
74284
742852007-11-11  Adam Roben  <aroben@apple.com>
74286
74287        Add wrappers around CoCreateInstance to COMPtr
74288
74289        I followed the example of the Query constructor and query method by
74290        adding a Create constructor and create method.
74291
74292        Reviewed by Darin.
74293
74294        * platform/win/COMPtr.h:
74295        (COMPtr::COMPtr): Added a new constructor that calls
74296        CoCreateInstance.
74297        (COMPtr::create): Added.
74298        (COMPtr::createInstance): Added.
74299
743002007-11-11  Alexey Proskuryakov  <ap@nypop.com>
74301
74302        Reviewed by Darin.
74303
74304        http://bugs.webkit.org/show_bug.cgi?id=15896
74305        More editing cleanup
74306
74307        No functionality changes.
74308
74309        * dom/Node.h: Moved several editing-related methods elsewhere.
74310        * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
74311        to highlight that it is a match to offsetInCharacters(), and much different from other
74312        offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
74313        offsetInCharacters() before calling this.
74314
74315        * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
74316        * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
74317        Updated for above renamings.
74318
74319        * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
74320
74321        * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
74322
74323        * dom/Position.h:
74324        * dom/Position.cpp:
74325        (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
74326        (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
74327        (WebCore::Position::previous): Adapted to the above move.
74328        (WebCore::Position::next): Ditto.
74329        (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
74330        and BR elements are covered by editingIgnoresContent().
74331        (WebCore::Position::downstream): Ditto.
74332        (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
74333        (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
74334
74335        * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
74336        * dom/PositionIterator.cpp:
74337        (WebCore::PositionIterator::increment): Updated for the above moves.
74338        (WebCore::PositionIterator::decrement): Ditto.
74339
74340        * dom/ProcessingInstruction.h:
74341        * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
74342        ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
74343        I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
74344
74345        * dom/Range.cpp:
74346        (WebCore::Range::selectNodeContents):
74347        * editing/ApplyStyleCommand.cpp:
74348        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
74349        (WebCore::ApplyStyleCommand::applyInlineStyle):
74350        (WebCore::maxRangeOffset):
74351        (WebCore::ApplyStyleCommand::removeInlineStyle):
74352        (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
74353        (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
74354        (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
74355        (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
74356        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
74357        * editing/CompositeEditCommand.cpp:
74358        (WebCore::CompositeEditCommand::insertNodeAt):
74359        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
74360        * editing/DeleteSelectionCommand.cpp:
74361        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
74362        * editing/InsertLineBreakCommand.cpp:
74363        (WebCore::InsertLineBreakCommand::doApply):
74364        * editing/InsertParagraphSeparatorCommand.cpp:
74365        (WebCore::InsertParagraphSeparatorCommand::doApply):
74366        * editing/InsertTextCommand.cpp:
74367        (WebCore::InsertTextCommand::insertTab):
74368        * editing/visible_units.cpp:
74369        (WebCore::previousLinePosition):
74370        (WebCore::nextLinePosition):
74371        Updated for the above moves.
74372
74373        * editing/Editor.cpp:
74374        (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
74375
74376        * editing/TextIterator.cpp:
74377        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
74378        match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
74379        (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
74380
74381        * editing/htmlediting.h:
74382        * editing/htmlediting.cpp:
74383        (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
74384        child nodes, other than via DOM manipulation, which is not specific to BRs.
74385        (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
74386        (WebCore::maxDeepOffset): Ditto.
74387        (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
74388        (WebCore::caretMaxOffset): Ditto.
74389
74390        * page/EventHandler.cpp:
74391        (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
74392        caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
74393        will take care of adjusting the offset.
74394
74395        * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
74396        * page/mac/WebCoreFrameBridge.mm:
74397        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
74398        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
74399        Changed some runtime checks that seemingly cannot fail into assertions.
74400
744012007-11-11  Darin Adler  <darin@apple.com>
74402
74403        Reviewed by Sam.
74404
74405        - updated for JSRegExp function changes
74406
74407        * platform/RegularExpression.cpp:
74408        (WebCore::RegularExpression::Private::compile):
74409        (WebCore::RegularExpression::match):
74410
744112007-11-10  Mark Rowe  <mrowe@apple.com>
74412
74413        Qt Linux build fix.
74414
74415        * platform/UnicodeRange.h:
74416
744172007-11-10  Mark Rowe  <mrowe@apple.com>
74418
74419        Qt Windows build fix.
74420
74421        * platform/UnicodeRange.h:
74422
744232007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
74424
74425        Reviewed by Eric.
74426
74427        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
74428        Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
74429
74430        Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
74431        Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
74432
74433        * WebCore.pro: Add platform/UnicodeRange.cpp to build
74434        * WebCore.xcodeproj/project.pbxproj: Dito.
74435        * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
74436        (WebCore::SVGChar::characterTransform):
74437        * rendering/SVGCharacterLayoutInfo.h: New variables.
74438        (WebCore::SVGCharOnPath::SVGCharOnPath):
74439        (WebCore::SVGChar::SVGChar):
74440        * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
74441        (WebCore::glyphOrientationToAngle):
74442        (WebCore::glyphOrientationIsMultiplyOf180Degrees):
74443        (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
74444        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
74445        (WebCore::cummulatedWidthOrHeightOfTextChunk):
74446        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
74447
744482007-11-10  Timothy Hatcher  <timothy@apple.com>
74449
74450        Reviewed by Sam Weinig.
74451
74452        * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
74453          and switch over to use getUniqueProperties in another place.
74454
744552007-11-10  John Sullivan  <sullivan@apple.com>
74456
74457        Reviewed by Sam Weinig
74458
74459        Rest of fix for 5394877
74460
74461        * bindings/js/kjs_window.cpp:
74462        (KJS::Window::isSafeScript):
74463        Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
74464        private browsing mode either.
74465
744662007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
74467
74468        Reviewed by Oliver.
74469
74470        Fix function name difference - header said 'unicodeRangeForCharacter', actually
74471        implemented function is 'findCharUnicodeRange'. They are not compiled yet.
74472
74473        * platform/UnicodeRange.h:
74474
744752007-11-10  Dan Bernstein  <mitz@apple.com>
74476
74477        Reviewed by Darin Adler.
74478
74479        - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
74480
74481        No test because context menu events cannot be tested in DumpRenderTree.
74482
74483        * page/EventHandler.cpp:
74484        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
74485        If the click occurred in an active link, selects the entire link
74486        element. Otherwise selects the closest word.
74487        (WebCore::EventHandler::sendContextMenuEvent): Call
74488        selectClosestWordOrLinkFromMouseEvent().
74489        * page/EventHandler.h:
74490
744912007-11-10  John Sullivan  <sullivan@apple.com>
74492
74493        Reviewed by Tim Hatcher
74494
74495        - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when 
74496          in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
74497
74498        * bindings/js/kjs_window.cpp:
74499        (KJS::Window::isSafeScript):
74500        Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
74501
745022007-11-10  Alexey Proskuryakov  <ap@webkit.org>
74503
74504        Reviewed by Darin.
74505
74506        http://bugs.webkit.org/show_bug.cgi?id=15922
74507        Implement more of Mozilla Selection API
74508
74509        Tests: editing/selection/containsNode.html
74510               editing/selection/deleteFromDocument.html
74511               editing/selection/extend.html
74512               editing/selection/selectAllChildren.html
74513
74514        * editing/SelectionController.cpp:
74515        (WebCore::SelectionController::deleteFromDocument):
74516        (WebCore::SelectionController::containsNode):
74517        (WebCore::SelectionController::selectAllChildren):
74518        (WebCore::SelectionController::extend):
74519        * editing/SelectionController.h:
74520        Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
74521        which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
74522        Removed a comment mentioning removeRange(), as this method makes no sense without multiple
74523        selection range support.
74524
74525        * page/DOMSelection.cpp:
74526        (WebCore::DOMSelection::extend):
74527        (WebCore::DOMSelection::deleteFromDocument):
74528        (WebCore::DOMSelection::containsNode):
74529        (WebCore::DOMSelection::selectAllChildren):
74530        * page/DOMSelection.h:
74531        * page/DOMSelection.idl:
74532        Exposed the new methods.
74533
745342007-11-10  Alexey Proskuryakov  <ap@webkit.org>
74535
74536        Reviewed by Darin.
74537
74538        http://bugs.webkit.org/show_bug.cgi?id=15892
74539        DOM Range operations are not implemented for ProcessingInstruction nodes
74540
74541        Test: fast/dom/Range/range-processing-instructions.html
74542
74543        * dom/Range.cpp:
74544        (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
74545        (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
74546        to use ProcessingInstruction.data.
74547
745482007-11-09  Timothy Hatcher  <timothy@apple.com>
74549
74550        Reviewed by Mark Rowe.
74551
74552        Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
74553        http://bugs.webkit.org/show_bug.cgi?id=12054
74554
74555        - Add support code for routing copy events to the focused element.
74556        - Implement copying the currently selected DOM node. The node
74557          and it's subtree is copied to the clipboard. If the node has no
74558          outerHTML, the nodeValue is copied (text nodes, etc.)
74559        - Implement copy for the resource sidebar. The URL is copied for the
74560          currently selected resource.
74561
74562        * page/inspector/DocumentPanel.js:
74563        * page/inspector/inspector.js:
74564
745652007-11-09  Antti Koivisto  <antti@apple.com>
74566
74567        Reviewed by Adele.
74568
74569        Fix occasional blank video with poster attribute.
74570
74571        * html/HTMLMediaElement.cpp:
74572        (WebCore::HTMLMediaElement::load):
74573        (WebCore::HTMLMediaElement::didRestoreFromCache):
74574        Just calling updateFromElement() does the right thing for both poster image and video.
74575
745762007-11-04  Sam Weinig  <sam@webkit.org>
74577
74578        Reviewed by Adam Roben.
74579
74580        <rdar://problem/5435940>
74581        The COM bindings for the DOM should be autogenerated like the other DOM bindings
74582
74583        Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
74584        is being introduced in this patch and to insure that no conflicts arise, a temporary
74585        prefix of "GEN_" has been used for all the new classes.
74586
74587        The build architecture for these bindings differs slightly from the other autogenerated
74588        bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
74589        is done for the Objective-C bindigs currently), the IDLs and generation scripts are
74590        migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
74591
74592        This commit includes:
74593            - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
74594              and ref-counting.
74595            - Generating all of the Core DOM and most of HTML and CSS
74596            - Generating Event, EventTarget, and EventListener
74597
74598        * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
74599        * WebCore.vcproj/WebCore.vcproj:
74600        * WebCore.vcproj/migrate-idls.sh: Added.
74601        * bindings/scripts/CodeGenerator.pm:
74602        * bindings/scripts/CodeGeneratorCOM.pm: Added.
74603        * dom/EventListener.h: Make the isWindowEvent parameter default to false
74604        to allow autogeneration based on the IDL.
74605
746062007-11-09  Tristan O'Tierney  <tristan@apple.com>
74607
74608        Reviewed by Timothy Hatcher.
74609        
74610        This patch is for the WebKit side of <rdar://problem/5591115>.
74611        We need a way to tell context menu navigations, such as "Open in New Window"
74612        to override any sort of browser preference for tab based navigation.
74613
74614        * bridge/WindowFeatures.h:
74615        (WebCore::WindowFeatures::WindowFeatures):
74616        Added a new struct member var, preferredType
74617        and an accompanying enum type PreferredType
74618        to send a window type recommendation up to the Chrome. 
74619        
74620        * page/ContextMenuController.cpp:
74621        (WebCore::openNewWindow):
74622        Set the window features to recommend a new Window for
74623        "Open in New Window" context menu action.
74624
746252007-11-08  Adam Roben  <aroben@apple.com>
74626
74627        Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
74628
74629        We now match the behavior of Firefox and IE, which is to always just
74630        send a click event to the focused button when the Enter key is pressed
74631        (previously we were submitting forms directly in some cases).
74632
74633        Reviewed by Adele.
74634
74635        Test: fast/forms/enter-clicks-buttons.html
74636
74637        * html/HTMLButtonElement.cpp:
74638        (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
74639        fancy when Enter is pressed on a <button type=button> -- just send a
74640        click event like we do for other button types.
74641        * html/HTMLInputElement.cpp:
74642        (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
74643        the same way we treat type=submit and type=reset: just send a click
74644        event when Enter is pressed.
74645
746462007-11-09  Dan Bernstein  <mitz@apple.com>
74647
74648        Reviewed by Antti Koivisto.
74649
74650        - fix a bug in invisible layer culling: dynamically changing a 
74651          descendant of an invisible layer to be visible did not work
74652
74653        Test: fast/layers/layer-content-visibility-change.html
74654
74655        * rendering/RenderLayer.cpp:
74656        (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
74657        make sure that our stacking context rebuilds its z-order lists to
74658        include us.
74659
746602007-11-09  David Hyatt  <hyatt@apple.com>
74661
74662        Clean up matrix() parsing.  Make sure the first four arguments can be lengths or numbers.  The last two
74663        args can be lengths or numbers or percents.
74664
74665        Reviewed by Beth
74666
74667        * WebCore.xcodeproj/project.pbxproj:
74668        * css/CSSParser.cpp:
74669        (WebCore::TransformOperationInfo::TransformOperationInfo):
74670        (WebCore::CSSParser::parseTransform):
74671        * rendering/RenderStyle.h:
74672        (WebCore::MatrixTransformOperation::apply):
74673
746742007-11-09  Beth Dakin  <bdakin@apple.com>
74675
74676        Reviewed by Oliver.
74677
74678        Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 
74679        math leads to crazy problems
74680
74681        Transform matrices accept the first four parameters as CSS lengths. 
74682        CSS lengths get mapped into WebCore::Lengths as percents by 
74683        WebCore::convertToLength(). Percent lengths cannot call value(). It 
74684        does not yield a correct result and it asserts on Debug builds. 
74685
74686        * rendering/RenderStyle.h:
74687        (WebCore::MatrixTransformOperation::apply): Instead of calling 
74688        value() on the lengths, call calcValue. This fixes the assert and 
74689        the bad rendering. 
74690
746912007-11-09  Simon Hausmann  <hausmann@kde.org>
74692
74693        build/link fix for Qt/Windows.
74694
74695        userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
74696        define it twice.
74697
74698        * platform/qt/TemporaryLinkStubs.cpp:
74699
747002007-11-09  Simon Hausmann  <hausmann@kde.org>
74701
74702        Reviewed by Holger.
74703
74704        Fix ContextMenu allocation in the Qt port.
74705
74706        Store all items and submenus value based in ContextMenu and ContextMenuItem.
74707        That fixes the crashes when the context menu was populated with sub-menus because
74708        of the use of temporary ContextMenu objects like this:
74709
74710        ContextMenu subMenu(...);
74711        subMenu.appendItem(...);
74712        subMenu.appendItem(...);
74713
74714        subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
74715
74716        * platform/ContextMenu.h:
74717        * platform/ContextMenuItem.h:
74718        * platform/PlatformMenuDescription.h:
74719        * platform/qt/ContextMenuItemQt.cpp:
74720        (WebCore::ContextMenuItem::ContextMenuItem):
74721        (WebCore::ContextMenuItem::platformSubMenu):
74722        * platform/qt/ContextMenuQt.cpp:
74723        (WebCore::ContextMenu::ContextMenu):
74724        (WebCore::ContextMenu::~ContextMenu):
74725        (WebCore::ContextMenu::appendItem):
74726        (WebCore::ContextMenu::itemCount):
74727
747282007-11-09  Peter Kasting  <pkasting@google.com>
74729
74730        Reviewed by Mark Rowe.
74731
74732        http://bugs.webkit.org/show_bug.cgi?id=15909
74733        Malformed GIFs should not result in memory corruption.
74734
74735        * platform/image-decoders/gif/GIFImageDecoder.cpp:
74736        (WebCore::GIFImageDecoder::haveDecodedRow):
74737
747382007-11-08  Timothy Hatcher  <timothy@apple.com>
74739
74740        Reviewed by Sam Weinig.
74741
74742        Some Web Inspector CSS editing changes.
74743        - Only delete the property if all the text is delete or the new user input correctly parses.
74744          This prevents deleting the existing property if the new text is invalid.
74745        - Intercept the Escape key and cancel editing, not saving any changes.
74746
74747        * page/inspector/StylesSidebarPane.js:
74748
747492007-11-08  Kevin Ollivier  <kevino@theolliviers.com>
74750
74751        Bakefiles for building WebCore, needed by wx port.
74752
74753        Reviewed by Mark Rowe.
74754
74755        * WebCoreSources.bkl: Added.
74756        * webcore-base.bkl: Added.
74757        * webcore-wx.bkl: Added.
74758
747592007-11-08  Justin Haygood  <jhaygood@reaktix.com>
74760
74761        Reviewed by Mark Rowe.
74762
74763        http://bugs.webkit.org/show_bug.cgi?id=15905
74764
74765        Fix builds with HTML 5 Storage support disabled.
74766        ENABLE(DATABASE) needs to be added in a few places.
74767
74768        * page/InspectorController.cpp:
74769        * storage/Database.h:
74770
747712007-11-08  Steve Falkenburg  <sfalken@apple.com>
74772
74773        <rdar://problem/5524082> Allow images to be dragged out directly into other apps
74774        
74775        We weren't including CF_HDROP in our image drops.  This broke drag of
74776        images out of the browser window directly into other apps (examples
74777        include notepad, mspaint, msword).
74778        
74779        Reviewed by Oliver, Ada.
74780
74781        * platform/win/ClipboardWin.cpp:
74782        (WebCore::createGlobalImageFileContent): Removed unused variable.
74783        (WebCore::createGlobalHDropContent): Added
74784        (WebCore::writeFileToDataObject): Write HDROP data if available.
74785        (WebCore::writeImageToDataObject): Write HDROP for dragged images.
74786        (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
74787
747882007-11-08  Xan Lopez  <xan@gnome.org>
74789
74790        Reviewed by Alp.
74791
74792        http://bugs.webkit.org/show_bug.cgi?id=15908
74793        Use g_object_ref_sink when available
74794
74795        * platform/gtk/PopupMenuGtk.cpp:
74796        (WebCore::PopupMenu::show):
74797        * platform/gtk/ScrollViewGtk.cpp:
74798        (WebCore::ScrollView::setGtkAdjustments):
74799
748002007-11-08  Dan Bernstein  <mitz@apple.com>
74801
74802        Reviewed by Beth Dakin.
74803
74804        - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
74805
74806        Test: fast/dom/length-attribute-mapping.html
74807
74808        * dom/StyledElement.cpp:
74809        (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
74810        logic to stop after the first "%" or "*" in the string. This allows for
74811        "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
74812
748132007-11-08  Kevin McCullough  <kmccullough@apple.com>
74814
74815        - Build fix.
74816
74817        * loader/FrameLoaderClient.h:
74818        * platform/graphics/svg/SVGImageEmptyClients.h:
74819        (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
74820
748212007-11-08  Kevin McCullough  <kmccullough@apple.com>
74822
74823        Reviewed by Sam.
74824
74825        - windowObjectCleared() is no longer const.  It needs to setup the
74826        script debugger and cannot be const to do so.
74827
74828        * loader/FrameLoaderClient.h:
74829        * platform/graphics/svg/SVGImageEmptyClients.h:
74830        (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
74831
748322007-11-08  Adam Roben  <aroben@apple.com>
74833
74834        Hopeful Windows build fix
74835
74836        * rendering/RenderObject.cpp: Touch this file to make it recompile.
74837
748382007-11-08  Sam Weinig  <sam@webkit.org>
74839
74840        Reviewed by Darin.
74841
74842        Convert JavaScript internal function objects to use one class per
74843        function.  This avoids a switch statement inside what used to be
74844        the shared function classes and will allow Shark to better analyze
74845        the code.
74846
74847        To make this switch, the value property of the HashEntry was changed
74848        to a union of an intptr_t (which is used to continue handle valueGetters)
74849        and function pointer which points to a static constructor for the
74850        individual new function objects.
74851
74852        SunSpider claims this is a 1.0% speedup.
74853
74854        - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
74855          new classes and hand updated the remain non-generated (groan) classes.
74856
74857        * bindings/js/JSDOMWindowCustom.cpp:
74858        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
74859        * bindings/js/JSEventTargetNode.cpp:
74860        (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
74861        (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
74862        (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
74863        * bindings/js/JSEventTargetNode.h:
74864        * bindings/js/JSHTMLInputElementBase.cpp:
74865        (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
74866        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
74867        * bindings/js/JSHTMLInputElementBase.h:
74868        (WebCore::JSHTMLInputElementBase::):
74869        * bindings/js/JSXMLHttpRequest.cpp:
74870        (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
74871        (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
74872        (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
74873        (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
74874        (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
74875        (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
74876        (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
74877        (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
74878        (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
74879        (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
74880        * bindings/js/JSXMLHttpRequest.h:
74881        (KJS::JSXMLHttpRequest::impl):
74882        * bindings/js/JSXSLTProcessor.cpp:
74883        (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
74884        (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
74885        (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
74886        (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
74887        (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
74888        (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
74889        (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
74890        (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
74891        * bindings/js/JSXSLTProcessor.h:
74892        * bindings/js/kjs_events.cpp:
74893        (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
74894        (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
74895        (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
74896        (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
74897        * bindings/js/kjs_events.h:
74898        * bindings/js/kjs_navigator.cpp:
74899        (KJS::Plugins::):
74900        (KJS::Navigator::getOwnPropertySlot):
74901        (KJS::Plugins::getOwnPropertySlot):
74902        (KJS::PluginsFunctionRefresh::callAsFunction):
74903        (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
74904        * bindings/js/kjs_navigator.h:
74905        (KJS::Navigator::):
74906        * bindings/js/kjs_window.cpp:
74907        (KJS::Window::getOwnPropertySlot):
74908        (KJS::Window::put):
74909        (KJS::WindowProtoFuncAToB::callAsFunction):
74910        (KJS::WindowProtoFuncBToA::callAsFunction):
74911        (KJS::WindowProtoFuncOpen::callAsFunction):
74912        (KJS::WindowProtoFuncScrollBy::callAsFunction):
74913        (KJS::WindowProtoFuncScrollTo::callAsFunction):
74914        (KJS::WindowProtoFuncMoveBy::callAsFunction):
74915        (KJS::WindowProtoFuncMoveTo::callAsFunction):
74916        (KJS::WindowProtoFuncResizeBy::callAsFunction):
74917        (KJS::WindowProtoFuncResizeTo::callAsFunction):
74918        (KJS::WindowProtoFuncSetTimeout::callAsFunction):
74919        (KJS::WindowProtoFuncClearTimeout::callAsFunction):
74920        (KJS::WindowProtoFuncSetInterval::callAsFunction):
74921        (KJS::WindowProtoFuncAddEventListener::callAsFunction):
74922        (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
74923        (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
74924        (KJS::WindowProtoFuncNotImplemented::callAsFunction):
74925        (KJS::Location::getOwnPropertySlot):
74926        (KJS::Location::put):
74927        (KJS::LocationProtoFuncReplace::callAsFunction):
74928        (KJS::LocationProtoFuncReload::callAsFunction):
74929        (KJS::LocationProtoFuncAssign::callAsFunction):
74930        (KJS::LocationProtoFuncToString::callAsFunction):
74931        * bindings/js/kjs_window.h:
74932        (KJS::Window::):
74933        * bindings/scripts/CodeGeneratorJS.pm:
74934
749352007-11-08  Mark Rowe  <mrowe@apple.com>
74936
74937        Fix the Gtk, Qt and Wx builds.
74938
74939        * platform/gtk/TemporaryLinkStubs.cpp:
74940        * platform/qt/TemporaryLinkStubs.cpp:
74941        * platform/wx/TemporaryLinkStubs.cpp:
74942
749432007-11-08  Mark Rowe  <mrowe@apple.com>
74944
74945        Not reviewed.  Fix two instances of includes using the wrong case in the filename.
74946
74947        * platform/graphics/mac/MoviePrivateQTKit.mm:
74948        * platform/wx/MimeTypeRegistryWx.cpp:
74949
749502007-11-08  Darin Adler  <darin@apple.com>
74951
74952        Reviewed by Adam.
74953
74954        - fix <rdar://problem/5552943> accesskey does not focus <button> elements
74955
74956        Test: fast/forms/access-key.html
74957
74958        * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
74959        Added a call to focus.
74960
749612007-11-07  Darin Adler  <darin@apple.com>
74962
74963        Reviewed by Steve.
74964
74965        - cut down on notImplemented() functions on Windows
74966
74967        * bridge/AXObjectCache.h: Put #if around the accessibility
74968        global.
74969
74970        * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
74971        Moved here from TemporaryLinkStubs.
74972
74973        * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
74974        using the ResourceResponse that's now available from the DocumentLoader.
74975
74976        * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
74977        the Editor instead of the obsolete one on the Frame.
74978
74979        * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
74980        * loader/FrameLoader.h: Removed overrideMediaType.
74981
74982        * loader/gtk/DocumentLoaderGtk.cpp: Removed.
74983        * loader/mac/DocumentLoaderMac.mm: Removed.
74984        * loader/qt/DocumentLoaderQt.cpp: Removed.
74985
74986        * page/Frame.cpp: Removed transpose.
74987        * page/Frame.h: Ditto.
74988        * page/FrameView.h: Removed updateBorder.
74989        * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
74990        * page/mac/FrameMac.mm: Ditto.
74991        * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
74992        overrideMediaType.
74993        * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
74994
74995        * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
74996        * platform/qt/TemporaryLinkStubs.cpp: Ditto.
74997        * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
74998        * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
74999        issueTransposeCommand, and overrideMediaType.
75000
75001        * platform/network/cf/ResourceHandleCFNet.cpp:
75002        (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
75003        (WebCore::ResourceHandle::willLoadFromCache): Ditto.
75004        * platform/win/GraphicsContextWin.cpp:
75005        (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
75006        * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
75007        * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
75008        * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
75009
75010        * WebCore.pro: Updated for removed files.
75011        * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
75012
750132007-11-08  Mark Rowe  <mrowe@apple.com>
75014
75015       Build fix for case-sensitive file systems.  Fix case of file names
75016       in #include's.
75017
75018        * html/HTMLMediaElement.cpp:
75019        * platform/graphics/Movie.cpp:
75020
750212007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75022
75023        Reviewed by Lars Knoll <lars@trolltech.com>.
75024
75025        Remove some warnings about not implemented methods.
75026
75027        * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
75028        specific to the NS API and won't be implemented on Qt.
75029        * ResourceHandle::bufferedData can not be reached as we return false in
75030        ResourceHandle::supportsBufferedData.
75031
75032
75033        * platform/network/qt/ResourceHandleQt.cpp:
75034        (WebCore::ResourceHandle::supportsBufferedData):
75035
750362007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75037
75038        Reviewed by Lars Knoll <lars@trolltech.com>.
75039
75040        Cleanup checking for the request method.
75041
75042        * Check the request method only in QWebNetworkManager::add.
75043        * Currently HEAD, GET, POST are allowed and for everything else
75044        QWebNetworkManager::add returns false.
75045        * Returning false is compatible with ResourceHandle::start and it
75046        can be used in ResourceHandle::loadResourceSynchronously to generate
75047        a ResourceError
75048
75049
75050        * platform/network/qt/ResourceHandleQt.cpp:
75051        (WebCore::ResourceHandle::start):
75052        (WebCore::ResourceHandle::loadResourceSynchronously):
75053
750542007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75055
75056        Reviewed by Lars Knoll <lars@trolltech.com>.
75057
75058        Implement WebCore::callOnMainThread
75059
75060        Implemented using a global QObject, that is moved to the main thread
75061        and then sending a custom event to it.
75062        Picked a number below QEvent::User but above any other documented value.
75063
75064
75065        * platform/qt/ThreadingQt.cpp:
75066        (WebCore::PerformFunctionEvent::PerformFunctionEvent):
75067        (WebCore::MainThreadInvoker::MainThreadInvoker):
75068        (WebCore::MainThreadInvoker::event):
75069        (WebCore::callOnMainThread):
75070
750712007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75072
75073        Reviewed by Lars Knoll <lars@trolltech.com>.
75074
75075        Avoid problems with calling QPainter::begin() on an already active paintdevice
75076
75077        * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
75078        crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
75079        * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
75080        used by the ScrollView on a layout triggered by QWebPage::paintEvent.
75081
75082
75083        * platform/qt/WidgetQt.cpp:
75084        (WebCore::Widget::invalidateRect):
75085
750862007-11-08  Eric Seidel  <eric@webkit.org>
75087
75088        No review.
75089
75090        * ksvg2/svg/SVGPathElement.h: remove old comment
75091
750922007-11-07  Antti Koivisto  <antti@apple.com>
75093
75094        Reviewed by Ollie.
75095
75096        Ensure video renderer has correct size if video has already been loaded
75097        when it is constructed.
75098
75099        * rendering/RenderVideo.cpp:
75100        (WebCore::RenderVideo::RenderVideo):
75101
751022007-11-07  Antti Koivisto  <antti@apple.com>
75103
75104        Reviewed by Ollie.
75105
75106        Ensure video is visible when it should be.
75107
75108        * rendering/RenderVideo.cpp:
75109        (WebCore::RenderVideo::updateMovie):
75110
751112007-11-07  Dan Bernstein  <mitz@apple.com>
75112
75113        Reviewed by Darin Adler.
75114
75115        - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
75116
75117        Layers and listboxes are two kinds of ScrollBarClient that can be
75118        removed while the scrollbar is tracking the mouse. The scrollbar is not
75119        destroyed until later, and meanwhile it can try to call the client,
75120        which results in a crash.
75121
75122        * manual-tests/stale-scrollbar-client-crash.html: Added.
75123        * platform/ScrollBar.h:
75124        (WebCore::Scrollbar::setClient): Added.
75125        * rendering/RenderLayer.cpp:
75126        (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
75127        * rendering/RenderListBox.cpp:
75128        (WebCore::RenderListBox::~RenderListBox): Ditto.
75129
751302007-11-07  Adam Roben  <aroben@apple.com>
75131
75132        Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
75133
75134        Reviewed by Sam.
75135
75136        No test possible.
75137
75138        * platform/win/SharedBufferWin.cpp:
75139        (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
75140        empty path, because _wfopen_s will crash if we pass it a null pointer.
75141
751422007-11-07  David Kilzer  <ddkilzer@apple.com>
75143
75144        WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
75145        <http://bugs.webkit.org/show_bug.cgi?id=14893>
75146        <rdar://problem/5380295>
75147
75148        Reviewed by Darin.
75149
75150        Tests: fast/css/device-aspect-ratio.html
75151               fast/css/max-device-aspect-ratio.html
75152               fast/css/min-device-aspect-ratio.html
75153
75154        * css/MediaQueryEvaluator.cpp:
75155        (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
75156        (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
75157        a/b to h/v.  Switched first two arguments of the call to cmpvalue() to fix
75158        the bug.
75159
751602007-11-07  Dan Bernstein  <mitz@apple.com>
75161
75162        Reviewed by Dave Hyatt.
75163
75164        - fix http://bugs.webkit.org/show_bug.cgi?id=15887
75165          REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
75166
75167        Test: fast/css/display-none-inline-style-change-crash.html
75168
75169        * dom/Element.cpp:
75170        (WebCore::Element::recalcStyle): Fixed the crash by null-checking
75171        the current style and removed other checks that are not strictly
75172        necessary.
75173
751742007-11-07  Brady Eidson  <beidson@apple.com>
75175
75176        Rubberstamped by Sam
75177
75178        Remove FrameLoaderClient methods from SVG that were pruned awhile ago
75179
75180        * platform/graphics/svg/SVGImageEmptyClients.h:
75181
751822007-11-07  Dan Bernstein  <mitz@apple.com>
75183
75184        Reviewed by Darin Adler.
75185
75186        - fix a bug where CSS rules with :hover in the ancestor chain stopped
75187          working after changing the inline style declaration of the ancestor
75188
75189        Test: fast/css/affected-by-hover-after-style-change.html
75190
75191        * dom/Element.cpp:
75192        (WebCore::Element::recalcStyle): If we are not forcing style
75193        recalculation for all descendants, preserve any "affected by
75194        {hover|active|drag} bits that we may have acquired from them.
75195        Also renamed _style to currentStyle.
75196
751972007-11-06  Timothy Hatcher  <timothy@apple.com>
75198
75199        Reviewed by Adam.
75200
75201        Bug 11920: Web Inspector should have Firebug-like CSS editing
75202        http://bugs.webkit.org/show_bug.cgi?id=11920
75203
75204        * css/CSSComputedStyleDeclaration.h:
75205          (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
75206          this was true, but computed style has no concept of implicit. So false makes more sense
75207          and makes the code simpler in the inspector. This function was added for the inspector,
75208          so this isn't a compatibility change.
75209        * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
75210        * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
75211          style editing.
75212        * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
75213        * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
75214          trying to call a function based on the element's id. Call focused and blurred on the focused
75215          element when currentFocusElement is changed. Use the new listItemElement getter instead of
75216          the private property.
75217        * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
75218          Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
75219          to allow generation of the title using the DOM element. Add listItemElement and
75220          childrenListElement getters.
75221        * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
75222        * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
75223          property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
75224        * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
75225          instead of the private properties.
75226
752272007-11-07  Simon Hausmann  <hausmann@kde.org>
75228
75229        Reviewed by Alexey Proskuryakov.
75230
75231        Coding style fix, don't use inline explicitly.
75232
75233        * bridge/WindowFeatures.h:
75234
752352007-11-07  Simon Hausmann  <hausmann@kde.org>
75236
75237        Reviewed by Maciej.
75238
75239        For safety provide a default constructor for WindowFeatures().
75240        ContextMenuController.cpp: createNewWindow as well as QWebPage need to
75241        create a default initialized WindowFeatures object on the fly.
75242
75243        * bridge/WindowFeatures.h:
75244        (WebCore::WindowFeatures::WindowFeatures):
75245
752462007-11-07  Simon Hausmann  <shausman@trolltech.com>
75247
75248        Reviewed by Lars.
75249
75250        Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
75251
75252        * WebCore.pro:
75253
752542007-11-07  Simon Hausmann  <hausmann@kde.org>
75255
75256        Reviewed by Lars.
75257
75258        Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
75259
75260        * platform/graphics/qt/ImageQt.cpp:
75261        (loadResourcePixmap):
75262
752632007-11-07  Simon Hausmann  <hausmann@kde.org>
75264
75265        Reviewed by Lars.
75266
75267        Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
75268
75269        * platform/graphics/qt/ImageQt.cpp:
75270        (loadResourcePixmap):
75271
752722007-11-07  Simon Hausmann  <hausmann@kde.org>
75273
75274        Reviewed by Lars.
75275
75276        Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
75277        QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
75278        in ContextMenu::populate().
75279        For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
75280        out of it. That menu is currently not functional anymore though.
75281
75282        * platform/ContextMenu.h:
75283        * platform/ContextMenuItem.h:
75284        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
75285        * platform/PlatformMenuDescription.h:
75286        * platform/qt/ContextMenuItemQt.cpp:
75287        (WebCore::ContextMenuItem::ContextMenuItem):
75288        (WebCore::ContextMenuItem::type):
75289        (WebCore::ContextMenuItem::setType):
75290        (WebCore::ContextMenuItem::action):
75291        (WebCore::ContextMenuItem::setAction):
75292        (WebCore::ContextMenuItem::title):
75293        (WebCore::ContextMenuItem::setTitle):
75294        (WebCore::ContextMenuItem::platformSubMenu):
75295        (WebCore::ContextMenuItem::setSubMenu):
75296        (WebCore::ContextMenuItem::setChecked):
75297        (WebCore::ContextMenuItem::setEnabled):
75298        * platform/qt/ContextMenuQt.cpp:
75299        (WebCore::ContextMenu::ContextMenu):
75300        (WebCore::ContextMenu::~ContextMenu):
75301        (WebCore::ContextMenu::appendItem):
75302        (WebCore::ContextMenu::itemCount):
75303        (WebCore::ContextMenu::insertItem):
75304        (WebCore::ContextMenu::setPlatformDescription):
75305        (WebCore::ContextMenu::platformDescription):
75306
753072007-11-07  Simon Hausmann  <hausmann@kde.org>
75308
75309        Reviewed by Lars.
75310
75311        Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
75312        but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
75313        Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
75314        on it.
75315
75316        * platform/qt/ContextMenuQt.cpp:
75317
753182007-11-07  Simon Hausmann  <hausmann@kde.org>
75319
75320        Reviewed by Lars.
75321
75322        Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
75323        Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
75324
75325        * platform/PlatformMouseEvent.h:
75326        * platform/qt/PlatformMouseEventQt.cpp:
75327        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
75328
753292007-11-07  Lars Knoll  <lars@trolltech.com>
75330
75331        Reviewed by Simon.
75332
75333        don't put nbsp's into the plan text paste
75334        
75335        Fix both ClipboardQt and PasteboardQt to replace
75336        nbsp's with spaces before putting the text onto the
75337        native clipboard. This is consistent with Mac and Win
75338        and fixes at least editing/pasteboard/4076267-3.html
75339
75340        * platform/qt/ClipboardQt.cpp:
75341        (WebCore::ClipboardQt::writeRange):
75342        * platform/qt/PasteboardQt.cpp:
75343        (WebCore::Pasteboard::writeSelection):
75344
753452007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75346
75347        Reviewed by Lars Knoll <lars@trolltech.com>.
75348
75349        Implement Pasteboard::writeImage()
75350        
75351        * Pasteboard is now fully implemented. Copying of Images into the Clipboard
75352        is now supported.
75353        * As with URLs we only copy into the Clipboard (and not additionally to the
75354        Selection)
75355
75356        * platform/qt/PasteboardQt.cpp:
75357        (WebCore::Pasteboard::writeImage):
75358
753592007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75360
75361        Reviewed by Lars Knoll <lars@trolltech.com>.
75362
75363        Apple CodingStyle fixes
75364
75365        * platform/qt/PasteboardQt.cpp:
75366        (WebCore::Pasteboard::documentFragment):
75367
753682007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75369
75370        Reviewed by Lars Knoll <lars@trolltech.com>.
75371
75372        Implement Pasteboard::writeURL()
75373        * The URL currently gets written as text/plain and text/uri-list.
75374        The win and mac port have some more types which we currently do
75375        not support. When supporting them we can use the 'titleString'
75376        as well.
75377        * As with writeSelection we only copy into the Clipboard. We could
75378        consider copying into the Selection as well.
75379
75380        * platform/qt/PasteboardQt.cpp:
75381        (WebCore::Pasteboard::writeURL):
75382
753832007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
75384
75385        Reviewed by Lars Knoll <lars@trolltech.com>.
75386
75387        Kill whitespace
75388
75389        * platform/qt/PasteboardQt.cpp:
75390        (WebCore::Pasteboard::documentFragment):
75391
753922007-11-07  Lars Knoll  <lars@trolltech.com>
75393
75394        Reviewed by Simon.
75395
75396        Use the correct function calls to convert a selection to
75397        HTML or plain text.
75398
75399        * platform/qt/ClipboardQt.cpp:
75400        (WebCore::ClipboardQt::setData):
75401        (WebCore::ClipboardQt::writeRange):
75402        * platform/qt/PasteboardQt.cpp:
75403        (WebCore::Pasteboard::writeSelection):
75404
754052007-11-07  Lars Knoll  <lars@trolltech.com>
75406
75407        Reviewed by Simon.
75408
75409        Some more clipboard fixes.
75410        
75411        We have to set things immediately on the QClipBoard if the
75412        Clipboard object is not for dragging.
75413        
75414        This is due to the fact that the Clipboard object might be
75415        rather long lived if accessed through javascript (it'll only
75416        get deleted by JS garbage collection). We have to transfer
75417        the data over to the QClipboard before that to make things work.
75418        
75419        Fixes editing/execCommand/copy-without-selection.html
75420
75421        * platform/qt/ClipboardQt.cpp:
75422        (WebCore::ClipboardQt::ClipboardQt):
75423        (WebCore::ClipboardQt::~ClipboardQt):
75424        (WebCore::ClipboardQt::clearData):
75425        (WebCore::ClipboardQt::clearAllData):
75426        (WebCore::ClipboardQt::getData):
75427        (WebCore::ClipboardQt::setData):
75428        (WebCore::ClipboardQt::declareAndWriteDragImage):
75429        (WebCore::ClipboardQt::writeURL):
75430        (WebCore::ClipboardQt::writeRange):
75431
754322007-11-07  Simon Hausmann  <hausmann@kde.org>
75433
75434        Reviewed by Mark.
75435
75436        Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
75437        not supported due to implicit forks, use IPC::Open2 instead.
75438
75439        * bindings/scripts/IDLParser.pm:
75440
754412007-11-07  Dan Bernstein  <mitz@apple.com>
75442
75443        Reviewed by Brady Eidson.
75444
75445        - fix http://bugs.webkit.org/show_bug.cgi?id=15877
75446          REGRESSION: r27486 caused a layout regression at my bank's website
75447
75448        Test: fast/block/float/overhanging-after-height-decrease-offsets.html
75449
75450        * rendering/RenderBlock.cpp:
75451        (WebCore::RenderBlock::layoutBlock):
75452
754532007-11-06  Beth Dakin  <bdakin@apple.com>
75454
75455        Reviewed by Sam.
75456
75457        <rdar://problem/5575812> REGRESSION:When using absolute positioning 
75458        with overflow:auto div, WebKit seems to add an additional 15px
75459
75460        * rendering/RenderBox.cpp:
75461        (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 
75462        subtract off the vertical scrollbar width too.
75463
754642007-11-06  Justin Garcia  <justin.garcia@apple.com>
75465
75466        Reviewed by Dan Bernstein.
75467        
75468        <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
75469        <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
75470
75471        * editing/markup.cpp:
75472        (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
75473        that encloses the input context, unless that block is the body, which shouldn't
75474        be cloned.  In that case, use regular divs, as we did before r27369.
75475
754762007-11-06  Christian Dywan  <christian@twotoasts.de>
75477
75478        Reviewed by Darin.
75479
75480        Fix http://bugs.webkit.org/show_bug.cgi?id=15828
75481        Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
75482
75483        * WebCore.pro: Use sane default install paths for the gtk port.
75484
754852007-11-06  Justin Garcia  <justin.garcia@apple.com>
75486
75487        Reviewed by Darin Adler.
75488        
75489        <rdar://problem/5576619> 
75490        REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
75491
75492        * editing/TypingCommand.cpp:
75493        (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
75494        both of the other deletion commands, call typingAddedToOpenCommand(), which takes 
75495        the command's endingSelection and sets it as selection.
75496
754972007-11-06  Dan Bernstein  <mitz@apple.com>
75498
75499        Reviewed by Antti Koivisto and Dave Hyatt.
75500
75501        - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
75502
75503        Test: fast/block/float/overhanging-after-height-decrease.html
75504
75505        * rendering/RenderBlock.cpp:
75506        (WebCore::RenderBlock::layoutBlock): If after calculating the height
75507        it turns out that there are overhanging floats that were not overhanging
75508        before, rescan children with overhanging floats and add them. 
75509        (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
75510        returns the lowest float bottom of any of the children.
75511        (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
75512        lowest float bottom.
75513        * rendering/RenderBlock.h:
75514
755152007-11-06  Adele Peterson  <adele@apple.com>
75516
75517        Reviewed by Darin.
75518
75519        Switched all uses of HTMLImageLoader to use OwnPtrs.
75520
75521        * html/HTMLInputElement.h:
75522        * html/HTMLInputElement.cpp:
75523        (WebCore::HTMLInputElement::init):
75524        (WebCore::HTMLInputElement::~HTMLInputElement):
75525        (WebCore::HTMLInputElement::setInputType):
75526        (WebCore::HTMLInputElement::parseMappedAttribute):
75527        (WebCore::HTMLInputElement::attach):
75528        * html/HTMLObjectElement.h:
75529        * html/HTMLObjectElement.cpp:
75530        (WebCore::HTMLObjectElement::HTMLObjectElement):
75531        (WebCore::HTMLObjectElement::~HTMLObjectElement):
75532        (WebCore::HTMLObjectElement::parseMappedAttribute):
75533        (WebCore::HTMLObjectElement::attach):
75534        * html/HTMLVideoElement.h:
75535        * html/HTMLVideoElement.cpp:
75536        (WebCore::HTMLVideoElement::HTMLVideoElement):
75537        (WebCore::HTMLVideoElement::attach):
75538        (WebCore::HTMLVideoElement::detach):
75539        (WebCore::HTMLVideoElement::parseMappedAttribute):
75540
755412007-11-06  Antti Koivisto  <antti@apple.com>
75542
75543        Reviewed by Darin.
75544        
75545        Trigger media load on on src attribute changes as specified in new HTML5 draft.
75546
75547        Tests: media/video-src-change.html
75548               media/video-src-remove.html
75549               media/video-src-set.html
75550
75551        * html/HTMLMediaElement.cpp:
75552        (WebCore::HTMLMediaElement::attributeChanged):
75553        * html/HTMLMediaElement.h:
75554
755552007-11-06  Dan Bernstein  <mitz@apple.com>
75556
75557        Reviewed by Darin Adler.
75558
75559        - fix http://bugs.webkit.org/show_bug.cgi?id=15838
75560          Incomplete repaint toggling "How you know this person" on Facebook
75561
75562        Test: fast/repaint/make-children-non-inline.html
75563
75564        * rendering/RenderBlock.cpp:
75565        (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
75566        is needed because the inline children may be repositioned as they move
75567        into new anonymous blocks, but those blocks have no knowledge of where
75568        their children used to be, so they cannot invalidate those areas.
75569
755702007-11-06  Alexey Proskuryakov  <ap@webkit.org>
75571
75572        Reviewed by Darin.
75573
75574        http://bugs.webkit.org/show_bug.cgi?id=15847
75575        Some editing cleanup
75576
75577        No change in functionality.
75578
75579        * editing/TextIterator.cpp:
75580        (WebCore::plainText):
75581        * editing/TextIterator.h:
75582        Made WebCore::plainText() return String instead of DeprecatedString.
75583
75584        * bridge/mac/WebCoreAXObject.mm:
75585        (-[WebCoreAXObject textUnderElement]):
75586        (-[WebCoreAXObject value]):
75587        (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
75588        (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
75589        (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
75590        Updated for the above change. There is no need to explicitly convert to NSString now.
75591
75592        * editing/EditCommand.cpp:
75593        (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
75594        initialized in constructor body, so the work done in initializer list was wasted.
75595
75596        (WebCore::EditCommand::apply): Moved some stars.
75597        (WebCore::EditCommand::unapply): Ditto.
75598        (WebCore::EditCommand::reapply): Ditto.
75599        (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
75600        removed one of the checks.
75601
75602        * editing/SelectionController.cpp:
75603        (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
75604
75605        * page/mac/WebCoreFrameBridge.h:
75606        * page/mac/WebCoreFrameBridge.mm:
75607        Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
75608        -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
75609
756102007-11-05  Mark Rowe  <mrowe@apple.com>
75611
75612        Mac build fix.
75613
75614        * bindings/js/JSHTMLDocumentCustom.cpp:
75615        (WebCore::writeHelper):
75616
756172007-11-05  Adam Roben  <aroben@apple.com>
75618
75619        Don't crash if SafariTheme can't be loaded
75620
75621        PlatformScrollBarSafari and RenderThemeSafari were not checking
75622        whether SafariTheme was successfully loaded. All other uses of
75623        SafariTheme already check this.
75624
75625        Reviewed by Steve.
75626
75627        * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
75628        couldn't be loaded.
75629        (WebCore::PlatformScrollbar::paintButton):
75630        (WebCore::PlatformScrollbar::paintTrack):
75631        (WebCore::PlatformScrollbar::paintThumb):
75632        * rendering/RenderThemeSafari.cpp:
75633        (WebCore::RenderThemeSafari::isControlStyled): Always return true if
75634        we couldn't load SafariTheme. This way we should never try to paint
75635        themed controls (and we assert as such in the paint functions).
75636        (WebCore::RenderThemeSafari::paintCheckbox):
75637        (WebCore::RenderThemeSafari::paintRadio):
75638        (WebCore::RenderThemeSafari::paintButton):
75639        (WebCore::RenderThemeSafari::paintTextField):
75640        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
75641        (WebCore::RenderThemeSafari::paintTextArea):
75642        (WebCore::RenderThemeSafari::paintMenuList):
75643        (WebCore::RenderThemeSafari::paintSliderThumb):
75644        (WebCore::RenderThemeSafari::paintSearchField):
75645        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
75646        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
75647        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
75648
756492007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
75650
75651        Adding the rest of wx port's graphics impl. 
75652
75653        Rubber-stamped by Maciej Stachowiak.
75654
75655        * platform/graphics/wx/AffineTransformWx.cpp: Added.
75656        * platform/graphics/wx/GraphicsContextWx.cpp: Added.
75657        * platform/graphics/wx/ImageBufferWx.cpp: Added.
75658        * platform/graphics/wx/ImageSourceWx.cpp: Added.
75659        * platform/graphics/wx/ImageWx.cpp: Added.
75660        * platform/graphics/wx/PathWx.cpp: Added.
75661
756622007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
75663
75664        wx port bug fixes and new files to get platform/wx building on trunk.
75665
75666        Rubber-stamped by Maciej Stachowiak.
75667
75668        * platform/wx/CursorWx.cpp:
75669        * platform/wx/FileSystemWx.cpp: Added.
75670        * platform/wx/FontCacheWx.cpp:
75671        * platform/wx/FontPlatformDataWx.cpp:
75672        * platform/wx/FontWx.cpp:
75673        * platform/wx/KeyboardEventWx.cpp:
75674        * platform/wx/LocalizedStringsWx.cpp: Added.
75675        * platform/wx/LoggingWx.cpp: Added.
75676        * platform/wx/RenderThemeWx.cpp:
75677        * platform/wx/ScrollViewWx.cpp:
75678        * platform/wx/SharedTimerWx.cpp:
75679        * platform/wx/StringWx.cpp:
75680        * platform/wx/ThreadingWx.cpp: Added.
75681        * platform/wx/WidgetWx.cpp:
75682
756832007-11-05  Adele Peterson  <adele@apple.com>
75684
75685        Reviewed by Maciej.
75686
75687        Fix for <rdar://problem/5579999> Add poster attribute for video element
75688
75689        * html/HTMLAttributeNames.in: Added poster attribute.
75690
75691        * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
75692          Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
75693        * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
75694        * dom/Element.h:
75695        * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
75696        * html/HTMLObjectElement.h:
75697
75698        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
75699          Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
75700        * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.
75701
75702        * html/HTMLVideoElement.idl: Added case for poster attribute.
75703        * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
75704        * html/HTMLVideoElement.cpp:
75705        (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
75706        (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
75707        (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
75708        (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
75709        (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
75710        (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
75711        (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
75712        (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
75713        (WebCore::HTMLVideoElement::isURLAttribute): Added.
75714        (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
75715        (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
75716
757172007-11-05  Adam Roben  <aroben@apple.com>
75718
75719        Fix <rdar://5563572> SVG image support is turned off
75720
75721        Turned on SVG images for all platforms.
75722
75723        Reviewed by Eric.
75724
75725        * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
75726        * loader/CachedImage.cpp:
75727        (WebCore::CachedImage::createImage): Removed platform checks for
75728        SVGImage.
75729
757302007-11-05  Antti Koivisto  <antti@apple.com>
75731
75732        Reviewed by Darin.
75733
75734        QTMovieView can generate callbacks during paint. This can lead to crashes.
75735        
75736        Delay callbacks so they get handled after painting is completed. No test case,
75737        I don't know how to reliably reproduce this.
75738
75739        * platform/graphics/mac/MoviePrivateQTKit.mm:
75740        (WebCore::MoviePrivate::MoviePrivate):
75741        (WebCore::MoviePrivate::~MoviePrivate):
75742        (WebCore::MoviePrivate::paint):
75743        (-[WebCoreMovieObserver initWithCallback:WebCore::]):
75744        (-[WebCoreMovieObserver disconnect]):
75745        (-[WebCoreMovieObserver loadStateChanged:]):
75746        (-[WebCoreMovieObserver rateChanged:]):
75747        (-[WebCoreMovieObserver sizeChanged:]):
75748        (-[WebCoreMovieObserver timeChanged:]):
75749        (-[WebCoreMovieObserver volumeChanged:]):
75750        (-[WebCoreMovieObserver didEnd:]):
75751        (-[WebCoreMovieObserver setDelayCallbacks:]):
75752
757532007-11-05  Antti Koivisto  <antti@apple.com>
75754
75755        Reviewed by Adam.
75756
75757        Add some missing WebCore* prefixes to ObjC classes
75758
75759        * platform/mac/FileChooserMac.mm:
75760        (WebCore::FileChooser::FileChooser):
75761        * platform/mac/SharedBufferMac.mm:
75762        (WebCore::SharedBuffer::createNSData):
75763        (WebCore::SharedBuffer::createCFData):
75764        * platform/mac/SharedTimerMac.cpp:
75765        (WebCore::setSharedTimerFireTime):
75766
757672007-11-05  Ada Chan  <adachan@apple.com>
75768
75769        <rdar://problem/5579772> Regression: AltGr does not work
75770        We now store the system key event info in PlatforkKeyboardEvent().
75771
75772        Reviewed by Oliver.
75773
75774        * platform/PlatformKeyboardEvent.h:
75775        (WebCore::PlatformKeyboardEvent::isSystemKey):
75776        * platform/win/KeyEventWin.cpp:
75777        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
75778
757792007-11-02  Tristan O'Tierney  <tristan@apple.com>
75780
75781        Reviewed by Darin Adler.
75782
75783        * WebCore.xcodeproj/project.pbxproj:
75784        Set WindowFeatures.h as a Private header.
75785        
75786        * loader/FrameLoader.cpp:
75787        (WebCore::FrameLoader::createWindow):
75788        Revised to use a single createWindow function instead of
75789        two createWindow functions and one createModalDialog function.
75790        The logic for this is now addressed in WebKit in an effort
75791        to make this easier to follow.
75792        
75793        * page/Chrome.cpp:
75794        (WebCore::Chrome::createWindow):
75795        * page/Chrome.h:
75796        * page/ChromeClient.h:
75797        * page/ContextMenuController.cpp:
75798        (WebCore::openNewWindow):
75799        * platform/graphics/svg/SVGImageEmptyClients.h:
75800        (WebCore::SVGEmptyChromeClient::createWindow):
75801        Revised to take new additional windowFeatures parameter.
75802
758032007-11-04  Geoffrey Garen  <ggaren@apple.com>
75804
75805        Reviewed by Darin Adler.
75806        
75807        http://bugs.webkit.org/show_bug.cgi?id=15835
75808
75809        Small adaptations to new KJS::List class.
75810
75811        * bindings/js/kjs_window.cpp:
75812        (KJS::WindowFunc::callAsFunction):
75813        (KJS::ScheduledAction::ScheduledAction):
75814
758152007-11-05  Adam Roben  <aroben@apple.com>
75816
75817        Allow passing a base class pointer to COMPtr::copyRefTo
75818
75819        Reviewed by Sam.
75820
75821        * platform/win/COMPtr.h:
75822
758232007-11-05  Dan Bernstein  <mitz@apple.com>
75824
75825        Reviewed by Oliver Hunt.
75826
75827        - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
75828
75829        Test: fast/dom/class-all-whitespace.html
75830
75831        * dom/StyledElement.cpp:
75832        (WebCore::StyledElement::parseMappedAttribute): Check if there is any
75833        non-whitespace character in the class attribute.
75834
758352007-11-05  Brady Eidson  <beidson@apple.com>
75836
75837        Reviewed by Sam
75838
75839        Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
75840        of the sql storage API
75841
75842        * storage/DatabaseAuthorizer.cpp:
75843        (WebCore::DatabaseAuthorizer::allowTransaction):
75844        * storage/DatabaseAuthorizer.h:
75845
758462007-11-05  Mark Rowe  <mrowe@apple.com>
75847
75848        Reviewed by Alp Toker.
75849
75850        Have getMIMETypeForExtension return a null string when no MIME type is known
75851        for the extension rather than returning "text/plain".  This prevents plugin data
75852        being dumped into object elements when plugins are disabled.
75853
75854        * platform/gtk/MIMETypeRegistryGtk.cpp:
75855        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
75856
758572007-11-04  Sam Weinig  <sam@webkit.org>
75858
75859        Rubber-stamped by Adam Roben.
75860
75861        Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
75862        clear up ambiguity.
75863
75864        * bindings/js/kjs_window.cpp:
75865        (KJS::Window::isSafeScript):
75866        * platform/SecurityOrigin.cpp:
75867        (WebCore::SecurityOrigin::canAccess):
75868        * platform/SecurityOrigin.h:
75869
758702007-11-04  Timothy Hatcher  <timothy@apple.com>
75871
75872        Reviewed by Adam.
75873
75874        Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
75875        http://bugs.webkit.org/show_bug.cgi?id=15834
75876
75877        - Broke up DocumentPanel and added three SidebarPane sub-classes.
75878        - Fixed many Style pane bugs, including:
75879          * Poor handling of duplicate properties in the same rule. Some of this can't be
75880            fixed since we can't only get the "winning" value for duplicate properties.
75881            So we should only show one entry per unique property name.
75882          * Computed style does not show font shorthand sub-properties if 'font' was used.
75883          * Property priority was broken, the wrong properties were crossed out.
75884          * The 'border' shorthand shows null for the shorthand value.
75885          * Shorthands didn't show their priority (e.g. !important).
75886          * HSL and HTML hex colors didn't have preview swatch blocks.
75887          * Code refactoring, making it easier to reuse for console.log later.
75888
75889        * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
75890          classes in new files.
75891        * page/inspector/MetricsSidebarPane.js: Added.
75892        * page/inspector/Panel.js: Remove an InspectorController.log() call.
75893        * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
75894          So TreeElements can access properties on their section.
75895        * page/inspector/PropertiesSidebarPane.js: Added.
75896        * page/inspector/SidebarPane.js: Remove the explicit asignment of the
75897          onexpand and oncollapse to null. These were hiding prototypes.
75898        * page/inspector/StylesSidebarPane.js: Added.
75899        * page/inspector/inspector.html: Include the new script files.
75900        * page/inspector/treeoutline.js: If a null representedObject is passed
75901          in just use a empty object.
75902
759032007-11-04  David D. Kilzer  <ddkilzer@webkit.org>
75904
75905        Fix build when spaces appear in the WebKit source path.
75906
75907        Reviewed by Mark Rowe.
75908
75909        * bindings/scripts/IDLParser.pm: Use safer open() method which lists
75910        arguments individually and prevents the need to work around spaces
75911        in the path.
75912
759132007-11-04  Alp Toker  <alp@atoker.com>
75914
75915        Reviewed by Alexey Proskuryakov.
75916
75917        Fix a crash when no clipboard text is available
75918
75919        * platform/gtk/PasteboardGtk.cpp:
75920        (WebCore::Pasteboard::plainText):
75921
759222007-11-03  Darin Adler  <darin@apple.com>
75923
75924        Reviewed by Maciej.
75925
75926        - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
75927          remove unused PCRE features for speed
75928
75929        * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
75930        * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
75931        Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
75932        Use "\d" instead.
75933
75934        * platform/RegularExpression.h: Remove the unused cap function. We can
75935        add it back later if we find we need it.
75936        * platform/RegularExpression.cpp:
75937        (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
75938        regular expression entry point changes.
75939        (WebCore::RegularExpression::Private::~Private): Ditto.
75940        (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
75941        This means that regular expressions with metacharactesr like ^ in them
75942        won't work any more with non-whole-string searches, but we don't use
75943        any regular expressions like that.
75944
759452007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
75946
75947        Update the link stubs to match the current build,
75948        and fix coding style issues.
75949
75950        Reviewed by Mark Rowe.
75951
75952        * platform/wx/TemporaryLinkStubs.cpp:
75953        (loadResourceIntoArray):
75954        (findNextSentenceFromIndex):
75955        (findSentenceBoundary):
75956        (Frame::dashboardRegionsChanged):
75957        (WebCore::historyContains):
75958        (CachedPage::close):
75959        (Editor::showStylesPanel):
75960        (EventHandler::passSubframeEventToSubframe):
75961        (EventHandler::passWheelEventToWidget):
75962        (WebCore::currentTextBreakLocaleID):
75963
759642007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
75965
75966        wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
75967
75968        Reviewed by Mark Rowe.
75969
75970        * platform/graphics/wx/FloatRectWx.cpp: Added.
75971        * platform/graphics/wx/IntPointWx.cpp: Added.
75972        * platform/graphics/wx/IntRectWx.cpp: Added.
75973
759742007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
75975
75976        wx <-> WebKit data type conversions for Pen and Color.
75977
75978        Reviewed by Darin Adler.
75979
75980        * platform/graphics/wx: Added.
75981        * platform/graphics/wx/ColorWx.cpp: Added.
75982        * platform/graphics/wx/PenWx.cpp: Added.
75983
759842007-11-03  Sam Weinig  <sam@webkit.org>
75985
75986        Reviewed by Oliver.
75987
75988        Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
75989        The variable had been kept around for binary compatibility, but since nothing
75990        else is there is no point in continuing to keep it around.
75991
75992        * bindings/js/JSDOMExceptionConstructor.cpp:
75993        * bindings/js/JSHTMLInputElementBase.cpp:
75994        * bindings/js/JSNamedNodesCollection.cpp:
75995        * bindings/js/JSXMLHttpRequest.cpp:
75996        * bindings/js/JSXSLTProcessor.cpp:
75997        * bindings/js/kjs_css.cpp:
75998        * bindings/js/kjs_events.cpp:
75999        * bindings/js/kjs_navigator.cpp:
76000        * bindings/js/kjs_window.cpp:
76001        * bindings/scripts/CodeGeneratorJS.pm:
76002
760032007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
76004
76005        Build fixes to get wx impls. building on trunk.
76006
76007        Reviewed by Mark Rowe.
76008
76009        * platform/wx/DragDataWx.cpp:
76010        (WebCore::DragData::containsFiles):
76011        (WebCore::DragData::asFilenames):
76012        * platform/wx/DragImageWx.cpp:
76013        (WebCore::scaleDragImage):
76014        * platform/wx/MimeTypeRegistryWx.cpp:
76015        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
76016        * platform/wx/MouseEventWx.cpp:
76017        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
76018        * platform/wx/MouseWheelEventWx.cpp:
76019        * platform/wx/PasteboardWx.cpp:
76020        (WebCore::Pasteboard::writeImage):
76021        * platform/wx/WidgetWx.cpp:
76022        (WebCore::Widget::setCursor):
76023
760242007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
76025
76026        Sort files(...); sections of Xcode project files.
76027
76028        Rubber-stamped by Darin.
76029
76030        * WebCore.xcodeproj/project.pbxproj:
76031        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
76032
760332007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
76034
76035        Coding style fixes for platform/wx files.
76036
76037        Reviewed by Mark Rowe.
76038
76039        * platform/wx/ClipboardWx.cpp:
76040        * platform/wx/GlyphMapWx.cpp:
76041        * platform/wx/ScreenWx.cpp:
76042
760432007-11-03  Alp Toker  <alp@atoker.com>
76044
76045        Reviewed by Mark Rowe.
76046
76047        Implement platform scrollbar static width/height getters
76048
76049        * platform/gtk/PlatformScrollBar.h:
76050        * platform/gtk/PlatformScrollBarGtk.cpp:
76051        (scrollbarSize):
76052        (PlatformScrollbar::horizontalScrollbarHeight):
76053
760542007-11-03  Alp Toker  <alp@atoker.com>
76055
76056        Reviewed by Mark Rowe.
76057
76058        Cast function pointers to gpointer.
76059
76060        * platform/gtk/PlatformScrollBarGtk.cpp:
76061        (PlatformScrollbar::~PlatformScrollbar):
76062
760632007-11-03  Alp Toker  <alp@atoker.com>
76064
76065        Reviewed by Adam Roben.
76066
76067        RenderThemeGtk implementation based on Mozilla's GTK+ style code
76068
76069        There is still work needed to complete this feature.
76070
76071        * WebCore.pro:
76072        * platform/gtk/RenderThemeGtk.cpp:
76073        (WebCore::theme):
76074        (WebCore::RenderThemeGtk::RenderThemeGtk):
76075        (WebCore::supportsFocus):
76076        (WebCore::RenderThemeGtk::supportsFocusRing):
76077        (WebCore::RenderThemeGtk::controlSupportsTints):
76078        (WebCore::RenderThemeGtk::baselinePosition):
76079        (WebCore::adjustMozStyle):
76080        (WebCore::setMozState):
76081        (WebCore::paintMozWidget):
76082        (WebCore::setButtonPadding):
76083        (WebCore::setToggleSize):
76084        (WebCore::RenderThemeGtk::setCheckboxSize):
76085        (WebCore::RenderThemeGtk::paintCheckbox):
76086        (WebCore::RenderThemeGtk::setRadioSize):
76087        (WebCore::RenderThemeGtk::paintRadio):
76088        (WebCore::RenderThemeGtk::adjustButtonStyle):
76089        (WebCore::RenderThemeGtk::paintButton):
76090        (WebCore::RenderThemeGtk::adjustMenuListStyle):
76091        (WebCore::RenderThemeGtk::paintMenuList):
76092        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
76093        (WebCore::RenderThemeGtk::paintTextField):
76094        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
76095        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
76096        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
76097        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
76098        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
76099        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
76100        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
76101        (WebCore::RenderThemeGtk::paintSearchField):
76102        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
76103        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
76104        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
76105        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
76106        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
76107        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
76108        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
76109        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
76110        (WebCore::RenderThemeGtk::caretBlinkFrequency):
76111        (WebCore::RenderThemeGtk::systemFont):
76112        (WebCore::gtkStyleSetCallback):
76113        (WebCore::RenderThemeGtk::gtkContainer):
76114        (WebCore::RenderThemeGtk::gtkEntry):
76115        (WebCore::RenderThemeGtk::gtkTreeView):
76116        * platform/gtk/RenderThemeGtk.h:
76117        * platform/gtk/gtk2drawing.c: Added.
76118        (moz_gtk_enable_style_props):
76119        (ensure_window_widget):
76120        (setup_widget_prototype):
76121        (ensure_button_widget):
76122        (ensure_checkbox_widget):
76123        (ensure_radiobutton_widget):
76124        (ensure_scrollbar_widget):
76125        (ensure_spin_widget):
76126        (ensure_scale_widget):
76127        (ensure_entry_widget):
76128        (ensure_option_menu_widget):
76129        (ensure_arrow_widget):
76130        (ensure_handlebox_widget):
76131        (ensure_toolbar_widget):
76132        (ensure_tooltip_widget):
76133        (ensure_tab_widget):
76134        (ensure_progress_widget):
76135        (ensure_frame_widget):
76136        (ensure_menu_bar_widget):
76137        (ensure_menu_bar_item_widget):
76138        (ensure_menu_popup_widget):
76139        (ensure_menu_item_widget):
76140        (ensure_check_menu_item_widget):
76141        (ConvertGtkState):
76142        (TSOffsetStyleGCArray):
76143        (TSOffsetStyleGCs):
76144        (moz_gtk_button_paint):
76145        (moz_gtk_init):
76146        (moz_gtk_checkbox_get_metrics):
76147        (moz_gtk_radio_get_metrics):
76148        (moz_gtk_checkbox_get_focus):
76149        (moz_gtk_radio_get_focus):
76150        (moz_gtk_button_get_focus):
76151        (moz_gtk_option_menu_get_metrics):
76152        (moz_gtk_toggle_paint):
76153        (calculate_arrow_dimensions):
76154        (moz_gtk_scrollbar_button_paint):
76155        (moz_gtk_scrollbar_trough_paint):
76156        (moz_gtk_scrollbar_thumb_paint):
76157        (moz_gtk_spin_paint):
76158        (moz_gtk_scale_paint):
76159        (moz_gtk_scale_thumb_paint):
76160        (moz_gtk_gripper_paint):
76161        (moz_gtk_entry_paint):
76162        (moz_gtk_option_menu_paint):
76163        (moz_gtk_dropdown_arrow_paint):
76164        (moz_gtk_container_paint):
76165        (moz_gtk_toggle_label_paint):
76166        (moz_gtk_toolbar_paint):
76167        (moz_gtk_tooltip_paint):
76168        (moz_gtk_frame_paint):
76169        (moz_gtk_progressbar_paint):
76170        (moz_gtk_progress_chunk_paint):
76171        (moz_gtk_tab_paint):
76172        (moz_gtk_tabpanels_paint):
76173        (moz_gtk_menu_bar_paint):
76174        (moz_gtk_menu_popup_paint):
76175        (moz_gtk_menu_item_paint):
76176        (moz_gtk_check_menu_item_paint):
76177        (moz_gtk_window_paint):
76178        (moz_gtk_get_widget_border):
76179        (moz_gtk_get_dropdown_arrow_size):
76180        (moz_gtk_get_scalethumb_metrics):
76181        (moz_gtk_get_scrollbar_metrics):
76182        (moz_gtk_widget_paint):
76183        (moz_gtk_get_scrollbar_widget):
76184        (moz_gtk_shutdown):
76185        * platform/gtk/gtkdrawing.h: Added.
76186
761872007-11-03  Alp Toker  <alp@atoker.com>
76188
76189        Reviewed by Mark Rowe.
76190
76191        Do not allow scrollbars to handle wheel events
76192        
76193        We bubble the wheel event up so the parent can handle it instead.
76194
76195        * platform/gtk/PlatformScrollBarGtk.cpp:
76196        (gtkScrollEventCallback):
76197        (PlatformScrollbar::PlatformScrollbar):
76198        (PlatformScrollbar::~PlatformScrollbar):
76199
762002007-11-03  Alp Toker  <alp@atoker.com>
76201
76202        Reviewed by Mark Rowe.
76203
76204        Frame scrolling and invalidation fixes
76205
76206        Make upward scroll events have a positive delta to match other ports.
76207
76208        Fix the invalidation rect offset for frames so that scrolling works properly.
76209
76210        Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
76211
76212        Allow tabbing to all widgets and links.
76213
76214        Fix event returns, improving the focus situation and correcting scroll wheel
76215        behavior.
76216
76217        * page/gtk/EventHandlerGtk.cpp:
76218        (WebCore::EventHandler::tabsToAllControls):
76219        (WebCore::EventHandler::passWheelEventToWidget):
76220        * platform/gtk/ScrollViewGtk.cpp:
76221        (WebCore::ScrollViewScrollbar::geometryChanged):
76222        (WebCore::ScrollView::updateContents):
76223        (WebCore::ScrollView::update):
76224        (WebCore::ScrollView::wheelEvent):
76225        (WebCore::ScrollView::updateScrollbars):
76226        * platform/gtk/WheelEventGtk.cpp:
76227        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
76228
762292007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
76230
76231        LGPL'ed files contain incorrect FSF address
76232        <http://bugs.webkit.org/show_bug.cgi?id=14885>
76233
76234        * bindings/js/JSSVGTransformListCustom.cpp:
76235        * ksvg2/svg/SVGException.idl:
76236        * ksvg2/svg/SVGTextPathElement.cpp:
76237        * ksvg2/svg/SVGTextPathElement.h:
76238        * ksvg2/svg/SVGViewSpec.cpp:
76239        * ksvg2/svg/SVGViewSpec.h:
76240        * platform/mac/FontCustomPlatformData.cpp:
76241        * platform/mac/FontCustomPlatformData.h:
76242        * platform/mac/FontPlatformDataMac.mm:
76243        * platform/win/FontCustomPlatformData.cpp:
76244        * platform/win/FontCustomPlatformData.h:
76245        * rendering/RenderSVGRoot.cpp:
76246        * rendering/RenderSVGRoot.h:
76247        * rendering/RenderSVGTextPath.cpp:
76248        * rendering/RenderSVGTextPath.h:
76249        * rendering/RenderSVGTransformableContainer.h:
76250        * rendering/RenderSVGViewportContainer.cpp:
76251        * rendering/RenderSVGViewportContainer.h:
76252        * rendering/SVGCharacterLayoutInfo.cpp:
76253        * rendering/SVGCharacterLayoutInfo.h:
76254        * rendering/SVGRenderSupport.cpp:
76255        * rendering/SVGRenderSupport.h:
76256
762572007-11-02  Antti Koivisto  <antti@apple.com>
76258
76259        Reviewed by Adam.
76260        
76261        Add video width/height DOM and content attributes from latest HTML5 draft.
76262
76263        Test: media/video-width-height.html
76264
76265        * html/HTMLVideoElement.cpp:
76266        (WebCore::HTMLVideoElement::parseMappedAttribute):
76267        (WebCore::HTMLVideoElement::width):
76268        (WebCore::HTMLVideoElement::setWidth):
76269        (WebCore::HTMLVideoElement::height):
76270        (WebCore::HTMLVideoElement::setHeight):
76271        * html/HTMLVideoElement.h:
76272        * html/HTMLVideoElement.idl:
76273
762742007-11-02  Darin Adler  <darin@apple.com>
76275
76276        Reviewed by Maciej.
76277
76278        * DerivedSources.make: Remove a few explicit filenames from some rules by using
76279        make variables a little more.
76280        * WebCore.LP64.exp: Fix typo, grammar.
76281
762822007-11-02  Darin Adler  <darin@apple.com>
76283
76284        Reviewed by Maciej.
76285
76286        - use the new HashMap::take function where appropriate
76287
76288        * bindings/js/kjs_binding.cpp:
76289        (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
76290        (KJS::removeWrapper): Ditto.
76291        (KJS::removeWrappers): Ditto.
76292        (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
76293        (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
76294        of remove -- in theory ever so slightly less efficient, but I think it's fine.
76295        (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
76296        (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
76297        (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
76298        (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
76299
76300        * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
76301        * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
76302        * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
76303        * rendering/RenderBlock.cpp:
76304        (WebCore::RenderBlock::~RenderBlock): Ditto.
76305        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
76306        * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
76307
763082007-11-02  Antti Koivisto  <antti@apple.com>
76309
76310        Reviewed by Darin.
76311
76312        Enable video composition.
76313
76314        * WebCore.base.exp:
76315        * platform/graphics/mac/MoviePrivateQTKit.mm:
76316        (WebCore::MoviePrivate::createQTMovieView):
76317        * platform/mac/WebCoreSystemInterface.h:
76318        * platform/mac/WebCoreSystemInterface.mm:
76319
763202007-11-02  Darin Adler  <darin@apple.com>
76321
76322        Reviewed by Mitz.
76323
76324        - fix http://bugs.webkit.org/show_bug.cgi?id=15806
76325          <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
76326
76327        Test: fast/forms/remove-radio-button-assert.html
76328
76329        * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
76330        Added protected function to be used by derived classes that need to do the same sort
76331        of removal from form that's automatically done by the base class in certain circumstances.
76332        * html/HTMLGenericFormElement.h: Added removeFromForm.
76333
76334        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
76335        Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
76336        part of this object. By the time we get to the base class's destructor it's too late.
76337        The problem is specific to radio buttons so we don't have to worry about other classes
76338        derived from HTMLGenericFormElement.
76339
763402007-11-02  Darin Adler  <darin@apple.com>
76341
76342        Reviewed by Mitz.
76343
76344        - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
76345          <rdar://problem/5510779> crashes in isLoadingMultipartContent
76346
76347        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
76348        Instead of asserting the frame loader is non-0, return false if it is 0.
76349
763502007-11-02  Darin Adler  <darin@apple.com>
76351
76352        Reviewed by Mitz.
76353
76354        - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
76355          URL and MIME type is omitted
76356
76357        Already covered by existing tests (that had incorrect results).
76358
76359        * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
76360        failure when both URL and MIME type are empty. The old code would not attempt a load, but
76361        it would indicate success.
76362
76363        * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
76364        non-helpful early exit for the case where there is no URL and no type. Returning early
76365        prevents the fallback code from running.
76366
763672007-11-02  Alp Toker  <alp@atoker.com>
76368
76369        Reviewed by Darin.
76370
76371        Include Cairo headers properly
76372
76373        * platform/graphics/AffineTransform.h:
76374        * platform/graphics/ImageBuffer.h:
76375        * platform/graphics/cairo/AffineTransformCairo.cpp:
76376        * platform/gtk/FontPlatformDataGtk.cpp:
76377
763782007-11-01  Oliver Hunt  <oliver@apple.com>
76379
76380        Reviewed by Alexey.
76381
76382        Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key        
76383
76384        * platform/win/KeyEventWin.cpp:
76385        (WebCore::keyIdentifierForWindowsKeyCode):
76386        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76387
763882007-11-01  Geoffrey Garen  <ggaren@apple.com>
76389
76390        Reviewed by Maciej Stachowiak.
76391        
76392        In preparation for making List a simple stack-allocated Vector:
76393
76394        Removed all instances of List copying, assignment, and/or storage.
76395        
76396        Layout tests and JS tests pass.
76397
76398        * bindings/js/kjs_window.cpp:
76399        (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
76400        JSValue*'s instead of a List now. Converts to List on the fly when 
76401        calling the timer function. This is slightly less efficient, but the 
76402        common case is 0-2 arguments, so it's no biggie.
76403
76404        (HTML iBench shows no regression. PLT does not use JS timers.)
76405        
76406        (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
76407        List::slice now.
76408        (KJS::ScheduledAction::ScheduledAction): ditto
76409
76410        * bindings/objc/WebScriptObject.mm:
76411        (getListFromNSArray): Takes a List out parameter now, to avoid copying.
76412
764132007-11-01  Oliver Hunt  <oliver@apple.com>
76414
76415        Reviewed by Geoff.
76416
76417        Correct event behaviour on certain control keys
76418
76419        Make sure we send the correct keyDown and keyUp events for the
76420        control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
76421        uses Windows key codes for the event keyCode.
76422
76423        * WebCore.base.exp:
76424        * page/EventHandler.cpp:
76425        (WebCore::EventHandler::keyEvent):
76426        * platform/PlatformKeyboardEvent.h:
76427        * platform/gtk/KeyEventGtk.cpp:
76428        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76429        * platform/mac/KeyEventMac.mm:
76430        (WebCore::keyIdentifierForKeyEvent):
76431        (WebCore::WindowsKeyCodeForKeyEvent):
76432        (WebCore::isKeyUpEvent):
76433        (WebCore::textFromEvent):
76434        (WebCore::unmodifiedTextFromEvent):
76435        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76436        * platform/win/KeyEventWin.cpp:
76437        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76438        * platform/wx/KeyEventWin.cpp:
76439        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76440
764412007-11-01  Timothy Hatcher  <timothy@apple.com>
76442
76443        Reviewed by Sam.
76444
76445        * page/inspector/inspector.css: Use the white disclosure triangles
76446          when a parent DOM element is sepected.
76447
764482007-11-01  Justin Garcia  <justin.garcia@apple.com>
76449
76450        Reviewed by Oliver Hunt.
76451
76452        <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
76453
76454        * editing/ReplaceSelectionCommand.cpp:
76455        (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
76456        into a plaintext-only region, since when we build the fragment to insert from
76457        plain text, we don't put any style information on it, so it will automatically
76458        match style with no intervention.
76459        * editing/markup.cpp:
76460        (WebCore::createFragmentFromText): Place paragraphs into clones of the
76461        block being inserted into, instead of default paragraph elements,
76462        so that when inserted content will match the surrounding paragraph style.
76463        This was broken before, but I haven't added a layout test yet because
76464        there currently isn't a way to get only plain text onto the pasteboard
76465        in a layout test.
76466
764672007-11-01  Sam Weinig  <sam@webkit.org>
76468
76469        Reviewed by Adam Roben. 
76470
76471        Add a releaseRef method to COMPtr which matches the behavior
76472        of the method by the same name in PassRefPtr.  This is in
76473        preparation of adding autogenerated COM DOM bindings.
76474
76475        * platform/win/COMPtr.h:
76476        (COMPtr::releaseRef):
76477
764782007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
76479
76480        wx impl. for DragController and EventHandler interfaces.
76481
76482        Reviewed by Adam Roben.
76483
76484        * page/wx: Added.
76485        * page/wx/DragControllerWx.cpp: Added.
76486        (WebCore::DragController::isCopyKeyDown):
76487        (WebCore::DragController::dragOperation):
76488        (WebCore::DragController::maxDragImageSize):
76489        * page/wx/EventHandlerWx.cpp: Added.
76490        (WebCore::EventHandler::passMousePressEventToSubframe):
76491        (WebCore::EventHandler::passMouseMoveEventToSubframe):
76492        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
76493        (WebCore::EventHandler::passMousePressEventToScrollbar):
76494        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
76495        (WebCore::EventHandler::focusDocumentView):
76496        (WebCore::EventHandler::eventActivatedView):
76497        (WebCore::EventHandler::createDraggingClipboard):
76498
764992007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
76500
76501        Adding files for wx impl. of editing interfaces.
76502
76503        Reviewed by Adam Roben.
76504
76505        * editing/wx: Added.
76506        * editing/wx/EditorWx.cpp: Added.
76507        (WebCore::Editor::newGeneralClipboard):
76508
765092007-11-01  Sam Weinig  <sam@webkit.org>
76510
76511        Reviewed by Adam Roben.
76512
76513        Make implicit conversions from LPCSTRs and BSTRs to WebCore string
76514        types possible in preparation of adding autogenerated COM DOM bindings.
76515
76516        * platform/AtomicString.cpp: 
76517        (WebCore::AtomicString::add):
76518        * platform/AtomicString.h:
76519        (WebCore::AtomicString::AtomicString):
76520        * platform/PlatformString.h:
76521        * platform/win/BString.cpp:
76522        (WebCore::BString::BString):
76523        * platform/win/BString.h:
76524
765252007-11-01  Brady Eidson  <beidson@apple.com>
76526
76527        Reviewed by Anders
76528
76529        Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
76530
76531        * platform/sql/SQLiteTransaction.cpp:
76532        (WebCore::SQLiteTransaction::SQLiteTransaction):
76533        (WebCore::SQLiteTransaction::~SQLiteTransaction):
76534        (WebCore::SQLiteTransaction::begin):
76535        (WebCore::SQLiteTransaction::commit):
76536        (WebCore::SQLiteTransaction::rollback):
76537        * platform/sql/SQLiteTransaction.h:
76538        (WebCore::SQLiteTransaction::inProgress):
76539
765402007-11-01  Adam Roben  <aroben@apple.com>
76541
76542        Remove all duplicate xcopy commands from WebCore's post-build step
76543
76544        Also add the /d option to the copy of platform/sql.
76545
76546        Rubberstamped by Sam.
76547
76548        * WebCore.vcproj/WebCore.vcproj:
76549
765502007-11-01  Adele Peterson  <adele@apple.com>
76551
76552        Reviewed by Maciej.
76553
76554        Add support for the animation of the -webkit-border-raduis properties.
76555
76556        * page/AnimationController.cpp:
76557        (WebCore::blendFunc): Added for IntSize.
76558        (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
76559
765602007-11-01  Alp Toker  <alp@atoker.com>
76561
76562        Reviewed by Mitz Pettel.
76563
76564        Fix an unbalanced save/restore.
76565
76566        * platform/graphics/cg/ImageCG.cpp:
76567        (WebCore::BitmapImage::draw):
76568
765692007-11-01  David Hyatt  <hyatt@apple.com>
76570
76571        Add support for the animation of the visibility property.
76572
76573        Reviewed by oliver, aroben
76574
76575        * page/AnimationController.cpp:
76576        (WebCore::blendFunc):
76577        (WebCore::ImplicitAnimation::animate):
76578
765792007-11-01  Kevin McCullough  <kmccullough@apple.com>
76580
76581        Reviewed by Adam.
76582
76583        - Made COMPtr be able to be used by certain other templates,
76584        specifically HashSet.
76585
76586        * platform/win/COMPtr.h:
76587        (WTF::):
76588
765892007-11-01  Dan Bernstein  <mitz@apple.com>
76590
76591        Reviewed by Dave Hyatt.
76592
76593        - fix http://bugs.webkit.org/show_bug.cgi?id=15015
76594          <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
76595
76596        Test: fast/repaint/overflow-clip-subtree-layout.html
76597
76598        This patch does not address the bigger issue of doing a full relayout
76599        of inline flows containing floats, but it addresses the problem on
76600        aol.com, where the changes that trigger layout are confined to an
76601        overflow area inside the float.
76602
76603        * page/FrameView.cpp:
76604        (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
76605        layout roots are different but one descends from the other, make (or
76606        keep) the ancestor as the layout root.
76607        * rendering/RenderObject.cpp:
76608        (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
76609        clipping and non-auto width and height relayout boundaries.
76610
766112007-11-01  Alexey Proskuryakov  <ap@webkit.org>
76612
76613        Reviewed by Mark Rowe.
76614
76615        Fixed line endings that got confused in this file somehow.
76616
76617        * platform/network/ResourceResponse.cpp:
76618        (WebCore::ResourceResponse::isAttachment):
76619
766202007-11-01  Peter Kasting  <pkasting@google.com>
76621
76622        Reviewed by Dave Hyatt.
76623
76624        http://bugs.webkit.org/show_bug.cgi?id=15778
76625        Malformed GIFs should not result in memory corruption.
76626
76627        * platform/image-decoders/gif/GIFImageDecoder.cpp:
76628        (WebCore::GIFImageDecoder::haveDecodedRow):
76629        * platform/image-decoders/gif/GIFImageReader.cpp:
76630        (GIFImageReader::output_row):
76631        (GIFImageReader::read):
76632
766332007-10-31  Adam Roben  <aroben@apple.com>
76634
76635        Fix a crash when parsing a cubic-bezier function
76636
76637        Reviewed by Hyatt.
76638
76639        Test: fast/css/parse-timing-function-crash.html
76640
76641        * WebCore.vcproj/WebCore.vcproj:
76642        * css/CSSParser.cpp:
76643        (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
76644        of the ValueList.
76645
766462007-10-31  David Hyatt  <hyatt@apple.com>
76647
76648        Fix a merge error from when I applied my patch to ToT.  A couple of lines should be part of an if.
76649
76650        * rendering/RenderStyle.cpp:
76651        (WebCore::RenderStyle::adjustTransitions):
76652
766532007-10-31  Anders Carlsson  <andersca@apple.com>
76654
76655        Reviewed by Sam.
76656
76657        Add new SQL callback interfaces and JS implementations of them.
76658        
76659        * DerivedSources.make:
76660        * WebCore.xcodeproj/project.pbxproj:
76661        * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
76662        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
76663        (WebCore::JSCustomSQLStatementCallback::handleEvent):
76664        * bindings/js/JSCustomSQLStatementCallback.h: Added.
76665        * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
76666        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
76667        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
76668        * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
76669        * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
76670        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
76671        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
76672        * bindings/js/JSCustomSQLTransactionCallback.h: Added.
76673        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
76674        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
76675        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
76676        * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
76677        * storage/JSCustomSQLStatementCallback.h: Added.
76678        * storage/JSCustomSQLStatementErrorCallback.h: Added.
76679        * storage/JSCustomSQLTransactionCallback.h: Added.
76680        * storage/JSCustomSQLTransactionErrorCallback.h: Added.
76681        * storage/SQLStatementCallback.h: Added.
76682        (WebCore::SQLStatementCallback::~SQLStatementCallback):
76683        * storage/SQLStatementCallback.idl: Added.
76684        * storage/SQLStatementErrorCallback.h: Added.
76685        (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
76686        * storage/SQLStatementErrorCallback.idl: Added.
76687        * storage/SQLTransaction.h: Added.
76688        * storage/SQLTransaction.idl: Added.
76689        * storage/SQLTransactionCallback.h: Added.
76690        (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
76691        * storage/SQLTransactionCallback.idl: Added.
76692        * storage/SQLTransactionErrorCallback.h: Added.
76693        (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
76694        * storage/SQLTransactionErrorCallback.idl: Added.
76695
766962007-10-31  Justin Garcia  <justin.garcia@apple.com>
76697
76698        Reviewed by Dave Harrison.
76699
76700        <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
76701
76702        * editing/htmlediting.cpp:
76703        (WebCore::enclosingEmptyListItem): A single list item can contain multiple 
76704        paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 
76705        list item, that list item isn't necessarily empty.
76706
767072007-10-31  David Hyatt  <hyatt@apple.com>
76708
76709        Disable style sharing for animating styles.
76710
76711        Reviewed by mitzpettel
76712
76713        * css/CSSStyleSelector.cpp:
76714        (WebCore::CSSStyleSelector::canShareStyleWithElement):
76715
767162007-10-31  Dan Bernstein  <mitz@apple.com>
76717
76718        Reviewed by Darin Adler.
76719
76720        - fix intermediate length calculation
76721
76722        * rendering/Length.h:
76723        (WebCore::Length::blend):
76724
767252007-10-31  Anders Carlsson  <andersca@apple.com>
76726
76727        Reviewed by Darin.
76728
76729        Add new SQLError implementation.
76730        
76731        * DerivedSources.make:
76732        * WebCore.vcproj/WebCore.vcproj:
76733        * WebCore.xcodeproj/project.pbxproj:
76734        * storage/SQLError.h: Added.
76735        (WebCore::SQLError::SQLError):
76736        (WebCore::SQLError::code):
76737        (WebCore::SQLError::message):
76738        * storage/SQLError.idl: Added.
76739
767402007-10-31  David Hyatt  <hyatt@apple.com>
76741
76742        Change the initial value of transition-property to all.  Change the initial value of
76743        transition-duration to 0.
76744
76745        Reviewed by antti
76746
76747        * rendering/RenderStyle.h:
76748        (WebCore::RenderStyle::initialTransitionDuration):
76749        (WebCore::RenderStyle::initialTransitionProperty):
76750
767512007-10-31  Alp Toker  <alp@atoker.com>
76752
76753        Reviewed by Mark Rowe.
76754
76755        The new Color must be marked valid.
76756
76757        * platform/graphics/gtk/ColorGtk.cpp:
76758
767592007-10-31  Simon Hausmann  <hausmann@kde.org>
76760
76761        Reviewed by Maciej;
76762
76763        Build fix for non-Qt builds.
76764
76765        * dom/XMLTokenizer.cpp:
76766        (WebCore::XMLTokenizer::XMLTokenizer):
76767
767682007-10-31  Simon Hausmann  <hausmann@kde.org>
76769
76770        Reviewed by Lars.
76771
76772        Fix dependency path to header files of the public API of the Qt port.
76773
76774        * WebCore.pro:
76775
767762007-10-31  Holger Freyther  <zecke@selfish.org>
76777
76778        Reviewed by Simon.
76779
76780        * QXmlStreamNamespaceDeclaration doesn't have the constructor we
76781        want to use for Qt4.3. Reenable the old code path which is likely
76782        to be dead as I have not checked if m_prefixToNamespaceMap is actually
76783        used.
76784        * Guard the entity resolver with the QT_VERSION as well.
76785        * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
76786        d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
76787
76788        * dom/XMLTokenizer.cpp:
76789        (WebCore::XMLTokenizer::XMLTokenizer):
76790        * dom/XMLTokenizer.h:
76791
767922007-10-31  Holger Freyther  <zecke@selfish.org>
76793
76794        Reviewed by Lars Knoll <lars@trolltech.com>.
76795
76796        * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 
76797        * Provide a bad fallback implementation to filter the format list.
76798
76799        * platform/qt/ClipboardQt.cpp:
76800        (WebCore::ClipboardQt::clearData):
76801
768022007-10-31  Lars Knoll  <lars@trolltech.com>
76803
76804        Reviewed by Simon.
76805
76806        add an entitiy resolver to QXmlStream.
76807        Fixes fast/parser/entities-in-attributes.xhtml.
76808
76809        * dom/XMLTokenizer.cpp:
76810        (WebCore::EntityResolver::resolveUndeclaredEntity):
76811        (WebCore::XMLTokenizer::XMLTokenizer):
76812        (WebCore::XMLTokenizer::~XMLTokenizer):
76813
768142007-10-31  Lars Knoll  <lars@trolltech.com>
76815
76816        Reviewed by Simon.
76817
76818        Fixes in the XML tokenizer when using QXmlStream.
76819        
76820        Use new functionality of QXmlStream in Qt 4.4 to simplify
76821        the code (but keep the old code for now to still support Qt 4.3).
76822        
76823        Add proper support for namespace handling when parsing into
76824        a document fragment.
76825
76826        * dom/XMLTokenizer.cpp:
76827        (WebCore::XMLTokenizer::XMLTokenizer):
76828        (WebCore::XMLTokenizer::write):
76829        (WebCore::XMLTokenizer::startElementNs):
76830        * dom/XMLTokenizer.h:
76831
768322007-10-31  Lars Knoll  <lars@trolltech.com>
76833
76834        Reviewed by Simon.
76835
76836        add support for dragging images.
76837
76838        * platform/DragImage.h:
76839        * platform/qt/ClipboardQt.cpp:
76840        (WebCore::ClipboardQt::clearData):
76841        (WebCore::ClipboardQt::setDragImage):
76842        (WebCore::ClipboardQt::setDragImageElement):
76843        (WebCore::ClipboardQt::createDragImage):
76844        (WebCore::getCachedImage):
76845        (WebCore::ClipboardQt::declareAndWriteDragImage):
76846        * platform/qt/ClipboardQt.h:
76847
768482007-10-31  Lars Knoll  <lars@trolltech.com>
76849
76850        Reviewed by Simon.
76851
76852        fix most of the issues I found with Clipboard and DnD.
76853
76854        * editing/qt/EditorQt.cpp:
76855        * platform/qt/ClipboardQt.cpp:
76856        (WebCore::ClipboardQt::ClipboardQt):
76857        (WebCore::ClipboardQt::~ClipboardQt):
76858        (WebCore::ClipboardQt::clearData):
76859        (WebCore::ClipboardQt::clearAllData):
76860        (WebCore::ClipboardQt::getData):
76861        (WebCore::ClipboardQt::setData):
76862        (WebCore::ClipboardQt::types):
76863        (WebCore::ClipboardQt::setDragImage):
76864        (WebCore::ClipboardQt::setDragImageElement):
76865        (WebCore::ClipboardQt::declareAndWriteDragImage):
76866        (WebCore::ClipboardQt::writeURL):
76867        (WebCore::ClipboardQt::writeRange):
76868        (WebCore::ClipboardQt::hasData):
76869        * platform/qt/ClipboardQt.h:
76870        * platform/qt/DragDataQt.cpp:
76871        (WebCore::DragData::asURL):
76872
768732007-10-30  Mark Rowe  <mrowe@apple.com>
76874
76875        Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
76876
76877        * platform/gtk/KeyEventGtk.cpp:
76878        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
76879        * platform/qt/PlatformKeyboardEventQt.cpp:
76880        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
76881
768822007-10-31  Alexey Proskuryakov  <ap@webkit.org>
76883
76884        Reviewed by Anders.
76885
76886        http://bugs.webkit.org/show_bug.cgi?id=15762
76887        XSLStylesheet loads subresources from a wrong URL
76888
76889        Covered by corrected existing tests.
76890
76891        * xml/XSLStyleSheet.cpp:
76892        (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
76893        the document one.
76894
768952007-10-31  Alexey Proskuryakov  <ap@webkit.org>
76896
76897        Reviewed by Darin.
76898
76899        http://bugs.webkit.org/show_bug.cgi?id=10818
76900        String::append does 2 full copies instead of 1 (or zero!)
76901
76902        No change in functionality, thus no test.
76903
76904        * platform/String.cpp:
76905        (WebCore::String::append): Rewrote to copy once. Also removed an ancient
76906        FIXME that doesn't seem to make any sense. Note that append() behavior doesn't 
76907        match documented String behavior ("modifications to one instance will
76908        also modify all others"), but there are a lot of methods that don't.
76909
769102007-10-31  Adam Roben  <aroben@apple.com>
76911
76912        Windows build fix
76913
76914        * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
76915
769162007-10-30  Adam Roben  <aroben@apple.com>
76917
76918        Windows build fixes
76919
76920        I'm not completely sure why these const issues weren't caught by GCC,
76921        but MSVC was certainly not happy with them.
76922
76923        * editing/IndentOutdentCommand.cpp:
76924        (WebCore::isIndentBlockquote):
76925        * editing/markup.cpp:
76926        (WebCore::styleFromMatchedRulesAndInlineDecl):
76927
769282007-10-30  David Hyatt  <hyatt@apple.com>
76929
76930        transition-property was defaulting to all when it should default to none.  
76931
76932        It was taking a string type.  I figured out how to make it take an ident instead, so you can write:
76933
76934        transition-property: opacity
76935
76936        instead of
76937
76938        transition-property: "opacity"
76939
76940        Transition layers also weren't properly repeating patterns the way they were supposed to.  I fixed that.
76941
76942        Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
76943
76944        Reviewed by aroben
76945
76946        * css/CSSHelper.h:
76947        * css/CSSParser.cpp:
76948        (WebCore::CSSParser::parseTransitionProperty):
76949        * css/CSSStyleSelector.cpp:
76950        (WebCore::CSSStyleSelector::adjustRenderStyle):
76951        * page/AnimationController.cpp:
76952        (WebCore::ImplicitAnimation::animate):
76953        * rendering/RenderStyle.cpp:
76954        (WebCore::RenderStyle::adjustTransitions):
76955        * rendering/RenderStyle.h:
76956        (WebCore::RenderStyle::initialTransitionProperty):
76957
769582007-10-30  Antti Koivisto  <antti@apple.com>
76959
76960        Reviewed by Geoff.
76961
76962        Leak fix
76963
76964        * platform/graphics/mac/MoviePrivateQTKit.mm:
76965        (WebCore::MoviePrivate::getSupportedTypes):
76966
769672007-10-30  Dan Bernstein  <mitz@apple.com>
76968
76969        Reviewed by Stephanie Lewis.
76970
76971        - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
76972
76973        * platform/win/FontDataWin.cpp:
76974        (WebCore::FontData::platformInit): Handle the case where the font has no
76975        glyphs on page zero.
76976
769772007-10-30  David Hyatt  <hyatt@apple.com>
76978
76979        Make sure CSS transforms can be animated using the CSS transition property.
76980
76981        Reviewed by Dan and Antti
76982
76983        * css/CSSStyleSelector.cpp:
76984        (WebCore::CSSStyleSelector::applyProperty):
76985        * page/AnimationController.cpp:
76986        (WebCore::blendFunc):
76987        (WebCore::ImplicitAnimation::animate):
76988        * rendering/Length.h:
76989        (WebCore::Length::blend):
76990        * rendering/RenderStyle.cpp:
76991        (WebCore::StyleTransformData::operator==):
76992        (WebCore::TransformOperations::operator==):
76993        (WebCore::blendLengths):
76994        (WebCore::ScaleTransformOperation::blend):
76995        (WebCore::RotateTransformOperation::blend):
76996        (WebCore::SkewTransformOperation::blend):
76997        (WebCore::TranslateTransformOperation::blend):
76998        (WebCore::MatrixTransformOperation::blend):
76999        * rendering/RenderStyle.h:
77000        (WebCore::TransformOperations::operator!=):
77001        (WebCore::TransformOperations::isEmpty):
77002        (WebCore::TransformOperations::size):
77003        (WebCore::TransformOperations::operator[]):
77004        (WebCore::TransformOperations::append):
77005        (WebCore::RenderStyle::transform):
77006        (WebCore::RenderStyle::setTransform):
77007        (WebCore::RenderStyle::initialTransform):
77008
770092007-10-30  Antti Koivisto  <antti@apple.com>
77010
77011        Another Qt/GTK build fix.
77012
77013        * bindings/js/JSHTMLElementWrapperFactory.cpp:
77014
770152007-10-30  Antti Koivisto  <antti@apple.com>
77016
77017        Attempt to fix Qt/GTK build.
77018
77019        * WebCore.pro:
77020
770212007-10-30  Justin Garcia  <justin.garcia@apple.com>
77022
77023        Reviewed by Darin Adler.
77024
77025        <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
77026        
77027        We were trying to insert a tab into a br, after the br incorrectly ended up inside
77028        a tab span.
77029        
77030        * editing/DeleteButtonController.cpp: 
77031        (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
77032        * editing/DeleteSelectionCommand.cpp:
77033        (WebCore::isTableRow): Ditto.
77034        * editing/IndentOutdentCommand.cpp:
77035        (WebCore::isIndentBlockquote): Ditto.
77036        (WebCore::isListOrIndentBlockquote): Ditto.
77037        * editing/InsertLineBreakCommand.cpp:
77038        (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
77039        doApply here.
77040        (WebCore::InsertLineBreakCommand::doApply): 
77041        Don't upstream() the insertion position.  upstream()ing it will only have an effect
77042        when the insertion position is the first in its paragraph (since we canonicalize
77043        VisiblePositions to the upstream() candidate).  In this start of paragraph case, 
77044        upstream() can move outside inline elements like tab spans or elements that might
77045        have a different whitespace mode (added two test cases to cover these).
77046        Moved code to decide whether to insert a br or a '\n' to its own method.
77047        Removed special case code for inserting at a position inside a tab span.  We instead
77048        adjust the insertion position before insertion if it is inside a tab span and
77049        handle insertion in the appropriate if-block.  This fixes a bug where we would 
77050        only insert one line break when two were needed (added a testcase).
77051        Removed special case code for inserting before and after tables and horizontal
77052        rules.  We handle these insertions in the appropriate if-block.
77053        * editing/InsertLineBreakCommand.h:
77054        * editing/ReplaceSelectionCommand.cpp:
77055        (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
77056        * editing/htmlediting.cpp:
77057        (WebCore::isContentEditable): Ditto.
77058        (WebCore::isBlock): Ditto.
77059        (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
77060        that takes in a const Node*.
77061        (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
77062        and not, say, a br.
77063        * editing/htmlediting.h:
77064        * editing/markup.cpp:
77065        (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
77066        (WebCore::elementHasTextDecorationProperty): Ditto.
77067
770682007-10-30  Antti Koivisto  <antti@apple.com>
77069
77070        Add missing files.
77071
77072        * html/VoidCallback.cpp: Added.
77073        (VoidCallback::VoidCallback):
77074        (VoidCallback::~VoidCallback):
77075        (VoidCallback::handleEvent):
77076        (VoidCallback::execute):
77077        (VoidCallback::operator==):
77078        (WebCore::toVoidCallback):
77079        * html/VoidCallback.h: Added.
77080        * html/VoidCallback.idl: Added.
77081
770822007-10-30  David Kilzer  <ddkilzer@webkit.org>
77083
77084        Generated files missing from WebCore's Xcode project file
77085        <http://bugs.webkit.org/show_bug.cgi?id=15406>
77086
77087        Reviewed by Darin.
77088
77089        Added the following files to the Xcode project file (note that
77090        JSHTMLInputElementBaseTable.cpp is used as a header file):
77091
77092        - DOMCSSStyleSheetPrivate.h
77093        - DOMEventPrivate.h
77094        - DOMHTMLCollectionPrivate.h
77095        - DOMHTMLEmbedElementPrivate.h
77096        - DOMHTMLIFrameElementPrivate.h
77097        - DOMHTMLObjectElementPrivate.h
77098        - DOMHTMLSelectElementPrivate.h
77099        - DOMTextEventInternal.h
77100        - JSHTMLInputElementBaseTable.cpp
77101
77102        * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
77103        since their generated code was not used.
77104        * WebCore.xcodeproj/project.pbxproj: Added missing header files.
77105
771062007-10-29  Antti Koivisto  <antti@apple.com>
77107
77108        Rubber stamped by Adele.
77109
77110        Initial media (<video> and <audio>) support from feature branch and 
77111        QTKit based platform implementation.
77112        
77113        This will need to be updated to match current draft specification.
77114
77115        * Configurations/WebCore.xcconfig:
77116        * DerivedSources.make:
77117        * WebCore.base.exp:
77118        * WebCore.xcodeproj/project.pbxproj:
77119        * bindings/js/JSEventCustom.cpp:
77120        (WebCore::toJS):
77121        * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
77122        (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
77123        (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
77124        (WebCore::JSHTMLAudioElementConstructor::construct):
77125        * bindings/js/JSHTMLAudioElementConstructor.h: Added.
77126        * bindings/js/JSHTMLElementWrapperFactory.cpp:
77127        (WebCore::createJSHTMLWrapper):
77128        * bindings/js/kjs_window.cpp:
77129        (KJS::Window::getValueProperty):
77130        * bindings/js/kjs_window.h:
77131        (KJS::Window::):
77132        * bindings/scripts/CodeGeneratorJS.pm:
77133        * dom/Document.cpp:
77134        (WebCore::Document::createEvent):
77135        (WebCore::Document::willSaveToCache):
77136        (WebCore::Document::didRestoreFromCache):
77137        (WebCore::Document::registerForCacheCallbacks):
77138        (WebCore::Document::unregisterForCacheCallbacks):
77139        * dom/Document.h:
77140        * dom/Element.cpp:
77141        (WebCore::Element::setBooleanAttribute):
77142        * dom/Element.h:
77143        (WebCore::Element::willSaveToCache):
77144        * dom/Event.cpp:
77145        (WebCore::Event::isProgressEvent):
77146        * dom/Event.h:
77147        * dom/EventNames.h:
77148        * dom/EventTargetNode.cpp:
77149        (WebCore::EventTargetNode::dispatchProgressEvent):
77150        * dom/EventTargetNode.h:
77151        * dom/ProgressEvent.cpp: Added.
77152        (WebCore::ProgressEvent::ProgressEvent):
77153        (WebCore::ProgressEvent::initProgressEvent):
77154        (WebCore::ProgressEvent::initProgressEventNS):
77155        * dom/ProgressEvent.h: Added.
77156        (WebCore::ProgressEvent::lengthComputable):
77157        (WebCore::ProgressEvent::loaded):
77158        (WebCore::ProgressEvent::total):
77159        (WebCore::ProgressEvent::isProgressEvent):
77160        * dom/ProgressEvent.idl: Added.
77161        * history/CachedPage.cpp:
77162        (WebCore::CachedPage::CachedPage):
77163        * html/HTMLAttributeNames.in:
77164        * html/HTMLAudioElement.cpp: Added.
77165        (WebCore::HTMLAudioElement::HTMLAudioElement):
77166        * html/HTMLAudioElement.h: Added.
77167        (WebCore::HTMLAudioElement::tagPriority):
77168        * html/HTMLAudioElement.idl: Added.
77169        * html/HTMLElement.cpp:
77170        (WebCore::inlineTagList):
77171        * html/HTMLElementFactory.cpp:
77172        (WebCore::audioConstructor):
77173        (WebCore::videoConstructor):
77174        (WebCore::sourceConstructor):
77175        (WebCore::createFunctionMap):
77176        * html/HTMLInputElement.cpp:
77177        (WebCore::HTMLInputElement::~HTMLInputElement):
77178        (WebCore::HTMLInputElement::setInputType):
77179        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
77180        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
77181        * html/HTMLMediaElement.cpp: Added.
77182        (WebCore::HTMLMediaElement::HTMLMediaElement):
77183        (WebCore::HTMLMediaElement::~HTMLMediaElement):
77184        (WebCore::HTMLMediaElement::checkDTD):
77185        (WebCore::HTMLMediaElement::rendererIsNeeded):
77186        (WebCore::HTMLMediaElement::createRenderer):
77187        (WebCore::HTMLMediaElement::insertedIntoDocument):
77188        (WebCore::HTMLMediaElement::removedFromDocument):
77189        (WebCore::HTMLMediaElement::scheduleLoad):
77190        (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
77191        (WebCore::HTMLMediaElement::dispatchEventAsync):
77192        (WebCore::HTMLMediaElement::loadTimerFired):
77193        (WebCore::HTMLMediaElement::asyncEventTimerFired):
77194        (WebCore::serializeTimeOffset):
77195        (WebCore::parseTimeOffset):
77196        (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
77197        (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
77198        (WebCore::HTMLMediaElement::error):
77199        (WebCore::HTMLMediaElement::src):
77200        (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
77201        (WebCore::HTMLMediaElement::currentSrc):
77202        (WebCore::HTMLMediaElement::networkState):
77203        (WebCore::HTMLMediaElement::bufferingRate):
77204        (WebCore::HTMLMediaElement::load):
77205        (WebCore::HTMLMediaElement::movieNetworkStateChanged):
77206        (WebCore::HTMLMediaElement::movieReadyStateChanged):
77207        (WebCore::HTMLMediaElement::setReadyState):
77208        (WebCore::HTMLMediaElement::progressEventTimerFired):
77209        (WebCore::HTMLMediaElement::seek):
77210        (WebCore::HTMLMediaElement::readyState):
77211        (WebCore::HTMLMediaElement::seeking):
77212        (WebCore::HTMLMediaElement::currentTime):
77213        (WebCore::HTMLMediaElement::setCurrentTime):
77214        (WebCore::HTMLMediaElement::duration):
77215        (WebCore::HTMLMediaElement::paused):
77216        (WebCore::HTMLMediaElement::defaultPlaybackRate):
77217        (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
77218        (WebCore::HTMLMediaElement::playbackRate):
77219        (WebCore::HTMLMediaElement::setPlaybackRate):
77220        (WebCore::HTMLMediaElement::ended):
77221        (WebCore::HTMLMediaElement::autoplay):
77222        (WebCore::HTMLMediaElement::setAutoplay):
77223        (WebCore::HTMLMediaElement::play):
77224        (WebCore::HTMLMediaElement::pause):
77225        (WebCore::HTMLMediaElement::loopCount):
77226        (WebCore::HTMLMediaElement::setLoopCount):
77227        (WebCore::HTMLMediaElement::start):
77228        (WebCore::HTMLMediaElement::setStart):
77229        (WebCore::HTMLMediaElement::end):
77230        (WebCore::HTMLMediaElement::setEnd):
77231        (WebCore::HTMLMediaElement::loopStart):
77232        (WebCore::HTMLMediaElement::setLoopStart):
77233        (WebCore::HTMLMediaElement::loopEnd):
77234        (WebCore::HTMLMediaElement::setLoopEnd):
77235        (WebCore::HTMLMediaElement::currentLoop):
77236        (WebCore::HTMLMediaElement::setCurrentLoop):
77237        (WebCore::HTMLMediaElement::controls):
77238        (WebCore::HTMLMediaElement::setControls):
77239        (WebCore::HTMLMediaElement::volume):
77240        (WebCore::HTMLMediaElement::setVolume):
77241        (WebCore::HTMLMediaElement::muted):
77242        (WebCore::HTMLMediaElement::setMuted):
77243        (WebCore::HTMLMediaElement::pickMedia):
77244        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
77245        (WebCore::HTMLMediaElement::movieVolumeChanged):
77246        (WebCore::HTMLMediaElement::movieDidEnd):
77247        (WebCore::HTMLMediaElement::movieCuePointReached):
77248        (WebCore::HTMLMediaElement::addCuePoint):
77249        (WebCore::HTMLMediaElement::removeCuePoint):
77250        (WebCore::HTMLMediaElement::buffered):
77251        (WebCore::HTMLMediaElement::played):
77252        (WebCore::HTMLMediaElement::seekable):
77253        (WebCore::HTMLMediaElement::effectiveStart):
77254        (WebCore::HTMLMediaElement::effectiveEnd):
77255        (WebCore::HTMLMediaElement::effectiveLoopStart):
77256        (WebCore::HTMLMediaElement::effectiveLoopEnd):
77257        (WebCore::HTMLMediaElement::activelyPlaying):
77258        (WebCore::HTMLMediaElement::endedPlayback):
77259        (WebCore::HTMLMediaElement::willSaveToCache):
77260        (WebCore::HTMLMediaElement::didRestoreFromCache):
77261        * html/HTMLMediaElement.h: Added.
77262        (WebCore::HTMLMediaElement::movie):
77263        (WebCore::HTMLMediaElement::isVideo):
77264        (WebCore::HTMLMediaElement::):
77265        (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
77266        * html/HTMLMediaElement.idl: Added.
77267        * html/HTMLSourceElement.cpp: Added.
77268        (WebCore::HTMLSourceElement::HTMLSourceElement):
77269        (WebCore::HTMLSourceElement::~HTMLSourceElement):
77270        (WebCore::HTMLSourceElement::insertedIntoDocument):
77271        (WebCore::HTMLSourceElement::src):
77272        (WebCore::HTMLSourceElement::setSrc):
77273        (WebCore::HTMLSourceElement::media):
77274        (WebCore::HTMLSourceElement::setMedia):
77275        (WebCore::HTMLSourceElement::type):
77276        (WebCore::HTMLSourceElement::setType):
77277        * html/HTMLSourceElement.h: Added.
77278        (WebCore::HTMLSourceElement::endTagRequirement):
77279        (WebCore::HTMLSourceElement::tagPriority):
77280        * html/HTMLSourceElement.idl: Added.
77281        * html/HTMLTagNames.in:
77282        * html/HTMLVideoElement.cpp: Added.
77283        (WebCore::HTMLVideoElement::HTMLVideoElement):
77284        (WebCore::HTMLVideoElement::videoWidth):
77285        (WebCore::HTMLVideoElement::videoHeight):
77286        * html/HTMLVideoElement.h: Added.
77287        (WebCore::HTMLVideoElement::tagPriority):
77288        (WebCore::HTMLVideoElement::isVideo):
77289        * html/HTMLVideoElement.idl: Added.
77290        * html/MediaError.h: Added.
77291        (WebCore::MediaError::):
77292        (WebCore::MediaError::MediaError):
77293        (WebCore::MediaError::code):
77294        * html/MediaError.idl: Added.
77295        * html/TimeRanges.cpp: Added.
77296        (TimeRanges::TimeRanges):
77297        (TimeRanges::start):
77298        (TimeRanges::end):
77299        (TimeRanges::add):
77300        (TimeRanges::contain):
77301        * html/TimeRanges.h: Added.
77302        (WebCore::TimeRanges::TimeRanges):
77303        (WebCore::TimeRanges::length):
77304        (WebCore::TimeRanges::Range::Range):
77305        * html/TimeRanges.idl: Added.
77306        * page/DOMWindow.idl:
77307        * platform/MIMETypeRegistry.cpp:
77308        (WebCore::initialiseSupportedMovieMIMETypes):
77309        (WebCore::initialiseMIMETypeRegistry):
77310        (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
77311        (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
77312        * platform/MIMETypeRegistry.h:
77313        * platform/graphics/Movie.cpp: Added.
77314        (WebCore::Movie::Movie):
77315        (WebCore::Movie::~Movie):
77316        (WebCore::Movie::load):
77317        (WebCore::Movie::cancelLoad):
77318        (WebCore::Movie::play):
77319        (WebCore::Movie::pause):
77320        (WebCore::Movie::duration):
77321        (WebCore::Movie::currentTime):
77322        (WebCore::Movie::seek):
77323        (WebCore::Movie::paused):
77324        (WebCore::Movie::seeking):
77325        (WebCore::Movie::naturalSize):
77326        (WebCore::Movie::hasVideo):
77327        (WebCore::Movie::networkState):
77328        (WebCore::Movie::readyState):
77329        (WebCore::Movie::volume):
77330        (WebCore::Movie::setVolume):
77331        (WebCore::Movie::rate):
77332        (WebCore::Movie::setRate):
77333        (WebCore::Movie::muted):
77334        (WebCore::Movie::setMuted):
77335        (WebCore::Movie::dataRate):
77336        (WebCore::Movie::setEndTime):
77337        (WebCore::Movie::addCuePoint):
77338        (WebCore::Movie::removeCuePoint):
77339        (WebCore::Movie::clearCuePoints):
77340        (WebCore::Movie::maxTimeBuffered):
77341        (WebCore::Movie::maxTimeSeekable):
77342        (WebCore::Movie::bytesLoaded):
77343        (WebCore::Movie::totalBytesKnown):
77344        (WebCore::Movie::totalBytes):
77345        (WebCore::Movie::setRect):
77346        (WebCore::Movie::visible):
77347        (WebCore::Movie::setVisible):
77348        (WebCore::Movie::paint):
77349        (WebCore::Movie::getSupportedTypes):
77350        (WebCore::Movie::networkStateChanged):
77351        (WebCore::Movie::readyStateChanged):
77352        (WebCore::Movie::volumeChanged):
77353        (WebCore::Movie::didEnd):
77354        (WebCore::Movie::cuePointReached):
77355        * platform/graphics/Movie.h: Added.
77356        (WebCore::MovieClient::~MovieClient):
77357        (WebCore::MovieClient::movieNetworkStateChanged):
77358        (WebCore::MovieClient::movieReadyStateChanged):
77359        (WebCore::MovieClient::movieVolumeChanged):
77360        (WebCore::MovieClient::movieDidEnd):
77361        (WebCore::MovieClient::movieCuePointReached):
77362        (WebCore::Movie::parentWidget):
77363        (WebCore::Movie::setParentWidget):
77364        (WebCore::Movie::rect):
77365        (WebCore::Movie::):
77366        * platform/graphics/mac/MoviePrivateQTKit.h: Added.
77367        * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
77368        (WebCore::MoviePrivate::MoviePrivate):
77369        (WebCore::MoviePrivate::~MoviePrivate):
77370        (WebCore::MoviePrivate::createQTMovie):
77371        (WebCore::MoviePrivate::createQTMovieView):
77372        (WebCore::MoviePrivate::createQTTime):
77373        (WebCore::MoviePrivate::load):
77374        (WebCore::MoviePrivate::play):
77375        (WebCore::MoviePrivate::pause):
77376        (WebCore::MoviePrivate::duration):
77377        (WebCore::MoviePrivate::currentTime):
77378        (WebCore::MoviePrivate::seek):
77379        (WebCore::MoviePrivate::setEndTime):
77380        (WebCore::MoviePrivate::addCuePoint):
77381        (WebCore::MoviePrivate::removeCuePoint):
77382        (WebCore::MoviePrivate::clearCuePoints):
77383        (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
77384        (WebCore::MoviePrivate::cancelSeek):
77385        (WebCore::MoviePrivate::seekTimerFired):
77386        (WebCore::MoviePrivate::cuePointTimerFired):
77387        (WebCore::MoviePrivate::paused):
77388        (WebCore::MoviePrivate::seeking):
77389        (WebCore::MoviePrivate::naturalSize):
77390        (WebCore::MoviePrivate::hasVideo):
77391        (WebCore::MoviePrivate::setVolume):
77392        (WebCore::MoviePrivate::setMuted):
77393        (WebCore::MoviePrivate::setRate):
77394        (WebCore::MoviePrivate::dataRate):
77395        (WebCore::MoviePrivate::networkState):
77396        (WebCore::MoviePrivate::readyState):
77397        (WebCore::MoviePrivate::maxTimeBuffered):
77398        (WebCore::MoviePrivate::maxTimeSeekable):
77399        (WebCore::MoviePrivate::maxTimeLoaded):
77400        (WebCore::MoviePrivate::bytesLoaded):
77401        (WebCore::MoviePrivate::totalBytesKnown):
77402        (WebCore::MoviePrivate::totalBytes):
77403        (WebCore::MoviePrivate::cancelLoad):
77404        (WebCore::MoviePrivate::updateStates):
77405        (WebCore::MoviePrivate::loadStateChanged):
77406        (WebCore::MoviePrivate::rateChanged):
77407        (WebCore::MoviePrivate::sizeChanged):
77408        (WebCore::MoviePrivate::timeChanged):
77409        (WebCore::MoviePrivate::volumeChanged):
77410        (WebCore::MoviePrivate::didEnd):
77411        (WebCore::MoviePrivate::setRect):
77412        (WebCore::MoviePrivate::setVisible):
77413        (WebCore::MoviePrivate::paint):
77414        (WebCore::MoviePrivate::getSupportedTypes):
77415        (-[WebCoreMovieObserver loadStateChanged:]):
77416        (-[WebCoreMovieObserver rateChanged:]):
77417        (-[WebCoreMovieObserver sizeChanged:]):
77418        (-[WebCoreMovieObserver timeChanged:]):
77419        (-[WebCoreMovieObserver volumeChanged:]):
77420        (-[WebCoreMovieObserver didEnd:]):
77421        (-[WebCoreMovieObserver setCallback:WebCore::]):
77422        * platform/mac/WebCoreSystemInterface.h:
77423        * platform/mac/WebCoreSystemInterface.mm:
77424        * rendering/RenderLayer.cpp:
77425        (WebCore::RenderLayer::collectLayers):
77426        * rendering/RenderVideo.cpp: Added.
77427        (WebCore::RenderVideo::RenderVideo):
77428        (WebCore::RenderVideo::~RenderVideo):
77429        (WebCore::RenderVideo::movie):
77430        (WebCore::RenderVideo::videoSizeChanged):
77431        (WebCore::RenderVideo::paint):
77432        (WebCore::RenderVideo::layout):
77433        (WebCore::RenderVideo::updateFromElement):
77434        (WebCore::RenderVideo::updateMovie):
77435        (WebCore::RenderVideo::isWidthSpecified):
77436        (WebCore::RenderVideo::isHeightSpecified):
77437        (WebCore::RenderVideo::calcReplacedWidth):
77438        (WebCore::RenderVideo::calcReplacedHeight):
77439        (WebCore::RenderVideo::calcAspectRatioWidth):
77440        (WebCore::RenderVideo::calcAspectRatioHeight):
77441        (WebCore::RenderVideo::calcPrefWidths):
77442        * rendering/RenderVideo.h: Added.
77443        (WebCore::RenderVideo::renderName):
77444
774452007-10-30  Sam Weinig  <sam@webkit.org>
77446
77447        Reviewed by Adam Roben.
77448
77449        Add Interface and Class UUIDs to the IDLs in preparation of adding
77450        autogeneration of the COM DOM bindings.
77451
77452        * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
77453        * css/CSSCharsetRule.idl:
77454        * css/CSSFontFaceRule.idl:
77455        * css/CSSImportRule.idl:
77456        * css/CSSMediaRule.idl:
77457        * css/CSSPageRule.idl:
77458        * css/CSSPrimitiveValue.idl:
77459        * css/CSSRule.idl:
77460        * css/CSSRuleList.idl:
77461        * css/CSSStyleDeclaration.idl:
77462        * css/CSSStyleRule.idl:
77463        * css/CSSStyleSheet.idl:
77464        * css/CSSUnknownRule.idl:
77465        * css/CSSValue.idl:
77466        * css/CSSValueList.idl:
77467        * css/Counter.idl:
77468        * css/MediaList.idl:
77469        * css/RGBColor.idl:
77470        * css/Rect.idl:
77471        * css/StyleSheet.idl:
77472        * css/StyleSheetList.idl:
77473        * dom/Attr.idl:
77474        * dom/CDATASection.idl:
77475        * dom/CharacterData.idl:
77476        * dom/Comment.idl:
77477        * dom/DOMImplementation.idl:
77478        * dom/Document.idl:
77479        * dom/DocumentFragment.idl:
77480        * dom/DocumentType.idl:
77481        * dom/Element.idl:
77482        * dom/Entity.idl:
77483        * dom/EntityReference.idl:
77484        * dom/Event.idl:
77485        * dom/EventListener.idl:
77486        * dom/EventTarget.idl:
77487        * dom/NamedNodeMap.idl:
77488        * dom/Node.idl:
77489        * dom/NodeList.idl:
77490        * dom/Notation.idl:
77491        * dom/ProcessingInstruction.idl:
77492        * dom/Text.idl:
77493        * html/CanvasGradient.idl:
77494        * html/CanvasPattern.idl:
77495        * html/CanvasRenderingContext2D.idl:
77496        * html/HTMLAnchorElement.idl:
77497        * html/HTMLAppletElement.idl:
77498        * html/HTMLAreaElement.idl:
77499        * html/HTMLBRElement.idl:
77500        * html/HTMLBaseElement.idl:
77501        * html/HTMLBaseFontElement.idl:
77502        * html/HTMLBlockquoteElement.idl:
77503        * html/HTMLBodyElement.idl:
77504        * html/HTMLButtonElement.idl:
77505        * html/HTMLCanvasElement.idl:
77506        * html/HTMLCollection.idl:
77507        * html/HTMLDListElement.idl:
77508        * html/HTMLDirectoryElement.idl:
77509        * html/HTMLDivElement.idl:
77510        * html/HTMLDocument.idl:
77511        * html/HTMLElement.idl:
77512        * html/HTMLEmbedElement.idl:
77513        * html/HTMLFieldSetElement.idl:
77514        * html/HTMLFontElement.idl:
77515        * html/HTMLFormElement.idl:
77516        * html/HTMLFrameElement.idl:
77517        * html/HTMLFrameSetElement.idl:
77518        * html/HTMLHRElement.idl:
77519        * html/HTMLHeadElement.idl:
77520        * html/HTMLHeadingElement.idl:
77521        * html/HTMLHtmlElement.idl:
77522        * html/HTMLIFrameElement.idl:
77523        * html/HTMLImageElement.idl:
77524        * html/HTMLInputElement.idl:
77525        * html/HTMLIsIndexElement.idl:
77526        * html/HTMLLIElement.idl:
77527        * html/HTMLLabelElement.idl:
77528        * html/HTMLLegendElement.idl:
77529        * html/HTMLLinkElement.idl:
77530        * html/HTMLMapElement.idl:
77531        * html/HTMLMarqueeElement.idl:
77532        * html/HTMLMenuElement.idl:
77533        * html/HTMLMetaElement.idl:
77534        * html/HTMLModElement.idl:
77535        * html/HTMLOListElement.idl:
77536        * html/HTMLObjectElement.idl:
77537        * html/HTMLOptGroupElement.idl:
77538        * html/HTMLOptionElement.idl:
77539        * html/HTMLOptionsCollection.idl:
77540        * html/HTMLParagraphElement.idl:
77541        * html/HTMLParamElement.idl:
77542        * html/HTMLPreElement.idl:
77543        * html/HTMLQuoteElement.idl:
77544        * html/HTMLScriptElement.idl:
77545        * html/HTMLSelectElement.idl:
77546        * html/HTMLStyleElement.idl:
77547        * html/HTMLTableCaptionElement.idl:
77548        * html/HTMLTableCellElement.idl:
77549        * html/HTMLTableColElement.idl:
77550        * html/HTMLTableElement.idl:
77551        * html/HTMLTableRowElement.idl:
77552        * html/HTMLTableSectionElement.idl:
77553        * html/HTMLTextAreaElement.idl:
77554        * html/HTMLTitleElement.idl:
77555        * html/HTMLUListElement.idl:
77556
775572007-10-30  Adele Peterson  <adele@apple.com>
77558
77559        RS by Darin.
77560
77561        * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
77562
775632007-10-29  Timothy Hatcher  <timothy@apple.com>
77564
77565        Reviewed by John Sullivan.
77566
77567        - Allow showing and closing the inspector programatically.
77568        - Add showConsole() and showTimeline() methods. 
77569
77570        * WebCore.base.exp: Add exports for WebKit.
77571        * page/InspectorController.cpp:
77572        (WebCore::callSimpleFunction): Renamed from callClearFunction().
77573        (WebCore::unloading): Renamed to close().
77574        (WebCore::InspectorController::InspectorController):
77575        (WebCore::InspectorController::inspect): Moved showing code to show().
77576        (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
77577        (WebCore::InspectorController::show): Code factored out of inspect().
77578        (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
77579        (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
77580        (WebCore::InspectorController::close):
77581        (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
77582        (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
77583        (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
77584        (WebCore::InspectorController::clearNetworkTimeline): Ditto.
77585        * page/InspectorController.h: Add and rename methods.
77586        * page/inspector/inspector.js: Add showConsole() and showTimeline().
77587
775882007-10-30  Adele Peterson  <adele@apple.com>
77589
77590        Reviewed by Sam.
77591
77592        Build fix.
77593
77594        * page/AnimationController.cpp: (WebCore::blendFunc):
77595
775962007-10-30  Adele Peterson  <adele@apple.com>
77597
77598        Reviewed by Darin.
77599
77600        WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
77601        <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
77602
77603        Test: manual-tests/password-caps-lock.html
77604
77605        * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
77606
77607        * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
77608        * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
77609        * page/EventHandler.h:
77610
77611        * platform/PlatformKeyboardEvent.h:
77612        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
77613        * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
77614
77615        * rendering/RenderTextControl.cpp:
77616        (WebCore::RenderTextControl::RenderTextControl):
77617        (WebCore::RenderTextControl::paint): Added.  If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
77618        (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
77619        (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, 
77620         and the frame is active, and the element is focused, and the caps lock is on.  Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
77621        * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
77622        * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
77623
77624        * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
77625        * rendering/RenderThemeMac.h:
77626        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added.  Calls wkDrawCapsLockIndicator.
77627        * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added.  Calls paintThemePart for the CapsLockPart.
77628        * rendering/RenderThemeSafari.h:
77629
776302007-10-30  David Hyatt  <hyatt@apple.com>
77631
77632        Land support for implicit animation in CSS.
77633
77634        Reviewed by mitz, darin
77635
77636        * css/CSSParser.cpp:
77637        (WebCore::CSSParser::parseTimingFunctionValue):
77638        (WebCore::CSSParser::parseTransitionTimingFunction):
77639        (WebCore::CSSParser::parseTransitionProperty):
77640        * css/CSSStyleSelector.cpp:
77641        (WebCore::CSSStyleSelector::mapTransitionDuration):
77642        (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
77643        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
77644        (WebCore::CSSStyleSelector::mapTransitionProperty):
77645        * css/CSSTimingFunctionValue.h:
77646        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
77647        (WebCore::CSSTimingFunctionValue::x1):
77648        (WebCore::CSSTimingFunctionValue::y1):
77649        (WebCore::CSSTimingFunctionValue::x2):
77650        (WebCore::CSSTimingFunctionValue::y2):
77651        * dom/Element.cpp:
77652        (WebCore::Element::styleForRenderer):
77653        (WebCore::Element::createRenderer):
77654        * dom/Node.cpp:
77655        (WebCore::Node::createRendererIfNeeded):
77656        (WebCore::Node::setRenderStyle):
77657        * page/AnimationController.cpp:
77658        (WebCore::CurveData::CurveData):
77659        (WebCore::CurveData::sampleCurveX):
77660        (WebCore::CurveData::sampleCurveY):
77661        (WebCore::CurveData::sampleCurveDerivativeX):
77662        (WebCore::CurveData::solveCurveX):
77663        (WebCore::solveEpsilon):
77664        (WebCore::solveCubicBezierFunction):
77665        (WebCore::ImplicitAnimation::finished):
77666        (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
77667        (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
77668        (WebCore::ImplicitAnimation::ImplicitAnimation):
77669        (WebCore::ImplicitAnimation::~ImplicitAnimation):
77670        (WebCore::ImplicitAnimation::reset):
77671        (WebCore::ImplicitAnimation::progress):
77672        (WebCore::blendFunc):
77673        (WebCore::ImplicitAnimation::animate):
77674        (WebCore::CompositeImplicitAnimation::animate):
77675        (WebCore::CompositeImplicitAnimation::animating):
77676        (WebCore::CompositeImplicitAnimation::reset):
77677        (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
77678        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
77679        (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
77680        (WebCore::AnimationControllerPrivate::get):
77681        (WebCore::AnimationControllerPrivate::clear):
77682        (WebCore::AnimationControllerPrivate::updateTimer):
77683        (WebCore::AnimationControllerPrivate::timerFired):
77684        (WebCore:::m_data):
77685        (WebCore::AnimationController::~AnimationController):
77686        (WebCore::AnimationController::cancelImplicitAnimations):
77687        (WebCore::AnimationController::updateImplicitAnimations):
77688        (WebCore::AnimationController::suspendAnimations):
77689        (WebCore::AnimationController::resumeAnimations):
77690        * page/AnimationController.h:
77691        * page/Frame.cpp:
77692        (WebCore::FramePrivate::FramePrivate):
77693        * rendering/RenderBox.cpp:
77694        (WebCore::RenderBox::setStyle):
77695        (WebCore::RenderBox::destroy):
77696        * rendering/RenderObject.cpp:
77697        (WebCore::RenderObject::setAnimatableStyle):
77698        (WebCore::RenderObject::destroy):
77699        * rendering/RenderObject.h:
77700        * rendering/RenderStyle.h:
77701        (WebCore::TimingFunction::TimingFunction):
77702        (WebCore::TimingFunction::operator==):
77703        (WebCore::TimingFunction::x1):
77704        (WebCore::TimingFunction::y1):
77705        (WebCore::TimingFunction::x2):
77706        (WebCore::TimingFunction::y2):
77707        (WebCore::TimingFunction::type):
77708        (WebCore::Transition::transitionProperty):
77709        (WebCore::Transition::setTransitionProperty):
77710        (WebCore::RenderStyle::initialTransitionProperty):
77711        * rendering/RenderWidget.cpp:
77712        (WebCore::RenderWidget::destroy):
77713
777142007-10-29  Beth Dakin  <bdakin@apple.com>
77715
77716        Reviewed by Hyatt.
77717
77718        Fix for <rdar://problem/5399614> anchor tag is not rendered without 
77719        text content, works in Firefox with CSS background-image (13237)
77720
77721        This patch allows empty inlines that have box decorations or width 
77722        from border/padding/margin to have line boxes.
77723
77724        * rendering/bidi.cpp:
77725        (WebCore::inlineFlowAllowsLineBox): Convenience function that 
77726        defines when we allow an inline flow to have a line box.
77727        (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
77728        (WebCore::shouldSkipWhitespaceAfterStartObject): New function to 
77729        merge some shared code between list markers and empty inline flows 
77730        that fall at the beginning of a line.
77731        (WebCore::RenderBlock::findNextLineBreak): Make flows more like 
77732        list markers.
77733
77734        One interesting side effect of this bug appeared in our xhtml/svg 
77735        tests that generate parser error tags. The tag we generate was 
77736        actually an empty inline with box decorations. This patch causes 
77737        those inlines to draw now, and the parser errors looked strange. So 
77738        I changed it so that the parsererror tag is display:block. This 
77739        matches Firefox, and I think was the original intent of the tag 
77740        since that causes its red background and border to show up.
77741        * dom/XMLTokenizer.cpp:
77742        (WebCore::createXHTMLParserErrorHeader):
77743
777442007-10-29  Dan Bernstein  <mitz@apple.com>
77745
77746        Reviewed by Dave Hyatt.
77747
77748        - fix crashing tests fast/frames/inline-object-inside-frameset.html and
77749          fast/forms/form-hides-table.html
77750
77751        * rendering/RenderBox.cpp:
77752        (WebCore::RenderBox::destroy):
77753        * rendering/RenderWidget.cpp:
77754        (WebCore::RenderWidget::destroy):
77755
777562007-10-29  Dan Bernstein  <mitz@apple.com>
77757
77758        Reviewed by Adam Roben.
77759
77760        - fix http://bugs.webkit.org/show_bug.cgi?id=15750
77761          REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
77762
77763        Test: fast/backgrounds/size/zero.html
77764
77765        * platform/graphics/cg/ImageCG.cpp:
77766        (WebCore::Image::drawPattern): Added an ASSERT and an early return
77767        to guard against singular pattern transforms.
77768        * rendering/RenderBox.cpp:
77769        (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
77770        size of 1x1.
77771
777722007-10-29  Alp Toker  <alp@atoker.com>
77773
77774        Reviewed by Maciej.
77775
77776        Add GTK+ convenience conversions for various primitives
77777
77778        * WebCore.pro:
77779        * platform/graphics/Color.h:
77780        * platform/graphics/IntPoint.h:
77781        * platform/graphics/IntRect.h:
77782        * platform/graphics/gtk/ColorGtk.cpp: Added.
77783        (WebCore::Color::Color):
77784        * platform/graphics/gtk/IntPointGtk.cpp: Added.
77785        (WebCore::IntPoint::IntPoint):
77786        (WebCore::IntPoint::operator GdkPoint):
77787        * platform/graphics/gtk/IntRectGtk.cpp: Added.
77788        (WebCore::IntRect::IntRect):
77789        (WebCore::IntRect::operator GdkRectangle):
77790
777912007-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
77792
77793        Reviewed by Anders.
77794
77795        Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
77796        http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
77797        Beta for Mac)
77798        
77799        I cannot reproduce this hang, but it is likely due to our not limiting
77800        WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
77801        unknown MIME type. The embed tag on the page is missing a type
77802        attribute, so as fallback, we choose to load the Flash plugin based on
77803        the file extension of "swf." However, we do not record this determined
77804        MIME type, and so our quirks cannot be established.
77805        
77806        Changed findPlugin() so that, if it fails to find a plugin for the
77807        given MIME type, it will lookup the MIME type for the file extension -
77808        overwriting its passed MIME type parameter - and search for a plugin
77809        for that MIME type.
77810
77811        * plugins/win/PluginDatabaseWin.cpp:
77812        (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
77813        if the MIME type is empty
77814        (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
77815        pluginForExtension. Returns a String with the MIME type for the file
77816        extension. Also, changed to use case-insensitive compares
77817        (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
77818        for the given extension, overwrite the incoming MIME type parameter
77819        with the MIME type for the file extension, and search for a plugin for
77820        that MIME type. Also, changed the way that the extension is determined
77821        (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
77822        to findPlugin() so that it can be updated if necessary
77823        * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
77824        const String, removed definition of pluginForExtension, added
77825        definition for MIMETypeForExtension
77826        * plugins/win/PluginPackageWin.cpp: 
77827        (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
77828        lowercase for easier compares
77829
778302007-10-29  Andrew Wellington  <proton@wiretapped.net>
77831
77832        Not reviewed - build fix
77833
77834        Fix Mac Build.
77835        
77836        WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
77837        in this function
77838
77839        * xml/XSLTProcessor.cpp:
77840        (WebCore::XSLTProcessor::parseErrorFunc):
77841
778422007-10-29  Alp Toker  <alp@atoker.com>
77843
77844        Reviewed by Adam Roben.
77845
77846        http://bugs.webkit.org/show_bug.cgi?id=15725
77847        [GTK] WebCore.pro header dependencies are incorrect
77848
77849        Fix header dependencies in the build system
77850
77851        INCLUDEPATH and DEPENDPATH are now up to date.
77852
77853        * WebCore.pro:
77854
778552007-10-29  Beth Dakin  <bdakin@apple.com>
77856
77857        Build fix.
77858
77859        * css/CSSParser.cpp:
77860        (WebCore::CSSParser::parseTimingFunctionValue):
77861        * css/CSSStyleSelector.cpp:
77862        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
77863
778642007-10-29  David Hyatt  <hyatt@apple.com>
77865
77866        Land the back end for CSS animated property transitions.  I am landing this in stages, so the AnimationController
77867        class is deliberately left empty.
77868
77869        Reviewed by darin/aroben
77870
77871        * WebCore.pro:
77872        * WebCore.vcproj/WebCore.vcproj:
77873        * WebCore.xcodeproj/project.pbxproj:
77874        * css/CSSComputedStyleDeclaration.cpp:
77875        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
77876        * css/CSSPropertyNames.in:
77877        * css/CSSTimingFunctionValue.cpp: Added.
77878        (WebCore::CSSTimingFunctionValue::cssText):
77879        * css/CSSTimingFunctionValue.h: Added.
77880        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
77881        (WebCore::CSSTimingFunctionValue::firstPoint):
77882        (WebCore::CSSTimingFunctionValue::secondPoint):
77883        * css/CSSValueKeywords.in:
77884        * history/CachedPage.cpp:
77885        (WebCore::CachedPage::restore):
77886        * page/AnimationController.cpp: Added.
77887        (WebCore::AnimationController::AnimationController):
77888        (WebCore::AnimationController::~AnimationController):
77889        (WebCore::AnimationController::cancelTransitions):
77890        (WebCore::AnimationController::updateTransitions):
77891        (WebCore::AnimationController::suspendAnimations):
77892        (WebCore::AnimationController::resumeAnimations):
77893        * page/AnimationController.h: Added.
77894        * page/Frame.cpp:
77895        (WebCore::Frame::animationController):
77896        (WebCore::Frame::clearTimers):
77897        * page/Frame.h:
77898        * page/FramePrivate.h:
77899        * rendering/RenderBox.cpp:
77900        (WebCore::RenderBox::setStyle):
77901        (WebCore::RenderBox::destroy):
77902        * rendering/RenderObject.cpp:
77903        (WebCore::RenderObject::animationController):
77904        * rendering/RenderObject.h:
77905        * rendering/RenderStyle.cpp:
77906        (WebCore::Transition::Transition):
77907        (WebCore::Transition::~Transition):
77908        (WebCore::Transition::operator=):
77909        (WebCore::Transition::operator==):
77910        (WebCore::Transition::fillUnsetProperties):
77911        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
77912        (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
77913        (WebCore::StyleRareNonInheritedData::operator==):
77914        (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
77915        (WebCore::RenderStyle::diff):
77916        (WebCore::RenderStyle::adjustTransitions):
77917        (WebCore::RenderStyle::accessTransitions):
77918        * rendering/RenderStyle.h:
77919        (WebCore::BackgroundLayer::next):
77920        (WebCore::TimingFunction::TimingFunction):
77921        (WebCore::TimingFunction::operator==):
77922        (WebCore::Transition::next):
77923        (WebCore::Transition::isTransitionDurationSet):
77924        (WebCore::Transition::isTransitionRepeatCountSet):
77925        (WebCore::Transition::isTransitionTimingFunctionSet):
77926        (WebCore::Transition::isTransitionPropertySet):
77927        (WebCore::Transition::isEmpty):
77928        (WebCore::Transition::clearTransitionDuration):
77929        (WebCore::Transition::clearTransitionRepeatCount):
77930        (WebCore::Transition::clearTransitionTimingFunction):
77931        (WebCore::Transition::clearTransitionProperty):
77932        (WebCore::Transition::transitionDuration):
77933        (WebCore::Transition::transitionRepeatCount):
77934        (WebCore::Transition::transitionTimingFunction):
77935        (WebCore::Transition::transitionProperty):
77936        (WebCore::Transition::setTransitionDuration):
77937        (WebCore::Transition::setTransitionRepeatCount):
77938        (WebCore::Transition::setTransitionTimingFunction):
77939        (WebCore::Transition::setTransitionProperty):
77940        (WebCore::Transition::setNext):
77941        (WebCore::Transition::operator!=):
77942        (WebCore::RenderStyle::transitions):
77943        (WebCore::RenderStyle::clearTransitions):
77944        (WebCore::RenderStyle::inheritTransitions):
77945        (WebCore::RenderStyle::initialTransitionDuration):
77946        (WebCore::RenderStyle::initialTransitionRepeatCount):
77947        (WebCore::RenderStyle::initialTransitionTimingFunction):
77948        (WebCore::RenderStyle::initialTransitionProperty):
77949        * rendering/RenderWidget.cpp:
77950        (WebCore::RenderWidget::destroy):
77951
779522007-10-29  Alexey Proskuryakov  <ap@webkit.org>
77953
77954        Reviewed by Darin.
77955
77956        http://bugs.webkit.org/show_bug.cgi?id=6040
77957        XSLT does not report errors to the user
77958
77959        Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
77960        Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
77961        output. Got rid of DeprecatedString in XSLTProcessor.
77962
77963        * dom/Document.cpp:
77964        (WebCore::Document::applyXSLTransform):
77965        * xml/XSLStyleSheet.cpp:
77966        (WebCore::XSLStyleSheet::parseString):
77967        * xml/XSLTProcessor.cpp:
77968        (WebCore::XSLTProcessor::parseErrorFunc):
77969        (WebCore::docLoaderFunc):
77970        (WebCore::setXSLTLoadCallBack):
77971        (WebCore::writeToString):
77972        (WebCore::saveResultToString):
77973        (WebCore::transformTextStringToXHTMLDocumentString):
77974        (WebCore::xsltParamArrayFromParameterMap):
77975        (WebCore::freeXsltParamArray):
77976        (WebCore::XSLTProcessor::createDocumentFromSource):
77977        (WebCore::createFragmentFromSource):
77978        (WebCore::xsltStylesheetPointer):
77979        (WebCore::xmlDocPtrFromNode):
77980        (WebCore::resultMIMEType):
77981        (WebCore::XSLTProcessor::transformToString):
77982        (WebCore::XSLTProcessor::transformToDocument):
77983        (WebCore::XSLTProcessor::transformToFragment):
77984        * xml/XSLTProcessor.h:
77985        (WebCore::XSLTProcessor::setXSLStylesheet):
77986        (WebCore::XSLTProcessor::importStylesheet):
77987        (WebCore::XSLTProcessor::xslStylesheet):
77988
779892007-10-29  Dan Bernstein  <mitz@apple.com>
77990
77991        Reviewed by John Sullivan.
77992
77993        - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
77994
77995        Test: fast/repaint/layout-state-only-positioned.html
77996
77997        * rendering/RenderBlock.cpp:
77998        (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
77999        before updating scroll info, which possibly repaints us.
78000
780012007-10-29  David Kilzer  <ddkilzer@webkit.org>
78002
78003        REGRESSION (r17701): Favicons should be viewable as image documents
78004        <http://bugs.webkit.org/show_bug.cgi?id=15640>
78005
78006        Reviewed by Darin.
78007
78008        On Tiger and Leopard, the image/x-icon MIME type is not returned from
78009        CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
78010        the icon to be downloaded instead being displayed in an image document.
78011
78012        Test: fast/images/favicon-as-image.html
78013
78014        * platform/MIMETypeRegistry.cpp:
78015        (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
78016        supportedImageMIMETypes and supportedImageResourceMIMETypes.  Also fixed
78017        comment about the image/bmp MIME type since it applies to both Tiger and
78018        Leopard.
78019
780202007-10-29  Maciej Stachowiak  <mjs@apple.com>
78021
78022        Reviewed by Mark.
78023
78024        - fixed assertion failures detected by the new assertions
78025
78026        * bindings/objc/DOMRGBColor.mm:
78027        (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
78028        because it's not a pointer and shouldn't be in the normal wrapper cache.
78029        * dom/Document.cpp:
78030        (WebCore::Document::addImageMap): Don't access hashmap if name is null.
78031        (WebCore::Document::removeImageMap): ditto
78032        * dom/StyledElement.cpp:
78033        (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
78034        when the class attribute is empty.
78035        * platform/TextCodecICU.cpp:
78036        (WebCore::gbkCallbackEscape): Don't look up 0 code points.
78037
780382007-10-28  Alexey Proskuryakov  <ap@webkit.org>
78039
78040        Reviewed by Darin.
78041
78042        http://bugs.webkit.org/show_bug.cgi?id=10734
78043        Made HTMLOptionElement.index read-only, matching IE and DOM standard.
78044
78045        Test: fast/dom/HTMLOptionElement/set-option-index-text.html
78046
78047        * html/HTMLOptionElement.idl: Marked index as readonly.
78048
78049        * html/HTMLOptionElement.cpp:
78050        * html/HTMLOptionElement.h:
78051        Removed setIndex().
78052
780532007-10-28  Eric Seidel  <eric@webkit.org>
78054
78055        Reviewed by darin.
78056
78057        Fix leaks on TOT and prevent Path code from logging to console so frequently
78058
78059        * platform/graphics/svg/SVGResourceFilter.h:
78060        (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
78061        (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
78062        * platform/graphics/svg/cg/CgSupport.cpp:
78063        (WebCore::strokeBoundingBox):
78064        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
78065        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
78066
780672007-10-28  Mark Rowe  <mrowe@apple.com>
78068
78069        Reviewed by Maciej.
78070
78071        Replace uses of isNaN and isInf with isnan and isinf.
78072
78073        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
78074        (WebCore::JSHTMLOptionsCollection::setLength):
78075
780762007-10-28  Maciej Stachowiak  <mjs@apple.com>
78077
78078        Reviewed by Mark.
78079
78080        - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
78081        http://bugs.webkit.org/show_bug.cgi?id=15731
78082
78083        * bindings/js/kjs_window.cpp:
78084        (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
78085        (KJS::Window::clearTimeout): ditto
78086        * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
78087
780882007-10-28  Kevin Ollivier  <kevino@theolliviers.com>
78089
78090        wx port defines for graphics and network layers.
78091
78092        Reviewed by Darin Adler.
78093
78094        * platform/graphics/AffineTransform.h:
78095        * platform/graphics/BitmapImage.h:
78096        * platform/graphics/Color.h:
78097        * platform/graphics/FloatRect.h:
78098        * platform/graphics/GraphicsContext.h:
78099        * platform/graphics/ImageSource.h:
78100        * platform/graphics/IntPoint.h:
78101        * platform/graphics/IntRect.h:
78102        * platform/graphics/Path.h:
78103        * platform/graphics/Pen.h:
78104        * platform/network/ResourceHandle.h:
78105
78106
781072007-10-28  Alp Toker  <alp@atoker.com>
78108
78109        Reviewed by Anders Carlsson.
78110
78111        http://bugs.webkit.org/show_bug.cgi?id=14124
78112        [CURL] Support data URLs
78113
78114        Add data URL support (both Base64 and percent-encoded formats).
78115
78116        Inspired by code from the Qt port.
78117
78118        * platform/Base64.cpp:
78119        (WebCore::base64Decode):
78120        * platform/Base64.h:
78121        * platform/network/curl/ResourceHandleManager.cpp:
78122        (WebCore::ResourceHandleManager::startScheduledJobs):
78123        (WebCore::parseDataUrl):
78124
781252007-10-28  Alp Toker  <alp@atoker.com>
78126
78127        Reviewed by Adam Roben.
78128
78129        http://bugs.webkit.org/show_bug.cgi?id=15701
78130        The curl http backend does not deal properly with redirects
78131
78132        Implement http redirect support.
78133
78134        * platform/network/curl/ResourceHandleManager.cpp:
78135        (WebCore::headerCallback):
78136
781372007-10-28  Kevin Ollivier  <kevino@theolliviers.com>
78138
78139        Define types and accessors needed for wx implementation
78140        of platform classes. Also, turn off DisallowCTypes.h because
78141        disallowed methods appear in wx headers.
78142
78143        Reviewed by Adam Roben.
78144
78145        * config.h:
78146        * platform/ContextMenuItem.h:
78147        * platform/Cursor.h:
78148        * platform/DeprecatedString.h:
78149        * platform/DragData.h:
78150        * platform/DragImage.h:
78151        * platform/FontData.h:
78152        (WebCore::FontData::getWxFont):
78153        * platform/GlyphBuffer.h:
78154        (WebCore::GlyphBuffer::glyphAt):
78155        (WebCore::GlyphBuffer::advanceAt):
78156        (WebCore::GlyphBuffer::add):
78157        * platform/PlatformKeyboardEvent.h:
78158        (WebCore::PlatformKeyboardEvent::isWxCharEvent):
78159        * platform/PlatformMenuDescription.h:
78160        * platform/PlatformMouseEvent.h:
78161        * platform/PlatformString.h:
78162        * platform/PlatformWheelEvent.h:
78163        * platform/ScrollView.h:
78164        * platform/Widget.h:
78165        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
78166        * platform/image-decoders/gif/GIFImageDecoder.cpp:
78167        * platform/image-decoders/gif/GIFImageReader.cpp:
78168        * platform/image-decoders/ico/ICOImageDecoder.cpp:
78169        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
78170        * platform/image-decoders/png/PNGImageDecoder.cpp:
78171        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
78172
781732007-10-28  Mark Rowe  <mrowe@apple.com>
78174
78175        We don't include "config.h" in headers.
78176
78177        * dom/XMLTokenizer.h:
78178        * platform/graphics/svg/SVGResourceFilter.h:
78179        * platform/image-decoders/ImageDecoder.h:
78180        * platform/wx/FontPlatformData.h:
78181
781822007-10-28  Darin Adler  <darin@apple.com>
78183
78184        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
78185        We don't include "config.h" in headers. Hope this desn't break
78186        the non-SVG build again.
78187
781882007-10-28  Eric Seidel  <eric@webkit.org>
78189
78190        Build fix for non-SVG build, no review.
78191
78192        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
78193        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
78194
781952007-10-28  Eric Seidel  <eric@webkit.org>
78196
78197        Reviewed by Oliver.
78198
78199        Push SVGResourceFilter platform specific data down into m_platformData
78200        in preparation for implementing a non-mac filter solution.
78201        
78202        Also update a very old email address in copyright headers
78203
78204        * WebCore.xcodeproj/project.pbxproj:
78205        * platform/graphics/FloatPoint3D.cpp:
78206        (WebCore::FloatPoint3D::FloatPoint3D):
78207        * platform/graphics/FloatPoint3D.h:
78208        * platform/graphics/svg/SVGResourceFilter.cpp:
78209        (WebCore::SVGResourceFilter::SVGResourceFilter):
78210        * platform/graphics/svg/SVGResourceFilter.h:
78211        (WebCore::SVGResourceFilter::platformData):
78212        (WebCore::SVGResourceFilter::effects):
78213        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
78214        (WebCore::SVGResourceFilter::createPlatformData):l
78215        (WebCore::SVGResourceFilter::prepareFilter):
78216        (WebCore::SVGResourceFilter::applyFilter):
78217        * platform/graphics/svg/filters/SVGDistantLightSource.h:
78218        * platform/graphics/svg/filters/SVGFEBlend.cpp:
78219        * platform/graphics/svg/filters/SVGFEBlend.h:
78220        * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
78221        * platform/graphics/svg/filters/SVGFEColorMatrix.h:
78222        * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
78223        * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
78224        * platform/graphics/svg/filters/SVGFEComposite.cpp:
78225        * platform/graphics/svg/filters/SVGFEComposite.h:
78226        * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
78227        * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
78228        * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
78229        * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
78230        * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
78231        * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
78232        * platform/graphics/svg/filters/SVGFEFlood.cpp:
78233        * platform/graphics/svg/filters/SVGFEFlood.h:
78234        * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
78235        * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
78236        * platform/graphics/svg/filters/SVGFEImage.cpp:
78237        * platform/graphics/svg/filters/SVGFEImage.h:
78238        * platform/graphics/svg/filters/SVGFEMerge.cpp:
78239        * platform/graphics/svg/filters/SVGFEMerge.h:
78240        * platform/graphics/svg/filters/SVGFEMorphology.cpp:
78241        * platform/graphics/svg/filters/SVGFEMorphology.h:
78242        * platform/graphics/svg/filters/SVGFEOffset.cpp:
78243        * platform/graphics/svg/filters/SVGFEOffset.h:
78244        * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
78245        * platform/graphics/svg/filters/SVGFESpecularLighting.h:
78246        * platform/graphics/svg/filters/SVGFETile.h:
78247        * platform/graphics/svg/filters/SVGFETurbulence.cpp:
78248        * platform/graphics/svg/filters/SVGFETurbulence.h:
78249        * platform/graphics/svg/filters/SVGFilterEffect.cpp:
78250        * platform/graphics/svg/filters/SVGFilterEffect.h:
78251        * platform/graphics/svg/filters/SVGLightSource.cpp:
78252        * platform/graphics/svg/filters/SVGLightSource.h:
78253        * platform/graphics/svg/filters/SVGPointLightSource.h:
78254        * platform/graphics/svg/filters/SVGSpotLightSource.h:
78255        * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
78256        (WebCore::SVGFEBlend::getCIFilter):
78257        * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
78258        (WebCore::SVGFEColorMatrix::getCIFilter):
78259        * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
78260        (WebCore::SVGFEComponentTransfer::getCIFilter):
78261        * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
78262        (WebCore::SVGFEComposite::getCIFilter):
78263        * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
78264        (WebCore::SVGFEDiffuseLighting::getCIFilter):
78265        * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
78266        (WebCore::SVGFEDisplacementMap::getCIFilter):
78267        * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
78268        (WebCore::SVGFEFlood::getCIFilter):
78269        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
78270        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
78271        (WebCore::SVGFEImage::getCIFilter):
78272        * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
78273        (WebCore::SVGFEMerge::getCIFilter):
78274        * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
78275        (WebCore::SVGFESpecularLighting::getCIFilter):
78276        * platform/graphics/svg/mac: Added.
78277        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
78278        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
78279        (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
78280        (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
78281        (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
78282        (WebCore::alphaImageForImage):
78283        (WebCore::SVGResourceFilterPlatformDataMac::imageForName):
78284        (WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
78285        (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
78286        (WebCore::SVGResourceFilterPlatformDataMac::inputImage):
78287
782882007-10-28  Alexey Proskuryakov  <ap@webkit.org>
78289
78290        Reviewed by Adam Roben.
78291
78292        http://bugs.webkit.org/show_bug.cgi?id=15217
78293        Plugin complains that xpcom_core.dll missing
78294
78295        * plugins/win/PluginDatabaseWin.cpp:
78296        (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
78297
782982007-10-28  Timothy Hatcher  <timothy@apple.com>
78299
78300        Reviewed by Adam.
78301
78302        Pass the Document's domain to InspectorController:didOpenDatabase. This matches
78303        what the Inspector shows for other resources.
78304
78305        * storage/Database.cpp:
78306        (WebCore::Database::openDatabase):
78307
78308        * dom/Document.h: Remove KURL.h, no longer needed.
78309
783102007-10-28  Timothy Hatcher  <timothy@apple.com>
78311
78312        Reviewed by Adam.
78313
78314        Bug 15728: Selected Resource background image gradient has banding
78315        http://bugs.webkit.org/show_bug.cgi?id=15728
78316
78317        - Reduced images to 1px wide that are tiled horizontally in CSS.
78318        - Corrected the -webkit-background-size usage to specify auto for the width.
78319
78320        * page/inspector/Images/attachedShadow.png:
78321        * page/inspector/Images/bottomShadow.png:
78322        * page/inspector/Images/darkShadow.png:
78323        * page/inspector/Images/gradient.png:
78324        * page/inspector/Images/gradientHighlight.png:
78325        * page/inspector/Images/gradientHighlightBottom.png:
78326        * page/inspector/Images/sidebarSelection.png:
78327        * page/inspector/Images/sidebarSelectionBlurred.png:
78328        * page/inspector/Images/sidebarSelectionBlurredTall.png:
78329        * page/inspector/Images/sidebarSelectionGray.png:
78330        * page/inspector/Images/sidebarSelectionGrayTall.png:
78331        * page/inspector/Images/sidebarSelectionTall.png:
78332        * page/inspector/inspector.css:
78333
783342007-10-27  Timothy Hatcher  <timothy@apple.com>
78335
78336        Reviewed by Adam.
78337
78338        Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
78339        http://bugs.webkit.org/show_bug.cgi?id=15727
78340
78341        Add one window resize listener and call the new resize function on the currentPanel.
78342        Also call the currentPanel's resize function when resizing the sidebar.
78343
78344        * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
78345          the panel is shown and when resizing the DOM sidebar.
78346        * page/inspector/FontPanel.js: Implement resize.
78347        * page/inspector/NetworkPanel.js: Ditto.
78348        * page/inspector/inspector.js: Add a window resize listener.
78349
783502007-10-27  Maciej Stachowiak  <mjs@apple.com>
78351
78352        Reviewed by Oliver.
78353        
78354        - update for HashTable changes
78355
78356        * bindings/js/JSSVGPODTypeWrapper.h:
78357        * dom/Document.h:
78358        * dom/QualifiedName.cpp:
78359        * dom/StyledElement.cpp:
78360        * ksvg2/svg/SVGAnimatedTemplate.h:
78361        * platform/FontCache.cpp:
78362        * platform/StringHash.h:
78363        (WTF::):
78364        * platform/TextEncodingRegistry.cpp:
78365        * platform/graphics/IntSizeHash.h:
78366        (WTF::):
78367        * plugins/win/PluginPackageWin.h:
78368
783692007-10-28  Alp Toker  <alp@atoker.com>
78370
78371        Reviewed by Adam Roben.
78372
78373        http://bugs.webkit.org/show_bug.cgi?id=15646
78374        [GTK] caretBlinkFrequency is hard-coded in Frame.cpp
78375
78376        Abstract caretBlinkFrequency to RenderTheme.
78377
78378        * page/Frame.cpp:
78379        (WebCore::Frame::selectionLayoutChanged):
78380        * platform/gtk/RenderThemeGtk.cpp:
78381        (WebCore::RenderThemeGtk::caretShouldBlink):
78382        (WebCore::RenderThemeGtk::caretBlinkFrequency):
78383        * platform/gtk/RenderThemeGtk.h:
78384        * rendering/RenderTheme.h:
78385
783862007-10-27  Timothy Hatcher  <timothy@apple.com>
78387
78388        Reviewed by Adam.
78389
78390        Don't print the line number in the Inspector Console if it is Zero.
78391
78392        * page/inspector/ConsolePanel.js:
78393
783942007-10-27  Sam Weinig  <sam@webkit.org>
78395
78396        Reviewed by Adam Roben.
78397
78398        Fix http://bugs.webkit.org/show_bug.cgi?id=14953
78399        Implement window.console in WebCore
78400
78401        - Adds a window.console object that has 4 methods (log, info, warn, and error)
78402          that send messages to the Chrome.  This moves functionality that was in the
78403          app down into WebCore.
78404
78405        * DerivedSources.make:
78406        * WebCore.pro:
78407        * WebCore.vcproj/WebCore.vcproj:
78408        * WebCore.xcodeproj/project.pbxproj:
78409        * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
78410        to mark attributes as [Replacable] which indicates they can 
78411        overridden when set.
78412        * page/Chrome.cpp:
78413        (WebCore::Chrome::addMessageToConsole): Allow all messages to go
78414        up to the ChromeClient.
78415        * page/Console.cpp: Added.
78416        (WebCore::Console::Console):
78417        (WebCore::Console::disconnectFrame):
78418        (WebCore::Console::error):
78419        (WebCore::Console::info):
78420        (WebCore::Console::log):
78421        (WebCore::Console::warn):
78422        * page/Console.h: Added.
78423        * page/Console.idl: Added.
78424        * page/DOMWindow.cpp:
78425        (WebCore::DOMWindow::clear):
78426        (WebCore::DOMWindow::console):
78427        * page/DOMWindow.h:
78428        * page/DOMWindow.idl:
78429
784302007-10-27  Eric Seidel  <eric@webkit.org>
78431
78432        Reviewed by aroben.
78433        
78434        Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
78435
78436        No functional changes, thus no tests.
78437
78438        * ksvg2/svg/SVGFEBlendElement.cpp:
78439        (WebCore::SVGFEBlendElement::filterEffect):
78440        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
78441        (WebCore::SVGFEColorMatrixElement::filterEffect):
78442        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
78443        (WebCore::SVGFEComponentTransferElement::filterEffect):
78444        * ksvg2/svg/SVGFECompositeElement.cpp:
78445        (WebCore::SVGFECompositeElement::filterEffect):
78446        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
78447        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
78448        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
78449        (WebCore::SVGFEDisplacementMapElement::filterEffect):
78450        * ksvg2/svg/SVGFEFloodElement.cpp:
78451        (WebCore::SVGFEFloodElement::filterEffect):
78452        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
78453        (WebCore::SVGFEGaussianBlurElement::filterEffect):
78454        * ksvg2/svg/SVGFEImageElement.cpp:
78455        (WebCore::SVGFEImageElement::filterEffect):
78456        * ksvg2/svg/SVGFEMergeElement.cpp:
78457        (WebCore::SVGFEMergeElement::filterEffect):
78458        * ksvg2/svg/SVGFEOffsetElement.cpp:
78459        (WebCore::SVGFEOffsetElement::filterEffect):
78460        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
78461        (WebCore::SVGFESpecularLightingElement::filterEffect):
78462        * ksvg2/svg/SVGFETileElement.cpp:
78463        (WebCore::SVGFETileElement::filterEffect):
78464        * ksvg2/svg/SVGFETurbulenceElement.cpp:
78465        (WebCore::SVGFETurbulenceElement::filterEffect):
78466        * platform/graphics/svg/SVGResourceFilter.h:
78467        * platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
78468        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
78469        * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
78470
784712007-10-27  Dan Bernstein  <mitz@apple.com>
78472
78473        Reviewed by Darin Adler.
78474
78475        - fix a crash when opening Zenoss server history view
78476          <rdar://problem/5530657>
78477
78478        Test: fast/table/colgroup-relative.html
78479
78480        * rendering/LayoutState.cpp:
78481        (WebCore::LayoutState::LayoutState): Added a hasLayer() check before
78482        accessing layer().
78483
784842007-10-27  Julien  <julien.chaffraix@gmail.com>
78485
78486        Reviewed by Alexey.
78487
78488        http://bugs.webkit.org/show_bug.cgi?id=13141
78489        XMLHttpRequest should set readyState to 0 after abort()
78490        
78491        Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
78492
78493        * xml/XMLHttpRequest.cpp:
78494        (WebCore::XMLHttpRequest::open):
78495        (WebCore::XMLHttpRequest::abort):
78496
784972007-10-27  Dan Bernstein  <mitz@apple.com>
78498
78499        Reviewed by Dave Hyatt.
78500
78501        - fix rotated border images by using a temporary subimage containing
78502          only the part we want to tile
78503
78504        Test: fast/borders/border-image-rotate-transform.html
78505
78506        * platform/graphics/cg/ImageCG.cpp:
78507        (WebCore::Image::drawPatternCallback):
78508        (WebCore::Image::drawPattern):
78509
785102007-10-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
78511
78512        Reviewed by Alp.
78513
78514        http://bugs.webkit.org/show_bug.cgi?id=15722
78515        [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
78516
78517        Refactor/enhance GTK RenderTheme
78518
78519        * platform/gtk/RenderThemeGtk.cpp:
78520        (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
78521        (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
78522        (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
78523        (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
78524        (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
78525        (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
78526        (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
78527        (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
78528        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
78529        (WebCore::RenderThemeGtk::getThemeData):
78530        * platform/gtk/RenderThemeGtk.h:
78531        (WebCore::RenderThemeGtk::supportsControlTints):
78532
785332007-10-27  Alexey Proskuryakov  <ap@webkit.org>
78534
78535        Reviewed by Darin.
78536
78537        http://bugs.webkit.org/show_bug.cgi?id=15555
78538        XMLHttpRequest does not support charset "x-user-defined", which can
78539        facilitate loading of binary data
78540
78541        Test: http/tests/xmlhttprequest/binary-x-user-defined.html
78542
78543        * WebCore.pro:
78544        * WebCore.vcproj/WebCore.vcproj:
78545        * WebCore.xcodeproj/project.pbxproj:
78546        * platform/TextCodecUserDefined.cpp: Added.
78547        (WebCore::TextCodecUserDefined::registerEncodingNames):
78548        (WebCore::newStreamingTextDecoderUserDefined):
78549        (WebCore::TextCodecUserDefined::registerCodecs):
78550        (WebCore::TextCodecUserDefined::decode):
78551        (WebCore::encodeComplexUserDefined):
78552        (WebCore::TextCodecUserDefined::encode):
78553        * platform/TextCodecUserDefined.h: Added.
78554        * platform/TextEncodingRegistry.cpp:
78555        (WebCore::buildBaseTextCodecMaps):
78556
785572007-10-27  Alexey Proskuryakov  <ap@webkit.org>
78558
78559        Reviewed by Darin.
78560
78561        http://bugs.webkit.org/show_bug.cgi?id=15467
78562        Setting innerHTML to blank string in application/xhtml+xml mode
78563        throws DOM Exception 7
78564
78565        Test: fast/dom/blank-innerHTML.xhtml
78566
78567        * dom/XMLTokenizer.cpp:
78568        (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
78569
785702007-10-26  Sam Weinig  <sam@webkit.org>
78571
78572        Enable dragging the left sidebar using the separator.
78573
78574        Reviewed by Anders (unless Mitz says otherwise).
78575
78576        * page/inspector/DocumentPanel.js:
78577        * page/inspector/inspector.css:
78578        * page/inspector/inspector.html:
78579        * page/inspector/inspector.js:
78580
785812007-10-26  Sam Weinig  <sam@webkit.org>
78582
78583        Fix an off by one error when resizing the Inspector find window.
78584
78585        Reviewed by Hyatt.
78586
78587        * page/inspector/inspector.js:
78588
785892007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
78590
78591        Reviewed by Adam.
78592
78593        Fix fallout from r26072, which leads to all plugin streams for local
78594        resources being cancelled
78595
78596        * loader/win/NetscapePlugInStreamLoaderWin.cpp:
78597        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
78598        is an HTTP response before checking the HTTP response code
78599
786002007-10-26  David Hyatt  <hyatt@apple.com>
78601
78602        Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
78603        when only translation changes.
78604
78605        Move the updating of the transform to in between the old repaint and the new repaint.
78606
78607        Reviewed by mitz
78608
78609        fast/repaint/transform-translate.html
78610
78611        * rendering/RenderLayer.cpp:
78612        (WebCore::RenderLayer::updateLayerPositions):
78613
786142007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
78615
78616        Reviewed by Darin.
78617
78618        <rdar://5557379> Crash in Silverlight when opening microsoft.com
78619
78620        The crash is within Silverlight, and the latest version of the plugin
78621        does not exhibit this crash, so just avoid loading this version of the
78622        plugin.
78623
78624        * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
78625        constants silverlightPluginMinRequiredVersionMSDWORD and
78626        silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from 
78627        the version info of Silverlight 1.0.20926.0, which is a version known
78628        not to exhibit this crash
78629        (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
78630        this plugin is blacklisted
78631        * plugins/win/PluginDatabaseWin.h:
78632        * plugins/win/PluginPackageWin.cpp:
78633        (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
78634        (WebCore::PluginPackageWin::getFileVersion):
78635        (WebCore::PluginPackageWin::storeFileVersion): Read version info for
78636        the plugin, and store the file version
78637        (WebCore::PluginPackageWin::fetchInfo): After determining the name,
78638        description, and file version, determine whether this plug-in is
78639        blacklisted. If so, return false so this plug-in isn't loaded
78640        * plugins/win/PluginPackageWin.h:
78641
786422007-10-26  Sam Weinig  <sam@webkit.org>
78643
78644        Reviewed by Adele Peterson.
78645
78646        Fix for <rdar://problem/5421754>
78647        m_frameName member variable in HTMLPlugInElement unnecessary
78648
78649        - Refactor the willRemove() method down into HTMLFrameOwnerElement now that
78650          we no longer need to use the m_frameName variable.
78651
78652        * html/HTMLFrameElementBase.cpp:
78653        * html/HTMLFrameElementBase.h:
78654        * html/HTMLFrameOwnerElement.cpp:
78655        (WebCore::HTMLFrameOwnerElement::willRemove):
78656        * html/HTMLFrameOwnerElement.h:
78657        * html/HTMLPlugInElement.cpp:
78658        * html/HTMLPlugInElement.h:
78659        * loader/FrameLoader.cpp:
78660        (WebCore::FrameLoader::requestObject):
78661
786622007-10-26  Adele Peterson  <adele@apple.com>
78663
78664        Export _wkDrawCapsLockIndicator.
78665
78666        * WebCore.base.exp:
78667
786682007-10-26  Adele Peterson  <adele@apple.com>
78669
78670        Reviewed by Oliver.
78671
78672        Adding WebKitSystemInterface support for the caps lock indicator
78673
78674        * platform/mac/WebCoreSystemInterface.h:
78675        * platform/mac/WebCoreSystemInterface.mm:
78676
786772007-10-26  Tristan O'Tierney  <tristan@apple.com>
78678
78679        Reviewed by Darin Adler.
78680
78681        <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
78682        The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
78683        but failed to account for bounds checking (instead replaced with bounds clipping).  This caused issues
78684        when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
78685        setting window bounds to NaN before an update occurs.
78686
78687        Test: fast/dom/Window/window-resize-nan.html
78688        
78689        * bindings/js/kjs_window.cpp:
78690        (KJS::adjustWindowRect):
78691        Added a new parameter, pendingChanges, which takes pending changes to the window
78692        rect, and if they are valid (not NaN) sets them on window.
78693        
78694        (KJS::WindowFunc::callAsFunction):
78695        Adjusted uses of adjustWindowRect to take new update parameter.
78696
786972007-10-26  Sam Weinig  <sam@webkit.org>
78698
78699        Reviewed by Tim Hatcher.
78700
78701        Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
78702        Cannot copy text of errors from Web Inspector from Console view
78703
78704        * page/inspector/inspector.css: add -webkit-user-select: text for console messages.
78705
787062007-10-26  Sam Weinig  <sam@webkit.org>
78707
78708        Reviewed by Tim Hatcher.
78709
78710        Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
78711        Web Inspector find window is not resizable
78712
78713        - Adds ability to resize the find window.
78714        - Fixes bug that messed up the find window when resizing the left sidebar. 
78715
78716        * page/inspector/inspector.css:
78717        * page/inspector/inspector.html:
78718        * page/inspector/inspector.js:
78719
787202007-10-26  Ada Chan  <adachan@apple.com>
78721
78722        Update m_current index after we've removed an item:
78723        - if item removed is before m_current, decrement m_current
78724        - if the current item is removed, make sure m_current is within bounds.
78725
78726        Reviewed by Darin.
78727
78728        * history/BackForwardList.cpp:
78729        (WebCore::BackForwardList::removeItem):
78730
787312007-10-26  Mark Rowe  <mrowe@apple.com>
78732
78733        Debug build fix.
78734
78735        * bindings/js/kjs_proxy.cpp:
78736        (WebCore::KJSProxy::~KJSProxy):
78737
787382007-10-26  Maciej Stachowiak  <mjs@apple.com>
78739
78740        No review, build fix.
78741
78742        * bindings/objc/WebScriptObject.mm:
78743        (+[WebScriptObject throwException:]):
78744        (-[WebScriptObject setException:]):
78745
787462007-10-26  Maciej Stachowiak  <mjs@apple.com>
78747
78748        Rubber Stamped by Mark.
78749
78750        - fix build
78751
78752        * bridge/mac/WebCoreScriptDebugger.mm:
78753        (-[WebCoreScriptCallFrame scopeChain]):
78754        (-[WebCoreScriptCallFrame functionName]):
78755        (-[WebCoreScriptCallFrame evaluateWebScript:]):
78756
787572007-10-26  Maciej Stachowiak  <mjs@apple.com>
78758
78759        Reviewed by Oliver.
78760
78761        - update for JavaScriptCore header changes
78762
78763        * bindings/objc/WebScriptObject.mm:
78764        * bridge/mac/WebCoreScriptDebugger.mm:
78765
787662007-10-26  Alp Toker  <alp@atoker.com>
78767
78768        Reviewed by Mark Rowe.
78769
78770        http://bugs.webkit.org/show_bug.cgi?id=15693
78771        [GTK] Paging does not work when widget is added to a GtkScrolledWindow
78772
78773        Eliminate MagicGtkScrollConstant in favour of the same calculations as
78774        GtkTextView for step and page increments. This also makes paging work,
78775        as the page increment was previously always 0.
78776
78777        * platform/gtk/ScrollViewGtk.cpp:
78778        (WebCore::ScrollView::updateScrollbars):
78779
787802007-10-25  Dan Bernstein  <mitz@apple.com>
78781
78782        Reviewed by Dave Hyatt and Sam Weinig.
78783
78784        Build fix
78785
78786        * platform/graphics/cg/ImageCG.cpp:
78787        (WebCore::Image::drawPattern):
78788
787892007-10-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
78790
78791        Reviewed by Alp.
78792
78793        http://bugs.webkit.org/show_bug.cgi?id=15656
78794        [GTK] Implement WebCore::Widget::isEnabled/setEnabled
78795
78796        * platform/gtk/WidgetGtk.cpp:
78797        (WebCore::Widget::isEnabled):
78798        (WebCore::Widget::setEnabled): Implemented.
78799
788002007-10-25  David Hyatt  <hyatt@apple.com>
78801
78802        Fix for bug 15672, background images don't tile properly inside transforms.  This patch fixes background
78803        tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.
78804
78805        Reviewed by aroben and mitz
78806
78807        * WebCore.base.exp:
78808        * platform/graphics/Image.cpp:
78809        (WebCore::Image::setData):
78810        * platform/graphics/cg/ImageCG.cpp:
78811        (WebCore::ImageInfo::ImageInfo):
78812        (WebCore::Image::drawPatternCallback):
78813        (WebCore::Image::drawPattern):
78814        * platform/graphics/mac/GraphicsContextMac.mm:
78815        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
78816        * platform/mac/WebCoreSystemInterface.h:
78817        * platform/mac/WebCoreSystemInterface.mm:
78818
788192007-10-25  Brady Eidson  <beidson@apple.com>
78820
78821        Blind build fix attempt
78822
78823        * WebCore.pro:
78824
788252007-10-25  Brady Eidson  <beidson@apple.com>
78826
78827        Reviewed by Anders and Sam
78828
78829        Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
78830        
78831        This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
78832        tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in 
78833        the HTML5 database API which we are adopting.
78834
78835        * WebCore.vcproj/WebCore.vcproj:
78836        * WebCore.xcodeproj/project.pbxproj:
78837        * loader/icon/IconDatabase.cpp:
78838        (WebCore::IconDatabase::iconDatabaseSyncThread):
78839        (WebCore::databaseVersionNumber):
78840        (WebCore::isValidDatabase):
78841        (WebCore::createDatabaseTables):
78842        (WebCore::IconDatabase::performOpenInitialization):
78843        (WebCore::IconDatabase::checkIntegrity):
78844        (WebCore::IconDatabase::performURLImport):
78845        (WebCore::IconDatabase::writeToDatabase):
78846        (WebCore::IconDatabase::pruneUnretainedIcons):
78847        (WebCore::IconDatabase::checkForDanglingPageURLs):
78848        (WebCore::IconDatabase::imported):
78849        (WebCore::IconDatabase::setImported):
78850        (WebCore::readySQLiteStatement):
78851        (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
78852        (WebCore::IconDatabase::removePageURLFromSQLDatabase):
78853        (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
78854        (WebCore::IconDatabase::addIconURLToSQLDatabase):
78855        (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
78856        (WebCore::IconDatabase::removeIconFromSQLDatabase):
78857        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
78858        * loader/icon/IconDatabase.h:
78859        * loader/icon/IconRecord.cpp:
78860        * platform/sql/SQLAuthorizer.cpp: Removed.
78861        * platform/sql/SQLAuthorizer.h: Removed.
78862        * platform/sql/SQLDatabase.cpp: Removed.
78863        * platform/sql/SQLDatabase.h: Removed.
78864        * platform/sql/SQLStatement.cpp: Removed.
78865        * platform/sql/SQLStatement.h: Removed.
78866        * platform/sql/SQLTransaction.cpp: Removed.
78867        * platform/sql/SQLTransaction.h: Removed.
78868        * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
78869        * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
78870        (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
78871        * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
78872        (WebCore::SQLiteDatabase::SQLiteDatabase):
78873        (WebCore::SQLiteDatabase::~SQLiteDatabase):
78874        (WebCore::SQLiteDatabase::open):
78875        (WebCore::SQLiteDatabase::close):
78876        (WebCore::SQLiteDatabase::setFullsync):
78877        (WebCore::SQLiteDatabase::setSynchronous):
78878        (WebCore::SQLiteDatabase::setBusyTimeout):
78879        (WebCore::SQLiteDatabase::setBusyHandler):
78880        (WebCore::SQLiteDatabase::executeCommand):
78881        (WebCore::SQLiteDatabase::returnsAtLeastOneResult):
78882        (WebCore::SQLiteDatabase::tableExists):
78883        (WebCore::SQLiteDatabase::clearAllTables):
78884        (WebCore::SQLiteDatabase::runVacuumCommand):
78885        (WebCore::SQLiteDatabase::lastInsertRowID):
78886        (WebCore::SQLiteDatabase::lastChanges):
78887        (WebCore::SQLiteDatabase::lastError):
78888        (WebCore::SQLiteDatabase::lastErrorMsg):
78889        (WebCore::SQLiteDatabase::authorizerFunction):
78890        (WebCore::SQLiteDatabase::setAuthorizer):
78891        (WebCore::SQLiteDatabase::lock):
78892        (WebCore::SQLiteDatabase::unlock):
78893        * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
78894        * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
78895        (WebCore::SQLiteStatement::SQLiteStatement):
78896        (WebCore::SQLiteStatement::~SQLiteStatement):
78897        (WebCore::SQLiteStatement::prepare):
78898        * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
78899        (WebCore::SQLiteStatement::database):
78900        * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
78901        (WebCore::SQLiteTransaction::SQLiteTransaction):
78902        (WebCore::SQLiteTransaction::~SQLiteTransaction):
78903        (WebCore::SQLiteTransaction::begin):
78904        (WebCore::SQLiteTransaction::commit):
78905        (WebCore::SQLiteTransaction::rollback):
78906        * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
78907        * storage/Database.cpp:
78908        (WebCore::retrieveTextResultFromDatabase):
78909        (WebCore::setTextValueInDatabase):
78910        (WebCore::Database::performExecuteSql):
78911        (WebCore::Database::performGetTableNames):
78912        (WebCore::Database::executeSql):
78913        * storage/Database.h:
78914        * storage/DatabaseAuthorizer.h:
78915        * storage/DatabaseTracker.cpp:
78916        (WebCore::DatabaseTracker::fullPathForDatabase):
78917        (WebCore::DatabaseTracker::populateOrigins):
78918        (WebCore::DatabaseTracker::databaseNamesForOrigin):
78919        (WebCore::DatabaseTracker::addDatabase):
78920        * storage/DatabaseTracker.h:
78921
789222007-10-25  Alexey Proskuryakov  <ap@webkit.org>
78923
78924        Reviewed by Darin.
78925
78926        http://bugs.webkit.org/show_bug.cgi?id=15650
78927        XML attribute nodes are not importable
78928
78929        Tests: fast/dom/import-attribute-node.html
78930               fast/dom/import-document-fragment.html
78931
78932        * dom/Document.cpp:
78933        (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
78934
789352007-10-25  Dan Bernstein  <mitz@apple.com>
78936
78937        Reviewed by Dave Hyatt.
78938
78939        - fix http://bugs.webkit.org/show_bug.cgi?id=15362
78940          <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget
78941
78942        Test: fast/dynamic/insert-before-table-part-in-continuation.html
78943
78944        * rendering/RenderFlow.cpp:
78945        (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
78946        parent is an anonymous table part, let the table figure out where to
78947        insert the new child.
78948
789492007-10-25  Alp Toker  <alp@atoker.com>
78950
78951        Reviewed by Brady.
78952
78953        http://bugs.webkit.org/show_bug.cgi?id=15686
78954        GtkLauncher aborts on launch due to uninitialized threading subsystem
78955
78956        Re-enable database support in the GTK+ port, with a fix.
78957
78958        * WebCore.pro:
78959
789602007-10-25  Jon Honeycutt  <jhoneycutt@apple.com>
78961
78962        Reviewed by Steve.
78963
78964        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
78965        java page
78966
78967        Previous patch erroneously compared a path and a
78968        path-including-filename. This corrects that. It also caches the result
78969        of safariPluginsPath() and uses shell API funcs for determining filename
78970        and parent directory from a full path.
78971
78972        * plugins/win/PluginDatabaseWin.cpp:
78973        (WebCore::safariPluginsPath): Cache return value. Use API functions to
78974        build the path
78975        (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
78976        parent directory, not full path
78977        (WebCore::PluginDatabaseWin::pluginForExtension): Same
78978        * plugins/win/PluginPackageWin.cpp:
78979        (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
78980        * plugins/win/PluginPackageWin.h:
78981        (WebCore::PluginPackageWin::parentDirectory):
78982        * plugins/win/PluginStreamWin.cpp:
78983        (WebCore::PluginStreamWin::didReceiveData):
78984
789852007-10-25  Alp Toker  <alp@atoker.com>
78986
78987        Unreviewed fix to make the GTK+ port run.
78988
78989        http://bugs.webkit.org/show_bug.cgi?id=15686
78990        GtkLauncher aborts on launch due to uninitialized threading subsystem
78991
78992        Disable database support until #15686 is fixed.
78993
78994        * WebCore.pro:
78995
789962007-10-25  Simon Hausmann  <hausmann@kde.org>
78997
78998        Reviewed by Lars.
78999
79000        Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.
79001
79002        * platform/qt/TextBreakIteratorQt.cpp:
79003        (WebCore::wordBreakIterator):
79004        (WebCore::characterBreakIterator):
79005        (WebCore::lineBreakIterator):
79006        (WebCore::sentenceBreakIterator):
79007
790082007-10-25  Holger Freyther  <zecke@selfish.org>
79009
79010        Reviewed by Simon Hausmann <hausmann@kde.org>.
79011
79012        * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
79013        * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
79014        * This is causing some regressions...
79015        
79016
79017        * dom/XMLTokenizer.cpp:
79018        (WebCore::XMLTokenizer::XMLTokenizer):
79019        (WebCore::XMLTokenizer::write):
79020        (WebCore::XMLTokenizer::end):
79021        * dom/XMLTokenizer.h:
79022
790232007-10-25  Holger Freyther  <zecke@selfish.org>
79024
79025        Reviewed by Simon Hausmann <hausmann@kde.org>.
79026
79027        * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
79028        * Use the error message from Qt. It might or might not be translated.
79029
79030        * platform/network/qt/ResourceHandleQt.cpp:
79031        (WebCore::WebCoreSynchronousLoader::didFail):
79032
790332007-10-25  Holger Freyther  <zecke@selfish.org>
79034
79035        Reviewed by Simon Hausmann <hausmann@kde.org>.
79036
79037        * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
79038        * This should be thread-safe besides QWebNetworkJob::{ref,deref}
79039        
79040
79041        * platform/network/qt/ResourceHandleQt.cpp:
79042        (WebCore::ResourceHandle::loadResourceSynchronously):
79043
790442007-10-25  Alp Toker  <alp@atoker.com>
79045
79046        Reviewed by Mark Rowe.
79047
79048        Add support for list box theme colors and styled menu list buttons.
79049
79050        Remove obsolete FIXMEs.
79051
79052        * platform/gtk/RenderThemeGtk.cpp:
79053        (WebCore::RenderThemeGtk::RenderThemeGtk):
79054        (WebCore::RenderThemeGtk::paintCheckbox):
79055        (WebCore::RenderThemeGtk::paintRadio):
79056        (WebCore::RenderThemeGtk::paintButton):
79057        (WebCore::RenderThemeGtk::adjustMenuListStyle):
79058        (WebCore::RenderThemeGtk::paintMenuList):
79059        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
79060        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
79061        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
79062        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
79063        (WebCore::RenderThemeGtk::gtkTreeView):
79064        * platform/gtk/RenderThemeGtk.h:
79065
790662007-10-25  Eric Seidel  <eric@webkit.org>
79067
79068        Reviewed by Geoff.
79069
79070        * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
79071
790722007-10-24  Eric Seidel  <eric@webkit.org>
79073
79074        Reviewed by Maciej.
79075        
79076        Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
79077        http://bugs.webkit.org/show_bug.cgi?id=15681
79078
79079        No test cases necessary, no functional changes.
79080
79081        * WebCore.xcodeproj/project.pbxproj:
79082        * bindings/js/kjs_binding.cpp:
79083        (KJS::ScriptInterpreter::ScriptInterpreter):
79084        * bindings/js/kjs_binding.h:
79085        * bindings/js/kjs_proxy.cpp:
79086        (WebCore::KJSProxy::initScriptIfNeeded):
79087        * bindings/js/kjs_window.cpp:
79088        (KJS::Window::Window):
79089        * bindings/js/kjs_window.h:
79090        * bindings/objc/WebScriptObject.mm:
79091        (_didExecute):
79092        * bridge/mac/WebCoreScriptDebugger.mm:
79093
790942007-10-24  Adam Roben  <aroben@apple.com>
79095
79096        Add font database initialization code to WebCore
79097
79098        Reviewed by Ada.
79099
79100        * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
79101        * platform/win/FontDatabase.cpp: Added.
79102        (WebCore::systemFontsDirectory):
79103        (WebCore::fontsPlistPath):
79104        (WebCore::systemHasFontsNewerThanFontsPlist):
79105        (WebCore::readFontPlist):
79106        (WebCore::populateFontDatabaseFromPlist):
79107        (WebCore::populateFontDatabaseFromFileSystem):
79108        (WebCore::writeFontDatabaseToPlist):
79109        (WebCore::populateFontDatabase): This is the only function callable
79110        from outside this file. It populates the font database once, either
79111        from the fonts plist, or from the filesystem (and then saves a new
79112        fonts plist).
79113        * platform/win/FontDatabase.h: Added.
79114
791152007-10-24  Justin Garcia  <justin.garcia@apple.com>
79116
79117        Reviewed by Darin Adler.
79118
79119        Correcting the fix for:
79120        <rdar://problem/5544856> 
79121        REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
79122        
79123        Made removal of the previous composition part of the current Undo step in the 
79124        case where the new composition is the empty string, too.
79125
79126        * editing/Editor.cpp:
79127        (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
79128        which either has the currently open typing command delete the current selection, or
79129        opens a new typing command (of type DeleteSelection) if one is not already open.
79130        (WebCore::Editor::setComposition): Ditto.
79131        * editing/TypingCommand.cpp:
79132        (WebCore::TypingCommand::deleteSelection): Added.
79133        (WebCore::TypingCommand::doApply): Handle DeleteSelection.
79134        (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
79135        is called.
79136        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
79137        (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
79138        * editing/TypingCommand.h:
79139
791402007-10-24  Sam Weinig  <sam@webkit.org>
79141
79142        Build fix.
79143
79144        * WebCore.vcproj/WebCore.vcproj:
79145
791462007-10-24  Alice Liu  <alice.liu@apple.com>
79147
79148        Reviewed by Oliver.
79149
79150        Fix <rdar://5410959>  editing/selection/drag-to-contenteditable-iframe.html fails on Windows
79151        
79152        * page/win/EventHandlerWin.cpp:
79153        (WebCore::EventHandler::passMouseMoveEventToSubframe):
79154        Some mouse move events are actually drags, which on mac return early from this function.
79155        Adding the same logic to its Windows equivalent.  
79156
791572007-10-24  Brady Eidson  <beidson@apple.com>
79158
79159        Reviewed by Anders
79160
79161        <rdar://5554130> DatabaseTracker.o has a global initializer
79162
79163        Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
79164        Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases 
79165        path is set.
79166        
79167        * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
79168        
79169        * storage/Database.cpp:
79170        (WebCore::Database::~Database): Remove bogus assertion
79171        
79172        * storage/DatabaseTracker.cpp:
79173        (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now!  Move this code to openTrackerDatabase
79174        (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
79175        (WebCore::DatabaseTracker::databasePath):
79176        (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
79177        (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
79178        * storage/DatabaseTracker.h:
79179
791802007-10-24  David Hyatt  <hyatt@apple.com>
79181
79182        Don't try to gap fill transformed selections.  Fix the invalidation of selection to use the clip to visible content
79183        code path so that it works with multi-column layouts and transforms.
79184
79185        Reviewed by aroben
79186
79187        * rendering/RenderBlock.cpp:
79188        (WebCore::RenderBlock::isSelectionRoot):
79189        (WebCore::RenderBlock::fillSelectionGaps):
79190        * rendering/RenderView.cpp:
79191        (WebCore::RenderView::setSelection):
79192
791932007-10-24  Eric Seidel  <eric@webkit.org>
79194
79195        No review, I want to tickle the CIA bot to test changes,
79196        and took this as an opportunity to clean up some old change logs.
79197
79198        * ChangeLog-2005-08-23: update email address
79199        * ChangeLog-2006-12-31: fix spelling mistakes
79200
792012007-10-24  Dan Bernstein  <mitz@apple.com>
79202
79203        Reviewed by Oliver Hunt.
79204
79205        - add "(anonymous)" to the renderName of anonymous table cells, rows and sections
79206
79207        * rendering/RenderTableCell.h:
79208        (WebCore::RenderTableCell::renderName):
79209        * rendering/RenderTableRow.h:
79210        (WebCore::RenderTableRow::renderName):
79211        * rendering/RenderTableSection.h:
79212        (WebCore::RenderTableSection::renderName):
79213
792142007-10-24  Timothy Hatcher  <timothy@apple.com>
79215
79216        Reviewed by Adam.
79217
79218        Bug 15476: DOM tree fully expands some elements when arrowing up
79219        http://bugs.webkit.org/show_bug.cgi?id=15476
79220
79221        Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
79222        is used only for the sidebar and search results.
79223
79224        * page/inspector/inspector.js: Opt-in for the sidebar and search results.
79225        * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
79226          this option to traverseNextTreeElement and traversePreviousTreeElement.
79227
792282007-10-24  Anders Carlsson  <andersca@apple.com>
79229
79230        Reviewed by Geoff and Mitz.
79231
79232        <rdar://problem/5493833>
79233        REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)
79234
79235        * bindings/js/kjs_binding.cpp:
79236        (KJS::ScriptInterpreter::markDOMNodesForDocument):
79237        If an image element that is currently loading an image is not in the document,
79238        it should still be marked.
79239        
79240        * bindings/js/kjs_html.cpp:
79241        (WebCore::ImageConstructorImp::construct):
79242        Force the document wrapper to be created.
79243        
79244        * html/HTMLImageElement.h:
79245        (WebCore::HTMLImageElement::haveFiredLoadEvent):
79246        New method which calls down to the image loader.
79247        
79248        * html/HTMLImageLoader.cpp:
79249        (WebCore::HTMLImageLoader::HTMLImageLoader):
79250        (WebCore::HTMLImageLoader::~HTMLImageLoader):
79251        (WebCore::HTMLImageLoader::setLoadingImage):
79252        (WebCore::HTMLImageLoader::dispatchLoadEvent):
79253        Remove code that's not needed anymore.
79254        
79255        * html/HTMLImageLoader.h:
79256        (WebCore::HTMLImageLoader::haveFiredLoadEvent):
79257        Make this public.
79258
792592007-10-23  Adam Roben  <aroben@apple.com>
79260
79261        Move Windows safe file creation code into WebCore from WebPreferences
79262
79263        Reviewed by Brady.
79264
79265        * platform/FileSystem.h:
79266        * platform/win/FileSystemWin.cpp:
79267        (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.
79268
792692007-10-23  Adam Roben  <aroben@apple.com>
79270
79271        Add methods to FileSystemWin to get some user profile directories
79272
79273        These directories are used to hold things like preferences, caches,
79274        etc.
79275
79276        Reviewed by Brady.
79277
79278        * platform/FileSystem.h: Added new method declarations for Windows
79279        only.
79280        * platform/win/FileSystemWin.cpp:
79281        (WebCore::bundleName): Added.
79282        (WebCore::storageDirectory): Added.
79283        (WebCore::cachedStorageDirectory): Added.
79284        (WebCore::localUserSpecificStorageDirectory): Added. Returns the
79285        directory where WebKit should store any user-specific data that should
79286        stay local to the current machine (i.e., shouldn't be stored in a
79287        roaming profile).
79288        (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
79289        directory where WebKit should store any user-specific data that should
79290        move with the user from machine to machine (i.e., should be stored in
79291        a roaming profile).
79292
792932007-10-24  Alp Toker  <alp@atoker.com>
79294
79295        Reviewed by Mark Rowe.
79296
79297        http://bugs.webkit.org/show_bug.cgi?id=15659
79298        InlineTextBox does not setStrokeStyle() as needed
79299
79300        GraphicsContextCairo workaround to support a GraphicsContextCG quirk:
79301
79302        Save and restore the StrokeStyle manually.
79303
79304        * platform/graphics/cairo/GraphicsContextCairo.cpp:
79305        (WebCore::GraphicsContext::drawLineForText):
79306
793072007-10-24  Julien Chaffraix  <julien.chaffraix@gmail.com>
79308
79309        Reviewed by Darin.
79310
79311        Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
79312        Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions
79313
79314        - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
79315
79316        - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
79317
79318        - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour
79319
79320        Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
79321               http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
79322               http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html
79323
79324        * bindings/js/JSXMLHttpRequest.cpp:
79325        (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
79326        * xml/XMLHttpRequest.cpp:
79327        (WebCore::XMLHttpRequest::getAllResponseHeaders):
79328        (WebCore::XMLHttpRequest::getResponseHeader):
79329        (WebCore::XMLHttpRequest::responseMIMEType):
79330        * xml/XMLHttpRequest.h:
79331
793322007-10-24  Lars Knoll  <lars@trolltech.com>
79333
79334        Reviewed by Simon.
79335
79336        implement most of DragData.
79337
79338        * platform/qt/DragDataQt.cpp:
79339        (WebCore::DragData::containsColor):
79340        (WebCore::DragData::containsFiles):
79341        (WebCore::DragData::asFilenames):
79342        (WebCore::DragData::containsPlainText):
79343        (WebCore::DragData::asPlainText):
79344        (WebCore::DragData::asColor):
79345        (WebCore::DragData::containsCompatibleContent):
79346        (WebCore::DragData::containsURL):
79347
793482007-10-24  Lars Knoll  <lars@trolltech.com>
79349
79350        Reviewed by Simon.
79351
79352        remove a stupid notImplemented() warning and implement PasteBoad::clear().
79353
79354        * platform/qt/PasteboardQt.cpp:
79355
793562007-10-24  Lars Knoll  <lars@trolltech.com>
79357
79358        Reviewed by Simon.
79359
79360        implement Pasteboard::documentFragment(), and fix a mem leak.
79361
79362        * platform/qt/PasteboardQt.cpp:
79363        (WebCore::Pasteboard::generalPasteboard):
79364        (WebCore::Pasteboard::documentFragment):
79365
793662007-10-24  Lars Knoll  <lars@trolltech.com>
79367
79368        Reviewed by Simon.
79369
79370        Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
79371
79372        * platform/PlatformKeyboardEvent.h:
79373        * platform/qt/PlatformKeyboardEventQt.cpp:
79374        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
79375
793762007-10-24  Lars Knoll  <lars@trolltech.com>
79377
79378        Reviewed by Simon.
79379
79380        use the new QTextBoundaryFinder class in Qt.
79381
79382        * platform/qt/TextBoundaries.cpp:
79383        (WebCore::findNextWordFromIndex):
79384        (WebCore::findWordBoundary):
79385        * platform/qt/TextBreakIteratorQt.cpp:
79386        (WebCore::wordBreakIterator):
79387        (WebCore::characterBreakIterator):
79388        (WebCore::lineBreakIterator):
79389        (WebCore::sentenceBreakIterator):
79390        (WebCore::textBreakFirst):
79391        (WebCore::textBreakNext):
79392        (WebCore::textBreakPreceding):
79393        (WebCore::textBreakFollowing):
79394        (WebCore::textBreakCurrent):
79395        (WebCore::isTextBreak):
79396
793972007-10-24  Darin Adler  <darin@apple.com>
79398
79399        Reviewed by Maciej.
79400
79401        - http://bugs.webkit.org/show_bug.cgi?id=15657
79402          change static hash tables to use powers of two for speed
79403
79404        * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
79405
794062007-10-24  Simon Hausmann  <hausmann@kde.org>
79407
79408        Reviewed by Lars.
79409
79410        Make the implementation of pathByAppendingComponent use QDir.
79411
79412        * platform/qt/FileSystemQt.cpp:
79413
794142007-10-24  David Hyatt  <hyatt@apple.com>
79415
79416        Make repainting work with transforms.
79417
79418        Reviewed by John Sullivan
79419
79420        * rendering/RenderBox.cpp:
79421        (WebCore::RenderBox::computeAbsoluteRepaintRect):
79422
794232007-10-23  Alp Toker  <alp@atoker.com>
79424
79425        Reviewed by Maciej.
79426
79427        http://bugs.webkit.org/show_bug.cgi?id=14412
79428        [GDK] Clipboard support
79429
79430        Initial clipboard implementation for the GTK+ port.
79431
79432        * platform/gtk/ClipboardGtk.cpp:
79433        (WebCore::Editor::newGeneralClipboard):
79434        * platform/gtk/PasteboardGtk.cpp:
79435        (WebCore::Pasteboard::generalPasteboard):
79436        (WebCore::Pasteboard::Pasteboard):
79437        (WebCore::Pasteboard::~Pasteboard):
79438        (WebCore::Pasteboard::writeSelection):
79439        (WebCore::Pasteboard::writeImage):
79440        (WebCore::Pasteboard::clear):
79441        (WebCore::Pasteboard::plainText):
79442        * platform/gtk/TemporaryLinkStubs.cpp:
79443
794442007-10-23  Timothy Hatcher  <timothy@apple.com>
79445
79446        Reviewed by Adam.
79447
79448        Fixes the Network panel so that it refreshes as needed.
79449
79450        * page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
79451        * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
79452
794532007-10-23  Justin Garcia  <justin.garcia@apple.com>
79454
79455        Reviewed by Oliver Hunt.
79456
79457        <rdar://problem/5544856> 
79458        REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
79459        
79460        No layout test for now because I'm having trouble getting Undo during a layout
79461        test to only undo the last Undo step, and I want to write a test that fails
79462        without the code change.
79463
79464        * editing/Editor.cpp:
79465        (WebCore::Editor::confirmComposition): When we replace the previous composition,
79466        delete it with a sub-command of the command used to insert the new composition,
79467        instead of with a separate command.  No new code was added because insertText
79468        already deletes the current selection.
79469        (WebCore::Editor::setComposition): Ditto.
79470
794712007-10-23  Adam Roben  <aroben@apple.com>
79472
79473        Fix the behavior of pathByAppendingComponent when path is empty
79474
79475        We now use the Windows Shell API function PathAppendW instead of
79476        rolling our own broken implementation.
79477
79478        Reviewed by Anders.
79479
79480        * platform/win/FileSystemWin.cpp:
79481        (WebCore::pathByAppendingComponent):
79482
794832007-10-23  Adele Peterson  <adele@apple.com>
79484
79485        Reviewed by Darin.
79486
79487        Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872
79488
79489        Test: fast/forms/textfield-onchange-deletion.html
79490
79491        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
79492          Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
79493
794942007-10-23  Timothy Hatcher  <timothy@apple.com>
79495
79496        Reviewed by Sam Weinig.
79497
79498        - Made seperate files for the various classes in ResourcePanel.js.
79499        - Broke up ResourcePanel.js and created seperate panel classes for different resource types.
79500        - Moved View code down to the Panel base-class.
79501        - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
79502
79503        * page/inspector/DatabasePanel.js:
79504        * page/inspector/DocumentPanel.js: Added.
79505        * page/inspector/FontPanel.js: Added.
79506        * page/inspector/ImagePanel.js: Added.
79507        * page/inspector/Panel.js: Added.
79508        * page/inspector/PropertiesSection.js: Added.
79509        * page/inspector/Resource.js:
79510        * page/inspector/ResourcePanel.js:
79511        * page/inspector/SidebarPane.js: Added.
79512        * page/inspector/SourcePanel.js: Added.
79513        * page/inspector/inspector.css:
79514        * page/inspector/inspector.html:
79515        * page/inspector/inspector.js:
79516
795172007-10-23  Anders Carlsson  <andersca@apple.com>
79518
79519        Correct the version #if check.
79520        
79521        * platform/sql/SQLDatabase.cpp:
79522        (WebCore::SQLDatabase::authorizerFunction):
79523
795242007-10-23  Jon Honeycutt  <jhoneycutt@apple.com>
79525
79526        Reviewed by Anders.
79527
79528        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
79529        java page
79530
79531        It is possible to load Mozilla's Java plugin instead of our own, which
79532        can lead to a crash. The fix is to prefer plugins in our own Plugins
79533        directory when searching for a plugin.
79534
79535        * plugins/win/PluginDatabaseWin.cpp:
79536        (WebCore::safariPluginsPath): Return the path to our own Plugins
79537        directory
79538        (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
79539        safariPluginsPath()
79540        (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
79541        our Plugins path, return this plugin. Otherwise, continue scanning the
79542        list of plugins
79543        (WebCore::PluginDatabaseWin::pluginForExtension): Same
79544        * plugins/win/PluginPackageWin.h:
79545        (WebCore::PluginPackageWin::path): Return this plugin's path
79546
795472007-10-23  Jasper Bryant-Greene  <m@ni.ac.nz>
79548
79549        Reviewed by Darin.
79550
79551        http://bugs.webkit.org/show_bug.cgi?id=15058
79552        Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly
79553
79554        Corrected precendence fault which was causing Shift, Alt, Control and
79555        Meta to behave incorrectly on GTK.
79556
79557        Coding style fix by Alp.
79558
79559        * platform/gtk/KeyEventGtk.cpp:
79560        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
79561
795622007-10-23  Sam Weinig  <sam@webkit.org>
79563
79564        Reviewed by Tim Hatcher.
79565
79566        Add resizing of the DOM view right sidebar.  This allows us to actually see the values now.
79567
79568        * page/inspector/ResourcePanel.js:
79569        * page/inspector/inspector.css:
79570        * page/inspector/inspector.js:
79571        * page/inspector/utilities.js:
79572
795732007-10-23  David Hyatt  <hyatt@apple.com>
79574
79575        Get basic hit testing right for transforms.
79576
79577        Reviewed by ollliej
79578
79579        * platform/graphics/AffineTransform.cpp:
79580        (WebCore::AffineTransform::mapPoint):
79581        * platform/graphics/AffineTransform.h:
79582        * rendering/InlineBox.cpp:
79583        (WebCore::InlineBox::nodeAtPoint):
79584        * rendering/RenderBlock.cpp:
79585        (WebCore::RenderBlock::nodeAtPoint):
79586        * rendering/RenderLayer.cpp:
79587        (WebCore::RenderLayer::paintLayer):
79588        (WebCore::RenderLayer::hitTest):
79589        (WebCore::RenderLayer::hitTestLayer):
79590        * rendering/RenderLayer.h:
79591        * rendering/RenderObject.cpp:
79592        (WebCore::RenderObject::hitTest):
79593        * rendering/RenderObject.h:
79594
795952007-10-23  Eric Seidel  <eric@webkit.org>
79596
79597        Reviewed by Mark Rowe.
79598
79599        Fix leaks seen on TOT from new font-face code.
79600
79601        * ksvg2/svg/SVGFontFaceElement.cpp:
79602        (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
79603
796042007-10-23  Eric Seidel  <eric@webkit.org>
79605
79606        Build fix only, no review.
79607
79608        Sacrifice three virgin hours upon the altar of the heathen XCode gods
79609        and pray that our build troubles are finally over. :(
79610
79611        * DerivedSources.make: add DOMSVGException.h
79612        * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why?  Who knows.
79613
796142007-10-22  Steve Falkenburg  <sfalken@apple.com>
79615
79616        Fix build.
79617
79618        * plugins/win/PluginViewWin.cpp:
79619
796202007-10-22  Eric Seidel  <eric@webkit.org>
79621
79622        Build fix only, no review.
79623
79624        * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
79625
796262007-10-22  Eric Seidel  <eric@webkit.org>
79627
79628        Build fix only, no review.
79629
79630        * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
79631
796322007-10-22  Eric Seidel  <eric@webkit.org>
79633
79634        Reviewed by Maciej.
79635
79636        Fix build by properly exposing SVG font-face dom bindings.
79637
79638        * DerivedSources.make:
79639        * WebCore.vcproj/WebCore.vcproj: add font-face files to build
79640        * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
79641        * bindings/js/JSSVGElementWrapperFactory.cpp:
79642        * bindings/objc/DOM.mm:
79643        (WebCore::createElementClassMap):
79644        * bindings/objc/DOMSVG.h:
79645        * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
79646
796472007-10-22  Mark Rowe  <mrowe@apple.com>
79648
79649        Gtk build fix.
79650
79651        * WebCore.pro:
79652
796532007-10-22  Darin Adler  <darin@apple.com>
79654
79655        - a first cut at fixing the Qt and GTK builds
79656
79657        * WebCore.pro: Add new .idl and .cpp files.
79658        * DerivedSources.make: Re-sorted.
79659
796602007-10-22  Eric Seidel  <eric@webkit.org>
79661
79662        Reviewed by hyatt.
79663
79664        Implement <font-face> and friends for SVG.
79665        http://bugs.webkit.org/show_bug.cgi?id=10652
79666
79667        * DerivedSources.make:
79668        * WebCore.xcodeproj/project.pbxproj:
79669        * bindings/js/JSSVGElementWrapperFactory.cpp:
79670        * dom/Document.cpp:
79671        (WebCore::Document::mappedElementSheet):
79672        (WebCore::Document::recalcStyleSelector):
79673        * dom/Document.h:
79674        * ksvg2/scripts/make_names.pl:
79675        * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
79676        (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
79677        (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
79678        (WebCore::SVGDefinitionSrcElement::childrenChanged):
79679        * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
79680        * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
79681        * ksvg2/svg/SVGFontFaceElement.cpp: Added.
79682        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
79683        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
79684        (WebCore::cssPropertyIdForName):
79685        (WebCore::mapAttributeToCSSProperty):
79686        (WebCore::cssPropertyIdForSVGAttributeName):
79687        (WebCore::SVGFontFaceElement::parseMappedAttribute):
79688        (WebCore::SVGFontFaceElement::rebuildFontFace):
79689        (WebCore::SVGFontFaceElement::childrenChanged):
79690        * ksvg2/svg/SVGFontFaceElement.h: Added.
79691        * ksvg2/svg/SVGFontFaceElement.idl: Added.
79692        * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
79693        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
79694        (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
79695        (WebCore::SVGFontFaceFormatElement::childrenChanged):
79696        * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
79697        * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
79698        * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
79699        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
79700        (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
79701        (WebCore::SVGFontFaceNameElement::srcValue):
79702        * ksvg2/svg/SVGFontFaceNameElement.h: Added.
79703        * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
79704        * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
79705        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
79706        (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
79707        (WebCore::SVGFontFaceSrcElement::srcValue):
79708        (WebCore::SVGFontFaceSrcElement::childrenChanged):
79709        * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
79710        * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
79711        * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
79712        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
79713        (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
79714        (WebCore::SVGFontFaceUriElement::srcValue):
79715        (WebCore::SVGFontFaceUriElement::childrenChanged):
79716        * ksvg2/svg/SVGFontFaceUriElement.h: Added.
79717        * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
79718        * ksvg2/svg/svgtags.in:
79719
797202007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>
79721
79722        Reviewed by Anders.
79723
79724        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
79725        java page
79726
79727        We purposefully do not destroy our Java VM when its reference count
79728        reaches 0, but we were unloading our JavaPlugin.dll when its reference
79729        count reached 0, which lost the reference to the VM. This led to our
79730        process trying to create a new VM the next time a page using Java was
79731        loaded, and the JNI spec states that a single process is not allowed to
79732        create more than one VM. The fix is to avoid unloading the Java plugin
79733        via our PluginQuirkDontUnloadPlugin. 
79734
79735        * plugins/win/PluginViewWin.cpp:
79736        (WebCore::PluginViewWin::determineQuirks):
79737
797382007-10-22  David Hyatt  <hyatt@apple.com>
79739
79740        Fix for bug 15624, make transforms work properly with opacity.
79741
79742        Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
79743
79744        Reviewed by Mitz Pettel
79745
79746        fast/transforms/transforms-with-opacity.html
79747        fast/transforms/skew-with-unitless-zero.html
79748
79749        * css/CSSParser.cpp:
79750        (WebCore::CSSParser::validUnit):
79751        * rendering/RenderLayer.cpp:
79752        (WebCore::transparencyClipBox):
79753        (WebCore::RenderLayer::beginTransparencyLayers):
79754        (WebCore::RenderLayer::paintLayer):
79755        (WebCore::RenderLayer::calculateClipRects):
79756        * rendering/RenderLayer.h:
79757        (WebCore::RenderLayer::transform):
79758
797592007-10-22  Adam Roben  <aroben@apple.com>
79760
79761        Windows build fix
79762
79763        * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
79764        * page/Page.cpp: Touched to force the header files to be copied.
79765
797662007-10-22  Nikolas Zimmermann  <zimmermann@kde.org>
79767
79768        Reviewed by Simon.
79769
79770        Move textPath related SVGChar data in it's own structure SVGCharOnPath.
79771        Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
79772
79773        Saves space for the common case. And allows me to add more data (another float) to support
79774        glyph-orientation-* on textPath later on...
79775
79776        * rendering/SVGCharacterLayoutInfo.cpp:
79777        (WebCore::SVGChar::characterTransform):
79778        * rendering/SVGCharacterLayoutInfo.h:
79779        * rendering/SVGRootInlineBox.cpp:
79780        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
79781        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
79782
797832007-10-22  Alp Toker  <alp@atoker.com>
79784
79785        Reviewed by Nikolas Zimmermann.
79786
79787        Implement more GraphicsContextCairo stubs.
79788
79789        Remove a hack "to work around no current point bug" that was breaking
79790        canvas tests.
79791
79792        Fix warnings.
79793
79794        * platform/graphics/cairo/CairoPath.h:
79795        (WebCore::CairoPath::CairoPath):
79796        * platform/graphics/cairo/GraphicsContextCairo.cpp:
79797        (WebCore::GraphicsContext::addInnerRoundedRectClip):
79798        (WebCore::GraphicsContext::strokeRect):
79799        * platform/graphics/cairo/PathCairo.cpp:
79800        (WebCore::Path::isEmpty):
79801        * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
79802        (WebCore::SVGPaintServerGradient::setup):
79803        * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
79804        (WebCore::SVGPaintServerSolid::setup):
79805
798062007-10-22  Simon Hausmann  <hausmann@kde.org>
79807
79808        Reviewed by Nikolas.
79809
79810        Fix compilation from a clean build with the database feature disabled.
79811        JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
79812
79813        * bindings/js/JSCustomVersionChangeCallback.cpp:
79814        * page/InspectorController.cpp:
79815
798162007-10-22  Andrew Wellington  <proton@wiretapped.net>
79817
79818        Reviewed by Mark Rowe.
79819
79820        Fix for local database support after r26879
79821        Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
79822
79823        * Configurations/WebCore.xcconfig:
79824        * WebCore.pro:
79825        * WebCore.vcproj/build-generated-files.sh:
79826
798272007-10-22  Simon Hausmann  <hausmann@kde.org>
79828
79829        Reviewed by Lars.
79830
79831        Disable the Database feature for the qmake build for now.
79832
79833        * WebCore.pro:
79834
798352007-10-22  Simon Hausmann  <hausmann@kde.org>
79836
79837        Reviewed by Lars.
79838
79839        Make disabling the database feature (ENABLE_DATABASE=0) work by
79840        placing various #ifdefs into the code and making the compilation of
79841        some files optional.
79842
79843        * WebCore.pro:
79844        * dom/Document.cpp:
79845        (WebCore::Document::~Document):
79846        (WebCore::Document::defaultEventHandler):
79847        * dom/Document.h:
79848        * page/DOMWindow.cpp:
79849        * page/DOMWindow.h:
79850        * page/DOMWindow.idl:
79851        * page/InspectorController.cpp:
79852        (WebCore::InspectorController::windowScriptObjectAvailable):
79853        (WebCore::InspectorController::populateScriptResources):
79854        (WebCore::InspectorController::clearDatabaseScriptResources):
79855        (WebCore::InspectorController::didCommitLoad):
79856        * page/InspectorController.h:
79857
798582007-10-22  Alp Toker  <alp@atoker.com>
79859
79860        Reviewed by Mark Rowe.
79861
79862        http://bugs.webkit.org/show_bug.cgi?id=15611
79863        [GTK] Text selection behaviour different in Debug and Release builds
79864
79865        http://bugs.webkit.org/show_bug.cgi?id=15578
79866        [GTK] Text editor caret does not blink
79867
79868        Never allow control to reach the end of non-void functions.
79869
79870        Return more sensible values, or in some cases, nulls.
79871
79872        * page/gtk/EventHandlerGtk.cpp:
79873        (WebCore::isKeyboardOptionTab):
79874        (WebCore::EventHandler::tabsToAllControls):
79875        (WebCore::EventHandler::eventActivatedView):
79876
798772007-10-22  Holger Freyther  <zecke@selfish.org>
79878
79879        Reviewed by Simon Hausmann <hausmann@kde.org>.
79880
79881        Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
79882
79883        * platform/network/qt/ResourceHandleQt.cpp:
79884        (WebCore::WebCoreSynchronousLoader::resourceResponse):
79885        (WebCore::WebCoreSynchronousLoader::resourceError):
79886        (WebCore::WebCoreSynchronousLoader::data):
79887        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
79888        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
79889        (WebCore::WebCoreSynchronousLoader::didReceiveData):
79890        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
79891        (WebCore::WebCoreSynchronousLoader::didFail):
79892        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
79893        (WebCore::ResourceHandle::loadResourceSynchronously):
79894
798952007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
79896
79897        Reviewed by Lars Knoll <lars@trolltech.com>.
79898
79899        Style fix. It is allowed to attempt to delete 0.
79900
79901        * platform/qt/ClipboardQt.cpp:
79902
799032007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
79904
79905        Reviewed by Lars Knoll <lars@trolltech.com>.
79906
79907        Make it actually localizable....
79908
79909        * platform/qt/Localizations.cpp:
79910        (WebCore::submitButtonDefaultLabel):
79911        (WebCore::inputElementAltText):
79912        (WebCore::searchableIndexIntroduction):
79913        (WebCore::fileButtonChooseFileLabel):
79914        (WebCore::fileButtonNoFileSelectedLabel):
79915        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
79916        (WebCore::contextMenuItemTagDownloadLinkToDisk):
79917        (WebCore::contextMenuItemTagCopyLinkToClipboard):
79918        (WebCore::contextMenuItemTagOpenImageInNewWindow):
79919        (WebCore::contextMenuItemTagDownloadImageToDisk):
79920        (WebCore::contextMenuItemTagCopyImageToClipboard):
79921        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
79922        (WebCore::contextMenuItemTagCopy):
79923        (WebCore::contextMenuItemTagGoBack):
79924        (WebCore::contextMenuItemTagGoForward):
79925        (WebCore::contextMenuItemTagStop):
79926        (WebCore::contextMenuItemTagReload):
79927        (WebCore::contextMenuItemTagCut):
79928        (WebCore::contextMenuItemTagPaste):
79929        (WebCore::contextMenuItemTagNoGuessesFound):
79930        (WebCore::contextMenuItemTagIgnoreSpelling):
79931        (WebCore::contextMenuItemTagLearnSpelling):
79932        (WebCore::contextMenuItemTagSearchWeb):
79933        (WebCore::contextMenuItemTagLookUpInDictionary):
79934        (WebCore::contextMenuItemTagOpenLink):
79935        (WebCore::contextMenuItemTagIgnoreGrammar):
79936        (WebCore::contextMenuItemTagSpellingMenu):
79937        (WebCore::contextMenuItemTagShowSpellingPanel):
79938        (WebCore::contextMenuItemTagCheckSpelling):
79939        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
79940        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
79941        (WebCore::contextMenuItemTagFontMenu):
79942        (WebCore::contextMenuItemTagBold):
79943        (WebCore::contextMenuItemTagItalic):
79944        (WebCore::contextMenuItemTagUnderline):
79945        (WebCore::contextMenuItemTagOutline):
79946        (WebCore::contextMenuItemTagWritingDirectionMenu):
79947        (WebCore::contextMenuItemTagDefaultDirection):
79948        (WebCore::contextMenuItemTagLeftToRight):
79949        (WebCore::contextMenuItemTagRightToLeft):
79950        (WebCore::contextMenuItemTagInspectElement):
79951        (WebCore::searchMenuNoRecentSearchesText):
79952        (WebCore::searchMenuRecentSearchesText):
79953
799542007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
79955
79956        Reviewed by Lars Knoll <lars@trolltech.com>.
79957
79958        Adjust the code to obey the Coding Style.
79959
79960        * platform/qt/Localizations.cpp:
79961        (WebCore::submitButtonDefaultLabel):
79962        (WebCore::inputElementAltText):
79963        (WebCore::resetButtonDefaultLabel):
79964        (WebCore::defaultLanguage):
79965        (WebCore::searchableIndexIntroduction):
79966        (WebCore::fileButtonChooseFileLabel):
79967        (WebCore::fileButtonNoFileSelectedLabel):
79968        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
79969        (WebCore::contextMenuItemTagDownloadLinkToDisk):
79970        (WebCore::contextMenuItemTagCopyLinkToClipboard):
79971        (WebCore::contextMenuItemTagOpenImageInNewWindow):
79972        (WebCore::contextMenuItemTagDownloadImageToDisk):
79973        (WebCore::contextMenuItemTagCopyImageToClipboard):
79974        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
79975        (WebCore::contextMenuItemTagCopy):
79976        (WebCore::contextMenuItemTagGoBack):
79977        (WebCore::contextMenuItemTagGoForward):
79978        (WebCore::contextMenuItemTagStop):
79979        (WebCore::contextMenuItemTagReload):
79980        (WebCore::contextMenuItemTagCut):
79981        (WebCore::contextMenuItemTagPaste):
79982        (WebCore::contextMenuItemTagNoGuessesFound):
79983        (WebCore::contextMenuItemTagIgnoreSpelling):
79984        (WebCore::contextMenuItemTagLearnSpelling):
79985        (WebCore::contextMenuItemTagSearchWeb):
79986        (WebCore::contextMenuItemTagLookUpInDictionary):
79987        (WebCore::contextMenuItemTagOpenLink):
79988        (WebCore::contextMenuItemTagIgnoreGrammar):
79989        (WebCore::contextMenuItemTagSpellingMenu):
79990        (WebCore::contextMenuItemTagShowSpellingPanel):
79991        (WebCore::contextMenuItemTagCheckSpelling):
79992        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
79993        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
79994        (WebCore::contextMenuItemTagFontMenu):
79995        (WebCore::contextMenuItemTagBold):
79996        (WebCore::contextMenuItemTagItalic):
79997        (WebCore::contextMenuItemTagUnderline):
79998        (WebCore::contextMenuItemTagOutline):
79999        (WebCore::contextMenuItemTagWritingDirectionMenu):
80000        (WebCore::contextMenuItemTagDefaultDirection):
80001        (WebCore::contextMenuItemTagLeftToRight):
80002        (WebCore::contextMenuItemTagRightToLeft):
80003        (WebCore::contextMenuItemTagInspectElement):
80004        (WebCore::searchMenuNoRecentSearchesText):
80005        (WebCore::searchMenuRecentSearchesText):
80006        (WebCore::searchMenuClearRecentSearchesText):
80007        (WebCore::AXWebAreaText):
80008        (WebCore::AXLinkText):
80009        (WebCore::AXListMarkerText):
80010        (WebCore::AXImageMapText):
80011        (WebCore::AXHeadingText):
80012        (WebCore::unknownFileSizeText):
80013
800142007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
80015
80016        Reviewed by Lars Knoll <lars@trolltech.com>.
80017
80018        Return a non empty string in more functions.
80019
80020        * platform/qt/Localizations.cpp:
80021        (WebCore::contextMenuItemTagShowSpellingPanel):
80022
800232007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
80024
80025        Reviewed by Lars Knoll <lars@trolltech.com>.
80026
80027        Shrink the TemporaryLinkStubs and move the
80028        Frame::setNeedsReapplyStyles stub to FrameQt.cpp
80029
80030        * page/qt/FrameQt.cpp:
80031        (WebCore::Frame::setNeedsReapplyStyles):
80032        * platform/qt/TemporaryLinkStubs.cpp:
80033
800342007-10-22  Holger Freyther  <zecke@selfish.org>
80035
80036        Reviewed by Lars Knoll <lars@trolltech.com>.
80037
80038        Implement the WebCore::fileSize function. The
80039        implementation assumes that QFileInfo will cache
80040        the result of the stat so that info.size() and
80041        info.exists() use the same stat result.
80042
80043        * platform/qt/FileSystemQt.cpp:
80044        (WebCore::deleteFile):
80045        * platform/qt/TemporaryLinkStubs.cpp:
80046
800472007-10-21  Alp Toker  <alp@atoker.com>
80048
80049        Reviewed by Mark Rowe.
80050
80051        Use the portable GLib time function.
80052
80053        Use event timestamps rather than the current time where available.
80054
80055        Rename SharedTimerLinux.cpp since it isn't Linux-specific.
80056
80057        * WebCore.pro:
80058        * platform/gtk/MouseEventGtk.cpp:
80059        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
80060        * platform/gtk/SystemTimeGtk.cpp: Added.
80061        (WebCore::currentTime):
80062        * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
80063        * platform/gtk/SharedTimerLinux.cpp: Removed.
80064
800652007-10-22  David Hyatt  <hyatt@apple.com>
80066
80067        Fix for 15596, regression from my transform changes.  Preserve null checks on the clip rects calls for parent(),
80068        since the method is called on orphaned layers.  This is not very well understood.
80069
80070        Reviewed by eric
80071
80072        * rendering/RenderLayer.cpp:
80073        (WebCore::RenderLayer::calculateClipRects):
80074        (WebCore::RenderLayer::calculateRects):
80075
800762007-10-21  Mark Rowe  <mrowe@apple.com>
80077
80078        Reviewed by Alp.
80079
80080        http://bugs.webkit.org/show_bug.cgi?id=15575
80081        Bug 15575: [GTK] Implement threading using GThread
80082
80083        * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
80084        * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
80085        (WebCore::iconDatabase):
80086        (WebCore::IconDatabase::open):
80087        * platform/Threading.h:
80088        * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
80089        (WebCore::initializeThreading):
80090        (WebCore::threadMapMutex):
80091        (WebCore::threadMap):
80092        (WebCore::establishIdentifierForThread):
80093        (WebCore::threadForIdentifier):
80094        (WebCore::clearThreadForIdentifier):
80095        (WebCore::createThread):
80096        (WebCore::waitForThreadCompletion):
80097        (WebCore::detachThread):
80098        (WebCore::Mutex::Mutex):
80099        (WebCore::Mutex::~Mutex):
80100        (WebCore::Mutex::lock):
80101        (WebCore::Mutex::tryLock):
80102        (WebCore::Mutex::unlock):
80103        (WebCore::ThreadCondition::ThreadCondition):
80104        (WebCore::ThreadCondition::~ThreadCondition):
80105        (WebCore::ThreadCondition::wait):
80106        (WebCore::ThreadCondition::signal):
80107        (WebCore::ThreadCondition::broadcast):
80108        * storage/Database.cpp:
80109        (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
80110        if the icon database is compiled out
80111
801122007-10-21  Mark Rowe  <mrowe@apple.com>
80113
80114        Build fix.
80115
80116        * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
80117        implicit conversion warning.
80118
801192007-10-21  Alp Toker  <alp@atoker.com>
80120
80121        Reviewed by Mark Rowe.
80122
80123        Implement spelling and grammar mistake underlining with Pango/Cairo.
80124
80125        This change does not add any actual support for spelling or grammar
80126        checking to any port.
80127
80128        * platform/graphics/cairo/GraphicsContextCairo.cpp:
80129        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
80130
801312007-10-21  Alp Toker  <alp@atoker.com>
80132
80133        Reviewed by Mark Rowe.
80134
80135        Cairo canvas fixes:
80136
80137        Fix a refcounting issue leading to leaks and crashes on canvas
80138        content.
80139
80140        Delegate memory management of canvas images to Cairo.
80141
80142        Mark unhandled conditions with notImplemented() instead of silently
80143        ignoring them.
80144
80145        * html/CanvasRenderingContext2D.cpp:
80146        (WebCore::CanvasRenderingContext2D::drawImage):
80147        * html/CanvasStyle.cpp:
80148        (WebCore::CanvasStyle::applyStrokeColor):
80149        * html/CanvasStyle.h:
80150        * html/HTMLCanvasElement.cpp:
80151        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
80152        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
80153        (WebCore::HTMLCanvasElement::reset):
80154        (WebCore::HTMLCanvasElement::paint):
80155        (WebCore::HTMLCanvasElement::createDrawingContext):
80156        (WebCore::HTMLCanvasElement::createPlatformImage):
80157
801582007-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
80159
80160        Reviewed by Eric.
80161
80162        Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
80163
80164        The SVG layouting code itself doesn't handle these properties yet,
80165        it's just about recognizing them in the SVG CSS engine.
80166
80167        * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
80168        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
80169        * ksvg2/css/SVGCSSParser.cpp:
80170        (WebCore::CSSParser::parseSVGValue):
80171        * ksvg2/css/SVGCSSStyleSelector.cpp:
80172        (WebCore::CSSStyleSelector::applySVGProperty):
80173        * ksvg2/css/SVGRenderStyle.h:
80174        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
80175        (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
80176        (WebCore::SVGRenderStyle::setBitDefaults):
80177        * ksvg2/css/SVGRenderStyleDefs.h:
80178
801792007-10-21  Christian Dywan  <christian@twotoasts.de>
80180
80181        Reviewed by Alp.
80182
80183        http://bugs.webkit.org/show_bug.cgi?id=15589
80184        Use glib's path separator on gtk
80185
80186        * platform/gtk/FileSystemGtk.cpp:
80187        (WebCore::pathByAppendingComponent):
80188
801892007-10-21  Dan Bernstein  <mitz@apple.com>
80190
80191        Reviewed by Dave Hyatt.
80192
80193        - fix http://bugs.webkit.org/show_bug.cgi?id=15259
80194          <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
80195
80196        Test: fast/text/word-space.html
80197
80198        * rendering/RenderBlock.cpp:
80199        (WebCore::stripTrailingSpace): Added word-spacing to the width of the
80200        space being stripped out.
80201        * rendering/RenderText.cpp:
80202        (WebCore::RenderText::trimmedPrefWidths): Changed handling of
80203        leading space. Since Font::width includes leading space width but not
80204        leading word spacing, this method needs to either remove the width of a
80205        space character or add word spacing,
80206        depending on stripFrontSpaces. 
80207        (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
80208        trailing word spacing so that it would work in the case where the last
80209        space is ignored.
80210        * rendering/bidi.cpp:
80211        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
80212        actually add word spacing to the total width.
80213
802142007-10-20  David Hyatt  <hyatt@apple.com>
80215
80216        Land support for the transform CSS property.  Basic painting now works properly. There are many open issues
80217        that will have to be covered by individual bugs.
80218
80219        Reviewed by olliej
80220
80221        * css/CSSParser.cpp:
80222        (WebCore::CSSParser::validUnit):
80223        (WebCore::CSSParser::parseTransform):
80224        * rendering/RenderLayer.cpp:
80225        (WebCore::RenderLayer::RenderLayer):
80226        (WebCore::RenderLayer::~RenderLayer):
80227        (WebCore::RenderLayer::updateLayerPositions):
80228        (WebCore::RenderLayer::updateTransform):
80229        (WebCore::transparencyClipBox):
80230        (WebCore::RenderLayer::beginTransparencyLayers):
80231        (WebCore::RenderLayer::paintLayer):
80232        (WebCore::RenderLayer::calculateClipRects):
80233        (WebCore::RenderLayer::calculateRects):
80234        (WebCore::RenderLayer::childrenClipRect):
80235        (WebCore::RenderLayer::selfClipRect):
80236        (WebCore::RenderLayer::intersectsDamageRect):
80237        (WebCore::RenderLayer::boundingBox):
80238        * rendering/RenderLayer.h:
80239        * rendering/RenderObject.cpp:
80240        (WebCore::RenderObject::containingBlock):
80241        (WebCore::RenderObject::container):
80242        * rendering/RenderStyle.cpp:
80243        (WebCore::RenderStyle::applyTransform):
80244        * rendering/RenderStyle.h:
80245        (WebCore::TransformOperation::isScaleOperation):
80246        (WebCore::TransformOperation::isRotateOperation):
80247        (WebCore::TransformOperation::isSkewOperation):
80248        (WebCore::TransformOperation::isTranslateOperation):
80249        (WebCore::TransformOperation::isMatrixOperation):
80250        (WebCore::ScaleTransformOperation::isScaleOperation):
80251        (WebCore::RotateTransformOperation::isRotateOperation):
80252        (WebCore::SkewTransformOperation::isSkewOperation):
80253        (WebCore::TranslateTransformOperation::isTranslateOperation):
80254        (WebCore::MatrixTransformOperation::isMatrixOperation):
80255        * rendering/RenderTableRow.h:
80256        (WebCore::RenderTableRow::requiresLayer):
80257        * rendering/RenderTreeAsText.cpp:
80258        (WebCore::writeLayers):
80259
802602007-10-20  Timothy Hatcher  <timothy@apple.com>
80261
80262        Reviewed by Adam.
80263
80264        Add basic @font-face to the Web Inspector.
80265
80266        * page/InspectorController.cpp:
80267        (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
80268        * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
80269        * page/inspector/ResourcePanel.js: Show a font preview for font resources.
80270        * page/inspector/inspector.css: Style for the font preview and font icon.
80271        * page/inspector/inspector.js: Add font mime types.
80272
802732007-10-20  Sam Weinig  <sam@webkit.org>
80274
80275        Reviewed by Mark Rowe.
80276
80277        Fixes:
80278            - http://bugs.webkit.org/show_bug.cgi?id=14393
80279              Column on the left side of the Web Inspector should have a smaller minimum width for resizing
80280            - http://bugs.webkit.org/show_bug.cgi?id=14394
80281              Left pane of the Web Inspector "shakes" when resizing it to maximum width
80282
80283        * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
80284          and window.innerWidth - 100 max-width for the sidebar.  The change also makes the viewbuttons
80285          move with the sidebar.
80286
802872007-10-20  Dan Bernstein  <mitz@apple.com>
80288
80289        Reviewed by Dave Hyatt.
80290
80291        - fix http://bugs.webkit.org/show_bug.cgi?id=15208
80292          display:table causes the collapsed text to show at a different position when expanded
80293
80294        Test: fast/table/insert-before-anonymous-ancestors.html
80295
80296        * rendering/RenderTable.cpp:
80297        (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
80298        that change was supposed to accomplish has since been done in other
80299        places in the code.
80300
803012007-10-20  Mark Rowe  <mrowe@apple.com>
80302
80303        Reviewed by Dave Hyatt.
80304
80305        Fix http://bugs.webkit.org/show_bug.cgi?id=15584
80306        Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
80307
80308        * platform/Font.cpp:
80309        (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
80310        glyph for the character, fall back to the missing glyph data rather than returning an
80311        invalid GlyphData.
80312
803132007-10-20  Jasper Bryant-Greene  <m@ni.ac.nz>
80314
80315        Reviewed by Maciej.
80316
80317        Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
80318        as suggested by George Wright in #15108 (which this patch will
80319        resolve).
80320
80321        This gives a more sane scrolling behaviour, rather than the
80322        jumping to the end or start of the document as occurred previously.
80323
80324        * platform/gtk/WheelEventGtk.cpp:
80325        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
80326
803272007-10-20  Alp Toker  <alp@atoker.com>
80328
80329        Reviewed by Eric.
80330
80331        Support text boundary detection.
80332        Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
80333        Split out and implement some TemporaryLinkStubs.
80334
80335        * WebCore.pro:
80336        * WebCore.vcproj/WebCore.vcproj:
80337        * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
80338        * platform/gtk/Language.cpp: Added.
80339        (WebCore::defaultLanguage):
80340        * platform/gtk/TemporaryLinkStubs.cpp:
80341        * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
80342        (WebCore::currentTextBreakLocaleID):
80343        * platform/win/TextBoundariesWin.cpp: Removed.
80344
803452007-10-20  Mark Rowe  <mrowe@apple.com>
80346
80347        Reviewed by Tim Hatcher.
80348
80349        Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
80350        Bug 15574: Web Inspector doesn't work with the new Database feature
80351
80352        The executeSql callback is executed in the security domain of the web page that owns the database,
80353        while the inspector's window object is in the callback functions scope chain.  This is leading to a
80354        security violation when the callback attempts to access "document".  We can work around this by
80355        ensuring that "document" can be found in the scope chain before the window object.
80356
80357        * page/inspector/DatabasePanel.js:
80358
803592007-10-20  Darin Adler  <darin@apple.com>
80360
80361        Reviewed by Maciej.
80362
80363        - http://bugs.webkit.org/show_bug.cgi?id=15567
80364          speed up hashing const char* by removing call to strlen
80365
80366        This includes one other fix as well. Both were from a day where I did some
80367        profiling to find hot spots when running the page load test.
80368
80369        * platform/StringImpl.cpp:
80370        (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
80371        Also change the argument names to not confusingly use m_ prefixes.
80372        (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
80373        don't have null.
80374
803752007-10-20  Mark Rowe  <mrowe@apple.com>
80376
80377        Reviewed by Alp.
80378
80379        Gtk changes needed to enable HTML 5 client-side database storage.
80380
80381        * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
80382        * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
80383
803842007-10-20  Mark Rowe  <mrowe@apple.com>
80385
80386        Reviewed by Alp.
80387
80388        Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
80389        from the main event loop.
80390
80391        * WebCore.pro:
80392        * platform/gtk/TemporaryLinkStubs.cpp:
80393        * platform/gtk/ThreadingGtk.cpp: Added.
80394        (WebCore::callFunctionOnMainThread):
80395        (WebCore::callOnMainThread):
80396
803972007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
80398
80399        Reviewed by Eric.
80400
80401        Fix non-functional display="inline" / display="none" for SVG text.
80402
80403        Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
80404        Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
80405        Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
80406        
80407        * css/svg.css: Remove "important" flag on text/foreignObject display: block property
80408        * rendering/RenderSVGBlock.cpp:
80409        (WebCore::RenderSVGBlock::setStyle):
80410
804112007-10-20  Mark Rowe  <mrowe@apple.com>
80412
80413        Reviewed by Alp.
80414
80415        Replace #ifdef'd code with the appropriate use of a forwarding header.
80416
80417        * ForwardingHeaders/kjs/array_instance.h: Added.
80418        * bindings/js/JSDatabaseCustom.cpp:
80419
804202007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
80421
80422        Reviewed by Oliver.
80423
80424        Add support for 'kerning' property in SVG text layout code.
80425        Support all textLength/lengthAdjust modes on normal text & textPaths.
80426
80427        Support letter & word spacing on textPath.
80428        Fix text selection when any spacing (letter/word/kerning) is involved.
80429
80430        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
80431        Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
80432               svg/batik/text/textLayout.svg (kerning support)
80433               svg/text/text-spacing-01-b.svg (text selection)
80434
80435        * platform/Font.cpp:
80436        (WebCore::WidthIterator::advance):
80437        * platform/TextStyle.h:
80438        (WebCore::TextStyle::TextStyle):
80439        (WebCore::TextStyle::spacingDisabled):
80440        (WebCore::TextStyle::disableSpacing):
80441        * rendering/SVGCharacterLayoutInfo.cpp:
80442        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
80443        (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
80444        (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
80445        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
80446        (WebCore::SVGChar::characterTransform):
80447        * rendering/SVGCharacterLayoutInfo.h:
80448        (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
80449        * rendering/SVGRootInlineBox.cpp:
80450        (WebCore::closeTextChunk):
80451        (WebCore::calculateKerning):
80452        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
80453        (WebCore::svgTextStyleForInlineTextBox):
80454        (WebCore::calculateTextAnchorShiftForTextChunk):
80455        (WebCore::applyTextAnchorToTextChunk):
80456        (WebCore::calculateTextLengthCorrectionForTextChunk):
80457        (WebCore::applyTextLengthCorrectionToTextChunk):
80458        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
80459        (WebCore::SVGRootInlineBox::buildLayoutInformation):
80460        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
80461        (WebCore::SVGRootInlineBox::buildTextChunks):
80462        (WebCore::SVGRootInlineBox::layoutTextChunks):
80463        * rendering/SVGRootInlineBox.h:
80464
804652007-10-20  Rodney Dawes  <dobey@wayofthemonkey.com>
80466
80467        Reviewd by Darin.
80468
80469        http://bugs.webkit.org/show_bug.cgi?id=15563
80470        Fix conflict with X11 Window type in WebCore
80471
80472        * WebCore/bindings/js/JSDocumentCustom.cpp:
80473        * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
80474        * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
80475        * WebCore/bindings/js/kjs_dom.cpp:
80476        * WebCore/bindings/js/kjs_events.cpp:
80477        * WebCore/bindings/js/kjs_proxy.cpp:
80478        * WebCore/history/CachedPage.cpp:
80479        * WebCore/page/Chrome.cpp:
80480        * WebCore/page/Frame.cpp:
80481
804822007-10-20  Simon Hausmann  <hausmann@kde.org>
80483
80484        Build fix, not reviewed.
80485
80486        Fix the Qt build by adding the two missing FileSystem functions.
80487
80488        * platform/qt/FileSystemQt.cpp:
80489        (WebCore::makeAllDirectories):
80490        (WebCore::pathByAppendingComponent):
80491
804922007-10-19  Alp Toker  <alp@atoker.com>
80493
80494        Reviewed by Oliver.
80495
80496        GTK+ build fix enabling the new local database storage feature.
80497        There is also a prospective Qt build fix.
80498
80499        * WebCore.pro:
80500        * bindings/js/JSDatabaseCustom.cpp:
80501        * platform/gtk/FileSystemGtk.cpp:
80502        (WebCore::pathByAppendingComponent):
80503        (WebCore::makeAllDirectories):
80504
805052007-10-19  Andrew Wellington  <proton@wiretapped.net>
80506
80507        Reviewed by Brady Eidson.
80508
80509        Mac build fix.
80510
80511        * WebCore.xcodeproj/project.pbxproj:
80512
805132007-10-19  Alp Toker  <alp@atoker.com>
80514
80515        Reviewed by Oliver.
80516
80517        Use platform colors for text selection.
80518        Update the cache when the GTK style is changed.
80519
80520        * platform/gtk/RenderThemeGtk.cpp:
80521        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
80522        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
80523        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
80524        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
80525        (WebCore::RenderThemeGtk::gtkStyleSet):
80526        (WebCore::RenderThemeGtk::gtkEntry):
80527        * platform/gtk/RenderThemeGtk.h:
80528
805292007-10-19  Adele Peterson  <adele@apple.com>
80530
80531        Reviewed by Beth.
80532
80533        Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
80534
80535        Test: fast/forms/menulist-no-overflow.html
80536
80537        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
80538
805392007-10-19  Anders Carlsson  <andersca@apple.com>
80540
80541        Reviewed by Brady.
80542
80543        Move some SQL-related classes to platform/sql.
80544        
80545        * WebCore.vcproj/WebCore.vcproj:
80546        * WebCore.xcodeproj/project.pbxproj:
80547        * loader/icon/SQLDatabase.cpp: Removed.
80548        * loader/icon/SQLDatabase.h: Removed.
80549        * loader/icon/SQLStatement.cpp: Removed.
80550        * loader/icon/SQLStatement.h: Removed.
80551        * loader/icon/SQLTransaction.cpp: Removed.
80552        * loader/icon/SQLTransaction.h: Removed.
80553        * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
80554        * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
80555        * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
80556        * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
80557        * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
80558        * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
80559
805602007-10-19  Anders Carlsson  <andersca@apple.com>
80561
80562        Reviewed by Adam.
80563
80564        Update to match the latest version of the spec. Now, executeSQL takes an array
80565        of SQL parameters instead of them being passed as arguments.
80566        
80567        * bindings/js/JSDatabaseCustom.cpp:
80568        (WebCore::JSDatabase::executeSql):
80569        * page/inspector/DatabasePanel.js:
80570        * storage/Database.idl:
80571
805722007-10-19  Brady Eidson  <beidson@apple.com>
80573
80574        Reviewed by Tim
80575
80576        Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
80577
80578        * storage/Database.cpp:
80579        (WebCore::Database::performOpenAndVerify):
80580        * storage/DatabaseTracker.cpp:
80581        (WebCore::DatabaseTracker::DatabaseTracker):
80582
805832007-10-19  Anders Carlsson  <andersca@apple.com>
80584
80585        Release build fix.
80586        
80587        * WebCore.vcproj/WebCore.vcproj:
80588
805892007-10-19  Brady Eidson  <beidson@apple.com>
80590
80591        Remove stray printfs
80592
80593        * dom/Document.cpp:
80594        (WebCore::Document::Document):
80595        (WebCore::Document::~Document):
80596
805972007-10-19  Anders Carlsson  <andersca@apple.com>
80598
80599        Reviewed by Brady.
80600
80601        Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
80602        already been locked, so lock the mutex first.
80603        
80604        * storage/DatabaseThread.cpp:
80605        (WebCore::DatabaseThread::databaseThread):
80606
806072007-10-19  Brady Eidson  <beidson@apple.com>
80608
80609        Better build fix
80610
80611        * loader/icon/SQLDatabase.cpp:
80612        (WebCore::SQLDatabase::authorizerFunction):  Definite works by 3.3.13
80613
806142007-10-19  Brady Eidson  <beidson@apple.com>
80615
80616        Build fix
80617
80618        * loader/icon/SQLDatabase.cpp:
80619        (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
80620          added to SQLite, but I know they were by 3.4.0
80621
806222007-10-19  Brady Eidson  <beidson@apple.com>
80623        Reviewed by Anders
80624
80625        Windows specific changes, as well as renaming Queue -> Deque
80626
80627        * ForwardingHeaders/wtf/Deque.h: Added.
80628        * ForwardingHeaders/wtf/Queue.h: Removed.
80629        * platform/win/FileSystemWin.cpp:
80630        (WebCore::fileSize):
80631        (WebCore::fileExists):
80632        (WebCore::deleteFile):
80633        (WebCore::pathByAppendingComponent):
80634        (WebCore::fileSystemRepresentation):
80635        (WebCore::makeAllDirectories):
80636        (WebCore::homeDirectoryPath):
80637        * storage/Database.h:
80638        * storage/DatabaseThread.cpp:
80639        (WebCore::DatabaseThread::documentGoingAway):
80640        (WebCore::DatabaseThread::databaseGoingAway):
80641        (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
80642        (WebCore::DatabaseThread::scheduleTask):
80643        (WebCore::DatabaseThread::scheduleImmediateTask):
80644        * storage/DatabaseThread.h:
80645
806462007-10-19  Brady Eidson <beidson@apple.com>
80647
80648        Reviewed by Tim and Anders
80649
80650        Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
80651
80652        The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 
80653        this implementation even while filing bugs to track changes in the spec as it becomes more final
80654
80655        There are some implementation details in this patch that seem unused or useless, but they remain in place 
80656        while the spec is in flux and might go one way or another.
80657
80658        * platform/Logging.cpp: Add StorageAPI logging channel
80659        * platform/Logging.h:
80660
80661        * storage/Database.cpp: Added.
80662        (WebCore::Database::databaseInfoTableName):
80663        (WebCore::databaseVersionKey):
80664        (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
80665        (WebCore::Database::Database):
80666        (WebCore::Database::~Database):
80667        (WebCore::Database::openAndVerifyVersion):
80668        (WebCore::retrieveTextResultFromDatabase):
80669        (WebCore::Database::getVersionFromDatabase):
80670        (WebCore::setTextValueInDatabase):
80671        (WebCore::Database::setVersionInDatabase):
80672        (WebCore::Database::databaseThreadGoingAway): May be removed in the future
80673        (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
80674        (WebCore::Database::enableAuthorizer):
80675        (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.  
80676          The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
80677        (WebCore::Database::resetAuthorizer):
80678        (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 
80679        (WebCore::Database::scheduleDatabaseCallback):
80680        (WebCore::Database::performOpenAndVerify): 
80681        (WebCore::Database::performChangeVersion):
80682        (WebCore::Database::performExecuteSql):
80683        (WebCore::Database::performCloseTransaction):
80684        (WebCore::Database::performGetTableNames):
80685        (WebCore::Database::version): C++ version of the javascript API
80686        (WebCore::Database::changeVersion): Ditto
80687        (WebCore::Database::executeSql): Ditto
80688        (WebCore::Database::closeTransaction): Ditto
80689        (WebCore::Database::tableNames): For internal (WebInspector) use
80690        (WebCore::Database::deliverAllPendingCallbacks):
80691        (WebCore::Database::deliverPendingCallbacks):
80692        * storage/Database.h: Added.
80693        (WebCore::Database::databaseDebugName): For debug logging purposes
80694        * storage/Database.idl: Added.
80695
80696        * storage/DatabaseAuthorizer.cpp: Added.
80697          The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
80698          tracking when effects certain sql statements might have (such as increasing the size of the database)
80699        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
80700        (WebCore::DatabaseAuthorizer::reset):
80701        (WebCore::DatabaseAuthorizer::createTable):
80702        (WebCore::DatabaseAuthorizer::createTempTable):
80703        (WebCore::DatabaseAuthorizer::dropTable):
80704        (WebCore::DatabaseAuthorizer::dropTempTable):
80705        (WebCore::DatabaseAuthorizer::allowAlterTable):
80706        (WebCore::DatabaseAuthorizer::createIndex):
80707        (WebCore::DatabaseAuthorizer::createTempIndex):
80708        (WebCore::DatabaseAuthorizer::dropIndex):
80709        (WebCore::DatabaseAuthorizer::dropTempIndex):
80710        (WebCore::DatabaseAuthorizer::createTrigger):
80711        (WebCore::DatabaseAuthorizer::createTempTrigger):
80712        (WebCore::DatabaseAuthorizer::dropTrigger):
80713        (WebCore::DatabaseAuthorizer::dropTempTrigger):
80714        (WebCore::DatabaseAuthorizer::createVTable):
80715        (WebCore::DatabaseAuthorizer::dropVTable):
80716        (WebCore::DatabaseAuthorizer::allowDelete):
80717        (WebCore::DatabaseAuthorizer::allowInsert):
80718        (WebCore::DatabaseAuthorizer::allowUpdate):
80719        (WebCore::DatabaseAuthorizer::allowRead):
80720        (WebCore::DatabaseAuthorizer::allowAnalyze):
80721        (WebCore::DatabaseAuthorizer::allowPragma):
80722        (WebCore::DatabaseAuthorizer::allowAttach):
80723        (WebCore::DatabaseAuthorizer::allowDetach):
80724        (WebCore::DatabaseAuthorizer::allowFunction):
80725        (WebCore::DatabaseAuthorizer::disable):
80726        (WebCore::DatabaseAuthorizer::enable):
80727        (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
80728          it should be invisible to scripts
80729        * storage/DatabaseAuthorizer.h: Added.
80730        (WebCore::DatabaseAuthorizer::lastActionWasInsert):
80731        (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
80732
80733        * storage/DatabaseCallback.cpp: Added.
80734          Generic item to queue up for callbacks on the main thread for database activities that take place on 
80735          a secondary thread
80736        (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
80737        (WebCore::DatabaseChangeVersionCallback::performCallback):
80738        (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
80739        (WebCore::DatabaseExecuteSqlCallback::performCallback):
80740        * storage/DatabaseCallback.h: Added.
80741        (WebCore::DatabaseCallback::~DatabaseCallback):
80742        (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
80743        (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
80744
80745        * storage/DatabaseTask.h: Added.
80746          Generic work-item to be queued up on the background database thread
80747        (WebCore::DatabaseTask::isComplete):
80748        (WebCore::DatabaseOpenTask::exceptionCode):
80749        (WebCore::DatabaseOpenTask::openSuccessful):
80750        (WebCore::DatabaseTableNamesTask::tableNames):
80751        * storage/DatabaseTask.cpp: Added.
80752        (WebCore::DatabaseTask::DatabaseTask):
80753        (WebCore::DatabaseTask::~DatabaseTask):
80754        (WebCore::DatabaseTask::performTask):
80755        (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 
80756          synchronously
80757        (WebCore::DatabaseTask::waitForSynchronousCompletion):
80758
80759        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
80760        (WebCore::DatabaseOpenTask::doPerformTask):
80761
80762        (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
80763        (WebCore::DatabaseExecuteSqlTask::doPerformTask):
80764
80765        (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
80766        (WebCore::DatabaseChangeVersionTask::doPerformTask):
80767
80768        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
80769        (WebCore::DatabaseTableNamesTask::doPerformTask):
80770
80771        * storage/DatabaseThread.cpp: Added.
80772          The current design is that each Document will have its own DatabaseThread.  This makes scripts on each
80773          individual document more response at the cost of adding more threads and potentially creating concurrency
80774          issues when the same database is open twice from two different documents
80775        (WebCore::DatabaseThread::DatabaseThread):
80776        (WebCore::DatabaseThread::~DatabaseThread):
80777        (WebCore::DatabaseThread::start):
80778        (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
80779        (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
80780        (WebCore::DatabaseThread::databaseThreadStart):
80781        (WebCore::DatabaseThread::databaseThread):
80782        (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
80783        (WebCore::DatabaseThread::scheduleTask):
80784        (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
80785          the main thread requires a task be performed synchronously
80786        (WebCore::DatabaseThread::wakeWorkThread):
80787        * storage/DatabaseThread.h: Added.
80788
80789        * storage/DatabaseTracker.cpp: Added.
80790          The DatabaseTracker is the master management of all databases.  It will keep track of the filename for a given
80791          unique database, keep track of the total disk usage per-origin, and policys per database/origin
80792        (WebCore::DatabaseTracker::setDatabasePath):
80793        (WebCore::DatabaseTracker::databasePath):
80794        (WebCore::DatabaseTracker::tracker):
80795        (WebCore::DatabaseTracker::DatabaseTracker):
80796        (WebCore::DatabaseTracker::fullPathForDatabase):
80797        (WebCore::DatabaseTracker::populateOrigins):
80798        (WebCore::DatabaseTracker::origins):
80799        (WebCore::DatabaseTracker::databaseNamesForOrigin):
80800        (WebCore::DatabaseTracker::addDatabase):
80801        (WebCore::DatabaseTracker::deleteAllDatabases):
80802        (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
80803        * storage/DatabaseTracker.h: Added.
80804
80805        * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
80806        (WebCore::SQLCallback::~SQLCallback):
80807        * storage/SQLCallback.idl: Added.
80808
80809        * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
80810        (WebCore::SQLResultSet::SQLResultSet):
80811        (WebCore::SQLResultSet::insertId):
80812        (WebCore::SQLResultSet::rowsAffected):
80813        (WebCore::SQLResultSet::errorCode):
80814        (WebCore::SQLResultSet::error):
80815        (WebCore::SQLResultSet::rows):
80816        (WebCore::SQLResultSet::setInsertId):
80817        (WebCore::SQLResultSet::setRowsAffected):
80818        (WebCore::SQLResultSet::setErrorCode):
80819        (WebCore::SQLResultSet::setErrorMessage):
80820        * storage/SQLResultSet.h: Added.
80821        * storage/SQLResultSet.idl: Added.
80822
80823        * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
80824        (WebCore::SQLResultSetRowList::length):
80825        * storage/SQLResultSetRowList.h: Added.
80826        (WebCore::SQLResultSetRowList::columnNames):
80827        (WebCore::SQLResultSetRowList::values):
80828        (WebCore::SQLResultSetRowList::addColumn):
80829        (WebCore::SQLResultSetRowList::addResult):
80830        * storage/SQLResultSetRowList.idl: Added.
80831
80832        * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
80833        (WebCore::VersionChangeCallback::~VersionChangeCallback):
80834        * storage/VersionChangeCallback.idl: Added.
80835
808362007-10-19  Brady Eidson <beidson@apple.com>
80837
80838        Reviewed by Oliver + Same
80839
80840        Forwarding header for the new wtf/Queue.h
80841
80842        * ForwardingHeaders/wtf/Queue.h: Added.
80843
808442007-10-19  Anders Carlsson <beidson@apple.com>
80845
80846        Reviewed by Sam Weinig
80847
80848        Most of the Javascript binding support for the Storage API
80849
80850        * bindings/js/JSCustomSQLCallback.cpp: Added.
80851        (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
80852        (WebCore::JSCustomSQLCallback::handleEvent):
80853        * bindings/js/JSCustomSQLCallback.h: Added.
80854                Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
80855                handleEvent to a JS function or a JS object with a handleEvent function.
80856
80857        * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
80858        (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
80859        (WebCore::JSCustomVersionChangeCallback::handleEvent):
80860        * bindings/js/JSCustomVersionChangeCallback.h: Added.
80861                Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
80862                handleEvent to a JS function or a JS object with a handleEvent function.
80863
80864        * bindings/js/JSDatabaseCustom.cpp: Added.
80865        (WebCore::JSDatabase::executeSql):
80866                Custom implementation of executeSql that takes an array of parameters.
80867                
80868        (WebCore::JSDatabase::changeVersion):
80869                Custom implementation of changeVersion.
80870                
80871        * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
80872        (WebCore::JSSQLResultSetRowList::item):
80873                Custom method that returns a JS object that corresponds to a given row in the database.
80874
80875        * bindings/scripts/CodeGeneratorJS.pm:
80876
80877        * page/DOMWindow.cpp:
80878        (WebCore::DOMWindow::openDatabase):
80879        * page/DOMWindow.h:
80880        * page/DOMWindow.idl:
80881                Add openDatabase implementation.
80882
808832007-10-19  Brady Eidson <beidson@apple.com>
80884
80885        Reviewed by Oliver
80886
80887        Added tons of utility to the FileSystem abstractions, including moving
80888        some stuff over from IconDatabase
80889
80890        * platform/FileSystem.h:
80891
80892        * platform/cf/FileSystemCF.cpp: Added.
80893        (WebCore::fileSystemRepresentation):
80894
80895        * platform/mac/FileSystemMac.mm:
80896
80897        * platform/posix/FileSystemPOSIX.cpp: Added.
80898        (WebCore::fileExists):
80899        (WebCore::deleteFile):
80900        (WebCore::fileSize):
80901        (WebCore::pathByAppendingComponent):
80902        (WebCore::makeAllDirectories):
80903
809042007-10-19  Timothy Hatcher  <timothy@apple.com>
80905
80906        Reviewed by Adam Roben
80907
80908        Preliminary Web Inspector support for the Storage API
80909        (This patch does not include the support artwork)
80910
80911        * page/InspectorController.cpp:
80912        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
80913        (WebCore::InspectorDatabaseResource::setScriptObject):
80914        (WebCore::databaseTableNames): Return the table names for a Database object.
80915        (WebCore::InspectorController::setWindowVisible):
80916        (WebCore::InspectorController::windowScriptObjectAvailable):
80917        (WebCore::InspectorController::populateScriptResources):
80918        (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
80919        (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
80920        (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
80921        (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
80922        (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
80923        * page/InspectorController.h:
80924        * page/inspector/Database.js: Added.
80925        * page/inspector/DatabasePanel.js: Added.
80926        * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
80927        * page/inspector/inspector.css: Add styles for the database panel.
80928        * page/inspector/inspector.html: Include DatabasePanel.js
80929        * page/inspector/inspector.js: Support for adding and removing Database resources.
80930
809312007-10-19  Brady Eidson <beidson@apple.com>
80932
80933        Reviewed by Tim Hatcher
80934
80935        Added support for Chrome prompts required by the Storage API
80936
80937        * page/Chrome.cpp:
80938        (WebCore::Chrome::runDatabaseSizeLimitPrompt):
80939        * page/Chrome.h:
80940        * page/ChromeClient.h:
80941        * platform/graphics/svg/SVGImageEmptyClients.h:
80942
809432007-10-19  Brady Eidson <beidson@apple.com>
80944
80945        Contributions and Review by Anders
80946
80947        Various SQLite tweaks in preparation for the storage API
80948
80949        * loader/icon/SQLDatabase.cpp:
80950        (WebCore::SQLDatabase::~SQLDatabase):
80951        (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
80952        (WebCore::SQLDatabase::setAuthorizer):
80953        (WebCore::SQLDatabase::lock):
80954        (WebCore::SQLDatabase::unlock):
80955        * loader/icon/SQLDatabase.h:
80956
80957        * loader/icon/SQLStatement.cpp:
80958        (WebCore::SQLStatement::prepare): Switch to prepare16_v2
80959        (WebCore::SQLStatement::bindDouble): Added
80960        (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
80961        (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
80962        * loader/icon/SQLStatement.h:
80963        (WebCore::SQLStatement::isPrepared):
80964
80965        * platform/sql/SQLAuthorizer.cpp: Added.  Fully virtual interface to implement your own SQLite authorizer
80966        * platform/sql/SQLAuthorizer.h: Added.
80967        (WebCore::SQLAuthorizer::~SQLAuthorizer):
80968        (WebCore::SQLAuthorizer::createTable):
80969        (WebCore::SQLAuthorizer::createTempTable):
80970        (WebCore::SQLAuthorizer::dropTable):
80971        (WebCore::SQLAuthorizer::dropTempTable):
80972        (WebCore::SQLAuthorizer::allowAlterTable):
80973        (WebCore::SQLAuthorizer::createIndex):
80974        (WebCore::SQLAuthorizer::createTempIndex):
80975        (WebCore::SQLAuthorizer::dropIndex):
80976        (WebCore::SQLAuthorizer::dropTempIndex):
80977        (WebCore::SQLAuthorizer::createTrigger):
80978        (WebCore::SQLAuthorizer::createTempTrigger):
80979        (WebCore::SQLAuthorizer::dropTrigger):
80980        (WebCore::SQLAuthorizer::dropTempTrigger):
80981        (WebCore::SQLAuthorizer::createView):
80982        (WebCore::SQLAuthorizer::createTempView):
80983        (WebCore::SQLAuthorizer::dropView):
80984        (WebCore::SQLAuthorizer::dropTempView):
80985        (WebCore::SQLAuthorizer::createVTable):
80986        (WebCore::SQLAuthorizer::dropVTable):
80987        (WebCore::SQLAuthorizer::allowDelete):
80988        (WebCore::SQLAuthorizer::allowInsert):
80989        (WebCore::SQLAuthorizer::allowUpdate):
80990        (WebCore::SQLAuthorizer::allowTransaction):
80991        (WebCore::SQLAuthorizer::allowSelect):
80992        (WebCore::SQLAuthorizer::allowRead):
80993        (WebCore::SQLAuthorizer::allowAttach):
80994        (WebCore::SQLAuthorizer::allowDetach):
80995        (WebCore::SQLAuthorizer::allowReindex):
80996        (WebCore::SQLAuthorizer::allowAnalyze):
80997        (WebCore::SQLAuthorizer::allowFunction):
80998
80999        * platform/sql/SQLValue.cpp: Added.  Contains a value for a SQLite database that can be one of a few types.  
81000          For now, just a String or a double
81001        (WebCore::SQLValue::SQLValue):
81002        (WebCore::SQLValue::string):
81003        (WebCore::SQLValue::number):
81004        * platform/sql/SQLValue.h: Added.
81005        (WebCore::SQLValue::):
81006        (WebCore::SQLValue::SQLValue):
81007        (WebCore::SQLValue::type):
81008
810092007-10-19  Brady Eidson <beidson@apple.com>
81010
81011        Reviewed by Maciej
81012
81013        Changed IconDatabase over to use new FileSystem apis
81014
81015        * loader/icon/IconDatabase.cpp:
81016        (WebCore::IconDatabase::open):
81017
810182007-10-19  David Hyatt  <hyatt@apple.com>
81019
81020        Fix for ebay parser crash.
81021
81022        Reviewed by Beth
81023
81024        fast/invalid/table-residual-style-crash.html added as a test
81025
81026        * html/HTMLParser.cpp:
81027        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
81028
810292007-10-19  Sam Weinig  <sam@webkit.org>
81030
81031        Fix Windows, Qt and GTK builds.
81032
81033        * WebCore.pro:
81034        * WebCore.vcproj/WebCore.vcproj:
81035
810362007-10-19  Sam Weinig  <sam@webkit.org>
81037
81038        Reviewed by Darin.
81039
81040        Encapsulate the same origin check into the new SecurityOrigin class.
81041
81042        * WebCore.xcodeproj/project.pbxproj:
81043        * bindings/js/kjs_window.cpp:
81044        (KJS::Window::isSafeScript):
81045        * dom/Document.cpp:
81046        (WebCore::Document::Document):
81047        (WebCore::Document::defaultEventHandler):
81048        * dom/Document.h:
81049        (WebCore::Document::securityOrigin):
81050        * loader/FrameLoader.cpp:
81051        (WebCore::FrameLoader::begin):
81052        (WebCore::FrameLoader::setOpener):
81053        * loader/FrameLoader.h:
81054        * platform/SecurityOrigin.cpp: Added.
81055        (WebCore::SecurityOrigin::SecurityOrigin):
81056        (WebCore::SecurityOrigin::clear):
81057        (WebCore::SecurityOrigin::isEmpty):
81058        (WebCore::SecurityOrigin::setForFrame):
81059        (WebCore::SecurityOrigin::setDomainFromDOM):
81060        (WebCore::SecurityOrigin::allowsAccessFrom):
81061        (WebCore::SecurityOrigin::isSecureTransitionTo):
81062        * platform/SecurityOrigin.h: Added.
81063
810642007-10-19  Simon Hausmann  <hausmann@kde.org>
81065
81066        Fix the Qt/Windows build: Added missing FontSelector.h include.
81067
81068        * platform/qt/FontQt.cpp:
81069
810702007-10-19  Simon Hausmann  <hausmann@kde.org>
81071
81072        Reviewed by Lars.
81073
81074        Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
81075
81076        * platform/Threading.h:
81077
810782007-10-19  Simon Hausmann  <hausmann@kde.org>
81079
81080        Reviewed by Lars.
81081
81082        Fix the Qt/Windows build, don't use cat but use the perl print trick
81083        instead.
81084
81085        * WebCore.pro:
81086
810872007-10-18  Justin Garcia  <justin.garcia@apple.com>
81088
81089        Reviewed by Kevin McCullough.
81090
81091        <rdar://problem/5483526> 
81092        GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
81093
81094        * editing/TextIterator.cpp:
81095        (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
81096        between every VisiblePosition.  We weren't emitting a space after some tables, because
81097        we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
81098        was emitted.
81099
811002007-10-18  Dan Bernstein  <mitz@apple.com>
81101
81102        Reviewed by Adam Roben.
81103
81104        - fix <rdar://problem/5313523>
81105        REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
81106
81107        * platform/network/mac/ResourceResponseMac.mm:
81108        (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
81109        <rdar://problem/5321972> by testing for the case of a response
81110        with a MIME type of application/octet-stream and a Content-Type header
81111        starting with text/plain and setting the MIME type to text/plain in
81112        that case.
81113
811142007-10-18  Mark Rowe  <mrowe@apple.com>
81115
81116        Fix the no-SVG build.
81117
81118        * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
81119        LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
81120
811212007-10-18  Darin Adler  <darin@apple.com>
81122
81123        Reviewed by Anders.
81124
81125        - some small tweaks to the threading implementation
81126
81127        I had trouble building on Windows. Either the problem went away by itself
81128        or one of these changes fixed it.
81129
81130        * platform/Threading.h: Eliminated the use of friend, and shared a single
81131        declaration for the initializeThreading function.
81132
81133        * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
81134        Call impl() here.
81135
81136        * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
81137        constructors. Also added a typedef for the type of the function queue.
81138        (WebCore::functionQueueMutex): Added function.
81139        (WebCore::functionQueue): Ditto.
81140        (WebCore::callFunctionsOnMainThread): Use functions instead of using the
81141        globals directly.
81142        (WebCore::callOnMainThread): Ditto.
81143
81144        * css/CSSParser.cpp: Had to touch this file to make things build.
81145
811462007-10-18  Adam Roben  <aroben@apple.com>
81147
81148        Fix <rdar://5547462> Need to copy Inspector resources in Production builds
81149
81150        I also added an excludes file for the xcopy command to avoid copying
81151        .svn folders.
81152
81153        Reviewed by Geoff.
81154
81155        * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
81156        resources.
81157        * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
81158        xcopy.
81159        * WebCore.vcproj/xcopy.excludes: Added.
81160
811612007-10-18  Darin Adler  <darin@apple.com>
81162
81163        Reviewed by Sam.
81164
81165        - fix http://bugs.webkit.org/show_bug.cgi?id=15541
81166          REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
81167
81168        * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
81169
811702007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
81171
81172        Build fix. Not reviewed.
81173
81174        Hopefully fix win build by including wtf/MathExtras.h.
81175
81176        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
81177
811782007-10-18  Dan Bernstein  <mitz@apple.com>
81179
81180        Reviewed by Nikolas Zimmermann.
81181
81182        - fix http://bugs.webkit.org/show_bug.cgi?id=15367
81183          Assertion failure inspecting a document including soft hyphen code (0xad)
81184
81185        Test: fast/text/word-break-soft-hyphen.html
81186
81187        * rendering/RenderText.cpp:
81188        (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 
81189        word boundaries. This fixes the bug and is consistent with the fact that
81190        run rounding does occur at soft hyphens.
81191
811922007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
81193
81194        Reviewed by Anders.
81195
81196        Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
81197        Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
81198
81199        Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
81200        to avoid excessive mallocs (in the testcase above 1000000x1000000)
81201
81202        * ksvg2/svg/SVGMaskElement.cpp:
81203        (WebCore::SVGMaskElement::drawMaskerContent):
81204        * ksvg2/svg/SVGPatternElement.cpp:
81205        (WebCore::SVGPatternElement::buildPattern):
81206        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
81207        (WebCore::SVGPaintServerGradient::teardown):
81208        (WebCore::SVGPaintServerGradient::setup):
81209        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
81210        (WebCore::SVGResourceMasker::applyMask):
81211        * rendering/SVGRenderSupport.cpp:
81212        (WebCore::clampImageBufferSizeToViewport):
81213        * rendering/SVGRenderSupport.h:
81214
812152007-10-18  Alexey Proskuryakov  <ap@webkit.org>
81216
81217        Windows build fix.
81218
81219        * css/CSSStyleSelector.cpp:
81220        (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
81221
812222007-10-18  Alexey Proskuryakov  <ap@webkit.org>
81223
81224        Release build fix.
81225
81226        * css/CSSStyleSelector.cpp:
81227        (WebCore::CSSStyleSelector::applyProperty): 
81228
812292007-10-18  Alexey Proskuryakov  <ap@webkit.org>
81230
81231        Reviewed by Darin.
81232
81233        Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
81234        and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
81235
81236        * WebCore.xcodeproj/project.pbxproj:
81237        * css/CSSComputedStyleDeclaration.cpp:
81238        (WebCore::getPositionOffsetValue):
81239        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
81240        * css/CSSPrimitiveValue.cpp:
81241        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
81242        (WebCore::CSSPrimitiveValue::init):
81243        * css/CSSPrimitiveValue.h:
81244        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
81245        * css/CSSPrimitiveValueMappings.h: Added.
81246        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
81247        (WebCore::CSSPrimitiveValue::operator EBorderStyle):
81248        (WebCore::CSSPrimitiveValue::operator CompositeOperator):
81249        (WebCore::CSSPrimitiveValue::operator EAppearance):
81250        (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
81251        (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
81252        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
81253        (WebCore::CSSPrimitiveValue::operator EBoxDirection):
81254        (WebCore::CSSPrimitiveValue::operator EBoxLines):
81255        (WebCore::CSSPrimitiveValue::operator EBoxOrient):
81256        (WebCore::CSSPrimitiveValue::operator ECaptionSide):
81257        (WebCore::CSSPrimitiveValue::operator EClear):
81258        (WebCore::CSSPrimitiveValue::operator ECursor):
81259        (WebCore::CSSPrimitiveValue::operator EDisplay):
81260        (WebCore::CSSPrimitiveValue::operator EEmptyCell):
81261        (WebCore::CSSPrimitiveValue::operator EFloat):
81262        (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
81263        (WebCore::CSSPrimitiveValue::operator EListStylePosition):
81264        (WebCore::CSSPrimitiveValue::operator EListStyleType):
81265        (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
81266        (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
81267        (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
81268        (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
81269        (WebCore::CSSPrimitiveValue::operator ENBSPMode):
81270        (WebCore::CSSPrimitiveValue::operator EOverflow):
81271        (WebCore::CSSPrimitiveValue::operator EPageBreak):
81272        (WebCore::CSSPrimitiveValue::operator EPosition):
81273        (WebCore::CSSPrimitiveValue::operator EResize):
81274        (WebCore::CSSPrimitiveValue::operator ETableLayout):
81275        (WebCore::CSSPrimitiveValue::operator ETextAlign):
81276        (WebCore::CSSPrimitiveValue::operator ETextSecurity):
81277        (WebCore::CSSPrimitiveValue::operator ETextTransform):
81278        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
81279        (WebCore::CSSPrimitiveValue::operator EUserDrag):
81280        (WebCore::CSSPrimitiveValue::operator EUserModify):
81281        (WebCore::CSSPrimitiveValue::operator EUserSelect):
81282        (WebCore::CSSPrimitiveValue::operator EVisibility):
81283        (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
81284        (WebCore::CSSPrimitiveValue::operator EWordBreak):
81285        (WebCore::CSSPrimitiveValue::operator EWordWrap):
81286        (WebCore::CSSPrimitiveValue::operator LineCap):
81287        (WebCore::CSSPrimitiveValue::operator LineJoin):
81288        (WebCore::CSSPrimitiveValue::operator TextDirection):
81289        (WebCore::CSSPrimitiveValue::operator WindRule):
81290        (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
81291        (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
81292        (WebCore::CSSPrimitiveValue::operator EColorRendering):
81293        (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
81294        (WebCore::CSSPrimitiveValue::operator EImageRendering):
81295        (WebCore::CSSPrimitiveValue::operator EPointerEvents):
81296        (WebCore::CSSPrimitiveValue::operator EShapeRendering):
81297        (WebCore::CSSPrimitiveValue::operator ETextAnchor):
81298        (WebCore::CSSPrimitiveValue::operator ETextRendering):
81299        (WebCore::CSSPrimitiveValue::operator EWritingMode):
81300        * css/CSSStyleSelector.cpp:
81301        (WebCore::CSSStyleSelector::checkSelector):
81302        (WebCore::CSSStyleSelector::checkOneSelector):
81303        (WebCore::CSSRuleSet::addRulesFromSheet):
81304        (WebCore::convertToLength):
81305        (WebCore::CSSStyleSelector::applyDeclarations):
81306        (WebCore::CSSStyleSelector::applyProperty):
81307        (WebCore::CSSStyleSelector::mapBackgroundAttachment):
81308        (WebCore::CSSStyleSelector::mapBackgroundClip):
81309        (WebCore::CSSStyleSelector::mapBackgroundComposite):
81310        (WebCore::CSSStyleSelector::mapBackgroundOrigin):
81311        (WebCore::CSSStyleSelector::mapBackgroundRepeat):
81312        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
81313        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
81314        * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
81315        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
81316        * ksvg2/css/SVGCSSStyleSelector.cpp:
81317        (WebCore::CSSStyleSelector::applySVGProperty):
81318
813192007-10-18  Eric Seidel  <eric@webkit.org>
81320
81321        Reviewed by Maciej.
81322
81323        Fix crashers in SVGViewSpec::parseViewSpec
81324        http://bugs.webkit.org/show_bug.cgi?id=15504
81325
81326        Test is blocked by bug 15503, landed as:
81327        * svg/dom/viewspec-parser.html-disabled
81328
81329        * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
81330        * ksvg2/svg/SVGViewSpec.cpp:
81331        (WebCore::SVGViewSpec::parseViewSpec):
81332        * ksvg2/svg/SVGViewSpec.idl: Added.
81333
813342007-10-17  Rob Buis  <buis@kde.org>
81335
81336        Reviewed by Darin, Adam, and Maciej.
81337
81338        http://bugs.webkit.org/show_bug.cgi?id=12988
81339        First element (in document order) is not returned when other duplicate ID-ed elements were created first
81340
81341        Reset the element id cache when an id is added and there is a duplicate for that id.
81342
81343        * dom/Document.cpp:
81344        (WebCore::Document::addElementById):
81345
813462007-10-17  Mark Rowe  <mrowe@apple.com>
81347
81348        Mac build fix.
81349
81350        * Configurations/WebCore.xcconfig:  Make it possible to include CoreGraphics header files.
81351
813522007-10-17  Adam Roben  <aroben@apple.com>
81353
81354        Fix an ASSERT on launch on Windows
81355
81356        Fix dictated to me by Brady.
81357
81358        * loader/icon/IconDatabase.cpp:
81359        (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
81360        m_syncLock before going into the loop.
81361
813622007-10-17  Adam Roben  <aroben@apple.com>
81363
81364        Windows build fix
81365
81366        * platform/graphics/AffineTransform.h: Don't #include
81367        ApplicationServices.h.
81368        * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
81369        needed now that we're not #including ApplicationServices.h.
81370
813712007-10-17  Mark Rowe  <mrowe@apple.com>
81372
81373        Gtk build fix.  Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
81374        multiple-definition link errors.
81375
81376        * WebCore.pro:
81377        * platform/Threading.h:
81378        * platform/ThreadingNone.cpp: Added.
81379        (WebCore::createThread):
81380        (WebCore::waitForThreadCompletion):
81381        (WebCore::detachThread):
81382        (WebCore::Mutex::Mutex):
81383        (WebCore::Mutex::~Mutex):
81384        (WebCore::Mutex::lock):
81385        (WebCore::Mutex::tryLock):
81386        (WebCore::Mutex::unlock):
81387        (WebCore::ThreadCondition::ThreadCondition):
81388
813892007-10-17  Anders Carlsson  <andersca@apple.com>
81390
81391        Reviewed by Oliver.
81392
81393        * WebCore.xcodeproj/project.pbxproj:
81394        * WebCore.vcproj/WebCore.vcproj:
81395        
81396        * config.h:
81397        #define USE_PTHREADS on Windows.
81398        
81399        * loader/icon/IconDatabase.cpp:
81400        (WebCore::IconDatabase::getOrCreateIconRecord):
81401        (WebCore::IconDatabase::getOrCreatePageURLRecord):
81402        Update for mutex changes.
81403        
81404        * platform/Threading.h:
81405        (WebCore::ThreadSafeShared::ThreadSafeShared):
81406        (WebCore::ThreadSafeShared::ref):
81407        (WebCore::ThreadSafeShared::deref):
81408        (WebCore::ThreadSafeShared::hasOneRef):
81409        (WebCore::ThreadSafeShared::refCount):
81410        (WebCore::ThreadSafeShared::isThreadSafe):
81411        Add a new Shared base class that uses a mutex to manage its refcount.
81412        
81413        (WebCore::createThread):
81414        (WebCore::waitForThreadCompletion):
81415        (WebCore::detachThread):
81416        New functions for thread creation.
81417        
81418        (WebCore::Mutex::Mutex):
81419        (WebCore::Mutex::~Mutex):
81420        (WebCore::Mutex::lock):
81421        (WebCore::Mutex::tryLock):
81422        (WebCore::Mutex::unlock):
81423        Move the definitions to ThreadingPthreads.cpp
81424        
81425        (WebCore::ThreadCondition::ThreadCondition):
81426        (WebCore::ThreadCondition::~ThreadCondition):
81427        (WebCore::ThreadCondition::wait):
81428        (WebCore::ThreadCondition::signal):
81429        (WebCore::ThreadCondition::broadcast):
81430        Move the definitions to ThreadingPthreads.cpp
81431        
81432        * platform/pthreads: Added.
81433        * platform/pthreads/ThreadingPthreads.cpp: Added.
81434        Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
81435
814362007-10-17  David Hyatt  <hyatt@apple.com>
81437
81438        Add support for creating a layer when a transform is in effect.  Add support to RenderStyle for
81439        handing back a computed AffineTransform.
81440
81441        Reviewed by Mitz Pettel
81442
81443        * css/CSSStyleSelector.cpp:
81444        (WebCore::CSSStyleSelector::adjustRenderStyle):
81445        * rendering/RenderBox.cpp:
81446        (WebCore::RenderBox::setStyle):
81447        * rendering/RenderObject.cpp:
81448        (WebCore::RenderObject::RenderObject):
81449        (WebCore::RenderObject::requiresLayer):
81450        (WebCore::RenderObject::setStyle):
81451        * rendering/RenderObject.h:
81452        (WebCore::RenderObject::hasTransform):
81453        (WebCore::RenderObject::setHasTransform):
81454        * rendering/RenderStyle.cpp:
81455        (WebCore::RenderStyle::applyTransform):
81456        * rendering/RenderStyle.h:
81457        (WebCore::RenderStyle::hasTransform):
81458        * rendering/RenderTableCell.cpp:
81459        (WebCore::RenderTableCell::requiresLayer):
81460        * rendering/RenderTableRow.h:
81461        (WebCore::RenderTableRow::requiresLayer):
81462
814632007-10-17  David Hyatt  <hyatt@apple.com>
81464
81465        Add support for mapping of the transform CSS property into RenderStyles.  Everything is now ready for the front
81466        end to use.
81467
81468        Reviewed by Mitz Pettel
81469
81470        * WebCore.xcodeproj/project.pbxproj:
81471        * css/CSSStyleSelector.cpp:
81472        (WebCore::CSSStyleSelector::applyProperty):
81473        * css/CSSTransformValue.h:
81474        (WebCore::CSSTransformValue::type):
81475        (WebCore::CSSTransformValue::values):
81476        * platform/graphics/AffineTransform.cpp:
81477        (WebCore::AffineTransform::skew):
81478        * platform/graphics/AffineTransform.h:
81479        * rendering/RenderStyle.cpp:
81480        (WebCore::StyleTransformData::StyleTransformData):
81481        (WebCore::StyleTransformData::operator==):
81482        (WebCore::StyleTransformData::transformDataEquivalent):
81483        * rendering/RenderStyle.h:
81484        (WebCore::TransformOperation::~TransformOperation):
81485        (WebCore::TransformOperation::operator!=):
81486        (WebCore::TransformOperation::isScaleOperation):
81487        (WebCore::TransformOperation::isRotateOperation):
81488        (WebCore::TransformOperation::isSkewOperation):
81489        (WebCore::TransformOperation::isTranslateOperation):
81490        (WebCore::TransformOperation::isMatrixOperation):
81491        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
81492        (WebCore::ScaleTransformOperation::isScaleOperation):
81493        (WebCore::ScaleTransformOperation::operator==):
81494        (WebCore::ScaleTransformOperation::apply):
81495        (WebCore::RotateTransformOperation::RotateTransformOperation):
81496        (WebCore::RotateTransformOperation::isRotateOperation):
81497        (WebCore::RotateTransformOperation::operator==):
81498        (WebCore::RotateTransformOperation::apply):
81499        (WebCore::SkewTransformOperation::SkewTransformOperation):
81500        (WebCore::SkewTransformOperation::isSkewOperation):
81501        (WebCore::SkewTransformOperation::operator==):
81502        (WebCore::SkewTransformOperation::apply):
81503        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
81504        (WebCore::TranslateTransformOperation::isTranslateOperation):
81505        (WebCore::TranslateTransformOperation::operator==):
81506        (WebCore::TranslateTransformOperation::apply):
81507        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
81508        (WebCore::MatrixTransformOperation::isMatrixOperation):
81509        (WebCore::MatrixTransformOperation::operator==):
81510        (WebCore::MatrixTransformOperation::apply):
81511        (WebCore::StyleTransformData::operator!=):
81512        (WebCore::RenderStyle::transform):
81513        (WebCore::RenderStyle::setTransform):
81514        (WebCore::RenderStyle::initialTransform):
81515
815162007-10-17  Adam Roben  <aroben@apple.com>
81517
81518        * page/Frame.cpp: I had to touch this file when fixing the Windows
81519        build. Checking it in in case it helps others, too.
81520
815212007-10-17  Eric Seidel  <eric@webkit.org>
81522
81523        Reviewed by Mark Rowe.
81524        
81525        Remove a couple more uses of svg_dynamic_cast.
81526
81527        No functional changes, no tests.
81528
81529        * ksvg2/svg/SVGPatternElement.cpp:
81530        (WebCore::SVGPatternElement::buildPattern):
81531
815322007-10-17  Mark Rowe  <mrowe@apple.com>
81533
81534        Reviewed by Eric and Geoff.
81535
81536        <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
81537        http://bugs.webkit.org/show_bug.cgi?id=15191
81538
81539        * loader/DocLoader.cpp:
81540        (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
81541
815422007-10-17  Justin Garcia  <justin.garcia@apple.com>
81543
81544        Reviewed by Harrison.
81545        
81546        <rdar://problem/5481523> 
81547        GoogleDocs: Safari hangs when indenting a particular table twice
81548        
81549        Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
81550        It is now more difficult to create selections that cause hangs.  Those are covered by:
81551        <rdar://problem/5543472>
81552
81553        * editing/IndentOutdentCommand.cpp:
81554        (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
81555        in the document, instead of the first Position.
81556        Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
81557        Tell TextIterator::rangeLength that we're doing selection preservation, so that it
81558        will emit characters between all VisiblePositions.
81559        (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
81560        passed to rangeFromLocationAndLength were reversed.
81561        Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
81562        above.
81563        * editing/TextIterator.cpp:
81564        (WebCore::CharacterIterator::CharacterIterator): 
81565        (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
81566        to forSelectionPreservation, to match the name of the boolean inside TextIterator and
81567        to match its meaning after r25522.
81568        (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
81569
815702007-10-16  Darin Adler  <darin@apple.com>
81571
81572        Reviewed by Mitz.
81573
81574        - fix http://bugs.webkit.org/show_bug.cgi?id=15536
81575          need to cache missing glyph so we're not slow on pages that show missing glyphs
81576
81577        - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
81578          (related to font data caching)
81579
81580        * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
81581        for fontData rather than for glyph to detect non-cached entries in the glyph data.
81582
81583        * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
81584        * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
81585        * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
81586        Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
81587        to return the proper value for haveGlyphs.
81588
815892007-10-16  Mark Rowe  <mrowe@apple.com>
81590
81591        Gtk build fix.  Replace use of assert with ASSERT_NOT_REACHED.
81592
81593        * platform/gtk/FontCacheGtk.cpp:
81594        (WebCore::FontCache::platformInit):
81595
815962007-10-16  Darin Adler  <darin@apple.com>
81597
81598        Reviewed by Adam.
81599
81600        - fix http://bugs.webkit.org/show_bug.cgi?id=15534
81601          WebScriptObject.h has some formatting and editorial mistakes
81602
81603        * bindings/objc/WebScriptObject.h: Fix wording and formatting.
81604
816052007-10-16  Darin Adler  <darin@apple.com>
81606
81607        - try to fix the Qt build
81608
81609        * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
81610        that are used in some Qt-specific source files.
81611
816122007-10-16  Darin Adler  <darin@apple.com>
81613
81614        Reviewed by Adele.
81615
81616        - fix http://bugs.webkit.org/show_bug.cgi?id=15525
81617          transpose (control-T) should do the last two characters on a line if at end of line
81618        - remove unused CommandByName class
81619        - move transpose command implementation here from Mac OS X WebKit
81620
81621        * editing/Editor.h:
81622        * editing/Editor.cpp:
81623        (WebCore::execTranspose): Added.
81624        (WebCore::Editor::transpose): Added. This has the transpose implementation from
81625        WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
81626        a special case for the end of a paragraph.
81627
81628        * page/Frame.h: Removed unused command() function member.
81629        * page/FramePrivate.h: Removed unused m_command data member.
81630        * page/Frame.cpp: Ditto.
81631
81632        * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
81633        * page/mac/WebCoreFrameBridge.mm: Ditto.
81634
81635        * WebCore.pro: Removed CommandByName.h/cpp.
81636        * WebCore.vcproj/WebCore.vcproj: Ditto.
81637        * WebCore.xcodeproj/project.pbxproj: Ditto.
81638
81639        * editing/CommandByName.cpp: Removed.
81640        * editing/CommandByName.h: Removed.
81641
816422007-10-16  Darin Adler  <darin@apple.com>
81643
81644        Reviewed by Maciej and Geoff (and looked over by Eric).
81645
81646        - http://bugs.webkit.org/show_bug.cgi?id=15519
81647          eliminate use of <ctype.h> for processing ASCII
81648
81649        * ForwardingHeaders/wtf/ASCIICType.h: Added.
81650        * ForwardingHeaders/wtf/DisallowCType.h: Added.
81651
81652        * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
81653        * config.h: Include DisallowCType.h.
81654
81655        * css/CSSParser.cpp:
81656        (WebCore::ParseString::lower):
81657        * css/CSSPrimitiveValue.cpp:
81658        (WebCore::isCSSTokenizerIdentifier):
81659        * css/CSSStyleDeclaration.cpp:
81660        (WebCore::propertyID):
81661        * html/HTMLSelectElement.cpp:
81662        (WebCore::stripLeadingWhiteSpace):
81663        * html/HTMLTokenizer.cpp:
81664        (WebCore::tagMatch):
81665        * loader/FTPDirectoryParser.cpp:
81666        (WebCore::parseOneFTPLine):
81667        * loader/TextResourceDecoder.cpp:
81668        (WebCore::TextResourceDecoder::checkForHeadCharset):
81669        * platform/DeprecatedCString.cpp:
81670        (WebCore::DeprecatedCString::lower):
81671        (WebCore::DeprecatedCString::upper):
81672        (WebCore::DeprecatedCString::find):
81673        (WebCore::DeprecatedCString::contains):
81674        * platform/DeprecatedString.cpp:
81675        (WebCore::equalCaseInsensitive):
81676        (WebCore::isCharacterAllowedInBase):
81677        (WebCore::DeprecatedString::find):
81678        (WebCore::DeprecatedString::contains):
81679        (WebCore::toIntegralType):
81680        * platform/DeprecatedString.h:
81681        (WebCore::DeprecatedChar::isSpace):
81682        (WebCore::DeprecatedChar::lower):
81683        (WebCore::DeprecatedChar::upper):
81684        * platform/KURL.cpp:
81685        (WebCore::KURL::parse):
81686        * platform/StringImpl.cpp:
81687        (WebCore::isSpace):
81688        (WebCore::StringImpl::containsOnlyWhitespace):
81689        (WebCore::StringImpl::isLower):
81690        (WebCore::StringImpl::lower):
81691        (WebCore::StringImpl::find):
81692        (WebCore::StringImpl::reverseFind):
81693        (WebCore::equalIgnoringCase):
81694        * platform/TextEncodingRegistry.cpp:
81695        (WebCore::TextEncodingNameHash::equal):
81696        (WebCore::TextEncodingNameHash::hash):
81697        (WebCore::atomicCanonicalTextEncodingName):
81698        * platform/mac/KeyEventMac.mm:
81699        (WebCore::keyIdentifierForKeyEvent):
81700        * platform/win/KeyEventWin.cpp:
81701        (WebCore::keyIdentifierForWindowsKeyCode):
81702        * platform/win/PopupMenuWin.cpp:
81703        (WebCore::isASCIIPrintable):
81704        (WebCore::PopupWndProc):
81705        * plugins/win/PluginViewWin.cpp:
81706        (WebCore::capitalizeRFC822HeaderFieldName):
81707        * rendering/RenderText.cpp:
81708        (WebCore::RenderText::widthFromCache):
81709        Use ASCIICType.h functions instead of ctype.h ones.
81710
817112007-10-16  Mitz Pettel  <mitz@webkit.org>
81712
81713        Reviewed by Dave Hyatt.
81714
81715        - fix http://bugs.webkit.org/show_bug.cgi?id=15296
81716          REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
81717
81718        Test: fast/block/float/marquee-shrink-to-avoid-floats.html
81719
81720        * rendering/RenderObject.cpp:
81721        (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
81722
817232007-10-16  Beth Dakin  <bdakin@apple.com>
81724
81725        Reviewed by Darin.
81726
81727        Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 
81728        Amazon seller page way too small
81729
81730        The font size at Amazon was way too small because the calls to 
81731        getComputedStyle and getPropertyValue did not cause the div to 
81732        attach because there was a pending stylesheet. The fix is to call 
81733        updateLayoutIgnorePendingStylesheets() instead of just 
81734        updateLayout().
81735
81736        * css/CSSComputedStyleDeclaration.cpp:
81737        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
81738
817392007-10-16  David Hyatt  <hyatt@apple.com>
81740
81741        Get transform-origin(x/y) mapped into the front end RenderStyle.  Adds a new StyleTransformData struct that
81742        holds transform-origin (and that will also eventually hold the parsed transform operations as well).
81743
81744        Reviewed by Beth
81745
81746        * css/CSSStyleSelector.cpp:
81747        (WebCore::CSSStyleSelector::applyProperty):
81748        * rendering/RenderStyle.cpp:
81749        (WebCore::StyleTransformData::StyleTransformData):
81750        (WebCore::StyleTransformData::operator==):
81751        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
81752        (WebCore::StyleRareNonInheritedData::operator==):
81753        (WebCore::RenderStyle::RenderStyle):
81754        (WebCore::RenderStyle::diff):
81755        * rendering/RenderStyle.h:
81756        (WebCore::StyleTransformData::operator!=):
81757        (WebCore::RenderStyle::transformOriginX):
81758        (WebCore::RenderStyle::transformOriginY):
81759        (WebCore::RenderStyle::setTransformOriginX):
81760        (WebCore::RenderStyle::setTransformOriginY):
81761        (WebCore::RenderStyle::initialTransformOriginX):
81762        (WebCore::RenderStyle::initialTransformOriginY):
81763
817642007-10-16  Adele Peterson  <adele@apple.com>
81765
81766        Reviewed by Alice.
81767
81768        Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
81769
81770        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):  When switching between types of select elements, call setRecalcListItems
81771          since recalcListItems updates the default selection in different ways for the different controls. 
81772
817732007-10-16  Alice Liu  <alice.liu@apple.com>
81774
81775        rubber-stamped by Darin.
81776
81777        flipping my previous fix around so that mac is special-cased instead of win.
81778
81779        * dom/Document.cpp:
81780        (WebCore::Document::defaultEventHandler):
81781
817822007-10-16  David Hyatt  <hyatt@apple.com>
81783
81784        Clean up transform parsing.  Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
81785        to simplify the code.
81786
81787        Reviewed by aroben
81788
81789        * css/CSSParser.cpp:
81790        (WebCore::CSSParser::parseValue):
81791        (WebCore::CSSParser::parseTransform):
81792        * css/CSSParser.h:
81793
817942007-10-16  Alice Liu  <alice.liu@apple.com>
81795
81796        Reviewed by Adele.
81797
81798        fixed <rdar://5085596> Accesskeys don't work
81799        
81800        * dom/Document.cpp:
81801        (WebCore::Document::defaultEventHandler):
81802        accesskey modifier is platform-depedent.
81803
818042007-10-15  Mark Rowe  <mrowe@apple.com>
81805
81806        Reviewed by John.
81807
81808        <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
81809
81810        A race condition between icon database import and Safari asking for an icon for the empty URL
81811        was resulting in a PageURLRecord being created for a URL that can never be retained.  By enforcing
81812        that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
81813
81814        * loader/icon/IconDatabase.cpp:
81815        (WebCore::IconDatabase::iconForPageURL):
81816        (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
81817        (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
81818
818192007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
81820
81821        Reviewed by Ollie.
81822
81823        Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
81824        over m_deliveryData instead of its data buffer
81825
81826        * plugins/win/PluginStreamWin.cpp:
81827        (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
81828        m_deliveryData
81829        (WebCore::PluginStreamWin::deliverData): Fix memmove() call
81830        (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
81831        * plugins/win/PluginStreamWin.h: Use OwnPtr
81832
818332007-10-15  Steve Falkenburg  <sfalken@apple.com>
81834
81835        Reviewed by Oliver.
81836
81837        Add missing null check.
81838
81839        * platform/network/cf/AuthenticationCF.cpp:
81840        (WebCore::core):
81841
818422007-10-15  Mark Rowe  <mrowe@apple.com>
81843
81844        Fix the no-SVG build again.  Add new transform CSS properties to the switch statements.
81845
81846        * css/CSSComputedStyleDeclaration.cpp:
81847        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
81848        * css/CSSStyleSelector.cpp:
81849        (WebCore::CSSStyleSelector::applyProperty):
81850
818512007-10-15  Darin Adler  <darin@apple.com>
81852
81853        Reviewed by Mitz.
81854
81855        - http://bugs.webkit.org/show_bug.cgi?id=15518
81856          Remove the unused attemptFontSubstitution feature and do some
81857          cleanup of glyphDataForCharacter.
81858
81859        * platform/Font.h:
81860        * platform/Font.cpp:
81861        (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
81862        and cluster parameters to the glyphDataForCharacter function.
81863        (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
81864        attemptFontSubstitution parameter. Removed the isUpper check before calling
81865        toUpper in the small caps code path. Split up the inner loop into separate
81866        copies for non-small-caps and small caps. Broke out the system fallback
81867        page handling so it's not inside the loop. Changed system fallback so it uses
81868        the character and breaks it up into UTF-16 as needed, instead of using a
81869        passed-in "character cluster".
81870
81871        * platform/TextStyle.h:
81872        (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
81873        (WebCore::TextStyle::applyWordRounding): Ditto.
81874
818752007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
81876
81877        Reviewed by Ollie.
81878
81879        Remove an operator precedence warning on Windows
81880
81881        * editing/markup.cpp:
81882        (WebCore::escapeContentText): Use (a) | (b)
81883        (WebCore::appendEscapedContent): Use (a) | (b)
81884
818852007-10-15  Kevin McCullough  <kmccullough@apple.com>
81886
81887        Reviewed by Darin.
81888
81889        - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
81890        - Now we take the doc into account when resizing.
81891        - Also I found an issue where we would resize to outside the window, because
81892          the resize would be smaller than the window size but the location of the
81893          window would make the resize go off-screen. Now we move the window back into the screen.
81894
81895        * bindings/js/kjs_window.cpp:
81896        (KJS::adjustWindowRect):
81897        (KJS::WindowFunc::callAsFunction):
81898
818992007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
81900
81901        Reviewed by Anders.
81902
81903        <rdar://5510700> Repro crash loading embedded Windows Media Player
81904        content
81905
81906        Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
81907        will crash if it receives its resource requests out of order, whereas we
81908        were immediately fulfilling untargeted, non-JavaScript requests and
81909        scheduling targeted or JavaScript resource requests. Implement his
81910        suggested fix, which is to schedule PluginRequests for all resource
81911        requests 
81912
81913        * plugins/win/PluginViewWin.cpp:
81914        (WebCore::getString):
81915        (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
81916        has no target, create a stream for it
81917        (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
81918        requests
81919
819202007-10-15  Mark Rowe  <mrowe@apple.com>
81921
81922        Gtk and Qt build fix.  Add new .cpp file to project.
81923
81924        * WebCore.pro:
81925
819262007-10-15  John Sullivan  <sullivan@apple.com>
81927
81928        * platform/mac/FontDataMac.mm:
81929        D'oh! Added missing #import to fix build
81930
819312007-10-15  John Sullivan  <sullivan@apple.com>
81932
81933        Reviewed by Geoff
81934
81935        * platform/mac/FontDataMac.mm:
81936        (WebCore::FontData::smallCapsFontData):
81937        replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
81938
819392007-10-15  David Hyatt  <hyatt@apple.com>
81940
81941        The CSS WG has been discussing the concept of rotation.  In the latest draft specification, two properties
81942        have been introduced: rotation and rotation-point.  I believe these properties should be generalized to
81943        allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
81944
81945        This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
81946        They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
81947        for arbitrary affine transforms rather than just rotation.
81948
81949        Reviewed by Beth Dakin
81950
81951        * WebCore.xcodeproj/project.pbxproj:
81952        * WebCore.vcproj/WebCore.vcproj:
81953        * css/CSSComputedStyleDeclaration.cpp:
81954        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
81955        * css/CSSParser.cpp:
81956        (WebCore::CSSParser::parseValue):
81957        (WebCore::TransformParseContext:::m_list):
81958        (WebCore::TransformParseContext::list):
81959        (WebCore::TransformParseContext::failed):
81960        (WebCore::TransformParseContext::addValue):
81961        (WebCore::TransformOperationInfo::TransformOperationInfo):
81962        (WebCore::TransformOperationInfo::type):
81963        (WebCore::TransformOperationInfo::argCount):
81964        (WebCore::TransformOperationInfo::unit):
81965        (WebCore::TransformOperationInfo::unknown):
81966        (WebCore::TransformOperationInfo::hasCorrectArgCount):
81967        (WebCore::CSSParser::parseTransform):
81968        (WebCore::CSSParser::parseTransformOrigin):
81969        * css/CSSParser.h:
81970        * css/CSSPropertyNames.in:
81971        * css/CSSTransformValue.cpp: Added.
81972        (WebCore::CSSTransformValue::CSSTransformValue):
81973        (WebCore::CSSTransformValue::~CSSTransformValue):
81974        (WebCore::CSSTransformValue::addValue):
81975        (WebCore::CSSTransformValue::cssText):
81976        * css/CSSTransformValue.h: Added.
81977        (WebCore::CSSTransformValue::):
81978
819792007-10-15  Mark Rowe  <mrowe@apple.com>
81980
81981        Reviewed by Oliver.
81982
81983        Fix the no-SVG build.
81984
81985        * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
81986        * rendering/RenderObject.cpp:
81987        (WebCore::objectIsRelayoutBoundary):
81988
819892007-10-15  Darin Adler  <darin@apple.com>
81990
81991        Reviewed by Sam.
81992
81993        - fix http://bugs.webkit.org/show_bug.cgi?id=15520
81994          alert(undefined) should say "undefined" in the alert
81995
81996        Test: fast/dom/Window/alert-undefined.html
81997
81998        * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
81999        It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
82000        Firefox 2).
82001
820022007-10-15  Adele Peterson  <adele@apple.com>
82003
82004        Reviewed by Darin.
82005
82006        Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
82007        <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
82008
82009        * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0.  In general,
82010          we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
82011
820122007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
82013
82014        Reviewed by Maciej.
82015
82016        Return a more appropriate error from NPN_RequestRange, which is
82017        currently unimplemented
82018
82019        * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 
82020        (NPN_RequestRead):
82021
820222007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
82023
82024        Reviewed by Maciej.
82025
82026        Add a missing function pointer to the m_browserFuncs structure
82027
82028        * plugins/win/PluginPackageWin.cpp:
82029        (WebCore::PluginPackageWin::load):
82030
820312007-10-15  Simon Hausmann  <hausmann@kde.org>
82032
82033        Reviewed by Lars.
82034
82035        Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
82036
82037        * WebCore.pro:
82038        * loader/CachedFont.cpp:
82039        * platform/qt/FontCacheQt.cpp: Removed.
82040        * platform/qt/FontCustomPlatformData.cpp: Removed.
82041        * platform/qt/FontCustomPlatformData.h: Removed.
82042        * platform/qt/FontDataQt.cpp: Removed.
82043        * platform/qt/FontPlatformData.h: Removed.
82044        * platform/qt/FontQt.cpp:
82045        * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
82046
820472007-10-15  Simon Hausmann  <hausmann@kde.org>
82048
82049        Reviewed by Lars.
82050
82051        Adapt to the latest API changes in the SVG API/Code.
82052
82053        * platform/graphics/svg/qt/RenderPathQt.cpp:
82054        (WebCore::RenderPath::strokeContains):
82055        (WebCore::getPathStroke):
82056        * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
82057        (WebCore::SVGPaintServer::setPenProperties):
82058        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
82059
820602007-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
82061
82062        Reviewed by Eric.
82063
82064        Fix bad abstraction in ImageBuffer class.
82065        While the class itself is platform-aware and thus it's location in platform/graphics
82066        is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
82067
82068        As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
82069        implicit platform/ <-> rendering/ dependencies.
82070
82071        * WebCore.pro:
82072        * WebCore.vcproj/WebCore.vcproj:
82073        * WebCore.xcodeproj/project.pbxproj:
82074        * ksvg2/svg/SVGMaskElement.cpp:
82075        (WebCore::SVGMaskElement::drawMaskerContent):
82076        * ksvg2/svg/SVGPatternElement.cpp:
82077        (WebCore::SVGPatternElement::buildPattern):
82078        * platform/graphics/ImageBuffer.cpp: Removed.
82079        * platform/graphics/ImageBuffer.h:
82080        (WebCore::ImageBuffer::size):
82081        * platform/graphics/svg/SVGImage.cpp:
82082        (WebCore::SVGImage::nativeImageForCurrentFrame):
82083        * rendering/SVGRenderSupport.cpp:
82084        (WebCore::renderSubtreeToImage):
82085        * rendering/SVGRenderSupport.h:
82086
820872007-10-14  Peter Kasting  <pkasting@google.com>
82088
82089        Reviewed by Maciej.
82090
82091        http://bugs.webkit.org/show_bug.cgi?id=15210
82092        Draw the image outline even for broken images.
82093
82094        * rendering/RenderImage.cpp:
82095        (WebCore::RenderImage::paint):
82096
820972007-10-14  Kevin Ollivier  <kevino@theolliviers.com>
82098
82099        Reviewed by Adam.
82100
82101        Add support for MSVC7, and fix cases where PLATFORM(WIN) should
82102        be PLATFORM(WIN_OS) for other ports building on Windows.
82103
82104        * dom/XMLTokenizer.cpp:
82105        * page/FrameTree.cpp:
82106        * platform/StaticConstructors.h:
82107        * platform/String.cpp:
82108
821092007-10-14  Maxime Britto  <mbritto@pleyo.com>
82110
82111        Reviewed by Mitz.
82112
82113        Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
82114        http://bugs.webkit.org/show_bug.cgi?id=15212
82115
82116        * loader/FrameLoader.cpp:
82117        (WebCore::FrameLoader::goBackOrForward):
82118
821192007-10-14  Mitz Pettel  <mitz@webkit.org>
82120
82121        Reviewed by Darin.
82122
82123        - fix http://bugs.webkit.org/show_bug.cgi?id=15181
82124          text-transform: uppercase not working in input (submit, reset, button) elements
82125          <rdar://problem/5474647>
82126
82127        Test: fast/forms/button-text-transform.html
82128
82129        Text transformations require access to the original text. The button's inner
82130        text was an anonymous RenderText, meaning it did not have a node to retrieve
82131        the original text from. The patch fixes this by changing the inner text into a
82132        RenderTextFragment, which stores its own original text.
82133
82134        * rendering/RenderButton.cpp:
82135        (WebCore::RenderButton::setText):
82136        * rendering/RenderButton.h:
82137
821382007-10-14  Eric Seidel  <eric@webkit.org>
82139
82140        Reviewed by Maciej.
82141
82142        REGRESSION: Javascript bug in getElementsByName
82143        http://bugs.webkit.org/show_bug.cgi?id=15274
82144
82145        Test: fast/dom/getelementbyname-invalidation.html
82146
82147        * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
82148
821492007-10-14  Mitz Pettel  <mitz@webkit.org>
82150
82151        Reviewed by Maciej.
82152
82153        - http://bugs.webkit.org/show_bug.cgi?id=15303
82154          Remove now-redundant code to restore dialog arguments after clear
82155
82156        This patch reverts the kjs_window.* parts of r25576 because following
82157        r25783, window properties, including dialog arguments, are not cleared
82158        when the newly created modal dialog transitions to the document.
82159
82160        * bindings/js/kjs_window.cpp:
82161        (KJS::WindowPrivate::WindowPrivate):
82162        (KJS::createWindow):
82163        (KJS::showModalDialog):
82164        (KJS::Window::clear):
82165        (KJS::WindowFunc::callAsFunction):
82166        (KJS::Window::setReturnValueSlot):
82167        * bindings/js/kjs_window.h:
82168
821692007-10-14  Mitz Pettel  <mitz@webkit.org>
82170
82171        Reviewed by Dave Hyatt.
82172
82173        - fix http://bugs.webkit.org/show_bug.cgi?id=15309
82174          <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
82175
82176        Test: fast/table/generated-caption.html
82177
82178        * rendering/RenderTable.cpp:
82179        (WebCore::RenderTable::addChild): Changed to make sure that the child is
82180        not added into generated after content. Also made adding a child before
82181        a table caption work correctly instead of adding the child after the caption.
82182
821832007-10-14  Peter Kasting  <pkasting@google.com>
82184
82185        Reviewed by Maciej.
82186
82187        http://bugs.webkit.org/show_bug.cgi?id=15141
82188        Feed GIF reader data from the point in the stream it expects.  Also,
82189        mirror the reader's failure state up to the wrapping decoder.
82190
82191        * platform/image-decoders/gif/GIFImageReader.cpp:
82192        (GIFImageReader::read):
82193
821942007-10-14  Peter Kasting  <pkasting@google.com>
82195
82196        Reviewed by Maciej.
82197
82198        http://bugs.webkit.org/show_bug.cgi?id=15142
82199        Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
82200        even if more data has arrived since the last decoding pass.
82201
82202        * platform/image-decoders/gif/GIFImageDecoder.cpp:
82203        (WebCore::GIFImageDecoder::frameBufferAtIndex):
82204
82205== Rolled over to ChangeLog-2007-10-14 ==
82206