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