JavaScriptCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2009-03-02  Sam Weinig  <sam@webkit.org>
2
3         Reviewed by Mark Rowe.
4
5         Enable Geolocation (except on Tiger and Leopard).
6
7         * Configurations/WebCore.xcconfig:
8
9 2009-03-02  Ojan Vafai  <ojan@chromium.org>
10
11         Reviewed by Adele Peterson.
12
13         Fix https://bugs.webkit.org/show_bug.cgi?id=24307
14         Null out m_highlightedNode on hideHighlight().
15         Ran WebCore/manual-tests/inspector/highlight-nodes.html.
16
17         * inspector/InspectorController.cpp:
18         (WebCore::InspectorController::hideHighlight):
19
20 2009-03-02  Sam Weinig  <sam@webkit.org>
21
22         Reviewed by Geoffrey Garen.
23
24         Fix for <rdar://problem/6507404> Add Geolocation support.
25
26         This is not yet turned on for any Mac platform.
27
28         * WebCore.xcodeproj/project.pbxproj:
29         * page/Chrome.cpp:
30         (WebCore::Chrome::shouldAllowGeolocationForFrame):
31         * page/Chrome.h:
32         * page/ChromeClient.h:
33         (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
34         * page/Geolocation.cpp:
35         (WebCore::Geolocation::Geolocation):
36         (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
37         will not be alive at this point.
38         (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
39         return a PERMISSION_DENIED if not.
40         (WebCore::Geolocation::watchPosition): Ditto.
41         (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
42         to allow geolocation and cache the result. 
43         * page/Geolocation.h:
44         (WebCore::Geolocation::):
45         * platform/GeolocationService.cpp:
46         * platform/GeolocationService.h:
47         (WebCore::GeolocationService::~GeolocationService):
48         (WebCore::GeolocationService::stopUpdating):
49         * platform/mac/GeolocationServiceMac.h: Added.
50         (WebCore::GeolocationServiceMac::lastPosition):
51         (WebCore::GeolocationServiceMac::lastError):
52         * platform/mac/GeolocationServiceMac.mm: Added.
53         (WebCore::GeolocationService::create):
54         (WebCore::GeolocationServiceMac::GeolocationServiceMac):
55         (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
56         (WebCore::GeolocationServiceMac::startUpdating):
57         (WebCore::GeolocationServiceMac::stopUpdating):
58         (WebCore::GeolocationServiceMac::suspend):
59         (WebCore::GeolocationServiceMac::resume):
60         (WebCore::GeolocationServiceMac::positionChanged):
61         (WebCore::GeolocationServiceMac::errorOccurred):
62         (-[WebCoreCoreLocationObserver initWithCallback:]):
63         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
64         (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
65
66 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
67
68         Build fixes for wxWidgets Mac trunk build.
69
70         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
71         (wxFontProperties::wxFontProperties):
72         (GetTextExtent):
73         * webcore-wx.bkl:
74
75 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
76
77         wxGTK missing header build fix.
78
79         * platform/wx/wxcode/gtk/fontprops.cpp:
80
81 2009-03-02  Dan Bernstein  <mitz@apple.com>
82
83         Reviewed by Adam Roben.
84
85         - fix https://bugs.webkit.org/show_bug.cgi?id=21811
86           REGRESSION: Windows Build Not Selecting Proper Font
87
88         * platform/graphics/win/FontCacheWin.cpp:
89         (WebCore::createGDIFont): Added back code to verify that the created
90         HFONT has the requested face name.
91
92 2009-03-02  Timothy Hatcher  <timothy@apple.com>
93
94         Fixes a regression caused by splitting the input and output of console commands.
95
96         https://bugs.webkit.org/show_bug.cgi?id=24293
97
98         Reviewed by Kevin McCullough.
99
100         * inspector/front-end/Console.js:
101         (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
102         normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
103
104 2009-03-02  Timothy Hatcher  <timothy@apple.com>
105
106         Make exception messages and logged Error objects display consistently.
107
108         https://bugs.webkit.org/show_bug.cgi?id=18983
109
110         Reviewed by Adam Roben.
111
112         * English.lproj/localizedStrings.js: Remove a string for line numbers.
113         * inspector/front-end/Console.js:
114         (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
115         boolean to the ConsoleCommandResult constructor and don't pass level.
116         (WebInspector.Console.prototype._formatnode): Fix a className typo.
117         (WebInspector.Console.prototype._formaterror): Add an error-message
118         classed span around the message to show in red and remove the
119         console-message-url class from the link so it doesn't float right.
120         Instead enclose the link in parentheses and use displayNameForURL
121         to shorten the URL in the link.
122         (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
123         how line numbers are shown since link underlining a string with
124         parentheses looks bad.
125         (WebInspector.ConsoleCommandResult): Take an exception boolean flag
126         instead of a level and get line and URL based on that flag.
127         * inspector/front-end/inspector.css: Tweaks to the styles.
128
129 2009-03-02  Ojan Vafai  <ojan@chromium.org>
130
131         Reviewed by Adele Peterson.
132
133         Bug 24048: extra windows button padding doesn't apply when there's no appearance
134         <https://bugs.webkit.org/show_bug.cgi?id=24048>
135
136         Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
137
138         No tests added as existing tests already cover this behavior.
139
140         * rendering/RenderButton.cpp:
141         (WebCore::RenderButton::setupInnerStyle):
142         * rendering/RenderTheme.cpp:
143         * rendering/RenderTheme.h:
144         (WebCore::RenderTheme::buttonInternalPaddingLeft):
145         (WebCore::RenderTheme::buttonInternalPaddingRight):
146         (WebCore::RenderTheme::buttonInternalPaddingTop):
147         * rendering/RenderThemeChromiumGtk.cpp:
148         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
149         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
150         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
151         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
152         * rendering/RenderThemeChromiumGtk.h:
153         * rendering/RenderThemeChromiumWin.cpp:
154         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
155         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
156         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
157         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
158         * rendering/RenderThemeChromiumWin.h:
159         * rendering/RenderThemeWin.cpp:
160         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
161         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
162         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
163         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
164         * rendering/RenderThemeWin.h:
165
166 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
167
168         Build fix for Qt port.  Remove unnecessary assert.
169
170         * platform/graphics/qt/ImageBufferQt.cpp:
171         (WebCore::ImageBuffer::putImageData):
172
173 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
174
175         Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
176
177         https://bugs.webkit.org/show_bug.cgi?id=24227
178         Ensure that the checkForSolidColor() optimization is correctly triggered
179         for all cases of drawPattern.  Currently, the optimization was not triggered
180         when the check had not been previously performed via a request for the
181         image's NativeImagePtr.
182
183         Implement the Qt version of the checkForSolidColor() method.  Combined with
184         the bug fix this reduces the time it takes to draw a repeating background
185         of a 1x1 image from ~50msecs to ~0msecs on my machine.
186
187         * platform/graphics/BitmapImage.cpp:
188         (WebCore::BitmapImage::BitmapImage):
189         * platform/graphics/BitmapImage.h:
190         (WebCore::BitmapImage::mayFillWithSolidColor):
191         * platform/graphics/Image.h:
192         (WebCore::Image::mayFillWithSolidColor):
193         * platform/graphics/cairo/ImageCairo.cpp:
194         (WebCore::BitmapImage::BitmapImage):
195         (WebCore::BitmapImage::checkForSolidColor):
196         * platform/graphics/cg/ImageCG.cpp:
197         (WebCore::BitmapImage::BitmapImage):
198         (WebCore::BitmapImage::checkForSolidColor):
199         * platform/graphics/qt/ImageQt.cpp:
200         (WebCore::BitmapImage::checkForSolidColor):
201         * platform/graphics/skia/ImageSkia.cpp:
202         (WebCore::BitmapImage::checkForSolidColor):
203         * platform/graphics/wx/ImageWx.cpp:
204         (WebCore::BitmapImage::checkForSolidColor):
205
206 2009-03-02  Gustavo Noronha Silva  <gns@gnome.org>
207
208         Unreviewed build fix; adding missing files to EXTRA_DIST, so that
209         they show up in the tarball.
210
211         * GNUmakefile.am:
212
213 2009-03-02  Dirk Schulze  <krit@webkit.org>
214
215         Reviewed by Holger Freyther.
216
217         Added putImageData to Qt. Discussed with Ariya Hidayat.
218
219         [Qt] lacks putImageData support in Canvas
220         https://bugs.webkit.org/show_bug.cgi?id=22186
221
222         * platform/graphics/qt/ImageBufferQt.cpp:
223         (WebCore::ImageBuffer::putImageData):
224
225 2009-03-02  Timothy Hatcher  <timothy@apple.com>
226
227         Show exception messages again when evaluating bad expressions in the
228         Web Inspector's console.
229
230         https://bugs.webkit.org/show_bug.cgi?id=19890
231
232         Reviewed by Oliver Hunt.
233
234         * bindings/js/JSQuarantinedObjectWrapper.cpp:
235         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
236         Fix the order in which the exception is set and cleared now that the
237         exception is stored in the shared GlobalData, not per ExecState.
238
239 2009-02-28  Timothy Hatcher  <timothy@apple.com>
240
241         Make input in the Web Inspector console print before any output
242         that might be added by the called function.
243
244         https://bugs.webkit.org/show_bug.cgi?id=19931
245
246         Reviewed by Oliver Hunt.
247
248         * inspector/front-end/Console.js:
249         (WebInspector.Console.prototype._enterKeyPressed): Add the command
250         message before evaluating the result. Associate the originating
251         command to the result, so if they are adjacent there is no divider.
252         (WebInspector.ConsoleCommand): No longer take a result.
253         (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
254         code removed since it isn't used now.
255         (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
256         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
257         Call the ConsoleMessage toMessageElement and add a style class.
258         * inspector/front-end/inspector.css: Add a new style class for
259         adjacent results to hide the divider. Also tweak the position of
260         the disclosure triangle for objects to not use the left margin.
261
262 2009-03-01  Chris Fleizach  <cfleizach@apple.com>
263
264         Reviewed by Oliver Hunt.
265
266         Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
267         <https://bugs.webkit.org/show_bug.cgi?id=24282>
268
269         When fetching an array of elements with a range, attachment views need to be returned
270         instead of the actual attachment.
271
272         * page/mac/AccessibilityObjectWrapper.mm:
273         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
274         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
275
276 2009-03-01  Ojan Vafai  <ojan@chromium.org>
277
278         Reviewed by Eric Seidel.
279
280         Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
281         <https://bugs.webkit.org/show_bug.cgi?id=24251>
282         
283         Make RenderObject::positionForCoordinate non-virtual and
284         RenderObject::positionForPoint virtual in preparation for
285         removing positionFor* from RenderObject/RenderText.
286
287         * page/Frame.cpp:
288         (WebCore::Frame::visiblePositionForPoint):
289         * rendering/RenderBR.cpp:
290         (WebCore::RenderBR::positionForPoint):
291         * rendering/RenderBR.h:
292         * rendering/RenderBlock.cpp:
293         (WebCore::RenderBlock::positionForPoint):
294         * rendering/RenderBlock.h:
295         * rendering/RenderBox.cpp:
296         (WebCore::RenderBox::positionForPoint):
297         * rendering/RenderBox.h:
298         * rendering/RenderInline.cpp:
299         (WebCore::RenderInline::positionForPoint):
300         * rendering/RenderInline.h:
301         * rendering/RenderObject.cpp:
302         (WebCore::RenderObject::positionForCoordinates):
303         (WebCore::RenderObject::positionForPoint):
304         * rendering/RenderObject.h:
305         * rendering/RenderReplaced.cpp:
306         (WebCore::RenderReplaced::positionForPoint):
307         * rendering/RenderReplaced.h:
308         * rendering/RenderSVGInlineText.cpp:
309         (WebCore::RenderSVGInlineText::positionForPoint):
310         * rendering/RenderSVGInlineText.h:
311         * rendering/RenderText.cpp:
312         (WebCore::RenderText::positionForPoint):
313         * rendering/RenderText.h:
314
315 2009-03-01  Larry Ewing  <lewing@novell.com>
316
317         Reviewed by Alexey Proskuryakov.
318
319         https://bugs.webkit.org/show_bug.cgi?id=24080
320         NPN_GetValue casting to the wrong type and writing outside bounds
321
322         Make sure to cast the value to the correct type so that only
323         memory owned by the value is written to.
324
325         * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): 
326         * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
327         * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): 
328         (PluginView::getValue):
329
330 2009-03-01  Jeremy Moskovich  <jeremy@chromium.org>
331
332         Reviewed by Simon Fraser.
333
334         https://bugs.webkit.org/show_bug.cgi?id=24197 and
335         https://bugs.webkit.org/show_bug.cgi?id=23512
336
337         The Windows version of cgColor() is conditionally compiled using
338         !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
339         can use the OS X version instead of the Windows version.
340
341         Also rename cgColor() -> createCGColor()
342
343         No observable change in behavior, so no test.
344
345         * platform/graphics/Color.h:
346         * platform/graphics/cg/ColorCG.cpp:
347         (WebCore::createCGColor):
348         * platform/graphics/cg/GraphicsContextCG.cpp:
349         (WebCore::GraphicsContext::setPlatformShadow):
350         * platform/graphics/mac/ColorMac.mm:
351         (WebCore::createCGColor):
352         * platform/graphics/mac/GraphicsContextMac.mm:
353         (WebCore::GraphicsContext::drawFocusRing):
354         * platform/graphics/mac/GraphicsLayerCA.mm:
355         (WebCore::setLayerBorderColor):
356         (WebCore::setLayerBackgroundColor):
357         (WebCore::GraphicsLayerCA::setBackgroundColor):
358         * platform/graphics/win/GraphicsContextCGWin.cpp:
359         (WebCore::GraphicsContext::drawFocusRing):
360         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
361         (WebCore::ciColor):
362
363 2009-03-01  David Levin  <levin@chromium.org>
364
365         Reviewed by Alexey Proskuryakov.
366
367         Bug 24271: XMLHttpRequest needs js bindings for Workers.
368         <https://bugs.webkit.org/show_bug.cgi?id=24271>
369
370         Tests: http/tests/xmlhttprequest/workers/methods-async.html
371                http/tests/xmlhttprequest/workers/methods.html
372
373         * bindings/js/JSWorkerContextBase.cpp:
374         (WebCore::JSWorkerContextBase::getOwnPropertySlot):
375         (jsWorkerContextBaseXMLHttpRequest):
376         (setJSWorkerContextBaseXMLHttpRequest):
377         Expose XMLHttpRequest to Workers.
378
379         * bindings/js/JSWorkerContextBase.h:
380
381         * bindings/js/JSXMLHttpRequestConstructor.cpp:
382         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
383         (WebCore::constructXMLHttpRequest):
384         (WebCore::JSXMLHttpRequestConstructor::mark):
385         Removed the dependencies on Document.
386
387         * bindings/js/JSXMLHttpRequestConstructor.h:
388         (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
389         * dom/EventException.idl:
390         * dom/EventListener.idl:
391         Chnage to have the NoStaticTables attribute since they are used from XHR.
392
393         * loader/WorkerThreadableLoader.cpp:
394         (WebCore::workerContextDidFinishLoading):
395         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
396         Fixed identifier to be unsigned long.
397
398         * loader/WorkerThreadableLoader.h:
399         * workers/WorkerThread.cpp:
400         (WebCore::WorkerThread::workerThread):
401         Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
402
403         * xml/XMLHttpRequestUpload.cpp:
404
405         * xml/XMLHttpRequest.idl:
406         * xml/XMLHttpRequestException.idl:
407         * xml/XMLHttpRequestProgressEvent.idl:
408         * xml/XMLHttpRequestUpload.idl:
409         Chnage to have the NoStaticTables attribute since they are used from XHR.
410
411 2009-03-01  Horia Olaru  <olaru@adobe.com>
412
413         Adding manual debugger test cases for bug.
414
415         https://bugs.webkit.org/show_bug.cgi?id=21073
416
417         Reviewed by Kevin McCullough.
418
419         * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
420         * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
421         * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
422         * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
423         * manual-tests/inspector/resources/loop-statements.js: Added.
424
425 2009-03-01  Dan Bernstein  <mitz@apple.com>
426
427         Reviewed by Darin Adler.
428
429         - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
430
431         Test: fast/events/scroll-during-zoom-change.html
432
433         * dom/Document.cpp:
434         (WebCore::Document::recalcStyle): Pause scheduled events during style
435         reclaculation. Changes to the zoom property result in scroll events
436         being generated during style recalc, and those events need to be
437         deferred until the render tree is consistent.
438         * page/FrameView.cpp:
439         (WebCore::FrameView::layout): Changed to account for a case in which the
440         post-layout tasks trigger a nested layout, which reactivates the
441         post-layout task timer.
442
443 2009-03-01  Ross Boucher  <rboucher@gmail.com>
444
445         Alphabetically sort scripts in the Script's panel file popup menu.
446
447         https://bugs.webkit.org/show_bug.cgi?id=23395
448
449         Reviewed by Timothy Hatcher.
450
451         * inspector/front-end/ScriptsPanel.js:
452         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
453         * inspector/front-end/utilities.js:
454         (insertionIndexForObjectInListSortedByFunction):
455         (indexOfObjectInListSortedByFunction):
456
457 2009-03-01  Yael Aharon  <yael.aharon@nokia.com>
458
459         Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
460         when creating databases, localStorage or sessionStorage. Changing document.domain
461         should have no affect on databases, localStorage and sessionStorage in Web Inspector.
462
463         https://bugs.webkit.org/show_bug.cgi?id=23844
464
465         Reviewed by Timothy Hatcher.
466
467         * inspector/InspectorController.cpp:
468         (WebCore::InspectorController::addDOMStorageScriptResource):
469         (WebCore::InspectorController::didUseDOMStorage):
470         * storage/Database.cpp:
471         (WebCore::Database::openDatabase):
472
473 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
474
475         Reviewed by Holger Freyther.
476
477         Avoid leaking errors when reporting GIO errors.
478
479         * platform/network/soup/ResourceHandleSoup.cpp:
480         (WebCore::readCallback):
481         (WebCore::openCallback):
482         (WebCore::queryInfoCallback):
483
484 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
485
486         Reviewed by Holger Freyther.
487
488         Fixes crash when the GIO backend is given the URI for a directory.
489
490         * platform/network/soup/ResourceHandleSoup.cpp:
491         (WebCore::networkErrorForFile):
492
493 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
494
495         Reviewed by Darin Fisher.
496
497         https://bugs.webkit.org/show_bug.cgi?id=24261
498         Fix V8 custom binding scrubbing error.
499
500         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
501         Test: traversal/exception-forwarding.html
502         TesT: traversal/stay-within-root.html
503
504         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
505         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
506         (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
507         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
508         (WebCore::toV8): Ditto.
509
510 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
511
512         Reviewed by Darin Fisher.
513
514         https://bugs.webkit.org/show_bug.cgi?id=24261
515         Fix V8 custom binding scrubbing error.
516
517         Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
518
519         * WebCore.xcodeproj/project.pbxproj:
520         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
521         (WebCore::cssPropertyName):  Remove dubious checks, left over from
522             incomplete conversion of parameter from pointer to pass-by-ref.
523         (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
524         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
525
526 2009-02-28  Xan Lopez  <xan@gnome.org>
527
528         Reviewed by Holger Freyther.
529
530         https://bugs.webkit.org/show_bug.cgi?id=24263
531         [GTK] ref ResourceHandle until we are finished with it
532
533         Add a ref to the ResourceHandle in startHttp so we can keep it
534         alive untill all callbacks have been executed, and unref it when
535         soup tells us it's done with the SoupMessage (in
536         finishedCallback). Fixes a number of crashes when calling
537         didReceiveData whould crash because of the handle dying.
538
539         * platform/network/soup/ResourceHandleSoup.cpp:
540         (WebCore::finishedCallback):
541         (WebCore::ResourceHandle::startHttp):
542
543 2009-02-28  Adam Bergkvist <adam.bergkvist@ericsson.com>
544
545         Reviewed by Alexey Proskuryakov.
546
547         https://bugs.webkit.org/show_bug.cgi?id=24226
548         [SOUP] HTTP status text is never set
549
550         Set HTTP status text to SoupMessage reason_phrase.
551
552         * platform/network/soup/ResourceHandleSoup.cpp:
553         (WebCore::fillResponseFromMessage):
554
555 2009-02-28  Dan Bernstein  <mitz@apple.com>
556
557         - fix malformed project file
558
559         * WebCore.xcodeproj/project.pbxproj:
560
561 2009-02-28  Dan Bernstein  <mitz@apple.com>
562
563         Reviewed by Oliver Hunt.
564
565         - fix https://bugs.webkit.org/show_bug.cgi?id=23848
566           <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
567
568         Test: fast/layers/inline-dirty-z-order-lists.html
569
570         * rendering/RenderBox.cpp:
571         (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
572         layer's and its stacking context's z-order lists when the layer's
573         z-index or visibility change from here...
574         * rendering/RenderBoxModelObject.cpp:
575         (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
576         it will apply to RenderInline too.
577
578 2009-02-27  Alexey Proskuryakov  <ap@webkit.org>
579
580         Reviewed by David Hyatt.
581
582         Don't include TextResourceDecoder.h in Document.h
583
584         This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
585         when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
586
587         * dom/Document.cpp:
588         (WebCore::Document::displayStringModifiedByEncoding):
589         (WebCore::Document::displayBufferModifiedByEncoding):
590         * dom/Document.h:
591         * WebCore.base.exp:
592
593 2009-02-27  Matt Pennig  <pennig@apple.com>
594
595         Reviewed by David Hyatt.
596
597         Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
598         "Fixed elements have 0 as an offsetLeft property"
599         
600         Code also brings offsetLeft/Top in full conformance with the spec.
601         Added two tests, one for fixed-position elements, and one for <html>.
602         
603         Tests: fast/dom/Element/fixed-position-offset-parent.html
604                fast/dom/Element/offsetLeft-offsetTop-html.html
605
606         * rendering/RenderBoxModelObject.cpp:
607         (WebCore::RenderBoxModelObject::offsetLeft):
608         (WebCore::RenderBoxModelObject::offsetTop):
609
610 2009-02-27  Dean Jackson  <dino@apple.com>
611
612         Reviewed by Simon Fraser.
613
614         renderer()->hasTransform() returns true for elements
615         with perspective, but no transform, so test for transform
616         when hit testing. This fixes ASSERT from
617         https://bugs.webkit.org/show_bug.cgi?id=24252
618
619         Test: transforms/no_transform_hit_testing.html
620
621         * rendering/RenderLayer.cpp:
622         (WebCore::RenderLayer::hitTestLayer):
623
624 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
625
626         Reviewed by Darin Fisher.
627
628         Fix scrubbing error -- a reversed condition.
629
630         * bindings/v8/ScriptValue.h:
631         (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
632
633 2009-02-27  Jian Li  <jianli@chromium.org>
634
635         Reviewed by Alexey Proskuryakov.
636
637         Add confirmMessageFromWorkerObject to WorkerObjectProxy.
638         https://bugs.webkit.org/show_bug.cgi?id=24152
639
640         * workers/WorkerMessagingProxy.cpp:
641         (WebCore::MessageWorkerContextTask::performTask):
642         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
643         * workers/WorkerMessagingProxy.h:
644         * workers/WorkerObjectProxy.h:
645
646 2009-02-27  Anders Carlsson  <andersca@apple.com>
647
648         Reviewed by David Hyatt.
649
650         Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 
651         because it leads to assertion failures in the Mac port.
652         
653         * platform/graphics/BitmapImage.cpp:
654         (WebCore::BitmapImage::BitmapImage):
655         * platform/graphics/BitmapImage.h:
656         (WebCore::BitmapImage::mayFillWithSolidColor):
657         * platform/graphics/Image.h:
658         (WebCore::Image::mayFillWithSolidColor):
659         * platform/graphics/cairo/ImageCairo.cpp:
660         (WebCore::BitmapImage::BitmapImage):
661         * platform/graphics/cg/ImageCG.cpp:
662         (WebCore::BitmapImage::BitmapImage):
663         (WebCore::BitmapImage::checkForSolidColor):
664         * platform/graphics/qt/ImageQt.cpp:
665         (WebCore::BitmapImage::checkForSolidColor):
666         * platform/graphics/skia/ImageSkia.cpp:
667         (WebCore::BitmapImage::checkForSolidColor):
668         * platform/graphics/wx/ImageWx.cpp:
669         (WebCore::BitmapImage::checkForSolidColor):
670
671 2009-02-27  Adam Barth  <abarth@webkit.org>
672
673         Reviewed by Eric Seidel.
674
675         https://bugs.webkit.org/show_bug.cgi?id=20249
676
677         Add a preference to allow universal access from local URLs to mitigate
678         some attacks.  Some clients still want to allow this access, so we
679         expose this as a preference.
680
681         * WebCore.base.exp:
682         * dom/Document.cpp:
683         (WebCore::Document::initSecurityContext):
684         * page/SecurityOrigin.cpp:
685         (WebCore::SecurityOrigin::SecurityOrigin):
686         * page/Settings.cpp:
687         (WebCore::Settings::Settings):
688         (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
689         * page/Settings.h:
690         (WebCore::Settings::allowUniversalAccessFromFileUrls):
691
692 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
693
694         Reviewed by Eric Seidel.
695
696         https://bugs.webkit.org/show_bug.cgi?id=24229
697         If an image has no alpha channel there is no reason to use SourceOver.
698
699         * platform/graphics/qt/ImageQt.cpp:
700         (WebCore::Image::drawPattern):
701         (WebCore::BitmapImage::draw):
702
703 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
704
705         Reviewed by Eric Seidel and Simon Fraser.
706
707         https://bugs.webkit.org/show_bug.cgi?id=24227
708         Ensure that the checkForSolidColor() optimization is correctly triggered
709         for all cases of drawPattern.  Currently, the optimization was not triggered
710         when the check had not been previously performed via a request for the
711         image's NativeImagePtr.
712
713         Implement the Qt version of the checkForSolidColor() method.  Combined with
714         the bug fix this reduces the time it takes to draw a repeating background
715         of a 1x1 image from ~50msecs to ~0msecs on my machine.
716
717         * platform/graphics/BitmapImage.cpp:
718         (WebCore::BitmapImage::BitmapImage):
719         * platform/graphics/BitmapImage.h:
720         (WebCore::BitmapImage::mayFillWithSolidColor):
721         * platform/graphics/Image.h:
722         (WebCore::Image::mayFillWithSolidColor):
723         * platform/graphics/cairo/ImageCairo.cpp:
724         (WebCore::BitmapImage::BitmapImage):
725         * platform/graphics/cg/ImageCG.cpp:
726         (WebCore::BitmapImage::BitmapImage):
727         (WebCore::BitmapImage::checkForSolidColor):
728         * platform/graphics/qt/ImageQt.cpp:
729         (WebCore::BitmapImage::checkForSolidColor):
730         * platform/graphics/skia/ImageSkia.cpp:
731         (WebCore::BitmapImage::checkForSolidColor):
732         * platform/graphics/wx/ImageWx.cpp:
733         (WebCore::BitmapImage::checkForSolidColor):
734
735 2009-02-27  Dirk Schulze  <krit@webkit.org>
736
737         Reviewed by Zack Rusin.
738
739         Added support for gradients and pattern on Fonts for Qt.
740
741         [Qt] gradients and patterns for FontQt
742         https://bugs.webkit.org/show_bug.cgi?id=24243
743
744         * platform/graphics/qt/FontQt.cpp:
745         (WebCore::Font::drawComplexText):
746
747 2009-02-27  Jian Li  <jianli@chromium.org>
748
749         Reviewed by Alexey Proskuryakov.
750
751         WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
752         https://bugs.webkit.org/show_bug.cgi?id=24113
753
754         * workers/WorkerMessagingProxy.cpp:
755
756 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
757
758         Added a refresh button to storage views.
759
760         https://bugs.webkit.org/show_bug.cgi?id=24040
761
762         Reviewed by Timothy Hatcher.
763
764         * inspector/front-end/DOMStorageItemsView.js:
765         (WebInspector.DOMStorageItemsView):
766         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
767         (WebInspector.DOMStorageItemsView.prototype.update):
768         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
769         * inspector/front-end/DatabaseTableView.js:
770         (WebInspector.DatabaseTableView):
771         (WebInspector.DatabaseTableView.prototype.get statusBarItems):
772         (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
773         * inspector/front-end/DatabasesPanel.js:
774         (WebInspector.DatabasesPanel):
775         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
776         (WebInspector.DatabasesPanel.prototype.reset):
777         (WebInspector.DatabasesPanel.prototype.showDatabase):
778         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
779         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
780         * inspector/front-end/inspector.css:
781
782 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
783
784         Added support for editing/deleting localStorage and sessionStorage items
785         directly from Web Inspector.
786
787         https://bugs.webkit.org/show_bug.cgi?id=23866.
788
789         Reviewed by Timothy Hatcher.
790
791         * WebCore.vcproj/WebCore.vcproj:
792         * inspector/front-end/DOMStorageDataGrid.js: Added.
793         (WebInspector.DOMStorageDataGrid):
794         (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
795         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
796         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
797         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
798         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
799         * inspector/front-end/DOMStorageItemsView.js:
800         (WebInspector.DOMStorageItemsView):
801         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
802         (WebInspector.DOMStorageItemsView.prototype.hide):
803         (WebInspector.DOMStorageItemsView.prototype.update):
804         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
805         * inspector/front-end/DatabasesPanel.js:
806         (WebInspector.DatabasesPanel):
807         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
808         (WebInspector.DatabasesPanel.prototype.reset):
809         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
810         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
811         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
812         * inspector/front-end/WebKit.qrc:
813         * inspector/front-end/inspector.css:
814         * inspector/front-end/inspector.html:
815
816 2009-02-26  Brett Wilson  <brettw@chromium.org>
817
818         Fix Windows transparency for the Chromium port. Implement a helper
819         class for handling transparency on Windows. It allows semitransparent
820         ClearType and semitransparent form controls by making new layers in the
821         background.
822
823         It also replaces the "ThemeHelper" which allows better
824         scaling and transforms on Windows form controls. In addition to the
825         functionality that the ThemeHelper did, but additionally handles the
826         antialiasing properly so that the form controls aren't composited on a
827         white square.
828
829         https://bugs.webkit.org/show_bug.cgi?id=24101
830
831         Reviewed by Eric Seidel.
832
833         * platform/graphics/chromium/FontChromiumWin.cpp:
834         (WebCore::):
835         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
836         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
837         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
838         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
839         (WebCore::Font::drawGlyphs):
840         * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
841         * platform/graphics/chromium/ThemeHelperChromiumWin.h:
842         * platform/graphics/chromium/TransparencyWin.cpp: Added.
843         (WebCore::):
844         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
845         (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
846         (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
847         (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
848         (WebCore::TransparencyWin::TransparencyWin):
849         (WebCore::TransparencyWin::~TransparencyWin):
850         (WebCore::TransparencyWin::init):
851         (WebCore::TransparencyWin::computeLayerSize):
852         (WebCore::TransparencyWin::setupLayer):
853         (WebCore::TransparencyWin::setupLayerForNoLayer):
854         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
855         (WebCore::TransparencyWin::setupLayerForTextComposite):
856         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
857         (WebCore::TransparencyWin::setupTransform):
858         (WebCore::TransparencyWin::setupTransformForKeepTransform):
859         (WebCore::TransparencyWin::setupTransformForUntransform):
860         (WebCore::TransparencyWin::setupTransformForScaleTransform):
861         (WebCore::TransparencyWin::setTextCompositeColor):
862         (WebCore::TransparencyWin::initializeNewContext):
863         (WebCore::TransparencyWin::compositeOpaqueComposite):
864         (WebCore::TransparencyWin::compositeTextComposite):
865         (WebCore::TransparencyWin::makeLayerOpaque):
866         * platform/graphics/chromium/TransparencyWin.h: Added.
867         (WebCore::TransparencyWin::):
868         (WebCore::TransparencyWin::context):
869         (WebCore::TransparencyWin::platformContext):
870         (WebCore::TransparencyWin::drawRect):
871         * platform/graphics/skia/GraphicsContextSkia.cpp:
872         (WebCore::GraphicsContext::endTransparencyLayer):
873         * platform/graphics/skia/ImageSkia.cpp:
874         (WebCore::paintSkBitmap):
875         * rendering/RenderThemeChromiumWin.cpp:
876         (WebCore::):
877         (WebCore::RenderThemeChromiumWin::paintButton):
878         (WebCore::RenderThemeChromiumWin::paintMenuList):
879         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
880
881 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
882
883         Reviewed by Eric Seidel.
884
885         https://bugs.webkit.org/show_bug.cgi?id=24211
886         Add ScheduledAction for V8.
887
888         * bindings/v8/ScheduledAction.cpp: Added.
889         (WebCore::ScheduledAction::ScheduledAction):
890         (WebCore::ScheduledAction::~ScheduledAction):
891         (WebCore::ScheduledAction::execute):
892         * bindings/v8/ScheduledAction.h: Added.
893         (WebCore::ScheduledAction::ScheduledAction):
894
895 2009-02-27  Zack Rusin  <zack@kde.org>
896
897         Reviewed by Nikolas Zimmermann.
898
899         Qt: be more reasonable about scrolled lines
900
901         cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
902         match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
903         irritating. so lets scroll vertically by the Qt set number of lines * Qt default
904         single step scroll
905
906         * platform/qt/WheelEventQt.cpp:
907
908 2009-02-27  Xan Lopez  <xan@gnome.org>
909
910         Rubber-stamped by Alexey Proskuryakov.
911
912         https://bugs.webkit.org/show_bug.cgi?id=24222
913         [GTK] Remove checks for old glib versions
914
915         libsoup, which is a hard dependency, needs at least glib 2.15.3,
916         so remove all glib checks for versions older than that.
917
918         * platform/gtk/ContextMenuGtk.cpp:
919         (WebCore::ContextMenu::ContextMenu):
920         * platform/gtk/ContextMenuItemGtk.cpp:
921         (WebCore::ContextMenuItem::setSubMenu):
922         * platform/gtk/PopupMenuGtk.cpp:
923         (WebCore::PopupMenu::show):
924         * platform/gtk/WidgetGtk.cpp:
925         (WebCore::Widget::retainPlatformWidget):
926         * platform/network/soup/ResourceHandleSoup.cpp:
927
928 2009-02-26  Dirk Schulze  <krit@webkit.org>
929
930         Reviewed by Oliver Hunt.
931
932         Added support for Gradients and Patterns on filled or stroked Fonts
933         in Cairo. I also added support for globalAlpha on FontCairo.
934
935         [CAIRO] SVG/Canvas fonts miss gradients/pattern support
936         https://bugs.webkit.org/show_bug.cgi?id=18617
937
938         * html/CanvasRenderingContext2D.cpp:
939         (WebCore::CanvasRenderingContext2D::drawTextInternal):
940         * platform/graphics/cairo/FontCairo.cpp:
941         (WebCore::Font::drawGlyphs):
942
943 2009-02-26  Stephen White  <senorblanco@chromium.org>
944
945         Reviewed by Eric Seidel.
946
947         https://bugs.webkit.org/show_bug.cgi?id=23957
948
949         Fix for SVG gradient and pattern text for Chromium/skia. 
950         Added accessors for the fill and stroke gradients to
951         GraphicsContext.  Changed the paintSkiaText function to take a
952         GraphicsContext, so we can check for gradients/patterns. 
953         Changed the skiaDrawText function to set the SkPaint shader
954         correctly, and to scale up the gradient shader matrix to
955         encompass the entire text string.  Also offset each glyph
956         separately, rather than transforming the canvas, so that the
957         gradient/pattern stays fixed relative to the text origin.
958
959         * platform/graphics/GraphicsContext.cpp:
960         (WebCore::GraphicsContext::getFillGradient):
961         (WebCore::GraphicsContext::getStrokeGradient):
962         (WebCore::GraphicsContext::getFillPattern):
963         (WebCore::GraphicsContext::getStrokePattern):
964         * platform/graphics/GraphicsContext.h:
965         * platform/graphics/chromium/FontChromiumWin.cpp:
966         (WebCore::Font::drawGlyphs):
967         * platform/graphics/chromium/UniscribeHelper.cpp:
968         (WebCore::UniscribeHelper::draw):
969         * platform/graphics/skia/SkiaFontWin.cpp:
970         (WebCore::windowsCanHandleTextDrawing):
971         (WebCore::skiaDrawText):
972         (WebCore::paintSkiaText):
973         * platform/graphics/skia/SkiaFontWin.h:
974
975 2009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
976
977         Reviewed by Eric Seidel.
978
979         https://bugs.webkit.org/show_bug.cgi?id=24208
980         Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
981
982         * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
983         (WebCore::ACCESSOR_GETTER):
984         (WebCore::CALLBACK_FUNC_DECL):
985         * bindings/v8/custom/V8DocumentCustom.cpp: Added.
986         (WebCore::CALLBACK_FUNC_DECL):
987         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
988         (WebCore::ACCESSOR_GETTER):
989         * bindings/v8/custom/V8NodeCustom.cpp: Added.
990         (WebCore::CALLBACK_FUNC_DECL):
991
992 2009-02-26  Gustavo Noronha Silva  <gns@gnome.org>
993
994         Unreviewed build fix for building with GNOME Keyring enabled.
995
996         * platform/network/soup/webkit-soup-auth-dialog.c:
997         (show_auth_dialog):
998
999 2009-02-26  Xan Lopez  <xan@gnome.org>
1000
1001         Reviewed by Holger Freyther.
1002
1003         https://bugs.webkit.org/show_bug.cgi?id=16947
1004         [GTK] Missing HTTP Auth challenge
1005
1006         Add HTTP authentication dialog with optional GNOME Keyring
1007         storage.
1008
1009         * GNUmakefile.am:
1010         * platform/network/ResourceHandleInternal.h:
1011         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1012         * platform/network/soup/ResourceHandleSoup.cpp:
1013         (WebCore::currentToplevelCallback):
1014         (WebCore::ResourceHandle::startHttp):
1015         (WebCore::ResourceHandle::start):
1016         * platform/network/soup/webkit-soup-auth-dialog.c: Added.
1017         (webkit_soup_auth_dialog_class_init):
1018         (webkit_soup_auth_dialog_init):
1019         (webkit_soup_auth_dialog_session_feature_init):
1020         (free_authData):
1021         (set_password_callback):
1022         (response_callback):
1023         (show_auth_dialog):
1024         (find_password_callback):
1025         (session_authenticate):
1026         (attach):
1027         * platform/network/soup/webkit-soup-auth-dialog.h: Added.
1028
1029 2009-02-25  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
1030
1031         Reviewed by Dave Hyatt.
1032
1033         After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
1034         svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
1035         started failing because Ojan's new code was now *correctly* calling through to
1036         SVG asking for the closest text offset in the last line box, instead of
1037         just returning the offset at the end of the last line box when clicking below a box.
1038
1039         But!  The SVG code was wrong, in that it returned the character offset of the last
1040         character when you asked for a character offset after the end of the box, instead
1041         it should return the offset *after* the last character.  This patch fixes
1042         that behavior by reordering the last two clauses in svgCharacterHitsPosition.
1043
1044         The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
1045         to document what's wrong.  I've also cleaned up the code a bit so it's clearer
1046         what it is doing (which also makes more obvious what's wrong with it).
1047
1048         * rendering/RenderSVGInlineText.cpp:
1049         (WebCore::RenderSVGInlineText::positionForCoordinates):
1050         * rendering/SVGInlineTextBox.cpp:
1051         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
1052         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1053         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
1054         (WebCore::SVGInlineTextBox::closestCharacterToPosition):
1055         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
1056
1057 2009-02-26  Darin Fisher  <darin@chromium.org>
1058
1059         Reviewed by Eric Seidel.
1060
1061         Minor cleanup of ChromiumBridge:
1062         Removing unused matchesMIMEType method and s/Javascript/JavaScript/
1063
1064         * platform/chromium/ChromiumBridge.h:
1065         * platform/chromium/MimeTypeRegistryChromium.cpp:
1066         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1067         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1068         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1069
1070 2009-02-26  David Hyatt  <hyatt@apple.com>
1071
1072         Reviewed by Sam Weinig
1073
1074         Fix text-bottom vertical alignment.  It was incorrectly aligning the bottom of the descent instead of including
1075         the line-height below the descent.
1076
1077         Added fast/inline/vertical-align-text-bottom.html
1078
1079         * rendering/RenderBoxModelObject.cpp:
1080         (WebCore::RenderBoxModelObject::verticalPosition):
1081
1082 2009-02-26  Dirk Schulze  <krit@webkit.org>
1083
1084         Reviewed by Eric Seidel.
1085
1086         Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
1087         ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
1088         just to implement this three methods to support SVG Masking now.
1089  
1090         Make SVG Masking platform aware
1091         https://bugs.webkit.org/show_bug.cgi?id=19243
1092
1093         * GNUmakefile.am:
1094         * WebCore.pro:
1095         * WebCore.vcproj/WebCore.vcproj:
1096         * WebCore.xcodeproj/project.pbxproj:
1097         * svg/graphics/SVGResourceMasker.cpp:
1098         (WebCore::SVGResourceMasker::applyMask):
1099         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
1100         * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
1101         * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
1102         * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
1103         * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
1104
1105 2009-02-26  Yong Li  <yong.li@torchmobile.com>
1106
1107         Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
1108
1109         Test: http/tests/misc/slow-preload-cancel.html
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=24133
1112         Clear all pending preloads in the DocLoader object when we decide to
1113         cancel its all requests.
1114
1115         * loader/DocLoader.cpp:
1116         (WebCore::DocLoader::clearPendingPreloads):
1117         * loader/DocLoader.h:
1118         * loader/loader.cpp:
1119         (WebCore::Loader::cancelRequests):
1120
1121 2009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
1122
1123         Reviewed by Eric Seidel.
1124
1125         https://bugs.webkit.org/show_bug.cgi?id=24182
1126         Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
1127
1128         * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
1129         (WebCore::CALLBACK_FUNC_DECL):
1130         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
1131         (WebCore::toV8):
1132         (WebCore::CALLBACK_FUNC_DECL):
1133         * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
1134         (WebCore::toV8):
1135         (WebCore::CALLBACK_FUNC_DECL):
1136
1137 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
1138
1139         Reviewed by Darin Adler.
1140
1141         https://bugs.webkit.org/show_bug.cgi?id=23500
1142         KURL::parse() incorrectly compares its result to original string
1143
1144         * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
1145
1146 2009-02-26  Ojan Vafai  <ojan@chromium.org>
1147
1148         Reviewed by Kevin McCullough.
1149
1150         Manual test for inspector node highlighting.
1151
1152         * manual-tests/inspector/highlight-nodes.html: Added.
1153
1154 2009-02-16  Anantanarayanan Iyengar  <ananta@chromium.org>
1155
1156         Reviewed by Darin Fisher.
1157
1158         https://bugs.webkit.org/show_bug.cgi?id=23973
1159         ScrollView::scrollContents can be invoked during view shutdown.  In
1160         this scenario the FrameView::hostWindow method can return NULL, which
1161         indicates that the frame/page is being destroyed. This causes a crash
1162         when we try to dereference a NULL hostWindow pointer.  Fix is to add a
1163         NULL check for this.  
1164
1165         * platform/ScrollView.cpp:
1166         (WebCore::ScrollView::scrollContents):
1167
1168 2009-02-26  Rahul Kuchhal  <kuchhal@chromium.org>
1169
1170         Reviewed by Dave Hyatt.
1171
1172         https://bugs.webkit.org/show_bug.cgi?id=24003
1173         Fix a crash caused by unsafe type conversion.
1174
1175         Test: fast/block/positioning/absolute-in-inline-rtl-4.html
1176
1177         * rendering/RenderBox.cpp:
1178         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1179
1180 2009-02-26  Ojan Vafai  <ojan@chromium.org>
1181
1182         Reviewed by Adam Roben.
1183
1184         https://bugs.webkit.org/show_bug.cgi?id=24202
1185         Have drawNodeHighlight clip instead of clearing. This makes it work for
1186         both Safari and Chromium since Chromium draws the inspector highlighting
1187         in the same buffer as the page.
1188
1189         * inspector/InspectorController.cpp:
1190         (WebCore::quadToPath):
1191         (WebCore::drawOutlinedQuad):
1192         (WebCore::drawOutlinedQuadWithClip):
1193         (WebCore::drawHighlightForBox):
1194
1195 2009-02-26  David Hyatt  <hyatt@apple.com>
1196
1197         Reviewed by Dan Bernstein & Darin Adler
1198
1199         Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
1200         
1201         Added fast/inline/inline-continuation-borders.html
1202
1203         * rendering/InlineFlowBox.cpp:
1204         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1205
1206 2009-02-26  Simon Fraser  <simon.fraser@apple.com>
1207
1208         Build fix, no review.
1209         
1210         Try to fix the wx build after r41218.
1211
1212         * WebCoreSources.bkl:
1213
1214 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
1215
1216         Reviewed by Darin Adler.
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=19527
1219         ASSERTION FAILED: containerA && containerB
1220
1221         Test: fast/dom/Range/bug-19527.html
1222
1223         * dom/Range.cpp:
1224         (WebCore::Range::isPointInRange):
1225         (WebCore::Range::comparePoint):
1226         Bring the behavior in line with current Firefox, making it impossible for these methods
1227         to pass a null container to compareBoundaryPoints().
1228
1229 2009-02-26  Jonathon Jongsma  <jonathon@quotidian.org>
1230
1231         Reviewed by Holger Freyther.
1232
1233         https://bugs.webkit.org/show_bug.cgi?id=20358
1234
1235         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1236         (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
1237         should set the computed size rather than the specified size, otherwise
1238         the caps just get rendered normal size.
1239
1240 2009-02-26  Benjamin Meyer  <benjamin.meyer@torchmobile.com>
1241
1242         Reviewed by George Staikos.
1243
1244         https://bugs.webkit.org/show_bug.cgi?id=24062
1245         QNetworkCookieJar expects the url and not the policy url.  Sending the
1246         policy url will cause QNetworkCookieJar to behave incorrectly.  One
1247         example would be a cookie that does not have a path or domain.
1248         QNetworkCookieJar will use the url it is given to fill in default values.
1249         This allows setting cookies on the url of the main frame from an iFrame
1250         when the cookie should be set on the url of the iFrame.
1251
1252         Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
1253
1254         * platform/qt/CookieJarQt.cpp:
1255         (WebCore::setCookies):
1256
1257 2009-02-26  Charles Wei  <charles.wei@torchmobile.com.cn>
1258
1259         Reviewed by George Staikos.
1260
1261         make WebKit/Qt compile with SVG disabled
1262
1263         * WebCore.pro:
1264         * platform/graphics/qt/FontPlatformDataQt.cpp:
1265
1266 2009-02-25  Gustavo Noronha Silva  <gns@gnome.org>
1267
1268         Unreviewed build fix. Add WebCore/workers to the list of paths
1269         searched by the bindings generator perl script.
1270
1271         * GNUmakefile.am:
1272
1273 2009-02-25  Sam Weinig  <sam@webkit.org>
1274
1275         Reviewed by Geoffrey Garen.
1276
1277         Add canvas to the list of RenderObjects that can mark a page as
1278         visually not empty.
1279
1280         * rendering/RenderHTMLCanvas.cpp:
1281         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1282
1283 2009-02-25  Eric Carlson  <eric.carlson@apple.com>
1284
1285         Reviewed by Dave Hyatt.
1286
1287         * rendering/RenderBox.cpp:
1288         (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
1289         as RenderMedia with controls always has a layer.
1290
1291 2009-02-25  Dan Bernstein  <mitz@apple.com>
1292
1293         Reviewed by Simon Fraser.
1294
1295         - fix https://bugs.webkit.org/show_bug.cgi?id=24130
1296           <rdar://problem/6618196> Paint very slow when horizontally resizing
1297
1298         Test: fast/gradients/background-clipped.html
1299
1300         * rendering/RenderBoxModelObject.cpp:
1301         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
1302         destination rectangle passed to drawTiledImage() with the dirty
1303         rectangle. This makes it more likely for the destination rect to be
1304         contained in a single tile rect, which results in a faster code path
1305         being taken down the road (just drawing a single tile instead of
1306         tiling).
1307
1308 2009-02-25  Ojan Vafai  <ojan@chromium.org>
1309
1310         Reviewed by Eric Seidel.
1311
1312         Fix test regressions from positionForCoordinates patch.
1313         https://bugs.webkit.org/show_bug.cgi?id=24148
1314
1315         * rendering/RenderBlock.cpp:
1316         (WebCore::positionForPointWithInlineChildren):
1317         Remove ASSERT that placeholder text codepath is hitting.
1318
1319 2009-02-25  Chris Fleizach  <cfleizach@apple.com>
1320
1321         Reviewed by Beth Dakin.
1322
1323         Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
1324         https://bugs.webkit.org/show_bug.cgi?id=24143
1325
1326         When an AX object is marked dirty, do not create AX elements while going up the parent chain.
1327         Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
1328         Make sure the AXObjectWrapper's have an object before calling them
1329         In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
1330
1331         Test: platform/mac-snowleopard/accessibility/table-updating.html
1332
1333         * WebCore.base.exp:
1334         * page/AXObjectCache.cpp:
1335         (WebCore::AXObjectCache::~AXObjectCache):
1336         (WebCore::AXObjectCache::get):
1337         (WebCore::AXObjectCache::getOrCreate):
1338         (WebCore::AXObjectCache::removeAXID):
1339         (WebCore::AXObjectCache::handleActiveDescendantChanged):
1340         (WebCore::AXObjectCache::handleAriaRoleChanged):
1341         * page/AXObjectCache.h:
1342         * page/AccessibilityImageMapLink.cpp:
1343         (WebCore::AccessibilityImageMapLink::parentObject):
1344         * page/AccessibilityListBox.cpp:
1345         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
1346         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1347         * page/AccessibilityListBoxOption.cpp:
1348         (WebCore::AccessibilityListBoxOption::elementRect):
1349         (WebCore::AccessibilityListBoxOption::parentObject):
1350         * page/AccessibilityObject.cpp:
1351         (WebCore::AccessibilityObject::detach):
1352         (WebCore::AccessibilityObject::parentObjectIfExists):
1353         (WebCore::replacedNodeNeedsCharacter):
1354         (WebCore::AccessibilityObject::accessibilityObjectForPosition):
1355         * page/AccessibilityObject.h:
1356         * page/AccessibilityRenderObject.cpp:
1357         (WebCore::AccessibilityRenderObject::firstChild):
1358         (WebCore::AccessibilityRenderObject::lastChild):
1359         (WebCore::AccessibilityRenderObject::previousSibling):
1360         (WebCore::AccessibilityRenderObject::nextSibling):
1361         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
1362         (WebCore::AccessibilityRenderObject::parentObject):
1363         (WebCore::AccessibilityRenderObject::isAttachment):
1364         (WebCore::AccessibilityRenderObject::headingLevel):
1365         (WebCore::AccessibilityRenderObject::anchorElement):
1366         (WebCore::AccessibilityRenderObject::menuForMenuButton):
1367         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
1368         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1369         (WebCore::AccessibilityRenderObject::internalLinkElement):
1370         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
1371         (WebCore::AccessibilityRenderObject::titleUIElement):
1372         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1373         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1374         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1375         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1376         (WebCore::AccessibilityRenderObject::focusedUIElement):
1377         (WebCore::AccessibilityRenderObject::activeDescendant):
1378         (WebCore::AccessibilityRenderObject::observableObject):
1379         (WebCore::AccessibilityRenderObject::childrenChanged):
1380         (WebCore::AccessibilityRenderObject::addChildren):
1381         * page/AccessibilityRenderObject.h:
1382         (WebCore::AccessibilityRenderObject::setRenderObject):
1383         * page/AccessibilityTable.cpp:
1384         (WebCore::AccessibilityTable::addChildren):
1385         (WebCore::AccessibilityTable::headerContainer):
1386         (WebCore::AccessibilityTable::cellForColumnAndRow):
1387         * page/AccessibilityTableCell.cpp:
1388         (WebCore::AccessibilityTableCell::isTableCell):
1389         (WebCore::AccessibilityTableCell::titleUIElement):
1390         * page/AccessibilityTableColumn.cpp:
1391         (WebCore::AccessibilityTableColumn::headerObjectForSection):
1392         * page/AccessibilityTableRow.cpp:
1393         (WebCore::AccessibilityTableRow::isTableRow):
1394         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1395         * page/mac/AXObjectCacheMac.mm:
1396         (WebCore::AXObjectCache::postNotification):
1397         (WebCore::AXObjectCache::postNotificationToElement):
1398         * page/mac/AccessibilityObjectWrapper.mm:
1399         (textMarkerForVisiblePosition):
1400         (AXLinkElementForNode):
1401         (nsStringForReplacedNode):
1402         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
1403         (-[AccessibilityObjectWrapper accessibilityActionNames]):
1404         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1405         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1406         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1407         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1408         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1409         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1410         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
1411         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1412         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1413         (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
1414         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1415         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1416         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1417
1418 2009-02-25  Beth Dakin  <bdakin@apple.com>
1419
1420         Reviewed by Geoff Garen.
1421
1422         Re-working of <rdar://problem/6487249> repro crash in 
1423         WebCore::CSSParser::parseFillImage copying entire contents of this 
1424         page
1425         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1426
1427         Fixes a bunch of layout test failures I caused!
1428
1429         * css/CSSParser.cpp:
1430         (WebCore::CSSParser::parseValue):
1431         (WebCore::CSSParser::parseContent):
1432         (WebCore::CSSParser::parseFillImage):
1433         (WebCore::CSSParser::parseFontFaceSrc):
1434         (WebCore::CSSParser::parseBorderImage):
1435
1436 2009-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
1437
1438         Reviewed by Eric Seidel.
1439
1440         https://bugs.webkit.org/show_bug.cgi?id=24174
1441         Add more V8 custom bindings.
1442
1443         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
1444         (WebCore::hasCSSPropertyNamePrefix):
1445         (WebCore::cssPropertyName):
1446         (WebCore::NAMED_PROPERTY_GETTER):
1447         (WebCore::NAMED_PROPERTY_SETTER):
1448         * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
1449         (WebCore::INDEXED_PROPERTY_GETTER):
1450         (WebCore::CALLBACK_FUNC_DECL):
1451         * bindings/v8/custom/V8EventCustom.cpp: Added.
1452         (WebCore::ACCESSOR_SETTER):
1453         (WebCore::ACCESSOR_GETTER):
1454         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
1455         (WebCore::NAMED_PROPERTY_DELETER):
1456         (WebCore::NAMED_PROPERTY_SETTER):
1457         (WebCore::NAMED_PROPERTY_GETTER):
1458         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
1459         (WebCore::NAMED_PROPERTY_GETTER):
1460         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
1461         (WebCore::INDEXED_PROPERTY_GETTER):
1462         (WebCore::NAMED_PROPERTY_GETTER):
1463         * bindings/v8/custom/V8NodeListCustom.cpp: Added.
1464         (WebCore::NAMED_PROPERTY_GETTER):
1465         * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
1466         (WebCore::NAMED_PROPERTY_GETTER):
1467
1468 2009-02-25  Scott Violet  <sky@google.com>
1469
1470         Reviewed by Dave Hyatt.
1471
1472         https://bugs.webkit.org/show_bug.cgi?id=24171
1473         Provides a RenderTheme method for getting the scroll bar size and
1474         changes RenderListBox to use it. RenderTheme returns a size of regular,
1475         and Mac's override to return small. Changes ScrollbarThemeChromium to
1476         use the scrollbarsize of the scrollbar when getting the size
1477         instead of passing in no-args.
1478
1479         * platform/chromium/ScrollbarThemeChromium.cpp:
1480         (WebCore::ScrollbarThemeChromium::trackRect):
1481         (WebCore::ScrollbarThemeChromium::buttonSize):
1482         * rendering/RenderListBox.cpp:
1483         (WebCore::RenderListBox::createScrollbar):
1484         * rendering/RenderTheme.h:
1485         (WebCore::RenderTheme::scrollbarControlSizeForPart):
1486         * rendering/RenderThemeChromiumMac.h:
1487         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
1488         * rendering/RenderThemeMac.h:
1489         (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
1490
1491 2009-02-25  Beth Dakin  <bdakin@apple.com>
1492
1493         Reviewed by Darin Adler.
1494
1495         Fix for <rdar://problem/6487249> repro crash in 
1496         WebCore::CSSParser::parseFillImage copying entire contents of this 
1497         page
1498         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1499
1500         * css/CSSParser.cpp:
1501         (WebCore::CSSParser::parseValue): Null-check m_styleSheet
1502
1503 2009-02-25  Adam Treat  <adam.treat@torchmobile.com>
1504
1505         Fix the Qt build.
1506
1507         * WebCore.pro:
1508
1509 2009-02-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
1510
1511         Gtk build fix. Not reviewed.
1512
1513         Add files to the build per r41218.
1514         Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
1515
1516         * GNUmakefile.am:
1517         * page/DOMWindow.cpp:
1518
1519 2009-02-25  Zan Dobersek  <zandobersek@gmail.com>
1520
1521         Reviewed by Alexey Proskuryakov.
1522
1523         https://bugs.webkit.org/show_bug.cgi?id=24043
1524         When faced with URLs with unsupported protocol on Gtk port,
1525         report the error through an idle function and return true, so
1526         a proper resource handle is created.
1527
1528         * platform/network/soup/ResourceHandleSoup.cpp:
1529         (WebCore::reportUnknownProtocolError):
1530         (WebCore::ResourceHandle::start):
1531
1532 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
1533
1534         Windows build fix.
1535         Use struct to forward declare ResourceRequest.
1536
1537         * history/HistoryItem.h:
1538         * inspector/InspectorController.h:
1539         * loader/DocumentThreadableLoader.h:
1540         * loader/FrameLoaderClient.h:
1541         * loader/MainResourceLoader.h:
1542         * loader/SubresourceLoader.h:
1543         * loader/SubresourceLoaderClient.h:
1544         * loader/ThreadableLoader.h:
1545         * loader/WorkerThreadableLoader.h:
1546         * platform/CrossThreadCopier.h:
1547         * platform/network/ResourceHandle.h:
1548         * platform/network/ResourceHandleClient.h:
1549         * platform/network/ResourceRequestBase.h:
1550         * platform/network/cf/ResourceRequestCFNet.h:
1551         * xml/XMLHttpRequest.h:
1552
1553 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
1554
1555         Partial Windows build fix.
1556         
1557         * DerivedSources.cpp:
1558         * WebCore.vcproj/WebCore.vcproj:
1559
1560 2009-02-25  Dirk Schulze  <krit@webkit.org>
1561
1562         Reviewed by Oliver Hunt.
1563
1564         Ported arcTo to Qt. Qt has no native support for arcTo. This changes
1565         calculate the behavior of arcTo and draws it with lineTo and arc.
1566
1567         [QT] implement Canvas arcTo
1568         https://bugs.webkit.org/show_bug.cgi?id=23873
1569
1570         * platform/graphics/qt/PathQt.cpp:
1571         (WebCore::Path::addArcTo):
1572
1573 2009-02-25  Simon Fraser  <simon.fraser@apple.com>
1574
1575         Reviewed by Dan Bernstein
1576
1577         Remove idl files from Resources, and sort.
1578         
1579         * WebCore.xcodeproj/project.pbxproj:
1580
1581 2009-02-25  Chris Marrin  <cmarrin@apple.com>
1582
1583         Reviewed by Simon Fraser.
1584
1585         https://bugs.webkit.org/show_bug.cgi?id=23943
1586
1587         Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
1588         the window object. Also added WebKitPoint object, which is passed in and out
1589         of these functions.
1590
1591         Test: fast/dom/Window/webkitConvertPoint.html
1592
1593         * DerivedSources.make:
1594         * WebCore.pro:
1595         * WebCore.vcproj/WebCore.vcproj:
1596         * WebCore.xcodeproj/project.pbxproj:
1597         * WebCoreSources.bkl:
1598         * bindings/js/JSDOMWindowBase.cpp:
1599         (jsDOMWindowBaseWebKitPoint):
1600         (setJSDOMWindowBaseWebKitPoint):
1601         * bindings/js/JSWebKitPointConstructor.cpp: Added.
1602         (WebCore::):
1603         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
1604         (WebCore::constructWebKitPoint):
1605         (WebCore::JSWebKitPointConstructor::getConstructData):
1606         * bindings/js/JSWebKitPointConstructor.h: Added.
1607         (WebCore::JSWebKitPointConstructor::classInfo):
1608         * dom/Node.cpp:
1609         (WebCore::Node::convertToPage):
1610         (WebCore::Node::convertFromPage):
1611         * dom/Node.h:
1612         * page/DOMWindow.cpp:
1613         (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
1614         (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
1615         * page/DOMWindow.h:
1616         * page/DOMWindow.idl:
1617         * page/WebKitPoint.h: Added.
1618         (WebCore::WebKitPoint::create):
1619         (WebCore::WebKitPoint::x):
1620         (WebCore::WebKitPoint::y):
1621         (WebCore::WebKitPoint::setX):
1622         (WebCore::WebKitPoint::setY):
1623         (WebCore::WebKitPoint::WebKitPoint):
1624         * page/WebKitPoint.idl: Added.
1625
1626 2009-02-25  Jian Li  <jianli@chromium.org>
1627
1628         Reviewed by Alexey Proskuryakov.
1629
1630         Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
1631         https://bugs.webkit.org/show_bug.cgi?id=24145
1632
1633         * platform/CrossThreadCopier.cpp:
1634         * platform/CrossThreadCopier.h:
1635
1636 2009-02-25  David Levin  <levin@chromium.org>
1637
1638         Reviewed by Alexey Proskuryakov.
1639
1640         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
1641         <https://bugs.webkit.org/show_bug.cgi?id=23688>
1642
1643         No observable change in behavior, so no test.
1644
1645         * loader/ThreadableLoader.cpp:
1646         (WebCore::ThreadableLoader::loadResourceSynchronously):
1647         * loader/ThreadableLoaderClientWrapper.h:
1648         (WebCore::ThreadableLoaderClientWrapper::clearClient):
1649         (WebCore::ThreadableLoaderClientWrapper::done):
1650         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
1651         (WebCore::ThreadableLoaderClientWrapper::didFail):
1652         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1653         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
1654         Expose whether the loader is done (based on what callbacks were done).
1655
1656         * loader/WorkerThreadableLoader.cpp:
1657         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1658         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
1659         Each loader is given its own mode so that only its callbacks get through the run loop.
1660
1661         The xhr spec says that the readystatechange events are synchronous, so in the case of a
1662         nested sync xhr no readystatechange events should be fired for the outer xhr.
1663
1664         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1665
1666         * loader/WorkerThreadableLoader.h:
1667         (WebCore::WorkerThreadableLoader::create):
1668         (WebCore::WorkerThreadableLoader::done):
1669
1670         * workers/WorkerRunLoop.cpp:
1671         (WebCore::WorkerRunLoop::WorkerRunLoop):
1672         * workers/WorkerRunLoop.h:
1673         (WebCore::WorkerRunLoop::createUniqueId):
1674         Simple method to create a uniqueId on demand with respect to the run loop.
1675
1676         * workers/WorkerThread.h:
1677
1678 2009-02-25  David Levin  <levin@chromium.org>
1679
1680         Reviewed by Alexey Proskuryakov.
1681
1682         Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
1683         <https://bugs.webkit.org/show_bug.cgi?id=24089>
1684
1685         Make threadable loader callbacks to happen during the sync load call.
1686
1687         Changes the behavior of sync xhr for insecure redirects in two ways:
1688         + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
1689         + Throws a network exception which is what other browsers do and what the spec
1690         says to do (http://www.w3.org/TR/XMLHttpRequest/).
1691
1692         * loader/DocumentThreadableLoader.cpp:
1693         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
1694         * loader/DocumentThreadableLoader.h:
1695         * loader/ThreadableLoader.cpp:
1696         (WebCore::ThreadableLoader::loadResourceSynchronously):
1697         * loader/ThreadableLoader.h:
1698         * xml/XMLHttpRequest.cpp:
1699         (WebCore::XMLHttpRequest::XMLHttpRequest):
1700         (WebCore::XMLHttpRequest::loadRequestSynchronously):
1701         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1702         (WebCore::XMLHttpRequest::didFail):
1703         (WebCore::XMLHttpRequest::didFailRedirectCheck):
1704         * xml/XMLHttpRequest.h:
1705
1706 2009-02-24  Chris Marrin  <cmarrin@apple.com>
1707
1708         Reviewed by David Hyatt.
1709
1710         https://bugs.webkit.org/show_bug.cgi?id=23368
1711
1712         Added logic to correctly hit test accelerated layers.
1713
1714         Tests: animations/animation-hit-test-transform.html
1715                animations/animation-hit-test.html
1716                transitions/transition-hit-test-transform.html
1717                transitions/transition-hit-test.html
1718
1719         * page/animation/KeyframeAnimation.cpp:
1720         (WebCore::KeyframeAnimation::animate):
1721         * rendering/RenderLayer.cpp:
1722         (WebCore::RenderLayer::hitTestLayer):
1723         (WebCore::RenderLayer::updateClipRects):
1724         * rendering/RenderLayerBacking.cpp:
1725         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1726
1727 2009-02-25  Alexey Proskuryakov  <ap@webkit.org>
1728
1729         Reviewed by Darin Adler.
1730
1731         https://bugs.webkit.org/show_bug.cgi?id=24067
1732         REGRESSION: Crash in WebCore::Document::initSecurityContext
1733
1734         The crash started to happen when we removed a check for frame->document() being null.
1735         However, the original document shouldn't be null here, because it is needed to alias
1736         security origins. So, this patch fixes the crash by correcting security origin behavior.
1737
1738         Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
1739         This tests for not crashing, and for inheriting the domain from the document being replaced.
1740         Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
1741         domain to remove a prefix from.
1742
1743         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
1744         clearing the frame, so that Document::initSecurityContext() could access the old one.
1745
1746 2009-02-25  Jay Campan  <jcampan@google.com>
1747
1748         Reviewed by Darin Fisher.
1749
1750         https://bugs.webkit.org/show_bug.cgi?id=24066
1751
1752         Items in drop-downs were not painted correctly.  Makes sure the
1753         PopupListBox invalidates in the coordinates of the window as this is
1754         FramelessScrollView::invalidateRect paints to.
1755
1756         * platform/chromium/PopupMenuChromium.cpp:
1757         (WebCore::PopupListBox::invalidateRow):
1758
1759 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
1760
1761         Reviewed by Anders Carlsson
1762
1763         https://bugs.webkit.org/show_bug.cgi?id=15081
1764         
1765         Make display:none work for applet, emebed and object elements
1766         by calling rendererIsNeeded() on superclasses.
1767
1768         Tests: fast/replaced/applet-display-none.html
1769                fast/replaced/embed-display-none.html
1770                fast/replaced/object-display-none.html
1771
1772         * html/HTMLAppletElement.cpp:
1773         (WebCore::HTMLAppletElement::rendererIsNeeded):
1774         * html/HTMLElement.cpp:
1775         (WebCore::HTMLElement::rendererIsNeeded):
1776         * html/HTMLEmbedElement.cpp:
1777         (WebCore::HTMLEmbedElement::rendererIsNeeded):
1778         * html/HTMLObjectElement.cpp:
1779         (WebCore::HTMLObjectElement::rendererIsNeeded):
1780
1781 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
1782
1783         Reviewed by Dave Hyatt
1784
1785         https://bugs.webkit.org/show_bug.cgi?id=24137
1786         
1787         Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
1788         taking perspective and transform-style: preserve-3d into account.
1789         
1790         In order to support transform-style: preserve-3d, which keeps elements in a
1791         3d space, we have to carry along an accumulated matrix in TransformState.
1792         We also need to apply the perspective from the parent, if any, with the
1793         appropriate origin.
1794
1795         * GNUmakefile.am:
1796         * WebCore.base.exp:
1797         * WebCore.pro:
1798         * WebCore.scons:
1799         * WebCore.vcproj/WebCore.vcproj:
1800         * WebCore.xcodeproj/project.pbxproj:
1801         * WebCoreSources.bkl:
1802         * css/CSSComputedStyleDeclaration.cpp:
1803         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1804         * platform/graphics/transforms/TransformationMatrix.cpp:
1805         (WebCore::TransformationMatrix::translate):
1806         (WebCore::TransformationMatrix::translate3d):
1807         (WebCore::TransformationMatrix::translateRight3d):
1808         * platform/graphics/transforms/TransformationMatrix.h:
1809         * rendering/RenderBox.cpp:
1810         (WebCore::RenderBox::mapLocalToAbsolutePoint):
1811         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
1812         * rendering/RenderBox.h:
1813         * rendering/RenderLayer.cpp:
1814         (WebCore::RenderLayer::updateTransform):
1815         (WebCore::RenderLayer::perspectiveTransform):
1816         (WebCore::RenderLayer::perspectiveOrigin):
1817         * rendering/RenderLayer.h:
1818         * rendering/RenderLayerBacking.cpp:
1819         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1820         * rendering/RenderLayerCompositor.cpp:
1821         (WebCore::requiresCompositingLayerForTransform):
1822         (WebCore::RenderLayerCompositor::layerHas3DContent):
1823         * rendering/RenderObject.cpp:
1824         (WebCore::RenderObject::localToAbsolute):
1825         (WebCore::RenderObject::absoluteToLocal):
1826         (WebCore::RenderObject::mapLocalToAbsolutePoint):
1827         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
1828         * rendering/RenderObject.h:
1829         * rendering/RenderTableCell.cpp:
1830         (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
1831         (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
1832         * rendering/RenderTableCell.h:
1833         * rendering/RenderView.cpp:
1834         (WebCore::RenderView::mapLocalToAbsolutePoint):
1835         (WebCore::RenderView::mapAbsoluteToLocalPoint):
1836         * rendering/RenderView.h:
1837         * rendering/TransformState.cpp: Added.
1838         (WebCore::TransformState::move):
1839         (WebCore::TransformState::applyTransform):
1840         (WebCore::TransformState::flatten):
1841         * rendering/TransformState.h: Added.
1842         (WebCore::TransformState::):
1843         (WebCore::TransformState::TransformState):
1844         (WebCore::TransformState::move):
1845         * rendering/style/RenderStyle.h:
1846         (WebCore::InheritedFlags::hasPerspective):
1847
1848 2009-02-24  Sam Weinig  <sam@webkit.org>
1849
1850         Reviewed by David Hyatt.
1851
1852         Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
1853         Regression (r40837): JavaScript image popup doesn't work
1854
1855         Make the getClientRects and getBoundingClientRect methods return rects
1856         relative to the viewport.
1857
1858         Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
1859
1860         * dom/Element.cpp:
1861         (WebCore::Element::getClientRects):
1862         (WebCore::Element::getBoundingClientRect):
1863
1864 2009-02-24  Ojan Vafai  <ojan@chromium.org>
1865
1866         Reviewed by Eric Seidel.
1867
1868         SVG pages don't have a body or an html element! 
1869         Don't return early if there is no body.
1870
1871         * editing/VisiblePosition.cpp:
1872         (WebCore::VisiblePosition::canonicalPosition):
1873
1874 2009-02-23  David Hyatt  <hyatt@apple.com>
1875
1876         Reviewed by Eric Seidel
1877
1878         https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
1879         
1880         This patch reworks the painting of overflow.  There is now the concept of a "self-painting layer."  All
1881         layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
1882         reflections or masks).
1883         
1884         If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
1885         The only difference is that the clip has to be pushed and popped when painting the object's children.
1886         
1887         The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case.  With
1888         the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
1889         use the new functions.
1890         
1891         Hit testing has also been patched to check the overflow clip rect first before recurring into children.
1892         
1893         Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
1894         yet, and scrollbar hit testing was already there anyway.  Now the two code paths are more symmetrical.
1895         
1896         Masks are now treated like normal flow layers (just like reflections).
1897
1898         A couple of test cases have been added to fast/overflow to test the stacking order. 
1899
1900         * rendering/InlineFlowBox.cpp:
1901         (WebCore::InlineFlowBox::nodeAtPoint):
1902         (WebCore::InlineFlowBox::paint):
1903         * rendering/RenderBlock.cpp:
1904         (WebCore::RenderBlock::repaintOverhangingFloats):
1905         (WebCore::RenderBlock::paint):
1906         (WebCore::RenderBlock::paintChildren):
1907         (WebCore::RenderBlock::paintObject):
1908         (WebCore::RenderBlock::paintFloats):
1909         (WebCore::RenderBlock::insertFloatingObject):
1910         (WebCore::RenderBlock::floatRect):
1911         (WebCore::RenderBlock::lowestPosition):
1912         (WebCore::RenderBlock::rightmostPosition):
1913         (WebCore::RenderBlock::leftmostPosition):
1914         (WebCore::RenderBlock::addOverhangingFloats):
1915         (WebCore::RenderBlock::nodeAtPoint):
1916         (WebCore::RenderBlock::hitTestContents):
1917         * rendering/RenderBox.cpp:
1918         (WebCore::RenderBox::nodeAtPoint):
1919         (WebCore::RenderBox::pushContentsClip):
1920         (WebCore::RenderBox::popContentsClip):
1921         * rendering/RenderBox.h:
1922         (WebCore::RenderBox::paintObject):
1923         * rendering/RenderBoxModelObject.cpp:
1924         (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
1925         * rendering/RenderBoxModelObject.h:
1926         * rendering/RenderLayer.cpp:
1927         (WebCore::RenderLayer::paintLayer):
1928         (WebCore::RenderLayer::hitTestLayer):
1929         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1930         (WebCore::RenderLayer::isSelfPaintingLayer):
1931         * rendering/RenderLayer.h:
1932         * rendering/RenderTable.cpp:
1933         (WebCore::RenderTable::paint):
1934         (WebCore::RenderTable::paintObject):
1935         (WebCore::RenderTable::nodeAtPoint):
1936         * rendering/RenderTable.h:
1937         * rendering/RenderTableCell.cpp:
1938         (WebCore::RenderTableCell::paint):
1939         * rendering/RenderTableRow.cpp:
1940         (WebCore::RenderTableRow::nodeAtPoint):
1941         (WebCore::RenderTableRow::paint):
1942         * rendering/RenderTableRow.h:
1943         * rendering/RenderTableSection.cpp:
1944         (WebCore::RenderTableSection::paint):
1945         (WebCore::RenderTableSection::paintObject):
1946         (WebCore::RenderTableSection::nodeAtPoint):
1947         * rendering/RenderTableSection.h:
1948         * rendering/RenderTreeAsText.cpp:
1949         (WebCore::write):
1950         (WebCore::writeLayers):
1951
1952 2009-02-24  David Levin  <levin@chromium.org>
1953
1954         Reviewed by NOBODY (build fix).
1955
1956         Attempted build fix for wx-mac.
1957
1958         * WebCoreSources.bkl:
1959
1960 2009-02-24  David Levin  <levin@chromium.org>
1961
1962         Reviewed by NOBODY (build fix).
1963
1964         Attempted build fixes for qt-linux and wx-mac.
1965
1966         * WebCore.pro:
1967         * webcore-base.bkl:
1968
1969 2009-02-24  Ojan Vafai  <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
1970
1971         Reviewed by Sam Weinig.
1972
1973         Fix null pointer error. If the node is the Document, then ownerDocument() 
1974         returns null, document() does not.
1975
1976         * editing/VisiblePosition.cpp:
1977         (WebCore::VisiblePosition::canonicalPosition):
1978
1979 2009-02-24  Jian Li  <jianli@chromium.org>
1980
1981         Reviewed by NOBODY (attempted build fixes).
1982
1983         Fix build break for Windows and Linux.
1984
1985         * GNUmakefile.am:
1986         * WebCore.vcproj/WebCore.vcproj:
1987
1988 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1989
1990         Reviewed by Eric Seidel.
1991
1992         https://bugs.webkit.org/show_bug.cgi?id=24131
1993         Fix-up COM/RefCounted dichotomy in Chromium port.
1994
1995         * page/chromium/AccessibilityObjectWrapper.h:
1996         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
1997         explicit setting of recount.
1998
1999 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
2000
2001         Reviewed by Eric Seidel.
2002
2003         https://bugs.webkit.org/show_bug.cgi?id=24141
2004         Add clarity to V8 interceptor helper function.
2005
2006         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2007         (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
2008         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2009         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
2010         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2011
2012 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
2013
2014         Reviewed by Eric Seidel
2015
2016         Minor numeric cleanup: convert float literals to doubles.
2017         
2018         * platform/graphics/transforms/RotateTransformOperation.cpp:
2019         (WebCore::RotateTransformOperation::blend):
2020
2021 2009-02-24  Mark Mentovai  <mark@chromium.org>
2022
2023         Reviewed by Eric Seidel.
2024
2025         https://bugs.webkit.org/show_bug.cgi?id=24139
2026         Add missing include.
2027
2028         * bindings/v8/ScriptInstance.h:
2029
2030 2009-02-24  Jian Li  <jianli@chromium.org>
2031
2032         Reviewed by Alexey Proskuryakov.
2033
2034         Move worker related files from dom directory to worker directory under WebCore.
2035         https://bugs.webkit.org/show_bug.cgi?id=24123
2036
2037         * DerivedSources.make:
2038         * GNUmakefile.am:
2039         * WebCore.pro:
2040         * WebCore.scons:
2041         * WebCore.vcproj/MigrateIDLAndScripts:
2042         * WebCore.vcproj/WebCore.vcproj:
2043         * WebCore.xcodeproj/project.pbxproj:
2044         * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
2045         * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
2046         * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
2047         * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
2048         * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
2049         * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
2050         * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
2051         * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
2052         * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
2053         * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
2054         * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
2055         * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
2056         * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
2057         * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
2058         * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
2059         * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
2060         * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
2061         * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
2062         * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
2063         * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
2064
2065 2009-02-05  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
2066
2067         Reviewed by Dave Hyatt.
2068
2069         Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
2070         around divs inside editable regions.
2071         https://bugs.webkit.org/show_bug.cgi?id=23605
2072
2073         Fix clicks outside editable regions from focusing the editable region.
2074         https://bugs.webkit.org/show_bug.cgi?id=23607
2075
2076         Removed editing/selection/contenteditable-click-outside.html as it's
2077         not as useful as our new tests.
2078
2079         Clean up RenderBlock::positionForCoordinates to remove dead code,
2080         duplicate code, and generally make it more readable.
2081
2082         Tests: editing/selection/click-in-margins-inside-editable-div.html
2083                editing/selection/click-in-padding-with-multiple-line-boxes.html
2084                editing/selection/click-outside-editable-div.html
2085
2086         * editing/VisiblePosition.cpp:
2087         (WebCore::VisiblePosition::canonicalPosition):
2088         * rendering/RenderBlock.cpp:
2089         (WebCore::positionForPointRespectingEditingBoundaries):
2090         (WebCore::positionForPointWithInlineChildren):
2091         (WebCore::RenderBlock::positionForCoordinates):
2092         (WebCore::RenderBlock::updateFirstLetter):
2093
2094 2009-02-24  Sam Weinig  <sam@webkit.org>
2095
2096         Reviewed by Geoffrey Garen.
2097
2098         Related to <rdar://problem/6590295>
2099         Allow disabling javascript: urls.
2100
2101         * WebCore.base.exp:
2102         * html/HTMLAnchorElement.cpp:
2103         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2104         * loader/FrameLoader.cpp:
2105         (WebCore::FrameLoader::executeIfJavaScriptURL):
2106         * page/Page.cpp:
2107         (WebCore::Page::Page):
2108         (WebCore::Page::setJavaScriptURLsAreAllowed):
2109         (WebCore::Page::javaScriptURLsAreAllowed):
2110         * page/Page.h:
2111
2112 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
2113
2114         Fix build when ACCELERATED_COMPOSITING is turned on
2115         (overflowList() -> normalFlowList()).
2116     
2117         * rendering/RenderLayerBacking.cpp:
2118         (WebCore::RenderLayerBacking::hasNonCompositingContent):
2119         (WebCore::RenderLayerBacking::paintIntoLayer):
2120         * rendering/RenderLayerCompositor.cpp:
2121         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2122         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2123         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2124         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2125         (WebCore::RenderLayerCompositor::layerHas3DContent):
2126
2127 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
2128
2129         Reviewed by Darin Adler
2130         
2131         https://bugs.webkit.org/show_bug.cgi?id=24135
2132         
2133         Round the FloatPoint returned by absoluteToLocal(), rather than
2134         truncating it.
2135
2136         * dom/MouseRelatedEvent.cpp:
2137         (WebCore::MouseRelatedEvent::receivedTarget):
2138
2139 2009-02-24  Beth Dakin  <bdakin@apple.com>
2140
2141         Reviewed by Sam Weinig.
2142
2143         Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 
2144         Ordered list item marker misaligned when line height is not 1.2 
2145         -and corresponding <rdar://problem/6602506>
2146
2147         This is a regression from http://trac.webkit.org/changeset/40880 
2148         where createInlineBox was taken off of RenderObject and moved to 
2149         RenderBox. The problem was that the RenderBox version still needs 
2150         to be virtual because there is still an existing implementation in 
2151         RenderListMarker. 
2152
2153         * rendering/RenderBox.h:
2154         * rendering/RenderListMarker.cpp:
2155         (WebCore::RenderListMarker::createInlineBox):
2156         * rendering/RenderListMarker.h:
2157
2158 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
2159
2160         Reviewed by Eric Seidel.
2161
2162         https://bugs.webkit.org/show_bug.cgi?id=24128
2163         Upstream more V8 custom bindings: constructors, XSLTProcessor.
2164
2165         * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
2166         (WebCore::CALLBACK_FUNC_DECL):
2167         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
2168         (WebCore::CALLBACK_FUNC_DECL):
2169         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
2170         (WebCore::CALLBACK_FUNC_DECL):
2171         * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
2172         (WebCore::CALLBACK_FUNC_DECL):
2173         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
2174         (WebCore::CALLBACK_FUNC_DECL):
2175         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
2176         (WebCore::CALLBACK_FUNC_DECL):
2177
2178 2009-02-24  David Levin  <levin@chromium.org>
2179
2180         Reviewed by Alexey Proskuryakov.
2181
2182         Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
2183         <https://bugs.webkit.org/show_bug.cgi?id=24090>
2184
2185         No observable change in behavior, so no test.
2186
2187         * dom/WorkerMessagingProxy.cpp:
2188         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2189         (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2190         Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
2191
2192         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
2193
2194         * dom/WorkerMessagingProxy.h:
2195         * loader/ThreadableLoader.cpp:
2196         (WebCore::ThreadableLoader::create):
2197         * loader/WorkerThreadableLoader.cpp:
2198         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2199         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2200         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2201         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2202         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2203         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2204         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2205         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2206         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2207         Changed these methods to post task using a mode.
2208
2209         * loader/WorkerThreadableLoader.h:
2210         (WebCore::WorkerThreadableLoader::create):
2211
2212 2009-02-24  Alexey Proskuryakov  <ap@webkit.org>
2213
2214         Reviewed by Darin Adler.
2215
2216         https://bugs.webkit.org/show_bug.cgi?id=24091
2217         <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
2218
2219         Test: http/tests/appcache/access-via-redirect.php
2220
2221         * loader/appcache/ApplicationCacheGroup.cpp:
2222         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
2223         not the original one.
2224
2225 2009-02-24  Jian Li  <jianli@chromium.org>
2226
2227         Reviewed by Alexey Proskuryakov.
2228
2229         Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
2230         https://bugs.webkit.org/show_bug.cgi?id=24112
2231
2232         * bindings/js/WorkerScriptController.cpp:
2233         * dom/WorkerContext.cpp:
2234
2235 2009-02-23  Antti Koivisto  <antti@apple.com>
2236
2237         Reviewed by Oliver Hunt.
2238
2239         <rdar://problem/6613796> Extended text codecs registered on webview creation
2240
2241         Comparing a text encoding with string "GBK" ended up constructing
2242         TextEncoding("GBK") which in turn initialized all extended
2243         text codecs.
2244
2245         * platform/text/TextCodecICU.cpp:
2246         (WebCore::TextCodecICU::decode):
2247
2248 2009-02-23  Sam Weinig  <sam@webkit.org>
2249
2250         Fix Qt build.
2251
2252         * bridge/qt/qt_runtime.cpp:
2253         (JSC::Bindings::valueRealType):
2254
2255 2009-02-23  Julien Chaffraix  <jchaffraix@webkit.org>
2256
2257         Reviewed by Darin Adler.
2258
2259         Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
2260
2261         The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
2262         element created with createElement could have a wrong nodeName (createElement sets the string as the
2263         localName without checking for a prefix).
2264
2265         The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
2266         and will always succeed.
2267         Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
2268         to ensure that).
2269
2270         Test: fast/dom/cloneNode.html
2271
2272         * dom/Element.cpp:
2273         (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
2274         always return an element.
2275
2276         * html/HTMLElement.cpp:
2277         * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
2278
2279 2009-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
2280
2281         Reviewed by Eric Seidel.
2282
2283         https://bugs.webkit.org/show_bug.cgi?id=24109
2284         Upstream V8 Script abstractions, all except ScriptController.
2285
2286         * bindings/v8/ScriptCachedFrameData.h: Added.
2287         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2288         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
2289         (WebCore::ScriptCachedFrameData::restore):
2290         (WebCore::ScriptCachedFrameData::clear):
2291         (WebCore::ScriptCachedFrameData::domWindow):
2292         * bindings/v8/ScriptCallFrame.cpp: Added.
2293         (WebCore::ScriptCallFrame::ScriptCallFrame):
2294         (WebCore::ScriptCallFrame::~ScriptCallFrame):
2295         (WebCore::ScriptCallFrame::argumentAt):
2296         * bindings/v8/ScriptCallFrame.h: Added.
2297         (WebCore::ScriptCallFrame::functionName):
2298         (WebCore::ScriptCallFrame::sourceURL):
2299         (WebCore::ScriptCallFrame::lineNumber):
2300         (WebCore::ScriptCallFrame::argumentCount):
2301         * bindings/v8/ScriptCallStack.cpp: Added.
2302         (WebCore::ScriptCallStack::ScriptCallStack):
2303         (WebCore::ScriptCallStack::~ScriptCallStack):
2304         (WebCore::ScriptCallStack::at):
2305         * bindings/v8/ScriptCallStack.h: Added.
2306         (WebCore::ScriptCallStack::size):
2307         * bindings/v8/ScriptInstance.cpp: Added.
2308         (WebCore::V8ScriptInstance::V8ScriptInstance):
2309         (WebCore::V8ScriptInstance::~V8ScriptInstance):
2310         (WebCore::V8ScriptInstance::instance):
2311         (WebCore::V8ScriptInstance::clear):
2312         (WebCore::V8ScriptInstance::set):
2313         * bindings/v8/ScriptInstance.h: Added.
2314         (WebCore::V8ScriptInstance::create):
2315         * bindings/v8/ScriptSourceCode.h: Added.
2316         (WebCore::ScriptSourceCode::ScriptSourceCode):
2317         (WebCore::ScriptSourceCode::isEmpty):
2318         (WebCore::ScriptSourceCode::source):
2319         (WebCore::ScriptSourceCode::url):
2320         (WebCore::ScriptSourceCode::startLine):
2321         * bindings/v8/ScriptState.h: Added.
2322         (WebCore::ScriptState::hadException):
2323         (WebCore::ScriptState::setException):
2324         (WebCore::ScriptState::exception):
2325         * bindings/v8/ScriptString.h: Added.
2326         (WebCore::ScriptString::ScriptString):
2327         (WebCore::ScriptString::operator String):
2328         (WebCore::ScriptString::isNull):
2329         (WebCore::ScriptString::size):
2330         (WebCore::ScriptString::operator=):
2331         (WebCore::ScriptString::operator+=):
2332         * bindings/v8/ScriptValue.cpp: Added.
2333         (WebCore::ScriptValue::getString):
2334         * bindings/v8/ScriptValue.h: Added.
2335         (WebCore::ScriptValue::ScriptValue):
2336         (WebCore::ScriptValue::operator=):
2337         (WebCore::ScriptValue::operator==):
2338         (WebCore::ScriptValue::operator!=):
2339         (WebCore::ScriptValue::isNull):
2340         (WebCore::ScriptValue::isUndefined):
2341         (WebCore::ScriptValue::clear):
2342         (WebCore::ScriptValue::~ScriptValue):
2343         (WebCore::ScriptValue::v8Value):
2344
2345 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
2346
2347         Reviewed by Timothy Hatcher.
2348
2349         https://bugs.webkit.org/show_bug.cgi?id=24106
2350         The Qt port is crashing on exit because the tear down procedure involves
2351         the WebCore::InspectorController trying to access the JS execution context
2352         for a page that is being deleted.  This patch amends the inspector so
2353         that it does not try and access the execution context of the WebCore::Page
2354         in the midst of deletion.
2355
2356         * inspector/InspectorController.cpp:
2357         (WebCore::InspectorController::inspectedPageDestroyed):
2358         (WebCore::InspectorController::stopUserInitiatedProfiling):
2359
2360 2009-02-23  David Levin  <levin@chromium.org>
2361
2362         Reviewed by Alexey Proskuryakov.
2363
2364         Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
2365         <https://bugs.webkit.org/show_bug.cgi?id=24088>
2366
2367         No observable change in behavior, so no test.
2368
2369         * loader/DocumentThreadableLoader.cpp:
2370         (WebCore::DocumentThreadableLoader::create):
2371         * loader/ThreadableLoaderClient.h:
2372         (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
2373         * loader/ThreadableLoaderClientWrapper.h:
2374         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2375         * loader/WorkerThreadableLoader.cpp:
2376         (WebCore::workerContextDidFailRedirectCheck):
2377         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2378         * loader/WorkerThreadableLoader.h:
2379         * xml/XMLHttpRequest.cpp:
2380         (WebCore::XMLHttpRequest::didFinishLoading):
2381         * xml/XMLHttpRequest.h:
2382
2383 2009-02-23  David Levin  <levin@chromium.org>
2384
2385         Reviewed by Alexey Proskuryakov.
2386
2387         Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
2388         <https://bugs.webkit.org/show_bug.cgi?id=24047>
2389
2390         Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
2391         using only MessageQueue::waitForMessageFilteredWithTimeout instead
2392         of three different MessageQueue methods.
2393
2394         No observable change in behavior, so no test.
2395
2396         * dom/WorkerRunLoop.cpp:
2397         (WebCore::ModePredicate::operator()):
2398         Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
2399         (WebCore::WorkerRunLoop::runInMode):
2400         * dom/WorkerRunLoop.h:
2401
2402 2009-02-23  David Hyatt  <hyatt@apple.com>
2403
2404         In preparation for making layers for multicol objects (so that they can properly split child layers
2405         into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
2406         of RenderLayer to use the term "normal flow" instead.
2407
2408         Reviewed by Cameron Zwarich
2409
2410         * rendering/RenderLayer.cpp:
2411         (WebCore::RenderLayer::RenderLayer):
2412         (WebCore::RenderLayer::~RenderLayer):
2413         (WebCore::RenderLayer::setHasVisibleContent):
2414         (WebCore::RenderLayer::enclosingCompositingLayer):
2415         (WebCore::RenderLayer::addChild):
2416         (WebCore::RenderLayer::removeChild):
2417         (WebCore::RenderLayer::paintLayer):
2418         (WebCore::RenderLayer::hitTestLayer):
2419         (WebCore::RenderLayer::dirtyNormalFlowList):
2420         (WebCore::RenderLayer::updateNormalFlowList):
2421         (WebCore::RenderLayer::collectLayers):
2422         (WebCore::RenderLayer::updateLayerListsIfNeeded):
2423         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2424         (WebCore::RenderLayer::styleChanged):
2425         * rendering/RenderLayer.h:
2426         (WebCore::RenderLayer::isNormalFlowOnly):
2427         (WebCore::RenderLayer::normalFlowList):
2428         * rendering/RenderTreeAsText.cpp:
2429         (WebCore::writeLayers):
2430
2431 2009-02-23  David Hyatt  <hyatt@apple.com>
2432
2433         Fix the stacking order for column rules in multi-column layout.  Column rules should paint as part of the background of an element, just
2434         after all other components of the background have been painted.  This allows negative z-index children to still paint on top of the
2435         column rules (rather than ending up above the background of the box but behind the column rules).
2436
2437         Reviewed by Eric Seidel
2438
2439         Added fast/multicol/column-rules-stacking.html
2440
2441         * rendering/RenderBlock.cpp:
2442         (WebCore::RenderBlock::paintColumnRules):
2443         (WebCore::RenderBlock::paintColumnContents):
2444         (WebCore::RenderBlock::paintObject):
2445         * rendering/RenderBlock.h:
2446
2447 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
2448
2449         Reviewed by David Hyatt.
2450
2451         No testcases have been added or modified since this patch should not result in
2452         a behavior change for ports that have layout tests enabled.
2453
2454         Currently, the implementation of GraphicsContext::drawLineForText amongst
2455         the various ports differ in that some of them are honoring the context's
2456         strokeStyle when drawing a text-decoration and some of them are not.
2457         For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
2458         but the Cairo implementation does and has an explicit workaround that
2459         sets the strokeStyle() temporarily.
2460
2461         This patch fixes so that all ports are consistent by explicitly making sure
2462         to set the GraphicsContext strokeStyle to SolidStroke whenever
2463         painting the text-decoration of an InlineFlowBox or InlineTextBox as these
2464         should always use a solid stroke.
2465
2466         This patch addresses these bugs:
2467         https://bugs.webkit.org/show_bug.cgi?id=19364
2468         https://bugs.webkit.org/show_bug.cgi?id=15659
2469
2470         * rendering/InlineFlowBox.cpp:
2471         (WebCore::InlineFlowBox::paintTextDecorations):
2472         * rendering/InlineTextBox.cpp:
2473         (WebCore::InlineTextBox::paintDecoration):
2474
2475 2009-02-23  Scott Violet  <sky@google.com>
2476
2477         Reviewed by Eric Seidel.
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=24098
2480         Bugs in ClipboardChromium
2481
2482         Fixes the following bugs in ClipboardChromium:
2483         * It's possible for the extension to be empty, resulting in a bad file
2484           name, for example, 'foo.' or just '.'.
2485         * We weren't restricting the size of the file to MAX_PATH.
2486         * We weren't removing characters that are invalid for file system names.
2487
2488         * platform/chromium/ClipboardChromium.cpp:
2489         (WebCore::writeImageToDataObject):
2490         * platform/chromium/ClipboardChromium.h:
2491         * platform/chromium/ClipboardChromiumLinux.cpp: Added.
2492         (WebCore::ClipboardChromium::validateFileName):
2493         * platform/chromium/ClipboardChromiumMac.cpp: Added.
2494         (WebCore::ClipboardChromium::validateFileName):
2495         * platform/chromium/ClipboardChromiumWin.cpp: Added.
2496         (WebCore::isInvalidFileCharacter):
2497         (WebCore::ClipboardChromium::validateFileName):
2498
2499 2009-02-23  Thiago Macieira  <thiago.macieira@nokia.com>
2500
2501         Reviewed by Simon Hausmann.
2502
2503         Fix the Copyright notices in a few files
2504
2505         * platform/qt/RenderThemeQt.h:
2506
2507 2009-02-23  Xan Lopez  <xan@gnome.org>
2508
2509         Reviewed by Alexey Proskuryakov.
2510
2511         https://bugs.webkit.org/show_bug.cgi?id=22624
2512         [SOUP][GTK] Need API to get SoupSession from WebKit.
2513
2514         Allow to retrieve the Soup session and modify the code to take
2515         into account users changing features on it.
2516
2517         * platform/network/ResourceHandle.h:
2518         * platform/network/soup/CookieJarSoup.cpp:
2519         (WebCore::defaultCookieJar):
2520         (WebCore::setDefaultCookieJar):
2521         * platform/network/soup/CookieJarSoup.h:
2522         * platform/network/soup/ResourceHandleSoup.cpp:
2523         (WebCore::createSoupSession):
2524         (WebCore::ensureSessionIsInitialized):
2525         (WebCore::ResourceHandle::startHttp):
2526         (WebCore::ResourceHandle::cancel):
2527         (WebCore::ResourceHandle::defaultSession):
2528
2529 2009-02-23  Xan Lopez  <xan@gnome.org>
2530
2531         Reviewed by Alexey Proskuryakov.
2532
2533         https://bugs.webkit.org/show_bug.cgi?id=22624
2534         [SOUP][GTK] Need API to get SoupSession from WebKit.
2535
2536         Remove CURL support.
2537
2538         * GNUmakefile.am:
2539
2540 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2541
2542         Reviewed by Mark Rowe.
2543
2544         Test: fast/dom/empty-hash-and-search.html
2545
2546         https://bugs.webkit.org/show_bug.cgi?id=21147
2547         hash property returns incorrect value for links w/o hash
2548
2549         Make hash() and search() behavior for empty and missing parts match IE and Firefox.
2550
2551         * platform/KURL.cpp:
2552         (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
2553         (WebCore::KURL::prettyURL): Append the query with the question mark.
2554
2555         * page/Location.cpp:
2556         (WebCore::Location::search): Return an empty string if query is empty or missing.
2557         (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
2558
2559         * dom/WorkerLocation.cpp:
2560         (WebCore::WorkerLocation::search):
2561         (WebCore::WorkerLocation::hash):
2562         Match document.location fixes above.
2563
2564         * html/HTMLAnchorElement.cpp:
2565         (WebCore::HTMLAnchorElement::hash):
2566         (WebCore::HTMLAnchorElement::search):
2567         Return an empty string for empty and missing parts.
2568
2569 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2570
2571         Reviewed by Darin Adler.
2572
2573         https://bugs.webkit.org/show_bug.cgi?id=20184
2574         SELECT with no name generates invalid query string
2575
2576         Test: fast/forms/select-no-name.html
2577
2578         * html/HTMLSelectElement.cpp:
2579         (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
2580
2581 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2582
2583         Apply review comments for the previous check-in (forgot to save the file, oops).
2584
2585         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
2586
2587 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2588
2589         Reviewed by Darin Adler.
2590
2591         https://bugs.webkit.org/show_bug.cgi?id=15707
2592         Crash when manipulating document from within an iframe onload function
2593
2594         Test: fast/dom/onload-open.html
2595
2596         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
2597         the current node, because anything can happen when dispatching events.
2598
2599 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2600
2601         Reviewed by Darin Adler.
2602
2603         https://bugs.webkit.org/show_bug.cgi?id=18970
2604         Numerically named input fields cause document.forms loop problems
2605
2606         Test: fast/forms/numeric-input-name.html
2607
2608         * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
2609         latter overrides properties.
2610
2611 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
2612
2613         Reviewed by Sam Weinig.
2614
2615         https://bugs.webkit.org/show_bug.cgi?id=24059
2616         Tokenizer::write() return value is never used
2617
2618         * dom/Tokenizer.h:
2619         * dom/XMLTokenizer.cpp:
2620         (WebCore::XMLTokenizer::write):
2621         * dom/XMLTokenizer.h:
2622         * html/HTMLTokenizer.cpp:
2623         (WebCore::HTMLTokenizer::write):
2624         * html/HTMLTokenizer.h:
2625         * loader/FTPDirectoryDocument.cpp:
2626         (WebCore::FTPDirectoryTokenizer::write):
2627         * loader/ImageDocument.cpp:
2628         (WebCore::ImageTokenizer::write):
2629         * loader/MediaDocument.cpp:
2630         (WebCore::MediaTokenizer::write):
2631         * loader/PluginDocument.cpp:
2632         (WebCore::PluginTokenizer::write):
2633         * loader/TextDocument.cpp:
2634         (WebCore::TextTokenizer::write):
2635         Made write() return void, not bool.
2636
2637 2009-02-20  Geoffrey Garen  <ggaren@apple.com>
2638
2639         Reviewed by Sam Weinig.
2640
2641         Updated for JavaScriptCore changes to timeout checking.
2642
2643         * bindings/js/JSCustomPositionCallback.cpp:
2644         (WebCore::JSCustomPositionCallback::handleEvent):
2645         * bindings/js/JSCustomPositionErrorCallback.cpp:
2646         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2647         * bindings/js/JSCustomSQLStatementCallback.cpp:
2648         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2649         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2650         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2651         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2652         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2653         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2654         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2655         * bindings/js/JSCustomVoidCallback.cpp:
2656         (WebCore::JSCustomVoidCallback::handleEvent):
2657         * bindings/js/JSCustomXPathNSResolver.cpp:
2658         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2659         * bindings/js/JSDOMWindowBase.cpp:
2660         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2661         (WebCore::JSDOMWindowBase::commonJSGlobalData):
2662         * bindings/js/JSEventListener.cpp:
2663         (WebCore::JSAbstractEventListener::handleEvent):
2664         * bindings/js/ScheduledAction.cpp:
2665         (WebCore::ScheduledAction::executeFunctionInContext):
2666         * bindings/js/ScriptController.cpp:
2667         (WebCore::ScriptController::evaluate):
2668         * bindings/js/WorkerScriptController.cpp:
2669         (WebCore::WorkerScriptController::evaluate):
2670         (WebCore::WorkerScriptController::forbidExecution):
2671         * bindings/objc/WebScriptObject.mm:
2672         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2673         (-[WebScriptObject evaluateWebScript:]):
2674         * bridge/NP_jsobject.cpp:
2675         (_NPN_InvokeDefault):
2676         (_NPN_Invoke):
2677         (_NPN_Evaluate):
2678         (_NPN_Construct):
2679         * bridge/jni/jni_jsobject.mm:
2680         (JavaJSObject::call):
2681         (JavaJSObject::eval):
2682
2683 2009-02-21  Hironori Bono  <hbono@chromium.org>
2684
2685         Reviewed by Alexey Proskuryakov.
2686
2687         https://bugs.webkit.org/show_bug.cgi?id=23786
2688         [Chromium] line-break characters in a complex text are treated as zero-width spaces
2689
2690         This change prevents the UniscribeHelper class from treating the line-break characters
2691         as whitespaces.
2692
2693         Tests: fast/text/international/bidi-linebreak-001.html
2694                fast/text/international/bidi-linebreak-002.html
2695                fast/text/international/bidi-linebreak-003.html
2696
2697         * platform/graphics/chromium/UniscribeHelper.cpp:
2698         (WebCore::UniscribeHelper::adjustSpaceAdvances):
2699         Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
2700         the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
2701         so does when Chromium renders a simple text.
2702
2703 2009-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
2704
2705         Reviewed by Alexey Proskuryakov.
2706
2707         Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
2708
2709         Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
2710         or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
2711         unneeded.
2712
2713         It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
2714         enables us to use some generated QualifiedName.
2715
2716         * bindings/js/JSOptionConstructor.cpp:
2717         (WebCore::constructHTMLOptionElement):
2718         * dom/Document.cpp:
2719         (WebCore::Document::setTitle):
2720         * dom/XMLTokenizer.cpp:
2721         (WebCore::createXHTMLParserErrorHeader):
2722         (WebCore::XMLTokenizer::insertErrorMessageBlock):
2723         * editing/CompositeEditCommand.cpp:
2724         (WebCore::createBlockPlaceholderElement):
2725         * editing/htmlediting.cpp:
2726         (WebCore::createTabSpanElement):
2727         * html/HTMLSelectElement.cpp:
2728         (WebCore::HTMLSelectElement::setLength):
2729         * loader/FTPDirectoryDocument.cpp:
2730         (WebCore::FTPDirectoryTokenizer::appendEntry):
2731         (WebCore::FTPDirectoryTokenizer::createTDForFilename):
2732         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
2733         (WebCore::FTPDirectoryTokenizer::createBasicDocument):
2734         * loader/ImageDocument.cpp:
2735         (WebCore::ImageDocument::createDocumentStructure):
2736         * loader/MediaDocument.cpp:
2737         (WebCore::MediaTokenizer::createDocumentStructure):
2738         * loader/PluginDocument.cpp:
2739         (WebCore::PluginTokenizer::createDocumentStructure):
2740         * loader/TextDocument.cpp:
2741         (WebCore::TextTokenizer::write):
2742         * page/Frame.cpp:
2743         (WebCore::Frame::selectionComputedStyle):
2744         (WebCore::Frame::styleForSelectionStart):
2745         Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
2746
2747         * xml/XPathFunctions.cpp:
2748         (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
2749         * page/DragController.cpp:
2750         (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
2751
2752 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
2753
2754         Reviewed by Eric Seidel.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=24060
2757         Fix up to accommodate for CanvasPixelArray return.
2758
2759         * platform/graphics/skia/ImageBufferSkia.cpp:
2760         (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
2761         (WebCore::ImageBuffer::putImageData): Ditto.
2762
2763 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
2764
2765         Simon Fraser
2766
2767         https://bugs.webkit.org/show_bug.cgi?id=24042
2768         Bug 24042: MediaPlayer should cache plug-in proxy
2769
2770         The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
2771         MediaPlayer will always have created the private media player object before
2772         the plug-in is instantiated and calls back with the proxy object. This is not
2773         true on all platforms because of threading latency, so MediaPlayer should
2774         cache the plug-in proxy so it can pass it to the media engine at a later time.
2775
2776         * platform/graphics/MediaPlayer.cpp:
2777         (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
2778         (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
2779         (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
2780         (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
2781         (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
2782         (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
2783         * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
2784
2785 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
2786
2787         Simon Fraser.
2788
2789         https://bugs.webkit.org/show_bug.cgi?id=24063
2790         Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
2791
2792         * html/HTMLMediaElement.cpp:
2793         (WebCore::HTMLMediaElement::HTMLMediaElement):  Rename m_loadRestrictions to m_Restrictions.
2794         Initialize m_internalCall.
2795         (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
2796         (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
2797         (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
2798         (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
2799         (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
2800         (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
2801         (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
2802         (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
2803         (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
2804         (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
2805         * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
2806         add RequireUserGestureRateChangeRestriction.
2807
2808 2009-02-20  Darin Fisher  <darin@chromium.org>
2809
2810         Fix build bustage in FileSystemWin.cpp.
2811
2812         Need to return CString() instead of 0 since there are now two CString
2813         constructors that take a pointer type.
2814
2815         * platform/win/FileSystemWin.cpp:
2816         (WebCore::openTemporaryFile):
2817
2818 2009-02-20  Dimitri Glazkov  <dglazkov@chromium.org>
2819
2820         Reviewed by Sam Weinig.
2821
2822         https://bugs.webkit.org/show_bug.cgi?id=23999
2823         Change license headers to accurately reflect code history.
2824
2825         * platform/ContentType.cpp:
2826         * platform/ContentType.h:
2827
2828 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
2829
2830         Reviewed by Antti Koivisto.
2831
2832         https://bugs.webkit.org/show_bug.cgi?id=23999
2833         Split off MIME type parsing into its own class.
2834
2835         * GNUmakefile.am: Added ContentType sources.
2836         * WebCore.pro: Ditto.
2837         * WebCore.scons: Ditto.
2838         * WebCore.vcproj/WebCore.vcproj: Ditto.
2839         * WebCore.xcodeproj/project.pbxproj: Ditto.
2840         * WebCoreSources.bkl: Ditto.
2841         * html/HTMLMediaElement.cpp: Changed to use ContentType.
2842         (WebCore::HTMLMediaElement::selectMediaURL):
2843         * platform/ContentType.cpp: Added.
2844         (WebCore::ContentType::ContentType):
2845         (WebCore::ContentType::parameter):
2846         (WebCore::ContentType::type):
2847         * platform/ContentType.h: Added.
2848         (WebCore::ContentType::raw):
2849         * platform/MIMETypeRegistry.cpp:
2850         * platform/MIMETypeRegistry.h:
2851         * platform/graphics/MediaPlayer.cpp:
2852         (WebCore::MediaPlayer::load):
2853         * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
2854         * rendering/style/RenderStyleConstants.h: Ditto.
2855         (WebCore::):
2856
2857 2009-02-20  Holger Hans Peter Freyther  <zecke@selfish.org>
2858
2859         Unreviewed build fix.
2860
2861         Use CString() instead of 0.
2862
2863         * platform/gtk/FileSystemGtk.cpp:
2864         (WebCore::openTemporaryFile):
2865         * platform/qt/FileSystemQt.cpp:
2866         (WebCore::openTemporaryFile):
2867
2868 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
2869
2870         Reviewed by Holger Freyther.
2871
2872         When dealing with local files, use a path instead of an URI. GFile
2873         has problems decoding URIs with percent signs on them.
2874
2875         * platform/network/soup/ResourceHandleSoup.cpp:
2876         (WebCore::ResourceHandle::startGio):
2877
2878 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
2879
2880         Reviewed by Holger Freyther.
2881
2882         Protect the ResourceHandle instance from being destroyed by
2883         didReceiveData inside the GIO readCallback call, so that
2884         cancelling caused by scripts is handled correctly.
2885
2886         * platform/network/soup/ResourceHandleSoup.cpp:
2887         (WebCore::readCallback):
2888
2889 2009-02-20  David Kilzer  <ddkilzer@apple.com>
2890
2891         Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
2892
2893         Reviewed by Sam Weinig.
2894
2895         * loader/icon/IconDatabaseNone.cpp:
2896         (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
2897         (WebCore::IconDatabase::open): Commented out unused parameter.
2898         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
2899         (WebCore::IconDatabase::iconForPageURL): Ditto.
2900         (WebCore::IconDatabase::iconURLForPageURL): Ditto.
2901         (WebCore::IconDatabase::defaultIcon): Ditto.
2902         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
2903         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
2904         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
2905         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
2906         (WebCore::IconDatabase::setEnabled): Ditto.
2907         (WebCore::IconDatabase::pageURLMappingCount): Added stub.
2908         (WebCore::IconDatabase::retainedPageURLCount): Ditto.
2909         (WebCore::IconDatabase::iconRecordCount): Ditto.
2910         (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
2911
2912 2009-02-20  David Kilzer  <ddkilzer@apple.com>
2913
2914         Add comment to generated code when shadowing a built-in object
2915
2916         Reviewed by Sam Weinig.
2917
2918         * bindings/scripts/CodeGeneratorJS.pm: Added comment to
2919         generated code output.
2920
2921 2009-02-20  Avi Drissman  <avi@chromium.org>
2922
2923         Reviewed by Eric Seidel.
2924
2925         https://bugs.webkit.org/show_bug.cgi?id=24036
2926         Keyboard events need disambiguation on the Linux platform too.
2927
2928         * platform/chromium/PlatformKeyboardEventChromium.cpp:
2929         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2930
2931 2009-02-19  Darin Fisher  <darin@chromium.org>
2932
2933         Reviewed by Eric Seidel.
2934
2935         https://bugs.webkit.org/show_bug.cgi?id=24046
2936
2937         Several improvements to CString:
2938         1- Make it possible to initialize a CString from a CStringBuffer
2939         2- Make it possible to get a CStringBuffer from a CString
2940         3- Change CStringBuffer::data() to return a const pointer to ward off mutation
2941         4- Remove unused releaseBuffer() methods.
2942         5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
2943
2944         * platform/text/CString.cpp:
2945         (WebCore::CString::init):
2946         (WebCore::CString::mutableData):
2947         (WebCore::CString::newUninitialized):
2948         (WebCore::CString::copyBufferIfNeeded):
2949         * platform/text/CString.h:
2950         (WebCore::CStringBuffer::data):
2951         (WebCore::CStringBuffer::length):
2952         (WebCore::CStringBuffer::create):
2953         (WebCore::CStringBuffer::mutableData):
2954         (WebCore::CString::CString):
2955         (WebCore::CString::buffer):
2956
2957 2009-02-19  Dmitry Titov  <dimich@chromium.org>
2958
2959         Reviewed by Alexey Proskuryakov.
2960
2961         https://bugs.webkit.org/show_bug.cgi?id=24017
2962         Remove some usage of Document in Worker.
2963
2964         * dom/WorkerContext.h:
2965         (WebCore::WorkerContext::userAgent):
2966         * dom/Document.cpp:
2967         (WebCore::Document::userAgent):
2968         * dom/Document.h:
2969         * dom/ScriptExecutionContext.h:
2970         Added virtual ScriptExecutionContext::userAgent(const KURL&).
2971         Document implementation uses FrameLoader::userAgent and
2972         WorkerContext receives the string on creation and stores it in a member.
2973
2974         * dom/Worker.cpp:
2975         (WebCore::Worker::Worker):
2976         (WebCore::Worker::notifyFinished):
2977         * dom/Worker.h:
2978         (WebCore::Worker::create):
2979         Instead of Document the Worker constructor now gets a ScriptExecutionContext.
2980         Start using some methods on SEC (like completeURL() and userAgent()).
2981         For others, explicitly case to Document and add a FIXME.
2982         Remove Worker::document() too.
2983
2984 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
2985
2986         Rubber-stamped by Holger Freyther.
2987
2988         Do not set httpStatus to SOUP_STATUS_OK when serving local files
2989         to match other ports' behavior, fixing xmlhttprequest test
2990         regressions.
2991
2992         * platform/network/soup/ResourceHandleSoup.cpp:
2993         (WebCore::queryInfoCallback):
2994
2995 2009-02-19  Dan Bernstein  <mitz@apple.com>
2996
2997         Reviewed by Sam Weinig.
2998
2999         - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
3000           Do not send loader callbacks during CSS styling
3001
3002         Undo the iChat-specific quirk added in
3003         <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
3004         cache client callbacks during attach() and recalcStyle().
3005
3006         * WebCore.base.exp: Removed
3007         Settings::setNeedsIChatMemoryCacheCallsQuirk().
3008         * dom/ContainerNode.cpp:
3009         (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
3010         cache client callbacks and remember to enable them afterwards if needed.
3011         (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
3012         cache client callbacks if they were disabled in
3013         suspendPostAttachCallbacks().
3014         (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
3015         resumePostAttachCallbacks().
3016         * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
3017         and resumePostAttachCallbacks() non-static.
3018         * dom/Document.cpp:
3019         (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
3020         workaround.
3021         * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
3022         related code.
3023         (WebCore::Settings::Settings):
3024         * page/Settings.h:
3025
3026 2009-02-19  Holger Hans Peter Freyther  <zecke@selfish.org>
3027
3028         Unreviewed build fix.
3029
3030         Build fix after r41092. Make the memoryUsage method
3031         public. It will be shadowed by cf/mac and for curl/soup/qt
3032         the implementation from ResourceResponseBase will be used.
3033
3034         * platform/network/ResourceResponseBase.h:
3035         (WebCore::ResourceResponseBase::memoryUsage):
3036
3037 2009-02-19  Beth Dakin  <bdakin@apple.com>
3038
3039         Reviewed by Dave Hyatt.
3040
3041         Fix for <rdar://problem/6077775> Should be able to specify
3042         inactive ::selection color
3043
3044         This patch makes the ::selction pseudo-element work with
3045         the :window-inactive pseudo type. This was, a user can specify a
3046         different ::selection style when a window is inactive.
3047
3048         * css/CSSStyleSelector.cpp:
3049         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3050         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3051         * rendering/RenderObject.cpp:
3052         (WebCore::RenderObject::selectionBackgroundColor):
3053         (WebCore::RenderObject::selectionForegroundColor):
3054
3055 2009-02-19  Sam Weinig  <sam@webkit.org>
3056
3057         Reviewed by Beth Dakin.
3058
3059         Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
3060         Update querySelector/querySelectorAll to match the latest spec
3061
3062         Update querySelector and querySelectorAll to match the latest version
3063         of the Selectors API spec.  We now stringify null and undefined to "null"
3064         and "undefined" respectively instead of to "".
3065
3066         Test: fast/dom/SelectorAPI/undefined-null-stringify.html
3067
3068         * dom/Document.idl:
3069         * dom/DocumentFragment.idl:
3070         * dom/Element.idl:
3071
3072 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
3073
3074         Reviewed by Geoffrey Garen.
3075
3076         https://bugs.webkit.org/show_bug.cgi?id=23732
3077         Rework CachedResource overhead accounting to allow platforms to diverge
3078         in numbers.
3079
3080         * loader/CachedResource.cpp:
3081         (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
3082         for its size and to use actual URL size.
3083         * platform/network/ResourceResponseBase.h:
3084         (WebCore::ResourceResponseBase::size): Added default size method.
3085         * platform/network/cf/ResourceResponse.h:
3086         (WebCore::ResourceResponse::size): Added Win/CF size method
3087         * platform/network/mac/ResourceResponse.h:
3088         (WebCore::ResourceResponse::size): Added Mac size method.
3089
3090 2009-02-19  Anders Carlsson  <andersca@apple.com>
3091
3092         Reviewed by Kevin Decker.
3093
3094         - Fix for <rdar://problem/6604968>
3095
3096         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
3097         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
3098
3099         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3100         (WebCore::MediaPlayerPrivate::paint):
3101
3102 2009-02-19  David Hyatt  <hyatt@apple.com>
3103
3104         Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
3105         also consider reflections to be part of their visual overflow.  This had already been done for blocks
3106         and lines, but it wasn't being done yet for replaced elements.
3107
3108         Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
3109         transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
3110         layer it pushed until we're done painting the real object (rather than the reflection).
3111
3112         Reviewed by Dan Bernstein
3113
3114         Added fast/reflections/reflection-masks-opacity.html
3115
3116         * rendering/RenderLayer.cpp:
3117         (WebCore::RenderLayer::paintLayer):
3118         * rendering/RenderPartObject.cpp:
3119         (WebCore::RenderPartObject::layout):
3120         * rendering/RenderReplaced.cpp:
3121         (WebCore::RenderReplaced::layout):
3122         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
3123         * rendering/RenderReplaced.h:
3124
3125 2009-02-19  David Levin  <levin@chromium.org>
3126
3127         Reviewed by Alexey Proskuryakov.
3128
3129         Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
3130         <https://bugs.webkit.org/show_bug.cgi?id=23980>
3131
3132         WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
3133         * When WorkerRunLoop::runInMode is called, only task for that mode will run.
3134         * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
3135           will run regardless of their posted mode.
3136
3137         Here's a demonstration of the api:
3138
3139             RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
3140
3141             //  Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
3142             //  for any tasks that need to be run during this loop.
3143             nameResolution->setTaskMode("MyCoolMode");
3144
3145             nameResolution->start();
3146             while (!nameResolution->done()) {
3147                 // Only tasks which are posted for "MyCoolMode" will run.
3148                 workerRunLoop.runInMode(context, "MyCoolMode");
3149             }
3150
3151         No observable change in behavior, so no test.
3152
3153         * dom/WorkerRunLoop.cpp:
3154         (WebCore::ModePredicate::ModePredicate):
3155         (WebCore::ModePredicate::operator()):
3156         (WebCore::WorkerRunLoop::WorkerRunLoop):
3157         (WebCore::WorkerRunLoop::~WorkerRunLoop):
3158         (WebCore::WorkerRunLoop::setSharedTimer):
3159         (WebCore::WorkerRunLoop::resetSharedTimer):
3160         (WebCore::WorkerRunLoop::run):
3161         (WebCore::WorkerRunLoop::runInMode):
3162         (WebCore::WorkerRunLoop::postTask):
3163         (WebCore::WorkerRunLoop::postTaskForMode):
3164         * dom/WorkerRunLoop.h:
3165         (WebCore::WorkerRunLoop::Task::create):
3166         (WebCore::WorkerRunLoop::Task::mode):
3167         (WebCore::WorkerRunLoop::Task::performTask):
3168         (WebCore::WorkerRunLoop::Task::Task):
3169
3170 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
3171
3172         Reviewed by Eric Seidel.
3173
3174         https://bugs.webkit.org/show_bug.cgi?id=24034
3175         Fix up Selection->VisibleSelection change.
3176
3177         * page/chromium/EventHandlerChromium.cpp:
3178         (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
3179         to VisibleSelection.
3180
3181 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
3182
3183         Reviewed by Eric Seidel.
3184
3185         https://bugs.webkit.org/show_bug.cgi?id=24041
3186         Correct Skia type conversion issues, fix Chromium Linux build.
3187
3188         * platform/graphics/chromium/FontLinux.cpp:
3189         (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
3190
3191 2009-02-19  Jungshik Shin <jshin@chromium.org>
3192
3193         Reviewed by Eric Seidel.
3194
3195         https://bugs.webkit.org/show_bug.cgi?id=20531
3196         Chromium-part follow-up to the patch landed in r40636
3197         for bug 20531.
3198         Remove a static member function alternateFamilyName
3199         from Chromium's Win/Linux ports of FontCache. In r40636,
3200         alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
3201         So, there's no more need for the static member function per
3202         platform.
3203
3204         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3205         * platform/graphics/chromium/FontCacheLinux.cpp:
3206
3207 2009-02-19  Simon Fraser  <simon.fraser@apple.com>
3208
3209         Reviewed by Adele Peterson.
3210
3211         Call documentWillBecomeInactive() from Document::detach to ensure that
3212         media elements are shut down, because they may be kept alive by references
3213         from JS past document teardown.
3214
3215         documentWillBecomeInactive() calls  renderView()->willMoveOffscreen(), so no
3216         need to do that in detach() as well.
3217
3218         We no longer need to call documentWillBecomeInactive() from ~Page() (which
3219         was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
3220         supersedes that change.
3221
3222         * dom/Document.cpp:
3223         (WebCore::Document::detach):
3224         * page/Page.cpp:
3225         (WebCore::Page::~Page):
3226
3227 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
3228
3229         Reviewed by Eric Seidel.
3230
3231         https://bugs.webkit.org/show_bug.cgi?id=24028
3232         Fix up Skia path changes.
3233
3234         * platform/graphics/skia/GraphicsContextSkia.cpp:
3235         (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
3236         * platform/graphics/skia/PathSkia.cpp:
3237         (WebCore::boundingBoxForCurrentStroke): Changed call name.
3238
3239 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
3240
3241         Reviewed by Alexey Proskuryakov.
3242
3243         Ignore ports on local URLs. This fixes a regression in
3244         fast/loader/file-URL-with-port-number.html
3245
3246         * platform/network/soup/ResourceHandleSoup.cpp:
3247         (WebCore::ResourceHandle::startGio):
3248
3249 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
3250
3251         Reviewed by Alexey Proskuryakov.
3252
3253         https://bugs.webkit.org/show_bug.cgi?id=24011
3254         KURL's setPort doesn't unset port if 0 is given
3255
3256         Make setPort remove port if 0 is given to it, as promised by the
3257         comment in KURL's header.
3258
3259         * platform/KURL.cpp:
3260         (WebCore::KURL::setPort):
3261
3262 2009-02-18  Dan Bernstein  <mitz@apple.com>
3263
3264         Reviewed by Brady Eidson.
3265
3266         - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
3267
3268         The crash results from re-entry into
3269         CSSMutableStyleDeclaration::setCssText, which in turn is caused by
3270         the first style change causing a cached image to load from the memory
3271         cache, causing load delegate dispatch, and iChat's delegate method
3272         calling back into WebKit.
3273
3274         The workaround is to use defer delegate callbacks for memory cache. In
3275         this case, deferring callbacks during image load event dispatch was
3276         found to be sufficient.
3277
3278         The crash is a regression. See also the discussion in
3279         <https://bugs.webkit.org/show_bug.cgi?id=22521>.
3280
3281         * WebCore.base.exp: Added
3282         Settings::setNeedsIChatMemoryCacheCallsQuirk().
3283         * dom/Document.cpp:
3284         (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
3285         enabled, defer memory cache callbacks during image load event dispatch.
3286         * page/Settings.cpp:
3287         (WebCore::Settings::Settings): Initialize
3288         m_needsIChatMemoryCacheCallsQuirk.
3289         (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
3290         setter.
3291         * page/Settings.h:
3292         (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
3293
3294 2009-02-18  Adam Roben  <aroben@apple.com>
3295
3296         Export WebCore::handCursor and Cursor.h
3297
3298         Reviewed by John Sullivan.
3299
3300         * WebCore.base.exp: Added WebCore::handCursor.
3301         * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
3302
3303 2009-02-18  Ojan Vafai  <ojan@chromium.org>
3304
3305         Reviewed by Alexey Proskuryakov.
3306
3307         https://bugs.webkit.org/show_bug.cgi?id=23992
3308         REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
3309
3310         Unable to reduce to a layout test.
3311
3312         * page/Frame.cpp:
3313         (WebCore::Frame::contentRenderer):
3314
3315 2009-02-18  Evan Stade  <estade@chromium.org>
3316
3317         Reviewed by Eric Seidel.
3318
3319         https://bugs.webkit.org/show_bug.cgi?id=23861
3320         Stroke font outlines on chromium linux
3321
3322         TEST=LayoutTests/svg/custom/pointer-events-text.svg
3323
3324         * platform/graphics/chromium/FontLinux.cpp:
3325         (WebCore::Font::drawGlyphs):
3326
3327 2009-02-18  Evan Stade  <estade@chromium.org>
3328
3329         Reviewed by Eric Seidel.
3330
3331         https://bugs.webkit.org/show_bug.cgi?id=23860
3332         Resync some graphics/skia files with their chromium counterparts
3333
3334         This comes from chromium patches <http://codereview.chromium.org/17633>
3335         and <http://codereview.chromium.org/17454>
3336
3337         * platform/graphics/skia/GraphicsContextSkia.cpp:
3338         (WebCore::GraphicsContext::clipPath):
3339         (WebCore::GraphicsContext::fillPath):
3340         * platform/graphics/skia/PlatformContextSkia.cpp:
3341         (PlatformContextSkia::addPath):
3342         (PlatformContextSkia::currentPath):
3343         * platform/graphics/skia/PlatformContextSkia.h:
3344
3345 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
3346
3347         Unreviewed.
3348
3349         Build fix after r41060.
3350
3351         * GNUmakefile.am:
3352
3353 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
3354
3355         Reviewed by Eric Seidel.
3356
3357         https://bugs.webkit.org/show_bug.cgi?id=24005
3358         Add an include to fix Chromium build.
3359
3360         * page/animation/AnimationController.cpp: Add UnusedParam.h include.
3361
3362 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
3363
3364         Reviewed by Holger Freyther.
3365
3366         Fix symbols.filter location, and add other missing files to the
3367         autotools build, so that make dist works.
3368
3369         * GNUmakefile.am:
3370
3371 2009-02-18  Zan Dobersek  <zandobersek@gmail.com>
3372
3373         Rubber-stamped by Holger Hans Peter Freyther.
3374
3375         Allow POST method for local requests.
3376
3377         * platform/network/soup/ResourceHandleSoup.cpp:
3378         (WebCore::ResourceHandle::startGio):
3379
3380 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
3381
3382         Reviewed by Holger Hans Peter Freyther.
3383
3384         Use KURL in startGio instead of passing a string with the URL, so
3385         that we can handle removing refs and queries more elegantly. This
3386         is fixing more regressions that came from the curl->soup switch.
3387
3388         Original work by Zan Dobersek.
3389
3390         * platform/network/ResourceHandle.h:
3391         * platform/network/soup/ResourceHandleSoup.cpp:
3392         (WebCore::ResourceHandle::start):
3393         (WebCore::ResourceHandle::startGio):
3394
3395 2009-02-18  Holger Hans Peter Freyther  <zecke@selfish.org>
3396
3397         Reviewed by Alexey Proskuryakov.
3398
3399         Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
3400
3401         The implementation is needed to have synchronous loading, e.g. for
3402         JavaScript interaction. This is fixing various regressions that
3403         came from the curl->soup switch.
3404
3405         * platform/network/soup/ResourceHandleSoup.cpp:
3406         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3407         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
3408         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
3409         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3410         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
3411         (WebCore::WebCoreSynchronousLoader::didFail):
3412         (WebCore::WebCoreSynchronousLoader::run):
3413         (WebCore::ResourceHandle::loadResourceSynchronously):
3414
3415 2009-02-18  Xan Lopez  <xan@gnome.org>
3416
3417         Reviewed by Mark Rowe.
3418
3419         https://bugs.webkit.org/show_bug.cgi?id=23989
3420
3421         Based on a patch by Bo Yang  <techrazy.yang@gmail.com>
3422
3423         Make the cursor cache global, that's all we really need and
3424         otherwise we can miss cursor transitions in some situations (see
3425         the bug for one testcase). Also remove some now useless code.
3426
3427         * platform/Widget.h:
3428         * platform/gtk/WidgetGtk.cpp:
3429         (WebCore::Widget::Widget):
3430         (WebCore::Widget::~Widget):
3431         (WebCore::Widget::setCursor):
3432
3433 2009-02-17  Adam Roben  <aroben@apple.com>
3434
3435         Windows build fix
3436
3437         * loader/FrameLoader.cpp:
3438         (WebCore::toPlugInElement): Don't rely on #if being processed before
3439         ASSERT.
3440
3441 2009-02-17  David Levin  <levin@chromium.org>
3442
3443         Reviewed by Alexey Proskuryakov.
3444
3445         Bug 23977: Unnecessary timer related headers in files.
3446         <https://bugs.webkit.org/show_bug.cgi?id=23977>
3447
3448         No observable change in behavior, so no test.
3449
3450         * dom/Document.cpp:
3451         * dom/WorkerRunLoop.cpp:
3452         * dom/WorkerRunLoop.h:
3453
3454 2009-02-17  Peter Abrahamsen  <rainhead@gmail.com>
3455
3456         Reviewed by Sam Weinig.
3457
3458         https://bugs.webkit.org/show_bug.cgi?id=23958
3459         <rdar://problem/6587815>
3460
3461         Updated XMLHttpRequest with new header names from the latest Access
3462         Control draft: http://www.w3.org/TR/access-control/
3463         - Access-Control-Origin becomes Access-Control-Allow-Origin
3464         - Access-Control-Credentials becomes Access-Control-Allow-Credentials
3465
3466         * xml/XMLHttpRequest.cpp:
3467         (WebCore::XMLHttpRequest::accessControlCheck):
3468
3469 2009-02-17  Kevin Ollivier  <kevino@theolliviers.com>
3470
3471         wx build fix. Add missing constructor used for empty values.
3472
3473         * platform/graphics/wx/FontPlatformData.h:
3474         (WebCore::FontPlatformData::FontPlatformData):
3475
3476 2009-02-17  Antti Koivisto  <antti@apple.com>
3477
3478         Reviewed by Dave Kilzer.
3479
3480         <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
3481
3482         Need update after callback.
3483
3484         * bindings/js/JSCustomPositionCallback.cpp:
3485         (WebCore::JSCustomPositionCallback::handleEvent):
3486         * bindings/js/JSCustomPositionErrorCallback.cpp:
3487         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3488
3489 2009-02-17  Eric Carlson  <eric.carlson@apple.com>
3490
3491         Reviewed by Antti Koivisto.
3492
3493         https://bugs.webkit.org/show_bug.cgi?id=23917
3494         Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
3495         element.
3496
3497         * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
3498
3499         * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
3500
3501         * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
3502
3503         * html/HTMLMediaElement.cpp:
3504         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
3505         (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
3506         proxy plug-in handles the poster frame.
3507         (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
3508         (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
3509         (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
3510         (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
3511         same plug-in for the life of the element.
3512         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
3513         network state changes to EMPTY, otherwise we can get out of sync with engine.
3514         (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
3515         (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
3516         media player.
3517         (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
3518         (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
3519         <source> element to be used as the initial url for the proxy.
3520         (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
3521         * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
3522         (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
3523
3524         * html/HTMLVideoElement.cpp:
3525         (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
3526         (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
3527         * html/HTMLVideoElement.h:
3528
3529         * loader/FrameLoader.cpp:
3530         (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
3531
3532         * platform/graphics/MediaPlayer.cpp:
3533         (WebCore::MediaPlayer::MediaPlayer): Remove white space.
3534         (WebCore::MediaPlayer::setPoster): New, forward call to private player.
3535         (WebCore::MediaPlayer::deliverNotification): Ditto.
3536         (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
3537         * platform/graphics/MediaPlayer.h:
3538         (WebCore::MediaPlayer::mediaPlayerClient):
3539
3540         * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
3541
3542         * rendering/RenderPart.cpp:
3543         (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
3544         non-element node doesn't need a renderer
3545         * rendering/RenderPart.h: Ditto.
3546
3547         * rendering/RenderPartObject.cpp:
3548         (WebCore::RenderPartObject::RenderPartObject): Ditto.
3549         (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
3550         <video> or <audio>.
3551         * rendering/RenderPartObject.h:
3552
3553 2009-02-17  David Hyatt  <hyatt@apple.com>
3554
3555         Reviewed by Eric Seidel
3556
3557         Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
3558
3559         Don't allow legends to be anything but display:block.
3560
3561         Added fast/forms/inline-ignored-on-legend.html
3562
3563         * GNUmakefile.am:
3564         * WebCore.pro:
3565         * WebCore.vcproj/WebCore.vcproj:
3566         * WebCore.xcodeproj/project.pbxproj:
3567         * WebCoreSources.bkl:
3568         * css/html4.css:
3569         * html/HTMLLegendElement.cpp:
3570         * html/HTMLLegendElement.h:
3571         * rendering/RenderLegend.cpp: Removed.
3572         * rendering/RenderLegend.h: Removed.
3573         * wml/WMLInsertedLegendElement.cpp:
3574         * wml/WMLInsertedLegendElement.h:
3575
3576 2009-02-13  Brett Wilson  <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
3577
3578         Reviewed by Simon Fraser.
3579
3580         https://bugs.webkit.org/attachment.cgi?id=27666
3581         Fix Chromium build build: forgotten include in RenderObject, sync
3582         RenderTheme to the recent changes in RenderObject.
3583
3584         * rendering/RenderObject.cpp:
3585         * rendering/RenderThemeChromiumMac.mm:
3586         (WebCore::RenderThemeChromiumMac::updatePressedState):
3587
3588 2009-02-17  Gustavo Noronha Silva  <gns@gnome.org>
3589
3590         Reviewed by Darin Adler.
3591
3592         https://bugs.webkit.org/show_bug.cgi?id=22966
3593         crash when destroying a webview that opened a page containing <script>
3594         tags
3595
3596         Fix m_group being set to 0 instead of to m_singlePageGroup when
3597         GroupName is set to empty
3598
3599         * page/Page.cpp:
3600         (WebCore::Page::setGroupName):
3601
3602 2009-02-16  Beth Dakin  <bdakin@apple.com>
3603
3604         Reviewed by Sam Weinig.
3605
3606         Fix for <rdar://problem/6386623>
3607
3608         I made m_numParsedProperties and m_maxParsedProperties unsigned
3609         instead of int, and then added an early return from addPropery() if
3610         m_maxParsedProperties exceeds the max value.
3611
3612         * css/CSSParser.cpp:
3613         (WebCore::CSSParser::addProperty):
3614         (WebCore::CSSParser::rollbackLastProperties):
3615         (WebCore::CSSParser::clearProperties):
3616         (WebCore::CSSParser::createFontFaceRule):
3617         (WebCore::CSSParser::deleteFontFaceOnlyValues):
3618         * css/CSSParser.h:
3619
3620 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
3621
3622         Reviewed by Mark Rowe.
3623