24a392257faba3f6ca29529c9486feccb4dbbc9d
[WebKit-https.git] / WebCore / ChangeLog
1 2009-04-09  Darin Adler  <darin@apple.com>
2
3         Reviewed by Anders Carlsson and Sam Weinig.
4
5         Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
6
7         Longer term solution is to change the design so Safari doesn't read and write all of history.
8         This patch is step one: Do the serializing, which is done on the main thread, much faster.
9
10         * WebCore.base.exp: Added new entry points.
11         * WebCore.xcodeproj/project.pbxproj: Added new source files.
12
13         * history/cf: Added.
14
15         * history/cf/HistoryPropertyList.cpp: Added.
16         * history/cf/HistoryPropertyList.h: Added. Code to write history files. In the future we'll also
17         have code for reading here too.
18
19         * platform/cf/BinaryPropertyList.cpp: Added.
20         * platform/cf/BinaryPropertyList.h: Added. Code to write binary property list files.
21
22 2009-04-09  Simon Fraser  <simon.fraser@apple.com>
23
24         Reviewed by Antti Koivisto
25
26         https://bugs.webkit.org/show_bug.cgi?id=25122
27
28         If deferred repainting is active, we need to ensure that there are no repaints
29         pending at the end of layoutIfNeededRecursive, which is called just before
30         painting via -viewWillDraw.
31
32         * page/FrameView.cpp:
33         (WebCore::FrameView::layoutIfNeededRecursive):
34
35 2009-04-09  John Grabowski  <jrg@chromium.org>
36
37         Reviewed by Darin Fisher.
38
39         https://bugs.webkit.org/show_bug.cgi?id=25117
40         Fix Mac Chromium form controls.
41
42         * rendering/RenderThemeChromiumMac.mm:
43         When rendering native controls in Mac Chromium, use a clean NSGraphicsContext.
44         Properly save and restore native graphics context.
45         (WebCore::RenderThemeChromiumMac::paintCheckbox):
46         (WebCore::RenderThemeChromiumMac::paintRadio):
47         (WebCore::RenderThemeChromiumMac::paintMenuList):
48         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
49         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
50         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
51
52 2009-04-09  Drew Wilson  <atwilson@google.com>
53
54         Reviewed by Alexey Proskuryakov.
55
56         https://bugs.webkit.org/show_bug.cgi?id=25030
57         Refactor MessagePort code to enable Chrome to use a MessagePortProxy object
58         instead of a real MessagePort for the entangledPort, since it could
59         theoretically live in a separate process.
60
61         The goal of this refactoring is to remove all assumptions that the object
62         representing the entangled port is actually of type MessagePort. All
63         operations that were previously directly modifying private MessagePort member
64         variables in the entangled port (i.e. entangle(), postMessage()) have been changed
65         to invoke functions in the  MessagePortProxy interface instead which will allow
66         the Chrome bindings to proxy these calls to another process.
67
68         No new layout tests, as this is just a refactoring with no bug fixes
69         or new functionality.
70
71         * GNUmakefile.am:
72         * WebCore.vcproj/WebCore.vcproj:
73         * WebCore.xcodeproj/project.pbxproj:
74         * bindings/js/JSMessagePortCustom.cpp:
75         (WebCore::JSMessagePort::mark):
76         * dom/MessagePort.cpp:
77         (WebCore::MessagePort::clone):
78         (WebCore::MessagePort::postMessage):
79         (WebCore::MessagePort::deliverMessage):
80         (WebCore::MessagePort::startConversation):
81         (WebCore::MessagePort::close):
82         (WebCore::MessagePort::entangle):
83         (WebCore::MessagePort::unentangle):
84         * dom/MessagePort.h:
85         (WebCore::MessagePort::entangledPort):
86         * dom/MessagePortProxy.h: Added.
87         (WebCore::MessagePortProxy::~MessagePortProxy):
88
89 2009-04-08  Sam Weinig  <sam@webkit.org>
90
91         Reviewed by Geoffrey "Big Boy" Garen.
92
93         Fix for <rdar://problem/5745677> Possible to stop load during an unload event
94         Also fixes https://bugs.webkit.org/show_bug.cgi?id=20605
95
96         Tests: fast/events/stop-load-in-unload-handler-using-document-write.html
97                fast/events/stop-load-in-unload-handler-using-window-stop.html
98
99         Don't allow calling methods that would stop the new load inside the unload
100         event.
101
102         * loader/FrameLoader.cpp:
103         (WebCore::FrameLoader::FrameLoader):
104         (WebCore::FrameLoader::stopLoading):
105         (WebCore::FrameLoader::stopAllLoaders):
106         * loader/FrameLoader.h:
107
108 2009-04-09  David Kilzer  <ddkilzer@apple.com>
109
110         Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
111
112         Rolled r42345 back in.  The build failure was caused by an
113         internal script which had not been updated the same way that
114         build-webkit was updated.
115
116         * Configurations/WebCore.xcconfig:
117         * DerivedSources.make:
118         * bindings/objc/DOM.mm:
119         (WebCore::createElementClassMap):
120         (+[DOMNode _wrapNode:WebCore::]):
121         * bindings/objc/DOMCSS.mm:
122         (+[DOMCSSValue _wrapCSSValue:WebCore::]):
123         * bindings/objc/DOMEvents.mm:
124         (+[DOMEvent _wrapEvent:WebCore::]):
125         * bindings/objc/DOMInternal.h:
126         * bindings/objc/ExceptionHandlers.mm:
127         (WebCore::raiseDOMException):
128         * html/HTMLEmbedElement.idl:
129         * html/HTMLFrameElement.idl:
130         * html/HTMLIFrameElement.idl:
131         * html/HTMLObjectElement.idl:
132
133 2009-04-09  Simon Fraser  <simon.fraser@apple.com>
134
135         Reviewed by Darin Adler
136
137         https://bugs.webkit.org/show_bug.cgi?id=25109
138
139         Eliminate CompositeAnimationPrivate, which was a needless level
140         of abstraction. Remove the methods like addToStyleAvailableWaitList()
141         that simply turn around and call the animation controller.
142         
143         Rename animationControllerPriv() to animationController().
144         Rename willNeedService() to timeToNextService().
145
146         * page/animation/AnimationBase.cpp:
147         (WebCore::AnimationBase::~AnimationBase):
148         (WebCore::AnimationBase::updateStateMachine):
149         (WebCore::AnimationBase::timeToNextService):
150         (WebCore::AnimationBase::beginAnimationUpdateTime):
151         * page/animation/AnimationBase.h:
152         * page/animation/AnimationController.cpp:
153         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
154         * page/animation/CompositeAnimation.cpp:
155         (WebCore::CompositeAnimation::~CompositeAnimation):
156         (WebCore::CompositeAnimation::clearRenderer):
157         (WebCore::CompositeAnimation::updateTransitions):
158         (WebCore::CompositeAnimation::updateKeyframeAnimations):
159         (WebCore::CompositeAnimation::animate):
160         (WebCore::CompositeAnimation::getAnimatedStyle):
161         (WebCore::CompositeAnimation::setAnimating):
162         (WebCore::CompositeAnimation::timeToNextService):
163         (WebCore::CompositeAnimation::getAnimationForProperty):
164         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
165         (WebCore::CompositeAnimation::suspendAnimations):
166         (WebCore::CompositeAnimation::resumeAnimations):
167         (WebCore::CompositeAnimation::overrideImplicitAnimations):
168         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
169         (WebCore::CompositeAnimation::isAnimatingProperty):
170         (WebCore::CompositeAnimation::pauseAnimationAtTime):
171         (WebCore::CompositeAnimation::pauseTransitionAtTime):
172         (WebCore::CompositeAnimation::numberOfActiveAnimations):
173         * page/animation/CompositeAnimation.h:
174         (WebCore::CompositeAnimation::animationController):
175         (WebCore::CompositeAnimation::isSuspended):
176         (WebCore::CompositeAnimation::hasAnimations):
177         (WebCore::CompositeAnimation::CompositeAnimation):
178         * page/animation/ImplicitAnimation.cpp:
179         (WebCore::ImplicitAnimation::sendTransitionEvent):
180         (WebCore::ImplicitAnimation::timeToNextService):
181         * page/animation/ImplicitAnimation.h:
182         * page/animation/KeyframeAnimation.cpp:
183         (WebCore::KeyframeAnimation::sendAnimationEvent):
184         (WebCore::KeyframeAnimation::timeToNextService):
185         * page/animation/KeyframeAnimation.h:
186
187 2009-04-09  Alexey Proskuryakov  <ap@webkit.org>
188
189         Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
190         It broke Mac build, and I don't know how to fix it.
191
192         * Configurations/WebCore.xcconfig:
193         * DerivedSources.make:
194         * bindings/objc/DOM.mm:
195         (WebCore::createElementClassMap):
196         (+[DOMNode _wrapNode:WebCore::]):
197         * bindings/objc/DOMCSS.mm:
198         (+[DOMCSSValue _wrapCSSValue:WebCore::]):
199         * bindings/objc/DOMEvents.mm:
200         (+[DOMEvent _wrapEvent:WebCore::]):
201         * bindings/objc/DOMInternal.h:
202         * bindings/objc/ExceptionHandlers.mm:
203         (WebCore::raiseDOMException):
204         * html/HTMLEmbedElement.idl:
205         * html/HTMLFrameElement.idl:
206         * html/HTMLIFrameElement.idl:
207         * html/HTMLObjectElement.idl:
208
209 2009-04-09  Xan Lopez  <xlopez@igalia.com>
210
211         Unreviewed build fix.
212
213         RenderView::docWidth() was made private by r42334. That commit
214         changes its usage for overflowWidth(), so do that here too.
215
216         * page/PrintContext.cpp:
217         (WebCore::PrintContext::computePageRects):
218
219 2009-04-09  Xan Lopez  <xlopez@igalia.com>
220
221         Reviewed by Holger Freyther.
222
223         https://bugs.webkit.org/show_bug.cgi?id=21546
224         [GTK] ATK accessibility enhancements
225
226         Based on a patch by Alp Toker.
227
228         Implement AtkObject::ref_state_set. Still quite a few states not
229         implemented.
230
231         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
232
233 2009-04-09  Xan Lopez  <xlopez@igalia.com>
234
235         Reviewed by Holger Freyther.
236
237         https://bugs.webkit.org/show_bug.cgi?id=21546
238         [GTK] ATK accessibility enhancements
239
240         Based on a patch by Alp Toker.
241
242         Move fallback object creation to its own function, as it will be
243         used in several places.
244
245         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
246         (fallbackObject):
247
248 2009-04-09  Xan Lopez  <xlopez@igalia.com>
249
250         Reviewed by Holger Freyther.
251
252         https://bugs.webkit.org/show_bug.cgi?id=21546
253         [GTK] ATK accessibility enhancements
254
255         Based on a patch by Alp Toker.
256
257         Move AccessibilityObject methods to their file.
258
259         * page/gtk/AccessibilityObjectAtk.cpp:
260         (WebCore::AccessibilityObject::wrapper):
261         (WebCore::AccessibilityObject::setWrapper):
262         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
263
264 2009-04-09  Xan Lopez  <xlopez@igalia.com>
265
266         Reviewed by Holger Freyther.
267
268         https://bugs.webkit.org/show_bug.cgi?id=21546
269         [GTK] ATK accessibility enhancements
270
271         Rework accessibility type generation code, based on Mozilla a11y
272         implementation.
273
274         Have one base a11y type, and generate derived types that implement
275         only the necessary interfaces at runtime, based on the specific
276         object we are wrapping. This allows to save a lot of code while
277         covering all possible cases.
278
279         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
280
281 2009-04-09  Eric Seidel  <eric@webkit.org>
282
283         Reviewed by Oliver Hunt.
284
285         Fix document.implementation.createDocument(null, "a:b") not to crash!
286         https://bugs.webkit.org/show_bug.cgi?id=25096
287
288         Test: fast/dom/DOMImplementation/createDocument-namespace-err.html
289
290         * dom/ContainerNode.cpp:
291         (WebCore::ContainerNode::addChild): add ASSERT() to give a better crash next time
292         * dom/DOMImplementation.cpp:
293         (WebCore::DOMImplementation::createDocument): check the exception code before using the result
294
295 2009-04-08  Adam Roben  <aroben@apple.com>
296
297         Make <select>s in application chrome documents match the Vista system
298         dialog look
299
300         Reviewed by Dave Hyatt.
301
302         * rendering/RenderThemeWin.cpp:
303         (WebCore::documentIsInApplicationChromeMode): Added this simple helper
304         function.
305         (WebCore::RenderThemeWin::getThemeData): In application chrome mode,
306         the drop down button never uses any look but the "normal" look.
307         (WebCore::RenderThemeWin::paintMenuList): In application chrome mode,
308         use the "readonly" style to match system dialogs.
309
310 2009-04-08  Adam Roben  <aroben@apple.com>
311
312         Fix <rdar://6592515> Crash closing tab with Top Sites or Cover Flow
313         showing after clicking "Go Back" in phishing alert
314
315         RenderButton's m_timer is not stopped when its Document enters the
316         page cache. When the WebView was torn down, the timer would fire after
317         the Frame's Page had been destroyed, leading to a crash. This patch
318         just makes the timer do nothing when it fires. Making the timer not
319         fire when in the page cache is covered by bug 25110.
320
321         Reviewed by Dave Hyatt.
322
323         No test possible.
324
325         * rendering/RenderButton.cpp:
326         (WebCore::RenderButton::timerFired): Do nothing when we're in the page
327         cache.
328
329 2009-04-09  David Hyatt  <hyatt@apple.com>
330
331         Reviewed by Adam Roben
332
333         Fix bugs where we would mistakenly turn off blitting for iframes if an external paint
334         caused the checks to be triggered too early in the loading process of the frame.
335
336         * rendering/RenderBoxModelObject.cpp:
337         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
338
339 2009-04-08  Simon Fraser  <simon.fraser@apple.com>
340
341         Reviewed by Cameron Zwarich
342
343         https://bugs.webkit.org/show_bug.cgi?id=25106
344         
345         Fix signature of virtual function on AnimationBase so that it matches
346         those in the derived classes, by removing unused parameter.
347         
348         * page/animation/AnimationBase.h:
349         (WebCore::AnimationBase::endAnimation):
350
351 2009-04-08  David Kilzer  <ddkilzer@apple.com>
352
353         <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
354
355         Reviewed by Darin Adler and Maciej Stachowiak.
356
357         Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
358         that SVG DOM Objective-C bindings may be optionally disabled.
359
360         * Configurations/WebCore.xcconfig: Added
361         ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
362         FEATURE_DEFINES and EXCLUDED_SOURCE_FILE_NAMES.  When SVG DOM
363         Objective-C bindings are disabled, two generated header files no
364         longer exist and none of the generated DOMSVG*.mm files should
365         be compiled.
366         * DerivedSources.make: All of the WebCore.SVG*.exp files contain
367         SVG DOM Objective-C bindings classes, so exclude them unless
368         ENABLE_SVG_DOM_OBJC_BINDINGS is set.
369         * bindings/objc/DOM.mm: Switched from using ENABLE(SVG) to using
370         ENABLE(SVG_DOM_OBJC_BINDINGS).
371         (WebCore::createElementClassMap):
372         (+[DOMNode _wrapNode:WebCore::]):
373         * bindings/objc/DOMCSS.mm: Ditto.
374         (+[DOMCSSValue _wrapCSSValue:WebCore::]):
375         * bindings/objc/DOMEvents.mm: Ditto.
376         (+[DOMEvent _wrapEvent:WebCore::]):
377         * bindings/objc/DOMInternal.h: Ditto.
378         * bindings/objc/ExceptionHandlers.mm: Added use of
379         ENABLE(SVG_DOM_OBJC_BINDINGS).
380         (WebCore::raiseDOMException):
381         * html/HTMLEmbedElement.idl: Excluded -getSVGDocument method
382         in generated Objective-C DOM classes if SVG DOM Objective-C
383         bindings are disabled.
384         * html/HTMLFrameElement.idl: Ditto.
385         * html/HTMLIFrameElement.idl: Ditto.
386         * html/HTMLObjectElement.idl: Ditto.
387
388 2009-04-08  Dan Bernstein  <mitz@apple.com>
389
390         Reviewed by Sam Weinig.
391
392         - limit the workaround for <rdar://problem/5781372> to Mac OS X versions
393           that need it
394
395         * platform/mac/WebFontCache.mm:
396         (fixUpWeight): Changed this function to be a no-op post-Leopard.
397
398 2009-04-08  Dan Bernstein  <mitz@apple.com>
399
400         Reviewed by Dave Hyatt.
401
402         - fix <rdar://problem/6771547> Appending to a RenderText causes all its
403           lines to be dirtied
404
405         Test: fast/repaint/text-append-dirty-lines.html
406
407         * rendering/RenderText.cpp:
408         (WebCore::RenderText::setTextWithOffset): If no text boxes intersected
409         with or came after the new text, dirty the last root box, since the new
410         text may begin there. Having at least one dirty line prevents the
411         incorrect dirtying of all lines later during layoutInlineChildren().
412
413 2009-04-08  Darin Fisher  <darin@chromium.org>
414
415         Reviewed by Eric Seidel.
416
417         https://bugs.webkit.org/show_bug.cgi?id=25100
418
419         Fixes a Chromium-specific crash in WebCore::ImageBuffer::context that
420         occurs when rendering semi-transparent RTL text.
421
422         Test: fast/text/complex-text-opacity.html
423
424         * platform/graphics/chromium/FontChromiumWin.cpp: Handle RTL when computing text bounds.
425         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
426
427 2009-04-08  David Hyatt  <hyatt@apple.com>
428
429         Reviewed by Beth Dakin
430
431         Fix a porting error in my previous patch.  A != was supposed to be an ==.
432
433         * platform/ScrollView.cpp:
434         (WebCore::ScrollView::updateScrollbars):
435
436 2009-04-08  David Hyatt  <hyatt@apple.com>
437
438         Reviewed by Adam Roben and Darin Adler
439
440         Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, repaints inconsistent for
441         fixed positioned elements.
442
443         Rewrite the updateScrollers method to be more correct in its results.
444
445         Test: fast/block/positioning/fixed-positioning-scrollbar-bug.html
446
447         * dom/Document.cpp:
448         (WebCore::Document::recalcStyle):
449         (WebCore::Document::implicitClose):
450         * page/FrameView.cpp:
451         (WebCore::FrameView::createScrollbar):
452         (WebCore::FrameView::layout):
453         (WebCore::FrameView::adjustPageHeight):
454         * page/FrameView.h:
455         * page/win/FrameWin.cpp:
456         (WebCore::computePageRectsForFrame):
457         * platform/ScrollView.cpp:
458         (WebCore::ScrollView::ScrollView):
459         (WebCore::ScrollView::updateScrollbars):
460         * platform/ScrollView.h:
461         * rendering/RenderView.cpp:
462         (WebCore::RenderView::layout):
463         (WebCore::RenderView::docHeight):
464         (WebCore::RenderView::docWidth):
465         * rendering/RenderView.h:
466
467 2009-04-08  Sam Weinig  <sam@webkit.org>
468
469         Reviewed by Anders Carlsson.
470
471         Fix for <rdar://problem/6226200> Implement Microsoft's X-FRAME-OPTIONS anti-framing defense
472
473         Tests: http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
474                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html
475                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
476                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
477                http/tests/security/XFrameOptions/x-frame-options-deny.html
478                http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html
479                http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html
480
481         * dom/Document.cpp:
482         (WebCore::Document::processHttpEquiv): Stop the current load and redirect to about:blank
483         if an X-FRAME-OPTIONS <meta> tag http-equiq dictates we should.
484         * loader/FrameLoader.cpp:
485         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): Add logic to parse
486         the X-FRAME-OPTIONS parameter.
487         * loader/FrameLoader.h:
488         * loader/MainResourceLoader.cpp:
489         (WebCore::MainResourceLoader::didReceiveResponse): Stop the current load if framed and
490         a X-FRAME-OPTIONS header and its parameter dictate that we should.
491
492 2009-04-08  Adam Roben  <aroben@apple.com>
493
494         Fix http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html on Windows
495
496         Reviewed by Sam Weinig.
497
498         * platform/network/cf/ResourceHandleCFNet.cpp:
499         (WebCore::ResourceHandle::loadResourceSynchronously): Mimic the
500         ResourceHandleMac code by propagating the CFError's error code for
501         kCFErrorDomainCFNetwork errors to the ResourceResponse.
502
503 2009-04-08  Anders Carlsson  <andersca@apple.com>
504
505         Try to fix the PPC build.
506         
507         * plugins/npfunctions.h:
508
509 2009-04-08  Darin Adler  <darin@apple.com>
510
511         Reviewed by Sam Weinig.
512
513         <rdar://problem/5908616> tokenizer resizer should handle edge cases consistently
514
515         * html/HTMLTokenizer.cpp:
516         (WebCore::HTMLTokenizer::enlargeBuffer): Handle edge cases the same way as a failed fastMalloc.
517         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto.
518
519 2009-04-08  David Hyatt  <hyatt@apple.com>
520
521         Reviewed by Darin Adler
522
523         Make sure that cloneNode works with SVG attributes that require synchronization.  This fixes
524         issues with <use> element shadow tree cloning where the clones can end up not obtaining the
525         correct attribute values.
526
527         A subsequent patch of mine will expose this problem and cause it to be covered by existing
528         layout tests, so no test is required at this time for this problem.
529
530         * dom/Element.cpp:
531         (WebCore::Element::cloneElementWithoutChildren):
532
533 2009-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
534
535         Reviewed by Timothy Hatcher.
536
537         https://bugs.webkit.org/show_bug.cgi?id=25093
538         REGRESSION: some scripts are showing in the Inspector with only "true"
539         as the source.
540
541         * inspector/InspectorController.cpp:
542         (WebCore::InspectorController::didParseSource): Fixed conversion issue.
543         (WebCore::InspectorController::failedToParseSource): Ditto.
544
545 2009-04-08  Adam Barth  <abarth@webkit.org>
546
547         Reviewed by Alexey Proskuryakov.
548
549         https://bugs.webkit.org/show_bug.cgi?id=24904
550
551         Verify the MIME type of stylesheets (in standards mode) by looking
552         at the Content-Type header directly.  This bypasses any content
553         sniffing that might be confusing the issue.
554
555         Test: http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html
556
557         * loader/CachedCSSStyleSheet.cpp:
558         (WebCore::CachedCSSStyleSheet::canUseSheet):
559
560 2009-04-08  Eric Carlson  <eric.carlson@apple.com>
561
562         Reviewed by Simon Fraser.
563
564         https://bugs.webkit.org/show_bug.cgi?id=25041
565         <rdar://problem/6697754>
566         Bug 25041: HTMLMediaElement: OSX autoplay broken by r41907
567         
568         OSX media player should set readyState to HAVE_ENOUGH_DATA when the movie's load state
569         reaches QTMovieLoadStatePlaythroughOK, not when the entire file has been downloaded,
570         so autoplay can begin when it should.
571
572         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
573         (WebCore::MediaPlayerPrivate::updateStates): Set readState to 
574         HAVE_ENOUGH_DATA when QTMovie load state reaches QTMovieLoadStatePlaythroughOK.
575         (WebCore::MediaPlayerPrivate::paint): Add braces missed in r42203.
576
577 2009-04-08  Alexey Proskuryakov  <ap@webkit.org>
578
579         Reviewed by David Kilzer. Based on a patch by Grace Kloba.
580
581         https://bugs.webkit.org/show_bug.cgi?id=24656
582         cacheControlContainsNoCache() in ResourceResponseBase.h is wrong
583
584         * platform/network/ResourceResponseBase.cpp:
585         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Removed misused code for
586         parsing directive values, fixing parsing of directives that we care about.
587
588         * platform/network/ResourceResponseBase.h:
589         (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Fixed a copy/paste mistake,
590         m_cacheControlContainsMustRevalidate was returned instead of m_cacheControlContainsNoCache.
591
592 2009-04-08  Adam Roben  <aroben@apple.com>
593
594         Make text fields match the system look on Vista
595
596         Reviewed by Dave Hyatt.
597
598         * rendering/RenderThemeWin.cpp:
599         (WebCore::RenderThemeWin::getThemeData): Use the new-to-Vista
600         EP_EDITBORDER_NOSCROLL part for text fields.
601
602 2009-04-07  Alexey Proskuryakov  <ap@webkit.org>
603
604         Reviewed by Maciej Stachowiak.
605
606         https://bugs.webkit.org/show_bug.cgi?id=24957
607         REGRESSION: Google calendar widget no longer shows upcoming events
608
609         Test: http/tests/xmlhttprequest/authorization-header.html
610
611         * xml/XMLHttpRequest.cpp:
612         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Removed Authorization from
613         the list of forbidden headers.
614
615 2009-04-07  miggilin  <mr.diggilin@gmail.com>
616
617         Reviewed by Kevin Ollivier.
618
619         Remove no longer needed debug warning and Windows-specific codepaths
620         (as we now use the Safari/Win port's timer there)
621
622         https://bugs.webkit.org/show_bug.cgi?id=25070
623
624         * platform/wx/SharedTimerWx.cpp:
625         (WebCore::setSharedTimerFireTime):
626
627
628 2009-04-07  Adam Roben  <aroben@apple.com>
629
630         Fix many <video> regression tests on Windows
631
632         Reviewed by Dave Hyatt.
633
634         * platform/graphics/win/QTMovieWin.cpp:
635         (QTMovieWin::getNaturalSize): Call GetMovieNaturalBoundsRect, which
636         returns the movie's natural bounds (duh), rather than GetMovieBox,
637         which returns the movie's current displayed size/position.
638
639 2009-04-07  Brady Eidson  <beidson@apple.com>
640
641         Reviewed by Darin Adler and Sam Weinig
642
643         <rdar://problem/5968249> "Private Browsing" doesn't affect HTML 5 LocalStorage
644
645         The expected behavior for persistent storage when private browsing mode is undefined by the spec.
646         For now we're going with a "read-only when in private browsing" policy until we can get feedback
647         and/or get the behavior specified in the spec.
648
649         Note that I purposefully made the change to restrict SessionStorage to read-only, also, with the
650         understanding that the spec allows for SessionStorage to persist across relaunches, even though
651         our implementation currently doesn't do this.
652
653         * dom/DOMCoreException.idl: Add some new ExceptionCodes defined in HTML5, one of which is needed
654           for LocalStorage changes (QUOTA_EXCEEDED_ERR)
655         * dom/ExceptionCode.cpp: 
656         * dom/ExceptionCode.h:
657
658         * storage/StorageArea.cpp:
659         (WebCore::StorageArea::internalSetItem): If private browsing is enabled, throw the QUOTA_EXCEEDED_ERR
660           exception as the spec allows.
661         (WebCore::StorageArea::internalRemoveItem): If private browsing is enabled, silently fail to remove
662           the item.
663         (WebCore::StorageArea::internalClear): If private browsing is enabled, silently fail to clear the area.
664
665 2009-04-07  Dean Jackson  <dino@apple.com>
666
667         Reviewed by Simon Fraser.
668
669         <rdar://problem/6148255>
670
671         Standalone media documents can not always handle everything
672         using a <video> element. In these cases switch to an <embed>
673         element that uses the QuickTime plugin, in the hope that it
674         will have more luck. Typical media types that trigger this
675         are streamed media and QTVR.
676
677         Equivalent Windows fix to come once reviewed. Note also that
678         this area of code needs a cleanup:
679         https://bugs.webkit.org/show_bug.cgi?id=25085
680
681         * html/HTMLMediaElement.cpp:
682         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
683         * html/HTMLMediaElement.h:
684         * loader/MediaDocument.cpp:
685         (WebCore::MediaDocument::mediaElementSawUnsupportedTracks):
686         (WebCore::MediaDocument::replaceVideoWithEmbed):
687         * loader/MediaDocument.h:
688             - removes the <video> element and puts in an <embed>
689         * platform/graphics/MediaPlayer.h:
690         (WebCore::MediaPlayerClient::mediaPlayerSawUnsupportedTracks):
691             - new internal method for flagging a problem
692         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
693         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
694         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
695         (WebCore::MediaPlayerPrivate::updateStates):
696             - looks for the types of content we don't handle
697         (WebCore::MediaPlayerPrivate::rateChanged):
698         (WebCore::MediaPlayerPrivate::sizeChanged):
699         (WebCore::MediaPlayerPrivate::timeChanged):
700         (WebCore::MediaPlayerPrivate::didEnd):
701         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
702         (WebCore::MediaPlayerPrivate::sawUnsupportedTracks):
703             - inform the MediaClient that we have a potential problem
704
705 2009-04-07  Dan Bernstein  <mitz@apple.com>
706
707         Reviewed by Darin Adler.
708
709         - fix <rdar://problem/6767428> Resurrect
710           +[WebFontCache fontWithFamily:traits:size:] for clients that call it
711           directly
712
713         WebFontCache is a class in the WebCore framework and is not WebKit API,
714         but apparently (perhaps mistakenly) some clients call this private
715         interface.
716
717         This change resurrects the interface and gives it reasonable behavior
718         (however, note that WebCore will not call the old interface, so hacks that
719         override it will have no effect on WebKit clients).
720
721         * platform/mac/WebFontCache.h:
722         * platform/mac/WebFontCache.mm:
723         (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to
724         +fontWithFamily:traits:weight:size:.
725
726 2009-04-07  David Hyatt  <hyatt@apple.com>
727
728         Reviewed by Adam Roben
729
730         Fix ScrollView's algorithm that determines whether or not to show scrollbars.  There was a bug
731         with the method mainly because RenderView will size itself to the viewport's size, making it
732         impossible to really know the document's "true" size.
733
734         In order to solve this problem ScrollView now has a minimumContentsSize method.  This method
735         returns the document size excluding the RenderView from the calculation.  This width/height
736         is now cached on RenderView in m_docWidth/m_docHeight member variables.
737
738         * WebCore.base.exp:
739         * page/FrameView.cpp:
740         (WebCore::FrameView::adjustPageHeight):
741         (WebCore::FrameView::minimumContentsSize):
742         * page/FrameView.h:
743         * platform/ScrollView.cpp:
744         (WebCore::ScrollView::updateScrollbars):
745         * platform/ScrollView.h:
746         (WebCore::ScrollView::minimumContentsSize):
747         * rendering/RenderView.cpp:
748         (WebCore::RenderView::layout):
749         (WebCore::RenderView::calcDocHeight):
750         (WebCore::RenderView::calcDocWidth):
751         * rendering/RenderView.h:
752         (WebCore::RenderView::docWidth):
753         (WebCore::RenderView::docHeight):
754
755 2009-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
756
757         Build fix, not reviewed.
758
759         * WebCore.xcodeproj/project.pbxproj: Made ScriptObject.h private.
760
761 2009-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
762
763         Reviewed by Timothy Hatcher.
764
765         https://bugs.webkit.org/show_bug.cgi?id=25063
766         Refactor InspectorController to use ScriptObject/State.
767
768         * GNUmakefile.am: Added ScriptState.cpp.
769         * WebCore.pro: Ditto.
770         * WebCore.vcproj/WebCore.vcproj: Ditto.
771         * WebCore.xcodeproj/project.pbxproj: Ditto.
772         * WebCoreSources.bkl: Ditto.
773         * bindings/js/JSInspectorControllerCustom.cpp:
774         (WebCore::JSInspectorController::addSourceToFrame): Fixed argument index typo.
775         * bindings/js/ScriptFunctionCall.cpp:
776         (WebCore::ScriptFunctionCall::call): Added reportExceptions parameter.
777         (WebCore::ScriptFunctionCall::construct): Ditto.
778         * bindings/js/ScriptFunctionCall.h: Ditto.
779         * bindings/js/ScriptObject.cpp:
780         (WebCore::handleException): Added exception-reporting heloper.
781         (WebCore::ScriptObject::set): Changed to use handleException.
782         (WebCore::ScriptGlobalObject::set): Ditto,
783         * bindings/js/ScriptObject.cpp: Added ScriptGlobalObject.
784         (WebCore::ScriptGlobalObject::set): Added.
785         (WebCore::ScriptGlobalObject::getObject): Added.
786         * bindings/js/ScriptObject.h: Added ScriptGlobalObject decls.
787         (WebCore::ScriptGlobalObject::ScriptGlobalObject): Added.
788         * bindings/js/ScriptState.cpp: Added.
789         * bindings/js/ScriptState.h: Added scriptStateFromPage decl.
790         * inspector/ConsoleMessage.cpp:
791         (WebCore::ConsoleMessage::addToConsole): Changed to not report exceptions
792             to avoid re-entrancy.
793         * inspector/InspectorController.cpp: Refactored to use ScriptState/Object.
794         * inspector/InspectorController.h: Ditto.
795
796 2009-04-07  Adam Langley  <agl@google.com>
797
798         Reviewed by Darin Fisher.
799
800         https://bugs.webkit.org/show_bug.cgi?id=25083
801
802         Skia was previously calculating the leading value incorrectly, leading
803         us to add fHeight to get the height of a line of text. Now that Skia
804         is calculating fLeading correctly, we can remove fHeight.
805
806         This doesn't affect any layout tests.
807
808         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
809         (WebCore::SimpleFontData::platformInit):
810
811 2009-04-07  Brian Weinstein  <bweinstein@gmail.com>
812
813         Reviewed by Darin Adler.
814
815         https://bugs.webkit.org/show_bug.cgi?id=24851
816
817         This fix removes the status code from the status message in a ResourceResponse, which allows a few more tests in http to pass.
818
819         * platform/network/cf/ResourceResponseCFNet.cpp:
820         (WebCore::ResourceResponse::platformLazyInit):
821
822 2009-04-07  Adam Langley  <agl@google.com>
823
824         Reviewed by Darin Fisher.
825
826         https://bugs.webkit.org/show_bug.cgi?id=25081
827
828         Skia is changing from reporting the XRange to reporting the XMin and
829         XMax.  Obviously these are equivalent, but other users of the metrics
830         need the two numbers to be separate.
831
832         This doesn't affect any layout tests.
833
834         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
835         (WebCore::SimpleFontData::platformInit):
836
837 2009-04-07  Adam Roben  <aroben@apple.com>
838
839         Make the look of <select>s match the system look on Vista
840
841         Reviewed by Dave Hyatt.
842
843         * rendering/RenderThemeWin.cpp: Added new constants.
844         (WebCore::RenderThemeWin::getThemeData): On Vista, use the
845         CP_DROPDOWNBUTTONRIGHT part for drop down buttons.
846         (WebCore::RenderThemeWin::paintMenuList): On Vista, use the CP_BORDER
847         part to draw the border of <select>s.
848         (WebCore::RenderThemeWin::paintMenuListButton): On Vista, outset the
849         drop down button to make its border coincide with the <select>'s
850         border.
851
852 2009-04-07  Adam Roben  <aroben@apple.com>
853
854         Move isRunningOnVistaOrLater to a shared location
855
856         Rubber-stamped in advance by Dave Hyatt.
857
858         * WebCore.vcproj/WebCore.vcproj: Added SystemInfo.{cpp,h}, and let VS
859         have its way with the rest of the file.
860         * platform/win/ScrollbarThemeWin.cpp: Moved isRunningOnVistaOrLater
861         from here...
862         * platform/win/SystemInfo.cpp: Added.
863         (WebCore::isRunningOnVistaOrLater): ...to here.
864         * platform/win/SystemInfo.h: Added.
865
866 2009-04-07  Paul Godavari  <paul@chromium.org>
867
868         Reviewed by Darin Fisher.
869
870         https://bugs.webkit.org/show_bug.cgi?id=24692
871         Enable PopupMenuChromium to handle HTML select popups using native
872         cocoa controls on the Mac, all other platforms are unchanged.
873
874         We also split out the storage container for the popup menu items
875         so that ChromeClientChromium can access them for forwarding to
876         the embedding host (Chromium.app or test_shell).
877
878         * page/chromium/ChromeClientChromium.h:
879         * platform/chromium/PopupMenuChromium.cpp:
880         (WebCore::PopupListBox::items):
881         (WebCore::PopupContainer::PopupContainer):
882         (WebCore::PopupContainer::~PopupContainer):
883         (WebCore::PopupContainer::showPopup):
884         (WebCore::PopupContainer::showExternal):
885         (WebCore::PopupContainer::menuItemHeight):
886         (WebCore::popupData):
887         (WebCore::PopupListBox::pointToRowIndex):
888         (WebCore::PopupListBox::getRowBounds):
889         (WebCore::PopupListBox::isSelectableItem):
890         (WebCore::PopupListBox::updateFromElement):
891         (WebCore::PopupListBox::layout):
892         (WebCore::PopupListBox::clear):
893         (WebCore::PopupMenu::show):
894         * platform/chromium/PopupMenuChromium.h:
895         (WebCore::PopupItem::):
896         (WebCore::PopupItem::PopupItem):
897
898 2009-04-07  Geoffrey Garen  <ggaren@apple.com>
899
900         Reviewed by Oliver Hunt.
901         
902         Added some double-checking to event handler marking. Now, when the
903         wrapper that's responsible for marking an event handler's JavaScript
904         function gets collected, it clears the event handler's JavaScript function
905         so we won't dereference it after it's collected.
906         
907         In theory, we would never dereference a JavaScript event handler after
908         its node's wrapper was collected anyway, but it's nice to be safe.
909
910         * bindings/js/JSDOMApplicationCacheCustom.cpp:
911         (WebCore::JSDOMApplicationCache::mark):
912         * bindings/js/JSEventListener.cpp:
913         (WebCore::JSEventListener::JSEventListener):
914         (WebCore::JSEventListener::jsFunction):
915         (WebCore::JSEventListener::invalidateJSFunction):
916         (WebCore::JSEventListener::markJSFunction):
917         * bindings/js/JSEventListener.h:
918         * bindings/js/JSMessagePortCustom.cpp:
919         (WebCore::JSMessagePort::mark):
920         * bindings/js/JSNodeCustom.cpp:
921         (WebCore::markEventListeners):
922         * bindings/js/JSWorkerContextCustom.cpp:
923         (WebCore::JSWorkerContext::mark):
924         * bindings/js/JSWorkerCustom.cpp:
925         (WebCore::JSWorker::mark):
926         * bindings/js/JSXMLHttpRequestCustom.cpp:
927         (WebCore::JSXMLHttpRequest::mark):
928         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
929         (WebCore::JSXMLHttpRequestUpload::mark):
930         * bindings/scripts/CodeGeneratorJS.pm:
931         * dom/EventListener.h:
932         (WebCore::EventListener::invalidateJSFunction):
933         (WebCore::EventListener::markJSFunction):
934         (WebCore::markIfNotNull):
935
936 2009-04-07  David Levin  <levin@chromium.org>
937
938         Build fix.
939
940         r44280 undid the change in r42268 that made CookieJar.h private.
941         This redoes the change.
942
943         * WebCore.xcodeproj/project.pbxproj:
944
945 2009-04-07  Jian Li  <jianli@chromium.org>
946
947         Reviewed by Darin Fisher.
948
949         Upstream changes to WorkerContextExecutionProxy for enabling V8 preemption.
950         https://bugs.webkit.org/show_bug.cgi?id=25034
951
952         * bindings/v8/WorkerContextExecutionProxy.cpp:
953         (WebCore::WorkerContextExecutionProxy::evaluate):
954
955 2009-04-07  Dan Bernstein  <mitz@apple.com>
956
957         Reviewed by Darin Adler.
958
959         - fix <rdar://problem/6764359> Thai word selection misbehaves for the
960           last sentence in the document
961
962         Test: editing/selection/thai-word-at-document-end.html
963
964         * editing/visible_units.cpp:
965             - Added a BoundarySearchContextAvailability enum used to indicate
966             whether the caller to a boundary search function may be able to provide
967             additional text in the search direction and call again.
968             - Added a named type for the boundary search function signature. Changed
969             the signature to take a context availability parameter and a boolean
970             out parameter indicating whether more context is needed to perform
971             the search.
972         (WebCore::previousBoundary): If the beginning of the range was reached
973             but the last search wanted more context, perform the search again, this
974             time indicating that there is no earlier text.
975         (WebCore::nextBoundary): Similarly, in the other direction.
976         (WebCore::startWordBoundary): Check whether more context may be available
977             and ask for more context if needed.
978         (WebCore::endWordBoundary): Ditto.
979         (WebCore::previousWordPositionBoundary): Ditto.
980         (WebCore::nextWordPositionBoundary): Ditto.
981         (WebCore::startSentenceBoundary):  Updated signature.
982         (WebCore::endSentenceBoundary): Ditto.
983         (WebCore::previousSentencePositionBoundary): Ditto.
984         (WebCore::nextSentencePositionBoundary): Ditto.
985
986 2009-04-07  Geoffrey Garen  <ggaren@apple.com>
987
988         Rubber stamped by Sam Weinig.
989         
990         A little renaming:
991         
992         function => jsFunction
993         listener => jsFunction
994
995         * bindings/js/JSEventListener.cpp:
996         (WebCore::JSAbstractEventListener::handleEvent):
997         (WebCore::JSEventListener::JSEventListener):
998         (WebCore::JSEventListener::~JSEventListener):
999         (WebCore::JSEventListener::jsFunction):
1000         (WebCore::JSEventListener::mark):
1001         (WebCore::JSProtectedEventListener::JSProtectedEventListener):
1002         (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
1003         (WebCore::JSProtectedEventListener::jsFunction):
1004         * bindings/js/JSEventListener.h:
1005         (WebCore::JSProtectedEventListener::create):
1006         * bindings/js/JSLazyEventListener.cpp:
1007         (WebCore::JSLazyEventListener::jsFunction):
1008         (WebCore::JSLazyEventListener::parseCode):
1009         * dom/EventListener.h:
1010         (WebCore::EventListener::jsFunction):
1011
1012 2009-04-07  Brady Eidson  <beidson@apple.com>
1013
1014         Reviewed by Darin Adler
1015
1016         While working on <rdar://problem/5968249>, noticed some glaring problems with LocalStorage.
1017
1018         * page/DOMWindow.cpp:
1019         (WebCore::DOMWindow::localStorage): Return the cached m_localStorage object if it exists to 
1020           avoid creating multiple representations for the same underlying StorageArea.
1021         * page/DOMWindow.h:
1022         (WebCore::DOMWindow::optionalLocalStorage): Return m_localStorage, not m_sessionStorage.
1023
1024 2009-04-07  Darin Adler  <darin@apple.com>
1025
1026         Roll out incorrect build fix.
1027
1028         * WebCore.NPAPI.exp: Reverted.
1029
1030 2009-04-07  Darin Adler  <darin@apple.com>
1031
1032         Another build fix.
1033
1034         * WebCore.NPAPI.exp: Added new functions.
1035
1036 2009-04-07  Anders Carlsson  <andersca@apple.com>
1037
1038         Another build fix.
1039         
1040         * plugins/npfunctions.h:
1041
1042 2009-04-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1043
1044         Unreviewed build fix. Fix non-Mac builds.
1045
1046         * bridge/npapi.h:
1047
1048 2009-04-07  Simon Fraser  <simon.fraser@apple.com>
1049
1050         Reviewed by Dan Bernstein
1051
1052         https://bugs.webkit.org/show_bug.cgi?id=25082
1053         
1054         Clean up repaint logic when RenderLayers become and stop being composited.
1055
1056         * rendering/RenderLayer.h:
1057         * rendering/RenderLayer.cpp:
1058         (WebCore::RenderLayer::rendererContentChanged):
1059         (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
1060         New compositing-only method that repaints a layer and all its non-composited descendants.
1061         Takes a repaintContainer for performance; all the repaints necessarily share the same
1062         repaintContainer.
1063
1064         * rendering/RenderLayerCompositor.h:
1065         * rendering/RenderLayerCompositor.cpp:
1066         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1067         Rather than use calculateCompositedBounds() to compute the repaint rect (which gave
1068         the wrong answer when the composited layer tree was in flux), use the new
1069         repaintOnCompositingChange() method.
1070         
1071         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
1072         Call repaintIncludingNonCompositingDescendants(), and if necessary make sure
1073         that the view/layer drawing synchronization happens.
1074         
1075         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1076         Do a repaintOnCompositingChange() when a layer is going to be composited. This is
1077         a good place because we haven't started to change the compositing tree.
1078         
1079         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1080         After we've finished updating all the descendant layers, we can do a repaint for
1081         layers that ceased compositing.
1082
1083 2009-04-07  Simon Fraser  <simon.fraser@apple.com>
1084
1085         Reviewed by Dave Hyatt
1086         
1087         https://bugs.webkit.org/show_bug.cgi?id=25069
1088         
1089         Clean up the accelerated compositing code that determines the format of
1090         the GraphicsLayer hierarchy, being more explicit about which parts have
1091         to happen before and after descendant layers have been updated. Also remove
1092         some unhelpful caching of state.
1093
1094         * dom/Document.cpp:
1095         (WebCore::Document::recalcStyle):
1096         Only call updateCompositingLayers() if we know we're not going to be
1097         doing a layout soon.
1098         
1099         * platform/graphics/mac/GraphicsLayerCA.mm:
1100         (WebCore::GraphicsLayerCA::setDrawsContent):
1101         Toggling drawsContent from false to true should do a setNeedsDisplay().
1102         
1103         * rendering/RenderLayer.cpp:
1104         (WebCore::RenderLayer::styleChanged):
1105         updateLayerCompositingState() no longer updates the layer geometry, so
1106         do that here if we're not going to rebuild layers anyway.
1107         Also, updateLayerCompositingState() no longer does a setContentsNeedDisplay,
1108         so do that if the style change indicates that a repaint is required.
1109         
1110         * rendering/RenderLayerBacking.h:
1111         * rendering/RenderLayerBacking.cpp:
1112         (WebCore::RenderLayerBacking::RenderLayerBacking):
1113         (WebCore::RenderLayerBacking::updateAfterLayout):
1114         The 'drawing optimizations' logic has been rolled into updateGraphicsLayerConfiguration()
1115         and updateGraphicsLayerGeometry().
1116         
1117         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1118         Group that code that decides what GraphicsLayers are needed into this method,
1119         which deals with clipping layers and 'direct compositing': images that can be
1120         rendered via the compositor.
1121         
1122         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1123         Call setDrawsContent() if updateGraphicsLayerConfiguration() didn't already
1124         figure it out for image layers.
1125         
1126         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
1127         Remove the m_simpleCompositingLayerStatusDirty cache indicator, since we just
1128         computed it every time anyway.
1129         
1130         * rendering/RenderLayerCompositor.h:
1131         * rendering/RenderLayerCompositor.cpp:
1132         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1133         updateGraphicsLayers() was renamed to updateGraphicsLayerConfiguration(),
1134         which calls clippedByAncestor() etc. itself rather than having everything passed in.
1135         Repaints are taken care of by styleChanged() and setDrawsContent().
1136         
1137         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1138         !layer->isComposited() && layer->transform() is a synonym for paintsWithTransform().
1139         
1140         (WebCore::RenderLayerCompositor::setCompositingParent):
1141         No need to call updateGraphicsLayerGeometry() here, because we're going to
1142         rebuild layers anyway.
1143         
1144         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1145         Add comments, and test layerBacking instead of layer->isComposited().
1146
1147 2009-04-07  Anders Carlsson  <andersca@apple.com>
1148
1149         Fix build.
1150         
1151         * WebCore.base.exp:
1152
1153 2009-04-07  Anders Carlsson  <andersca@apple.com>
1154
1155         Reviewed by Sam Weinig.
1156
1157         <rdar://problem/6667001> NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
1158         
1159         * WebCore.base.exp:
1160         Add symbols needed by WebKit.
1161         
1162         * WebCore.xcodeproj/project.pbxproj:
1163         Make CookieJar a private header.
1164         
1165         * bridge/npapi.h:
1166         Add function definitions.
1167         
1168         * plugins/npfunctions.h:
1169         Fix the NPN_SetValueForURLProcPtr signature.
1170
1171 2009-04-07  Adam Roben  <aroben@apple.com>
1172
1173         Fix <rdar://6520933> REGRESSION (3.2.1-ToT): Scroll bar disappears in
1174         WebView and Bookmarks view after switching theme or turning on High
1175         Contrast mode
1176
1177         Reviewed by Dave Hyatt.
1178
1179         * platform/win/ScrollbarThemeWin.cpp:
1180         (WebCore::ScrollbarThemeWin::themeChanged): Null out scrollbarTheme
1181         after closing it so that we'll re-open the theme next time we paint.
1182
1183 2009-04-07  Adam Roben  <aroben@apple.com>
1184
1185         Small cleanup/correctness fix in ScrollbarThemeWin
1186
1187         Reviewed by Dave Hyatt.
1188
1189         * platform/win/ScrollbarThemeWin.cpp: Removed the now-unused
1190         haveTheme boolean.
1191         (WebCore::checkAndInitScrollbarTheme): Check IsThemeActive() before
1192         calling OpenThemeData. This seems to be what MSDN recommends.
1193         (WebCore::ScrollbarThemeWin::themeChanged): Null-check scrollbarTheme
1194         before closing it, rather than indirectly null-checking it via
1195         checking haveTheme.
1196
1197 2009-04-07  Dan Bernstein  <mitz@apple.com>
1198
1199         Reviewed by John Sullivan.
1200
1201         - when -webkit-line-break: after-white-space is specified but the text
1202           does not auto-wrap, do not shrink the trailing space to fit in the
1203           available width
1204
1205         Test: fast/text/whitespace/nowrap-line-break-after-white-space.html
1206
1207         - when shrinking such trailing space, do not shrink below zero
1208
1209         Covered by existing tests
1210
1211         * rendering/bidi.cpp:
1212         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1213         (WebCore::RenderBlock::layoutInlineChildren):
1214
1215 2009-04-07  Eric Seidel  <eric@webkit.org>
1216
1217         Reviewed by Darin Adler.
1218
1219         Move RangeBoundaryPoint off of Position, per Darin's suggestion
1220         https://bugs.webkit.org/show_bug.cgi?id=24966
1221
1222         Rename setToChild to setToBeforeChild (since that's what the method does)
1223
1224         * dom/Position.h:
1225         (WebCore::Position::offsetInContainerNode):
1226         * dom/Range.cpp:
1227         (WebCore::Range::insertNode):
1228         (WebCore::Range::selectNodeContents):
1229         (WebCore::boundaryNodeWillBeRemoved):
1230         * dom/Range.h:
1231         (WebCore::Range::startPosition):
1232         (WebCore::Range::endPosition):
1233         * dom/RangeBoundaryPoint.h:
1234         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
1235         (WebCore::RangeBoundaryPoint::container):
1236         (WebCore::RangeBoundaryPoint::childBefore):
1237         (WebCore::RangeBoundaryPoint::position):
1238         (WebCore::RangeBoundaryPoint::offset):
1239         (WebCore::RangeBoundaryPoint::clear):
1240         (WebCore::RangeBoundaryPoint::set):
1241         (WebCore::RangeBoundaryPoint::setOffset):
1242         (WebCore::RangeBoundaryPoint::setToBeforeChild):
1243         (WebCore::RangeBoundaryPoint::setToStartOfNode):
1244         (WebCore::RangeBoundaryPoint::setToEndOfNode):
1245         (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
1246         (WebCore::RangeBoundaryPoint::invalidateOffset):
1247
1248 2009-04-07  Eric Seidel  <eric@webkit.org>
1249
1250         Reviewed by Darin Adler.
1251
1252         Add containerNode(), computeOffsetInContainerNode(),
1253         computeNodeBeforePosition() and computeNodeAfterPosition().
1254         https://bugs.webkit.org/show_bug.cgi?id=24763
1255
1256         These functions will replace uses of rangeCompliantPosition()
1257         in future patches.
1258
1259         No changes in behavior, thus no tests.
1260
1261         * dom/Position.cpp:
1262         (WebCore::Position::containerNode):
1263         (WebCore::Position::computeOffsetInContainerNode):
1264         (WebCore::Position::computeNodeBeforePosition):
1265         (WebCore::Position::computeNodeAfterPosition):
1266         (WebCore::Position::anchorType):
1267         * dom/Position.h:
1268         (WebCore::Position::):
1269
1270 2009-04-06  Sam Weinig  <sam@webkit.org>
1271
1272         Reviewed by Mark Rowe.
1273
1274         Bottleneck dispatching mutation events in a new dispatchMutationEvent
1275         function.
1276
1277         * dom/CharacterData.cpp:
1278         (WebCore::CharacterData::dispatchModifiedEvent):
1279         * dom/ContainerNode.cpp:
1280         (WebCore::dispatchChildInsertionEvents):
1281         (WebCore::dispatchChildRemovalEvents):
1282         * dom/Node.cpp:
1283         (WebCore::Node::dispatchSubtreeModifiedEvent):
1284         (WebCore::Node::dispatchMutationEvent):
1285         * dom/Node.h:
1286
1287 2009-04-06  Dimitri Glazkov  <dglazkov@chromium.org>
1288
1289         Reviewed by Darin Fisher.
1290
1291         https://bugs.webkit.org/show_bug.cgi?id=25059
1292         Remove references to dominantScript, getGenericFontForScript.
1293
1294         * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed references
1295             to getGenericFontForScript.
1296         (WebCore::FontCache::getLastResortFallbackFont): Removed calls to dominantScript.
1297         * platform/graphics/chromium/FontCacheLinux.cpp: Ditto.
1298         * rendering/RenderThemeChromiumLinux.cpp:
1299         (WebCore::defaultGUIFont): Removed Document* arg.
1300         (WebCore::RenderThemeChromiumLinux::systemFont): Ditto.
1301         * rendering/RenderThemeChromiumLinux.h: Ditto.
1302         * rendering/RenderThemeChromiumMac.h: Ditto.
1303         * rendering/RenderThemeChromiumMac.mm: Ditto.
1304         (WebCore::RenderThemeChromiumMac::systemFont): Ditto.
1305         * rendering/RenderThemeChromiumWin.cpp:
1306         (WebCore::defaultGUIFont): Ditto.
1307         (WebCore::RenderThemeChromiumWin::systemFont): Ditto.
1308         * rendering/RenderThemeChromiumWin.h: Ditto.
1309
1310 2009-04-06  Geoffrey Garen  <ggaren@apple.com>
1311
1312         Reviewed by Darin Adler.
1313         
1314         Fixed https://bugs.webkit.org/show_bug.cgi?id=21260
1315         Unbounded memory growth when churning elements with anonymous event handler functions
1316
1317         The problem was that a protected event listener's scope chain would end
1318         up with a reference to the Node protecting it, causing a cycle. The
1319         solution is to stop protecting event listeners and rely on marking instead.
1320
1321         This patch converts most Node event listeners to use marking instead of
1322         GC protection.
1323
1324         * bindings/js/JSDOMBinding.cpp:
1325         (WebCore::isObservableThroughDOM):
1326         (WebCore::markDOMNodesForDocument): Refactored the test for whether a Node
1327         needs marking, and added a case for marking the node in order to mark its
1328         event listeners.
1329
1330         * bindings/js/JSNodeCustom.cpp:
1331         (WebCore::markEventListeners):
1332         (WebCore::JSNode::addEventListener):
1333         (WebCore::JSNode::removeEventListener):
1334         (WebCore::JSNode::mark): Added code to mark a Node's event listeners when
1335         marking the Node. Changed code using protected event listeners to use event
1336         listeners.
1337
1338         * dom/Node.idl: Changed code using protected event listeners to use event
1339         listeners.
1340
1341 2009-04-06  Sam Weinig  <sam@webkit.org>
1342
1343         Reviewed by Darin Adler.
1344
1345         Remove unchecked bool return values for some dispatch event functions.
1346
1347         * dom/Node.cpp:
1348         (WebCore::Node::dispatchSubtreeModifiedEvent):
1349         (WebCore::Node::dispatchUIEvent):
1350         (WebCore::Node::dispatchWebKitAnimationEvent):
1351         (WebCore::Node::dispatchWebKitTransitionEvent):
1352         (WebCore::Node::dispatchProgressEvent):
1353         * dom/Node.h:
1354
1355 2009-04-06  Darin Fisher  <darin@chromium.org>
1356
1357         Reviewed by Dimitri Glazkov.
1358
1359         https://bugs.webkit.org/show_bug.cgi?id=25058
1360         Fix chromium build bustage caused by r42216
1361
1362         * bindings/scripts/CodeGeneratorJS.pm:
1363         * page/DOMWindow.idl:
1364
1365 2009-04-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1366
1367         Rubber-stamped by Sam Weinig.
1368
1369         https://bugs.webkit.org/show_bug.cgi?id=20575
1370         No localization in WebKitGtk
1371
1372         * platform/gtk/FileChooserGtk.cpp: Remove usage of glib/gi18n.h,
1373         since there are not translatable strings.
1374         * platform/gtk/LocalizedStringsGtk.cpp: Use the glib i18n header
1375         that is specific for libraries.
1376
1377 2009-04-06  Mike Belshe  <mike@belshe.com>
1378
1379         Reviewed by Dimitri Glazkov.
1380
1381         https://bugs.webkit.org/show_bug.cgi?id=24978
1382         Use custom implementations of a few Node methods so that
1383         we don't over-aggressively create JS wrappers here.
1384
1385         * bindings/v8/custom/V8NodeCustom.cpp: Added custom implementations.
1386         * dom/Node.idl: Removed JSC-specifier, making impl custom for V8 as well.
1387
1388 2009-04-06  Dave Moore  <davemoore@google.com>
1389
1390         Reviewed by Dimitri Glazkov.
1391
1392         https://bugs.webkit.org/show_bug.cgi?id=25031
1393         Make the V8 element collections check for named properties *before*
1394         checking if there are any elements with the same name. Otherwise
1395         it is both incorrect and slow.
1396
1397         Test: fast/dom/HTMLSelectElement/length-not-overridden.html
1398
1399         Both of these interceptors were attempting to find an element in the
1400         collection that had a name or id of the property name before checking
1401         for a JS property with that name.
1402         * bindings/v8/V8Collection.h:
1403         (WebCore::collectionNamedPropertyGetter):
1404         (WebCore::nodeCollectionNamedPropertyGetter):
1405
1406 2009-04-06  Simon Fraser  <simon.fraser@apple.com>
1407
1408         Reviewed by Darin Adler
1409
1410         https://bugs.webkit.org/show_bug.cgi?id=25052
1411         
1412         Pull the call to updateGraphicsLayerGeometry() out of updateGraphicsLayers(),
1413         because we need to call it at the end of rebuildCompositingLayerTree() once
1414         we've determined which descendant layers are composited, otherwise
1415         calculateCompositedBounds() can give the wrong answer.
1416         
1417         Now that updateLayerCompositingState() doesn't end up calling updateGraphicsLayerGeometry(),
1418         call that explicitly from styleChanged(), if we know a layer update is not pending,
1419         and similarly from updateAfterLayout().
1420
1421         Test: compositing/overflow/overflow-positioning.html
1422
1423         * rendering/RenderLayer.cpp:
1424         (WebCore::RenderLayer::styleChanged):
1425         * rendering/RenderLayerBacking.cpp:
1426         (WebCore::RenderLayerBacking::updateAfterLayout):
1427         (WebCore::RenderLayerBacking::updateGraphicsLayers):
1428         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1429         * rendering/RenderLayerCompositor.cpp:
1430         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1431
1432 2009-04-06  Mike Belshe  <mike@belshe.com>
1433
1434         Reviewed by Alexey Proskuryakov.
1435
1436         Add accessors to AtomicString which take String/const char* arguments
1437         so that we don't accidentally thrash the AtomicString table.
1438
1439         https://bugs.webkit.org/show_bug.cgi?id=24979
1440
1441         * platform/text/AtomicString.h:
1442
1443 2009-04-03  Holger Hans Peter Freyther  <zecke@selfish.org>
1444
1445         Reviewed by Simon Hausmann.
1446
1447         Make col and row work in WebCore/manual-tests/cursor.html. The issue
1448         was spotted in the WebKit inspector.
1449
1450         * platform/gtk/CursorGtk.cpp:
1451         (WebCore::columnResizeCursor):
1452         (WebCore::rowResizeCursor):
1453
1454 2009-04-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1455
1456         Reviewed by Simon Hausmann.
1457
1458         [Qt] Don't show and hide the platformPluginWidget, as it's our QWebView
1459
1460         * plugins/mac/PluginViewMac.cpp:
1461         (WebCore::PluginView::show):
1462         (WebCore::PluginView::hide):
1463         (WebCore::PluginView::setParentVisible):
1464
1465 2009-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
1466
1467         Reviewed by Tor Arne Vestbø.
1468
1469         Add new files to the Qt build.
1470         Export helper function from the Qt JSC binding, needed in WebKit/qt.
1471
1472         * WebCore.pro: Add new files.
1473         * bridge/qt/qt_runtime.h: Declare convertQVariantToValue.
1474
1475 2009-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
1476
1477         Reviewed by Tor Arne Vestbø.
1478
1479         Changed ScriptFunctionCall's last argument from a const char* as the function name to a String.
1480
1481         Internally the function name is stored as a WebCore::String and the Qt port wants to use this
1482         constructor programmatically where the function name is also a WebCore::String.
1483
1484         * bindings/js/ScriptFunctionCall.cpp:
1485         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
1486         * bindings/js/ScriptFunctionCall.h:
1487
1488 2009-04-06  Mike Belshe <mike@belshe.com>
1489
1490         Reviewed by Eric Seidel.
1491
1492         HTMLCanvasElement crash when ImageBuffer creation fails.
1493         https://bugs.webkit.org/show_bug.cgi?id=23212
1494
1495         Check for NULL before using the ImageBuffer as we might
1496         be low on memory and creation may have failed.
1497
1498         Test case creation blocked by:
1499         https://bugs.webkit.org/show_bug.cgi?id=25055
1500
1501         * html/HTMLCanvasElement.cpp:
1502         (WebCore::HTMLCanvasElement::createImageBuffer):
1503
1504 2009-04-05  Geoffrey Garen  <ggaren@apple.com>
1505
1506         [Originally] Reviewed by Sam Weinig.
1507
1508         Rolled back in r42214 with crashes fixed.
1509
1510         [Removed irrelevant ExecState* parameter from event handler registration code.]
1511         
1512         [No change in behavior.]
1513
1514         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1515         (WebCore::JSDOMApplicationCache::addEventListener):
1516         (WebCore::JSDOMApplicationCache::removeEventListener):
1517         * bindings/js/JSDOMGlobalObject.cpp:
1518         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
1519         (WebCore::JSDOMGlobalObject::findJSEventListener):
1520         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1521         * bindings/js/JSDOMGlobalObject.h:
1522         * bindings/js/JSDOMWindowCustom.cpp:
1523         (WebCore::JSDOMWindow::addEventListener):
1524         * bindings/js/JSMessagePortCustom.cpp:
1525         (WebCore::JSMessagePort::addEventListener):
1526         (WebCore::JSMessagePort::removeEventListener):
1527         * bindings/js/JSNodeCustom.cpp:
1528         (WebCore::JSNode::addEventListener):
1529         * bindings/js/JSSVGElementInstanceCustom.cpp:
1530         (WebCore::JSSVGElementInstance::addEventListener):
1531         * bindings/js/JSWorkerContextCustom.cpp:
1532         (WebCore::JSWorkerContext::addEventListener):
1533         (WebCore::JSWorkerContext::removeEventListener):
1534         * bindings/js/JSWorkerCustom.cpp:
1535         (WebCore::JSWorker::addEventListener):
1536         (WebCore::JSWorker::removeEventListener):
1537         * bindings/js/JSXMLHttpRequestCustom.cpp:
1538         (WebCore::JSXMLHttpRequest::addEventListener):
1539         (WebCore::JSXMLHttpRequest::removeEventListener):
1540         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1541         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1542         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1543         * bindings/scripts/CodeGeneratorJS.pm:
1544
1545 2009-04-05  Erik L. Bunce  <elbunce@xendom.com>
1546
1547         Reviewed by Simon Hausmann.
1548
1549         https://bugs.webkit.org/show_bug.cgi?id=25050
1550
1551         Fix an assert failure when dropping an 'empty' text/uri-list on a QWebView. 
1552
1553         * platform/qt/DragDataQt.cpp:
1554         (WebCore::DragData::asURL):
1555
1556 2009-04-05  Simon Hausmann  <hausmann@webkit.org>
1557
1558         Fix the Qt build.
1559
1560         * bridge/qt/qt_runtime.h:
1561         (JSC::Bindings::QtRuntimeMethod::createPrototype): Take the JSGlobalObject
1562         as second argument.
1563
1564 2009-04-04  Kevin Ollivier  <kevino@theolliviers.com>
1565
1566         Build fixes for wxMac/Tiger.
1567
1568         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1569         (wxFontProperties::wxFontProperties):
1570         * rendering/break_lines.cpp:
1571         (WebCore::nextBreakablePosition):
1572         * webcore-wx.bkl:
1573
1574 2009-04-04  Simon Fraser  <simon.fraser@apple.com>
1575
1576         Reviewed by Cameron Zwarich
1577
1578         https://bugs.webkit.org/show_bug.cgi?id=24648
1579         
1580         Ensure that mapPoint(const IntPoint&) calls the FloatPoint
1581         version to avoid infinite recursion.
1582         
1583         No test because mapPoint(const IntPoint&) isn't ever called
1584         on Mac, so I can't reproduce.
1585         
1586         * platform/graphics/transforms/TransformationMatrix.h:
1587         (WebCore::TransformationMatrix::mapPoint):
1588
1589 2009-04-04  Dan Bernstein  <mitz@apple.com>
1590
1591         Reviewed by Mark Rowe.
1592
1593         - fix <rdar://problem/6757862> REGRESSION: Cannot use the mouse to place
1594           the insertion point inside a Thai character
1595
1596         Test: fast/text/international/thai-offsetForPosition-inside-character.html
1597
1598         * platform/graphics/mac/CoreTextController.cpp:
1599         (WebCore::CoreTextController::offsetForPosition): Changed to use
1600         cursorMovementIterator instead of characterBreakIterator, allowing this
1601         function to return a valid cursor position even if it is not at
1602         a character boundary.
1603
1604 2009-04-04  Dan Bernstein  <mitz@apple.com>
1605
1606         Reviewed by Mark Rowe.
1607
1608         - fix an assertion failure when clicking at the beginning of a
1609           glyph cluster at the beginning of a text run
1610
1611         Test: fast/text/offsetForPosition-cluster-at-zero.html
1612
1613         * platform/graphics/mac/CoreTextController.cpp:
1614         (WebCore::CoreTextController::offsetForPosition): Corrected the bound
1615         check on firstGlyphBeforeCluster, letting it be 0 or -1, but not less
1616         than -1.
1617
1618 2009-04-03  Brian Weinstein  <bweinstein@gmail.com>
1619
1620         Allows 16 HTML/CSS standard colors to be shown as swatch backgrounds
1621         when the names are given.
1622
1623         https://bugs.webkit.org/show_bug.cgi?id=25044
1624
1625         Reviewed by Timothy Hatcher.
1626
1627         * inspector/front-end/StylesSidebarPane.js:
1628         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
1629
1630 2009-04-03  Sam Weinig  <sam@webkit.org>
1631
1632         Reviewed by Darin Adler.
1633
1634         <rdar://problem/6330929>
1635         https://bugs.webkit.org/show_bug.cgi?id=21456
1636
1637         Don't update the document pointer for all inactive windows on navigations.
1638         This change causes us to differ slightly from Firefox when accessing the
1639         document from within a closure tied to a navigated context, but as all
1640         browsers differ on this edge case, I don't foresee compatibility issues.
1641
1642         Test: http/tests/security/cross-frame-access-document-direct.html
1643
1644         * bindings/js/JSDOMWindowBase.cpp:
1645         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1646         * bindings/js/ScriptController.cpp:
1647         (WebCore::ScriptController::clearWindowShell):
1648         (WebCore::ScriptController::initScript):
1649         (WebCore::ScriptController::updateDocument):
1650         * bindings/js/ScriptController.h:
1651
1652 2009-04-03  Chris Marrin  <cmarrin@apple.com>
1653
1654         Reviewed by Simon Fraser.
1655
1656         Test: transitions/bad-transition-shorthand-crash.html
1657
1658         Fixed https://bugs.webkit.org/show_bug.cgi?id=24787.
1659
1660         We were starting transitions with 0 duration and delay, which is 
1661         useless. With accelerated compositing on, this went through a code
1662         path that tried to use m_toStyle, which never got set because the 
1663         transitions was short circuited before it had a chance to. So I
1664         both protect against using that null pointer and avoid starting
1665         the transition in the first place.
1666
1667         * page/animation/CompositeAnimation.cpp:
1668         (WebCore::CompositeAnimationPrivate::updateTransitions):
1669         * page/animation/ImplicitAnimation.cpp:
1670         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
1671
1672 2009-04-03  Timothy Hatcher  <timothy@apple.com>
1673
1674         Fixes a bug where you could not type any more in the Web Inspector's
1675         search field after the first match is selected in the Resources panel.
1676
1677         https://bugs.webkit.org/show_bug.cgi?id=23982
1678         rdar://problem/6592367
1679
1680         Reviewed by Darin Adler.
1681
1682         * inspector/front-end/SourceView.js:
1683         (WebInspector.SourceView.prototype._jumpToSearchResult): Use the
1684         window object of the frame to set the selection, not the main window.
1685
1686 2009-04-03  Sam Weinig  <sam@webkit.org>
1687
1688         Reviewed by Anders Carlsson.
1689
1690         Fix for https://bugs.webkit.org/show_bug.cgi?id=22081
1691         <rdar://problem/6346030>
1692         Don't allow overriding the return value of window.location.
1693
1694         Tests: fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter.html
1695                fast/dom/Window/Location/location-override-toString-on-proto-using-with.html
1696                fast/dom/Window/Location/location-override-toString-on-proto.html
1697                fast/dom/Window/Location/location-override-toString-using-defineGetter.html
1698                fast/dom/Window/Location/location-override-toString-using-with.html
1699                fast/dom/Window/Location/location-override-toString.html
1700                fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter.html
1701                fast/dom/Window/Location/location-override-valueOf-on-proto-using-with.html
1702                fast/dom/Window/Location/location-override-valueOf-on-proto.html
1703                fast/dom/Window/Location/location-override-valueOf-using-defineGetter.html
1704                fast/dom/Window/Location/location-override-valueOf-using-with.html
1705                fast/dom/Window/Location/location-override-valueOf.html
1706                fast/dom/Window/Location/window-override-location-using-defineGetter.html
1707                fast/dom/Window/Location/window-override-window-using-defineGetter.html
1708                fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html
1709                fast/dom/Window/Location/window-shadow-location-using-string.html
1710                fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field.html
1711
1712         * bindings/js/JSDOMWindowCustom.cpp:
1713         (WebCore::JSDOMWindow::defineGetter):
1714         * bindings/js/JSLocationCustom.cpp:
1715         (WebCore::JSLocation::customPut):
1716         (WebCore::JSLocation::defineGetter):
1717         (WebCore::JSLocationPrototype::customPut):
1718         (WebCore::JSLocationPrototype::defineGetter):
1719         * bindings/scripts/CodeGeneratorJS.pm:
1720         * page/Location.idl:
1721
1722 2009-04-03  Geoffrey Garen  <ggaren@apple.com>
1723
1724         Rolled out r42214 since it seems to have caused crashes on the buildbot.
1725
1726         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1727         (WebCore::JSDOMApplicationCache::addEventListener):
1728         (WebCore::JSDOMApplicationCache::removeEventListener):
1729         * bindings/js/JSDOMGlobalObject.cpp:
1730         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
1731         (WebCore::JSDOMGlobalObject::findJSEventListener):
1732         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1733         * bindings/js/JSDOMGlobalObject.h:
1734         * bindings/js/JSDOMWindowCustom.cpp:
1735         (WebCore::JSDOMWindow::addEventListener):
1736         * bindings/js/JSMessagePortCustom.cpp:
1737         (WebCore::JSMessagePort::addEventListener):
1738         (WebCore::JSMessagePort::removeEventListener):
1739         * bindings/js/JSNodeCustom.cpp:
1740         (WebCore::JSNode::addEventListener):
1741         (WebCore::JSNode::removeEventListener):
1742         * bindings/js/JSSVGElementInstanceCustom.cpp:
1743         (WebCore::JSSVGElementInstance::addEventListener):
1744         * bindings/js/JSWorkerContextCustom.cpp:
1745         (WebCore::JSWorkerContext::addEventListener):
1746         (WebCore::JSWorkerContext::removeEventListener):
1747         * bindings/js/JSWorkerCustom.cpp:
1748         (WebCore::JSWorker::addEventListener):
1749         (WebCore::JSWorker::removeEventListener):
1750         * bindings/js/JSXMLHttpRequestCustom.cpp:
1751         (WebCore::JSXMLHttpRequest::addEventListener):
1752         (WebCore::JSXMLHttpRequest::removeEventListener):
1753         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1754         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1755         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1756         * bindings/scripts/CodeGeneratorJS.pm:
1757
1758 2009-04-03  Sam Weinig  <sam@webkit.org>
1759
1760         Reviewed by Oliver Hunt.
1761
1762         Fix for <rdar://problem/6476356>
1763         https://bugs.webkit.org/show_bug.cgi?id=23148
1764
1765         - Use the window object the Location and History objects are directly associated with
1766           instead of the lexical global object to pick the object prototype to serve as the
1767           base of the their respective prototype chains.
1768         - Re-factor as necessary to allow passing the correct global object to the createPrototype
1769           functions.
1770
1771         Tests: http/tests/security/cross-frame-access-history-prototype.html
1772                http/tests/security/cross-frame-access-location-prototype.html
1773
1774         * bindings/js/JSAudioConstructor.cpp:
1775         (WebCore::JSAudioConstructor::JSAudioConstructor):
1776         * bindings/js/JSDOMBinding.cpp:
1777         (WebCore::getCachedDOMStructure):
1778         (WebCore::cacheDOMStructure):
1779         * bindings/js/JSDOMBinding.h:
1780         (WebCore::getDOMStructure):
1781         (WebCore::getDOMPrototype):
1782         * bindings/js/JSDOMWindowCustom.cpp:
1783         (WebCore::JSDOMWindow::history):
1784         (WebCore::JSDOMWindow::location):
1785         * bindings/js/JSDocumentCustom.cpp:
1786         (WebCore::JSDocument::location):
1787         * bindings/js/JSImageConstructor.cpp:
1788         (WebCore::JSImageConstructor::JSImageConstructor):
1789         * bindings/js/JSMessageChannelConstructor.cpp:
1790         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1791         * bindings/js/JSNamedNodesCollection.h:
1792         (WebCore::JSNamedNodesCollection::createPrototype):
1793         * bindings/js/JSOptionConstructor.cpp:
1794         (WebCore::JSOptionConstructor::JSOptionConstructor):
1795         * bindings/js/JSRGBColor.h:
1796         (WebCore::JSRGBColor::createPrototype):
1797         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1798         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
1799         * bindings/js/JSWebKitPointConstructor.cpp:
1800         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
1801         * bindings/js/JSWorkerConstructor.cpp:
1802         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
1803         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1804         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1805         * bindings/js/JSXSLTProcessorConstructor.cpp:
1806         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1807         * bindings/scripts/CodeGeneratorJS.pm:
1808         * bridge/objc/objc_runtime.h:
1809         (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
1810         * bridge/runtime_array.h:
1811         (JSC::RuntimeArray::createPrototype):
1812         * bridge/runtime_method.h:
1813         (JSC::RuntimeMethod::createPrototype):
1814         * bridge/runtime_object.h:
1815         (JSC::RuntimeObjectImp::createPrototype):
1816         * page/DOMWindow.idl:
1817
1818 2009-04-03  Jian Li  <jianli@chromium.org>
1819
1820         Reviewed by Darin Fisher.
1821
1822         https://bugs.webkit.org/show_bug.cgi?id=25009
1823         Upstream changes to WorkerContextExecutionProxy for V8 bindings in order to use V8EventListenerList as container.
1824
1825         * bindings/v8/WorkerContextExecutionProxy.cpp:
1826         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
1827         (WebCore::WorkerContextExecutionProxy::dispose):
1828         (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
1829         (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
1830         * bindings/v8/WorkerContextExecutionProxy.h:
1831
1832 2009-04-03  Geoffrey Garen  <ggaren@apple.com>
1833
1834         Reviewed by Sam Weinig.
1835
1836         Removed irrelevant ExecState* parameter from event handler registration code.
1837         
1838         No change in behavior.
1839
1840         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1841         (WebCore::JSDOMApplicationCache::addEventListener):
1842         (WebCore::JSDOMApplicationCache::removeEventListener):
1843         * bindings/js/JSDOMGlobalObject.cpp:
1844         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
1845         (WebCore::JSDOMGlobalObject::findJSEventListener):
1846         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1847         * bindings/js/JSDOMGlobalObject.h:
1848         * bindings/js/JSDOMWindowCustom.cpp:
1849         (WebCore::JSDOMWindow::addEventListener):
1850         * bindings/js/JSMessagePortCustom.cpp:
1851         (WebCore::JSMessagePort::addEventListener):
1852         (WebCore::JSMessagePort::removeEventListener):
1853         * bindings/js/JSNodeCustom.cpp:
1854         (WebCore::JSNode::addEventListener):
1855         (WebCore::JSNode::removeEventListener):
1856         * bindings/js/JSSVGElementInstanceCustom.cpp:
1857         (WebCore::JSSVGElementInstance::addEventListener):
1858         * bindings/js/JSWorkerContextCustom.cpp:
1859         (WebCore::JSWorkerContext::addEventListener):
1860         (WebCore::JSWorkerContext::removeEventListener):
1861         * bindings/js/JSWorkerCustom.cpp:
1862         (WebCore::JSWorker::addEventListener):
1863         (WebCore::JSWorker::removeEventListener):
1864         * bindings/js/JSXMLHttpRequestCustom.cpp:
1865         (WebCore::JSXMLHttpRequest::addEventListener):
1866         (WebCore::JSXMLHttpRequest::removeEventListener):
1867         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1868         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1869         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1870         * bindings/scripts/CodeGeneratorJS.pm:
1871
1872 2009-04-03  Dan Bernstein  <mitz@apple.com>
1873
1874         Reviewed by Simon Fraser.
1875
1876         - fix <rdar://problem/6634771> Under full-page zoom, cannot scroll
1877           MobileMe contact list
1878
1879         Test: fast/css/zoom-in-length-round-trip.html
1880
1881         * dom/Element.cpp:
1882         (WebCore::adjustForLocalZoom): For zoom factors greater than 1, ensure
1883         that the returned value is equal to the original unscaled value.
1884         (WebCore::adjustForAbsoluteZoom): Ditto.
1885
1886 2009-04-03  Chris Marrin  <cmarrin@apple.com>
1887
1888         Reviewed by David Hyatt.
1889
1890         Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
1891
1892         This fix essentially does a -viewWillDraw call for layout. It adds 
1893         a CFRunLoopObserver which performs layout just before drawing on the 
1894         Mac platform. This makes sure layout is complete before rendering and 
1895         avoids a flash.
1896
1897         * page/ChromeClient.h:
1898         (WebCore::ChromeClient::scheduleViewUpdate):
1899         * rendering/RenderLayerCompositor.cpp:
1900         (WebCore::RenderLayerCompositor::setCompositingLayersNeedUpdate):
1901         (WebCore::RenderLayerCompositor::scheduleViewUpdate):
1902         * rendering/RenderLayerCompositor.h:
1903
1904 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
1905
1906         Reviewed by Dan Bernstein
1907
1908         https://bugs.webkit.org/show_bug.cgi?id=24648
1909
1910         Optimize mapPoint(), mapRect() and mapQuad() for identity matrix and translations.
1911         
1912         * platform/graphics/transforms/TransformationMatrix.cpp:
1913         (WebCore::TransformationMatrix::mapPoint):
1914         (WebCore::TransformationMatrix::mapRect):
1915         (WebCore::TransformationMatrix::mapQuad):
1916         * platform/graphics/transforms/TransformationMatrix.h:
1917         (WebCore::TransformationMatrix::mapPoint):
1918
1919 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
1920
1921         Reviewed by Dan Bernstein
1922
1923         https://bugs.webkit.org/show_bug.cgi?id=25018
1924         
1925         Add containsPoint() and containsQuad() methods to FloatQuad.
1926
1927         * platform/graphics/FloatQuad.cpp:
1928         (WebCore::dot):
1929         (WebCore::isPointInTriangle):
1930         (WebCore::FloatQuad::containsPoint):
1931         (WebCore::FloatQuad::containsQuad):
1932         * platform/graphics/FloatQuad.h:
1933
1934 2009-04-03  Kevin Decker  <kdecker@apple.com>
1935
1936         Reviewed by Darin.
1937
1938         *  loader/ProgressTracker.cpp: Included DocumentLoader.h
1939         (WebCore::ProgressTracker::incrementProgress): Limit the 50%-clamp rule to 
1940         documents that use WebCore's layout system.
1941
1942 2009-04-03  Eric Carlson  <eric.carlson@apple.com>
1943
1944         Reviewed by Simon Fraser.
1945
1946         https://bugs.webkit.org/show_bug.cgi?id=25029
1947         <rdar://problem/6336092> REGRESSION: movie does not resize correctly
1948
1949         Test: media/video-size-intrinsic-scale.html
1950
1951         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1952         (WebCore::MediaPlayerPrivate::naturalSize): Use QTMovieCurrentSizeAttribute instead 
1953         of QTMovieNaturalSizeAttribute so we return the correct size for movies saved
1954         with a non-default matrix.
1955         (WebCore::MediaPlayerPrivate::setSize): Don't resize the QTMovieView
1956         because [QTMovieView setFrame] also resizes the movie itself, and as
1957         the renderer calls setSize immediately when a movie reports a size change
1958         (QTMovieSizeDidChangeNotification) we can get into a feedback loop
1959         observing the size change and resetting the size, and this can cause
1960         QuickTime to miss correctly setting a movie's size when the media size
1961         changes after opening (as happens with an rtsp movie once the server sends
1962         the track sizes). Instead, remember the size passed to paint() and 
1963         resize the view when it changes.
1964         (WebCore::MediaPlayerPrivate::paint): Resize the view when passed a new size.
1965
1966         * platform/graphics/win/QTMovieWin.cpp:
1967         (QTMovieWin::getNaturalSize): Use GetMovieBox instead of GetMovieNaturalBoundsRect
1968         so we return the correct size for movies saved with non-default matrix.
1969
1970 2009-04-03  Darin Fisher  <darin@chromium.org>
1971
1972         Reviewed by Darin Adler.
1973
1974         Restore FrameLoader::policyDocumentLoader to fix the Chromium build.
1975         https://bugs.webkit.org/show_bug.cgi?id=25028
1976
1977         * loader/FrameLoader.h:
1978         (WebCore::FrameLoader::policyDocumentLoader):
1979
1980 2009-04-02  Michael Nordman  <michaeln@google.com>
1981
1982         Reviewed by Alexey Proskuryakov.
1983
1984         Use long long, not int64, when working in webcore (sorry).
1985         https://bugs.webkit.org/show_bug.cgi?id=25011
1986
1987         No change in functionality, so no tests.
1988
1989         * platform/network/chromium/ResourceResponse.h:
1990         (WebCore::ResourceResponse::getAppCacheID):
1991         (WebCore::ResourceResponse::setAppCacheID):
1992
1993 2009-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1994
1995         Reviewed by Holger Freyther.
1996
1997         Remove pre-processor checks for GTK+ >= 2.10, since we now require
1998         at least that version.
1999
2000         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2001         (WebCore::FontPlatformData::FontPlatformData):
2002         * platform/gtk/ContextMenuItemGtk.cpp:
2003         (WebCore::gtkStockIDFromContextMenuAction):
2004         * platform/gtk/KeyEventGtk.cpp:
2005         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2006         * platform/gtk/LocalizedStringsGtk.cpp:
2007         (WebCore::contextMenuItemTagSelectAll):
2008         * platform/gtk/MouseEventGtk.cpp:
2009         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2010         * platform/gtk/PasteboardGtk.cpp:
2011         (WebCore::Pasteboard::writeSelection):
2012         (WebCore::Pasteboard::documentFragment):
2013         * platform/gtk/WheelEventGtk.cpp:
2014         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2015
2016 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
2017
2018         Reviewed by Dan Bernstein
2019         
2020         https://bugs.webkit.org/show_bug.cgi?id=25021
2021         
2022         Fix repainting an element with a reflection and transform after layout.
2023         Telling the reflection to repaint directly is wrong, because, with
2024         LayoutState enabled, it only takes the reflection's transform into account,
2025         not that of the element. We can fix this, and keep the benefits of LayoutState,
2026         by computing the reflected repaint rect, and repainting that using the original
2027         renderer.
2028
2029         Test: fast/repaint/reflection-repaint-test.html
2030
2031         * rendering/RenderBlock.cpp:
2032         (WebCore::RenderBlock::layoutBlock):
2033
2034 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
2035
2036         Reviewed by Dan Bernstein
2037         
2038         https://bugs.webkit.org/show_bug.cgi?id=23307
2039         
2040         When repainting during layout (when LayoutState is enabled), we need
2041         to apply the transform to the dirty rect, before applying x(), y() and
2042         the offset storted in the LayoutState.
2043         
2044         Also bypass LayoutState in mapLocalToContainer() if we have a repaintContainer,
2045         since LayoutState is always root-relative.
2046
2047         Test: fast/repaint/transform-layout-repaint.html
2048
2049         * rendering/RenderBox.cpp:
2050         (WebCore::RenderBox::mapLocalToContainer):
2051         (WebCore::RenderBox::computeRectForRepaint):
2052
2053 2009-04-02  Mark Rowe  <mrowe@apple.com>
2054
2055         Fix the Mac build after r42191.
2056
2057         * WebCore.base.exp:
2058
2059 2009-04-02  Mark Rowe  <mrowe@apple.com>
2060
2061         Fix Windows build after r42190.
2062
2063         * page/EventHandler.cpp:
2064         (WebCore::EventHandler::keyEvent):  Update to use the new name of the constant.
2065
2066 2009-04-02  Darin Adler  <darin@apple.com>
2067
2068         Reviewed by Brady Eidson.
2069
2070         <rdar://problem/6625840> Previous Page isn't loaded after hitting back button at http://www.breakingnews.ie/
2071
2072         Test: http/tests/navigation/onload-navigation-iframe-2.html
2073
2074         * html/HTMLFrameElement.cpp:
2075         (WebCore::HTMLFrameElement::HTMLFrameElement): Removed unneeded createdByParser flag.
2076         * html/HTMLFrameElement.h: Ditto.
2077         * html/HTMLFrameElementBase.cpp:
2078         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Ditto.
2079         * html/HTMLFrameElementBase.h: Ditto.
2080         * html/HTMLFrameOwnerElement.cpp:
2081         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Ditto.
2082         * html/HTMLFrameOwnerElement.h: Ditto.
2083         * html/HTMLIFrameElement.cpp:
2084         (WebCore::HTMLIFrameElement::HTMLIFrameElement): Ditto.
2085         * html/HTMLIFrameElement.h: Ditto.
2086         * html/HTMLPlugInElement.cpp:
2087         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Ditto.
2088
2089         * loader/FrameLoader.cpp:
2090         (WebCore::FrameLoader::submitForm): Removed unneeded check of the createdByParser flag.
2091         The original change that introduced this, http://trac.webkit.org/changeset/25410, does
2092         not make it clear why this check was needed. And it seems it is not needed.
2093
2094 2009-04-02  Adele Peterson  <adele@apple.com>
2095
2096         Reviewed by Darin Adler.
2097
2098         Add a way to get a list of focusable nodes.
2099
2100         * dom/Document.cpp:
2101         (WebCore::Document::setFocusedNode):
2102         (WebCore::Document::getFocusableNodes):
2103         * dom/Document.h:
2104
2105 2009-04-02  Darin Adler  <darin@apple.com>
2106
2107         Reviewed by Sam Weinig.
2108
2109         <rdar://problem/6654255> crash due to null FrameView in EventHandler
2110
2111         Lots of code was added to EventHandler that used view() and page() without
2112         null checking, but both of those can become null due to the frame lifetime.
2113
2114         * page/EventHandler.cpp:
2115         (WebCore::EventHandler::handleMousePressEventSingleClick):
2116         (WebCore::EventHandler::eventMayStartDrag):
2117         (WebCore::EventHandler::handleAutoscroll):
2118         (WebCore::EventHandler::autoscrollTimerFired):
2119         (WebCore::EventHandler::setPanScrollCursor):
2120         (WebCore::EventHandler::allowDHTMLDrag):
2121         (WebCore::EventHandler::hitTestResultAtPoint):
2122         (WebCore::EventHandler::stopAutoscrollTimer):
2123         (WebCore::EventHandler::selectCursor):
2124         (WebCore::EventHandler::handleMousePressEvent):
2125         (WebCore::EventHandler::handleMouseMoveEvent):
2126         (WebCore::EventHandler::dispatchDragEvent):
2127         (WebCore::EventHandler::prepareMouseEvent):
2128         (WebCore::EventHandler::dispatchMouseEvent):
2129         (WebCore::EventHandler::handleWheelEvent):
2130         (WebCore::EventHandler::hoverTimerFired):
2131         (WebCore::EventHandler::keyEvent):
2132         (WebCore::EventHandler::dragHysteresisExceeded):
2133         (WebCore::EventHandler::shouldDragAutoNode):
2134         (WebCore::EventHandler::handleDrag):
2135         (WebCore::EventHandler::handleTextInputEvent):
2136         (WebCore::EventHandler::addPendingFrameUnloadEventCount):
2137         (WebCore::EventHandler::removePendingFrameUnloadEventCount):
2138         (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
2139         (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
2140         (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
2141         (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
2142         Added null checks for view() and page(). Made minor code cleanups.
2143
2144 2009-04-02  David Hyatt  <hyatt@apple.com>
2145
2146         Reviewed by Oliver Hunt.
2147
2148         Fix regression in <object> layout test.  Make sure that even though a 404 image loads, that <object>
2149         still considers it an error for the purposes of firing onerror.
2150
2151         * html/HTMLImageLoader.cpp:
2152         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2153
2154 2009-04-02  Dimitri Glazkov  <dglazkov@chromium.org>
2155
2156         Reviewed by Timothy Hatcher.
2157
2158         https://bugs.webkit.org/show_bug.cgi?id=25010
2159         Refactor InspectorController to replace all JS function invocations with
2160         ScriptFunctionCall.
2161
2162         * bindings/js/ScriptFunctionCall.cpp:
2163         (WebCore::ScriptFunctionCall::appendArgument): Added int, UString,
2164             and JSValuePtr methods.
2165         (WebCore::ScriptFunctionCall::call): Added simplified, exception-eating
2166             method.
2167         * bindings/js/ScriptFunctionCall.h: Decls for above.
2168         * bindings/js/ScriptObjectQuarantine.cpp: Added helper for Node and DOMWindow.
2169         (WebCore::getQuarantinedScriptObject):
2170         * bindings/js/ScriptObjectQuarantine.h: Decls for above.
2171         * inspector/InspectorController.cpp:
2172         (WebCore::callSimpleFunction): Made into a static.
2173         (WebCore::InspectorController::focusNode): Refactored to use ScriptFunctionCall.
2174         (WebCore::InspectorController::toggleRecordButton): Ditto.
2175         (WebCore::InspectorController::startGroup): Ditto.
2176         (WebCore::InspectorController::setAttachedWindow): Ditto.
2177         (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Ditto.
2178         (WebCore::InspectorController::addScriptProfile): Ditto.
2179         (WebCore::InspectorController::didParseSource): Ditto.
2180         (WebCore::InspectorController::failedToParseSource): Ditto.
2181         (WebCore::InspectorController::didPause): Ditto.
2182         * inspector/InspectorController.h: Removed callFunction and callSimpleFunction
2183             decls.
2184
2185 2009-04-02  Jian Li  <jianli@chromium.org>
2186
2187         Reviewed by Darin Fisher.
2188
2189         Upstream changes to V8WorkerContextEventListener for V8 bindings.
2190         https://bugs.webkit.org/show_bug.cgi?id=25007
2191
2192         * bindings/v8/V8ObjectEventListener.h:
2193         * bindings/v8/V8WorkerContextEventListener.cpp:
2194
2195 2009-04-02  Jian Li  <jianli@chromium.org>
2196
2197         Reviewed by Darin Fisher.
2198
2199         Upstream V8WorkerContextObjectEventListener for V8 bindings.
2200         https://bugs.webkit.org/show_bug.cgi?id=25005
2201
2202         * bindings/v8/V8WorkerContextObjectEventListener.cpp: Added.
2203         * bindings/v8/V8WorkerContextObjectEventListener.h: Added.
2204
2205 2009-04-02  Jian Li  <jianli@chromium.org>
2206
2207         Reviewed by Darin Fisher.
2208
2209         Upstream V8EventListenerList for V8 bindings.
2210         https://bugs.webkit.org/show_bug.cgi?id=25004
2211
2212         * bindings/v8/V8EventListenerList.cpp: Added.
2213         * bindings/v8/V8EventListenerList.h: Added.
2214
2215 2009-04-02  Michael Nordman  <michaeln@google.com>
2216
2217         Reviewed by Darin Fisher.
2218
2219         Chromium's ResourceRequest and ResourceResponse structs need some new data members.
2220         https://bugs.webkit.org/show_bug.cgi?id=24897
2221
2222         These fields are needed to facilitate Chromium's implementation of the HTML5
2223         ApplicationCache feature. We need to know what frame (or context) is doing the
2224         requesting, and from what cache the resulting resource was retrieved.
2225
2226         No change in functionality, so no tests.
2227
2228         * platform/network/chromium/ResourceRequest.h:
2229         (WebCore::ResourceRequest::ResourceRequest):
2230         (WebCore::ResourceRequest::appCacheContextID):
2231         (WebCore::ResourceRequest::setAppCacheContextID):
2232         * platform/network/chromium/ResourceResponse.h:
2233         (WebCore::ResourceResponse::ResourceResponse):
2234         (WebCore::ResourceResponse::getAppCacheID):
2235         (WebCore::ResourceResponse::setAppCacheID):
2236
2237 2009-04-02  David Hyatt  <hyatt@apple.com>
2238
2239         Reviewed by Darin Adler
2240
2241         Fix for https://bugs.webkit.org/show_bug.cgi?id=24643.
2242         
2243         Make sure images just ignore HTTP error codes and keep loading anyway.  Only <object> checks http error codes and falls back.  Everyone
2244         else just ignores it and displays the image anyway.
2245
2246         Added http/tests/misc/image-error.html
2247
2248         * html/HTMLImageLoader.cpp:
2249         (WebCore::HTMLImageLoader::notifyFinished):
2250         * loader/CachedImage.cpp:
2251         (WebCore::CachedImage::CachedImage):
2252         * loader/CachedImage.h:
2253         (WebCore::CachedImage::httpStatusCodeError):
2254         (WebCore::CachedImage::httpStatusCodeErrorOccurred):
2255         * loader/CachedResource.h:
2256         (WebCore::CachedResource::httpStatusCodeError):
2257         * loader/loader.cpp:
2258         (WebCore::Loader::Host::didReceiveData):
2259
2260 2009-04-02  Jian Li  <jianli@chromium.org>
2261
2262         Reviewed by Dimitri Glazkov.
2263
2264         Add XHR constructor in WorkerContext.idl for V8 bindings.
2265         https://bugs.webkit.org/show_bug.cgi?id=24962
2266
2267         * workers/WorkerContext.idl:
2268
2269 2009-04-02  Ben Murdoch  <benm@google.com>
2270
2271         Fix Bug 19743: Release build fails on 32-bit Windows
2272
2273         <https://bugs.webkit.org/show_bug.cgi?id=19743>
2274
2275         Combines all the HTML element cpp files into one to help reduce the
2276         size of WebCore.lib so we can build in release mode on 32bit Windows.
2277
2278         Reviewed by Adam Roben.
2279
2280         * WebCore.vcproj/WebCore.vcproj: Excluded all the separate
2281         HTML*Element.cpp files from the build. Added HTMLElementsAllInOne.cpp
2282         to the build.
2283         * html/HTMLElementsAllInOne.cpp: Added.
2284
2285 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
2286
2287         Reviewed by Darin Adler
2288
2289         https://bugs.webkit.org/show_bug.cgi?id=24999
2290         
2291         Optimize hit testing with transforms.
2292
2293         * rendering/RenderBox.cpp:
2294         (WebCore::RenderBox::mapLocalToContainer):
2295         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2296         getTransformFromContainer() change to return the matrix by reference.
2297
2298         * rendering/RenderLayer.cpp:
2299         (WebCore::RenderLayer::update3DTransformedDescendantStatus):
2300         The method failed to set m_3DTransformedDescendantStatusDirty to false,
2301         so did the work every time.
2302
2303         (WebCore::RenderLayer::createLocalTransformState):
2304         Only call the expensive getTransformFromContainer() if there is a transform,
2305         otherwise we just have a translation.
2306
2307         * rendering/RenderObject.cpp:
2308         (WebCore::RenderObject::getTransformFromContainer):
2309         * rendering/RenderObject.h:
2310         Change transformFromContainer() to getTransformFromContainer(), and return
2311         the matrix by reference to reduce copying.
2312         New enum values for arguments for readability.
2313
2314         * rendering/TransformState.cpp:
2315         (WebCore::TransformState::move):
2316         (WebCore::TransformState::applyTransform):
2317         (WebCore::HitTestingTransformState::translate):
2318         New method that adds a translation to the accumulated matrix, optionally
2319         without flattening. Cheaper than applyTransform().
2320
2321         (WebCore::HitTestingTransformState::applyTransform):
2322         (WebCore::HitTestingTransformState::flatten):
2323         (WebCore::HitTestingTransformState::flattenWithTransform):
2324         Add flattenWithTransform(), which is a helper that allows us to
2325         avoid doing the inverse() twice.
2326
2327         * rendering/TransformState.h:
2328         (WebCore::TransformState::):
2329         (WebCore::TransformState::move):
2330         (WebCore::HitTestingTransformState::):
2331         New method on HitTestingTransformState that adds a translation to the
2332         accumulated matrix, optionally without flattening. Cheaper than applyTransform().
2333         New enum values for arguments for readability.
2334
2335 2009-04-02  Simon Fraser  <simon.fraser@apple.com>
2336
2337         Reviewed by Dan Bernstein
2338         
2339         https://bugs.webkit.org/show_bug.cgi?id=24648
2340         
2341         Optimize common code paths in TransformationMatrix.
2342
2343         * platform/graphics/transforms/TransformationMatrix.cpp:
2344         (WebCore::TransformationMatrix::translate):
2345         (WebCore::TransformationMatrix::translate3d):
2346         Optimize to avoid matrix copy.
2347         
2348         (WebCore::TransformationMatrix::isInvertible):
2349         Test for identity and translation matrices before computing
2350         the determinant.
2351         
2352         (WebCore::TransformationMatrix::inverse):
2353         Optimize for identity matrix and translations.
2354         
2355         * platform/graphics/transforms/TransformationMatrix.h:
2356         (WebCore::TransformationMatrix::isIdentityOrTranslation):
2357         Utility method.
2358
2359 2009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2360
2361         Reviewed by Alexey Proskuryakov.
2362
2363         https://bugs.webkit.org/show_bug.cgi?id=24930
2364         [Gtk] ISO files content is displayed inside the webview instead of being downloaded
2365
2366         Also sniff content of types declared as text/plain. This is
2367         justified by the fact that it is common to have Apache HTTP
2368         servers configured to send text/plain as Content-Type by default.
2369
2370         * platform/network/soup/ResourceHandleSoup.cpp:
2371         (WebCore::gotHeadersCallback):
2372
2373 2009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2374
2375         Reviewed by Alexey Proskuryakov.
2376
2377         Protect the handle when notifying the client that the response was
2378         received also in gotChunkCallback, or we crash in didReceiveData
2379         when the load is cancelled in didReceiveResponse.
2380
2381         * platform/network/soup/ResourceHandleSoup.cpp:
2382         (WebCore::gotChunkCallback):
2383
2384 2009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2385
2386         Reviewed by Alexey Proskuryakov.
2387
2388         https://bugs.webkit.org/show_bug.cgi?id=25001
2389         Crash when content type parameters have no value
2390
2391         Handle the case where a Content-Type header parameter has no
2392         value (i.e. no = character), to work-around a bug in libsoup.
2393
2394         * platform/network/soup/ResourceHandleSoup.cpp:
2395         (WebCore::fillResponseFromMessage):
2396
2397 2009-04-02  Yael Aharon  <yael.aharon@nokia.com>
2398
2399         Reviewed by Simon Hausmann.
2400
2401         https://bugs.webkit.org/show_bug.cgi?id=24490
2402
2403         Enable web workers in Qt.
2404
2405         * WebCore.pro:
2406
2407 2009-04-01  Alexey Proskuryakov  <ap@webkit.org>
2408
2409         Reviewed by Darin Adler. Based on work of Julien Chaffraix.
2410
2411         https://bugs.webkit.org/show_bug.cgi?id=22475
2412         REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore
2413
2414         https://bugs.webkit.org/show_bug.cgi?id=24886
2415         XHR requests opened when offline never return
2416
2417         Tests: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
2418                http/tests/xmlhttprequest/state-after-network-error.html
2419
2420         * xml/XMLHttpRequest.cpp:
2421         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Only dispatch load event if this
2422         wasn't an error.
2423         (WebCore::XMLHttpRequest::abort): Fixed formatting.
2424         (WebCore::XMLHttpRequest::genericError): Change state to DONE and dispatch readystatechange.
2425         The comment saying that this doesn't match Firefox was added in r33559 without explanation
2426         or tests, and I don't think that it's accurate. Also, Firefox and Safari 3 both change state
2427         to HEADERS_RECEIVED before DONE on error - this doesn't match the spec, and I doubt
2428         that any code depends on this, so I went with the spec here.
2429
2430 2009-04-01  Steve Falkenburg  <sfalken@apple.com>
2431
2432         https://bugs.webkit.org/show_bug.cgi?id=24997
2433         Race conditions in icon database threading code
2434         
2435         m_syncThreadRunning set was mistakenly eliminated in r27717.
2436         This reintroduces it.
2437
2438         Reviewed by Oliver Hunt.
2439
2440         * loader/icon/IconDatabase.cpp:
2441         (WebCore::IconDatabase::open): Set m_syncThreadRunning.
2442
2443 2009-04-01  Antti Koivisto  <antti@apple.com>
2444
2445         Reviewed by Darin Adler.
2446
2447         <rdar://problem/6748609> Use ActiveDOMObject to suspend marquees
2448         
2449         Make marquees ActiveDOMObjects, get rid of the special suspension code.
2450
2451         * html/HTMLMarqueeElement.cpp:
2452         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
2453         (WebCore::HTMLMarqueeElement::canSuspend):
2454         (WebCore::HTMLMarqueeElement::suspend):
2455         (WebCore::HTMLMarqueeElement::resume):
2456         * html/HTMLMarqueeElement.h:
2457         * page/Frame.cpp:
2458         (WebCore::Frame::clearTimers):
2459         * rendering/RenderLayer.cpp:
2460         * rendering/RenderLayer.h:
2461         (WebCore::RenderLayer::marquee):
2462
2463 2009-04-01  Dean Jackson  <dino@apple.com>
2464
2465         Reviewed by Darin Adler
2466
2467         Make constant values static in previous commit, as suggested
2468         by Darin.
2469
2470         * rendering/RenderVideo.cpp:
2471
2472 2009-04-01  Dean Jackson  <dino@apple.com>
2473
2474         Reviewed by Simon Fraser
2475
2476         https://bugs.webkit.org/show_bug.cgi?id=24993
2477
2478         Standalone media should have a smaller instrinsic
2479         height.
2480
2481         * rendering/RenderVideo.cpp:
2482         (WebCore::RenderVideo::RenderVideo):
2483
2484 2009-04-01  Darin Adler  <darin@apple.com>
2485
2486         Reviewed by Geoff Garen.
2487
2488         Bug 22378: Crash submitting a form when parsing an XHTML document
2489         https://bugs.webkit.org/show_bug.cgi?id=22378
2490         rdar://problem/6388377
2491
2492         Tests: fast/loader/submit-form-while-parsing-1.xhtml
2493                fast/loader/submit-form-while-parsing-2.html
2494
2495         * WebCore.base.exp: Updated.
2496
2497         * history/HistoryItem.cpp:
2498         (WebCore::HistoryItem::HistoryItem): Renamed m_subItems to m_children.
2499         Used uncheckedAppend because we reserveInitialCapacity.
2500         (WebCore::HistoryItem::addChildItem): Renamed m_subItems to m_children.
2501         Added an assertion that this is only used to add items that don't have
2502         duplicate frame names.
2503         (WebCore::HistoryItem::setChildItem): Added. Replaces an existing item
2504         if any, preserving the isTargetItem flag.
2505         (WebCore::HistoryItem::childItemWithTarget): Renamed from childItemWithName
2506         for consistency with the other functions here that all call the frame name the
2507         "target". Also updated for rename of m_subItems to m_children.
2508         (WebCore::HistoryItem::findTargetItem): Renamed from recurseToFindTargetItem.
2509         Removed unneeded size check.
2510         (WebCore::HistoryItem::targetItem): Changed to always return the top item
2511         if no item has the isTargetItem flag set. The old version would instead return
2512         0 in some cases, but return the top item if it had no children.
2513         (WebCore::HistoryItem::children): Renamed m_subItems to m_children.
2514         (WebCore::HistoryItem::hasChildren): Ditto.
2515         (WebCore::HistoryItem::showTreeWithIndent): Ditto.
2516
2517         * history/HistoryItem.h: Name changes.
2518
2519         * html/HTMLFormElement.cpp:
2520         (WebCore::HTMLFormElement::submit): Create and pass a FormState instead of
2521         attaching "recorded form values" and "form about to be submitted" to the frame
2522         loader. Parameter work fine for this; there's no need to store state on the
2523         FrameLoader.
2524
2525         * loader/FormState.cpp:
2526         (WebCore::FormState::FormState): Adopt a vector instead of copying a hash map.
2527         (WebCore::FormState::create): Ditto.
2528         * loader/FormState.h: Update to use a vector that we adopt instead of hash map
2529         that we copy for auto-fill text field values.
2530
2531         * loader/FrameLoader.cpp:
2532         (WebCore::ScheduledRedirection::ScheduledRedirection): Added a new case for
2533         form submissions and turned the "wasDuringLoad" state into a separate boolean
2534         instead of using a special redirection type to track it.
2535         (WebCore::FrameLoader::createWindow): Updated for name and argument change of
2536         loadFrameRequest.
2537         (WebCore::FrameLoader::urlSelected): Ditto.
2538         (WebCore::FrameLoader::submitForm): Removed the "deferred form submission"
2539         machinery, replacing it with the "scheduled redirection" mechanism, shared
2540         with other kinds of redirection and navigation. Moved frame targeting here
2541         so we can schedule the redirection on the right frame. Moved the multiple
2542         form submission protection here. Moved the code to implement the rule that
2543         m_navigationDuringLoad was used for here too.
2544         (WebCore::FrameLoader::didOpenURL): Use the new wasDuringLoad flag instead
2545         of the locationChangeDuringLoad type to detect location change during a load.
2546         (WebCore::FrameLoader::executeScript): Removed call to now-obsolete function,
2547         submitFormAgain.
2548         (WebCore::FrameLoader::scheduleLocationChange): Moved the code to stop loading
2549         out of this function into scheduleRedirection, so it can be shared with the
2550         new scheduleFormSubmission function.
2551         (WebCore::FrameLoader::scheduleFormSubmission): Added. Almost the same as
2552         scheduleLocationChange, but with the arguments for a form submission.
2553         (WebCore::FrameLoader::scheduleRefresh): Updated for the change to the
2554         duringLoad flag.
2555         (WebCore::FrameLoader::isLocationChange): Added case for formSubmission
2556         and removed case for locationChangeDuringLoad.
2557         (WebCore::FrameLoader::redirectionTimerFired): Ditto. Also removed unneeded
2558         completeURL call and just use KURL constructor to match the other cases.
2559         (WebCore::FrameLoader::provisionalLoadStarted): Removed the code to set up
2560         the m_navigationDuringLoad, which is no longer needed. The new version of
2561         this is in the submitForm function and sets the lockHistory boolean.
2562         (WebCore::FrameLoader::scheduleRedirection): Moved the code to stop a load
2563         in here that used to be in scheduleLocationChange.
2564         (WebCore::FrameLoader::startRedirectionTimer): Added case for formSubmission
2565         and removed case for locationChangeDuringLoad.
2566         (WebCore::FrameLoader::stopRedirectionTimer): Ditto.
2567         (WebCore::FrameLoader::completed): Removed call to now-obsolete function,
2568         submitFormAgain.
2569         (WebCore::FrameLoader::loadFrameRequest): Renamed from
2570         loadFrameRequestWithFormAndValues. Replaced form element and form values
2571         argument with a single FormState argument. Changed frame targeting code
2572         to use the source frame in the case of a form submission to better match
2573         the actual target frame.
2574         (WebCore::FrameLoader::loadURL): Don't search for existing frames in the
2575         form submission case since we already did that in the submitForm function.
2576         (WebCore::FrameLoader::clientRedirected): Changed to work with the
2577         m_isExecutingJavaScriptFormAction data member directly instead of taking
2578         it as a function parameter.
2579         (WebCore::FrameLoader::loadPostRequest): Don't search for existing frames
2580         in the form submission case since we already did that in the submitForm
2581         function.
2582         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Moved comment
2583         in here that was misplaced elsewhere in the file.
2584         (WebCore::FrameLoader::findFrameForNavigation): Changed to use the early
2585         return idiom.
2586         (WebCore::FrameLoader::recursiveGoToItem): Updated for HistoryItem changes.
2587         (WebCore::FrameLoader::childFramesMatchItem): Ditto.
2588         (WebCore::FrameLoader::updateHistoryForStandardLoad): Removed the
2589         m_navigationDuringLoad logic; that's now handled by setting lockHistory
2590         to true in the submitForm function.
2591         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
2592         Use the new setChildItem function so we don't get multiple items for the
2593         same frame name in the history item tree in the back/forward list.
2594
2595         * loader/FrameLoader.h: Renamed loadFrameRequestWithFormAndValues to
2596         loadFrameRequest and made it take a form state object instead of the
2597         form element and form values. Removed the unused functions
2598         loadEmptyDocumentSynchronously, provisionalDocumentLoader,
2599         notifyIconChnaged, and updateBaseURLForEmptyDocument. Changed the
2600         submitForm function to take a form state argument. Eliminated the
2601         clearRecordedFormValues, setFormAboutToBeSubmitted, and recordFormValue
2602         functions, which are replaced by the form state arguments to submitForm
2603         and loadFrameRequest. Removed the isJavaScriptFormAction argument from
2604         the clientRedirected function; instead it looks at a data member directly.
2605         Eliminated the submitFormAgain and overload of the submitForm function;
2606         these are now subsumed into the remaining submitForm function and the
2607         scheduleFormSubmission function. Removed unused and obsolete data
2608         members m_navigationDuringLoad, m_deferredFormSubmission,
2609         m_formAboutToBeSubmitted and m_formValuesAboutToBeSubmitted.
2610
2611         * page/ContextMenuController.cpp:
2612         (WebCore::ContextMenuController::contextMenuItemSelected):
2613         Updated for name and argument change of loadFrameRequest.
2614
2615         * page/Frame.cpp:
2616         (WebCore::Frame::~Frame): Removed call to the now-unneeded
2617         clearRecordedFormValues function.
2618
2619 2009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
2620
2621         Unreviewed, fixing previous commit.
2622
2623         https://bugs.webkit.org/show_bug.cgi?id=24994
2624         Revert V8DOMMap.cpp change which accidentally snuck into the previous
2625         commit.
2626
2627         * bindings/v8/V8DOMMap.cpp: Revert change in previous commit.
2628
2629 2009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
2630
2631         Reviewed by Darin Fisher.
2632
2633         https://bugs.webkit.org/show_bug.cgi?id=24994
2634         Fix miscellaneous merge/upstreaming divergencies in Chromium port.
2635
2636         * bindings/v8/V8Collection.h: Added an include.
2637         * platform/KURLGoogle.cpp:
2638         (WebCore::KURL::baseAsString): Added to match KURL.cpp.
2639         * platform/chromium/ClipboardChromium.cpp: Added an include.
2640
2641 2009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
2642
2643         Reviewed by Timothy Hatcher.
2644
2645         https://bugs.webkit.org/show_bug.cgi?id=24989
2646         Refactor InspectorResource to use ScriptObject/FunctionCall.
2647
2648         * bindings/js/JSInspectorControllerCustom.cpp:
2649         (WebCore::JSInspectorController::addResourceSourceToFrame): Tweaked to use
2650             a more appropriate type conversion.
2651         (WebCore::JSInspectorController::getResourceDocumentNode): Tweaked to
2652             accommodate for InspectorResource refactoring.
2653         * bindings/js/ScriptFunctionCall.cpp:
2654         (WebCore::ScriptFunctionCall::appendArgument): Added long long type to match
2655             existing jsNumber call signature.
2656         * bindings/js/ScriptFunctionCall.h: Declaration for above.
2657         * bindings/js/ScriptObject.cpp:
2658         (WebCore::createEmptyObject): Added.
2659         (WebCore::ScriptObject::ScriptObject):
2660         (WebCore::ScriptObject::set): Added a bunch of property setters.
2661         * bindings/js/ScriptObject.h: Declarations for above.
2662         * inspector/InspectorController.cpp: Moved all InspectorResource-managing code
2663             to InspectorResource.cpp
2664         (WebCore::InspectorController::populateScriptObjects): Changed to use
2665             refactored InspectorResource.
2666         (WebCore::InspectorController::resetScriptObjects): Ditto.
2667         (WebCore::InspectorController::pruneResources): Ditto.
2668         (WebCore::InspectorController::didCommitLoad): Ditto.
2669         (WebCore::InspectorController::addResource): Ditto.
2670         (WebCore::InspectorController::removeResource): Ditto.
2671         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
2672         (WebCore::InspectorController::identifierForInitialRequest): Ditto.
2673         (WebCore::InspectorController::willSendRequest): Ditto.
2674         (WebCore::InspectorController::didReceiveResponse): Ditto.
2675         (WebCore::InspectorController::didReceiveContentLength): Ditto.
2676         (WebCore::InspectorController::didFinishLoading): Ditto.
2677         (WebCore::InspectorController::didFailLoading): Ditto,
2678         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): Ditto.
2679         (WebCore::InspectorController::scriptImported): Ditto.
2680         * inspector/InspectorController.h: Removed InspectorResource-managing code decls
2681             and tweaked some signatures to use ScriptString and long long for identifier.
2682         * inspector/InspectorController.idl: Changed to use long long for identifier.
2683         * inspector/InspectorResource.cpp: Refactored to use ScriptObject/FunctionCall.
2684         (WebCore::InspectorResource::InspectorResource): Ditto.
2685         (WebCore::InspectorResource::~InspectorResource): Ditto.
2686         (WebCore::InspectorResource::createCached): Added.
2687         (WebCore::InspectorResource::updateRequest): Added.
2688         (WebCore::InspectorResource::updateResponse): Added.
2689         (WebCore::createHeadersObject): Added.
2690         (WebCore::InspectorResource::createScriptObject): Added.
2691         (WebCore::InspectorResource::updateScriptObject): Added.
2692         (WebCore::InspectorResource::releaseScriptObject): Added.
2693         (WebCore::InspectorResource::type): Tweaked to use ScriptString.
2694         (WebCore::InspectorResource::setXMLHttpResponseText): Added.
2695         (WebCore::InspectorResource::sourceString): Tweaked to use ScriptString.
2696         (WebCore::InspectorResource::startTiming): Added.
2697         (WebCore::InspectorResource::markResponseReceivedTime): Added.
2698         (WebCore::InspectorResource::endTiming): Added.
2699         (WebCore::InspectorResource::markFailed): Added.
2700         (WebCore::InspectorResource::addLength): Added.
2701         * inspector/InspectorResource.h: Added decls for newly refactored-in methods.
2702         (WebCore::InspectorResource::create): Added.
2703         (WebCore::InspectorResource::isSameLoader): Added.
2704         (WebCore::InspectorResource::markMainResource): Added.
2705         (WebCore::InspectorResource::identifier): Added.
2706         (WebCore::InspectorResource::requestURL): Added.
2707         (WebCore::InspectorResource::frame): Added.
2708         (WebCore::InspectorResource::mimeType): Added.
2709         (WebCore::InspectorResource::Changes::Changes): Added new class to track
2710             resource changes.
2711         (WebCore::InspectorResource::Changes::hasChange): Added.
2712         (WebCore::InspectorResource::Changes::set): Added.
2713         (WebCore::InspectorResource::Changes::clear): Added.
2714         (WebCore::InspectorResource::Changes::setAll): Added.
2715         (WebCore::InspectorResource::Changes::clearAll): Added.
2716
2717 2009-04-01  Tony Chang  <tony@chromium.org>
2718
2719         Reviewed by Darin Fisher.
2720
2721         Ensure the right click doesn't deselect text under it.  This was
2722         happening in the Chromium and GTK+ ports because they don't select
2723         the text under the cursor on right click.
2724         
2725         This was regressed in r41715, https://bugs.webkit.org/show_bug.cgi?id=19737
2726         
2727         https://bugs.webkit.org/show_bug.cgi?id=24946
2728
2729         Test: fast/events/context-no-deselect.html
2730
2731         * page/EventHandler.cpp:
2732         (WebCore::EventHandler::handleMouseReleaseEvent):
2733
2734 2009-04-01  Simon Fraser  <simon.fraser@apple.com>
2735
2736         Reviewed by Dave Hyatt
2737
2738         https://bugs.webkit.org/show_bug.cgi?id=24991
2739         
2740         Need to use toRenderBoxModelObject(), not toRenderBox(), to test for layer()
2741         when getting the transform.
2742         
2743         * rendering/RenderObject.cpp:
2744         (WebCore::RenderObject::transformFromContainer):
2745
2746 2009-03-31  Darin Adler  <darin@apple.com>
2747
2748         Rolled out that last change until I can investigate the regression test failures it seems
2749         to have caused.
2750
2751         * dom/PositionIterator.cpp:
2752         (WebCore::PositionIterator::decrement):
2753         * dom/PositionIterator.h:
2754         (WebCore::PositionIterator::PositionIterator):
2755
2756 2009-03-31  Darin Adler  <darin@apple.com>
2757
2758         Reviewed by Eric Seidel.
2759
2760         Bug 24621: PositionIterator doesn't iterate "after last child" positions when going backwards
2761         https://bugs.webkit.org/show_bug.cgi?id=24621
2762
2763         * dom/PositionIterator.cpp:
2764         (WebCore::PositionIterator::decrement): Make sure that when the parent has no children, we
2765         don't ever use Position::uncheckedPreviousOffset. This is consistent with the forward
2766         iterator, but also should never arise because of the fix below.
2767         * dom/PositionIterator.h:
2768         (WebCore::PositionIterator::PositionIterator): Fixed so m_offset will always be 0 when
2769         the passed-in node has no children. Like the change above, this is consistent with the rest
2770         of the class, although in the long run I think it's a bit strange to treat a <p> element
2771         with no children differently than a <p> element with children.
2772
2773 2009-03-31  Eric Carlson  <eric.carlson@apple.com>
2774
2775         Reviewed by Simon Fraser.
2776
2777         https://bugs.webkit.org/show_bug.cgi?id=24965
2778         Bug 24965: HTMLMediaElement: network state changes can be missed
2779         
2780         * html/HTMLMediaElement.cpp:
2781         (WebCore::HTMLMediaElement::setNetworkState): Always update m_networkState when the
2782         state changes, even when no event needs to be fired.
2783
2784 2009-03-31  Eric Carlson  <eric.carlson@apple.com>
2785
2786         Reviewed by Darin Adler.
2787         
2788         https://bugs.webkit.org/show_bug.cgi?id=24964
2789         Bug 24964: HTMLMediaElement: 'waiting' event may fire twice
2790
2791         * html/HTMLMediaElement.cpp:
2792         (WebCore::HTMLMediaElement::setReadyState): Only fire 'waiting' event once when ready state
2793         drops below HAVE_FUTURE_DATA.
2794
2795 2009-03-31  Eric Carlson  <eric.carlson@apple.com>
2796
2797         Reviewed by Darin Adler.
2798
2799         https://bugs.webkit.org/show_bug.cgi?id=24846
2800         Bug 24846: HTMLMediaElement should implement 'autobuffer' attribute
2801
2802         Add 'autobuffer' attrubute to media element. 'autobuffer' is a hint that
2803         the author recommends downloading the entire resource optimistically, so the
2804         attribute is made available to the media engine to use if it is able.
2805
2806         Test: media/video-dom-autobuffer.html
2807
2808         * html/HTMLAttributeNames.in: Add autobuffer.
2809
2810         * html/HTMLMediaElement.cpp:
2811         (WebCore::HTMLMediaElement::parseMappedAttribute): New.
2812         (WebCore::HTMLMediaElement::autobuffer): Ditto.
2813         (WebCore::HTMLMediaElement::setAutobuffer): Ditto.
2814
2815         * html/HTMLMediaElement.h: Declare autobuffer and setAutobuffer.
2816
2817         * html/HTMLMediaElement.idl: Add autobuffer.
2818
2819         * platform/graphics/MediaPlayer.cpp:
2820         (WebCore::MediaPlayer::MediaPlayer): Initialize m_autobuffer.
2821         (WebCore::MediaPlayer::autobuffer): New.
2822         (WebCore::MediaPlayer::setAutobuffer): Ditto.
2823         * platform/graphics/MediaPlayer.h: Declare m_autobuffer, autobuffer and setAutobuffer
2824
2825         * platform/graphics/MediaPlayerPrivate.h:
2826         (WebCore::MediaPlayerPrivateInterface::setAutobuffer): Declare setAutobuffer.
2827
2828 2009-03-31  Craig Schlenter  <craig.schlenter@gmail.com>
2829
2830         Reviewed by Dimitri Glazkov.
2831
2832         https://bugs.webkit.org/show_bug.cgi?id=24550
2833         Check return value of vasprintf. This should keep gcc 4.3.3
2834         happy rather than have it complain about attribute warn_unused_result.
2835
2836         * dom/XMLTokenizerLibxml2.cpp:
2837         (WebCore::XMLTokenizer::error):
2838
2839 2009-03-31  Dean Jackson  <dino@apple.com>
2840
2841         Style guide violation!
2842
2843         * loader/MediaDocument.cpp:
2844         (WebCore::MediaDocument::defaultEventHandler):
2845
2846 2009-03-31  Dean Jackson  <dino@apple.com>
2847
2848         Fix Tiger build.
2849
2850         * loader/MediaDocument.cpp:
2851         (WebCore::MediaDocument::defaultEventHandler):
2852
2853 2009-03-31  Jian Li  <jianli@chromium.org>
2854
2855         Reviewed by Darin Fisher.
2856
2857         Upstream V8DOMMap for v8 bindings.
2858         https://bugs.webkit.org/show_bug.cgi?id=24951
2859
2860         * bindings/v8/V8DOMMap.cpp: Added.
2861         * bindings/v8/V8DOMMap.h: Added.
2862
2863 2009-03-31  Dean Jackson  <dino@apple.com>
2864
2865         Reviewed by Simon Fraser.
2866
2867         https://bugs.webkit.org/show_bug.cgi?id=24955
2868
2869         Spacebar didn't play/pause in standalone MediaDocument
2870
2871         * loader/MediaDocument.cpp:
2872         (WebCore::MediaDocument::defaultEventHandler):
2873
2874 2009-03-31  Alpha Lam  <hclam@chromium.org>
2875
2876         Reviewed by Eric Seidel.
2877
2878         https://bugs.webkit.org/show_bug.cgi?id=24901
2879         Added the following methods to MediaPlayerPrivate for Chromium port.
2880         void sizeChanged();
2881         void rateChanged();
2882         void durationChanged();
2883
2884         The above changes are to reflect changes in MediaPlayer.cpp.
2885         More details can be found in the original changeset.
2886         http://trac.webkit.org/changeset/41907
2887
2888         * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
2889
2890 2009-03-31  Rafael Weinstein  <rafaelw@chromium.org>
2891
2892         Reviewed by Eric Seidel.
2893
2894         https://bugs.webkit.org/show_bug.cgi?id=24947
2895
2896         Special-case drawing text-shadow on win32, to let GDI draw in cases
2897         when both fill & shadow color are opaque and the shadow has no blur.
2898
2899         * platform/graphics/chromium/FontChromiumWin.cpp:
2900         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2901         (WebCore::Font::drawComplexText):
2902         * platform/graphics/skia/SkiaFontWin.cpp:
2903         (WebCore::windowsCanHandleDrawTextShadow):
2904         (WebCore::windowsCanHandleTextDrawing):
2905         * platform/graphics/skia/SkiaFontWin.h:
2906
2907 2009-03-31  Jeremy Moskovich  <jeremy@chromium.org>
2908
2909         Reviewed by Darin Fisher.
2910
2911         r42055 removed some functions in FrameLoader used by Chrome,
2912         this CL backs out some of those changes to unbreak the Chrome build.
2913
2914         https://bugs.webkit.org/show_bug.cgi?id=24949
2915
2916         * WebCore.base.exp:
2917         * loader/FrameLoader.cpp:
2918         * loader/FrameLoader.h:
2919
2920 2009-03-31  Jeremy Moskovich  <jeremy@chromium.org>
2921
2922         Reviewed by Darin Adler.
2923
2924         Build fixes for Chromium.
2925
2926         https://bugs.webkit.org/show_bug.cgi?id=24945
2927
2928         * dom/Document.h:
2929         * platform/chromium/ClipboardChromium.cpp:
2930         (WebCore::imageToMarkup):
2931
2932 2009-03-31  Simon Hausmann  <simon.hausmann@nokia.com>
2933
2934         Fix the Qt build.
2935
2936         * dom/XMLTokenizerQt.cpp:
2937         (WebCore::XMLTokenizer::XMLTokenizer): Use NamedNodeMap instead of NamedAttrMap.
2938
2939 2009-03-30  Steve Falkenburg  <sfalken@apple.com>
2940
2941         Don't create CFDataRef with a fixed size.
2942         Fixes synchronous XMLHTTPRequests on Windows.
2943         
2944         Reviewed by Ada Chan.
2945
2946         * platform/network/cf/ResourceHandleCFNet.cpp:
2947         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2948
2949 2009-03-30  Darin Adler  <darin@apple.com>
2950
2951         Reviewed by Sam Weinig.
2952
2953         Bug 24594: PolicyDelegate NavigationAction is WebNavigationTypeOther instead of WebNavigationTypeReload
2954         https://bugs.webkit.org/show_bug.cgi?id=24594
2955         rdar://problem/6682110
2956
2957         Test: fast/loader/reload-policy-delegate.html
2958
2959         * loader/FrameLoader.cpp:
2960         (WebCore::FrameLoader::loadWithDocumentLoader): Set the triggering action here where we know it's
2961         the policy loader and can use m_policyLoadType rather than letting it get set inside
2962         checkNavigationPolicy.
2963
2964 2009-03-30  Timothy Hatcher  <timothy@apple.com>
2965
2966         <rdar://problem/5838871> CrashTracer: 1483 crashes Quicklooking
2967         in Finder (painting without up to date layout)
2968
2969         Reviewed by Dan Bernstein.
2970
2971         * page/FrameView.cpp:
2972         (WebCore::FrameView::paintContents): Add an early return when
2973         painting is attempted when layout is needed.
2974
2975 2009-03-30  Greg Bolsinga  <bolsinga@apple.com>
2976
2977         Reviewed by Simon Fraser.
2978
2979         https://bugs.webkit.org/show_bug.cgi?id=24938
2980         
2981         Sort alphabetically.
2982
2983         * css/CSSComputedStyleDeclaration.cpp:
2984         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2985
2986 2009-03-30  Greg Bolsinga  <bolsinga@apple.com>
2987
2988         Reviewed by Simon Fraser.
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=24938
2991         
2992         Build fixes for building --3d-rendering and --no-svg
2993
2994         * rendering/RenderLayerBacking.cpp:
2995
2996 2009-03-30  Greg Bolsinga  <bolsinga@apple.com>
2997
2998         Reviewed by Simon Fraser.
2999         
3000         https://bugs.webkit.org/show_bug.cgi?id=24938
3001
3002         Build fixes when building --no-svg
3003         
3004         * css/CSSComputedStyleDeclaration.cpp:
3005         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing CSS properties
3006         * css/CSSCursorImageValue.cpp:
3007         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Handle unused param
3008         * css/CSSParser.cpp:
3009         (WebCore::CSSParser::parseValue): Add missing CSS properties
3010         * css/CSSStyleSelector.cpp:
3011         (WebCore::CSSStyleSelector::applyProperty): Add missing CSS properties
3012         * dom/Node.cpp:
3013         (WebCore::updateSVGElementInstancesAfterEventListenerChange): Handle unused param
3014         * platform/graphics/Font.cpp:
3015         (WebCore::Font::floatWidth): Handle unused param
3016         * platform/graphics/SimpleFontData.cpp:
3017         (WebCore::SimpleFontData::SimpleFontData): Handle unused param
3018
3019 2009-03-30  Darin Adler  <darin@apple.com>
3020
3021         Reviewed by Adam Roben.
3022
3023         Bug 24916: REGRESSION: NavigationAction policy dispatch broken
3024         https://bugs.webkit.org/show_bug.cgi?id=24916
3025
3026         * loader/FrameLoader.cpp:
3027         (WebCore::FrameLoader::loadURL): Rearrange the code so that the "event" PassRefPtr
3028         is not used twice. This also optimizes the case where a frame name is specified,
3029         but it's the name of the frame being loaded. Also called release in all the final
3030         uses of FormState.
3031
3032 2009-03-30  Darin Adler  <darin@apple.com>
3033
3034         Reviewed by Adam Roben.
3035
3036         Bug 24937: NamedNodeMap and NamedAttrMap should not be separate classes
3037         https://bugs.webkit.org/show_bug.cgi?id=24937
3038
3039         Also should fix the Windows COM bindings build.
3040
3041         * bindings/scripts/CodeGeneratorJS.pm: Removed special case for NamedNodeMap.
3042         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3043
3044         * dom/NamedAttrMap.h: Renamed class from NamedAttrMap to
3045         NamedNodeMap and removed NamedNodeMap base class. Made the NamedNodeMap
3046         functions all public and non-virtual. Removed virtualLength.
3047
3048         * dom/NamedNodeMap.h: Replaced file with just an include
3049         of NamedAttrMap.h. As a follow up we will rename the NamedAttrMap
3050         files and remove this file.
3051
3052         * bindings/js/JSNamedNodesCollection.cpp: Renamed from NamedAttrMap to NamedNodeMap.
3053         * dom/Attr.h: Ditto.
3054         * dom/Attribute.h: Ditto.
3055         * dom/Document.cpp:
3056         (WebCore::Document::importNode): Ditto.
3057         * dom/Element.cpp:
3058         (WebCore::Element::attributes): Ditto.
3059         (WebCore::Element::setAttributeMap): Ditto.
3060         (WebCore::Element::createAttributeMap): Ditto.
3061         (WebCore::Element::insertedIntoDocument): Ditto.
3062         (WebCore::Element::removedFromDocument): Ditto.
3063         (WebCore::Element::openTagStartToString): Ditto.
3064         (WebCore::Element::removeAttributeNode): Ditto.
3065         (WebCore::Element::getAttributeNode): Ditto.
3066         (WebCore::Element::getAttributeNodeNS): Ditto.
3067         (WebCore::Element::hasAttribute): Ditto.
3068         (WebCore::Element::hasAttributeNS): Ditto.
3069         (WebCore::Element::normalizeAttributes): Ditto.
3070         * dom/Element.h: Ditto.
3071         * dom/NamedAttrMap.cpp:
3072         (WebCore::NamedNodeMap::detachAttributesFromElement): Ditto.
3073         (WebCore::NamedNodeMap::~NamedNodeMap): Ditto.
3074         (WebCore::NamedNodeMap::isMappedAttributeMap): Ditto.
3075         (WebCore::NamedNodeMap::getNamedItem): Ditto.
3076         (WebCore::NamedNodeMap::getNamedItemNS): Ditto.
3077         (WebCore::NamedNodeMap::removeNamedItem): Ditto.
3078         (WebCore::NamedNodeMap::removeNamedItemNS): Ditto.
3079         (WebCore::NamedNodeMap::setNamedItem): Ditto.
3080         (WebCore::NamedNodeMap::item): Ditto.
3081         (WebCore::NamedNodeMap::getAttributeItem): Ditto.
3082         (WebCore::NamedNodeMap::clearAttributes): Ditto.
3083         (WebCore::NamedNodeMap::detachFromElement): Ditto.
3084         (WebCore::NamedNodeMap::setAttributes): Ditto.
3085         (WebCore::NamedNodeMap::addAttribute): Ditto.
3086         (WebCore::NamedNodeMap::removeAttribute): Ditto.
3087         (WebCore::NamedNodeMap::mapsEquivalent): Ditto.
3088         * dom/NamedMappedAttrMap.cpp:
3089         (WebCore::NamedMappedAttrMap::clearAttributes): Ditto.
3090         * dom/NamedMappedAttrMap.h:
3091         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Ditto.
3092         * dom/Node.cpp:
3093         (WebCore::Node::dumpStatistics): Ditto.
3094         (WebCore::Node::isEqualNode): Ditto.
3095         (WebCore::Node::isDefaultNamespace): Ditto.
3096         (WebCore::Node::lookupNamespaceURI): Ditto.
3097         (WebCore::Node::lookupNamespacePrefix): Ditto.
3098         (WebCore::Node::compareDocumentPosition): Ditto.
3099         * dom/Node.h: Ditto.
3100         * dom/XMLTokenizerLibxml2.cpp:
3101         (WebCore::XMLTokenizer::XMLTokenizer): Ditto.
3102         * editing/ApplyStyleCommand.cpp:
3103         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): Ditto.
3104         (WebCore::isEmptyFontTag): Ditto.
3105         (WebCore::areIdenticalElements): Ditto.
3106         * editing/markup.cpp:
3107         (WebCore::appendStartMarkup): Ditto.
3108         (WebCore::completeURLs): Ditto.
3109         * html/HTMLParser.cpp:
3110         (WebCore::HTMLParser::handleError): Ditto.
3111         * rendering/RenderPartObject.cpp:
3112         (WebCore::RenderPartObject::updateWidget): Ditto.
3113         * svg/SVGAnimatedProperty.h:
3114         (WebCore::synchronizeProperty): Ditto.
3115         * xml/XPathFunctions.cpp:
3116         (WebCore::XPath::FunLang::evaluate): Ditto.
3117         * xml/XPathStep.cpp:
3118         (WebCore::XPath::Step::nodesInAxis): Ditto.
3119
3120 2009-03-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3121
3122         Reviewed by Holger Freyther.
3123
3124         https://bugs.webkit.org/show_bug.cgi?id=24750
3125         [GTK] requests download instead of displaying page
3126
3127         Use soup facilities to append parameters to the content type, to
3128         make that more robust;
3129
3130         * platform/network/soup/ResourceHandleSoup.cpp:
3131         (WebCore::fillResponseFromMessage):
3132
3133 2009-03-30  David Kilzer  <ddkilzer@apple.com>
3134
3135         <rdar://problem/6735683> Move SECTORDER_FLAGS from Xcode project to WebCore.xcconfig
3136
3137         Reviewed by Timothy Hatcher, Mark Rowe and Darin Adler.
3138
3139         * Configurations/Base.xcconfig: Moved Production definition of
3140         SECTORDER_FLAGS to here from Xcode project file.
3141         * Configurations/DebugRelease.xcconfig: Override SECTORDER_FLAGS
3142         in Base.xcconfig to the empty string since it is not used for
3143         Debug and Release configurations.
3144         * WebCore.xcodeproj/project.pbxproj: Removed SECTORDER_FLAGS.
3145
3146 2009-03-30  Adam Roben  <aroben@apple.com>
3147
3148         Windows build fix after recent Node.idl changes
3149
3150         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force sources
3151         of classes that derive from Node to rebuild.
3152
3153 2009-03-30  Adam Roben  <aroben@apple.com>
3154
3155         Windows build fix
3156
3157         * svg/graphics/SVGImage.cpp: Added a missing #include.
3158
3159 2009-03-30  Mads Ager  <ager@chromium.org>
3160
3161         Reviewed by Darin Adler.
3162
3163         https://bugs.webkit.org/show_bug.cgi?id=24879
3164         Add frame accessor to Screen, Console, and BarInfo objects. Add type 
3165         accessor to BarInfo objects.
3166
3167         In the V8 JavaScript bindings, we need access to the frame and
3168         type for already created Screen, Console, and BarInfo objects in
3169         order to keep their wrappers alive across GCs.
3170
3171         * page/BarInfo.cpp:
3172         (WebCore::BarInfo::frame): Added.
3173         (WebCore::BarInfo::type): Added.
3174         * page/BarInfo.h:
3175         * page/Console.cpp:
3176         (WebCore::Console::frame): Added.
3177         * page/Console.h:
3178         * page/Screen.cpp:
3179         (WebCore::Screen::frame): Added.
3180         * page/Screen.h:
3181
3182 2009-03-29  Darin Adler  <darin@apple.com>
3183
3184         Requested by Antti Koivisto.
3185
3186         * loader/DocumentLoader.cpp:
3187         (WebCore::DocumentLoader::subresource): Tweaked code to be a little clearer and added
3188         a better comment.
3189
3190 2009-03-29  Darin Adler  <darin@apple.com>
3191
3192         Reviewed by Dan Bernstein.
3193
3194         Bug 23445: Copying certain hidden text causes a crash
3195         https://bugs.webkit.org/show_bug.cgi?id=23445
3196         rdar://problem/6512520
3197
3198         Test: editing/pasteboard/copy-display-none.html
3199
3200         * editing/markup.cpp:
3201         (WebCore::createMarkup): Added a check for the case where adjusting the start node moves
3202         the start of the selection past the end of the range entirely. If we try to iterate we'll
3203         never hit the end of the range and will probably crash iterating the rest of the document.
3204
3205 2009-03-29  Darin Adler  <darin@apple.com>
3206
3207         Reviewed by Dan Bernstein.
3208
3209         Bug 24672: ASSERTION FAILURE: !m_purgeableData in WebCore::CachedResource::data() saving a WebArchive
3210         https://bugs.webkit.org/show_bug.cgi?id=24672
3211         rdar://problem/6574263
3212
3213         I couldn't create a test case for this. In fact, the case in the bug doesn't exist any more,
3214         but there is an Apple-internal website I was able to use to reproduce and fix.
3215
3216         * loader/CachedResource.h: Made makePurgeable public.
3217         * loader/DocumentLoader.cpp:
3218         (WebCore::DocumentLoader::subresource): Call makePurgeable to make the resource non-purgeable
3219         so we can get its data if it hasn't yet been purged.
3220
3221 2009-03-29  Darin Adler  <darin@apple.com>
3222
3223         Fix build again.
3224
3225         * loader/EmptyClients.h: Fix typo in name of FormState.h.
3226
3227 2009-03-29  Darin Adler  <darin@apple.com>
3228
3229         Try to fix the release build.
3230
3231         * history/CachedPage.cpp: Make include unconditional, not debug-only.
3232
3233 2009-03-29  Greg Bolsinga  <bolsinga@apple.com>
3234
3235         Undo that last build fix, since it turned out the file wasn't deleted.
3236
3237         * WebCore.xcodeproj/project.pbxproj:
3238
3239 2009-03-29  Greg Bolsinga  <bolsinga@apple.com>
3240
3241         Fix build break by removing references to deleted header files.
3242
3243         * WebCore.xcodeproj/project.pbxproj:
3244
3245 2009-03-29  Darin Adler  <darin@apple.com>
3246
3247         Try to fix the Windows build.
3248
3249         * loader/EmptyClients.h: Added include of FormState.h.
3250         * loader/MainResourceLoader.cpp: Ditto.
3251
3252 2009-03-29  Dmitry Titov  <dimich@chromium.org>
3253
3254         Reviewed by Darin Adler.
3255
3256         https://bugs.webkit.org/show_bug.cgi?id=24926
3257         Fix Chromium build break.
3258
3259         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3260         (WebCore::CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)): renamed 'features' into 'windowFeatures'.
3261
3262 2009-03-29  Darin Adler  <darin@apple.com>
3263
3264         Another attempt to fix the Qt build.
3265
3266         * WebCore.pro: Added CheckedRadioButtons.cpp.
3267
3268 2009-03-29  Darin Adler  <darin@apple.com>
3269
3270         Reviewed by Cameron Zwarich.
3271
3272         Bug 24921: remove include of HTMLFormElement.h from Document.h
3273         https://bugs.webkit.org/show_bug.cgi?id=24921
3274
3275         * GNUmakefile.am: Added CheckedRadioButtons source files.
3276         * WebCore.scons: Ditto.
3277         * WebCore.vcproj/WebCore.vcproj: Ditto.
3278         * WebCore.xcodeproj/project.pbxproj: Ditto.
3279         * WebCoreSources.bkl: Ditto.
3280
3281         * bindings/objc/PublicDOMInterfaces.h: Changed type of parentElement to Element.
3282
3283         * dom/CheckedRadioButtons.cpp: Copied from WebCore/html/HTMLFormElement.cpp.
3284         Removed all the code except for CheckedRadioButtons, and moved that out to be
3285         a namespace-level class instead of a member of HTMLFormElement.
3286
3287         * dom/CheckedRadioButtons.h: Copied from WebCore/html/HTMLFormElement.h.
3288         Removed all the code except for CheckedRadioButtons, and moved that out to be
3289         a namespace-level class instead of a member of HTMLFormElement.
3290
3291         * dom/Document.h: Removed unneeded includes, including HTMLFormElement.h.
3292         Added include of CheckedRadioButtons.h. Changed uses of CheckedRadioButtons
3293         class to use a namespace-level class instead of a member of HTMLFormElement.
3294
3295         * dom/Node.idl: Changed the type of parentElement from Node to Element for
3296         two reasons. 1) Node was incorrect, since parentElement returns an Element.
3297         2) The bindings won't compile any more unless they know parentElement's
3298         return value is an Element due to include changes.
3299
3300         * html/HTMLFormElement.cpp: Moved definitions of the functions in the
3301         CheckedRadioButtons class to the new CheckedRadioButtons.cpp.
3302
3303         * html/HTMLFormElement.h: Moved definition of the CheckedRadioButtons
3304         class to the new CheckedRadioButtons.h.
3305
3306         * html/HTMLInputElement.cpp:
3307         (WebCore::checkedRadioButtons): Changed use of CheckedRadioButtons
3308         class to use a namespace-level class instead of a member of HTMLFormElement.
3309
3310         * page/Chrome.cpp:
3311         (WebCore::Chrome::createWindow): Tweaked formatting.
3312
3313         * css/CSSGrammar.y: Added newly-needed include.
3314         * dom/Range.cpp: Ditto.
3315         * editing/BreakBlockquoteCommand.cpp: Ditto.
3316         * editing/CompositeEditCommand.cpp: Ditto.
3317         * editing/InsertLineBreakCommand.cpp: Ditto.
3318         * editing/ModifySelectionListLevel.cpp: Ditto.
3319         * editing/RemoveFormatCommand.cpp: Ditto.
3320         * editing/TextIterator.cpp: Ditto.
3321         * editing/VisiblePosition.cpp: Ditto.
3322         * loader/DocLoader.cpp: Ditto.
3323         * page/AccessibilityRenderObject.cpp: Ditto.
3324         * page/Page.cpp: Ditto.
3325         * rendering/RenderBlock.cpp: Ditto.
3326         * rendering/RenderLayer.cpp: Ditto.
3327         * rendering/RenderObject.h: Ditto.
3328         * storage/LocalStorageArea.cpp: Ditto.
3329         * storage/SessionStorageArea.cpp: Ditto.
3330
3331 2009-03-29  Darin Adler  <darin@apple.com>
3332
3333         Reviewed by Dan Bernstein.
3334
3335         <rdar://problem/6015407> attr parsing should allow only identifiers
3336
3337         Test: fast/css/attr-parsing.html
3338
3339         * css/CSSParser.cpp:
3340         (WebCore::CSSParser::parseContent): Allow only CSS_IDENT, and filter out
3341         identifiers that start with "-".
3342         * css/CSSPrimitiveValue.cpp:
3343         (WebCore::CSSPrimitiveValue::cssText): Added a case for CSS_ATTR so the test
3344         case works. This has the pleasant side effect of fixing a bug too.
3345
3346 2009-03-29  Alexey Proskuryakov  <ap@webkit.org>
3347
3348         <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
3349
3350         Forgot to save the file after applying changes for review comments.
3351
3352         * platform/network/cf/ResourceHandleCFNet.cpp:
3353         (WebCore::willSendRequest):
3354         (WebCore::didReceiveResponse):
3355         (WebCore::didReceiveData):
3356         (WebCore::didSendBodyData):
3357         (WebCore::didFinishLoading):
3358         (WebCore::didFail):
3359         (WebCore::willCacheResponse):
3360         (WebCore::didReceiveChallenge):
3361         (WebCore::WebCoreSynchronousLoader::willSendRequest):
3362         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
3363         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3364         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
3365         (WebCore::WebCoreSynchronousLoader::didFail):
3366         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
3367
3368 2009-03-28  Alexey Proskuryakov  <ap@webkit.org>
3369
3370         Reviewed by Darin Adler.
3371
3372         <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
3373
3374         Test: http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html
3375
3376         * platform/network/cf/ResourceHandleCFNet.cpp:
3377         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3378         (WebCore::ResourceHandle::loadResourceSynchronously):
3379         (WebCore::WebCoreSynchronousLoader::willSendRequest):
3380         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
3381         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3382         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
3383         (WebCore::WebCoreSynchronousLoader::didFail):
3384         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
3385         (WebCore::WebCoreSynchronousLoader::load):
3386         Match Mac behavior more closely - we shouldn't rely on underlying library handling of
3387         synchronous requests.
3388
3389         * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::willSendRequest):
3390         -[NSURLConnection cancel] doesn't fully cancel the connection if called from willSendRequest
3391         delegate method for a redirect.
3392
3393         * platform/network/mac/ResourceHandleMac.mm:
3394         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
3395         Match async behavior more closely.
3396
3397 2009-03-28  Darin Adler  <darin@apple.com>
3398
3399         Reviewed by Mark Rowe.
3400
3401         Bug 24914: empty-string assertion crash when running storage tests
3402         https://bugs.webkit.org/show_bug.cgi?id=24914
3403
3404         * storage/Database.cpp:
3405         (WebCore::Database::performOpenAndVerify): Don't store empty version strings
3406         in the map, since empty strings are per-thread.
3407
3408 2009-03-28  Dmitry Titov  <dimich@chromium.org>
3409
3410         Reviewed by Dimitri Glazkov.
3411
3412         https://bugs.webkit.org/show_bug.cgi?id=24910
3413         Fixes for Chromium build.
3414
3415         * bindings/v8/V8LazyEventListener.h: renamed IsInline() into virtualIsInline()
3416         * bindings/v8/custom/V8CustomEventListener.h: ditto.
3417         * dom/EventListener.h: used #if USE(JSC) to fix the build on non-JSC platform.
3418
3419 2009-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
3420
3421         Not reviewed, correcting landing error.
3422
3423         https://bugs.webkit.org/show_bug.cgi?id=24812
3424         Custom bindings should be in v8/custom, not v8.
3425
3426         * bindings/v8/V8HTMLDocumentCustom.cpp: Removed.
3427         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Moved from parent dir.
3428
3429 2009-03-28  Mike Belshe  <mike@belshe.com>
3430
3431         Reviewed by Dimitri Glazkov.
3432
3433         https://bugs.webkit.org/show_bug.cgi?id=24616
3434         Add V8 custom bindings for DOMWindow.
3435
3436         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added.
3437
3438 2009-03-28  Mike Belshe  <mike@belshe.com>
3439
3440         Reviewed by Dimitri Glazkov.
3441
3442         https://bugs.webkit.org/show_bug.cgi?id=24812
3443         Add V8 custom bindings for HTMLDocument.
3444
3445         * bindings/v8/V8HTMLDocumentCustom.cpp: Added.
3446
3447 2009-03-27  Mark Rowe  <mrowe@apple.com>
3448
3449         Reviewed by Sam Weinig.
3450
3451         Fix two SVG test failures in 64-bit.
3452
3453         getSubStringLength's arguments were declared as unsigned in the IDL and as signed long in the implementation.
3454         This led to a value of -1 in JavaScript being converted to MAX_UINT in the bindings.  In 32-bit this was
3455         identical to -1 when interpeted as signed long, but in 64-bit it was still equal to MAX_UINT.
3456
3457         The solution for this is to use the IsIndex attribute on arguments that the SVG spec declares as "unsigned long"
3458         but requires an exception be thrown when a negative value is passed.  This results in the JS bindings handling the
3459         check for a negative value and lets the implementation treat the arguments purely as unsigned values.
3460
3461         * svg/SVGTextContentElement.cpp:
3462         (WebCore::SVGTextContentElement::getNumberOfChars):
3463         (WebCore::SVGTextContentElement::getSubStringLength):
3464         (WebCore::SVGTextContentElement::getStartPositionOfChar):
3465         (WebCore::SVGTextContentElement::getEndPositionOfChar):
3466         (WebCore::SVGTextContentElement::getExtentOfChar):
3467         (WebCore::SVGTextContentElement::getRotationOfChar):
3468         (WebCore::SVGTextContentElement::getCharNumAtPosition):
3469         (WebCore::SVGTextContentElement::selectSubString):
3470         * svg/SVGTextContentElement.h:
3471         * svg/SVGTextContentElement.idl:
3472
3473 2009-03-27  Darin Adler  <darin@apple.com>
3474
3475         Reviewed by Sam Weinig.
3476
3477         Get mailto code out of FrameLoader.
3478
3479         * html/HTMLFormElement.cpp:
3480         (WebCore::transferMailtoPostFormDataToURL): Added. Factored out the mailto
3481         logic so HTMLFormElement::submit isn't full of ugly bits. This includes the
3482         part of the logic that involves transformeing the URL that was previously
3483         inside FrameLoader.
3484         (WebCore::HTMLFormElement::submit): Call transferMailtoPostFormDataToURL and
3485         also release the data for slightly less refcount churn.
3486
3487         * loader/FrameLoader.cpp:
3488         (WebCore::FrameLoader::submitForm): Removed all the special casing for mailto,
3489         since HTMLFormElement now properly prepares both the URL and the form data.
3490
3491 2009-03-27  Dan Bernstein  <mitz@apple.com>
3492
3493         Reviewed by Mark Rowe.
3494
3495         - fix <rdar://problem/6724514> A bit of OpenTypeUtilities cleanup
3496
3497         * platform/graphics/chromium/FontCustomPlatformData.cpp:
3498         (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
3499         (WebCore::createFontCustomPlatformData): Ditto.
3500         * platform/graphics/opentype/OpenTypeUtilities.cpp:
3501         (WebCore::EOTHeader::EOTHeader): Added. Initializes the buffer size to
3502         the size of an EOTPrefix.
3503         (WebCore::EOTHeader::updateEOTSize): Added. Updates the size field in
3504         the prefix.
3505         (WebCore::EOTHeader::appendBigEndianString): Changed the static
3506         appendBigEndianStringToEOTHeader() into this member function.
3507         (WebCore::EOTHeader::appendPaddingShort): Added.
3508         (WebCore::getEOTHeader): Changed to use EOTHeader.
3509         * platform/graphics/opentype/OpenTypeUtilities.h:
3510         (WebCore::EOTHeader::size):
3511         (WebCore::EOTHeader::data):
3512         (WebCore::EOTHeader::prefix):
3513         * platform/graphics/win/FontCustomPlatformData.cpp:
3514         (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
3515         (WebCore::createFontCustomPlatformData): Ditto.
3516
3517 2009-03-27  Darin Adler  <darin@apple.com>
3518
3519         Reviewed by Sam Weinig.
3520
3521         To prepare for work on a form loading fix, remove some unused functions,
3522         consolidate some functions, and make many more functions private in
3523         FrameLoader.
3524
3525         * WebCore.base.exp: Remove some unused entry points, update another.
3526
3527         * dom/Document.cpp:
3528         (WebCore::Document::detach): Clear m_frame directly instead of using
3529         clearFramePointer.
3530         * dom/Document.h: Ditto.
3531
3532         * loader/FrameLoader.cpp:
3533         (WebCore::FrameLoader::urlSelected): Consolidate the two functions
3534         of this name into a single function. Also changed the event argument
3535         to be PassRefPtr<Event>.
3536         (WebCore::FrameLoader::submitForm): Changed the event argument to
3537         be PassRefPtr<Event>.
3538         (WebCore::FrameLoader::scheduleLocationChange): Call completeURL
3539         explicitly so we can remove the version of changeLocation that does
3540         completeURL for us.
3541         (WebCore::FrameLoader::redirectionTimerFired): Ditto.
3542         (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem
3543         directly so we don't need a setProvisionalHistoryItem function.
3544         (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at
3545         m_quickRedirectComing directly so we don't need a isQuickRedirectComing
3546         function.
3547         (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto.
3548         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the
3549         event argument to be PassRefPtr<Event>.
3550         (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData
3551         function here because this is the only caller. If we want to make the
3552         resulting function smaller we should refactor some other way. Also
3553         streamlined the user-chosen encoding logic, but did not change what it does.
3554         (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument
3555         to be PassRefPtr<Event>.
3556         (WebCore::FrameLoader::loadPostRequest): Ditto.
3557         (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from
3558         the didNotOpenURL function here, since this was the only caller.
3559
3560         * loader/FrameLoader.h: Removed include of FormState.h and used a forward
3561         declaration instead. Removed unneeded forward declation of Element.
3562         Moved many functions into the private section, and removed some other
3563         unused or uneeded functions.
3564
3565 2009-03-27  Xiaomei Ji  <xji@chromium.org>
3566
3567         Reviewed by Dan Bernstein.
3568
3569         Fix https://bugs.webkit.org/show_bug.cgi?id=24303
3570         Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.
3571
3572         Test: editing/selection/extend-selection.html
3573
3574         * editing/SelectionController.cpp:
3575         (WebCore::SelectionController::directionOfEnclosingBlock): Added
3576         (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly 
3577         implemented for character and word granularity, all other granularities
3578         are treated as "forward".
3579         (WebCore::SelectionController::modifyExtendingForward): Renamed 
3580         modifyExtendingRightForward() to this.
3581         (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly
3582         implemented for character and word granularity, all other granularities
3583         are treated as "backward".
3584         (WebCore::SelectionController::modifyExtendingBackward): Renamed
3585         modifyExtendingLeftBackward() to this.
3586         (WebCore::SelectionController::modify): Change to call either the 
3587         left/right or backward/forward methods depending on the 'dir' argument
3588         for extends.
3589         * editing/SelectionController.h:
3590
3591 2009-03-27  John Abd-El-Malek  <jam@google.com>
3592
3593         Reviewed by Eric Seidel.
3594
3595         https://bugs.webkit.org/show_bug.cgi?id=24836
3596         Fix navigator.plugins.refresh(false) in Chromium.
3597
3598         * plugins/chromium/PluginDataChromium.cpp:
3599         (WebCore::PluginData::refresh):
3600
3601 2009-03-27  Timothy Hatcher  <timothy@apple.com>
3602
3603         Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
3604         virtual to fix the broken layout tests from my last commit.
3605
3606         Reviewed by Mark Rowe.
3607
3608         * dom/Element.cpp:
3609         (WebCore::Element::scrollLeft):
3610         (WebCore::Element::scrollTop):
3611         (WebCore::Element::scrollWidth):
3612         (WebCore::Element::scrollHeight):
3613         * dom/Element.h:
3614         * html/HTMLBodyElement.h:
3615
3616 2009-03-27  Mark Rowe  <mrowe@apple.com>
3617
3618         Reviewed by Sam Weinig.
3619
3620         Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
3621         Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2)
3622
3623         * html/HTMLSelectElement.cpp:
3624         (WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list
3625         items after each node is removed, leading to O(N^2) behaviour.  By inlining the batch removal in to setLength we can avoid
3626         this gratuitous recalcuation.
3627
3628 2009-03-27  Dirk Schulze  <krit@webkit.org>
3629
3630         Reviewed by Eric Seidel.
3631
3632         We don't support images for GtkCursors yet. We need a  placeholder to avoid crashes.
3633         I took crosshair to have a common behavior with firefox.
3634
3635         [GTK] SVG - Crash on setting the cursor icon
3636         https://bugs.webkit.org/show_bug.cgi?id=24565
3637
3638         * platform/gtk/CursorGtk.cpp:
3639         (WebCore::Cursor::Cursor):
3640
3641 2009-03-27  Timothy Hatcher  <timothy@apple.com>
3642
3643         Remove redundant attributes and functions from IDL files that have the
3644         same attributes and functions defined in the super class.
3645
3646         Reviewed by Simon Fraser.
3647
3648         * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h.
3649         * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement.
3650         * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth
3651         and scrollHeight.
3652         * html/HTMLElement.idl: Remove blur and focus.
3653
3654 2009-03-27  Adam Roben  <aroben@apple.com>
3655
3656         Don't include substitute data URLs in global history redirect chains
3657
3658         <rdar://6690169>
3659
3660         Reviewed by Darin Adler.
3661
3662         This might be testable if:
3663           - support were added to DRT for providing substitute data on failed
3664             loads
3665           - support were added to DRT for dumping redirect chains
3666
3667         I tried doing the above and was still unable to make a test.
3668
3669         * loader/FrameLoader.cpp:
3670         (WebCore::FrameLoader::updateHistoryForStandardLoad):
3671         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
3672         Call updateGlobalHistoryRedirectLinks only if the load succeeded
3673         (i.e., there is no unreachableURL). Previous the FrameLoaderClient
3674         implementations were unconditionally calling
3675         updateGlobalHistoryRedirectLinks from within updateGlobalHistory.
3676
3677 2009-03-27  Peter Kasting  <pkasting@google.com>
3678
3679         Reviewed by Eric Seidel.
3680
3681         https://bugs.webkit.org/show_bug.cgi?id=24861
3682         Chromium port did not render decorations for <input type="search">.
3683         This copies RenderThemeWin.*.
3684
3685         * css/themeChromiumWin.css: Removed.
3686         * rendering/RenderThemeChromiumLinux.cpp:
3687         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
3688         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
3689         (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
3690         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
3691         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
3692         (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
3693         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
3694         (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
3695         * rendering/RenderThemeChromiumLinux.h:
3696         (WebCore::RenderThemeChromiumLinux::paintSearchField):
3697         * rendering/RenderThemeChromiumWin.cpp:
3698         (WebCore::):
3699         (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
3700         (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
3701         (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
3702         (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
3703         (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
3704         (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
3705         (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
3706         (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
3707         * rendering/RenderThemeChromiumWin.h:
3708         (WebCore::RenderThemeChromiumWin::paintSearchField):
3709
3710 2009-03-27  David Hyatt  <hyatt@apple.com>
3711
3712         Reviewed by Simon Fraser
3713
3714         If an object has a self-painting layer, don't count it as part of a block's visual overflow.
3715         This fix has only been made for block-level children.   The inline-level case is still broken
3716         (and covered by an existing bug).
3717
3718         Added fast/block/positioning/negative-rel-position.html
3719
3720         * rendering/InlineFlowBox.cpp:
3721         (WebCore::InlineFlowBox::placeBoxesVertically):
3722         * rendering/RenderBlock.cpp:
3723         (WebCore::RenderBlock::layoutBlockChildren):
3724         (WebCore::RenderBlock::lowestPosition):
3725         (WebCore::RenderBlock::rightmostPosition):
3726         (WebCore::RenderBlock::leftmostPosition):
3727
3728 2009-03-27  Anders Carlsson  <andersca@apple.com>
3729
3730         Reviewed by Darin Adler.
3731
3732         <rdar://problem/6642221>
3733         REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed
3734         
3735         Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.
3736         
3737         I've filed <rdar://problem/6731022> against the Movies widget.
3738         
3739         * html/HTMLObjectElement.cpp:
3740         (WebCore::HTMLObjectElement::rendererIsNeeded):
3741
3742 2009-03-25  Timothy Hatcher  <timothy@apple.com>
3743
3744         Expose new DOM methods as public Objective-C API.
3745
3746         <rdar://problem/5837350> Expose new DOM classes and methods
3747         as public API (match the additions to the JavaScript DOM)
3748
3749         Reviewed by Mark Rowe and Darin Adler.
3750
3751         * WebCore.xcodeproj/project.pbxproj:
3752         * bindings/objc/DOMHTML.h:
3753         * bindings/objc/DOMPrivate.h:
3754         * bindings/objc/PublicDOMInterfaces.h:
3755
3756 2009-03-27  Zack Rusin <zack@kde.org>
3757
3758         Reviewed by Simon Hausmann.
3759
3760         https://bugs.webkit.org/show_bug.cgi?id=24280
3761
3762         Fix propagation of fill rules when rendering paths in the Qt build.
3763
3764         * platform/graphics/qt/GraphicsContextQt.cpp:
3765         (WebCore::toQtFillRule):
3766         (WebCore::GraphicsContext::fillPath):
3767         (WebCore::GraphicsContext::strokePath):
3768
3769 2009-03-27  Zack Rusin <zack@kde.org>
3770
3771         Reviewed by Tor Arne Vestbø.
3772
3773         https://bugs.webkit.org/show_bug.cgi?id=24275
3774
3775         Fix text field theming in the Qt build with the KDE 4 Oxygen
3776         style by adjusting the size vertically and horizontally to
3777         set padding on the element equal to the width of the style painted border.
3778
3779         * platform/qt/RenderThemeQt.cpp:
3780         (WebCore::RenderThemeQt::RenderThemeQt):
3781         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3782         (WebCore::RenderThemeQt::adjustTextFieldStyle):
3783         (WebCore::RenderThemeQt::paintTextField):
3784         * platform/qt/RenderThemeQt.h:
3785
3786 2009-03-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3787
3788         Reviewed by Simon Hausmann.
3789
3790         https://bugs.webkit.org/show_bug.cgi?id=24852
3791         Build fix for GNU mode RVCT compilation
3792
3793         * html/PreloadScanner.cpp:
3794
3795 2009-03-27  Erik L. Bunce  <elbunce@xendom.com>
3796
3797         Reviewed by Simon Hausmann.
3798
3799         https://bugs.webkit.org/show_bug.cgi?id=24868
3800
3801         Make text of the writing direction items more user friendly.
3802
3803         * platform/qt/Localizations.cpp:
3804         (WebCore::contextMenuItemTagLeftToRight):
3805         (WebCore::contextMenuItemTagRightToLeft):
3806
3807 2009-03-27  Erik L. Bunce  <elbunce@xendom.com>
3808
3809         Reviewed by Simon Hausmann.
3810
3811         https://bugs.webkit.org/show_bug.cgi?id=24274
3812
3813         Fixed the Qt 4.4 Mac build with netscape plugins enabled.
3814
3815         * plugins/mac/PluginViewMac.cpp:
3816
3817 2009-03-26  Mark Rowe  <mrowe@apple.com>
3818
3819         Try and fix the Qt build.
3820
3821         * platform/text/TextEncodingDetectorNone.cpp:
3822         (WebCore::detectTextEncoding):
3823
3824 2009-03-26  Eric Carlson  <eric.carlson@apple.com>
3825
3826         Reviewed by Simon Fraser.
3827
3828         https://bugs.webkit.org/show_bug.cgi?id=24874
3829         24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it
3830         
3831         The 'duration' attribute is NaN when no media is available, so the
3832         media element should take care when comparing with duration().
3833
3834         * html/HTMLMediaElement.cpp:
3835         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
3836         it is NaN.
3837         (WebCore::HTMLMediaElement::endedPlayback): Ditto.
3838
3839 2009-03-26  Mark Rowe  <mrowe@apple.com>
3840
3841         Fix the build.
3842
3843         * platform/text/TextEncodingDetectorICU.cpp:
3844         * platform/text/TextEncodingDetectorNone.cpp:
3845
3846 2009-03-26  Jungshik Shin  <jshin@chromium.org>
3847
3848         Reviewed by Cameron Zwarich.
3849
3850         1. Fix the crash in setHintEncoding
3851         2. Fix build failures on Tiger and Qt.
3852         UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp
3853         in the patch landed in r42023
3854         for http://bugs.webkit.org/show_bug.cgi?id=16482
3855
3856         * loader/TextResourceDecoder.h:
3857         (WebCore::TextResourceDecoder::setHintEncoding):
3858         * platform/text/TextEncodingDetectorICU.cpp:
3859         * platform/text/TextEncodingDetectorNone.cpp:
3860
3861 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
3862
3863         Build fix when ACCELERATED_COMPOSITING is turned on.
3864
3865         * rendering/RenderLayerBacking.cpp:
3866         (WebCore::RenderLayerBacking::canUseDirectCompositing):
3867
3868 2009-03-26  Eric Seidel  <eric@webkit.org>
3869
3870         No additional review, committing previously reviewed files for build fix only.
3871
3872         Add files I missed when commiting Jungshik's patch in r42022.
3873         https://bugs.webkit.org/show_bug.cgi?id=16482
3874
3875         * icu/unicode/ucsdet.h: Added.
3876         * platform/text/TextEncodingDetector.h: Added.
3877         * platform/text/TextEncodingDetectorICU.cpp: Added.
3878         (WebCore::detectTextEncoding):
3879         * platform/text/TextEncodingDetectorNone.cpp: Added.
3880         (WebCore::detectTextEncoding):
3881
3882 2009-03-26  Jungshik Shin  <jshin@chromium.org>
3883
3884         Reviewed by Alexey Proskuryakov.
3885
3886         Add an encoding detector 'hook' to TextResourceDecoder.
3887          - add |usesEncodingDetector| to Settings. It's off by default.
3888          - add a new encoding source type |EncodingFromParent| 
3889            to distinguish cases when the encoding is inherited from
3890            the parent frame from cases when it's actually auto-detected.
3891          - add TextEncodingDetector* to platform/text. Currently,
3892            the only implementation uses ICU. Stub is added for 
3893            ports that do not use ICU and a build on Tiger. Mac OS 
3894            Tiger comes with ICU 3.2 that does not support encoding detector.
3895          - add ucsdet.h to icu/unicode for ports using ICU.
3896
3897         Layout tests will be added once bug 20534 is fixed and a WebPreference
3898         can be controlled in test_shell. With UsesEncodingDetector off, there
3899         is no change to test. 
3900
3901         http://bugs.webkit.org/show_bug.cgi?id=16482
3902
3903         * WebCore.vcproj/WebCore.vcproj:
3904         * WebCore.xcodeproj/project.pbxproj:
3905         * WebCore/GNUmakefile.am
3906         * WebCore/WebCore.pro
3907         * WebCore/WebCore.scons
3908         * WebCore/WebCoreSources.bkl
3909         * WebCore.base.exp
3910         * icu/unicode/ucsdet.h
3911         * loader/FrameLoader.cpp:
3912         (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding.
3913         * loader/TextResourceDecoder.cpp:
3914         (WebCore::TextResourceDecoder::TextResourceDecoder):
3915         (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame
3916         (WebCore::TextResourceDecoder::checkForHeadCharset): ditto
3917         (WebCore::TextResourceDecoder::shouldAutoDetect):
3918         (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true.
3919         (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
3920         * loader/TextResourceDecoder.h:
3921         (WebCore::TextResourceDecoder::):
3922         (WebCore::TextResourceDecoder::create):
3923         (WebCore::TextResourceDecoder::setHintEncoding):
3924         (WebCore::TextResourceDecoder::source):
3925         * page/Settings.cpp: add m_usesEncodingDetector
3926         (WebCore::Settings::Settings):
3927         (WebCore::Settings::setUsesEncodingDetector):
3928         * page/Settings.h:
3929         (WebCore::Settings::usesEncodingDetector):
3930         * platform/text/TextEncodingDetector.h: Added.
3931         * platform/text/TextEncodingDetectorICU.cpp: Added.
3932         (WebCore::detectTextEncoding):
3933         * platform/text/TextEncodingDetectorNone.cpp: Added.
3934         (WebCore::detectTextEncoding):
3935
3936 2009-03-26  Darin Adler  <darin@apple.com>
3937
3938         Reviewed by Geoff Garen.
3939
3940         Removed code that casts EventListener down to derived classes
3941         without type checking. A crash could happen if you added event
3942         listeners with Objective-C and then manipulated the class with
3943         JavaScript.
3944
3945         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3946         (WebCore::JSDOMApplicationCache::mark): Removed all the casts
3947         and used the markIfNotNull function and mark functions on
3948         EventListener instead.
3949         * bindings/js/JSMessagePortCustom.cpp:
3950         (WebCore::JSMessagePort::mark): Ditto.
3951         * bindings/js/JSWorkerContextCustom.cpp:
3952         (WebCore::JSWorkerContext::mark): Ditto.
3953         * bindings/js/JSWorkerCustom.cpp:
3954         (WebCore::JSWorker::mark): Ditto.
3955         * bindings/js/JSXMLHttpRequestCustom.cpp:
3956         (WebCore::JSXMLHttpRequest::mark): Ditto.
3957         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3958         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
3959
3960         * bindings/js/JSEventListener.cpp:
3961         (WebCore::JSAbstractEventListener::handleEvent): Used function,
3962         the new name for what used to be called listenerObj.
3963         (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since
3964         this doesn't need to be virtual for callers who have a pointer to
3965         this class, not the base class.
3966         (WebCore::JSEventListener::function): Renamed from listenerObj.
3967         (WebCore::JSProtectedEventListener::function): Ditto.
3968
3969         * bindings/js/JSEventListener.h: Removed unneeded forward class
3970         declarations. Made all virtual functions private since there's no
3971         need to call any of them on a particular derived class, only on
3972         EventListener. Explicitly declare JSEventListener::mark as virtual
3973         since it's now overriding a function in the EventListener base class.
3974         Made JSProtectedEventListener::m_globalObject protected so the
3975         JSLazyEventListener derived class can use it directly instead of using
3976         a virtual function to get the pointer.
3977
3978         * bindings/js/JSLazyEventListener.cpp:
3979         (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead
3980         of globalObject since the latter is a virtual function and there's no
3981         need to pay virtual function overhead.
3982         (WebCore::JSLazyEventListener::function): Renamed from listenerObj.
3983
3984         * bindings/js/JSLazyEventListener.h: Moved forward declaration of the
3985         Node class here from JSEventListener.h.
3986
3987         * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to
3988         JSEventListener when getting the script object from a listener.
3989
3990         * dom/EventListener.h: Added virtual function and mark functions
3991         so we can extract the JavaScript function object or mark a JavaScript
3992         event listener in a type safe manner.
3993
3994 2009-03-26  Peter Kasting  <pkasting@google.com>
3995
3996         Reviewed by Adele Peterson.
3997
3998         https://bugs.webkit.org/show_bug.cgi?id=24859
3999         Use CSS file instead of code to adjust search field styling.
4000
4001         * css/themeWin.css:
4002         * rendering/RenderThemeWin.cpp:
4003         * rendering/RenderThemeWin.h:
4004
4005 2009-03-26  Darin Adler  <darin@apple.com>
4006
4007         Reviewed by Geoff Garen.
4008
4009         Split JSLazyEventListener out into its own separate source file.
4010         We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
4011         so leave those in the same file with JSEventListener.
4012
4013         * GNUmakefile.am: Added JSLazyEventListener.
4014         * WebCore.pro: Ditto.
4015         * WebCore.scons: Ditto.
4016         * WebCore.vcproj/WebCore.vcproj: Ditto.
4017         * WebCore.xcodeproj/project.pbxproj: Ditto.
4018         * WebCoreSources.bkl: Ditto.
4019
4020         * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part.
4021         Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since
4022         JSAbstractEventListener is not derived from JSCell.
4023
4024         * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part
4025         and the now-unneeded include of PlatformString.h.
4026
4027         * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp.
4028         Kept only the JSLazyEventListener part.
4029         (WebCore::eventParameterName): Made this have internal linkage by adding "static".
4030         Also moved the default case out of the switch statement so we will get a warning
4031         if we omit any cases in the future.
4032
4033         * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h.
4034         Kept only the JSLazyEventListener part.
4035
4036         * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the
4037         remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.
4038
4039 2009-03-26  Darin Adler  <darin@apple.com>
4040
4041         Reviewed by Geoff Garen.
4042
4043         Renamed JSUnprotectedEventListener to JSEventListener.
4044         And related renames.
4045
4046         Soon Geoff will make all JavaScript event listeners use mark instead
4047         of protect, so there's no need to emphasize "unprotected".
4048
4049         * bindings/js/JSDOMApplicationCacheCustom.cpp:
4050         (WebCore::JSDOMApplicationCache::mark):
4051         (WebCore::JSDOMApplicationCache::addEventListener):
4052         (WebCore::JSDOMApplicationCache::removeEventListener):
4053         * bindings/js/JSDOMGlobalObject.cpp:
4054         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
4055         (WebCore::JSDOMGlobalObject::findJSEventListener):
4056         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
4057         (WebCore::JSDOMGlobalObject::jsEventListeners):
4058         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
4059         * bindings/js/JSDOMGlobalObject.h:
4060         * bindings/js/JSDOMWindowBase.h:
4061         * bindings/js/JSEventListener.cpp:
4062         (WebCore::JSEventListener::JSEventListener):
4063         (WebCore::JSEventListener::~JSEventListener):
4064         (WebCore::JSEventListener::listenerObj):
4065         (WebCore::JSEventListener::globalObject):
4066         (WebCore::JSEventListener::clearGlobalObject):
4067         (WebCore::JSEventListener::mark):
4068         * bindings/js/JSEventListener.h:
4069         (WebCore::JSEventListener::create):
4070         * bindings/js/JSMessagePortCustom.cpp:
4071         (WebCore::JSMessagePort::mark):
4072         (WebCore::JSMessagePort::addEventListener):
4073         (WebCore::JSMessagePort::removeEventListener):
4074         * bindings/js/JSWorkerContextCustom.cpp:
4075         (WebCore::JSWorkerContext::mark):
4076         (WebCore::JSWorkerContext::addEventListener):
4077         (WebCore::JSWorkerContext::removeEventListener):
4078         * bindings/js/JSWorkerCustom.cpp:
4079         (WebCore::JSWorker::mark):
4080         (WebCore::JSWorker::addEventListener):
4081         (WebCore::JSWorker::removeEventListener):
4082         * bindings/js/JSXMLHttpRequestCustom.cpp:
4083         (WebCore::JSXMLHttpRequest::mark):
4084         (WebCore::JSXMLHttpRequest::addEventListener):
4085         (WebCore::JSXMLHttpRequest::removeEventListener):
4086         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4087         (WebCore::JSXMLHttpRequestUpload::mark):
4088         (WebCore::JSXMLHttpRequestUpload::addEventListener):
4089         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
4090         * bindings/scripts/CodeGeneratorJS.pm:
4091         All just renaming.
4092
4093 2009-03-26  Darin Adler  <darin@apple.com>
4094
4095         Reviewed by Geoff Garen.
4096
4097         Renamed JSEventListener to JSProtectedEventListener.
4098         And related renames.
4099
4100         Soon Geoff will make all JavaScript event listeners use mark instead
4101         of protect, and so this class will be be obsolete. We will rename
4102         JSUnrpotectedEventListener to JSEventListener in the next check-in,
4103         since that one will remain.
4104
4105         * bindings/js/JSDOMGlobalObject.cpp:
4106         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
4107         (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
4108         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
4109         (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
4110         (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
4111         * bindings/js/JSDOMGlobalObject.h:
4112         * bindings/js/JSDOMWindowBase.h:
4113         * bindings/js/JSDOMWindowCustom.cpp:
4114         (WebCore::JSDOMWindow::addEventListener):
4115         (WebCore::JSDOMWindow::removeEventListener):
4116         * bindings/js/JSEventListener.cpp:
4117         (WebCore::JSProtectedEventListener::JSProtectedEventListener):
4118         (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
4119         (WebCore::JSProtectedEventListener::listenerObj):
4120         (WebCore::JSProtectedEventListener::globalObject):
4121         (WebCore::JSProtectedEventListener::clearGlobalObject):
4122         (WebCore::JSLazyEventListener::JSLazyEventListener):
4123         (WebCore::JSLazyEventListener::parseCode):
4124         * bindings/js/JSEventListener.h:
4125         (WebCore::JSProtectedEventListener::create):
4126         * bindings/js/JSNodeCustom.cpp:
4127         (WebCore::JSNode::addEventListener):
4128         (WebCore::JSNode::removeEventListener):
4129         * bindings/js/JSSVGElementInstanceCustom.cpp:
4130         (WebCore::JSSVGElementInstance::addEventListener):
4131         (WebCore::JSSVGElementInstance::removeEventListener):
4132         * bindings/scripts/CodeGeneratorJS.pm:
4133         All just renaming.
4134
4135 2009-03-26  Dan Bernstein  <mitz@apple.com>
4136
4137         Reviewed by Anders Carlsson.
4138
4139         - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can
4140           create runs extending beyond the end
4141
4142         No test because Safari does not use this version of
4143         createBidiRunsForLine() with the end iterator not pointing to the end
4144         of the text run.
4145
4146         * platform/text/BidiResolver.h:
4147         (WebCore::BidiResolver::appendRun): Cap the end of the run at the end
4148         of the line and set the reachedEndOfLine flag. This mirrors the logic
4149         in the specialized version of appendRun() in bidi.cpp, which is why the
4150         problem did not show up in HTML. Also avoid creating empty runs.
4151
4152 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
4153
4154         Reviewed by Dave Hyatt
4155         
4156         https://bugs.webkit.org/show_bug.cgi?id=24864
4157
4158         Change the terminology from "inner content layer" to "direct compositing"
4159         for cases where we can push an image directly over to the compositing system,
4160         without having to draw it.
4161         
4162         Clean up much of the code which looks at style to determine if this is possible,
4163         and fix some bugs when backgrounds change dynamically.
4164         
4165         * rendering/RenderLayerBacking.cpp:
4166         (WebCore::hasBorderOutlineOrShadow):
4167         (WebCore::hasBoxDecorations):
4168         (WebCore::hasBoxDecorationsWithBackgroundImage):
4169         (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer):
4170         (WebCore::RenderLayerBacking::canUseDirectCompositing):
4171         (WebCore::RenderLayerBacking::detectDrawingOptimizations):
4172         (WebCore::RenderLayerBacking::rendererContentChanged):
4173         (WebCore::RenderLayerBacking::updateImageContents):
4174         * rendering/RenderLayerBacking.h:
4175
4176 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
4177
4178         Reviewed by Dave Hyatt
4179         
4180         https://bugs.webkit.org/show_bug.cgi?id=23914
4181
4182         Tests: compositing/overflow/ancestor-overflow.html
4183                compositing/overflow/parent-overflow.html
4184
4185         * rendering/RenderLayer.cpp:
4186         (WebCore::RenderLayer::calculateClipRects):
4187         * rendering/RenderLayer.h:
4188         (WebCore::ClipRects::infiniteRect):
4189         New static method that returns a large rect that is used by the clipping
4190         logic.
4191         
4192         * rendering/RenderLayerBacking.cpp:
4193         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
4194         Use parentClipRects(), rather than calculateRects(), to compute the overflow
4195         rect that we'll use to create a masking layer for composited clipping.
4196         
4197         * rendering/RenderLayerCompositor.cpp:
4198         (WebCore::RenderLayerCompositor::clippedByAncestor):
4199         Use parentClipRects() to see whether there's a layer between us and our
4200         compositing ancestor which applies clipping.
4201         
4202         (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
4203         A layer which imposes clipping to its children doesn't have to be a stacking
4204         context; it might be a normal flow layer; in either case, we can rely on the
4205         hasCompositingDescendant() bit.
4206
4207 2009-03-26  Steve Falkenburg  <sfalken@apple.com>
4208
4209         https://bugs.webkit.org/show_bug.cgi?id=24837
4210         Escape key should dismiss select menu
4211
4212         Reviewed by Adam Roben.
4213
4214         * platform/win/PopupMenuWin.cpp:
4215         (WebCore::PopupWndProc):
4216
4217 2009-03-26  Kevin Ollivier  <kevino@theolliviers.com>
4218
4219         Reviewed by Alexey Proskuryakov.
4220
4221         Make sure the script uses LF line endings even on Windows.
4222