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