Reviewed by John Sullivan.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-06-02  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by John Sullivan.
4
5         - fix <rdar://problem/6940747> Search field’s focus ring is outset
6
7         * rendering/RenderThemeWin.cpp:
8         (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
9         search field outline offset to -2.
10
11 2009-06-02  Sam Weinig  <sam@webkit.org>
12
13         Reviewed by Alexey Proskuryakov.
14
15         Add list of unimplemented event handlers to DOMWindow.
16
17         * page/DOMWindow.idl:
18
19 2009-06-02  Alexey Proskuryakov  <ap@webkit.org>
20
21         Reviewed by Sam Weinig.
22
23         https://bugs.webkit.org/show_bug.cgi?id=26133
24         Adapt and import py-dom-xpath tests
25
26         Tests: fast/xpath/py-dom-xpath/abbreviations.html
27                fast/xpath/py-dom-xpath/axes.html
28                fast/xpath/py-dom-xpath/data.html
29                fast/xpath/py-dom-xpath/expressions.html
30                fast/xpath/py-dom-xpath/functions.html
31                fast/xpath/py-dom-xpath/nodetests.html
32                fast/xpath/py-dom-xpath/paths.html
33                fast/xpath/py-dom-xpath/predicates.html
34
35         Fix bugs found with this test suite:
36         - name and local-name were incorrect for processing instructions (XPath expanded-name
37         doesn't match DOM exactly);
38         - name, local-name and namespace functions should crash on attribute nodes;
39         - attemps to make node sets from other types were not detected as errors.
40
41         No performance impact.
42
43         * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
44         An error won't stop evaluation, but an exception will be raised afterwards. We could also
45         detect conversion errors at compile time, but not if we're going to support XPath variables
46         (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
47         XSLT one day).
48
49         * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
50         conversion exception occurred during evaluation, and raise an excpetion if it did.
51
52         * xml/XPathFunctions.cpp:
53         (WebCore::XPath::expandedNameLocalPart):
54         (WebCore::XPath::expandedName):
55         XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
56         which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
57         (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
58         attribute node, because it released what was possibly the only reference to attribute node
59         before using it. Changed the function to avoid such situation.
60         (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
61         to work properly with processing instruction nodes.
62         (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
63         (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
64         (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
65
66         * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
67         evaluation result is not a node-set.
68
69         * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
70         always a node-set (this is not so for FilterExpr production in the spec, but is for us,
71         because we don't naively map BNF productions to classes).
72
73         * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
74         is not a node-set.
75
76         * xml/XPathStep.cpp: Removed an unnecesary include.
77
78         * xml/XPathValue.cpp:
79         (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
80         (WebCore::XPath::Value::modifiableNodeSet): Ditto.
81         (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
82         (in particular, those using exponential notation).
83
84 2009-06-01  Sam Weinig  <sam@webkit.org>
85
86         Reviewed by Brady Eidson.
87
88         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
89         Add missing event handler properties to the DOMWindow
90
91         Added oncontextmenu, oninput, and onmessage event handlers to
92         the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
93         and onsuspend event handlers were implemented but not added to
94         DOMWindow.idl.
95
96         * page/DOMWindow.cpp:
97         (WebCore::DOMWindow::oninput):
98         (WebCore::DOMWindow::setOninput):
99         (WebCore::DOMWindow::onmessage):
100         (WebCore::DOMWindow::setOnmessage):
101         (WebCore::DOMWindow::oncontextmenu):
102         (WebCore::DOMWindow::setOncontextmenu):
103         * page/DOMWindow.h:
104         * page/DOMWindow.idl:
105
106 2009-06-01  Jeremy Orlow  <jorlow@chromium.org>
107
108         Reviewed by Darin Adler.  Landed by Adam Barth.
109
110         https://bugs.webkit.org/show_bug.cgi?id=26123
111
112         Remove a redundant checkEncodedString call when constructing a
113         KURL object from a string.
114
115         * platform/KURL.cpp:
116         (WebCore::KURL::KURL):
117
118 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
119
120         Unreviewed, build fix.
121
122         Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
123         Bad Dimitri.
124
125         * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
126             WebCore namespace declarations.
127
128 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
129
130         Unreviewed, build fix.
131
132         * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
133             with a stern FIXME.
134         * platform/chromium/KeyboardCodes.h: Removed.
135
136 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
137
138         Reviewed by Eric Seidel.
139
140         Fix assertion error in --filters enabled debug builds.
141         Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
142
143         * svg/graphics/filters/SVGFilterBuilder.cpp:
144         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
145         (WebCore::SVGFilterBuilder::add):
146         (WebCore::SVGFilterBuilder::getEffectById):
147         * svg/graphics/filters/SVGFilterBuilder.h:
148
149 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
150
151         Reviewed by Eric Seidel.
152
153         Fix --filters enabled build on Mac.
154         Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
155         Kill several warnings, to make build pass.
156
157         * rendering/RenderPath.cpp:
158         (WebCore::RenderPath::paint):
159         * rendering/RenderSVGContainer.cpp:
160         (WebCore::RenderSVGContainer::paint):
161         * rendering/RenderSVGImage.cpp:
162         (WebCore::RenderSVGImage::paint):
163         * rendering/RenderSVGRoot.cpp:
164         (WebCore::RenderSVGRoot::paint):
165         * rendering/SVGRenderSupport.cpp:
166         (WebCore::SVGRenderBase::finishRenderSVGContent):
167         * rendering/SVGRenderSupport.h:
168         * rendering/SVGRootInlineBox.cpp:
169         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
170         * svg/SVGFEGaussianBlurElement.cpp:
171         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
172         * svg/graphics/filters/SVGFEFlood.cpp:
173         (WebCore::FEFlood::FEFlood):
174
175 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
176
177         Reviewed by Dave Hyatt.
178
179         Fix Chromium build by adding an #ifdef, restoring the code path to that
180         before http://trac.webkit.org/changeset/44287.
181
182         * platform/mac/ScrollbarThemeMac.mm:
183         (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
184
185 2009-06-01  Dirk Schulze  <krit@webkit.org>
186
187         Reviewed by Nikolas Zimmermann.
188
189         Remove last pieces of the old SVG filter system. They are not
190         usable with our current filter system. The new filter effects
191         will replace the functionality step by step.
192
193         * GNUmakefile.am:
194         * WebCore.pro:
195         * WebCore.vcproj/WebCore.vcproj:
196         * WebCore.xcodeproj/project.pbxproj:
197         * svg/graphics/cairo: Removed.
198         * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
199         * svg/graphics/cg: Removed.
200         * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
201         * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
202         * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
203         * svg/graphics/filters/SVGFilterEffect.h: Removed.
204         * svg/graphics/filters/cg: Removed.
205         * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
206         * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
207         * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
208         * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
209         * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
210         * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
211         * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
212         * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
213         * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
214         * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
215         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
216         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
217         * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
218         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
219         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
220         * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
221         * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
222         * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
223         * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
224         * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
225         * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
226         * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
227         * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
228         * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
229         * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
230         * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
231         * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
232         * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
233         * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
234         * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
235         * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
236         * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
237         * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
238         * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
239         * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
240         * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
241         * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
242         * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
243         * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
244         * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
245         * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
246         * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
247         * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
248         * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
249         * svg/graphics/mac: Removed.
250         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
251         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
252         * svg/graphics/qt: Removed.
253         * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
254         * svg/graphics/skia: Removed.
255         * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.
256
257 2009-06-01  Dmitry Titov  <dimich@chromium.org>
258
259         Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
260         This adds a comment suggested during review.
261
262         * platform/ThreadGlobalData.cpp:
263         (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.
264
265 2009-06-01  Dmitry Titov  <dimich@chromium.org>
266
267         Reviewed by Darin Adler.
268
269         https://bugs.webkit.org/show_bug.cgi?id=25973
270         Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
271         Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
272         for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
273         the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
274         the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
275         in establishIdentifierForPthreadHandle() since the id is already in the map.
276
277         The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
278         on OSX Chromium and will stop failing after this change.
279
280         * platform/ThreadGlobalData.h:
281         * platform/ThreadGlobalData.cpp:
282         (WebCore::ThreadGlobalData::~ThreadGlobalData):
283         Store the result of "isMainThread()" in a member variable during construction of thread-specific data
284         to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.
285
286 2009-06-01  David Levin  <levin@chromium.org>
287
288         Reviewed by Darin Alder and Maciej Stachowiak.
289
290         Bug 26057: StringImpl should share buffers with UString.
291         https://bugs.webkit.org/show_bug.cgi?id=26057
292
293         This change results in the following performance improvements:
294         On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
295         the time went from 78ms to 40ms for append (other times remained constant).
296
297         On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
298         the time went from 3900ms to 2600ms.
299
300         For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
301         Other tests in dom seemed to be faster across several runs but within the
302         margin of error (except DOM Attributes which was slightly ~1.5% worse).
303
304         Existing tests cover this code and there is no new functionality
305         that is exposed to test.
306
307         * platform/text/AtomicString.cpp:
308         (WebCore::AtomicString::add):
309         * platform/text/String.cpp:
310         (WebCore::String::String):
311         (WebCore::String::operator UString):
312         * platform/text/StringImpl.cpp:
313         (WebCore::StringImpl::StringImpl):
314         (WebCore::StringImpl::~StringImpl):
315         (WebCore::StringImpl::create): Consumes a shared buffer.
316         (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
317         (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
318         * platform/text/StringImpl.h:
319         (WebCore::StringImpl::hasTerminatingNullCharacter):
320         (WebCore::StringImpl::inTable):
321         (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
322         to avoid growing StringImpl in size.
323
324 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
325
326         Unreviewed, build fix.
327
328         V8 bindings follow-up to to DOMWindow-related cleanup:
329         http://trac.webkit.org/changeset/44215
330
331         * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated
332             its body to destructor.
333         * bindings/v8/ScriptController.h: Removed disconnectFrame() decl.
334
335 2009-05-28  Pavel Feldman  <pfeldman@chromium.org>
336
337         Reviewed by Timothy Hatcher.
338
339         - Add panel enabler to the resources panel.
340         - Add session / always options into the panel enabler.
341         - Make enabled status for three panels sticky (globally).
342         - Persist enabled status using InspectorController::Settings
343         - Make InspectorController produce no network-related overhead when
344           resources panel is not enabled.
345
346         https://bugs.webkit.org/show_bug.cgi?id=26046
347
348         * inspector/InspectorController.cpp:
349         (WebCore::InspectorController::InspectorController):
350         (WebCore::InspectorController::setWindowVisible):
351         (WebCore::InspectorController::populateScriptObjects):
352         (WebCore::InspectorController::identifierForInitialRequest):
353         (WebCore::InspectorController::willSendRequest):
354         (WebCore::InspectorController::didReceiveResponse):
355         (WebCore::InspectorController::didReceiveContentLength):
356         (WebCore::InspectorController::didFinishLoading):
357         (WebCore::InspectorController::didFailLoading):
358         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
359         (WebCore::InspectorController::scriptImported):
360         (WebCore::InspectorController::enableResourceTracking):
361         (WebCore::InspectorController::disableResourceTracking):
362         (WebCore::InspectorController::startUserInitiatedProfiling):
363         (WebCore::InspectorController::enableProfiler):
364         (WebCore::InspectorController::disableProfiler):
365         (WebCore::InspectorController::enableDebugger):
366         (WebCore::InspectorController::disableDebugger):
367         * inspector/InspectorController.h:
368         (WebCore::InspectorController::Setting::Setting):
369         (WebCore::InspectorController::resourceTrackingEnabled):
370         * inspector/InspectorController.idl:
371         * inspector/InspectorFrontend.cpp:
372         (WebCore::InspectorFrontend::resourceTrackingWasEnabled):
373         (WebCore::InspectorFrontend::resourceTrackingWasDisabled):
374         * inspector/InspectorFrontend.h:
375         * inspector/front-end/PanelEnablerView.js:
376         (WebInspector.PanelEnablerView.enableOption):
377         (WebInspector.PanelEnablerView):
378         (WebInspector.PanelEnablerView.prototype._windowResized):
379         (WebInspector.PanelEnablerView.prototype.alwaysWasChosen):
380         * inspector/front-end/ProfilesPanel.js:
381         (WebInspector.ProfilesPanel.prototype._enableProfiling):
382         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
383         * inspector/front-end/ResourcesPanel.js:
384         (WebInspector.ResourcesPanel):
385         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
386         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
387         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
388         (WebInspector.ResourcesPanel.prototype.reset):
389         (WebInspector.ResourcesPanel.prototype._updateSidebarWidth):
390         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
391         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
392         * inspector/front-end/ScriptsPanel.js:
393         (WebInspector.ScriptsPanel.prototype._enableDebugging):
394         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
395         * inspector/front-end/inspector.css:
396         * inspector/front-end/inspector.js:
397         (WebInspector.resourceTrackingWasEnabled):
398         (WebInspector.resourceTrackingWasDisabled):
399
400 2009-06-01  Drew Wilson  <atwilson@google.com>
401
402         Reviewed by Darin Adler.  Landed (and tweaked) by Adam Barth.
403
404         https://bugs.webkit.org/show_bug.cgi?id=25902
405
406         Added WorkerContext.close()
407
408         Test: fast/workers/worker-close.html
409
410         * workers/WorkerContext.cpp:
411         (WebCore::WorkerContext::close):
412         * workers/WorkerContext.h:
413         * workers/WorkerContext.idl:
414         * workers/WorkerMessagingProxy.cpp:
415         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
416
417 2009-06-01  Alexey Proskuryakov  <ap@webkit.org>
418
419         Reviewed by Darin Adler.
420
421         https://bugs.webkit.org/show_bug.cgi?id=12471
422         XPathResult not invalidated for documents retrieved via XMLHttpRequest
423
424         Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath.
425
426         Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more
427         reliable and much faster.
428
429         * xml/XPathExpression.cpp:
430         (WebCore::XPathExpression::evaluate):
431         * xml/XPathResult.cpp:
432         (WebCore::XPathResult::XPathResult):
433         (WebCore::XPathResult::~XPathResult):
434         (WebCore::XPathResult::invalidIteratorState):
435         (WebCore::XPathResult::iterateNext):
436         * xml/XPathResult.h:
437         (WebCore::XPathResult::create):
438
439 2009-06-01  Brett Wilson  <brettw@chromium.org>
440
441         Reviewed by Darin Adler.  Landed by Adam Barth.
442
443         https://bugs.webkit.org/show_bug.cgi?id=25750
444
445         Test: fast/transforms/bounding-rect-zoom.html
446
447         Make getClientRects and getBoundingClientRect account for ther zoom
448         factor.
449
450         * dom/Element.cpp:
451         (WebCore::adjustFloatPointForAbsoluteZoom):
452         (WebCore::adjustFloatQuadForAbsoluteZoom):
453         (WebCore::adjustIntRectForAbsoluteZoom):
454         (WebCore::Element::getClientRects):
455         (WebCore::Element::getBoundingClientRect):
456
457 2009-06-01  Tony Chang  <tony@chromium.org>
458
459         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
460
461         https://bugs.webkit.org/show_bug.cgi?id=26026
462
463         Fix an infinite loop when using the keyboard in Chromium select
464         popups.
465
466         Not testable since it involves sending a keyboard event to
467         the popup, which is not possible (eventSender sends the key
468         events through webview, we want to go through the webwidget).
469
470         * platform/chromium/PopupMenuChromium.cpp:
471
472 2009-06-01  Nate Chapin  <japhet@google.com>
473
474         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
475
476         If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page
477         has finished loading compeltely or the user has manually scrolled.  Refreshing an anchor url after
478         scrolling to a new location on the page will still result in jumping to the new location.
479         
480         https://bugs.webkit.org/show_bug.cgi?id=26034
481
482         * loader/FrameLoader.cpp:
483         (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor.
484         (WebCore::FrameLoader::completed): Release anchor lock.
485         * page/FrameView.cpp:
486         (WebCore::FrameView::FrameView): Ensure anchor lock starts unset.
487         (WebCore::FrameView::reset): Ensure anchor lock starts unset.
488         (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout.
489         (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins.
490         (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls.
491         (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins.
492         * page/FrameView.h:
493         (WebCore::FrameView::lockedToAnchor): Added.
494         (WebCore::FrameView::setLockedToAnchor): Added.
495
496 2009-05-31  Dirk Schulze  <krit@webkit.org>
497
498         Reviewed by Nikolas Zimmermann.
499
500         WebKit needs cross-platform filter system
501         [https://bugs.webkit.org/show_bug.cgi?id=19991]
502
503         A short clean-up. FilterBuilder is SVG specific. Move it
504         to svg/graphics/filters and rename it to SVGFilterBuilder. 
505
506         * GNUmakefile.am:
507         * WebCore.pro:
508         * WebCore.xcodeproj/project.pbxproj:
509         * svg/FilterBuilder.cpp: Removed.
510         * svg/FilterBuilder.h: Removed.
511         * svg/SVGFilterElement.cpp:
512         * svg/SVGFilterPrimitiveStandardAttributes.h:
513         * svg/graphics/SVGResourceFilter.cpp:
514         (WebCore::SVGResourceFilter::SVGResourceFilter):
515         * svg/graphics/SVGResourceFilter.h:
516         (WebCore::SVGResourceFilter::builder):
517         * svg/graphics/filters/SVGFilterBuilder.cpp: Added.
518         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
519         (WebCore::SVGFilterBuilder::add):
520         (WebCore::SVGFilterBuilder::getEffectById):
521         (WebCore::SVGFilterBuilder::clearEffects):
522         * svg/graphics/filters/SVGFilterBuilder.h: Added.
523         (WebCore::SVGFilterBuilder::lastEffect):
524
525 2009-05-31  Alexey Proskuryakov  <ap@webkit.org>
526
527         Reviewed by Darin Adler.
528
529         https://bugs.webkit.org/show_bug.cgi?id=13233
530         Need to implement an optimizing XPath evaluator
531
532         Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure
533         with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes
534         to 33 ms.
535
536         * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint,
537         which is useful for optimization.
538         (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one.
539         (WebCore::XPath::NodeSet::operator=): Ditto.
540         (WebCore::XPath::NodeSet::swap): Ditto.
541         (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort()
542         was never called.
543         (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is
544         maintained by callers.
545         (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree.
546         Currently, the only way for a set to gain this flag is to be produced from a single element
547         set with a hierarchical location path.
548
549         * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid
550         maintaining a set of unique nodes, and to avoid sorting the result.
551
552 2009-05-31  Alexey Proskuryakov  <ap@webkit.org>
553
554         Reviewed by Darin Adler.
555
556         https://bugs.webkit.org/show_bug.cgi?id=13233
557         Need to implement an optimizing XPath evaluator
558
559         This patch adds some infrastructure and simple optimizations. Namely,
560         - we now avoid building a full NodeSet just to evaluate a predicate in some cases;
561         - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible;
562
563         * xml/XPathExpressionNode.cpp:
564         (WebCore::XPath::Expression::Expression):
565         * xml/XPathExpressionNode.h:
566         (WebCore::XPath::Expression::addSubExpression):
567         (WebCore::XPath::Expression::isContextNodeSensitive):
568         (WebCore::XPath::Expression::isContextPositionSensitive):
569         (WebCore::XPath::Expression::isContextSizeSensitive):
570         (WebCore::XPath::Expression::setIsContextNodeSensitive):
571         (WebCore::XPath::Expression::setIsContextPositionSensitive):
572         (WebCore::XPath::Expression::setIsContextSizeSensitive):
573         XPath expression now knows its result type, and whether evaluation depends on context.
574
575         * xml/XPathFunctions.cpp:
576         (WebCore::XPath::FunLast::resultType):
577         (WebCore::XPath::FunLast::FunLast):
578         (WebCore::XPath::FunPosition::resultType):
579         (WebCore::XPath::FunPosition::FunPosition):
580         (WebCore::XPath::FunCount::resultType):
581         (WebCore::XPath::FunId::resultType):
582         (WebCore::XPath::FunLocalName::resultType):
583         (WebCore::XPath::FunLocalName::FunLocalName):
584         (WebCore::XPath::FunNamespaceURI::resultType):
585         (WebCore::XPath::FunNamespaceURI::FunNamespaceURI):
586         (WebCore::XPath::FunName::resultType):
587         (WebCore::XPath::FunName::FunName):
588         (WebCore::XPath::FunString::resultType):
589         (WebCore::XPath::FunString::FunString):
590         (WebCore::XPath::FunConcat::resultType):
591         (WebCore::XPath::FunStartsWith::resultType):
592         (WebCore::XPath::FunContains::resultType):
593         (WebCore::XPath::FunSubstringBefore::resultType):
594         (WebCore::XPath::FunSubstringAfter::resultType):
595         (WebCore::XPath::FunSubstring::resultType):
596         (WebCore::XPath::FunStringLength::resultType):
597         (WebCore::XPath::FunStringLength::FunStringLength):
598         (WebCore::XPath::FunNormalizeSpace::resultType):
599         (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace):
600         (WebCore::XPath::FunTranslate::resultType):
601         (WebCore::XPath::FunBoolean::resultType):
602         (WebCore::XPath::FunNot::resultType):
603         (WebCore::XPath::FunTrue::resultType):
604         (WebCore::XPath::FunFalse::resultType):
605         (WebCore::XPath::FunLang::resultType):
606         (WebCore::XPath::FunLang::FunLang):
607         (WebCore::XPath::FunNumber::resultType):
608         (WebCore::XPath::FunNumber::FunNumber):
609         (WebCore::XPath::FunSum::resultType):
610         (WebCore::XPath::FunFloor::resultType):
611         (WebCore::XPath::FunCeiling::resultType):
612         (WebCore::XPath::FunRound::resultType):
613         (WebCore::XPath::Function::setArguments):
614         Set optimization details for the expression. Normally, a function does not introduce context
615         node set dependency, but some use context node as default argument, or otherwise use the context.
616
617         * xml/XPathFunctions.h: Tweaked style.
618
619         * xml/XPathPath.cpp:
620         (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is.
621         (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive,
622         and only if the path relative.
623         (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations.
624         (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
625         (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is.
626
627         * xml/XPathPath.h:
628         (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression
629         (useful filters return NodeSets, of course).
630         (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set
631         insensitive.
632         (WebCore::XPath::LocationPath::resultType): A path's result is always a node set.
633         (WebCore::XPath::Path::resultType): Ditto.
634
635         * xml/XPathPredicate.h:
636         (WebCore::XPath::Number::resultType): Return a proper result type.
637         (WebCore::XPath::StringExpression::resultType): Ditto.
638         (WebCore::XPath::Negative::resultType): Ditto.
639         (WebCore::XPath::NumericOp::resultType): Ditto.
640         (WebCore::XPath::EqTestOp::resultType): Ditto.
641         (WebCore::XPath::LogicalOp::resultType): Ditto.
642         (WebCore::XPath::Union::resultType): Ditto.
643         (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position
644         sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5].
645         (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result.
646
647         * xml/XPathStep.h:
648         (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously
649         borrowed from XPath 2.0 to express some optimizations.
650         (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and
651         filtering it with predicates, we now try to apply predicates while enumerating an axis.
652         (WebCore::XPath::Step::nodeTest): Expose m_nodeTest.
653
654         * xml/XPathStep.cpp:
655         (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still
656         possible to copy NodeTests.
657         (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible.
658         (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//".
659         (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only
660         possible if there are no context sensitive predicates for "//".
661         (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate.
662         (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring
663         merged predicates.
664         (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position.
665         (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code
666         path.
667
668         * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable
669         references are not used with XPathEvaluator, so we'll only need them if we decide to
670         reimplement XSLT. The type of variable reference is not known at compile time.
671
672 2009-05-31  Sam Weinig  <sam@webkit.org>
673
674         Rubber-stamped by Dan Bernstein.
675
676         Remove unused JSEventTargetBase.h
677
678         * GNUmakefile.am:
679         * WebCore.vcproj/WebCore.vcproj:
680         * WebCore.xcodeproj/project.pbxproj:
681         * bindings/js/JSEventTargetBase.h: Removed.
682
683 2009-05-31  Sam Weinig  <sam@webkit.org>
684
685         Reviewed by Dan Bernstein.
686
687         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
688         Add missing event handler properties to the DOMWindow
689
690         Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
691         onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
692         onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
693         onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
694         ondragend, ondragenter, ondragleave, ondragover, ondragstart and 
695         ondrop event handlers to the DOMWindow.
696
697         * page/DOMWindow.cpp:
698         (WebCore::DOMWindow::ondrag):
699         (WebCore::DOMWindow::setOndrag):
700         (WebCore::DOMWindow::ondragend):
701         (WebCore::DOMWindow::setOndragend):
702         (WebCore::DOMWindow::ondragenter):
703         (WebCore::DOMWindow::setOndragenter):
704         (WebCore::DOMWindow::ondragleave):
705         (WebCore::DOMWindow::setOndragleave):
706         (WebCore::DOMWindow::ondragover):
707         (WebCore::DOMWindow::setOndragover):
708         (WebCore::DOMWindow::ondragstart):
709         (WebCore::DOMWindow::setOndragstart):
710         (WebCore::DOMWindow::ondrop):
711         (WebCore::DOMWindow::setOndrop):
712         (WebCore::DOMWindow::oncanplay):
713         (WebCore::DOMWindow::setOncanplay):
714         (WebCore::DOMWindow::oncanplaythrough):
715         (WebCore::DOMWindow::setOncanplaythrough):
716         (WebCore::DOMWindow::ondurationchange):
717         (WebCore::DOMWindow::setOndurationchange):
718         (WebCore::DOMWindow::onemptied):
719         (WebCore::DOMWindow::setOnemptied):
720         (WebCore::DOMWindow::onended):
721         (WebCore::DOMWindow::setOnended):
722         (WebCore::DOMWindow::onloadeddata):
723         (WebCore::DOMWindow::setOnloadeddata):
724         (WebCore::DOMWindow::onloadedmetadata):
725         (WebCore::DOMWindow::setOnloadedmetadata):
726         (WebCore::DOMWindow::onpause):
727         (WebCore::DOMWindow::setOnpause):
728         (WebCore::DOMWindow::onplay):
729         (WebCore::DOMWindow::setOnplay):
730         (WebCore::DOMWindow::onplaying):
731         (WebCore::DOMWindow::setOnplaying):
732         (WebCore::DOMWindow::onratechange):
733         (WebCore::DOMWindow::setOnratechange):
734         (WebCore::DOMWindow::onseeked):
735         (WebCore::DOMWindow::setOnseeked):
736         (WebCore::DOMWindow::onseeking):
737         (WebCore::DOMWindow::setOnseeking):
738         (WebCore::DOMWindow::ontimeupdate):
739         (WebCore::DOMWindow::setOntimeupdate):
740         (WebCore::DOMWindow::onvolumechange):
741         (WebCore::DOMWindow::setOnvolumechange):
742         (WebCore::DOMWindow::onwaiting):
743         (WebCore::DOMWindow::setOnwaiting):
744         (WebCore::DOMWindow::onloadstart):
745         (WebCore::DOMWindow::setOnloadstart):
746         (WebCore::DOMWindow::onprogress):
747         (WebCore::DOMWindow::setOnprogress):
748         (WebCore::DOMWindow::onstalled):
749         (WebCore::DOMWindow::setOnstalled):
750         (WebCore::DOMWindow::onsuspend):
751         (WebCore::DOMWindow::setOnsuspend):
752         * page/DOMWindow.h:
753         * page/DOMWindow.idl:
754
755 2009-05-31  Sam Weinig  <sam@webkit.org>
756
757         Reviewed by Anders Carlsson.
758
759         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
760         Add missing event handler properties to the DOMWindow
761
762         Add missing onstorage event handler to the DOMWindow.
763
764         * page/DOMWindow.cpp:
765         (WebCore::DOMWindow::onstorage):
766         (WebCore::DOMWindow::setOnstorage):
767         * page/DOMWindow.h:
768         * page/DOMWindow.idl:
769
770 2009-05-30  Sam Weinig  <sam@webkit.org>
771
772         Reviewed by Mark Rowe.
773
774         Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
775         Update online/offline events to match the current spec.
776         - Also adds window.ononline and window.onoffline event handler
777           properties.
778
779         * page/DOMWindow.cpp:
780         (WebCore::DOMWindow::onoffline):
781         (WebCore::DOMWindow::setOnoffline):
782         (WebCore::DOMWindow::ononline):
783         (WebCore::DOMWindow::setOnonline):
784         * page/DOMWindow.h:
785         * page/DOMWindow.idl:
786         * page/Page.cpp:
787         (WebCore::networkStateChanged):
788
789 2009-05-31  Dirk Schulze  <krit@webkit.org>
790
791         Reviewed by Nikolas Zimmermann.
792
793         WebKit needs cross-platform filter system
794         [https://bugs.webkit.org/show_bug.cgi?id=19991]
795
796         Make use of the new filter system in WebCore for SVG. Deleted Mac bindings
797         and replace it by a platform independent code. Calculation of subRegions
798         is missing but needed for a first filter effect.
799
800         * GNUmakefile.am:
801         * WebCore.pro:
802         * WebCore.vcproj/WebCore.vcproj:
803         * WebCore.xcodeproj/project.pbxproj:
804         * platform/graphics/filters/Filter.h:
805         (WebCore::Filter::~Filter):
806         (WebCore::Filter::setSourceImage):
807         * rendering/SVGRenderSupport.cpp:
808         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
809         (WebCore::SVGRenderBase::finishRenderSVGContent):
810         * svg/FilterBuilder.h:
811         (WebCore::FilterBuilder::lastEffect):
812         * svg/SVGFEBlendElement.cpp:
813         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
814         (WebCore::SVGFEBlendElement::build):
815         * svg/SVGFEBlendElement.h:
816         * svg/SVGFEColorMatrixElement.cpp:
817         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
818         (WebCore::SVGFEColorMatrixElement::build):
819         * svg/SVGFEColorMatrixElement.h:
820         * svg/SVGFEComponentTransferElement.cpp:
821         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
822         (WebCore::SVGFEComponentTransferElement::build):
823         * svg/SVGFEComponentTransferElement.h:
824         * svg/SVGFECompositeElement.cpp:
825         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
826         (WebCore::SVGFECompositeElement::build):
827         * svg/SVGFECompositeElement.h:
828         * svg/SVGFEDiffuseLightingElement.cpp:
829         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
830         (WebCore::SVGFEDiffuseLightingElement::build):
831         * svg/SVGFEDiffuseLightingElement.h:
832         * svg/SVGFEDisplacementMapElement.cpp:
833         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
834         (WebCore::SVGFEDisplacementMapElement::build):
835         * svg/SVGFEDisplacementMapElement.h:
836         * svg/SVGFEFloodElement.cpp:
837         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
838         (WebCore::SVGFEFloodElement::build):
839         * svg/SVGFEFloodElement.h:
840         * svg/SVGFEGaussianBlurElement.cpp:
841         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
842         (WebCore::SVGFEGaussianBlurElement::build):
843         * svg/SVGFEGaussianBlurElement.h:
844         * svg/SVGFEImageElement.cpp:
845         (WebCore::SVGFEImageElement::SVGFEImageElement):
846         (WebCore::SVGFEImageElement::notifyFinished):
847         (WebCore::SVGFEImageElement::build):
848         * svg/SVGFEImageElement.h:
849         * svg/SVGFEMergeElement.cpp:
850         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
851         (WebCore::SVGFEMergeElement::build):
852         * svg/SVGFEMergeElement.h:
853         * svg/SVGFEOffsetElement.cpp:
854         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
855         (WebCore::SVGFEOffsetElement::build):
856         * svg/SVGFEOffsetElement.h:
857         * svg/SVGFESpecularLightingElement.cpp:
858         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
859         (WebCore::SVGFESpecularLightingElement::build):
860         * svg/SVGFESpecularLightingElement.h:
861         * svg/SVGFETileElement.cpp:
862         (WebCore::SVGFETileElement::SVGFETileElement):
863         (WebCore::SVGFETileElement::build):
864         * svg/SVGFETileElement.h:
865         * svg/SVGFETurbulenceElement.cpp:
866         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
867         (WebCore::SVGFETurbulenceElement::build):
868         * svg/SVGFETurbulenceElement.h:
869         * svg/SVGFilterElement.cpp:
870         (WebCore::SVGFilterElement::canvasResource):
871         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
872         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
873         * svg/SVGFilterPrimitiveStandardAttributes.h:
874         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
875         * svg/graphics/SVGResourceFilter.cpp:
876         (WebCore::SVGResourceFilter::SVGResourceFilter):
877         (WebCore::SVGResourceFilter::addFilterEffect):
878         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
879         (WebCore::SVGResourceFilter::prepareFilter):
880         (WebCore::SVGResourceFilter::applyFilter):
881         (WebCore::SVGResourceFilter::externalRepresentation):
882         * svg/graphics/SVGResourceFilter.h:
883         (WebCore::SVGResourceFilter::filterBoundingBox):
884         (WebCore::SVGResourceFilter::setFilterBoundingBox):
885         (WebCore::SVGResourceFilter::itemBoundingBox):
886         (WebCore::SVGResourceFilter::setItemBoundingBox):
887         (WebCore::SVGResourceFilter::builder):
888
889 2009-05-31  Dirk Schulze  <krit@webkit.org>
890
891         Reviewed by Nikolas Zimmermann.
892
893         WebKit needs cross-platform filter system
894         [https://bugs.webkit.org/show_bug.cgi?id=19991]
895
896         Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1.
897         This change helps creating test cases, once filters are activated.
898
899         * svg/SVGFEFloodElement.cpp:
900         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
901         (WebCore::SVGFEFloodElement::parseMappedAttribute):
902         (WebCore::SVGFEFloodElement::build):
903         * svg/SVGFEFloodElement.h:
904         * svg/SVGFEFloodElement.idl:
905         * svg/graphics/filters/SVGFEFlood.cpp:
906         (WebCore::FEFlood::FEFlood):
907         (WebCore::FEFlood::create):
908         * svg/graphics/filters/SVGFEFlood.h:
909
910 2009-05-31  Dirk Schulze  <krit@webkit.org>
911
912         Reviewed by Nikolas Zimmermann.
913
914         WebKit needs cross-platform filter system
915         [https://bugs.webkit.org/show_bug.cgi?id=19991]
916
917         Replace all occurrences of SVGResourceFilter by Filter. This is the last 
918         step for a SVG independent filter system. Every other part of WebCore can
919         use the filter system by creating a new Filter object.
920
921         * GNUmakefile.am:
922         * WebCore.pro:
923         * WebCore.xcodeproj/project.pbxproj:
924         * platform/graphics/filters/FEBlend.cpp:
925         (WebCore::FEBlend::apply):
926         * platform/graphics/filters/FEBlend.h:
927         * platform/graphics/filters/FEColorMatrix.cpp:
928         (WebCore::FEColorMatrix::apply):
929         * platform/graphics/filters/FEColorMatrix.h:
930         * platform/graphics/filters/FEComponentTransfer.cpp:
931         (WebCore::FEComponentTransfer::apply):
932         * platform/graphics/filters/FEComponentTransfer.h:
933         * platform/graphics/filters/FEComposite.cpp:
934         (WebCore::FEComposite::apply):
935         * platform/graphics/filters/FEComposite.h:
936         * platform/graphics/filters/Filter.h: Added.
937         (WebCore::Filter::setSourceImage):
938         (WebCore::Filter::sourceImage):
939         * platform/graphics/filters/FilterEffect.h:
940         * platform/graphics/filters/SourceAlpha.cpp:
941         (WebCore::SourceAlpha::apply):
942         * platform/graphics/filters/SourceAlpha.h:
943         * platform/graphics/filters/SourceGraphic.cpp:
944         (WebCore::SourceGraphic::apply):
945         * platform/graphics/filters/SourceGraphic.h:
946         * svg/Filter.cpp: Removed.
947         * svg/Filter.h: Removed.
948         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
949         (WebCore::FEConvolveMatrix::apply):
950         * svg/graphics/filters/SVGFEConvolveMatrix.h:
951         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
952         (WebCore::FEDiffuseLighting::apply):
953         * svg/graphics/filters/SVGFEDiffuseLighting.h:
954         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
955         (WebCore::FEDisplacementMap::apply):
956         * svg/graphics/filters/SVGFEDisplacementMap.h:
957         * svg/graphics/filters/SVGFEFlood.cpp:
958         (WebCore::FEFlood::apply):
959         * svg/graphics/filters/SVGFEFlood.h:
960         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
961         (WebCore::FEGaussianBlur::apply):
962         * svg/graphics/filters/SVGFEGaussianBlur.h:
963         * svg/graphics/filters/SVGFEImage.cpp:
964         (WebCore::FEImage::apply):
965         * svg/graphics/filters/SVGFEImage.h:
966         * svg/graphics/filters/SVGFEMerge.cpp:
967         (WebCore::FEMerge::apply):
968         * svg/graphics/filters/SVGFEMerge.h:
969         * svg/graphics/filters/SVGFEMorphology.cpp:
970         (WebCore::FEMorphology::apply):
971         * svg/graphics/filters/SVGFEMorphology.h:
972         * svg/graphics/filters/SVGFEOffset.cpp:
973         (WebCore::FEOffset::apply):
974         * svg/graphics/filters/SVGFEOffset.h:
975         * svg/graphics/filters/SVGFESpecularLighting.cpp:
976         (WebCore::FESpecularLighting::apply):
977         * svg/graphics/filters/SVGFESpecularLighting.h:
978         * svg/graphics/filters/SVGFETile.cpp:
979         (WebCore::FETile::apply):
980         * svg/graphics/filters/SVGFETile.h:
981         * svg/graphics/filters/SVGFETurbulence.cpp:
982         (WebCore::FETurbulence::apply):
983         * svg/graphics/filters/SVGFETurbulence.h:
984         * svg/graphics/filters/SVGFilter.cpp: Added.
985         (WebCore::SVGFilter::SVGFilter):
986         (WebCore::SVGFilter::calculateEffectSubRegion):
987         (WebCore::SVGFilter::create):
988         * svg/graphics/filters/SVGFilter.h: Added.
989
990 2009-05-30  Kevin Ollivier  <kevino@theolliviers.com>
991
992         Build fix for platforms without plugins support.
993
994         * plugins/PluginViewNone.cpp:
995         (WebCore::PluginView::userAgentStatic):
996         (WebCore::PluginView::getValueStatic):
997
998 2009-05-30  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
999
1000         Reviewed by Darin Adler.
1001
1002         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979
1003
1004         Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected.    
1005         Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation.
1006
1007         * platform/network/mac/ResourceHandleMac.mm:
1008         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1009
1010 2009-05-29  Sam Weinig  <sam@webkit.org>
1011
1012         Reviewed by Anders Carlsson.
1013
1014         Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
1015         Make storage events match the current spec.
1016         - Storage event listeners are added to the window.
1017         - Storage events are dispatched to the window.
1018
1019         Updated existing tests.
1020
1021         * dom/Document.cpp:
1022         (WebCore::Document::dispatchWindowEvent):
1023         * dom/Document.h:
1024         * dom/Node.cpp:
1025         * dom/Node.h:
1026         * html/HTMLBodyElement.cpp:
1027         (WebCore::HTMLBodyElement::parseMappedAttribute):
1028         * storage/LocalStorageArea.cpp:
1029         (WebCore::LocalStorageArea::dispatchStorageEvent):
1030         * storage/SessionStorageArea.cpp:
1031         (WebCore::SessionStorageArea::dispatchStorageEvent):
1032
1033 2009-05-30  Darin Adler  <darin@apple.com>
1034
1035         Reviewed by Adele Peterson.
1036
1037         Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element
1038
1039         Test: fast/forms/focus-control-to-page.html
1040
1041         * dom/SelectElement.h: Made destructor protected. Tweaked a bit.
1042
1043         * html/HTMLSelectElement.cpp: Removed unneeded includes.
1044         (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the
1045         result of optionToListIndex.
1046         (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the
1047         unused attribute, m_minwidth.
1048         (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix.
1049         Call through to the base class defaultEventHandler if the event hasn't
1050         been handled yet.
1051
1052         * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions
1053         private. Removed unused minWidth function and m_minwidth data member.
1054
1055 2009-05-30  Fridrich Strba  <fridrich.strba@bluewin.ch>
1056
1057         Reviewed by Holger Freyther.
1058
1059         The two KeyboardCodes.h files are basically identical and the
1060         qt one is properly #ifdef-ed for different win32 systems. Share
1061         them between Qt and Gtk implementations.
1062
1063         * GNUmakefile.am:
1064         * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h.
1065         * platform/gtk/KeyboardCodes.h: Removed.
1066         * platform/qt/KeyboardCodes.h: Removed.
1067
1068 2009-05-30  Jeremy Orlow  <jorlow@chromium.org>
1069
1070         Reviewed by Sam Weinig.
1071
1072         LocalStorage and SessionStorage's implicit setters do not correctly 
1073         handle null.  The custom JS bindings should convert to strings
1074         unconditionally and not try to handle null specially.
1075         https://bugs.webkit.org/show_bug.cgi?id=25970
1076
1077         Tests: storage/domstorage/localstorage/string-conversion.html
1078                storage/domstorage/sessionstorage/string-conversion.html
1079
1080         * bindings/js/JSStorageCustom.cpp:
1081         (WebCore::JSStorage::customPut):
1082
1083 2009-05-30  Dan Bernstein  <mitz@apple.com>
1084
1085         Reviewed by Darin Adler.
1086
1087         - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
1088           bars in key window draw as inactive if the WebView is not active
1089
1090         Test: platform/mac/scrollbars/key-window-not-first-responder.html
1091
1092         * platform/mac/ScrollbarThemeMac.mm:
1093         (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead
1094         of the WebView's first responder state to switch between active and
1095         inactive state.
1096
1097 2009-05-30  Dan Bernstein  <mitz@apple.com>
1098
1099         Reviewed by Simon Fraser.
1100
1101         - fix https://bugs.webkit.org/show_bug.cgi?id=18445
1102           <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
1103           with -webkit-gradient as body's background
1104
1105         Test: fast/backgrounds/body-generated-image-propagated-to-root.html
1106
1107         * rendering/RenderBoxModelObject.cpp:
1108         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this
1109         is the root element painting a background layer propagated from the
1110         body, and if it is, use the body's renderer as the client to
1111         StyleImage::image().
1112
1113 2009-05-30  Holger Hans Peter Freyther  <zecke@selfish.org>
1114
1115         Unreviewed build fix for AXObjectCache.
1116
1117         For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move
1118         that into the #ifdef.
1119
1120         * accessibility/AXObjectCache.cpp:
1121
1122 2009-05-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1123
1124         Reviewed by George Staikos.
1125
1126         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072
1127
1128         Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing
1129         the same functionality HTMLSelectElement has. The WML specific features will follow soon.
1130     
1131         Add simple testcase covering <select> element rendering: fast/wml/select.wml
1132
1133         * GNUmakefile.am:
1134         * WebCore.pro:
1135         * WebCore.vcproj/WebCore.vcproj:
1136         * WebCore.xcodeproj/project.pbxproj:
1137         * dom/OptionElement.cpp:
1138         (WebCore::OptionElement::optionIndex):
1139         (WebCore::isOptionElement):
1140         * dom/OptionElement.h:
1141         * dom/OptionGroupElement.cpp:
1142         (WebCore::isOptionGroupElement):
1143         * dom/OptionGroupElement.h:
1144         * dom/SelectElement.cpp:
1145         (WebCore::SelectElement::accessKeySetSelectedIndex):
1146         (WebCore::toSelectElement):
1147         * dom/SelectElement.h:
1148         * html/HTMLOptionElement.cpp:
1149         (WebCore::HTMLOptionElement::index):
1150         * html/HTMLSelectElement.cpp:
1151         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
1152         * rendering/RenderListBox.cpp:
1153         (WebCore::RenderListBox::paintItemForeground):
1154         * rendering/RenderMenuList.cpp:
1155         (WebCore::RenderMenuList::itemIsEnabled):
1156         (WebCore::RenderMenuList::itemIsLabel):
1157         * wml/WMLFormControlElement.cpp:
1158         (WebCore::WMLFormControlElement::attach):
1159         (WebCore::WMLFormControlElement::recalcStyle):
1160         * wml/WMLFormControlElement.h:
1161         * wml/WMLInputElement.cpp:
1162         (WebCore::WMLInputElement::attach):
1163         * wml/WMLOptGroupElement.cpp:
1164         (WebCore::WMLOptGroupElement::insertBefore):
1165         (WebCore::WMLOptGroupElement::replaceChild):
1166         (WebCore::WMLOptGroupElement::removeChild):
1167         (WebCore::WMLOptGroupElement::appendChild):
1168         (WebCore::WMLOptGroupElement::removeChildren):
1169         (WebCore::ownerSelectElement):
1170         (WebCore::WMLOptGroupElement::accessKeyAction):
1171         (WebCore::WMLOptGroupElement::childrenChanged):
1172         (WebCore::WMLOptGroupElement::parseMappedAttribute):
1173         (WebCore::WMLOptGroupElement::attach):
1174         (WebCore::WMLOptGroupElement::detach):
1175         (WebCore::WMLOptGroupElement::recalcSelectOptions):
1176         * wml/WMLOptionElement.cpp:
1177         (WebCore::ownerSelectElement):
1178         (WebCore::WMLOptionElement::accessKeyAction):
1179         (WebCore::WMLOptionElement::childrenChanged):
1180         (WebCore::WMLOptionElement::parseMappedAttribute):
1181         (WebCore::WMLOptionElement::attach):
1182         (WebCore::WMLOptionElement::detach):
1183         (WebCore::WMLOptionElement::insertedIntoDocument):
1184         * wml/WMLSelectElement.cpp: Added.
1185         (WebCore::WMLSelectElement::WMLSelectElement):
1186         (WebCore::WMLSelectElement::~WMLSelectElement):
1187         (WebCore::WMLSelectElement::formControlType):
1188         (WebCore::WMLSelectElement::isKeyboardFocusable):
1189         (WebCore::WMLSelectElement::isMouseFocusable):
1190         (WebCore::WMLSelectElement::selectAll):
1191         (WebCore::WMLSelectElement::recalcStyle):
1192         (WebCore::WMLSelectElement::dispatchFocusEvent):
1193         (WebCore::WMLSelectElement::dispatchBlurEvent):
1194         (WebCore::WMLSelectElement::selectedIndex):
1195         (WebCore::WMLSelectElement::setSelectedIndex):
1196         (WebCore::WMLSelectElement::saveFormControlState):
1197         (WebCore::WMLSelectElement::restoreFormControlState):
1198         (WebCore::WMLSelectElement::childrenChanged):
1199         (WebCore::WMLSelectElement::parseMappedAttribute):
1200         (WebCore::WMLSelectElement::createRenderer):
1201         (WebCore::WMLSelectElement::appendFormData):
1202         (WebCore::WMLSelectElement::optionToListIndex):
1203         (WebCore::WMLSelectElement::listToOptionIndex):
1204         (WebCore::WMLSelectElement::reset):
1205         (WebCore::WMLSelectElement::defaultEventHandler):
1206         (WebCore::WMLSelectElement::accessKeyAction):
1207         (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex):
1208         (WebCore::WMLSelectElement::setActiveSelectionEndIndex):
1209         (WebCore::WMLSelectElement::updateListBoxSelection):
1210         (WebCore::WMLSelectElement::listBoxOnChange):
1211         (WebCore::WMLSelectElement::menuListOnChange):
1212         (WebCore::WMLSelectElement::activeSelectionStartListIndex):
1213         (WebCore::WMLSelectElement::activeSelectionEndListIndex):
1214         (WebCore::WMLSelectElement::accessKeySetSelectedIndex):
1215         (WebCore::WMLSelectElement::setRecalcListItems):
1216         (WebCore::WMLSelectElement::scrollToSelection):
1217         (WebCore::WMLSelectElement::insertedIntoTree):
1218         * wml/WMLSelectElement.h: Added.
1219         (WebCore::WMLSelectElement::canSelectAll):
1220         (WebCore::WMLSelectElement::canStartSelection):
1221         (WebCore::WMLSelectElement::size):
1222         (WebCore::WMLSelectElement::multiple):
1223         (WebCore::WMLSelectElement::listItems):
1224         * wml/WMLTagNames.in:
1225
1226 2009-05-29  David Levin  <levin@chromium.org>
1227
1228         Reviewed by NOBODY (build fix for windows).
1229
1230         http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf"
1231         that it was trying to replace.  Resulting in this variable being defined twice (and
1232         the second time incorrectly).
1233
1234         * platform/win/Language.cpp:
1235         (WebCore::localeInfo):
1236
1237 2009-05-29  Takeshi Yoshino  <tyoshino@google.com>
1238
1239         Reviewed by Darin Alder.
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=26018
1242
1243         Fix behavior of the Element View of the Web Inspector for double
1244         clicking the element outline tree.
1245
1246         Double clicking the element outline tree should
1247         1) on attribute: enter attribute editing mode
1248         2) on text: enter text editing mode
1249         3) otherwise: change root node to the parent element of double clicked
1250            element.
1251
1252         Now, 3) is broken. For example, clicking <html> clears the element
1253         outline view.
1254
1255         rootDOMNode should be updated to this.representedObject.parentNode, not
1256         this.parent.representedObject which is parent inside the element
1257         outline tree itself.
1258
1259         * inspector/front-end/ElementsTreeOutline.js:
1260         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1261
1262 2009-05-29  David Moore  <davemoore@google.com>
1263
1264         Reviewed by Darin Alder.
1265
1266         https://bugs.webkit.org/show_bug.cgi?id=26001
1267         Change many of the uses of String::adopt() to String::createUninitialized().
1268         This allows those strings to use an inlined buffer for their characters.
1269
1270         * dom/StyleElement.cpp:
1271         Loop over nodes to precompute length of string and then
1272         write the characters into the allocated inline buffer
1273         (WebCore::StyleElement::process):
1274         * dom/Text.cpp:
1275         Loop over nodes to precompute length of string and then
1276         write the characters into the allocated inline buffer
1277         (WebCore::Text::wholeText):
1278         (WebCore::Text::rendererIsNeeded):
1279         (WebCore::Text::createRenderer):
1280         (WebCore::Text::createWithLengthLimit):
1281         (WebCore::Text::formatForDebugger):
1282         * platform/text/String.cpp:
1283         (WebCore::String::append):
1284         (WebCore::String::insert):
1285         (WebCore::String::truncate):
1286         (WebCore::String::remove):
1287         * platform/text/StringBuilder.cpp:
1288         (WebCore::StringBuilder::toString):
1289         * platform/text/StringImpl.cpp:
1290         (WebCore::StringImpl::lower):
1291         (WebCore::StringImpl::upper):
1292         (WebCore::StringImpl::secure):
1293         (WebCore::StringImpl::foldCase):
1294         (WebCore::StringImpl::replace):
1295         * platform/text/TextCodecLatin1.cpp:
1296         (WebCore::TextCodecLatin1::decode):
1297         * platform/text/TextCodecUserDefined.cpp:
1298         (WebCore::TextCodecUserDefined::decode):
1299         * platform/win/Language.cpp:
1300         (WebCore::localeInfo):
1301
1302 2009-05-29  Takeshi Yoshino  <tyoshino@google.com>
1303
1304         Reviewed by Darin Alder.
1305
1306         Bug 25911: Apply href in base elements to anchors shown on the source viewer
1307         https://bugs.webkit.org/show_bug.cgi?id=25911
1308
1309         In rendering HTML sources, parse base elements to apply the base URI to
1310         anchors shown on the source viewer.
1311
1312         This issue was originally reported to the Chromium issue tracker.
1313         http://code.google.com/p/chromium/issues/detail?id=2418
1314
1315         Test: fast/frames/viewsource-link-on-href-value.html
1316
1317         * html/HTMLViewSourceDocument.cpp:
1318         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1319
1320 2009-05-29  Rob Buis  <rwlbuis@gmail.com>
1321
1322         Reviewed by David Hyatt.
1323
1324         https://bugs.webkit.org/show_bug.cgi?id=22429
1325         document.styleSheets collection ignores media=presentation
1326
1327         Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute.
1328
1329         Test: fast/css/sheet-collection-link.html
1330
1331         * html/HTMLLinkElement.cpp:
1332         (WebCore::HTMLLinkElement::process):
1333
1334 2009-05-29  Itai Danan  <idanan@chromium.org>
1335
1336         Reviewed by Jon Honeycutt.
1337
1338         Bug 24791: Should have a preference to disable auto scrolling
1339         https://bugs.webkit.org/show_bug.cgi?id=24791
1340
1341         To understand why this is required see the discussion in
1342         issue 24722 (https://bugs.webkit.org/show_bug.cgi?id=24722).
1343
1344         The code review was done in https://bugs.webkit.org/show_bug.cgi?id=21794.
1345
1346         * page/EventHandler.cpp:
1347         (WebCore::EventHandler::handleMousePressEvent): Use autoscroll behavior flag to determine
1348         if autoscroll needs to be released on this event.
1349         (WebCore::EventHandler::handleMouseReleaseEvent):  Use autoscroll behavior flag to determine
1350         if autoscroll needs to be released on this event (reverse logic of for Press event).
1351         * page/Settings.cpp:
1352         (WebCore::Settings::Settings): Initialize autoscroll behavior setting.
1353         * page/Settings.h:
1354         (WebCore::Settings::setUsesStickyPanScroll): Autoscroll behavior setting setter.
1355         (WebCore::Settings::usesStickyPanScroll): Autoscroll behavior setting getter.
1356
1357 2009-05-29  Jian Li  <jianli@chromium.org>
1358
1359         Reviewed by Dimitri Glazkov.
1360
1361         https://bugs.webkit.org/show_bug.cgi?id=26069
1362         Fix a crash in custom V8 bindings code for XMLHttpRequest.
1363
1364         Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html
1365
1366         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1367         (WebCore::CALLBACK_FUNC_DECL):
1368
1369 2009-05-29  David Levin  <levin@chromium.org>
1370
1371         Reviewed by Darin Adler.
1372
1373         Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy.
1374         https://bugs.webkit.org/show_bug.cgi?id=26074
1375
1376         The constructor for SQLStatement already does a copy for this string.
1377
1378         * storage/SQLTransaction.cpp:
1379         (WebCore::SQLTransaction::executeSQL):
1380
1381 2009-05-29  Darin Adler  <darin@apple.com>
1382
1383         Fix build; the new Cairo code compiled on Windows only.
1384
1385         * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold
1386         and syntheticOblique functions as in the Windows version to make it
1387         easier to use this cross-platform. Later we can make data members
1388         private as in the Windows version.
1389         * platform/graphics/mac/FontPlatformData.h: Ditto.
1390
1391 2009-05-29  Alexander Macdonald  <alexmac@adobe.com>
1392
1393         Reviewed by Darin Adler.
1394
1395         Added support for synthetic bold/oblique font rendering
1396         on platforms that use cairo.
1397
1398         * platform/graphics/SimpleFontData.h:
1399         * platform/graphics/cairo/FontCairo.cpp:
1400         (WebCore::Font::drawGlyphs):
1401         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1402         (WebCore::SimpleFontData::platformInit):
1403         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1404         (WebCore::SimpleFontData::platformInit):
1405         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1406         (WebCore::SimpleFontData::platformInit):
1407
1408 2009-05-29  Chris Fleizach  <cfleizach@apple.com>
1409
1410         Reviewed by Beth Dakin.
1411
1412         Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored
1413         https://bugs.webkit.org/show_bug.cgi?id=26024
1414
1415         AX notifications are posted after a one shot timer so that notifications are not performed mid-layout.
1416         Consolidated postNotification and postNotificationToElement into one method.
1417
1418         * accessibility/AXObjectCache.cpp:
1419         (WebCore::AXObjectCache::AXObjectCache):
1420         (WebCore::AXObjectCache::notificationPostTimerFired):
1421         (WebCore::AXObjectCache::postNotification):
1422         (WebCore::AXObjectCache::selectedChildrenChanged):
1423         * accessibility/AXObjectCache.h:
1424         (WebCore::AXObjectCache::postNotification):
1425         (WebCore::AXObjectCache::postPlatformNotification):
1426         * accessibility/AccessibilityRenderObject.cpp:
1427         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1428         * accessibility/chromium/AXObjectCacheChromium.cpp:
1429         (WebCore::AXObjectCache::postPlatformNotification):
1430         * accessibility/gtk/AXObjectCacheAtk.cpp:
1431         (WebCore::AXObjectCache::postPlatformNotification):
1432         * accessibility/mac/AXObjectCacheMac.mm:
1433         (WebCore::AXObjectCache::postPlatformNotification):
1434         * accessibility/win/AXObjectCacheWin.cpp:
1435         (WebCore::AXObjectCache::postPlatformNotification):
1436         * dom/Document.cpp:
1437         (WebCore::Document::implicitClose):
1438         * editing/Editor.cpp:
1439         (WebCore::Editor::respondToChangedContents):
1440         * editing/mac/SelectionControllerMac.mm:
1441         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1442         * page/FrameView.cpp:
1443         (WebCore::FrameView::layout):
1444         * rendering/RenderTextControl.cpp:
1445         (WebCore::RenderTextControl::setInnerTextValue):
1446
1447 2009-05-29  Brent Fulgham  <bfulgham@webkit.org>
1448
1449         Reviewed by Adam Roben.
1450
1451         Build fix for Windows Cairo target.
1452         https://bugs.webkit.org/show_bug.cgi?id=25972
1453
1454         Compiler mistakenly selects SMILTime min/max instead of STL version,
1455         resulting in a build error.  This change makes the meaning of the
1456         min/max explicit and avoids the problem.
1457
1458         * html/TimeRanges.h:
1459         (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange):
1460
1461 2009-05-29  Gustavo Noronha Silva  <gns@gnome.org>
1462
1463         Reviewed by Jan Alonzo.
1464
1465         Make SoupMessage a member of ResourceRequest, instead of creating
1466         it in startHttp. Implement updating of ResourceRequest from
1467         SoupMessage, and vice versa.
1468
1469         * GNUmakefile.am:
1470         * platform/network/soup/ResourceHandleSoup.cpp:
1471         (WebCore::ResourceHandle::~ResourceHandle):
1472         (WebCore::gotHeadersCallback):
1473         (WebCore::ResourceHandle::startHttp):
1474         * platform/network/soup/ResourceRequest.h:
1475         (WebCore::ResourceRequest::ResourceRequest):
1476         (WebCore::ResourceRequest::~ResourceRequest):
1477         * platform/network/soup/ResourceRequestSoup.cpp: Added.
1478         (WTF::SoupURI):
1479         (WebCore::ResourceRequest::soupMessage):
1480         (WebCore::ResourceRequest::ResourceRequest):
1481         (WebCore::ResourceRequest::doUpdateResourceRequest):
1482         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1483
1484 2009-05-28  Dmitry Titov  <dimich@chromium.org>
1485
1486         Reviewed by Dimitri Glazkov.
1487
1488         https://bugs.webkit.org/show_bug.cgi?id=26068
1489         V8: Remove the remaining b8::Locker usage in worker code.
1490         This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944,
1491         since the patches for enabling timers and that bug have "crossed in the queue".
1492         Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium).
1493
1494         * bindings/v8/ScheduledAction.cpp:
1495         (WebCore::ScheduledAction::execute):
1496
1497 2009-05-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1498
1499         Reviewed by Xan Lopez.
1500
1501         Simplify the Accept-Encoding header we are sending out, for it
1502         seems some servers do not enjoy parsing the full, explicit
1503         version.
1504
1505         * platform/network/soup/ResourceHandleSoup.cpp:
1506         (WebCore::ResourceHandle::startHttp):
1507
1508 2009-05-28  Dirk Schulze  <krit@webkit.org>
1509
1510         Reviewed by Nikolas Zimmermann.
1511
1512         Added a new build flag --filters. This replaces the old --svg-filters and enables
1513         other parts of WebKit to use some basic filters of platform/graphics/filters if needed.
1514         This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag
1515         doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences.
1516         Filters are not working yet. This patch is just a preperation. Filters are deactivated by
1517         default. 
1518
1519         * Configurations/FeatureDefines.xcconfig:
1520         * DerivedSources.make:
1521         * GNUmakefile.am:
1522         * WebCore.pro:
1523         * bindings/objc/DOM.mm:
1524         (WebCore::createElementClassMap):
1525         * dom/DOMImplementation.cpp:
1526         (WebCore::isSVG10Feature):
1527         (WebCore::isSVG11Feature):
1528         * page/DOMWindow.idl:
1529         * platform/graphics/filters/FEBlend.cpp:
1530         * platform/graphics/filters/FEBlend.h:
1531         * platform/graphics/filters/FEColorMatrix.cpp:
1532         * platform/graphics/filters/FEColorMatrix.h:
1533         * platform/graphics/filters/FEComponentTransfer.cpp:
1534         * platform/graphics/filters/FEComponentTransfer.h:
1535         * platform/graphics/filters/FEComposite.cpp:
1536         * platform/graphics/filters/FEComposite.h:
1537         * platform/graphics/filters/FilterEffect.cpp:
1538         * platform/graphics/filters/FilterEffect.h:
1539         * platform/graphics/filters/SourceAlpha.cpp:
1540         * platform/graphics/filters/SourceAlpha.h:
1541         * platform/graphics/filters/SourceGraphic.cpp:
1542         * platform/graphics/filters/SourceGraphic.h:
1543         * rendering/RenderSVGContainer.cpp:
1544         (WebCore::RenderSVGContainer::selfWillPaint):
1545         * rendering/RenderSVGModelObject.cpp:
1546         * rendering/RenderSVGRoot.cpp:
1547         (WebCore::RenderSVGRoot::selfWillPaint):
1548         * rendering/SVGRenderSupport.cpp:
1549         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1550         (WebCore::SVGRenderBase::finishRenderSVGContent):
1551         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1552         * svg/Filter.cpp:
1553         * svg/Filter.h:
1554         * svg/FilterBuilder.cpp:
1555         * svg/FilterBuilder.h:
1556         * svg/SVGComponentTransferFunctionElement.cpp:
1557         * svg/SVGComponentTransferFunctionElement.h:
1558         * svg/SVGComponentTransferFunctionElement.idl:
1559         * svg/SVGFEBlendElement.cpp:
1560         * svg/SVGFEBlendElement.h:
1561         * svg/SVGFEBlendElement.idl:
1562         * svg/SVGFEColorMatrixElement.cpp:
1563         * svg/SVGFEColorMatrixElement.h:
1564         * svg/SVGFEColorMatrixElement.idl:
1565         * svg/SVGFEComponentTransferElement.cpp:
1566         * svg/SVGFEComponentTransferElement.h:
1567         * svg/SVGFEComponentTransferElement.idl:
1568         * svg/SVGFECompositeElement.cpp:
1569         * svg/SVGFECompositeElement.h:
1570         * svg/SVGFECompositeElement.idl:
1571         * svg/SVGFEDiffuseLightingElement.cpp:
1572         * svg/SVGFEDiffuseLightingElement.h:
1573         * svg/SVGFEDiffuseLightingElement.idl:
1574         * svg/SVGFEDisplacementMapElement.cpp:
1575         * svg/SVGFEDisplacementMapElement.h:
1576         * svg/SVGFEDisplacementMapElement.idl:
1577         * svg/SVGFEDistantLightElement.cpp:
1578         * svg/SVGFEDistantLightElement.h:
1579         * svg/SVGFEDistantLightElement.idl:
1580         * svg/SVGFEFloodElement.cpp:
1581         * svg/SVGFEFloodElement.h:
1582         * svg/SVGFEFloodElement.idl:
1583         * svg/SVGFEFuncAElement.cpp:
1584         * svg/SVGFEFuncAElement.h:
1585         * svg/SVGFEFuncAElement.idl:
1586         * svg/SVGFEFuncBElement.cpp:
1587         * svg/SVGFEFuncBElement.h:
1588         * svg/SVGFEFuncBElement.idl:
1589         * svg/SVGFEFuncGElement.cpp:
1590         * svg/SVGFEFuncGElement.h:
1591         * svg/SVGFEFuncGElement.idl:
1592         * svg/SVGFEFuncRElement.cpp:
1593         * svg/SVGFEFuncRElement.h:
1594         * svg/SVGFEFuncRElement.idl:
1595         * svg/SVGFEGaussianBlurElement.cpp:
1596         * svg/SVGFEGaussianBlurElement.h:
1597         * svg/SVGFEGaussianBlurElement.idl:
1598         * svg/SVGFEImageElement.cpp:
1599         * svg/SVGFEImageElement.h:
1600         * svg/SVGFEImageElement.idl:
1601         * svg/SVGFELightElement.cpp:
1602         * svg/SVGFELightElement.h:
1603         * svg/SVGFEMergeElement.cpp:
1604         * svg/SVGFEMergeElement.h:
1605         * svg/SVGFEMergeElement.idl:
1606         * svg/SVGFEMergeNodeElement.cpp:
1607         * svg/SVGFEMergeNodeElement.h:
1608         * svg/SVGFEMergeNodeElement.idl:
1609         * svg/SVGFEOffsetElement.cpp:
1610         * svg/SVGFEOffsetElement.h:
1611         * svg/SVGFEOffsetElement.idl:
1612         * svg/SVGFEPointLightElement.cpp:
1613         * svg/SVGFEPointLightElement.h:
1614         * svg/SVGFEPointLightElement.idl:
1615         * svg/SVGFESpecularLightingElement.cpp:
1616         * svg/SVGFESpecularLightingElement.h:
1617         * svg/SVGFESpecularLightingElement.idl:
1618         * svg/SVGFESpotLightElement.cpp:
1619         * svg/SVGFESpotLightElement.h:
1620         * svg/SVGFESpotLightElement.idl:
1621         * svg/SVGFETileElement.cpp:
1622         * svg/SVGFETileElement.h:
1623         * svg/SVGFETileElement.idl:
1624         * svg/SVGFETurbulenceElement.cpp:
1625         * svg/SVGFETurbulenceElement.h:
1626         * svg/SVGFETurbulenceElement.idl:
1627         * svg/SVGFilterElement.cpp:
1628         * svg/SVGFilterElement.h:
1629         * svg/SVGFilterElement.idl:
1630         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1631         * svg/SVGFilterPrimitiveStandardAttributes.h:
1632         * svg/graphics/SVGResourceFilter.cpp:
1633         * svg/graphics/SVGResourceFilter.h:
1634         * svg/graphics/cairo/SVGResourceFilterCairo.cpp:
1635         * svg/graphics/cg/SVGResourceFilterCg.cpp:
1636         * svg/graphics/cg/SVGResourceFilterCg.mm:
1637         * svg/graphics/filters/SVGDistantLightSource.h:
1638         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1639         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1640         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1641         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1642         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1643         * svg/graphics/filters/SVGFEDisplacementMap.h:
1644         * svg/graphics/filters/SVGFEFlood.cpp:
1645         * svg/graphics/filters/SVGFEFlood.h:
1646         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1647         * svg/graphics/filters/SVGFEGaussianBlur.h:
1648         * svg/graphics/filters/SVGFEImage.cpp:
1649         * svg/graphics/filters/SVGFEImage.h:
1650         * svg/graphics/filters/SVGFEMerge.cpp:
1651         * svg/graphics/filters/SVGFEMerge.h:
1652         * svg/graphics/filters/SVGFEMorphology.cpp:
1653         * svg/graphics/filters/SVGFEMorphology.h:
1654         * svg/graphics/filters/SVGFEOffset.cpp:
1655         * svg/graphics/filters/SVGFEOffset.h:
1656         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1657         * svg/graphics/filters/SVGFESpecularLighting.h:
1658         * svg/graphics/filters/SVGFETile.cpp:
1659         * svg/graphics/filters/SVGFETile.h:
1660         * svg/graphics/filters/SVGFETurbulence.cpp:
1661         * svg/graphics/filters/SVGFETurbulence.h:
1662         * svg/graphics/filters/SVGFilterEffect.cpp:
1663         * svg/graphics/filters/SVGFilterEffect.h:
1664         * svg/graphics/filters/SVGLightSource.cpp:
1665         * svg/graphics/filters/SVGLightSource.h:
1666         * svg/graphics/filters/SVGPointLightSource.h:
1667         * svg/graphics/filters/SVGSpotLightSource.h:
1668         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1669         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1670         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
1671         * svg/graphics/filters/cg/WKArithmeticFilter.h:
1672         * svg/graphics/filters/cg/WKArithmeticFilter.m:
1673         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
1674         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
1675         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
1676         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
1677         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
1678         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
1679         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
1680         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
1681         * svg/graphics/filters/cg/WKDistantLightFilter.h:
1682         * svg/graphics/filters/cg/WKDistantLightFilter.m:
1683         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
1684         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
1685         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
1686         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
1687         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
1688         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
1689         * svg/graphics/filters/cg/WKNormalMapFilter.h:
1690         * svg/graphics/filters/cg/WKNormalMapFilter.m:
1691         * svg/graphics/filters/cg/WKPointLightFilter.h:
1692         * svg/graphics/filters/cg/WKPointLightFilter.m:
1693         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
1694         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
1695         * svg/graphics/filters/cg/WKSpotLightFilter.h:
1696         * svg/graphics/filters/cg/WKSpotLightFilter.m:
1697         * svg/graphics/filters/cg/WKTableTransferFilter.h:
1698         * svg/graphics/filters/cg/WKTableTransferFilter.m:
1699         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
1700         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
1701         * svg/graphics/qt/SVGResourceFilterQt.cpp:
1702         * svg/graphics/skia/SVGResourceFilterSkia.cpp:
1703         * svg/svgtags.in:
1704
1705 2009-05-28  Brett Wilson  <brettw@chromium.org>
1706
1707         Unreviewed, build fix.
1708
1709         https://bugs.webkit.org/show_bug.cgi?id=26067
1710
1711         Add casts for scale function to make more explicit what is happening
1712         and fix a compiler warning.
1713
1714         * platform/graphics/IntSize.h:
1715         (WebCore::IntSize::scale):
1716
1717 2009-05-28  Sam Weinig  <sam@webkit.org>
1718
1719         Reviewed by Darin Adler.
1720
1721         Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows
1722         are not cleared on navigation it is no longer necessary.
1723
1724         * bindings/js/JSDOMWindowBase.cpp:
1725         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
1726         (WebCore::JSDOMWindowBase::willRemoveFromWindowShell):
1727         * bindings/js/JSDOMWindowBase.h:
1728         * bindings/js/JSDOMWindowCustom.cpp:
1729         (WebCore::JSDOMWindow::showModalDialog):
1730
1731 2009-05-19  Xan Lopez  <xlopez@igalia.com>
1732
1733         Reviewed by Jan Alonzo and Gustavo Noronha.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=25415
1736         [GTK][ATK] Please implement support for get_text_at_offset
1737
1738         Implement atk_text_get_text_{at,after,before}_offset.
1739
1740         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1741
1742 2009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1743
1744         Rubber-stamped by Darin Adler.
1745
1746         Remove unnecessary destructor from InputElementData/OptionElementData.
1747
1748         * dom/InputElement.cpp:
1749         * dom/InputElement.h:
1750         * dom/OptionElement.cpp:
1751         * dom/OptionElement.h:
1752
1753 2009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1754
1755         Reviewed by Darin Adler.
1756
1757         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062
1758
1759         Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement)
1760         in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses.
1761
1762         A follow-up patch can now easily add WMLSelectElement.
1763
1764         * dom/OptionElement.h:
1765         * dom/SelectElement.cpp:
1766         (WebCore::SelectElement::selectAll):
1767         (WebCore::SelectElement::saveLastSelection):
1768         (WebCore::isOptionElement):
1769         (WebCore::isOptionGroupElement):
1770         (WebCore::SelectElement::nextSelectableListIndex):
1771         (WebCore::SelectElement::previousSelectableListIndex):
1772         (WebCore::SelectElement::setActiveSelectionAnchorIndex):
1773         (WebCore::SelectElement::setActiveSelectionEndIndex):
1774         (WebCore::SelectElement::updateListBoxSelection):
1775         (WebCore::SelectElement::listBoxOnChange):
1776         (WebCore::SelectElement::menuListOnChange):
1777         (WebCore::SelectElement::scrollToSelection):
1778         (WebCore::SelectElement::recalcStyle):
1779         (WebCore::SelectElement::setRecalcListItems):
1780         (WebCore::SelectElement::recalcListItems):
1781         (WebCore::SelectElement::selectedIndex):
1782         (WebCore::SelectElement::setSelectedIndex):
1783         (WebCore::SelectElement::optionToListIndex):
1784         (WebCore::SelectElement::listToOptionIndex):
1785         (WebCore::SelectElement::dispatchFocusEvent):
1786         (WebCore::SelectElement::dispatchBlurEvent):
1787         (WebCore::SelectElement::deselectItems):
1788         (WebCore::SelectElement::saveFormControlState):
1789         (WebCore::SelectElement::restoreFormControlState):
1790         (WebCore::SelectElement::parseMultipleAttribute):
1791         (WebCore::SelectElement::appendFormData):
1792         (WebCore::SelectElement::reset):
1793         (WebCore::SelectElement::menuListDefaultEventHandler):
1794         (WebCore::SelectElement::listBoxDefaultEventHandler):
1795         (WebCore::SelectElement::defaultEventHandler):
1796         (WebCore::SelectElement::lastSelectedListIndex):
1797         (WebCore::stripLeadingWhiteSpace):
1798         (WebCore::SelectElement::typeAheadFind):
1799         (WebCore::SelectElement::insertedIntoTree):
1800         (WebCore::SelectElementData::SelectElementData):
1801         (WebCore::SelectElementData::checkListItems):
1802         (WebCore::SelectElementData::listItems):
1803         * dom/SelectElement.h:
1804         (WebCore::SelectElementData::multiple):
1805         (WebCore::SelectElementData::setMultiple):
1806         (WebCore::SelectElementData::size):
1807         (WebCore::SelectElementData::setSize):
1808         (WebCore::SelectElementData::usesMenuList):
1809         (WebCore::SelectElementData::lastOnChangeIndex):
1810         (WebCore::SelectElementData::setLastOnChangeIndex):
1811         (WebCore::SelectElementData::lastOnChangeSelection):
1812         (WebCore::SelectElementData::activeSelectionState):
1813         (WebCore::SelectElementData::setActiveSelectionState):
1814         (WebCore::SelectElementData::activeSelectionAnchorIndex):
1815         (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
1816         (WebCore::SelectElementData::activeSelectionEndIndex):
1817         (WebCore::SelectElementData::setActiveSelectionEndIndex):
1818         (WebCore::SelectElementData::cachedStateForActiveSelection):
1819         (WebCore::SelectElementData::shouldRecalcListItems):
1820         (WebCore::SelectElementData::setShouldRecalcListItems):
1821         (WebCore::SelectElementData::rawListItems):
1822         (WebCore::SelectElementData::repeatingChar):
1823         (WebCore::SelectElementData::setRepeatingChar):
1824         (WebCore::SelectElementData::lastCharTime):
1825         (WebCore::SelectElementData::setLastCharTime):
1826         (WebCore::SelectElementData::typedString):
1827         (WebCore::SelectElementData::setTypedString):
1828         * html/HTMLOptionElement.h:
1829         * html/HTMLSelectElement.cpp:
1830         (WebCore::HTMLSelectElement::HTMLSelectElement):
1831         (WebCore::HTMLSelectElement::recalcStyle):
1832         (WebCore::HTMLSelectElement::formControlType):
1833         (WebCore::HTMLSelectElement::selectedIndex):
1834         (WebCore::HTMLSelectElement::deselectItems):
1835         (WebCore::HTMLSelectElement::setSelectedIndex):
1836         (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
1837         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
1838         (WebCore::HTMLSelectElement::saveFormControlState):
1839         (WebCore::HTMLSelectElement::restoreFormControlState):
1840         (WebCore::HTMLSelectElement::parseMappedAttribute):
1841         (WebCore::HTMLSelectElement::canSelectAll):
1842         (WebCore::HTMLSelectElement::selectAll):
1843         (WebCore::HTMLSelectElement::createRenderer):
1844         (WebCore::HTMLSelectElement::appendFormData):
1845         (WebCore::HTMLSelectElement::optionToListIndex):
1846         (WebCore::HTMLSelectElement::listToOptionIndex):
1847         (WebCore::HTMLSelectElement::recalcListItems):
1848         (WebCore::HTMLSelectElement::setRecalcListItems):
1849         (WebCore::HTMLSelectElement::reset):
1850         (WebCore::HTMLSelectElement::dispatchFocusEvent):
1851         (WebCore::HTMLSelectElement::dispatchBlurEvent):
1852         (WebCore::HTMLSelectElement::defaultEventHandler):
1853         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
1854         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
1855         (WebCore::HTMLSelectElement::updateListBoxSelection):
1856         (WebCore::HTMLSelectElement::menuListOnChange):
1857         (WebCore::HTMLSelectElement::listBoxOnChange):
1858         (WebCore::HTMLSelectElement::saveLastSelection):
1859         (WebCore::HTMLSelectElement::setOption):
1860         (WebCore::HTMLSelectElement::scrollToSelection):
1861         (WebCore::HTMLSelectElement::insertedIntoTree):
1862         * html/HTMLSelectElement.h:
1863         (WebCore::HTMLSelectElement::size):
1864         (WebCore::HTMLSelectElement::multiple):
1865         (WebCore::HTMLSelectElement::listItems):
1866         * wml/WMLOptionElement.cpp:
1867         (WebCore::WMLOptionElement::text):
1868         * wml/WMLOptionElement.h:
1869
1870
1871         * dom/OptionElement.h:
1872         * dom/SelectElement.cpp:
1873         (WebCore::SelectElement::selectAll):
1874         (WebCore::SelectElement::saveLastSelection):
1875         (WebCore::isOptionElement):
1876         (WebCore::isOptionGroupElement):
1877         (WebCore::SelectElement::nextSelectableListIndex):
1878         (WebCore::SelectElement::previousSelectableListIndex):
1879         (WebCore::SelectElement::setActiveSelectionAnchorIndex):
1880         (WebCore::SelectElement::setActiveSelectionEndIndex):
1881         (WebCore::SelectElement::updateListBoxSelection):
1882         (WebCore::SelectElement::listBoxOnChange):
1883         (WebCore::SelectElement::menuListOnChange):
1884         (WebCore::SelectElement::scrollToSelection):
1885         (WebCore::SelectElement::recalcStyle):
1886         (WebCore::SelectElement::setRecalcListItems):
1887         (WebCore::SelectElement::recalcListItems):
1888         (WebCore::SelectElement::selectedIndex):
1889         (WebCore::SelectElement::setSelectedIndex):
1890         (WebCore::SelectElement::optionToListIndex):
1891         (WebCore::SelectElement::listToOptionIndex):
1892         (WebCore::SelectElement::dispatchFocusEvent):
1893         (WebCore::SelectElement::dispatchBlurEvent):
1894         (WebCore::SelectElement::deselectItems):
1895         (WebCore::SelectElement::saveFormControlState):
1896         (WebCore::SelectElement::restoreFormControlState):
1897         (WebCore::SelectElement::parseMultipleAttribute):
1898         (WebCore::SelectElement::appendFormData):
1899         (WebCore::SelectElement::reset):
1900         (WebCore::SelectElement::menuListDefaultEventHandler):
1901         (WebCore::SelectElement::listBoxDefaultEventHandler):
1902         (WebCore::SelectElement::defaultEventHandler):
1903         (WebCore::SelectElement::lastSelectedListIndex):
1904         (WebCore::stripLeadingWhiteSpace):
1905         (WebCore::SelectElement::typeAheadFind):
1906         (WebCore::SelectElement::insertedIntoTree):
1907         (WebCore::SelectElementData::SelectElementData):
1908         (WebCore::SelectElementData::~SelectElementData):
1909         (WebCore::SelectElementData::checkListItems):
1910         (WebCore::SelectElementData::listItems):
1911         * dom/SelectElement.h:
1912         (WebCore::SelectElementData::multiple):
1913         (WebCore::SelectElementData::setMultiple):
1914         (WebCore::SelectElementData::size):
1915         (WebCore::SelectElementData::setSize):
1916         (WebCore::SelectElementData::usesMenuList):
1917         (WebCore::SelectElementData::lastOnChangeIndex):
1918         (WebCore::SelectElementData::setLastOnChangeIndex):
1919         (WebCore::SelectElementData::lastOnChangeSelection):
1920         (WebCore::SelectElementData::activeSelectionState):
1921         (WebCore::SelectElementData::setActiveSelectionState):
1922         (WebCore::SelectElementData::activeSelectionAnchorIndex):
1923         (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
1924         (WebCore::SelectElementData::activeSelectionEndIndex):
1925         (WebCore::SelectElementData::setActiveSelectionEndIndex):
1926         (WebCore::SelectElementData::cachedStateForActiveSelection):
1927         (WebCore::SelectElementData::shouldRecalcListItems):
1928         (WebCore::SelectElementData::setShouldRecalcListItems):
1929         (WebCore::SelectElementData::rawListItems):
1930         (WebCore::SelectElementData::repeatingChar):
1931         (WebCore::SelectElementData::setRepeatingChar):
1932         (WebCore::SelectElementData::lastCharTime):
1933         (WebCore::SelectElementData::setLastCharTime):
1934         (WebCore::SelectElementData::typedString):
1935         (WebCore::SelectElementData::setTypedString):
1936         * html/HTMLOptionElement.h:
1937         * html/HTMLSelectElement.cpp:
1938         (WebCore::HTMLSelectElement::HTMLSelectElement):
1939         (WebCore::HTMLSelectElement::recalcStyle):
1940         (WebCore::HTMLSelectElement::formControlType):
1941         (WebCore::HTMLSelectElement::selectedIndex):
1942         (WebCore::HTMLSelectElement::deselectItems):
1943         (WebCore::HTMLSelectElement::setSelectedIndex):
1944         (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
1945         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
1946         (WebCore::HTMLSelectElement::saveFormControlState):
1947         (WebCore::HTMLSelectElement::restoreFormControlState):
1948         (WebCore::HTMLSelectElement::parseMappedAttribute):
1949         (WebCore::HTMLSelectElement::canSelectAll):
1950         (WebCore::HTMLSelectElement::selectAll):
1951         (WebCore::HTMLSelectElement::createRenderer):
1952         (WebCore::HTMLSelectElement::appendFormData):
1953         (WebCore::HTMLSelectElement::optionToListIndex):
1954         (WebCore::HTMLSelectElement::listToOptionIndex):
1955         (WebCore::HTMLSelectElement::recalcListItems):
1956         (WebCore::HTMLSelectElement::setRecalcListItems):
1957         (WebCore::HTMLSelectElement::reset):
1958         (WebCore::HTMLSelectElement::dispatchFocusEvent):
1959         (WebCore::HTMLSelectElement::dispatchBlurEvent):
1960         (WebCore::HTMLSelectElement::defaultEventHandler):
1961         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
1962         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
1963         (WebCore::HTMLSelectElement::updateListBoxSelection):
1964         (WebCore::HTMLSelectElement::menuListOnChange):
1965         (WebCore::HTMLSelectElement::listBoxOnChange):
1966         (WebCore::HTMLSelectElement::saveLastSelection):
1967         (WebCore::HTMLSelectElement::setOption):
1968         (WebCore::HTMLSelectElement::scrollToSelection):
1969         (WebCore::HTMLSelectElement::insertedIntoTree):
1970         * html/HTMLSelectElement.h:
1971         (WebCore::HTMLSelectElement::size):
1972         (WebCore::HTMLSelectElement::multiple):
1973         (WebCore::HTMLSelectElement::listItems):
1974         * wml/WMLOptionElement.cpp:
1975         (WebCore::WMLOptionElement::text):
1976         * wml/WMLOptionElement.h:
1977
1978 2009-05-28  Adam Roben  <aroben@apple.com>
1979
1980         Don't try to use the new combobox parts on Vista in Classic mode
1981
1982         Fixes:
1983         <rdar://problem/6929277> REGRESSION (r42289+r42350): Windows Classic
1984         theme: drop down lists in Preferences get a line/square
1985         <rdar://problem/6929298> REGRESSION (r42289): Windows Classic: drop
1986         down lists are black with a circle on many sites
1987
1988         Reviewed by Steve Falkenburg.
1989
1990         * rendering/RenderThemeWin.cpp:
1991         (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox
1992         parts when we have a theme (i.e., when we're not in Classic mode).
1993         When we don't have a theme, fall back to the pre-r42289 code.
1994
1995 2009-05-27  Peter Kasting  <pkasting@google.com>
1996
1997         Reviewed by Simon Fraser.
1998
1999         https://bugs.webkit.org/show_bug.cgi?id=25659
2000         Avoid calling frameCount() unnecessarily (which could lead to extra
2001         GIF decoding).
2002
2003         * platform/graphics/BitmapImage.cpp:
2004         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2005
2006 2009-05-28  Simon Fraser  <simon.fraser@apple.com>
2007
2008         Reviewed by Oliver Hunt.
2009         
2010         https://bugs.webkit.org/show_bug.cgi?id=8736
2011
2012         Tests: fast/borders/border-radius-constraints.html
2013                fast/borders/border-radius-split-inline.html
2014                
2015         When the sum of the corner radii on a side exceed the length of the side,
2016         reduce the radii according to CSS 3 rules.
2017         
2018         Add RenderStyle::getBorderRadiiForRect() to fetch corner radii, applying
2019         the constraints. Use that for painting borders, box-shadow, clipping replaced
2020         elements
2021
2022         * platform/graphics/IntSize.h:
2023         (WebCore::IntSize::scale):
2024         Add a scale method that scales by a float (using C rounding rules, like IntRect::scale()).
2025
2026         * platform/graphics/Path.cpp:
2027         Make the QUARTER const static.
2028
2029         * rendering/RenderBox.cpp:
2030         (WebCore::RenderBox::pushContentsClip):
2031         Use getBorderRadiiForRect to fetch border radii.
2032
2033         * rendering/RenderBoxModelObject.cpp:
2034         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2035         Use getBorderRadiiForRect to fetch border radii.
2036
2037         (WebCore::RenderBoxModelObject::paintBorder):
2038         Use getBorderRadiiForRect to fetch border radii, and fix a bug when drawing
2039         borders for split inlines, which used to apply the radii for each segment,
2040         and no longer does.
2041
2042         (WebCore::RenderBoxModelObject::paintBoxShadow):
2043         Use getBorderRadiiForRect to fetch border radii.
2044
2045         * rendering/RenderReplaced.cpp:
2046         (WebCore::RenderReplaced::paint):
2047         Use getBorderRadiiForRect to fetch border radii for clipping.
2048
2049         * rendering/RenderWidget.cpp:
2050         (WebCore::RenderWidget::paint):
2051         Use getBorderRadiiForRect to fetch border radii for clipping.
2052
2053         * rendering/style/RenderStyle.h:
2054         * rendering/style/RenderStyle.cpp:
2055         (WebCore::RenderStyle::getBorderRadiiForRect):
2056         New bottleneck method to fetch corner radiil given a rect, applying the constraint
2057         rules.
2058
2059 2009-05-28  Alexey Proskuryakov  <ap@webkit.org>
2060
2061         Reviewed by Darin Adler.
2062
2063         https://bugs.webkit.org/show_bug.cgi?id=26005
2064         Optimization for XPath //* does not preserve context size
2065
2066         Test: fast/xpath/position.html
2067
2068         Fixed the bug by removing the incorrect optimization, and made enough micro-optimizations to
2069         get a performance progression on my tests.
2070
2071         * xml/XPathPath.h: Removed broken optimizeStepPair().
2072
2073         * xml/XPathPath.cpp:
2074         (WebCore::XPath::LocationPath::evaluate): Style fix.
2075         (WebCore::XPath::LocationPath::appendStep): Don't call optimizeStepPair().
2076         (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
2077         (WebCore::XPath::Path::Path): Style fix.
2078
2079         * xml/XPathStep.cpp:
2080         (WebCore::XPath::primaryNodeType): Turned this member function into a static inline helper.
2081         (WebCore::XPath::nodeMatches): Ditto. Don't check for namespace axis, which is unsupported
2082         (and might never be).
2083         (WebCore::XPath::Step::nodesInAxis): Updated for the new nodeMatches() signature.
2084
2085         * xml/XPathStep.h:
2086         (WebCore::XPath::Step::NodeTest::data):
2087         (WebCore::XPath::Step::NodeTest::namespaceURI):
2088         Made these data members AtomicString to avoid repeated conversions. This is the biggest
2089         performance win here.
2090
2091         * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Reserve some capacity upfront.
2092
2093 2009-05-28  Stephen White  <senorblanco@chromium.org>
2094
2095         Reviewed by Dimitri Glazkov.
2096
2097         When creating a linear or radial gradient with a single stop
2098         at offset 1.0, the Skia layer was allocating 3 stops, but only
2099         filling 2, leaving one uninitialized.  Only 2 stops are necessary
2100         in this case, at offsets (0.0, 1.0).
2101
2102         http://bugs.webkit.org/show_bug.cgi?id=26063
2103
2104         Covered by: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-16-b.svg
2105                     LayoutTests/svg/custom/gradient-stop-corner-cases.svg
2106                     LayoutTests/svg/custom/js-late-gradient-and-object-creation.svg
2107
2108         * platform/graphics/skia/GradientSkia.cpp:
2109         (WebCore::totalStopsNeeded):
2110
2111 2009-05-28  Yury Semikhatsky  <yurys@chromium.org>
2112
2113         Reviewed by Timothy Hatcher.
2114
2115         https://bugs.webkit.org/show_bug.cgi?id=26041
2116         Allow adding resource source to WebInspector.SourceFrame asynchronously.
2117
2118         Provide common implementation for InspectorController::addResourceSourceToFrame and
2119         InspectorController::addSourceToFrame methods.
2120
2121         * bindings/js/JSInspectorControllerCustom.cpp:
2122         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2123         * inspector/InspectorController.cpp:
2124         (WebCore::InspectorController::addResourceSourceToFrame):
2125         * inspector/InspectorController.h:
2126         * inspector/InspectorController.idl:
2127         * inspector/front-end/SourceFrame.js:
2128         (WebInspector.SourceFrame.prototype.revealLine):
2129         (WebInspector.SourceFrame.prototype.highlightLine):
2130         (WebInspector.SourceFrame.prototype._loaded):
2131         (WebInspector.SourceFrame.prototype._isContentLoaded):
2132         * inspector/front-end/SourceView.js:
2133         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2134         (WebInspector.SourceView.prototype._contentLoaded):
2135
2136 2009-05-28  Holger Hans Peter Freyther  <zecke@selfish.org>
2137
2138         Reviewed by Xan Lopez.
2139
2140         After r44177 we had a problem when increasing the size
2141         of the window the scrollbars stayed and were not hidden.
2142         This was due WebCore giving up on the Scrollbar as it became
2143         unnecessary but the GtkAdjustment remained unchanged.
2144         So from the point of view of the GtkScrolledWindow scrolling
2145         was still necessary and the GtkScrollbar kept being displayed.
2146
2147         Solve the issue by resetting the GtkAdjustment in the
2148         destructor of ScrollbarGtk.
2149
2150         * platform/gtk/ScrollbarGtk.cpp:
2151         (ScrollbarGtk::~ScrollbarGtk):
2152
2153 2009-05-28  Adam Barth  <abarth@webkit.org>
2154
2155         Reviewed by Darin Adler.
2156
2157         Clean up window.open()'s use of lexical and dynamic scope.
2158
2159         (Added one unreviewed tweak: use dynamicFrame instead of lexicalFrame
2160         for DOMWindow::allowPopUp.)
2161
2162         Test: http/tests/security/frameNavigation/context-for-window-open.html
2163
2164         * bindings/js/JSDOMBinding.cpp:
2165         (WebCore::toDynamicFrame):
2166         (WebCore::processingUserGesture):
2167         (WebCore::completeURL):
2168         * bindings/js/JSDOMBinding.h:
2169         * bindings/js/JSDOMWindowCustom.cpp:
2170         (WebCore::createWindow):
2171         (WebCore::JSDOMWindow::open):
2172         (WebCore::JSDOMWindow::showModalDialog):
2173         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2174         (WebCore::CALLBACK_FUNC_DECL):
2175         (WebCore::createWindow):
2176
2177 2009-05-27  Alexey Proskuryakov  <ap@webkit.org>
2178
2179         Reviewed by Oliver Hunt.
2180
2181         https://bugs.webkit.org/show_bug.cgi?id=26056
2182         XPath string() function can be very slow
2183
2184         * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Use an intermediate Vector when appending.
2185
2186 2009-05-27  Dan Bernstein  <mitz@apple.com>
2187
2188         Reviewed by Sam Weinig.
2189
2190         - fix <rdar://problem/6927761> <isindex> placeholder text is unstylable
2191           and initially not visible
2192
2193         Test: fast/forms/isindex-placeholder.html
2194
2195         * css/html4.css: Added a default style for <isindex> placeholder text.
2196         * html/HTMLInputElement.cpp:
2197         (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call
2198         the new protected function updatePlaceholderVisibility().
2199         * html/HTMLInputElement.h:
2200         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this
2201         protected function to allow HTMLIsIndexElement::parseMappedAttribute()
2202         to invoke InputElement::updatePlaceholderVisibility().
2203         * html/HTMLIsIndexElement.cpp:
2204         (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call
2205         updatePlaceholderVisibility() when parsing the placeholder attribute.
2206         * rendering/RenderTextControlSingleLine.cpp:
2207         (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there
2208         is no placeholder pseudo-element style, use the normal style.
2209
2210 2009-05-27  Sam Weinig  <sam@webkit.org>
2211
2212         Reviewed by Maciej Stachowiak.
2213
2214         More cleanup of DOMWindow related functions.
2215
2216         * bindings/js/JSDOMWindowBase.cpp:
2217         (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Renamed from JSDOMWindowBase::clear()
2218         * bindings/js/JSDOMWindowBase.h:
2219
2220         * bindings/js/JSDOMWindowCustom.cpp:
2221         (WebCore::JSDOMWindow::showModalDialog): Update Comment.
2222
2223         * bindings/js/JSDOMWindowShell.cpp:
2224         * bindings/js/JSDOMWindowShell.h:
2225         Remove JSDOMWindowShell::clear().  It was unused.
2226
2227         * bindings/js/ScriptController.cpp:
2228         (WebCore::ScriptController::clearWindowShell):
2229
2230 2009-05-27  Sam Weinig  <sam@webkit.org>
2231
2232         Reviewed by David Hyatt.
2233
2234         Miscellaneous cleanup of DOMWindow related functions.
2235
2236         * bindings/js/JSDOMGlobalObject.cpp:
2237         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Fix poorly named variables.
2238         * bindings/js/JSDOMWindowBase.cpp:
2239         (WebCore::JSDOMWindowBase::supportsProfiling): Don't jump through hoops
2240         checking for null frames if the build does not support profiling.
2241         (WebCore::JSDOMWindowBase::clear): Use setCurrentEvent(0) instead of calling
2242         clearHelperObjectProperties().  It is clearer.
2243         * bindings/js/JSDOMWindowBase.h:
2244         Removed now unused clearHelperObjectProperties() function, empty disconnectFrame()
2245         function, and the empty destructor.
2246         * bindings/js/JSDOMWindowShell.cpp:
2247         * bindings/js/JSDOMWindowShell.h:
2248         Remove disconnectFrame() which only called JSDOMWindowBase::disconnectFrame(), which
2249         is a no-op.
2250         * page/Frame.cpp:
2251         (WebCore::Frame::~Frame):
2252         (WebCore::Frame::pageDestroyed):
2253         Remove calls to JSDOMWindowShell::disconnectFrame() which only called
2254         JSDOMWindowBase::disconnectFrame(), which is a no-op.
2255
2256 2009-05-27  Dimitri Glazkov  <dglazkov@chromium.org>
2257
2258         Unreviewed, build fix.
2259
2260         https://bugs.webkit.org/show_bug.cgi?id=25974
2261         Remove extra qualifiers from the ScheduledAction decl.
2262
2263         * bindings/v8/ScheduledAction.h: Removed extraneous class qualifiers.
2264
2265 2009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2266
2267         Unreviewed make distcheck fix. One more missing file.
2268
2269         * GNUmakefile.am:
2270
2271 2009-05-27  Antonio Gomes   <antonio.gomes@openbossa.org>
2272
2273         Reviewed by Simon Hausmann.
2274
2275         [Qt] Fixed trunk build on Linux after r44126.
2276
2277         * WebCore.pro:
2278
2279 2009-05-27  Eric Carlson  <eric.carlson@apple.com>
2280
2281         Reviewed by Oliver Hunt.
2282
2283         <rdar://problem/6926046> REGRESSION (r43972): http://www.youtube.com/html5 crashes on open
2284
2285         * platform/graphics/MediaPlayer.cpp:
2286         (WebCore::MediaPlayer::load): Don't look for a media engine based on an empty MIME type.
2287
2288 2009-05-27  David Levin  <levin@chromium.org>
2289
2290         Reviewed by Maciej Stachowiak.
2291
2292         Bug 26029: FrameLoader::canLoad should allow calls with just a security origin
2293         https://bugs.webkit.org/show_bug.cgi?id=26029
2294
2295         No functional changes, so no tests.
2296
2297         * loader/FrameLoader.cpp:
2298         (WebCore::FrameLoader::canLoad):
2299         * loader/FrameLoader.h:
2300
2301 2009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2302
2303         Unreviewed build fix.
2304
2305         Remove file that does not exist from the build.
2306
2307         * GNUmakefile.am:
2308
2309 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2310
2311         Reviewed by Darin Adler.
2312
2313         Remove two unneeded protected constructors, these classes have pure-virtual functions, and can't be constructed anyway.
2314
2315         * dom/InputElement.h:
2316         * dom/OptionGroupElement.h:
2317
2318 2009-05-27  Alexey Proskuryakov  <ap@webkit.org>
2319
2320         Reviewed by Darin Adler.
2321
2322         https://bugs.webkit.org/show_bug.cgi?id=17725
2323         XPath should be case insensitive for HTML
2324
2325         Test: fast/xpath/node-name-case-sensitivity.html
2326
2327         * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeMatches): Made node name check case insensitive
2328         for HTML elements in HTML documents.
2329
2330 2009-05-27  John Sullivan  <sullivan@apple.com>
2331
2332         fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping 
2333         bookmarks (at least) over Top Sites (at least)
2334
2335         Reviewed by Kevin Decker
2336
2337         * page/DragController.cpp:
2338         (WebCore::DragController::dragExited):
2339         nil check m_documentUnderMouse and take the "local file" case if it's nil
2340
2341 2009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
2342
2343         Reviewed by Gustavo Noronha.
2344
2345         When building on window, consider Windows specific files.
2346
2347         * GNUmakefile.am:
2348
2349 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2350
2351         Reviewed by George Staikos.
2352
2353         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26031
2354
2355         InputElementData is too heavy, save storing two pointers by passing them
2356         directly to the static helper functions (the only place which needs them). 
2357
2358         * dom/InputElement.cpp:
2359         (WebCore::InputElement::dispatchFocusEvent):
2360         (WebCore::InputElement::dispatchBlurEvent):
2361         (WebCore::InputElement::updatePlaceholderVisibility):
2362         (WebCore::InputElement::updateFocusAppearance):
2363         (WebCore::InputElement::updateSelectionRange):
2364         (WebCore::InputElement::aboutToUnload):
2365         (WebCore::InputElement::setValueFromRenderer):
2366         (WebCore::InputElement::constrainValue):
2367         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2368         (WebCore::InputElement::parseSizeAttribute):
2369         (WebCore::InputElement::parseMaxLengthAttribute):
2370         (WebCore::InputElement::updateValueIfNeeded):
2371         (WebCore::InputElement::notifyFormStateChanged):
2372         (WebCore::InputElementData::InputElementData):
2373         * dom/InputElement.h:
2374         * html/HTMLInputElement.cpp:
2375         (WebCore::HTMLInputElement::HTMLInputElement):
2376         (WebCore::HTMLInputElement::updateFocusAppearance):
2377         (WebCore::HTMLInputElement::aboutToUnload):
2378         (WebCore::HTMLInputElement::dispatchFocusEvent):
2379         (WebCore::HTMLInputElement::dispatchBlurEvent):
2380         (WebCore::HTMLInputElement::setInputType):
2381         (WebCore::HTMLInputElement::setSelectionRange):
2382         (WebCore::HTMLInputElement::parseMappedAttribute):
2383         (WebCore::HTMLInputElement::setValue):
2384         (WebCore::HTMLInputElement::setValueFromRenderer):
2385         (WebCore::HTMLInputElement::setFileListFromRenderer):
2386         (WebCore::HTMLInputElement::defaultEventHandler):
2387         (WebCore::HTMLInputElement::constrainValue):
2388         * wml/WMLInputElement.cpp:
2389         (WebCore::WMLInputElement::WMLInputElement):
2390         (WebCore::WMLInputElement::dispatchFocusEvent):
2391         (WebCore::WMLInputElement::dispatchBlurEvent):
2392         (WebCore::WMLInputElement::updateFocusAppearance):
2393         (WebCore::WMLInputElement::aboutToUnload):
2394         (WebCore::WMLInputElement::setValue):
2395         (WebCore::WMLInputElement::setValueFromRenderer):
2396         (WebCore::WMLInputElement::parseMappedAttribute):
2397         (WebCore::WMLInputElement::defaultEventHandler):
2398         (WebCore::WMLInputElement::constrainValue):
2399
2400 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2401
2402         Reviewed by George Staikos.
2403
2404         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26033
2405
2406         OptionElementData saves an Element pointer, which is unnessary.
2407         Just pass it to the static function calls directly.
2408
2409         * dom/OptionElement.cpp:
2410         (WebCore::OptionElement::setSelectedState):
2411         (WebCore::OptionElement::collectOptionText):
2412         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2413         (WebCore::OptionElement::collectOptionValue):
2414         (WebCore::OptionElementData::OptionElementData):
2415         * dom/OptionElement.h:
2416         * html/HTMLOptionElement.cpp:
2417         (WebCore::HTMLOptionElement::HTMLOptionElement):
2418         (WebCore::HTMLOptionElement::text):
2419         (WebCore::HTMLOptionElement::value):
2420         (WebCore::HTMLOptionElement::setSelected):
2421         (WebCore::HTMLOptionElement::setSelectedState):
2422         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
2423         * wml/WMLOptionElement.cpp:
2424         (WebCore::WMLOptionElement::WMLOptionElement):
2425         (WebCore::WMLOptionElement::setSelectedState):
2426         (WebCore::WMLOptionElement::value):
2427         (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
2428
2429 2009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
2430
2431         Reviewed by Maciej Stachowiak.
2432
2433         When building with MinGW, don't use the __declspec(dl{import,export})
2434         decorations and rely on the linker to use its nifty auto-import feature.
2435         It is extremely hard to get the decorations right with MinGW in general
2436         and impossible in WebKit, where the resulting shared library is linking 
2437         together some static libraries.
2438
2439         * config.h:
2440
2441 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
2442
2443         Reviewed by Xan Lopez.
2444
2445         https://bugs.webkit.org/show_bug.cgi?id=25613
2446
2447         Add a WebCore::Widget that can embed GtkWidget with and
2448         without a GdkWindow. This can be used to embed any GtkWidget.
2449
2450         Some bits are directly copied from the Scrollbar implementation
2451         but can not be easily shared here.
2452
2453         * GNUmakefile.am:
2454         * platform/gtk/GtkPluginWidget.cpp: Added.
2455         (WebCore::GtkPluginWidget::GtkPluginWidget):
2456         (WebCore::GtkPluginWidget::invalidateRect):
2457         (WebCore::GtkPluginWidget::frameRectsChanged):
2458         (WebCore::GtkPluginWidget::paint):
2459         * platform/gtk/GtkPluginWidget.h: Added.
2460
2461 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
2462
2463         Reviewed by Gustavo Noronha.
2464
2465         https://bugs.webkit.org/show_bug.cgi?id=25613.
2466
2467         Implement Widget::setIsSelected for Gtk+ by searching
2468         for a property of the name "webkit-widget-is-selected" and if
2469         such property exists we are going to set it. We expect
2470         the property to take a boolean.
2471
2472         * platform/gtk/WidgetGtk.cpp:
2473         (WebCore::Widget::setIsSelected):
2474
2475 2009-05-26  Sam Weinig  <sam@webkit.org>
2476
2477         Reviewed by Brady Eidson.
2478
2479         Fix for <rdar://problem/6916371>
2480         iWeb 'Announce' button does nothing after publishing to MobileMe
2481
2482         Add ability to force content sniffing for all urls (including file: urls)
2483
2484         * WebCore.base.exp:
2485         * platform/network/ResourceHandle.cpp:
2486         (WebCore::ResourceHandle::shouldContentSniffURL):
2487         (WebCore::ResourceHandle::forceContentSniffing):
2488         * platform/network/ResourceHandle.h:
2489
2490 2009-05-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2491
2492         Reviewed by Holger Freyther.
2493
2494         https://bugs.webkit.org/show_bug.cgi?id=25996
2495
2496         [Qt] Dead-code stripping for unix
2497
2498         * WebCore.pro: Turn on GCC dead-code stripping flags for Unix
2499
2500 2009-05-10  Holger Hans Peter Freyther  <zecke@selfish.org>
2501
2502         Reviewed by Dave Hyatt.
2503
2504         https://bugs.webkit.org/show_bug.cgi?id=25646
2505
2506         [GTK] Send onscroll events for the main FrameView
2507
2508         WebKit/GTK+ is currently not sending any onscroll
2509         events for a frame with external adjustments. This is
2510         due the fact that the value-changed signal of the GtkAdjustment
2511         is handled by WebCore::ScrollView directly and is not going through
2512         the WebCore::Scrollbar -> WebCore::ScrollbarClient ->
2513         WebCore::FrameView::valueChanged -> WebCore::ScrollView::valueChanged
2514         path.
2515
2516         Fix the above problem by wrapping the GtkAdjustment we get
2517         assigned from GTK+ in a ScrollbarGtk that will not have any
2518         visual appearance. Remove code from ScrollView that knows
2519         about adjustments and create a special case for
2520         WebCore::ScrollView::createScrollbar that will create such
2521         a special WebCore::ScrollbarGtk.
2522
2523         * platform/ScrollView.cpp: Remove adjustment code
2524         (WebCore::ScrollView::setHasHorizontalScrollbar):
2525         (WebCore::ScrollView::setHasVerticalScrollbar):
2526         (WebCore::ScrollView::updateScrollbars):
2527         (WebCore::ScrollView::wheelEvent):
2528         * platform/ScrollView.h: Remove adjustment code
2529         * platform/gtk/ScrollViewGtk.cpp:
2530         (WebCore::ScrollView::platformDestroy):
2531         (WebCore::ScrollView::createScrollbar):
2532         (WebCore::ScrollView::setGtkAdjustments):
2533         * platform/gtk/ScrollbarGtk.cpp:
2534         (ScrollbarGtk::createScrollbar): Special case.
2535         (ScrollbarGtk::ScrollbarGtk):  New ctor and work on the adjustment
2536         (ScrollbarGtk::~ScrollbarGtk): Disconnect signal
2537         (ScrollbarGtk::frameRectsChanged): Do nothing when we lack a platformWidget
2538         * platform/gtk/ScrollbarGtk.h:
2539
2540 2009-05-26  Cameron Zwarich  <zwarich@apple.com>
2541
2542         Reviewed by Maciej Stachowiak.
2543
2544         Bug 26035: Make ImageSource::frameHasAlphaAtIndex() return false for JPEGs with CG
2545         <https://bugs.webkit.org/show_bug.cgi?id=26035>
2546         <rdar://problem/6924087>
2547
2548         * platform/graphics/cg/ImageSourceCG.cpp:
2549         (WebCore::ImageSource::frameHasAlphaAtIndex): return false if the image
2550         is JPEG, there is no image type, or m_decoder is null.
2551
2552 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
2553
2554         Unreviewed build fix for the JPEGImageDecoder.
2555
2556         Revision 44167 removed stdio.h from the included headers and
2557         this will lead to an error that FILE is not known inside the
2558         jpeglib.h Put back the stdio.h include.
2559
2560         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2561
2562 2009-05-26  Yichao Yin  <yichao.yin@torchmobile.com.cn>
2563
2564         Reviewed by Maciej Stachowiak.
2565
2566         Fix the crash issue while running layout tests after enalbed XHTMLMP
2567         https://bugs.webkit.org/show_bug.cgi?id=26017
2568
2569         * dom/Document.cpp:
2570         (WebCore::Document::isXHTMLMPDocument):
2571
2572 2009-05-26  Anders Carlsson  <andersca@apple.com>
2573
2574         Reviewed by Dan Bernstein.
2575
2576         <rdar://problem/6901751> 
2577         REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
2578         
2579         Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable
2580         the improved selection drawing on Tiger.
2581         
2582         * WebCore.Tiger.exp:
2583         * platform/graphics/cg/GraphicsContextCG.cpp:
2584         (WebCore::GraphicsContext::fillPath):
2585         (WebCore::GraphicsContext::strokePath):
2586         (WebCore::GraphicsContext::fillRect):
2587         (WebCore::GraphicsContext::clip):
2588         (WebCore::GraphicsContext::clipOut):
2589         (WebCore::GraphicsContext::clipOutEllipseInRect):
2590         (WebCore::GraphicsContext::clipPath):
2591         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2592         (WebCore::GraphicsContext::strokeRect):
2593         * platform/mac/WebCoreSystemInterface.h:
2594         * platform/mac/WebCoreSystemInterface.mm:
2595         * rendering/RenderBlock.cpp:
2596         (WebCore::RenderBlock::fillSelectionGaps):
2597
2598 2009-05-26  Peter Kasting  <pkasting@google.com>
2599
2600         Reviewed by Eric Seidel.
2601
2602         https://bugs.webkit.org/show_bug.cgi?id=25709 part two
2603         Mostly cosmetic changes, mainly to get image decoders for Cairo build to
2604         comply with WebKit style guidelines:
2605         * Fix header guard names
2606         * Fix initializer list wrapping
2607         * Fix class/function "{" wrapping
2608         * Fix wrapping of long boolean expressions
2609         * Fix whitespace around operators
2610         * Eliminate whitespace on otherwise-blank lines
2611         * No {} on single-line conditional arms
2612         * Use 0 instead of NULL
2613         * Don't #include "config.h" in headers
2614
2615         Also a few non-cosmetic changes:
2616         * Remove unneeded #ifdef protecting the contents of these files.  The
2617           platforms listed don't match who uses these files anymore (even
2618           without considering Skia), and platforms which don't use them at all
2619           (like CG) aren't harmed by the files, since they don't have
2620           equivalently-named classes.  It's simpler to just ditch these.
2621         * Convert a use of Vector<>& into SharedBuffer*, since that's how the
2622           data is really stored anyway.
2623         * Use size() instead of m_size, for consistency with Skia code, and
2624           future-proofing (if a particular decoder wants to specialize this).
2625         * Move an ASSERT that was slightly more aggressive than necessary.
2626         * Change variable names/types for clarity/accuracy and to match Skia.
2627         * Remove unnecessary macro magic to work around a problem which no
2628           longer exists in the third-party JPEG headers.
2629         * Stop silencing a portability warning about setjmp (the vcproj/vsprops
2630           are the right place for this)
2631         * In Skia code, don't explicitly check |m_failed| before calling
2632           isSizeAvailable(), which itself checks |m_failed|.
2633
2634         * platform/image-decoders/ImageDecoder.h: Fix header guards, "{" wrapping.
2635         (WebCore::RGBA32Buffer::):
2636         (WebCore::RGBA32Buffer::RGBA32Buffer): Fix initializer list wrapping.
2637         (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
2638         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Remove unneeded #ifdef.
2639         * platform/image-decoders/bmp/BMPImageDecoder.h: Fix header guards, "{" wrapping.
2640         * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove unneeded #ifdef, fix "{" wrapping.
2641         (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): Use an initializer instead of a block-level statement.
2642         (WebCore::GIFImageDecoderPrivate::decode): Expect a SharedBuffer.
2643         (WebCore::GIFImageDecoderPrivate::getColorMap):
2644         (WebCore::GIFImageDecoder::GIFImageDecoder): Fix initializer list wrapping.
2645         (WebCore::GIFImageDecoder::frameCount): Add comment.
2646         (WebCore::GIFImageDecoder::frameBufferAtIndex): Explicitly cast, fix whitespace around operators.
2647         (WebCore::GIFImageDecoder::decode): Pass a SharedBuffer.
2648         (WebCore::GIFImageDecoder::initFrameBuffer): Use size() instead of m_size, move ASSERT, fix boolean wrapping, fix indenting.
2649         (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): Use size() instead of m_size.
2650         (WebCore::GIFImageDecoder::haveDecodedRow): Use size() instead of m_size, eliminate unneeded whitespace, change variable name.
2651         (WebCore::GIFImageDecoder::frameComplete): Use size() instead of m_size, no {} on single-line conditional arms, fix boolean wrapping.
2652         * platform/image-decoders/gif/GIFImageDecoder.h: Fix header guards, "{" wrapping.
2653         * platform/image-decoders/gif/GIFImageReader.cpp: Remove unneeded #ifdef.
2654         (GIFImageReader::read):
2655         * platform/image-decoders/gif/GIFImageReader.h: Fix header guards, change variable type.
2656         * platform/image-decoders/ico/ICOImageDecoder.cpp: Remove unneeded #ifdef.
2657         * platform/image-decoders/ico/ICOImageDecoder.h: Fix header guards, "{" wrapping.
2658         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove unneeded #ifdef, macro magic, silencing of warning.
2659         (WebCore::JPEGImageDecoder::outputScanlines): Use size() instead of m_size, change variable name.
2660         * platform/image-decoders/jpeg/JPEGImageDecoder.h: Fix header guards, "{" wrapping.
2661         * platform/image-decoders/png/PNGImageDecoder.cpp: Remove unneeded #ifdef, silencing of warning, change variable type.
2662         (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
2663         (WebCore::PNGImageReader::close): Add comment, zero another member for consistency.
2664         (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
2665         (WebCore::PNGImageDecoder::decodingFailed): Define in .cpp, not .h.
2666         (WebCore::PNGImageDecoder::rowAvailable):
2667         * platform/image-decoders/png/PNGImageDecoder.h: Fix header guards, "{" wrapping.
2668         * platform/image-decoders/skia/GIFImageDecoder.cpp:
2669         (WebCore::GIFImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
2670         (WebCore::GIFImageDecoder::frameBufferAtIndex): Fix whitespace around operators.
2671         * platform/image-decoders/skia/GIFImageReader.h: "unsigned" is sufficient to convey "unsigned int".
2672         * platform/image-decoders/skia/ImageDecoder.h: Remove unnecessary #includes.
2673         (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
2674         * platform/image-decoders/skia/JPEGImageDecoder.cpp:
2675         (WebCore::JPEGImageReader::JPEGImageReader): Use 0 instead of NULL.
2676         (WebCore::JPEGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
2677         * platform/image-decoders/skia/PNGImageDecoder.cpp:
2678         (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
2679         (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
2680         (WebCore::PNGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
2681         (WebCore::rowAvailable):
2682         * platform/image-decoders/skia/XBMImageDecoder.h: Don't #include config.h.
2683         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Remove unneeded #ifdef.
2684         * platform/image-decoders/xbm/XBMImageDecoder.h: Fix header guards, "{" wrapping.
2685
2686 2009-05-26  Jian Li  <jianli@chromium.org>
2687
2688         Reviewed by Dimitri Glazkov.
2689
2690         https://bugs.webkit.org/show_bug.cgi?id=25944
2691         Remove the uses of V8 Locker in worker execution code. No additional test is needed.
2692         The normal WebKit layout tests should cover it. However, layout tests that start
2693         multiple workers will fail to pass due to test shell limitation in Chromium. To cover
2694         this, UI tests will be added (http://code.google.com/p/chromium/issues/detail?id=12554).
2695
2696         * bindings/v8/V8WorkerContextEventListener.cpp:
2697         (WebCore::V8WorkerContextEventListener::handleEvent):
2698         * bindings/v8/WorkerContextExecutionProxy.cpp:
2699         (WebCore::WorkerContextExecutionProxy::dispose):
2700         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2701         (WebCore::WorkerContextExecutionProxy::evaluate):
2702         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
2703         (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
2704
2705 2009-05-26  Dmitry Titov  <dimich@chromium.org>
2706
2707         Reviewed by Dimitri Glazkov.
2708
2709         https://bugs.webkit.org/show_bug.cgi?id=25974
2710         Enable timers in Chromuim workers.
2711
2712         * bindings/v8/ScheduledAction.cpp:
2713         (WebCore::ScheduledAction::execute): Added function which can execute a callback using WorkerContext.
2714         * bindings/v8/ScheduledAction.h:
2715         (WebCore::ScheduledAction::ScheduledAction): added url parameter to capture the worker's location.
2716         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2717         (WebCore::SetTimeoutOrInterval): replaced NotImplemented with code to create ScheduledAction and DOMTimer.
2718         Also, removed declarations for clearTimeout/clearInterval callbacks since they are now directly generated from IDL.
2719
2720 2009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
2721
2722         Unreviewed, build fix.
2723
2724         https://bugs.webkit.org/show_bug.cgi?id=23649
2725         Update V8 bindings to match SQLTransactionErrorCallback change.
2726
2727         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2728         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): Changed to return void.
2729         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Ditto.
2730
2731 2009-05-26  Dirk Schulze  <krit@webkit.org>
2732
2733         Reviewed by Nikolas Zimmermann.
2734
2735         Move FilterEffect to platform/graphics/filters. First step to get an
2736         SVG independent filter system.
2737
2738         * GNUmakefile.am:
2739         * WebCore.pro:
2740         * WebCore.xcodeproj/project.pbxproj:
2741         * platform/graphics/filters/FilterEffect.cpp: Added.
2742         (WebCore::FilterEffect::FilterEffect):
2743         (WebCore::FilterEffect::~FilterEffect):
2744         (WebCore::FilterEffect::externalRepresentation):
2745         * platform/graphics/filters/FilterEffect.h: Added.
2746         (WebCore::FilterEffect::xBoundingBoxMode):
2747         (WebCore::FilterEffect::setXBoundingBoxMode):
2748         (WebCore::FilterEffect::yBoundingBoxMode):
2749         (WebCore::FilterEffect::setYBoundingBoxMode):
2750         (WebCore::FilterEffect::widthBoundingBoxMode):
2751         (WebCore::FilterEffect::setWidthBoundingBoxMode):
2752         (WebCore::FilterEffect::heightBoundingBoxMode):
2753         (WebCore::FilterEffect::setHeightBoundingBoxMode):
2754         (WebCore::FilterEffect::subRegion):
2755         (WebCore::FilterEffect::setSubRegion):
2756         (WebCore::FilterEffect::resultImage):
2757         (WebCore::FilterEffect::setEffectBuffer):
2758         * svg/FilterEffect.cpp: Removed.
2759         * svg/FilterEffect.h: Removed.
2760
2761 2009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
2762
2763         Reviewed by Maciej Stachowiak.
2764
2765         https://bugs.webkit.org/show_bug.cgi?id=23649
2766         Update SQLTransactionErrorCallback to not return a value per changes in
2767         HTML5 spec.
2768
2769         Test: storage/transaction-error-callback.html
2770
2771         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2772         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2773         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2774         * storage/SQLTransaction.cpp:
2775         (WebCore::SQLTransaction::SQLTransaction):
2776         (WebCore::SQLTransaction::postflightAndCommit):
2777         (WebCore::SQLTransaction::handleTransactionError):
2778         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
2779         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
2780         * storage/SQLTransaction.h:
2781         * storage/SQLTransactionErrorCallback.h:
2782
2783 2009-05-26  David Hyatt  <hyatt@apple.com>
2784
2785         Reviewed by Darin Adler.
2786
2787         Fix for https://bugs.webkit.org/show_bug.cgi?id=25969
2788
2789         Detect the case where we can fit without scrollbars when the view shrinks, so that we don't mistakenly
2790         continue to show scrollbars.
2791
2792         Added two tests in fast/dynamic.
2793
2794         * platform/ScrollView.cpp:
2795         (WebCore::ScrollView::updateScrollbars):
2796
2797 2009-05-26  Chris Fleizach  <cfleizach@apple.com>
2798
2799         Reviewed by Mark Rowe.
2800
2801         Bug 25801: change AccessibilityAria -> AccessibilityARIA
2802         https://bugs.webkit.org/show_bug.cgi?id=25801
2803
2804         * GNUmakefile.am:
2805         * WebCore.order:
2806         * WebCore.pro:
2807         * WebCore.vcproj/WebCore.vcproj:
2808         * WebCore.xcodeproj/project.pbxproj:
2809         * WebCoreSources.bkl:
2810         * accessibility/AXObjectCache.cpp:
2811         (WebCore::AXObjectCache::getOrCreate):
2812         * accessibility/AccessibilityARIAGrid.cpp: Copied from WebCore/accessibility/AccessibilityAriaGrid.cpp.
2813         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
2814         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
2815         (WebCore::AccessibilityARIAGrid::create):
2816         (WebCore::AccessibilityARIAGrid::addChild):
2817         (WebCore::AccessibilityARIAGrid::addChildren):
2818         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
2819         * accessibility/AccessibilityARIAGrid.h: Copied from WebCore/accessibility/AccessibilityAriaGrid.h.
2820         * accessibility/AccessibilityARIAGridCell.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridCell.cpp.
2821         (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
2822         (WebCore::AccessibilityARIAGridCell::~AccessibilityARIAGridCell):
2823         (WebCore::AccessibilityARIAGridCell::create):
2824         (WebCore::AccessibilityARIAGridCell::parentTable):
2825         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2826         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2827         * accessibility/AccessibilityARIAGridCell.h: Copied from WebCore/accessibility/AccessibilityAriaGridCell.h.
2828         * accessibility/AccessibilityARIAGridRow.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridRow.cpp.
2829         (WebCore::AccessibilityARIAGridRow::AccessibilityARIAGridRow):
2830         (WebCore::AccessibilityARIAGridRow::~AccessibilityARIAGridRow):
2831         (WebCore::AccessibilityARIAGridRow::create):
2832         (WebCore::AccessibilityARIAGridRow::parentTable):
2833         (WebCore::AccessibilityARIAGridRow::headerObject):
2834         * accessibility/AccessibilityARIAGridRow.h: Copied from WebCore/accessibility/AccessibilityAriaGridRow.h.
2835         * accessibility/AccessibilityAriaGrid.cpp: Removed.
2836         * accessibility/AccessibilityAriaGrid.h: Removed.
2837         * accessibility/AccessibilityAriaGridCell.cpp: Removed.
2838         * accessibility/AccessibilityAriaGridCell.h: Removed.
2839         * accessibility/AccessibilityAriaGridRow.cpp: Removed.
2840         * accessibility/AccessibilityAriaGridRow.h: Removed.
2841
2842 2009-05-26  Stephen White  <senorblanco@chromium.org>
2843
2844         Reviewed by Dimitri Glazkov.
2845
2846         https://bugs.webkit.org/show_bug.cgi?id=26012
2847
2848         Fix the Skia path to normalize the given source rect when
2849         drawing patterns, so it accepts negative width/height (as CG does).
2850         Fixes Chromium bug http://www.crbug.com/6167.
2851         * platform/graphics/skia/ImageSkia.cpp:
2852         (WebCore::Image::drawPattern):
2853
2854 2009-05-26  Pavel Feldman  <pfeldman@chromium.org>
2855
2856         Reviewed by Timothy Hatcher.
2857
2858         Serialize calls to WebInspector. This is the first step where method 
2859         calls are being serialized to arrays (not yet JSON stringified ones) and 
2860         are being dispatched on the client. This change also allows client to override 
2861         InspectorFrontend, so that the serialized calls can be made on a given object
2862         instead of in-process WebInspector global. This will be the main control flow
2863         when InspectorController is decoupled from the in-process frontend.
2864
2865         https://bugs.webkit.org/show_bug.cgi?id=26010
2866
2867         * inspector/InspectorController.cpp:
2868         (WebCore::InspectorController::scriptObjectReady):
2869         (WebCore::InspectorController::overrideFrontendObject):
2870         (WebCore::InspectorController::show):
2871         (WebCore::InspectorController::populateScriptObjects):
2872         * inspector/InspectorController.h:
2873         * inspector/InspectorFrontend.cpp:
2874         (WebCore::InspectorFrontend::addMessageToConsole):
2875         (WebCore::InspectorFrontend::addResource):
2876         (WebCore::InspectorFrontend::updateResource):
2877         (WebCore::InspectorFrontend::removeResource):
2878         (WebCore::InspectorFrontend::updateFocusedNode):
2879         (WebCore::InspectorFrontend::setAttachedWindow):
2880         (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
2881         (WebCore::InspectorFrontend::showPanel):
2882         (WebCore::InspectorFrontend::populateInterface):
2883         (WebCore::InspectorFrontend::reset):
2884         (WebCore::InspectorFrontend::debuggerWasEnabled):
2885         (WebCore::InspectorFrontend::debuggerWasDisabled):
2886         (WebCore::InspectorFrontend::profilerWasEnabled):
2887         (WebCore::InspectorFrontend::profilerWasDisabled):
2888         (WebCore::InspectorFrontend::parsedScriptSource):
2889         (WebCore::InspectorFrontend::failedToParseScriptSource):
2890         (WebCore::InspectorFrontend::addProfile):
2891         (WebCore::InspectorFrontend::setRecordingProfile):
2892         (WebCore::InspectorFrontend::pausedScript):
2893         (WebCore::InspectorFrontend::resumedScript):
2894         (WebCore::InspectorFrontend::addDatabase):
2895         (WebCore::InspectorFrontend::addDOMStorage):
2896         (WebCore::InspectorFrontend::newFunctionCall):
2897         (WebCore::InspectorFrontend::callSimpleFunction):
2898         * inspector/InspectorFrontend.h:
2899         * inspector/front-end/inspector.js:
2900         (WebInspector.dispatch):
2901
2902 2009-05-25  Alexey Proskuryakov  <ap@webkit.org>
2903
2904         Reviewed by Darin Adler.
2905
2906         <rdar://problem/6918671> REGRESSION (r41700): Crashes in debug DumpRenderTree at RefCountedBase::ref().
2907
2908         * dom/QualifiedName.cpp: (WebCore::QualifiedName::QualifiedName):
2909         * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2910         Adjust empty namespace before QNameComponentsTranslator black magic, not after.
2911
2912 2009-05-25  David Levin  <levin@chromium.org>
2913
2914         Reviewed by Maciej Stachowiak and Oliver Hunt.
2915
2916         Added forwarding headers.
2917
2918         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
2919         * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
2920
2921 2009-05-25  Anders Carlsson  <andersca@apple.com>
2922
2923         Reviewed by Sam Weinig.
2924
2925         - WebCore side of <rdar://problem/6914001>.
2926
2927         Add a new m_allowPopupsFromPlugin flag.
2928         
2929         * bindings/js/ScriptController.cpp:
2930         (WebCore::ScriptController::ScriptController):
2931         (WebCore::ScriptController::processingUserGesture):
2932         * bindings/js/ScriptController.h:
2933         (WebCore::ScriptController::setAllowPopupsFromPlugin):
2934         (WebCore::ScriptController::allowPopupsFromPlugin):
2935
2936 2009-05-25  Adam Barth  <abarth@webkit.org>
2937
2938         Reviewed by Sam Weinig.
2939
2940         https://bugs.webkit.org/show_bug.cgi?id=26006
2941
2942         Sort out our use of dynamicGlobalObject and lexicalGlobalObject for
2943         window.location.  The correct use appears to be as follows:
2944
2945         1) Use dynamicGlobalObject to find the user gesture.
2946         2) Use dynamicGlobalObject to complete URLs.
2947         3) Use lexicalGlobalObject to find the referrer.
2948         4) Use lexicalGlobalObject for the frame navigation checks.
2949         5) Use lexicalGlobalObject for the XSS checks.
2950
2951         Tests: http/tests/security/frameNavigation/context-for-location-assign.html
2952                http/tests/security/frameNavigation/context-for-location-href.html
2953                http/tests/security/frameNavigation/context-for-location.html
2954
2955         * bindings/js/JSDOMBinding.cpp:
2956         (WebCore::shouldAllowNavigation):
2957         (WebCore::toLexicalFrame):
2958         (WebCore::processingUserGesture):
2959         (WebCore::completeURL):
2960         * bindings/js/JSDOMBinding.h:
2961         * bindings/js/JSDOMWindowCustom.cpp:
2962         (WebCore::JSDOMWindow::setLocation):
2963         * bindings/js/JSLocationCustom.cpp:
2964         (WebCore::navigateIfAllowed):
2965         (WebCore::JSLocation::setHref):
2966         (WebCore::JSLocation::replace):
2967         (WebCore::JSLocation::reload):
2968         (WebCore::JSLocation::assign):
2969         (WebCore::JSLocation::toString):
2970         (WebCore::JSLocationPrototype::customPut):
2971         * bindings/v8/V8Utilities.cpp:
2972         (WebCore::processingUserGesture):
2973         (WebCore::shouldAllowNavigation):
2974         (WebCore::completeURL):
2975         (WebCore::navigateIfAllowed):
2976         * bindings/v8/V8Utilities.h:
2977         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2978         (WebCore::V8Custom::WindowSetLocation):
2979         * bindings/v8/custom/V8LocationCustom.cpp:
2980         (WebCore::ACCESSOR_SETTER):
2981         (WebCore::CALLBACK_FUNC_DECL):
2982
2983 2009-05-25  Fridrich Strba  <fridrich.strba@bluewin.ch>
2984
2985         Reviewed by Maciej Stachowiak.
2986
2987         With Windows compilers older then MSVC 2005, the functions
2988         gmtime_s and localtime_s don't exist. The gmtime and localtime are
2989         on Windows always thread safe. So use them in the cases where
2990         gmtime_s and localtime_s are not present.
2991
2992         * loader/FTPDirectoryDocument.cpp:
2993         * loader/FTPDirectoryParser.cpp:
2994
2995 2009-05-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2996
2997         Reviewed by Simon Hausmann.
2998
2999         Follow up on r44120. PluginPackageMac.cpp is used
3000         by Qt on Mac and contained a copy of the m_browserFunc
3001         assignments and ::equal, ::hash and ::compareFileVersion.
3002         Change it to use the ones from PluginPackage.cpp as well.
3003
3004         * plugins/mac/PluginPackageMac.cpp:
3005         (WebCore::PluginPackage::load):
3006
3007 2009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
3008
3009         Reviewed by Tor Arne Vestbø.
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=25612
3012
3013         Support conditionals in the tag factories, by placing
3014         feature #ifdefs around the individual factory functions
3015         and the registration.
3016
3017         Made the Audio and Video elements conditional in the tag factories
3018
3019         * html/HTMLTagNames.in:
3020         * dom/make_names.pl:
3021
3022 2009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
3023
3024         Fix the Gtk build when video is disabled.
3025
3026         * GNUmakefile.am: Always generate and compile the IDL files for the media
3027         elements. They contain proper feature #ifdefs.
3028
3029 2009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
3030
3031         Fix the Qt build when video is disabled.
3032
3033         * WebCore.pro: Always generate the IDL files for the media elements. They
3034         contain proper ENABLE(VIDEO) #ifdefs.
3035
3036 2009-05-25  Adam Barth  <abarth@webkit.org>
3037
3038         Reviewed by Maciej Stachowiak.
3039
3040         https://bugs.webkit.org/show_bug.cgi?id=26004
3041
3042         The origin for postMessage should follow lexical scope, not dynamic
3043         scope.  Yes, this is a super-obscure corner case.
3044
3045         Test: http/tests/security/postMessage/origin-follows-lexical-scope.html
3046
3047         * bindings/js/JSDOMWindowCustom.cpp:
3048         (WebCore::JSDOMWindow::postMessage):
3049         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3050         (WebCore::CALLBACK_FUNC_DECL):
3051
3052 2009-05-24  Darin Fisher  <darin@chromium.org>
3053
3054         Reviewed by Mark Rowe.
3055
3056         Fix build bustage related to PassOwnPtr changes.
3057
3058         https://bugs.webkit.org/show_bug.cgi?id=25999
3059
3060         * platform/graphics/chromium/TransparencyWin.cpp:
3061
3062 2009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3063
3064         Reviewed by Maciej Stachowiak.
3065
3066         https://bugs.webkit.org/show_bug.cgi?id=25988
3067
3068         Minor cleanup in PluginPackage::hash. Let the compiler
3069         figure out the size of the array. Do not have it in the
3070         definition and specially not the in the call to
3071         StringImpl::hash.
3072
3073         * plugins/PluginPackage.cpp:
3074         (WebCore::PluginPackage::hash):
3075
3076 2009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3077
3078         Reviewed by Maciej Stachowiak.
3079
3080         https://bugs.webkit.org/show_bug.cgi?id=25988
3081
3082         Move ::hash, ::equal and ::compareFileVersion from
3083         the duplicated copies in PluginPackageQt.cpp and
3084         PluginPackageGtk to PluginPackage.cpp. We need to #ifdef
3085         this for the PluginPackageWin version. Use the new style
3086         ENABLE() for this feature/policy and enable it in the Gtk+
3087         and Qt buildsystem.
3088
3089         * GNUmakefile.am:
3090         * WebCore.pro:
3091         * plugins/PluginPackage.cpp:
3092         (WebCore::PluginPackage::hash):
3093         (WebCore::PluginPackage::equal):
3094         (WebCore::PluginPackage::compareFileVersion):
3095         * plugins/gtk/PluginPackageGtk.cpp:
3096         * plugins/qt/PluginPackageQt.cpp:
3097
3098 2009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3099
3100         Reviewed by Maciej Stachowiak.
3101
3102         https://bugs.webkit.org/show_bug.cgi?id=25988
3103
3104         So far the initialization of the browserfuncs struct
3105         is done in PluginPackageQt, PluginPackageGtk and
3106         PluginPackageWin there is no need for this duplication.
3107
3108         The PluginPackageWin version got copied to PluginPackage
3109
3110         * plugins/PluginPackage.cpp:
3111         (WebCore::PluginPackage::initializeBrowserFuncs):
3112         * plugins/PluginPackage.h:
3113         * plugins/gtk/PluginPackageGtk.cpp:
3114         (WebCore::PluginPackage::load):
3115         * plugins/qt/PluginPackageQt.cpp:
3116         (WebCore::PluginPackage::load):
3117         * plugins/win/PluginPackageWin.cpp:
3118         (WebCore::PluginPackage::load):
3119
3120 2009-05-24  Dirk Schulze  <krit@webkit.org>
3121
3122         Reviewed by Nikolas Zimmermann.
3123
3124         WebKit needs cross-platform filter system
3125         [https://bugs.webkit.org/show_bug.cgi?id=19991]
3126
3127         Added standard input for filter system.
3128
3129         No testcases were added. Filter system is still off.
3130
3131         * GNUmakefile.am:
3132         * WebCore.pro:
3133         * WebCore.xcodeproj/project.pbxproj:
3134         * platform/graphics/filters/SourceAlpha.cpp: Added.
3135         (WebCore::SourceAlpha::create):
3136         (WebCore::SourceAlpha::effectName):
3137         (WebCore::SourceAlpha::apply):
3138         (WebCore::SourceAlpha::dump):
3139         * platform/graphics/filters/SourceAlpha.h: Added.
3140         (WebCore::SourceAlpha::SourceAlpha):
3141         * platform/graphics/filters/SourceGraphic.cpp: Added.
3142         (WebCore::SourceGraphic::create):
3143         (WebCore::SourceGraphic::effectName):
3144         (WebCore::SourceGraphic::apply):
3145         (WebCore::SourceGraphic::dump):
3146         * platform/graphics/filters/SourceGraphic.h: Added.
3147         (WebCore::SourceGraphic::SourceGraphic):
3148         * svg/FilterBuilder.cpp: Added.
3149         (WebCore::FilterBuilder::FilterBuilder):
3150         (WebCore::FilterBuilder::add):
3151         (WebCore::FilterBuilder::getEffectById):
3152         (WebCore::FilterBuilder::clearEffects):
3153         * svg/FilterBuilder.h:
3154
3155 2009-05-24  Simon Hausmann  <simon.hausmann@nokia.com>
3156
3157         Reviewed by Maciej Stachowiak.
3158
3159         https://bugs.webkit.org/show_bug.cgi?id=25612
3160
3161         Add support conditionals in the JSC bindings generator code for attributes,
3162         by placing feature #ifdefs around the setters/getters.
3163
3164         Made the audio and video element specific DOM attributes conditional
3165         in the generated code, by moving the #ifdefs from the IDL files into
3166         the generated code. This allows for re-using the same generated code
3167         with or without ENABLE(VIDEO).
3168
3169         * page/DOMWindow.idl:
3170         * bindings/scripts/CodeGeneratorJS.pm:
3171
3172 2009-05-23  Holger Hans Peter Freyther  <zecke@selfish.org>
3173
3174         Unreviewed build fix for Qt. Change signature to have PassOwnPtr.
3175
3176         * platform/text/qt/TextCodecQt.cpp:
3177         (WebCore::newTextCodecQt):
3178
3179 2009-05-23  Dan Bernstein  <mitz@apple.com>
3180
3181         Reviewed by Darin Adler.
3182
3183         - clean up ColorMac a little
3184
3185         * platform/graphics/mac/ColorMac.h: Whitespace change.
3186         * platform/graphics/mac/ColorMac.mm: Removed redundant #import
3187         statements and sorted the remaining ones.
3188         (WebCore::makeRGBAFromNSColor): Replaced four Objective-C method calls
3189         with a single call and removed redundant casts to int.
3190         (WebCore::nsColor): Removed ".0f" from number literals used as CGFloats.
3191         In one case, this avoids an intermediate conversion to float before
3192         conversion to double on 64-bit.
3193         (WebCore::CGColorFromNSColor): Replaced four Objective-C method calls
3194         with a single call.
3195         (WebCore::focusRingColor):
3196         (+[WebCoreControlTintObserver controlTintDidChange]): Whitespace change.
3197
3198 2009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
3199
3200         Reviewed by Xan Lopez.
3201
3202         [Gtk] ROLE_ROW_HEADER should not be used for list item bullets/numbers
3203         https://bugs.webkit.org/show_bug.cgi?id=25900
3204
3205         Use ATK_ROLE_TEXT for ListMarkerRole.
3206
3207         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3208         (atkRole):
3209
3210 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3211
3212         Reformat WebCore::requiresContextForWordBoundary()
3213
3214         * platform/text/TextBoundaries.h:
3215         (WebCore::requiresContextForWordBoundary):
3216
3217 2009-05-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3218
3219         Not reviewed. Roll out ResourceHandle patch, that I accidently included in my last commit.
3220
3221         * platform/network/ResourceHandle.cpp:
3222         (WebCore::ResourceHandle::shouldContentSniffURL):
3223
3224 2009-05-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3225
3226         Reviewed by Darin Adler.
3227
3228         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23808
3229
3230         After a long journey, add the last missing ABC to share form control element support with HTMLSelectElement.
3231         RenderListBox/RenderMenuList operates on SelectElement instead of HTMLSelectElement now, querying selected index etc.
3232         This makes it possible to use these render objects for ie. WML, as it's done before for input & option elements.
3233
3234         WMLSelectElement will be created soon, in a follow-up patch, adding more methods to SelectElement, sharing code between
3235         HTMLSelectElement/WMLSelectElement.
3236
3237         * GNUmakefile.am:
3238         * WebCore.pro:
3239         * WebCore.vcproj/WebCore.vcproj:
3240         * WebCore.xcodeproj/project.pbxproj:
3241         * WebCoreSources.bkl:
3242         * accessibility/AccessibilityListBox.cpp:
3243         (WebCore::AccessibilityListBox::addChildren):
3244         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
3245         * accessibility/AccessibilityListBoxOption.cpp:
3246         (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
3247         * accessibility/AccessibilityRenderObject.cpp:
3248         (WebCore::AccessibilityRenderObject::actionElement):
3249         * dom/Element.h:
3250         (WebCore::Element::isFormControlElement):
3251         (WebCore::Element::dispatchFormControlChangeEvent):
3252         * dom/SelectElement.cpp: Added.
3253         (WebCore::toSelectElement):
3254         * dom/SelectElement.h: Added.
3255         (WebCore::SelectElement::~SelectElement):
3256         * html/HTMLFormControlElement.cpp:
3257         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
3258         * html/HTMLFormControlElement.h:
3259         * html/HTMLInputElement.cpp:
3260         (WebCore::HTMLInputElement::setChecked):
3261         (WebCore::HTMLInputElement::defaultEventHandler):
3262         * html/HTMLOptionElement.cpp:
3263         (WebCore::HTMLOptionElement::index):
3264         * html/HTMLSelectElement.cpp:
3265         (WebCore::HTMLSelectElement::selectedIndex):
3266         (WebCore::HTMLSelectElement::lastSelectedListIndex):
3267         (WebCore::HTMLSelectElement::deselectItems):
3268         (WebCore::HTMLSelectElement::setSelectedIndex):
3269         (WebCore::HTMLSelectElement::length):
3270         (WebCore::HTMLSelectElement::remove):
3271         (WebCore::HTMLSelectElement::value):
3272         (WebCore::HTMLSelectElement::setValue):
3273         (WebCore::HTMLSelectElement::saveFormControlState):
3274         (WebCore::HTMLSelectElement::restoreFormControlState):
3275         (WebCore::HTMLSelectElement::selectAll):
3276         (WebCore::HTMLSelectElement::appendFormData):
3277         (WebCore::HTMLSelectElement::optionToListIndex):
3278         (WebCore::HTMLSelectElement::listToOptionIndex):
3279         (WebCore::HTMLSelectElement::recalcListItems):
3280         (WebCore::HTMLSelectElement::reset):
3281         (WebCore::HTMLSelectElement::dispatchFocusEvent):
3282         (WebCore::HTMLSelectElement::dispatchBlurEvent):
3283         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3284         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3285         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
3286         (WebCore::HTMLSelectElement::updateListBoxSelection):
3287         (WebCore::HTMLSelectElement::menuListOnChange):
3288         (WebCore::HTMLSelectElement::listBoxOnChange):
3289         (WebCore::HTMLSelectElement::saveLastSelection):
3290         (WebCore::HTMLSelectElement::typeAheadFind):
3291         (WebCore::HTMLSelectElement::nextSelectableListIndex):
3292         (WebCore::HTMLSelectElement::previousSelectableListIndex):
3293         (WebCore::HTMLSelectElement::setLength):
3294         (WebCore::HTMLSelectElement::checkListItems):
3295         * html/HTMLSelectElement.h:
3296         (WebCore::HTMLSelectElement::size):
3297         (WebCore::HTMLSelectElement::multiple):
3298         (WebCore::HTMLSelectElement::listItems):
3299         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
3300         * platform/network/ResourceHandle.cpp:
3301         (WebCore::ResourceHandle::shouldContentSniffURL):
3302         * rendering/RenderFileUploadControl.cpp:
3303         (WebCore::RenderFileUploadControl::valueChanged):
3304         * rendering/RenderListBox.cpp:
3305         (WebCore::RenderListBox::RenderListBox):
3306         (WebCore::RenderListBox::updateFromElement):
3307         (WebCore::RenderListBox::scrollToRevealSelection):
3308         (WebCore::RenderListBox::size):
3309         (WebCore::RenderListBox::numItems):
3310         (WebCore::RenderListBox::paintItemForeground):
3311         (WebCore::RenderListBox::paintItemBackground):
3312         (WebCore::RenderListBox::panScroll):
3313         (WebCore::RenderListBox::autoscroll):
3314         (WebCore::RenderListBox::stopAutoscroll):
3315         (WebCore::RenderListBox::valueChanged):
3316         (WebCore::RenderListBox::nodeAtPoint):
3317         * rendering/RenderListBox.h:
3318         * rendering/RenderMenuList.cpp:
3319         (WebCore::RenderMenuList::RenderMenuList):
3320         (WebCore::RenderMenuList::updateOptionsWidth):
3321         (WebCore::RenderMenuList::updateFromElement):
3322         (WebCore::RenderMenuList::setTextFromOption):
3323         (WebCore::RenderMenuList::showPopup):
3324         (WebCore::RenderMenuList::valueChanged):
3325         (WebCore::RenderMenuList::itemText):
3326         (WebCore::RenderMenuList::itemIsEnabled):
3327         (WebCore::RenderMenuList::itemStyle):
3328         (WebCore::RenderMenuList::itemBackgroundColor):
3329         (WebCore::RenderMenuList::listSize):
3330         (WebCore::RenderMenuList::selectedIndex):
3331         (WebCore::RenderMenuList::itemIsSeparator):
3332         (WebCore::RenderMenuList::itemIsLabel):
3333         (WebCore::RenderMenuList::itemIsSelected):
3334         (WebCore::RenderMenuList::setTextFromItem):
3335         * rendering/RenderMenuList.h:
3336         * rendering/RenderSlider.cpp:
3337         (WebCore::RenderSlider::setValueForPosition):
3338
3339 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3340
3341         Fix Gtk/Qt builds for PassOwnPtr
3342
3343         * platform/graphics/cairo/ImageCairo.cpp:
3344         (WebCore::Image::drawPattern): Use an OwnPtr<ImageBuffer>
3345         instead of an std::auto_ptr<ImageBuffer> to store the result of
3346         ImageBuffer::create() now that it returns a
3347         PassOwnPtr<ImageBuffer>.
3348         * platform/graphics/qt/PathQt.cpp:
3349         (WebCore::Path::strokeContains): Ditto.
3350         (WebCore::Path::strokeBoundingRect): Ditto.
3351
3352 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3353
3354         Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
3355
3356         <https://bugs.webkit.org/show_bug.cgi?id=25495>
3357
3358         Reviewed by Oliver Hunt.
3359
3360         No test cases added since there is no change in behavior.
3361
3362         * WebCore.base.exp: Updated export for
3363         HistoryItem::setRedirectURLs() which now takes a PassOwnPtr.
3364         * dom/Node.cpp:
3365         (WebCore::Node::childNodes): Use NodeListsNodeData::create()
3366         instead of new NodeListsNodeData.
3367         (WebCore::Node::registerDynamicNodeList): Ditto.
3368         (WebCore::Node::getElementsByTagNameNS): Ditto.
3369         (WebCore::Node::getElementsByName): Ditto.
3370         (WebCore::Node::getElementsByClassName): Ditto.
3371         * dom/NodeRareData.h:
3372         (WebCore::NodeListsNodeData::create): Added.  Implements
3373         create() pattern popularized by RefCounted classes.
3374         (WebCore::NodeListsNodeData::NodeListsNodeData): Declared
3375         private constructor.
3376         (WebCore::NodeRareData::setNodeLists): Now takes a PassOwnPtr<>
3377         instead of an auto_ptr<>.
3378         * history/HistoryItem.cpp:
3379         (WebCore::HistoryItem::setRedirectURLs): Ditto.
3380         * history/HistoryItem.h:
3381         (WebCore::HistoryItem::setRedirectURLs): Ditto.
3382         * html/CanvasRenderingContext2D.cpp:
3383         (WebCore::CanvasRenderingContext2D::drawTextInternal): Use
3384         OwnPtr<> instead of auto_ptr<> for stack variable.
3385         * html/HTMLCanvasElement.cpp:
3386         (WebCore::HTMLCanvasElement::createImageBuffer): Updated to use
3387         assignment operator now that ImageBuffer::create() returns a
3388         PassOwnPtr<>.
3389         * loader/EmptyClients.h:
3390         (WebCore::EmptyChromeClient::createHTMLParserQuirks): Return a
3391         PassOwnPtr<> instead of a raw HTMLParserQuirks pointer.
3392         * page/ChromeClient.h:
3393         (WebCore::ChromeClient::createHTMLParserQuirks): Ditto.
3394         * platform/graphics/GeneratedImage.cpp:
3395         (WebCore::GeneratedImage::drawPattern): Use OwnPtr<> instead of
3396         auto_ptr<> for stack variable.
3397         * platform/graphics/ImageBuffer.h:
3398         (WebCore::ImageBuffer::create): Return PassOwnPtr<> instead of
3399         auto_ptr<>.  Use OwnPtr<> instead of auto_ptr<> for stack
3400         variable.
3401         * platform/mac/ScrollbarThemeMac.mm:
3402         (WebCore::ScrollbarThemeMac::paint): Use OwnPtr<> instead of
3403         auto_ptr<> for stack variable.
3404         * platform/text/TextCodec.h:
3405         (WebCore::NewTextCodecFunction): Return PassOwnPtr<> instead of
3406         auto_ptr<>.
3407         * platform/text/TextCodecICU.cpp:
3408         (WebCore::newTextCodecICU): Ditto.
3409         * platform/text/TextCodecLatin1.cpp:
3410         (WebCore::newStreamingTextDecoderWindowsLatin1): Ditto.
3411         * platform/text/TextCodecUTF16.cpp:
3412         (WebCore::newStreamingTextDecoderUTF16LE): Ditto.
3413         (WebCore::newStreamingTextDecoderUTF16BE): Ditto.
3414         * platform/text/TextCodecUserDefined.cpp:
3415         (WebCore::newStreamingTextDecoderUserDefined): Ditto.
3416         * platform/text/TextEncodingRegistry.cpp:
3417         (WebCore::newTextCodec): Ditto.
3418         * platform/text/TextEncodingRegistry.h:
3419         (WebCore::newTextCodec): Ditto.
3420         * platform/text/mac/TextCodecMac.cpp:
3421         (WebCore::newTextCodecMac): Ditto.
3422         * rendering/RenderBoxModelObject.cpp:
3423         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use
3424         OwnPtr<> instead of auto_ptr<> for stack variable.
3425         * svg/SVGMaskElement.cpp:
3426         (WebCore::SVGMaskElement::drawMaskerContent): Ditto.  Return
3427         OwnPtr<> instead of auto_ptr<>.
3428         * svg/SVGMaskElement.h:
3429         (WebCore::SVGMaskElement::drawMaskerContent): Return OwnPtr<>
3430         instead of auto_ptr<>.
3431         * svg/SVGPatternElement.cpp:
3432         (WebCore::SVGPatternElement::buildPattern): Use OwnPtr<> instead
3433         of auto_ptr<> for stack variable.
3434         * svg/graphics/SVGImage.cpp:
3435         (WebCore::SVGImage::nativeImageForCurrentFrame): Updated to use
3436         assignment operator now that ImageBuffer::create() returns a
3437         PassOwnPtr<>.
3438         * svg/graphics/SVGPaintServerGradient.cpp:
3439         (WebCore::createMaskAndSwapContextForTextGradient): Use OwnPtr<>
3440         instead of auto_ptr<> for stack variable.
3441         * svg/graphics/SVGPaintServerPattern.cpp:
3442         (WebCore::SVGPaintServerPattern::setTile): Updated to take a
3443         PassOwnPtr<> instead of an auto_ptr<>.
3444         (WebCore::SVGPaintServerPattern::setup): Use OwnPtr<> instead of
3445         auto_ptr<> for stack variable.
3446         * svg/graphics/SVGPaintServerPattern.h:
3447         (WebCore::SVGPaintServerPattern::setTile): Updated to take a
3448         PassOwnPtr<> instead of an auto_ptr<>.
3449         * svg/graphics/SVGResourceMasker.cpp:
3450         (WebCore::SVGResourceMasker::applyMask): Updated to use
3451         assignment operator now that SVGMaskElement::drawMaskerContent()
3452         returns a PassOwnPtr<>.  Use OwnPtr<> instead of auto_ptr<> for
3453         stack variable.
3454
3455 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3456
3457         Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
3458
3459         <https://bugs.webkit.org/show_bug.cgi?id=25495>
3460
3461         Reviewed by Oliver Hunt.
3462
3463         * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
3464         * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
3465         * WebCore.vcproj/WebCore.vcproj: Added OwnPtrCommon.h and
3466         PassOwnPtr.h.
3467
3468 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3469
3470         Fix Mac builds by backing out r44093
3471
3472         * bindings/js/JSCustomPositionCallback.cpp:
3473         * bindings/js/JSCustomPositionCallback.h:
3474         * bindings/js/JSCustomPositionErrorCallback.cpp:
3475         * bindings/js/JSCustomPositionErrorCallback.h:
3476         * bindings/js/JSGeolocationCustom.cpp:
3477         * page/Geolocation.cpp:
3478         * page/Geolocation.idl:
3479         * page/Geoposition.cpp:
3480         * page/Geoposition.h:
3481         * page/Geoposition.idl:
3482         * page/Navigator.cpp:
3483         (WebCore::Navigator::disconnectFrame):
3484         (WebCore::Navigator::geolocation):
3485         * page/PositionError.idl:
3486         * platform/GeolocationService.cpp:
3487         (WebCore::GeolocationService::create):
3488
3489 2009-05-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3490
3491         Reviewed by Eric Seidel.
3492
3493         Add GEOLOCATION guards around Geolocation API code
3494         https://bugs.webkit.org/show_bug.cgi?id=25756
3495
3496         * bindings/js/JSCustomPositionCallback.cpp:
3497         * bindings/js/JSCustomPositionCallback.h:
3498         * bindings/js/JSCustomPositionErrorCallback.cpp:
3499         * bindings/js/JSCustomPositionErrorCallback.h:
3500         * bindings/js/JSGeolocationCustom.cpp:
3501         * page/Geolocation.cpp:
3502         * page/Geolocation.idl:
3503         * page/Geoposition.cpp:
3504         * page/Geoposition.h:
3505         * page/Geoposition.idl:
3506         * page/Navigator.cpp:
3507         (WebCore::Navigator::disconnectFrame):
3508         (WebCore::Navigator::geolocation):
3509         * page/PositionError.idl:
3510         * platform/GeolocationService.cpp:
3511
3512 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3513
3514         Rename startupdateStyleIfNeededDispatcher to startUpdateStyleIfNeededDispatcher
3515
3516         In r42377, startUpdateRenderingDispatcher() was renamed to
3517         startupdateStyleIfNeededDispatcher(), but the camelCase "U" was
3518         dropped.  This change restores it.
3519
3520         * WebCore.order:
3521         * page/animation/AnimationController.cpp:
3522         (WebCore::AnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):
3523         (WebCore::AnimationControllerPrivate::addEventToDispatch):
3524         (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
3525         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3526         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3527         * page/animation/AnimationControllerPrivate.h:
3528
3529 2009-05-23  Holger Hans Peter Freyther  <zecke@selfish.org>
3530
3531         Unreviewed build-fix for Qt. Disable SVG Filters.
3532
3533         SVG Filters can not be built right now and Qt should not have
3534         them enabled anyway as they do not carry out any filtering.
3535
3536         * WebCore.pro:
3537
3538 2009-05-23  Dirk Schulze  <krit@webkit.org>
3539
3540         Unreviewed build-fix for gtk. Remove source input files
3541         for SVG filter system from the build for the moment and
3542         add them later again.
3543
3544         * GNUmakefile.am:
3545
3546 2009-05-23  Dirk Schulze  <krit@webkit.org>
3547
3548         Reviewed by Eric Seidel.
3549