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