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