This broke windows.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
2
3         Reviewed by NOBODY (rolling out r57829).
4         This broke windows.
5
6         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
7         * platform/ThreadGlobalData.cpp:
8         (WebCore::ThreadGlobalData::ThreadGlobalData):
9         (WebCore::ThreadGlobalData::~ThreadGlobalData):
10         * platform/ThreadGlobalData.h:
11         (WebCore::ThreadGlobalData::atomicStringTable):
12         * platform/text/AtomicString.cpp:
13         (WebCore::stringTable):
14
15 2010-04-19  Mark Rowe  <mrowe@apple.com>
16
17         Build fix.
18
19         * platform/graphics/mac/GraphicsContext3DMac.cpp:
20
21 2010-04-19  Chris Fleizach  <cfleizach@apple.com>
22
23         Reviewed by Beth Dakin.
24
25         AX: aria-haspopup needs to be exposed
26         https://bugs.webkit.org/show_bug.cgi?id=37808
27
28         Test: platform/mac/accessibility/element-haspopup.html
29
30         * accessibility/AccessibilityObject.h:
31         (WebCore::AccessibilityObject::ariaHasPopup):
32         * accessibility/AccessibilityRenderObject.cpp:
33         (WebCore::AccessibilityRenderObject::ariaHasPopup):
34         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
35         * accessibility/AccessibilityRenderObject.h:
36         * accessibility/mac/AccessibilityObjectWrapper.mm:
37         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
38         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
39
40 2010-04-19  Anders Carlsson  <andersca@apple.com>
41
42         Reviewed by Sam Weinig.
43
44         Fix a crash when rendering <select> elements with WebKit2.
45
46         * rendering/RenderThemeMac.mm:
47         (WebCore::RenderThemeMac::paintMenuList):
48         Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
49         could point to a CGContext whose memory has been freed.
50
51 2010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
52
53         Reviewed by Darin Adler.
54
55         Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
56         https://bugs.webkit.org/show_bug.cgi?id=36031
57
58         Changes the logic of appending/inserting document fragment to first stashing all of its children
59         to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
60         events mucking with the document fragment while it's being appended/inserted.
61
62         Test: fast/dom/Node/fragment-mutation.html
63
64         * dom/ContainerNode.cpp:
65         (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
66             inserting/appending operation.
67         (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
68         (WebCore::ContainerNode::appendChild): Ditto.
69         * dom/Node.cpp:
70         (WebCore::Node::checkReplaceChild): Cleaned up comments.
71         (WebCore::Node::checkAddChild): Ditto.
72
73 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
74
75         Reviewed by Simon Fraser.
76
77         Fix regression introduced in r57820.
78
79         * html/HTMLMediaElement.cpp:
80         (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
81         just setting a URL on the one used for the previous <source> element. This restores
82         the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
83
84 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
85
86         Reviewed by Sam Weinig.
87
88         https://bugs.webkit.org/show_bug.cgi?id=37745
89         Move string uniquing tables to (new) WTFThreadData class.
90
91         Remove AtomicString's dependency on ThreadGlobalData so that we can move
92         WebCore's string classes up to WTF.
93
94         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
95         * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
96         (WebCore::ThreadGlobalData::ThreadGlobalData):
97         (WebCore::ThreadGlobalData::~ThreadGlobalData):
98         * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
99         (WebCore::ThreadGlobalData::eventNames):
100         * platform/text/AtomicString.cpp:
101         (WebCore::AtomicStringTable::create):
102         (WebCore::AtomicStringTable::table):
103         (WebCore::AtomicStringTable::destroy):
104         (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
105
106 2010-04-19  Ada Chan  <adachan@apple.com>
107
108         Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
109         in #if ENABLE(DOM_STORAGE).
110
111         * page/Settings.cpp:
112         (WebCore::Settings::Settings):
113         * page/Settings.h:
114
115 2010-04-19  Dave Moore  <davemoore@chromium.org>
116
117         Reviewed by Dimitri Glazkov.
118
119         Added notification when the favicons for a page are changed
120         from a script.
121         The Document object will notify the frame loader, which will
122         notify the client. Implementations of FrameLoaderClient will
123         have to add one method; dispatchDidChangeIcons().
124
125         https://bugs.webkit.org/show_bug.cgi?id=33812
126
127         Test: fast/dom/icon-url-property.html
128
129         * dom/Document.cpp:
130         (WebCore::Document::setIconURL):
131         * loader/DocumentLoader.cpp:
132         (WebCore::DocumentLoader::setIconURL):
133         * loader/DocumentLoader.h:
134         (WebCore::DocumentLoader::iconURL):
135         * loader/EmptyClients.h:
136         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
137         * loader/FrameLoader.cpp:
138         (WebCore::FrameLoader::setIconURL):
139         (WebCore::FrameLoader::didChangeIcons):
140         * loader/FrameLoader.h:
141         * loader/FrameLoaderClient.h:
142
143 2010-04-19  Dave Moore  <davemoore@chromium.org>
144
145         Reviewed by Dimitri Glazkov.
146
147         Added notification when the favicons for a page are changed
148         from a script.
149         The Document object will notify the frame loader, which will
150         notify the client. Implementations of FrameLoaderClient will
151         have to add one method; dispatchDidChangeIcons().
152
153         https://bugs.webkit.org/show_bug.cgi?id=33812
154
155         Test: fast/dom/icon-url-property.html
156
157         * dom/Document.cpp:
158         (WebCore::Document::setIconURL):
159         * loader/DocumentLoader.cpp:
160         (WebCore::DocumentLoader::setIconURL):
161         * loader/DocumentLoader.h:
162         (WebCore::DocumentLoader::iconURL):
163         * loader/EmptyClients.h:
164         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
165         * loader/FrameLoader.cpp:
166         (WebCore::FrameLoader::setIconURL):
167         (WebCore::FrameLoader::didChangeIcons):
168         * loader/FrameLoader.h:
169         * loader/FrameLoaderClient.h:
170
171 2010-04-19  Ada Chan  <adachan@apple.com>
172
173         Reviewed by Jeremy Orlow.
174
175         https://bugs.webkit.org/show_bug.cgi?id=37717
176         Allow clients concerned with memory consumption to set a quota on session storage
177         since the memory used won't be released until the Page is destroyed.
178         The default is noQuota, which matches the current behavior.
179
180         * WebCore.base.exp: Export Settings::setSessionStorageQuota().
181         * page/Page.cpp:
182         (WebCore::Page::sessionStorage):
183         * page/Settings.cpp:
184         (WebCore::Settings::Settings):
185         (WebCore::Settings::setSessionStorageQuota):
186         * page/Settings.h:
187         (WebCore::Settings::sessionStorageQuota):
188         * storage/StorageNamespace.cpp:
189         (WebCore::StorageNamespace::sessionStorageNamespace):
190         * storage/StorageNamespace.h:
191         * storage/StorageNamespaceImpl.cpp:
192         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
193         * storage/StorageNamespaceImpl.h:
194
195 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
196
197         Reviewed by Simon Fraser.
198
199         Setting media element 'src' attribute should trigger immediate load
200         https://bugs.webkit.org/show_bug.cgi?id=37728
201
202         * html/HTMLMediaElement.cpp:
203         (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
204         changes unless it is missing.
205         (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
206         (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
207         (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
208         so the previously loading file, if any, is cancelled there.
209
210 2010-04-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
211
212         Reviewed by Simon Hausmann.
213
214         [Qt] Fix compilation against namespaced Qt.
215
216         * platform/graphics/GraphicsLayer.h:
217         * platform/graphics/Tile.h:
218         * platform/graphics/qt/MediaPlayerPrivateQt.h:
219         * platform/network/qt/NetworkStateNotifierPrivate.h:
220
221 2010-04-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
222
223         Reviewed by Kenneth Rohde Christiansen.
224
225         [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
226
227         To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
228         has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
229         We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
230         into the SharedTimerQt instance.
231
232         https://bugs.webkit.org/show_bug.cgi?id=36832
233
234         No functional change so no new tests.
235
236         * platform/qt/SharedTimerQt.cpp:
237         (WebCore::SharedTimerQt::SharedTimerQt):
238         (WebCore::SharedTimerQt::destroy):
239         (WebCore::SharedTimerQt::inst):
240
241 2010-04-19  Dan Bernstein  <mitz@apple.com>
242
243         Reviewed by Darin Adler.
244
245         Make the fix for <rdar://problem/7873647> from r57759 more robust.
246
247         * rendering/RenderLayer.cpp:
248         (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
249
250 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
251
252         Unreviewed. Chromium build fix.
253
254         * bindings/v8/JavaScriptCallFrame.h:
255
256 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
257
258         Reviewed by Pavel Feldman.
259
260         Web Inspector: implement JavaScriptCallFrame that works for v8.
261         Implementing this binding for v8 allows to make evaluations on
262         call frames and protects access to the debugger context from
263         inspected context.
264
265         https://bugs.webkit.org/show_bug.cgi?id=37755
266
267         * WebCore.gyp/WebCore.gyp:
268         * WebCore.gypi:
269         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
270         (WebCore::JSJavaScriptCallFrame::scopeType):
271         * bindings/v8/JavaScriptCallFrame.cpp: Added.
272         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
273         (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
274         (WebCore::JavaScriptCallFrame::caller):
275         (WebCore::JavaScriptCallFrame::sourceID):
276         (WebCore::JavaScriptCallFrame::line):
277         (WebCore::JavaScriptCallFrame::functionName):
278         (WebCore::JavaScriptCallFrame::scopeChain):
279         (WebCore::JavaScriptCallFrame::scopeType):
280         (WebCore::JavaScriptCallFrame::thisObject):
281         (WebCore::JavaScriptCallFrame::evaluate):
282         * bindings/v8/JavaScriptCallFrame.h: Added.
283         (WebCore::JavaScriptCallFrame::create):
284         * bindings/v8/ScriptDebugServer.cpp:
285         (WebCore::ScriptDebugServer::currentCallFrame):
286         * bindings/v8/ScriptDebugServer.h:
287         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
288         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
289         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
290         (WebCore::V8JavaScriptCallFrame::evaluateCallback):
291         (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
292         (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
293         (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
294         (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
295         * inspector/JavaScriptCallFrame.idl:
296         * inspector/front-end/InjectedScript.js:
297         (injectedScriptConstructor.):
298
299 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
300
301         Rubber Stamped by Adam Roben
302
303         Chromium Release Build Fix.
304
305         * css/CSSSelector.cpp:
306         (WebCore::CSSSelector::pseudoId):
307         In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
308
309 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
310
311         Reviewed by Dave Hyatt.
312
313         First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
314         https://bugs.webkit.org/show_bug.cgi?id=24021
315
316         Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
317         This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
318         Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
319
320         Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
321
322         * WebCore.base.exp:
323         * css/CSSComputedStyleDeclaration.cpp:
324         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
325         Parse the and store the pseudo-element specifier from the string provided by the user.
326         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
327         Get the computed style for the pseudo-element if it has been specified.
328         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
329         Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
330         (WebCore::CSSComputedStyleDeclaration::length):
331         Get the computed style for the pseudo-element if it has been specified.
332         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
333         Ditto.
334         * css/CSSComputedStyleDeclaration.h:
335         (WebCore::computedStyle):
336         Take into consideration the pseudo-element.
337
338         * css/CSSSelector.cpp:
339         (WebCore::CSSSelector::pseudoId):
340         Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
341         (WebCore::nameToPseudoTypeMap):
342         Create and return the mapping between string names and PseudoTypes.
343         (WebCore::CSSSelector::parsePseudoType):
344         Parse and the given string into a PseudoType.
345         (WebCore::CSSSelector::extractPseudoType):
346         Refactored to use parsePseudoType.
347         * css/CSSSelector.h:
348
349         * css/CSSStyleSelector.cpp:
350         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
351         Refactored to use pseudoId.
352
353         * dom/Element.cpp:
354         (WebCore::Element::computedStyle):
355         If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
356         * dom/Element.h:
357         (WebCore::Element::virtualComputedStyle):
358         Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
359
360         * dom/Node.h:
361         (WebCore::Node::computedStyle):
362         Ditto.
363         * dom/Node.cpp:
364         (WebCore::Node::virtualComputedStyle):
365         Get the computed style for the pseudo-element if it has been specified.
366
367         * page/DOMWindow.cpp:
368         (WebCore::DOMWindow::getComputedStyle):
369         Ditto.
370
371 2010-04-18  Simon Hausmann  <simon.hausmann@nokia.com>
372
373         Reviewed by Laszlo Gombos.
374
375         [Qt] Fix JavaScriptCore's include path for WinCE builds
376
377         https://bugs.webkit.org/show_bug.cgi?id=36751
378
379         * WebCore.pro:
380
381 2010-04-17  Alexey Proskuryakov  <ap@apple.com>
382
383         Reviewed by Adam Barth.
384
385         https://bugs.webkit.org/show_bug.cgi?id=37720
386         <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
387         crashes on SnowLeopard Release
388
389         Tests: 
390         * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
391         * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
392
393         * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
394         listeners set via document.body. The body wrapper can go away if nothing else references it.
395
396         * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
397         because we need to use window object as a wrapper, not the element. Marked all window event
398         listeners as such for code generator.
399
400         * html/HTMLFrameSetElement.idl: Ditto.
401
402 2010-04-17  Juan C. Montemayor  <jmonte03@cs.tufts.edu>
403
404         Reviewed by Joseph Pecoraro.
405
406         Databases pane doesn't recognize table creation/deletion
407         https://bugs.webkit.org/show_bug.cgi?id=20219
408
409         * inspector/front-end/DatabaseQueryView.js:
410         (WebInspector.DatabaseQueryView.prototype._queryFinished):
411
412 2010-04-17  Yaar Schnitman  <yaar@chromium.org>
413
414         Reviewed by Adam Barth.
415
416         Auto-generate V8 bindings for canvas.* overloads
417         https://bugs.webkit.org/show_bug.cgi?id=37453
418
419         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
420         * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
421         * html/canvas/CanvasRenderingContext2D.cpp:
422         (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
423         * html/canvas/CanvasRenderingContext2D.h: 
424         * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
425
426 2010-04-17  Yury Semikhatsky  <yurys@chromium.org>
427
428         Reviewed by Pavel Feldman.
429
430         Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
431
432         https://bugs.webkit.org/show_bug.cgi?id=37740
433
434         * GNUmakefile.am:
435         * WebCore.gypi:
436         * WebCore.pro:
437         * WebCore.vcproj/WebCore.vcproj:
438         * WebCore.xcodeproj/project.pbxproj:
439         * bindings/js/JSBindingsAllInOne.cpp:
440         * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
441         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
442         (WebCore::JavaScriptCallFrame::caller):
443         (WebCore::JavaScriptCallFrame::scopeChain):
444         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
445         (WebCore::JavaScriptCallFrame::functionName):
446         (WebCore::JavaScriptCallFrame::type):
447         (WebCore::JavaScriptCallFrame::thisObject):
448         (WebCore::JavaScriptCallFrame::evaluate):
449         * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
450         (WebCore::JavaScriptCallFrame::create):
451         (WebCore::JavaScriptCallFrame::invalidate):
452         (WebCore::JavaScriptCallFrame::isValid):
453         (WebCore::JavaScriptCallFrame::sourceID):
454         (WebCore::JavaScriptCallFrame::line):
455         (WebCore::JavaScriptCallFrame::update):
456         * inspector/InjectedScriptHost.h:
457         * inspector/InspectorController.h:
458
459 2010-04-17  Vangelis Kokkevis  <vangelis@chromium.org>
460
461         Reviewed by Dimitri Glazkov.
462
463         Adding definition of GLES2Context class.
464         https://bugs.webkit.org/show_bug.cgi?id=37541
465
466         No new functionality implemented yet, no tests.
467
468         * WebCore.gypi: Added GLES2Context.h
469         * platform/chromium/GLES2Context.h: Added.
470
471 2010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
472
473         Reviewed by Darin Adler.
474
475         Crash while handling SVG font in the wrong namespace imported with @font-face
476         https://bugs.webkit.org/show_bug.cgi?id=18862
477
478         Test: fast/invalid/invalidSVGFont.html
479
480         * loader/CachedFont.cpp:
481         (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
482         getElementsByNameNS: the element factory chooses which element to create based on both
483         localName and namespace.
484
485 2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
486
487         Unreviewed, rolling out r57770.
488         http://trac.webkit.org/changeset/57770
489         https://bugs.webkit.org/show_bug.cgi?id=37746
490
491         8 test cases crashed (Requested by Ossy on #webkit).
492
493         * platform/graphics/qt/GraphicsLayerQt.cpp:
494         (WebCore::AnimationQtBase::AnimationQtBase):
495         (WebCore::TransformAnimationQt::~TransformAnimationQt):
496         (WebCore::TransformAnimationQt::applyFrame):
497         (WebCore::OpacityAnimationQt::applyFrame):
498         (WebCore::GraphicsLayerQt::addAnimation):
499
500 2010-04-16  Daniel Bates  <dbates@rim.com>
501
502         Reviewed by Adam Treat.
503
504         https://bugs.webkit.org/show_bug.cgi?id=36312
505
506         Adds support for the viewport meta tag. The code is largely derived in whole
507         or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
508         source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
509
510         * Android.mk: Added file ViewportArguments.cpp.
511         * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
512         * WebCore.gypi: Ditto.
513         * WebCore.pro: Ditto.
514         * WebCore.vcproj/WebCore.vcproj: Ditto.
515         * WebCore.xcodeproj/project.pbxproj: Ditto.
516         * dom/Document.cpp:
517         (WebCore::isSeparator): Added.
518         (WebCore::Document::processArguments): Added.
519         (WebCore::Document::processViewport): Added.
520         * dom/Document.h:
521         * dom/ViewportArguments.cpp: Added.
522         (WebCore::setViewportFeature):
523         (WebCore::viewportErrorMessageTemplate):
524         (WebCore::viewportErrorMessageLevel):
525         (WebCore::reportViewportWarning):
526         * dom/ViewportArguments.h: Added.
527         (WebCore::):
528         (WebCore::ViewportArguments::):
529         (WebCore::ViewportArguments::ViewportArguments):
530         (WebCore::ViewportArguments::hasCustomArgument):
531         * html/HTMLMetaElement.cpp:
532         (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
533         * page/ChromeClient.h:
534         (WebCore::ChromeClient::didReceiveViewportArguments): Added.
535
536 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
537
538         Reviewed by Antti Koivisto.
539
540         [Qt] GraphicsLayer: support fill-modes
541         https://bugs.webkit.org/show_bug.cgi?id=36216
542         Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
543         enables a key-frame animation to go to the animation's starting point before the delay,
544         and/or to stay at the animation's ending point after its ended, without reverting to the default
545         value.
546         We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
547         and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
548
549         * platform/graphics/qt/GraphicsLayerQt.cpp:
550         (WebCore::AnimationQtBase::AnimationQtBase):
551         (WebCore::TransformAnimationQt::~TransformAnimationQt):
552         (WebCore::TransformAnimationQt::applyFrame):
553         (WebCore::GraphicsLayerQt::addAnimation):
554
555 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
556
557         Reviewed by NOBODY (arm build fix).
558
559         * bindings/js/JSDesktopNotificationsCustom.cpp:
560         (WebCore::JSNotification::addEventListener):
561         (WebCore::JSNotification::removeEventListener):
562
563 2010-04-16  Dmitry Titov  <dimich@chromium.org>
564
565         Reviewed by Yury Semikhatsky.
566
567         [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
568         https://bugs.webkit.org/show_bug.cgi?id=37691
569
570         Existing worker-close.html will now work in Chromium.
571
572         * bindings/v8/V8Utilities.cpp:
573         (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
574         * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
575         * bindings/v8/WorkerScriptController.h:
576         (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
577
578 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
579
580         Reviewed by Sam Weinig.
581
582         https://bugs.webkit.org/show_bug.cgi?id=37735
583         Remove JSC specific code from WebCore::AtomicString
584
585         Add generic constructor/add/find methods that take a UChar* & length, along
586         with a known existing hash for the string.
587         This removes the remaining JSC specific code from platform/text.
588
589         * bindings/js/JSAbstractWorkerCustom.cpp:
590         (WebCore::JSAbstractWorker::addEventListener):
591         (WebCore::JSAbstractWorker::removeEventListener):
592         * bindings/js/JSDOMApplicationCacheCustom.cpp:
593         (WebCore::JSDOMApplicationCache::addEventListener):
594         (WebCore::JSDOMApplicationCache::removeEventListener):
595         * bindings/js/JSDOMBinding.cpp:
596         (WebCore::ustringToAtomicString):
597         (WebCore::identifierToAtomicString):
598         (WebCore::findAtomicString):
599         * bindings/js/JSDOMBinding.h:
600         * bindings/js/JSDOMWindowCustom.cpp:
601         (WebCore::childFrameGetter):
602         (WebCore::JSDOMWindow::getOwnPropertySlot):
603         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
604         (WebCore::JSDOMWindow::open):
605         (WebCore::JSDOMWindow::addEventListener):
606         (WebCore::JSDOMWindow::removeEventListener):
607         * bindings/js/JSElementCustom.cpp:
608         (WebCore::JSElement::setAttribute):
609         (WebCore::JSElement::setAttributeNS):
610         * bindings/js/JSEventSourceCustom.cpp:
611         (WebCore::JSEventSource::addEventListener):
612         (WebCore::JSEventSource::removeEventListener):
613         * bindings/js/JSHTMLAllCollectionCustom.cpp:
614         (WebCore::getNamedItems):
615         (WebCore::JSHTMLAllCollection::canGetItemsForName):
616         * bindings/js/JSHTMLCollectionCustom.cpp:
617         (WebCore::getNamedItems):
618         (WebCore::JSHTMLCollection::canGetItemsForName):
619         * bindings/js/JSHTMLDocumentCustom.cpp:
620         (WebCore::JSHTMLDocument::canGetItemsForName):
621         * bindings/js/JSHTMLFormElementCustom.cpp:
622         (WebCore::JSHTMLFormElement::canGetItemsForName):
623         (WebCore::JSHTMLFormElement::nameGetter):
624         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
625         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
626         (WebCore::JSHTMLFrameSetElement::nameGetter):
627         * bindings/js/JSMessageEventCustom.cpp:
628         (WebCore::JSMessageEvent::initMessageEvent):
629         * bindings/js/JSMessagePortCustom.cpp:
630         (WebCore::JSMessagePort::addEventListener):
631         (WebCore::JSMessagePort::removeEventListener):
632         * bindings/js/JSMimeTypeArrayCustom.cpp:
633         (WebCore::JSMimeTypeArray::canGetItemsForName):
634         (WebCore::JSMimeTypeArray::nameGetter):
635         * bindings/js/JSNodeCustom.cpp:
636         (WebCore::JSNode::addEventListener):
637         (WebCore::JSNode::removeEventListener):
638         * bindings/js/JSNodeListCustom.cpp:
639         (WebCore::JSNodeList::canGetItemsForName):
640         (WebCore::JSNodeList::nameGetter):
641         * bindings/js/JSPluginArrayCustom.cpp:
642         (WebCore::JSPluginArray::canGetItemsForName):
643         (WebCore::JSPluginArray::nameGetter):
644         * bindings/js/JSPluginCustom.cpp:
645         (WebCore::JSPlugin::canGetItemsForName):
646         (WebCore::JSPlugin::nameGetter):
647         * bindings/js/JSPopStateEventCustom.cpp:
648         (WebCore::JSPopStateEvent::initPopStateEvent):
649         * bindings/js/JSSVGElementInstanceCustom.cpp:
650         (WebCore::JSSVGElementInstance::addEventListener):
651         (WebCore::JSSVGElementInstance::removeEventListener):
652         * bindings/js/JSWebSocketCustom.cpp:
653         (WebCore::JSWebSocket::addEventListener):
654         (WebCore::JSWebSocket::removeEventListener):
655         * bindings/js/JSWorkerContextCustom.cpp:
656         (WebCore::JSWorkerContext::addEventListener):
657         (WebCore::JSWorkerContext::removeEventListener):
658         * bindings/js/JSXMLHttpRequestCustom.cpp:
659         (WebCore::JSXMLHttpRequest::setRequestHeader):
660         (WebCore::JSXMLHttpRequest::getResponseHeader):
661         (WebCore::JSXMLHttpRequest::addEventListener):
662         (WebCore::JSXMLHttpRequest::removeEventListener):
663         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
664         (WebCore::JSXMLHttpRequestUpload::addEventListener):
665         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
666         * platform/text/AtomicString.cpp:
667         (WebCore::AtomicString::add):
668         (WebCore::AtomicString::find):
669         * platform/text/AtomicString.h:
670         (WebCore::AtomicString::AtomicString):
671
672 2010-04-16  Fumitoshi Ukai  <ukai@chromium.org>
673
674         Reviewed by Alexey Proskuryakov.
675
676         WebSocket crash when it receives bad header.
677         https://bugs.webkit.org/show_bug.cgi?id=37682
678
679         If name or value is not valid UTF-8, nameStr or valueStr would be
680         null string, so crashed in headers->add(nameStr, valueStr).
681         Check both nameStr and valueStr are not null string.
682         Otherwise handshake will fail.
683
684         Test: websocket/tests/bad-handshake-crash.html
685
686         * websockets/WebSocketHandshake.cpp:
687         (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
688
689 2010-04-16  Dan Bernstein  <mitz@apple.com>
690
691         Reviewed by Simon Fraser.
692
693         <rdar://problem/7873647> Crash when updating hover state
694
695         Test: fast/dynamic/hover-style-recalc-crash.html
696
697         Updating the hover state of an element caused the document to need style
698         recalc, and then updating the hover state of a link caused style recalc,
699         which changed the render tree while updateHoverActiveState() was iterating
700         over it, leading to a crash.
701
702         * rendering/RenderLayer.cpp:
703         (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
704         updated into vectors, then update their active and hover states.
705
706 2010-04-16  Dumitru Daniliuc  <dumi@chromium.org>
707
708         Reviewed by Alexey Proskuryakov.
709
710         Make Safari correctly allocate 5MB of DB storage to all new
711         origins.
712         https://bugs.webkit.org/show_bug.cgi?id=36671
713
714         Eric fixed the same problem in
715         DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
716         to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
717
718         * storage/DatabaseTracker.cpp:
719         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
720
721 2010-04-16  Kinuko Yasuda  <kinuko@chromium.org>
722
723         Reviewed by Jian Li.
724
725         Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
726         https://bugs.webkit.org/show_bug.cgi?id=37218
727
728         No new tests; tests will be added when we add upper layer implementations.
729
730         * GNUmakefile.am:
731         * WebCore.gypi:
732         * WebCore.pro:
733         * WebCore.vcproj/WebCore.vcproj:
734         * WebCore.xcodeproj/project.pbxproj:
735         * html/FileStream.cpp:
736         (WebCore::FileStream::stop):
737         * html/FileStream.h:
738         * html/FileStreamClient.h:
739         (WebCore::FileStreamClient::didStop):
740         * html/FileStreamProxy.cpp: Added
741         * html/FileStreamProxy.h: Added
742         * html/FileThreadTask.h: Added
743
744 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
745
746         Reviewed by Oliver Hunt.
747
748         Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
749         (Following on from bug #37675).
750
751         Remove ustring() method, and constructor passed a UString.
752
753         * WebCore.base.exp:
754         * bindings/js/JSDOMBinding.cpp:
755         (WebCore::stringimplToUString):
756         (WebCore::jsStringSlowCase):
757         (WebCore::ustringToString):
758         (WebCore::stringToUString):
759         (WebCore::identifierToString):
760         * bindings/js/JSDOMBinding.h:
761         (WebCore::jsString):
762         * platform/text/AtomicString.cpp:
763         (WebCore::AtomicString::operator UString):
764         * platform/text/StringImpl.cpp:
765         (WebCore::StringImpl::create):
766         * platform/text/StringImpl.h:
767
768 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
769  
770         Reviewed by Simon Hausmann.
771  
772         [Qt] WebGL is not visible when QGLWidget viewport is used
773         https://bugs.webkit.org/show_bug.cgi?id=37070
774  
775         Added HostWindow parameter to the constructor of GraphicsContext3D.
776         Shared OpenGL context is initialized with parent QGLWidget.
777  
778         * html/canvas/WebGLRenderingContext.cpp:
779         (WebCore::WebGLRenderingContext::create):
780         * platform/graphics/GraphicsContext3D.h:
781         * platform/graphics/mac/GraphicsContext3DMac.cpp:
782         (WebCore::GraphicsContext3D::create):
783         (WebCore::GraphicsContext3D::GraphicsContext3D):
784         * platform/graphics/qt/GraphicsContext3DQt.cpp:
785         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
786         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
787         (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
788         (WebCore::GraphicsContext3D::create):
789         (WebCore::GraphicsContext3D::GraphicsContext3D):
790
791 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
792
793         Reviewed by Simon Hausmann.
794
795         [Qt] WebKit compilation fails with --3d-canvas
796         https://bugs.webkit.org/show_bug.cgi?id=37699 
797         
798         API for readPixels() has been changed. 
799
800         * platform/graphics/qt/GraphicsContext3DQt.cpp:
801         (WebCore::GraphicsContext3D::readPixels):
802
803 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
804
805         Reviewed by Antti Koivisto.
806
807         [Qt]QtLauncher crash on page with CSS 3D transform
808         https://bugs.webkit.org/show_bug.cgi?id=36859
809
810         Added a neccessary null-pointer check, lack of which created the crash circumstances.
811
812         Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
813
814         * platform/graphics/qt/GraphicsLayerQt.cpp:
815         (WebCore::GraphicsLayerQtImpl::flushChanges):
816
817 2010-04-16  Anders Carlsson  <andersca@apple.com>
818
819         Reviewed by Sam Weinig.
820
821         Make sure to update the current graphics context when calling out to AppKit.
822
823         * platform/mac/ThemeMac.mm:
824         (WebCore::paintCheckbox):
825         (WebCore::paintRadio):
826
827 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
828
829         Reviewed by Sam Weinig & Oliver Hunt.
830
831         https://bugs.webkit.org/show_bug.cgi?id=37675
832         Remove casts/constructors to/from JSC::UString type from WebCore::String
833         
834         WebCore's strings should not know about JSC::UString, this should be abstracted
835         away in the bindings.  Add explicit conversion methods rather than relying on
836         overloaded cast operators / constructors being implicitly called.
837
838         This patch only changes the class String, once this has landed StringImpl, and
839         hopefully AtomicString too, should follow suit.
840
841         This patch adds:
842             WebCore::identifierToString
843             WebCore::ustringToString
844             WebCore::stringToUString
845
846         - to JSDOMBindings.h, and updates code to call these methods.
847
848         * WebCore.base.exp:
849         * WebCore.order:
850         * bindings/js/CachedScriptSourceProvider.h:
851         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
852         * bindings/js/JSAudioConstructor.cpp:
853         (WebCore::constructAudio):
854         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
855         (WebCore::JSCSSStyleDeclaration::nameGetter):
856         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
857         (WebCore::toHTMLCanvasStyle):
858         (WebCore::JSCanvasRenderingContext2D::setFillColor):
859         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
860         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
861         (WebCore::JSCanvasRenderingContext2D::setShadow):
862         (WebCore::JSCanvasRenderingContext2D::fillText):
863         (WebCore::JSCanvasRenderingContext2D::strokeText):
864         * bindings/js/JSClipboardCustom.cpp:
865         (WebCore::JSClipboard::types):
866         (WebCore::JSClipboard::clearData):
867         (WebCore::JSClipboard::getData):
868         (WebCore::JSClipboard::setData):
869         * bindings/js/JSCustomXPathNSResolver.cpp:
870         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
871         * bindings/js/JSDOMBinding.cpp:
872         (WebCore::identifierToString):
873         (WebCore::ustringToString):
874         (WebCore::stringToUString):
875         (WebCore::valueToStringWithNullCheck):
876         (WebCore::valueToStringWithUndefinedOrNullCheck):
877         (WebCore::reportException):
878         * bindings/js/JSDOMBinding.h:
879         * bindings/js/JSDOMFormDataCustom.cpp:
880         (WebCore::JSDOMFormData::append):
881         * bindings/js/JSDOMWindowCustom.cpp:
882         (WebCore::namedItemGetter):
883         (WebCore::JSDOMWindow::setLocation):
884         (WebCore::JSDOMWindow::openDatabase):
885         * bindings/js/JSDatabaseCustom.cpp:
886         (WebCore::JSDatabase::changeVersion):
887         * bindings/js/JSDocumentCustom.cpp:
888         (WebCore::JSDocument::setLocation):
889         * bindings/js/JSEventListener.cpp:
890         (WebCore::JSEventListener::handleEvent):
891         * bindings/js/JSEventSourceConstructor.cpp:
892         (WebCore::constructEventSource):
893         * bindings/js/JSHTMLAllCollectionCustom.cpp:
894         (WebCore::callHTMLAllCollection):
895         * bindings/js/JSHTMLCanvasElementCustom.cpp:
896         (WebCore::JSHTMLCanvasElement::getContext):
897         * bindings/js/JSHTMLCollectionCustom.cpp:
898         (WebCore::callHTMLCollection):
899         * bindings/js/JSHTMLDocumentCustom.cpp:
900         (WebCore::JSHTMLDocument::nameGetter):
901         (WebCore::documentWrite):
902         * bindings/js/JSInjectedScriptHostCustom.cpp:
903         (WebCore::InjectedScriptHost::createInjectedScript):
904         * bindings/js/JSInspectorFrontendHostCustom.cpp:
905         (WebCore::JSInspectorFrontendHost::showContextMenu):
906         * bindings/js/JSLazyEventListener.cpp:
907         (WebCore::JSLazyEventListener::initializeJSFunction):
908         * bindings/js/JSLocationCustom.cpp:
909         (WebCore::JSLocation::setHref):
910         (WebCore::JSLocation::setProtocol):
911         (WebCore::JSLocation::setHost):
912         (WebCore::JSLocation::setHostname):
913         (WebCore::JSLocation::setPathname):
914         (WebCore::JSLocation::setSearch):
915         (WebCore::JSLocation::setHash):
916         (WebCore::JSLocation::replace):
917         (WebCore::JSLocation::assign):
918         * bindings/js/JSMessageEventCustom.cpp:
919         (WebCore::JSMessageEvent::initMessageEvent):
920         * bindings/js/JSNamedNodeMapCustom.cpp:
921         (WebCore::JSNamedNodeMap::canGetItemsForName):
922         (WebCore::JSNamedNodeMap::nameGetter):
923         * bindings/js/JSOptionConstructor.cpp:
924         (WebCore::constructHTMLOptionElement):
925         * bindings/js/JSSQLResultSetRowListCustom.cpp:
926         (WebCore::JSSQLResultSetRowList::item):
927         * bindings/js/JSSQLTransactionCustom.cpp:
928         (WebCore::JSSQLTransaction::executeSql):
929         * bindings/js/JSSharedWorkerConstructor.cpp:
930         (WebCore::constructSharedWorker):
931         * bindings/js/JSStorageCustom.cpp:
932         (WebCore::JSStorage::canGetItemsForName):
933         (WebCore::JSStorage::nameGetter):
934         (WebCore::JSStorage::deleteProperty):
935         (WebCore::JSStorage::getOwnPropertyNames):
936         (WebCore::JSStorage::putDelegate):
937         * bindings/js/JSStyleSheetListCustom.cpp:
938         (WebCore::JSStyleSheetList::canGetItemsForName):
939         (WebCore::JSStyleSheetList::nameGetter):
940         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
941         (WebCore::constructWebKitCSSMatrix):
942         * bindings/js/JSWebSocketConstructor.cpp:
943         (WebCore::constructWebSocket):
944         * bindings/js/JSWebSocketCustom.cpp:
945         (WebCore::JSWebSocket::send):
946         * bindings/js/JSWorkerConstructor.cpp:
947         (WebCore::constructWorker):
948         * bindings/js/JSWorkerContextCustom.cpp:
949         (WebCore::JSWorkerContext::importScripts):
950         * bindings/js/JSXMLHttpRequestCustom.cpp:
951         (WebCore::JSXMLHttpRequest::open):
952         (WebCore::JSXMLHttpRequest::setRequestHeader):
953         (WebCore::JSXMLHttpRequest::send):
954         (WebCore::JSXMLHttpRequest::overrideMimeType):
955         * bindings/js/JSXSLTProcessorCustom.cpp:
956         (WebCore::JSXSLTProcessor::setParameter):
957         (WebCore::JSXSLTProcessor::getParameter):
958         (WebCore::JSXSLTProcessor::removeParameter):
959         * bindings/js/ScheduledAction.cpp:
960         (WebCore::ScheduledAction::create):
961         * bindings/js/ScriptCallFrame.cpp:
962         (WebCore::ScriptCallFrame::ScriptCallFrame):
963         * bindings/js/ScriptController.cpp:
964         (WebCore::ScriptController::evaluateInWorld):
965         * bindings/js/ScriptDebugServer.cpp:
966         (WebCore::ScriptDebugServer::hasBreakpoint):
967         (WebCore::ScriptDebugServer::dispatchDidParseSource):
968         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
969         (WebCore::ScriptDebugServer::sourceParsed):
970         * bindings/js/ScriptEventListener.cpp:
971         (WebCore::getEventListenerHandlerBody):
972         * bindings/js/ScriptFunctionCall.cpp:
973         (WebCore::ScriptFunctionCall::appendArgument):
974         (WebCore::ScriptFunctionCall::call):
975         (WebCore::ScriptFunctionCall::construct):
976         * bindings/js/ScriptObject.cpp:
977         (WebCore::ScriptObject::set):
978         * bindings/js/ScriptProfiler.cpp:
979         (WebCore::ScriptProfiler::start):
980         (WebCore::ScriptProfiler::stop):
981         * bindings/js/ScriptString.h:
982         (WebCore::ScriptString::operator String):
983         (WebCore::ScriptString::ustring):
984         (WebCore::ScriptString::operator+=):
985         * bindings/js/ScriptValue.cpp:
986         (WebCore::ScriptValue::getString):
987         * bindings/js/ScriptValue.h:
988         (WebCore::ScriptValue::toString):
989         * bindings/js/SerializedScriptValue.cpp:
990         (WebCore::SerializedObject::set):
991         (WebCore::SerializingTreeWalker::convertIfTerminal):
992         (WebCore::DeserializingTreeWalker::putProperty):
993         * bindings/js/StringSourceProvider.h:
994         (WebCore::StringSourceProvider::StringSourceProvider):
995         * bindings/objc/WebScriptObject.mm:
996         (-[WebScriptObject callWebScriptMethod:withArguments:]):
997         (-[WebScriptObject setValue:forKey:]):
998         (-[WebScriptObject valueForKey:]):
999         (-[WebScriptObject removeWebScriptKey:]):
1000         * bindings/scripts/CodeGeneratorJS.pm:
1001         * bridge/IdentifierRep.cpp:
1002         (WebCore::IdentifierRep::get):
1003         * bridge/c/c_utility.cpp:
1004         (JSC::Bindings::identifierFromNPIdentifier):
1005         * inspector/InspectorController.cpp:
1006         (WebCore::InspectorController::scriptImported):
1007         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1008         (WebCore::InspectorController::createProfileHeader):
1009         * inspector/InspectorResource.cpp:
1010         (WebCore::InspectorResource::sourceString):
1011         * inspector/JavaScriptCallFrame.cpp:
1012         (WebCore::JavaScriptCallFrame::functionName):
1013         * platform/KURL.h:
1014         (WebCore::KURL::operator const String&):
1015         * platform/text/AtomicString.cpp:
1016         (WebCore::AtomicString::operator UString):
1017         * platform/text/AtomicString.h:
1018         * platform/text/PlatformString.h:
1019         * platform/text/String.cpp:
1020
1021 2010-04-16  Anders Carlsson  <andersca@apple.com>
1022
1023         Reviewed by David Hyatt.
1024
1025         Always pass a view to the AppKit drawing functions.
1026         https://bugs.webkit.org/show_bug.cgi?id=37724
1027
1028         * platform/mac/ThemeMac.mm:
1029         (WebCore::paintCheckbox):
1030         (WebCore::paintRadio):
1031         * rendering/RenderThemeMac.mm:
1032         (WebCore::RenderThemeMac::paintMenuList):
1033         (WebCore::RenderThemeMac::paintSliderThumb):
1034         (WebCore::RenderThemeMac::paintSearchField):
1035         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1036         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1037         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1038
1039 2010-04-16  Alexey Proskuryakov  <ap@apple.com>
1040
1041         Reviewed by Dan Bernstein.
1042
1043         https://bugs.webkit.org/show_bug.cgi?id=37718
1044         Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
1045
1046         Test: fast/events/recorded-keydown-event.html
1047
1048         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
1049         frameless.
1050
1051 2010-04-16  Jian Li  <jianli@chromium.org>
1052
1053         Reviewed by Dmitry Titov.
1054
1055         Update FormDataList to fix style violations in old code.
1056         https://bugs.webkit.org/show_bug.cgi?id=37689
1057
1058         * html/FormDataList.h:
1059         (WebCore::FormDataList::appendData):
1060         (WebCore::FormDataList::appendBlob):
1061
1062 2010-04-16  Anders Carlsson  <andersca@apple.com>
1063
1064         Fix WebKit2 build.
1065
1066         * WebCore.base.exp:
1067
1068 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
1069
1070         Reviewed by Dimitri Glazkov.
1071
1072         [chromium] Fix Mac build.
1073         https://bugs.webkit.org/show_bug.cgi?id=37436
1074
1075         * platform/chromium/PopupMenuChromium.h:
1076
1077 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
1078
1079         Reviewed by Dimitri Glazkov.
1080
1081         [chromium] Select popups would assert when destroyed.
1082         https://bugs.webkit.org/show_bug.cgi?id=37436
1083
1084
1085         * platform/chromium/PopupMenuChromium.cpp:
1086         (WebCore::PopupContainer::PopupContainer):
1087         (WebCore::PopupContainer::showPopup):
1088         (WebCore::PopupContainer::notifyPopupHidden):
1089         * platform/chromium/PopupMenuChromium.h:
1090
1091 2010-04-16  Antonio Gomes  <tonikitoo@webkit.org>
1092
1093         Unreviewed QtWebKit (with Qt 4.7) build fix.
1094
1095         Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
1096         renamed the variable used.
1097
1098         * platform/graphics/qt/FontPlatformDataQt.cpp:
1099         (WebCore::FontPlatformData::FontPlatformData):
1100
1101 2010-04-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
1102
1103         Reviewed by Kenneth Rohde Christiansen.
1104
1105         Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
1106         This aligns our implementation with the Safari implementation - layers are always uploaded
1107         to textures in item units, and WebCore is responsible for the heuristics.
1108
1109         [Qt] GraphicsLayer: performance optimizations
1110         https://bugs.webkit.org/show_bug.cgi?id=35393
1111
1112         No new tests. Still no FPS benchmarks available (on any platform)
1113         but animations are noticably better.
1114
1115         * platform/graphics/qt/GraphicsLayerQt.cpp:
1116         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1117         (WebCore::GraphicsLayerQtImpl::paint):
1118         (WebCore::GraphicsLayerQtImpl::flushChanges):
1119         (WebCore::TransformAnimationQt::updateState):
1120
1121 2010-04-16  Simon Hausmann  <simon.hausmann@nokia.com>
1122
1123         Reviewed by Kenneth Rohde Christiansen.
1124
1125         [Qt] WebCore::Font::font() causes a QFont detach
1126         https://bugs.webkit.org/show_bug.cgi?id=37683
1127
1128         Moved the setStyleStrategy call to FontPlatformData
1129         to avoid the detach.
1130
1131         Thanks to Holger for spotting this.
1132
1133         * platform/graphics/qt/FontPlatformDataQt.cpp:
1134         (WebCore::FontPlatformData::FontPlatformData):
1135         * platform/graphics/qt/FontQt.cpp:
1136         (WebCore::Font::font):
1137
1138 2010-04-15  Matt Perry  <mpcomplete@chromium.org>
1139
1140         Reviewed by Adam Barth.
1141
1142         Remove the check for the main frame's scheme when deciding which
1143         v8 extensions to add to a script context. Instead, Chromium will
1144         handle that check elsewhere to allow finer-grained control over
1145         what APIs we expose to web pages.
1146         https://bugs.webkit.org/show_bug.cgi?id=37681
1147
1148         * bindings/v8/V8DOMWindowShell.cpp:
1149         (WebCore::V8DOMWindowShell::createNewContext):
1150
1151 2010-04-15  Luiz Agostini  <luiz.agostini@openbossa.org>
1152
1153         Reviewed by Antti Koivisto.
1154
1155         No default selection for <select multiple> menu lists.
1156         https://bugs.webkit.org/show_bug.cgi?id=37530
1157
1158         Manual test: manual-tests/no-listbox-rendering.html
1159
1160         For menu lists, if the selection is not indicated by the html file, the first <option> will be
1161         selected after loading the page or reseting the form. On the other hand listboxes may have no
1162         element selected after loading the page or reseting the form.
1163
1164         When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
1165         that did not have selected elements, now being menu lists, will have the first <option>
1166         selected. That is the behavior difference that this patch corrects.
1167
1168         When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
1169         be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
1170         by (!multiple && size <= 1) where initial selection is considered.
1171
1172         * dom/SelectElement.cpp:
1173         (WebCore::SelectElement::recalcListItems):
1174         (WebCore::SelectElement::reset):
1175         * manual-tests/no-listbox-rendering.html: Added.
1176
1177 2010-04-15  Zhenyao Mo  <zmo@google.com>
1178
1179         Reviewed by Dimitri Glazkov.
1180
1181         Index validation code validates too many vertex attributes
1182         https://bugs.webkit.org/show_bug.cgi?id=31892
1183
1184         * html/canvas/WebGLProgram.cpp:
1185         (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
1186         (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
1187         (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
1188         * html/canvas/WebGLProgram.h: Add attribute locations member.
1189         * html/canvas/WebGLRenderingContext.cpp:
1190         (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
1191         (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
1192
1193 2010-04-16  Adam Roben  <aroben@apple.com>
1194
1195         Don't assert when soft-linked libraries can't be found
1196
1197         In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
1198         to be able to be found in all cases. So we shouldn't assert that they're always found.
1199
1200         Reviewed by Sam Weinig.
1201
1202         * platform/win/SoftLinking.h:
1203         (SOFT_LINK): Don't assert when LoadLibrary fails.
1204
1205 2010-04-15  Dmitry Titov  <dimich@chromium.org>
1206
1207         Unreviewed, rolling out r57688.
1208         http://trac.webkit.org/changeset/57688
1209         https://bugs.webkit.org/show_bug.cgi?id=34992
1210
1211         Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
1212
1213         * bindings/js/JSWorkerContextCustom.cpp:
1214         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1215         * storage/Database.idl:
1216         * storage/SQLError.idl:
1217         * storage/SQLResultSet.idl:
1218         * storage/SQLResultSetRowList.idl:
1219         * storage/SQLTransaction.idl:
1220         * workers/WorkerContext.cpp:
1221         (WebCore::WorkerContext::openDatabase):
1222         * workers/WorkerContext.h:
1223         (WebCore::WorkerContext::databaseExceededQuota):
1224         * workers/WorkerContext.idl:
1225
1226 2010-04-15  Yury Semikhatsky  <yurys@google.com>
1227
1228         Reviewed by Pavel Feldman.
1229     
1230         Support basic debugging capabilities including step in/over/out in v8
1231         implementation of ScriptDebugServer.
1232
1233         https://bugs.webkit.org/show_bug.cgi?id=37604
1234
1235         * bindings/js/JSInjectedScriptHostCustom.cpp:
1236         (WebCore::InjectedScriptHost::createInjectedScript):
1237         * bindings/v8/ScriptDebugServer.cpp:
1238         (WebCore::ScriptDebugServer::ScriptDebugServer):
1239         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
1240         (WebCore::ScriptDebugServer::addListener):
1241         (WebCore::ScriptDebugServer::removeListener):
1242         (WebCore::ScriptDebugServer::setBreakpoint):
1243         (WebCore::ScriptDebugServer::removeBreakpoint):
1244         (WebCore::ScriptDebugServer::clearBreakpoints):
1245         (WebCore::ScriptDebugServer::setBreakpointsActivated):
1246         (WebCore::ScriptDebugServer::continueProgram):
1247         (WebCore::ScriptDebugServer::stepIntoStatement):
1248         (WebCore::ScriptDebugServer::stepOverStatement):
1249         (WebCore::ScriptDebugServer::stepOutOfFunction):
1250         (WebCore::ScriptDebugServer::currentCallFrameState):
1251         (WebCore::ScriptDebugServer::currentCallFrameV8):
1252         (WebCore::ScriptDebugServer::onV8DebugMessage):
1253         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
1254         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
1255         (WebCore::ScriptDebugServer::handleV8DebugMessage):
1256         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1257         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
1258         (WebCore::ScriptDebugServer::didResume):
1259         * bindings/v8/ScriptDebugServer.h:
1260         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
1261         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
1262         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
1263         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1264         (WebCore::InjectedScriptHost::createInjectedScript):
1265         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1266         (WebCore::V8InjectedScriptHost::isActivationCallback):
1267         * inspector/front-end/InjectedScript.js:
1268         (injectedScriptConstructor):
1269         (injectedScriptConstructor.):
1270         * inspector/front-end/ScriptsPanel.js:
1271         (WebInspector.ScriptsPanel):
1272
1273 2010-04-15  Jian Li  <jianli@chromium.org>
1274
1275         Reviewed by Dmitry Titov.
1276
1277         Support using FormData to send a sliced file via XHR.
1278         https://bugs.webkit.org/show_bug.cgi?id=36678
1279
1280         Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
1281
1282         * html/Blob.h:
1283         (WebCore::Blob::isFile):
1284         * html/DOMFormData.cpp:
1285         (WebCore::DOMFormData::append):
1286         * html/File.h:
1287         (WebCore::File::isFile):
1288         * html/FormDataList.h:
1289         (WebCore::FormDataList::appendBlob):
1290         (WebCore::FormDataList::Item::Item):
1291         (WebCore::FormDataList::Item::blob):
1292         * html/HTMLInputElement.cpp:
1293         (WebCore::HTMLInputElement::appendFormData):
1294         * platform/network/FormData.cpp:
1295         (WebCore::FormData::appendDOMFormData):
1296         * platform/network/mac/FormDataStreamMac.mm:
1297         (WebCore::closeCurrentStream):
1298
1299 2010-04-15  Zhenyao Mo  <zmo@google.com>
1300
1301         Reviewed by Dimitri Glazkov.
1302
1303         Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
1304         https://bugs.webkit.org/show_bug.cgi?id=37178
1305
1306         Test: fast/canvas/webgl/point-size.html
1307
1308         * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
1309         (WebCore::GraphicsContext3D::GraphicsContext3D):
1310
1311 2010-04-15  Eric Uhrhane  <ericu@chromium.org>
1312
1313         Reviewed by Dmitry Titov.
1314
1315         Add bindings for async DB API in Workers.
1316         https://bugs.webkit.org/show_bug.cgi?id=34992
1317
1318         Tests: storage/change-version-handle-reuse-worker.html
1319                storage/execute-sql-args-worker.html
1320
1321         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
1322         (WebCore::JSWorkerContext::openDatabase):
1323
1324         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
1325         (WebCore::V8WorkerContext::openDatabaseCallback):
1326
1327         Add NoStaticTables flags to all objects now shared with workers.
1328         * storage/Database.idl:
1329         * storage/SQLError.idl:
1330         * storage/SQLResultSet.idl:
1331         * storage/SQLResultSetRowList.idl:
1332         * storage/SQLTransaction.idl:
1333         
1334         * workers/WorkerContext.h: Add databaseExceededQuota.
1335         * workers/WorkerContext.cpp:
1336         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
1337         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
1338
1339         Add the IDL for the call to openDatabase.
1340         * workers/WorkerContext.idl:
1341
1342 2010-04-15  Nicolas Weber  <thakis@chromium.org>
1343
1344         Reviewed by Dimitri Glazkov.
1345
1346         Fix drag image thumbnails for indexed images.
1347         https://bugs.webkit.org/show_bug.cgi?id=37621
1348
1349         * platform/chromium/DragImageChromiumMac.cpp:
1350         (WebCore::scaleDragImage): Always use RGB color space.
1351         (WebCore::dissolveDragImageToFraction): Always use RGB color space.
1352
1353 2010-04-15  Adam Roben  <aroben@apple.com>
1354
1355         Expose UserContentURLPattern as WebKit SPI
1356
1357         Fixes <http://webkit.org/b/37354>.
1358
1359         Reviewed by Tim Hatcher.
1360
1361         * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
1362         the file.
1363
1364         * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
1365         "Private".
1366
1367         * page/UserContentURLPattern.h:
1368         (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
1369         default constructor.
1370         (WebCore::UserContentURLPattern::isValid): Added this getter.
1371
1372 2010-04-15  Chris Fleizach  <cfleizach@apple.com>
1373
1374         Reviewed by Beth Dakin.
1375
1376         AXHelp is being appended from ancestors incorrectly
1377         https://bugs.webkit.org/show_bug.cgi?id=37659
1378
1379         Test: platform/mac/accessibility/unexpected-help-text.html
1380
1381         * accessibility/AccessibilityRenderObject.cpp:
1382         (WebCore::AccessibilityRenderObject::helpText):
1383
1384 2010-04-15  David Hyatt  <hyatt@apple.com>
1385
1386         Reviewed by Anders Carlsson.
1387
1388         https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
1389         a pseudoelement.
1390         
1391         Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo.  The existing model gets
1392         confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
1393         style).  I changed the style cache to be a Vector instead.
1394         
1395         Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
1396         you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
1397
1398         * css/CSSStyleSelector.cpp:
1399         (WebCore::CSSStyleSelector::styleForElement):
1400         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1401         * dom/Element.cpp:
1402         (WebCore::Element::pseudoStyleCacheIsInvalid):
1403         * rendering/style/RenderStyle.cpp:
1404         (WebCore::RenderStyle::getCachedPseudoStyle):
1405         (WebCore::RenderStyle::addCachedPseudoStyle):
1406         * rendering/style/RenderStyle.h:
1407         (WebCore::):
1408         (WebCore::InheritedFlags::cachedPseudoStyles):
1409
1410 2010-04-15  Albert J. Wong  <ajwong@chromium.org>
1411
1412         Unreviewed, rolling out r57660.
1413         http://trac.webkit.org/changeset/57660
1414         https://bugs.webkit.org/show_bug.cgi?id=37604
1415
1416         Broke a large number of inspector layout tests in chromium.
1417
1418         * bindings/js/JSInjectedScriptHostCustom.cpp:
1419         (WebCore::InjectedScriptHost::createInjectedScript):
1420         * bindings/v8/ScriptDebugServer.cpp:
1421         * bindings/v8/ScriptDebugServer.h:
1422         (WebCore::ScriptDebugServer::addListener):
1423         (WebCore::ScriptDebugServer::removeListener):
1424         (WebCore::ScriptDebugServer::setBreakpoint):
1425         (WebCore::ScriptDebugServer::removeBreakpoint):
1426         (WebCore::ScriptDebugServer::clearBreakpoints):
1427         (WebCore::ScriptDebugServer::setBreakpointsActivated):
1428         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
1429         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
1430         (WebCore::ScriptDebugServer::continueProgram):
1431         (WebCore::ScriptDebugServer::stepIntoStatement):
1432         (WebCore::ScriptDebugServer::stepOverStatement):
1433         (WebCore::ScriptDebugServer::stepOutOfFunction):
1434         (WebCore::ScriptDebugServer::currentCallFrameState):
1435         (WebCore::ScriptDebugServer::ScriptDebugServer):
1436         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1437         (WebCore::InjectedScriptHost::createInjectedScript):
1438         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1439         (WebCore::V8InjectedScriptHost::isActivationCallback):
1440         * inspector/front-end/InjectedScript.js:
1441         (injectedScriptConstructor):
1442         * inspector/front-end/ScriptsPanel.js:
1443         (WebInspector.ScriptsPanel):
1444
1445 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
1446
1447         Reviewed by Dimitri Glazkov.
1448
1449         DatabaseTracker refactoring: remove the dependency on
1450         OriginQuotaManager from DatabaseTracker.h
1451         https://bugs.webkit.org/show_bug.cgi?id=31482
1452
1453         * storage/DatabaseTracker.cpp:
1454         (WebCore::DatabaseTracker::DatabaseTracker):
1455         (WebCore::DatabaseTracker::~DatabaseTracker):
1456         (WebCore::DatabaseTracker::canEstablishDatabase):
1457         (WebCore::DatabaseTracker::hasEntryForOrigin):
1458         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1459         (WebCore::DatabaseTracker::databaseChanged):
1460         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
1461         (WebCore::DatabaseTracker::fullPathForDatabase):
1462         (WebCore::DatabaseTracker::populateOrigins):
1463         (WebCore::DatabaseTracker::origins):
1464         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1465         (WebCore::DatabaseTracker::addOpenDatabase):
1466         (WebCore::DatabaseTracker::removeOpenDatabase):
1467         (WebCore::DatabaseTracker::usageForOriginNoLock):
1468         (WebCore::DatabaseTracker::usageForOrigin):
1469         (WebCore::DatabaseTracker::quotaForOrigin):
1470         (WebCore::DatabaseTracker::setQuota):
1471         (WebCore::DatabaseTracker::deleteOrigin):
1472         (WebCore::DatabaseTracker::deleteDatabase):
1473         (WebCore::DatabaseTracker::deleteDatabaseFile):
1474         * storage/DatabaseTracker.h:
1475         * storage/SQLTransactionClient.cpp:
1476         (WebCore::SQLTransactionClient::didExecuteStatement):
1477
1478 2010-04-15  Zhenyao Mo  <zmo@google.com>
1479
1480         Reviewed by Adam Barth.
1481
1482         Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
1483         This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
1484         https://bugs.webkit.org/show_bug.cgi?id=36908
1485
1486         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1487         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
1488         (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
1489
1490 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
1491
1492         Reviewed by Simon Fraser.
1493
1494         Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
1495         https://bugs.webkit.org/show_bug.cgi?id=37635
1496
1497         absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
1498         So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
1499
1500         * page/SpatialNavigation.cpp:
1501         (WebCore::hasOffscreenRect):
1502
1503 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
1504
1505         Reviewed by Simon Fraser.
1506
1507         Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
1508         https://bugs.webkit.org/show_bug.cgi?id=37634
1509
1510         This assignment line is not longer needed after r57061, bug that refactored all
1511         assignment logic to happen lines below in the method.
1512
1513         * page/FocusController.cpp:
1514         (WebCore::updateFocusCandidateIfCloser):
1515
1516 2010-04-15  Yury Semikhatsky  <yurys@google.com>
1517
1518         Reviewed by Pavel Feldman.
1519     
1520         Support basic debugging capabilities including step in/over/out in v8
1521         implementation of ScriptDebugServer.
1522
1523         https://bugs.webkit.org/show_bug.cgi?id=37604
1524
1525         * bindings/js/JSInjectedScriptHostCustom.cpp:
1526         (WebCore::InjectedScriptHost::createInjectedScript):
1527         * bindings/v8/ScriptDebugServer.cpp:
1528         (WebCore::ScriptDebugServer::ScriptDebugServer):
1529         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
1530         (WebCore::ScriptDebugServer::addListener):
1531         (WebCore::ScriptDebugServer::removeListener):
1532         (WebCore::ScriptDebugServer::setBreakpoint):
1533         (WebCore::ScriptDebugServer::removeBreakpoint):
1534         (WebCore::ScriptDebugServer::clearBreakpoints):
1535         (WebCore::ScriptDebugServer::setBreakpointsActivated):
1536         (WebCore::ScriptDebugServer::continueProgram):
1537         (WebCore::ScriptDebugServer::stepIntoStatement):
1538         (WebCore::ScriptDebugServer::stepOverStatement):
1539         (WebCore::ScriptDebugServer::stepOutOfFunction):
1540         (WebCore::ScriptDebugServer::currentCallFrameState):
1541         (WebCore::ScriptDebugServer::currentCallFrameV8):
1542         (WebCore::ScriptDebugServer::onV8DebugMessage):
1543         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
1544         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
1545         (WebCore::ScriptDebugServer::handleV8DebugMessage):
1546         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1547         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
1548         (WebCore::ScriptDebugServer::didResume):
1549         * bindings/v8/ScriptDebugServer.h:
1550         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
1551         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
1552         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
1553         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1554         (WebCore::InjectedScriptHost::createInjectedScript):
1555         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1556         (WebCore::V8InjectedScriptHost::isActivationCallback):
1557         * inspector/front-end/InjectedScript.js:
1558         (injectedScriptConstructor):
1559         (injectedScriptConstructor.):
1560         * inspector/front-end/ScriptsPanel.js:
1561         (WebInspector.ScriptsPanel):
1562
1563 2010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1564
1565         Reviewed by Beth Dakin.
1566
1567         RenderSVGResource <-> id mapping should be cached
1568         https://bugs.webkit.org/show_bug.cgi?id=37575
1569
1570         Test: svg/custom/clip-path-id-changes.svg
1571
1572         * rendering/RenderSVGResource.h:
1573         (WebCore::RenderSVGResource::RenderSVGResource):
1574         (WebCore::RenderSVGResource::~RenderSVGResource):
1575         (WebCore::RenderSVGResource::idChanged):
1576         (WebCore::getRenderSVGResourceById):
1577         * svg/SVGDocumentExtensions.cpp:
1578         (WebCore::SVGDocumentExtensions::addResource):
1579         (WebCore::SVGDocumentExtensions::removeResource):
1580         (WebCore::SVGDocumentExtensions::resourceById):
1581         * svg/SVGDocumentExtensions.h:
1582         * svg/SVGStyledElement.cpp:
1583         (WebCore::SVGStyledElement::svgAttributeChanged):
1584
1585 2010-04-15  Justin Schuh  <jschuh@chromium.org>
1586
1587         Reviewed by Dimitri Glazkov.
1588
1589         LayoutTest breakage in V8 bindings after r57627
1590         https://bugs.webkit.org/show_bug.cgi?id=37660
1591
1592         Fixes breakage of the following tests due to an error in V8 bindings for
1593         NamedNodeMap:
1594         hc_namednodemapinuseattributeerr.html
1595         hc_namednodemapsetnameditemreturnvalue.html
1596         hc_namednodemapwrongdocumenterr.html
1597         hc_namednodemapinvalidtype1.html
1598         NamedNodeMap-setNamedItem-crash.html
1599
1600         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1601         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
1602         (WebCore::V8NamedNodeMap::setNamedItemCallback):
1603
1604 2010-04-15  David Hyatt  <hyatt@apple.com>
1605
1606         Reviewed by Anders Carlsson.
1607
1608         https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color.  Make sure
1609         that the pseudo style caching allows visited link styles to hang off other pseudo styles.
1610
1611         * rendering/RenderBlock.cpp:
1612         (WebCore::RenderBlock::updateFirstLetter):
1613         * rendering/style/RenderStyle.cpp:
1614         (WebCore::RenderStyle::getCachedPseudoStyle):
1615
1616 2010-04-15  Ben Murdoch  <benm@google.com>
1617
1618         Unreviewed, rolling out r57652.
1619         http://trac.webkit.org/changeset/57652
1620         https://bugs.webkit.org/show_bug.cgi?id=37609
1621
1622         Caused a build break on Chromium Mac and Layout Test fail on
1623         Qt
1624
1625         * platform/PlatformTouchPoint.h:
1626         (WebCore::PlatformTouchPoint::):
1627         * platform/qt/PlatformTouchPointQt.cpp:
1628         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
1629
1630 2010-04-15  Yaar Schnitman  <yaar@chromium.org>
1631
1632         Reviewed by Nate Chapin.
1633
1634         Overloads auto-generation in V8
1635         https://bugs.webkit.org/show_bug.cgi?id=37373
1636
1637         This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
1638
1639         Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
1640
1641         * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
1642         * bindings/v8/test/TestObj.idl: Overloads sample.
1643         * bindings/v8/test/V8TestObj.cpp: Output change.
1644
1645 2010-04-15  Ben Murdoch  <benm@google.com>
1646
1647         Reviewed by Kenneth Rohde Christiansen.
1648
1649         The TouchStationary state of WebCore::PlatformTouchPoint
1650         is not handled inside the touch event handler.
1651         https://bugs.webkit.org/show_bug.cgi?id=37609
1652
1653         After discussions at the WebKit contributors meeting, we decided
1654         that this is a currently unused state without a good future use
1655         case in the Touch API and thus decided to remove it. This patch
1656         actions that decision.
1657
1658         As the TouchStationary state is not handled in the EventHandler,
1659         there is no change in functionality so no new tests are required.
1660
1661         * platform/PlatformTouchPoint.h:
1662         (WebCore::PlatformTouchPoint::): Remove TouchStationary.
1663         * platform/qt/PlatformTouchPointQt.cpp:
1664         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
1665
1666 2010-04-15  Steve Falkenburg  <sfalken@apple.com>
1667
1668         Reviewed by Adam Roben.
1669
1670         Use a lower-overhead mechanism for plug-in message throttling
1671         https://bugs.webkit.org/show_bug.cgi?id=37642        
1672         <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
1673         
1674         GMail has an instance of Flash that loads on the main mail page.
1675         This Flash content sends us a constant stream of WM_USER+1 messsages.
1676         
1677         There was already code in PluginMessageThrottlerWin to queue and process these
1678         excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
1679         problems with this code:
1680         
1681         - The timer used to process the excess messages had a very low timeout (1ms).
1682           Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
1683           while still maintaining good Flash frame rate.
1684         
1685         - The overhead involved in generating a constant stream of 5ms timers still swamped
1686           the CPU, resulting in continued high CPU utilization.
1687           
1688         To fix this, I changed the throttling code to:
1689         
1690         - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
1691           This allows us to avoid the overhead of a timer.
1692           
1693         - Process remaining delayed WM_USER+1 messages on a 16ms timer.
1694         
1695         This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
1696         I also verified the frame rate for Flash content wasn't reduced with this change.
1697
1698         * plugins/win/PluginMessageThrottlerWin.cpp:
1699         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
1700         (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
1701         (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
1702         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
1703         * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
1704
1705 2010-04-15  Shinichiro Hamaji  <hamaji@chromium.org>
1706
1707         Reviewed by David Levin.
1708
1709         LEAK: in ThreadableWebSocketChannel::create()
1710         https://bugs.webkit.org/show_bug.cgi?id=37584
1711
1712         No new tests because this change just fixes a leak.
1713
1714         * websockets/WorkerThreadableWebSocketChannel.cpp:
1715         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
1716         * websockets/WorkerThreadableWebSocketChannel.h:
1717         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
1718
1719 2010-04-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1720
1721         Reviewed by Eric Seidel.
1722
1723         Duplicated patches related to wml were pushed to trunk. So, one of
1724         the patches should be reverted.
1725         https://bugs.webkit.org/show_bug.cgi?id=37542
1726
1727         * wml/WMLOptionElement.h:
1728         * wml/WMLSelectElement.h:
1729
1730 2010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
1731
1732         Reviewed by Kenneth Rohde Christiansen.
1733
1734         [Qt] Null QObjects properties cause Segmentation Fault
1735         https://bugs.webkit.org/show_bug.cgi?id=34730
1736
1737         QObjects exported to the QWebkit javascript with properties that are
1738         a null "QObject*" cause Segmentation Fault.
1739
1740         If an QObject is added to the javascript context and it contains
1741         properties of the type QObject* with NULL value, calling the property
1742         causes Segmentation Fault.
1743         So now the code below properly checks for null pointers:
1744
1745         * bridge/qt/qt_instance.cpp:
1746         (JSC::Bindings::QtInstance::getClass): may return NULL
1747         (JSC::Bindings::QtInstance::getMethod): may return jsNull()
1748         (JSC::Bindings::QtInstance::stringValue): may return jsNull()
1749         (JSC::Bindings::QtInstance::booleanValue): may return false
1750         * bridge/qt/qt_runtime.cpp:
1751         (JSC::Bindings::convertValueToQVariant): 
1752         (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
1753
1754 2010-04-14  Simon Fraser  <simon.fraser@apple.com>
1755
1756         Reviewed by Dan Bernstein.
1757
1758         Repaint of fixed, transformed element is broken
1759         https://bugs.webkit.org/show_bug.cgi?id=37637
1760
1761         RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
1762         for elements that had both fixed position and a transform. If the element has
1763         a transform, 'fixed' should only remain true if the element itself is fixed
1764         position.
1765         
1766         Also cache style()->position() in a local variable for performance.
1767         
1768         Test: fast/repaint/fixed-tranformed.html
1769
1770         * rendering/RenderBox.cpp:
1771         (WebCore::RenderBox::computeRectForRepaint):
1772
1773 2010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>
1774
1775         Reviewed by Kenneth Rohde Christiansen.
1776
1777         Changing view mode names due to specification changes
1778         https://bugs.webkit.org/show_bug.cgi?id=37615
1779
1780         test: fast/media/media-feature-wgt-view-mode.html
1781
1782         specification: http://dev.w3.org/2006/waf/widgets-vmmf/
1783
1784         * css/MediaQueryEvaluator.cpp:
1785         (WebCore::view_modeMediaFeatureEval):
1786         * page/ChromeClient.h:
1787         (WebCore::ChromeClient::isWindowed):
1788         (WebCore::ChromeClient::isMaximized):
1789         (WebCore::ChromeClient::isMinimized):
1790
1791 2010-04-14  Adam Barth  <abarth@webkit.org>
1792
1793         Unreviewed attempt to fix Qt build.
1794
1795         * bindings/js/JSNodeCustom.cpp:
1796
1797 2010-04-14  Justin Schuh  <jschuh@chromium.org>
1798
1799         Reviewed by Adam Barth.
1800
1801         Javascript URL can be set as iframe.src via multiple DOM aliases
1802         https://bugs.webkit.org/show_bug.cgi?id=37031
1803
1804         Moved frame/iframe checks from Attr to Node on inherited members.
1805         Node child manipulation methods now return NOT_SUPPORTED_ERR if used
1806         on a frame/iframe src attribute.
1807         NamedNodeMap set methods now perform frame/iframe src checks.
1808         Moved allowSettingSrcToJavascriptURL static helper function from 
1809         JSElementCustom.cpp to exported function in JSDOMBinding.h.
1810
1811         * bindings/js/JSAttrCustom.cpp:
1812         (WebCore::JSAttr::setValue):
1813         * bindings/js/JSDOMBinding.cpp:
1814         (WebCore::allowSettingSrcToJavascriptURL):
1815         * bindings/js/JSDOMBinding.h:
1816         * bindings/js/JSElementCustom.cpp:
1817         * bindings/js/JSNamedNodeMapCustom.cpp:
1818         (WebCore::JSNamedNodeMap::setNamedItem):
1819         (WebCore::JSNamedNodeMap::setNamedItemNS):
1820         * bindings/js/JSNodeCustom.cpp:
1821         (WebCore::isAttrFrameSrc):
1822         (WebCore::JSNode::setNodeValue):
1823         (WebCore::JSNode::setTextContent):
1824         (WebCore::JSNode::insertBefore):
1825         (WebCore::JSNode::replaceChild):
1826         (WebCore::JSNode::removeChild):
1827         (WebCore::JSNode::appendChild):
1828         * bindings/v8/custom/V8AttrCustom.cpp:
1829         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1830         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
1831         (WebCore::V8NamedNodeMap::setNamedItemCallback):
1832         (WebCore::toV8):
1833         * bindings/v8/custom/V8NodeCustom.cpp:
1834         (WebCore::isFrameSrc):
1835         (WebCore::V8Node::textContentAccessorSetter):
1836         (WebCore::V8Node::nodeValueAccessorSetter):
1837         (WebCore::V8Node::insertBeforeCallback):
1838         (WebCore::V8Node::replaceChildCallback):
1839         (WebCore::V8Node::removeChildCallback):
1840         (WebCore::V8Node::appendChildCallback):
1841         * dom/Attr.idl:
1842         * dom/NamedNodeMap.idl:
1843         * dom/Node.idl:
1844
1845 2010-04-14  Alejandro G. Castro  <alex@igalia.com>
1846
1847         Reviewed by Xan Lopez.
1848
1849         We have to check if the resource handler is cancelled before
1850         checking the client, other case it could crash.
1851
1852         * platform/network/soup/ResourceHandleSoup.cpp:
1853         (WebCore::parseDataUrl):
1854
1855 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1856
1857         Unreviewed, rolling out r57609.
1858         http://trac.webkit.org/changeset/57609
1859         https://bugs.webkit.org/show_bug.cgi?id=37614
1860
1861         "Broke multiple builders.  Probably needs new test results,
1862         but may be an Inspector bug." (Requested by eseidel on
1863         #webkit).
1864
1865         * inspector/InspectorController.cpp:
1866         (WebCore::InspectorController::didReceiveResponse):
1867         (WebCore::InspectorController::didFailLoading):
1868         * inspector/front-end/Resource.js:
1869         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1870         * inspector/front-end/ResourcesPanel.js:
1871         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
1872
1873 2010-04-14  Steve Falkenburg  <sfalken@apple.com>
1874
1875         Reviewed by Dan Bernstein.
1876
1877         Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
1878         https://bugs.webkit.org/show_bug.cgi?id=37599
1879
1880         * platform/graphics/win/FontCacheWin.cpp:
1881         (WebCore::fontDataFromDescriptionAndLogFont):
1882         (WebCore::FontCache::getLastResortFallbackFont):
1883
1884 2010-04-14  Andrey Kosyakov  <caseq@chromium.ru>
1885
1886         Reviewed by Timothy Hatcher.
1887
1888         Log error message to inspector console if a resource fails to load.
1889         Disable checking of mime-type consistency for failed resources.
1890         https://bugs.webkit.org/show_bug.cgi?id=37215
1891
1892         Test: inspector/console-resource-errors.html
1893
1894         * inspector/InspectorController.cpp:
1895         (WebCore::InspectorController::didReceiveResponse):
1896         (WebCore::InspectorController::didFailLoading):
1897         * inspector/front-end/Resource.js:
1898         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1899         * inspector/front-end/ResourcesPanel.js:
1900         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
1901
1902 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1903
1904         Unreviewed, rolling out r57599.
1905         http://trac.webkit.org/changeset/57599
1906         https://bugs.webkit.org/show_bug.cgi?id=37605
1907
1908         "Broke Chromium build" (Requested by dglazkov on #webkit).
1909
1910         * platform/chromium/PopupMenuChromium.cpp:
1911         (WebCore::PopupContainer::PopupContainer):
1912         (WebCore::PopupContainer::showPopup):
1913         (WebCore::PopupContainer::notifyPopupHidden):
1914         * platform/chromium/PopupMenuChromium.h:
1915
1916 2010-04-14  Aaron Boodman  <aa@chromium.org>
1917
1918         Reviewed by David Levin.
1919
1920         Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
1921         the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
1922         unsupported. Fixed by resolving the relative URL first.
1923
1924         https://bugs.webkit.org/show_bug.cgi?id=36623
1925
1926         Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
1927
1928         * notifications/Notification.cpp:
1929         (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
1930         * notifications/Notification.h:
1931         (WebCore::Notification::create): Ditto.
1932         (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
1933         * notifications/NotificationCenter.h:
1934         (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
1935         (WebCore::NotificationCenter::createNotification): Ditto.
1936         * notifications/NotificationContents.h:
1937         (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
1938         (WebCore::NotificationContents::icon): Return resolved URL.
1939
1940 2010-04-14  Anders Carlsson  <andersca@apple.com>
1941
1942         Reviewed by Sam Weinig.
1943
1944         Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
1945         https://bugs.webkit.org/show_bug.cgi?id=37601
1946
1947         * platform/mac/ThemeMac.h:
1948         * platform/mac/ThemeMac.mm:
1949         (-[WebCoreFlippedView isFlipped]):
1950         (WebCore::paintButton):
1951         (WebCore::ThemeMac::ensuredView):
1952
1953 2010-04-14  Jay Civelli  <jcivelli@chromium.org>
1954  
1955         Reviewed by Dimitri Glazkov.
1956
1957         [chromium] Select popups would assert when destroyed.
1958         https://bugs.webkit.org/show_bug.cgi?id=37436
1959  
1960         * platform/chromium/PopupMenuChromium.cpp:
1961         (WebCore::PopupContainer::PopupContainer):
1962         (WebCore::PopupContainer::showPopup):
1963         (WebCore::PopupContainer::notifyPopupHidden):
1964         * platform/chromium/PopupMenuChromium.h:
1965  
1966
1967 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
1968
1969         Reviewed by Jian Li.
1970
1971         Remove an incorrect ASSERT in UniscribeHelper::draw().
1972         https://bugs.webkit.org/show_bug.cgi?id=37533
1973
1974         * platform/graphics/chromium/UniscribeHelper.cpp:
1975         (WebCore::UniscribeHelper::draw):
1976
1977 2010-04-14  Pavel Feldman  <pfeldman@chromium.org>
1978
1979         Reviewed by Timothy Hatcher.
1980
1981         Web Inspector: readline shortcuts don't work in Chromium.
1982
1983         * inspector/front-end/TextPrompt.js:
1984         (WebInspector.TextPrompt.prototype._onKeyDown):
1985         (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
1986
1987 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
1988
1989         Reviewed by Timothy Hatcher.
1990
1991         Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
1992         https://bugs.webkit.org/show_bug.cgi?id=37582
1993
1994         * inspector/front-end/TextPrompt.js:
1995         (WebInspector.TextPrompt.prototype.complete):
1996         (WebInspector.TextPrompt.prototype._completionsReady):
1997         (WebInspector.TextPrompt.prototype._tabKeyPressed):
1998
1999 2010-04-14  Jeff Schiller  <codedread@gmail.com>
2000
2001         Reviewed by Dirk Schulze.
2002
2003         Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
2004
2005         * svg/SVGParserUtilities.cpp:
2006         (WebCore::SVGPathSegListBuilder::build):
2007
2008 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
2009
2010         Reviewed by Joseph Pecoraro.
2011
2012         Web Inspector: Ctrl-L (Clear History) does nothing on Windows
2013         https://bugs.webkit.org/show_bug.cgi?id=37579
2014
2015         * inspector/front-end/ConsoleView.js:
2016         (WebInspector.ConsoleView):
2017
2018 2010-04-14  Anton Muhin  <antonm@chromium.org>
2019
2020         Not review, build fix.
2021
2022         Add <limits.h> include to bring UINT_MAX.
2023
2024         * html/canvas/WebGLArray.h:
2025
2026 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2027
2028         Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
2029
2030         * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
2031
2032 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2033
2034         Reviewed by Dirk Schulze.
2035
2036         SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
2037         https://bugs.webkit.org/show_bug.cgi?id=37568
2038
2039         Cleanup SVGRenderStyle / SVGRenderStyleDefs:
2040         - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
2041         - fix style issues (misplaced references, abbrevations)
2042         - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
2043         - move filter property in StyleResourceData
2044         - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
2045         - unify naming schemes for all resources (filter/clipper/masker/markers)
2046           - clipPath() -> clipperResource()
2047           - maskElement() -> maskerResource()
2048           - startMarker() -> markerStartResource()
2049           - midMarker() -> markerMidResource()
2050           - endMarker() -> markerEndResource()
2051           - filter() -> filterResource()
2052
2053         Adapt all callsites to the renames above.
2054         No new tests, as this doesn't affect anything except memory overhead.
2055
2056         * css/SVGCSSComputedStyleDeclaration.cpp:
2057         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
2058         * css/SVGCSSStyleSelector.cpp:
2059         (WebCore::CSSStyleSelector::applySVGProperty):
2060         * rendering/RenderPath.cpp:
2061         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
2062         * rendering/RenderSVGContainer.cpp:
2063         (WebCore::RenderSVGContainer::selfWillPaint):
2064         * rendering/RenderSVGRoot.cpp:
2065         (WebCore::RenderSVGRoot::selfWillPaint):
2066         * rendering/SVGRenderSupport.cpp:
2067         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2068         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2069         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
2070         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
2071         (WebCore::deregisterFromResources):
2072         * rendering/SVGRenderTreeAsText.cpp:
2073         (WebCore::writeStyle):
2074         (WebCore::writeResources):
2075         * rendering/style/SVGRenderStyle.cpp:
2076         (WebCore::SVGRenderStyle::SVGRenderStyle):
2077         (WebCore::SVGRenderStyle::operator==):
2078         (WebCore::SVGRenderStyle::inheritedNotEqual):
2079         (WebCore::SVGRenderStyle::inheritFrom):
2080         * rendering/style/SVGRenderStyle.h:
2081         * rendering/style/SVGRenderStyleDefs.cpp:
2082         (WebCore::StyleFillData::StyleFillData):
2083         (WebCore::StyleFillData::operator==):
2084         (WebCore::StyleStrokeData::StyleStrokeData):
2085         (WebCore::StyleStrokeData::operator==):
2086         (WebCore::StyleStopData::StyleStopData):
2087         (WebCore::StyleStopData::operator==):
2088         (WebCore::StyleTextData::StyleTextData):
2089         (WebCore::StyleMiscData::StyleMiscData):
2090         (WebCore::StyleMiscData::operator==):
2091         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
2092         (WebCore::StyleShadowSVGData::operator==):
2093         (WebCore::StyleResourceData::StyleResourceData):
2094         (WebCore::StyleResourceData::operator==):
2095         (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
2096         (WebCore::StyleInheritedResourceData::operator==):
2097         * rendering/style/SVGRenderStyleDefs.h:
2098         (WebCore::StyleFillData::operator!=):
2099         (WebCore::StyleStopData::operator!=):
2100         (WebCore::StyleMiscData::create):
2101         (WebCore::StyleMiscData::copy):
2102         (WebCore::StyleMiscData::operator!=):
2103         (WebCore::StyleShadowSVGData::create):
2104         (WebCore::StyleShadowSVGData::copy):
2105         (WebCore::StyleShadowSVGData::operator!=):
2106         (WebCore::StyleResourceData::create):
2107         (WebCore::StyleResourceData::copy):
2108         (WebCore::StyleResourceData::operator!=):
2109         (WebCore::StyleInheritedResourceData::create):
2110         (WebCore::StyleInheritedResourceData::copy):
2111         (WebCore::StyleInheritedResourceData::operator!=):
2112         * svg/SVGDocumentExtensions.cpp:
2113         (WebCore::SVGDocumentExtensions::addResource):
2114         (WebCore::SVGDocumentExtensions::removeResource):
2115         * svg/SVGDocumentExtensions.h:
2116         * svg/SVGStyledElement.cpp:
2117         (WebCore::SVGStyledElement::invalidateResources):
2118
2119 2010-04-14  Zhenyao Mo  <zmo@google.com>
2120
2121         Reviewed by Dimitri Glazkov.
2122
2123         readPixels must take PACK_ALIGNMENT into account
2124         https://bugs.webkit.org/show_bug.cgi?id=34718
2125
2126         Test: fast/canvas/webgl/read-pixels.html
2127
2128         * html/canvas/WebGLRenderingContext.cpp:
2129         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
2130         (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
2131         (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
2132         * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
2133         * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
2134         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2135         (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
2136
2137 2010-04-13  Dirk Schulze  <krit@webkit.org>
2138
2139         Reviewed by Eric Seidel.
2140
2141         REGRESSION(r57511): many new graphics / svg related leaks
2142         https://bugs.webkit.org/show_bug.cgi?id=37527
2143
2144         The content of a HashMap was not correctly deleted. Fixed this
2145         in the DTor and in invalidateClient of RenderSVGResourceClipper.
2146
2147         * rendering/RenderSVGResourceClipper.cpp:
2148         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
2149         (WebCore::RenderSVGResourceClipper::invalidateClient):
2150
2151 2010-04-13  Zhenyao Mo  <zmo@google.com>
2152
2153         Reviewed by Oliver Hunt.
2154
2155         Fix a potential integer overflow in WebGL*Array::slice()
2156         https://bugs.webkit.org/show_bug.cgi?id=37466
2157
2158         * html/canvas/WebGLArray.h:
2159         (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow. 
2160         * html/canvas/WebGLByteArray.cpp:
2161         (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
2162         * html/canvas/WebGLFloatArray.cpp:
2163         (WebCore::WebGLFloatArray::slice): Ditto.
2164         * html/canvas/WebGLIntArray.cpp:
2165         (WebCore::WebGLIntArray::slice): Ditto.
2166         * html/canvas/WebGLShortArray.cpp:
2167         (WebCore::WebGLShortArray::slice): Ditto.
2168         * html/canvas/WebGLUnsignedByteArray.cpp:
2169         (WebCore::WebGLUnsignedByteArray::slice): Ditto.
2170         * html/canvas/WebGLUnsignedIntArray.cpp:
2171         (WebCore::WebGLUnsignedIntArray::slice): Ditto.
2172         * html/canvas/WebGLUnsignedShortArray.cpp:
2173         (WebCore::WebGLUnsignedShortArray::slice): Ditto.
2174
2175 2010-04-13  Darin Fisher  <darin@chromium.org>
2176
2177         Reviewed by Brady Eidson.
2178
2179         If the browsing context's session history contains only one Document,
2180         and that was the about:blank Document created when the browsing context
2181         was created, then the navigation must be done with replacement enabled.
2182
2183         https://bugs.webkit.org/show_bug.cgi?id=37126
2184
2185         Tests: fast/loader/frame-location-change-not-added-to-history.html
2186                fast/loader/frame-src-change-not-added-to-history.html
2187
2188         * loader/FrameLoader.cpp:
2189         (WebCore::FrameLoader::clientRedirected):
2190         (WebCore::FrameLoader::findFrameForNavigation):
2191         * loader/HistoryController.cpp:
2192         (WebCore::HistoryController::currentItemShouldBeReplaced):
2193         * loader/HistoryController.h:
2194
2195 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
2196
2197         Reviewed by Oliver Hunt.
2198
2199         Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
2200         its own lifetime, so a DOMWrapperWorld's controller can throw away
2201         its wrappers even before its refcount reaches 0.
2202
2203         * WebCore.base.exp:
2204         * bindings/js/DOMWrapperWorld.cpp:
2205         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2206         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2207         (WebCore::DOMWrapperWorld::registerWorld):
2208         (WebCore::DOMWrapperWorld::unregisterWorld):
2209         * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
2210         and unregistration into helper functions, so unregistering could be done manually.
2211
2212         * bindings/js/ScriptController.cpp:
2213         (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
2214         similar code.
2215
2216 2010-04-13  Chang Shu  <chang.shu@nokia.com>
2217
2218         Reviewed by Darin Fisher.
2219
2220         https://bugs.webkit.org/show_bug.cgi?id=34653
2221
2222         Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
2223         as String, the charset in Content-Type should be forced to set to UTF-8.
2224
2225         Test: http/tests/xmlhttprequest/request-encoding2.html
2226
2227         * platform/network/HTTPParsers.cpp:
2228         (WebCore::extractCharsetFromMediaType):
2229         (WebCore::findCharsetInMediaType):
2230         * platform/network/HTTPParsers.h:
2231         * xml/XMLHttpRequest.cpp:
2232         (WebCore::setCharsetInMediaType):
2233         (WebCore::XMLHttpRequest::send):
2234
2235 2010-04-12  Timothy Hatcher  <timothy@apple.com>
2236
2237         SecurityOrigin needs a way to remove individual OriginAccessEntries
2238         https://bugs.webkit.org/show_bug.cgi?id=37449
2239
2240         Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
2241
2242         Reviewed by Dave Hyatt.
2243
2244         * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
2245         * page/OriginAccessEntry.h:
2246         (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
2247         (WebCore::OriginAccessEntry::host): Added. Returns m_host.
2248         (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
2249         (WebCore::operator==): Added. Compares OriginAccessEntry.
2250         (WebCore::operator!=): Ditto.
2251         * page/SecurityOrigin.cpp:
2252         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
2253         second hash lookup.
2254         (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
2255         OriginAccessEntry and remove it.
2256         * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
2257
2258 2010-04-13  Timothy Hatcher  <timothy@apple.com>
2259
2260         Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
2261         And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
2262
2263         SecurityOrigin needs a way to remove individual OriginAccessEntries
2264         https://bugs.webkit.org/show_bug.cgi?id=37449
2265
2266         Reviewed by Dave Hyatt.
2267
2268         * WebCore.base.exp:
2269         * page/SecurityOrigin.cpp:
2270         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
2271         (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
2272         * page/SecurityOrigin.h:
2273
2274 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
2275
2276         Reviewed by Mark Rowe.
2277
2278         Tidied up some more DOMWrapperWorld lifetime issues.
2279         
2280         Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
2281
2282         * bindings/js/DOMWrapperWorld.cpp:
2283         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2284         * bindings/js/DOMWrapperWorld.h:
2285         (WebCore::DOMWrapperWorld::didCreateWindowShell):
2286         (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
2287         tracking window shells that reference a given DOMWrapperWorld.
2288
2289         * bindings/js/ScriptController.cpp:
2290         (WebCore::ScriptController::~ScriptController):
2291         (WebCore::ScriptController::destroyWindowShell):
2292         (WebCore::ScriptController::createWindowShell):
2293         (WebCore::ScriptController::clearWindowShell):
2294         (WebCore::ScriptController::initScript):
2295         * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
2296         when adding or removing a JSDOMWindowShell.
2297
2298         * dom/Document.cpp:
2299         (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
2300         which is slightly faster and simpler than iterator comparison.
2301
2302 2010-04-13  Dumitru Daniliuc  <dumi@chromium.org>
2303
2304         Reviewed by Adam Barth.
2305
2306         Make all HTML5 DB callbacks run in the correct context.
2307         https://bugs.webkit.org/show_bug.cgi?id=27698
2308
2309         Tests: storage/statement-error-callback-isolated-world.html
2310                storage/statement-success-callback-isolated-world.html
2311                storage/transaction-callback-isolated-world.html
2312                storage/transaction-error-callback-isolated-world.html
2313
2314         * bindings/js/JSCustomSQLStatementCallback.cpp:
2315         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
2316         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2317         * bindings/js/JSCustomSQLStatementCallback.h:
2318         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2319         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
2320         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2321         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2322         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2323         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2324         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2325         * bindings/js/JSCustomSQLTransactionCallback.h:
2326         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2327         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
2328         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2329         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2330         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
2331         (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
2332         (WebCore::V8CustomSQLStatementCallback::handleEvent):
2333         * bindings/v8/custom/V8CustomSQLStatementCallback.h:
2334         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2335         (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
2336         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
2337         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
2338         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
2339         (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
2340         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
2341         * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
2342         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2343         (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
2344         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
2345         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
2346         * storage/SQLStatement.cpp:
2347         (WebCore::SQLStatement::performCallback):
2348         * storage/SQLStatementCallback.h:
2349         * storage/SQLStatementErrorCallback.h:
2350         * storage/SQLTransaction.cpp:
2351         (WebCore::SQLTransaction::deliverTransactionCallback):
2352         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
2353         * storage/SQLTransactionCallback.h:
2354         * storage/SQLTransactionErrorCallback.h:
2355         (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
2356
2357 2010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
2358
2359         Reviewed by Pavel Feldman.
2360
2361         Fix search behavior in Profiles tab.
2362
2363         https://bugs.webkit.org/show_bug.cgi?id=37498
2364
2365         * inspector/front-end/ProfileView.js:
2366         (WebInspector.CPUProfileView.profileCallback):
2367         (WebInspector.CPUProfileView):
2368
2369 2010-04-13  David Hyatt  <hyatt@apple.com>
2370
2371         Reviewed by Oliver Hunt.
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
2374
2375         * rendering/style/RenderStyle.cpp:
2376         (WebCore::RenderStyle::RenderStyle):
2377         (WebCore::RenderStyle::operator==):
2378         (WebCore::RenderStyle::diff):
2379         * rendering/style/RenderStyle.h:
2380         (WebCore::):
2381         (WebCore::InheritedFlags::width):
2382         (WebCore::InheritedFlags::height):
2383         (WebCore::InheritedFlags::minWidth):
2384         (WebCore::InheritedFlags::maxWidth):
2385         (WebCore::InheritedFlags::minHeight):
2386         (WebCore::InheritedFlags::maxHeight):
2387         (WebCore::InheritedFlags::verticalAlignLength):
2388         (WebCore::InheritedFlags::boxSizing):
2389         (WebCore::InheritedFlags::setWidth):
2390         (WebCore::InheritedFlags::setHeight):
2391         (WebCore::InheritedFlags::setMinWidth):
2392         (WebCore::InheritedFlags::setMaxWidth):
2393         (WebCore::InheritedFlags::setMinHeight):
2394         (WebCore::InheritedFlags::setMaxHeight):
2395         (WebCore::InheritedFlags::setVerticalAlignLength):
2396         (WebCore::InheritedFlags::hasAutoZIndex):
2397         (WebCore::InheritedFlags::setHasAutoZIndex):
2398         (WebCore::InheritedFlags::zIndex):
2399         (WebCore::InheritedFlags::setZIndex):
2400         (WebCore::InheritedFlags::setBoxSizing):
2401         * rendering/style/StyleBoxData.cpp:
2402         (WebCore::StyleBoxData::StyleBoxData):
2403         (WebCore::StyleBoxData::operator==):
2404         * rendering/style/StyleBoxData.h:
2405         (WebCore::StyleBoxData::width):
2406         (WebCore::StyleBoxData::height):
2407         (WebCore::StyleBoxData::minWidth):
2408         (WebCore::StyleBoxData::minHeight):
2409         (WebCore::StyleBoxData::maxWidth):
2410         (WebCore::StyleBoxData::maxHeight):
2411         (WebCore::StyleBoxData::verticalAlign):
2412         (WebCore::StyleBoxData::zIndex):
2413         (WebCore::StyleBoxData::hasAutoZIndex):
2414         (WebCore::StyleBoxData::boxSizing):
2415
2416 2010-04-12  yael aharon  <yael.aharon@nokia.com>
2417
2418         Reviewed by Tor Arne Vestbo.
2419
2420         Minor fix to pass RenderProgress instead of RenderObject
2421         https://bugs.webkit.org/show_bug.cgi?id=37481
2422
2423         * accessibility/AXObjectCache.cpp:
2424         (WebCore::AXObjectCache::getOrCreate):
2425         * accessibility/AccessibilityProgressIndicator.cpp:
2426         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
2427         (WebCore::AccessibilityProgressIndicator::create):
2428         * accessibility/AccessibilityProgressIndicator.h:
2429
2430 2010-04-13  David Hyatt  <hyatt@apple.com>
2431
2432         Reviewed by Oliver Hunt.
2433
2434         https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
2435
2436         * rendering/style/RenderStyle.cpp:
2437         (WebCore::RenderStyle::RenderStyle):
2438         (WebCore::RenderStyle::operator==):
2439         (WebCore::RenderStyle::diff):
2440         * rendering/style/RenderStyle.h:
2441         (WebCore::):
2442         (WebCore::InheritedFlags::hasBackground):
2443         (WebCore::InheritedFlags::hasBackgroundImage):
2444         (WebCore::InheritedFlags::hasFixedBackgroundImage):
2445         (WebCore::InheritedFlags::outlineWidth):
2446         (WebCore::InheritedFlags::outlineStyle):
2447         (WebCore::InheritedFlags::outlineStyleIsAuto):
2448         (WebCore::InheritedFlags::outlineColor):
2449         (WebCore::InheritedFlags::backgroundColor):
2450         (WebCore::InheritedFlags::backgroundImage):
2451         (WebCore::InheritedFlags::backgroundRepeatX):
2452         (WebCore::InheritedFlags::backgroundRepeatY):
2453         (WebCore::InheritedFlags::backgroundComposite):
2454         (WebCore::InheritedFlags::backgroundAttachment):
2455         (WebCore::InheritedFlags::backgroundClip):
2456         (WebCore::InheritedFlags::backgroundOrigin):
2457         (WebCore::InheritedFlags::backgroundXPosition):
2458         (WebCore::InheritedFlags::backgroundYPosition):
2459         (WebCore::InheritedFlags::backgroundSizeType):
2460         (WebCore::InheritedFlags::backgroundSizeLength):
2461         (WebCore::InheritedFlags::accessBackgroundLayers):
2462         (WebCore::InheritedFlags::backgroundLayers):
2463         (WebCore::InheritedFlags::outlineOffset):
2464         (WebCore::InheritedFlags::resetOutline):
2465         (WebCore::InheritedFlags::setBackgroundColor):
2466         (WebCore::InheritedFlags::setBackgroundXPosition):
2467         (WebCore::InheritedFlags::setBackgroundYPosition):
2468         (WebCore::InheritedFlags::setBackgroundSize):
2469         (WebCore::InheritedFlags::setBackgroundSizeLength):
2470         (WebCore::InheritedFlags::setOutlineWidth):
2471         (WebCore::InheritedFlags::setOutlineStyle):
2472         (WebCore::InheritedFlags::setOutlineColor):
2473         (WebCore::InheritedFlags::clearBackgroundLayers):
2474         (WebCore::InheritedFlags::inheritBackgroundLayers):
2475         (WebCore::InheritedFlags::setOutlineOffset):
2476         * rendering/style/StyleBackgroundData.h:
2477         (WebCore::StyleBackgroundData::background):
2478         (WebCore::StyleBackgroundData::color):
2479         (WebCore::StyleBackgroundData::outline):
2480
2481 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
2482
2483         Reviewed by David Levin.
2484
2485         [Haiku] Use the system clipboard instead of a private clipboard.
2486                 Fix various problems in the previous implementation.
2487
2488         https://bugs.webkit.org/show_bug.cgi?id=37421
2489
2490         No new tests needed.
2491
2492         * platform/haiku/PasteboardHaiku.cpp:
2493         (WebCore::Pasteboard::~Pasteboard):
2494         (WebCore::Pasteboard::generalPasteboard):
2495             - Don't leak the pasteboard at program exit.
2496         (WebCore::AutoClipboardLocker::AutoClipboardLocker):
2497         (WebCore::AutoClipboardLocker::~AutoClipboardLocker):
2498         (WebCore::AutoClipboardLocker::isLocked):
2499             - helper class for locking a BClipboard.
2500         (WebCore::Pasteboard::writeSelection):
2501             - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
2502             - Make sure we don't end up with unwanted UTF-8 characters for
2503               regular line breaks.
2504         (WebCore::Pasteboard::writePlainText):
2505             - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
2506         (WebCore::Pasteboard::plainText):
2507             - Use FindData(B_MIME_TYPE) as required by clipboard protocol.
2508         (WebCore::Pasteboard::documentFragment):
2509             - Implemented.
2510         (WebCore::Pasteboard::writeURL):
2511             - Needs to use AddData(B_MIME_TYPE) instead of AddString().
2512         (WebCore::Pasteboard::clear):
2513
2514 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
2515
2516         Reviewed by David Levin.
2517
2518         [Haiku] Fix bridging Widget to native top-level BView.
2519         https://bugs.webkit.org/show_bug.cgi?id=37419
2520
2521         In the Haiku port, there is no mapping between native widgets
2522         and WebCore Widget instances. There is only a top-level BView
2523         which renders a web page into a bitmap. For certain WebCore widget
2524         functionality, we need to access this BView, like for setting the
2525         current cursor or forcing focus. On the other hand, setting a
2526         platform widget pointer on Widget results into completely different
2527         behavior, like ScrollView tries to forward everything instead of
2528         handling stuff itself. To make this work, the pointer to a "top-level"
2529         BView is stored in every Widget for the Haiku port.
2530
2531         No new tests needed.
2532
2533         * platform/Widget.h:
2534             - Added the m_topLevelPlatformWidget member for the Haiku platform.
2535         (WebCore::Widget::setPlatformWidget):
2536         (WebCore::Widget::topLevelPlatformWidget):
2537         (WebCore::Widget::setTopLevelPlatformWidget):
2538         * platform/haiku/WidgetHaiku.cpp:
2539         (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker):
2540         (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker):
2541         (WebCore::AutoPlatformWidgetLocker::isLocked):
2542             - helper class for locking the BView looper thread with a timeout
2543         (WebCore::Widget::Widget):
2544         (WebCore::Widget::setFocus):
2545             - Make sure the top-level view receives keyboard input.
2546         (WebCore::Widget::setCursor):
2547             - Set the cursor on the top-level view.
2548         (WebCore::Widget::show):
2549         (WebCore::Widget::hide):
2550             - Don't show/hide the top-level view, but make the code correct
2551               for whenever we would map an individual BView per Widget.
2552             - Use setSelfVisible() and isParentVisible() like in other ports.
2553
2554 2010-04-13  Jeremy Moskovich  <jeremy@chromium.org>
2555
2556         Reviewed by David Levin.
2557
2558         Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
2559
2560         https://bugs.webkit.org/show_bug.cgi?id=36426
2561
2562         No new tests as there is no new functionality.
2563
2564         * loader/FrameLoader.cpp:
2565         (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
2566
2567 2010-04-13  Abhishek Arya  <inferno@chromium.org>
2568
2569         Reviewed by Adam Barth.
2570
2571         Add a null ptr check for m_popupClient.
2572
2573         * platform/chromium/PopupMenuChromium.cpp:
2574         (WebCore::PopupListBox::abandon): Add a null ptr check
2575
2576 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
2577
2578         Reviewed by David Levin.
2579
2580         [Haiku] Use the system's default font family as last fall back font.
2581         https://bugs.webkit.org/show_bug.cgi?id=37501
2582
2583         No new tests needed.
2584
2585         * platform/graphics/haiku/FontCacheHaiku.cpp:
2586         (WebCore::FontCache::getLastResortFallbackFont):
2587             - Use the system's default font family (from be_plain_font global).
2588
2589 2010-04-13  Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2590
2591         Reviewed by Simon Hausmann.
2592
2593         [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
2594         https://bugs.webkit.org/show_bug.cgi?id=36532
2595
2596         * platform/graphics/qt/FontQt.cpp:
2597         (WebCore::Font::floatWidthForComplexText):
2598         (WebCore::Font::font):
2599
2600 2010-04-13  Alexander Pavlov  <apavlov@chromium.org>
2601
2602         Reviewed by Pavel Feldman.
2603
2604         Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
2605         https://bugs.webkit.org/show_bug.cgi?id=37499
2606
2607         * inspector/InspectorDOMAgent.cpp:
2608         (WebCore::InspectorDOMAgent::applyStyleText):
2609
2610 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
2611
2612         Reviewed by David Levin.
2613
2614         Use the Haiku MIME type data base as a fall back for unknown file extensions.
2615         https://bugs.webkit.org/show_bug.cgi?id=34686
2616
2617         Covered by existing tests.
2618
2619         * platform/haiku/MIMETypeRegistryHaiku.cpp:
2620         (WebCore::):
2621             - fixed coding style issues
2622         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2623             - fall back to the system MIME database for unknown types.
2624             - return empty String as last resort, this is used
2625               elsewhere as indicator for unknown types.
2626
2627 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
2628
2629         Reviewed by David Levin.
2630
2631         [Haiku] Use all the new system cursors available in recent Haiku revisions.
2632         <https://bugs.webkit.org/show_bug.cgi?id=37385>
2633
2634         Covered by existing tests.
2635
2636         * platform/haiku/CursorHaiku.cpp:
2637         (WebCore::Cursor::Cursor):
2638         (WebCore::Cursor::~Cursor):
2639         (WebCore::Cursor::operator=):
2640             - Adapted to maintain an owned BCursor instance.
2641         (WebCore::createCursorByID):
2642             - helper function to create a Cursor instance by BCursorID constant.
2643         (WebCore::pointerCursor):
2644             - NULL BCursor triggers using the system cursor.
2645         (WebCore::moveCursor):
2646         (WebCore::crossCursor):
2647         (WebCore::handCursor):
2648         (WebCore::iBeamCursor):
2649         (WebCore::waitCursor):
2650         (WebCore::helpCursor):
2651         (WebCore::eastResizeCursor):
2652         (WebCore::northResizeCursor):
2653         (WebCore::northEastResizeCursor):
2654         (WebCore::northWestResizeCursor):
2655         (WebCore::southResizeCursor):
2656         (WebCore::southEastResizeCursor):
2657         (WebCore::southWestResizeCursor):
2658         (WebCore::westResizeCursor):
2659         (WebCore::northSouthResizeCursor):
2660         (WebCore::eastWestResizeCursor):
2661         (WebCore::northEastSouthWestResizeCursor):
2662         (WebCore::northWestSouthEastResizeCursor):
2663         (WebCore::columnResizeCursor):
2664         (WebCore::rowResizeCursor):
2665         (WebCore::verticalTextCursor):
2666         (WebCore::cellCursor):
2667         (WebCore::contextMenuCursor):
2668         (WebCore::noDropCursor):
2669         (WebCore::copyCursor):
2670         (WebCore::progressCursor):
2671         (WebCore::aliasCursor):
2672         (WebCore::noneCursor):
2673         (WebCore::notAllowedCursor):
2674         (WebCore::zoomInCursor):
2675         (WebCore::zoomOutCursor):
2676         (WebCore::grabCursor):
2677         (WebCore::grabbingCursor):
2678             - Use the new system cursors.
2679
2680 2010-04-13  Dirk Schulze  <krit@webkit.org>
2681
2682         Reviewed by Nikolas Zimmermann.
2683
2684         <clipPath> doesn't correctly handle <text> elements
2685         https://bugs.webkit.org/show_bug.cgi?id=12571
2686
2687         Adds support for text elements as clipPath, heterogenous clip rules, as well
2688         as clipping of clipPath.
2689         A fast code path let platforms clip simple shapes directly. All other variants
2690         are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same
2691         way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle
2692         of clipPath childs. Values like stroke, resources, opacity have to be ignored.
2693
2694         Tests: svg/clip-path/clip-path-child-clipped.svg
2695                svg/clip-path/clip-path-childs-clipped.svg
2696                svg/clip-path/clip-path-clipped-evenodd-twice.svg
2697                svg/clip-path/clip-path-clipped-no-content.svg
2698                svg/clip-path/clip-path-clipped-nonzero.svg
2699                svg/clip-path/clip-path-clipped.svg
2700                svg/clip-path/clip-path-evenodd-nonzero.svg
2701                svg/clip-path/clip-path-evenodd.svg
2702                svg/clip-path/clip-path-nonzero-evenodd.svg
2703                svg/clip-path/clip-path-nonzero.svg
2704                svg/clip-path/clip-path-objectBoundingBox.svg
2705                svg/clip-path/clip-path-on-clipped-use.svg
2706                svg/clip-path/clip-path-on-g-and-child.svg
2707                svg/clip-path/clip-path-on-g.svg
2708                svg/clip-path/clip-path-on-svg-and-child.svg
2709                svg/clip-path/clip-path-on-svg.svg
2710                svg/clip-path/clip-path-recursive-call-by-child.svg
2711                svg/clip-path/clip-path-recursive-call.svg
2712                svg/clip-path/clip-path-text-and-shape.svg
2713                svg/clip-path/clip-path-text-and-stroke.svg
2714                svg/clip-path/clip-path-text.svg
2715                svg/clip-path/clip-path-use-as-child.svg
2716                svg/clip-path/clip-path-use-as-child2.svg
2717                svg/clip-path/clip-path-use-as-child3.svg
2718                svg/clip-path/clip-path-use-as-child4.svg
2719                svg/clip-path/clip-path-use-as-child5.svg
2720                svg/clip-path/clip-path-userSpaceOnUse.svg
2721                svg/clip-path/clip-path-with-container.svg
2722                svg/clip-path/clip-path-with-different-unittypes.svg
2723                svg/clip-path/clip-path-with-different-unittypes2.svg
2724                svg/clip-path/clip-path-with-invisibile-child.svg
2725                svg/clip-path/clip-path-with-text-clipped.svg
2726
2727         * rendering/RenderObject.h:
2728         (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer
2729         * rendering/RenderSVGResourceClipper.cpp:
2730         (WebCore::RenderSVGResourceClipper::invalidateClients):
2731         (WebCore::RenderSVGResourceClipper::invalidateClient):
2732         (WebCore::RenderSVGResourceClipper::applyResource):
2733         (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes
2734         (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage?
2735         (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping
2736         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
2737         * rendering/RenderSVGResourceClipper.h:
2738         * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer
2739         (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer):
2740         * rendering/SVGRenderSupport.cpp:
2741         (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern)
2742         * svg/SVGUseElement.cpp:
2743         (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object
2744         * svg/SVGUseElement.h:
2745
2746 2010-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2747
2748         Reviewed by Dirk Schulze.
2749
2750         SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM
2751         https://bugs.webkit.org/show_bug.cgi?id=15389
2752
2753         RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching
2754         was effectively useless because every layout() call caused them to be reset to empty rects.
2755         Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve
2756         the Path object, instead of only doing it when necessary. Even the TransformationMatrix
2757         was polled everytime from the SVG DOM.
2758
2759         Move the knownledge wheter we need to update path/transform into the render tree and
2760         only update when necessary. This should result in a huge performance increase, with
2761         the drawback of adding slightly more memory, because we need to add booleans indicating
2762         the status of path/transform (is dirty?).
2763
2764         Doesn't affect any tests, only performance.
2765
2766         * rendering/RenderForeignObject.cpp:
2767         (WebCore::RenderForeignObject::RenderForeignObject):
2768         (WebCore::RenderForeignObject::layout):
2769         * rendering/RenderForeignObject.h:
2770         (WebCore::RenderForeignObject::setNeedsTransformUpdate):
2771         * rendering/RenderObject.h:
2772         (WebCore::RenderObject::setNeedsTransformUpdate):
2773         (WebCore::RenderObject::setNeedsBoundariesUpdate):
2774         * rendering/RenderPath.cpp:
2775         (WebCore::RenderPath::RenderPath):
2776         (WebCore::RenderPath::layout):
2777         (WebCore::RenderPath::invalidateCachedBoundaries):
2778         (WebCore::RenderPath::styleWillChange):
2779         * rendering/RenderPath.h:
2780         (WebCore::RenderPath::setNeedsBoundariesUpdate):
2781         (WebCore::RenderPath::setNeedsPathUpdate):
2782         (WebCore::RenderPath::setNeedsTransformUpdate):
2783         (WebCore::RenderPath::localToParentTransform):
2784         (WebCore::RenderPath::localTransform):
2785         * rendering/RenderSVGImage.cpp:
2786         (WebCore::RenderSVGImage::RenderSVGImage):
2787         (WebCore::RenderSVGImage::layout):
2788         * rendering/RenderSVGImage.h:
2789         (WebCore::RenderSVGImage::setNeedsTransformUpdate):
2790         * rendering/RenderSVGResourceClipper.cpp:
2791         (WebCore::RenderSVGResourceClipper::invalidateClients):
2792         * rendering/RenderSVGResourceMarker.cpp:
2793         (WebCore::RenderSVGResourceMarker::invalidateClients):
2794         * rendering/RenderSVGResourceMasker.cpp:
2795         (WebCore::RenderSVGResourceMasker::invalidateClients):
2796         * rendering/RenderSVGText.cpp:
2797         (WebCore::RenderSVGText::RenderSVGText):
2798         (WebCore::RenderSVGText::layout):
2799         * rendering/RenderSVGText.h:
2800         (WebCore::RenderSVGText::setNeedsTransformUpdate):
2801         * rendering/RenderSVGTransformableContainer.cpp:
2802         (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
2803         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2804         * rendering/RenderSVGTransformableContainer.h:
2805         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
2806         (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
2807         (WebCore::RenderSVGTransformableContainer::localTransform):
2808         * svg/SVGAnimateMotionElement.cpp:
2809         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2810         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2811         * svg/SVGAnimateTransformElement.cpp:
2812         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2813         * svg/SVGCircleElement.cpp:
2814         (WebCore::SVGCircleElement::svgAttributeChanged):
2815         * svg/SVGEllipseElement.cpp:
2816         (WebCore::SVGEllipseElement::svgAttributeChanged):
2817         * svg/SVGForeignObjectElement.cpp:
2818         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
2819         * svg/SVGGElement.cpp:
2820         (WebCore::SVGGElement::svgAttributeChanged):
2821         * svg/SVGImageElement.cpp:
2822         (WebCore::SVGImageElement::svgAttributeChanged):
2823         * svg/SVGLineElement.cpp:
2824         (WebCore::SVGLineElement::svgAttributeChanged):
2825         * svg/SVGPathElement.cpp:
2826         (WebCore::SVGPathElement::svgAttributeChanged):
2827         * svg/SVGPolyElement.cpp:
2828         (WebCore::SVGPolyElement::svgAttributeChanged):
2829         * svg/SVGRectElement.cpp:
2830         (WebCore::SVGRectElement::svgAttributeChanged):
2831         * svg/SVGTextElement.cpp:
2832         (WebCore::SVGTextElement::svgAttributeChanged):
2833         * svg/SVGUseElement.cpp:
2834         (WebCore::SVGUseElement::svgAttributeChanged):
2835
2836 2010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
2837
2838         Unreviewed Qt build fix: add new .idl files to WebCore.pri
2839
2840         * WebCore.pri:
2841
2842 2010-04-12  Mikhail Naganov  <mnaganov@chromium.org>
2843
2844         Reviewed by Yury Semikhatsky.
2845
2846         Replace hand-written JavaScriptProfile* bindings with idl-based, and
2847         in Chromium port, bind them to the new V8's profiler API that is
2848         aligned with JSC.
2849
2850         https://bugs.webkit.org/show_bug.cgi?id=37448
2851
2852         * DerivedSources.cpp:
2853         * DerivedSources.make:
2854         * GNUmakefile.am:
2855         * WebCore.gypi:
2856         * WebCore.pro:
2857         * WebCore.vcproj/WebCore.vcproj:
2858         * WebCore.xcodeproj/project.pbxproj:
2859         * bindings/js/JSBindingsAllInOne.cpp:
2860         * bindings/js/JSConsoleCustom.cpp:
2861         * bindings/js/JSScriptProfileNodeCustom.cpp: Added.
2862         (WebCore::JSScriptProfileNode::callUID):
2863         (WebCore::JSScriptProfileNode::children):
2864         * bindings/js/JavaScriptProfile.cpp: Removed.
2865         * bindings/js/JavaScriptProfile.h: Removed.
2866         * bindings/js/JavaScriptProfileNode.cpp: Removed.
2867         * bindings/js/JavaScriptProfileNode.h: Removed.
2868         * bindings/js/ScriptProfileNode.h: Added.
2869         * bindings/scripts/CodeGeneratorJS.pm:
2870         * bindings/scripts/CodeGeneratorV8.pm:
2871         * bindings/v8/ScriptProfile.cpp: Added.
2872         (WebCore::ScriptProfile::title):
2873         (WebCore::ScriptProfile::uid):
2874         (WebCore::ScriptProfile::head):
2875         * bindings/v8/ScriptProfile.h:
2876         (WebCore::ScriptProfile::create):
2877         (WebCore::ScriptProfile::ScriptProfile):
2878         * bindings/v8/ScriptProfileNode.cpp: Added.
2879         (WebCore::ScriptProfileNode::functionName):
2880         (WebCore::ScriptProfileNode::url):
2881         (WebCore::ScriptProfileNode::lineNumber):
2882         (WebCore::ScriptProfileNode::totalTime):
2883         (WebCore::ScriptProfileNode::selfTime):
2884         (WebCore::ScriptProfileNode::numberOfCalls):
2885         (WebCore::ScriptProfileNode::children):
2886         (WebCore::ScriptProfileNode::visible):
2887         (WebCore::ScriptProfileNode::callUID):
2888         * bindings/v8/ScriptProfileNode.h: Added.
2889         (WebCore::ScriptProfileNode::create):
2890         (WebCore::ScriptProfileNode::~ScriptProfileNode):
2891         (WebCore::ScriptProfileNode::ScriptProfileNode):
2892         * bindings/v8/ScriptProfiler.cpp:
2893         (WebCore::ScriptProfiler::start):
2894         (WebCore::ScriptProfiler::stop):
2895         * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
2896         (WebCore::V8Console::profilesAccessorGetter):
2897         * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added.
2898         (WebCore::toV8):
2899         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
2900         (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
2901         (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
2902         (WebCore::toV8):
2903         * inspector/InspectorController.cpp:
2904         (WebCore::InspectorController::getProfile):
2905         * inspector/ScriptProfile.idl: Added.
2906         * inspector/ScriptProfileNode.idl: Added.
2907         * inspector/front-end/InspectorBackendStub.js:
2908         (.WebInspector.InspectorBackendStub.prototype.getProfile):
2909         * inspector/front-end/ProfilesPanel.js:
2910         (WebInspector.ProfilesPanel.prototype.populateInterface):
2911         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
2912         * page/Console.idl:
2913         * platform/android/TemporaryLinkStubs.cpp:
2914
2915 2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
2916
2917         Reviewed by Simon Fraser.
2918
2919         Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
2920         https://bugs.webkit.org/show_bug.cgi?id=37461
2921
2922         getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
2923         the node is currently offscreen in an scroll overflowed content.
2924
2925         Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
2926
2927         * page/SpatialNavigation.cpp:
2928         (WebCore::renderRectRelativeToRootDocument):
2929
2930 2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
2931
2932         Unreviewed style fix.
2933
2934         * page/FocusController.cpp:
2935         (WebCore::updateFocusCandidateIfCloser):
2936
2937 2010-04-08  yael aharon  <yael.aharon@nokia.com>
2938
2939         Reviewed by Darin Adler.
2940
2941         Accessibility support for progress element
2942         https://bugs.webkit.org/show_bug.cgi?id=37275
2943
2944         Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
2945
2946         Test: platform/mac/accessibility/progressbar.html
2947
2948         * GNUmakefile.am:
2949         * WebCore.gypi:
2950         * WebCore.pro:
2951         * WebCore.vcproj/WebCore.vcproj:
2952         * WebCore.xcodeproj/project.pbxproj:
2953         * accessibility/AXObjectCache.cpp:
2954         (WebCore::AXObjectCache::getOrCreate):
2955         * accessibility/AccessibilityProgressIndicator.cpp: Added.
2956         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
2957         (WebCore::AccessibilityProgressIndicator::create):
2958         (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored):
2959         (WebCore::AccessibilityProgressIndicator::valueForRange):
2960         (WebCore::AccessibilityProgressIndicator::maxValueForRange):
2961         (WebCore::AccessibilityProgressIndicator::minValueForRange):
2962         (WebCore::AccessibilityProgressIndicator::element):
2963         * accessibility/AccessibilityProgressIndicator.h: Added.
2964         (WebCore::AccessibilityProgressIndicator::roleValue):
2965         (WebCore::AccessibilityProgressIndicator::isProgressIndicator):
2966         * rendering/RenderProgress.cpp:
2967         (WebCore::RenderProgress::updateFromElement):
2968         (WebCore::RenderProgress::progressElement):
2969         * rendering/RenderProgress.h:
2970
2971 2010-04-12  Dumitru Daniliuc  <dumi@chromium.org>
2972
2973         Reviewed by Dimitri Glazkov.
2974
2975         Throwing a SECURITY_ERR when openDatabase() cannot open a database
2976         for whatever reason, as required by the spec.
2977         https://bugs.webkit.org/show_bug.cgi?id=33916
2978
2979         * bindings/js/JSDOMWindowCustom.cpp:
2980         (WebCore::JSDOMWindow::openDatabase):
2981         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2982         (WebCore::V8DOMWindow::openDatabaseCallback):
2983
2984 2010-04-12  Steve Falkenburg  <sfalken@apple.com>
2985
2986         Reviewed by Dan Bernstein.
2987
2988         WebKit should have more robust last-chance font fallback on Windows
2989         https://bugs.webkit.org/show_bug.cgi?id=37473
2990         <rdar://problem/7789438> Crash in FontFallbackList::determinePitch
2991         <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt
2992         
2993         Look harder for a suitable last-resort font. Previously, we checked for
2994         "Times New Roman" followed by DEFAULT_GUI_FONT.
2995         
2996         We now look for:
2997         - Typically installed Unicode-capable fonts, in order of coverage
2998         - DEFAULT_GUI_FONT
2999         - SPI_GETNONCLIENTMETRICS fonts
3000         
3001         * platform/graphics/win/FontCacheWin.cpp:
3002         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
3003         (WebCore::FontCache::getLastResortFallbackFont):
3004
3005 2010-04-12  David Hyatt  <hyatt@apple.com>
3006
3007         Reviewed by Dan Bernstein.
3008
3009         https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
3010
3011         * css/CSSComputedStyleDeclaration.cpp:
3012         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
3013         * page/animation/AnimationBase.cpp:
3014         (WebCore::blendFunc):
3015         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
3016         (WebCore::PropertyWrapperShadow::equals):
3017         (WebCore::PropertyWrapperShadow::blend):
3018         * page/mac/FrameMac.mm:
3019         (WebCore::Frame::fontAttributesForSelectionStart):
3020         * rendering/EllipsisBox.cpp:
3021         (WebCore::EllipsisBox::paint):
3022         * rendering/InlineFlowBox.cpp:
3023         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3024         (WebCore::InlineFlowBox::computeVerticalOverflow):
3025         (WebCore::InlineFlowBox::paintTextDecorations):
3026         * rendering/InlineTextBox.cpp:
3027         (WebCore::paintTextWithShadows):
3028         (WebCore::InlineTextBox::paint):
3029         (WebCore::InlineTextBox::paintDecoration):
3030         * rendering/InlineTextBox.h:
3031         * rendering/RenderBoxModelObject.cpp:
3032         (WebCore::RenderBoxModelObject::paintBoxShadow):
3033         * rendering/RenderLayer.cpp:
3034         (WebCore::RenderLayer::calculateRects):
3035         * rendering/RenderObject.cpp:
3036         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
3037         * rendering/SVGInlineTextBox.cpp:
3038         (WebCore::SVGInlineTextBox::paintCharacters):
3039         * rendering/SVGRenderSupport.cpp:
3040         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3041         * rendering/style/RenderStyle.cpp:
3042         (WebCore::RenderStyle::setTextShadow):
3043         (WebCore::RenderStyle::setBoxShadow):
3044         (WebCore::RenderStyle::getBoxShadowExtent):
3045         (WebCore::RenderStyle::getBoxShadowHorizontalExtent):
3046         (WebCore::RenderStyle::getBoxShadowVerticalExtent):
3047         * rendering/style/RenderStyle.h:
3048         (WebCore::InheritedFlags::textShadow):
3049         (WebCore::InheritedFlags::boxShadow):
3050         * rendering/style/SVGRenderStyle.cpp:
3051         (WebCore::getSVGShadowExtent):
3052         * rendering/style/ShadowData.cpp:
3053         (WebCore::ShadowData::ShadowData):
3054         (WebCore::ShadowData::operator==):
3055         * rendering/style/ShadowData.h:
3056         (WebCore::ShadowData::ShadowData):
3057         (WebCore::ShadowData::~ShadowData):
3058         (WebCore::ShadowData::x):
3059         (WebCore::ShadowData::y):
3060         (WebCore::ShadowData::blur):
3061         (WebCore::ShadowData::spread):
3062         (WebCore::ShadowData::style):
3063         (WebCore::ShadowData::color):
3064         (WebCore::ShadowData::next):
3065         (WebCore::ShadowData::setNext):
3066
3067 2010-04-12  David Hyatt  <hyatt@apple.com>
3068
3069         Reviewed by Mark Rowe.
3070
3071         https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
3072
3073         * css/CSSComputedStyleDeclaration.cpp:
3074         (WebCore::valueForNinePieceImage):
3075         * css/CSSStyleSelector.cpp:
3076         (WebCore::CSSStyleSelector::mapNinePieceImage):
3077         * rendering/RenderBoxModelObject.cpp:
3078         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3079         * rendering/style/NinePieceImage.h:
3080         (WebCore::NinePieceImage::setImage):
3081         (WebCore::NinePieceImage::slices):
3082         (WebCore::NinePieceImage::setSlices):
3083         (WebCore::NinePieceImage::setHorizontalRule):
3084         (WebCore::NinePieceImage::verticalRule):
3085         (WebCore::NinePieceImage::setVerticalRule):
3086
3087 2010-04-12  David Hyatt  <hyatt@apple.com>
3088
3089         Reviewed by Sam Weinig.
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
3092
3093         Added fast/history/multiple-classes-visited.html.
3094
3095         * css/CSSStyleSelector.cpp:
3096         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3097
3098 2010-04-12  Dirk Schulze  <krit@webkit.org>
3099
3100         Unreviewed build fix.
3101
3102         Make comma/whitespace around arc flags optional in SVG path syntax
3103         https://bugs.webkit.org/show_bug.cgi?id=37431
3104
3105         Fix the SL build.
3106
3107         * svg/SVGParserUtilities.cpp:
3108         (WebCore::parseArcFlag):
3109
3110 2010-04-12  Jeff Schiller  <codedread@gmail.com>
3111
3112         Reviewed by Dirk Schulze.
3113
3114         Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are
3115         either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431
3116
3117         * svg/SVGParserUtilities.cpp:
3118         (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag
3119         (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag()
3120
3121 2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3122
3123         Unreviewed, rolling out r57468.
3124         http://trac.webkit.org/changeset/57468
3125         https://bugs.webkit.org/show_bug.cgi?id=37433
3126
3127         Broke the world...  Must have applied the patch wrong
3128         (Requested by abarth on #webkit).
3129
3130         * Android.mk:
3131         * GNUmakefile.am:
3132         * WebCore.base.exp:
3133         * WebCore.gypi:
3134         * WebCore.pro:
3135         * WebCore.vcproj/WebCore.vcproj:
3136         * WebCore.xcodeproj/project.pbxproj:
3137         * bindings/ScriptControllerBase.cpp:
3138         (WebCore::ScriptController::executeIfJavaScriptURL):
3139         * dom/Document.cpp:
3140         (WebCore::Document::close):
3141         * dom/ProcessingInstruction.cpp:
3142         (WebCore::ProcessingInstruction::checkStyleSheet):
3143         * dom/ScriptElement.cpp:
3144         (WebCore::ScriptElementData::scriptCharset):
3145         * html/HTMLLinkElement.cpp:
3146         (WebCore::HTMLLinkElement::process):
3147         * loader/DocLoader.cpp:
3148         (WebCore::DocLoader::requestPreload):
3149         * loader/DocumentLoader.cpp:
3150         (WebCore::DocumentLoader::finishedLoading):
3151         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3152         * loader/DocumentWriter.cpp: Removed.
3153         * loader/DocumentWriter.h: Removed.
3154         * loader/FrameLoader.cpp:
3155         (WebCore::canReferToParentFrameEncoding):
3156         (WebCore::FrameLoader::FrameLoader):
3157         (WebCore::FrameLoader::init):
3158         (WebCore::FrameLoader::replaceDocument):
3159         (WebCore::FrameLoader::clear):
3160         (WebCore::FrameLoader::receivedFirstData):
3161         (WebCore::FrameLoader::responseMIMEType):
3162         (WebCore::FrameLoader::setResponseMIMEType):
3163         (WebCore::FrameLoader::begin):
3164         (WebCore::FrameLoader::write):
3165         (WebCore::FrameLoader::end):
3166         (WebCore::FrameLoader::endIfNotLoadingMainResource):
3167         (WebCore::FrameLoader::encoding):
3168         (WebCore::FrameLoader::setEncoding):
3169         (WebCore::FrameLoader::addData):
3170         (WebCore::FrameLoader::transitionToCommitted):
3171         (WebCore::FrameLoader::open):
3172         (WebCore::FrameLoader::finishedLoadingDocument):
3173         (WebCore::FrameLoader::addExtraFieldsToRequest):
3174         * loader/FrameLoader.h:
3175         * loader/MediaDocument.cpp:
3176         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3177         * loader/PluginDocument.cpp:
3178         (WebCore::PluginTokenizer::createDocumentStructure):
3179         * platform/network/FormDataBuilder.cpp:
3180         (WebCore::FormDataBuilder::dataEncoding):
3181         * svg/graphics/SVGImage.cpp:
3182         (WebCore::SVGImage::dataChanged):
3183
3184 2010-04-11  Adam Barth  <abarth@webkit.org>
3185
3186         Reviewed by Eric Seidel.
3187
3188         Factor DocumentWriter out of FrameLoader
3189         https://bugs.webkit.org/show_bug.cgi?id=37175
3190
3191         This patch separates the begin/write/end cycle of decoding network
3192         bytes and putting them into a document from the rest of the loading
3193         machinery.  The code and state required to write bytes into a document
3194         doesn't interact very much with the rest of the loading machinery.
3195
3196         No tests because there is no behavior change (hopefully!).
3197
3198         * Android.mk:
3199         * GNUmakefile.am:
3200         * WebCore.base.exp:
3201         * WebCore.gypi:
3202         * WebCore.pro:
3203         * WebCore.vcproj/WebCore.vcproj:
3204         * WebCore.xcodeproj/project.pbxproj:
3205         * bindings/ScriptControllerBase.cpp:
3206         (WebCore::ScriptController::executeIfJavaScriptURL):
3207         * dom/Document.cpp:
3208         (WebCore::Document::close):
3209         * dom/ProcessingInstruction.cpp:
3210         (WebCore::ProcessingInstruction::checkStyleSheet):
3211         * dom/ScriptElement.cpp:
3212         (WebCore::ScriptElementData::scriptCharset):
3213         * html/HTMLLinkElement.cpp:
3214         (WebCore::HTMLLinkElement::process):
3215         * loader/DocLoader.cpp:
3216         (WebCore::DocLoader::requestPreload):
3217         * loader/DocumentLoader.cpp:
3218         (WebCore::DocumentLoader::finishedLoading):
3219         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3220         * loader/DocumentWriter.cpp: Added.
3221         * loader/DocumentWriter.h: Added.
3222         * loader/FrameLoader.cpp:
3223         (WebCore::FrameLoader::FrameLoader):
3224         (WebCore::FrameLoader::init):
3225         (WebCore::FrameLoader::clear):
3226         (WebCore::FrameLoader::receivedFirstData):
3227         (WebCore::FrameLoader::setURL):
3228         (WebCore::FrameLoader::didBeginDocument):
3229         (WebCore::FrameLoader::didEndDocument):
3230         (WebCore::FrameLoader::willSetEncoding):
3231         (WebCore::FrameLoader::addData):
3232         (WebCore::FrameLoader::transitionToCommitted):
3233         (WebCore::FrameLoader::open):
3234         (WebCore::FrameLoader::finishedLoadingDocument):
3235         (WebCore::FrameLoader::addExtraFieldsToRequest):
3236         * loader/FrameLoader.h:
3237         (WebCore::FrameLoader::writer):
3238         (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
3239         * loader/MediaDocument.cpp:
3240         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3241         * loader/PluginDocument.cpp:
3242         (WebCore::PluginTokenizer::createDocumentStructure):
3243         * platform/network/FormDataBuilder.cpp:
3244         (WebCore::FormDataBuilder::dataEncoding):
3245         * svg/graphics/SVGImage.cpp:
3246         (WebCore::SVGImage::dataChanged):
3247
3248 2010-04-07  Tony Chang  <tony@chromium.org>
3249
3250         Reviewed by Eric Seidel.
3251
3252         [chromium] implement getData('text/html') for paste and drop events
3253         https://bugs.webkit.org/show_bug.cgi?id=37193
3254
3255         Tests: editing/pasteboard/onpaste-text-html.html
3256                fast/events/ondrop-text-html.html
3257
3258         * platform/chromium/ClipboardChromium.cpp:
3259         (WebCore::):
3260         (WebCore::clipboardTypeFromMIMEType): add html type
3261         (WebCore::ClipboardChromium::clearData): implement clear text/html
3262         (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain)
3263         (WebCore::ClipboardChromium::setData): implement set text/html
3264
3265 2010-04-10  Adam Barth  <abarth@webkit.org>
3266
3267         Unreviewed.  Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
3268         requested by Darin Adler.
3269
3270         * loader/FrameLoader.cpp:
3271         (WebCore::FrameLoader::FrameLoader):
3272         (WebCore::FrameLoader::updateSandboxFlags):
3273         * loader/FrameLoader.h:
3274         (WebCore::FrameLoader::setForcedSandboxFlags):
3275         * svg/graphics/SVGImage.cpp:
3276         (WebCore::SVGImage::dataChanged):
3277
3278 2010-04-10  Mark Rowe  <mrowe@apple.com>
3279
3280         Reviewed by Dan Bernstein.
3281
3282         <rdar://problem/7845305> Further adoption of formal protocols for delegates.
3283
3284         Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
3285
3286         * WebCore.xcodeproj/project.pbxproj:
3287         * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
3288         * platform/network/mac/ResourceHandleMac.mm:
3289
3290 2010-04-10  Chris Evans  <cevans@chromium.org>
3291
3292         Reviewed by Adam Barth.
3293
3294         Defense in depth: make sure an SVG document in the <img> context has
3295         a unique origin.
3296
3297         https://bugs.webkit.org/show_bug.cgi?id=37392
3298
3299         * svg/graphics/SVGImage.cpp:
3300         (WebCore::SVGImage::dataChanged):
3301           Force the temporary rendering context into a unique origin.
3302         * loader/FrameLoader.h:
3303         (WebCore::FrameLoader::setForceSandboxFlags):
3304           Support for setting sandbox flags that will always be applied.
3305         * loader/FrameLoader.cpp:
3306         (WebCore::FrameLoader::updateSandboxFlags):
3307           Always apply any forced flags.
3308
3309 2010-04-10  Vangelis Kokkevis  <vangelis@chromium.org>
3310
3311         Reviewed by Dimitri Glazkov.
3312
3313         Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class
3314         rename was done in a previous CL, this CL does the file move and rename.
3315         https://bugs.webkit.org/show_bug.cgi?id=37231
3316
3317         No new functionality, no new tests.
3318
3319         * WebCore.gypi:
3320         * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp.
3321         * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h.
3322         * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp.
3323         * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h.
3324         * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp.
3325         * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h.
3326         * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed.
3327         * platform/graphics/skia/GraphicsLayerSkia.h: Removed.
3328         * platform/graphics/skia/LayerRendererSkia.cpp: Removed.
3329         * platform/graphics/skia/LayerRendererSkia.h: Removed.
3330         * platform/graphics/skia/LayerSkia.cpp: Removed.
3331         * platform/graphics/skia/LayerSkia.h: Removed.
3332
3333 2010-04-10  Robert Hogan  <robert@webkit.org>
3334
3335         Reviewed by Kenneth Rohde Christiansen.
3336
3337         Refactor Qt DRT support in QtWebKit
3338
3339         https://bugs.webkit.org/show_bug.cgi?id=35844
3340
3341         * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
3342
3343 2010-04-10  Joseph Pecoraro  <joepeck@webkit.org>
3344
3345         Reviewed by David Kilzer.
3346
3347         Missing CONTEXT_MENUS Guards
3348         https://bugs.webkit.org/show_bug.cgi?id=37398
3349
3350         Added missing ENABLE(CONTEXT_MENUS) guards.
3351
3352         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3353         (WebCore::JSInspectorFrontendHost::showContextMenu):
3354         * inspector/InspectorFrontendHost.cpp:
3355         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3356         (WebCore::InspectorFrontendHost::disconnectClient):
3357         * inspector/InspectorFrontendHost.h:
3358
3359 2010-04-10  Stephan Aßmus  <superstippi@gmx.de>
3360
3361         Reviewed by Eric Seidel.
3362
3363         [Haiku] Fix crash in Gradient::fill()
3364         https://bugs.webkit.org/show_bug.cgi?id=37386
3365
3366         Covered by existing tests.
3367
3368         * platform/graphics/haiku/GradientHaiku.cpp:
3369         (WebCore::Gradient::fill):
3370             - Make sure the platform gradient is already cached before
3371               dereferencing its pointer.
3372
3373 2010-04-10  Stephan Aßmus  <superstippi@gmx.de>
3374
3375         Reviewed by Eric Seidel.
3376
3377         [Haiku] Fix build of ImageHaiku.cpp
3378         <https://bugs.webkit.org/show_bug.cgi?id=37384>
3379
3380         No new tests needed.
3381
3382         * platform/graphics/haiku/ImageHaiku.cpp:
3383         (WebCore::Image::drawPattern):
3384             - include SharedBuffer.h
3385             - changed parameter name to be in line with other ports,
3386               the code I landed in an earlier commit was already using
3387               this name.
3388
3389 2010-04-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3390
3391         Reviewed by Kenneth Rohde Christiansen.
3392
3393         [Qt] Implement Desktop Notifications API for QtWebKit
3394         https://bugs.webkit.org/show_bug.cgi?id=35503
3395
3396         No new tests enabled as notification DRT tests are
3397         disabled at the moment.
3398
3399         * WebCore.pri: Add files to the build system and turn
3400         on the feature by default.
3401
3402         * WebCore.pro: Add files to the build system
3403
3404         * bindings/js/JSDesktopNotificationsCustom.cpp:
3405         (WebCore::JSNotificationCenter::requestPermission):
3406         (WebCore::JSNotification::addEventListener):
3407         (WebCore::JSNotification::removeEventListener):
3408         Fix build regresssion.
3409
3410 2010-04-09  Pavel Feldman  <pfeldman@chromium.org>
3411
3412         Reviewed by Joseph Pecoraro.
3413
3414         Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
3415         https://bugs.webkit.org/show_bug.cgi?id=37133
3416
3417         * inspector/front-end/ConsoleView.js:
3418         (WebInspector.ConsoleView.prototype._printArray):
3419         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
3420         * inspector/front-end/InjectedScript.js:
3421         (injectedScriptConstructor):
3422
3423 2010-04-09  Kevin Watters  <kevinwatters@gmail.com>
3424
3425         Reviewed by Eric Seidel.
3426
3427         [wx] Basic implementation of SVG support for wx port.
3428
3429         * css/CSSFontFaceSource.cpp:
3430         * platform/graphics/wx/FontPlatformData.h:
3431         (WebCore::FontPlatformData::FontPlatformData):
3432         (WebCore::FontPlatformData::size):
3433         * platform/graphics/wx/FontPlatformDataWx.cpp:
3434         (WebCore::FontPlatformData::FontPlatformData):
3435         * platform/graphics/wx/GraphicsContextWx.cpp:
3436         (WebCore::GraphicsContext::GraphicsContext):
3437         (WebCore::GraphicsContext::clipPath):
3438         (WebCore::GraphicsContext::getCTM):
3439         (WebCore::GraphicsContext::beginPath):
3440         (WebCore::GraphicsContext::addPath):
3441         (WebCore::GraphicsContext::concatCTM):
3442         (WebCore::GraphicsContext::fillPath):
3443         (WebCore::GraphicsContext::strokePath):
3444         (WebCore::GraphicsContext::setLineDash):
3445         * platform/graphics/wx/ImageBufferWx.cpp:
3446         (WebCore::ImageBuffer::platformTransformColorSpace):
3447         * platform/graphics/wx/PathWx.cpp:
3448         (WebCore::Path::strokeContains):
3449         (WebCore::Path::debugString):
3450         (WebCore::Path::operator=):
3451         (WebCore::Path::isEmpty):
3452         * rendering/RenderSVGResourceMasker.cpp:
3453         * wscript:
3454
3455 2010-04-09  Evan Martin  <evan@chromium.org>
3456
3457         Reviewed by Darin Adler.
3458
3459         StorageEvent destructor should be in StorageEvent.cpp
3460         https://bugs.webkit.org/show_bug.cgi?id=37356
3461
3462         Because Storage is forward-declared in StorageEvent.h, we need to define
3463         the StorageEvent destructor in the .cpp file so that the RefPtr<Storage>
3464         destructor has a complete type for Storage.
3465
3466         * storage/StorageEvent.cpp:
3467         (WebCore::StorageEvent::~StorageEvent):
3468         * storage/StorageEvent.h:
3469
3470 2010-04-09  Young Han Lee  <joybro@company100.net>
3471
3472         Reviewed by Eric Seidel.
3473
3474         [WINCE] Add forwarding header for UnicodeWince.h
3475         https://bugs.webkit.org/show_bug.cgi?id=37224
3476
3477         * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
3478
3479 2010-04-09  Geoffrey Garen  <ggaren@apple.com>
3480
3481         Reviewed by Sam "R the K!" Weinig.
3482
3483         Tidied up some more DOMWrapperWorld lifetime issues.
3484
3485         * bindings/js/DOMWrapperWorld.cpp:
3486         (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that
3487         we're going away instead of deleting its data, since deleting other
3488         objects' data is error-prone and, more importantly, rude.
3489
3490         * bindings/js/DOMWrapperWorld.h:
3491         (WebCore::DOMWrapperWorld::didCreateWrapperCache):
3492         (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
3493         clarity.
3494
3495         * bindings/js/JSDOMBinding.cpp:
3496         * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
3497         to a Document member function, for the same reason.
3498
3499         * dom/Document.cpp: 
3500         (WebCore::Document::~Document):
3501         (WebCore::Document::createWrapperCache):
3502         (WebCore::Document::destroyWrapperCache):
3503         (WebCore::Document::destroyAllWrapperCaches):
3504         * dom/Document.h: Added a destroyWrapperCache function to balance
3505         createWrapperCache, so it's clear who allocates and deletes these wrapper
3506         caches.
3507
3508 2010-04-09  Chris Marrin  <cmarrin@apple.com>
3509
3510         Reviewed by Simon Fraser.
3511
3512         Fixed bug where animation time was not updated when dynamically loading a style sheet
3513         https://bugs.webkit.org/show_bug.cgi?id=37352
3514
3515         A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not
3516         bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the
3517         animation time. In some time-dependent cases this was causing a negative elapsedTime
3518         to be sent to the keyframe animator. This is an invalid case which destroys the
3519         animation prematurely. I not only added the brackets, but I also added an assert
3520         and protection for when the elapsedTime comes up negative.
3521
3522         Test: animations/dynamic-stylesheet-loading.html
3523
3524         * dom/Document.cpp: Added brackets
3525         (WebCore::Document::updateStyleSelector):
3526         * page/animation/KeyframeAnimation.cpp: Added assert and protection
3527         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
3528
3529 2010-04-09  Jaime Yap  <jaimeyap@google.com>
3530
3531         Reviewed by Pavel Feldman.
3532
3533         Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a
3534         timeline record node.
3535         https://bugs.webkit.org/show_bug.cgi?id=37340
3536
3537         * inspector/InspectorTimelineAgent.cpp:
3538         (WebCore::InspectorTimelineAgent::didInstallTimer):
3539         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3540         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3541         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3542         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3543         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3544         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3545
3546 2010-04-09  Abhishek Arya  <inferno@chromium.org>
3547
3548         Reviewed by Adam Barth.
3549
3550         Prevent HTTP responses served with JSON content type from being rendered as HTML. 
3551
3552         Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
3553
3554         * dom/DOMImplementation.cpp:
3555         (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain.
3556         * platform/MIMETypeRegistry.cpp:
3557         (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types. 
3558
3559 2010-04-09  Shinichiro Hamaji  <hamaji@chromium.org>
3560
3561         Reviewed by Eric Seidel.
3562
3563         Prevent wrong use of PrintContext
3564         https://bugs.webkit.org/show_bug.cgi?id=37194
3565
3566         No new tests because this doesn't change the behavior.
3567
3568         * page/PrintContext.cpp:
3569         (WebCore::PrintContext::PrintContext):
3570         (WebCore::PrintContext::~PrintContext):
3571         (WebCore::PrintContext::begin):
3572         (WebCore::PrintContext::end):
3573         * page/PrintContext.h:
3574
3575 2010-04-09  Vitaly Repeshko  <vitalyr@chromium.org>
3576
3577         Reviewed by Darin Fisher.
3578
3579         [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
3580         https://bugs.webkit.org/show_bug.cgi?id=37094
3581
3582         This patch adds support for file-related types.