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