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