1ad1934a13830be095fad0c1fd12e657c49a220d
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-05-03  David Kilzer  <ddkilzer@apple.com>
2
3         <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
4
5         Reviewed by Antti Koivisto.
6
7         * platform/network/cf/ResourceRequestCFNet.cpp:
8         (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
9         priority on the request if HTTP pipelining is enabled.
10         (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
11         priority from the request if HTTP pipelining is enabled.
12         (readBooleanPreference): Enable code when compiling with
13         USE(CFNETWORK).
14         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
15         Comment out setting the minimum fast lane priority on Windows
16         since it's not currently available.
17
18 2011-05-03  Simon Fraser  <simon.fraser@apple.com>
19
20         Reviewed by Dan Bernstein.
21
22         <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
23
24         Conditionalize compositing tiled layer size-constraining logic to older
25         OSes.
26
27         * platform/graphics/ca/GraphicsLayerCA.cpp:
28         (WebCore::GraphicsLayerCA::constrainedSize):
29
30 2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
31
32         Reviewed by Dimitri Glazkov.
33
34         Allow access keys to be used in shadow DOM
35         https://bugs.webkit.org/show_bug.cgi?id=59979
36
37         Move access key methods and members back to Document from TreeScope.
38         Also traverse into shadow trees when building the access key map.
39
40         No new tests. (refactoring)
41
42         * dom/Document.cpp:
43         (WebCore::Document::Document):
44         (WebCore::Document::getElementByAccessKey):
45         (WebCore::Document::buildAccessKeyMap):
46         (WebCore::Document::invalidateAccessKeyMap):
47         * dom/Document.h:
48         * dom/TreeScope.cpp:
49         (WebCore::TreeScope::TreeScope):
50         (WebCore::TreeScope::destroyTreeScopeData):
51         * dom/TreeScope.h:
52
53 2011-05-03  Dan Bernstein  <mitz@apple.com>
54
55         Reviewed by Darin Adler.
56
57         <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
58         https://bugs.webkit.org/show_bug.cgi?id=60067
59
60         No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
61
62         * rendering/RenderText.cpp:
63         (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
64         and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
65         results for flipped writing modes.
66
67 2011-05-03  Anton Muhin  <antonm@chromium.org>
68
69         Reviewed by Yury Semikhatsky.
70
71         [v8] remove an ASSERT from grouping logic
72         https://bugs.webkit.org/show_bug.cgi?id=60024
73
74         This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
75         repro it.  Removing for now for greener bots.
76
77         No new tests, only an ASSERT removal.
78
79         * bindings/v8/V8GCController.cpp:
80         (WebCore::calculateGroupId):
81
82 2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
83
84         Reviewed by Darin Adler.
85
86         WebKit allows selection that crosses the shadow boundary of a readonly input element
87         https://bugs.webkit.org/show_bug.cgi?id=60000
88
89         The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
90         Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
91         in its validation process.
92
93         Tests: editing/selection/select-across-readonly-input-1.html
94                editing/selection/select-across-readonly-input-2.html
95                editing/selection/select-across-readonly-input-3.html
96                editing/selection/select-across-readonly-input-4.html
97                editing/selection/select-across-readonly-input-5.html
98
99         * editing/VisibleSelection.cpp:
100         (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
101         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
102         * editing/VisibleSelection.h:
103
104 2011-05-03  Eric Seidel  <eric@webkit.org>
105
106         Reviewed by Ryosuke Niwa.
107
108         Split out layoutRunsAndFloats from layoutInlineChildren
109         https://bugs.webkit.org/show_bug.cgi?id=60052
110
111         No new tests, just moving code here.  There should be
112         no change in behavior.
113
114         * rendering/RenderBlock.h:
115         * rendering/RenderBlockLineLayout.cpp:
116         (WebCore::RenderBlock::layoutRunsAndFloats):
117         (WebCore::RenderBlock::layoutInlineChildren):
118
119 2011-05-03  James Robinson  <jamesr@chromium.org>
120
121         Reviewed by Kenneth Russell.
122
123         [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
124         https://bugs.webkit.org/show_bug.cgi?id=59965
125
126         Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
127
128         Test: fast/canvas/canvas-resize-after-paint.html
129
130         * html/canvas/CanvasRenderingContext2D.cpp:
131         (WebCore::CanvasRenderingContext2D::reset):
132             Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
133             DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
134         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
135         (WebCore::Canvas2DLayerChromium::setLayerRenderer):
136             Add a null check for m_drawingBuffer
137         * platform/graphics/gpu/DrawingBuffer.cpp:
138         (WebCore::DrawingBuffer::clear):
139             Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
140             this is unnecessary.
141
142 2011-05-03  Adam Roben  <aroben@apple.com>
143
144         Fix most strict PassOwnPtr violations on Windows
145
146         Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
147         enabled
148
149         Reviewed by Anders Carlsson.
150
151         * loader/EmptyClients.h:
152         * platform/GeolocationService.cpp:
153         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
154         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
155         * platform/mock/GeolocationServiceMock.cpp:
156         * rendering/RenderTheme.cpp:
157         * rendering/RenderThemeSafari.cpp:
158
159 2011-05-03  Levi Weintraub  <leviw@chromium.org>
160
161         Reviewed by Eric Seidel.
162
163         Extract LineInfo class
164         https://bugs.webkit.org/show_bug.cgi?id=60044
165
166         Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
167         layout information about a line. This simplifies function signatures and clears up initialization.
168
169         No new tests as this is refactoring.
170
171         * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
172         * rendering/RenderBlockLineLayout.cpp:
173         (WebCore::LineInfo::LineInfo):
174         (WebCore::LineInfo::isFirstLine):
175         (WebCore::LineInfo::isLastLine):
176         (WebCore::LineInfo::isEmpty):
177         (WebCore::LineInfo::previousLineBrokeCleanly):
178         (WebCore::LineInfo::setFirstLine):
179         (WebCore::LineInfo::setLastLine):
180         (WebCore::LineInfo::setEmpty):
181         (WebCore::LineInfo::setPreviousLineBrokeCleanly):
182         (WebCore::RenderBlock::createLineBoxes):
183         (WebCore::RenderBlock::constructLine):
184         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
185         (WebCore::RenderBlock::layoutInlineChildren):
186         (WebCore::RenderBlock::determineStartPosition):
187         (WebCore::skipNonBreakingSpace):
188         (WebCore::shouldCollapseWhiteSpace):
189         (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
190         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
191         (WebCore::RenderBlock::skipTrailingWhitespace):
192         (WebCore::RenderBlock::skipLeadingWhitespace):
193         (WebCore::RenderBlock::findNextLineBreak):
194
195 2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
196
197         Reviewed by Dimitri Glazkov.
198
199         Update node list cache count on the containing TreeScope rather than the Document
200         https://bugs.webkit.org/show_bug.cgi?id=59983
201
202         Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
203         Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
204         Make setDocument() and setDocumentRecursively() private.
205
206         No new tests. (refactoring)
207
208         * dom/ContainerNode.cpp:
209         (WebCore::ContainerNode::childrenChanged):
210         * dom/Node.cpp:
211         (WebCore::Node::~Node):
212         (WebCore::Node::setDocument):
213         (WebCore::Node::setTreeScopeRecursively):
214         (WebCore::Node::childNodes):
215         (WebCore::Node::registerDynamicNodeList):
216         (WebCore::Node::unregisterDynamicNodeList):
217         (WebCore::Node::notifyLocalNodeListsAttributeChanged):
218         (WebCore::Node::notifyLocalNodeListsChildrenChanged):
219         (WebCore::Node::getElementsByTagName):
220         (WebCore::Node::getElementsByTagNameNS):
221         (WebCore::Node::getElementsByName):
222         (WebCore::Node::getElementsByClassName):
223         * dom/Node.h:
224         * html/HTMLFormControlElement.cpp:
225         (WebCore::HTMLFormControlElement::labels):
226
227 2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
228
229         Reviewed by Eric Seidel.
230
231         Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
232         https://bugs.webkit.org/show_bug.cgi?id=60046
233
234         Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
235
236         * rendering/RenderBlockLineLayout.cpp:
237         (WebCore::TrailingObjects::TrailingObjects):
238         (WebCore::TrailingObjects::setTrailingWhitespace):
239         (WebCore::TrailingObjects::clear):
240         (WebCore::TrailingObjects::appendBoxIfNeeded):
241         (WebCore::TrailingObjects::addMidpoints):
242         (WebCore::RenderBlock::findNextLineBreak):
243
244 2011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>
245
246         Reviewed by Eric Seidel.
247
248         [Qt] Implement initial support to DataTransferItems
249         https://bugs.webkit.org/show_bug.cgi?id=58448
250
251         Implement initial support to DataTransferItems. DataTransferItems are used to 
252         hold data for drag and drop operations. DataTransferItems hold a list of 
253         DataTransferItem objects each of which holds an item being dragged.
254
255         * WebCore.pro:
256         * dom/DataTransferItems.idl:
257         * editing/qt/EditorQt.cpp:
258         (WebCore::Editor::newGeneralClipboard):
259         * page/qt/EventHandlerQt.cpp:
260         (WebCore::EventHandler::createDraggingClipboard):
261         * platform/chromium/DataTransferItemsChromium.h:
262         * platform/qt/ClipboardQt.cpp:
263         (WebCore::Clipboard::create):
264         (WebCore::ClipboardQt::ClipboardQt):
265         (WebCore::ClipboardQt::items):
266         * platform/qt/ClipboardQt.h:
267         (WebCore::ClipboardQt::create):
268         * platform/qt/DataTransferItemQt.cpp: Added.
269         (WebCore::DataTransferItem::create):
270         (WebCore::DataTransferItemQt::createFromPasteboard):
271         (WebCore::DataTransferItemQt::create):
272         (WebCore::DataTransferItemQt::DataTransferItemQt):
273         (WebCore::DataTransferItemQt::getAsString):
274         (WebCore::DataTransferItemQt::getAsFile):
275         * platform/qt/DataTransferItemQt.h: Added.
276         * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
277         (WebCore::DataTransferItemsQt::create):
278         (WebCore::DataTransferItemsQt::DataTransferItemsQt):
279         (WebCore::DataTransferItemsQt::addPasteboardItem):
280         * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
281
282 2011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
283
284         Reviewed by Dimitri Glazkov.
285
286         Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
287         https://bugs.webkit.org/show_bug.cgi?id=58703
288
289         No new tests, refactoring only.
290
291         * dom/Element.cpp:
292         (WebCore::Element::copyNonAttributeProperties):
293         (WebCore::Element::insertedIntoDocument):
294         (WebCore::Element::removedFromDocument):
295         (WebCore::Element::insertedIntoTree):
296         (WebCore::Element::removedFromTree):
297         (WebCore::Element::attach):
298         (WebCore::Element::detach):
299         (WebCore::Element::recalcStyle):
300         (WebCore::Element::shadowRoot):
301         (WebCore::Element::ensureShadowRoot):
302         (WebCore::Element::childrenChanged):
303         * dom/Node.cpp:
304         (WebCore::Node::setTreeScopeRecursively):
305         (WebCore::shadowRoot):
306         (WebCore::Node::setDocumentRecursively):
307         (WebCore::NodeRendererFactory::findVisualParent):
308         Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
309         previous classes.
310
311         * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
312
313         * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
314
315         * html/HTMLDetailsElement.cpp:
316         * html/HTMLSummaryElement.cpp:
317         Added #include for ShadowRoot.h.
318
319 2011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
320
321         Reviewed by Kenneth Rohde Christiansen.
322
323         [EFL] Implement mediaSliderTrack
324         https://bugs.webkit.org/show_bug.cgi?id=59998
325
326         Implement paintMediaSliderTrack.
327
328         * platform/efl/RenderThemeEfl.cpp:
329         (WebCore::RenderThemeEfl::RenderThemeEfl):
330         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
331         * platform/efl/RenderThemeEfl.h:
332
333 2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
334
335         Reviewed by Pavel Feldman.
336
337         WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
338         https://bugs.webkit.org/show_bug.cgi?id=60023
339
340         * inspector/front-end/DetailedHeapshotGridNodes.js:
341         (WebInspector.HeapSnapshotConstructorNode):
342         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
343         * inspector/front-end/HeapSnapshot.js:
344         (WebInspector.HeapSnapshot.prototype.dispose):
345         (WebInspector.HeapSnapshot.prototype.aggregates):
346         (WebInspector.HeapSnapshot.prototype._buildAggregates):
347         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
348         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
349         (WebInspector.HeapSnapshotFilteredOrderedIterator):
350         (WebInspector.HeapSnapshotNodesProvider):
351         * inspector/front-end/HeapSnapshotProxy.js:
352         (WebInspector.HeapSnapshotProxy.prototype.aggregates):
353         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
354
355 2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
356
357         Reviewed by Pavel Feldman.
358
359         WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
360         https://bugs.webkit.org/show_bug.cgi?id=60029
361
362         * English.lproj/localizedStrings.js:
363         * inspector/front-end/DetailedHeapshotView.js:
364         (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
365         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
366
367 2011-05-03  Beth Dakin  <bdakin@apple.com>
368
369         Reviewed by Dan Bernstein.
370
371         https://bugs.webkit.org/show_bug.cgi?id=60045
372         Scrollbar thumb sometimes leaves artifacts in the track after scrolling
373         -and corresponding-
374         <rdar://problem/9015376>
375
376         When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should 
377         always be ignored.
378         * platform/mac/ScrollbarThemeMac.mm:
379         (WebCore::updateArrowPlacement):
380
381 2011-05-03  David Hyatt  <hyatt@apple.com>
382
383         Reviewed by Dan Bernstein.
384
385         https://bugs.webkit.org/show_bug.cgi?id=60040
386         <rdar://problem/9261591>
387
388         Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
389         a translation of a 0,0 point to absolute coordinates so that the top left position is
390         accurate.
391
392         Added fast/inline/skipped-whitespace-client-rect.html
393         
394         * rendering/RenderInline.cpp:
395         (WebCore::RenderInline::culledInlineAbsoluteQuads):
396
397 2011-05-03  Sam Weinig  <sam@webkit.org>
398
399         Fix chromium build.
400
401         * page/Settings.cpp:
402
403 2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
404
405         Reviewed by Dimitri Glazkov.
406
407         Bug 59974 - Update image map on the containing TreeScope rather than the Document
408         https://bugs.webkit.org/show_bug.cgi?id=59974
409
410         No new tests. (reefactoring)
411
412         * html/HTMLMapElement.cpp:
413         (WebCore::HTMLMapElement::parseMappedAttribute):
414         (WebCore::HTMLMapElement::insertedIntoDocument):
415         (WebCore::HTMLMapElement::removedFromDocument):
416         * rendering/RenderImage.cpp:
417         (WebCore::RenderImage::imageMap):
418
419 2011-05-03  Sam Weinig  <sam@webkit.org>
420
421         Fix chromium build.
422
423         * loader/HistoryController.cpp:
424
425 2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
426
427         Reviewed by Dimitri Glazkov.
428
429         Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
430         https://bugs.webkit.org/show_bug.cgi?id=59966
431
432         No new tests. (refactoring)
433
434         * accessibility/AccessibilityRenderObject.cpp:
435         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
436         (WebCore::AccessibilityRenderObject::activeDescendant):
437         * accessibility/AccessibilityRenderObject.h:
438         (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
439         * css/CSSCursorImageValue.cpp:
440         (WebCore::resourceReferencedByCursorElement):
441         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
442         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
443         (WebCore::CSSCursorImageValue::cachedImage):
444         * dom/DynamicNodeList.cpp:
445         (WebCore::DynamicNodeList::itemWithName):
446         * dom/Element.h:
447         (WebCore::Element::updateId):
448         * dom/Node.cpp:
449         (WebCore::Node::querySelector):
450         * html/FormAssociatedElement.cpp:
451         (WebCore::FormAssociatedElement::insertedIntoTree):
452         (WebCore::FormAssociatedElement::resetFormOwner):
453         * html/HTMLInputElement.cpp:
454         (WebCore::HTMLInputElement::dataList):
455         * html/HTMLLabelElement.cpp:
456         (WebCore::HTMLLabelElement::control):
457         * rendering/svg/RenderSVGTextPath.cpp:
458         (WebCore::RenderSVGTextPath::layoutPath):
459         * svg/SVGAElement.cpp:
460         (WebCore::SVGAElement::defaultEventHandler):
461         * svg/SVGAltGlyphElement.cpp:
462         (WebCore::SVGAltGlyphElement::glyphElement):
463         * svg/SVGFEImageElement.cpp:
464         (WebCore::SVGFEImageElement::requestImageResource):
465         (WebCore::SVGFEImageElement::build):
466         * svg/SVGLinearGradientElement.cpp:
467         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
468         * svg/SVGMPathElement.cpp:
469         (WebCore::SVGMPathElement::pathElement):
470         * svg/SVGPatternElement.cpp:
471         (WebCore::SVGPatternElement::collectPatternAttributes):
472         * svg/SVGRadialGradientElement.cpp:
473         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
474         * svg/SVGSVGElement.cpp:
475         (WebCore::SVGSVGElement::getElementById):
476         * svg/SVGTRefElement.cpp:
477         (WebCore::SVGTRefElement::updateReferencedText):
478         * svg/SVGTextPathElement.cpp:
479         (WebCore::SVGTextPathElement::insertedIntoDocument):
480         * svg/SVGUseElement.cpp:
481         (WebCore::SVGUseElement::buildPendingResource):
482         (WebCore::SVGUseElement::hasCycleUseReferencing):
483         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
484         * svg/SVGViewSpec.cpp:
485         (WebCore::SVGViewSpec::viewTarget):
486         * svg/animation/SVGSMILElement.cpp:
487         (WebCore::SVGSMILElement::eventBaseFor):
488         (WebCore::SVGSMILElement::connectConditions):
489         (WebCore::SVGSMILElement::targetElement):
490         * xml/XPathFunctions.cpp:
491         (WebCore::XPath::FunId::evaluate):
492
493 2011-05-03  Sam Weinig  <sam@webkit.org>
494
495         Fix chromium build.
496
497         * css/StyleMedia.cpp:
498
499 2011-05-03  Sam Weinig  <sam@webkit.org>
500
501         Reviewed by Anders Carlsson.
502
503         Prune #includes from FrameView.h (Part 1)
504         https://bugs.webkit.org/show_bug.cgi?id=59957
505
506         * page/FrameView.h:
507         Prune #includes.
508
509         * accessibility/chromium/AXObjectCacheChromium.cpp:
510         * page/win/FrameCGWin.cpp:
511         * platform/Scrollbar.cpp:
512         Add not necessary #includes.
513
514         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
515         Add now necessary forward declaration.
516
517 2011-05-03  Andrey Kosyakov  <caseq@chromium.org>
518
519         Reviewed by Dimitri Glazkov.
520
521         [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
522         https://bugs.webkit.org/show_bug.cgi?id=60026
523
524         Return a wrapper for Node in toV8(Node*) when called with a node of type
525         SHADOW_ROOT_NODE instead of entering infinite recursion.
526
527         * bindings/v8/custom/V8NodeCustom.cpp:
528         (WebCore::toV8Slow):
529
530 2011-05-02  Adam Roben  <aroben@apple.com>
531
532         Take advantage of implicit conversion from nullptr_t to PassOwnPtr
533
534         Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
535         doesn't work, but should
536
537         Reviewed by Adam Barth.
538
539         * bindings/js/ScheduledAction.cpp:
540         * css/CSSStyleSelector.cpp:
541         * css/MediaList.cpp:
542         * css/MediaQueryMatcher.cpp:
543         * css/SVGCSSStyleSelector.cpp:
544         * dom/MessagePort.cpp:
545         * html/InputType.cpp:
546         * html/canvas/WebGLRenderingContext.cpp:
547         * inspector/InspectorStyleSheet.cpp:
548         * page/ContextMenuController.cpp:
549         * page/Page.cpp:
550         * platform/PlatformGestureRecognizer.cpp:
551         * platform/PurgeableBuffer.h:
552         * platform/graphics/ImageBuffer.h:
553         * platform/leveldb/LevelDBDatabase.cpp:
554         * platform/mac/PurgeableBufferMac.cpp:
555         * platform/text/RegularExpression.cpp:
556         * rendering/RenderTheme.cpp:
557         * rendering/RenderThemeMac.mm:
558         * rendering/style/RenderStyle.h:
559         * rendering/style/SVGRenderStyleDefs.cpp:
560         * rendering/style/ShadowData.cpp:
561         * rendering/style/StyleRareInheritedData.cpp:
562         * rendering/style/StyleRareNonInheritedData.cpp:
563         * rendering/svg/RenderSVGResourcePattern.cpp:
564
565 2011-05-03  Pavel Feldman  <pfeldman@google.com>
566
567         Not reviewed: fix inspector status bar image glyph reference in network panel.
568
569         * inspector/front-end/networkPanel.css:
570         (.network-larger-resources-status-bar-item .glyph):
571
572 2011-05-03  Pavel Feldman  <pfeldman@google.com>
573
574         Reviewed by Yury Semikhatsky.
575
576         Web Inspector: rename BrowserDebugger agent to DOMDebugger.
577         https://bugs.webkit.org/show_bug.cgi?id=60019
578
579         * inspector/CodeGeneratorInspector.pm:
580         * inspector/Inspector.json:
581         * inspector/InspectorController.cpp:
582         (WebCore::InspectorController::connectFrontend):
583         * inspector/front-end/BreakpointsSidebarPane.js:
584         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
585         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
586         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
587         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
588         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
589         * inspector/generate-inspector-idl:
590
591 2011-05-03  Yury Semikhatsky  <yurys@chromium.org>
592
593         Reviewed by Pavel Feldman.
594
595         Web Inspector: remove special logic for type of document.__proto__
596         https://bugs.webkit.org/show_bug.cgi?id=60014
597
598         Test: inspector/console/console-log-document-proto.html
599
600         * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
601
602 2011-05-03  Pavel Feldman  <pfeldman@google.com>
603
604         Not reviewed: fixed typo in inspector style.
605
606         * inspector/front-end/inspector.css:
607         (.status-bar-item > .glyph):
608
609 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
610
611         Reviewed by Yury Semikhatsky.
612
613         Web Inspector: revision history storage is too slow.
614         https://bugs.webkit.org/show_bug.cgi?id=59939
615
616         It turns out that iterating localStorage keys is very
617         expensive (results in slow inspector start), refactor revision
618         history in order not to rely upon that operation.
619
620         * inspector/front-end/Resource.js:
621         (WebInspector.Resource):
622         (WebInspector.Resource._resourceRevisionRegistry):
623         (WebInspector.Resource.restoreRevisions.persist):
624         (WebInspector.Resource.restoreRevisions):
625         (WebInspector.Resource.persistRevision):
626         (WebInspector.Resource.prototype._persistRevision):
627         * inspector/front-end/ResourceTreeModel.js:
628         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
629         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
630
631 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
632
633         Reviewed by Yury Semikhatsky.
634
635         Web Inspector: combine toolbar icon images.
636         https://bugs.webkit.org/show_bug.cgi?id=59931
637
638         * WebCore.gypi:
639         * inspector/front-end/Images/auditsIcon.png: Removed.
640         * inspector/front-end/Images/consoleIcon.png: Removed.
641         * inspector/front-end/Images/elementsIcon.png: Removed.
642         * inspector/front-end/Images/networkIcon.png: Removed.
643         * inspector/front-end/Images/profilesIcon.png: Removed.
644         * inspector/front-end/Images/resourcesIcon.png: Removed.
645         * inspector/front-end/Images/scriptsIcon.png: Removed.
646         * inspector/front-end/Images/timelineIcon.png: Removed.
647         * inspector/front-end/Images/toolbarIcons.png: Added.
648         * inspector/front-end/Images/toolbarIconsSmall.png: Added.
649         * inspector/front-end/WebKit.qrc:
650         * inspector/front-end/inspector.css:
651         (.toolbar-icon):
652         (#toolbar-dropdown .toolbar-icon):
653         (.toolbar-item:active .toolbar-icon):
654         (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
655         (.toolbar-item.elements .toolbar-icon):
656         (.toolbar-item.resources .toolbar-icon):
657         (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
658         (.toolbar-item.network .toolbar-icon):
659         (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
660         (.toolbar-item.scripts .toolbar-icon):
661         (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
662         (.toolbar-item.timeline .toolbar-icon):
663         (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
664         (.toolbar-item.profiles .toolbar-icon):
665         (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
666         (.toolbar-item.audits .toolbar-icon):
667         (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
668         (.toolbar-item.console .toolbar-icon):
669         (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
670         (.status-bar-item > .glyph):
671
672 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
673
674         Reviewed by Yury Semikhatsky.
675
676         Web Inspector: combine status bar button glyphs.
677         https://bugs.webkit.org/show_bug.cgi?id=59885
678
679         * WebCore.gypi:
680         * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
681         * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
682         * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
683         * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
684         * inspector/front-end/Images/dockButtonGlyph.png: Removed.
685         * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
686         * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
687         * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
688         * inspector/front-end/Images/focusButtonGlyph.png: Removed.
689         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
690         * inspector/front-end/Images/gearButtonGlyph.png: Removed.
691         * inspector/front-end/Images/helpButtonGlyph.png: Removed.
692         * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
693         * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
694         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
695         * inspector/front-end/Images/percentButtonGlyph.png: Removed.
696         * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
697         * inspector/front-end/Images/recordButtonGlyph.png: Removed.
698         * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
699         * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
700         * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
701         * inspector/front-end/Images/undockButtonGlyph.png: Removed.
702         * inspector/front-end/WebKit.qrc:
703         * inspector/front-end/inspector.css:
704         (.status-bar-item > .glyph):
705         (#dock-status-bar-item .glyph):
706         (body.detached #dock-status-bar-item .glyph):
707         (#console-status-bar-item .glyph):
708         (.clear-status-bar-item .glyph):
709         (button.enable-toggle-status-bar-item .glyph):
710         (button.enable-toggle-status-bar-item.toggled-on .glyph):
711         (.scripts-pause-on-exceptions-status-bar-item .glyph):
712         (.scripts-toggle-pretty-print-status-bar-item .glyph):
713         (.toggle-breakpoints .glyph):
714         (.toggle-breakpoints.toggled-on .glyph):
715         (.resources-larger-resources-status-bar-item .glyph):
716         (.timeline-filter-status-bar-item .glyph):
717         (.garbage-collect-status-bar-item .glyph):
718         (.record-profile-status-bar-item .glyph):
719         (.record-profile-status-bar-item.toggled-on .glyph):
720         (.heap-snapshot-status-bar-item .glyph):
721         (.node-search-status-bar-item .glyph):
722         (.percent-time-status-bar-item .glyph):
723         (.focus-profile-node-status-bar-item .glyph):
724         (.exclude-profile-node-status-bar-item .glyph):
725         (.reset-profile-status-bar-item .glyph):
726         (.delete-storage-status-bar-item .glyph):
727         (.refresh-storage-status-bar-item .glyph):
728         * inspector/front-end/inspector.js:
729
730 2011-05-02  Simon Fraser  <simon.fraser@apple.com>
731
732         Reviewed by Dan Bernstein.
733
734         Possible crash when removing elements with reflections
735         https://bugs.webkit.org/show_bug.cgi?id=60009
736         
737         RenderLayer's destructor deleted its z-order list Vector pointers
738         before removing the reflection layer. However, the reflection cleanup
739         code could call back into the RenderLayer to dirty z-order lists,
740         so move reflection cleanup to before z-order vector deletion.
741         
742         The test crashes when run manually a few times with MallocScribble enabled,
743         but I was not able to create a test that crashed reliably.
744
745         Test: fast/reflections/remove-reflection-crash.html
746
747         * rendering/RenderLayer.cpp:
748         (WebCore::RenderLayer::~RenderLayer):
749
750 2011-05-02  Ian Henderson  <ianh@apple.com>
751
752         Reviewed by Dan Bernstein.
753
754         CSS !important not respected by JavaScript
755         https://bugs.webkit.org/show_bug.cgi?id=60007
756
757         The addParsedProperty and addParsedProperties methods were subtly
758         different.  The former did not check for !important before setting the
759         given property.
760
761         Change addParsedProperties to call addParsedProperty and move the
762         relevant code.  The one other caller of this method, in
763         editing/markup.cpp, probably wanted this behavior anyway.
764
765         Test: fast/css/important-js-override.html
766
767         * css/CSSMutableStyleDeclaration.cpp:
768         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
769         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
770
771 2011-05-02  Ben Wells  <benwells@chromium.org>
772
773         Reviewed by Simon Fraser.
774
775         Cleanup variable usage in RenderObject.cpp paintOutline()
776         https://bugs.webkit.org/show_bug.cgi?id=59911
777
778         No new tests for this, there should be no change in behaviour.
779
780         * rendering/RenderObject.cpp:
781         (WebCore::RenderObject::paintOutline):
782
783 2011-05-02  Ryosuke Niwa  <rniwa@webkit.org>
784
785         Reviewed by James Robinson.
786
787         REGRESSION(r84672): showTree doesn't work for input/textarea elements
788         https://bugs.webkit.org/show_bug.cgi?id=60001
789
790         When shadow is null, try retrieving the inner element of a render text control.
791
792         * dom/Node.cpp:
793         (WebCore::traverseTreeAndMark):
794
795 2011-05-02  Joseph Pecoraro  <joepeck@webkit.org>
796
797         Reviewed by David Kilzer.
798
799         Respect fixed text-indent on ::-webkit-input-placeholder
800         https://bugs.webkit.org/show_bug.cgi?id=59825
801
802         Test: fast/forms/input-placeholder-text-indent.html
803
804         * rendering/RenderTextControl.cpp:
805         (WebCore::RenderTextControl::paintPlaceholder): indent by
806         a fixed text-indent size specified on the placeholder style.
807
808 2011-05-02  Eric Uhrhane  <ericu@chromium.org>
809
810         Reviewed by Eric Seidel.
811
812         Some FileWriter progress events should be queued
813         https://bugs.webkit.org/show_bug.cgi?id=50846
814
815         * fileapi/FileWriter.cpp:
816         * fileapi/FileWriter.h:
817         Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
818
819 2011-05-02  Jia Pu  <jpu@apple.com>
820
821         Reviewed by Alexey Proskuryakov.
822
823         [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
824         https://bugs.webkit.org/show_bug.cgi?id=59836
825         <rdar://problem/9275983>
826
827         * platform/DefaultLocalizationStrategy.cpp:
828         (WebCore::truncatedStringForLookupMenuItem):
829         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
830
831 2011-05-02  Brady Eidson  <beidson@apple.com>
832
833         Reviewed by Anders Carlsson.
834
835         <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
836         In Aperture, a WebView might be dealloc'ed before it finishes loading.
837
838         * WebCore.exp.in:
839         * platform/RuntimeApplicationChecks.cpp:
840         (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
841         * platform/RuntimeApplicationChecks.h:
842
843 2011-05-02  Simon Fraser  <simon.fraser@apple.com>
844
845         Reviewed by Dan Bernstein.
846
847         Avoid wasted cycles updating paths when popping the context stack
848         https://bugs.webkit.org/show_bug.cgi?id=59967
849
850         CanvasRenderingContext2D has to map the current path through
851         transforms whenever the context stack is popped, which creates
852         a lot of platform path objects. Avoid extra work here when the
853         path is empty, or when the transform is identity.
854
855         * platform/graphics/cg/PathCG.cpp:
856         (WebCore::Path::transform):
857
858 2011-05-02  Enrica Casucci  <enrica@apple.com>
859
860         Reviewed by Dan Bernstein.
861
862         Text does not split on white space when typing to the edge of window.
863         https://bugs.webkit.org/show_bug.cgi?id=59968
864         <rdar://problem/9112683>
865
866         Test: editing/inserting/typing-at-end-of-line.html
867
868         This is a regression introduced when we converted the line box tree to
869         floating point in r78846. In findNextLineBreak, there was still one place where
870         the character width was treated as int and truncated and we were inconsistent
871         in the way we treated a character that did not fit entirely in the line.
872
873         * rendering/RenderBlockLineLayout.cpp:
874         (WebCore::RenderBlock::findNextLineBreak):
875
876 2011-04-19  Adrienne Walker  <enne@google.com>
877
878         Reviewed by James Robinson.
879
880         [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
881         https://bugs.webkit.org/show_bug.cgi?id=58907
882
883         Additionally, move the context save/restore logic to a place where it
884         will reset the translation added in LayerTilerChromium.
885
886         Test: compositing/repaint/same-size-invalidation.html
887
888         * platform/graphics/chromium/ContentLayerChromium.cpp:
889         (WebCore::ContentLayerPainter::paint):
890         * platform/graphics/chromium/PlatformCanvas.cpp:
891         (WebCore::PlatformCanvas::resize):
892         (WebCore::PlatformCanvas::Painter::Painter):
893         (WebCore::PlatformCanvas::Painter::~Painter):
894         * platform/graphics/chromium/PlatformCanvas.h:
895
896 2011-05-02  Csaba Osztrogonác  <ossy@webkit.org>
897
898         Enable strict OwnPtr for Qt
899         https://bugs.webkit.org/show_bug.cgi?id=59667
900
901         Unreviewed buildfix after r85343.
902
903         * platform/graphics/qt/GraphicsContext3DQt.cpp:
904         (WebCore::GraphicsContext3D::GraphicsContext3D):
905
906 2011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
907
908         Unreviewed, rolling out r85483.
909         http://trac.webkit.org/changeset/85483
910         https://bugs.webkit.org/show_bug.cgi?id=59958
911
912         Causes media test failures. (Requested by eric_carlson on
913         #webkit).
914
915         * html/HTMLMediaElement.cpp:
916         (WebCore::HTMLMediaElement::HTMLMediaElement):
917         (WebCore::HTMLMediaElement::prepareForLoad):
918         (WebCore::HTMLMediaElement::seek):
919         (WebCore::HTMLMediaElement::updatePlayState):
920         * html/HTMLMediaElement.h:
921         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
922         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
923         (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
924         (WebCore::MediaPlayerPrivateAVFoundation::load):
925         (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
926         (WebCore::MediaPlayerPrivateAVFoundation::paint):
927         (WebCore::MediaPlayerPrivateAVFoundation::duration):
928         (WebCore::MediaPlayerPrivateAVFoundation::seeking):
929         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
930         (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
931         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
932         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
933         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
934         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
935         (WebCore::MediaPlayerPrivateAVFoundation::repaint):
936         (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
937         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
938         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
939         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
940         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
941         (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
942         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
943         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
944         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
945         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
946         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
947         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
948         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
949         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
950         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
951         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
952
953 2011-05-02  Adam Barth  <abarth@webkit.org>
954
955         Reviewed by David Levin.
956
957         PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
958         https://bugs.webkit.org/show_bug.cgi?id=59924
959
960         * css/CSSGrammar.y:
961         * platform/graphics/mac/SimpleFontDataMac.mm:
962             - Memory management for the font cache is somewhat... complext.
963               This will require some careful thought to sort out.
964
965 2011-05-02  Levi Weintraub  <leviw@chromium.org>
966
967         Reviewed by Eric Seidel.
968
969         showLineTree/showLineTreeForThis would make working with the line box tree easier
970         https://bugs.webkit.org/show_bug.cgi?id=59662
971
972         Adding a showLineTree/showLineTreeForThis method to help visualize and debug
973         the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
974
975         No new tests since this is a debugging feature only and not compiled in release.
976
977         * rendering/InlineBox.cpp:
978         (WebCore::InlineBox::showLineTreeForThis):
979         (WebCore::InlineBox::showLineTreeAndMark):
980         (WebCore::InlineBox::showBox):
981         (showLineTree):
982         * rendering/InlineBox.h:
983         * rendering/InlineFlowBox.cpp:
984         (WebCore::InlineFlowBox::showLineTreeAndMark):
985         * rendering/InlineFlowBox.h:
986         * rendering/InlineTextBox.cpp:
987         (WebCore::InlineTextBox::showBox):
988         * rendering/InlineTextBox.h:
989         * rendering/RenderBlock.cpp:
990         (WebCore::RenderBlock::showLineTreeAndMark):
991         * rendering/RenderBlock.h:
992         * rendering/RenderObject.cpp:
993         (WebCore::RenderObject::showRenderTreeForThis):
994         (WebCore::RenderObject::showLineTreeForThis):
995         (showTree):
996         (showLineTree):
997         * rendering/RenderObject.h:
998
999 2011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>
1000
1001         Reviewed by Eric Carlson.
1002
1003         REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
1004         https://bugs.webkit.org/show_bug.cgi?id=59917
1005
1006         Since default event handlers are not retargeted, we should always attempt ancestor
1007         traversal to find out whether the event.
1008
1009         * html/MediaDocument.cpp:
1010         (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
1011         (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
1012
1013 2011-05-02  Sam Weinig  <sam@webkit.org>
1014
1015         Attempt to fix the Leopard build.
1016
1017         * platform/graphics/FontPlatformData.h:
1018         * platform/graphics/mac/ComplexTextController.h:
1019         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1020         * platform/mac/WebCoreSystemInterface.h:
1021
1022 2011-05-02  Tony Chang  <tony@chromium.org>
1023
1024         Reviewed by Kent Tamura.
1025
1026         convert manual-tests/bugzilla-6821.html to a layout test
1027         https://bugs.webkit.org/show_bug.cgi?id=59404
1028
1029         Test: fast/css/hover-update.html
1030
1031         * manual-tests/bugzilla-6821.html: Removed.
1032
1033 2011-05-02  Sam Weinig  <sam@webkit.org>
1034
1035         Reviewed by Anders Carlsson.
1036
1037         Prune ApplicationServices.h out of the headers
1038         https://bugs.webkit.org/show_bug.cgi?id=59952
1039
1040         More forward declares are better.
1041
1042         * html/canvas/CanvasRenderingContext2D.cpp:
1043         * html/canvas/CanvasRenderingContext2D.h:
1044         * platform/graphics/GlyphBuffer.h:
1045         * platform/graphics/cg/ImageBufferCG.cpp:
1046         * platform/graphics/cg/PDFDocumentImage.cpp:
1047         * platform/graphics/cg/PDFDocumentImage.h:
1048         * platform/graphics/mac/ComplexTextController.h:
1049         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1050         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1051         * platform/mac/ScrollAnimatorMac.h:
1052         * platform/mac/ScrollAnimatorMac.mm:
1053         * platform/mac/ScrollbarThemeMac.h:
1054         * platform/mac/ScrollbarThemeMac.mm:
1055         * platform/mac/WebCoreNSStringExtras.h:
1056         * platform/mac/WebCoreSystemInterface.h:
1057
1058 2011-05-02  Dan Bernstein  <mitz@apple.com>
1059
1060         Reviewed by Simon Fraser.
1061
1062         <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
1063         https://bugs.webkit.org/show_bug.cgi?id=58006
1064
1065         * rendering/RenderBox.cpp:
1066         (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
1067         <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
1068         table cell as the immediate containing block, but any case where all containing block ancestors
1069         up to and including a table cell are auto-or-percent height.
1070
1071 2011-05-02  Daniel Bates  <dbates@webkit.org>
1072
1073         Reviewed by Sam Weinig.
1074
1075         Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
1076         https://bugs.webkit.org/show_bug.cgi?id=59379
1077
1078         Move manual test onblur-remove.html to LayoutTests/fast/events.
1079
1080         Test: fast/events/onblur-remove.html
1081
1082         * manual-tests/onblur-remove.html: Removed.
1083
1084 2011-05-02  Sailesh Agrawal  <sail@chromium.org>
1085
1086         Reviewed by Dimitri Glazkov.
1087
1088         Chromium Mac: Add scrollbar overlay drawing functions
1089         https://bugs.webkit.org/show_bug.cgi?id=59741
1090
1091         These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
1092
1093         No new tests, since this code is only enabled on future versions of Mac OS X.
1094
1095         * WebCore.gypi:
1096         * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
1097         * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
1098         (LookUpNSScrollerImpClass):
1099         (LookUpNSScrollerImpPairClass):
1100         (ScrollbarControlSizeToNSControlSize):
1101         (wkScrollbarPainterUsesOverlayScrollers):
1102         (wkScrollbarPainterIsHorizontal):
1103         (wkScrollbarPainterKnobAlpha):
1104         (wkScrollbarPainterSetOverlayState):
1105         (wkScrollbarPainterPaint):
1106         (wkScrollbarMinimumThumbLength):
1107         (wkScrollbarPainterSetDelegate):
1108         (wkScrollbarPainterTrackAlpha):
1109         (wkMakeScrollbarPainter):
1110         (wkScrollbarThickness):
1111         (wkScrollbarMinimumTotalLengthNeededForThumb):
1112         (wkVerticalScrollbarPainterForController):
1113         (wkHorizontalScrollbarPainterForController):
1114         (wkMakeScrollbarReplacementPainter):
1115         (wkSetPainterForPainterController):
1116         (wkSetScrollbarPainterControllerStyle):
1117         (wkScrollbarPainterKnobRect):
1118         (wkSetScrollbarPainterKnobAlpha):
1119         (wkSetScrollbarPainterTrackAlpha):
1120         (wkSetScrollbarPainterKnobStyle):
1121         (wkMakeScrollbarPainterController):
1122         (wkContentAreaScrolled):
1123         (wkContentAreaWillPaint):
1124         (wkMouseEnteredContentArea):
1125         (wkMouseExitedContentArea):
1126         (wkMouseMovedInContentArea):
1127         (wkWillStartLiveResize):
1128         (wkContentAreaResized):
1129         (wkWillEndLiveResize):
1130         (wkContentAreaDidShow):
1131         (wkContentAreaDidHide):
1132         (wkDidBeginScrollGesture):
1133         (wkDidEndScrollGesture):
1134         (wkScrollbarPainterForceFlashScrollers):
1135         (IsScrollbarOverlayAPIAvailable):
1136
1137 2011-05-02  Luke Macpherson   <macpherson@chromium.org>
1138
1139         Reviewed by Dimitri Glazkov.
1140
1141         Implement Length based CSS properties in CSSStyleApplyProperty
1142         https://bugs.webkit.org/show_bug.cgi?id=59314
1143
1144         No new tests as no functionality changed.
1145
1146         * css/CSSStyleApplyProperty.cpp:
1147         (WebCore::ApplyPropertyLength::ApplyPropertyLength):
1148         Added this class to handle all length types.
1149         Property specific behavior is handled through set of boolean parameters.
1150         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1151         Added calls to set up entries for the newly added length properties.
1152         * css/CSSStyleSelector.cpp:
1153         (WebCore::CSSStyleSelector::applyProperty):
1154         Remove property implementations mow implemented in CSSStyleApplyProperty.
1155         * css/CSSStyleSelector.h:
1156         (WebCore::CSSStyleSelector::rootElementStyle):
1157         Expose m_rootElementStyle via getter.
1158
1159 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
1160
1161         Reviewed by Eric Seidel.
1162
1163         HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
1164         https://bugs.webkit.org/show_bug.cgi?id=59828
1165
1166         No new tests required, no functional change because seeking to time zero before playback
1167         begins has no effect.
1168
1169         * html/HTMLMediaElement.cpp:
1170         (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
1171             HAVE_METADATA.
1172
1173 2011-05-02  Sam Weinig  <sam@webkit.org>
1174
1175         Reviewed by Gavin Barraclough.
1176
1177         Fix extra whitespace in license in FocusDirection.h.
1178
1179         * page/FocusDirection.h:
1180
1181 2011-05-02  Sam Weinig  <sam@webkit.org>
1182
1183         Reviewed by Adam Barth.
1184
1185         Prune some #includes from DOMWindow.h
1186         https://bugs.webkit.org/show_bug.cgi?id=59907
1187
1188         * page/DOMWindow.cpp:
1189         (WebCore::DOMWindow::setSecurityOrigin):
1190         * page/DOMWindow.h:
1191         Remove #includes of SecurityOrigin and MessagePort by forward declaring
1192         and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
1193         #include that was getting added by MessagePort.h.
1194
1195         * bindings/js/JSCustomVoidCallback.cpp:
1196         * bindings/js/JSCustomXPathNSResolver.cpp:
1197         * bindings/js/JSDOMWindowCustom.h:
1198         * bindings/js/JSHistoryCustom.cpp:
1199         * bindings/js/ScriptController.h:
1200         * html/HTMLAnchorElement.cpp:
1201         * html/HTMLMediaElement.cpp:
1202         * html/parser/XSSFilter.cpp:
1203         * inspector/InspectorDOMStorageResource.cpp:
1204         * loader/MainResourceLoader.cpp:
1205         * page/DragController.cpp:
1206         * page/EventSource.cpp:
1207         * page/Location.cpp:
1208         * websockets/WebSocket.cpp:
1209         * xml/XSLTProcessorLibxslt.cpp:
1210         Add now missing SecurityOrigin.h #includes.
1211
1212 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
1213
1214         Reviewed by Brady Eidson.
1215
1216         The preload attribute of the video tag is not completely implemented
1217         https://bugs.webkit.org/show_bug.cgi?id=43673
1218         <rdar://problem/7508322>
1219
1220         Tested manually with manual-tests/media-elements/video-preload.html.
1221
1222         * html/HTMLMediaElement.cpp:
1223         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
1224         (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
1225         (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
1226         (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
1227             because we need to have media data loaded to seek.
1228         (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
1229         * html/HTMLMediaElement.h:
1230
1231         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1232         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
1233             m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
1234         (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
1235         (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
1236             Move all preload logic to setPreload, call it from here.
1237         (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
1238             setPreload, call it.
1239         (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
1240             unlikely to be correct and isn't worth caching.
1241         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
1242             to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
1243             'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
1244             a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
1245             when the first frame is available.
1246         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
1247             width, height, hasVideo, etc.
1248         (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
1249             in derived classes.
1250         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
1251             AVAsset and AVPlayerItem here.
1252         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1253
1254         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
1255         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1256         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
1257             m_videoFrameHasDrawn.
1258         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
1259             videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
1260             if we have painted a frame to the context.
1261         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
1262             if necessary.
1263         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
1264         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
1265         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
1266         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
1267         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
1268             the buffer is full.
1269         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
1270             AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
1271             when we only have metadata.
1272         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
1273         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
1274         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
1275             when when we haven't allocated the AVPlayerItem yet so that we can report attributes
1276             when we only have metadata.
1277         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
1278             we have allocated the AVPlayerItem.
1279
1280 2011-05-02  Philippe Normand  <pnormand@igalia.com>
1281
1282         Reviewed by Martin Robinson.
1283
1284         [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
1285         https://bugs.webkit.org/show_bug.cgi?id=59932
1286
1287         Use gdk_window_get_width() and gdk_window_get_height() if
1288         available, instead of the deprecated gdk_drawable_get_size().
1289
1290         No new tests, build fix only.
1291
1292         * platform/gtk/WidgetRenderingContext.cpp:
1293         (WebCore::WidgetRenderingContext::WidgetRenderingContext):
1294
1295 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
1296
1297         Reviewed by Brady Eidson.
1298
1299         The preload attribute of the video tag is not completely implemented
1300         https://bugs.webkit.org/show_bug.cgi?id=43673
1301         <rdar://problem/7508322>
1302
1303         Test manually with manual-tests/media-elements/video-preload.html.
1304
1305         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1306         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1307         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
1308             attribute when preload is not "auto".
1309         (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
1310         (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
1311         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
1312         (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
1313             a QTMovie.
1314
1315 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
1316
1317         Reviewed by Brady Eidson.
1318
1319         The preload attribute of the video tag is not completely implemented
1320         https://bugs.webkit.org/show_bug.cgi?id=43673
1321         <rdar://problem/7508322>
1322
1323         Manual test manual-tests/media-elements/video-preload.html added.
1324
1325         * manual-tests/media-elements/video-preload.html: Added. New manual test for media element 
1326             'preload' attribute because it is not possible to detect if a media engine supports 
1327             "preload=metadata" in a way that lets us have per-platform layout test results.
1328
1329 2011-05-01  Abhishek Arya  <inferno@chromium.org>
1330
1331         Reviewed by Eric Carlson.
1332
1333         Regression(r74787): Media document mouse click and double-click
1334         events should be checked on target node only and not its descendants.
1335         https://bugs.webkit.org/show_bug.cgi?id=59886
1336
1337         * html/MediaDocument.cpp:
1338         (WebCore::MediaDocument::defaultEventHandler):
1339
1340 2011-05-01  Adam Barth  <abarth@webkit.org>
1341
1342         Reviewed by Eric Seidel.
1343
1344         Polish CSP host and port matching
1345         https://bugs.webkit.org/show_bug.cgi?id=59899
1346
1347         Finish last two details of host and port matching.  I don't think the
1348         default port handling is testable with our current testing
1349         infrastructure.
1350
1351         Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
1352                http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
1353
1354         * page/ContentSecurityPolicy.cpp:
1355         (WebCore::CSPSource::hostMatches):
1356         (WebCore::CSPSource::portMatches):
1357
1358 2011-05-01  Adam Barth  <abarth@webkit.org>
1359
1360         Reviewed by Eric Seidel.
1361
1362         CSP default-src is missing
1363         https://bugs.webkit.org/show_bug.cgi?id=58641
1364
1365         Add support for default-src.  The default-src provides a default policy
1366         for every directive that sends in "-src".  If the more-specific
1367         directive is present, it takes precedence.  I also took this
1368         opportunity to refactor the internals of ContentSecurityPolicy a bit to
1369         reduce duplicate code.
1370
1371         Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
1372                http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
1373                http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
1374
1375         * page/ContentSecurityPolicy.cpp:
1376         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1377         (WebCore::ContentSecurityPolicy::checkEval):
1378         (WebCore::ContentSecurityPolicy::operativeDirective):
1379         (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
1380         (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
1381         (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
1382         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
1383         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
1384         (WebCore::ContentSecurityPolicy::allowInlineScript):
1385         (WebCore::ContentSecurityPolicy::allowInlineStyle):
1386         (WebCore::ContentSecurityPolicy::allowEval):
1387         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1388         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1389         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1390         (WebCore::ContentSecurityPolicy::allowImageFromSource):
1391         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1392         (WebCore::ContentSecurityPolicy::allowFontFromSource):
1393         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1394         (WebCore::ContentSecurityPolicy::addDirective):
1395         * page/ContentSecurityPolicy.h:
1396
1397 2011-05-01  Sam Weinig  <sam@webkit.org>
1398
1399         Reviewed by Anders Carlsson.
1400
1401         Prune some unnecessary #includes
1402         https://bugs.webkit.org/show_bug.cgi?id=59895
1403
1404         Start getting rid of unnecessary #includes and forward declares.
1405
1406         * bindings/js/JSDOMBinding.h:
1407         * bindings/js/JSDOMWindowBase.h:
1408         * bindings/js/JSDOMWindowShell.h:
1409         * bindings/js/ScheduledAction.cpp:
1410         * bindings/js/ScriptController.cpp:
1411         * bindings/js/ScriptController.h:
1412         * bindings/js/ScriptDebugServer.cpp:
1413         * editing/Editor.h:
1414         * inspector/InspectorClient.cpp:
1415         * loader/FrameLoader.h:
1416         * loader/NavigationScheduler.h:
1417         * page/Console.cpp:
1418         * xml/XMLTreeViewer.cpp:
1419         * xml/XMLTreeViewer.h:
1420
1421 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1422
1423         [WIN] Unreviewed buildfix after r85434.
1424
1425         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1426         (WebCore::MediaPlayerPrivate::createLayerForMovie):
1427
1428 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1429
1430         [WIN] Unreviewed buildfix after r85434.
1431
1432         * platform/graphics/win/QTMovieVisualContext.cpp:
1433         (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
1434
1435 2011-05-01  Justin Schuh  <jschuh@chromium.org>
1436
1437         Reviewed by Adam Barth.
1438
1439         History::stateObjectAdded should check origin via SecurityOrigin::canRequest
1440         https://bugs.webkit.org/show_bug.cgi?id=59840
1441
1442         Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
1443                http/tests/navigation/replacestate-base-illegal.html
1444                http/tests/navigation/replacestate-base-legal.html
1445
1446         * page/History.cpp:
1447         (WebCore::History::stateObjectAdded):
1448
1449 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1450
1451         [WIN] Unreviewed buildfix after r85434.
1452
1453         * platform/graphics/win/QTMovieVisualContext.cpp:
1454         (QTMovieVisualContext::QTMovieVisualContext):
1455
1456 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1457
1458         Reviewed by Adam Barth.
1459
1460         [WINCE] Fix OwnPtr strict issues
1461         https://bugs.webkit.org/show_bug.cgi?id=59898
1462
1463         * page/wince/FrameWinCE.cpp:
1464         (WebCore::imageFromSelection):
1465         * platform/graphics/wince/FontPlatformData.cpp:
1466         (WebCore::FixedSizeFontData::create):
1467         (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
1468         (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
1469         (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
1470         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1471         (WebCore::GraphicsContext::strokeArc):
1472         (WebCore::GraphicsContext::fillRect):
1473         (WebCore::GraphicsContext::clip):
1474         (WebCore::GraphicsContext::fillRoundedRect):
1475         (WebCore::GraphicsContext::drawRoundCorner):
1476         (WebCore::GraphicsContext::drawText):
1477         * platform/graphics/wince/ImageBufferWinCE.cpp:
1478         (WebCore::ImageBuffer::ImageBuffer):
1479         * platform/graphics/wince/ImageWinCE.cpp:
1480         (WebCore::BitmapImage::getHBITMAPOfSize):
1481         * platform/graphics/wince/SharedBitmap.cpp:
1482         (WebCore::SharedBitmap::SharedBitmap):
1483
1484 2011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
1485
1486         Reviewed by Eric Seidel.
1487
1488         Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
1489         https://bugs.webkit.org/show_bug.cgi?id=59837
1490
1491         Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)
1492
1493         * WebCore.exp.in:
1494         * page/EventHandler.h:
1495         * page/mac/EventHandlerMac.mm:
1496
1497 2011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
1498
1499         Reviewed by Eric Seidel.
1500
1501         Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
1502         https://bugs.webkit.org/show_bug.cgi?id=59835
1503
1504         Moved currentKeyboardEvent.
1505
1506         * WebCore.exp.in:
1507         * page/EventHandler.h:
1508         * page/mac/EventHandlerMac.mm:
1509
1510 2011-05-01  ojab  <ojab@ojab.ru>
1511
1512         Reviewed by Eric Seidel.
1513
1514         Fix build with --disable-video --enable-fullscreen-api
1515         https://bugs.webkit.org/show_bug.cgi?id=59698
1516
1517         * rendering/RenderTheme.h:
1518         (WebCore::RenderTheme::extraFullScreenStyleSheet):
1519
1520 2011-05-01  Jeff Timanus  <twiz@chromium.org>
1521
1522         Reviewed by Eric Seidel.
1523
1524         Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
1525         https://bugs.webkit.org/show_bug.cgi?id=59041
1526
1527         Test:css2.1/t140201-c533-bgimage-00-a.html
1528
1529         * platform/graphics/Image.cpp:
1530         (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
1531         * platform/graphics/skia/ImageSkia.cpp:
1532         (WebCore::BitmapImage::checkForSolidColor):
1533
1534 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1535
1536         Reviewed by Adam Barth.
1537
1538         Fix OwnPtr strict issues in windows build
1539         https://bugs.webkit.org/show_bug.cgi?id=59878
1540
1541         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1542         (WebCore::getDirtyRects):
1543         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1544         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
1545         * platform/graphics/win/WKCAImageQueue.cpp:
1546         (WebCore::WKCAImageQueue::WKCAImageQueue):
1547         * platform/win/CursorWin.cpp:
1548         (WebCore::createSharedCursor):
1549         * platform/win/PasteboardWin.cpp:
1550         (WebCore::Pasteboard::writeImage):
1551
1552 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
1553
1554         Reviewed by Eric Seidel.
1555
1556         Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
1557         https://bugs.webkit.org/show_bug.cgi?id=59876
1558
1559         Also pass the size "as reference" instead of "as value".
1560
1561         * platform/graphics/GraphicsContext.h:
1562         * platform/graphics/win/FontCGWin.cpp:
1563         (WebCore::drawGDIGlyphs):
1564         * platform/graphics/win/GraphicsContextWin.cpp:
1565         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
1566         (WebCore::GraphicsContext::createWindowsBitmap):
1567         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1568         (WebCore::MediaPlayerPrivate::paint):
1569
1570 2011-05-01  Emil A Eklund  <eae@chromium.org>
1571
1572         Reviewed by Eric Seidel.
1573
1574         getComputedStyle() returns unitless values for some properties that require units
1575         https://bugs.webkit.org/show_bug.cgi?id=55111
1576
1577         Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective
1578
1579         Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html
1580
1581         * css/CSSComputedStyleDeclaration.cpp:
1582         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1583
1584 2011-05-01  Young Han Lee  <joybro@company100.net>
1585
1586         Reviewed by Eric Seidel.
1587
1588         Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
1589         https://bugs.webkit.org/show_bug.cgi?id=59608
1590
1591         TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h
1592
1593         No new functionality, no new tests.
1594
1595         * platform/graphics/opengl/TextureMapperGL.cpp:
1596         (WebCore::TextureMapperGL::TextureMapperGL):
1597
1598 2011-05-01  Yael Aharon  <yael.aharon@nokia.com>
1599
1600         Reviewed by Eric Seidel.
1601
1602         CSS3 nth-child(n) selector fails
1603         https://bugs.webkit.org/show_bug.cgi?id=56943
1604
1605         Regression from r75158.
1606         "n" is a valid parameter to nth() and should be allowed.
1607
1608         Test: fast/css/nth-child-n.html
1609
1610         * css/CSSParser.cpp:
1611         (WebCore::isValidNthToken):
1612
1613 2011-05-01  Pavel Feldman  <pfeldman@chromium.org>
1614
1615         Not reviewed: address stack frame scriptName -> url rename in timeline panel.
1616
1617         * inspector/front-end/TimelinePanel.js:
1618         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1619         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1620
1621 2011-05-01  Chris Fleizach  <cfleizach@apple.com>
1622
1623         Reviewed by Maciej Stachowiak.
1624
1625         Crash in AccessibilityRenderObject while viewing PDFs in iframes
1626         https://bugs.webkit.org/show_bug.cgi?id=59629
1627
1628         Could not reproduce this crash, but it's quite clear how it could happen.
1629  
1630         * accessibility/AccessibilityRenderObject.cpp:
1631         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
1632
1633 2011-05-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1634
1635         Reviewed by Dirk Schulze.
1636
1637         LEAK: SVGElement leaks when detaching it in a pending resource state
1638         https://bugs.webkit.org/show_bug.cgi?id=59072
1639
1640         Make the pending resources set non-refcounted again. We made it refcounted a while ago
1641         to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
1642         Fix the underlying problem, by removing all pending resources referencing to a particular
1643         SVGElement, upon its destruction or upon removing it from the document.
1644
1645         Example: <rect fill="url(#foo)" id="rect">
1646         When we try to render the rect, the foo paint server can't be found and thus "foo" will be
1647         added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
1648         itself from the pending resource set, and a ref count to the "rect" would be released.
1649         If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
1650         it and the associated document alive.
1651
1652         Tests: svg/custom/pending-resource-leak-2.svg
1653                svg/custom/pending-resource-leak-3.svg
1654                svg/custom/pending-resource-leak.svg
1655
1656         These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
1657         I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now.
1658
1659         * rendering/svg/RenderSVGResourceContainer.cpp:
1660         (WebCore::RenderSVGResourceContainer::registerResource):
1661         * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
1662         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
1663         * rendering/svg/SVGResources.cpp:
1664         (WebCore::registerPendingResource):
1665         * svg/SVGDocumentExtensions.cpp:
1666         (WebCore::SVGDocumentExtensions::addPendingResource):
1667         (WebCore::SVGDocumentExtensions::hasPendingResources):
1668         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
1669         (WebCore::SVGDocumentExtensions::removePendingResource):
1670         * svg/SVGDocumentExtensions.h:
1671         * svg/SVGElement.cpp:
1672         * svg/SVGElement.h:
1673         * svg/SVGElementRareData.h:
1674         (WebCore::SVGElementRareData::SVGElementRareData):
1675         (WebCore::SVGElementRareData::hasPendingResources):
1676         (WebCore::SVGElementRareData::setHasPendingResources):
1677         * svg/SVGStyledElement.cpp:
1678         (WebCore::SVGStyledElement::~SVGStyledElement):
1679         (WebCore::SVGStyledElement::insertedIntoDocument):
1680         (WebCore::SVGStyledElement::removedFromDocument):
1681         (WebCore::SVGStyledElement::hasPendingResources):
1682         (WebCore::SVGStyledElement::setHasPendingResources):
1683         * svg/SVGStyledElement.h:
1684         (WebCore::SVGStyledElement::needsPendingResourceHandling):
1685         (WebCore::SVGStyledElement::buildPendingResource):
1686         * svg/SVGUseElement.cpp:
1687         (WebCore::SVGUseElement::SVGUseElement):
1688         (WebCore::SVGUseElement::insertedIntoDocument):
1689         (WebCore::SVGUseElement::svgAttributeChanged):
1690         (WebCore::SVGUseElement::buildPendingResource):
1691         * svg/SVGUseElement.h:
1692
1693 2011-05-01  Rafael Brandao  <rafael.lobo@openbossa.org>
1694
1695         Reviewed by Csaba Osztrogonác.
1696
1697         [Qt] build-webkit warning Inspector.idl is missing
1698         https://bugs.webkit.org/show_bug.cgi?id=59047
1699         
1700         Added variable_out to pipe output from one compiler to another,
1701         and then forced the output to be added to the sources.
1702
1703         * CodeGenerators.pri:
1704
1705 2011-05-01  Dan Bernstein  <mitz@apple.com>
1706
1707         Reviewed by Anders Carlsson.
1708
1709         <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
1710         https://bugs.webkit.org/show_bug.cgi?id=56658
1711
1712         Test: fast/text/selection-rect-rounding.html
1713
1714         * platform/graphics/FontFastPath.cpp:
1715         (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
1716         * platform/graphics/mac/FontComplexTextMac.cpp:
1717         (WebCore::Font::selectionRectForComplexText): Ditto.
1718         * rendering/InlineTextBox.cpp:
1719         (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
1720         (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
1721         since it affects rounding.
1722
1723 2011-04-30  Justin Schuh  <jschuh@chromium.org>
1724
1725         Reviewed by Dirk Schulze.
1726
1727         Make RenderSVGResourceFilter take ownership of filter data when painting
1728         https://bugs.webkit.org/show_bug.cgi?id=51524
1729
1730         Test: svg/custom/filter-on-svgimage.svg
1731
1732         * rendering/svg/RenderSVGResourceFilter.cpp:
1733         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1734         (WebCore::RenderSVGResourceFilter::postApplyResource):
1735         * rendering/svg/RenderSVGResourceFilter.h:
1736         (WebCore::FilterData::FilterData):
1737
1738 2011-04-30  Martin Robinson  <mrobinson@igalia.com>
1739
1740         Reviewed by Adam Barth.
1741
1742         Enable strict mode for OwnPtr and PassOwnPtr
1743         https://bugs.webkit.org/show_bug.cgi?id=59428
1744
1745         Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
1746         factory methods return a PassOwnPtr.
1747
1748         No new tests. This should not change functionality.
1749
1750         * platform/GeolocationService.cpp:
1751         (WebCore::createGeolocationServiceNull):
1752         (WebCore::GeolocationService::create):
1753         * platform/GeolocationService.h:
1754         * platform/android/GeolocationServiceAndroid.cpp:
1755         (WebCore::GeolocationServiceAndroid::create):
1756         * platform/android/GeolocationServiceAndroid.h:
1757         * platform/efl/GeolocationServiceEfl.cpp:
1758         (WebCore::GeolocationServiceEfl::create):
1759         * platform/efl/GeolocationServiceEfl.h:
1760         * platform/graphics/cairo/CairoUtilities.cpp:
1761         (WebCore::appendPathToCairoContext):
1762         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1763         (WebCore::drawPathShadow):
1764         (WebCore::GraphicsContext::clip):
1765         * platform/graphics/cairo/ImageBufferCairo.cpp:
1766         (WebCore::ImageBuffer::ImageBuffer):
1767         * platform/graphics/cairo/OwnPtrCairo.h:
1768         * platform/graphics/cairo/PathCairo.cpp:
1769         (WebCore::Path::Path):
1770         (WebCore::Path::operator=):
1771         (WebCore::Path::apply):
1772         * platform/gtk/GeolocationServiceGtk.cpp:
1773         (WebCore::GeolocationServiceGtk::create):
1774         * platform/gtk/GeolocationServiceGtk.h:
1775         * platform/mock/GeolocationServiceMock.cpp:
1776         (WebCore::GeolocationServiceMock::create):
1777         * platform/mock/GeolocationServiceMock.h:
1778
1779 2011-04-30  Pavel Feldman  <pfeldman@chromium.org>
1780
1781         Not reviewed: inspector toolbar titles were 2px off.
1782
1783         * inspector/front-end/inspector.css:
1784         (#toolbar-dropdown .toolbar-label):
1785
1786 2011-04-30  Mihai Parparita  <mihaip@chromium.org>
1787
1788         Reviewed by Eric Seidel.
1789
1790         V8Proxy.h shouldn't include SecurityOrigin.h
1791         https://bugs.webkit.org/show_bug.cgi?id=59859
1792
1793         Remove SecurityOrigin.h #include from V8Proxy.h. Touching
1794         SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
1795         chromium's DumpRenderTree).
1796
1797         * bindings/v8/NPV8Object.cpp:
1798         * bindings/v8/V8Proxy.cpp:
1799         * bindings/v8/V8Proxy.h:
1800         * css/CSSStyleSelector.cpp:
1801         * dom/XMLDocumentParserLibxml2.cpp:
1802         * html/HTMLLinkElement.cpp:
1803         * loader/SubframeLoader.cpp:
1804         * page/History.cpp:
1805         * storage/IDBFactory.cpp:
1806         * storage/StorageAreaImpl.cpp:
1807
1808 2011-04-29  Adam Barth  <abarth@webkit.org>
1809
1810         Reviewed by Eric Seidel.
1811
1812         CSP script-src should block eval
1813         https://bugs.webkit.org/show_bug.cgi?id=59850
1814
1815         Rather than have JavaScriptCore call back into WebCore to learn whether
1816         eval is enabled, we push that bit of the policy into JavaScriptCore.
1817
1818         Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
1819                http/tests/security/contentSecurityPolicy/eval-blocked.html
1820
1821         * bindings/js/ScriptController.cpp:
1822         (WebCore::ScriptController::disableEval):
1823         * bindings/js/ScriptController.h:
1824         * page/ContentSecurityPolicy.cpp:
1825         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1826         (WebCore::ContentSecurityPolicy::internalAllowEval):
1827         (WebCore::ContentSecurityPolicy::allowEval):
1828         * page/ContentSecurityPolicy.h:
1829
1830 2011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
1831
1832         GTK build fix. Missed moving DateComponents and
1833         adding LocalizedDate files for their build file.
1834
1835         * GNUmakefile.list.am:
1836
1837 2011-04-29  Adam Barth  <abarth@webkit.org>
1838
1839         Reviewed by Eric Seidel.
1840
1841         style-src should block @style
1842         https://bugs.webkit.org/show_bug.cgi?id=59293
1843
1844         This patch blocks @style when style-src doesn't have the
1845         'unsafe-inline' token.  This patch blocks the parsing of the attribute
1846         itself.  That feels vaguely like too low a level to interpose the
1847         policy, but there didn't seem to be anywhere else natural to enforce
1848         the policy.
1849
1850         Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
1851                http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
1852                http/tests/security/contentSecurityPolicy/inline-style-on-html.html
1853
1854         * dom/StyledElement.cpp:
1855         (WebCore::StyledElement::parseMappedAttribute):
1856
1857 2011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
1858
1859         Reviewed by Kent Tamura.
1860
1861         Allow Localized Date Strings for Date Input Fields
1862         https://bugs.webkit.org/show_bug.cgi?id=59752
1863
1864         Test: fast/forms/date-input-visible-strings.html
1865
1866         * CMakeLists.txt:
1867         * WebCore.gypi:
1868         * WebCore.pro:
1869         * WebCore.vcproj/WebCore.vcproj:
1870         * WebCore.xcodeproj/project.pbxproj: update build files for
1871         moving DateComponents from WebCore/html to WebCore/platform
1872         and adding the LocalizedDate files.
1873
1874         * html/BaseDateAndTimeInputType.cpp:
1875         (WebCore::BaseDateAndTimeInputType::serialize):
1876         (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
1877         (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
1878         InputType::serialize for a double value with date types is
1879         different for the month type because it assumes the incoming
1880         value is months instead of msecs (matching valueAsNumber in
1881         HTML5).  So provide a more general serialization function,
1882         serializeWithComponents, that will always serialize a string
1883         correctly for the current type but taking in a DateComponents
1884         object. The default serialize, and new serializeWithMilliseconds,
1885         can fall back to this and allows an override point for
1886         the month type.
1887
1888         * html/MonthInputType.cpp:
1889         (WebCore::MonthInputType::serializeWithMilliseconds): the month
1890         type is a case where the default serialize does not take msec,
1891         so provide an implementation for month which handles msec input.
1892
1893         * html/BaseDateAndTimeInputType.cpp:
1894         (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
1895         to serializeWithMilliseconds as the incoming date value is msec.
1896         * html/MonthInputType.cpp:
1897         (WebCore::MonthInputType::setValueAsDate): removed.
1898
1899         * html/BaseDateAndTimeInputType.cpp:
1900         (WebCore::BaseDateAndTimeInputType::visibleValue): allow
1901         localized formatting of a date value.
1902         (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
1903         allow parsing for a formatted date value.
1904
1905         * html/BaseDateAndTimeInputType.h:
1906         * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
1907         Expose the Type enum so it can be used outside of the DateComponents class.
1908         * platform/text/LocalizedDate.h: Added.
1909         * platform/text/LocalizedDateNone.cpp: Added.
1910         (WebCore::formatLocalizedDate): Default implementation falls back to
1911         existing HTML5 date input value formatting.
1912
1913         * html/BaseDateAndTimeInputType.h:
1914         * html/DateInputType.cpp:
1915         (WebCore::DateInputType::dateType):
1916         * html/DateInputType.h:
1917         * html/DateTimeInputType.cpp:
1918         (WebCore::DateTimeInputType::dateType):
1919         * html/DateTimeInputType.h:
1920         * html/DateTimeLocalInputType.cpp:
1921         (WebCore::DateTimeLocalInputType::dateType):
1922         * html/DateTimeLocalInputType.h:
1923         * html/MonthInputType.cpp:
1924         (WebCore::MonthInputType::dateType):
1925         * html/MonthInputType.h:
1926         * html/TimeInputType.cpp:
1927         (WebCore::TimeInputType::dateType):
1928         * html/TimeInputType.h:
1929         * html/WeekInputType.cpp:
1930         (WebCore::WeekInputType::dateType):
1931         * html/WeekInputType.h: Accessors for the desired date
1932         type of a date input type. This allows the base class
1933         to write a generic algorithm.
1934
1935 2011-04-29  Adam Barth  <abarth@webkit.org>
1936
1937         Reviewed by Eric Seidel.
1938
1939         style-src should block inline style from <style>
1940         https://bugs.webkit.org/show_bug.cgi?id=59292
1941
1942         The spec has been updated to allow blocking of inline styles with
1943         style-src.  This will help folks defend against tricky CSS3 injections.
1944
1945         This patch covers the <style> case.  The next patch will cover the
1946         @style case.
1947
1948         Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
1949                http/tests/security/contentSecurityPolicy/inline-style-blocked.html
1950
1951         * dom/StyleElement.cpp:
1952         (WebCore::StyleElement::createSheet):
1953         * page/ContentSecurityPolicy.cpp:
1954         (WebCore::ContentSecurityPolicy::allowInlineStyle):
1955         * page/ContentSecurityPolicy.h:
1956
1957 2011-04-29  Chris Evans  <cevans@chromium.org>
1958
1959         Reviewed by Adam Barth.
1960
1961         Add WebCore::Setting to block displaying and/or running insecure content on secure pages
1962         https://bugs.webkit.org/show_bug.cgi?id=58378
1963
1964         Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.
1965
1966         * loader/FrameLoader.cpp:
1967         (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
1968         (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
1969         * loader/FrameLoader.h:
1970         * loader/MainResourceLoader.cpp:
1971         (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain.
1972         * loader/SubframeLoader.cpp:
1973         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
1974         (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
1975         * loader/cache/CachedResourceLoader.cpp:
1976         (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
1977         * page/Settings.cpp:
1978         (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
1979         * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
1980         (WebCore::Settings::setAllowDisplayOfInsecureContent):
1981         (WebCore::Settings::allowDisplayOfInsecureContent):
1982         (WebCore::Settings::setAllowRunningOfInsecureContent):
1983         (WebCore::Settings::allowRunningOfInsecureContent):
1984
1985 2011-04-29  Ryosuke Niwa  <rniwa@webkit.org>
1986
1987         Reviewed by Eric Seidel.
1988
1989         Extract a function to obtain VisiblePosition from RenderText::positionForPoint
1990         https://bugs.webkit.org/show_bug.cgi?id=59811
1991
1992         Extracted lineDirectionPointFitsInBox from positionForPoint.
1993
1994         * rendering/RenderText.cpp:
1995         (WebCore::lineDirectionPointFitsInBox):
1996         (WebCore::RenderText::positionForPoint):
1997
1998 2011-04-29  Geoffrey Garen  <ggaren@apple.com>
1999
2000         Reviewed by Alexey Proskuryakov.
2001
2002         REGRESSION: r83938 abandons GC memory
2003         https://bugs.webkit.org/show_bug.cgi?id=59604
2004
2005         This bug was caused by script and image elements waiting indefinitely
2006         for their loads to finish.
2007
2008         * bindings/js/JSNodeCustom.cpp:
2009         (WebCore::isReachableFromDOM): Don't test for the load event firing,
2010         since the load event doesn't fire in cases of canceled or errored loads.
2011         Instead, test hasPendingActivity().
2012         
2013         Don't do this test at all for script elements because script elements
2014         can't load while outside the document. (fast/dom/script-element-gc.html
2015         verifies that this is correct.)
2016
2017         * html/HTMLImageElement.cpp:
2018         (WebCore::HTMLImageElement::hasPendingActivity):
2019         * html/HTMLImageElement.h:
2020         * loader/ImageLoader.cpp:
2021         (WebCore::ImageEventSender::hasPendingEvents):
2022         (WebCore::ImageLoader::hasPendingLoadEvent):
2023         * loader/ImageLoader.h: Added API for finding out if an image element
2024         has pending activity.
2025
2026         * loader/cache/CachedResource.cpp:
2027         (WebCore::CachedResource::setRequest): All loads are supposed to end in
2028         data(allDataReceived = true) or error(), but in the edge case of a
2029         canceled load, all we get is a call to setRequest(0). Be sure to
2030         record that we're no longer loading in that case, otherwise our element
2031         will leak forever, waiting for its load to complete.
2032
2033 2011-04-29  Emil Eklund  <eae@chromium.org>
2034
2035         Reviewed by Tony Chang.
2036
2037         Setting outerHTML should merge text nodes
2038         https://bugs.webkit.org/show_bug.cgi?id=52686
2039
2040         When setting outerHTML adjacent text nodes should be merged. This matches
2041         the behavior of outerText and the IE implementation of outerHTML.       
2042
2043         Test: fast/dom/set-outer-html.html
2044
2045         * html/HTMLElement.cpp:
2046         (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
2047         (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.
2048
2049 2011-04-29  Emil A Eklund  <eae@chromium.org>
2050
2051         Reviewed by Dimitri Glazkov.
2052
2053         Onchange on text fields has an incoherent behavior
2054         https://bugs.webkit.org/show_bug.cgi?id=57330
2055
2056         * html/HTMLFormControlElement.cpp:
2057         (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
2058         Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
2059         than null for empty fields.
2060
2061 2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
2062
2063         [Qt] Unreviewed buildfix after r85343.
2064
2065         Enable strict OwnPtr for Qt
2066         https://bugs.webkit.org/show_bug.cgi?id=59667
2067
2068         * plugins/mac/PluginViewMac.mm:
2069         (WebCore::PluginView::platformStart):
2070
2071 2011-04-29  Jon Lee  <jonlee@apple.com>
2072
2073         Reviewed by mitzpettel.
2074
2075         REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
2076         <rdar://problem/9327332>
2077         https://bugs.webkit.org/show_bug.cgi?id=59721
2078
2079         Removing shouldClearSelectionWhenLosingWebPageFocus().  Reverting changelist 83814.
2080
2081         * WebCore.exp.in:
2082         * editing/EditingBehavior.h:
2083
2084 2011-04-29  Abhishek Arya  <inferno@chromium.org>
2085
2086         Reviewed by Dave Hyatt.
2087
2088         Allow only first table caption and destroy the remaining ones.
2089         https://bugs.webkit.org/show_bug.cgi?id=58249
2090
2091         Previously, we were only laying out the first table caption.
2092         However Table::layout didn't mark the other ones as not needing
2093         layout. So after table layout completes, table is marked as not
2094         needing layout with its other table caption still needing layout.
2095         This causes incorrect layout root calculations and set it to a
2096         node which is already getting deleted.
2097
2098         Tests: fast/table/dynamic-caption-add-before-child.xhtml
2099                fast/table/dynamic-caption-add-remove-before-child.xhtml
2100                fast/table/multiple-captions-crash.xhtml
2101                fast/table/multiple-captions-crash2.xhtml
2102                fast/table/multiple-captions-display.xhtml
2103
2104         * rendering/RenderTable.cpp:
2105         (WebCore::RenderTable::addChild): when new caption or a before
2106         child caption is added, we need to explicitly trigger section
2107         recalc or otherwise layout won't catch it.
2108         (WebCore::RenderTable::removeChild): when child to be removed is
2109         m_caption, make sure to trigger style recalc on the table.
2110         (WebCore::RenderTable::recalcCaption): code to destroy captions
2111         other than the first one.
2112         (WebCore::RenderTable::recalcSections): call recalcCaption
2113         helper. Store the next sibling early since child can get destroyed
2114         in recalcCaption.
2115         * rendering/RenderTable.h:
2116
2117 2011-04-29  David Kilzer  <ddkilzer@apple.com>
2118
2119         Remove WML
2120         https://bugs.webkit.org/show_bug.cgi?id=59678
2121
2122         * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.
2123
2124 2011-04-29  James Robinson  <jamesr@chromium.org>
2125
2126         Unreviewed, rolling out r85330.
2127         http://trac.webkit.org/changeset/85330
2128         https://bugs.webkit.org/show_bug.cgi?id=41311
2129
2130         Caused unexpected border rendering change on 500 tests on chromium linux.
2131
2132         * platform/graphics/skia/GraphicsContextSkia.cpp:
2133         (WebCore::GraphicsContext::drawConvexPolygon):
2134         (WebCore::GraphicsContext::clipConvexPolygon):
2135
2136 2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
2137
2138         [Qt] Unreviewed buildfix after r85343.
2139
2140         Enable strict OwnPtr for Qt
2141         https://bugs.webkit.org/show_bug.cgi?id=59667
2142
2143         * plugins/win/PluginViewWin.cpp:
2144         (WebCore::PluginView::wndProc):
2145         (WebCore::PluginView::snapshot):
2146
2147 2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
2148
2149         Reviewed by Adam Barth.
2150
2151         Enable strict OwnPtr for Qt
2152         https://bugs.webkit.org/show_bug.cgi?id=59667
2153
2154         * platform/graphics/qt/ImageBufferQt.cpp:
2155         (WebCore::ImageBufferData::ImageBufferData):
2156         (WebCore::ImageBuffer::ImageBuffer):
2157         * platform/graphics/qt/ImageDecoderQt.cpp:
2158         (WebCore::ImageDecoderQt::setData):
2159         * platform/graphics/qt/ImageDecoderQt.h:
2160         * platform/network/qt/QNetworkReplyHandler.cpp:
2161         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
2162         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2163
2164 2011-04-29  Dean Jackson  <dino@apple.com>
2165
2166         Reviewed by Simon Fraser.
2167
2168         Add ENABLE macro for WebKitAnimation
2169         https://bugs.webkit.org/show_bug.cgi?id=59729
2170
2171         Add new feature to toggle WebKit Animation API.
2172
2173         * Configurations/FeatureDefines.xcconfig:
2174         * GNUmakefile.am:
2175         * dom/Element.idl:
2176         * features.pri:
2177         * page/DOMWindow.idl:
2178
2179 2011-04-29  Dean Jackson  <dino@apple.com>
2180
2181         Reviewed by Simon Fraser.
2182
2183         https://bugs.webkit.org/show_bug.cgi?id=59149
2184         (Regression) Existing animations are not replaced when filling.
2185
2186         Hardware animations that fill forwards were not being correctly
2187         replaced when the animation was removed. The actual animation
2188         logic was working correctly, but it wasn't deleting the
2189         CoreAnimation animation from the PlatformLayer. The fix was
2190         to explicitly call endAnimation when disconnecting the animation
2191         from its RenderObject.
2192
2193         Test: animations/3d/replace-filling-transform.html
2194
2195         * page/animation/AnimationBase.h:
2196         (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared
2197
2198 2011-04-29  Abhishek Arya  <inferno@chromium.org>
2199
2200         Reviewed by Nikolas Zimmermann.
2201
2202         When svg inline text is getting destroyed, make sure to mark
2203         its svg text ancestor as needing a positioning values update.
2204         This helps to recalculate layout attributes and makes sure
2205         that svg inline text is not used again.
2206         https://bugs.webkit.org/show_bug.cgi?id=59161
2207
2208         Test: svg/text/inline-text-destroy-attributes-crash.xhtml
2209
2210         * rendering/svg/RenderSVGInlineText.cpp:
2211         (WebCore::RenderSVGInlineText::destroy):
2212         * rendering/svg/RenderSVGInlineText.h:
2213
2214 2011-04-29  Kevin Ollivier  <kevino@theolliviers.com>
2215
2216         [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.
2217
2218         * platform/graphics/wx/GraphicsContextWx.cpp:
2219
2220 2011-04-29  Mike Reed  <reed@google.com>
2221
2222         Reviewed by Ojan Vafai.
2223
2224         Skia: Need to implement GraphicsContext::clipConvexPolygon()
2225         https://bugs.webkit.org/show_bug.cgi?id=41311
2226
2227         This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
2228         as that shows other issues/question unrelated to clipping.
2229         https://bugs.webkit.org/show_bug.cgi?id=41311
2230
2231         No new tests. covered by existing layout tests
2232
2233         * platform/graphics/skia/GraphicsContextSkia.cpp:
2234         (WebCore::setPathFromConvexPoints):
2235         (WebCore::GraphicsContext::drawConvexPolygon):
2236         (WebCore::GraphicsContext::clipConvexPolygon):
2237
2238 2011-04-29  Mike Lawther  <mikelawther@chromium.org>
2239
2240         Reviewed by Ojan Vafai.
2241
2242         Fix IR->SR typo in enum value (and resulting style fails)
2243         https://bugs.webkit.org/show_bug.cgi?id=59779
2244
2245         No functionality change, so no new tests
2246
2247         * css/CSSPrimitiveValueMappings.h:
2248         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2249         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
2250
2251 2011-04-29  Pavel Feldman  <pfeldman@google.com>
2252
2253         Reviewed by Yury Semikhatsky.
2254
2255         Web Inspector: CSS editing breaks when entering "color: rgb(1"
2256         https://bugs.webkit.org/show_bug.cgi?id=59789
2257
2258         Tests: inspector/styles/styles-add-invalid-property.html
2259                inspector/styles/styles-cancel-editing.html
2260                inspector/styles/styles-commit-editing.html
2261
2262         * inspector/front-end/CSSStyleModel.js:
2263         (WebInspector.CSSProperty.prototype.setText.callback):
2264         (WebInspector.CSSProperty.prototype.setText):
2265         * inspector/front-end/StylesSidebarPane.js:
2266         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
2267         (WebInspector.StylePropertyTreeElement.prototype):
2268         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
2269         * inspector/front-end/inspector.js:
2270         (WebInspector.startEditing.defaultFinishHandler):
2271         (WebInspector.startEditing.keyDownEventListener):
2272         (WebInspector.startEditing):
2273
2274 2011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2275
2276         Reviewed by Simon Hausmann.
2277
2278         ENABLE(QT_BEARER) -> USE(QT_BEARER)
2279
2280         * WebCore.pri:
2281         * WebCore.pro:
2282         * features.pri:
2283         * platform/network/NetworkStateNotifier.h:
2284         * platform/network/qt/NetworkStateNotifierQt.cpp:
2285
2286 2011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2287
2288         Reviewed by Simon Hausmann.
2289
2290         ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)
2291
2292         * WebCore.pri:
2293         * features.pri:
2294
2295 2011-04-29  Pavel Podivilov  <podivilov@chromium.org>
2296
2297         Reviewed by Pavel Feldman.
2298
2299         Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
2300         https://bugs.webkit.org/show_bug.cgi?id=59476
2301
2302         * inspector/front-end/DebuggerPresentationModel.js:
2303         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
2304         (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
2305         (WebInspector.PresentationBreakpoint.prototype.serialize):
2306         * inspector/front-end/ScriptsPanel.js:
2307         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
2308         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2309         (WebInspector.ScriptsPanel.prototype.reset):
2310
2311 2011-04-28  Pavel Podivilov  <podivilov@chromium.org>
2312
2313         Reviewed by Yury Semikhatsky.
2314
2315         Web Inspector: include script end line:column in scriptParsed parameters.
2316         https://bugs.webkit.org/show_bug.cgi?id=59717
2317
2318         * bindings/js/ScriptDebugServer.cpp:
2319         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2320         * bindings/v8/DebuggerScript.js:
2321         ():
2322         * bindings/v8/ScriptDebugServer.cpp:
2323         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2324         * inspector/Inspector.json:
2325         * inspector/InspectorDebuggerAgent.cpp:
2326         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2327         (WebCore::InspectorDebuggerAgent::didParseSource):
2328         * inspector/InspectorDebuggerAgent.h:
2329         (WebCore::InspectorDebuggerAgent::Script::Script):
2330         * inspector/ScriptDebugListener.h:
2331         * inspector/front-end/DebuggerModel.js:
2332         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2333         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
2334         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
2335         * inspector/front-end/Script.js:
2336         (WebInspector.Script):
2337
2338 2011-04-28  Yury Semikhatsky  <yurys@chromium.org>
2339
2340         Reviewed by Pavel Feldman.
2341
2342         Web Inspector: [protocol] Evaluate should expose thrown exception value
2343         https://bugs.webkit.org/show_bug.cgi?id=59000
2344
2345         Each evaluation command may have either thrown or returned result. This is indicated
2346         by wasThrown property in the protocol.
2347
2348         * inspector/InjectedScript.cpp:
2349         (WebCore::InjectedScript::evaluate):
2350         (WebCore::InjectedScript::evaluateOn):
2351         (WebCore::InjectedScript::evaluateOnCallFrame):
2352         (WebCore::InjectedScript::getProperties):
2353         (WebCore::InjectedScript::makeEvalCall):
2354         * inspector/InjectedScript.h:
2355         * inspector/InjectedScriptSource.js:
2356         * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
2357         the evaluation results.
2358         * inspector/InspectorDebuggerAgent.cpp:
2359         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2360         * inspector/InspectorDebuggerAgent.h:
2361         * inspector/InspectorRuntimeAgent.cpp:
2362         (WebCore::InspectorRuntimeAgent::evaluate):
2363         (WebCore::InspectorRuntimeAgent::evaluateOn):
2364         (WebCore::InspectorRuntimeAgent::getProperties):
2365         * inspector/InspectorRuntimeAgent.h:
2366         * inspector/front-end/ConsoleView.js:
2367         (WebInspector.ConsoleView.prototype.completions.evaluated):
2368         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2369         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
2370         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2371         (WebInspector.ConsoleCommandResult):
2372         * inspector/front-end/DebuggerPresentationModel.js:
2373         (WebInspector.PresenationCallFrame.prototype.evaluate):
2374         * inspector/front-end/ElementsTreeOutline.js:
2375         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
2376         * inspector/front-end/ExtensionPanel.js:
2377         (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
2378         * inspector/front-end/ExtensionServer.js:
2379         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2380         * inspector/front-end/ObjectPropertiesSection.js:
2381         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2382         * inspector/front-end/PropertiesSidebarPane.js:
2383         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
2384         * inspector/front-end/SourceFrame.js:
2385         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2386         (WebInspector.SourceFrame.prototype._showPopup):
2387
2388 2011-04-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2389
2390         Unreviewed, rolling out r85315.
2391         http://trac.webkit.org/changeset/85315
2392         https://bugs.webkit.org/show_bug.cgi?id=59792
2393
2394         Broke script-formatter.html test (Requested by podivilov on
2395         #webkit).
2396
2397         * inspector/front-end/DebuggerPresentationModel.js:
2398         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
2399         (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
2400         (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
2401         (WebInspector.PresentationBreakpoint.prototype.serialize):
2402         * inspector/front-end/ScriptsPanel.js:
2403         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
2404         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2405         (WebInspector.ScriptsPanel.prototype.reset):
2406
2407 2011-04-29  Vsevolod Vlasov  <vsevik@chromium.org>
2408
2409         Reviewed by Pavel Feldman.
2410
2411         Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
2412         https://bugs.webkit.org/show_bug.cgi?id=58794
2413
2414         Added ping requests to network panel.
2415
2416         Test: http/tests/inspector/network/ping.html
2417
2418         * English.lproj/localizedStrings.js:
2419         * inspector/InspectorInstrumentation.cpp:
2420         (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
2421         * inspector/InspectorInstrumentation.h:
2422         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
2423         * inspector/front-end/NetworkPanel.js:
2424         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
2425         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
2426         (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
2427         * inspector/front-end/Resource.js:
2428         (WebInspector.Resource.prototype.get formParameters):
2429         (WebInspector.Resource.prototype.requestContentType):
2430         (WebInspector.Resource.prototype.isPingRequest):
2431         * loader/PingLoader.cpp:
2432         (WebCore::PingLoader::PingLoader):
2433         * loader/PingLoader.h:
2434
2435 2011-04-28  Pavel Podivilov  <podivilov@chromium.org>
2436
2437         Reviewed by Pavel Feldman.
2438
2439         Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
2440         https://bugs.webkit.org/show_bug.cgi?id=59476
2441
2442         * inspector/front-end/DebuggerPresentationModel.js:
2443         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2444         (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
2445         (WebInspector.PresentationBreakpoint.prototype.serialize):
2446         * inspector/front-end/ScriptsPanel.js:
2447         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
2448         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2449         (WebInspector.ScriptsPanel.prototype.reset):
2450
2451 2011-04-29  Pavel Feldman  <pfeldman@google.com>
2452
2453         Reviewed by Yury Semikhatsky.
2454
2455         Web Inspector: add "open link in new tab" action into the network and resources panels.
2456         https://bugs.webkit.org/show_bug.cgi?id=59788
2457
2458         This change also distinguishes context menu items case between platforms.
2459
2460         * English.lproj/localizedStrings.js:
2461         * inspector/front-end/ConsoleView.js:
2462         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
2463         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2464         (WebInspector.DOMBreakpointsSidebarPane):
2465         * inspector/front-end/ElementsPanel.js:
2466         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
2467         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
2468         * inspector/front-end/ElementsTreeOutline.js:
2469         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2470         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
2471         * inspector/front-end/NetworkPanel.js:
2472         (WebInspector.NetworkPanel.prototype._contextMenu):
2473         * inspector/front-end/ResourcesPanel.js:
2474         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
2475         (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
2476         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
2477         * inspector/front-end/Settings.js:
2478         * inspector/front-end/SourceFrame.js:
2479         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
2480         * inspector/front-end/TextViewer.js:
2481         (WebInspector.TextViewer.prototype._contextMenu):
2482         * inspector/front-end/inspector.js:
2483         (WebInspector.openLinkExternallyLabel):
2484         (WebInspector.openResource):
2485         (WebInspector.useLowerCaseMenuTitles):
2486
2487 2011-04-28  Simon Fraser  <simon.fraser@apple.com>
2488
2489         Reviewed by Dan Bernstein.
2490
2491         Mask placement on composited layer is incorrect sometimes
2492         https://bugs.webkit.org/show_bug.cgi?id=59775
2493         
2494         The mask layer always has the same size as its owning GraphicsLayer,
2495         so it needs to share the same offsetFromRenderer as well. This fixes
2496         the offset at which the mask layer contents are painted in cases where
2497         that offset is non-zero, for example when outline style bloats all of
2498         the layer sizes.
2499
2500         Test: compositing/masks/layer-mask-placement.html
2501
2502         * rendering/RenderLayerBacking.cpp:
2503         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2504
2505 2011-04-28  Dan Bernstein  <mitz@apple.com>
2506
2507         Rubber-stamped by Mark Rowe.
2508
2509         Reverted r81319.
2510
2511         Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu
2512
2513         * page/NavigatorBase.cpp:
2514
2515 2011-04-28  Simon Fraser  <simon.fraser@apple.com>
2516
2517         Reviewed by Dirk Schulze.
2518
2519         1px box-shadow looks ugly
2520         https://bugs.webkit.org/show_bug.cgi?id=58100
2521         and
2522         ShadowBlur incorrectly handles zero-sized blur radius in one axis
2523         https://bugs.webkit.org/show_bug.cgi?id=59710
2524         
2525         blurLayerImage() has issues at the edges if the blur radius
2526         is one, so in that case bump the buffer size out by a pixel.
2527         This results in a correct, symmetrical blur.
2528         
2529         Also fix an issue noticed during testing where a zero
2530         height or width radius would still blur on that axis,
2531         because we clamp the kernel size to a minimum of two.
2532
2533         Test: fast/box-shadow/single-pixel-shadow.html
2534
2535         * platform/graphics/ShadowBlur.h:
2536         * platform/graphics/ShadowBlur.cpp:
2537         (WebCore::ShadowBlur::blurLayerImage):
2538         Skip horizontal or vertial passes if the radius on that axis is zero.
2539         Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
2540         clause to the end of the loop, since it only needs to execute once
2541         after the first pass.        
2542         (WebCore::ShadowBlur::blurredEdgeSize):
2543         New method to compute the width of the blurred edge (radius + extra
2544         pixel when necessary).
2545         (WebCore::ShadowBlur::calculateLayerBoundingRect):
2546         (WebCore::ShadowBlur::templateSize):
2547         (WebCore::ShadowBlur::drawRectShadow):
2548         (WebCore::ShadowBlur::drawInsetShadow):
2549         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2550         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2551         (WebCore::ShadowBlur::drawLayerPieces):
2552         Use the result of blurredEdgeSize() rather than recomputing.
2553
2554 2011-04-28  Yael Aharon  <yael.aharon@nokia.com>
2555
2556         Reviewed by Beth Dakin.
2557
2558         CSS sibling selector (~) does not work with :target pseudo class
2559         https://bugs.webkit.org/show_bug.cgi?id=26539
2560
2561         Allow style recalculation of forward siblings of elements with
2562         forward positional rules.
2563
2564         Tests: fast/css/pseudo-target-indirect-sibling-001.html
2565                fast/css/pseudo-target-indirect-sibling-002.html
2566
2567         * dom/Element.cpp:
2568         (WebCore::Element::recalcStyle):
2569
2570 2011-04-28  Nat Duca  <nduca@chromium.org>
2571
2572         Reviewed by Kenneth Russell.
2573
2574         [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
2575         https://bugs.webkit.org/show_bug.cgi?id=59626
2576
2577         * platform/graphics/chromium/Extensions3DChromium.h:
2578         (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):
2579
2580 2011-04-28  Steve Lacey  <sjl@chromium.org>
2581
2582         Reviewed by Eric Carlson.
2583
2584         Change chromium media controls to use absolute positioning until bug 59644 is fixed.
2585         https://bugs.webkit.org/show_bug.cgi?id=59732
2586
2587         * css/mediaControlsChromium.css:
2588         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2589         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2590
2591 2011-04-28  Luke Macpherson   <macpherson@chromium.org>
2592
2593         Reviewed by Eric Seidel.
2594
2595         Implement CSS border width and related properties in CSSStyleApplyProperty.
2596         https://bugs.webkit.org/show_bug.cgi?id=59414
2597
2598         No new tests as no functionality added.
2599
2600         * css/CSSStyleApplyProperty.cpp:
2601         Separated ApplyPropertyDefault into parent and child so that other classes could inherit
2602         the applyInheritValue and applyInitialValue methods only.
2603         This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
2604         
2605         Added ApplyPropertyWidth class for handling width based CSS properties.
2606         * css/CSSStyleSelector.cpp:
2607         Removed no-longer-required code for handling width based CSS properties.
2608         * css/CSSStyleSelector.h:
2609         Added a getter for m_rootElementStyle.
2610
2611 2011-04-28  Kent Tamura  <tkent@chromium.org>
2612
2613         Run sort-Xcode-project-file.
2614
2615         * WebCore.xcodeproj/project.pbxproj:
2616
2617 2011-04-28  Martin Robinson  <mrobinson@igalia.com>
2618
2619         Reviewed by Dirk Schulze.
2620
2621         [Cairo] Text underline is not shadowed when text-shadow is enabled
2622         https://bugs.webkit.org/show_bug.cgi?id=48074
2623
2624         Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
2625         of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
2626         originally copied from the CG GraphicsContext.
2627
2628         * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
2629           can call it from a static helper function.
2630         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2631         (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
2632         (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
2633         call it multiple times when shadowing text underlines.
2634         (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
2635         (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
2636         (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.
2637
2638 2011-04-28  Sam Weinig  <sam@webkit.org>
2639
2640         Rubber-stamped by Mark Rowe.
2641
2642         Cleanup WebCore.xcodeproj a bit.
2643
2644         * WebCore.xcodeproj/project.pbxproj:
2645         Added CompilerVersion.xcconfig and moved some JS bindings files into the
2646         correct sub groups.
2647
2648 2011-04-28  David Levin  <levin@chromium.org>
2649
2650         Reviewed by Adam Barth.
2651
2652         Remove IMAGE_RESIZER related code.
2653         https://bugs.webkit.org/show_bug.cgi?id=59735
2654
2655         * CMakeLists.txt:
2656         * Configurations/FeatureDefines.xcconfig:
2657         * GNUmakefile.am:
2658         * GNUmakefile.list.am:
2659         * WebCore.gypi:
2660         * WebCore.pro:
2661         * WebCore.vcproj/WebCore.vcproj:
2662         * WebCore.xcodeproj/project.pbxproj:
2663         * features.pri:
2664         * html/AsyncImageResizer.cpp: Removed.
2665         * html/AsyncImageResizer.h: Removed.
2666         * html/ImageResizerThread.cpp: Removed.
2667         * html/ImageResizerThread.h: Removed.
2668
2669 2011-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
2670
2671         Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.
2672
2673         * inspector/front-end/Settings.js:
2674         (WebInspector.Settings):
2675
2676 2011-04-28  Beth Dakin  <bdakin@apple.com>
2677
2678         Rubber-stamped by Sam Weinig.
2679
2680         Rolling out revision 85258! I want to fix that bug a different way.
2681         * platform/mac/ScrollbarThemeMac.mm:
2682         (WebCore::ScrollbarThemeMac::paint):
2683
2684 2011-04-28  Chang Shu  <cshu@webkit.org>
2685
2686         Reviewed by Eric Seidel.
2687
2688         isContentEditable is not working properly with document.designMode
2689         https://bugs.webkit.org/show_bug.cgi?id=53031
2690
2691         The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
2692         indicates that the element.isContentEditable relies on document.designMode if its
2693         and its ancestors' contenteditable attributes are set to inherit.
2694
2695         1. Sync document render style after document.designMode is changed.
2696         2. Removed the code that does unnecessary and incorrect handling for contenteditable
2697         attribute with "inherit" value.
2698         3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.
2699
2700         Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
2701                fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
2702                fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
2703                fast/dom/HTMLElement/iscontenteditable-designmodeon.html
2704
2705         * css/CSSStyleSelector.cpp:
2706         (WebCore::CSSStyleSelector::styleForDocument):
2707         * dom/Document.cpp:
2708         (WebCore::Document::setDesignMode):
2709         * dom/Node.cpp:
2710         (WebCore::Node::rendererIsEditable):
2711         * editing/ApplyStyleCommand.cpp:
2712         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
2713         * html/HTMLElement.cpp:
2714         (WebCore::HTMLElement::setContentEditable):
2715
2716 2011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2717
2718         Unreviewed, rolling out r85101.
2719         http://trac.webkit.org/changeset/85101
2720         https://bugs.webkit.org/show_bug.cgi?id=59757
2721
2722          it'd be better to rollout the patch and do another one with
2723         another property name. Current one will bring us to a problem
2724         at first run after upgrade because it's type was changed from
2725         int to string. (Requested by loislo on #webkit).
2726
2727         * inspector/front-end/ScriptsPanel.js:
2728         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
2729         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
2730         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2731
2732 2011-04-28  Mike Reed  <reed@google.com>
2733
2734         Reviewed by Eric Seidel.
2735
2736         fix shadw behavior for both CSS and Canvas -- skia only
2737         https://bugs.webkit.org/show_bug.cgi?id=59700
2738
2739         Test:
2740         canvas/philip/tests/2d.shadow.alpha.3.html
2741         canvas/philip/tests/2d.shadow.alpha.4.html
2742         canvas/philip/tests/2d.shadow.alpha.5.html
2743         fast/canvas/canvas-fillPath-alpha-shadow.html
2744         fast/canvas/canvas-strokePath-alpha-shadow.html
2745         fast/canvas/canvas-strokeRect-alpha-shadow.html
2746         fast/css/text-input-with-webkit-border-radius.html
2747         fast/repaint/shadow-multiple-horizontal.html
2748         fast/repaint/shadow-multiple-strict-horizontal.html
2749         fast/repaint/shadow-multiple-strict-vertical.html
2750         fast/repaint/shadow-multiple-vertical.html
2751         fast/canvas/canvas-getImageData.html
2752
2753         * platform/graphics/chromium/FontChromiumWin.cpp:
2754         (WebCore::Font::drawGlyphs):
2755         * platform/graphics/skia/GraphicsContextSkia.cpp:
2756         (WebCore::GraphicsContext::setPlatformShadow):
2757
2758 2011-04-28  David Kilzer  <ddkilzer@apple.com>
2759
2760         <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper
2761
2762         Reviewed by Chris Fleizach.
2763
2764         Previously, AXObjectCache::attachWrapper over-retained each
2765         AccessibilityObjectWrapper it created, which is why
2766         AXObjectCache::detachWrapper() contained an extra -release.
2767
2768         * accessibility/mac/AXObjectCacheMac.mm:
2769         (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
2770         (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
2771         assigns to a RetainPtr<> instance variable, it doesn't need a +1
2772         retained object passed in.  Fix the leak by using a RetainPtr<>
2773         for the AccessibilityObjectWrapper.
2774
2775 2011-04-28  Nat Duca  <nduca@chromium.org>
2776
2777         Reviewed by Darin Fisher.
2778
2779         [chromium] Compute compositor fps value and history using the frameBegin timestamp
2780         https://bugs.webkit.org/show_bug.cgi?id=59668
2781
2782         This change switches the compositor FPS meter to use the timestamp
2783         of the beginning of the frame rather than the time we call
2784         swapBuffers. When scheduling is correctly tied to vsync, we can
2785         have highly variable times when we finish vsync and still have
2786         stable frame rates.
2787
2788         * platform/graphics/chromium/LayerRendererChromium.cpp:
2789         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2790         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2791         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2792         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
2793         (WebCore::CCHeadsUpDisplay::onFrameBegin):
2794         (WebCore::CCHeadsUpDisplay::onPresent):
2795         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2796
2797 2011-04-28  Beth Dakin  <bdakin@apple.com>
2798
2799         Reviewed by Darin Adler.
2800
2801         https://bugs.webkit.org/show_bug.cgi?id=59759
2802         Overflow:scroll regions with overlay scrollbars show full thumb instead of just a 
2803         track when there is nothing to scroll to
2804         <rdar://problem/9282066>
2805
2806         Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is 
2807         nothing to scroll to. Just dividing them to get a knob proportion yields 1, which 
2808         is not right. Set the proportion to 0 in this case instead.
2809         * platform/mac/ScrollbarThemeMac.mm:
2810         (WebCore::ScrollbarThemeMac::paint):
2811
2812 2011-04-28  Dan Bernstein  <mitz@apple.com>
2813
2814         Reviewed by Simon Fraser.
2815
2816         <rdar://problem/9291132> Add support for -epub-prefixed properties
2817
2818         Test: fast/css/epub-properties.html
2819
2820         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2821         (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
2822         * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
2823         -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
2824         text-transform, text-transform, word-break, and -webkit-writing-mode.
2825
2826 2011-04-28  Adam Barth  <abarth@webkit.org>
2827
2828         Reviewed by Eric Seidel.
2829
2830         Remove WML
2831         https://bugs.webkit.org/show_bug.cgi?id=59678
2832
2833         This patch removes WML from WebCore.  After removing WML, there's a
2834         bunch of twisted code that could be untwisted, but this patch contains
2835         only the purely mechanical part of removing the feature.
2836
2837         There's been a lot of discussion on webkit-dev about whether we should
2838         remove WML.  In addition to those threads, we've had an informal poll
2839         of the reviewers as well as an in-person discussion at the WebKit
2840         contributor's meeting.  Removing any feature is likely to make some
2841         folks unhappy, but, on balance, removing WML appears to be the right
2842         thing for the project to do at this time.
2843
2844         * CMakeLists.txt:
2845         * CodeGenerators.pri:
2846         * Configurations/FeatureDefines.xcconfig:
2847         * DerivedSources.cpp:
2848         * DerivedSources.make:
2849         * GNUmakefile.am:
2850         * GNUmakefile.list.am:
2851         * WebCore.gyp/WebCore.gyp:
2852         * WebCore.gypi:
2853         * WebCore.pro:
2854         * WebCore.vcproj/WebCore.vcproj:
2855         * WebCore.xcodeproj/project.pbxproj:
2856         * css/CSSStyleSelector.cpp:
2857         (WebCore::linkAttribute):
2858         (WebCore::CSSStyleSelector::styleForElement):
2859         (WebCore::CSSStyleSelector::adjustRenderStyle):
2860         * css/wml.css: Removed.
2861         * dom/DOMImplementation.cpp:
2862         (WebCore::DOMImplementation::createDocument):
2863         * dom/Document.cpp:
2864         (WebCore::Document::Document):
2865         (WebCore::Document::createElement):
2866         * dom/Document.h:
2867         (WebCore::Document::isMediaDocument):
2868         * dom/Document.idl:
2869         * dom/InputElement.h:
2870         * dom/Node.cpp:
2871         (WebCore::Node::toInputElement):
2872         * dom/Node.h:
2873         * dom/OptionElement.cpp:
2874         (WebCore::toOptionElement):
2875         (WebCore::isOptionElement):
2876         * dom/OptionElement.h:
2877         * dom/OptionGroupElement.cpp:
2878         (WebCore::toOptionGroupElement):
2879         (WebCore::isOptionGroupElement):
2880         * dom/SelectElement.cpp:
2881         (WebCore::toSelectElement):
2882         * dom/SelectElement.h:
2883         * dom/Text.cpp:
2884         (WebCore::Text::attach):
2885         * dom/XMLDocumentParser.cpp:
2886         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
2887         * dom/XMLDocumentParser.h:
2888         * dom/XMLDocumentParserLibxml2.cpp:
2889         (WebCore::XMLDocumentParser::internalSubset):
2890         (WebCore::getEntityHandler):
2891         * dom/XMLDocumentParserQt.cpp:
2892         (WebCore::XMLDocumentParser::parse):
2893         (WebCore::XMLDocumentParser::parseDtd):
2894         * editing/htmlediting.cpp:
2895         (WebCore::canHaveChildrenForEditing):
2896         * features.pri:
2897         * history/BackForwardList.h:
2898         * history/BackForwardListImpl.cpp:
2899         * history/BackForwardListImpl.h:
2900         * history/PageCache.cpp:
2901         (WebCore::PageCache::canCachePageContainingThisFrame):
2902         * html/HTMLAnchorElement.h:
2903         * inspector/ConsoleMessage.cpp:
2904         (WebCore::messageSourceValue):
2905         * inspector/front-end/ConsoleView.js:
2906         (WebInspector.ConsoleMessage.prototype.toString):
2907         * loader/FrameLoader.cpp:
2908         (WebCore::isBackForwardLoadType):
2909         (WebCore::FrameLoader::transitionToCommitted):
2910         (WebCore::FrameLoader::shouldReload):
2911         (WebCore::FrameLoader::loadDifferentDocumentItem):
2912         (WebCore::FrameLoader::loadItem):
2913         * loader/FrameLoaderTypes.h:
2914         * loader/HistoryController.cpp:
2915         (WebCore::HistoryController::restoreDocumentState):
2916         * manual-tests/wml: Removed.
2917         * manual-tests/wml/StartTests.wml: Removed.
2918         * manual-tests/wml/a-br-element.wml: Removed.
2919         * manual-tests/wml/a-element.wml: Removed.
2920         * manual-tests/wml/a-img-element.wml: Removed.
2921         * manual-tests/wml/access-target.wml: Removed.
2922         * manual-tests/wml/anchor-br-element.wml: Removed.
2923         * manual-tests/wml/anchor-element.wml: Removed.
2924         * manual-tests/wml/anchor-img-element.wml: Removed.
2925         * manual-tests/wml/card-newcontext-attr.wml: Removed.
2926         * manual-tests/wml/card-onenterbackward.wml: Removed.
2927         * manual-tests/wml/card-onenterforward.wml: Removed.
2928         * manual-tests/wml/card-ontimer.wml: Removed.
2929         * manual-tests/wml/deck-access-control.wml: Removed.
2930         * manual-tests/wml/input-format.wml: Removed.
2931         * manual-tests/wml/onevent-go.wml: Removed.
2932         * manual-tests/wml/onevent-noop.wml: Removed.
2933         * manual-tests/wml/onevent-prev.wml: Removed.
2934         * manual-tests/wml/onevent-refresh.wml: Removed.
2935         * manual-tests/wml/onevent-shadow.wml: Removed.
2936         * manual-tests/wml/resources: Removed.
2937         * manual-tests/wml/resources/smiley.png: Removed.
2938         * manual-tests/wml/select-element.wml: Removed.
2939         * manual-tests/wml/select-onpick-event-crash.wml: Removed.
2940         * manual-tests/wml/select-onpick-event.wml: Removed.
2941         * manual-tests/wml/setvar-element.wml: Removed.
2942         * manual-tests/wml/targetdeck.wml: Removed.
2943         * manual-tests/wml/task-go-in-anchor.wml: Removed.
2944         * manual-tests/wml/task-prev-in-anchor.wml: Removed.
2945         * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
2946         * manual-tests/wml/template-go.wml: Removed.
2947         * manual-tests/wml/template-ontimer.wml: Removed.
2948         * manual-tests/wml/timer.wml: Removed.
2949         * manual-tests/wml/variable-substitution.wml: Removed.
2950         * page/Console.cpp:
2951         (WebCore::printMessageSourceAndLevelPrefix):
2952         * page/Console.h:
2953         * page/Frame.cpp:
2954         (WebCore::Frame::Frame):
2955         * page/Page.cpp:
2956         * page/Page.h:
2957         * platform/MIMETypeRegistry.cpp:
2958         (WebCore::initializeSupportedNonImageMimeTypes):
2959         * platform/network/FormDataBuilder.h:
2960         * platform/network/mac/ResourceHandleMac.mm:
2961         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2962         * platform/wince/MIMETypeRegistryWinCE.cpp:
2963         (WebCore::initMIMETypeEntensionMap):
2964         * rendering/HitTestResult.cpp:
2965         (WebCore::HitTestResult::altDisplayString):
2966         (WebCore::HitTestResult::absoluteImageURL):
2967         (WebCore::HitTestResult::absoluteLinkURL):
2968         (WebCore::HitTestResult::isLiveLink):
2969         * rendering/RenderBox.cpp:
2970         * rendering/RenderButton.cpp:
2971         (WebCore::RenderButton::updateFromElement):
2972         * rendering/RenderFieldset.cpp:
2973         (WebCore::RenderFieldset::findLegend):
2974         * rendering/RenderImage.cpp:
2975         (WebCore::RenderImage::updateAltText):
2976         * rendering/RenderObject.cpp:
2977         (WebCore::RenderObject::isLegend):
2978         (WebCore::RenderObject::offsetParent):
2979         * wml: Removed.
2980         * wml/WMLAElement.cpp: Removed.
2981         * wml/WMLAElement.h: Removed.
2982         * wml/WMLAccessElement.cpp: Removed.
2983         * wml/WMLAccessElement.h: Removed.
2984         * wml/WMLAnchorElement.cpp: Removed.
2985         * wml/WMLAnchorElement.h: Removed.
2986         * wml/WMLAttributeNames.in: Removed.
2987         * wml/WMLBRElement.cpp: Removed.
2988         * wml/WMLBRElement.h: Removed.
2989         * wml/WMLCardElement.cpp: Removed.
2990         * wml/WMLCardElement.h: Removed.
2991         * wml/WMLDoElement.cpp: Removed.
2992         * wml/WMLDoElement.h: Removed.
2993         * wml/WMLDocument.cpp: Removed.
2994         * wml/WMLDocument.h: Removed.
2995         * wml/WMLElement.cpp: Removed.
2996         * wml/WMLElement.h: Removed.
2997         * wml/WMLErrorHandling.cpp: Removed.
2998         * wml/WMLErrorHandling.h: Removed.
2999         * wml/WMLEventHandlingElement.cpp: Removed.
3000         * wml/WMLEventHandlingElement.h: Removed.
3001         * wml/WMLFieldSetElement.cpp: Removed.
3002         * wml/WMLFieldSetElement.h: Removed.
3003         * wml/WMLFormControlElement.cpp: Removed.
3004         * wml/WMLFormControlElement.h: Removed.
3005         * wml/WMLGoElement.cpp: Removed.
3006         * wml/WMLGoElement.h: Removed.
3007         * wml/WMLImageElement.cpp: Removed.
3008         * wml/WMLImageElement.h: Removed.
3009         * wml/WMLImageLoader.cpp: Removed.
3010         * wml/WMLImageLoader.h: Removed.
3011         * wml/WMLInputElement.cpp: Removed.
3012         * wml/WMLInputElement.h: Removed.
3013         * wml/WMLInsertedLegendElement.cpp: Removed.
3014         * wml/WMLInsertedLegendElement.h: Removed.
3015         * wml/WMLIntrinsicEvent.cpp: Removed.
3016         * wml/WMLIntrinsicEvent.h: Removed.
3017         * wml/WMLIntrinsicEventHandler.cpp: Removed.
3018         * wml/WMLIntrinsicEventHandler.h: Removed.
3019         * wml/WMLMetaElement.cpp: Removed.
3020         * wml/WMLMetaElement.h: Removed.
3021         * wml/WMLNoopElement.cpp: Removed.
3022         * wml/WMLNoopElement.h: Removed.
3023         * wml/WMLOnEventElement.cpp: Removed.
3024         * wml/WMLOnEventElement.h: Removed.
3025         * wml/WMLOptGroupElement.cpp: Removed.
3026         * wml/WMLOptGroupElement.h: Removed.
3027         * wml/WMLOptionElement.cpp: Removed.
3028         * wml/WMLOptionElement.h: Removed.
3029         * wml/WMLPElement.cpp: Removed.
3030         * wml/WMLPElement.h: Removed.
3031         * wml/WMLPageState.cpp: Removed.
3032         * wml/WMLPageState.h: Removed.
3033         * wml/WMLPostfieldElement.cpp: Removed.
3034         * wml/WMLPostfieldElement.h: Removed.
3035         * wml/WMLPrevElement.cpp: Removed.
3036         * wml/WMLPrevElement.h: Removed.
3037         * wml/WMLRefreshElement.cpp: Removed.
3038         * wml/WMLRefreshElement.h: Removed.
3039         * wml/WMLSelectElement.cpp: Removed.
3040         * wml/WMLSelectElement.h: Removed.
3041         * wml/WMLSetvarElement.cpp: Removed.
3042         * wml/WMLSetvarElement.h: Removed.
3043         * wml/WMLTableElement.cpp: Removed.
3044         * wml/WMLTableElement.h: Removed.
3045         * wml/WMLTagNames.in: Removed.
3046         * wml/WMLTaskElement.cpp: Removed.
3047         * wml/WMLTaskElement.h: Removed.
3048         * wml/WMLTemplateElement.cpp: Removed.
3049         * wml/WMLTemplateElement.h: Removed.
3050         * wml/WMLTimerElement.cpp: Removed.
3051         * wml/WMLTimerElement.h: Removed.
3052         * wml/WMLVariables.cpp: Removed.
3053         * wml/WMLVariables.h: Removed.
3054
3055 2011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3056
3057         Unreviewed, rolling out r85233 and r85235.
3058         http://trac.webkit.org/changeset/85233
3059         http://trac.webkit.org/changeset/85235
3060         https://bugs.webkit.org/show_bug.cgi?id=59754
3061
3062         Causes issues with jsc. (Requested by dave_levin on #webkit).
3063
3064         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
3065         * loader/icon/IconDatabase.cpp:
3066         (WebCore::IconDatabase::defaultIcon):
3067         (WebCore::IconDatabase::setIconDataForIconURL):
3068         (WebCore::IconDatabase::getOrCreateIconRecord):
3069         (WebCore::IconDatabase::readFromDatabase):
3070
3071 2011-04-28  Jay Civelli  <jcivelli@chromium.org>
3072
3073         Reviewed by Adam Barth.
3074
3075         Introducing a new class that allows serialization of a page back
3076         to HTML/XML with all its sub-frames and also retrieves the page's
3077         resources.
3078         Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
3079         https://bugs.webkit.org/show_bug.cgi?id=58947
3080
3081         * Android.mk:
3082         * CMakeLists.txt:
3083         * GNUmakefile.list.am:
3084         * WebCore.gypi:
3085         * WebCore.pro:
3086         * WebCore.vcproj/WebCore.vcproj:
3087         * dom/Document.cpp:
3088         (WebCore::Document::suggestedMIMEType):
3089         * dom/Document.h:
3090         * editing/MarkupAccumulator.cpp:
3091         (WebCore::MarkupAccumulator::appendCustomAttributes):
3092         (WebCore::MarkupAccumulator::appendElement):
3093         * editing/MarkupAccumulator.h:
3094         * html/parser/HTMLMetaCharsetParser.cpp:
3095         (WebCore::HTMLMetaCharsetParser::processMeta):
3096         (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
3097         * html/parser/HTMLMetaCharsetParser.h:
3098         * page/PageSerializer.cpp: Added.
3099         * page/PageSerializer.h: Added.
3100
3101 2011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
3102
3103         Reviewed by Tony Chang.
3104
3105         IndexedDB createIndex should fail if name arg is null
3106         https://bugs.webkit.org/show_bug.cgi?id=58365
3107
3108         Test: storage/indexeddb/mozilla/create-index-null-name.html
3109
3110         * storage/IDBObjectStore.idl:
3111         * storage/IDBObjectStoreBackendImpl.cpp:
3112         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3113
3114 2011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
3115
3116         Reviewed by Tony Chang.
3117
3118         IndexedDB put() should fail if second (key) parameter is null
3119         https://bugs.webkit.org/show_bug.cgi?id=58613
3120
3121         If key arg is not specified, prpKey ends up as a null pointer in ::put().
3122         However, if the key arg is specified but is null, prpKey ends up as a
3123         valid IDBKey which has a null key type. As it happens, we need to be able
3124         to detect the difference between these cases (the key arg is optional but
3125         if specified must not be null).
3126
3127         Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html
3128
3129         * storage/IDBObjectStoreBackendImpl.cpp:
3130         (WebCore::IDBObjectStoreBackendImpl::put):
3131
3132 2011-04-07  David Levin  <levin@chromium.org>
3133
3134         Reviewed by Darin Adler.
3135
3136         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
3137         https://bugs.webkit.org/show_bug.cgi?id=31639
3138
3139         No new functionality exposed so no new tests. (The change is basically adding
3140         more testing.)
3141
3142         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
3143         * loader/icon/IconDatabase.cpp:
3144         (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
3145         (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
3146         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
3147         (WebCore::IconDatabase::readFromDatabase): Ditto.
3148
3149 2011-04-28  Kenneth Russell  <kbr@google.com>
3150
3151         Unreviewed build fix for Web Audio with strict OwnPtr.
3152
3153         * platform/audio/HRTFDatabaseLoader.cpp:
3154         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
3155
3156 2011-04-28  Dominic Cooney  <dominicc@chromium.org>
3157
3158         Reviewed by Geoffrey Garen.
3159
3160         Walk shadow hosts as well as parent nodes when finding opaque roots.
3161         https://bugs.webkit.org/show_bug.cgi?id=59571
3162
3163         Test: fast/dom/shadow/gc-shadow.html
3164
3165         * bindings/js/JSDOMBinding.h:
3166         (WebCore::root):
3167
3168 2011-04-28  Martin Robinson  <mrobinson@igalia.com>
3169
3170         Reviewed by Xan Lopez.
3171
3172         [GTK] Click counting logic should be shared between WebKit1 and WebKit2
3173         https://bugs.webkit.org/show_bug.cgi?id=59715
3174
3175         Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
3176         into WebCore so that WebKit1 and WebKit2 can share the code.
3177
3178         No new tests. This is covered by fast/events/click-count.html.
3179
3180         * GNUmakefile.list.am: Added new files.
3181         * platform/gtk/GtkClickCounter.cpp: Added.
3182         (WebCore::GtkClickCounter::GtkClickCounter): Added.
3183         (WebCore::GtkClickCounter::reset): Added.
3184         (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
3185         (WebCore::getEventTime): Added.
3186         (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
3187         * platform/gtk/GtkClickCounter.h: Added.
3188
3189 2011-04-28  Dan Bernstein  <mitz@apple.com>
3190
3191         Build fix.
3192
3193         * css/CSSParser.cpp:
3194         (WebCore::cssPropertyID):
3195
3196 2011-04-28  Dan Bernstein  <mitz@apple.com>
3197
3198         Reviewed by Simon Fraser.
3199
3200         Allow specifying CSS property aliases in CSSPropertyNames.in files
3201         https://bugs.webkit.org/show_bug.cgi?id=59712
3202
3203         * css/CSSParser.cpp:
3204         (WebCore::cssPropertyID): Removed code to handle some aliases
3205         * css/CSSPropertyNames.in: Added aliases no longer handled in code.
3206         * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
3207         defining an alias, and add an appropriate entry to the gperf file.
3208
3209 2011-04-28  Arno Renevier  <arno@renevier.net>
3210
3211         Reviewed by Gustavo Noronha Silva.
3212
3213         [Soup] does not load css stylesheets without content-type
3214         https://bugs.webkit.org/show_bug.cgi?id=59697
3215
3216         When sniffing content type, do not replace http Content-Type header in
3217         soup message anymore, but keep sniffed content type in a separate
3218         variable.
3219
3220         * platform/network/soup/ResourceHandleSoup.cpp:
3221         (WebCore::contentSniffedCallback):
3222         * platform/network/soup/ResourceResponse.h:
3223         (WebCore::ResourceResponse::sniffedContentType):
3224         (WebCore::ResourceResponse::setSniffedContentType):
3225         * platform/network/soup/ResourceResponseSoup.cpp:
3226         (WebCore::ResourceResponse::updateFromSoupMessage):
3227
3228 2011-04-28  Yael Aharon  <yael.aharon@nokia.com>
3229
3230         Reviewed by Andreas Kling.
3231
3232         Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
3233         https://bugs.webkit.org/show_bug.cgi?id=59704
3234
3235         No new tests, just code cleanup.
3236
3237         * WebCore.pri:
3238
3239 2011-04-28  Pavel Podivilov  <podivilov@chromium.org>
3240
3241         Reviewed by Pavel Feldman.
3242
3243         Web Inspector: remove "Pretty print" source frame context menu item.
3244         https://bugs.webkit.org/show_bug.cgi?id=59709
3245
3246         * inspector/front-end/DebuggerPresentationModel.js:
3247         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
3248         * inspector/front-end/ScriptsPanel.js:
3249         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
3250         * inspector/front-end/SourceFrame.js:
3251         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
3252
3253 2011-04-28  Satish Sampath  <satish@chromium.org>
3254
3255         Reviewed by Tony Gentilcore.
3256
3257         Speech input button layout issues with padding and border.
3258         https://bugs.webkit.org/show_bug.cgi?id=59613
3259
3260         * rendering/RenderTextControlSingleLine.cpp:
3261         (WebCore::RenderTextControlSingleLine::layout):
3262         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3263         (WebCore::RenderTextControlSingleLine::forwardEvent):
3264
3265 2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3266
3267         Reviewed by Martin Robinson.
3268
3269         [GTK] Check whether to use native scrollbars at run time
3270         https://bugs.webkit.org/show_bug.cgi?id=59694
3271
3272         It's currently decided at build time depending on whether webkit2
3273         build is enabled or not. That makes imposible to build both
3274         webkit1 and webkit2 using the same libWebCore.
3275
3276         * GNUmakefile.am:
3277         * platform/ScrollView.cpp:
3278         (WebCore::ScrollView::wheelEvent):
3279         * platform/gtk/ScrollViewGtk.cpp:
3280         (WebCore::ScrollView::createScrollbar):
3281
3282 2011-04-28  Pavel Feldman  <pfeldman@google.com>
3283
3284         Reviewed by Yury Semikhatsky.
3285
3286         Web Inspector: add status bar button for pretty print.
3287         https://bugs.webkit.org/show_bug.cgi?id=59467
3288
3289         * WebCore.gypi:
3290         * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
3291         * inspector/front-end/ScriptsPanel.js:
3292         (WebInspector.ScriptsPanel):
3293         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3294         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
3295         * inspector/front-end/WebKit.qrc:
3296         * inspector/front-end/inspector.css:
3297         (.scripts-toggle-pretty-print-status-bar-item .glyph):
3298         (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):
3299
3300 2011-04-28  Pavel Feldman  <pfeldman@google.com>
3301
3302         Reviewed by Yury Semikhatsky.
3303
3304         Web Inspector: add ResourceTreeModel tests.
3305         https://bugs.webkit.org/show_bug.cgi?id=59616
3306
3307         Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
3308                http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
3309                http/tests/inspector/resource-tree/resource-tree-reload.html
3310
3311         * inspector/front-end/ResourceTreeModel.js:
3312         (WebInspector.ResourceTreeModel.prototype.frontendReused):
3313         (WebInspector.ResourceTreeModel.prototype._addFrame):
3314         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
3315         (WebInspector.ResourceTreeModel.prototype._frameDetached):
3316         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
3317         (WebInspector.ResourceTreeModel.prototype.forAllResources):
3318         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
3319         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
3320         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3321         * inspector/front-end/ResourcesPanel.js:
3322         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
3323         (WebInspector.ResourcesPanel.prototype._frameAdded):
3324         (WebInspector.ResourcesPanel.prototype._frameDetached):
3325         (WebInspector.ResourcesPanel.prototype._frameNavigated):
3326         (WebInspector.FrameTreeElement):
3327         (WebInspector.FrameTreeElement.prototype.frameNavigated):
3328
3329 2011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
3330
3331         Reviewed by Yury Semikhatsky.
3332
3333         WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
3334         https://bugs.webkit.org/show_bug.cgi?id=59592
3335
3336         * inspector/front-end/DetailedHeapshotGridNodes.js:
3337         (WebInspector.HeapSnapshotGridNode.prototype._populate):
3338         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3339         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
3340         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3341         * inspector/front-end/DetailedHeapshotView.js:
3342         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
3343         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
3344         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
3345         (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
3346         (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
3347         (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
3348         (WebInspector.DetailedHeapshotView.prototype.changeView):
3349         * inspector/front-end/HeapSnapshot.js:
3350         (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
3351         (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
3352         (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
3353         (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
3354         (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
3355         * inspector/front-end/heapProfiler.css:
3356         (div.retaining-paths-view td.path-column div:hover):
3357
3358 2011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
3359
3360         Reviewed by Yury Semikhatsky.
3361
3362         Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
3363         https://bugs.webkit.org/show_bug.cgi?id=59454
3364
3365         Test: inspector/profiler/heap-snapshot-loader.html
3366
3367         * inspector/front-end/HeapSnapshot.js:
3368         (WebInspector.HeapSnapshotLoader):
3369         (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
3370         (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
3371         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
3372         (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
3373         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
3374         * inspector/front-end/HeapSnapshotProxy.js:
3375         (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
3376
3377 2011-04-28  ojab  <ojab@ojab.ru>
3378
3379         Reviewed by David Levin.
3380
3381         Fix build with libpng-1.5.1
3382         https://bugs.webkit.org/show_bug.cgi?id=59607
3383
3384         * platform/image-decoders/png/PNGImageDecoder.cpp:
3385         (WebCore::readColorProfile):
3386
3387 2011-04-28  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
3388
3389         Reviewed by Nikolas Zimmermann.
3390
3391         Optimizing gaussian blur filter to ARM-neon SIMD instruction set
3392         https://bugs.webkit.org/show_bug.cgi?id=59447
3393
3394         This patch contains two sub-routines, one for speeding up
3395         alpha channel only gaussian blur (by 2.5 times) and one
3396         for speeding up all channel blur (by 4 times).
3397
3398         The common code is also redesigned to better fit for platform
3399         specific code. This means large chunks of code was moved to
3400         different files, and all platform specific files are added to
3401         all build systems.
3402
3403         * CMakeLists.txt:
3404         * GNUmakefile.am:
3405         * GNUmakefile.list.am:
3406         * WebCore.gypi:
3407         * WebCore.pro:
3408         * WebCore.vcproj/WebCore.vcproj:
3409         * WebCore.vcproj/WebCoreCommon.vsprops:
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * platform/graphics/filters/FEGaussianBlur.cpp:
3412         (WebCore::FEGaussianBlur::platformApplyGeneric):
3413         (WebCore::FEGaussianBlur::apply):
3414         * platform/graphics/filters/FEGaussianBlur.h:
3415         (WebCore::FEGaussianBlur::kernelPosition):
3416         (WebCore::FEGaussianBlur::platformApply):
3417         * platform/graphics/filters/FELighting.cpp:
3418         (WebCore::FELighting::platformApplyGeneric):
3419         (WebCore::FELighting::drawLighting):
3420         * platform/graphics/filters/FELighting.h:
3421         (WebCore::FELighting::platformApply):
3422         * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
3423         (WebCore::WTF_ALIGNED):
3424         (WebCore::feGaussianBlurConstantsForNeon):
3425         * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
3426         (WebCore::FEGaussianBlur::platformApplyNeon):
3427         * platform/graphics/filters/arm/FELightingNEON.cpp:
3428         (WebCore::WTF_ALIGNED):
3429         (WebCore::FELighting::getPowerCoefficients):
3430         * platform/graphics/filters/arm/FELightingNEON.h:
3431         (WebCore::FELighting::platformApplyNeon):
3432
3433 2011-04-28  Alexander Pavlov  <apavlov@chromium.org>
3434
3435         Reviewed by Yury Semikhatsky.
3436
3437         Web Inspector: provide a hotkey for script pause
3438         https://bugs.webkit.org/show_bug.cgi?id=59593
3439
3440         In fact, F8 works as a hotkey, but this fact was not reflected
3441         in the shortcut help popup.
3442
3443         * English.lproj/localizedStrings.js:
3444         * inspector/front-end/ScriptsPanel.js:
3445         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
3446
3447 2011-04-28  Adam Barth  <abarth@webkit.org>
3448
3449         Reviewed by Eric Seidel.
3450
3451         PluginStream should play nice with strict OwnPtr
3452         https://bugs.webkit.org/show_bug.cgi?id=59675
3453
3454         These failures appear when enabling strict OwnPtr on Qt.
3455
3456         * plugins/PluginStream.cpp:
3457         (WebCore::PluginStream::PluginStream):
3458         (WebCore::PluginStream::didReceiveData):
3459
3460 2011-04-26  Alexander Pavlov  <apavlov@chromium.org>
3461
3462         Reviewed by Pavel Feldman.
3463
3464         Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
3465         https://bugs.webkit.org/show_bug.cgi?id=59326
3466
3467         Concrete CachedResource successors for stylesheets and scripts
3468         can decode their content better than the generic approach we use.
3469
3470         * inspector/InspectorPageAgent.cpp:
3471         (WebCore::decodeSharedBuffer):
3472         (WebCore::prepareCachedResourceBuffer):
3473         (WebCore::cachedResourceDecoded):
3474         (WebCore::InspectorPageAgent::resourceContent):
3475         (WebCore::InspectorPageAgent::resourceData):
3476         * inspector/InspectorStyleSheet.cpp:
3477         (WebCore::InspectorStyleSheet::originalStyleSheetText):
3478
3479 2011-04-28  Jon Lee  <jonlee@apple.com>
3480
3481         Reviewed by Simon Fraser.
3482
3483         REGRESSION: white overlay scrollbars on apple.com/startpage
3484         https://bugs.webkit.org/show_bug.cgi?id=59540
3485         <rdar://problem/9338653>
3486
3487         Now we look at the document background in addition to the <body> element,
3488         and blend those colors in with the base background of the frame view to
3489         arrive at our aggregate color. This provides a better result to determine
3490         overlay scrollbar style.
3491
3492         * page/Frame.cpp:
3493         (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
3494         * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation
3495
3496 2011-04-27  Adam Barth  <abarth@webkit.org>
3497
3498         Reviewed by Maciej Stachowiak.
3499
3500         Fix OwnPtr issues in IndexedDB
3501         https://bugs.webkit.org/show_bug.cgi?id=59656
3502
3503         This patch is an attempt to fix the clang build.  Clang can't seem to
3504         cope with OwnPtrs to classes declared in an anonymous namespace because
3505         OwnPtr's copy constructor isn't defined (but would need to be defined
3506         in this translation unit).
3507
3508         * platform/leveldb/LevelDBDatabase.cpp:
3509
3510 2011-04-27  Ryuan Choi  <ryuan.choi@samsung.com>
3511
3512         Reviewed by Antonio Gomes.
3513
3514         [EFL] Change cursor to LAZY_NATIVE_CURSOR
3515         https://bugs.webkit.org/show_bug.cgi?id=59411
3516