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