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