3dd59df8ac1ea8d4b787fd0ec17a33f7646b71e5
[WebKit-https.git] / WebCore / ChangeLog
1 2009-03-27  Darin Adler  <darin@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         To prepare for work on a form loading fix, remove some unused functions,
6         consolidate some functions, and make many more functions private in
7         FrameLoader.
8
9         * WebCore.base.exp: Remove some unused entry points, update another.
10
11         * dom/Document.cpp:
12         (WebCore::Document::detach): Clear m_frame directly instead of using
13         clearFramePointer.
14         * dom/Document.h: Ditto.
15
16         * loader/FrameLoader.cpp:
17         (WebCore::FrameLoader::urlSelected): Consolidate the two functions
18         of this name into a single function. Also changed the event argument
19         to be PassRefPtr<Event>.
20         (WebCore::FrameLoader::submitForm): Changed the event argument to
21         be PassRefPtr<Event>.
22         (WebCore::FrameLoader::scheduleLocationChange): Call completeURL
23         explicitly so we can remove the version of changeLocation that does
24         completeURL for us.
25         (WebCore::FrameLoader::redirectionTimerFired): Ditto.
26         (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem
27         directly so we don't need a setProvisionalHistoryItem function.
28         (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at
29         m_quickRedirectComing directly so we don't need a isQuickRedirectComing
30         function.
31         (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto.
32         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the
33         event argument to be PassRefPtr<Event>.
34         (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData
35         function here because this is the only caller. If we want to make the
36         resulting function smaller we should refactor some other way. Also
37         streamlined the user-chosen encoding logic, but did not change what it does.
38         (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument
39         to be PassRefPtr<Event>.
40         (WebCore::FrameLoader::loadPostRequest): Ditto.
41         (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from
42         the didNotOpenURL function here, since this was the only caller.
43
44         * loader/FrameLoader.h: Removed include of FormState.h and used a forward
45         declaration instead. Removed unneeded forward declation of Element.
46         Moved many functions into the private section, and removed some other
47         unused or uneeded functions.
48
49 2009-03-27  Xiaomei Ji  <xji@chromium.org>
50
51         Reviewed by Dan Bernstein.
52
53         Fix https://bugs.webkit.org/show_bug.cgi?id=24303
54         Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.
55
56         Test: editing/selection/extend-selection.html
57
58         * editing/SelectionController.cpp:
59         (WebCore::SelectionController::directionOfEnclosingBlock): Added
60         (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly 
61         implemented for character and word granularity, all other granularities
62         are treated as "forward".
63         (WebCore::SelectionController::modifyExtendingForward): Renamed 
64         modifyExtendingRightForward() to this.
65         (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly
66         implemented for character and word granularity, all other granularities
67         are treated as "backward".
68         (WebCore::SelectionController::modifyExtendingBackward): Renamed
69         modifyExtendingLeftBackward() to this.
70         (WebCore::SelectionController::modify): Change to call either the 
71         left/right or backward/forward methods depending on the 'dir' argument
72         for extends.
73         * editing/SelectionController.h:
74
75 2009-03-27  John Abd-El-Malek  <jam@google.com>
76
77         Reviewed by Eric Seidel.
78
79         https://bugs.webkit.org/show_bug.cgi?id=24836
80         Fix navigator.plugins.refresh(false) in Chromium.
81
82         * plugins/chromium/PluginDataChromium.cpp:
83         (WebCore::PluginData::refresh):
84
85 2009-03-27  Timothy Hatcher  <timothy@apple.com>
86
87         Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
88         virtual to fix the broken layout tests from my last commit.
89
90         Reviewed by Mark Rowe.
91
92         * dom/Element.cpp:
93         (WebCore::Element::scrollLeft):
94         (WebCore::Element::scrollTop):
95         (WebCore::Element::scrollWidth):
96         (WebCore::Element::scrollHeight):
97         * dom/Element.h:
98         * html/HTMLBodyElement.h:
99
100 2009-03-27  Mark Rowe  <mrowe@apple.com>
101
102         Reviewed by Sam Weinig.
103
104         Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
105         Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2)
106
107         * html/HTMLSelectElement.cpp:
108         (WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list
109         items after each node is removed, leading to O(N^2) behaviour.  By inlining the batch removal in to setLength we can avoid
110         this gratuitous recalcuation.
111
112 2009-03-27  Dirk Schulze  <krit@webkit.org>
113
114         Reviewed by Eric Seidel.
115
116         We don't support images for GtkCursors yet. We need a  placeholder to avoid crashes.
117         I took crosshair to have a common behavior with firefox.
118
119         [GTK] SVG - Crash on setting the cursor icon
120         https://bugs.webkit.org/show_bug.cgi?id=24565
121
122         * platform/gtk/CursorGtk.cpp:
123         (WebCore::Cursor::Cursor):
124
125 2009-03-27  Timothy Hatcher  <timothy@apple.com>
126
127         Remove redundant attributes and functions from IDL files that have the
128         same attributes and functions defined in the super class.
129
130         Reviewed by Simon Fraser.
131
132         * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h.
133         * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement.
134         * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth
135         and scrollHeight.
136         * html/HTMLElement.idl: Remove blur and focus.
137
138 2009-03-27  Adam Roben  <aroben@apple.com>
139
140         Don't include substitute data URLs in global history redirect chains
141
142         <rdar://6690169>
143
144         Reviewed by Darin Adler.
145
146         This might be testable if:
147           - support were added to DRT for providing substitute data on failed
148             loads
149           - support were added to DRT for dumping redirect chains
150
151         I tried doing the above and was still unable to make a test.
152
153         * loader/FrameLoader.cpp:
154         (WebCore::FrameLoader::updateHistoryForStandardLoad):
155         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
156         Call updateGlobalHistoryRedirectLinks only if the load succeeded
157         (i.e., there is no unreachableURL). Previous the FrameLoaderClient
158         implementations were unconditionally calling
159         updateGlobalHistoryRedirectLinks from within updateGlobalHistory.
160
161 2009-03-27  Peter Kasting  <pkasting@google.com>
162
163         Reviewed by Eric Seidel.
164
165         https://bugs.webkit.org/show_bug.cgi?id=24861
166         Chromium port did not render decorations for <input type="search">.
167         This copies RenderThemeWin.*.
168
169         * css/themeChromiumWin.css: Removed.
170         * rendering/RenderThemeChromiumLinux.cpp:
171         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
172         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
173         (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
174         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
175         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
176         (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
177         (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
178         (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
179         * rendering/RenderThemeChromiumLinux.h:
180         (WebCore::RenderThemeChromiumLinux::paintSearchField):
181         * rendering/RenderThemeChromiumWin.cpp:
182         (WebCore::):
183         (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
184         (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
185         (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
186         (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
187         (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
188         (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
189         (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
190         (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
191         * rendering/RenderThemeChromiumWin.h:
192         (WebCore::RenderThemeChromiumWin::paintSearchField):
193
194 2009-03-27  David Hyatt  <hyatt@apple.com>
195
196         Reviewed by Simon Fraser
197
198         If an object has a self-painting layer, don't count it as part of a block's visual overflow.
199         This fix has only been made for block-level children.   The inline-level case is still broken
200         (and covered by an existing bug).
201
202         Added fast/block/positioning/negative-rel-position.html
203
204         * rendering/InlineFlowBox.cpp:
205         (WebCore::InlineFlowBox::placeBoxesVertically):
206         * rendering/RenderBlock.cpp:
207         (WebCore::RenderBlock::layoutBlockChildren):
208         (WebCore::RenderBlock::lowestPosition):
209         (WebCore::RenderBlock::rightmostPosition):
210         (WebCore::RenderBlock::leftmostPosition):
211
212 2009-03-27  Anders Carlsson  <andersca@apple.com>
213
214         Reviewed by Darin Adler.
215
216         <rdar://problem/6642221>
217         REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed
218         
219         Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.
220         
221         I've filed <rdar://problem/6731022> against the Movies widget.
222         
223         * html/HTMLObjectElement.cpp:
224         (WebCore::HTMLObjectElement::rendererIsNeeded):
225
226 2009-03-25  Timothy Hatcher  <timothy@apple.com>
227
228         Expose new DOM methods as public Objective-C API.
229
230         <rdar://problem/5837350> Expose new DOM classes and methods
231         as public API (match the additions to the JavaScript DOM)
232
233         Reviewed by Mark Rowe and Darin Adler.
234
235         * WebCore.xcodeproj/project.pbxproj:
236         * bindings/objc/DOMHTML.h:
237         * bindings/objc/DOMPrivate.h:
238         * bindings/objc/PublicDOMInterfaces.h:
239
240 2009-03-27  Zack Rusin <zack@kde.org>
241
242         Reviewed by Simon Hausmann.
243
244         https://bugs.webkit.org/show_bug.cgi?id=24280
245
246         Fix propagation of fill rules when rendering paths in the Qt build.
247
248         * platform/graphics/qt/GraphicsContextQt.cpp:
249         (WebCore::toQtFillRule):
250         (WebCore::GraphicsContext::fillPath):
251         (WebCore::GraphicsContext::strokePath):
252
253 2009-03-27  Zack Rusin <zack@kde.org>
254
255         Reviewed by Tor Arne Vestbø.
256
257         https://bugs.webkit.org/show_bug.cgi?id=24275
258
259         Fix text field theming in the Qt build with the KDE 4 Oxygen
260         style by adjusting the size vertically and horizontally to
261         set padding on the element equal to the width of the style painted border.
262
263         * platform/qt/RenderThemeQt.cpp:
264         (WebCore::RenderThemeQt::RenderThemeQt):
265         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
266         (WebCore::RenderThemeQt::adjustTextFieldStyle):
267         (WebCore::RenderThemeQt::paintTextField):
268         * platform/qt/RenderThemeQt.h:
269
270 2009-03-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
271
272         Reviewed by Simon Hausmann.
273
274         https://bugs.webkit.org/show_bug.cgi?id=24852
275         Build fix for GNU mode RVCT compilation
276
277         * html/PreloadScanner.cpp:
278
279 2009-03-27  Erik L. Bunce  <elbunce@xendom.com>
280
281         Reviewed by Simon Hausmann.
282
283         https://bugs.webkit.org/show_bug.cgi?id=24868
284
285         Make text of the writing direction items more user friendly.
286
287         * platform/qt/Localizations.cpp:
288         (WebCore::contextMenuItemTagLeftToRight):
289         (WebCore::contextMenuItemTagRightToLeft):
290
291 2009-03-27  Erik L. Bunce  <elbunce@xendom.com>
292
293         Reviewed by Simon Hausmann.
294
295         https://bugs.webkit.org/show_bug.cgi?id=24274
296
297         Fixed the Qt 4.4 Mac build with netscape plugins enabled.
298
299         * plugins/mac/PluginViewMac.cpp:
300
301 2009-03-26  Mark Rowe  <mrowe@apple.com>
302
303         Try and fix the Qt build.
304
305         * platform/text/TextEncodingDetectorNone.cpp:
306         (WebCore::detectTextEncoding):
307
308 2009-03-26  Eric Carlson  <eric.carlson@apple.com>
309
310         Reviewed by Simon Fraser.
311
312         https://bugs.webkit.org/show_bug.cgi?id=24874
313         24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it
314         
315         The 'duration' attribute is NaN when no media is available, so the
316         media element should take care when comparing with duration().
317
318         * html/HTMLMediaElement.cpp:
319         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
320         it is NaN.
321         (WebCore::HTMLMediaElement::endedPlayback): Ditto.
322
323 2009-03-26  Mark Rowe  <mrowe@apple.com>
324
325         Fix the build.
326
327         * platform/text/TextEncodingDetectorICU.cpp:
328         * platform/text/TextEncodingDetectorNone.cpp:
329
330 2009-03-26  Jungshik Shin  <jshin@chromium.org>
331
332         Reviewed by Cameron Zwarich.
333
334         1. Fix the crash in setHintEncoding
335         2. Fix build failures on Tiger and Qt.
336         UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp
337         in the patch landed in r42023
338         for http://bugs.webkit.org/show_bug.cgi?id=16482
339
340         * loader/TextResourceDecoder.h:
341         (WebCore::TextResourceDecoder::setHintEncoding):
342         * platform/text/TextEncodingDetectorICU.cpp:
343         * platform/text/TextEncodingDetectorNone.cpp:
344
345 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
346
347         Build fix when ACCELERATED_COMPOSITING is turned on.
348
349         * rendering/RenderLayerBacking.cpp:
350         (WebCore::RenderLayerBacking::canUseDirectCompositing):
351
352 2009-03-26  Eric Seidel  <eric@webkit.org>
353
354         No additional review, committing previously reviewed files for build fix only.
355
356         Add files I missed when commiting Jungshik's patch in r42022.
357         https://bugs.webkit.org/show_bug.cgi?id=16482
358
359         * icu/unicode/ucsdet.h: Added.
360         * platform/text/TextEncodingDetector.h: Added.
361         * platform/text/TextEncodingDetectorICU.cpp: Added.
362         (WebCore::detectTextEncoding):
363         * platform/text/TextEncodingDetectorNone.cpp: Added.
364         (WebCore::detectTextEncoding):
365
366 2009-03-26  Jungshik Shin  <jshin@chromium.org>
367
368         Reviewed by Alexey Proskuryakov.
369
370         Add an encoding detector 'hook' to TextResourceDecoder.
371          - add |usesEncodingDetector| to Settings. It's off by default.
372          - add a new encoding source type |EncodingFromParent| 
373            to distinguish cases when the encoding is inherited from
374            the parent frame from cases when it's actually auto-detected.
375          - add TextEncodingDetector* to platform/text. Currently,
376            the only implementation uses ICU. Stub is added for 
377            ports that do not use ICU and a build on Tiger. Mac OS 
378            Tiger comes with ICU 3.2 that does not support encoding detector.
379          - add ucsdet.h to icu/unicode for ports using ICU.
380
381         Layout tests will be added once bug 20534 is fixed and a WebPreference
382         can be controlled in test_shell. With UsesEncodingDetector off, there
383         is no change to test. 
384
385         http://bugs.webkit.org/show_bug.cgi?id=16482
386
387         * WebCore.vcproj/WebCore.vcproj:
388         * WebCore.xcodeproj/project.pbxproj:
389         * WebCore/GNUmakefile.am
390         * WebCore/WebCore.pro
391         * WebCore/WebCore.scons
392         * WebCore/WebCoreSources.bkl
393         * WebCore.base.exp
394         * icu/unicode/ucsdet.h
395         * loader/FrameLoader.cpp:
396         (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.
397         * loader/TextResourceDecoder.cpp:
398         (WebCore::TextResourceDecoder::TextResourceDecoder):
399         (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame
400         (WebCore::TextResourceDecoder::checkForHeadCharset): ditto
401         (WebCore::TextResourceDecoder::shouldAutoDetect):
402         (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true.
403         (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
404         * loader/TextResourceDecoder.h:
405         (WebCore::TextResourceDecoder::):
406         (WebCore::TextResourceDecoder::create):
407         (WebCore::TextResourceDecoder::setHintEncoding):
408         (WebCore::TextResourceDecoder::source):
409         * page/Settings.cpp: add m_usesEncodingDetector
410         (WebCore::Settings::Settings):
411         (WebCore::Settings::setUsesEncodingDetector):
412         * page/Settings.h:
413         (WebCore::Settings::usesEncodingDetector):
414         * platform/text/TextEncodingDetector.h: Added.
415         * platform/text/TextEncodingDetectorICU.cpp: Added.
416         (WebCore::detectTextEncoding):
417         * platform/text/TextEncodingDetectorNone.cpp: Added.
418         (WebCore::detectTextEncoding):
419
420 2009-03-26  Darin Adler  <darin@apple.com>
421
422         Reviewed by Geoff Garen.
423
424         Removed code that casts EventListener down to derived classes
425         without type checking. A crash could happen if you added event
426         listeners with Objective-C and then manipulated the class with
427         JavaScript.
428
429         * bindings/js/JSDOMApplicationCacheCustom.cpp:
430         (WebCore::JSDOMApplicationCache::mark): Removed all the casts
431         and used the markIfNotNull function and mark functions on
432         EventListener instead.
433         * bindings/js/JSMessagePortCustom.cpp:
434         (WebCore::JSMessagePort::mark): Ditto.
435         * bindings/js/JSWorkerContextCustom.cpp:
436         (WebCore::JSWorkerContext::mark): Ditto.
437         * bindings/js/JSWorkerCustom.cpp:
438         (WebCore::JSWorker::mark): Ditto.
439         * bindings/js/JSXMLHttpRequestCustom.cpp:
440         (WebCore::JSXMLHttpRequest::mark): Ditto.
441         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
442         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
443
444         * bindings/js/JSEventListener.cpp:
445         (WebCore::JSAbstractEventListener::handleEvent): Used function,
446         the new name for what used to be called listenerObj.
447         (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since
448         this doesn't need to be virtual for callers who have a pointer to
449         this class, not the base class.
450         (WebCore::JSEventListener::function): Renamed from listenerObj.
451         (WebCore::JSProtectedEventListener::function): Ditto.
452
453         * bindings/js/JSEventListener.h: Removed unneeded forward class
454         declarations. Made all virtual functions private since there's no
455         need to call any of them on a particular derived class, only on
456         EventListener. Explicitly declare JSEventListener::mark as virtual
457         since it's now overriding a function in the EventListener base class.
458         Made JSProtectedEventListener::m_globalObject protected so the
459         JSLazyEventListener derived class can use it directly instead of using
460         a virtual function to get the pointer.
461
462         * bindings/js/JSLazyEventListener.cpp:
463         (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead
464         of globalObject since the latter is a virtual function and there's no
465         need to pay virtual function overhead.
466         (WebCore::JSLazyEventListener::function): Renamed from listenerObj.
467
468         * bindings/js/JSLazyEventListener.h: Moved forward declaration of the
469         Node class here from JSEventListener.h.
470
471         * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to
472         JSEventListener when getting the script object from a listener.
473
474         * dom/EventListener.h: Added virtual function and mark functions
475         so we can extract the JavaScript function object or mark a JavaScript
476         event listener in a type safe manner.
477
478 2009-03-26  Peter Kasting  <pkasting@google.com>
479
480         Reviewed by Adele Peterson.
481
482         https://bugs.webkit.org/show_bug.cgi?id=24859
483         Use CSS file instead of code to adjust search field styling.
484
485         * css/themeWin.css:
486         * rendering/RenderThemeWin.cpp:
487         * rendering/RenderThemeWin.h:
488
489 2009-03-26  Darin Adler  <darin@apple.com>
490
491         Reviewed by Geoff Garen.
492
493         Split JSLazyEventListener out into its own separate source file.
494         We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
495         so leave those in the same file with JSEventListener.
496
497         * GNUmakefile.am: Added JSLazyEventListener.
498         * WebCore.pro: Ditto.
499         * WebCore.scons: Ditto.
500         * WebCore.vcproj/WebCore.vcproj: Ditto.
501         * WebCore.xcodeproj/project.pbxproj: Ditto.
502         * WebCoreSources.bkl: Ditto.
503
504         * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part.
505         Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since
506         JSAbstractEventListener is not derived from JSCell.
507
508         * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part
509         and the now-unneeded include of PlatformString.h.
510
511         * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp.
512         Kept only the JSLazyEventListener part.
513         (WebCore::eventParameterName): Made this have internal linkage by adding "static".
514         Also moved the default case out of the switch statement so we will get a warning
515         if we omit any cases in the future.
516
517         * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h.
518         Kept only the JSLazyEventListener part.
519
520         * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the
521         remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.
522
523 2009-03-26  Darin Adler  <darin@apple.com>
524
525         Reviewed by Geoff Garen.
526
527         Renamed JSUnprotectedEventListener to JSEventListener.
528         And related renames.
529
530         Soon Geoff will make all JavaScript event listeners use mark instead
531         of protect, so there's no need to emphasize "unprotected".
532
533         * bindings/js/JSDOMApplicationCacheCustom.cpp:
534         (WebCore::JSDOMApplicationCache::mark):
535         (WebCore::JSDOMApplicationCache::addEventListener):
536         (WebCore::JSDOMApplicationCache::removeEventListener):
537         * bindings/js/JSDOMGlobalObject.cpp:
538         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
539         (WebCore::JSDOMGlobalObject::findJSEventListener):
540         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
541         (WebCore::JSDOMGlobalObject::jsEventListeners):
542         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
543         * bindings/js/JSDOMGlobalObject.h:
544         * bindings/js/JSDOMWindowBase.h:
545         * bindings/js/JSEventListener.cpp:
546         (WebCore::JSEventListener::JSEventListener):
547         (WebCore::JSEventListener::~JSEventListener):
548         (WebCore::JSEventListener::listenerObj):
549         (WebCore::JSEventListener::globalObject):
550         (WebCore::JSEventListener::clearGlobalObject):
551         (WebCore::JSEventListener::mark):
552         * bindings/js/JSEventListener.h:
553         (WebCore::JSEventListener::create):
554         * bindings/js/JSMessagePortCustom.cpp:
555         (WebCore::JSMessagePort::mark):
556         (WebCore::JSMessagePort::addEventListener):
557         (WebCore::JSMessagePort::removeEventListener):
558         * bindings/js/JSWorkerContextCustom.cpp:
559         (WebCore::JSWorkerContext::mark):
560         (WebCore::JSWorkerContext::addEventListener):
561         (WebCore::JSWorkerContext::removeEventListener):
562         * bindings/js/JSWorkerCustom.cpp:
563         (WebCore::JSWorker::mark):
564         (WebCore::JSWorker::addEventListener):
565         (WebCore::JSWorker::removeEventListener):
566         * bindings/js/JSXMLHttpRequestCustom.cpp:
567         (WebCore::JSXMLHttpRequest::mark):
568         (WebCore::JSXMLHttpRequest::addEventListener):
569         (WebCore::JSXMLHttpRequest::removeEventListener):
570         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
571         (WebCore::JSXMLHttpRequestUpload::mark):
572         (WebCore::JSXMLHttpRequestUpload::addEventListener):
573         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
574         * bindings/scripts/CodeGeneratorJS.pm:
575         All just renaming.
576
577 2009-03-26  Darin Adler  <darin@apple.com>
578
579         Reviewed by Geoff Garen.
580
581         Renamed JSEventListener to JSProtectedEventListener.
582         And related renames.
583
584         Soon Geoff will make all JavaScript event listeners use mark instead
585         of protect, and so this class will be be obsolete. We will rename
586         JSUnrpotectedEventListener to JSEventListener in the next check-in,
587         since that one will remain.
588
589         * bindings/js/JSDOMGlobalObject.cpp:
590         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
591         (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
592         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
593         (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
594         (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
595         * bindings/js/JSDOMGlobalObject.h:
596         * bindings/js/JSDOMWindowBase.h:
597         * bindings/js/JSDOMWindowCustom.cpp:
598         (WebCore::JSDOMWindow::addEventListener):
599         (WebCore::JSDOMWindow::removeEventListener):
600         * bindings/js/JSEventListener.cpp:
601         (WebCore::JSProtectedEventListener::JSProtectedEventListener):
602         (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
603         (WebCore::JSProtectedEventListener::listenerObj):
604         (WebCore::JSProtectedEventListener::globalObject):
605         (WebCore::JSProtectedEventListener::clearGlobalObject):
606         (WebCore::JSLazyEventListener::JSLazyEventListener):
607         (WebCore::JSLazyEventListener::parseCode):
608         * bindings/js/JSEventListener.h:
609         (WebCore::JSProtectedEventListener::create):
610         * bindings/js/JSNodeCustom.cpp:
611         (WebCore::JSNode::addEventListener):
612         (WebCore::JSNode::removeEventListener):
613         * bindings/js/JSSVGElementInstanceCustom.cpp:
614         (WebCore::JSSVGElementInstance::addEventListener):
615         (WebCore::JSSVGElementInstance::removeEventListener):
616         * bindings/scripts/CodeGeneratorJS.pm:
617         All just renaming.
618
619 2009-03-26  Dan Bernstein  <mitz@apple.com>
620
621         Reviewed by Anders Carlsson.
622
623         - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can
624           create runs extending beyond the end
625
626         No test because Safari does not use this version of
627         createBidiRunsForLine() with the end iterator not pointing to the end
628         of the text run.
629
630         * platform/text/BidiResolver.h:
631         (WebCore::BidiResolver::appendRun): Cap the end of the run at the end
632         of the line and set the reachedEndOfLine flag. This mirrors the logic
633         in the specialized version of appendRun() in bidi.cpp, which is why the
634         problem did not show up in HTML. Also avoid creating empty runs.
635
636 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
637
638         Reviewed by Dave Hyatt
639         
640         https://bugs.webkit.org/show_bug.cgi?id=24864
641
642         Change the terminology from "inner content layer" to "direct compositing"
643         for cases where we can push an image directly over to the compositing system,
644         without having to draw it.
645         
646         Clean up much of the code which looks at style to determine if this is possible,
647         and fix some bugs when backgrounds change dynamically.
648         
649         * rendering/RenderLayerBacking.cpp:
650         (WebCore::hasBorderOutlineOrShadow):
651         (WebCore::hasBoxDecorations):
652         (WebCore::hasBoxDecorationsWithBackgroundImage):
653         (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer):
654         (WebCore::RenderLayerBacking::canUseDirectCompositing):
655         (WebCore::RenderLayerBacking::detectDrawingOptimizations):
656         (WebCore::RenderLayerBacking::rendererContentChanged):
657         (WebCore::RenderLayerBacking::updateImageContents):
658         * rendering/RenderLayerBacking.h:
659
660 2009-03-26  Simon Fraser  <simon.fraser@apple.com>
661
662         Reviewed by Dave Hyatt
663         
664         https://bugs.webkit.org/show_bug.cgi?id=23914
665
666         Tests: compositing/overflow/ancestor-overflow.html
667                compositing/overflow/parent-overflow.html
668
669         * rendering/RenderLayer.cpp:
670         (WebCore::RenderLayer::calculateClipRects):
671         * rendering/RenderLayer.h:
672         (WebCore::ClipRects::infiniteRect):
673         New static method that returns a large rect that is used by the clipping
674         logic.
675         
676         * rendering/RenderLayerBacking.cpp:
677         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
678         Use parentClipRects(), rather than calculateRects(), to compute the overflow
679         rect that we'll use to create a masking layer for composited clipping.
680         
681         * rendering/RenderLayerCompositor.cpp:
682         (WebCore::RenderLayerCompositor::clippedByAncestor):
683         Use parentClipRects() to see whether there's a layer between us and our
684         compositing ancestor which applies clipping.
685         
686         (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
687         A layer which imposes clipping to its children doesn't have to be a stacking
688         context; it might be a normal flow layer; in either case, we can rely on the
689         hasCompositingDescendant() bit.
690
691 2009-03-26  Steve Falkenburg  <sfalken@apple.com>
692
693         https://bugs.webkit.org/show_bug.cgi?id=24837
694         Escape key should dismiss select menu
695
696         Reviewed by Adam Roben.
697
698         * platform/win/PopupMenuWin.cpp:
699         (WebCore::PopupWndProc):
700
701 2009-03-26  Kevin Ollivier  <kevino@theolliviers.com>
702
703         Reviewed by Alexey Proskuryakov.
704
705         Make sure the script uses LF line endings even on Windows.
706         
707         https://bugs.webkit.org/show_bug.cgi?id=24805
708
709         * WebCore/make-generated-sources.sh: Change svn:eol-style to LF
710
711 2009-03-26  Eli Fidler  <eli.fidler@torchmobile.com>
712
713         Reviewed by George Staikos.
714
715         Remove warnings all over the place by making operator precedence
716         explicit in cases like x && y || z.  No functional change.
717
718         * css/CSSFontSelector.cpp:
719         (WebCore::CSSFontSelector::addFontFaceRule):
720         * css/CSSParser.cpp:
721         (WebCore::CSSParser::parseValue):
722         (WebCore::CSSParser::parseShadow):
723         * dom/Document.cpp:
724         (WebCore::Document::shouldScheduleLayout):
725         * dom/Node.cpp:
726         (WebCore::Node::isBlockFlowOrBlockTable):
727         * dom/Node.h:
728         (WebCore::Node::document):
729         * dom/Position.cpp:
730         (WebCore::Position::next):
731         (WebCore::Position::upstream):
732         (WebCore::Position::downstream):
733         (WebCore::Position::getInlineBoxAndOffset):
734         * dom/PositionIterator.cpp:
735         (WebCore::PositionIterator::atStart):
736         * dom/Range.cpp:
737         (WebCore::Range::intersectsNode):
738         * editing/Editor.cpp:
739         (WebCore::Editor::setBaseWritingDirection):
740         * editing/InsertParagraphSeparatorCommand.cpp:
741         (WebCore::InsertParagraphSeparatorCommand::doApply):
742         * editing/ReplaceSelectionCommand.cpp:
743         (WebCore::ReplaceSelectionCommand::doApply):
744         * editing/TextIterator.cpp:
745         (WebCore::TextIterator::advance):
746         (WebCore::SimplifiedBackwardsTextIterator::advance):
747         * editing/VisiblePosition.cpp:
748         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
749         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
750         (WebCore::VisiblePosition::canonicalPosition):
751         * editing/htmlediting.cpp:
752         (WebCore::isMailBlockquote):
753         (WebCore::lineBreakExistsAtPosition):
754         * html/HTMLSelectElement.cpp:
755         (WebCore::HTMLSelectElement::parseMappedAttribute):
756         * loader/FTPDirectoryDocument.cpp:
757         (WebCore::processFileDateString):
758         * loader/ImageLoader.cpp:
759         (WebCore::ImageLoader::updateFromElement):
760         * loader/TextResourceDecoder.cpp:
761         (WebCore::TextResourceDecoder::checkForHeadCharset):
762         * page/AccessibilityObject.cpp:
763         (WebCore::updateAXLineStartForVisiblePosition):
764         * page/EventHandler.cpp:
765         (WebCore::EventHandler::sendContextMenuEvent):
766         * page/animation/AnimationBase.cpp:
767         (WebCore::PropertyWrapperGetter::equals):
768         (WebCore::PropertyWrapperShadow::equals):
769         * platform/ContextMenu.cpp:
770         (WebCore::ContextMenu::populate):
771         * platform/ScrollView.cpp:
772         (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
773         * platform/text/Base64.cpp:
774         (WebCore::base64Encode):
775         * platform/text/BidiResolver.h:
776         (WebCore::::raiseExplicitEmbeddingLevel):
777         (WebCore::::createBidiRunsForLine):
778         * rendering/InlineTextBox.cpp:
779         (WebCore::InlineTextBox::placeEllipsisBox):
780         * rendering/RenderBlock.cpp:
781         (WebCore::RenderBlock::addChild):
782         (WebCore::RenderBlock::repaintOverhangingFloats):
783         (WebCore::RenderBlock::fillInlineSelectionGaps):
784         (WebCore::RenderBlock::positionForPoint):
785         (WebCore::RenderBlock::calcInlinePrefWidths):
786         (WebCore::RenderBlock::hasLineIfEmpty):
787         * rendering/RenderBox.cpp:
788         (WebCore::RenderBox::imageChanged):
789         (WebCore::RenderBox::localCaretRect):
790         (WebCore::RenderBox::positionForPoint):
791         (WebCore::RenderBox::shrinkToAvoidFloats):
792         * rendering/RenderObject.h:
793         (WebCore::objectIsRelayoutBoundary):
794         * rendering/RenderTableCell.cpp:
795         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
796         * rendering/RenderText.cpp:
797         (WebCore::RenderText::calcPrefWidths):
798         * rendering/bidi.cpp:
799         (WebCore::RenderBlock::determineStartPosition):
800         (WebCore::textWidth):
801         * rendering/style/RenderStyle.cpp:
802         (WebCore::RenderStyle::diff):
803         * rendering/style/StyleInheritedData.cpp:
804         (WebCore::cursorDataEquivalent):
805         * rendering/style/StyleRareInheritedData.cpp:
806         (WebCore::StyleRareInheritedData::shadowDataEquivalent):
807         * rendering/style/StyleRareNonInheritedData.cpp:
808         (WebCore::StyleRareNonInheritedData::shadowDataEquivalent):
809         (WebCore::StyleRareNonInheritedData::animationDataEquivalent):
810         (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
811
812 2009-03-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
813
814         Reviewed by Holger Freyther.
815
816         https://bugs.webkit.org/show_bug.cgi?id=24804
817         [GTK] 401 responses cause rogue content to be loaded
818
819         Our soup code handles 401 responses itself, so we should not feed
820         the headers and data of those responses to the loader.
821
822         * platform/network/soup/ResourceHandleSoup.cpp:
823         (WebCore::gotHeadersCallback):
824         (WebCore::gotChunkCallback):
825
826 2009-03-25  Geoffrey Garen  <ggaren@apple.com>
827
828         Reviewed by Oliver Hunt and Darin Adler.
829         
830         Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
831         during Stress test (#3 & #7 WER crashes for Safari 4 Beta)
832         
833         The problem was that allocation of the global object would, for just a
834         moment, leave the global object's prototype unprotected from GC. This
835         bug doesn't apply to non-global DOM objects because their prototypes are
836         cached and marked by the global object.
837
838         No test case because the crashing condition is hard to deterministically
839         produce in a normal build, and in a Windows Release build with
840         COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.
841
842         * bindings/js/JSDOMWindowShell.cpp:
843         (WebCore::JSDOMWindowShell::setWindow):
844         * bindings/js/WorkerScriptController.cpp:
845         (WebCore::WorkerScriptController::initScript): Protect the global object's
846         prototype from GC during construction, since the global object does not
847         yet point to it, and therefore won't mark it.
848
849 2009-03-25  Dean Jackson  <dino@apple.com>
850
851         Reviewed by Simon Fraser
852
853         https://bugs.webkit.org/show_bug.cgi?id=23361
854
855         When using hardware compositing, some images can be directly
856         rendered by the hardware - no need to draw them into a separate
857         context, therefore saving memory.
858         Only images with certain style properties can be directly
859         composited - basically anything that is not a simple image requires
860         the usual rendering path (eg. if the image has borders).
861
862         Test: compositing/direct-image-compositing.html
863
864         * manual-tests/resources/simple_image.png: Added.
865         * manual-tests/simple-image-compositing.html: Added.
866         * platform/graphics/Image.h:
867         (WebCore::Image::startAnimation):
868             - move this to public
869         * rendering/RenderImage.cpp:
870         (WebCore::RenderImage::imageChanged):
871             - poke compositing layer if image has changed
872         (WebCore::RenderImage::notifyFinished):
873             - let the compositing layer know that it can render the image
874         * rendering/RenderImage.h:
875         * rendering/RenderLayer.cpp:
876         (WebCore::RenderLayer::rendererContentChanged):
877         * rendering/RenderLayer.h:
878         * rendering/RenderLayerBacking.cpp:
879         (WebCore::RenderLayerBacking::canUseInnerContentLayer):
880         (WebCore::RenderLayerBacking::detectDrawingOptimizations):
881         (WebCore::RenderLayerBacking::rendererContentChanged):
882         * rendering/RenderLayerBacking.h:
883             - code to hook up direct compositing of images where
884               possible
885
886 2009-03-25  David Levin  <levin@chromium.org>
887
888         Reviewed by Dimitri Glazkov.
889
890         Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
891         rename of V8NodeFilter to V8NodeFilterCondition.
892
893         * bindings/v8/V8NodeFilterCondition.cpp:
894
895 2009-03-25  Simon Fraser  <simon.fraser@apple.com>
896
897         Reviewed by Darin Adler
898         
899         https://bugs.webkit.org/show_bug.cgi?id=24817
900         
901         When the slider range is zero, avoid a divide by zero, which caused the
902         thumb to be positioned off in the weeds, which broke painting.
903
904         Test: media/video-empty-source.html
905
906         * rendering/RenderSlider.cpp:
907         (WebCore::SliderRange::proportionFromValue):
908         (WebCore::SliderRange::valueFromProportion):
909         (WebCore::sliderPosition):
910         (WebCore::RenderSlider::setValueForPosition):
911
912 2009-03-24  Eric Seidel  <eric@webkit.org>
913
914         Reviewed by Darin Adler.
915
916         Remove dead code and style cleanup
917         https://bugs.webkit.org/show_bug.cgi?id=24684
918
919         * html/CanvasStyle.cpp:
920         (WebCore::CanvasStyle::CanvasStyle):
921           Coverty was annoyed that we didn't initialize all of our members.  I agree, but I didn't
922           want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
923         * page/FocusController.cpp:
924         (WebCore::FocusController::setFocusedNode):
925           "node" was checked just above and is already known to be non-null
926         * rendering/RenderLayer.cpp:
927         (WebCore::RenderLayer::insertOnlyThisLayer):
928           We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check
929         (WebCore::RenderLayer::resize):
930           element is already ASSERTed above, no need to null check it here
931         * rendering/RenderTableSection.cpp:
932         (WebCore::RenderTableSection::addCell):
933           currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.
934
935 2009-03-24  Eric Seidel  <eric@webkit.org>
936
937         Reviewed by Darin Adler.
938
939         Move ASSERT(foo) to before where foo-> is used
940         https://bugs.webkit.org/show_bug.cgi?id=24684
941
942         * platform/chromium/PasteboardChromium.cpp:
943         (WebCore::Pasteboard::writeImage):
944           Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved
945           ASSERT(node) to the top of the function it made sense to move the rest of them there too.
946         * rendering/SVGRenderSupport.cpp:
947         (WebCore::prepareToRenderSVGContent):
948           move ASSERT(object) to *before* we use "object" :)
949
950 2009-03-24  Eric Seidel  <eric@webkit.org>
951
952         Reviewed by Simon Fraser.
953
954         Make TextTokenizer ASSERT that the buffer was freed
955         https://bugs.webkit.org/show_bug.cgi?id=24684
956
957         * loader/TextDocument.cpp:
958         (WebCore::TextTokenizer::TextTokenizer):
959         (WebCore::TextTokenizer::~TextTokenizer):
960         (WebCore::TextTokenizer::finish):
961           Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.
962
963 2009-03-24  Eric Seidel  <eric@webkit.org>
964
965         Reviewed by Darin Adler.
966
967         Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
968         https://bugs.webkit.org/show_bug.cgi?id=24684
969
970         I don't have a test case where we were taking the wrong path here
971         However, adding an ASSERT(lBreak.obj) before this usage caused
972         multiple bidi tests to fail, so lBreak.obj can be null here.
973
974         * rendering/bidi.cpp:
975         (WebCore::RenderBlock::findNextLineBreak):
976           lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.
977
978 2009-03-24  Eric Seidel  <eric@webkit.org>
979
980         Reviewed by Simon Fraser.
981
982         Style cleanup and dead code removal in dom, editing
983         https://bugs.webkit.org/show_bug.cgi?id=24684
984
985         * dom/ContainerNode.cpp:
986         (WebCore::ContainerNode::getUpperLeftCorner):
987         (WebCore::ContainerNode::getLowerRightCorner):
988         (WebCore::ContainerNode::getRect):
989           Coverty was (rightly) confused as to what the hell "o" was being used for
990           and whether or not it would ever be NULL.  I added some ASSERTS so that people (and machines)
991           would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
992         * dom/Document.cpp:
993         (WebCore::Document::recalcStyle):
994           Remove dead code, this block already checked that change == Force
995         * editing/ApplyStyleCommand.cpp:
996         (WebCore::ApplyStyleCommand::removeInlineStyle):
997           Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus
998           prev will be null, and we don't really explicitly handle it (like we probably should)
999           It's OK though, because we end up creating a null position object, which may not have
1000           been what we intended, but we certainly don't crash.
1001         * editing/InsertParagraphSeparatorCommand.cpp:
1002         (WebCore::InsertParagraphSeparatorCommand::doApply):
1003           Remove dead code, insertionPosition.node() is already checked to be non-null above.
1004         * editing/markup.cpp:
1005         (WebCore::appendStartMarkup):
1006           removed dead code, annotate is already known to be true at this point in the file
1007           !annotate was checked above, and break; was called.
1008
1009 2009-03-24  Eric Seidel  <eric@webkit.org>
1010
1011         Reviewed by Simon Fraser.
1012
1013         CSS dead code removal and cleanup from Coverty errors
1014         https://bugs.webkit.org/show_bug.cgi?id=24684
1015
1016         * css/CSSStyleSelector.cpp:
1017         (WebCore::CSSStyleSelector::applyProperty):
1018           Every other place in the code we check settings() for NULL, so I made these places
1019           check too, even though we should never be resolving style against a document which has
1020           no frame (which I believe is the only time settings() can be null)
1021         * css/CSSStyleSheet.cpp:
1022         (WebCore::CSSStyleSheet::styleSheetChanged):
1023           Removing dead code, "root" can never be null here.
1024         * css/SVGCSSStyleSelector.cpp:
1025         (WebCore::colorFromSVGColorCSSValue):
1026         (WebCore::CSSStyleSelector::applySVGProperty):
1027           Extra returns in the old macros caused dead code.  Removing the old macros and use modern
1028           ones instead. :)
1029           Extra null checks to value were not needed.  Added an ASSERT at the top of the function
1030           to make it clear that value will never be NULL.
1031           Added colorFromSVGColorCSSValue to clean up the code a little.
1032
1033 2009-03-24  Eric Seidel  <eric@webkit.org>
1034
1035         Reviewed by Simon Fraser.
1036
1037         Font fallback cleanup and added ASSERT for GlyphPageTreeNode
1038         https://bugs.webkit.org/show_bug.cgi?id=24684
1039
1040         * css/CSSFontSelector.cpp:
1041         (WebCore::compareFontFaces):
1042           Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets
1043           I can't read the code well enough to tell, so I tried to make the code clearer
1044           and added an ASSERT.        
1045         * platform/graphics/GlyphPageTreeNode.cpp:
1046         (WebCore::GlyphPageTreeNode::initializePage):
1047           Coverty believes we can crash here due to j being larger than GlyphPage::size.  I think to is already
1048           known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.
1049
1050 2009-03-24  Eric Seidel  <eric@webkit.org>
1051
1052         Reviewed by Simon Fraser.
1053
1054         Coverty inspired fixes in Animations/Transforms
1055         https://bugs.webkit.org/show_bug.cgi?id=24684
1056
1057         * page/animation/AnimationBase.h:
1058           Fix animate() signatures to match so that the virtual methods actually override one another. :)
1059         * page/animation/AnimationController.cpp:
1060         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
1061           Attempt to fix this method, prevAnimation was never set to anything but NULL,
1062           as far as I can tell the author originally intended to update it at the end
1063           of the loop, which is what I changed this code to do.
1064         * page/animation/ImplicitAnimation.cpp:
1065         (WebCore::ImplicitAnimation::animate):
1066           Make method signature match AnimationBase::animate
1067         * page/animation/ImplicitAnimation.h:
1068         * page/animation/KeyframeAnimation.cpp:
1069         (WebCore::KeyframeAnimation::animate):
1070           Make method signature match AnimationBase::animate
1071         * page/animation/KeyframeAnimation.h:
1072         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1073         (WebCore::PerspectiveTransformOperation::blend):
1074           if (blendToIdentity) already returned above.
1075         * platform/graphics/transforms/RotateTransformOperation.cpp:
1076         (WebCore::RotateTransformOperation::blend):
1077           if (blendToIdentity) already returned above.
1078
1079 2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>
1080
1081         Reviewed by George Staikos.
1082
1083         Fix compiler warnings regarding assignments in if statements.
1084
1085         * html/HTMLFormElement.cpp:
1086         (WebCore::HTMLFormElement::createFormData):
1087         * plugins/PluginPackage.cpp:
1088         (WebCore::PluginPackage::compare):
1089
1090 2009-03-25  Dan Bernstein  <mitz@apple.com>
1091
1092         Reviewed by Dave Hyatt.
1093
1094         - fix <rdar://problem/6472150> repro crash in
1095           RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
1096           menus
1097
1098         Test: fast/inline/continuation-positioned-reparenting.html
1099
1100         * rendering/RenderInline.cpp:
1101         (WebCore::RenderInline::splitFlow): When repurposing the existing
1102         container as the "pre" block, clear its positioned objects list, because
1103         positioned descendants may end up in a different block after the split.
1104
1105 2009-03-24  Simon Fraser  <simon.fraser@apple.com>
1106
1107         Reviewed by Dave Hyatt
1108         
1109         https://bugs.webkit.org/show_bug.cgi?id=24784
1110         
1111         Length values in transform operations need to take zoom into account.
1112
1113         Test: fast/transforms/transforms-with-zoom.html
1114
1115         * css/CSSStyleSelector.cpp:
1116         (WebCore::CSSStyleSelector::createTransformOperations):
1117
1118 2009-03-25  David Hyatt  <hyatt@apple.com>
1119
1120         Reviewed by Simon Fraser.
1121
1122         https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
1123         values.  Add support for the new values (while preserving the old values for backwards
1124         compatibility).
1125
1126         Changed some existing test cases to use the new values.
1127
1128         * css/CSSParser.cpp:
1129         (WebCore::CSSParser::parseFillProperty):
1130         * css/CSSPrimitiveValueMappings.h:
1131         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1132         (WebCore::CSSPrimitiveValue::operator EFillBox):
1133         * css/CSSValueKeywords.in:
1134
1135 2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>
1136
1137         Reviewed by Dimitri Glazkov.
1138
1139         Fix complex text opacity on the Chromium Windows port.
1140         https://bugs.webkit.org/show_bug.cgi?id=24757
1141
1142         Test: fast/text/complex-text-opacity.html
1143
1144         * platform/graphics/chromium/FontChromiumWin.cpp:
1145         (WebCore::):
1146         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
1147         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
1148         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1149         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1150         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
1151         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
1152         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
1153         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1154         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
1155         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
1156         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
1157         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
1158         (WebCore::Font::drawGlyphs):
1159         (WebCore::Font::drawComplexText):
1160
1161 2009-03-25  David Hyatt  <hyatt@apple.com>
1162
1163         Reviewed by Eric Seidel
1164
1165         Fix for bug 23198, border images should not clip to border radii.  The border-image should just ignore
1166         the border-radius, since the assumption is that any desired rounding will be built into the border-image
1167         itself.
1168
1169         Note that I do not agree with this change, but I am matching the spec.
1170
1171         Added fast/borders/border-image-border-radius.html
1172
1173         * rendering/RenderBoxModelObject.cpp:
1174         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1175
1176 2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>
1177
1178         Reviewed by Holger Freyther.
1179
1180         https://bugs.webkit.org/show_bug.cgi?id=24750
1181         [GTK] requests download instead of displaying page
1182
1183         Fix the Content-Type headers we get from soup, so that we set a
1184         proper media type on the ResourceResponse.
1185
1186         * platform/network/soup/ResourceHandleSoup.cpp:
1187         (WebCore::fillResponseFromMessage):
1188
1189 2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>
1190
1191         Reviewed by Holger Freyther.
1192
1193         https://bugs.webkit.org/show_bug.cgi?id=24600
1194         [GTK] responses with status code >= 400 should not be given special treatment
1195
1196         Do not special case requests that have HTTP responses >=
1197         400. Redirects are handled automatically by libsoup, but the rest
1198         of the responses should be treated like any other.
1199
1200         * platform/network/soup/ResourceHandleSoup.cpp:
1201         (WebCore::):
1202         (WebCore::gotHeadersCallback):
1203         (WebCore::gotChunkCallback):
1204         (WebCore::finishedCallback):
1205
1206 2009-03-25  Darin Adler  <darin@apple.com>
1207
1208         Reviewed by John Sullivan.
1209
1210         Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
1211         they are being used only for selections, not an entire document.
1212
1213         * WebCore.base.exp: Remove exported function that's not used in WebKit.
1214
1215         * loader/archive/cf/LegacyWebArchive.cpp:
1216         (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member
1217         function so it can share private things with other member functions. Added some FIXME
1218         comments to a branch of code I think is dead. Changed boolean argument into a named
1219         one. Renamed to match other similar functions.
1220         (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto.
1221         (WebCore::LegacyWebArchive::createResource): Ditto.
1222         (WebCore::LegacyWebArchive::create): Merged the create and init functions.
1223         (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because
1224         we should never fail to write (we can fail to read).
1225         (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static
1226         member function as above.
1227         (WebCore::LegacyWebArchive::createFromSelection): Ditto.
1228         (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than
1229         iterators. Only include the favicon if the first node is the document since we don't
1230         want to include the favicon when copying and pasting.
1231
1232         * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private.
1233         Made the Mac-specific functions be static member functions. Made other helpers be
1234         static member functions. Removed the nit function.
1235
1236         * loader/archive/cf/LegacyWebArchiveMac.mm:
1237         (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated
1238         comment and made this a static member function.
1239         (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made
1240         it so we only type cast in one place.
1241
1242 2009-03-25  Darin Adler  <darin@apple.com>
1243
1244         Reviewed by David Hyatt.
1245
1246         Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
1247         https://bugs.webkit.org/show_bug.cgi?id=24740
1248         rdar://problem/6679873
1249
1250         Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
1251         https://bugs.webkit.org/show_bug.cgi?id=12104
1252
1253         Test: media/video-display-none-crash.html
1254
1255         The problem here was that RenderSlider was trying to position its thumb in a way that
1256         requires it to call updateLayout inside rendering code. The right way to position a
1257         child renderer is to do layout, so I had to write a layout function. And then fix a few
1258         other small problems shown by the same test case.
1259
1260         * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage.
1261         Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
1262         prefix for public DOM classes, not elements used as implementation details.
1263         Made SliderThumbElement function members private and got rid of unneeded default
1264         argument value for shadowParent.
1265         (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes.
1266         (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above.
1267         (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in
1268         a way that clamps to the range.
1269         (WebCore::sliderPosition): Added. Computes the slider position: a double.
1270         (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit
1271         initialization of m_initialClickPoint.
1272         (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead
1273         of calling setCurrentPosition and valueChanged.
1274         (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb.
1275         (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle.
1276         (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code
1277         setting the position to relative and setting the left and top. We now handle positioning
1278         in a custom layout function.
1279         (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout.
1280         (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value
1281         in the element if it's out of range. This clamping used to be done as a side effect of
1282         setPositionFromValue. Also, this has nothing to do with the renderer, so at some point
1283         it could be moved into HTMLInputElement. Removed call to setPositionFromValue
1284         and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be
1285         a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want
1286         this to be propagated to the parent -- it's not called during layout.
1287         (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange
1288         class. Also don't call setCurrentPosition; instead just call setNeedsLayout.
1289         (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather
1290         than the style to find the position; that means this needs to be done after layout is done.
1291         Also removed unneeded runtime checks and replaced them with assertions, after checking
1292         all callers to see they already guarantee this.
1293         (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them
1294         with assertions, after checking all callers to see they already guarantee this.
1295         (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't
1296         crash if called early on a brand new RenderSlider.
1297
1298         * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode.
1299         Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
1300         prefix for public DOM classes, not elements used as implementation details. Made the
1301         mouseEventIsInThumb function non-virtual. Removed the return value and argument from
1302         setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle
1303         argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some
1304         private member functions.
1305
1306 2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>
1307
1308         Reviewed by George Staikos.
1309
1310         Fix ambiguous else cases by adding braces to nested if()s with elses.
1311
1312         * loader/MainResourceLoader.cpp:
1313         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1314         * page/EventHandler.cpp:
1315         (WebCore::EventHandler::updateDragAndDrop):
1316         * rendering/RenderListMarker.cpp:
1317         (WebCore::toArmenianUnder10000):
1318         * rendering/TextControlInnerElements.cpp:
1319         (WebCore::TextControlInnerTextElement::defaultEventHandler):
1320
1321 2009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>
1322
1323         Reviewed by George Staikos.
1324
1325         Move variable into proper platform block to quiet warning.
1326
1327         * html/CanvasRenderingContext2D.cpp:
1328         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1329
1330 2009-03-24  Eric Carlson  <eric.carlson@apple.com>
1331
1332         Reviewed by Antti Koivisto.
1333
1334         Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies
1335
1336         *  WebCore/html/HTMLMediaElement.cpp:
1337         (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having
1338         network state of NETWORK_NO_SOURCE.
1339
1340         *  WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1341         (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since
1342         some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK
1343         corresponds to HaveFutureData, not HaveEnoughData.
1344
1345 2009-03-24  Adele Peterson  <adele@apple.com>
1346
1347         Reviewed by Darin Adler.
1348
1349         Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
1350         <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line
1351
1352         * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
1353         After breaking out of an empty mail blockquote, we still want continue with the deletion
1354         so actual content will get deleted, and not just the quote style.
1355
1356 2009-03-24  Darin Adler  <darin@apple.com>
1357
1358         Reviewed by Brady Eidson.
1359
1360         <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)
1361
1362         * loader/archive/cf/LegacyWebArchive.cpp:
1363         (WebCore::LegacyWebArchive::create): Added a null check.
1364
1365 2009-03-24  Adam Langley  <agl@google.com>
1366
1367         Reviewed by Darin Fisher.
1368
1369         https://bugs.webkit.org/show_bug.cgi?id=24685
1370
1371         The Skia drawLine function takes subpixel values and attempts to draw
1372         a line with subpixel precision. This is complex and slow for drawing
1373         scrollbars which use only vertical and horizontal lines.
1374
1375         This changes the Chromium Linux scrollbar code to use drawIRect.
1376
1377         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1378         (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
1379         (WebCore::drawVertLine):
1380         (WebCore::drawHorizLine):
1381         (WebCore::drawBox):
1382         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
1383         (WebCore::ScrollbarThemeChromium::paintThumb):
1384
1385 2009-03-24  David Kilzer  <ddkilzer@apple.com>
1386
1387         Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly
1388
1389         <https://bugs.webkit.org/show_bug.cgi?id=23310>
1390
1391         Reviewed by Darin Adler.
1392
1393         Test: fast/frames/iframe-no-src-set-location.html
1394
1395         * dom/Document.cpp:
1396         (WebCore::Document::completeURL): If m_baseURL is empty or is
1397         about:blank and we have a parent document, use the parent
1398         document's URL for the base when completing a new URL.
1399
1400 2009-03-24  Simon Fraser  <simon.fraser@apple.com>
1401
1402         Reviewed by Dave Hyatt
1403         
1404         https://bugs.webkit.org/show_bug.cgi?id=24659
1405         
1406         When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
1407         into the coordinate space of the layer, and doing so can result in pathalogical quads
1408         that break hit testing. In that case, simply use the same bounds as used for painting,
1409         which are the composited bounds for this layer.
1410
1411         Test: transforms/3d/hit-testing/rotated-hit-test.html
1412
1413         * rendering/RenderLayer.cpp:
1414         (WebCore::RenderLayer::hitTestLayer):
1415
1416 2009-03-24  Simon Fraser  <simon.fraser@apple.com>
1417
1418         Reviewed by Dave Hyatt
1419
1420         https://bugs.webkit.org/show_bug.cgi?id=24436
1421         
1422         When compositing is enabled, painting and hit testing end up using different
1423         clipping roots, because, for painting, every composited layer is a clipping root,
1424         but for hit testing only layers with transforms are. To fix this, we use
1425         temporary clip rects for hit testing, if the page is in compositing mode.
1426
1427         * rendering/RenderLayer.cpp:
1428         (WebCore::RenderLayer::paintLayer):
1429         (WebCore::RenderLayer::hitTestLayer):
1430         (WebCore::RenderLayer::parentClipRects):
1431         (WebCore::RenderLayer::calculateRects):
1432         * rendering/RenderLayer.h:
1433
1434 2009-03-24  Simon Fraser  <simon.fraser@apple.com>
1435
1436         Reviewed by Dan Bernstein
1437         
1438         https://bugs.webkit.org/show_bug.cgi?id=24782
1439
1440         Fix regression with CSS clip rects with non-length values, by reverting to
1441         the original code, but passing the zoom multiplier through convertToLength().
1442         
1443         Also make stylistic change in createTransformOperations(), renaming 'inStyle'
1444         to 'style.
1445         
1446         Tested by existing tests.
1447
1448         * css/CSSStyleSelector.cpp:
1449         (WebCore::convertToLength):
1450         (WebCore::CSSStyleSelector::applyProperty):
1451         (WebCore::CSSStyleSelector::createTransformOperations):
1452
1453 2009-03-24  David Hyatt  <hyatt@apple.com>
1454
1455         Reviewed by Simon Fraser
1456
1457         https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents
1458         to a border-radius.
1459
1460         This patch makes non-self-painting overflow layers and control clips work with border-radius.  RenderLayers
1461         that should be clipped by overflow ancestors with border-radius are still broken.
1462
1463         Added fast/clip/overflow-border-radius-clip.html
1464
1465         * rendering/RenderBox.cpp:
1466         (WebCore::RenderBox::pushContentsClip):
1467
1468 2009-03-24  David Hyatt  <hyatt@apple.com>
1469
1470         Reviewed by Simon Fraser
1471
1472         https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents.
1473         
1474         This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements.  Common
1475         replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be
1476         done).
1477     
1478         Added fast/replaced/border-radius-clip.html
1479
1480         * css/html4.css:
1481         * rendering/RenderReplaced.cpp:
1482         (WebCore::RenderReplaced::paint):
1483         * rendering/RenderWidget.cpp:
1484         (WebCore::RenderWidget::paint):
1485
1486 2009-03-24  Adele Peterson  <adele@apple.com>
1487
1488         RS by Mark Rowe.
1489
1490         Only build these Mail quirks checks in on the Mac.
1491
1492         * dom/Document.cpp: (WebCore::disableRangeMutation):
1493         * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
1494
1495 2009-03-24  Brent Fulgham  <bfulgham@webkit.org>
1496
1497         Build fix, no review.
1498
1499         Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas
1500         and Debug targets.
1501
1502         * WebCore.vcproj/WebCore.vcproj:
1503
1504 2009-03-24  Eric Carlson  <eric.carlson@apple.com>
1505
1506         Fix layout tests broken by r41907.
1507
1508         * html/HTMLMediaElement.cpp:
1509         (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state
1510
1511 2009-03-24  Dmitry Titov  <dimich@chromium.org>
1512
1513         Reviewed by Dimitri Glazkov.
1514
1515         https://bugs.webkit.org/show_bug.cgi?id=24689
1516         Fix Chromium compilation errors.
1517
1518         * bindings/v8/WorkerContextExecutionProxy.cpp:
1519         (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
1520         (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
1521
1522 2009-03-24  Yury Semikhatsky  <yurys@chromium.org>
1523
1524         Reviewed by Darin Adler.
1525
1526         https://bugs.webkit.org/show_bug.cgi?id=24759
1527         Add missing methods Element.prototype.removeMatchingStyleClasses and
1528         Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content
1529         iframe. These methods are called by Element.prototype.removeStyleClass and
1530         Node.prototype.enclosingNodeOrSelfWithNodeName.
1531
1532         * inspector/front-end/SourceFrame.js:
1533         (WebInspector.SourceFrame.prototype._loaded):
1534
1535 2009-03-24  Mark Mentovai  <mark@chromium.org>
1536
1537         Reviewed by Mark Rowe.
1538
1539         https://bugs.webkit.org/show_bug.cgi?id=24653
1540         WebKit should be buildable without prefix header injection.
1541         Adds missing #includes and forward declarations as needed.
1542
1543         * editing/SmartReplaceCF.cpp:
1544         * platform/graphics/mac/ColorMac.mm:
1545         * platform/graphics/mac/FontCacheMac.mm:
1546         * platform/graphics/mac/FontCustomPlatformData.h:
1547         * platform/graphics/mac/FontMac.mm:
1548         * platform/graphics/mac/FontMacATSUI.mm:
1549         * platform/graphics/mac/FontPlatformData.h:
1550         * platform/graphics/mac/FontPlatformDataMac.mm:
1551         * platform/graphics/mac/GraphicsContextMac.mm:
1552         * platform/graphics/mac/SimpleFontDataMac.mm:
1553         * platform/mac/FoundationExtras.h:
1554         * platform/mac/LocalCurrentGraphicsContext.h:
1555         * platform/mac/WebCoreSystemInterface.h:
1556         * platform/mac/WebCoreSystemInterface.mm:
1557         * platform/mac/WebCoreTextRenderer.h:
1558         * platform/mac/WebCoreTextRenderer.mm:
1559         * platform/mac/WebFontCache.h:
1560         * platform/mac/WebFontCache.mm:
1561         * platform/text/PlatformString.h:
1562         * platform/text/mac/ShapeArabic.c:
1563         * platform/text/mac/StringMac.mm:
1564         * rendering/RenderThemeChromiumMac.h:
1565
1566 2009-03-24  Dan Bernstein  <mitz@apple.com>
1567
1568         Reviewed by Darin Adler.
1569
1570         - fix <rdar://problem/6107874> by capping the nesting depth of
1571           "block-level" elements generated by the parser
1572
1573         Test: fast/parser/block-nesting-cap.html
1574
1575         * html/HTMLParser.cpp:
1576         (WebCore::HTMLParser::HTMLParser):
1577         (WebCore::HTMLParser::insertNode):
1578         (WebCore::HTMLParser::pushBlock):
1579         (WebCore::HTMLParser::popOneBlockCommon):
1580         (WebCore::HTMLParser::freeBlock):
1581         * html/HTMLParser.h:
1582
1583 2009-03-23  Greg Bolsinga  <bolsinga@apple.com>
1584
1585         Reviewed by David Kilzer.
1586
1587         https://bugs.webkit.org/show_bug.cgi?id=24771
1588         
1589         DOMTimeStamps are based upon 1970.
1590
1591         * platform/mac/GeolocationServiceMac.mm:
1592         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
1593
1594 2009-03-23  Eric Seidel  <eric@webkit.org>
1595
1596         Build fix, no review.
1597
1598         * rendering/RenderObject.cpp:
1599         (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()
1600
1601 2009-03-23  Eric Seidel  <eric@webkit.org>
1602
1603         Reviewed by Darin Adler.
1604
1605         Rename Position::container to m_anchorNode and make it private
1606         https://bugs.webkit.org/show_bug.cgi?id=24760
1607
1608         More code cleanup for Position.
1609
1610         Change all uses of m_container to node()
1611         Eventually most uses of node() should change to anchorNode() to designate
1612         that it's the node the Position is anchored to, but not necessarily the
1613         container of the position (it could be the before/after neighbor).
1614
1615         Remove any code which sets m_container, and change it to use a new
1616         Position::moveToPosition function which takes a node and offset.
1617         It never makes sense to change the node and leave the offset.
1618
1619         * dom/Position.h:
1620         (WebCore::Position::Position):
1621         (WebCore::Position::clear):
1622         (WebCore::Position::anchorNode):
1623         (WebCore::Position::node):
1624         (WebCore::Position::moveToPosition):
1625         (WebCore::Position::moveToOffset):
1626         (WebCore::Position::isNull):
1627         (WebCore::Position::isNotNull):
1628         (WebCore::operator==):
1629         * dom/Range.cpp:
1630         (WebCore::Range::create):
1631         (WebCore::Range::compareBoundaryPoints):
1632         * dom/RangeBoundaryPoint.h:
1633         (WebCore::RangeBoundaryPoint::container):
1634         (WebCore::RangeBoundaryPoint::set):
1635         (WebCore::RangeBoundaryPoint::setOffset):
1636         (WebCore::RangeBoundaryPoint::setToChild):
1637         (WebCore::RangeBoundaryPoint::setToStart):
1638         (WebCore::RangeBoundaryPoint::setToEnd):
1639
1640 2009-03-17  Eric Seidel  <eric@webkit.org>
1641
1642         Reviewed by David Hyatt.
1643
1644         document.write() should be able to make a document strict mode
1645         https://bugs.webkit.org/show_bug.cgi?id=24336
1646
1647         Remove an implicit write of "<html>" on the first document.write call
1648         this was added as part of a KDE import http://trac.webkit.org/changeset/798
1649         with no layout test or explanation.  I can't think of any reason why
1650         an implicit <html> write is necessary (or correct), so I'm removing it and
1651         adding a test for the correct behavior.  The parser will add any necessary
1652         HTMLHTMLElements during the write() anyway.
1653
1654         Our behavior is now tested by fast/dom/Document/document-write-doctype
1655         and matches IE, FF fails this new test.  Mozilla bug filed:
1656         https://bugzilla.mozilla.org/show_bug.cgi?id=483908
1657
1658         * dom/Document.cpp:
1659         (WebCore::Document::write):
1660
1661 2009-03-23  Sam Weinig  <sam@webkit.org>
1662
1663         Reviewed by Dan Bernstein.
1664
1665         Fix for <rdar://problem/6140966>
1666         Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
1667
1668         * WebCore.base.exp:
1669         * WebCore.xcodeproj/project.pbxproj:
1670         * loader/CrossOriginPreflightResultCache.cpp:
1671         (WebCore::CrossOriginPreflightResultCache::empty):
1672         * loader/CrossOriginPreflightResultCache.h:
1673
1674 2009-03-23  Darin Adler  <darin@apple.com>
1675
1676         Reviewed by Adele Peterson.
1677
1678         Bug 24726: hit testing doesn't work right when the click is on anonymous content
1679         https://bugs.webkit.org/show_bug.cgi?id=24726
1680         rdar://problem/6696992
1681
1682         Test: editing/selection/hit-test-anonymous.html
1683
1684         * rendering/RenderBR.cpp:
1685         (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of
1686         creating a VisiblePosition directly. It will handle finding non-anonymous
1687         content nearby if node() is 0.
1688         * rendering/RenderBlock.cpp:
1689         (WebCore::positionForPointRespectingEditingBoundaries): Ditto.
1690         (WebCore::positionForPointWithInlineChildren): Ditto.
1691         (WebCore::RenderBlock::positionForPoint): Ditto.
1692         * rendering/RenderBox.cpp:
1693         (WebCore::RenderBox::positionForPoint): Ditto.
1694         * rendering/RenderObject.cpp:
1695         (WebCore::RenderObject::positionForPoint): Ditto.
1696         (WebCore::RenderObject::createVisiblePosition): Added.
1697         * rendering/RenderObject.h: Added createVisiblePosition.
1698         * rendering/RenderReplaced.cpp:
1699         (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
1700         * rendering/RenderSVGInlineText.cpp:
1701         (WebCore::RenderSVGInlineText::positionForPoint): Ditto.
1702         * rendering/RenderText.cpp:
1703         (WebCore::RenderText::positionForPoint): Ditto.
1704
1705 2009-03-23  Adele Peterson  <adele@apple.com>
1706
1707         Reviewed by Darin Adler & Dave Hyatt.
1708
1709         Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade
1710
1711         Leopard Mail doesn't expect <style> to be in the body.  This change reverts back to the old behavior of
1712         moving <style> to <head> for that version of Mail.
1713
1714         * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
1715
1716 2009-03-23  Adele Peterson  <adele@apple.com>
1717
1718         Reviewed by Mark Rowe & Dave Hyatt.
1719
1720         Merge some of the individual Mail quirks into two settings that we can check for future quirks.
1721
1722         * WebCore.base.exp:
1723         * dom/Document.cpp:
1724         (WebCore::disableRangeMutation):
1725         (WebCore::Document::nodeChildrenChanged):
1726         (WebCore::Document::nodeWillBeRemoved):
1727         (WebCore::Document::textInserted):
1728         (WebCore::Document::textRemoved):
1729         (WebCore::Document::textNodesMerged):
1730         (WebCore::Document::textNodeSplit):
1731         * page/Settings.cpp:
1732         (WebCore::Settings::Settings):
1733         (WebCore::Settings::setNeedsLeopardMailQuirks):
1734         (WebCore::Settings::setNeedsTigerMailQuirks):
1735         * page/Settings.h:
1736         (WebCore::Settings::needsLeopardMailQuirks):
1737         (WebCore::Settings::needsTigerMailQuirks):
1738
1739 2009-03-23  Ada Chan  <adachan@apple.com>
1740
1741         https://bugs.webkit.org/show_bug.cgi?id=24762
1742         Support text-indent in <option> elements on windows platform.
1743
1744         Reviewed by Adele Peterson.
1745
1746         * css/themeWin.css:
1747         * platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now.  Make this
1748         explicit via windows themed default stylesheet.
1749         (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction.
1750         (WebCore::PopupMenuStyle::textIndent):
1751         (WebCore::PopupMenuStyle::textDirection):
1752         * platform/win/PopupMenuWin.cpp:
1753         (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and 
1754         text-indent is specified with LTR direction.
1755         * rendering/RenderMenuList.cpp:
1756         (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options.
1757         (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows.
1758         (WebCore::RenderMenuList::menuStyle): Ditto.
1759         * rendering/RenderTextControlSingleLine.cpp:
1760         (WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
1761         * rendering/RenderTheme.h:
1762         (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added.  Default is false since we are only supporting it in windows for now.
1763         * rendering/RenderThemeWin.h:
1764         (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.
1765
1766 2009-03-23  Sam Weinig  <sam@webkit.org>
1767
1768         Reviewed by Anders Carlsson.
1769
1770         Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
1771         REGRESSION: Java Applets broken
1772         <rdar://problem/6707494>
1773
1774         Fix loading Java applets without a codeBase. Only pass the base (up to the
1775         the last path component) of the baseURL to the plug-in.
1776
1777         * html/HTMLAppletElement.cpp:
1778         (WebCore::HTMLAppletElement::createRenderer):
1779         * platform/KURL.cpp:
1780         (WebCore::KURL::baseAsString):
1781         * platform/KURL.h:
1782
1783 2009-03-23  Darin Adler  <darin@apple.com>
1784
1785         Reviewed by Sam Weinig.
1786
1787         * platform/KURL.h: Removed now-incorrect comments.
1788         None of the parts include the separator characters any more, now that
1789         query doesn't include the "?", so the comments explaining which do and do
1790         not are no-longer helpful.
1791
1792 2009-03-23  David Levin  <levin@chromium.org>
1793
1794         Reviewed by Dimitri Glazkov.
1795
1796         https://bugs.webkit.org/show_bug.cgi?id=24764
1797
1798         Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
1799         class names.  Also fixed some headers that got mangled in search/replace
1800         operations.
1801
1802         No change in behavior, so no test.
1803
1804         * bindings/v8/V8NodeFilter.h: Removed.
1805         * bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
1806         * bindings/v8/V8NodeFilterCondition.h: Added.
1807         * bindings/v8/custom/V8ClipboardCustom.cpp:
1808         * bindings/v8/custom/V8DocumentCustom.cpp:
1809         * bindings/v8/custom/V8ElementCustom.cpp:
1810         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1811         * bindings/v8/custom/V8NavigatorCustom.cpp:
1812
1813 2009-03-23  Darin Fisher  <darin@chromium.org>
1814
1815         Reviewed by Antti Koivisto.
1816
1817         https://bugs.webkit.org/show_bug.cgi?id=24741
1818
1819         Adds a unique across-browser-sessions identifier to FormData, which may
1820         be used by ResourceHandle as a secondary cache key to enable cached
1821         form submissions.
1822
1823         At issue: two otherwise identical form submissions may result in
1824         completely independent responses, which may each be appropriate to
1825         store and reuse from cache.
1826
1827         * html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that
1828         we only enable cached form submissions for those generated by HTML.  This
1829         way we do not bother with POSTs generated by XMLHttpRequest.
1830         (WebCore::generateFormDataIdentifier):
1831         (WebCore::HTMLFormElement::createFormData):
1832         * platform/network/FormData.cpp: Initialize m_identifier to 0, which means
1833         the unspecified identifier.  So by default there is no identifier and
1834         nothing changes.
1835         (WebCore::FormData::FormData):
1836         * platform/network/FormData.h: Added m_identifier with setter and getter.
1837         (WebCore::FormData::setIdentifier):
1838         (WebCore::FormData::identifier):
1839
1840 2009-03-23  Simon Fraser  <simon.fraser@apple.com>
1841
1842         Reviewed by Antti Koivisto
1843         
1844         https://bugs.webkit.org/show_bug.cgi?id=24733
1845         
1846         Fix media controller with full-page zoom. Previously, the media controller
1847         shadow nodes never saw style changes on the RenderMedia, so did not respond
1848         to zooming at all. Now, we update the style on the shadow renderers
1849         whenever RenderMedia gets a style change. Also fix the video thumb in
1850         the theme to be scaled properly.
1851
1852         Test: media/video-controls-zoomed.html
1853
1854         * rendering/MediaControlElements.cpp:
1855         (WebCore::MediaControlShadowRootElement::updateStyle):
1856         (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1857         (WebCore::MediaTextDisplayElement::updateStyle):
1858         (WebCore::MediaControlInputElement::MediaControlInputElement):
1859         (WebCore::MediaControlInputElement::updateStyle):
1860         * rendering/MediaControlElements.h:
1861         * rendering/RenderMedia.cpp:
1862         (WebCore::RenderMedia::styleDidChange):
1863         * rendering/RenderMedia.h:
1864         * rendering/RenderThemeMac.mm:
1865         (WebCore::RenderThemeMac::adjustSliderThumbSize):
1866
1867 2009-03-23  Mike Belshe  <mike@belshe.com>
1868
1869         Reviewed by Darin Adler.
1870
1871         https://bugs.webkit.org/show_bug.cgi?id=24739
1872
1873         Rework StringImpl::create methods to try to allocate a single buffer
1874         rather than allocating both the StringImpl class and a separate data
1875         buffer.
1876
1877         * platform/text/StringImpl.cpp:
1878         * platform/text/StringImpl.h:
1879
1880 2009-03-23  Darin Adler  <darin@apple.com>
1881
1882         Reviewed by Antti Koivisto.
1883
1884         Based on a patch by Nico Weber <nicolasweber@gmx.de>
1885
1886         Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
1887         https://bugs.webkit.org/show_bug.cgi?id=24755
1888
1889         * platform/text/TextEncoding.cpp:
1890         (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding
1891         is UTF7 without loading extended codecs.
1892         (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead
1893         of comparing with UTF7Encoding(). Eliminate the explicit check of
1894         noExtendedTextEncodingNameUsed() because that's now handled by the functions
1895         that this function calls instead.
1896
1897         * platform/text/TextEncoding.h: Added isUTF7Encoding function.
1898         Also tweaked formatting a bit.
1899
1900 2009-03-20  Peter Kasting  <pkasting@google.com>
1901
1902         Reviewed by Darin Fisher.
1903
1904         https://bugs.webkit.org/show_bug.cgi?id=24720
1905         RenderThemeChromium should draw something for Slider parts instead of
1906         dropping them on the floor.
1907
1908         * platform/chromium/ChromiumBridge.h:
1909         * rendering/RenderThemeChromiumWin.cpp:
1910         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
1911         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1912         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
1913         (WebCore::RenderThemeChromiumWin::getThemeData):
1914         * rendering/RenderThemeChromiumWin.h:
1915         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
1916
1917 2009-03-23  Glen Murphy  <glen@chromium.org>
1918
1919         Reviewed by Darin Fisher.
1920
1921         https://bugs.webkit.org/show_bug.cgi?id=24657
1922
1923         Fix Skia drawing of highly scaled bitmaps; the conversion to
1924         IntRect produced visible layout test failures in highly scaled 
1925         coordinate systems.
1926
1927         Test: svg/custom/image-small-width-height.svg
1928
1929         * WebCore\platform\graphics\skia\ImageSkia.cpp:
1930
1931 2009-03-23  David Kilzer  <ddkilzer@apple.com>
1932
1933         Provide JavaScript exception information after slow script timeout
1934
1935         Reviewed by Oliver Hunt.
1936
1937         * bindings/js/ScriptController.cpp:
1938         (WebCore::ScriptController::evaluate): Changed to report
1939         exceptions for the Interrupted completion type as well.
1940
1941 2009-03-23  Simon Fraser  <simon.fraser@apple.com>
1942
1943         Reviewed by Darin Adler
1944
1945         https://bugs.webkit.org/show_bug.cgi?id=24736
1946         
1947         Fix three mostly-unrelated problems with full-page zoom:
1948         
1949         * dom/Document.cpp:
1950         (WebCore::Document::elementFromPoint):
1951         Document::elementFromPoint() needs to take full-page zoom into account.
1952         
1953         * dom/MouseRelatedEvent.cpp:
1954         (WebCore::MouseRelatedEvent::receivedTarget):
1955         Take full-page zoom into account when computing offsetX/offsetY.
1956         
1957         * html/HTMLSelectElement.cpp:
1958         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1959         Don't use offsetX/offsetY when hit testing list boxes; offsets were broken
1960         with full-page zoom, and using pageX/pageY is easier because we don't
1961         have to worry about the event target, and we already have a point in
1962         absolute coordinates.
1963
1964         Tests: fast/forms/listbox-hit-test-zoomed.html
1965                fast/forms/search-zoomed.html
1966                fast/forms/slider-zoomed.html
1967
1968 2009-03-23  Simon Fraser  <simon.fraser@apple.com>
1969
1970         Reviewed by Dan Bernstein
1971
1972         https://bugs.webkit.org/show_bug.cgi?id=24753
1973         
1974         The rect for CSS 'clip' needs to have zooming applied to it.
1975
1976         Test: fast/css/clip-zooming.html
1977
1978         * css/CSSStyleSelector.cpp:
1979         (WebCore::CSSStyleSelector::applyProperty):
1980
1981 2009-03-23  Eric Carlson  <eric.carlson@apple.com>
1982
1983         Reviewed by Adam Roben.
1984
1985         <rdar://problem/6704282>
1986         https://bugs.webkit.org/show_bug.cgi?id=24719
1987         QTMovieWinTimer logic inversion
1988
1989         Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
1990         use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
1991         this was that a movie timer would sometimes be blocked for significant amounts of time 
1992         because WM_TIMER messages are not processed when the thread's message queue has any
1993         higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
1994         timers. Also change SetTimer call to use HWND and custom message instead of 
1995         timer function since the timer already has an HWND for processing PostMessage.
1996
1997         Not possible to make a test for this because it is so timing dependant.
1998
1999         * platform/graphics/win/QTMovieWinTimer.cpp:
2000         (TimerWindowWndProc):
2001         (setSharedTimerFireDelay):
2002
2003 2009-03-23  Eric Carlson  <eric.carlson@apple.com>
2004
2005         Reviewed by Adele Peterson.
2006
2007         https://bugs.webkit.org/show_bug.cgi?id=24588
2008         
2009         Update media element implementation to current HTML5 spec
2010
2011         New tests: 
2012                media/media-constants.html
2013                media/video-seek-no-src-exception.html
2014                media/video-source-add-src.html
2015                media/video-src-invalid-remove.html
2016                media/video-src-plus-source.html
2017                media/video-timeupdate-during-playback.html
2018
2019         * dom/EventNames.h: Remove obsolute events, add new ones.
2020         * html/HTMLMediaElement.cpp:
2021         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars.
2022         (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't
2023         have a source.
2024         (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes.
2025         (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and 
2026         add it to the event queue to be dispatch when the timer fires.
2027         (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add
2028         it to the event queue to be dispatch when the timer fires.
2029         (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the 
2030         asynch event timer.
2031         (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events.
2032         (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or
2033         try to load the next <source> url.
2034         (WebCore::HTMLMediaElement::load): Minor style change.
2035         (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup
2036         the current load (if any) and set up state for a new load.
2037         (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart'
2038         event, and initiate load from 'src' if present.
2039         (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger
2040         noneSupported() if no more to consider.
2041         (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url.
2042         (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer.
2043         (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid 
2044         media url was found.
2045         (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid 
2046         media engine failed with a decode error or a network error.
2047         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2048         (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states.
2049         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
2050         (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state.
2051         (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active.
2052         (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or
2053         if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag
2054         we use to guard against sending 'ended' more than once.
2055         (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata.
2056         (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an
2057         invalid rate. 
2058         (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an
2059         invalid rate. Cache rate being set so we can use it later if media engine isn't ready now.
2060         (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just
2061         starts loading asynchronously.
2062         (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing'
2063         event depending on current state.
2064         (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just
2065         starts loading asynchronously.
2066         (WebCore::HTMLMediaElement::pauseInternal): Remove exception param.
2067         (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent
2068         (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent
2069         (WebCore::HTMLMediaElement::togglePlayState): Remove exception param.
2070         (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param.
2071         (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per
2072         second when the movie is playing to timeupdate so we can post 'timeupdate' events.
2073         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc.
2074         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate'
2075         event because we both fire them them when the spec says we should and when the media engine
2076         says that time has jumped, but we don't want to fire more than one at a given movie time. We also
2077         use this bottleneck to keep track of the last time one was posted so we won't fire too often
2078         during playback.
2079         (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata.
2080         (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source>
2081         element with a 'src' attribute that we have not tried to load yet.
2082         (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next
2083         <source> element that we haven't tried to load.
2084         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes.
2085         Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since
2086         some media engines call this proc more than once when playback reaches the end and stops, but we
2087         don't want to post 'ended' more than once.
2088         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform
2089         when the movie duration changes and we can post 'durationchanged' event.
2090         (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when
2091         the rate changed and we can updated our cached rate. This is useful because we only want to know
2092         post periodic 'timeupdate' events when the movie is actually playing, and because we want to know
2093         the actual playback rate when it differs from what we tried to set.
2094         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when
2095         a movie's intrinsic size changes and we can inform the renderer.
2096         (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now
2097         uses "actively playing" for this concept. Update logic for new state names and un-comment calls
2098         to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons
2099         are part of the answer.
2100         (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. 
2101         (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of
2102         the determination of "potentially playing".
2103         (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user
2104         agent supports this spec concept.
2105         (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' 
2106         events when we pauses the movie. Set the media engine rate before calling play() in case it
2107         wasn't set up when the rate was changed.
2108         (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate'
2109         event timers.
2110         (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive
2111         and updated for the current spec.
2112         (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad.
2113         (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments.
2114         (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the 
2115         initial url.
2116         * html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec,
2117         update for changes in .cpp.
2118         (WebCore::HTMLMediaElement::):
2119
2120         * html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes.
2121         defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.
2122
2123         * html/HTMLSourceElement.cpp:
2124         (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.
2125
2126         * html/HTMLVideoElement.cpp:
2127         (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.
2128
2129         * html/MediaError.h:
2130         (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.
2131
2132         * html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.
2133
2134         * loader/MediaDocument.cpp:
2135         (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.
2136
2137         * platform/graphics/MediaPlayer.cpp:
2138         (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes.
2139         (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes.
2140         (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes.
2141         (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
2142         * platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec
2143         states.
2144         (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New.
2145         (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New.
2146         (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New.
2147         (WebCore::MediaPlayer::):
2148
2149         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2150         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
2151         (WebCore::MediaPlayerPrivate::load): Ditto.
2152         (WebCore::MediaPlayerPrivate::updateStates): Ditto.
2153         (WebCore::MediaPlayerPrivate::loadingFailed): Ditto.
2154
2155         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes.
2156         Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration.
2157         (WebCore::MediaPlayerPrivate::metaDataAvailable):
2158         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2159         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize
2160         m_enabledTrackCount and m_duration. Update for network/ready state name changes.
2161         (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes.
2162         (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
2163         (WebCore::MediaPlayerPrivate::pause): Ditto.
2164         (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime.
2165         (WebCore::MediaPlayerPrivate::seek): Ditto.
2166         (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is
2167         already zero.
2168         (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime.
2169         (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return
2170         different errors depending on what causes a failure. Watch for and report duration changes.
2171         (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes.
2172         (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes.
2173         (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer.
2174         (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes.
2175         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported
2176         tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.
2177
2178         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2179         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
2180         (WebCore::MediaPlayerPrivate::load): Ditto.
2181         (WebCore::MediaPlayerPrivate::duration): Ditto.
2182         (WebCore::MediaPlayerPrivate::updateStates): Ditto.
2183         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
2184
2185         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2186         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for 
2187         network/ready state name changes.
2188         (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more
2189         m_endPointTimer.
2190         (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
2191         (WebCore::MediaPlayerPrivate::pause): Ditto. 
2192         (WebCore::MediaPlayerPrivate::setEndTime): Ditto.
2193         (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes.
2194         (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
2195         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2196
2197         * rendering/MediaControlElements.cpp:
2198         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state 
2199         name changes.
2200         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
2201
2202 2009-03-22  Kevin Ollivier  <kevino@theolliviers.com>
2203
2204         wxGTK build fix. Add missing header.
2205
2206         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
2207
2208 2009-03-22  Simon Fraser  <simon.fraser@apple.com>
2209
2210         Reviewed by Dan Bernstein
2211         
2212         https://bugs.webkit.org/show_bug.cgi?id=24665
2213         
2214         Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
2215         setting HitTestResult::innerNode(), but returning false, which violates
2216         hit testing rules. Use a temporary HitTestResult so that we only fill in
2217         result when we know we've hit.
2218
2219         * rendering/RenderImage.cpp:
2220         (WebCore::RenderImage::nodeAtPoint):
2221
2222 2009-03-22  Simon Fraser  <simon.fraser@apple.com>
2223
2224         Reviewed by Dan Bernstein
2225         
2226         https://bugs.webkit.org/show_bug.cgi?id=24743
2227         
2228         Fix hit testing regression from r41840. We need to pass the temporary
2229         HitTestResult when testing sublayers, then only copy to 'result' when
2230         the layer is known to have been hit.
2231
2232         Test: fast/layers/zindex-hit-test.html
2233
2234         * rendering/RenderLayer.cpp:
2235         (WebCore::RenderLayer::hitTestLayer):
2236
2237 2009-03-20  Simon Fraser  <simon.fraser@apple.com>
2238
2239         Reviewed by Darin Adler
2240
2241         https://bugs.webkit.org/show_bug.cgi?id=24733
2242         
2243         Fix hit testing on video controls after full page zoom by fixing wider issue
2244         with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be
2245         invariant under zooming (for JavaScript), so we keep an actual page point around
2246         in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere.
2247
2248         * dom/MouseRelatedEvent.cpp:
2249         (WebCore::MouseRelatedEvent::initCoordinates):
2250         (WebCore::MouseRelatedEvent::computePageLocation):
2251         * dom/MouseRelatedEvent.h:
2252         (WebCore::MouseRelatedEvent::absoluteLocation):
2253         (WebCore::MouseRelatedEvent::setAbsoluteLocation):
2254         Member var, and getter and setter for absoluteLocation.
2255         New method, computePageLocation(), to compute the actual page point,
2256         and call it when creating and initting mouse-related events.
2257
2258         * dom/Node.cpp:
2259         (WebCore::Node::dispatchMouseEvent):
2260         (WebCore::Node::dispatchWheelEvent):
2261         Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation()
2262         on the event to replace a potentially rounded point.
2263         
2264         * html/HTMLInputElement.cpp:
2265         (WebCore::HTMLInputElement::defaultEventHandler):
2266         Clean up slider handling code.
2267         
2268         * html/HTMLSelectElement.cpp:
2269         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2270         Add FIXME comment for use of offsetX/offsetY.
2271         
2272         * page/ContextMenuController.cpp:
2273         (WebCore::ContextMenuController::handleContextMenuEvent):
2274         Use absoluteLocation() when hit testing for context menus.
2275         
2276         * rendering/RenderFrameSet.cpp:
2277         (WebCore::RenderFrameSet::userResize):
2278         Use absoluteLocation() when resizing frames.
2279         
2280         * rendering/RenderMedia.cpp:
2281         (WebCore::RenderMedia::forwardEvent):
2282         Use absoluteLocation() when hit testing media controls.
2283
2284         * rendering/RenderSlider.cpp:
2285         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2286         (WebCore::RenderSlider::mouseEventIsInThumb):
2287         Use absoluteLocation() when handling slider events.
2288
2289         (WebCore::RenderSlider::forwardEvent):
2290         Factor some code out of HTMLInputElement::defaultEventHandler().
2291         
2292         * rendering/RenderTextControlSingleLine.cpp:
2293         (WebCore::RenderTextControlSingleLine::forwardEvent):
2294         Use absoluteLocation() when hit testing search field buttons, which fixees
2295         bugs in the search field with zooming.
2296
2297 2009-03-21  David Levin  <levin@chromium.org>
2298
2299         Reviewed by Dimitri Glazkov.
2300
2301         https://bugs.webkit.org/show_bug.cgi?id=24727
2302         Add V8XMLHttpRequest*.
2303
2304         * bindings/v8/V8XMLHttpRequestUtilities.cpp: Added.
2305         * bindings/v8/V8XMLHttpRequestUtilities.h: Added.
2306         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added.
2307         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added.
2308         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added.
2309
2310 2009-03-21  David Levin  <levin@chromium.org>
2311
2312         Reviewed by Dimitri Glazkov.
2313
2314         https://bugs.webkit.org/show_bug.cgi?id=24725
2315         Add V8NodeFilter.
2316
2317         * bindings/v8/V8NodeFilter.cpp: Added.
2318         * bindings/v8/V8NodeFilter.h: Added.
2319
2320 2009-03-21  Dan Bernstein  <mitz@apple.com>
2321
2322         Rubber-stamped by Kevin Decker
2323
2324         - remove some redundant #include statements
2325
2326         * bindings/js/JSDOMWindowBase.cpp:
2327
2328 2009-03-20  Dan Bernstein  <mitz@apple.com>
2329
2330         Reviewed by Mark Rowe.
2331
2332         - fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code
2333
2334         * platform/graphics/win/FontCGWin.cpp:
2335         (WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each
2336         glyph as a separate path, instead of all glyphs as a single path. This
2337         matches what CGContextShowGlyphsWithAdvances() does, and has comparable
2338         performance.
2339
2340 2009-03-20  Dean Jackson  <dino@apple.com>
2341
2342         Reviewed by Simon Fraser
2343
2344         Build fix for ENABLE(3D_RENDERING)
2345
2346         * rendering/RenderObject.h:
2347         (WebCore::makeMatrixRenderable):
2348
2349 2009-03-20  Dave Moore  <davemoore@google.com>
2350
2351         Reviewed by Dimitri Glazkov.
2352
2353         https://bugs.webkit.org/show_bug.cgi?id=24705
2354
2355         A bug in the V8 bindings is preventing chromium from setting the href on the
2356         location object...any attempt throws a security error, not just for javascript
2357         protocol
2358
2359         * page/Location.idl:
2360
2361 2009-03-20  Craig Schlenter  <craig.schlenter@gmail.com>
2362
2363         Reviewed by Dimitri Glazkov.
2364
2365         https://bugs.webkit.org/show_bug.cgi?id=24608
2366
2367         Include stdio.h needed for printf on gcc 4.4.0
2368
2369         * platform/KURLGoogle.cpp:
2370
2371 2009-03-20  Mike Belshe <mike@belshe.com>
2372
2373         Reviewed by Darin Fisher.
2374
2375         https://bugs.webkit.org/show_bug.cgi?id=24577
2376
2377         Don't let comments at the end of an event handler
2378         break the event handler.
2379
2380         No change in behavior, so no test.
2381
2382         * bindings/v8/V8LazyEventListener.cpp:
2383         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
2384
2385 2009-03-20  Norbert Leser  <norbert.leser@nokia.com>
2386
2387         Reviewed by Darin Adler.
2388
2389         https://bugs.webkit.org/show_bug.cgi?id=24535
2390
2391         Fixes missing line terminator character (;) after macro call.
2392         It is common practice to add the trailing ";" where macros are substituted
2393         and not where they are defined with #define.
2394         This change is consistent with other macro declarations across webkit,
2395         and it also solves compilation failure with symbian compilers. 
2396  
2397         No change in behavior, so no test.
2398
2399         * bindings/js/JSDOMWindowShell.cpp:
2400         * bindings/js/JSEventListener.cpp:
2401         * bindings/js/JSImageConstructor.cpp:
2402         * bindings/js/JSInspectedObjectWrapper.cpp:
2403         * bindings/js/JSInspectorCallbackWrapper.cpp:
2404         * bindings/js/JSNamedNodesCollection.cpp:
2405         * bindings/js/JSNodeFilterCondition.cpp:
2406         * bindings/js/JSOptionConstructor.cpp:
2407         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2408         * bindings/js/JSRGBColor.cpp:
2409         * bindings/js/JSWorkerContextBase.cpp:
2410         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2411         * bindings/js/JSXSLTProcessorConstructor.cpp:
2412         * bindings/scripts/CodeGeneratorJS.pm:
2413
2414 2009-03-20  Mike Belshe  <mike@belshe.com>
2415
2416         Reviewed by Dimitri Glazkov and Dave Hyatt.
2417
2418         https://bugs.webkit.org/show_bug.cgi?id=24324
2419
2420         Make the minimum timer configurable for different platforms.
2421
2422         * page/DOMTimer.cpp:
2423         (WebCore::DOMTimer::DOMTimer):
2424         (WebCore::DOMTimer::fired):
2425         * page/DOMTimer.h:
2426         (WebCore::DOMTimer::minTimerInterval):
2427         (WebCore::DOMTimer::setMinTimerInterval):
2428
2429 2009-03-20  Dean McNamee  <deanm@chromium.org>
2430
2431         Reviewed by Darin Adler.
2432
2433         https://bugs.webkit.org/show_bug.cgi?id=22834
2434
2435         Make sure to consistently match new/delete and fastMalloc/fastFree.
2436
2437         * css/CSSSelectorList.cpp:
2438         (WebCore::CSSSelectorList::adoptSelectorVector):
2439         (WebCore::CSSSelectorList::deleteSelectors):
2440
2441 2009-03-20  Dan Bernstein  <mitz@apple.com>
2442
2443         Reviewed by Dave Hyatt.
2444
2445         - fix https://bugs.webkit.org/show_bug.cgi?id=23739
2446           <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
2447
2448         * rendering/RenderBlock.cpp:
2449         (WebCore::RenderBlock::percentHeightDescendants): Added this accessor.
2450         * rendering/RenderBlock.h:
2451         * rendering/RenderTableSection.cpp:
2452         (WebCore::RenderTableSection::layoutRows): Extended the check for
2453         children that flex to include other descendants with percent height
2454         which is relative to the cell.
2455
2456 2009-03-20  Dmitry Titov  <dimich@chromium.org>
2457
2458         Reviewed by Alexey Proskuryakov.
2459
2460         https://bugs.webkit.org/show_bug.cgi?id=24706
2461         Remove ScriptExecutionContext::encoding() since Workers do not need it.
2462         WorkerContext::encoding() is simply removed, while Document::encoding()
2463         made non-virtual and private. Workers use UTF-8 now except when instructed
2464         otherwise by http header. Also updated test.
2465
2466         * dom/Document.h: Made encoding() non-virtual and private.
2467         * dom/ScriptExecutionContext.h: removed encoding().
2468
2469         * workers/Worker.cpp:
2470         (WebCore::Worker::Worker):
2471         (WebCore::Worker::notifyFinished):
2472         * workers/WorkerContext.cpp: removed encoding() implementation.
2473         (WebCore::WorkerContext::WorkerContext):
2474         (WebCore::WorkerContext::completeURL):
2475         * workers/WorkerContext.h: removed encoding()
2476         (WebCore::WorkerContext::create):
2477         * workers/WorkerContextProxy.h:
2478         * workers/WorkerImportScriptsClient.cpp:
2479         (WebCore::WorkerImportScriptsClient::didReceiveData):
2480         * workers/WorkerMessagingProxy.cpp:
2481         (WebCore::WorkerMessagingProxy::startWorkerContext):
2482         * workers/WorkerMessagingProxy.h:
2483         * workers/WorkerThread.cpp:
2484         (WebCore::WorkerThreadStartupData::create):
2485         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2486         (WebCore::WorkerThread::create):
2487         (WebCore::WorkerThread::WorkerThread):
2488         (WebCore::WorkerThread::workerThread):
2489         * workers/WorkerThread.h:
2490         In all these, removed storing encoding and 'inheriting' it from the parent.
2491         Instead, they are all using UTF-8 now.
2492
2493 2009-03-20  Timothy Hatcher  <timothy@apple.com>
2494
2495         Change how threading exceptions are checked so they are reported
2496         by what round they were added. That way WebKit can decided the
2497         behavior per-round based on linked-on-or-after checks.
2498
2499         <rdar://problem/6626741&6648478&6635474&6674079>
2500
2501         Reviewed by Darin Adler.
2502
2503         * WebCore.base.exp: Export the new symbols.
2504         * bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
2505         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2506         * platform/ThreadCheck.h:
2507         * platform/mac/ThreadCheck.mm:
2508         (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read.
2509         (WebCore::setDefaultThreadViolationBehavior): Take a round argument.
2510         (WebCore::reportThreadViolation): Ditto.
2511         (WebCoreReportThreadViolation): Ditto.
2512
2513 2009-03-20  Geoffrey Garen  <ggaren@apple.com>
2514
2515         Reviewed by Sam Weinig.
2516
2517         Fixed up an out-of-date comment.
2518
2519         * bindings/js/JSDOMWindowCustom.h:
2520         (WebCore::JSDOMWindow::customPut):
2521
2522 2009-03-20  Beth Dakin  <bdakin@apple.com>
2523
2524         Reviewed by Dave Hyatt.
2525
2526         Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 
2527         (r35318): A press release at pfizer.com does not display correctly
2528         - and corresponding -
2529         <rdar://problem/6680073>
2530
2531         * rendering/RenderObject.cpp:
2532         (WebCore::RenderObject::invalidateContainerPrefWidths):
2533         * rendering/RenderObject.h:
2534         (WebCore::RenderObject::markContainingBlocksForLayout):
2535
2536 2009-03-20  Eric Seidel  <eric@webkit.org>
2537
2538         Reviewed by Justin Garcia.
2539
2540         maxDeepOffset is confusing and should be removed
2541         https://bugs.webkit.org/show_bug.cgi?id=24586
2542
2543         Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function.
2544         Add first/lastDeepEditingPositionForNode Position creation functions
2545         and deploy them to places we used to call maxDeepOffset.
2546
2547         Rename Position::atStart and atEnd to atStartOfTree atEndOfTree
2548         Add a new Position::atFirst/atLastEditingPositionForNode() and use these
2549         to replace a few more callers for maxDeepOffset()
2550         
2551         Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does)
2552
2553         "Editing positions" are confusing because they have one
2554         of two behaviors, depending on if the container node is ignored
2555         by editing (if editingIgnoresContent(node) returns true) or not.
2556         Positions referring to nodes ignored by editing are
2557         neighbor-relative (they are before or after the node) where as
2558         positions reffering to other nodes are container-relative
2559         (they are between two child nodes of the container, identified
2560         by the offset() member).  I will be fixing this confusion in
2561         future patches.  These renames hopefully make the current behavior clearer.
2562
2563         * dom/Position.cpp:
2564         (WebCore::Position::previous):
2565         (WebCore::Position::next):
2566         (WebCore::Position::atFirstEditingPositionForNode):
2567         (WebCore::Position::atLastEditingPositionForNode):
2568         (WebCore::Position::atStartOfTree):
2569         (WebCore::Position::atEndOfTree):
2570         (WebCore::Position::previousCharacterPosition):
2571         (WebCore::Position::nextCharacterPosition):
2572         (WebCore::Position::upstream):
2573         (WebCore::Position::isCandidate):
2574         (WebCore::firstDeepEditingPositionForNode):
2575         (WebCore::lastDeepEditingPositionForNode):
2576         * dom/Position.h:
2577         * dom/PositionIterator.cpp:
2578         (WebCore::PositionIterator::operator Position):
2579         (WebCore::PositionIterator::increment):
2580         (WebCore::PositionIterator::decrement):
2581         (WebCore::PositionIterator::atEnd):
2582         (WebCore::PositionIterator::atEndOfNode):
2583         * editing/CompositeEditCommand.cpp:
2584         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
2585         * editing/DeleteSelectionCommand.cpp:
2586         (WebCore::isTableCellEmpty):
2587         (WebCore::DeleteSelectionCommand::removeNode):
2588         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2589         * editing/Editor.cpp:
2590         (WebCore::Editor::advanceToNextMisspelling):
2591         * editing/InsertLineBreakCommand.cpp:
2592         (WebCore::InsertLineBreakCommand::doApply):
2593         * editing/InsertListCommand.cpp:
2594         (WebCore::InsertListCommand::doApply):
2595         * editing/ReplaceSelectionCommand.cpp:
2596         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
2597         * editing/TypingCommand.cpp:
2598         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2599         * editing/VisiblePosition.cpp:
2600         (WebCore::VisiblePosition::previous):
2601         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2602         (WebCore::VisiblePosition::left):
2603         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2604         (WebCore::VisiblePosition::right):
2605         * editing/VisibleSelection.cpp:
2606         (WebCore::VisibleSelection::selectionFromContentsOfNode):
2607         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2608         * editing/htmlediting.cpp:
2609         (WebCore::nextVisuallyDistinctCandidate):
2610         (WebCore::previousVisuallyDistinctCandidate):
2611         (WebCore::firstEditablePositionAfterPositionInRoot):
2612         (WebCore::lastEditablePositionBeforePositionInRoot):
2613         (WebCore::lastOffsetForEditing):
2614         (WebCore::isFirstPositionAfterTable):
2615         (WebCore::isLastPositionBeforeTable):
2616         (WebCore::positionBeforeNode):
2617         (WebCore::positionAfterNode):
2618         (WebCore::enclosingEmptyListItem):
2619         (WebCore::caretMaxOffset):
2620         * editing/htmlediting.h:
2621         * editing/visible_units.cpp:
2622         (WebCore::renderedAsNonInlineTableOrHR):
2623         (WebCore::startOfParagraph):
2624         (WebCore::endOfParagraph):
2625         (WebCore::startOfEditableContent):
2626         (WebCore::endOfEditableContent):
2627         * page/AccessibilityObject.cpp:
2628         (WebCore::endOfStyleRange):
2629         * page/AccessibilityRenderObject.cpp:
2630         (WebCore::AccessibilityRenderObject::visiblePositionRange):
2631         * rendering/RenderBox.cpp:
2632         (WebCore::RenderBox::positionForPoint):
2633
2634 2009-03-20  Dmitry Titov  <dimich@chromium.org>
2635
2636         Reviewed by Dimitri Glazkov.
2637
2638         https://bugs.webkit.org/show_bug.cgi?id=24689
2639         Add (upstream) V8 bindings for Workers. Mostly style cleaning.
2640
2641         * bindings/v8/WorkerContextExecutionProxy.cpp: Added.
2642         * bindings/v8/WorkerContextExecutionProxy.h: Added.
2643         * bindings/v8/WorkerScriptController.cpp: Added.
2644         * bindings/v8/WorkerScriptController.h: Added.
2645         * bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h
2646         * bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap().
2647         * bindings/v8/V8WorkerContextEventListener.cpp:
2648         (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent()
2649
2650 2009-03-20  Stephen White  <senorblanco@chromium.org>
2651
2652         Reviewed by Eric Seidel.
2653
2654         Fix for LayoutTests/fast/canvas/canvas-text-alignment.html
2655         on chromium/skia.  The problem was that the gradient matrix
2656         for text was being applied twice.  Fixed by reverting some of
2657         https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText
2658         is no longer responsible for measuring the text and scaling up
2659         the gradient matrix.  Instead, the text bounding box is passed
2660         in from SVGPaintServerGradient.  I didn't make this change for CG,
2661         since it uses a different method (the gradient is drawn using the
2662         text as a pre-rendered mask).
2663         https://bugs.webkit.org/show_bug.cgi?id=24687
2664
2665         * platform/graphics/skia/SkiaFontWin.cpp:
2666         (WebCore::skiaDrawText):
2667         * svg/graphics/SVGPaintServerGradient.cpp:
2668         (WebCore::SVGPaintServerGradient::setup):
2669
2670 2009-03-20  Xan Lopez  <xlopez@igalia.com>
2671
2672         Rubber-stamped by Holger Freyther.
2673
2674         There seems to be some rounding error in cairo (or in how we use
2675         cairo) with some fonts, like DejaVu Sans Mono, which makes cairo
2676         report a height smaller than ascent + descent, which is wrong and
2677         confuses WebCore's layout system. Workaround this while we figure
2678         out what's going on.
2679
2680         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2681         (WebCore::SimpleFontData::platformInit):
2682         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2683         (WebCore::SimpleFontData::platformInit):
2684
2685 2009-03-19  Alexey Proskuryakov  <ap@webkit.org>
2686
2687         Reviewed by Darin Adler.
2688
2689         https://bugs.webkit.org/show_bug.cgi?id=24122
2690         <rdar://problem/6674179>
2691         REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests
2692
2693         Test: fast/dom/Range/deleted-range-endpoints.html
2694
2695         * dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance
2696         to the specification.
2697
2698 2009-03-19  Anders Carlsson  <andersca@apple.com>
2699
2700         Reviewed by Dan Bernstein.
2701
2702         <rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22)
2703         
2704         If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then
2705         that object would never be updated.
2706         
2707         * page/FrameView.cpp:
2708         (WebCore::FrameView::updateWidgets):
2709         Factor the widget updating code out into this method. Return true if the update set is empty.
2710         
2711         (WebCore::FrameView::performPostLayoutTasks):
2712         Loop over the update set multiple times until all widgets have been updated or until we reach the cap.
2713         
2714         * page/FrameView.h:
2715
2716 2009-03-18  Timothy Hatcher  <timothy@apple.com>
2717
2718         Make the defered data loading timer honor the Page's scheduled runloop pairs.
2719         Introduces a new RunLoopTimer class that has an API mimicking Timer but
2720         allows it to be scheduled with one or more SchedulePairs.
2721
2722         <rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers
2723
2724         Reviewed by Darin Adler.
2725
2726         * WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files.
2727         * loader/MainResourceLoader.cpp:
2728         (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef.
2729         (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on
2730         Mac platforms also schedule with the Page's SchedulePairs.
2731         (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer().
2732         (WebCore::MainResourceLoader::setDefersLoading): Ditto.
2733         * loader/MainResourceLoader.h:
2734         * platform/cf/RunLoopTimerCF.cpp: Added.
2735         (WebCore::RunLoopTimerBase::~RunLoopTimerBase):
2736         (WebCore::timerFired):
2737         (WebCore::RunLoopTimerBase::start):
2738         (WebCore::RunLoopTimerBase::schedule):
2739         (WebCore::RunLoopTimerBase::stop):
2740         (WebCore::RunLoopTimerBase::isActive):
2741         * platform/RunLoopTimer.h: Added.
2742         (WebCore::RunLoopTimerBase::RunLoopTimerBase):
2743         (WebCore::RunLoopTimerBase::startRepeating):
2744         (WebCore::RunLoopTimerBase::startOneShot):
2745         (WebCore::RunLoopTimer::RunLoopTimer):
2746         (WebCore::RunLoopTimer::fired):
2747
2748 2009-03-19  Dimitri Glazkov  <dglazkov@chromium.org>
2749
2750         Reviewed by Darin Fisher.
2751
2752         https://bugs.webkit.org/show_bug.cgi?id=24702
2753         Upstream miscellaneous bindings changes.
2754
2755         * bindings/v8/ScheduledAction.cpp:
2756         (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate.
2757         * bindings/v8/ScriptCallStack.h: Added an extra include.
2758
2759 2009-03-19  Simon Fraser  <simon.fraser@apple.com>
2760
2761         Reviewed by Dave Hyatt
2762
2763         https://bugs.webkit.org/show_bug.cgi?id=24686
2764         
2765         When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy,
2766         we need to compare the computed z-offset with the depth-test z-offset before
2767         deciding that such a RenderLayer was hit. This fixes an issue, tested by the
2768         3d-point-mapping-overlapping.html test, where the child of a transformed element
2769         is found by hit testing, even when some other element with greater Z overlaps
2770         them both.
2771         
2772         Improved the code by adding a utility method, isHitCandidate(), which computes and tests
2773         z-depth when necessary.
2774
2775         Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html
2776                transforms/3d/point-mapping/3d-point-mapping-overlapping.html
2777
2778         * rendering/RenderLayer.cpp:
2779         (WebCore::isHitCandidate):
2780         (WebCore::RenderLayer::hitTestLayer):
2781
2782 2009-03-19  Jeremy Moskovich  <jeremy@chromium.org>
2783
2784         Reviewed by Dimitri Glazkov.
2785
2786         https://bugs.webkit.org/show_bug.cgi?id=24456
2787         Split ColorChromium.cpp into Mac & Windows variants.
2788         Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we
2789         ultimately need to take a different approach.  For now, createCGColor()
2790         is copied from ColorMac.mm.
2791
2792         No observable change in behavior, so no test.
2793
2794         * platform/graphics/chromium/ColorChromium.cpp:
2795         (WebCore::focusRingColor):
2796         * platform/graphics/chromium/ColorChromiumMac.mm: Added.
2797
2798 2009-03-19  Pavel Feldman  <pfeldman@chromium.org>
2799
2800         Reviewed by Dimitri Glazkov.
2801
2802         https://bugs.webkit.org/show_bug.cgi?id=24675
2803         Unforking frontend: add custom InspectorController methods
2804         implementation.
2805
2806         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Added.
2807
2808 2009-03-19  Jay Campan  <jcampan@google.com>
2809
2810         Reviewed by Dimitri Glazkov.
2811
2812         https://bugs.webkit.org/show_bug.cgi?id=24625
2813         Adding an accessor to the currently selected index in the PopupMenuChromium.
2814         This is required for implementing the deletion of an autocomplete entry in Chromium.
2815
2816         * platform/chromium/PopupMenuChromium.cpp:
2817         (WebCore::PopupContainer::selectedIndex):
2818         * platform/chromium/PopupMenuChromium.h:
2819
2820 2009-03-19  Evan Stade  <estade@chromium.org>
2821
2822         Reviewed by Dimitri Glazkov.
2823
2824         https://bugs.webkit.org/show_bug.cgi?id=24526
2825         Improve windows skia text stroking.
2826
2827         Test: LayoutTests/svg/custom/struct-use-09-b.svg
2828
2829         * platform/graphics/skia/SkiaFontWin.cpp: Close the path representing
2830         each font glyph polygon, rather than only closing the path once per
2831         letter. This fixes stroking for letters with multiple polygons, such
2832         as 'A' or 'D'.
2833         (WebCore::getPathForGlyph):
2834         (WebCore::skiaDrawText):
2835
2836 2009-03-19  Simon Hausmann  <simon.hausmann@nokia.com>
2837
2838         Reviewed by Tor Arne Vestbø.
2839
2840         Fixed support for doing calls from JavaScript into NPAPI Plugins for the Qt port on Windows.
2841
2842         Removed dead code for distinguishing between Widget and PluginView in the Qt port.
2843
2844         * bindings/js/ScriptControllerQt.cpp:
2845         (WebCore::ScriptController::createScriptInstanceForWidget): Removed incorrect isNPAPI check.
2846         * plugins/PluginView.cpp:
2847         (WebCore::PluginView::PluginView): Removed m_isNPAPIPlugin variable.
2848         * plugins/PluginView.h: Removed setter/getter.
2849         * plugins/mac/PluginViewMac.cpp:
2850         (WebCore::PluginView::init): Removed call to setIsNPAPIPlugin.
2851         * plugins/qt/PluginViewQt.cpp:
2852         (WebCore::PluginView::init): Ditto.
2853
2854 2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2855
2856         Reviewed by Oliver Hunt.
2857
2858         Bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage
2859         <https://bugs.webkit.org/show_bug.cgi?id=24596>
2860         <rdar://problem/6686493>
2861
2862         JSDOMWindow::customGetOwnPropertySlot() does an access check after calling
2863         JSGlobalObject::getOwnPropertySlot(). This causes the PropertySlot to be
2864         set twice, once to the value that is illegal to access, and then to undefined
2865         This causes an assertion failure in property access caching code.
2866
2867         The fix is to do the access check before calling JSGlobalObject::getOwnPropertySlot().
2868
2869         * bindings/js/JSDOMWindowCustom.h:
2870         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2871
2872 2009-03-18  Alexey Proskuryakov  <ap@webkit.org>
2873
2874         Reviewed by Sam Weinig.
2875
2876         https://bugs.webkit.org/show_bug.cgi?id=24676
2877         Simple cross-origin requests shouldn't dispatch upload progress events
2878
2879         Test: http/tests/xmlhttprequest/simple-cross-origin-progress-events.html
2880
2881         * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): Added a comment
2882         explaining the somewhat unexpected behavior of this function.
2883
2884         * xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::hasListeners):
2885         * xml/XMLHttpRequestUpload.h:
2886         Report whether there are any event listeners registered.
2887
2888         * xml/XMLHttpRequest.h: Added m_uploadEventsAllowed.
2889
2890         * xml/XMLHttpRequest.cpp:
2891         (WebCore::XMLHttpRequest::createRequest): Set m_uploadEventsAllowed flag.
2892         (WebCore::XMLHttpRequest::makeSameOriginRequest): Ditto.
2893         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): Ditto.
2894         (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Set request body - it can be
2895         non-empty for POST requests.
2896         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): Set m_uploadEventsAllowed flag.
2897         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): Ditto.
2898         (WebCore::XMLHttpRequest::abort): Only dispatch upload progress events if allowed.
2899         (WebCore::XMLHttpRequest::networkError): Ditto.
2900         (WebCore::XMLHttpRequest::abortError): Ditto.
2901         (WebCore::XMLHttpRequest::didSendData): Ditto.
2902
2903 2009-03-18  Marc-Antoine Ruel  <maruel@chromium.org>
2904
2905         Reviewed by Darin Fisher.
2906
2907         https://bugs.webkit.org/show_bug.cgi?id=24398
2908         Fix a crash when loading a svg file in Chromium's test_shell and
2909         then reloading the page.
2910
2911         * history/BackForwardListChromium.cpp:
2912         (WebCore::BackForwardList::BackForwardList):
2913         (WebCore::BackForwardList::close):
2914
2915 2009-03-18  Eric Carlson  <eric.carlson@apple.com>
2916
2917         Reviewed by Simon Fraser.
2918
2919         Fix for <rdar://problem/6685235>
2920         <video> element poster cannot be set dynamically if not originally set up in HTML
2921         
2922         Allocate the media engine immediately so the plug-in proxy is available for
2923         scripting right away.
2924
2925         * platform/graphics/MediaPlayer.cpp:
2926         (WebCore::MediaPlayer::MediaPlayer):
2927
2928 2009-03-18  Beth Dakin  <bdakin@apple.com>
2929
2930         Reviewed by Dave Hyatt.
2931
2932         Fix for <rdar://problem/6636747> REGRESSION (Safari 4 PB-r41326): 
2933         Popup menu appears at the wrong location on page at http://
2934         www.signonsandiego.com/
2935
2936         This was a regression from http://trac.webkit.org/changeset/40769, 
2937         which changed the base class of RenderInline to 
2938         RenderBoxModelObject rather than RenderBox.
2939
2940         * rendering/RenderObject.cpp:
2941         (WebCore::RenderObject::offsetParent): offsetParent should return a 
2942         RenderBoxModelObject rather than just a RenderBox, which is more 
2943         restrictive. 
2944
2945 2009-03-18  Anders Carlsson  <andersca@apple.com>
2946
2947         Reviewed by Darin Adler.
2948
2949         <rdar://problem/6504776> 
2950         CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
2951
2952         Return early in case calling the client ends up spinning the run loop and completing/cancelling the load.
2953         
2954         * loader/NetscapePlugInStreamLoader.cpp:
2955         (WebCore::NetscapePlugInStreamLoader::didCancel):
2956
2957 2009-03-18  David Levin  <levin@chromium.org>
2958
2959         Reviewed by Dimitri Glazkov.
2960
2961         https://bugs.webkit.org/show_bug.cgi?id=24664
2962         Upstreaming v8 collection.h
2963
2964         No change in behavior, so no test.
2965
2966         * bindings/v8/V8Collection.h: Added.
2967
2968 2009-03-18  Sam Weinig  <sam@webkit.org>
2969
2970         Reviewed by Simon Fraser.
2971
2972         Fix for https://bugs.webkit.org/show_bug.cgi?id=23966
2973         REGRESSION: Custom arrow navigation functionality doesn't work at dropular.net
2974         <rdar://problem/6589657>
2975
2976         Match the CSSOM spec for getClientRects and getBoundingClientRect by
2977         returning a 0x0 rect at the correct top/left position for empty inline
2978         boxes.
2979
2980         * rendering/RenderInline.cpp:
2981         (WebCore::RenderInline::absoluteRects):
2982         (WebCore::RenderInline::absoluteQuads):
2983
2984 2009-03-18  David Levin  <levin@chromium.org>
2985
2986         Reviewed by Eric Seidel.
2987
2988         Match the changes done for windows in the bug
2989         https://bugs.webkit.org/show_bug.cgi?id=24530.
2990
2991         No change in behavior, so no test.
2992
2993         * rendering/RenderThemeChromiumLinux.cpp:
2994         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
2995
2996 2009-03-18  Dirk Schulze  <krit@webkit.org>
2997
2998         Reviewed by Holger Freyther.
2999
3000         Added support for SVG's stroked texts to Qt.
3001
3002         [Qt] SVGs stroked text support missing
3003         https://bugs.webkit.org/show_bug.cgi?id=24262
3004
3005         * platform/graphics/qt/FontQt.cpp:
3006         (WebCore::Font::drawComplexText):
3007
3008 2009-03-18  Mark Rowe  <mrowe@apple.com>
3009
3010         Reviewed by Alexey Proskuryakov.
3011
3012         Fix fast/encoding/char-decoding.html with recent ICU.
3013
3014         * platform/text/TextCodecICU.cpp:
3015         (WebCore::TextCodecICU::decode): Look for gb18030 case-insensitively,
3016         as newer versions of ICU use GB18030 as the canonical name.
3017
3018 2009-03-17  David Levin  <levin@chromium.org>
3019
3020         Reviewed by Dimitri Glazkov.
3021
3022         https://bugs.webkit.org/show_bug.cgi?id=24662
3023         Chromium build fixes.
3024
3025         Bug https://bugs.webkit.org/show_bug.cgi?id=24663 tracks
3026         the invalid implementation of ScriptCallStack.
3027
3028         No change in behavior, so no test.
3029
3030         * bindings/v8/ScriptCallStack.h:
3031         (WebCore::ScriptCallStack::state):
3032         * platform/graphics/skia/PlatformContextSkia.cpp:
3033         (PlatformContextSkia::drawRect):
3034
3035 2009-03-17  David Carson  <dacarson@apple.com>
3036
3037         Reviewed by David Hyatt.
3038
3039         Add anchor elements to the simple style sheet so that applications that 
3040         are using WebKit just for simple text and links will also take advantage
3041         of the fast path.
3042
3043         * css/CSSStyleSelector.cpp:
3044         (WebCore::elementCanUseSimpleDefaultStyle):
3045
3046 2009-03-17  Darin Adler  <darin@apple.com>
3047
3048         Reviewed by Adele Peterson.
3049
3050         <rdar://problem/6687005> Need support for new move-left/right selectors.
3051
3052         * editing/EditorCommand.cpp:
3053         (WebCore::executeMoveToLeftEndOfLine): Added.
3054         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Added.
3055         (WebCore::executeMoveToRightEndOfLine): Added.
3056         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Added.
3057         Added command entries for the functions above.
3058
3059 2009-03-17  Ojan Vafai  <ojan@chromium.org>
3060
3061         Reviewed by Adele Peterson.
3062
3063         Put the padding inside scrollbars on textareas.
3064         https://bugs.webkit.org/show_bug.cgi?id=24370
3065         
3066         Put the padding inside the scrollbars on textareas. This is done by moving the
3067         overflow from the shadowNode to the RenderTextControlMultiline. As a result,
3068         all of the scroll handing methods that RenderTextControl overrides can be moved
3069         down into RenderTextControlSingleLine since RenderTextControlMultiline can now
3070         just use RenderBlock's versions. This also allows RenderTextControlMultiLine to
3071         no longer need a custom layout method since the shadowNode can now just size
3072         like a regular DIV.
3073
3074         * css/CSSStyleSelector.cpp:
3075         (WebCore::CSSStyleSelector::adjustRenderStyle):
3076         * rendering/RenderTextControl.cpp:
3077         (WebCore::RenderTextControl::styleDidChange):
3078         (WebCore::RenderTextControl::selection):
3079         (WebCore::RenderTextControl::calcHeight):
3080         (WebCore::RenderTextControl::hitInnerTextElement):
3081         * rendering/RenderTextControl.h:
3082         * rendering/RenderTextControlMultiLine.cpp:
3083         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
3084         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3085         * rendering/RenderTextControlMultiLine.h:
3086         * rendering/RenderTextControlSingleLine.cpp:
3087         (WebCore::RenderTextControlSingleLine::styleDidChange):
3088         (WebCore::RenderTextControlSingleLine::autoscroll):
3089         (WebCore::RenderTextControlSingleLine::scrollWidth):
3090         (WebCore::RenderTextControlSingleLine::scrollHeight):
3091         (WebCore::RenderTextControlSingleLine::scrollLeft):
3092         (WebCore::RenderTextControlSingleLine::scrollTop):
3093         (WebCore::RenderTextControlSingleLine::setScrollLeft):
3094         (WebCore::RenderTextControlSingleLine::setScrollTop):
3095         (WebCore::RenderTextControlSingleLine::scroll):
3096         * rendering/RenderTextControlSingleLine.h:
3097         * rendering/TextControlInnerElements.cpp:
3098         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
3099         (WebCore::RenderTextControlInnerBlock::positionForPoint):
3100         (WebCore::TextControlInnerTextElement::createRenderer):
3101
3102 2009-03-17  Darin Adler  <darin@apple.com>
3103
3104         Reviewed by David Hyatt.
3105
3106         Bug 24517: REGRESSION (r41552): innerHTML does an updateLayout -- unneeded and can be slow
3107         https://bugs.webkit.org/show_bug.cgi?id=24517
3108
3109         * editing/DeleteButtonController.cpp:
3110         (WebCore::DeleteButtonController::enable): Added a call to updateRendering, since
3111         determining whether to display the delete button involves style and updateRendering
3112         also updates style (should probably be named updateStyle, in fact). Not needed to fix
3113         this bug, but would have prevented the crash that led to this bug in the first place.
3114
3115         * editing/EditCommand.cpp:
3116         (WebCore::EditCommand::EditCommand): Get rid of unneeded null check. All frames have
3117         delete button controllers.
3118         * editing/Editor.cpp:
3119         (WebCore::Editor::rangeForPoint): Ditto.
3120
3121         * editing/markup.cpp:
3122         (WebCore::appendStartMarkup): Changed a "&" to a "&&" so that generating markup
3123         doesn't depend on renderers at all when the convertBlocksToInlines boolean is false.
3124         This allows us to omit the call to updateLayoutIgnorePendingStylesheets in the
3125         createMarkup function that's called by innerHTML.
3126         (WebCore::MarkupAccumulator::appendMarkup): Turned this into a class with a member
3127         function. Added a feature where the accumulator will skip a node. Moved arguments
3128         that don't change during recursion into an object. This function still is a bit
3129         inefficient, since it creates a new HashMap at every level as it recurses, but for now
3130         I did not tackle that. Also replaced the onlyIncludeChildren boolean with EChildrenOnly
3131         for consistency and clarity.
3132         (WebCore::createMarkup): Removed the call to updateLayoutIgnorePendingStylesheets.
3133         Instead of calling disable/enable on the delete button controller's container element,
3134         pass it in to the markup accumulator as a node to skip.
3135
3136 2009-03-17  Scott Violet  <sky@google.com>
3137
3138         Reviewed by Eric Seidel.
3139
3140         https://bugs.webkit.org/show_bug.cgi?id=24651
3141         Skia does not always render text fill/stroke pattern/gradient/color correctly
3142
3143         Changes Skia's font rendering to only render gradient/pattern if current
3144         color space indicates the gradient/pattern should be used.
3145         This is covered by LayoutTests/fast/canvas/canvas-text-alignment.html .
3146     
3147         * platform/graphics/GraphicsContext.cpp:
3148         (WebCore::GraphicsContext::strokeColorSpace):
3149         (WebCore::GraphicsContext::fillColorSpace):
3150         * platform/graphics/GraphicsContext.h:
3151         (WebCore::):
3152         * platform/graphics/GraphicsContextPrivate.h:
3153         * platform/graphics/skia/SkiaFontWin.cpp:
3154         (WebCore::paintSkiaText):
3155
3156 2009-03-17  Adele Peterson  <adele@apple.com>
3157
3158         Reviewed by Darin Adler.
3159
3160         Fix for https://bugs.webkit.org/show_bug.cgi?id=24655
3161         <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message
3162
3163         Test: editing/inserting/6633727.html
3164
3165         This changes does a few things:
3166         1) Renames pos to insertionPosition.
3167         2) Eliminates "startNode".  It doesn't work well to consider the node separately from the insertionPosition.  
3168            The insertionPosition gets updated at various times, and it seems likely that startNode can get out of sync.
3169         3) Before building up a list of ancestors to move around when we insert the new block, make sure to use the deepest
3170            representation of the insertionPosition, so all ancestor nodes are correctly included.
3171
3172         * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
3173
3174 2009-03-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3175
3176         Reviewed by Kevin Ollivier.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=24115
3179         Introduce platform independent stubs for plugins.
3180
3181         * plugins/PluginDataNone.cpp: Copied from WebCore/plugins/wx/PluginDataWx.cpp.
3182         * plugins/PluginPackageNone.cpp: Copied from WebCore/plugins/wx/PluginPackageWx.cpp.
3183         * plugins/PluginViewNone.cpp: Copied from WebCore/plugins/wx/PluginViewWx.cpp.
3184         * plugins/wx/PluginDataWx.cpp: Removed.
3185         * plugins/wx/PluginPackageWx.cpp: Removed.
3186         * plugins/wx/PluginViewWx.cpp: Removed.
3187         * webcore-wx.bkl:
3188
3189 2009-03-17  Darin Adler  <darin@apple.com>
3190
3191         Earlier version reviewed by Adele Peterson.
3192
3193         Bug 24304: REGRESSION (r39864): Hitting the space bar to select an <input type=radio>
3194         or push an <input type=button> or <button> causes the page to scroll down.
3195
3196         Would be best to add a regression test for Windows eventually; tested that this has
3197         no effect on the Mac OS X platform.
3198
3199         * html/HTMLInputElement.cpp:
3200         (WebCore::HTMLInputElement::defaultEventHandler): Added FIXMEs and tweaked formatting.
3201         Use the code that calls the base class's defaultEventHandler early only in the cases
3202         where it's needed: keydown and keypress events in text fields. In other cases, do the
3203         more typical thing and call the default handler only at the end of the function.
3204         This function already had code to make sure the keypress event for space never gets
3205         through, but it was running too late since the scrolling code was moved into the
3206         base class default event handler.
3207
3208 2009-03-17  Simon Fraser  <simon.fraser@apple.com>
3209
3210         Reviewed by Dave Hyatt
3211
3212         https://bugs.webkit.org/show_bug.cgi?id=24632
3213
3214         Fix repaint issues when composited layers come and go (only applies
3215         when ACCELERATED_COMPOSITING is turned on).
3216         
3217         * rendering/RenderLayer.cpp:
3218         (WebCore::RenderLayer::RenderLayer):
3219         * rendering/RenderLayer.h:
3220         (WebCore::RenderLayer::mustOverlayCompositedLayers):
3221         (WebCore::RenderLayer::setMustOverlayCompositedLayers):
3222         * rendering/RenderLayerBacking.cpp:
3223         (WebCore::RenderLayerBacking::RenderLayerBacking):
3224         * rendering/RenderLayerBacking.h:
3225
3226         Move what used to be the 'forceCompositingLayer' flag from RenderLayerBacking
3227         to RenderLayer, because we don't want the side-effects of creating RenderLayerBacking
3228         when setting this flag.
3229         
3230         * rendering/RenderLayerCompositor.cpp:
3231         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
3232         When a RenderLayer flips into or out of compositing mode, compute a repaint
3233         rect relative to the containerForRepaint, and repaint it.
3234         
3235         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3236         Call layer->setMustOverlayCompositedLayers() rather than setForcedCompositingLayer().
3237         
3238         (WebCore::RenderLayerCompositor::needsToBeComposited):
3239         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3240         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
3241         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3242         * rendering/RenderLayerCompositor.h:
3243         
3244         Rename requiresCompositingLayerForTransform() to requiresCompositingForTransform()
3245         and make it a class static method to match requiresCompositingForAnimation(). Both
3246         now take RenderObjects, rathern than RenderLayers.
3247         
3248         * rendering/style/RenderStyle.h:
3249         (WebCore::InheritedFlags::hasTransformRelatedProperty):
3250         Minor tidyup using convenience methods added in an earlier commit.
3251
3252 2009-03-17  Simon Fraser  <simon.fraser@apple.com>
3253
3254         Reviewed by Darin Adler
3255
3256         https://bugs.webkit.org/show_bug.cgi?id=24396
3257
3258         * config.h:
3259         Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now, and add some
3260         comments to make the #ifdefs more readable.
3261
3262         * css/CSSComputedStyleDeclaration.cpp:
3263         (WebCore::computedTransform):
3264         Add a comment to mention that we don't flatten the matrix.
3265         
3266         * css/MediaQueryEvaluator.cpp:
3267         (WebCore::transform_3dMediaFeatureEval):
3268         Have the 'transform-3d' media query evaluate to 'true' if 3d-rendering
3269         is supported.
3270         
3271         * platform/graphics/mac/GraphicsLayerCA.mm:
3272         (WebCore::GraphicsLayerCA::animateTransform):
3273         No need for the #ifdef here. If we don't support 3d, we will have already flattened
3274         the matrix.
3275         
3276         * platform/graphics/transforms/TransformationMatrix.cpp:
3277         (WebCore::TransformationMatrix::makeAffine):
3278         * platform/graphics/transforms/TransformationMatrix.h:
3279         New method to convert the matrix to an affine matrix by throwing a way the non-affine
3280         parts.
3281         
3282         * rendering/RenderLayer.cpp:
3283         (WebCore::RenderLayer::updateTransform):
3284         (WebCore::RenderLayer::currentTransform):
3285         * rendering/RenderLayerBacking.cpp:
3286         (WebCore::RenderLayerBacking::updateLayerTransform):
3287         If 3d rendering is not supported, convert the matrix to an affine matrix
3288         which can be rendered, and used for hit testing.
3289         
3290         * rendering/RenderLayerCompositor.cpp:
3291         Change the name of the exported symbol that webkitdirs.pm uses to know if
3292         3d rendering is supported. There is no other 3d-rendering-specific symbol we can sniff.
3293         
3294         * rendering/RenderObject.cpp:
3295         (WebCore::RenderObject::transformFromContainer):
3296         Only take perspective into account if 3d rendering is supported.
3297
3298         * rendering/RenderObject.h:
3299         (WebCore::makeMatrixRenderable):
3300         Utility method that flattens a matrix if 3d rendering is not supported.
3301
3302 2009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
3303
3304         wx build fix. Fix typo after mouse wheel changes.
3305
3306         * platform/wx/MouseWheelEventWx.cpp:
3307         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3308
3309 2009-03-17  Darin Adler  <darin@apple.com>
3310
3311         * inspector/ConsoleMessage.cpp:
3312         (WebCore::ConsoleMessage::isEqual): Fix build, remove stray parenthesis.
3313
3314 2009-03-17  Darin Adler  <darin@apple.com>
3315
3316         Fix crash seen right away when running run-webkit-tests.
3317
3318         * inspector/ConsoleMessage.cpp:
3319         (WebCore::ConsoleMessage::isEqual): Restore assertion to its behavior pre-refactoring.
3320         Also tweaked formatting a bit.
3321
3322 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
3323
3324         Reviewed by Darin Adler.
3325
3326         HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so 
3327         it doesn't need to zero it out before calling.
3328
3329         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line.
3330
3331 2009-03-17  Dan Bernstein  <mitz@apple.com>
3332
3333         Reviewed by Adam Roben.
3334
3335         - WebCore part of adding a mechanism for controlling the caching of
3336           responses through WebFrameLoaderClient
3337
3338         Mac already has such a mechanism, and this adds one for CFNetwork ports.
3339
3340         * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h
3341         and ResourceLoaderCFNet.cpp.
3342
3343         * loader/EmptyClients.h:
3344         (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an
3345         implementation that always returns true.
3346
3347         * loader/FrameLoaderClient.h: Declared shouldCacheResponse().
3348
3349         * loader/ResourceLoader.h: Ditto.
3350
3351         * loader/cf/ResourceLoaderCFNet.cpp: Added.
3352         (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to
3353         FrameLoaderClient::shouldCacheResponse().
3354
3355         * platform/network/ResourceHandleClient.h:
3356         (WebCore::ResourceHandleClient::shouldCacheResponse): Added an
3357         implementation that always returns true.
3358
3359         * platform/network/cf/ResourceHandleCFNet.cpp:
3360         (WebCore::willCacheResponse): Added a call to
3361         ResourceHandleClient::shouldCacheResponse(). If the client returns
3362         false, return 0, which will prevent CFNetwork from caching the response.
3363
3364 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
3365
3366         Reviewed by Darin Adler.
3367
3368         https://bugs.webkit.org/show_bug.cgi?id=13287
3369         Cannot change SELECT to a dynamically created option
3370
3371         Tests: fast/forms/add-and-remove-option.html
3372                fast/forms/add-remove-option-modification-event.html
3373                fast/forms/add-selected-option.html
3374                fast/forms/select-cache-desynchronization.html
3375
3376         * dom/ContainerNode.cpp:
3377         (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when
3378         dispatching DOMSubtreeModified again, but the version should be incremented for event
3379         listeners to have an up to date view of the DOM.
3380         (WebCore::dispatchChildRemovalEvents): Ditto.
3381
3382         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree):
3383         Make sure that the select element knows about its new selected option.
3384
3385         * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(),
3386         because DOM also needs to be updated for forms that are not in document yet. Similar
3387         problems exist for node removing, but removedFromTree() is called at a wrong time, so
3388         those problems cannot be fixed without deeper refactoring.
3389
3390         * html/HTMLSelectElement.cpp:
3391         (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it
3392         doesn't make sense to keep the anchor after programmatically changing the selection, and
3393         keeping it was causing a failure in fast/forms/listbox-selection.html.
3394
3395         * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called
3396         base class versions.
3397
3398 2009-03-17  Steve Falkenburg  <sfalken@apple.com>
3399
3400         <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes
3401         
3402         Reviewed by Darin Adler.
3403
3404         * loader/FTPDirectoryDocument.cpp:
3405         (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it.
3406
3407 2009-03-16  David Hyatt  <hyatt@apple.com>
3408
3409         <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/
3410
3411         Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over
3412         layers that don't paint themselves.  This is done by adding a new enclosingSelfPaintingLayer method
3413         so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint
3414         themselves.
3415
3416         Reviewed by Darin Adler.
3417
3418         Added fast/block/float/overlapping-floats-with-overflow-hidden.html
3419
3420         * WebCore.base.exp:
3421         * rendering/RenderBlock.cpp:
3422         (WebCore::RenderBlock::addOverhangingFloats):
3423         * rendering/RenderObject.cpp:
3424         (WebCore::RenderObject::enclosingSelfPaintingLayer):
3425         * rendering/RenderObject.h:
3426
3427 2009-03-17  Xan Lopez  <xlopez@igalia.com>
3428
3429         Reviewed by Holger Freyther.
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=24592
3432         [GTK] Crash in FcPatternHash
3433
3434         Style fixes.
3435
3436         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
3437         (WebCore::FontPlatformData::operator=):
3438         * platform/graphics/gtk/FontPlatformDataPango.cpp:
3439
3440 2009-03-17  Xan Lopez  <xlopez@igalia.com>
3441
3442         Reviewed by Holger Freyther.
3443
3444         https://bugs.webkit.org/show_bug.cgi?id=24592
3445         [GTK] Crash in FcPatternHash
3446
3447         Sanitize memory management in pango fonts.
3448
3449         Release memory allocated by FontPlatformDataPango in its own
3450         destructor instead of doing it from other classes, and add copy
3451         constructor and '=' operator to be able to track referenced
3452         objects properly.
3453
3454         * platform/graphics/gtk/FontPlatformDataPango.cpp:
3455         (WebCore::FontPlatformData::~FontPlatformData):
3456         (WebCore::FontPlatformData::operator=):
3457         (WebCore::FontPlatformData::FontPlatformData):
3458         * platform/graphics/gtk/SimpleFontDataPango.cpp:
3459
3460 2009-03-17  Darin Adler  <darin@apple.com>
3461
3462         Reviewed by Alexey Proskuryakov.
3463
3464         Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>,
3465         seen with inspector, which uses adoptNode
3466         https://bugs.webkit.org/show_bug.cgi?id=24624
3467         rdar://problem/6422850
3468
3469         Test: fast/dom/HTMLImageElement/image-load-cross-document.html
3470
3471         * dom/Document.cpp:
3472         (WebCore::Document::Document): Removed m_imageLoadEventTimer.
3473         (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and
3474         m_imageLoadEventDispatchingList.
3475         (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents
3476         instead of dispatchImageLoadEventsNow.
3477
3478         * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon,
3479         dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList,
3480         m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired.
3481
3482         * loader/ImageLoader.cpp:
3483         (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender
3484         object used privately as the target of the load event timer.
3485         (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent
3486         rather than Document::removeImage.
3487         (WebCore::ImageLoader::setImage): Use m_element directly, not element().
3488         (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable
3489         document instead of doc.
3490         (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon
3491         rather than Document::dispatchImageLoadEventSoon.
3492         (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic
3493         about when load events can be dispatched so that dispatchLoadEvent only has to
3494         have the specific part for each derived class. This includes a check that the
3495         document is attached, which used to be handled by having documents empty out the
3496         image load event vectors in the detach function.
3497         (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate
3498         function on the ImageLoadEventSender, which avoids the need to have that class be
3499         public in the ImageLoader header.
3500         (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that
3501         was previously in the Document constructor.
3502         (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that
3503         was previously in Document::dispatchImageLoadEventSoon.
3504         (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was
3505         previously in Document::removeImage.
3506         (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code
3507         that was previously in Document::dispatchImageLoadEventsNow.
3508         (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents.
3509
3510         * loader/ImageLoader.h: Improved comments. Made the virtual functions private
3511         or protected rather than public. Added static dispatchPendingLoadEvents function
3512         for use by Document and private dispatchPendingLoadEvent function for use by
3513         ImageLoadEventSender. Made setLoadingImage private and eliminated
3514         setHaveFiredLoadEvent since that can all be done inside the class without any
3515         member functions.
3516
3517         * html/HTMLImageLoader.cpp:
3518         (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a
3519         load event already fired and whether image() is 0. These are now both base class
3520         responsibilities.
3521         * svg/SVGImageLoader.cpp:
3522         (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto.
3523         * wml/WMLImageLoader.cpp:
3524         (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto.
3525
3526 2009-03-17  Dimitri Glazkov  <dglazkov@chromium.org>
3527
3528         Reviewed by Timothy Hatcher.
3529
3530         https://bugs.webkit.org/show_bug.cgi?id=24623
3531         Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC
3532         dependencies.
3533
3534         * bindings/js/ScriptFunctionCall.cpp:
3535         (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods.
3536         * bindings/js/ScriptFunctionCall.h:
3537         * bindings/js/ScriptObjectQuarantine.cpp:
3538         (WebCore::quarantineValue): Added generic ScriptValue quarantine helper.
3539         * bindings/js/ScriptObjectQuarantine.h:
3540         * bindings/js/ScriptValue.cpp:
3541         (WebCore::ScriptValue::isEqual): Added.
3542         * bindings/js/ScriptValue.h:
3543         * inspector/ConsoleMessage.cpp:
3544         (WebCore::ConsoleMessage::ConsoleMessage):
3545         (WebCore::ConsoleMessage::addToConsole): Added.
3546         (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual.
3547         * inspector/ConsoleMessage.h:
3548         (WebCore::ConsoleMessage::incrementCount): Added.
3549         * inspector/InspectorController.cpp:
3550         (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole.
3551         (WebCore::InspectorController::populateScriptObjects): Ditto.
3552         * inspector/InspectorController.h:
3553
3554 2009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
3555
3556         Reviewed by Mark Rowe.
3557
3558         Get BUILDING_ON_* defines from Platform.h.
3559         
3560         https://bugs.webkit.org/show_bug.cgi?id=24630
3561
3562         * WebCorePrefix.h:
3563
3564 2009-03-16  Xan Lopez  <xlopez@igalia.com>
3565
3566         Reviewed by Holger Freyther.
3567
3568         https://bugs.webkit.org/show_bug.cgi?id=24592
3569         [GTK] Crash in FcPatternHash
3570
3571         Sanitize memory management in gtk fonts.
3572
3573         Release memory allocated by FontPlatformDataGtk in its own
3574         destructor instead of doing it from other classes, and add copy
3575         constructor and '=' operator to be able to track referenced
3576         objects properly.
3577
3578         * platform/graphics/gtk/FontPlatformData.h:
3579         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
3580         (WebCore::FontPlatformData::operator=):
3581         (WebCore::FontPlatformData::FontPlatformData):
3582         (WebCore::FontPlatformData::~FontPlatformData):
3583         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
3584         (WebCore::SimpleFontData::platformDestroy):
3585
3586 2009-03-17  Ariya Hidayat  <ariya.hidayat@nokia.com>
3587
3588         Build fix for Qt < 4.5.
3589
3590         As reported by Yael Aharon  <yael.aharon@nokia.com>
3591
3592         * platform/graphics/qt/GraphicsContextQt.cpp:
3593         (WebCore::GraphicsContext::drawLine):
3594
3595 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
3596
3597         Reviewed by Sam Weinig.
3598
3599         https://bugs.webkit.org/show_bug.cgi?id=24614
3600         Access control checks are different in cached and uncached cases
3601
3602         Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html
3603
3604         * loader/CrossOriginAccessControl.cpp:
3605         (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method
3606         check for use in both cached and uncached cases. In cached case, an old definition that
3607         omitted HEAD was still used.
3608         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an
3609         allowed value. This is needed in all call sites. Also changed to compare MIME type, not
3610         content type.
3611         (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods.
3612
3613         * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist.
3614
3615         * loader/CrossOriginPreflightResultCache.cpp:
3616         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
3617         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
3618         Use the new checks for simple method and header.
3619
3620 2009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
3621
3622         Reviewed by Mark Rowe.
3623
3624         https://bugs.webkit.org/show_bug.cgi?id=24638
3625         [GTK] HTML5 media tags do not work
3626
3627         Add a repaint-requested signal to the video sink, and use it to
3628         call MediaPlayerPrivate::repaint, so that the video actually
3629         plays.
3630
3631         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3632         (WebCore::mediaPlayerPrivateRepaintCallback):
3633         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3634         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3635         (webkit_video_sink_idle_func):
3636         (webkit_video_sink_render):
3637         (webkit_video_sink_class_init):
3638
3639 2009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
3640
3641         Reviewed by Holger Freyther.
3642
3643         https://bugs.webkit.org/show_bug.cgi?id=24638
3644         [GTK] HTML5 media tags do not work
3645
3646         Work-around the fact that gst_element_query_duration returns true even
3647         though it is unable to figure out the duration when in stream (push)
3648         mode.
3649
3650         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3651         (WebCore::MediaPlayerPrivate::duration):
3652
3653 2009-03-16  Darin Adler  <darin@apple.com>
3654
3655         Reviewed by Kevin Decker.
3656
3657         <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode
3658
3659         * page/Frame.cpp:
3660         (WebCore::Frame::setNeedsReapplyStyles): Don’t do anything if the frame is
3661         currently showing a non-HTML view.
3662
3663 2009-03-16  Darin Adler  <darin@apple.com>
3664
3665         Reviewed by Adele Peterson.
3666
3667         Bug 24629: moving forward or backward a paragraph fails at edge of document
3668         https://bugs.webkit.org/show_bug.cgi?id=24629
3669         rdar://problem/6544413
3670
3671         Test: editing/selection/move-paragraph-document-edges.html
3672
3673         * editing/visible_units.cpp:
3674         (WebCore::previousParagraphPosition): Use the last result from
3675         previousLinePosition rather than going all the way back to what was originally
3676         passed in when we hit exception cases like null or not moving. This correctly
3677         inherits the behavior of previousLinePosition when we are in a paragraph at the
3678         edge of a document.
3679         (WebCore::nextParagraphPosition): Ditto.
3680
3681 2009-03-16  Darin Adler  <darin@apple.com>
3682
3683         Reviewed by Adele Peterson.
3684
3685         Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function
3686         https://bugs.webkit.org/show_bug.cgi?id=24619
3687
3688         * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration.
3689         * rendering/RenderView.h: Ditto.
3690
3691 2009-03-16  Peter Kasting  <pkasting@google.com>
3692
3693         Reviewed by David Hyatt.
3694
3695         https://bugs.webkit.org/show_bug.cgi?id=24368
3696         DOM scroll events should be based off the actual number of wheel
3697         ticks, not off the number of lines scrolled.  This matches IE.
3698
3699         * dom/Node.cpp:
3700         (WebCore::Node::dispatchWheelEvent):
3701         * dom/WheelEvent.cpp:
3702         (WebCore::WheelEvent::WheelEvent):
3703         * dom/WheelEvent.h:
3704         (WebCore::WheelEvent::create):
3705         * platform/PlatformWheelEvent.h:
3706         (WebCore::PlatformWheelEvent::wheelTicksX):
3707         (WebCore::PlatformWheelEvent::wheelTicksY):
3708         * platform/gtk/WheelEventGtk.cpp:
3709         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3710         * platform/mac/WheelEventMac.mm:
3711         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3712         * platform/qt/WheelEventQt.cpp:
3713         * platform/win/WheelEventWin.cpp:
3714         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3715         * platform/wx/MouseWheelEventWx.cpp:
3716         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3717
3718 2009-03-16  Simon Fraser  <simon.fraser@apple.com>
3719
3720         Reviewed by Eric Seidel
3721         
3722         Clean up a few issues in the Animation code:
3723
3724         * page/animation/AnimationBase.cpp:
3725         (WebCore::AnimationBase::updateStateMachine):
3726         Whitespace
3727         
3728         (WebCore::AnimationBase::willNeedService):
3729         Don't round to float, use std::max
3730
3731         * page/animation/AnimationController.cpp:
3732         (WebCore::AnimationControllerPrivate::startTimeResponse):
3733         Fix erroneously copied line to null out m_lastResponseWaiter.
3734
3735 2009-03-12  David Hyatt  <hyatt@apple.com>
3736
3737         Reviewed by Eric Seidel
3738
3739         https://bugs.webkit.org/show_bug.cgi?id=13632
3740
3741         Overflow scrolling needs to account for the bottom/right padding on the object itself as well
3742         as for bottom/right margins on children.
3743
3744         Existing tests cover this.
3745
3746         * rendering/RenderBlock.cpp:
3747         (WebCore::RenderBlock::lowestPosition):
3748         (WebCore::RenderBlock::rightmostPosition):
3749
3750 2009-03-16  Sam Weinig  <sam@webkit.org>
3751
3752         Reviewed by Anders Carlsson.
3753
3754         Fix for <rdar://problem/6320555>
3755         Add an upper limit for setting HTMLSelectElement.length.
3756
3757         Test: fast/forms/select-max-length.html
3758
3759         * html/HTMLSelectElement.cpp:
3760         (WebCore::HTMLSelectElement::setOption):
3761         (WebCore::HTMLSelectElement::setLength):
3762
3763 2009-03-16  Eric Carlson  <eric.carlson@apple.com>
3764
3765         Reviewed by Simon Fraser.
3766
3767         <rdar://problem/6686721> Media document crash in 64-bit WebKit
3768
3769         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3770         (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when
3771         rendering inline with old versions of QuickTime, so don't look for it when we are in a 
3772         media document.
3773
3774 2009-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
3775
3776         Reviewed by Timothy Hatcher.
3777
3778         https://bugs.webkit.org/show_bug.cgi?id=24590
3779         Refactor InspectorDOMStorageResource to use ScriptFunctionCall.
3780
3781         * bindings/js/ScriptFunctionCall.cpp:
3782         (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument.
3783         * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up.
3784         * bindings/js/ScriptObjectQuarantine.cpp:
3785         (WebCore::getQuarantinedScriptObject): Added Storage helper.
3786         * bindings/js/ScriptObjectQuarantine.h: Ditto.
3787         * inspector/InspectorController.cpp:
3788         (WebCore::InspectorController::populateScriptObjects): Changed to use bind method.
3789         (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method.
3790         (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods.
3791         * inspector/InspectorController.h: Removed add/remove methods for DOM storage.
3792         * inspector/InspectorDOMStorageResource.cpp:
3793         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
3794         (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added.
3795         (WebCore::InspectorDOMStorageResource::bind): Added.
3796         (WebCore::InspectorDOMStorageResource::unbind): Added.
3797         * inspector/InspectorDOMStorageResource.h:
3798
3799 2009-03-16   Mike Belshe  <mike@belse.com>
3800
3801         Reviewed by Dimitri Glazkov.
3802
3803         https://bugs.webkit.org/show_bug.cgi?id=24580
3804         Fix query() to match KURL behavior, this time with the code that
3805         compiles.
3806
3807         * platform/KURLGoogle.cpp:
3808         (WebCore::KURL::query): Fix copy/paste mistake.
3809
3810 2009-03-16  Alexey Proskuryakov  <ap@webkit.org>
3811
3812         Reviewed by Darin Adler.
3813
3814         https://bugs.webkit.org/show_bug.cgi?id=21752
3815         REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it
3816
3817         Test: fast/dom/Window/window-early-properties-xhr.html
3818
3819         For some transitions, the Window object is not replaced, but Document is. When this happened,
3820         window.document property was updated, but references to Document kept in cached constructors
3821         were not.
3822
3823         * bindings/js/JSAudioConstructor.cpp:
3824         (WebCore::JSAudioConstructor::JSAudioConstructor):
3825         (WebCore::JSAudioConstructor::document):
3826         (WebCore::JSAudioConstructor::mark):
3827         * bindings/js/JSAudioConstructor.h:
3828         * bindings/js/JSImageConstructor.cpp:
3829         (WebCore::JSImageConstructor::JSImageConstructor):
3830         (WebCore::JSImageConstructor::document):
3831         (WebCore::JSImageConstructor::mark):
3832         * bindings/js/JSImageConstructor.h:
3833         * bindings/js/JSMessageChannelConstructor.cpp:
3834         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
3835         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
3836         (WebCore::JSMessageChannelConstructor::mark):
3837         * bindings/js/JSMessageChannelConstructor.h:
3838         * bindings/js/JSOptionConstructor.cpp:
3839         (WebCore::JSOptionConstructor::JSOptionConstructor):
3840         (WebCore::JSOptionConstructor::document):
3841         (WebCore::JSOptionConstructor::mark):
3842         * bindings/js/JSOptionConstructor.h:
3843         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3844         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3845         (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
3846         (WebCore::JSXMLHttpRequestConstructor::mark):
3847         * bindings/js/JSXMLHttpRequestConstructor.h:
3848         Changed cached constructors to keep a reference to Window, not Document.
3849
3850 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
3851
3852         Reviewed by Darin Adler.
3853
3854         https://bugs.webkit.org/show_bug.cgi?id=24549
3855         Impose a limit on Access-Control-Max-Age value
3856
3857         * loader/CrossOriginPreflightResultCache.cpp:
3858         (WebCore::CrossOriginPreflightResultCacheItem::parse):
3859
3860 2009-03-15  Greg Bolsinga  <bolsinga@apple.com>
3861
3862         Reviewed by David Kilzer.
3863
3864         <rdar://problem/6668875> Normalize Geolocation results
3865
3866         * platform/mac/GeolocationServiceMac.mm:
3867         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
3868
3869 2009-03-15  Greg Bolsinga  <bolsinga@apple.com>
3870
3871         Reviewed by David Kilzer.
3872
3873         Update ::toString format as suggested by Darin Adler.
3874
3875         * page/Geoposition.cpp:
3876         (WebCore::Geoposition::toString):
3877
3878 2009-03-15  David Kilzer  <ddkilzer@apple.com>
3879
3880         <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
3881
3882         Reviewed by Darin Adler.
3883
3884         Yet another case where we would trigger extended encoding loading needlessly.
3885
3886         * platform/text/TextEncoding.cpp:
3887         (WebCore::TextEncoding::encodingForFormSubmission):
3888
3889 2009-03-15  Simon Fraser  <simon.fraser@apple.com>
3890
3891         Build fix: no review.
3892
3893         * rendering/style/ContentData.h:
3894
3895 2009-03-15  David Kilzer  <ddkilzer@apple.com>
3896
3897         Bug 24542: Improve ContentData encapsulation
3898
3899         <https://bugs.webkit.org/show_bug.cgi?id=24542>
3900
3901         Reviewed by Simon Fraser.
3902
3903         No tests since there is no change in behavior.
3904
3905         * rendering/RenderObject.cpp:
3906         (WebCore::RenderObject::createObject): Used getter methods
3907         instead of data members on ContentData class.  Used isImage()
3908         convenience method.
3909         * rendering/RenderObjectChildList.cpp:
3910         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto.
3911
3912         * rendering/style/ContentData.cpp:
3913         (WebCore::ContentData::clear): Extracted code into
3914         deleteContent() method.
3915         (WebCore::ContentData::dataEquivalent): Added.  Extracted code
3916         from StyleRareNonInheritedData::contentDataEquivalent().
3917         (WebCore::ContentData::deleteContent): Added.  Used by setter
3918         methods.
3919         * rendering/style/ContentData.h: Made m_type, m_content and
3920         m_next private.
3921         (WebCore::ContentData::isCounter): Added.
3922         (WebCore::ContentData::isImage): Added.
3923         (WebCore::ContentData::isNone): Added.
3924         (WebCore::ContentData::isText): Added.
3925         (WebCore::ContentData::type): Added.
3926         (WebCore::ContentData::dataEquivalent): Added.
3927         (WebCore::ContentData::image): Added.
3928         (WebCore::ContentData::setImage): Added.
3929         (WebCore::ContentData::text): Added.
3930         (WebCore::ContentData::setText): Added.
3931         (WebCore::ContentData::counter): Added.
3932         (WebCore::ContentData::setCounter): Added.
3933         (WebCore::ContentData::next): Added.
3934         (WebCore::ContentData::setNext): Added.
3935
3936         * rendering/style/CounterContent.h:
3937         (WebCore::operator!=): Removed.
3938         (WebCore::operator==): Renamed operator!=() and reversed its
3939         logic after extracting code from
3940         StyleRareNonInheritedData::contentDataEquivalent() to create
3941         ContentData::dataEquivalent().
3942
3943         * rendering/style/RenderStyle.cpp:
3944         (WebCore::RenderStyle::setContent): Used new getters and setters
3945         on ContentData class.  Changed first argument from a StringImpl*
3946         to a PassRefPtr<StrimgImpl>.  Used isText() convenience method.
3947         * rendering/style/RenderStyle.h:
3948         (WebCore::RenderStyle::setContent): Updated declaration.
3949         * rendering/style/StyleRareNonInheritedData.cpp:
3950         (WebCore::StyleRareNonInheritedData::contentDataEquivalent):
3951         Extracted most logic in while() loop into
3952         ContentData::dataEquivalent().
3953
3954 2009-03-15  Gustavo Noronha Silva  <gns@gnome.org>
3955
3956         Reviewed by Anders Carlsson.
3957
3958         https://bugs.webkit.org/show_bug.cgi?id=24602
3959         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
3960
3961         Reintroduce the URI into the soup message after having set it in
3962         the KURL, on redirects, to make sure it is properly encoded. This
3963         fixes bad request problems when servers give bad URIs on their
3964         response's Location header.
3965
3966         * platform/network/soup/ResourceHandleSoup.cpp:
3967         (WebCore::restartedCallback):
3968
3969 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
3970
3971         Reviewed by Darin Adler.
3972
3973         https://bugs.webkit.org/show_bug.cgi?id=19737
3974         No cursor and paste not enabled right clicking text field/area
3975
3976         Test: fast/events/right-click-focus.html
3977
3978         * page/EventHandler.cpp:
3979         (WebCore::EventHandler::handleMousePressEventSingleClick):
3980         (WebCore::EventHandler::handleMousePressEvent):
3981         Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway).
3982
3983 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
3984
3985         Reviewed by Adele Peterson.
3986
3987         https://bugs.webkit.org/show_bug.cgi?id=23949
3988         HTMLSelectElement is in inconsistent state when handling mutation events
3989
3990         Test: fast/forms/mutation-event-recalc.html
3991
3992         * dom/ContainerNode.cpp:
3993         (WebCore::ContainerNode::insertBefore):
3994         (WebCore::ContainerNode::appendChild):
3995         Call childrenChanged() before dispatching modification events, not after.
3996
3997         * html/HTMLOptGroupElement.cpp:
3998         (WebCore::HTMLOptGroupElement::insertBefore):
3999         (WebCore::HTMLOptGroupElement::replaceChild):
4000         (WebCore::HTMLOptGroupElement::removeChild):
4001         (WebCore::HTMLOptGroupElement::appendChild):
4002         (WebCore::HTMLOptGroupElement::removeChildren):
4003         * html/HTMLSelectElement.cpp:
4004         (WebCore::HTMLSelectElement::add):
4005         (WebCore::HTMLSelectElement::remove):
4006         (WebCore::HTMLSelectElement::insertBefore):
4007         (WebCore::HTMLSelectElement::replaceChild):
4008         (WebCore::HTMLSelectElement::removeChild):
4009         (WebCore::HTMLSelectElement::appendChild):
4010         (WebCore::HTMLSelectElement::removeChildren):
4011         Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events
4012         were already dispatched.
4013
4014 2009-03-14  Greg Bolsinga  <bolsinga@apple.com>
4015
4016         <rdar://problem/6683465>
4017
4018         Geolocation has to be able to handle NULL Frames.
4019
4020         Reviewed by Mark Rowe
4021     
4022 2009-03-14  Greg Bolsinga  <bolsinga@apple.com>
4023
4024         Reviewed by David Kilzer.
4025
4026         Geoposition::toString was missing the Coordinates after the update.
4027
4028         * page/Geoposition.cpp:
4029         (WebCore::Geoposition::toString):
4030
4031 2009-03-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
4032
4033         Reviewed by Mark Rowe.
4034
4035         [Gtk] Build fix - pass a Coordinate to Geoposition::create
4036         https://bugs.webkit.org/show_bug.cgi?id=24603
4037
4038         Gtk build fix per r41650
4039         https://bugs.webkit.org/show_bug.cgi?id=24506
4040         Geolocation in Safari differs from the spec, no Coordinates attribute on Position
4041
4042         Pass a Coordinate to Geoposition::create.
4043
4044         * platform/gtk/GeolocationServiceGtk.cpp:
4045         (WebCore::GeolocationServiceGtk::updatePosition):
4046
4047 2009-03-14  Alexey Proskuryakov  <ap@webkit.org>
4048
4049         Reviewed by Darin Adler.
4050
4051         https://bugs.webkit.org/show_bug.cgi?id=24545
4052         Make cross-site XHR simple request definition match current spec draft
4053
4054         Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html
4055                http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html
4056
4057         * loader/CrossOriginAccessControl.cpp:
4058         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language.
4059         (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those
4060         that could be sent via form submission.
4061
4062 2009-03-14  Alexey Proskuryakov  <ap@webkit.org>
4063
4064         Reviewed by Darin Adler.
4065
4066         https://bugs.webkit.org/show_bug.cgi?id=15172
4067         object fallback - empty string for first argument of setAttributeNS does not work like null
4068
4069         https://bugs.webkit.org/show_bug.cgi?id=24548
4070         createElementNS("", name) should create an element in null namespace
4071
4072         Tests: fast/dom/createElementNS-empty-namespace.html
4073                fast/dom/setAttributeNS-empty-namespace.html
4074
4075         * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
4076         Convert empty namespaces to null.
4077
4078 2009-03-13  Mark Rowe  <mrowe@apple.com>
4079
4080         Rubber-stamped by Dan Bernstein.
4081
4082         Take advantage of the ability of recent versions of Xcode to easily switch the active
4083         architecture.
4084
4085         * Configurations/DebugRelease.xcconfig:
4086
4087 2009-03-13  John Abd-El-Malek  <jam@google.com>
4088
4089         Reviewed by Darin Fisher.
4090
4091         https://bugs.webkit.org/show_bug.cgi?id=24593
4092         Added requestorID so we can track the request to its WebView without using frame (which was removed).
4093
4094         * platform/network/chromium/ResourceRequest.h:
4095         (WebCore::ResourceRequest::ResourceRequest):
4096         (WebCore::ResourceRequest::requestorID):
4097         (WebCore::ResourceRequest::setRequestorID):
4098         (WebCore::ResourceRequest::setTargetType):
4099         (WebCore::ResourceRequest::policyURL):
4100         (WebCore::ResourceRequest::setPolicyURL):
4101         (WebCore::ResourceRequest::requestorPid):
4102         (WebCore::ResourceRequest::setRequestorPid):
4103
4104 2009-03-13  Mike Belshe  <mike@belshe.com>
4105
4106         Reviewed by Dimitri Glazkov.
4107
4108         https://bugs.webkit.org/show_bug.cgi?id=24561
4109         Add custom V8 bindings for HTMLElementCanvas, Location.
4110
4111         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added.
4112         * bindings/v8/custom/V8LocationCustom.cpp: Added.
4113
4114 2009-03-13  Stephen White  <senorblanco@chromium.org>
4115
4116         Reviewed by Eric Seidel.
4117
4118         https://bugs.webkit.org/show_bug.cgi?id=24584
4119
4120         Fix transparent text rendering on Chromium.  FontChromiumWin
4121         was calling beginTransparencyLayer()/endTransparencyLayer(), with
4122         a TransparencyWin inside to do GDI ClearType rendering over an
4123         opaque background.  TransparencyWin does its special sauce
4124         in the destructor, but it was being called too late to be used
4125         correctly in the layer.  Put the special sauce into a new function,
4126         composite(), and call that explicitly instead.
4127
4128         * platform/graphics/chromium/FontChromiumWin.cpp:
4129         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
4130         * platform/graphics/chromium/TransparencyWin.cpp:
4131         (WebCore::TransparencyWin::~TransparencyWin):
4132         (WebCore::TransparencyWin::composite):
4133         (WebCore::TransparencyWin::init):
4134         * platform/graphics/chromium/TransparencyWin.h:
4135         * rendering/RenderThemeChromiumWin.cpp:
4136         (WebCore::):
4137
4138 2009-03-13  Mike Belshe  <mike@belshe.com>
4139
4140         Reviewed by Dimitri Glazkov.
4141
4142         https://bugs.webkit.org/show_bug.cgi?id=24562
4143         Add custom implementation for getCSSCanvasContext to V8 bindings.
4144
4145         * bindings/v8/custom/V8DocumentCustom.cpp: Added new method.
4146
4147 2009-03-13  Mike Belshe  <mike@belse.com>
4148
4149         Reviewed by Dimitri Glazkov.
4150
4151         https://bugs.webkit.org/show_bug.cgi?id=24580
4152         Fix query() to match KURL behavior.
4153
4154         * platform/KURLGoogle.cpp:
4155         (WebCore::KURL::query): remove extra logic around question mark.
4156
4157 2009-03-13  Chris Fleizach  <cfleizach@apple.com>