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