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