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