14cefd846e7942d5b74a05cc098d438884645f58
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-15  Dirk Schulze  <krit@webkit.org>
2
3         Reviewed by Nikolas Zimmermann.
4
5         carto.net Dock example redraws *way* too often
6         https://bugs.webkit.org/show_bug.cgi?id=16090
7
8         Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
9         Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
10         setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
11         differ, do nothing if not.
12         Also added caching of the repaint rect to avoid multiple calculations.
13
14         Test: svg/custom/repaint-on-constant-size-change.svg
15
16         * rendering/RenderSVGImage.cpp:
17         (WebCore::RenderSVGImage::RenderSVGImage):
18         (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
19         (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
20         * rendering/RenderSVGImage.h:
21         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
22         * svg/SVGImageElement.cpp:
23         (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
24
25 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
26
27         Build fix for GTK+.
28
29         * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
30         in a file that does not include config.h
31
32 2010-10-15  Anders Carlsson  <andersca@apple.com>
33
34         Reviewed by Sam Weinig.
35
36         Add FindIndicatorWindow class
37         https://bugs.webkit.org/show_bug.cgi?id=47731
38
39         Export symbols needed by the FindIndicator in WebKit2.
40
41         * WebCore.exp.in:
42
43 2010-10-15  Leandro Pereira  <leandro@profusion.mobi>
44
45         [EFL] Unreviewed. Build fix.
46
47         Add new files needed by the Soup network backend, and #ifdef a
48         GTK+-port only include in soup-cache.h.
49
50         * CMakeListsEfl.txt:
51         * platform/network/soup/cache/webkit/soup-cache.h:
52
53 2010-10-14  Darin Adler  <darin@apple.com>
54
55         Reviewed by Alexey Proskuryakov.
56
57         Use more specific types for node pointers, especially when calling node insertion and removal functions
58         https://bugs.webkit.org/show_bug.cgi?id=47702
59
60         Refactoring. No new tests.
61
62         While developing this patch I temporarily removed the node insertion and
63         removal member functions from the Node class and fixed almost all call sites
64         so they call it directly on the ContainerNode class, which will be important
65         once we make the functions non-virtual.
66
67         * css/CSSStyleSelector.cpp:
68         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
69         * dom/ContainerNode.cpp:
70         (WebCore::ContainerNode::insertBefore):
71         (WebCore::ContainerNode::replaceChild):
72         (WebCore::ContainerNode::appendChild):
73         * dom/Document.cpp:
74         (WebCore::Document::caretRangeFromPoint):
75         * dom/DynamicNodeList.cpp:
76         (WebCore::DynamicNodeList::itemWithName):
77         * dom/Position.cpp:
78         (WebCore::Position::previous):
79         (WebCore::Position::next):
80         * dom/Text.cpp:
81         (WebCore::Text::replaceWholeText):
82         * dom/TreeWalker.cpp:
83         (WebCore::TreeWalker::firstChild):
84         (WebCore::TreeWalker::lastChild):
85         (WebCore::TreeWalker::previousNode):
86         * dom/XMLDocumentParserLibxml2.cpp:
87         (WebCore::XMLDocumentParser::XMLDocumentParser):
88         * editing/BreakBlockquoteCommand.cpp:
89         (WebCore::BreakBlockquoteCommand::doApply):
90         * editing/CompositeEditCommand.h:
91         * editing/DeleteButtonController.cpp:
92         (WebCore::isDeletableElement):
93         * editing/IndentOutdentCommand.cpp:
94         (WebCore::IndentOutdentCommand::outdentParagraph):
95         * editing/InsertNodeBeforeCommand.cpp:
96         (WebCore::InsertNodeBeforeCommand::doApply):
97         * editing/JoinTextNodesCommand.cpp:
98         (WebCore::JoinTextNodesCommand::doApply):
99         (WebCore::JoinTextNodesCommand::doUnapply):
100         * editing/MergeIdenticalElementsCommand.cpp:
101         (WebCore::MergeIdenticalElementsCommand::doUnapply):
102         * editing/RemoveNodeCommand.cpp:
103         (WebCore::RemoveNodeCommand::doApply):
104         (WebCore::RemoveNodeCommand::doUnapply):
105         * editing/RemoveNodeCommand.h:
106         * editing/SplitElementCommand.cpp:
107         (WebCore::SplitElementCommand::executeApply):
108         * editing/SplitTextNodeCommand.cpp:
109         (WebCore::SplitTextNodeCommand::doApply):
110         (WebCore::SplitTextNodeCommand::doReapply):
111         * editing/TextIterator.cpp:
112         (WebCore::parentCrossingShadowBoundaries):
113         * editing/htmlediting.cpp:
114         (WebCore::enclosingList):
115         * editing/markup.cpp:
116         (WebCore::serializeNodes):
117         (WebCore::ancestorToRetainStructureAndAppearance):
118         (WebCore::createMarkup):
119         * html/HTMLAreaElement.cpp:
120         (WebCore::HTMLAreaElement::updateFocusAppearance):
121         * html/HTMLEmbedElement.cpp:
122         (WebCore::HTMLEmbedElement::rendererIsNeeded):
123         * html/HTMLFormElement.cpp:
124         (WebCore::HTMLFormElement::rendererIsNeeded):
125         * html/HTMLFrameSetElement.cpp:
126         (WebCore::HTMLFrameSetElement::attach):
127         * html/HTMLImageElement.cpp:
128         (WebCore::HTMLImageElement::insertedIntoTree):
129         * html/HTMLLegendElement.cpp:
130         (WebCore::HTMLLegendElement::associatedControl):
131         * html/HTMLOptGroupElement.cpp:
132         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
133         (WebCore::HTMLOptGroupElement::ownerSelectElement):
134         * html/HTMLOptionElement.cpp:
135         (WebCore::HTMLOptionElement::ownerSelectElement):
136         * html/HTMLTableCellElement.cpp:
137         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
138         * html/HTMLTableColElement.cpp:
139         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
140         * html/HTMLTableElement.cpp:
141         (WebCore::HTMLTableElement::insertRow):
142         * html/HTMLTableRowElement.cpp:
143         (WebCore::HTMLTableRowElement::rowIndex):
144         * html/HTMLTableSectionElement.cpp:
145         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
146         * page/DOMSelection.cpp:
147         (WebCore::DOMSelection::getRangeAt):
148         (WebCore::DOMSelection::containsNode):
149         * rendering/RenderSVGGradientStop.cpp:
150         (WebCore::RenderSVGGradientStop::gradientElement):
151         * svg/SVGElement.cpp:
152         (WebCore::SVGElement::ownerSVGElement):
153         (WebCore::SVGElement::viewportElement):
154         * svg/SVGFELightElement.cpp:
155         (WebCore::SVGFELightElement::svgAttributeChanged):
156         (WebCore::SVGFELightElement::childrenChanged):
157         * svg/SVGFEMergeNodeElement.cpp:
158         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
159         * svg/SVGFontFaceFormatElement.cpp:
160         (WebCore::SVGFontFaceFormatElement::childrenChanged):
161         * svg/SVGFontFaceUriElement.cpp:
162         (WebCore::SVGFontFaceUriElement::childrenChanged):
163         * svg/SVGGlyphElement.cpp:
164         (WebCore::SVGGlyphElement::invalidateGlyphCache):
165         * svg/SVGHKernElement.cpp:
166         (WebCore::SVGHKernElement::insertedIntoDocument):
167         (WebCore::SVGHKernElement::removedFromDocument):
168         * svg/SVGLocatable.cpp:
169         (WebCore::SVGLocatable::nearestViewportElement):
170         (WebCore::SVGLocatable::farthestViewportElement):
171         * svg/SVGUseElement.cpp:
172         (WebCore::SVGUseElement::updateContainerOffsets):
173         * svg/SVGVKernElement.cpp:
174         (WebCore::SVGVKernElement::insertedIntoDocument):
175         (WebCore::SVGVKernElement::removedFromDocument):
176         * svg/animation/SVGSMILElement.cpp:
177         (WebCore::SVGSMILElement::targetElement):
178         * wml/WMLDoElement.cpp:
179         (WebCore::WMLDoElement::insertedIntoDocument):
180         (WebCore::WMLDoElement::removedFromDocument):
181         * wml/WMLNoopElement.cpp:
182         (WebCore::WMLNoopElement::insertedIntoDocument):
183         * wml/WMLOptionElement.cpp:
184         (WebCore::ownerSelectElement):
185         * wml/WMLPostfieldElement.cpp:
186         (WebCore::WMLPostfieldElement::insertedIntoDocument):
187         (WebCore::WMLPostfieldElement::removedFromDocument):
188         * wml/WMLSetvarElement.cpp:
189         (WebCore::WMLSetvarElement::insertedIntoDocument):
190         (WebCore::WMLSetvarElement::removedFromDocument):
191         * wml/WMLTaskElement.cpp:
192         (WebCore::WMLTaskElement::insertedIntoDocument):
193         (WebCore::WMLTaskElement::removedFromDocument):
194         * wml/WMLTimerElement.cpp:
195         (WebCore::WMLTimerElement::insertedIntoDocument):
196         (WebCore::WMLTimerElement::removedFromDocument):
197         * xml/XPathStep.cpp:
198         (WebCore::XPath::Step::nodesInAxis):
199         Use ContainerNode* for the result of the parentNode function now that
200         it returns a ContainerNode*. In the past it used to return just Node*.
201
202         * dom/ContainerNode.h: Added toContainerNode.
203
204         * dom/Element.h: Use ContainerNode*. Added toElement.
205
206         * dom/Element.cpp:
207         (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
208         cast to HTMLElement* in the case that handles <html> and <body>
209         elements.
210         (WebCore::Element::baseURI): Use ContainerNode*.
211
212         * dom/Node.cpp:
213         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
214         (WebCore::Node::isDescendantOf): Ditto.
215         (WebCore::Node::createRendererIfNeeded): Ditto.
216         (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
217         appendChild.
218         (WebCore::Node::ancestorElement): Use ContainerNode*.
219
220         * dom/Range.cpp:
221         (WebCore::Range::compareNode): Use ContainerNode*.
222         (WebCore::Range::intersectsNode): Ditto.
223         (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
224         where we previously checked that the node in question has a child. Any node
225         that returns a non-zero value for firstChild is a ContainerNode.
226         (WebCore::Range::checkNodeBA): Ditto.
227         (WebCore::Range::selectNode): Ditto.
228         (WebCore::Range::surroundContents): Ditto.
229
230         * dom/XMLDocumentParser.cpp:
231         (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
232         more specific types, document instead of doc, and paragraph instead of par.
233
234         * editing/ApplyStyleCommand.cpp:
235         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
236         Use ContainerNode*.
237         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
238         Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
239         took a Node argument and had Node in its name.
240
241         * editing/CompositeEditCommand.cpp:
242         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
243         (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
244         Renamed and changed to take HTMLElement. Also use ContainerNode.
245         (WebCore::CompositeEditCommand::prune): Ditto.
246         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
247         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
248
249         * editing/ReplaceNodeWithSpanCommand.cpp:
250         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
251         HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
252         (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
253         (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
254         (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
255         * editing/ReplaceNodeWithSpanCommand.h: Ditto.
256
257         * editing/ReplaceSelectionCommand.cpp:
258         (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
259         of insertFragmentForTestRendering since that's what it returns.
260         (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
261         (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
262         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
263         Use HTMLElement for body.
264         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
265         StyledElement.
266         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
267         (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
268         the cloned span, since the clone will be a sspan too.
269         (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
270         the list item has a child, and that proves it is a ContainerNode.
271
272         * editing/SelectionController.cpp:
273         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
274         Use ContainerNode and also removed an unnneded local variable.
275
276         * html/HTMLElement.cpp:
277         (WebCore::HTMLElement::setOuterText): Use ContainerNode.
278         (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
279         the logic a little simpler.
280         (WebCore::contextElementForInsertion): Use ContainerNode.
281         (WebCore::HTMLElement::findFormAncestor): Ditto.
282
283         * inspector/InspectorDOMAgent.cpp:
284         (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
285         (WebCore::InspectorDOMAgent::changeTagName): Ditto.
286         (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
287         (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
288         nodeType. We should almost never use nodeType inside the engine.
289         (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
290         (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
291
292         * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
293         replaceChild, removeChild, appendChild, and removeChildren functions.
294         Ths already overrides childrenChanged, that is called by all of the above,
295         and it does the same thing these functions did.
296         (WebCore::ownerSelectElement): Use ContainerNode.
297         * wml/WMLOptGroupElement.h: Ditto.
298
299 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
300
301         Reviewed by Darin Adler.
302
303         Crash in WebCore::ApplyStyleCommand::applyBlockStyle
304         https://bugs.webkit.org/show_bug.cgi?id=47699
305
306         The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
307         Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
308
309         Test: editing/style/block-style-progress-crash.html
310
311         * editing/ApplyStyleCommand.cpp:
312         (WebCore::ApplyStyleCommand::applyBlockStyle):
313
314 2010-10-13  Anders Carlsson  <andersca@apple.com>
315
316         Reviewed by Sam Weinig.
317
318         Add a FindIndicator class
319         https://bugs.webkit.org/show_bug.cgi?id=47635
320
321         Make Gradient.h and Generator.h private headers; they're used by WebKit2.
322
323         * WebCore.xcodeproj/project.pbxproj:
324
325 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
326
327         Reviewed by Gustavo Noronha Silva.
328
329         [Soup] Should not ignore body for redirection responses
330         https://bugs.webkit.org/show_bug.cgi?id=29299
331
332         Body is now provided to WebKitGtk+ in some redirections (like 302)
333         because it could be used by servers to perform clunky redirections
334         for example using http-equiv=REFRESH
335
336         Test: http/tests/navigation/redirect302-metaredirect.html
337
338         * platform/network/soup/ResourceHandleSoup.cpp:
339         (WebCore::gotHeadersCallback):
340         (WebCore::finishedCallback):
341
342 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
343
344         Reviewed by Martin Robinson.
345
346         [GTK] Fix introspection support
347         https://bugs.webkit.org/show_bug.cgi?id=47723
348
349         WebKitSoupCacheType was incorrectly registered twice. Renamed to
350         WebKitSoupCacheTypeType for the enumerated type.
351
352         * platform/network/soup/cache/webkit/soup-cache.c:
353         (webkit_soup_cache_type_get_type):
354
355 2010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
356
357         Reviewed by Yury Semikhatsky.
358
359         Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
360
361         This is a part of Inspector protocol sanitization activity.
362         We want to populate console messages only if it is required by frontend.
363
364         https://bugs.webkit.org/show_bug.cgi?id=46802
365
366         * inspector/Inspector.idl:
367         * inspector/InspectorController.cpp:
368         (WebCore::InspectorController::setConsoleMessagesEnabled):
369         (WebCore::InspectorController::addConsoleMessage):
370         (WebCore::InspectorController::disconnectFrontend):
371         (WebCore::InspectorController::populateScriptObjects):
372         * inspector/InspectorController.h:
373         * inspector/InspectorState.cpp:
374         (WebCore::InspectorState::InspectorState):
375         * inspector/InspectorState.h:
376         * inspector/front-end/inspector.js:
377         (WebInspector.doLoadedDone):
378
379 2010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
380
381         Reviewed by Nikolas Zimmermann.
382
383         [EFL] REGRESSION(69798) UCHAR can't be converted to String.
384         https://bugs.webkit.org/show_bug.cgi?id=47698
385
386         Create String value using String(const char*, 1) instead of operator[].
387
388         No tests. No functionality changed.
389
390         * platform/efl/PlatformKeyboardEventEfl.cpp:
391         (WebCore::createWindowsKeyMap):
392
393 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
394
395         Reviewed by Xan Lopez.
396
397         [GTK] Do a stricter check for invalid base64 dataURLs
398         https://bugs.webkit.org/show_bug.cgi?id=47717
399
400         Restore the strict base64 decoding we added in
401         https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
402         in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
403         test. The actual issue was that we were not finishing the load of
404         the resource gracefully when an error happened.
405
406         Loading invalid base64-encoded data:// URLs are now handled
407         properly.
408
409         * platform/network/soup/ResourceHandleSoup.cpp:
410         (WebCore::parseDataUrl):
411         * platform/network/soup/cache/soup-request-data.c:
412         (webkit_soup_request_data_send):
413
414 2010-10-15  Alejandro G. Castro  <alex@igalia.com>
415
416         Reviewed by Martin Robinson.
417
418         compile fail with gtk >= 2.22
419         https://bugs.webkit.org/show_bug.cgi?id=47483
420
421         * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
422         it was added long time ago and currently it is not adding any real
423         area to the clip vertically, actually the gtk3 shrink version did
424         not work.
425         (WebCore::Font::drawComplexText):
426         * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
427         file is full of gtk2 stuff, and it does not seem interesting to
428         upgrade because we are already creating a new version of the file
429         for gtk3.
430
431 2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
432
433         Reviewed by Pavel Feldman.
434
435         Web Inspector: inspector settings/properties/states management
436         should be extracted into separate class.
437
438         We have a lot of flags/values in InspectorController.
439         Some flags are persisting into profile.
440         Others are part of inspector state for frontend.
441         All these flags should keep their values after navigation.
442         It'd be better to extract these flags/values into separate
443         class which will care about theirs lifetime.
444
445         https://bugs.webkit.org/show_bug.cgi?id=47275
446
447         * CMakeLists.txt:
448         * GNUmakefile.am:
449         * WebCore.exp.in:
450         * WebCore.gypi:
451         * WebCore.pro:
452         * WebCore.vcproj/WebCore.vcproj:
453         * WebCore.xcodeproj/project.pbxproj:
454         * inspector/InspectorController.cpp:
455         (WebCore::InspectorController::InspectorController):
456         (WebCore::InspectorController::inspectorStartsAttached):
457         (WebCore::InspectorController::setInspectorStartsAttached):
458         (WebCore::InspectorController::setInspectorAttachedHeight):
459         (WebCore::InspectorController::inspectorAttachedHeight):
460         (WebCore::InspectorController::searchingForNodeInPage):
461         (WebCore::InspectorController::resourceTrackingEnabled):
462         (WebCore::InspectorController::saveApplicationSettings):
463         (WebCore::InspectorController::getInspectorState):
464         (WebCore::InspectorController::restoreInspectorStateFromCookie):
465         (WebCore::InspectorController::getSettings):
466         (WebCore::InspectorController::storeLastActivePanel):
467         (WebCore::InspectorController::mouseDidMoveOverElement):
468         (WebCore::InspectorController::handleMousePress):
469         (WebCore::InspectorController::setSearchingForNode):
470         (WebCore::InspectorController::setMonitoringXHREnabled):
471         (WebCore::InspectorController::showPanel):
472         (WebCore::InspectorController::disconnectFrontend):
473         (WebCore::InspectorController::populateScriptObjects):
474         (WebCore::InspectorController::restoreDebugger):
475         (WebCore::InspectorController::restoreProfiler):
476         (WebCore::InspectorController::getTrackedResource):
477         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
478         (WebCore::InspectorController::identifierForInitialRequest):
479         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
480         (WebCore::InspectorController::scriptImported):
481         (WebCore::InspectorController::setResourceTrackingEnabled):
482         (WebCore::InspectorController::ensureSettingsLoaded):
483         (WebCore::InspectorController::startTimelineProfiler):
484         (WebCore::InspectorController::stopTimelineProfiler):
485         (WebCore::InspectorController::enableProfiler):
486         (WebCore::InspectorController::disableProfiler):
487         (WebCore::InspectorController::enableDebuggerFromFrontend):
488         (WebCore::InspectorController::disableDebugger):
489         (WebCore::InspectorController::loadBreakpoints):
490         (WebCore::InspectorController::saveBreakpoints):
491         * inspector/InspectorController.h:
492         * inspector/InspectorFrontendClientLocal.cpp:
493         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
494         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
495         * inspector/InspectorState.cpp: Added.
496         (WebCore::InspectorState::InspectorState):
497         (WebCore::InspectorState::restoreFromInspectorCookie):
498         (WebCore::InspectorState::generateStateObjectForFrontend):
499         (WebCore::InspectorState::loadFromSettings):
500         (WebCore::InspectorState::updateCookie):
501         (WebCore::InspectorState::setValue):
502         (WebCore::InspectorState::getBoolean):
503         (WebCore::InspectorState::getString):
504         (WebCore::InspectorState::getLong):
505         (WebCore::InspectorState::registerBoolean):
506         (WebCore::InspectorState::registerString):
507         (WebCore::InspectorState::registerLong):
508         (WebCore::InspectorState::Property::create):
509         * inspector/InspectorState.h: Added.
510         (WebCore::InspectorState::setBoolean):
511         (WebCore::InspectorState::setString):
512         (WebCore::InspectorState::setLong):
513
514 2010-10-14  Jia Pu  <jpu@apple.com>
515
516         Reviewed by Adele Peterson.
517
518         REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
519         https://bugs.webkit.org/show_bug.cgi?id=47689
520         <rdar://problem/8552250>
521
522         The test requires using setTimeout(). So we put it in manual-tests.
523
524         * editing/Editor.cpp:
525         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
526         (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
527           start timer for next autocorrection check.
528         * manual-tests/autocorrection: Added.
529         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
530
531 2010-10-14  Ryosuke Niwa  <rniwa@webkit.org>
532
533         Reviewed by Tony Chang and Darin Adler.
534
535         execCommand FormatBlock creates lots of blockquotes
536         https://bugs.webkit.org/show_bug.cgi?id=19795
537
538         The bug was caused by WebKit's not reusing the block node added by previous iteration
539         and its inserting block node at wrong places.
540
541         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
542         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
543         avoids the existing block elements when replacing blocks and it also adds a placeholder
544         when removing the existing block caused paragraphs to collapse.
545
546         Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
547         the block element to which the paragraph is moved if the block element is the start of a paragraph
548         and not the end of a paragraph.
549
550         Tests: editing/execCommand/format-block-multiple-paragraphs.html
551                editing/execCommand/format-block-table.html
552
553         * editing/CompositeEditCommand.cpp:
554         (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
555         * editing/EditorCommand.cpp:
556         (WebCore::executeFormatBlock):
557         * editing/FormatBlockCommand.cpp:
558         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
559         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
560         and moved from htmlediting.cpp.
561         (WebCore::enclosingBlockToSplitTreeTo): Added.
562         * editing/FormatBlockCommand.h:
563         * editing/VisiblePosition.cpp:
564         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
565         * editing/VisiblePosition.h:
566
567 2010-10-14  Justin Schuh  <jschuh@chromium.org>
568
569         Reviewed by James Robinson.
570
571         Crash in HTMLTextFormControlElement::selection()
572         https://bugs.webkit.org/show_bug.cgi?id=47522
573
574         Patch by Ryosuke Niwa  <rniwa@webkit.org>
575
576         The bug was caused by our triggering layout inside RenderTextControl::selection.
577         Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
578
579         Test: fast/forms/render-text-crash.html
580
581         * editing/Editor.cpp:
582         (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
583         * html/HTMLFormControlElement.cpp:
584         (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
585         * html/HTMLFormControlElement.h:
586         * rendering/RenderTextControl.cpp:
587         (WebCore::RenderTextControl::selection): Changed the return type.
588         * rendering/RenderTextControl.h:
589
590 2010-10-14  James Robinson  <jamesr@chromium.org>
591
592         Reviewed by Simon Fraser.
593
594         SelectElement should check if its renderer exists after calling Element::focus()
595         https://bugs.webkit.org/show_bug.cgi?id=47696
596
597         Adds null checks for element->renderer() after calling element->focus(), since focus()
598         can dispatch an event and run arbitrary javascript that may cause the select element
599         to lose its renderer.
600
601         Test: fast/forms/select-listbox-focus-displaynone.html
602
603         * dom/SelectElement.cpp:
604         (WebCore::SelectElement::menuListDefaultEventHandler):
605         (WebCore::SelectElement::listBoxDefaultEventHandler):
606
607 2010-10-14  Beth Dakin  <bdakin@apple.com>
608
609         Reviewed by Dave Hyatt.
610
611         This patch lays the groundwork for 
612         https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
613         affect scrolling
614         by adding topmostPosition().
615
616         * rendering/RenderBlock.cpp:
617         (WebCore::RenderBlock::topmostPosition):
618         * rendering/RenderBlock.h:
619         * rendering/RenderBox.cpp:
620         (WebCore::RenderBox::topmostPosition):
621         * rendering/RenderBox.h:
622         * rendering/RenderMedia.cpp:
623         (WebCore::RenderMedia::topmostPosition):
624         * rendering/RenderMedia.h:
625         * rendering/RenderTableSection.cpp:
626         (WebCore::RenderTableSection::topmostPosition):
627         * rendering/RenderTableSection.h:
628
629 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
630
631         Reviewed by Martin Robinson.
632
633         [GTK] fix compilation warnings in imported libsoup code
634         https://bugs.webkit.org/show_bug.cgi?id=47674
635
636         Fixed some warnings caused by comparisons between signed and
637         unsigned integer expressions
638
639         * platform/network/soup/cache/soup-directory-input-stream.c:
640         (webkit_soup_directory_input_stream_read):
641         * platform/network/soup/cache/soup-request-data.c:
642         (webkit_soup_request_data_send):
643         * platform/network/soup/cache/soup-request-file.c:
644         (webkit_soup_request_file_ensure_file):
645         * platform/network/soup/cache/webkit/soup-cache.c:
646         (webkit_soup_cache_entry_is_fresh_enough):
647         (webkit_soup_cache_has_response):
648
649 2010-10-14  Andreas Kling  <kling@webkit.org>
650
651         Unreviewed buildfix, RetainPtr is a mac thing..
652
653         * platform/network/soup/ProxyServerSoup.cpp:
654
655 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
656
657         Reviewed by Xan Lopez.
658
659         [GTK] Form controls do not respect GTK+ font size
660         https://bugs.webkit.org/show_bug.cgi?id=47134
661
662         Have form controls use the font specified in GtkSettings. This font is
663         the default control font in GTK+ applications and Firefox. We need to
664         pass the string through Pango to get a valid font name and size.
665
666         * platform/gtk/RenderThemeGtk.cpp:
667         (WebCore::getScreenDPI): A helper function which returns
668         the DPI of the default screen or 96 as a fallback.
669         (WebCore::RenderThemeGtk::systemFont): Calculate the system font
670         by looking at the GtkSettings value and pushing it through Pango
671         to get the font family and font size.
672
673 2010-10-14  Andreas Kling  <kling@webkit.org>
674
675         Soup buildfix for r69808: add ProxyServer stub.
676
677         * GNUmakefile.am:
678         * platform/network/soup/ProxyServerSoup.cpp: Added.
679         (WebCore::proxyServersForURL):
680
681 2010-10-14  Andreas Kling  <kling@webkit.org>
682
683         Fix GTK+ build after r69808.
684
685         * GNUmakefile.am:
686         * platform/network/curl/ProxyServerCurl.cpp:
687         (WebCore::proxyServersForURL):
688
689 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
690
691         Another build fix. Export FrameLoader::networkingContext()
692
693         * WebCore.exp.in:
694
695 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
696
697         Fix the build after r69808.
698         
699         * WebCore.xcodeproj/project.pbxproj:
700         * platform/network/cf/ProxyServerCFNet.cpp:
701         (WebCore::proxyServersForURL):
702
703 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
704
705         Windows build fix following r69806.
706
707         * platform/win/ClipboardUtilitiesWin.cpp:
708         (WebCore::markupToCFHTML):
709
710 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
711
712         Reviewed by Andreas Kling
713
714         Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
715         https://bugs.webkit.org/show_bug.cgi?id=34539
716
717         These missing NPN functions cause Java applets to crash in ports such
718         as QtWebkit that rely on webkit for Java applet support.
719
720         * plugins/PluginDebug.cpp:
721         (WebCore::prettyNameForNPNURLVariable):
722         * plugins/PluginDebug.h:
723         * plugins/PluginPackage.cpp:
724         (WebCore::PluginPackage::initializeBrowserFuncs):
725         * plugins/PluginView.cpp:
726         (WebCore::PluginView::getValueForURL):
727         (WebCore::PluginView::setValueForURL):
728         (WebCore::PluginView::getAuthenticationInfo):
729         * plugins/PluginView.h:
730         * plugins/npapi.cpp:
731         (NPN_GetValueForURL):
732         (NPN_SetValueForURL):
733         (NPN_GetAuthenticationInfo):
734         * platform/network/ProxyServer.h:
735         * platform/network/cf/ProxyServerCFNet.cpp:
736         (WebCore::proxyServersForURL):
737         * platform/network/qt/ProxyServerQt.cpp:
738         (WebCore::proxyServersForURL):
739  
740 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
741
742         Windows build fix following r69806.
743
744         * platform/win/ClipboardUtilitiesWin.cpp:
745         (WebCore::markupToCFHTML):
746
747 2010-10-14  Zhenyao Mo  <zmo@google.com>
748
749         Reviewed by Kenneth Russell.
750
751         Cache link status at linkProgram and use it in useProgram instead of querying GPU
752         https://bugs.webkit.org/show_bug.cgi?id=47685
753
754         * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
755         (WebCore::WebGLProgram::WebGLProgram):
756         * html/canvas/WebGLProgram.h: Ditto.
757         (WebCore::WebGLProgram::getLinkStatus):
758         (WebCore::WebGLProgram::setLinkStatus):
759         * html/canvas/WebGLRenderingContext.cpp: Ditto.
760         (WebCore::WebGLRenderingContext::getProgramParameter):
761         (WebCore::WebGLRenderingContext::linkProgram):
762         (WebCore::WebGLRenderingContext::useProgram):
763
764 2010-10-14  Justin Schuh  <jschuh@chromium.org>
765
766         Reviewed by James Robinson.
767
768         Style fix for r69735
769         https://bugs.webkit.org/show_bug.cgi?id=47684
770
771         No logic change. Existing tests apply.
772
773         * rendering/RootInlineBox.cpp:
774         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
775
776 2010-10-14  Yury Semikhatsky  <yurys@chromium.org>
777
778         Reviewed by Pavel Feldman.
779
780         Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
781         https://bugs.webkit.org/show_bug.cgi?id=47675
782
783         No new tests. This refactoring is covered by existing inspector tests.
784
785         * bindings/js/JSConsoleCustom.cpp:
786         * bindings/js/ScriptCallFrame.cpp:
787         * bindings/js/ScriptCallFrame.h:
788         (WebCore::ScriptCallFrame::functionName):
789         (WebCore::ScriptCallFrame::sourceURL):
790         (WebCore::ScriptCallFrame::lineNumber):
791         (WebCore::ScriptCallFrame::argumentCount):
792         * inspector/ConsoleMessage.cpp:
793         (WebCore::ConsoleMessage::isEqual):
794         * inspector/ConsoleMessage.h:
795         * inspector/InspectorController.cpp:
796         (WebCore::InspectorController::addMessageToConsole):
797         (WebCore::InspectorController::addConsoleMessage):
798         (WebCore::InspectorController::startGroup):
799         (WebCore::InspectorController::endGroup):
800         * inspector/InspectorController.h:
801
802 2010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
803
804         Reviewed by Gavin Barraclough.
805
806         Replace lots of String::format() usages by StringConcatenate
807         https://bugs.webkit.org/show_bug.cgi?id=47664
808
809         * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
810         * bindings/js/JSDOMWindowBase.cpp:
811         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
812         * bindings/v8/V8Proxy.cpp:
813         (WebCore::V8Proxy::reportUnsafeAccessTo):
814         * dom/ExceptionBase.cpp:
815         (WebCore::ExceptionBase::ExceptionBase):
816         * dom/XMLDocumentParser.cpp:
817         (WebCore::XMLDocumentParser::handleError):
818         * history/PageCache.cpp:
819         (WebCore::logCanCacheFrameDecision):
820         * html/FTPDirectoryDocument.cpp:
821         (WebCore::processFileDateString):
822         * inspector/CodeGeneratorInspector.pm:
823         * inspector/InspectorController.cpp:
824         (WebCore::InspectorController::didReceiveResponse):
825         (WebCore::InspectorController::count):
826         * inspector/InspectorDOMAgent.cpp:
827         (WebCore::InspectorDOMAgent::createBreakpointId):
828         * inspector/InspectorDebuggerAgent.cpp:
829         (WebCore::formatBreakpointId):
830         * inspector/InspectorProfilerAgent.cpp:
831         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
832         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
833         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
834         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
835         * loader/CachedResourceLoader.cpp:
836         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
837         * loader/FrameLoader.cpp:
838         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
839         (WebCore::FrameLoader::checkIfRunInsecureContent):
840         (WebCore::FrameLoader::shouldAllowNavigation):
841         * loader/archive/cf/LegacyWebArchive.cpp:
842         (WebCore::LegacyWebArchive::createFromSelection):
843         * page/DOMWindow.cpp:
844         (WebCore::DOMWindow::postMessageTimerFired):
845         * page/PrintContext.cpp:
846         (WebCore::PrintContext::pageProperty):
847         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
848         * page/XSSAuditor.cpp:
849         (WebCore::XSSAuditor::canLoadObject):
850         * platform/efl/PlatformKeyboardEventEfl.cpp:
851         (WebCore::createKeyMap):
852         (WebCore::createWindowsKeyMap):
853         * platform/graphics/GraphicsLayer.cpp:
854         (WebCore::GraphicsLayer::animationNameForTransition):
855         * platform/graphics/brew/ImageBrew.cpp:
856         (WebCore::Image::loadPlatformResource):
857         * platform/graphics/cg/ImageBufferCG.cpp:
858         (WebCore::ImageBuffer::toDataURL):
859         * platform/graphics/efl/ImageEfl.cpp:
860         (WebCore::loadResourceSharedBuffer):
861         * platform/graphics/gtk/ImageBufferGtk.cpp:
862         (WebCore::ImageBuffer::toDataURL):
863         * platform/graphics/haiku/ImageBufferHaiku.cpp:
864         (WebCore::ImageBuffer::toDataURL):
865         * platform/graphics/mac/GraphicsLayerCA.mm:
866         (WebCore::animationIdentifier):
867         * platform/graphics/qt/ImageBufferQt.cpp:
868         (WebCore::ImageBuffer::toDataURL):
869         * platform/graphics/skia/ImageBufferSkia.cpp:
870         (WebCore::ImageBuffer::toDataURL):
871         * platform/graphics/win/WebLayer.cpp:
872         (WebCore::WebLayer::drawInContext):
873         * platform/network/CredentialStorage.cpp:
874         (WebCore::originStringFromURL):
875         * platform/sql/SQLiteDatabase.cpp:
876         (WebCore::SQLiteDatabase::setSynchronous):
877         * platform/text/wince/TextCodecWinCE.cpp:
878         (WebCore::LanguageManager::LanguageManager):
879         * platform/win/ClipboardUtilitiesWin.cpp:
880         (WebCore::markupToCFHTML):
881         * platform/win/Language.cpp:
882         (WebCore::defaultLanguage):
883         * plugins/PluginStream.cpp:
884         (WebCore::PluginStream::startStream):
885         * svg/SVGUseElement.cpp:
886         (WebCore::dumpInstanceTree):
887         * websockets/WebSocket.cpp:
888         (WebCore::WebSocket::connect):
889         * websockets/WebSocketChannel.cpp:
890         (WebCore::WebSocketChannel::appendToBuffer):
891         * websockets/WebSocketHandshake.cpp:
892         (WebCore::WebSocketHandshake::readServerHandshake):
893
894 2010-10-14  Xan Lopez  <xlopez@igalia.com>
895
896         Reviewed by Martin Robinson.
897
898         [GTK] Small cleanup in PluginViewGtk
899         https://bugs.webkit.org/show_bug.cgi?id=47588
900
901         Remove some dead code and use PlatformRefPtr for cairo surfaces.
902
903         No new tests, only refactoring.
904
905         * plugins/gtk/PluginViewGtk.cpp:
906         (WebCore::PluginView::paint):
907
908 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
909
910         Reviewed by Andreas Kling.
911
912         Fix compile error when bulding webkit's Qt port using the "--v8" option.
913         https://bugs.webkit.org/show_bug.cgi?id=47455
914
915         * platform/qt/PlatformBridge.h:
916
917 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
918
919         Reviewed by Holger Freyther.
920
921         [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
922         https://bugs.webkit.org/show_bug.cgi?id=47033
923
924         Fix logic that merges XSettings defaults and FontConfig settings. If
925         FontConfig or XSettings specifies a subpixel order, we force subpixel
926         anti-aliasing on. If anti-aliasing is turned on explicitly, only
927         override the setting if it was previously off, otherwise we ignore
928         the user's preference for subpixel or gray antialiasing.
929
930         Test: platform/gtk/fonts/xsettings_antialias_settings.html
931
932         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
933         (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
934         and FontConfig anti-aliasing settings.
935         (WebCore::getDefaultFontOptions): Added this helper.
936         (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
937
938 2010-10-14  Jian Li  <jianli@chromium.org>
939
940         Reviewed by David Levin.
941
942         Support typed arrays in workers
943         https://bugs.webkit.org/show_bug.cgi?id=47616
944
945         To support typed arrays in workers, we need to expose constructors in
946         WorkerContext and add NoStaticTables attribute.
947
948         I also add File API feature guard to the constructors defined in
949         DOMWindow.
950
951         * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
952         constructors defined in DOMWindow.
953         * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
954         * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
955         * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
956         * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
957         * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
958         * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
959         * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
960         * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
961         * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
962         * page/DOMWindow.idl: Add File API feature guard to the constructors
963         defined in DOMWindow.
964         * workers/WorkerContext.idl: Expose type array constructors.
965
966 2010-10-14  Andreas Kling  <kling@webkit.org>
967
968         Reviewed by Ariya Hidayat.
969
970         [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
971
972         We were creating empty layers for sub-1 height/width clips due to
973         using IntRect(FloatRect) instead of enclosingIntRect().
974         This lead to a bunch of QPainter warnings on the console since you
975         can't draw on an empty QPixmap.
976
977         * platform/graphics/qt/ImageBufferQt.cpp:
978         (WebCore::ImageBuffer::clip):
979
980 2010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
981
982         Reviewed by Martin Robinson.
983
984         [cairo] Typo in determining fixed width fonts
985         https://bugs.webkit.org/show_bug.cgi?id=47470
986
987         It must be a single ampersand otherwise the
988         && FT_FACE_FLAG_FIXED_WIDTH will always be true.
989
990         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
991         (WebCore::FontPlatformData::FontPlatformData):
992
993 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
994
995         Reviewed by Xan Lopez.
996
997         [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
998         https://bugs.webkit.org/show_bug.cgi?id=47666
999
1000         Do a less strict decoding of base64 data url's as it was done
1001         before. The actual problem is most likely
1002         https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
1003
1004         * platform/network/soup/cache/soup-request-data.c:
1005         (webkit_soup_request_data_send):
1006
1007 2010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
1008
1009         Reviewed by Andreas Kling.
1010
1011         SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
1012         https://bugs.webkit.org/show_bug.cgi?id=47660
1013
1014         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
1015         The patch also implements the simple setOrder and setKernelUnitLength methods.
1016
1017         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
1018                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
1019                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
1020                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
1021                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
1022                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
1023                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
1024                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
1025                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
1026                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
1027
1028         * svg/SVGFEConvolveMatrixElement.cpp:
1029         (WebCore::SVGFEConvolveMatrixElement::setOrder):
1030         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
1031         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
1032         * svg/SVGFEConvolveMatrixElement.h:
1033
1034 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
1035
1036         Reviewed by Andreas Kling.
1037
1038         [Qt] Text breaking is slow: enable ICU as an opt-in
1039         https://bugs.webkit.org/show_bug.cgi?id=40332
1040
1041         Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
1042
1043         No new tests, this should be covered by existing tests.
1044
1045         * WebCore.pro:
1046         * platform/text/qt/TextBreakIteratorQt.cpp:
1047         (WebCore::currentTextBreakLocaleID):
1048
1049 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
1050
1051         Reviewed by Kenneth Rohde Christiansen.
1052
1053         [Texmap] [Qt] Texture mapper initial implementation
1054         https://bugs.webkit.org/show_bug.cgi?id=47070
1055
1056         This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
1057         once other parts of TextureMapper are fully working.
1058
1059         No new tests: this is new implementation that's not enabled yet.
1060
1061         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1062         (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
1063         (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
1064         (WebCore::TextureMapperVideoLayerQt::paint):
1065         (WebCore::TextureMapperVideoLayerQt::size):
1066         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
1067         (WebCore::MediaPlayerPrivateQt::platformLayer):
1068         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1069         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
1070         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
1071         (WebCore::MediaPlayerPrivateQt::platformLayer):
1072
1073 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
1074
1075         Reviewed by Martin Robinson.
1076
1077         Fixed crashes in the GTK 64bits bot, we have to use NULL instead
1078         of 0 when calling these glib APIs, 0 is compiled as a char and in
1079         64bits systems it is not correct.
1080
1081         * platform/network/soup/cache/soup-requester.c:
1082         (webkit_soup_requester_new):
1083         (webkit_soup_requester_request_uri):
1084
1085 2010-10-14  Daniel Bates  <dbates@rim.com>
1086
1087         Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
1088
1089         * rendering/RenderInline.cpp: Include header "RenderTheme.h"
1090
1091 2010-10-14  Daniel Bates  <dbates@rim.com>
1092
1093         Reviewed by Darin Adler.
1094
1095         Only draw focus ring in RenderInline and RenderImage if the theme
1096         is not able to draw a focus ring
1097         https://bugs.webkit.org/show_bug.cgi?id=47632
1098
1099         Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
1100         would draw a focus ring regardless of whether the port-specific theme is able to
1101         draw a focus ring. Instead, these methods should only draw a focus ring if the
1102         theme is unable to draw a focus ring.
1103
1104         Also, extracted common focus ring drawing code from RenderObject::paintOutline()
1105         and RenderInline::paintOutline() into RenderObject::paintFocusRing().
1106
1107         Tests: fast/forms/textfield-focus-ring.html
1108                fast/images/imagemap-focus-ring.html
1109                fast/inline/inline-focus-ring.html
1110
1111         * rendering/RenderImage.cpp:
1112         (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
1113         the theme does not draw one.
1114         * rendering/RenderInline.cpp:
1115         (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
1116         * rendering/RenderObject.cpp:
1117         * rendering/RenderObject.cpp:
1118         (WebCore::RenderObject::paintFocusRing): Added.
1119         (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
1120         * rendering/RenderObject.h:
1121
1122 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
1123
1124         Reviewed by Yury Semikhatsky.
1125
1126         Web Inspector: Move load and dom content event timers into InspectorController.
1127         https://bugs.webkit.org/show_bug.cgi?id=47668
1128
1129         * inspector/CodeGeneratorInspector.pm:
1130         * inspector/Inspector.idl:
1131         * inspector/InspectorController.cpp:
1132         (WebCore::InspectorController::InspectorController):
1133         (WebCore::InspectorController::populateScriptObjects):
1134         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
1135         (WebCore::InspectorController::mainResourceFiredLoadEvent):
1136         * inspector/InspectorController.h:
1137         * inspector/InspectorResource.cpp:
1138         (WebCore::InspectorResource::InspectorResource):
1139         (WebCore::InspectorResource::updateScriptObject):
1140         * inspector/InspectorResource.h:
1141         * inspector/front-end/inspector.js:
1142         (WebInspector.updateResource):
1143         (WebInspector.domContentEventFired):
1144         (WebInspector.loadEventFired):
1145
1146 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
1147
1148         Not reviewed. Re-landing r69757.
1149
1150 2010-10-14  Pavel Podivilov  <podivilov@chromium.org>
1151
1152         Reviewed by Pavel Feldman.
1153
1154         Web Inspector: implement pausing on window events and timeouts
1155         https://bugs.webkit.org/show_bug.cgi?id=47542
1156
1157         * inspector/InspectorInstrumentation.cpp:
1158         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
1159         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
1160         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
1161         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
1162         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
1163         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
1164         (WebCore::InspectorInstrumentation::willFireTimerImpl):
1165         (WebCore::InspectorInstrumentation::didFireTimerImpl):
1166         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1167         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
1168         * inspector/InspectorInstrumentation.h:
1169         * inspector/front-end/BreakpointManager.js:
1170         (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
1171         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
1172         (WebInspector.EventListenerBreakpoint.prototype._condition):
1173         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
1174         * inspector/front-end/BreakpointsSidebarPane.js:
1175         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
1176
1177 2010-10-14  Csaba Osztrogonác  <ossy@webkit.org>
1178
1179         Reviewed by Andreas Kling.
1180
1181         Canvas: "currentColor" should inherit the canvas element's color
1182         https://bugs.webkit.org/show_bug.cgi?id=40273
1183
1184         Warning fix after r69755. Missing default cases added.
1185
1186         * html/canvas/CanvasStyle.cpp:
1187         (WebCore::parseColorOrCurrentColor):
1188         (WebCore::CanvasStyle::createFromString):
1189         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
1190
1191 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
1192
1193         Not reviewed. Rolling out r69757.
1194
1195 2010-10-08  Pavel Feldman  <pfeldman@chromium.org>
1196
1197         Reviewed by Yury Semikhatsky.
1198
1199         Web Inspector: extract content-related methods into InspectorResourceAgent.
1200         https://bugs.webkit.org/show_bug.cgi?id=47415
1201
1202         This is needed for resource-tracking-less operation of resources panel.
1203
1204         * CMakeLists.txt:
1205         * GNUmakefile.am:
1206         * WebCore.gypi:
1207         * WebCore.pro:
1208         * inspector/InspectorCSSAgent.cpp:
1209         * inspector/InspectorResource.cpp:
1210         (WebCore::InspectorResource::type):
1211         (WebCore::InspectorResource::sourceString):
1212         (WebCore::InspectorResource::sourceBytes):
1213         * inspector/InspectorResource.h:
1214         * inspector/InspectorResourceAgent.cpp: Added.
1215         (WebCore::InspectorResourceAgent::resourceContent):
1216         (WebCore::InspectorResourceAgent::resourceContentBase64):
1217         (WebCore::InspectorResourceAgent::resourceData):
1218         (WebCore::InspectorResourceAgent::cachedResourceType):
1219         (WebCore::InspectorResourceAgent::cachedResource):
1220         * inspector/InspectorResourceAgent.h: Added.
1221         * inspector/InspectorStyleSheet.cpp:
1222         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1223         * inspector/InspectorUtilities.cpp: Removed.
1224         * inspector/InspectorUtilities.h: Removed.
1225
1226 2010-10-14  Andreas Kling  <kling@webkit.org>
1227
1228         Reviewed by Darin Adler.
1229
1230         Canvas: "currentColor" should inherit the canvas element's color
1231         https://bugs.webkit.org/show_bug.cgi?id=40273
1232
1233         Add support for "currentColor" in CanvasRenderingContext2D APIs.
1234         If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
1235         otherwise we use fully opaque black.
1236
1237         For gradient addColorStop(), "currentColor" always means fully opaque black.
1238
1239         Spec link:
1240         http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
1241
1242         Test: fast/canvas/canvas-currentColor.html
1243
1244         * html/canvas/CanvasGradient.cpp:
1245         (WebCore::CanvasGradient::addColorStop):
1246         * html/canvas/CanvasRenderingContext2D.cpp:
1247         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1248         (WebCore::CanvasRenderingContext2D::setFillStyle):
1249         (WebCore::CanvasRenderingContext2D::setShadowColor):
1250         (WebCore::CanvasRenderingContext2D::setShadow):
1251         * html/canvas/CanvasStyle.cpp:
1252         (WebCore::parseColor):
1253         (WebCore::currentColor):
1254         (WebCore::parseColorOrCurrentColor):
1255         (WebCore::CanvasStyle::CanvasStyle):
1256         (WebCore::CanvasStyle::createFromString):
1257         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
1258         (WebCore::CanvasStyle::isEquivalentColor):
1259         (WebCore::CanvasStyle::applyStrokeColor):
1260         (WebCore::CanvasStyle::applyFillColor):
1261         * html/canvas/CanvasStyle.h:
1262         (WebCore::CanvasStyle::isCurrentColor):
1263         (WebCore::CanvasStyle::hasOverrideAlpha):
1264         (WebCore::CanvasStyle::overrideAlpha):
1265
1266 2010-10-08  Yury Semikhatsky  <yurys@chromium.org>
1267
1268         Reviewed by Pavel Feldman.
1269
1270         Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
1271         https://bugs.webkit.org/show_bug.cgi?id=47358
1272
1273         Test: inspector/debugger-eval-on-call-frame.html
1274
1275         * inspector/front-end/InjectedScript.js:
1276         (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
1277         of a call frame into with(window) to avoid shadowing local variables by global ones.
1278
1279 2010-10-13  Adam Barth  <abarth@webkit.org>
1280
1281         Reviewed by Darin Adler.
1282
1283         Implement getParameter from the URL API
1284         https://bugs.webkit.org/show_bug.cgi?id=46610
1285
1286         Another API from
1287         https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
1288         getParameter lets a web site easily read the value of a URL parameter.
1289         This API is for the simple case of a non-repeated parameter name.
1290         getParameterAll will handle repeated parameter names in a future patch.
1291
1292         Tests: fast/dom/anchor-getParameter.html
1293                http/tests/misc/location-getParameter.html
1294
1295         * html/HTMLAnchorElement.cpp:
1296         (WebCore::HTMLAnchorElement::getParameter):
1297         * html/HTMLAnchorElement.h:
1298         * html/HTMLAnchorElement.idl:
1299         * page/Location.cpp:
1300         (WebCore::Location::getParameter):
1301         * page/Location.h:
1302         * page/Location.idl:
1303         * platform/KURL.cpp:
1304         (WebCore::KURL::copyParsedQueryTo):
1305         * platform/KURLGoogle.cpp:
1306         (WebCore::KURL::copyParsedQueryTo):
1307         * platform/KURL.h:
1308
1309 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
1310
1311         Unreviewed. GTK build fix.
1312
1313         * platform/network/soup/ResourceHandleSoup.cpp:
1314         (WebCore::sendRequestCallback):
1315
1316 2010-10-14  Adrienne Walker  <enne@google.com>
1317
1318         Reviewed by James Robinson.
1319
1320         Add a short-term solution for large layers.  Layers that are too
1321         large to be contained in a single texture just upload the portion of
1322         the layer that is within the content rect.  A longer-term solution
1323         is still tiling with proper memory management.  Layers that have full
1324         3D transforms (more than just translations) are still not drawn.
1325         https://bugs.webkit.org/show_bug.cgi?id=47016
1326
1327         Test: compositing/tiling
1328
1329         * platform/graphics/chromium/ContentLayerChromium.cpp:
1330         (WebCore::ContentLayerChromium::ContentLayerChromium):
1331         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
1332         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
1333         (WebCore::ContentLayerChromium::updateContents):
1334         (WebCore::ContentLayerChromium::updateTextureRect):
1335         (WebCore::ContentLayerChromium::draw):
1336         * platform/graphics/chromium/ContentLayerChromium.h:
1337         * platform/graphics/chromium/ImageLayerChromium.cpp:
1338         (WebCore::ImageLayerChromium::updateContents):
1339         * platform/graphics/chromium/LayerRendererChromium.cpp:
1340         (WebCore::LayerRendererChromium::drawLayers):
1341         * platform/graphics/chromium/LayerRendererChromium.h:
1342         (WebCore::LayerRendererChromium::rootLayerContentRect):
1343
1344 2010-10-14  Chris Rogers  <crogers@google.com>
1345
1346         Reviewed by Chris Fleizach.
1347
1348         Add DelayDSPKernel files
1349         https://bugs.webkit.org/show_bug.cgi?id=47518
1350
1351         No new tests since audio API is not yet implemented.
1352
1353         * webaudio/DelayDSPKernel.cpp: Added.
1354         (WebCore::DelayDSPKernel::DelayDSPKernel):
1355         (WebCore::DelayDSPKernel::process):
1356         (WebCore::DelayDSPKernel::reset):
1357         * webaudio/DelayDSPKernel.h: Added.
1358         (WebCore::DelayDSPKernel::maxDelayTime):
1359         (WebCore::DelayDSPKernel::setDelayFrames):
1360         (WebCore::DelayDSPKernel::delayProcessor):
1361
1362 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
1363
1364         Reviewed by Martin Robinson.
1365
1366         WebKitGtk+ to use the new API from the imported SoupURILoader code
1367
1368         [GTK] Add HTTP caching support
1369         https://bugs.webkit.org/show_bug.cgi?id=44261
1370
1371         ResourceHandleSoup now does everything via SoupURILoader. This means
1372         that all URLs are handled via the same code path, where WebCore simply
1373         asks libsoup for a WebKitSoupRequest and the request returns an input
1374         stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
1375         as well, to simplify reference counting
1376
1377         * platform/network/ResourceHandleInternal.h:
1378         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1379         * platform/network/soup/ResourceHandleSoup.cpp:
1380         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1381         (WebCore::ResourceHandle::~ResourceHandle):
1382         (WebCore::restartedCallback):
1383         (WebCore::gotChunkCallback):
1384         (WebCore::parseDataUrl):
1385         (WebCore::cleanupSoupRequestOperation):
1386         (WebCore::sendRequestCallback):
1387         (WebCore::startHttp):
1388         (WebCore::ResourceHandle::start):
1389         (WebCore::ResourceHandle::cancel):
1390         (WebCore::closeCallback):
1391         (WebCore::readCallback):
1392         (WebCore::startGio):
1393         * platform/network/soup/ResourceRequest.h:
1394         * platform/network/soup/ResourceRequestSoup.cpp:
1395         (WebCore::ResourceRequest::updateSoupMessage):
1396
1397 2010-10-12  Abhishek Arya  <inferno@chromium.org>
1398
1399         Reviewed by Darin Adler.
1400
1401         Prevent block logical height of a root inline box from overflowing by clamping it
1402         at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
1403         removal a floating object.
1404         https://bugs.webkit.org/show_bug.cgi?id=45611        
1405
1406         Test: fast/overflow/overflow-block-logical-height-crash.html
1407
1408         * rendering/RootInlineBox.cpp:
1409         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1410
1411 2010-10-13  James Robinson  <jamesr@chromium.org>
1412
1413         Reviewed by Darin Adler.
1414
1415         Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
1416         Canvas: radialGradient with negative radius should throw exception
1417         https://bugs.webkit.org/show_bug.cgi?id=37176
1418
1419         This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
1420         and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
1421
1422         Test: canvas/philip/tests/2d.gradient.radial.negative.html
1423
1424         * html/canvas/CanvasRenderingContext2D.cpp:
1425         (WebCore::CanvasRenderingContext2D::createLinearGradient):
1426         (WebCore::CanvasRenderingContext2D::createRadialGradient):
1427         (WebCore::createEmptyImageData):
1428         (WebCore::CanvasRenderingContext2D::measureText):
1429
1430 2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
1431
1432         Reviewed by Darin Adler.
1433
1434         Add WebCore/plugins/win directory to CFLAGS
1435         https://bugs.webkit.org/show_bug.cgi?id=45547
1436
1437         * GNUmakefile.am:
1438
1439 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
1440
1441         Build fix for older versions of libsoup.
1442
1443         * platform/network/soup/cache/soup-request-file.c:
1444         (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
1445
1446 2010-10-13  Kwang Yul Seo  <skyul@company100.net>
1447
1448         Reviewed by Kent Tamura.
1449
1450         [BREWMP] Add TextBoundaries and TextBreakIterator
1451         https://bugs.webkit.org/show_bug.cgi?id=46105
1452
1453         Copy the implementation of WinCE port.
1454
1455         * platform/text/brew/TextBoundariesBrew.cpp: Added.
1456         (WebCore::findNextWordFromIndex):
1457         (WebCore::findWordBoundary):
1458         * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
1459         (WebCore::isCharStop):
1460         (WebCore::isLineStop):
1461         (WebCore::isSentenceStop):
1462         (WebCore::TextBreakIterator::reset):
1463         (WebCore::TextBreakIterator::following):
1464         (WebCore::TextBreakIterator::preceding):
1465         (WebCore::WordBreakIterator::first):
1466         (WebCore::WordBreakIterator::next):
1467         (WebCore::WordBreakIterator::previous):
1468         (WebCore::CharBreakIterator::first):
1469         (WebCore::CharBreakIterator::next):
1470         (WebCore::CharBreakIterator::previous):
1471         (WebCore::LineBreakIterator::first):
1472         (WebCore::LineBreakIterator::next):
1473         (WebCore::LineBreakIterator::previous):
1474         (WebCore::SentenceBreakIterator::first):
1475         (WebCore::SentenceBreakIterator::next):
1476         (WebCore::SentenceBreakIterator::previous):
1477         (WebCore::wordBreakIterator):
1478         (WebCore::characterBreakIterator):
1479         (WebCore::lineBreakIterator):
1480         (WebCore::sentenceBreakIterator):
1481         (WebCore::textBreakFirst):
1482         (WebCore::textBreakNext):
1483         (WebCore::textBreakPreceding):
1484         (WebCore::textBreakFollowing):
1485         (WebCore::textBreakCurrent):
1486         (WebCore::isTextBreak):
1487         (WebCore::cursorMovementIterator):
1488
1489 2010-10-13  Jeremy Orlow  <jorlow@chromium.org>
1490
1491         Reviewed by Nate Chapin.
1492
1493         IndexedDB should fire some errors synchronously
1494         https://bugs.webkit.org/show_bug.cgi?id=47530
1495
1496         Add dumb plumbing to pass around exception codes.
1497         Utilize that plumbing in the backend to fire some
1498         errors synchronously.
1499         Verify that create/remove* functions are only called
1500         in setVersionTransactions (and raise when not).
1501         Remove plumbing for obsolete IDBDatabase.objectStore
1502         Remove obsolete mode param.
1503
1504         * storage/IDBCursor.cpp:
1505         (WebCore::IDBCursor::update):
1506         (WebCore::IDBCursor::continueFunction):
1507         (WebCore::IDBCursor::remove):
1508         * storage/IDBCursor.h:
1509         (WebCore::IDBCursor::continueFunction):
1510         * storage/IDBCursor.idl:
1511         * storage/IDBCursorBackendImpl.cpp:
1512         (WebCore::IDBCursorBackendImpl::update):
1513         (WebCore::IDBCursorBackendImpl::continueFunction):
1514         (WebCore::IDBCursorBackendImpl::remove):
1515         * storage/IDBCursorBackendImpl.h:
1516         * storage/IDBCursorBackendInterface.h:
1517         * storage/IDBDatabase.cpp:
1518         (WebCore::IDBDatabase::IDBDatabase):
1519         (WebCore::IDBDatabase::createObjectStore):
1520         (WebCore::IDBDatabase::removeObjectStore):
1521         (WebCore::IDBDatabase::setVersion):
1522         (WebCore::IDBDatabase::transaction):
1523         * storage/IDBDatabase.h:
1524         (WebCore::IDBDatabase::createObjectStore):
1525         (WebCore::IDBDatabase::transaction):
1526         * storage/IDBDatabase.idl:
1527         * storage/IDBDatabaseBackendImpl.cpp:
1528         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1529         (WebCore::IDBDatabaseBackendImpl::objectStore):
1530         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
1531         (WebCore::IDBDatabaseBackendImpl::setVersion):
1532         (WebCore::IDBDatabaseBackendImpl::transaction):
1533         * storage/IDBDatabaseBackendImpl.h:
1534         * storage/IDBDatabaseBackendInterface.h:
1535         * storage/IDBFactory.cpp:
1536         (WebCore::IDBFactory::open):
1537         * storage/IDBFactory.h:
1538         (WebCore::IDBFactory::open):
1539         * storage/IDBFactory.idl:
1540         * storage/IDBIndex.cpp:
1541         (WebCore::IDBIndex::openCursor):
1542         (WebCore::IDBIndex::openKeyCursor):
1543         (WebCore::IDBIndex::get):
1544         (WebCore::IDBIndex::getKey):
1545         * storage/IDBIndex.h:
1546         (WebCore::IDBIndex::openCursor):
1547         (WebCore::IDBIndex::openKeyCursor):
1548         * storage/IDBIndex.idl:
1549         * storage/IDBIndexBackendImpl.cpp:
1550         (WebCore::IDBIndexBackendImpl::openCursor):
1551         (WebCore::IDBIndexBackendImpl::openKeyCursor):
1552         (WebCore::IDBIndexBackendImpl::get):
1553         (WebCore::IDBIndexBackendImpl::getKey):
1554         * storage/IDBIndexBackendImpl.h:
1555         * storage/IDBIndexBackendInterface.h:
1556         * storage/IDBObjectStore.cpp:
1557         (WebCore::IDBObjectStore::get):
1558         (WebCore::IDBObjectStore::add):
1559         (WebCore::IDBObjectStore::put):
1560         (WebCore::IDBObjectStore::remove):
1561         (WebCore::IDBObjectStore::createIndex):
1562         (WebCore::IDBObjectStore::index):
1563         (WebCore::IDBObjectStore::removeIndex):
1564         (WebCore::IDBObjectStore::openCursor):
1565         * storage/IDBObjectStore.h:
1566         (WebCore::IDBObjectStore::add):
1567         (WebCore::IDBObjectStore::put):
1568         (WebCore::IDBObjectStore::createIndex):
1569         (WebCore::IDBObjectStore::openCursor):
1570         * storage/IDBObjectStore.idl:
1571         * storage/IDBObjectStoreBackendImpl.cpp:
1572         (WebCore::IDBObjectStoreBackendImpl::get):
1573         (WebCore::IDBObjectStoreBackendImpl::put):
1574         (WebCore::IDBObjectStoreBackendImpl::remove):
1575         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1576         (WebCore::IDBObjectStoreBackendImpl::index):
1577         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
1578         (WebCore::IDBObjectStoreBackendImpl::openCursor):
1579         * storage/IDBObjectStoreBackendImpl.h:
1580         (WebCore::IDBObjectStoreBackendImpl::name):
1581         (WebCore::IDBObjectStoreBackendImpl::keyPath):
1582         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
1583         * storage/IDBObjectStoreBackendInterface.h:
1584         * storage/IDBTransaction.cpp:
1585         (WebCore::IDBTransaction::objectStore):
1586         * storage/IDBTransaction.h:
1587         * storage/IDBTransactionBackendImpl.cpp:
1588         (WebCore::IDBTransactionBackendImpl::objectStore):
1589
1590 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
1591
1592         Reviewed by Martin Robinson.
1593
1594         [GTK] Add HTTP caching support
1595         https://bugs.webkit.org/show_bug.cgi?id=44261
1596
1597         This patch adds HTTP caching support to libsoup networking backend.
1598         This code will eventually be part of libsoup, but has been temporarily
1599         imported into the WebCore tree for testing purposes. All libsoup code
1600         is located in WebCore/platform/network/soup/cache. The webkit prefix
1601         was added to all the symbols to prevent problems when this lands in
1602         libsoup. Some external API was also added under webkit/ directory and
1603         will be used by library clients to enable HTTP caching.
1604
1605         There are two parts to this imported code, the first one is the code
1606         under WebCore/platform/network/soup/cache/ that contains all the
1607         SoupURILoader code that supports the development of the cache. The
1608         second part is the HTTP cache implementation located in
1609         WebCore/platform/network/soup/cache/webkit/.
1610
1611         * GNUmakefile.am:
1612         * platform/network/soup/cache/soup-directory-input-stream.c: Added.
1613         (webkit_soup_directory_input_stream_parse_info):
1614         (webkit_soup_directory_input_stream_read_next_file):
1615         (webkit_soup_directory_input_stream_read):
1616         (webkit_soup_directory_input_stream_close):
1617         (webkit_soup_directory_input_stream_class_init):
1618         (webkit_soup_directory_input_stream_init):
1619         (webkit_soup_directory_input_stream_new):
1620         * platform/network/soup/cache/soup-directory-input-stream.h: Added.
1621         * platform/network/soup/cache/soup-http-input-stream.c: Added.
1622         (webkit_soup_http_input_stream_finalize):
1623         (webkit_soup_http_input_stream_class_init):
1624         (webkit_soup_http_input_stream_seekable_iface_init):
1625         (webkit_soup_http_input_stream_init):
1626         (webkit_soup_http_input_stream_queue_message):
1627         (webkit_soup_http_input_stream_new):
1628         (webkit_soup_http_input_stream_got_headers):
1629         (webkit_soup_http_input_stream_got_chunk):
1630         (webkit_soup_http_input_stream_finished):
1631         (webkit_soup_http_input_stream_cancelled):
1632         (webkit_soup_http_input_stream_prepare_for_io):
1633         (webkit_soup_http_input_stream_done_io):
1634         (set_error_if_http_failed):
1635         (read_from_leftover):
1636         (webkit_soup_http_input_stream_send_internal):
1637         (send_sync_finished):
1638         (webkit_soup_http_input_stream_send):
1639         (webkit_soup_http_input_stream_read):
1640         (webkit_soup_http_input_stream_close):
1641         (wrapper_callback):
1642         (send_async_thread):
1643         (webkit_soup_http_input_stream_send_async_in_thread):
1644         (send_async_finished):
1645         (webkit_soup_http_input_stream_send_async_internal):
1646         (webkit_soup_http_input_stream_send_async):
1647         (webkit_soup_http_input_stream_send_finish):
1648         (read_async_done):
1649         (webkit_soup_http_input_stream_read_async):
1650         (webkit_soup_http_input_stream_read_finish):
1651         (webkit_soup_http_input_stream_close_async):
1652         (webkit_soup_http_input_stream_close_finish):
1653         (webkit_soup_http_input_stream_tell):
1654         (webkit_soup_http_input_stream_can_seek):
1655         (webkit_soup_http_input_stream_seek):
1656         (webkit_soup_http_input_stream_can_truncate):
1657         (webkit_soup_http_input_stream_truncate):
1658         (webkit_soup_http_input_stream_get_message):
1659         * platform/network/soup/cache/soup-http-input-stream.h: Added.
1660         * platform/network/soup/cache/soup-request-data.c: Added.
1661         (webkit_soup_request_data_init):
1662         (webkit_soup_request_data_finalize):
1663         (webkit_soup_request_data_check_uri):
1664         (uri_decoded_copy):
1665         (webkit_soup_request_data_send):
1666         (webkit_soup_request_data_get_content_length):
1667         (webkit_soup_request_data_get_content_type):
1668         (webkit_soup_request_data_class_init):
1669         * platform/network/soup/cache/soup-request-data.h: Added.
1670         * platform/network/soup/cache/soup-request-file.c: Added.
1671         (webkit_soup_request_file_get_file):
1672         (webkit_soup_request_file_init):
1673         (webkit_soup_request_file_finalize):
1674         (webkit_soup_request_file_check_uri):
1675         (webkit_soup_request_file_ftp_main_loop_quit):
1676         (webkit_soup_request_file_ensure_file_ftp):
1677         (webkit_soup_request_file_ensure_file):
1678         (webkit_soup_request_file_send):
1679         (webkit_soup_request_file_send_async_thread):
1680         (webkit_soup_request_file_send_async):
1681         (webkit_soup_request_file_send_finish):
1682         (webkit_soup_request_file_get_content_length):
1683         (webkit_soup_request_file_get_content_type):
1684         (webkit_soup_request_file_class_init):
1685         * platform/network/soup/cache/soup-request-file.h: Added.
1686         * platform/network/soup/cache/soup-request-http.c: Added.
1687         (webkit_soup_request_http_get_message):
1688         (webkit_soup_request_http_init):
1689         (webkit_soup_request_http_check_uri):
1690         (webkit_soup_request_http_finalize):
1691         (webkit_soup_request_http_send):
1692         (sent_async):
1693         (conditional_get_ready_cb):
1694         (send_async_cb):
1695         (webkit_soup_request_http_send_async):
1696         (webkit_soup_request_http_send_finish):
1697         (webkit_soup_request_http_get_content_length):
1698         (webkit_soup_request_http_get_content_type):
1699         (webkit_soup_request_http_class_init):
1700         * platform/network/soup/cache/soup-request-http.h: Added.
1701         * platform/network/soup/cache/soup-request.c: Added.
1702         (webkit_soup_request_init):
1703         (webkit_soup_request_finalize):
1704         (webkit_soup_request_set_property):
1705         (webkit_soup_request_get_property):
1706         (webkit_soup_request_initable_init):
1707         (webkit_soup_request_default_check_uri):
1708         (webkit_soup_request_default_send_async):
1709         (webkit_soup_request_default_send_finish):
1710         (webkit_soup_request_send):
1711         (webkit_soup_request_send_async):
1712         (webkit_soup_request_send_finish):
1713         (webkit_soup_request_class_init):
1714         (webkit_soup_request_initable_interface_init):
1715         (webkit_soup_request_get_uri):
1716         (webkit_soup_request_get_session):
1717         (webkit_soup_request_get_content_length):
1718         (webkit_soup_request_get_content_type):
1719         * platform/network/soup/cache/soup-request.h: Added.
1720         * platform/network/soup/cache/soup-requester.c: Added.
1721         (webkit_soup_requester_init):
1722         (finalize):
1723         (webkit_soup_requester_class_init):
1724         (init_request_types):
1725         (webkit_soup_requester_new):
1726         (webkit_soup_requester_request):
1727         (webkit_soup_requester_request_uri):
1728         (webkit_soup_scheme_is_valid):
1729         (webkit_soup_requester_add_protocol):
1730         (webkit_soup_requester_remove_protocol):
1731         (webkit_soup_error_quark):
1732         * platform/network/soup/cache/soup-requester.h: Added.
1733         * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
1734         * platform/network/soup/cache/webkit/soup-cache.c: Added.
1735         (get_cacheability):
1736         (webkit_soup_cache_entry_free):
1737         (copy_headers):
1738         (update_headers):
1739         (webkit_soup_cache_entry_get_current_age):
1740         (webkit_soup_cache_entry_is_fresh_enough):
1741         (webkit_soup_message_get_cache_key):
1742         (webkit_soup_cache_entry_set_freshness):
1743         (webkit_soup_cache_entry_new):
1744         (webkit_soup_cache_writing_fixture_free):
1745         (close_ready_cb):
1746         (write_ready_cb):
1747         (msg_got_chunk_cb):
1748         (msg_got_body_cb):
1749         (webkit_soup_cache_entry_delete):
1750         (lru_compare_func):
1751         (cache_accepts_entries_of_size):
1752         (make_room_for_new_entry):
1753         (webkit_soup_cache_entry_insert_by_key):
1754         (msg_restarted_cb):
1755         (append_to_ready_cb):
1756         (msg_got_headers_cb):
1757         (webkit_soup_cache_send_response):
1758         (request_started):
1759         (attach):
1760         (webkit_soup_cache_session_feature_init):
1761         (webkit_soup_cache_init):
1762         (webkit_soup_cache_finalize):
1763         (webkit_soup_cache_set_property):
1764         (webkit_soup_cache_get_property):
1765         (webkit_soup_cache_constructed):
1766         (webkit_soup_cache_type_get_type):
1767         (webkit_soup_cache_class_init):
1768         (webkit_soup_cache_new):
1769         (webkit_soup_cache_has_response):
1770         (webkit_soup_cache_get_cacheability):
1771         (force_flush_timeout):
1772         (webkit_soup_cache_flush):
1773         (remove_cache_item):
1774         (webkit_soup_cache_clear):
1775         (webkit_soup_cache_generate_conditional_request):
1776         (pack_entry):
1777         (webkit_soup_cache_dump):
1778         (webkit_soup_cache_load):
1779         (webkit_soup_cache_set_max_size):
1780         (webkit_soup_cache_get_max_size):
1781         * platform/network/soup/cache/webkit/soup-cache.h: Added.
1782
1783 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
1784
1785         Chromium build fix.
1786
1787         * bindings/v8/ScriptProfiler.cpp:
1788
1789 2010-10-13  Chris Evans  <cevans@google.com>
1790
1791         Reviewed by Jian Li.
1792
1793         Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
1794         https://bugs.webkit.org/show_bug.cgi?id=47382
1795
1796         Fix integer overflow errors in Blob.slice and BlobBuilder.append.
1797
1798         Test: fast/files/blob-slice-overflow.html
1799
1800         * fileapi/Blob.cpp:
1801         (WebCore::Blob::slice): handle integer overflow properly.
1802         * fileapi/BlobBuilder.cpp:
1803         (WebCore::BlobBuilder::append): use correct type for vector length.
1804
1805 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
1806
1807         Build fix - remove some redundant references to ScriptString.
1808
1809         * WebCore.gypi:
1810         * WebCore.pro:
1811         * bindings/v8/ScriptProfiler.cpp:
1812
1813 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
1814
1815         Reviewed by Oliver Hunt.
1816
1817         Bug 47621 - Remove bindings/v8/ScriptString
1818         This is now redundant.
1819
1820         * bindings/v8/ScriptCallFrame.h:
1821         (WebCore::ScriptCallFrame::functionName):
1822         * bindings/v8/ScriptFunctionCall.cpp:
1823         * bindings/v8/ScriptFunctionCall.h:
1824         * bindings/v8/ScriptString.h: Removed.
1825         * bindings/v8/ScriptStringImpl.cpp: Removed.
1826         * bindings/v8/ScriptStringImpl.h: Removed.
1827
1828 2010-10-13  Anders Carlsson  <andersca@apple.com>
1829
1830         Reviewed by John Sullivan.
1831
1832         Draw the find overlay holes
1833         https://bugs.webkit.org/show_bug.cgi?id=47631
1834
1835         Export symbols needed by WebKit2.
1836
1837         * WebCore.exp.in:
1838
1839 2010-10-13  James Simonsen  <simonjam@chromium.org>
1840
1841         Reviewed by Darin Adler.
1842
1843         Implement onreadystatechange event handler for Documents
1844         https://bugs.webkit.org/show_bug.cgi?id=26140
1845
1846         Test: fast/dom/Document/readystate.html
1847
1848         * dom/Document.cpp:
1849         (WebCore::Document::setReadyState): Fire readystatechangeevent.
1850         (WebCore::Document::open): Clear event listeners.
1851         * dom/Document.h: Add readystatechange event.
1852         * dom/Document.idl: Ditto.
1853
1854 2010-10-13  Chris Fleizach  <cfleizach@apple.com>
1855
1856         Reviewed by Beth Dakin.
1857
1858         AX: accessibilityIsIgnored not respected on ARIA tables
1859         https://bugs.webkit.org/show_bug.cgi?id=47564
1860
1861         For platforms that ignore column headers and header container objects (everything
1862         except Mac) on accessibility tables, that choice needs to be respected in 
1863         ARIA tables as well.
1864
1865         GTK is the only open platform doing this, so I'll have to collect the result of this 
1866         test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
1867
1868         Test: platform/gtk/accessibility/aria-table-hierarchy.html
1869
1870         * accessibility/AccessibilityARIAGrid.cpp:
1871         (WebCore::AccessibilityARIAGrid::addChildren):
1872
1873 2010-10-13  Victoria Kirst  <vrk@google.com>
1874
1875         Reviewed by James Robinson.
1876
1877         No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
1878         https://bugs.webkit.org/show_bug.cgi?id=47432
1879
1880         * platform/graphics/chromium/VideoLayerChromium.cpp:
1881         (WebCore::VideoLayerChromium::cleanupResources):
1882
1883 2010-10-13  Leandro Pereira  <leandro@profusion.mobi>
1884
1885         [EFL] Unreviewed. Build fix.
1886
1887         * CMakeLists.txt: Add ContextShadow.cpp.
1888         * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
1889
1890 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
1891
1892         Reviewed by Holger Freyther.
1893
1894         [GTK] r69681 caused some tests to crash
1895         https://bugs.webkit.org/show_bug.cgi?id=47622
1896
1897         Properly initialize m_layerContext on the ContextShadow so that in situations
1898         where beginShadowLayer bails out early with a null return value, it is set
1899         to null. This may happen when the first call to beginShadowLayer on a particular
1900         ContextShadow uses a region which is entirely outside the clip region or which
1901         is empty.
1902
1903         * platform/graphics/cairo/ContextShadow.cpp:
1904         (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
1905
1906 2010-10-13  Anders Carlsson  <andersca@apple.com>
1907
1908         Reviewed by Beth Dakin.
1909
1910         Don't set the fill/stroke colorspace before filling/stroking
1911         https://bugs.webkit.org/show_bug.cgi?id=47619
1912
1913         Setting the colorspace has the side-effect of setting the color to black, which is
1914         not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
1915
1916         Pixel tests show no regressions from this change.
1917
1918         * platform/graphics/cg/GraphicsContextCG.cpp:
1919         (WebCore::GraphicsContext::fillPath):
1920         (WebCore::GraphicsContext::strokePath):
1921         (WebCore::GraphicsContext::fillRect):
1922         (WebCore::GraphicsContext::strokeRect):
1923
1924 2010-10-13  Brent Fulgham  <bfulgham@webkit.org>
1925
1926         Unreviewed WinCairo build fix.
1927         New ContextShadow class not built for Windows builds.
1928
1929         * WebCore.vcproj/WebCore.vcproj: Add missing files for
1930         building ContextShadow on WinCairo.
1931         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1932         Add missing include for ContextShadow definition.
1933
1934 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
1935
1936         Chromium build fix pt1.
1937
1938         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1939         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
1940
1941 2010-10-13  Anders Carlsson  <andersca@apple.com>
1942
1943         Reviewed by Sam Weinig.
1944
1945         Send over find indicator information to the UI process
1946         https://bugs.webkit.org/show_bug.cgi?id=47612
1947
1948         Export symbols needed by WebKit2.
1949
1950         * WebCore.exp.in:
1951
1952 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
1953
1954         Reviewed by Oliver Hunt.
1955
1956         https://bugs.webkit.org/show_bug.cgi?id=43987
1957         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
1958         to construct their internal result string.  Remove ScriptString (this is now
1959         redundant).
1960
1961         * WebCore.xcodeproj/project.pbxproj:
1962         * bindings/js/JSDOMBinding.cpp:
1963         (WebCore::jsOwnedStringOrNull):
1964         * bindings/js/JSDOMBinding.h:
1965         * bindings/js/JSXMLHttpRequestCustom.cpp:
1966         (WebCore::JSXMLHttpRequest::responseText):
1967         * bindings/js/ScriptCallFrame.cpp:
1968         (WebCore::ScriptCallFrame::ScriptCallFrame):
1969         * bindings/js/ScriptCallFrame.h:
1970         (WebCore::ScriptCallFrame::functionName):
1971         * bindings/js/ScriptCallStack.h:
1972         * bindings/js/ScriptFunctionCall.cpp:
1973         * bindings/js/ScriptFunctionCall.h:
1974         * bindings/js/ScriptString.h: Removed.
1975         * dom/ScriptExecutionContext.h:
1976         * fileapi/FileReader.cpp:
1977         (WebCore::FileReader::FileReader):
1978         (WebCore::FileReader::abort):
1979         (WebCore::FileReader::didReceiveData):
1980         (WebCore::FileReader::result):
1981         (WebCore::FileReader::convertToText):
1982         (WebCore::FileReader::convertToDataURL):
1983         * fileapi/FileReader.h:
1984         * fileapi/FileReaderSync.cpp:
1985         (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
1986         (WebCore::FileReaderSyncLoader::didReceiveData):
1987         (WebCore::FileReaderSync::readAsBinaryString):
1988         (WebCore::FileReaderSync::readAsText):
1989         (WebCore::FileReaderSync::readAsDataURL):
1990         (WebCore::FileReaderSync::read):
1991         (WebCore::FileReaderSync::convertToText):
1992         * fileapi/FileReaderSync.h:
1993         (WebCore::FileReaderSync::readAsText):
1994         (WebCore::FileReaderSync::FileReaderSync):
1995         * inspector/InspectorController.cpp:
1996         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1997         (WebCore::InspectorController::scriptImported):
1998         * inspector/InspectorController.h:
1999         * inspector/InspectorResource.cpp:
2000         (WebCore::InspectorResource::setOverrideContent):
2001         * inspector/InspectorResource.h:
2002         * loader/FrameLoader.cpp:
2003         * loader/FrameLoader.h:
2004         * loader/FrameLoaderClient.h:
2005         * loader/ResourceLoadNotifier.h:
2006         * workers/WorkerScriptLoader.h:
2007         * xml/XMLHttpRequest.cpp:
2008         (WebCore::XMLHttpRequest::XMLHttpRequest):
2009         (WebCore::XMLHttpRequest::responseText):
2010         (WebCore::XMLHttpRequest::responseXML):
2011         (WebCore::XMLHttpRequest::abort):
2012         (WebCore::XMLHttpRequest::clearResponse):
2013         (WebCore::XMLHttpRequest::dropProtection):
2014         (WebCore::XMLHttpRequest::didFinishLoading):
2015         (WebCore::XMLHttpRequest::didReceiveData):
2016         * xml/XMLHttpRequest.h:
2017
2018 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2019
2020         Reviewed by Oliver Hunt.
2021
2022         Bug 43987 - Downloading using XHR is much slower than before
2023
2024         * svg/SVGPathStringBuilder.cpp:
2025         (WebCore::SVGPathStringBuilder::result):
2026             StringBuilder::size() -> StringBuilder::length().
2027
2028 2010-10-13  Yong Li  <yoli@rim.com>
2029
2030         Reviewed by Oliver Hunt.
2031
2032         Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
2033         that can result crash on ARM (<v6).
2034         https://bugs.webkit.org/show_bug.cgi?id=47594
2035
2036         No new test added, because the crash can be produced by existing tests like:
2037         LayoutTests/fast/events/message-channel-gc-4.html
2038
2039         * bindings/js/SerializedScriptValue.cpp:
2040         (WebCore::CloneDeserializer::readLittleEndian):
2041         (WebCore::CloneDeserializer::readString):
2042
2043 2010-10-06  Martin Robinson  <mrobinson@igalia.com>
2044
2045         Reviewed by Dirk Schulze.
2046
2047         [Cairo] Activate ContextShadow in all places where shadows are drawn
2048         https://bugs.webkit.org/show_bug.cgi?id=46475
2049
2050         Turn on ContextShadow for the Cairo port and remove all old shadow code.
2051         Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
2052
2053         * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
2054         * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
2055         (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
2056         on the specified cairo_t to prepare for drawing glyphs.
2057         (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
2058         while properly handling glyphs with synthetic bold.
2059         (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
2060         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2061         (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
2062         argument specifying whether to fill or stroke the solid figure for the shadow.
2063         (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
2064         (WebCore::strokeCurrentCairoPath): Ditto.
2065         (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
2066         (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
2067         (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
2068         (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
2069         (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
2070         (WebCore::GraphicsContext::contextShadow): Added.
2071         (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
2072         (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
2073         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2074         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
2075         * platform/graphics/cairo/ImageCairo.cpp:
2076         (WebCore::BitmapImage::draw): Updated to use ContextShadow.
2077
2078 2010-10-13  John Knottenbelt  <jknotten@chromium.org>
2079
2080         Reviewed by Steve Block.
2081
2082         First step towards client-based Geolocation in Chromium. Build
2083         fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
2084         https://bugs.webkit.org/show_bug.cgi?id=47586
2085
2086         * WebCore.gyp/WebCore.gyp:
2087         * platform/chromium/ChromiumBridge.h:
2088         * platform/chromium/GeolocationServiceChromium.cpp:
2089
2090 2010-10-13  Steve Block  <steveblock@google.com>
2091
2092         Unreviewed fix
2093
2094         Need to check for the existence of DeviceOrientation and DeviceMotion controllers
2095
2096         These features can be disabled at run time, so an enable guard is not sufficient.
2097         This bug was introduced in http://trac.webkit.org/changeset/69646
2098
2099         Tested with existing tests.
2100
2101         * history/PageCache.cpp:
2102         (WebCore::logCanCachePageDecision):
2103         (WebCore::PageCache::canCache):
2104
2105 2010-10-13  Yury Semikhatsky  <yurys@chromium.org>
2106
2107         Reviewed by Pavel Feldman.
2108
2109         Web Inspector: stack information is inconsistent between console.trace and runtime errors.
2110         https://bugs.webkit.org/show_bug.cgi?id=47252
2111
2112         * console.trace() is now formatted the same way as other stack traces
2113
2114         * If there is //@ sourceURL=url line at the end of eval'ed script source
2115         the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
2116         type has changed from KURL to String.
2117
2118         Tests: inspector/console-trace-in-eval.html
2119                inspector/console-uncaught-exception-in-eval.html
2120
2121         * bindings/js/ScriptCallFrame.cpp:
2122         (WebCore::ScriptCallFrame::ScriptCallFrame):
2123         * bindings/js/ScriptCallFrame.h:
2124         (WebCore::ScriptCallFrame::sourceURL):
2125         * bindings/v8/ScriptCallFrame.cpp:
2126         (WebCore::ScriptCallFrame::ScriptCallFrame):
2127         * bindings/v8/ScriptCallFrame.h:
2128         (WebCore::ScriptCallFrame::sourceURL):
2129         * bindings/v8/ScriptCallStack.cpp:
2130         (WebCore::getFrameLocation):
2131         (WebCore::ScriptCallStack::create):
2132         * bindings/v8/ScriptCallStack.h:
2133         * bindings/v8/ScriptController.cpp:
2134         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2135         * bindings/v8/custom/V8ConsoleCustom.cpp:
2136         (WebCore::V8Console::traceCallback):
2137         * inspector/ConsoleMessage.cpp:
2138         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
2139         (WebCore::ConsoleMessage::ConsoleMessage):
2140         * inspector/ConsoleMessage.h:
2141         * inspector/front-end/ConsoleView.js:
2142         (WebInspector.ConsoleMessage.prototype._formatMessage):
2143         * page/Console.cpp:
2144         (WebCore::Console::addMessage):
2145         (WebCore::Console::count):
2146         (WebCore::Console::timeEnd):
2147
2148 2010-10-13  Kent Tamura  <tkent@chromium.org>
2149
2150         Unreviewed, a trivial change.
2151
2152         Run sort-Xcode-project-file.
2153
2154         * WebCore.xcodeproj/project.pbxproj:
2155
2156 2010-10-13  Yael Aharon  <yael.aharon@nokia.com>
2157
2158         Reviewed by Andreas Kling.
2159
2160         Wrong ASSERT when select element has size 0
2161         https://bugs.webkit.org/show_bug.cgi?id=47567
2162
2163         Keep the ASSERT only if the size of the element list is more than 0
2164         Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
2165
2166         * dom/SelectElement.cpp:
2167         (WebCore::SelectElement::updateListBoxSelection):
2168         (WebCore::SelectElement::listBoxDefaultEventHandler):
2169
2170 2010-10-13  Steve Block  <steveblock@google.com>
2171
2172         Reviewed by Alexey Proskuryakov.
2173
2174         Pages using DeviceOrientation and DeviceMotion should not go into the page cache
2175         https://bugs.webkit.org/show_bug.cgi?id=47408
2176
2177         Tests: fast/dom/DeviceMotion/no-page-cache.html
2178                fast/dom/DeviceOrientation/no-page-cache.html
2179
2180         * dom/DeviceMotionController.h:
2181         (WebCore::DeviceMotionController::isActive):
2182         * dom/DeviceOrientationController.h:
2183         (WebCore::DeviceOrientationController::isActive):
2184         * history/PageCache.cpp:
2185         (WebCore::logCanCachePageDecision):
2186         (WebCore::PageCache::canCache):
2187         * page/Page.cpp:
2188
2189 2010-10-13  Jenn Braithwaite  <jennb@chromium.org>
2190
2191         Reviewed by Dmitry Titov.
2192
2193         Make resource identifiers unique across pages
2194         https://bugs.webkit.org/show_bug.cgi?id=47002
2195
2196         Test: http/tests/misc/iframe-reparenting-id-collision.html
2197
2198         * loader/ProgressTracker.cpp:
2199         (WebCore::ProgressTracker::ProgressTracker):
2200         (WebCore::ProgressTracker::createUniqueIdentifier):
2201         * loader/ProgressTracker.h:
2202
2203 2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
2204
2205         Reviewed by David Hyatt.
2206
2207         Bug 41040 - :before/:after content should not become part of a ruby base
2208         https://bugs.webkit.org/show_bug.cgi?id=41040
2209
2210         Also related to:
2211         https://bugs.webkit.org/show_bug.cgi?id=40895.
2212         https://bugs.webkit.org/show_bug.cgi?id=43722.
2213
2214         Explicitly handle :before and :after content in the default way.
2215
2216         Test: fast/ruby/ruby-beforeafter.html
2217               fast/ruby/after-doesnt-crash.html
2218
2219         * rendering/RenderObject.h:
2220         (WebCore::RenderObject::isBeforeContent):
2221         * rendering/RenderRuby.cpp:
2222         (WebCore::lastRubyRun):
2223         (WebCore::RenderRubyAsInline::addChild):
2224         (WebCore::RenderRubyAsInline::removeChild):
2225         (WebCore::RenderRubyAsBlock::addChild):
2226         (WebCore::RenderRubyAsBlock::removeChild):
2227
2228 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2229
2230         Unreviewed, rolling out r69639.
2231         http://trac.webkit.org/changeset/69639
2232         https://bugs.webkit.org/show_bug.cgi?id=47575
2233
2234         "regressed nav-element.html" (Requested by rniwa on #webkit).
2235
2236         * editing/ApplyBlockElementCommand.cpp:
2237         (WebCore::ApplyBlockElementCommand::formatSelection):
2238         * editing/EditorCommand.cpp:
2239         (WebCore::executeFormatBlock):
2240         * editing/FormatBlockCommand.cpp:
2241         (WebCore::FormatBlockCommand::formatRange):
2242         * editing/FormatBlockCommand.h:
2243         (WebCore::FormatBlockCommand::editingAction):
2244         * editing/VisiblePosition.cpp:
2245         (WebCore::enclosingBlockFlowElement):
2246         * editing/VisiblePosition.h:
2247         * editing/htmlediting.cpp:
2248         (WebCore::validBlockTag):
2249         * editing/htmlediting.h:
2250
2251 2010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
2252
2253         Reviewed by Tony Chang.
2254
2255         execCommand FormatBlock creates lots of blockquotes
2256         https://bugs.webkit.org/show_bug.cgi?id=19795
2257
2258         The bug was caused by WebKit's not reusing the block node added by previous iteration
2259         and its inserting block node at wrong places.
2260
2261         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
2262         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
2263         avoids the existing block elements when replacing blocks and it also adds a placeholder
2264         when removing the existing block caused paragraphs to collapse.
2265
2266         Tests: editing/execCommand/format-block-multiple-paragraphs.html
2267                editing/execCommand/format-block-table.html
2268
2269         * editing/EditorCommand.cpp:
2270         (WebCore::executeFormatBlock):
2271         * editing/FormatBlockCommand.cpp:
2272         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
2273         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
2274         and moved from htmlediting.cpp.
2275         (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
2276         * editing/FormatBlockCommand.h:
2277         * editing/VisiblePosition.cpp:
2278         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
2279         * editing/VisiblePosition.h:
2280
2281 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
2282
2283         Reviewed by Anders Carlsson.
2284
2285         Make PluginView inherit from PluginViewBase.
2286
2287         This change is a precursor to adding accelerated compositing support
2288         for NPAPI plugins.
2289
2290         https://bugs.webkit.org/show_bug.cgi?id=47418
2291
2292         * page/Page.cpp:
2293         (WebCore::Page::privateBrowsingStateChanged):
2294         * plugins/PluginView.h:
2295         * plugins/PluginViewBase.h:
2296         (WebCore::PluginViewBase::PluginViewBase):
2297
2298 2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
2299
2300         Reviewed by Jian Li.
2301
2302         Pass platform path (rather than virtual path) when creating File from FileEntry
2303         https://bugs.webkit.org/show_bug.cgi?id=47563
2304
2305         No new tests, the new test for FileWriter will be verifying this.
2306
2307         * fileapi/FileEntry.cpp:
2308         (WebCore::FileEntry::file):
2309
2310 2010-10-12 David Hyatt  <hyatt@apple.com>
2311
2312         Reviewed by Dan Bernstein
2313
2314         <rdar://problem/8488444> REGRESSION (r67771)
2315         https://bugs.webkit.org/show_bug.cgi?id=47434
2316         Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
2317         
2318         Added printing/simultaneous-position-float-change.html
2319
2320         Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
2321         objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
2322         changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
2323         automatically mark themselves as needing layout.
2324
2325         * rendering/LayoutState.cpp:
2326         (WebCore::LayoutState::LayoutState):
2327         * rendering/LayoutState.h:
2328         (WebCore::LayoutState::LayoutState):
2329         (WebCore::LayoutState::pageHeight):
2330         (WebCore::LayoutState::pageHeightChanged):
2331         * rendering/RenderBlock.cpp:
2332         (WebCore::RenderBlock::layoutBlock):
2333         (WebCore::RenderBlock::layoutBlockChild):
2334         (WebCore::RenderBlock::layoutPositionedObjects):
2335         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2336         (WebCore::RenderBlock::insertFloatingObject):
2337         (WebCore::RenderBlock::positionNewFloats):
2338         * rendering/RenderBlock.h:
2339         * rendering/RenderBox.cpp:
2340         * rendering/RenderBox.h:
2341         (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
2342         * rendering/RenderFlexibleBox.cpp:
2343         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2344         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2345         * rendering/RenderView.cpp:
2346         (WebCore::RenderView::RenderView):
2347         (WebCore::RenderView::layout):
2348         * rendering/RenderView.h:
2349         (WebCore::RenderView::setPageHeight):
2350         (WebCore::RenderView::pushLayoutState):
2351         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2352         (WebCore::LayoutStateMaintainer::push):
2353
2354 2010-10-12  Anders Carlsson  <andersca@apple.com>
2355
2356         Reviewed by Dan Bernstein.
2357
2358         Paint the find overlay background
2359         https://bugs.webkit.org/show_bug.cgi?id=47565
2360
2361         Export symbols required by WebKit2.
2362
2363         * WebCore.exp.in:
2364
2365 2010-10-12  James Robinson  <jamesr@chromium.org>
2366
2367         Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
2368
2369         * platform/graphics/chromium/LayerRendererChromium.cpp:
2370         (WebCore::LayerRendererChromium::create):
2371         (WebCore::LayerRendererChromium::LayerRendererChromium):
2372         * platform/graphics/chromium/LayerRendererChromium.h:
2373
2374 2010-10-12  Chris Marrin  <cmarrin@apple.com>
2375
2376         Reviewed by Darin Adler.
2377
2378         Manage DrawingBuffer lifetime in GraphicsContext3D
2379         https://bugs.webkit.org/show_bug.cgi?id=47501
2380
2381         GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
2382         has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
2383         DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
2384         refers to GraphicsContext3D rather than SharedGraphicsContext3D.
2385
2386         * html/canvas/CanvasRenderingContext2D.cpp:
2387         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2388         * html/canvas/CanvasRenderingContext2D.h:
2389         * html/canvas/WebGLRenderingContext.cpp:
2390         (WebCore::WebGLRenderingContext::create):
2391         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2392         * html/canvas/WebGLRenderingContext.h:
2393         * platform/graphics/GraphicsContext3D.cpp:
2394         (WebCore::GraphicsContext3D::createDrawingBuffer):
2395         * platform/graphics/GraphicsContext3D.h:
2396         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2397         (WebCore::generateColorTexture):
2398         (WebCore::DrawingBuffer::DrawingBuffer):
2399         (WebCore::DrawingBuffer::~DrawingBuffer):
2400         (WebCore::DrawingBuffer::publishToPlatformLayer):
2401         (WebCore::DrawingBuffer::reset):
2402         * platform/graphics/gpu/DrawingBuffer.cpp:
2403         (WebCore::DrawingBuffer::create):
2404         (WebCore::DrawingBuffer::clear):
2405         (WebCore::DrawingBuffer::bind):
2406         * platform/graphics/gpu/DrawingBuffer.h:
2407         (WebCore::DrawingBuffer::graphicsContext3D):
2408         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2409         (WebCore::SharedGraphicsContext3D::create):
2410         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
2411         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2412         (WebCore::SharedGraphicsContext3D::graphicsContext3D):
2413         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2414         (WebCore::DrawingBuffer::DrawingBuffer):
2415         (WebCore::DrawingBuffer::~DrawingBuffer):
2416         (WebCore::DrawingBuffer::reset):
2417         * platform/graphics/mac/GraphicsContext3DMac.mm:
2418         (WebCore::GraphicsContext3D::create):
2419
2420 2010-10-12  Jian Li  <jianli@chromium.org>
2421
2422         Reviewed by David Levin.
2423
2424         Fix passing blob data with string data item between threads.
2425         https://bugs.webkit.org/show_bug.cgi?id=46543
2426
2427         The fix is to use a thread-safe ref-counted Vector<char> to store the
2428         string data. This also makes us be able to store any binary data in it.
2429
2430         I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
2431         copies to make blob handling faster.
2432
2433         * fileapi/BlobBuilder.cpp:
2434         (WebCore::BlobBuilder::append):
2435         * fileapi/ThreadableBlobRegistry.cpp:
2436         (WebCore::BlobRegistryContext::BlobRegistryContext):
2437         * platform/network/BlobData.cpp:
2438         (WebCore::BlobDataItem::RawData::RawData):
2439         (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
2440         (WebCore::BlobDataItem::detachFromCurrentThread):
2441         (WebCore::BlobData::create):
2442         (WebCore::BlobData::detachFromCurrentThread):
2443         (WebCore::BlobData::appendData):
2444         * platform/network/BlobData.h:
2445         (WebCore::BlobDataItem::RawData::create):
2446         (WebCore::BlobDataItem::RawData::data):
2447         (WebCore::BlobDataItem::RawData::length):
2448         (WebCore::BlobDataItem::RawData::mutableData):
2449         (WebCore::BlobDataItem::BlobDataItem):
2450         * platform/network/BlobRegistryImpl.cpp:
2451         (WebCore::BlobRegistryImpl::registerBlobURL):
2452         * platform/network/BlobResourceHandle.cpp:
2453         (WebCore::BlobResourceHandle::readDataSync):
2454         (WebCore::BlobResourceHandle::readDataAsync):
2455         * platform/network/mac/FormDataStreamMac.mm:
2456         (WebCore::setHTTPBody):
2457         * platform/text/LineEnding.cpp:
2458         (OutputBuffer::CStringBuffer::CStringBuffer):
2459         (OutputBuffer::CStringBuffer::~CStringBuffer):
2460         (OutputBuffer::CStringBuffer::allocate):
2461         (OutputBuffer::CStringBuffer::copy):
2462         (OutputBuffer::CStringBuffer::buffer):
2463         (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
2464         (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
2465         (OutputBuffer::VectorCharAppendBuffer::allocate):
2466         (OutputBuffer::VectorCharAppendBuffer::copy):
2467         (OutputBuffer::internalNormalizeLineEndingsToCRLF):
2468         (WebCore::normalizeToCROrLF):
2469         (WebCore::normalizeLineEndingsToCRLF):
2470         (WebCore::normalizeLineEndingsToCR):
2471         (WebCore::normalizeLineEndingsToLF):
2472         (WebCore::normalizeLineEndingsToNative):
2473         * platform/text/LineEnding.h:
2474
2475 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2476
2477         Unreviewed, rolling out r69589.
2478         http://trac.webkit.org/changeset/69589
2479         https://bugs.webkit.org/show_bug.cgi?id=47547
2480
2481         Wrong patch landed from a bug with two patches (Requested by
2482         mrobinson on #webkit).
2483
2484         * platform/network/ResourceHandleInternal.h:
2485         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2486         * platform/network/soup/ResourceHandleSoup.cpp:
2487         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2488         (WebCore::ResourceHandle::~ResourceHandle):
2489         (WebCore::restartedCallback):
2490         (WebCore::gotChunkCallback):
2491         (WebCore::finishedCallback):
2492         (WebCore::parseDataUrl):
2493         (WebCore::startHttp):
2494         * platform/network/soup/ResourceRequest.h:
2495         * platform/network/soup/ResourceRequestSoup.cpp:
2496
2497 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
2498
2499         Screen.availLeft should be signed
2500         https://bugs.webkit.org/show_bug.cgi?id=34397
2501         
2502         Add the manual test missed in r69599.
2503
2504         * manual-tests/screen-availLeft.html: Added.
2505
2506 2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
2507
2508         Reviewed by Ariya Hidayat.
2509
2510         [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
2511
2512         Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
2513         quirk is enabled only for 64-bit Flash/X11 and should not affect other
2514         plugins. The freeze itself is in Flash code and the backtrace is not
2515         useful.
2516
2517         https://bugs.webkit.org/show_bug.cgi?id=47545
2518
2519         * plugins/PluginPackage.cpp:
2520         (WebCore::PluginPackage::determineQuirks):
2521         * plugins/PluginQuirkSet.h:
2522         * plugins/qt/PluginViewQt.cpp:
2523         (WebCore::PluginView::handleMouseEvent):
2524
2525 2010-10-08  Simon Fraser  <simon.fraser@apple.com>
2526
2527         Reviewed by Alexey Proskuryakov.
2528
2529         Screen.availLeft should be signed
2530         https://bugs.webkit.org/show_bug.cgi?id=34397
2531
2532         For the screen to the left of the main screen, screen.availLeft
2533         can be negative, so the Screen API needs to use signed numbers
2534         for availLeft and availTop.
2535
2536         * manual-tests/screen-availLeft.html: Added.
2537         * page/Screen.cpp:
2538         (WebCore::Screen::availLeft):
2539         (WebCore::Screen::availTop):
2540         * page/Screen.h:
2541         * page/Screen.idl:
2542
2543 2010-10-12  Anders Carlsson  <andersca@apple.com>
2544
2545         Reviewed by Sam Weinig.
2546
2547         Add FindController class
2548         https://bugs.webkit.org/show_bug.cgi?id=47555
2549
2550         Export Page::findString.
2551
2552         * WebCore.exp.in:
2553
2554 2010-10-12  Alexey Proskuryakov  <ap@apple.com>
2555
2556         Reviewed by Simon Fraser.
2557
2558         https://bugs.webkit.org/show_bug.cgi?id=47550
2559         <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
2560         (esp. with AdBlock style extensions)
2561
2562         No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
2563
2564         The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
2565         not available yet, so scripting could only attempt to load it recursively.
2566
2567         This didn't affect NPAPI plug-ins, because of a completely different code path taken in
2568         updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
2569
2570         * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
2571         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
2572         * html/HTMLPlugInElement.cpp:
2573         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
2574         (WebCore::HTMLPlugInElement::pluginWidget):
2575         * html/HTMLPlugInElement.h:
2576
2577 2010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
2578
2579         Reviewed by Gavin Barraclough.
2580
2581         Unify JSC::StringBuilder & WebCore::StringBuilder
2582         https://bugs.webkit.org/show_bug.cgi?id=47538
2583
2584         JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
2585         WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
2586         characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
2587         most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
2588         strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
2589
2590         Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
2591         While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
2592
2593         No change in functionality, thus no new tests.
2594
2595         * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
2596         * CMakeLists.txt: Ditto.
2597         * GNUmakefile.am: Ditto. 
2598         * WebCore.gypi: Ditto.
2599         * WebCore.order: Ditto.
2600         * WebCore.pro: Ditto.
2601         * WebCore.vcproj/WebCore.vcproj: Ditto.
2602         * WebCore.xcodeproj/project.pbxproj: Ditto.
2603         * ForwardingHeaders/runtime/StringBuilder.h: Removed.
2604         * ForwardingHeaders/runtime/UStringBuilder.h: Added.
2605         * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
2606         * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
2607         (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
2608         * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
2609         * css/MediaQuery.cpp: Ditto.
2610         * css/MediaQueryExp.cpp: Ditto.
2611         * dom/Node.cpp: Ditto.
2612         (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
2613         * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
2614         * html/DOMTokenList.cpp: Use WTF::StringBuilder.
2615         * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
2616         * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
2617         * platform/brew/FileSystemBrew.cpp: Ditto.
2618         * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
2619         * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
2620         * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
2621         * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
2622         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
2623         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
2624         * platform/network/ProxyServer.cpp:
2625         (WebCore::appendProxyServerString): Use WTF::StringBuilder.
2626         * platform/text/StringBuffer.h: Removed.
2627         * platform/text/StringBuilder.cpp: Removed.
2628         * platform/text/StringBuilder.h: Removed.
2629         * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
2630         * svg/SVGPathParserFactory.cpp: Ditto.
2631         * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
2632         (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
2633         (WebCore::SVGPathStringBuilder::moveTo):
2634         (WebCore::SVGPathStringBuilder::lineTo):
2635         (WebCore::SVGPathStringBuilder::lineToHorizontal):
2636         (WebCore::SVGPathStringBuilder::lineToVertical):
2637         (WebCore::SVGPathStringBuilder::curveToCubic):
2638         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
2639         (WebCore::SVGPathStringBuilder::curveToQuadratic):
2640         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
2641         (WebCore::SVGPathStringBuilder::arcTo):
2642         (WebCore::SVGPathStringBuilder::closePath):
2643         * svg/SVGPathStringBuilder.h:
2644         (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
2645         * websockets/WebSocket.cpp: Use WTF::StringBuilder.
2646         * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
2647
2648 2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2649
2650         Reviewed by Antonio Gomes.
2651
2652         [EFL] Add a missing file in CMakeListEfl.txt
2653         https://bugs.webkit.org/show_bug.cgi?id=47480
2654
2655         IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
2656
2657         * CMakeListsEfl.txt:
2658
2659 2010-10-12  Sam Weinig  <sam@webkit.org>
2660
2661         Reviewed by Anders Carlsson.
2662
2663         Need WebKit2 API to get the cell above a table cell
2664         <rdar://problem/8537111>
2665         https://bugs.webkit.org/show_bug.cgi?id=47532
2666
2667         Re-factor functionality to get the cell above a table cell
2668         into a function on HTMLTableCellElement and export it for use
2669         as SPI.
2670
2671         * WebCore.exp.in:
2672         * WebCore.xcodeproj/project.pbxproj:
2673         * html/HTMLTableCellElement.cpp:
2674         (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
2675         * html/HTMLTableCellElement.h:
2676         * page/Frame.cpp:
2677         (WebCore::Frame::searchForLabelsAboveCell): ...from here.
2678
2679 2010-10-12  Dave Moore  <davemoore@chromium.org>
2680
2681         Reviewed by Tony Chang.
2682
2683         Use new WebThemeEngine api on chromium / linux to draw scrollbars.
2684         https://bugs.webkit.org/show_bug.cgi?id=47473
2685
2686         * platform/chromium/ChromiumBridge.h:
2687         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2688
2689 2010-10-12  Andreas Kling  <kling@webkit.org>
2690
2691         Reviewed by Antonio Gomes.
2692
2693         [Qt] Clipping problem viewing SVG with WebKit
2694         https://bugs.webkit.org/show_bug.cgi?id=29596
2695
2696         SVG path clipping (via GraphicsContext::clipPath()) was done using the
2697         Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
2698         to misrenderings when nesting multiple clip paths.
2699
2700         * platform/graphics/qt/GraphicsContextQt.cpp:
2701         (WebCore::GraphicsContext::clipPath):
2702
2703 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
2704
2705         Reviewed by Pavel Feldman.
2706
2707         Web Inspector: refactoring of native breakpoints.
2708         https://bugs.webkit.org/show_bug.cgi?id=47360
2709
2710         Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
2711         Move stuff that depends on breakpoint type to corresponding subclass.
2712
2713         * inspector/Inspector.idl:
2714         * inspector/InspectorController.cpp:
2715         (WebCore::InspectorController::didCommitLoad):
2716         (WebCore::InspectorController::setNativeBreakpoint):
2717         (WebCore::InspectorController::removeNativeBreakpoint):
2718         (WebCore::InspectorController::findEventListenerBreakpoint):
2719         (WebCore::InspectorController::findXHRBreakpoint):
2720         * inspector/InspectorController.h:
2721         * inspector/InspectorDOMAgent.cpp:
2722         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2723         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2724         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
2725         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2726         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
2727         (WebCore::InspectorDOMAgent::createBreakpointId):
2728         * inspector/InspectorDOMAgent.h:
2729         * inspector/InspectorDebuggerAgent.h:
2730         * inspector/InspectorInstrumentation.cpp:
2731         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2732         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2733         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2734         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2735         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2736         * inspector/front-end/BreakpointManager.js:
2737         (WebInspector.BreakpointManager):
2738         (WebInspector.BreakpointManager.prototype.reset):
2739         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
2740         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
2741         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
2742         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
2743         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
2744         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
2745         (WebInspector.BreakpointManager.prototype.debuggerPaused):
2746         (WebInspector.BreakpointManager.prototype.debuggerResumed):
2747         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
2748         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
2749         (WebInspector.NativeBreakpoint):
2750         (WebInspector.NativeBreakpoint.prototype.remove):
2751         (WebInspector.NativeBreakpoint.prototype.get _frontendId):
2752         (WebInspector.NativeBreakpoint.prototype.get _type):
2753         (WebInspector.NativeBreakpoint.prototype._compare):
2754         (WebInspector.NativeBreakpoint.prototype._onRemove):
2755         (WebInspector.DOMBreakpoint):
2756         (WebInspector.DOMBreakpoint.prototype.click):
2757         (WebInspector.DOMBreakpoint.prototype.compareTo):
2758         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
2759         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
2760         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
2761         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
2762         (WebInspector.DOMBreakpoint.prototype._condition):
2763         (WebInspector.DOMBreakpoint.prototype._onRemove):
2764         (WebInspector.EventListenerBreakpoint):
2765         (WebInspector.EventListenerBreakpoint.prototype.compareTo):
2766         (WebInspector.EventListenerBreakpoint.prototype.label):
2767         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
2768         (WebInspector.EventListenerBreakpoint.prototype._condition):
2769         (WebInspector.XHRBreakpoint):
2770         (WebInspector.XHRBreakpoint.prototype.compareTo):
2771         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
2772         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
2773         (WebInspector.XHRBreakpoint.prototype._condition):
2774         (WebInspector.domBreakpointTypeLabel):
2775         (WebInspector.domBreakpointTypeContextMenuLabel):
2776         * inspector/front-end/BreakpointsSidebarPane.js:
2777         (WebInspector.BreakpointItem):
2778         (WebInspector.BreakpointItem.prototype._breakpointClicked):
2779         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
2780         * inspector/front-end/CallStackSidebarPane.js:
2781         (WebInspector.CallStackSidebarPane):
2782         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
2783         (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
2784         * inspector/front-end/DOMAgent.js:
2785         (WebInspector.DOMNode):
2786         (WebInspector.DOMAgent.prototype._setDocument):
2787         (WebInspector.DOMAgent.prototype._removeBreakpoints):
2788         (WebInspector.childNodeRemoved):
2789         * inspector/front-end/ElementsTreeOutline.js:
2790         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2791         * inspector/front-end/ScriptsPanel.js:
2792         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2793         * inspector/front-end/inspector.js:
2794         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
2795         (WebInspector.createDOMBreakpointsSidebarPane):
2796         (WebInspector.reset):
2797
2798 2010-10-11  Eric Uhrhane  <ericu@chromium.org>
2799
2800         Reviewed by Dumitru Daniliuc.
2801
2802         FileWriter should hold a reference to a Blob during write
2803         https://bugs.webkit.org/show_bug.cgi?id=47318
2804
2805         Without this reference, the Blob might get garbage-collected from JS
2806         before the write has completed, which would be quite unintuitive to the
2807         user.  I just grab a RefPtr to the Blob at write(), then clear it when
2808         we're done.
2809
2810         * fileapi/FileWriter.cpp:
2811         (WebCore::FileWriter::stop):
2812         (WebCore::FileWriter::write):
2813         (WebCore::FileWriter::didWrite):
2814         (WebCore::FileWriter::didFail):
2815         * fileapi/FileWriter.h:
2816
2817 2010-10-11  Michael Saboff  <msaboff@apple.com>
2818
2819         Reviewed by Darin Adler.
2820
2821         Changed DOMWindow to have a constructor.  Updated the code generator
2822         to add security checks to the constructors if CheckDomainSecurity is 
2823         set.  Also changed the constructor generation code to use 
2824         globalObject->prototype() for DOMWindow object prototypes instead
2825         of "self".
2826         https://bugs.webkit.org/show_bug.cgi?id=47422
2827
2828         Test: fast/dom/Window/window-constructor.html
2829
2830         * bindings/scripts/CodeGeneratorJS.pm:
2831         * page/DOMWindow.idl:
2832
2833 2010-10-11  Daniel Cheng  <dcheng@chromium.org>
2834
2835         Reviewed by Tony Chang.
2836
2837         [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
2838         https://bugs.webkit.org/show_bug.cgi?id=44992
2839
2840         In order to allow a graceful transition, ChromiumDataObject has been
2841         reimplemented as a wrapper around the three different types of data
2842         objects that the Chrome port uses:
2843         1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
2844            All the data that ClipboardChromium/DragDataChromium can potentially
2845            use is copied over, regardless of whether or not it is needed.
2846         2. ReadableDataObject -- used for dragging in and pasting into WebKit.
2847            For efficiency, it caches an optimistic list of types it believes it
2848            can handle. When getData() is called, a browser IPC is called to
2849            retrieve the appropriate data.
2850         3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
2851            buffers all data when dragging out of WebKit or copying/cutting.
2852            Unfortunately, there is a difference between dragging out and
2853            copying/cutting--on drag outs, the data is buffered and flushed out
2854            when startDrag() is called. For copy/cut, any calls to setData()
2855            result in a browser IPC right away, so calls to setData() in one
2856            copy/cut event are not atomic.
2857
2858         Copy and paste has been changed to use the new data objects. Dragging
2859         out uses the legacy data object, and dragging in now has two potential
2860         entry points--one using the legacy data object, and one using
2861         ReadableDataObject. Once Chromium transitions to using the new drag-in
2862         interface, the old interface will be removed.
2863
2864         This change is covered by existing tests.
2865
2866         * WebCore.gypi:
2867         * editing/chromium/EditorChromium.cpp:
2868         (WebCore::Editor::newGeneralClipboard):
2869         * page/chromium/EventHandlerChromium.cpp:
2870         (WebCore::EventHandler::createDraggingClipboard):
2871         * platform/chromium/ChromiumDataObject.cpp:
2872         (WebCore::ChromiumDataObject::ChromiumDataObject):
2873         (WebCore::ChromiumDataObject::create):
2874         (WebCore::ChromiumDataObject::createReadable):
2875         (WebCore::ChromiumDataObject::createWritable):
2876         (WebCore::ChromiumDataObject::clearData):
2877         (WebCore::ChromiumDataObject::clearAll):
2878         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2879         (WebCore::ChromiumDataObject::hasData):
2880         (WebCore::ChromiumDataObject::types):
2881         (WebCore::ChromiumDataObject::getData):
2882         (WebCore::ChromiumDataObject::setData):
2883         (WebCore::ChromiumDataObject::urlTitle):
2884         (WebCore::ChromiumDataObject::setUrlTitle):
2885         (WebCore::ChromiumDataObject::htmlBaseUrl):
2886         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
2887         (WebCore::ChromiumDataObject::containsFilenames):
2888         (WebCore::ChromiumDataObject::filenames):
2889         (WebCore::ChromiumDataObject::setFilenames):
2890         (WebCore::ChromiumDataObject::fileExtension):
2891         (WebCore::ChromiumDataObject::setFileExtension):
2892         (WebCore::ChromiumDataObject::fileContentFilename):
2893         (WebCore::ChromiumDataObject::setFileContentFilename):
2894         (WebCore::ChromiumDataObject::fileContent):
2895         (WebCore::ChromiumDataObject::setFileContent):
2896         * platform/chromium/ChromiumDataObject.h:
2897         * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
2898         (WebCore::ChromiumDataObjectLegacy::clearData):
2899         (WebCore::ChromiumDataObjectLegacy::clearAll):
2900         (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
2901         (WebCore::ChromiumDataObjectLegacy::hasData):
2902         (WebCore::ChromiumDataObjectLegacy::types):
2903         (WebCore::ChromiumDataObjectLegacy::getData):
2904         (WebCore::ChromiumDataObjectLegacy::setData):
2905         (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
2906         * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
2907         (WebCore::ChromiumDataObjectLegacy::create):
2908         (WebCore::ChromiumDataObjectLegacy::copy):
2909         (WebCore::ChromiumDataObjectLegacy::urlTitle):
2910         (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
2911         (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
2912         (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
2913         (WebCore::ChromiumDataObjectLegacy::containsFilenames):
2914         (WebCore::ChromiumDataObjectLegacy::filenames):
2915         (WebCore::ChromiumDataObjectLegacy::setFilenames):
2916         (WebCore::ChromiumDataObjectLegacy::fileExtension):
2917         (WebCore::ChromiumDataObjectLegacy::setFileExtension):
2918         (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
2919         (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
2920         (WebCore::ChromiumDataObjectLegacy::fileContent):
2921         (WebCore::ChromiumDataObjectLegacy::setFileContent):
2922         * platform/chromium/ClipboardChromium.cpp:
2923         (WebCore::ClipboardChromium::create):
2924         * platform/chromium/ClipboardChromium.h:
2925         * platform/chromium/ReadableDataObject.cpp:
2926         (WebCore::ReadableDataObject::getData):
2927         * platform/chromium/WritableDataObject.cpp:
2928         (WebCore::WritableDataObject::setData):
2929
2930 2010-10-11  Anders Carlsson  <andersca@apple.com>
2931
2932         Reviewed by Darin Adler.
2933
2934         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
2935         https://bugs.webkit.org/show_bug.cgi?id=47523
2936
2937         Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
2938
2939         * GNUmakefile.am:
2940         * WebCore.exp.in:
2941         * WebCore.gyp/WebCore.gyp:
2942         * WebCore.gypi:
2943         * WebCore.vcproj/WebCore.vcproj:
2944         * WebCore.xcodeproj/project.pbxproj:
2945         * loader/icon/IconFetcher.cpp: Removed.
2946         * loader/icon/IconFetcher.h: Removed.
2947
2948 2010-10-11  Jia Pu  <jpu@apple.com>
2949
2950         Reviewed by Adele Peterson.
2951
2952         Should commit pending autocorrection before next round of text checking.
2953         https://bugs.webkit.org/show_bug.cgi?id=46986
2954         <rdar://problem/8424535>
2955
2956         1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
2957         2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
2958            selection changes, which occurs after every typing command.
2959
2960         * editing/Editor.cpp:
2961         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
2962         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
2963           in m_correctionReplacementString.
2964         (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
2965         * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
2966
2967 2010-10-11  Oliver Hunt  <oliver@apple.com>
2968
2969         Reviewed by Adam Barth.
2970
2971         Make fast/canvas/webgl/glsl-conformance pass again
2972         https://bugs.webkit.org/show_bug.cgi?id=47525
2973
2974         Remove incorrect call to glGetShaderiv, so it is only
2975         called in the case where we don't have our own simulated
2976         log.
2977
2978         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2979         (WebCore::GraphicsContext3D::getShaderInfoLog):
2980
2981 2010-10-11  Sam Weinig  <sam@webkit.org>
2982
2983         Reviewed by Anders Carlsson.
2984
2985         Add WebKit2 equivalents for setValueForUser and setAutoFilled
2986         <rdar://problem/8475934>
2987         https://bugs.webkit.org/show_bug.cgi?id=47524
2988
2989         * WebCore.exp.in: Add needed export.
2990
2991 2010-10-11  Andrei Popescu  <andreip@google.com>
2992
2993         Reviewed by Jeremy Orlow.
2994
2995         The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
2996         https://bugs.webkit.org/show_bug.cgi?id=47508
2997
2998         * bindings/generic/RuntimeEnabledFeatures.h:
2999         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
3000         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
3001         (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
3002         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
3003         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
3004         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
3005         (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
3006         (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
3007         (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
3008         (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
3009         (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
3010         (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
3011         (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
3012         (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
3013         (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
3014         * page/DOMWindow.cpp:
3015         (WebCore::DOMWindow::webkitIndexedDB):
3016         * page/DOMWindow.h:
3017         * page/DOMWindow.idl:
3018
3019 2010-10-11  Sam Weinig  <sam@webkit.org>
3020
3021         Reviewed by Anders Carlsson.
3022
3023         Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
3024         https://bugs.webkit.org/show_bug.cgi?id=47509
3025
3026         * WebCore.exp.in: Export toNode.
3027
3028 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
3029
3030         Reviewed by Tony Chang.
3031
3032         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
3033         https://bugs.webkit.org/show_bug.cgi?id=47244
3034
3035         Store the URI list as a String in DataObjectGtk, so that non-URI elements
3036         are preserved when getData(...) is called. This necessitates some other
3037         changes, including adding a m_filenames member to DataObjectGtk to store
3038         filenames extracted during setURIList(...). The logic in getData(...) has
3039         also changed to set success = true no matter what to match the spec. A
3040         followup patch will remove this parameter completely for all platforms.
3041
3042         * platform/gtk/ClipboardGtk.cpp:
3043         (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
3044         spec and Firefox. Simply return the uriList string from the DataObject
3045         instead of reconstructing it from a vector of KURLs.
3046         (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
3047         for the uriList parameter.
3048         (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
3049         DataObjectGtk::hasFilenames().
3050         (WebCore::ClipboardGtk::files): Update to reflect the change from
3051         DataObjectGtk::files() to DataObjectGtk::filenames().
3052         * platform/gtk/DataObjectGtk.cpp:
3053         (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
3054         first valid URL to use as the m_url member and also extract a list of filenames
3055         from the URI list.
3056         (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
3057         (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
3058         also leave a comment explaining why we do not clear filenames here.
3059         * platform/gtk/DataObjectGtk.h:
3060         (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
3061         (WebCore::DataObjectGtk::uriList): Ditto.
3062         (WebCore::DataObjectGtk::filenames): Added.
3063         (WebCore::DataObjectGtk::hasURL): Now a simple check.
3064         (WebCore::DataObjectGtk::hasFilenames): Added.
3065         (WebCore::DataObjectGtk::clearURIList): Simple setter.
3066         (WebCore::DataObjectGtk::clearURL): Ditto.
3067         * platform/gtk/DragDataGtk.cpp:
3068         (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
3069         (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
3070         * platform/gtk/PasteboardHelper.cpp:
3071         (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
3072         (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
3073         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
3074
3075 2010-10-11  James Robinson  <jamesr@chromium.org>
3076
3077         Reviewed by Kenneth Russell.
3078
3079         [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
3080         https://bugs.webkit.org/show_bug.cgi?id=47241
3081
3082         Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
3083         if there is no drawingContext associated with the canvas.
3084
3085         Test: fast/canvas/access-zero-sized-canvas.html
3086               fast/canvas/canvas-skia-excessive-size.html
3087               fast/canvas/toDataURL-noData.html
3088         with --accelerated-compositing and --accelerated-2d-canvas
3089
3090         * html/canvas/CanvasRenderingContext2D.cpp:
3091         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3092         (WebCore::CanvasRenderingContext2D::reset):
3093
3094 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
3095
3096         Reviewed by Gustavo Noronha Silva.
3097
3098         [GTK] Cleanup font selection code for the Freetype backend
3099         https://bugs.webkit.org/show_bug.cgi?id=47503
3100
3101         Do some miscellaneous cleanup work in the Freetype font font selection backend.
3102
3103         * platform/graphics/cairo/FontCacheFreeType.cpp:
3104         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
3105         a WebCore String.
3106         (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
3107         handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
3108         comparisons using WebCore Strings. Remove a large block comment that originated from a
3109         Apache-licensed file.
3110
3111 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
3112
3113         Reviewed by Gustavo Noronha Silva.
3114
3115         [GTK] Buttons activated with the keyboard should be painted as clicked
3116         https://bugs.webkit.org/show_bug.cgi?id=18364
3117
3118         When a button is pressed, force it into the hovered state as far as the
3119         Mozilla theme drawing code is concerned. This bug also seems to be an
3120         issue for Firefox. When we switch away from the Mozilla theme drawing
3121         code this work-around should no longer be necessary.
3122
3123         No new tests. I was not able to generate a pixel test for this issue. It
3124         seems that our DRT does not have the necessary infrastructure to generate a
3125         pixel dump while a button is in the pressed state.
3126
3127         * platform/gtk/RenderThemeGtk.cpp:
3128         (WebCore::RenderThemeGtk::paintRenderObject):
3129
3130 2010-10-11  Jian Li  <jianli@chromium.org>
3131
3132         Unreviewed. Build fix.
3133
3134         * bindings/js/JSArrayBufferCustom.cpp:
3135         * bindings/js/JSArrayBufferViewCustom.cpp:
3136         * bindings/js/JSFloat32ArrayCustom.cpp:
3137         * bindings/js/JSInt16ArrayCustom.cpp:
3138         * bindings/js/JSInt32ArrayCustom.cpp:
3139         * bindings/js/JSInt8ArrayCustom.cpp:
3140         * bindings/js/JSUint16ArrayCustom.cpp:
3141         * bindings/js/JSUint32ArrayCustom.cpp:
3142         * bindings/js/JSUint8ArrayCustom.cpp:
3143         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3144         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
3145         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3146         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3147         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3148         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3149         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3150         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3151         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3152
3153 2010-10-11  Brent Fulgham  <bfulgham@webkit.org>
3154
3155         Unreviewed WinCairo build fixes.
3156
3157         * platform/network/curl/ResourceResponse.h: Correct forward declaration
3158         for CFURLResponseRef.
3159         * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
3160         header file to avoid build failure on non-VIDEO builds.
3161
3162 2010-10-11  Jian Li  <jianli@chromium.org>
3163
3164         Reviewed by Adam Barth.
3165
3166         Add File API feature guard to all typed array files
3167         https://bugs.webkit.org/show_bug.cgi?id=47437
3168
3169         Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
3170         we need to update all type array files to include File API feature guard
3171         in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
3172         XMLHttpRequest, we will then remove all the guards. This is per the
3173         discussion on webkit-dev mailing list:
3174         https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
3175
3176         * html/canvas/ArrayBuffer.cpp:
3177         * html/canvas/ArrayBuffer.idl:
3178         * html/canvas/ArrayBufferView.cpp:
3179         * html/canvas/ArrayBufferView.idl:
3180         * html/canvas/Float32Array.cpp:
3181         * html/canvas/Float32Array.idl:
3182         * html/canvas/Int16Array.cpp:
3183         * html/canvas/Int16Array.idl:
3184         * html/canvas/Int32Array.cpp:
3185         * html/canvas/Int32Array.idl:
3186         * html/canvas/Int8Array.cpp:
3187         * html/canvas/Int8Array.idl:
3188         * html/canvas/Uint16Array.cpp:
3189         * html/canvas/Uint16Array.idl:
3190         * html/canvas/Uint32Array.cpp:
3191         * html/canvas/Uint32Array.idl:
3192         * html/canvas/Uint8Array.cpp:
3193         * html/canvas/Uint8Array.idl:
3194
3195 2010-10-11  Andreas Kling  <kling@webkit.org>
3196
3197         Build fix (implicit float conversion in Path.cpp)
3198
3199         * platform/graphics/Path.cpp:
3200
3201 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
3202
3203         Reviewed by Kenneth Rohde Christiansen.
3204
3205         [Qt] Refactor Plugin X Pixmap painting code to a separate function
3206
3207         The refactored function will be used for rendering by the Accelerated
3208         Composition enabled graphics layer.
3209
3210         https://bugs.webkit.org/show_bug.cgi?id=35524
3211
3212         * plugins/PluginView.h:
3213         * plugins/qt/PluginViewQt.cpp:
3214         (WebCore::PluginView::paintUsingXPixmap):
3215         (WebCore::PluginView::paint):
3216
3217 2010-10-11  Andreas Kling  <kling@webkit.org>
3218
3219         Reviewed by Dirk Schulze.
3220
3221         SVG: Remove "create" methods and use port-specific "add" counterparts
3222         https://bugs.webkit.org/show_bug.cgi?id=46052
3223
3224         Circles and ellipses will be significantly faster on platforms that
3225         implement Path::addEllipse() in a sane fashion.
3226
3227         Also, a lot of Path copying has been factored out by changing functions
3228         that would return Paths to take Path& arguments instead (toPathData, toClipPath)
3229
3230         * mathml/RenderMathMLRoot.cpp:
3231         (WebCore::RenderMathMLRoot::paint):
3232         * mathml/RenderMathMLSquareRoot.cpp:
3233         (WebCore::RenderMathMLSquareRoot::paint):
3234         * platform/graphics/GraphicsContext.cpp:
3235         (WebCore::GraphicsContext::addRoundedRectClip):
3236         (WebCore::GraphicsContext::clipOutRoundedRect):
3237         * platform/graphics/Path.cpp:
3238         (WebCore::pathLengthApplierFunction):
3239         (WebCore::Path::addRoundedRect):
3240         * platform/graphics/Path.h:
3241         * platform/graphics/cairo/ContextShadowCairo.cpp:
3242         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
3243         (WebCore::ContextShadow::drawRectShadow):
3244         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3245         (WebCore::GraphicsContext::drawFocusRing):
3246         (WebCore::GraphicsContext::drawTiledShadow):
3247         (WebCore::GraphicsContext::fillRoundedRect):
3248         * platform/graphics/cg/GraphicsContextCG.cpp:
3249         (WebCore::GraphicsContext::fillRoundedRect):
3250         * platform/graphics/qt/GraphicsContextQt.cpp:
3251         (WebCore::GraphicsContext::fillRoundedRect):
3252         * rendering/RenderBoxModelObject.cpp:
3253         (WebCore::RenderBoxModelObject::paintBorder):
3254         (WebCore::RenderBoxModelObject::paintBoxShadow):
3255         * rendering/RenderEmbeddedObject.cpp:
3256         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3257         * rendering/RenderSVGResourceClipper.cpp:
3258         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
3259         * rendering/svg/RenderSVGPath.cpp:
3260         (WebCore::RenderSVGPath::layout):
3261         * rendering/svg/RenderSVGTextPath.cpp:
3262         (WebCore::RenderSVGTextPath::layoutPath):
3263         * rendering/svg/SVGInlineTextBox.cpp:
3264         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
3265         * svg/SVGAnimateMotionElement.cpp:
3266         (WebCore::SVGAnimateMotionElement::animationPath):
3267         * svg/SVGCircleElement.cpp:
3268         (WebCore::SVGCircleElement::toPathData):
3269         * svg/SVGCircleElement.h:
3270         * svg/SVGEllipseElement.cpp:
3271         (WebCore::SVGEllipseElement::toPathData):
3272         * svg/SVGEllipseElement.h:
3273         * svg/SVGLineElement.cpp:
3274         (WebCore::SVGLineElement::toPathData):
3275         * svg/SVGLineElement.h:
3276         * svg/SVGPathElement.cpp:
3277         (WebCore::SVGPathElement::getTotalLength):
3278         (WebCore::SVGPathElement::getPointAtLength):
3279         (WebCore::SVGPathElement::toPathData):
3280         * svg/SVGPathElement.h:
3281         * svg/SVGPolygonElement.cpp:
3282         (WebCore::SVGPolygonElement::toPathData):
3283         * svg/SVGPolygonElement.h:
3284         * svg/SVGPolylineElement.cpp:
3285         (WebCore::SVGPolylineElement::toPathData):
3286         * svg/SVGPolylineElement.h:
3287         * svg/SVGRectElement.cpp:
3288         (WebCore::SVGRectElement::toPathData):
3289         * svg/SVGRectElement.h:
3290         * svg/SVGStyledTransformableElement.cpp:
3291         (WebCore::SVGStyledTransformableElement::toClipPath):
3292         * svg/SVGStyledTransformableElement.h:
3293         (WebCore::SVGStyledTransformableElement::toPathData):
3294         * svg/SVGUseElement.cpp:
3295         (WebCore::SVGUseElement::toClipPath):
3296         * svg/SVGUseElement.h:
3297
3298 2010-10-01  Oliver Hunt  <oliver@apple.com>
3299
3300         Reviewed by Gavin Barraclough.
3301
3302         [ES5] Implement strict mode
3303         https://bugs.webkit.org/show_bug.cgi?id=10701
3304
3305         Test: fast/js/basic-strict-mode.html
3306
3307         Override toStrictThisObject on the domwindow so that
3308         it correctly provides the shell object when used as this
3309         in a strict mode function.
3310
3311         * bindings/js/JSDOMWindowBase.cpp:
3312         (WebCore::JSDOMWindowBase::toStrictThisObject):
3313         * bindings/js/JSDOMWindowBase.h:
3314
3315 2010-10-11  Joseph Pecoraro  <joepeck@webkit.org>
3316
3317         Reviewed by Eric Carlson.
3318
3319         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
3320         https://bugs.webkit.org/show_bug.cgi?id=46777
3321
3322         Another case that could lead to an improper set of states between
3323         m_currentNode and m_loadingState. Also added an ASSERT and early
3324         return to prevent crashes if this case can still happen in other ways.
3325
3326         * html/HTMLMediaElement.cpp:
3327         (WebCore::HTMLMediaElement::prepareForLoad):
3328
3329 2010-10-11  Ryosuke Niwa  <rniwa@webkit.org>
3330
3331         Reviewed by Darin Adler.
3332
3333         spellcheck="false" not respected in designMode
3334         https://bugs.webkit.org/show_bug.cgi?id=39978
3335
3336         The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
3337         Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
3338         this caused us to ignore body element's spellcheck attribute.
3339
3340         Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
3341         when the parent node of body elements (namely html element) is editable.
3342
3343         Test: editing/spelling/design-mode-spellcheck-off.html
3344
3345         * html/HTMLBodyElement.cpp:
3346         (WebCore::HTMLBodyElement::supportsFocus): Added.
3347         * html/HTMLBodyElement.h:
3348
3349 2010-10-11  Oliver Hunt  <oliver@apple.com>
3350
3351         Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
3352
3353         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3354         (WebCore::GraphicsContext3D::getShaderInfoLog):
3355
3356 2010-10-11  Oliver Hunt  <oliver@apple.com>
3357
3358         Reviewed by Andreas Kling.
3359
3360         Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
3361         https://bugs.webkit.org/show_bug.cgi?id=47494
3362
3363         Working on another patch I found that there was some screwy behaviour
3364         when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
3365         zero if there is no log message, but we did not check for that case and
3366         simply perfomed a zero sized alloc and passed the resultant buffer to
3367         glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
3368         terminator to the buffer, thus causing an overflow.  This is obviously
3369         not a problem in practice as allocations are at least 4 bytes long in
3370         all common allocators, but it is still a bug.
3371
3372         I also removed some unnecessary null checks following calls to fastMalloc.
3373
3374         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3375         (WebCore::GraphicsContext3D::getProgramInfoLog):
3376         (WebCore::GraphicsContext3D::getShaderInfoLog):
3377
3378 2010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>
3379
3380         Reviewed by Andreas Kling.
3381
3382         Kill Path::debugString()
3383         https://bugs.webkit.org/show_bug.cgi?id=47493
3384
3385         Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
3386
3387         * platform/graphics/Path.h:
3388         * platform/graphics/cairo/PathCairo.cpp:
3389         * platform/graphics/cg/PathCG.cpp:
3390         * platform/graphics/haiku/PathHaiku.cpp:
3391         * platform/graphics/openvg/PathOpenVG.cpp:
3392         * platform/graphics/qt/PathQt.cpp:
3393         * platform/graphics/skia/PathSkia.cpp:
3394         * platform/graphics/wince/PathWinCE.cpp:
3395         * platform/graphics/wince/PlatformPathWinCE.cpp:
3396         * platform/graphics/wince/PlatformPathWinCE.h:
3397         * platform/graphics/wx/PathWx.cpp:
3398         * svg/SVGGlyphElement.h:
3399         (WebCore::SVGGlyphIdentifier::operator==):
3400
3401 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
3402
3403         Reviewed by Xan Lopez.
3404
3405         [GTK] Search field icons should be centered vertically in the field
3406         https://bugs.webkit.org/show_bug.cgi?id=47441
3407
3408         Center search field icons vertically in the search field.
3409
3410         * platform/gtk/RenderThemeGtk.cpp:
3411         (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
3412         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
3413         field icon by adjusting its drawing rect relative to the containing search field.
3414         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
3415
3416 2010-10-11  Pavel Podivilov  <podivilov@chromium.org>
3417
3418         Reviewed by Pavel Feldman.
3419
3420         Web Inspector: fix event listener breakpoints sidebar pane style
3421         https://bugs.webkit.org/show_bug.cgi?id=47487
3422
3423         * inspector/front-end/inspector.css:
3424         (.section .properties, .event-bar .event-properties):
3425         (.section.expanded .properties, .event-bar.expanded .event-properties):
3426         (.properties-tree):
3427         (.properties-tree li):
3428         (.properties-tree li.parent):
3429         (.properties-tree li.parent::before):
3430         (.properties-tree li.parent.expanded::before):
3431         (.properties-tree li .info):
3432         (.properties-tree ol, .stack-trace ol, ol.stack-trace):
3433         (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
3434         (ol.stack-trace):
3435         (.event-listener-breakpoints .event-category):
3436         (.event-listener-breakpoints.properties-tree .children li):
3437         (.event-listener-breakpoints .checkbox-elem):
3438         (.breakpoint-list .breakpoint-hit):
3439
3440 2010-10-11  Andreas Kling  <kling@webkit.org>
3441
3442         Reviewed by Tor Arne Vestbø.
3443
3444         [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
3445
3446         Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
3447         when clearing an already empty QPainterPath. Avoids one delete+new.
3448
3449         * platform/graphics/qt/GraphicsContextQt.cpp:
3450         (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
3451         (WebCore::GraphicsContext::fillPath):
3452         (WebCore::GraphicsContext::strokePath):
3453         (WebCore::GraphicsContext::beginPath):
3454
3455 2010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3456
3457         Unreviewed. Remove unnecessary GTK+ and Pango includes.
3458
3459         * platform/gtk/FileChooserGtk.cpp:
3460         * platform/gtk/Language.cpp:
3461
3462 2010-10-11  Kinuko Yasuda  <kinuko@chromium.org>
3463
3464         Reviewed by David Levin.
3465
3466         Support DirectoryEntry.removeRecursively for FileSystem API
3467         https://bugs.webkit.org/show_bug.cgi?id=47400
3468
3469         Also disallows remove/removeRecursively on the root directory.
3470
3471         Test: fast/filesystem/op-remove.html
3472
3473         * fileapi/DOMFileSystemBase.cpp:
3474         (WebCore::DOMFileSystemBase::removeRecursively): Added.
3475         * fileapi/DOMFileSystemBase.h:
3476         * fileapi/DirectoryEntry.cpp:
3477         (WebCore::DirectoryEntry::removeRecursively): Added.
3478         * fileapi/DirectoryEntry.h:
3479         * fileapi/DirectoryEntry.idl:
3480         * fileapi/DirectoryEntrySync.cpp:
3481         (WebCore::DirectoryEntrySync::removeRecursively): Added.
3482         * fileapi/DirectoryEntrySync.h:
3483         * fileapi/DirectoryEntrySync.idl:
3484         * platform/AsyncFileSystem.h:
3485
3486 2010-10-11  Dirk Schulze  <krit@webkit.org>
3487
3488         Reviewed by Nikolas Zimmermann.
3489
3490         SVG feImage take preserveAspectRatio into account for absolute paint rect
3491         https://bugs.webkit.org/show_bug.cgi?id=47464
3492
3493         Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
3494
3495         * svg/graphics/filters/SVGFEImage.cpp:
3496         (WebCore::FEImage::determineAbsolutePaintRect):
3497         (WebCore::FEImage::apply):
3498         * svg/graphics/filters/SVGFEImage.h:
3499
3500 2010-10-10  Abhishek Arya  <inferno@chromium.org>
3501
3502         Reviewed by Dan Bernstein.
3503
3504         <rdar://problem/8510200> Lines flow around a float that has been removed 
3505
3506         Overhanging floats are not added to flexible boxes since they behave like
3507         block formatting contexts. This causes the intruding floats added in siblings
3508         to not get cleared. Enforce the float release by checking if the parent is a
3509         flexible box and if yes, use that as the outermost block.
3510         
3511         https://bugs.webkit.org/show_bug.cgi?id=47104
3512
3513         Test: fast/flexbox/overhanging-floats-removed.html
3514
3515         * rendering/RenderBox.cpp:
3516         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
3517
3518 2010-10-10  Chris Fleizach  <cfleizach@apple.com>
3519
3520         Reviewed by Beth Dakin.
3521
3522         AX: if aria-live is on a <span> or ignored element, live regions don't work
3523         https://bugs.webkit.org/show_bug.cgi?id=47443
3524
3525         If an element has aria attributes, but has no other native role associated with it,
3526         accessibility should fallback to exposing that element as an AXGroup.
3527
3528         Test: platform/mac/accessibility/live-region-on-span.html
3529
3530         * accessibility/AccessibilityRenderObject.cpp:
3531         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3532
3533 2010-10-10  Daniel Cheng  <dcheng@chromium.org>
3534
3535         Reviewed by Adam Barth.
3536
3537         [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
3538         https://bugs.webkit.org/show_bug.cgi?id=47419
3539
3540         This was a regression introduced in r68807. mimeTypeText had the incorrect
3541         value.
3542
3543         Test: editing/pasteboard/dataTransfer-setData-getData.html
3544
3545         * platform/chromium/ClipboardMimeTypes.cpp:
3546
3547 2010-10-09  Eric Uhrhane  <ericu@chromium.org>
3548
3549         Reviewed by Andreas Kling.
3550
3551         FileWriter sends write event instead of progress event
3552         https://bugs.webkit.org/show_bug.cgi?id=47454
3553
3554         No new tests; FileWriter tests will be added shortly, but currently
3555         there's no implementation capable of running them.
3556
3557         * fileapi/FileWriter.cpp:
3558         (WebCore::FileWriter::didWrite):
3559
3560 2010-10-09  Andreas Kling  <kling@webkit.org>
3561
3562         Reviewed by Kenneth Rohde Christiansen.
3563
3564         [Qt] Fast-path in Path::clear() for already empty paths
3565         https://bugs.webkit.org/show_bug.cgi?id=47460
3566
3567         The only way to clear a QPainterPath is to assign QPainterPath() to it.
3568         Avoid creating a temporary object etc if the path is already empty.
3569
3570         * platform/graphics/qt/PathQt.cpp:
3571         (WebCore::Path::clear):
3572
3573 2010-10-08  Ryosuke Niwa  <rniwa@webkit.org>
3574
3575         Reviewed by Darin Adler.
3576
3577         Redo in ReplaceNodeWithSpanCommand is broken
3578         https://bugs.webkit.org/show_bug.cgi?id=47428
3579
3580         The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
3581         and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
3582         directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
3583         only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
3584
3585         Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
3586         This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
3587
3588         Test: editing/undo/replace-by-span-then-remove.html
3589
3590         * editing/ReplaceNodeWithSpanCommand.cpp:
3591         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
3592         * editing/ReplaceNodeWithSpanCommand.h:
3593
3594 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3595
3596         Reviewed by Martin Robinson.
3597
3598         [GTK] Implement subregion rendering in WebView when using gtk3
3599         https://bugs.webkit.org/show_bug.cgi?id=47411
3600
3601         * GNUmakefile.am:
3602         * platform/graphics/FloatRect.h:
3603         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
3604         (WebCore::FloatRect::FloatRect):
3605         (WebCore::FloatRect::operator cairo_rectangle_t):
3606
3607 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3608
3609         Reviewed by Martin Robinson.
3610
3611         [GTK] Implement subregion rendering in WebView when using gtk3
3612         https://bugs.webkit.org/show_bug.cgi?id=47411
3613
3614         * GNUmakefile.am:
3615         * platform/graphics/FloatRect.h:
3616         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
3617         (WebCore::FloatRect::FloatRect):
3618         (WebCore::FloatRect::operator cairo_rectangle_t):
3619
3620 2010-10-09  Kwang Yul Seo  <skyul@company100.net>
3621
3622         Reviewed by Andreas Kling.
3623
3624         Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
3625         https://bugs.webkit.org/show_bug.cgi?id=47114
3626
3627         PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
3628
3629         * platform/graphics/skia/PlatformContextSkia.h:
3630
3631 2010-10-09  Patrick Gansterer  <paroga@webkit.org>
3632
3633         Reviewed by Adam Barth.
3634
3635         Use WTF::StringHasher for hashing MappedAttributeKey
3636         https://bugs.webkit.org/show_bug.cgi?id=46516
3637
3638         * dom/StyledElement.cpp:
3639         (WebCore::MappedAttributeHash::hash):
3640
3641 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
3642
3643         Reviewed by Xan Lopez.
3644
3645         [Gtk] Non-rectangular buttons have a square background behind them
3646         https://bugs.webkit.org/show_bug.cgi?id=23569
3647
3648         Remove some code which was clearing pieces of the GdkDrawable if it was
3649         currently mapped to a window. In our case it is unnecessary, because the
3650         platform-independent parts of the render have already cleared this section
3651         if it is needed.
3652
3653         Mozilla must not trip this code path, which means they are probably rendering
3654         most often to a non-mapped GdkPixmap.
3655
3656         No new tests as some themed rendering is covered by existing tests that
3657         render buttons. This particular bug is very hard to test as it only appears
3658         with certain GTK+ themes and we currently have no mechanism to test different
3659         themes in DRT.
3660
3661         * platform/gtk/gtk2drawing.c:
3662         (moz_gtk_button_paint): Remove unnecessary code.
3663
3664 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
3665
3666         Reviewed by Xan Lopez.
3667
3668         [GTK] Slider padding translate into a larger track rect
3669         https://bugs.webkit.org/show_bug.cgi?id=47435
3670
3671         Instead of painting the track rectangle for ranges onto the entire RenderBox
3672         rectangle, simply paint it on the content rectangle. This prevents misrendering
3673         sliders with padding.
3674
3675         * platform/gtk/RenderThemeGtk.cpp:
3676         (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
3677         of the slider instead of the entire area (which includes padding).
3678
3679 2010-10-09  Kent Tamura  <tkent@chromium.org>
3680
3681         Unreviewed, trivial regression fix for r69445.
3682
3683         RangeInputType::supportsRequired() should return false.
3684         https://bugs.webkit.org/show_bug.cgi?id=47405
3685
3686         * html/RangeInputType.cpp:
3687         (WebCore::RangeInputType::supportsRequired):
3688         * html/RangeInputType.h:
3689
3690 2010-10-09  Kent Tamura  <tkent@chromium.org>
3691
3692         Reviewed by Dimitri Glazkov.
3693
3694         Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
3695         isRequiredFormControl(), and recalcWillValidate()
3696         https://bugs.webkit.org/show_bug.cgi?id=47405
3697
3698         Also make checkedRadioButtons() an inline member function of
3699         HTMLInputElement in order that RadioInputType can use it.
3700
3701         * html/BaseDateAndTimeInputType.cpp:
3702         (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
3703         (WebCore::BaseDateAndTimeInputType::typeMismatch):
3704         * html/BaseDateAndTimeInputType.h:
3705         * html/ButtonInputType.cpp:
3706         (WebCore::ButtonInputType::supportsValidation):
3707         * html/ButtonInputType.h:
3708         * html/CheckboxInputType.cpp:
3709         (WebCore::CheckboxInputType::valueMissing):
3710         * html/CheckboxInputType.h:
3711         * html/ColorInputType.cpp:
3712         (WebCore::isValidColorString):
3713         (WebCore::ColorInputType::typeMismatchFor):
3714         (WebCore::ColorInputType::typeMismatch):
3715         (WebCore::ColorInputType::supportsRequired):
3716         * html/ColorInputType.h:
3717         * html/EmailInputType.cpp:
3718         (WebCore::isValidEmailAddress):
3719         (WebCore::EmailInputType::typeMismatchFor):
3720         (WebCore::EmailInputType::typeMismatch):
3721         * html/EmailInputType.h:
3722         * html/FileInputType.cpp:
3723         (WebCore::FileInputType::valueMissing):
3724         * html/FileInputType.h:
3725         * html/HTMLInputElement.cpp:
3726         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
3727         (WebCore::HTMLInputElement::isValidValue):
3728         (WebCore::HTMLInputElement::typeMismatch):
3729         (WebCore::HTMLInputElement::valueMissing):
3730         (WebCore::HTMLInputElement::isKeyboardFocusable):
3731         (WebCore::HTMLInputElement::updateType):
3732         (WebCore::HTMLInputElement::parseMappedAttribute):
3733         (WebCore::HTMLInputElement::setChecked):
3734         (WebCore::HTMLInputElement::preDispatchEventHandler):
3735         (WebCore::HTMLInputElement::isRequiredFormControl):
3736         (WebCore::HTMLInputElement::recalcWillValidate):
3737         * html/HTMLInputElement.h:
3738         (WebCore::HTMLInputElement::checkedRadioButtons):
3739         * html/HiddenInputType.cpp:
3740         (WebCore::HiddenInputType::supportsValidation):
3741         * html/HiddenInputType.h:
3742         * html/ImageInputType.cpp:
3743         (WebCore::ImageInputType::supportsValidation):
3744         * html/ImageInputType.h:
3745         * html/InputType.cpp:
3746         (WebCore::InputType::supportsValidation):
3747         (WebCore::InputType::typeMismatchFor):
3748         (WebCore::InputType::typeMismatch):
3749         (WebCore::InputType::supportsRequired):
3750         (WebCore::InputType::valueMissing):
3751         * html/InputType.h:
3752         * html/IsIndexInputType.cpp:
3753         (WebCore::IsIndexInputType::supportsRequired):
3754         * html/IsIndexInputType.h:
3755         * html/NumberInputType.cpp:
3756         (WebCore::NumberInputType::typeMismatchFor):
3757         (WebCore::NumberInputType::typeMismatch):
3758         * html/NumberInputType.h:
3759         * html/RadioInputType.cpp:
3760         (WebCore::RadioInputType::valueMissing):
3761         * html/RadioInputType.h:
3762         * html/ResetInputType.cpp:
3763         (WebCore::ResetInputType::supportsValidation):
3764         * html/ResetInputType.h:
3765         * html/SubmitInputType.cpp:
3766         (WebCore::SubmitInputType::supportsValidation):
3767         * html/SubmitInputType.h:
3768         * html/TextFieldInputType.cpp:
3769         (WebCore::TextFieldInputType::valueMissing):
3770         * html/TextFieldInputType.h:
3771         * html/URLInputType.cpp:
3772         (WebCore::URLInputType::typeMismatchFor):
3773         (WebCore::URLInputType::typeMismatch):
3774         * html/URLInputType.h:
3775         * html/ValidityState.cpp:
3776         (WebCore::ValidityState::typeMismatch):
3777
3778 2010-10-09  Pratik Solanki  <psolanki@apple.com>
3779
3780         Reviewed by Dan Bernstein.
3781
3782         https://bugs.webkit.org/show_bug.cgi?id=47450
3783         Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
3784         <rdar://problem/8244376>
3785
3786         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3787         (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
3788         NULL, return early to avoid crash.
3789
3790 2010-10-08  Chris Rogers  <crogers@google.com>
3791
3792         Reviewed by James Robinson.
3793
3794         Add HRTFPanner files
3795         https://bugs.webkit.org/show_bug.cgi?id=46299
3796
3797         No new tests since audio API is not yet implemented.
3798
3799         * platform/audio/HRTFPanner.cpp: Added.
3800         (WebCore::HRTFPanner::HRTFPanner):
3801         (WebCore::HRTFPanner::~HRTFPanner):
3802         (WebCore::HRTFPanner::fftSizeForSampleRate):
3803         (WebCore::HRTFPanner::reset):
3804         (WebCore::wrapDistance):
3805         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
3806         (WebCore::HRTFPanner::pan):
3807         * platform/audio/HRTFPanner.h: Added.
3808         (WebCore::HRTFPanner::fftSize):
3809         (WebCore::HRTFPanner::sampleRate):
3810
3811 2010-10-08  James Robinson  <jamesr@chromium.org>
3812
3813         Reviewed by Adam Barth.
3814
3815         Avoid inlining large and/or virtual functions in widely included header files
3816         https://bugs.webkit.org/show_bug.cgi?id=47230
3817
3818         Functions with very large bodies should not be included in widely included header files.
3819         This results in the function's code ending up included in hundreds of object files that
3820         the linker has to discard, at a cost of linker memory use, link time, and disk space. This
3821         is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
3822         virtual address space and completely fails to link.
3823
3824         This patch moves function definitions from the .h to the corresponding .cpp when the function
3825         is large and not a candidate for inlining either because it is virtual or because its size is
3826         above any reasonable compiler's threshhold for inlining.  The most common case by far in this
3827         patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
3828         the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
3829         container and utility classes (especially Vector, String, and HashSet) have quite large
3830         destructors.
3831
3832         This patch removes 22.4MB of object file size in a debug 64 bit compile.
3833
3834         * css/CSSBorderImageValue.cpp:
3835         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
3836         * css/CSSBorderImageValue.h:
3837         * css/CSSFontFaceSrcValue.cpp:
3838         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
3839         * css/CSSFontFaceSrcValue.h:
3840         * css/CSSFunctionValue.h:
3841         * dom/BeforeTextInsertedEvent.cpp:
3842         (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
3843         * dom/BeforeTextInsertedEvent.h:
3844         * dom/BeforeUnloadEvent.cpp:
3845         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
3846         * dom/BeforeUnloadEvent.h:
3847         * dom/ClassNodeList.h:
3848         * dom/ClipboardEvent.cpp:
3849         (WebCore::ClipboardEvent::~ClipboardEvent):
3850         * dom/ClipboardEvent.h:
3851         * dom/CustomEvent.cpp:
3852         (WebCore::CustomEvent::~CustomEvent):
3853         * dom/CustomEvent.h:
3854         * dom/Element.cpp:
3855         * dom/Element.h:
3856         * dom/EventTarget.cpp:
3857         (WebCore::EventTargetData::EventTargetData):
3858         * dom/EventTarget.h:
3859         * dom/InputElement.cpp:
3860         (WebCore::InputElementData::~InputElementData):
3861         * dom/InputElement.h:
3862         * dom/MutationEvent.cpp:
3863         (WebCore::MutationEvent::~MutationEvent):
3864         * dom/MutationEvent.h:
3865         * dom/Node.cpp:
3866         (WebCore::Node::refEventTarget):
3867         (WebCore::Node::derefEventTarget):
3868         * dom/Node.h:
3869         * dom/OptionElement.cpp:
3870         (WebCore::OptionElementData::~OptionElementData):
3871         * dom/OptionElement.h:
3872         * dom/PopStateEvent.cpp:
3873         (WebCore::PopStateEvent::~PopStateEvent):
3874         * dom/PopStateEvent.h:
3875         * dom/QualifiedName.cpp:
3876         (WebCore::QualifiedName::~QualifiedName):
3877         * dom/QualifiedName.h:
3878         * dom/SelectElement.cpp:
3879         (WebCore::SelectElementData::~SelectElementData):
3880         * dom/SelectElement.h:
3881         * dom/StaticHashSetNodeList.cpp:
3882         (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
3883         (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
3884         * dom/StaticHashSetNodeList.h:
3885         * dom/StyleElement.cpp:
3886         (WebCore::StyleElement::~StyleElement):
3887         * dom/StyleElement.h:
3888         * dom/TouchEvent.cpp:
3889         (WebCore::TouchEvent::TouchEvent):
3890         (WebCore::TouchEvent::~TouchEvent):
3891         * dom/TouchEvent.h:
3892         * editing/CompositeEditCommand.cpp:
3893         (WebCore::CompositeEditCommand::~CompositeEditCommand):
3894         * editing/CompositeEditCommand.h:
3895         * editing/TextIterator.cpp:
3896         (WebCore::BitStack::~BitStack):
3897         (WebCore::TextIterator::~TextIterator):
3898         (WebCore::WordAwareIterator::~WordAwareIterator):
3899         * editing/TextIterator.h:
3900         * inspector/InspectorValues.cpp:
3901         (WebCore::InspectorObject::~InspectorObject):
3902         (WebCore::InspectorObject::InspectorObject):
3903         (WebCore::InspectorArray::~InspectorArray):
3904         (WebCore::InspectorArray::InspectorArray):
3905         * inspector/InspectorValues.h:
3906         * loader/CachedResource.cpp:
3907         (WebCore::CachedResource::registerHandle):
3908         (WebCore::CachedResource::unregisterHandle):
3909         * loader/CachedResource.h:
3910         * platform/network/HTTPHeaderMap.cpp:
3911         (WebCore::HTTPHeaderMap::HTTPHeaderMap):
3912         (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
3913         (WebCore::HTTPHeaderMap::get):
3914         (WebCore::HTTPHeaderMap::add):
3915         * platform/network/HTTPHeaderMap.h:
3916         * rendering/RenderApplet.cpp:
3917         (WebCore::RenderApplet::~RenderApplet):
3918         * rendering/RenderApplet.h:
3919         * rendering/RenderButton.cpp:
3920         (WebCore::RenderButton::~RenderButton):
3921         * rendering/RenderButton.h:
3922         * rendering/RenderCounter.cpp:
3923         (WebCore::RenderCounter::~RenderCounter):
3924         * rendering/RenderCounter.h:
3925         * rendering/RenderFieldset.h:
3926         * rendering/RenderForeignObject.cpp:
3927         (WebCore::RenderForeignObject::~RenderForeignObject):
3928         * rendering/RenderForeignObject.h:
3929         * rendering/RenderFrame.h:
3930         * rendering/RenderFrameBase.h:
3931         * rendering/RenderHTMLCanvas.h:
3932         * rendering/RenderIFrame.h:
3933         * rendering/RenderInline.h:
3934         * rendering/RenderListItem.h:
3935         * rendering/RenderMarquee.cpp:
3936         (WebCore::RenderMarquee::~RenderMarquee):
3937         * rendering/RenderMarquee.h:
3938         * rendering/RenderPath.cpp:
3939         (WebCore::RenderPath::~RenderPath):
3940         * rendering/RenderPath.h:
3941         * rendering/RenderSVGBlock.h:
3942         * rendering/RenderSVGContainer.cpp:
3943         (WebCore::RenderSVGContainer::~RenderSVGContainer):
3944         * rendering/RenderSVGContainer.h:
3945         * rendering/RenderSVGHiddenContainer.h:
3946         * rendering/RenderSVGInline.h:
3947         * rendering/RenderSVGInlineText.cpp:
3948         (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
3949         * rendering/RenderSVGInlineText.h:
3950         * rendering/RenderSVGModelObject.h:
3951         * rendering/RenderSVGResourceFilterPrimitive.h:
3952         * rendering/RenderSVGRoot.cpp:
3953         (WebCore::RenderSVGRoot::~RenderSVGRoot):
3954         * rendering/RenderSVGRoot.h:
3955         * rendering/RenderSVGTSpan.h:
3956         * rendering/RenderSVGText.h:
3957         * rendering/RenderSVGTextPath.h:
3958         * rendering/RenderSVGTransformableContainer.h:
3959         * rendering/RenderSVGViewportContainer.h:
3960         * rendering/RenderTable.cpp:
3961         (WebCore::RenderTable::~RenderTable):
3962         * rendering/RenderTable.h:
3963         * rendering/RenderTableCell.h:
3964         * rendering/RenderTableCol.h:
3965         * rendering/RenderTableRow.h:
3966         * rendering/RenderTextFragment.cpp:
3967         (WebCore::RenderTextFragment::~RenderTextFragment):
3968         * rendering/RenderTextFragment.h:
3969         * rendering/RenderWordBreak.h:
3970         * svg/SVGStyledElement.cpp:
3971         (WebCore::SVGStyledElement::~SVGStyledElement):
3972         * svg/SVGStyledElement.h:
3973         * svg/SVGStyledTransformableElement.cpp:
3974         (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
3975         * svg/SVGStyledTransformableElement.h:
3976         * xml/XPathParser.cpp:
3977         (WebCore::XPath::Parser::~Parser):
3978         * xml/XPathParser.h:
3979
3980 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
3981
3982         Reviewed by Daniel Bates.
3983
3984         [GTK] Fails /LayoutTests/fast/css/button-height.html
3985         https://bugs.webkit.org/show_bug.cgi?id=33936
3986
3987         GTK buttons honor height property set via CSS. The code for the method
3988         adjustButtonStyle originates from the original GTK+ theme drawing code
3989         and is clearly just a copy-paste from the Safari theme drawing code. The
3990         Safari theme drawing code does quite a bit of work to ensure that button
3991         fonts are consistent with the system theme, which is not something the GTK+
3992         port does.
3993
3994         This change brings the method more in line with the Chromium port, which
3995         allows CSS to style buttons, only overriding the line-height property,
3996         which is required for layout tests to pass.
3997
3998         * platform/gtk/RenderThemeGtk.cpp:
3999         (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
4000         properties for button styling.
4001
4002 2010-10-08  Mihai Parparita  <mihaip@chromium.org>
4003
4004         Reviewed by Adam Barth.
4005
4006         popstate events are lost when network connection is in progress
4007         https://bugs.webkit.org/show_bug.cgi?id=42940
4008         
4009         Instead of checking FrameLoader::isComplete() (which isn't true if the
4010         document's resource loader has requests outstanding), check that the
4011         document's readyState is complete, as the spec says.
4012
4013         Test: http/tests/history/popstate-fires-with-pending-requests.html
4014
4015         * dom/Document.cpp:
4016         (WebCore::Document::statePopped):
4017         * loader/FrameLoader.cpp:
4018         (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
4019         to Loading earlier. Otherwise, readyState's initial value is Complete,
4020         and we only set it to Loading in Document::implicitOpen (which is called
4021         after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
4022         could end up in Document::statePopped and have the readyState be
4023         Complete, even if we hadn't even begin loading the document.
4024
4025 2010-10-08  Daniel Cheng  <dcheng@chromium.org>
4026
4027         Reviewed by Tony Chang.
4028
4029         [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
4030         https://bugs.webkit.org/show_bug.cgi?id=47394
4031
4032         Minor cleanup--these classes have suffered from bit rot since they aren't
4033         actively used at the moment. The three main changes are to:
4034         1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
4035            setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
4036            title and HTML base URL.
4037         2) Use Clipboard::ClipboardType instead of a bool.
4038         3) Remove the use of virtuals, as they are no longer needed..
4039
4040         * platform/chromium/ReadableDataObject.cpp:
4041         (WebCore::clipboardBuffer):
4042         (WebCore::ReadableDataObject::create):
4043         (WebCore::ReadableDataObject::ReadableDataObject):
4044         (WebCore::ReadableDataObject::getData):
4045         (WebCore::ReadableDataObject::urlTitle): renamed from getURL
4046         (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
4047         (WebCore::ReadableDataObject::containsFilenames):
4048         (WebCore::ReadableDataObject::filenames):
4049         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
4050         * platform/chromium/ReadableDataObject.h:
4051         * platform/chromium/WritableDataObject.cpp:
4052         (WebCore::WritableDataObject::create):
4053         (WebCore::WritableDataObject::WritableDataObject):
4054         (WebCore::WritableDataObject::setData):
4055         * platform/chromium/WritableDataObject.h:
4056         (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
4057         (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
4058         (WebCore::WritableDataObject::dataMap):
4059         (WebCore::WritableDataObject::urlTitle):
4060         (WebCore::WritableDataObject::htmlBaseURL):
4061         (WebCore::WritableDataObject::fileExtension):
4062         (WebCore::WritableDataObject::fileContentFilename):
4063         (WebCore::WritableDataObject::fileContent):
4064         (WebCore::WritableDataObject::setFileExtension):
4065         (WebCore::WritableDataObject::setFileContentFilename):
4066         (WebCore::WritableDataObject::setFileContent):
4067
4068 2010-10-08  Abhishek Arya  <inferno@chromium.org>
4069
4070         Unreviewed, rolling out r69360.
4071         http://trac.webkit.org/changeset/69360
4072         https://bugs.webkit.org/show_bug.cgi?id=46921
4073
4074         Test still crashing on chromium test_shell
4075
4076         * html/HTMLObjectElement.cpp:
4077         (WebCore::HTMLObjectElement::renderFallbackContent):
4078
4079 2010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
4080
4081         Unreviewed, rolling out r68574.
4082         http://trac.webkit.org/changeset/68574
4083         https://bugs.webkit.org/show_bug.cgi?id=47433
4084
4085         [chromium] Breaks partial repaint of images while scrolling
4086         (Requested by jamesr on #webkit).
4087
4088         * platform/graphics/skia/ImageSkia.cpp:
4089         (WebCore::computeResamplingMode):
4090         (WebCore::drawResampledBitmap):
4091
4092 2010-10-08  Andy Estes  <aestes@apple.com>
4093
4094         Reviewed by Darin Adler.
4095
4096         REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
4097         https://bugs.webkit.org/show_bug.cgi?id=47430
4098
4099         Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
4100
4101         * rendering/RenderImage.cpp:
4102         (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
4103         to m_imageResource being set. The appropriate thing to do in this case
4104         is to return early.
4105         (WebCore::RenderImage::notifyFinished): Ditto.
4106
4107 2010-10-08  Andrei Popescu  <andreip@google.com>
4108
4109         Reviewed by Jeremy Orlow.
4110
4111         IndexedDB does not have a quota mechanism.
4112         https://bugs.webkit.org/show_bug.cgi?id=47389
4113
4114         Test: storage/indexeddb/database-quota.html
4115
4116         Add a simple mechanism for enforcing a maximum size
4117         for each origin using IndexedDB. Note that this depends
4118         on having one SQLite database file per origin, which is
4119         addressed in a separate patch.
4120
4121         * page/GroupSettings.cpp:
4122         (WebCore::GroupSettings::GroupSettings):
4123         (WebCore::GroupSettings::setIndexedDBQuotaBytes):
4124         * page/GroupSettings.h:
4125         (WebCore::GroupSettings::indexedDBQuotaBytes):
4126         * storage/IDBDatabaseBackendImpl.cpp:
4127         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
4128         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
4129         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
4130         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
4131         * storage/IDBFactory.cpp:
4132         (WebCore::IDBFactory::open):
4133         * storage/IDBFactoryBackendImpl.cpp:
4134         (WebCore::openSQLiteDatabase):
4135         (WebCore::IDBFactoryBackendImpl::open):
4136         * storage/IDBFactoryBackendImpl.h:
4137         * storage/IDBFactoryBackendInterface.h:
4138         * storage/IDBObjectStoreBackendImpl.cpp:
4139         (WebCore::putObjectStoreData):
4140         (WebCore::putIndexData):
4141         (WebCore::IDBObjectStoreBackendImpl::put):
4142         (WebCore::IDBObjectStoreBackendImpl::putInternal):
4143         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
4144         * storage/IDBObjectStoreBackendImpl.h:
4145
4146 2010-10-08  Gavin Peters  <gavinp@chromium.org>
4147
4148         Reviewed by Adam Barth.
4149
4150         Output X-Purpose header for prefetch requests
4151         https://bugs.webkit.org/show_bug.cgi?id=46529
4152
4153         Test: http/tests/misc/prefetch-purpose.html
4154
4155         * loader/loader.cpp:
4156         (WebCore::Loader::Host::servePendingRequests):
4157
4158 2010-10-08  James Kozianski  <koz@chromium.org>
4159
4160         Reviewed by Simon Fraser.
4161
4162         Crash on reload when CSS property 'content' has malformed URL.
4163         https://bugs.webkit.org/show_bug.cgi?id=47322
4164
4165         Make CSSStyleSelector handle the case where a cached image can't be
4166         produced due to a malformed URL.
4167
4168         Test: fast/css-generated-content/malformed-url.html
4169
4170         * css/CSSStyleSelector.cpp:
4171         (WebCore::CSSStyleSelector::loadPendingImages):
4172
4173 2010-10-08  Dirk Schulze  <krit@webkit.org>
4174
4175         Reviewed by Nikolas Zimmermann.
4176
4177         SVG feImage needs absolute subregion for preserveAspectRatio
4178         https://bugs.webkit.org/show_bug.cgi?id=47409
4179
4180         PreserverAspectRatio needs the subregion in absolute coordinates to determine
4181         the destination position and size of the input image. The maxEffectRect() already
4182         stores the absolute subregion, but clipped to the filter region.
4183
4184         Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
4185
4186         * platform/graphics/filters/FETile.cpp:
4187         (WebCore::FETile::apply):
4188         * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
4189         (WebCore::FilterEffect::filterEffectType):
4190         * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
4191         (WebCore::SourceAlpha::filterEffectType):
4192         * platform/graphics/filters/SourceGraphic.h: Ditto.
4193         (WebCore::SourceGraphic::filterEffectType):
4194         * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
4195         (WebCore::FEImage::apply):
4196         * svg/graphics/filters/SVGFEImage.h: Ditto.
4197         (WebCore::FEImage::setAbsoluteSubregion):
4198         (WebCore::FEImage::filterEffectType):
4199         * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
4200         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
4201
4202 2010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
4203
4204         Reviewed by Dirk Schulze.
4205
4206         gradient stroke on lines does not work
4207         https://bugs.webkit.org/show_bug.cgi?id=40985
4208
4209         Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.