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