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