IndexedDB: Protect against key prefix overflows
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-11  Alec Flett  <alecflett@chromium.org>
2
3         IndexedDB: Protect against key prefix overflows
4         https://bugs.webkit.org/show_bug.cgi?id=111138
5
6         Reviewed by Tony Chang.
7
8         This reworks the boundary checking for all databaseId,
9         objectStoreId, and indexId, including negative and
10         zero-based ids. All entrypoints into IDBLevelDBCoding
11         are protected with explicit checks and all internal
12         uses of KeyPrefix are protected with ASSERTs in the
13         various constructors.
14
15         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
16
17         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
18         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
19
20 2013-03-11  Philip Rogers  <pdr@google.com>
21
22         Replace static_cast<SVGStyledElement> with toSVGStyledElement()
23         https://bugs.webkit.org/show_bug.cgi?id=111651
24
25         Reviewed by Abhishek Arya.
26
27         toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
28         can be caught on our testing infrastructure. This patch replaces all
29         static_cast<SVGStyledElement> instances with toSVGStyledElement.
30
31         Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
32         remove a confusing overlap with html styled elements. This name differs slighly from the
33         other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.
34
35         No new tests as this is covered with existing tests.
36
37         * rendering/svg/RenderSVGModelObject.cpp:
38         (WebCore::getElementCTM):
39         * rendering/svg/RenderSVGResourceClipper.cpp:
40         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
41         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
42         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
43         * rendering/svg/RenderSVGResourceMasker.cpp:
44         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
45         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
46         * rendering/svg/RenderSVGResourcePattern.cpp:
47         (WebCore::RenderSVGResourcePattern::createTileImage):
48         * rendering/svg/SVGRenderSupport.cpp:
49         (WebCore::SVGRenderSupport::layoutChildren):
50         * rendering/svg/SVGResources.cpp:
51         (WebCore::registerPendingResource):
52         * svg/SVGAnimationElement.cpp:
53         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
54         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
55         (WebCore::SVGAnimationElement::adjustForInheritance):
56         (WebCore::inheritsFromProperty):
57         * svg/SVGElement.cpp:
58         (WebCore::collectInstancesForSVGElement):
59         (WebCore::SVGElement::isAnimatableAttribute):
60         * svg/SVGElement.h:
61         (WebCore::SVGElement::isSVGStyledElement):
62         * svg/SVGElementInstance.cpp:
63         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
64         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
65         * svg/SVGLocatable.cpp:
66         (WebCore::SVGLocatable::computeCTM):
67         * svg/SVGStyledElement.cpp:
68         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
69         * svg/SVGStyledElement.h:
70         (WebCore::SVGStyledElement::isSVGStyledElement):
71         * svg/SVGUseElement.cpp:
72         (WebCore::SVGUseElement::selfHasRelativeLengths):
73         * svg/graphics/filters/SVGFEImage.cpp:
74         (WebCore::FEImage::platformApplySoftware):
75
76 2013-03-11  Tim Horton  <timothy_horton@apple.com>
77
78         PDFPlugin: Make scrolling between pages in non-continuous modes work
79         https://bugs.webkit.org/show_bug.cgi?id=111415
80         <rdar://problem/12555320>
81
82         Reviewed by Alexey Proskuryakov.
83
84         * WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.
85
86 2013-03-11  Mark Lam  <mark.lam@apple.com>
87
88         Remove the use of the quotaMap cache in DatabaseTracker.
89         https://bugs.webkit.org/show_bug.cgi?id=111805.
90
91         Reviewed by Geoffrey Garen.
92
93         This change is needed because using the quotaMap cache can result in
94         an inaccurate read (in a multi-process system) on what database files
95         are actually present on the filesystem. Instead of using the quotaMap
96         cache, we rely on the tracker database and query it every time we need
97         the origin/quota information.
98
99         No new tests.
100
101         * Modules/webdatabase/DatabaseTracker.cpp:
102         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
103         (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
104         (WebCore::DatabaseTracker::origins):
105         (WebCore::DatabaseTracker::quotaForOriginNoLock):
106         (WebCore::DatabaseTracker::setQuota):
107         (WebCore::DatabaseTracker::addDatabase):
108         (WebCore::DatabaseTracker::deleteOrigin):
109         * Modules/webdatabase/DatabaseTracker.h:
110
111 2013-03-11  Morten Stenshorne  <mstensho@opera.com>
112
113         Don't rely on the fact that StaticPosition happens to be defined as 0
114         https://bugs.webkit.org/show_bug.cgi?id=110123
115
116         Also made the expression slightly less convoluted.
117
118         Reviewed by Alexey Proskuryakov.
119
120         No new tests. This is just code cleanup.
121
122         * rendering/RenderObject.cpp:
123         (WebCore::RenderObject::containingBlock):
124
125 2013-03-11  Adam Barth  <abarth@webkit.org>
126
127         Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
128
129         * html/HTMLPlugInImageElement.cpp:
130
131 2013-03-05  Ojan Vafai  <ojan@chromium.org>
132
133         Intrinsic width keyword values don't work for tables
134         https://bugs.webkit.org/show_bug.cgi?id=111515
135
136         Reviewed by Julien Chaffraix.
137
138         Tests: fast/css-intrinsic-dimensions/css-tables.html
139                fast/css-intrinsic-dimensions/tables.html
140
141         * rendering/RenderBox.cpp:
142         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
143         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
144         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
145         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
146         * rendering/RenderBox.h:
147         Pass in the border and padding as an argument since RenderTable needs
148         to pass in a different value. Unfortunately, the math doesn't work out right
149         in the positioned/replaced cases if we just pass 0. We need to pass in the correct
150         border and padding and then subtract it from the result.
151
152         * rendering/RenderTable.cpp:
153         (WebCore::RenderTable::updateLogicalWidth):
154         Compute intrinsic widths as well as specified ones. Down the road
155         we may want to consider having intrinsic width values return true for
156         isSpecified.
157
158         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
159         Compute intrinsic widths as well.
160
161         (WebCore::RenderTable::computeIntrinsicLogicalWidths):
162         Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
163         gets the right intrinsic values instead of the preferred values.
164
165         (WebCore::RenderTable::computePreferredLogicalWidths):
166         * rendering/RenderTable.h:
167
168 2013-03-11  Stephen Chenney  <schenney@chromium.org>
169
170         HTMLInputElement can delete an ImageLoader while it's still needed
171         https://bugs.webkit.org/show_bug.cgi?id=110621
172
173         Reviewed by Darin Adler.
174
175         ImageLoader objects may fire events for HTMLInputElements that are of
176         type ImageInputType that own the loader. These events may cause script
177         to run that changes the type of the input element and hence causes the
178         ImageLoader to be deleted, while the image loader is still processing
179         the event dispatch. Bad things ensue.
180
181         This change moves ownership of the ImageLoader from the ImageInputType
182         onto the HTMLImageElement which is already protected from deletion during
183         event processing.
184
185         Test: fast/forms/image/image-error-event-modifies-type-crash.html
186
187         * html/HTMLInputElement.cpp:
188         (WebCore::HTMLInputElement::imageLoader): Method to return the
189           ImageLoader, creating it if not already created.
190         * html/HTMLInputElement.h:
191         (WebCore::HTMLInputElement::hasImageLoader): Return true if the
192           ImageLoader has been created.
193         (HTMLInputElement): Define ImageLoader access methods and the OwnPtr
194           for the HTMLImageLoader.
195         * html/ImageInputType.cpp:
196         (WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
197         (WebCore::ImageInputType::attach): Use the element's ImageLoader.
198         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
199         (WebCore::ImageInputType::height): Use the element's ImageLoader.
200         (WebCore::ImageInputType::width): Use the element's ImageLoader.
201         * html/ImageInputType.h:
202         (ImageInputType): Remove the declaration of the ImageLoader.
203
204 2013-03-11  Alok Priyadarshi  <alokp@chromium.org>
205
206         Revert "Mark GraphicsLayers as opaque when possible"
207
208         This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.
209
210         REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
211         https://bugs.webkit.org/show_bug.cgi?id=112043
212
213         Unreviewed, rolling out r143626.
214
215         * rendering/RenderBox.cpp:
216         * rendering/RenderBox.h:
217         (RenderBox):
218         * rendering/RenderBoxModelObject.h:
219         (RenderBoxModelObject):
220         * rendering/RenderLayer.cpp:
221         * rendering/RenderLayer.h:
222         (RenderLayer):
223         * rendering/RenderLayerBacking.cpp:
224         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
225         * rendering/RenderLayerModelObject.h:
226         (RenderLayerModelObject):
227
228 2013-03-11  Dean Jackson  <dino@apple.com>
229
230         Plugins created during user gestures (or soon after) should not be snapshotted
231         https://bugs.webkit.org/show_bug.cgi?id=111975
232
233         Reviewed by Tim Horton.
234
235         There are sites which create plugins in response to user actions, such as clicking
236         on an image that is acting like a poster frame. In those cases we should never snapshot.
237
238         There are some other sites which also create plugins in response to user actions,
239         but don't necessarily create the content themselves. Instead they run some script
240         that injects an iframe, and the frame loads a plugin. In order to make sure we don't
241         snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
242         is created soon after a *handled* user gesture is not snapshotted. To do this we
243         mark a timestamp in the document when we've called an event listener for a user
244         gesture. The plugin element then compares its creation time with the most recent
245         user action time.
246
247         * dom/Document.cpp:
248         (WebCore::Document::Document): Initialise new timestamp.
249         (WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable
250             to the current time.
251         * dom/Document.h:
252         (WebCore::Document::lastHandledUserGestureTimestamp): Getter.
253
254         * dom/EventTarget.cpp:
255         (WebCore::EventTarget::fireEventListeners): If there were some event listeners and
256             we were processing a user gesture, then reset the timestamp in the document.
257
258         * html/HTMLPlugInImageElement.cpp:
259         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created
260             during a user gesture.
261         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin
262             if we were created during a user gesture, or if we are close enough in time
263             to a listener that fired in relation to a user gesture.
264         * html/HTMLPlugInImageElement.h: New private member flag indicating if we were
265             in a user gesture when constructed.
266
267 2013-03-11  Jeffrey Pfau  <jpfau@apple.com>
268
269         List cache partitions as units instead of as their contents
270         https://bugs.webkit.org/show_bug.cgi?id=111909
271
272         Reviewed by Maciej Stachowiak.
273
274         Not possible to test with current automated test tools, must be tested manually.
275
276         * loader/cache/MemoryCache.cpp:
277         (WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible
278
279 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
280
281         Chromium build fix. Forked files strike again.
282
283         * platform/network/chromium/ResourceHandle.cpp:
284         (WebCore::ResourceHandle::firstRequest):
285
286 2013-03-11  James Robinson  <jamesr@chromium.org>
287
288         Fix typo from r145399. Rubber stamped by Abhishek Arya.
289
290         * rendering/svg/RenderSVGViewportContainer.h:
291         (WebCore::toRenderSVGViewportContainer):
292
293 2013-03-11  Hans Muller  <hmuller@adobe.com>
294
295         [CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple boundaries
296         https://bugs.webkit.org/show_bug.cgi?id=111766
297
298         Reviewed by Dirk Schulze.
299
300         Refactored the ExclusionPolygon class to enable adding support for shape-margin and shape-padding.
301         Extracted a new FloatPolygon class which is now used by ExclusionPolygon to represent the shape's
302         boundary. It will be used to add m_paddedPolygon and m_marginPolygon members to ExclusionPolygon
303         in a subsequent patch.
304
305         No new tests. This is strictly a refactoring of the existing code.
306
307         * CMakeLists.txt:
308         * GNUmakefile.list.am:
309         * WebCore.gypi:
310         * WebCore.vcproj/WebCore.vcproj:
311         * WebCore.xcodeproj/project.pbxproj:
312         * platform/graphics/FloatPolygon.cpp: Factored out of Source/WebCore/rendering/ExclusionPolygon.cpp.
313         (WebCore::determinant):
314         (WebCore::areCollinearPoints):
315         (WebCore::areCoincidentPoints):
316         (WebCore::isPointOnLineSegment):
317         (WebCore::nextVertexIndex):
318         (WebCore::FloatPolygon::FloatPolygon):
319         (WebCore::FloatPolygon::findNextEdgeVertexIndex):
320         (WebCore::FloatPolygon::overlappingEdges):
321         (WebCore::leftSide):
322         (WebCore::FloatPolygon::contains):
323         (WebCore::VertexPair::overlapsRect):
324         (WebCore::VertexPair::intersection):
325         * platform/graphics/FloatPolygon.h: Factored out of Source/WebCore/rendering/ExclusionPolygon.h.
326         (FloatPolygon):
327         (WebCore::FloatPolygon::vertexAt):
328         (WebCore::FloatPolygon::numberOfVertices):
329         (WebCore::FloatPolygon::fillRule):
330         (WebCore::FloatPolygon::edgeAt):
331         (WebCore::FloatPolygon::numberOfEdges):
332         (WebCore::FloatPolygon::boundingBox):
333         (WebCore::FloatPolygon::isEmpty):
334         (VertexPair):
335         (WebCore::VertexPair::~VertexPair):
336         (WebCore::VertexPair::minX):
337         (WebCore::VertexPair::minY):
338         (WebCore::VertexPair::maxX):
339         (WebCore::VertexPair::maxY):
340         (FloatPolygonEdge):
341         (WebCore::FloatPolygonEdge::previousEdge):
342         (WebCore::FloatPolygonEdge::nextEdge):
343         (WebCore::FloatPolygonEdge::polygon):
344         (WebCore::FloatPolygonEdge::vertexIndex1):
345         (WebCore::FloatPolygonEdge::vertexIndex2):
346         (WebCore::FloatPolygonEdge::edgeIndex):
347         * rendering/ExclusionPolygon.cpp: Now depends on FloatPolygon.
348         (EdgeIntersection):
349         (WebCore::leftSide):
350         (WebCore::computeXIntersection):
351         (WebCore::getVertexIntersectionVertices):
352         (WebCore::computeXIntersections):
353         (WebCore::computeOverlappingEdgeXProjections):
354         (WebCore::ExclusionPolygon::getExcludedIntervals):
355         (WebCore::ExclusionPolygon::getIncludedIntervals):
356         (WebCore::firstFitRectInPolygon):
357         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
358         * rendering/ExclusionPolygon.h: Now depends on FloatPolygon.
359         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
360         (ExclusionPolygon):
361         (WebCore::ExclusionPolygon::ExclusionPolygon):
362
363 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
364
365         Roll out part of r144671.
366
367         ResourceHandle::firstRequest() should not be const(), because it returns a
368         non-const reference.        
369
370         * platform/network/ResourceHandle.cpp:
371         (WebCore::ResourceHandle::firstRequest):
372         * platform/network/ResourceHandle.h:
373
374 2013-01-30  Jer Noble  <jer.noble@apple.com>
375
376         Mac: Cmd-w should close full screen window.
377         https://bugs.webkit.org/show_bug.cgi?id=108406
378
379         Reviewed by Darin Adler.
380
381         Pass performClose: requests on to the owning window controller.
382
383         * platform/mac/WebCoreFullScreenWindow.mm:
384         (-[WebCoreFullScreenWindow performClose:]):
385
386 2013-03-11  Xiyuan Xia  <xiyuan@chromium.org>
387
388         [Chromium] chromium/linux breaks expectation of select popup background due to bad UA css rules
389         https://bugs.webkit.org/show_bug.cgi?id=111873
390
391         Reviewed by Tony Chang.
392
393         On linux the default <select> background color is too dark to use as the
394         popup background color.  Last fixes:
395         https://bugs.webkit.org/show_bug.cgi?id=54115 and
396         https://bugs.webkit.org/show_bug.cgi?id=56023
397         attempt to fix the problem by applying a lighter background using
398         special <option> selector. This breaks expectations of some websites.
399
400         This CL reverts the bad UA css rules above and provides the lighter
401         background color if <select> and <option> elements are using the default
402         background.
403
404         No new tests, this tests <select> popups and can be verified by ManualTests/select-scroll.html.
405
406         * css/themeChromiumLinux.css:
407         (select):
408         * platform/PopupMenuStyle.h:
409         (WebCore::PopupMenuStyle::PopupMenuStyle):
410         (WebCore::PopupMenuStyle::backgroundColorType):
411         (PopupMenuStyle):
412         * platform/chromium/PopupListBox.cpp:
413         (WebCore::PopupListBox::paintRow):
414         * rendering/RenderMenuList.cpp:
415         (WebCore::RenderMenuList::itemStyle):
416         (WebCore::RenderMenuList::getItemBackgroundColor):
417         * rendering/RenderMenuList.h:
418         (RenderMenuList):
419         * rendering/RenderSearchField.cpp:
420         (WebCore::RenderSearchField::menuStyle):
421         * rendering/RenderThemeChromiumDefault.cpp:
422         (WebCore::RenderThemeChromiumDefault::systemColor):
423
424 2013-03-11  James Robinson  <jamesr@chromium.org>
425
426         Compile fix. Rubber-stamp by Eric Seidel.
427
428         * html/shadow/MediaControlElements.cpp:
429         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
430
431 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
432
433         Fix build for r145397 (part 2)
434
435         Unreviewed.
436
437         * html/track/TextTrackCue.cpp:
438         (WebCore::TextTrackCue::getDisplayTree):
439
440 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
441
442         Fix build for r145397
443
444         Unreviewed.
445
446         * html/shadow/MediaControls.cpp:
447         (WebCore::MediaControls::createTextTrackDisplay):
448         * html/shadow/MediaControlsChromium.cpp:
449         (WebCore::MediaControlsChromium::createTextTrackDisplay):
450         * html/shadow/MediaControlsGtk.cpp:
451         (WebCore::MediaControlsGtk::createTextTrackDisplay):
452
453 2013-03-11  Abhishek Arya  <inferno@chromium.org>
454
455         Add ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
456         https://bugs.webkit.org/show_bug.cgi?id=112060
457
458         Reviewed by Eric Seidel.
459
460         * Modules/geolocation/Geolocation.cpp:
461         (WebCore::Geolocation::document):
462         * accessibility/AccessibilityMenuList.h:
463         (WebCore::toAccessibilityMenuList):
464         * accessibility/AccessibilityNodeObject.h:
465         (WebCore::toAccessibilityNodeObject):
466         * accessibility/AccessibilityRenderObject.h:
467         (WebCore::toAccessibilityRenderObject):
468         * accessibility/AccessibilitySVGRoot.h:
469         (WebCore::toAccessibilitySVGRoot):
470         * accessibility/AccessibilitySpinButton.h:
471         (WebCore::toAccessibilitySpinButton):
472         (WebCore::toAccessibilitySpinButtonPart):
473         * accessibility/AccessibilityTable.h:
474         (WebCore::toAccessibilityTable):
475         * css/StyleRule.h:
476         (WebCore::toStyleRuleMedia):
477         (WebCore::toStyleRuleSupports):
478         (WebCore::toStyleRuleRegion):
479         * dom/EventContext.h:
480         (WebCore::toTouchEventContext):
481         * fileapi/File.h:
482         (WebCore::toFile):
483         * html/HTMLElement.cpp:
484         (WebCore::HTMLElement::insertAdjacentElement):
485         (WebCore::contextElementForInsertion):
486         * html/HTMLMediaElement.h:
487         (WebCore::toMediaElement):
488         * html/HTMLMeterElement.h:
489         (WebCore::toHTMLMeterElement):
490         * html/HTMLOptionElement.cpp:
491         (WebCore::toHTMLOptionElement):
492         * html/HTMLProgressElement.cpp:
493         (WebCore::HTMLProgressElement::renderProgress):
494         * html/HTMLProgressElement.h:
495         (WebCore::toHTMLProgressElement):
496         * html/HTMLSelectElement.h:
497         (WebCore::toHTMLSelectElement):
498         * html/HTMLTableCellElement.cpp:
499         (WebCore::toHTMLTableCellElement):
500         * html/HTMLTextFormControlElement.h:
501         (WebCore::toHTMLTextFormControlElement):
502         * html/PluginDocument.h:
503         (WebCore::toPluginDocument):
504         * html/shadow/DetailsMarkerControl.cpp:
505         (WebCore::DetailsMarkerControl::summaryElement):
506         * html/shadow/HTMLContentElement.h:
507         (WebCore::toHTMLContentElement):
508         * html/shadow/HTMLShadowElement.h:
509         (WebCore::toHTMLShadowElement):
510         * html/shadow/TextFieldDecorationElement.cpp:
511         (WebCore::TextFieldDecorationElement::hostInput):
512         * page/DOMWindow.cpp:
513         (WebCore::DOMWindow::document):
514         * rendering/InlineTextBox.h:
515         (WebCore::toInlineTextBox):
516         * rendering/RenderHTMLCanvas.h:
517         (WebCore::toRenderHTMLCanvas):
518         * rendering/RenderScrollbar.h:
519         (WebCore::toRenderScrollbar):
520         * rendering/RenderTextFragment.h:
521         (WebCore::toRenderTextFragment):
522         * rendering/mathml/RenderMathMLOperator.h:
523         (WebCore::toRenderMathMLOperator):
524         * rendering/svg/RenderSVGTextPath.h:
525         (WebCore::toRenderSVGTextPath):
526         * rendering/svg/RenderSVGViewportContainer.h:
527         (WebCore::toRenderSVGViewportContainer):
528         * svg/graphics/SVGImageChromeClient.h:
529         (WebCore::toSVGImageChromeClient):
530
531 2013-03-11  Adam Barth  <abarth@webkit.org>
532
533         Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
534         https://bugs.webkit.org/show_bug.cgi?id=112057
535
536         Reviewed by Eric Seidel.
537
538         Simulating the HTML tree builder is a separate concern from parsing on
539         the background thread. We plan to re-use the tree builder simulator for
540         the view-source parser, for example. Also, having the simulator as a
541         separate object will make it easier to fix
542         https://bugs.webkit.org/show_bug.cgi?id=109764.
543
544         * CMakeLists.txt:
545         * GNUmakefile.list.am:
546         * Target.pri:
547         * WebCore.gypi:
548         * WebCore.vcproj/WebCore.vcproj:
549         * html/parser/BackgroundHTMLParser.cpp:
550         (WebCore):
551         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
552         (WebCore::BackgroundHTMLParser::pumpTokenizer):
553         * html/parser/BackgroundHTMLParser.h:
554         (BackgroundHTMLParser):
555
556 2013-02-26  Dima Gorbik  <dgorbik@apple.com>
557
558         Not all properties apply to the '::cue' pseudo-element
559         https://bugs.webkit.org/show_bug.cgi?id=110705
560
561         Reviewed by Eric Carlson.
562
563         Background properties are not inherited and they were not applied to right elements.
564         Now we apply all ::cue properties to WebVTT cue background box, which -webkit-media-text-track-all-nodes
565         container was corresponding to. Now it has 'cue' pseudoId instead of '-webkit-media-text-track-all-nodes'.
566         Property filtering is turned off for user agent rules so that we are still able to apply filtered rules
567         to this container internally. m_cueContainer is removed because it is no longer needed.
568         m_allDocumentNodes container was renamed to m_cueBackgroundBox.
569
570         Existing tests modified to cover this case.
571
572         * css/RuleSet.h:
573         (WebCore::RuleData::propertyWhitelistType): disable filtering for UA rules.
574         * css/StyleResolver.cpp:
575         (WebCore::StyleResolver::sortAndTransferMatchedRules): pass the UA scope to propertyWhitelistType().
576         * css/mediaControls.css: rename -webkit-media-text-track-all-nodes to 'cue'
577         (video::cue): 
578         * html/shadow/MediaControlElements.cpp:
579         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
580         * html/shadow/MediaControlElements.h:
581         (MediaControlTextTrackContainerElement):
582         * html/shadow/MediaControls.cpp:
583         (WebCore::MediaControls::createTextTrackDisplay):
584         * html/shadow/MediaControlsChromium.cpp:
585         (WebCore::MediaControlsChromium::createTextTrackDisplay):
586         * html/shadow/MediaControlsGtk.cpp:
587         (WebCore::MediaControlsGtk::createTextTrackDisplay):
588         * html/track/TextTrackCue.cpp:
589         (WebCore::TextTrackCue::TextTrackCue):
590         (WebCore::TextTrackCue::updateDisplayTree):
591         (WebCore::TextTrackCue::getDisplayTree):
592         * html/track/TextTrackCue.h:
593         (WebCore::TextTrackCue::element):
594         * page/CaptionUserPreferencesMac.mm:
595         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride):
596
597 2013-03-11  Tim Horton  <timothy_horton@apple.com>
598
599         ChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
600         https://bugs.webkit.org/show_bug.cgi?id=111981
601
602         Reviewed by Kentaro Hara.
603
604         * page/ChromeClient.h: Remove the extraneous #include.
605
606 2013-03-11  David Hyatt  <hyatt@apple.com>
607
608         Vertical writing doesn't work with form controls.
609         https://bugs.webkit.org/show_bug.cgi?id=70211
610
611         Reviewed by Simon Fraser.
612
613         This is just some basic plumbing work to make textfields and
614         textareas work with vertical writing modes. This patch leaves the
615         html.css override alone, so authors can't enable vertical
616         writing yet.
617         
618         The changes consist of converting uses of x/y/width/height to
619         logicalLeft/Top/Width/Height.
620       
621         * rendering/RenderBoxModelObject.h:
622         (WebCore::RenderBoxModelObject::paddingLogicalLeft):
623         (WebCore::RenderBoxModelObject::paddingLogicalRight):
624         (RenderBoxModelObject):
625         (WebCore::RenderBoxModelObject::marginLogicalHeight):
626         (WebCore::RenderBoxModelObject::marginLogicalWidth):
627         * rendering/RenderSearchField.cpp:
628         (WebCore::RenderSearchField::computeControlLogicalHeight):
629         (WebCore::RenderSearchField::computeLogicalHeightLimit):
630         (WebCore::RenderSearchField::centerContainerIfNeeded):
631         * rendering/RenderSearchField.h:
632         (RenderSearchField):
633         * rendering/RenderTextControl.cpp:
634         (WebCore::RenderTextControl::textBlockLogicalHeight):
635         (WebCore::RenderTextControl::textBlockLogicalWidth):
636         (WebCore::RenderTextControl::computeLogicalHeight):
637         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
638         (WebCore::RenderTextControl::computePreferredLogicalWidths):
639         * rendering/RenderTextControl.h:
640         (RenderTextControl):
641         * rendering/RenderTextControlMultiLine.cpp:
642         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
643         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
644         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
645         * rendering/RenderTextControlMultiLine.h:
646         (RenderTextControlMultiLine):
647         * rendering/RenderTextControlSingleLine.cpp:
648         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
649         (WebCore::RenderTextControlSingleLine::paint):
650         (WebCore::RenderTextControlSingleLine::computeLogicalHeightLimit):
651         (WebCore::RenderTextControlSingleLine::layout):
652         (WebCore::RenderTextControlSingleLine::styleDidChange):
653         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
654         (WebCore::RenderTextControlSingleLine::computeControlLogicalHeight):
655         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
656         * rendering/RenderTextControlSingleLine.h:
657         (RenderTextControlSingleLine):
658         * rendering/style/RenderStyle.h:
659
660 2013-03-11  Tim Horton  <timothy_horton@apple.com>
661
662         TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
663         https://bugs.webkit.org/show_bug.cgi?id=111958
664         <rdar://problem/13356896>
665
666         Reviewed by Darin Adler.
667
668         Don't limit TiledBacking coverage if the client has opted into using
669         its exposed rect to allow scrolling above the web view.
670
671         * platform/graphics/TiledBacking.h:
672         * platform/graphics/ca/mac/TileController.h:
673         * rendering/RenderLayerBacking.cpp:
674         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
675
676 2013-03-11  Rajeev Sarvaria  <rsarvaria@blackberry.com>
677
678         GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
679         https://bugs.webkit.org/show_bug.cgi?id=111450
680
681         Reviewed by Rob Buis.
682
683         Bufsize argument corrected to size in bytes instead of number of integers or floats.
684
685         * html/canvas/WebGLRenderingContext.cpp:
686         (WebCore):
687         (WebCore::WebGLRenderingContext::getUniform):
688
689 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
690
691         Unreviewed, rolling out r145375.
692         http://trac.webkit.org/changeset/145375
693         https://bugs.webkit.org/show_bug.cgi?id=112050
694
695         Does not compile (Requested by jamesr on #webkit).
696
697         * Modules/indexeddb/IDBBackingStore.cpp:
698         (WebCore::IDBBackingStore::getObjectStores):
699         (WebCore::IDBBackingStore::createObjectStore):
700         (WebCore::IDBBackingStore::deleteObjectStore):
701         (WebCore::IDBBackingStore::getRecord):
702         (WebCore::IDBBackingStore::putRecord):
703         (WebCore::IDBBackingStore::clearObjectStore):
704         (WebCore::IDBBackingStore::deleteRecord):
705         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
706         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
707         (WebCore::IDBBackingStore::keyExistsInObjectStore):
708         (WebCore::IDBBackingStore::getIndexes):
709         (WebCore::IDBBackingStore::createIndex):
710         (WebCore::IDBBackingStore::deleteIndex):
711         (WebCore::IDBBackingStore::putIndexDataForRecord):
712         (WebCore::IDBBackingStore::findKeyInIndex):
713         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
714         (WebCore::IDBBackingStore::keyExistsInIndex):
715         (WebCore::indexCursorOptions):
716         * Modules/indexeddb/IDBBackingStore.h:
717         (IDBBackingStore):
718         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
719         (WebCore::DeleteIndexOperation::create):
720         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
721         (DeleteIndexOperation):
722         (WebCore::IDBDatabaseBackendImpl::openInternal):
723         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
724         (WebCore::DeleteIndexOperation::perform):
725         (WebCore::DeleteRangeOperation::perform):
726         (WebCore::ClearOperation::perform):
727         * Modules/indexeddb/IDBLevelDBCoding.cpp:
728         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
729         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
730         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
731         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
732         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
733         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
734         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
735         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
736         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
737         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
738         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
739         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
740         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
741         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
742         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
743         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
744         * Modules/indexeddb/IDBLevelDBCoding.h:
745         (IDBLevelDBCoding):
746         (KeyPrefix):
747         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
748         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
749
750 2013-03-11  Adam Klein  <adamk@chromium.org>
751
752         MutationCallback should be a WebIDL 'callback', not a [Callback] interface
753         https://bugs.webkit.org/show_bug.cgi?id=91406
754
755         Reviewed by Adam Barth.
756
757         Spec: http://dom.spec.whatwg.org/#mutationcallback
758
759         Besides no longer calling handleEvent methods on passed-in objects,
760         throw a TypeError if a non-function is passed to the MutationObserver constructor.
761         This is per WebIDL: http://www.w3.org/TR/WebIDL/#es-callback-function
762
763         Updated MutationObserver constructor tests to exercise TypeError-throwing behavior.
764
765         * bindings/js/JSMutationCallback.cpp:
766         (WebCore::JSMutationCallback::call): Call the callback directly instead of handing off to JSCallbackData; make return value void.
767         Use jsArray() to convert from WTF::Vector -> JSArray.
768         * bindings/js/JSMutationCallback.h:
769         (JSMutationCallback): Rename handleEvent() to call(), make it void.
770         * bindings/js/JSMutationObserverCustom.cpp:
771         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Throw if passed a non-function.
772         * bindings/v8/V8MutationCallback.cpp:
773         (WebCore::V8MutationCallback::V8MutationCallback): Take a v8::Function instead of a v8::Object.
774         (WebCore::V8MutationCallback::call): Call the callback directly instead of handing off to invokeCallback(); make return value void.
775         Use v8Array() to convert form WTF::Vector -> JSArray.
776         * bindings/v8/V8MutationCallback.h:
777         (WebCore::V8MutationCallback::create): Take a v8::Function instead of a v8::Object.
778         (V8MutationCallback): ditto
779         * bindings/v8/custom/V8MutationObserverCustom.cpp:
780         (WebCore::V8MutationObserver::constructorCustom): Throw if passed a non-function, cast to a v8::Function when constructing callback.
781         * dom/MutationCallback.h:
782         (WebCore): Remove unnecessary typedef.
783         (MutationCallback): Rename handleEvent() to call(), make it void.
784         * dom/MutationObserver.cpp:
785         (WebCore::MutationObserver::deliver): Update MutationCallback method name.
786
787 2013-03-11  Julien Chaffraix  <jchaffraix@webkit.org>
788
789         [CSS Grid Layout] Handle spanning grid items over specified grid tracks
790         https://bugs.webkit.org/show_bug.cgi?id=111918
791
792         Reviewed by Tony Chang.
793
794         This change updates the containing block override logic to handle multiple
795         spanned tracks. This makes the multiple specified grid tracks case work and
796         will enable us to handle the minmax case once the computation logic has been
797         updated.
798
799         Test: fast/css-grid-layout/grid-item-spanning-resolution.html
800
801         * rendering/RenderGrid.cpp:
802         (WebCore::RenderGrid::logicalContentHeightForChild):
803         (WebCore::RenderGrid::layoutGridItems):
804         Updated these functions to use gridAreaBreadthForChild.
805
806         (WebCore::RenderGrid::gridAreaBreadthForChild):
807         Added this helper function to handle multiple spanned grid tracks.
808
809         * rendering/RenderGrid.h: Added the previous function.
810
811 2013-03-11  Philip Rogers  <pdr@google.com>
812
813         Replace SVG's static_cast<SVGElement> with toSVGElement()
814         https://bugs.webkit.org/show_bug.cgi?id=111651
815
816         Reviewed by Abhishek Arya.
817
818         toSVGElement is preferred over static_cast because bad casts can be caught on
819         our testing infrastructure. This patch replaces all static_cast<SVGElement>
820         instances with toSVGElement.
821
822         No new tests as this is just a refactoring.
823
824         * css/CSSCursorImageValue.cpp:
825         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
826         * css/StyleResolver.cpp:
827         (WebCore::StyleResolver::matchAllRules):
828         (WebCore::StyleResolver::locateCousinList):
829         (WebCore::StyleResolver::canShareStyleWithElement):
830         (WebCore::StyleResolver::locateSharedStyle):
831         * dom/Element.cpp:
832         (WebCore::Element::synchronizeAllAttributes):
833         (WebCore::Element::synchronizeAttribute):
834         * rendering/svg/RenderSVGModelObject.cpp:
835         (WebCore::getElementCTM):
836         (WebCore::RenderSVGModelObject::checkIntersection):
837         (WebCore::RenderSVGModelObject::checkEnclosure):
838         * rendering/svg/RenderSVGResource.cpp:
839         (WebCore::removeFromCacheAndInvalidateDependencies):
840         * rendering/svg/RenderSVGResourceClipper.cpp:
841         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
842         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
843         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
844         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
845         * rendering/svg/RenderSVGResourceFilter.cpp:
846         (WebCore::RenderSVGResourceFilter::buildPrimitives):
847         * rendering/svg/RenderSVGResourceMasker.cpp:
848         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
849         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
850         * rendering/svg/RenderSVGResourcePattern.cpp:
851         (WebCore::RenderSVGResourcePattern::createTileImage):
852         * rendering/svg/RenderSVGShape.cpp:
853         (WebCore::RenderSVGShape::strokeWidth):
854         * rendering/svg/RenderSVGText.cpp:
855         (WebCore::RenderSVGText::strokeBoundingBox):
856         * rendering/svg/SVGRenderSupport.cpp:
857         (WebCore::SVGRenderSupport::layoutChildren):
858         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
859         * rendering/svg/SVGRenderTreeAsText.cpp:
860         (WebCore::writeSVGPaintingResource):
861         (WebCore::writeStyle):
862         (WebCore::operator<<):
863         * rendering/svg/SVGResources.cpp:
864         (WebCore::SVGResources::buildCachedResources):
865         * rendering/svg/SVGTextLayoutEngine.cpp:
866         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
867         * svg/SVGAElement.cpp:
868         (WebCore::SVGAElement::createRenderer):
869         * svg/SVGAnimationElement.cpp:
870         (WebCore::SVGAnimationElement::adjustForInheritance):
871         * svg/SVGElement.cpp:
872         (WebCore::SVGElement::viewportElement):
873         (WebCore::SVGElement::haveLoadedRequiredResources):
874         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
875         (WebCore::SVGElement::childShouldCreateRenderer):
876         * svg/SVGElement.h:
877         (WebCore::toSVGElement):
878         (WebCore):
879         * svg/SVGFEImageElement.cpp:
880         (WebCore::SVGFEImageElement::buildPendingResource):
881         * svg/SVGFilterElement.cpp:
882         (WebCore::SVGFilterElement::childShouldCreateRenderer):
883         * svg/SVGGradientElement.cpp:
884         (WebCore::SVGGradientElement::buildStops):
885         * svg/SVGLocatable.cpp:
886         (WebCore::SVGLocatable::nearestViewportElement):
887         (WebCore::SVGLocatable::farthestViewportElement):
888         (WebCore::SVGLocatable::computeCTM):
889         * svg/SVGMPathElement.cpp:
890         (WebCore::SVGMPathElement::buildPendingResource):
891         * svg/SVGSVGElement.cpp:
892         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
893         * svg/SVGStyledElement.cpp:
894         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
895         * svg/SVGSwitchElement.cpp:
896         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
897         * svg/SVGTextPathElement.cpp:
898         (WebCore::SVGTextPathElement::buildPendingResource):
899         * svg/SVGUseElement.cpp:
900         (WebCore::SVGUseElement::buildPendingResource):
901         (WebCore::SVGUseElement::toClipPath):
902         (WebCore::SVGUseElement::rendererClipChild):
903         (WebCore::SVGUseElement::buildInstanceTree):
904         (WebCore::SVGUseElement::hasCycleUseReferencing):
905         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
906         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
907         * svg/SVGViewSpec.cpp:
908         (WebCore::SVGViewSpec::viewTarget):
909         * svg/animation/SVGSMILElement.cpp:
910         (WebCore::SVGSMILElement::buildPendingResource):
911         * svg/graphics/filters/SVGFEImage.cpp:
912         (WebCore::FEImage::platformApplySoftware):
913
914 2013-03-11  Carlos Garcia Campos  <cgarcia@igalia.com>
915
916         [SOUP] ResourceRequest::updateSoupMessage doesn't update the URI of the soup message
917         https://bugs.webkit.org/show_bug.cgi?id=112040
918
919         Reviewed by Gustavo Noronha Silva.
920
921         * platform/network/soup/ResourceRequestSoup.cpp:
922         (WebCore::ResourceRequest::updateSoupMessage): Update the soup
923         message URI with the ResourceRequest URL.
924
925 2013-03-11  Alec Flett  <alecflett@chromium.org>
926
927         IndexedDB: Protect against key prefix overflows
928         https://bugs.webkit.org/show_bug.cgi?id=111138
929
930         Reviewed by Tony Chang.
931
932         This reworks the boundary checking for all databaseId,
933         objectStoreId, and indexId, including negative and
934         zero-based ids. All entrypoints into IDBLevelDBCoding
935         are protected with explicit checks and all internal
936         uses of KeyPrefix are protected with ASSERTs in the
937         various constructors.
938
939         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
940
941         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
942         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
943
944 2013-03-11  Xan Lopez  <xlopez@igalia.com>
945
946         [BlackBerry] PlatformBlackBerry.cmake: create thin AR archives
947         https://bugs.webkit.org/show_bug.cgi?id=110580
948
949         Reviewed by Rob Buis.
950
951         Otherwise libwebcore.a goes beyond the 4Gb file size limit and the
952         link phase fails.
953
954         * PlatformBlackBerry.cmake:
955
956 2013-03-11  Pavel Feldman  <pfeldman@chromium.org>
957
958         Web Inspector: fix styles toolbar in the vertical mode.
959         Not reviewed: swapped two lines.
960
961         * inspector/front-end/ElementsPanel.js:
962         (WebInspector.ElementsPanel.prototype._splitVertically):
963
964 2013-03-11  Andrey Lushnikov  <lushnikov@chromium.org>
965
966         Web Inspector: [CodeMirror] add token highlight feature
967         https://bugs.webkit.org/show_bug.cgi?id=112009
968
969         Reviewed by Pavel Feldman.
970
971         Handle CodeMirror's "cursorActivity" event, check selection for being
972         a word and highlight all its occurrences via CodeMirror.addOverlay method.
973
974         No new tests.
975
976         * inspector/front-end/CodeMirrorTextEditor.js:
977         (WebInspector.CodeMirrorTextEditor):
978         (WebInspector.CodeMirrorTextEditor.TokenHighlighter):
979         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
980         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._isWord):
981         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
982         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight.nextToken):
983         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
984         * inspector/front-end/cm/cmdevtools.css:
985         (.cm-token-highlight):
986
987 2013-03-11  Andrey Lushnikov  <lushnikov@chromium.org>
988
989         Web Inspector: [CodeMirror] set indentation size according to devtools settings
990         https://bugs.webkit.org/show_bug.cgi?id=111717
991
992         Reviewed by Pavel Feldman.
993
994         Set up codemirror indent size according to devtools settings.
995
996         No new tests.
997
998         * inspector/front-end/CodeMirrorTextEditor.js:
999         (.get if):
1000         (WebInspector.CodeMirrorTextEditor):
1001
1002 2013-03-11  Yury Semikhatsky  <yurys@chromium.org>
1003
1004         Web Inspector: add per image statistics to the native memory snapshot
1005         https://bugs.webkit.org/show_bug.cgi?id=112011
1006
1007         Reviewed by Pavel Feldman.
1008
1009         Added per-image statistics to the native memory distribution table.
1010
1011         * inspector/front-end/HeapSnapshotProxy.js:
1012         (WebInspector.HeapSnapshotWorker):
1013         (WebInspector.HeapSnapshotWorker.prototype.createLoader):
1014         (WebInspector.HeapSnapshotWorker.prototype.wrapCallback):
1015         (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
1016         (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod): the method now accepts
1017         proxy constructor function instead of its name. This eliminates unnecessary function lookup.
1018         (WebInspector.HeapSnapshotLoaderProxy):
1019         (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
1020         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
1021         (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
1022         (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
1023         (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
1024         (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
1025         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
1026         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
1027         (WebInspector.NativeHeapSnapshotProxy):
1028         (WebInspector.NativeHeapSnapshotProxy.prototype.images):
1029         * inspector/front-end/HeapSnapshotView.js:
1030         (WebInspector.HeapProfileHeader.prototype.snapshotProxyConstructor):
1031         (WebInspector.HeapProfileHeader.prototype._setupWorker):
1032         * inspector/front-end/NativeHeapSnapshot.js:
1033         (WebInspector.NativeHeapSnapshot.prototype.images):
1034         * inspector/front-end/NativeMemorySnapshotView.js:
1035         (WebInspector.NativeSnapshotNode):
1036         (WebInspector.NativeSnapshotNode.prototype._createSizeCell):
1037         (WebInspector.NativeSnapshotNode.prototype._populate):
1038         (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph):
1039         (WebInspector.NativeSnapshotNode.prototype._addImageDetails.didLoad.didReceiveImages):
1040         (WebInspector.NativeSnapshotNode.prototype._addImageDetails):
1041         (WebInspector.NativeSnapshotProfileHeader.prototype.snapshotProxyConstructor):
1042
1043 2013-03-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1044
1045         [Qt] Enable tiled shadow blur for inset box shadows
1046         https://bugs.webkit.org/show_bug.cgi?id=111736
1047
1048         Reviewed by Noam Rosenthal.
1049
1050         Paint inset box-shadows using the optimized tiled shadow blur, instead of
1051         applying shadow blur to the entire painted rect.
1052
1053         This optimizes the default CSS on common pastebin sites.
1054
1055         Tested by existing tests.
1056
1057         * platform/graphics/GraphicsContext.cpp:
1058         * platform/graphics/ShadowBlur.cpp:
1059         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1060             Must set fill color before calling clearShadow, as that might clear m_color.
1061         (WebCore::ShadowBlur::drawLayerPieces):
1062             Ditto.
1063         * platform/graphics/qt/GraphicsContextQt.cpp:
1064         (WebCore::GraphicsContext::fillPath):
1065         (WebCore::GraphicsContext::fillRectWithRoundedHole):
1066
1067 2013-03-11  Alberto Garcia  <agarcia@igalia.com>
1068
1069         [BlackBerry] GraphicsLayer: rename notifySyncRequired to notifyFlushRequired
1070         https://bugs.webkit.org/show_bug.cgi?id=111997
1071
1072         Reviewed by Rob Buis.
1073
1074         This changed in r130439 but the old name was introduced again by
1075         mistake in r144465.
1076
1077         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
1078         (WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
1079         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1080         (WebCore::LayerWebKitThread::setNeedsCommit):
1081
1082 2013-03-11  Kent Tamura  <tkent@chromium.org>
1083
1084         Inappropriate validation message for required number/date input elements
1085         https://bugs.webkit.org/show_bug.cgi?id=111982
1086
1087         Reviewed by Kentaro Hara.
1088
1089         For validation message, badInput messages should take precedence
1090         over valueMissing messages because users already filled out the
1091         field with a bad value.
1092
1093         Tests: Update fast/forms/validationMessage.html
1094
1095         * html/InputType.cpp:
1096         (WebCore::InputType::validationMessage):
1097         Check badInput first.
1098
1099 2013-03-11  Yury Semikhatsky  <yurys@chromium.org>
1100
1101         Web Inspector: extract common parts of native profiles
1102         https://bugs.webkit.org/show_bug.cgi?id=111965
1103
1104         Reviewed by Alexander Pavlov.
1105
1106         Extracted common parts of native profiles into NativeProfileTypeBase. Memory
1107         domain dispatcher is now a separate class as it is shared by two native memory
1108         profile types.
1109
1110         Both native memory profile types now capture native heap graph.
1111
1112         * inspector/front-end/NativeMemorySnapshotView.js:
1113         (WebInspector.MemoryAgentDispatcher.instance):
1114         (WebInspector.NativeProfileTypeBase.prototype.buttonClicked.didReceiveMemorySnapshot):
1115         (WebInspector.NativeProfileTypeBase.prototype.buttonClicked):
1116         (WebInspector.NativeSnapshotProfileType):
1117         (WebInspector.NativeSnapshotProfileHeader.prototype._didReceiveMemorySnapshot):
1118         (WebInspector.NativeMemoryProfileType):
1119         (WebInspector.NativeMemoryProfileHeader.prototype._updateSnapshotStatus):
1120         (WebInspector.NativeMemoryProfileHeader.prototype._didReceiveMemorySnapshot):
1121
1122 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1123
1124         Unreviewed, rolling out r145349.
1125         http://trac.webkit.org/changeset/145349
1126         https://bugs.webkit.org/show_bug.cgi?id=111966
1127
1128         Missing code history of Element,PageRuleCollector. (Requested
1129         by tasak on #webkit).
1130
1131         * CMakeLists.txt:
1132         * GNUmakefile.list.am:
1133         * Target.pri:
1134         * WebCore.gypi:
1135         * WebCore.xcodeproj/project.pbxproj:
1136         * css/CSSAllInOne.cpp:
1137         * css/DocumentRuleSets.cpp:
1138         (WebCore::ShadowDistributedRules::collectMatchRequests):
1139         * css/DocumentRuleSets.h:
1140         * css/ElementRuleCollector.cpp: Removed.
1141         * css/ElementRuleCollector.h: Removed.
1142         * css/PageRuleCollector.cpp: Removed.
1143         * css/PageRuleCollector.h: Removed.
1144         * css/StyleResolver.cpp:
1145         (WebCore::leftToRightDeclaration):
1146         (WebCore):
1147         (WebCore::rightToLeftDeclaration):
1148         (WebCore::StyleResolver::State::ensureRuleList):
1149         (WebCore::StyleResolver::State::clear):
1150         (WebCore::StyleResolver::addMatchedProperties):
1151         (WebCore::StyleResolver::addElementStyleProperties):
1152         (MatchingUARulesScope):
1153         (WebCore::MatchingUARulesScope::MatchingUARulesScope):
1154         (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
1155         (WebCore::MatchingUARulesScope::isMatchingUARules):
1156         (WebCore::StyleResolver::collectMatchingRules):
1157         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1158         (WebCore::StyleResolver::sortAndTransferMatchedRules):
1159         (WebCore::StyleResolver::matchScopedAuthorRules):
1160         (WebCore::StyleResolver::matchHostRules):
1161         (WebCore::StyleResolver::matchAuthorRules):
1162         (WebCore::StyleResolver::matchUserRules):
1163         (WebCore::StyleResolver::matchUARules):
1164         (WebCore::StyleResolver::collectMatchingRulesForList):
1165         (WebCore::compareRules):
1166         (WebCore::StyleResolver::sortMatchedRules):
1167         (WebCore::StyleResolver::matchAllRules):
1168         (WebCore::StyleResolver::State::initForStyleResolve):
1169         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1170         (WebCore::StyleResolver::styleForElement):
1171         (WebCore::StyleResolver::styleForKeyframe):
1172         (WebCore::StyleResolver::pseudoStyleForElement):
1173         (WebCore::StyleResolver::styleForPage):
1174         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1175         (WebCore::StyleResolver::ruleMatches):
1176         (WebCore::StyleResolver::checkRegionSelector):
1177         (WebCore::comparePageRules):
1178         (WebCore::StyleResolver::matchPageRules):
1179         (WebCore::checkPageSelectorComponents):
1180         (WebCore::StyleResolver::matchPageRulesForList):
1181         (WebCore::StyleResolver::isLeftPage):
1182         (WebCore::StyleResolver::isFirstPage):
1183         (WebCore::StyleResolver::pageName):
1184         * css/StyleResolver.h:
1185         (WebCore::MatchRequest::MatchRequest):
1186         (MatchRequest):
1187         (StyleResolver):
1188         (MatchResult):
1189         (WebCore::StyleResolver::State::State):
1190         (State):
1191         (WebCore::StyleResolver::State::takeRuleList):
1192         (WebCore::StyleResolver::State::setSameOriginOnly):
1193         (WebCore::StyleResolver::State::isSameOriginOnly):
1194         (WebCore::StyleResolver::State::pseudoStyleRequest):
1195         (WebCore::StyleResolver::State::setMode):
1196         (WebCore::StyleResolver::State::mode):
1197         (WebCore::StyleResolver::State::matchedRules):
1198         (WebCore::StyleResolver::State::addMatchedRule):
1199         * inspector/InspectorCSSAgent.cpp:
1200         (WebCore::InspectorCSSAgent::willMatchRule):
1201         * inspector/InspectorCSSAgent.h:
1202         (WebCore):
1203         (InspectorCSSAgent):
1204         * inspector/InspectorInstrumentation.cpp:
1205         (WebCore):
1206         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1207         * inspector/InspectorInstrumentation.h:
1208         (WebCore):
1209         (InspectorInstrumentation):
1210         (WebCore::InspectorInstrumentation::willMatchRule):
1211
1212 2013-03-11  Marja Hölttä  <marja@chromium.org>
1213
1214         [V8] Fix V8InjectedScriptManager
1215         https://bugs.webkit.org/show_bug.cgi?id=111968
1216
1217         Reviewed by Kentaro Hara.
1218
1219         This is needed to make the inspector work after templates for main world
1220         and non-main worlds are separated (bug 111724).
1221
1222         No new tests (no changes in functionality).
1223
1224         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1225         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1226
1227 2013-03-11  Hayato Ito  <hayato@chromium.org>
1228
1229         Make sure that CSSSelector::setValue() is never called after parsing its pseudoType.
1230         https://bugs.webkit.org/show_bug.cgi?id=111957
1231
1232         Reviewed by Hajime Morrita.
1233
1234         It'd be nice to have an assertion here since
1235         CSSSelector::pseudoType() will never parse a new value after it
1236         parses a value and m_pseudoType is set to non-PseudoNotParsed.
1237
1238         No new tests (no change in behaviour).
1239
1240         * css/CSSSelector.h:
1241         (WebCore::CSSSelector::setValue):
1242
1243 2013-03-11  Takashi Sakamoto  <tasak@google.com>
1244
1245         [Refactoring] Implement RuleCollector
1246         https://bugs.webkit.org/show_bug.cgi?id=109916
1247
1248         Reviewed by Antti Koivisto.
1249
1250         Implemented rule collector for an element and collector for a page.
1251         Not all members in class State are required entire while resolving
1252         a style.
1253
1254         No new tests, because just refactoring.
1255
1256         * CMakeLists.txt:
1257         * GNUmakefile.list.am:
1258         * Target.pri:
1259         * WebCore.gypi:
1260         * WebCore.xcodeproj/project.pbxproj:
1261         * css/CSSAllInOne.cpp:
1262         Added ElementRuleCollector and PageRuleCollector.
1263         * css/DocumentRuleSets.cpp:
1264         (WebCore::ShadowDistributedRules::collectMatchRequests):
1265         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
1266         removed from here.
1267         * css/DocumentRuleSets.h:
1268         (WebCore::ShadowDistributedRules::isEmpty):
1269         Added to quickly check whether there exist any ShadowDistributedRules
1270         or not.
1271         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1272         (WebCore):
1273         (WebCore::ElementRuleCollector::matchedResult):
1274         (WebCore::ElementRuleCollector::matchedRuleList):
1275         (WebCore::ElementRuleCollector::addMatchedRule):
1276         (WebCore::ElementRuleCollector::clearMatchedRules):
1277         (WebCore::ElementRuleCollector::ensureRuleList):
1278         (WebCore::ElementRuleCollector::addElementStyleProperties):
1279         (WebCore::ElementRuleCollector::collectMatchingRules):
1280         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1281         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
1282         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1283         (WebCore::ElementRuleCollector::matchHostRules):
1284         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
1285         (WebCore::ElementRuleCollector::matchAuthorRules):
1286         (WebCore::ElementRuleCollector::matchUserRules):
1287         (WebCore::ElementRuleCollector::matchUARules):
1288         (WebCore::ElementRuleCollector::ruleMatches):
1289         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1290         (WebCore::ElementRuleCollector::sortMatchedRules):
1291         (WebCore::ElementRuleCollector::matchAllRules):
1292         Moved these methods from StyleResolver to this class.
1293         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
1294         This method is used for checking whether a given element can share
1295         a cache.
1296         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1297         (WebCore):
1298         (WebCore::ElementRuleCollector::ElementRuleCollector):
1299         Use styleResolver instance to initialize its member variables, i.e.
1300         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
1301         StyleScopedResolver.
1302         (ElementRuleCollector):
1303         (WebCore::ElementRuleCollector::setMode):
1304         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
1305         (WebCore::ElementRuleCollector::setSameOriginOnly):
1306         (WebCore::ElementRuleCollector::setRegionForStyling):
1307         Mode, SameOriginOnly, RegionForStyling are only used while collecting
1308         matched rules.
1309         (WebCore::ElementRuleCollector::setMedium):
1310         Need to know which default stylesheet should be looked up.
1311         (WebCore::ElementRuleCollector::document):
1312         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1313         (WebCore::comparePageRules):
1314         (WebCore::PageRuleCollector::isLeftPage):
1315         (WebCore::PageRuleCollector::isFirstPage):
1316         (WebCore::PageRuleCollector::pageName):
1317         (WebCore::PageRuleCollector::matchAllPageRules):
1318         (WebCore::PageRuleCollector::matchPageRules):
1319         (WebCore::checkPageSelectorComponents):
1320         (WebCore::PageRuleCollector::matchPageRulesForList):
1321         Moved from StyleResolver.
1322         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1323         (WebCore):
1324         (WebCore::PageRuleCollector::PageRuleCollector):
1325         (PageRuleCollector):
1326         (WebCore::PageRuleCollector::matchedResult):
1327         * css/StyleResolver.cpp:
1328         (WebCore):
1329         (WebCore::StyleResolver::State::clear):
1330         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1331         (WebCore::StyleResolver::State::initForStyleResolve):
1332         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1333         (WebCore::StyleResolver::styleForElement):
1334         (WebCore::StyleResolver::styleForKeyframe):
1335         (WebCore::StyleResolver::pseudoStyleForElement):
1336         (WebCore::StyleResolver::styleForPage):
1337         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1338         (WebCore::StyleResolver::applyMatchedProperties):
1339         * css/StyleResolver.h:
1340         (WebCore::MatchRequest::MatchRequest):
1341         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
1342         state.
1343         (MatchRequest):
1344         (WebCore::StyleResolver::selectorFilter):
1345         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
1346         (StyleResolver):
1347         (MatchResult):
1348         (WebCore::StyleResolver::State::State):
1349         To pass ASSERT in StyleResolver::applyProperties, need to keep
1350         m_regionForStyling.
1351         (State):
1352         (WebCore::StyleResolver::State::regionForStyling):
1353         (WebCore::StyleResolver::State::useSVGZoomRules):
1354         (WebCore::StyleResolver::hasSelectorForId):
1355         (WebCore):
1356         (WebCore::checkRegionSelector):
1357         * inspector/InspectorCSSAgent.cpp:
1358         (WebCore::InspectorCSSAgent::willMatchRule):
1359         Removed StyleResolver from its parameter list. Instead, added
1360         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
1361         * inspector/InspectorCSSAgent.h:
1362         (WebCore):
1363         (InspectorCSSAgent):
1364         * inspector/InspectorInstrumentation.cpp:
1365         (WebCore):
1366         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1367         * inspector/InspectorInstrumentation.h:
1368         (WebCore):
1369         (InspectorInstrumentation):
1370         (WebCore::InspectorInstrumentation::willMatchRule):
1371
1372 2013-03-11  Mike West  <mkwst@chromium.org>
1373
1374         XSSAuditor doesn't need a copy of the original document's body.
1375         https://bugs.webkit.org/show_bug.cgi?id=111946
1376
1377         Reviewed by Darin Adler.
1378
1379         The XSSAuditor currently copies the original HTTP body of the document
1380         that's being audited in order to include it into a violation report if
1381         reflected XSS is detected. We don't actually need to do this, as we
1382         have access to the original request information from inside the
1383         XSSAuditorDelegate where the report is generated.
1384         XSSAuditorDelegate::didBlockScript ASSERTs that it's running on the
1385         main thread, so it should be safe to reach through the document's
1386         loader to get that information directly, rather than passing it from
1387         thread to thread via XSSInfo object properties.
1388
1389         * html/parser/XSSAuditor.h:
1390         * html/parser/XSSAuditor.cpp:
1391         (WebCore::XSSAuditor::init):
1392         (WebCore::XSSAuditor::filterToken):
1393         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
1394         * html/parser/XSSAuditorDelegate.h:
1395         (WebCore::XSSInfo::create):
1396         (WebCore::XSSInfo::XSSInfo):
1397         * html/parser/XSSAuditorDelegate.cpp:
1398         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
1399             Drop the XSSInfo and XSSAuditor properties that held an
1400             isolatedCopy of the the original HTTP body. Depending on the
1401             document's size, this could be a significant savings.
1402         (WebCore::XSSAuditorDelegate::didBlockScript):
1403             Reach into the document's loader's original request in order to
1404             grab the body as a String, and feed that into the violation report
1405             object.
1406
1407             As a drive-by, this patch creates a FrameLoader* temporary
1408             variable to minimize repetition in this area of the code. We use
1409             the loader a few times, but should only have to grab it once.
1410
1411 2013-03-11  Silvia Pfeiffer  <silviapf@chromium.org>
1412
1413         [Chromium] REGRESSION: Closed Captions button not showing properly
1414         https://bugs.webkit.org/show_bug.cgi?id=109871
1415
1416         Reviewed by Jer Noble.
1417
1418         No new tests - covered by existing tests.
1419
1420         Most of the patch was in the meantime covered by a patch to
1421         https://bugs.webkit.org/show_bug.cgi?id=111109 .
1422         This changes a static Chromium-only function name to be consistent with
1423         parent class function names.
1424
1425         * rendering/RenderMediaControlsChromium.cpp:
1426         (WebCore::paintMediaToggleClosedCaptionsButton):
1427         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
1428         Rename paintMediaClosedCaptionsButton to paintMediaToggleClosedCaptionsButton.
1429
1430 2013-03-11  Tim Horton  <timothy_horton@apple.com>
1431
1432         RenderSnapshottedPlugIn paints in PaintPhaseBlockBackground instead of PaintPhaseForeground
1433         https://bugs.webkit.org/show_bug.cgi?id=111962
1434         <rdar://problem/13289335>
1435
1436         Reviewed by Dean Jackson.
1437
1438         RenderSnapshottedPlugIn should paint its snapshot during the foreground
1439         painting phase, instead of BlockBackground, to match normal plugin painting.
1440
1441         * rendering/RenderSnapshottedPlugIn.cpp:
1442         (WebCore::RenderSnapshottedPlugIn::paint):
1443
1444 2013-03-07  Alexander Pavlov  <apavlov@chromium.org>
1445
1446         Web Inspector: [Elements] XSLT transformation result from the xml-stylesheet PI not rendered
1447         https://bugs.webkit.org/show_bug.cgi?id=111313
1448
1449         Reviewed by Vsevolod Vlasov.
1450
1451         Frame document update upon XSL transformation was never instrumented.
1452         This change instruments the Document::applyXSLTransform() method to that end.
1453
1454         Test: http/tests/inspector/styles/xsl-transformed.xml
1455
1456         * dom/Document.cpp:
1457         (WebCore::Document::applyXSLTransform): Instrumented.
1458         * inspector/InspectorDOMAgent.cpp:
1459         (WebCore::InspectorDOMAgent::frameDocumentUpdated): Invoked upon applyXSLTransform().
1460         * inspector/InspectorDOMAgent.h:
1461         * inspector/InspectorInstrumentation.cpp:
1462         (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl): Added.
1463         * inspector/InspectorInstrumentation.h:
1464         (WebCore::InspectorInstrumentation::didCommitLoad): Drive-by: simplified.
1465         (WebCore::InspectorInstrumentation::frameDocumentUpdated): Added.
1466
1467 2013-03-10  Matt Falkenhagen  <falken@chromium.org>
1468
1469         Implement inert subtrees needed for modal <dialog>
1470         https://bugs.webkit.org/show_bug.cgi?id=110952
1471
1472         Reviewed by Hajime Morrita.
1473
1474         This changes Node::disabled() to return true when a modal dialog is
1475         open and the node is not in the dialog.
1476
1477         Reusing disabled for inertness is useful because then event
1478         targeting and focus control automatically have the desired behavior:
1479         inert nodes are skipped over.
1480
1481         Tests: fast/dom/HTMLDialogElement/closed-dialog-does-not-block-mouse-events.html
1482                fast/dom/HTMLDialogElement/modal-dialog-blocks-mouse-events.html
1483                fast/dom/HTMLDialogElement/non-modal-dialog-does-not-block-mouse-events.html
1484
1485         * dom/Document.h:
1486         (WebCore::Document::activeModalDialog): Returns the topmost element in the top layer.
1487         Since now the only elements in the top layer are modal dialogs, it is the active modal dialog.
1488         * dom/Node.cpp:
1489         (WebCore):
1490         (WebCore::Node::isInert): As per the spec, a node that is not an ancestor or descendant of the modal dialog is inert.
1491         (WebCore::Node::disabled): Return false when inert.
1492         * dom/Node.h:
1493         * html/HTMLFormControlElement.cpp:
1494         (WebCore::HTMLFormControlElement::disabled): Fall back to the superclass so inert is taken into account.
1495
1496 2013-03-10  Glenn Adams  <glenn@skynav.com>
1497
1498         Line breaking opportunities at the end of a text node are missed
1499         https://bugs.webkit.org/show_bug.cgi?id=17427
1500
1501         Reviewed by Darin Adler.
1502
1503         When initializing context for determining next break position,
1504         reuse last two characters from previous text node(s) within block.
1505         This additional state is stored in the current LazyLineBreakIterator
1506         as an optimization to prevent having to add two new parameters to
1507         isBreakable().
1508
1509         At present, this fixes only the ASCII shortcut code path, but
1510         does not yet handle the non-ASCII path. Since the ASCII path is
1511         the most performant critical, the handling of this latter path
1512         will be addressed by webkit.org/b/105692.
1513
1514         Additionally test for case where last two characters context
1515         is derived from distinct nodes, possibly with intervening empty
1516         inline node(s).
1517
1518         Test: fast/text/line-break-between-text-nodes.html
1519
1520         * platform/text/TextBreakIterator.h:
1521         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
1522         (WebCore::LazyLineBreakIterator::lastCharacter):
1523         (WebCore::LazyLineBreakIterator::secondToLastCharacter):
1524         (WebCore::LazyLineBreakIterator::setLastTwoCharacters):
1525         (WebCore::LazyLineBreakIterator::resetLastTwoCharacters):
1526         (WebCore::LazyLineBreakIterator::updateLastTwoCharacters):
1527         (LazyLineBreakIterator):
1528         Add state variables to retain last two characters of previous text node(s)
1529         for reuse when initializing nextBreakPosition<>() context.
1530         * rendering/RenderBlockLineLayout.cpp:
1531         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1532         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1533         Record and reset retained last two characters of previous text node(s) as
1534         appropriate.
1535         * rendering/break_lines.cpp:
1536         (WebCore::nextBreakablePosition):
1537         Use state variables holding retained last two characters of previous text node(s)
1538         for when initializing nextBreakPosition<>() context.
1539
1540 2013-03-10  Darin Adler  <darin@apple.com>
1541
1542         NetworkStorageSession leaks its CFURLStorageSessionRef
1543         https://bugs.webkit.org/show_bug.cgi?id=111950
1544         <rdar://problem/13384134>
1545
1546         Reviewed by Sam Weinig.
1547
1548         * platform/network/NetworkStorageSession.h:
1549         Change the argument type of the constructor to a RetainPtr.
1550         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1551         (WebCore::NetworkStorageSession::NetworkStorageSession): Changed
1552         the argument type to a RetainPtr.
1553         (WebCore::NetworkStorageSession::switchToNewTestingSession): Added
1554         calls to adoptCF to adopt the value returned by wkCreatePrivateStorageSession.
1555         (WebCore::NetworkStorageSession::createPrivateBrowsingSession): Ditto.
1556         (WebCore::NetworkStorageSession::cookieStorage): Changed to use adoptCF
1557         instead of the RetainPtr constructor with AdoptCF since the former is
1558         far easier to read.
1559
1560 2013-03-10  Jason Anderssen  <janderssen@gmail.com>
1561
1562         Conformance Test 1.0.3 (Beta) function: bufferData undefined value failed.
1563         https://bugs.webkit.org/show_bug.cgi?id=111641
1564
1565         Reviewed by Dean Jackson.
1566
1567         The WebGL specification requires that a size of 0 is not valid. In javascript, passing in undefined 
1568         as a parameter to a long long is the same as passing in 0, so we must check for this incorrect
1569         value and fail. 
1570         The test suite in Kronos 1.0.3 failed, test to verify conformance is as follows:
1571         https://www.khronos.org/registry/webgl/sdk/tests/conformance/more/functions/bufferDataBadArgs.html.
1572
1573         * html/canvas/WebGLRenderingContext.cpp:
1574         (WebCore::WebGLRenderingContext::bufferData):
1575         Synthesize error and returned if size is 0.
1576
1577 2013-03-10  Andreas Kling  <akling@apple.com>
1578
1579         SVGDocumentExtensions should use OwnPtr for pending resource maps.
1580         <http://webkit.org/b/111943>
1581
1582         Reviewed by Anders Carlsson.
1583
1584         * svg/SVGDocumentExtensions.cpp:
1585         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
1586         (WebCore::SVGDocumentExtensions::addPendingResource):
1587         (WebCore::SVGDocumentExtensions::isElementPendingResources):
1588         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
1589         (WebCore::SVGDocumentExtensions::removePendingResource):
1590         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
1591         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
1592         * svg/SVGDocumentExtensions.h:
1593         (SVGDocumentExtensions):
1594
1595 2013-03-10  Tim Horton  <timothy_horton@apple.com>
1596
1597         Add a heuristic to determine the “primary” snapshotted plugin
1598         https://bugs.webkit.org/show_bug.cgi?id=111932
1599         <rdar://problem/13270208>
1600
1601         Reviewed by Dean Jackson.
1602
1603         * WebCore.exp.in: Export a few things.
1604         * html/HTMLPlugInImageElement.cpp:
1605         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1606         (WebCore::classNameForShadowRoot): If we've been informed that we are the primary snapshotted plugin, add the 'primary' class.
1607         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Added
1608         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Hand classNameForShadowRoot our primary-ness.
1609         * html/HTMLPlugInImageElement.h:
1610         (HTMLPlugInImageElement): Add storage for m_isPrimarySnapshottedPlugIn.
1611
1612 2013-03-10  Mike West  <mkwst@chromium.org>
1613
1614         XSSAuditor doesn't need a copy of the original document URL.
1615         https://bugs.webkit.org/show_bug.cgi?id=111944
1616
1617         Reviewed by Adam Barth.
1618
1619         When creating an XSSInfo object in response to detecting reflected XSS
1620         on a page, the Auditor was passing in a copy of the document's
1621         original URL for reporting. It doesn't look like we need this, as
1622         XSSInfo's only consumer, XSSAuditorDelegate, runs on the main thread
1623         with access to the document. We can obtain access to the same
1624         information by reading the URL directly from the delegate's Document
1625         object if and when we need it.
1626
1627         * html/parser/XSSAuditorDelegate.cpp:
1628         (WebCore::XSSAuditorDelegate::didBlockScript):
1629             Read the document's URL directly in order to create a violation
1630             report.
1631         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
1632         * html/parser/XSSAuditorDelegate.h:
1633         (WebCore::XSSInfo::create):
1634         (WebCore::XSSInfo::XSSInfo):
1635         * html/parser/XSSAuditor.cpp:
1636         (WebCore::XSSAuditor::init):
1637         (WebCore::XSSAuditor::filterToken):
1638         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
1639         * html/parser/XSSAuditor.h:
1640             Remove the copied original URL from both XSSInfo objects and the
1641             XSSAuditor.
1642
1643 2013-03-10  Andreas Kling  <akling@apple.com>
1644
1645         GlyphMetricsMap should use OwnPtr.
1646         <http://webkit.org/b/111937>
1647
1648         Reviewed by Anders Carlsson.
1649
1650         Use OwnPtr instead of raw pointer + deleteAllValues().
1651
1652         * platform/graphics/GlyphMetricsMap.h:
1653         (GlyphMetricsMap):
1654         (WebCore::::locatePageSlowCase):
1655
1656 2013-03-10  Eric Carlson  <eric.carlson@apple.com>
1657
1658         Allow iOS port to use InbandTextTrackPrivateAVF
1659         https://bugs.webkit.org/show_bug.cgi?id=111933
1660
1661         Reviewed by Dean Jackson.
1662
1663         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1664         (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by cleanup.
1665         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1666
1667 2013-03-09  Eric Carlson  <eric.carlson@apple.com>
1668
1669         Enable platform code to implement text track menu
1670         https://bugs.webkit.org/show_bug.cgi?id=111924
1671
1672         Reviewed by Dean Jackson.
1673
1674         No new tests, the new code isn't enabled in any ports yet.
1675
1676         * WebCore.xcodeproj/project.pbxproj: Add PlatformTextTrack.h and PlatformTextTrackMenu.h.
1677
1678         * html/HTMLAudioElement.cpp:
1679         (WebCore::HTMLAudioElement::createForJSConstructor): scheduleLoad -> scheduleDelayedAction.
1680
1681         * html/HTMLMediaElement.cpp:
1682         (WebCore::HTMLMediaElement::HTMLMediaElement): Deal with scheduleLoad to scheduleDelayedAction rename.
1683         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
1684         (WebCore::HTMLMediaElement::finishParsingChildren): Ditto.
1685         (WebCore::HTMLMediaElement::insertedInto): Ditto.
1686         (WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
1687         (WebCore::HTMLMediaElement::scheduleNextSourceChild): Ditto.
1688         (WebCore::HTMLMediaElement::loadTimerFired): Ditto.
1689         (WebCore::HTMLMediaElement::textTrackModeChanged): Notify platform menu of track change.
1690         (WebCore::HTMLMediaElement::playInternal): Deal with scheduleLoad to scheduleDelayedAction rename.
1691         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
1692         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): Ditto. Call addTrack() instead of appending 
1693             the track directly.
1694         (WebCore::HTMLMediaElement::setSelectedTextTrack): Deal with platform menu changing the
1695             selected track.
1696         (WebCore::HTMLMediaElement::platformTextTracks): Return an array of PlatformTracks representing
1697             the current text tracks.
1698         (WebCore::HTMLMediaElement::notifyMediaPlayerOfTextTrackChanges): Notify the platform menu
1699             that the list of text tracks has changed.
1700         (WebCore::HTMLMediaElement::platformTextTrackMenu): Return the platform track menu, if any.
1701         (WebCore::HTMLMediaElement::closeCaptionTracksChanged): 
1702         (WebCore::HTMLMediaElement::addTrack): Call addTrack() instead of appending the track directly.
1703         (WebCore::HTMLMediaElement::removeTrack): Call closeCaptionTracksChanged.
1704         (WebCore::HTMLMediaElement::addTextTrack): Call addTrack() instead of appending the track directly.
1705         (WebCore::HTMLMediaElement::didAddTrack): Ditto.
1706         (WebCore::HTMLMediaElement::didRemoveTrack): Deal with scheduleLoad to scheduleDelayedAction rename.
1707         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
1708         (WebCore::HTMLMediaElement::clearMediaPlayer): Forget the platform track menu.
1709         (WebCore::HTMLMediaElement::resume): Deal with scheduleLoad to scheduleDelayedAction rename.
1710         * html/HTMLMediaElement.h:
1711
1712         * html/track/InbandTextTrack.h: scheduleLoad -> scheduleDelayedAction.
1713
1714         * html/track/TextTrack.cpp:
1715         (WebCore::TextTrack::platformTextTrack): Create a PlatformTextTrack.
1716         * html/track/TextTrack.h:
1717
1718         * platform/graphics/MediaPlayer.cpp:
1719         (WebCore::MediaPlayer::implementsTextTrackControls): New, player private passthrough.
1720         (WebCore::MediaPlayer::textTrackMenu): Ditto.
1721         * platform/graphics/MediaPlayer.h:
1722         * platform/graphics/MediaPlayerPrivate.h:
1723
1724         * platform/graphics/PlatformTextTrack.h: Added.
1725
1726         * platform/graphics/PlatformTextTrackMenu.h: Added.
1727
1728 2013-03-09  Eric Carlson  <eric.carlson@apple.com>
1729
1730         Video size calculated incorrectly when PLUGIN_PROXY_FOR_VIDEO
1731         https://bugs.webkit.org/show_bug.cgi?id=111912
1732
1733         Reviewed by Dean Jackson.
1734
1735         * html/shadow/MediaControlElements.cpp:
1736         (WebCore::MediaControlTextTrackContainerElement::updateSizes): We use RenderPart when
1737             PLUGIN_PROXY_FOR_VIDEO is defined, not RenderVideo.
1738
1739 2013-03-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1740
1741         Fix offset handling in GStreamer WebKitWebSource.
1742         https://bugs.webkit.org/show_bug.cgi?id=111888
1743
1744         Reviewed by Philippe Normand.
1745
1746         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1747         (webKitWebSrcSeekDataCb):
1748         (StreamingClient::didReceiveData):
1749         The offset handling in WebKitWebSource was completely wrong
1750         before and caused wrong offsets to be set on the GStreamer buffers
1751         after a seek.
1752
1753         Apart from that there was also a race condition that happens
1754         when a downstream element causes seeks in very short succession
1755         and is switching between two different parts of the stream.
1756
1757 2013-03-09  Keishi Hattori  <keishi@webkit.org>
1758
1759         Month transition animation is missing in some places
1760         https://bugs.webkit.org/show_bug.cgi?id=111908
1761
1762         Reviewed by Kent Tamura.
1763
1764         Month transition animation was missing when navigating using keyboard
1765         shortcuts and when navigation was trigger by selecting.
1766
1767         Added tests to calendar-picker/*-picker-key-operations.html.
1768
1769         * Resources/pagepopups/calendarPicker.js:
1770         (Animator): Added annotations.
1771         (Animator.prototype.isRunning): Returns true of the animation is running. Used by test.
1772         (ScrollView.prototype.scrollAnimator): Returns the scroll animator. Used by test.
1773         (CalendarPicker):
1774         (CalendarPicker.prototype.onYearListViewDidSelectMonth): Use CalendarPicker.NavigationBehavior enum instead of bool.
1775         (CalendarPicker.prototype.setSelection): Ditto.
1776         (CalendarPicker.prototype._moveHighlight): Ditto.
1777         (CalendarPicker.prototype.onCalendarTableKeyDown): Ditto.
1778         (CalendarPicker.prototype.onBodyKeyDown): Ditto.
1779
1780 2013-03-09  Dean Jackson  <dino@apple.com>
1781
1782         Can't build w/o accelerated compositing
1783         https://bugs.webkit.org/show_bug.cgi?id=111891
1784
1785         Patch originally came from Tobias Mueller <tobiasmue@gnome.org>
1786
1787         Unreviewed build fix for platforms without ACCELERATED_COMPOSITING enabled, due
1788         to r145057.
1789
1790         * dom/PseudoElement.cpp:
1791         (WebCore::PseudoElement::~PseudoElement): Wrap the call to pseudoElementDestroyed in
1792             USE(ACCELERATED_COMPOSITING)
1793
1794 2013-03-07  Robert Hogan  <robert@webkit.org>
1795
1796         REGRESSION(r140907): Incorrect baseline for cells with media content during load
1797         https://bugs.webkit.org/show_bug.cgi?id=108357
1798
1799         Reviewed by Julien Chaffraix.
1800
1801         If a cell has replaced content, the intrinsic height of its content can change between layouts. If that's the case then the intrinsic padding we used
1802         for layout (the padding required to push the contents of the cell down to the row's baseline) is included in the new height and baseline and makes both
1803         of them wrong. So if a cell's content's intrinsic height has changed push the new content up into the intrinsic padding and relayout so that the rest of
1804         table and row layout can use the correct baseline and height for this cell.
1805
1806         Tests: fast/css/vertical-align-baseline-rowspan-012.html
1807                http/tests/css/vertical-align-baseline-after-image-load-2.html
1808                http/tests/css/vertical-align-baseline-after-image-load-3.html
1809                http/tests/css/vertical-align-baseline-after-image-load.html
1810
1811         * rendering/RenderTableCell.cpp:
1812         (WebCore::RenderTableCell::layout):
1813         * rendering/RenderTableCell.h:
1814         (WebCore::RenderTableCell::isBaselineAligned):
1815         * rendering/RenderTableSection.cpp:
1816         (WebCore::RenderTableSection::calcRowLogicalHeight):
1817         (WebCore::RenderTableSection::layoutRows):
1818
1819 2013-03-08  Chris Fleizach  <cfleizach@apple.com>
1820
1821         REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
1822         https://bugs.webkit.org/show_bug.cgi?id=111613
1823
1824         Reviewed by Ryosuke Niwa.
1825
1826         This crash happens when the mock synthesizer utterance variable gets cleared
1827         before the speakingFinished timer happens. I don't see how that could happen
1828         but I was able to make a similar problem happen when cancel is called twice.
1829
1830         This adds in a few more asserts and common sense checks. I'm hoping it will
1831         illuminate the problem further.
1832
1833         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1834         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1835         (WebCore::PlatformSpeechSynthesizerMock::speak):
1836         (WebCore::PlatformSpeechSynthesizerMock::cancel):
1837
1838 2013-03-08  David Kilzer  <ddkilzer@apple.com>
1839
1840         BUILD FIX: Make WebCore link for iOS
1841
1842         * WebCore.exp.in:
1843         - Add ENABLE(RUBBER_BAND) for FrameView::setWantsLayerForTopOverHangArea(bool)
1844           and FrameView::setWantsLayerForBottomOverHangArea(bool).
1845         - Move FloatPoint::FloatPoint(_NSPoint const&) to !PLATFORM(IOS)
1846           section.
1847
1848 2013-03-08  Julien Chaffraix  <jchaffraix@webkit.org>
1849
1850         [CSS Grid Layout] Resolve grid-{end|after} integer against the end|after edge
1851         https://bugs.webkit.org/show_bug.cgi?id=111885
1852
1853         Reviewed by Tony Chang.
1854
1855         The current code resolves grid-end (resp. grid-after) <integer>'s format against the start
1856         (resp. before) axis. The specification changed so that they are resolved against their matching
1857         axis.
1858
1859         Test: fast/css-grid-layout/grid-auto-flow-resolution.html
1860
1861         * rendering/RenderGrid.cpp:
1862         (WebCore::RenderGrid::maximumIndexInDirection):
1863         Updated the code to do the grid sizing measurement without resolveGridPositionsFromStyle. That's required
1864         as resolveGridPositionsFromStyle requires the grid to be sized.
1865
1866         (WebCore::RenderGrid::placeItemsOnGrid):
1867         Added a comment about not recomputing after grid growth. This issue was raised to www-style
1868         (http://lists.w3.org/Archives/Public/www-style/2013Mar/0182.html).
1869
1870         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
1871         Added an ASSERT now that we don't call it during grid construction. Also added some code to pass
1872         the side of the GridPosition we give to resolveGridPositionFromStyle.
1873
1874         (WebCore::RenderGrid::resolveGridPositionFromStyle):
1875         Updated the code to resolve the grid position against the right side.
1876
1877         * rendering/RenderGrid.h:
1878         Added GridPositionSide and updated resolveGridPositionFromStyle's signature.
1879
1880 2013-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1881
1882         Unreviewed, rolling out r142015.
1883         http://trac.webkit.org/changeset/142015
1884         https://bugs.webkit.org/show_bug.cgi?id=111904
1885
1886         The change caused 2 major regressions (bug 111091 and bug
1887         111595) and Pravin doesn't have time to investigate them
1888         (Requested by jchaffraix on #webkit).
1889
1890         * dom/Node.cpp:
1891         (WebCore::Node::diff):
1892         * rendering/RenderBlock.cpp:
1893         (WebCore::RenderBlock::childBecameNonInline):
1894         (WebCore):
1895         * rendering/RenderBlock.h:
1896         (RenderBlock):
1897         * rendering/RenderBoxModelObject.h:
1898         (WebCore::RenderBoxModelObject::childBecameNonInline):
1899         (RenderBoxModelObject):
1900         * rendering/RenderInline.cpp:
1901         (WebCore::RenderInline::childBecameNonInline):
1902         (WebCore):
1903         * rendering/RenderInline.h:
1904         (RenderInline):
1905         * rendering/RenderObject.cpp:
1906         (WebCore):
1907         (WebCore::RenderObject::handleDynamicFloatPositionChange):
1908         (WebCore::RenderObject::styleWillChange):
1909         (WebCore::RenderObject::styleDidChange):
1910         * rendering/RenderObject.h:
1911         (RenderObject):
1912
1913 2013-03-08  Dean Jackson  <dino@apple.com>
1914
1915         Don't snapshot Java plugins
1916         https://bugs.webkit.org/show_bug.cgi?id=111899
1917
1918         Reviewed by Tim Horton.
1919
1920         Export MIMETypeRegistry::isJavaAppletMIMEType symbol.
1921
1922         * WebCore.exp.in:
1923
1924 2013-03-08  Rafael Weinstein  <rafaelw@chromium.org>
1925
1926         [HTMLTemplateElement] processTemplateEndTag() needs to check for template in html scope
1927         https://bugs.webkit.org/show_bug.cgi?id=111880
1928
1929         Reviewed by Eric Seidel.
1930
1931         Currently, </template> handling exits with an error if there is not a template tag "in scope"
1932         which will be true if there is a table (for instance) below a template. This makes it so that
1933         the search (correctly) examines the entire element stack.
1934
1935         Tests added to html5lib testing library.
1936
1937         * html/parser/HTMLTreeBuilder.cpp:
1938         (WebCore::HTMLTreeBuilder::processTemplateEndTag):
1939
1940 2013-03-08  Eric Seidel  <eric@webkit.org>
1941
1942         BackgroundHTMLParser should be able to atomize well-known strings
1943         https://bugs.webkit.org/show_bug.cgi?id=107337
1944
1945         Reviewed by Adam Barth.
1946
1947         Testing this patch easily requires applying bug 107236 locally
1948         to remove all the rendering noise from Parser/html-threaded-parser.html.
1949
1950         This patch adds a new class HTMLIdentifier which allows us to avoid
1951         allocating strings for known tag/attribute names from HTMLNames.
1952
1953         There is still a lot of meat on this bone, but I think it's important to
1954         land something "smallish" to start and iterate from there.
1955
1956         This took Parser/html-threaded-parser.html from:
1957         median= 443.726500002 ms, stdev= 7.25002679952 ms, min= 430.244000047 ms, max= 455.511000007 ms
1958         to:
1959         median= 427.849500004 ms, stdev= 9.96967058292 ms, min= 417.914000049 ms, max= 461.528000014 ms
1960         on my MBP.
1961
1962         * CMakeLists.txt:
1963         * GNUmakefile.list.am:
1964         * Target.pri:
1965         * WebCore.gypi:
1966         * WebCore.vcproj/WebCore.vcproj:
1967         * WebCore.vcxproj/WebCore.vcxproj:
1968         * html/parser/AtomicHTMLToken.h:
1969         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1970         * html/parser/BackgroundHTMLParser.cpp:
1971         (WebCore::tokenExitsForeignContent):
1972         (WebCore::tokenExitsSVG):
1973         (WebCore::tokenExitsMath):
1974         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
1975         * html/parser/CSSPreloadScanner.cpp:
1976         (WebCore::CSSPreloadScanner::scan):
1977         * html/parser/CSSPreloadScanner.h:
1978         (WebCore):
1979         (CSSPreloadScanner):
1980         * html/parser/CompactHTMLToken.cpp:
1981         (SameSizeAsCompactHTMLToken):
1982         (WebCore::CompactHTMLToken::CompactHTMLToken):
1983         * html/parser/CompactHTMLToken.h:
1984         (WebCore::CompactHTMLToken::Attribute::Attribute):
1985         (Attribute):
1986         (WebCore::CompactHTMLToken::data):
1987         (WebCore::CompactHTMLToken::publicIdentifier):
1988         (CompactHTMLToken):
1989         * html/parser/HTMLDocumentParser.cpp:
1990         (WebCore::HTMLDocumentParser::startBackgroundParser):
1991         * html/parser/HTMLIdentifier.cpp: Added.
1992         (WebCore):
1993         (WebCore::identifierTable):
1994         (WebCore::HTMLIdentifier::hasIndex):
1995         (WebCore::HTMLIdentifier::findIndex):
1996         (WebCore::nameForIndex):
1997         (WebCore::HTMLIdentifier::asString):
1998         (WebCore::HTMLIdentifier::asStringImpl):
1999         (WebCore::HTMLIdentifier::addNames):
2000         (WebCore::HTMLIdentifier::init):
2001         * html/parser/HTMLIdentifier.h: Added.
2002         (WebCore):
2003         (HTMLIdentifier):
2004         (WebCore::HTMLIdentifier::HTMLIdentifier):
2005         (WebCore::HTMLIdentifier::isSafeToSendToAnotherThread):
2006         * html/parser/HTMLParserIdioms.cpp:
2007         (WebCore::threadSafeEqual):
2008         (WebCore::threadSafeMatch):
2009         * html/parser/HTMLParserIdioms.h:
2010         (WebCore):
2011         (WebCore::threadSafeHTMLNamesMatch):
2012         * html/parser/HTMLPreloadScanner.cpp:
2013         (WebCore::TokenPreloadScanner::tagIdFor):
2014         (WebCore::TokenPreloadScanner::StartTagScanner::match):
2015         (TokenPreloadScanner::StartTagScanner):
2016         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
2017         * html/parser/HTMLPreloadScanner.h:
2018
2019 2013-03-08  Brandon Jones  <bajones@google.com>
2020
2021         Check to ensure MultisampleRenderbuffer creation succeeds
2022         https://bugs.webkit.org/show_bug.cgi?id=111780
2023
2024         Reviewed by Dean Jackson.
2025
2026         On OSX systems using AMD graphics chips the allocation of large
2027         Multisample Renderbuffers in Chromium would fail without any indication
2028         of failure. Attempting to draw to the buffer resulted in garbage being
2029         rendered onscreen. This could be reproduced by opening a full-page
2030         WebGL app and pressing (Command + "-") several times. This patch adds an
2031         additional check during DrawingBuffer resize to verify that the resized
2032         buffer is valid. 
2033
2034         * platform/graphics/gpu/DrawingBuffer.cpp:
2035         (WebCore):
2036         (WebCore::DrawingBuffer::checkBufferIntegrity):
2037         (WebCore::DrawingBuffer::reset):
2038         * platform/graphics/gpu/DrawingBuffer.h:
2039         (DrawingBuffer):
2040
2041 2013-03-08  Harald Alvestrand  <hta@chromium.org>
2042
2043         Implemented new API for RTCStatsReport object.
2044         https://bugs.webkit.org/show_bug.cgi?id=110333
2045
2046         Removed RTCStatsElement object, moved its interface to
2047         RTCStatsReport. Preserved some interfaces for
2048         backwards compatibility; will be removed in a later patch.
2049
2050         Reviewed by Adam Barth.
2051
2052         Tested by extensions to RTCPeerConnection-stats test.
2053
2054         * Modules/mediastream/RTCStatsElement.cpp: Removed.
2055         * Modules/mediastream/RTCStatsElement.h: Removed.
2056         * Modules/mediastream/RTCStatsElement.idl: Removed.
2057         * Modules/mediastream/RTCStatsReport.cpp:
2058         (WebCore::RTCStatsReport::create):
2059         (WebCore::RTCStatsReport::RTCStatsReport):
2060         (WebCore):
2061         (WebCore::RTCStatsReport::names):
2062         (WebCore::RTCStatsReport::local):
2063         (WebCore::RTCStatsReport::remote):
2064         (WebCore::RTCStatsReport::addStatistic):
2065         (WebCore::RTCStatsReport::addElement):
2066         * Modules/mediastream/RTCStatsReport.h:
2067         (RTCStatsReport):
2068         (WebCore::RTCStatsReport::timestamp):
2069         (WebCore::RTCStatsReport::id):
2070         (WebCore::RTCStatsReport::stat):
2071         * Modules/mediastream/RTCStatsReport.idl:
2072         * Modules/mediastream/RTCStatsResponse.cpp:
2073         (WebCore::RTCStatsResponse::namedItem):
2074         (WebCore):
2075         (WebCore::RTCStatsResponse::addReport):
2076         (WebCore::RTCStatsResponse::addStatistic):
2077         * Modules/mediastream/RTCStatsResponse.h:
2078         (RTCStatsResponse):
2079         * Modules/mediastream/RTCStatsResponse.idl:
2080         * WebCore.gypi:
2081         * platform/chromium/support/WebRTCStatsResponse.cpp:
2082         (WebKit::WebRTCStatsResponse::addReport):
2083         (WebKit):
2084         (WebKit::WebRTCStatsResponse::addStatistic):
2085         (WebKit::WebRTCStatsResponse::addElement):
2086         * platform/mediastream/RTCStatsResponseBase.h:
2087         (RTCStatsResponseBase):
2088
2089 2013-03-08  Eric Seidel  <eric@webkit.org>
2090
2091         Free up background parser's checkpoints when speculation succeeds
2092         https://bugs.webkit.org/show_bug.cgi?id=110547
2093
2094         Reviewed by Adam Barth.
2095
2096         This should be a memory (and possible perf) win while parsing
2097         pages, as we will no longer hold multiple copies of every
2098         source byte during the whole parse.
2099
2100         Many LayoutTests exercise this code path, and I've manually (debugger and printf)
2101         that we're hitting this code, but we'll have to wait for the memory/perf bots
2102         to tell us if this shows up as a win.
2103
2104         We only bother to message the parser at the end of a speculation chain, so as not
2105         to send too many messages to the background parser.
2106
2107         * html/parser/BackgroundHTMLInputStream.cpp:
2108         (WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
2109         (WebCore::BackgroundHTMLInputStream::invalidateCheckpointsUpThrough):
2110         (WebCore):
2111         (WebCore::BackgroundHTMLInputStream::rewindTo):
2112         * html/parser/BackgroundHTMLInputStream.h:
2113         (BackgroundHTMLInputStream):
2114         (Checkpoint):
2115         (WebCore::BackgroundHTMLInputStream::Checkpoint::isNull):
2116         (WebCore::BackgroundHTMLInputStream::Checkpoint::clear):
2117         * html/parser/BackgroundHTMLParser.cpp:
2118         (WebCore::BackgroundHTMLParser::passedCheckpoint):
2119         (WebCore):
2120         * html/parser/BackgroundHTMLParser.h:
2121         (BackgroundHTMLParser):
2122         * html/parser/HTMLDocumentParser.cpp:
2123         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2124
2125 2013-03-08  Chandra Shekar Vallala  <brk376@motorola.com>
2126
2127         [chromium] Keydown event for 'shift+alt' returns win keycode instead of 'alt'
2128         https://bugs.webkit.org/show_bug.cgi?id=111112
2129
2130         Reviewed by Tony Chang.
2131
2132         Return windows keycode of Alt incase of GDK_META_L, GDK_META_R. This matches
2133         the firefox behaviour in linux platform.
2134
2135         Added Manual Test : ManualTests/shift-alt-key-event.html
2136         Try press Shift then alt key. The test passes if the shiftKey, altKey values
2137         of JSKeyEvent are true and keycode/which is 18.
2138
2139         * platform/chromium/KeyCodeConversionGtk.cpp:
2140         (WebCore::windowsKeyCodeForKeyEvent):
2141
2142 2013-03-08  Mike West  <mkwst@chromium.org>
2143
2144         CSP: 'eval()' is blocked in report-only mode.
2145         https://bugs.webkit.org/show_bug.cgi?id=111867
2146
2147         Reviewed by Adam Barth.
2148
2149         Setting a 'Content-Security-Policy-Report-Only' header should not have
2150         any effect on what a page actually executes. Currently, however, setting
2151         a 'script-src' directive that doesn't whitelist 'unsafe-eval' actually
2152         blocks 'eval()' on the page. This patch fixes that by checking whether
2153         we're in report-only mode before turning 'eval()' off inside the script
2154         engine.
2155
2156         This leaves us in a weird state, however. We don't currently have any
2157         mechanism of explaining to the VM that we just want to be notified of
2158         'eval()' usage. I've filed http://wkbug.com/111869 to cover this
2159         aspect.
2160
2161         Test: http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.html
2162
2163         * page/ContentSecurityPolicy.cpp:
2164         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2165             For each policy we parse, check that we're only turning off eval in
2166             the VM when we're in enforce mode. If we're in report-only mode,
2167             skip it.
2168
2169 2013-03-08  Christian Biesinger  <cbiesinger@chromium.org>
2170
2171         REGRESSION (r143643): <button> should support ::first-line and ::first-letter
2172         https://bugs.webkit.org/show_bug.cgi?id=111782
2173
2174         Reviewed by Ojan Vafai.
2175
2176         Test: fast/forms/button-first-line-first-letter.html
2177
2178         * rendering/RenderBlock.cpp:
2179         (WebCore::RenderBlock::firstLineBlock):
2180         (WebCore::findFirstLetterBlock):
2181         Add isRenderButton to the first-line and first-letter checks that
2182         don't allow ::first-* styles for flexbox.
2183
2184 2013-03-08  Geoffrey Garen  <ggaren@apple.com>
2185
2186         Removed an out-of-date comment from SharedTimer
2187         https://bugs.webkit.org/show_bug.cgi?id=111875
2188
2189         Reviewed by Mark Hahnenberg.
2190
2191         Even if we surround each call to an ObjC interface with an autorelease
2192         pool, it's still nice to have one at top-level entry points like
2193         timers, to avoid turning a single mistake into a long-term leak.
2194
2195         * platform/ios/SharedTimerIOS.mm:
2196         (WebCore::timerFired):
2197         * platform/mac/SharedTimerMac.mm:
2198         (WebCore::timerFired):
2199
2200 2013-03-08  Benjamin Poulain  <benjamin@webkit.org>
2201
2202         [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
2203         https://bugs.webkit.org/show_bug.cgi?id=111297
2204
2205         Reviewed by Kenneth Rohde Christiansen.
2206
2207         The 'view-mode' Media Feature spec is implemented in WebCore but
2208         there is no WebKit support for it on Mac.
2209         Because of this, we always lie and report a windowed view mode.
2210
2211         This patch add a feature flag for the feature and disable it on
2212         Mac so that we stop reporting incorrect default values.
2213
2214         * WebCore.exp.in:
2215         * css/CSSValueKeywords.in:
2216         * css/MediaFeatureNames.h:
2217         (MediaFeatureNames):
2218         * css/MediaQueryEvaluator.cpp:
2219         * css/MediaQueryExp.cpp:
2220         (WebCore::featureWithCSSValueID):
2221         (WebCore::featureWithoutValue):
2222         * page/Page.cpp:
2223         (WebCore::Page::Page):
2224         * page/Page.h:
2225         (Page):
2226
2227 2013-03-08  Ryosuke Niwa  <rniwa@webkit.org>
2228
2229         After sending message, Mail changes formatting
2230         https://bugs.webkit.org/show_bug.cgi?id=111360
2231
2232         Reviewed by Enrica Casucci.
2233
2234         Added makeInsertedContentRoundTrippableWithHTMLTreeBuilder to move prohibited children (e.g. p, h1, etc...)
2235         out of paragraph elements to run immediately after the fragment insertion. This function splits trees and
2236         moves prohibited children out of paragraph elements to keep the tree isomorphic under HTML serialization and
2237         parsing. Unfortunately, there are many other DOM tree constructs we need to fix to make the subtree truly
2238         isomorphic but this is a step forward.
2239
2240         Test: editing/pasteboard/pasting-into-p-should-not-nest-p.html
2241
2242         * editing/ReplaceSelectionCommand.cpp:
2243         (WebCore::isProhibitedParagraphChild): Added. Matches the list at
2244         https://dvcs.w3.org/hg/editing/raw-file/57abe6d3cb60/editing.html#prohibited-paragraph-child
2245         except main element, which is currently missing in the specification.
2246         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder): Added.
2247         (WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor): Added.
2248         (WebCore::ReplaceSelectionCommand::doApply): Call moveProhibitedChildrenOutOfParagraphElements.
2249
2250         * editing/ReplaceSelectionCommand.h:
2251         (ReplaceSelectionCommand):
2252
2253 2013-03-08  Eric Seidel  <eric@webkit.org>
2254
2255         AtomicHTMLToken should not be heap allocated or RefCounted
2256         https://bugs.webkit.org/show_bug.cgi?id=111250
2257
2258         Reviewed by Adam Barth.
2259
2260         It was clearly an oversight on our part to ever make AtomicHTMLToken ref-counted.
2261         We don't need the actual "token" saved, just enough of it to recreate a fake token.
2262
2263         This removed many more mallocs than I thought it would, for a nice little speed win.
2264         Before:
2265         median= 450.482999993 ms, stdev= 7.2381436538 ms, min= 436.084999994 ms, max= 464.968999964 ms
2266         After:
2267         median= 436.41600004 ms, stdev= 5.71435647554 ms, min= 427.160999971 ms, max= 446.753000026 ms
2268
2269         * html/parser/AtomicHTMLToken.h:
2270         (AtomicHTMLToken):
2271         * html/parser/HTMLConstructionSite.cpp:
2272         (WebCore::HTMLConstructionSite::createElementFromSavedToken):
2273         * html/parser/HTMLDocumentParser.cpp:
2274         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
2275         (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
2276         * html/parser/HTMLElementStack.cpp:
2277         (WebCore::HTMLElementStack::isHTMLIntegrationPoint):
2278         * html/parser/HTMLFormattingElementList.cpp:
2279         (WebCore):
2280         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
2281         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
2282         * html/parser/HTMLStackItem.h:
2283         (WebCore::HTMLStackItem::create):
2284         (WebCore::HTMLStackItem::localName):
2285         (WebCore::HTMLStackItem::attributes):
2286         (WebCore::HTMLStackItem::getAttributeItem):
2287         (HTMLStackItem):
2288         (WebCore::HTMLStackItem::hasLocalName):
2289         (WebCore::HTMLStackItem::hasTagName):
2290         (WebCore::HTMLStackItem::HTMLStackItem):
2291         * html/parser/HTMLTreeBuilder.cpp:
2292         (WebCore::HTMLTreeBuilder::processFakeStartTag):
2293         (WebCore::HTMLTreeBuilder::processFakeEndTag):
2294         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
2295         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2296         (WebCore::HTMLTreeBuilder::processStartTag):
2297         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
2298         (WebCore::HTMLTreeBuilder::processEndTag):
2299         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
2300         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
2301         (WebCore::HTMLTreeBuilder::defaultForInHead):
2302         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
2303         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
2304         * html/parser/TextDocumentParser.cpp:
2305         (WebCore::TextDocumentParser::insertFakePreElement):
2306
2307 2013-03-08  Roger Fong  <roger_fong@apple.com>
2308
2309         Makefile fixes.
2310
2311         * WebCore.vcxproj/WebCore.make:
2312
2313 2013-03-07  Emil A Eklund  <eae@chromium.org>
2314
2315         [sub-pixel] Rounding error in table cell height calculation causes unnecessary scrollbar
2316         https://bugs.webkit.org/show_bug.cgi?id=111794
2317
2318         Reviewed by Levi Weintraub.
2319         
2320         In RenderTableCell::logicalHeightForRowSizing the
2321         adjustedLogicalHeight is calculated from the logicalHeight and
2322         intrinsic padding and is then returned and floored. This can
2323         cause cause the cell to be slightly smaller (0.5px) than the
2324         element it contains.
2325
2326         Test: fast/sub-pixel/table-cell-height.html
2327
2328         * rendering/RenderTableCell.h:
2329         (WebCore::RenderTableCell::logicalHeightForRowSizing):
2330         Change to use pixelSnapped version of logicalHeight method and
2331         change signature to return int as the only caller immediately
2332         down-casts the result to an int.
2333
2334 2013-03-08  Christian Biesinger  <cbiesinger@chromium.org>
2335
2336         RenderFullScreen needs to clear override sizes when exiting full screen
2337         https://bugs.webkit.org/show_bug.cgi?id=111775
2338
2339         Reviewed by Ojan Vafai.
2340
2341         Test: fullscreen/full-screen-with-flex-item.html
2342
2343         * rendering/RenderFullScreen.cpp:
2344         (RenderFullScreen::unwrapRenderer):
2345         RenderFullScreen is a flexbox, so it will potentially set override
2346         sizes on its children while in fullscreen mode. When we exit
2347         fullscreen mode, we need to clear this override size, otherwise the
2348         the leftover override size may affect layout. See the testcase for an
2349         example.
2350
2351 2013-03-08  Julien Chaffraix  <jchaffraix@webkit.org>
2352
2353         [CSS Grid Layout] Handle 2 positions with one 'auto' properly
2354         https://bugs.webkit.org/show_bug.cgi?id=111653
2355
2356         Reviewed by Tony Chang.
2357
2358         The rendering code was making the assumption that we have one position.
2359         Thus it couldn't fully match what the specification wants as the 2 opposite
2360         positions are required to resolve either position in several cases (e.g.
2361         1 / span 2, auto / 'c').
2362
2363         This change introduces resolveGridPositionsFromStyle to do both opposite
2364         positions resolution in one pass and thus handling more cases.
2365
2366         Test: fast/css-grid-layout/grid-item-spanning-resolution.html
2367
2368         * rendering/RenderGrid.cpp:
2369         (WebCore::RenderGrid::maximumIndexInDirection):
2370         (WebCore::RenderGrid::placeItemsOnGrid):
2371         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
2372         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
2373         Updated the above functions to rely on resolveGridPositionsFromStyle.
2374
2375         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
2376         Added this new function that handle the correct resolution.
2377
2378         (WebCore::RenderGrid::resolveGridPositionFromStyle):
2379         Updated the ASSERT to match the new code flow.
2380
2381         * rendering/RenderGrid.h:
2382         (WebCore::RenderGrid::GridSpan::GridSpan):
2383         Introduced this new struct to hold the 2 positions along one axis.
2384
2385 2013-03-08  Dominic Cooney  <dominicc@chromium.org>
2386
2387         RenderTextControlSingleLine should not assume that its text element has a renderer
2388         https://bugs.webkit.org/show_bug.cgi?id=111826
2389
2390         Reviewed by Ojan Vafai.
2391
2392         Tests: fast/forms/search/search-autoscroll-hidden-decoration-container-crash.html
2393                fast/forms/search/search-hide-decoration-container-crash.html
2394                fast/forms/search/search-scroll-hidden-decoration-container-crash.html
2395
2396         * rendering/RenderTextControlSingleLine.cpp:
2397         (WebCore::RenderTextControlSingleLine::layout):
2398         (WebCore::RenderTextControlSingleLine::controlClipRect):
2399         (WebCore::RenderTextControlSingleLine::autoscroll):
2400         (WebCore::RenderTextControlSingleLine::scroll):
2401
2402 2013-03-08  Joshua Bell  <jsbell@chromium.org>
2403
2404         IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
2405         https://bugs.webkit.org/show_bug.cgi?id=111459
2406
2407         Reviewed by Adam Barth.
2408
2409         IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
2410         origin is opened, the backing store instance must be re-used). This was a map to raw
2411         pointers so that the backing store can be collected when all database references are
2412         dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
2413         would add/remove itself on creation/destruction.
2414
2415         Replace this with a HashMap<WeakPtr<T>>. This simplifies the plumbing; map entries
2416         "leak" but are purged on subsequent opens.
2417
2418         Added webkit_unit_test (Chromium port) to verify refcounts.
2419
2420         * Modules/indexeddb/IDBBackingStore.cpp:
2421         (WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
2422         (WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
2423         (WebCore::IDBBackingStore::open): Ditto.
2424         * Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...
2425         (WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.
2426         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2427         (WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
2428         May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
2429         (WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.
2430         * Modules/indexeddb/IDBFactoryBackendImpl.h:
2431         (IDBFactoryBackendImpl): Remove plumbing methods.
2432
2433 2013-03-08  John Mellor  <johnme@chromium.org>
2434
2435         @media queries do not take zooming into account
2436         https://bugs.webkit.org/show_bug.cgi?id=53186
2437
2438         Reviewed by Kenneth Rohde Christiansen.
2439
2440         Fixes @media width and height to take into account full page zoom, by
2441         adding code to MediaQueryEvaluator's width/heightMediaFeatureEval,
2442         corresponding to the existing code in Element::clientWidth which makes
2443         document.documentElement.clientWidth take into account page zoom.
2444
2445         Test: fast/media/mq-width-pagezoom.html
2446
2447         * css/MediaQueryEvaluator.cpp:
2448         (WebCore::heightMediaFeatureEval):
2449         (WebCore::widthMediaFeatureEval):
2450
2451 2013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2452
2453         [BlackBerry] Add stubs for DNSResolveQueue platform specific methods
2454         https://bugs.webkit.org/show_bug.cgi?id=111841
2455
2456         Reviewed by Rob Buis.
2457
2458         Add empty implementations of
2459         DNSResolveQueue::platformProxyIsEnabledInSystemPreferences() and
2460         DNSResolveQueue::platformResolve() to DNSBlackBerry.cpp to make it
2461         build.
2462
2463         * platform/network/blackberry/DNSBlackBerry.cpp:
2464         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2465         (WebCore::DNSResolveQueue::platformResolve):
2466
2467 2013-03-08  Glenn Hartmann  <hartmanng@chromium.org>
2468
2469        Adding a hook to collect data for a Google UMA histogram to track when
2470        m_needsCompositedScrolling is turned on and off.
2471        https://bugs.webkit.org/show_bug.cgi?id=111725
2472
2473        Reviewed by Julien Chaffraix.
2474
2475        We want to keep track of this information to quantify the effects of a
2476        few patches that will cause us to opt in to composited scrolling.
2477        Specifically, we want to measure the effects of
2478        https://bugs.webkit.org/show_bug.cgi?id=109302,
2479        https://bugs.webkit.org/show_bug.cgi?id=109966,
2480        https://bugs.webkit.org/show_bug.cgi?id=109591, and
2481        https://bugs.webkit.org/show_bug.cgi?id=107618.
2482
2483        We do this by measuring a per-layer boolean value, and comparing the
2484        ratio between number of layers opted in and number of layers that remain
2485        uncomposited. We hope the relative number of layers opting in will
2486        increase after the relevant patches land and are enabled.
2487
2488        Unfortunately implementing extra statistics is impractical at the
2489        moment since most of the actionable relevant data is expensive to
2490        compute. For example, it would be useful to know if the layers that opt
2491        out do so because of invisible or non-overlapping layers that cause a
2492        potential stacking container's children to be discontiguous, because we
2493        would potentially be able to mitigate the problem. However, this would
2494        add considerable overhead to perform overlap testing just to gather
2495        data.
2496
2497        No new tests (no change in behaviour).
2498
2499        * rendering/RenderLayer.cpp:
2500        (WebCore::RenderLayer::updateNeedsCompositedScrolling):
2501
2502 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
2503
2504         [BlackBerry] GraphicsContext: rename addRoundedRectClip to clipRoundedRect
2505         https://bugs.webkit.org/show_bug.cgi?id=111852
2506
2507         Reviewed by Rob Buis.
2508
2509         This changed in r139353.
2510
2511         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
2512         (WebCore::GraphicsContext::clipRoundedRect):
2513
2514 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
2515
2516         [BlackBerry] Add BlendMode parameter to GraphicsContext::setPlatformCompositeOperation
2517         https://bugs.webkit.org/show_bug.cgi?id=111840
2518
2519         Reviewed by Rob Buis.
2520
2521         This parameter was added in r137011.
2522
2523         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
2524         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2525
2526 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
2527
2528         [BlackBerry] Remove unused GraphicsContext::addInnerRoundedRectClip()
2529         https://bugs.webkit.org/show_bug.cgi?id=111838
2530
2531         Reviewed by Rob Buis.
2532
2533         This was removed in r139138.
2534
2535         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
2536
2537 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
2538
2539         [BlackBerry] GraphicsContext: add fillRule parameter to clip() and canvasClip()
2540         https://bugs.webkit.org/show_bug.cgi?id=111836
2541
2542         Reviewed by Rob Buis.
2543
2544         This parameter was added in r139967.
2545
2546         * platform/graphics/blackberry/PathBlackBerry.cpp:
2547         (WebCore):
2548         (WebCore::GraphicsContext::clip):
2549         (WebCore::GraphicsContext::canvasClip):
2550
2551 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
2552
2553         Web Inspector: Get rid of file system ids and use file pathes as uri for file based uiSourceCodes.
2554         https://bugs.webkit.org/show_bug.cgi?id=111753
2555
2556         Reviewed by Pavel Feldman.
2557
2558         * inspector/front-end/FileSystemMapping.js:
2559         (WebInspector.FileSystemMappingImpl):
2560         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
2561         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
2562         (WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
2563         (WebInspector.FileSystemMappingImpl.prototype.set addFileSystemMapping):
2564         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
2565         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
2566         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
2567         * inspector/front-end/FileSystemProjectDelegate.js:
2568         (WebInspector.FileSystemProjectDelegate.projectId):
2569         (WebInspector.FileSystemProjectDelegate.prototype.id):
2570         (WebInspector.FileSystemProjectDelegate.prototype.fileSystemPath):
2571         (WebInspector.FileSystemWorkspaceProvider):
2572         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
2573         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
2574         (WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
2575         * inspector/front-end/IsolatedFileSystemManager.js:
2576         (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
2577         (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
2578         * inspector/front-end/Workspace.js:
2579         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2580
2581 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
2582
2583         Web Inspector: Polish TabbedEditorContaner and ScriptsNavigator behavior.
2584         https://bugs.webkit.org/show_bug.cgi?id=111732
2585
2586         Reviewed by Pavel Feldman.
2587
2588         Resources matching inspectedPageURL are always expanded in NavigatorView now.
2589         Snippets tab in scripts navigator is not automatically opened anymore.
2590         Cleared saved TabbedEditorContainer history because it might have been corrupted due to errors in earlier versions.
2591         Snippets are not revealed in TabbedEditorContainer anymore unless they were actually selected by user or there is no other tabs opened.
2592
2593         * inspector/front-end/NavigatorView.js:
2594         (WebInspector.NavigatorView):
2595         (WebInspector.NavigatorView.prototype.addUISourceCode):
2596         (WebInspector.NavigatorView.prototype._inspectedURLChanged):
2597         (WebInspector.NavigatorView.prototype.revealUISourceCode):
2598         (WebInspector.NavigatorView.prototype.removeUISourceCode):
2599         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
2600         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.uiSourceCode):
2601         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
2602         * inspector/front-end/ScriptsNavigator.js:
2603         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
2604         * inspector/front-end/ScriptsPanel.js:
2605         (WebInspector.ScriptsPanel.prototype._showFile):
2606         * inspector/front-end/Settings.js:
2607         (WebInspector.VersionController.prototype._updateVersionFrom1To2):
2608         * inspector/front-end/TabbedEditorContainer.js:
2609         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode.tabId.this._tabIds.get this):
2610         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
2611         (WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):
2612
2613 2013-03-08  Vsevolod Vlasov  <vsevik@chromium.org>
2614
2615         Web Inspector: Add shortcut for running a snippet.
2616         https://bugs.webkit.org/show_bug.cgi?id=111680
2617
2618         Reviewed by Pavel Feldman.
2619
2620         Added Ctrl/Cmd+Enter as a shortcut for running a snippet.
2621
2622         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
2623         (WebInspector.SnippetJavaScriptSourceFrame):
2624         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
2625         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runSnippet):
2626         (WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):
2627
2628 2013-03-08  Philip Rogers  <pdr@google.com>
2629
2630         Prevent infinite loop in SVG use cycle detection
2631         https://bugs.webkit.org/show_bug.cgi?id=111822
2632
2633         Reviewed by Stephen Chenney.
2634
2635         SVG use cycle detection depended on idForStyleResolution() which differs from
2636         getIdAttribute() in quirks mode. During use tree cycle detection, this difference
2637         resulted in an infinite loop because idForStyleResolution() used lower-cased id
2638         attributes. This patch removes an existing fixme for this and switches to using
2639         getIdAttribute().
2640
2641         Test: svg/custom/use-cycle-detection.html
2642
2643         * svg/SVGUseElement.cpp:
2644         (WebCore::SVGUseElement::hasCycleUseReferencing):
2645
2646 2013-03-08  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2647
2648         When we set word-wrap: break-word and xml:space="preserve" to svg text element, the text is collapsed.
2649         https://bugs.webkit.org/show_bug.cgi?id=111675
2650
2651         Reviewed by Stephen Chenney.
2652
2653         RenderSVGText define its size when it laid out its first line at SVGRootInlineBox::computePerCharacterLayoutInformation().
2654
2655         In the following spec, SVG don't perform automatic line break or word wrapping.
2656         http://www.w3.org/TR/SVG/text.html#Introduction
2657         > SVG performs no automatic line breaking or word wrapping.
2658         However, when we set word-wrap: break-word and xml:space="preserve" to svg text element, RenderBlock::LineBreaker::nextLineBreak() breaks the text.
2659         This make single character lines and make RenderSVGText narrow.
2660
2661         We must ignore word-wrap property to make the text a single line.
2662
2663         We always disable break words and break all in nextLineBreak() when the object is SVGInlineText.
2664
2665         Test: svg/text/preserve-break-word.html
2666
2667         * rendering/RenderBlockLineLayout.cpp:
2668         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Disable break words and break all when we process SVG Text.
2669
2670 2013-03-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2671
2672         [Qt] HTML5 video - sound volume bar out of widget
2673         https://bugs.webkit.org/show_bug.cgi?id=108213
2674
2675         Reviewed by Jocelyn Turcotte.
2676
2677         Since we use Safari shadow DOM for media controls, follow
2678         the overall layout of Safari media control CSS.
2679
2680         * css/mediaControlsQt.css:
2681         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2682         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2683         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2684         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2685         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2686         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2687         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2688         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2689         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2690         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2691         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2692         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
2693         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
2694         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2695
2696 2013-03-08  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2697
2698         [Qt] Doesn't build with QtMultimedia
2699         https://bugs.webkit.org/show_bug.cgi?id=111847
2700
2701         Reviewed by Jocelyn Turcotte.
2702
2703         Fix include.
2704
2705         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2706
2707 2013-03-08  Huang Dongsung  <luxtella@company100.net>
2708
2709         [EFL][Qt] REGRESSION(r144787): A fixed element lags when scrolling and wheeling.
2710         https://bugs.webkit.org/show_bug.cgi?id=111829
2711
2712         Reviewed by Noam Rosenthal.
2713
2714         Currently, flagsChanged deals with all boolean flags. It introduces this bug
2715         because when another flag (i.e. preserves3D) is changed, fixedToViewport is set
2716         to false. So this patch updates all flags when at least one flag is changed.
2717
2718         In addition, this patch amends isScrollable code to match other flags.
2719
2720         This patch can only be tested manually since there is no automated
2721         testing facilities for in-motion touch.
2722         Test: ManualTests/fixed-position.html
2723               ManualTests/nested-fixed-position.html
2724
2725         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2726         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
2727         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2728         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2729         (WebCore::CoordinatedGraphicsScene::setLayerState):
2730         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2731         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
2732
2733 2013-03-07  Dean Jackson  <dino@apple.com>
2734
2735         Remove dead label code in snapshotted plugin
2736         https://bugs.webkit.org/show_bug.cgi?id=111781
2737
2738         Reviewed by Tim Horton.
2739
2740         Since ports can use the shadow tree to do label display,
2741         there is no need for the hardcoded timers in RenderSnapshottedPlugin.
2742
2743         * rendering/RenderSnapshottedPlugIn.cpp: Remove label flags and timers.
2744         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
2745         (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn):
2746         (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
2747         (WebCore::RenderSnapshottedPlugIn::handleEvent):
2748         * rendering/RenderSnapshottedPlugIn.h:
2749         (RenderSnapshottedPlugIn):
2750
2751 2013-03-07  Dean Jackson  <dino@apple.com>
2752
2753         Implement a custom appearance for the snapshotted plugin background
2754         https://bugs.webkit.org/show_bug.cgi?id=108368
2755
2756         Reviewed by Tim Horton.
2757
2758         After https://bugs.webkit.org/show_bug.cgi?id=108284 (r142507), a
2759         snapshotted plugin was no longer drawing the background of the
2760         label blurred. Since the snapshot content was now a shadow tree,
2761         it wasn't feasible to pre-blur a region of the snapshot: the label
2762         could be any size and in any location, with ports being able to
2763         override the appearance through their UA style sheet.
2764
2765         Instead we now use one of the elements in the tree, the snapshot-overlay,
2766         as a hook where ports can add any effect they want. This could be simply
2767         a border, or a transparent mask, or even a CSS filter. We introduce a custom
2768         CSS appearance "snapshotted-plugin-overlay", which could be added to the
2769         element in the injected UA stylesheet. This calls into RenderTheme in
2770         the same way that custom controls do.
2771
2772         Meanwhile, in RenderThemeMac, we implement the appearance by drawing the
2773         content of the plugin snapshot into the background of the element. That
2774         way we can add effects in CSS.
2775
2776         Test: plugins/snapshot-appearance.html
2777
2778         * css/CSSPrimitiveValueMappings.h:
2779         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle SnapshottedPluginOverlayPart.
2780         * css/CSSValueKeywords.in: New appearance value snapshotted-plugin-overlay.
2781         * platform/ThemeTypes.h: New value SnapshottedPluginOverlayPart.
2782         * html/HTMLPlugInElement.h:
2783         (WebCore::toHTMLPlugInElement): Add safer casting helpers.
2784         * html/HTMLPlugInImageElement.h:
2785         (WebCore::toHTMLPlugInImageElement): Ditto.
2786         * rendering/RenderSnapshottedPlugIn.cpp: Remove the code for handling
2787             the blur directly in the renderer.
2788         (WebCore::RenderSnapshottedPlugIn::paint): Simplify the paint logic since we're
2789             no longer trying to blur here.
2790         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
2791         * rendering/RenderSnapshottedPlugIn.h: Remove the methods that were trying
2792             to blur the image directly.
2793         * rendering/RenderTheme.cpp:
2794         (WebCore::RenderTheme::paint): Call paintSnapshottedPluginOverlay.
2795         * rendering/RenderTheme.h:
2796         (WebCore::RenderTheme::paintSnapshottedPluginOverlay): New virtual method with default implementation.
2797         * rendering/RenderThemeMacShared.h:
2798         (RenderThemeMacShared): Override paintSnapshottedPluginOverlay.
2799         * rendering/RenderThemeMacShared.mm:
2800         (WebCore::RenderThemeMacShared::paintSnapshottedPluginOverlay): Implement a custom render path
2801             that takes the snapshot image from the node's parent, and draws it into the background.
2802             Along the way make sure we're actually using the right type of element (an HTMLPlugInImageElement).
2803
2804 2013-03-08  Sergio Villar Senin  <svillar@igalia.com>
2805
2806         Improve drag&drop of list items in contentEditable divs
2807         https://bugs.webkit.org/show_bug.cgi?id=111556
2808
2809         Reviewed by Ryosuke Niwa.
2810
2811         A single fully selected <li> should generate the same markup as if
2812         we were selecting some of them, i.e., we should preserve the list
2813         structure and appearance.
2814
2815         Test: editing/selection/drag-list-item.html
2816
2817         * editing/htmlediting.cpp:
2818         (WebCore::isListItem): modified constness.
2819         * editing/htmlediting.h:
2820         (WebCore): ditto.
2821         * editing/markup.cpp:
2822         (WebCore::highestAncestorToWrapMarkup):
2823
2824 2013-03-08  Alberto Garcia  <agarcia@igalia.com>
2825
2826         [BlackBerry] LayerTiler: rename currentFrameHasAlpha as currentFrameKnownToBeOpaque
2827         https://bugs.webkit.org/show_bug.cgi?id=111828
2828
2829         Reviewed by Carlos Garcia Campos.
2830
2831         This changed in r141637.
2832
2833         * platform/graphics/blackberry/LayerTiler.cpp:
2834         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2835
2836 2013-03-08  Antoine Quint  <graouts@apple.com>
2837
2838         Fix a couple of typos.
2839
2840         Unreviewed.
2841
2842         * inspector/Inspector.json:
2843
2844 2013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2845
2846         [BlackBerry] Use OwnPtr for CredentialBackingStore members
2847         https://bugs.webkit.org/show_bug.cgi?id=111737
2848
2849         Reviewed by Rob Buis.
2850
2851         It simplifies the code a bit.
2852
2853         * platform/network/blackberry/CredentialBackingStore.cpp:
2854         (WebCore::CredentialBackingStore::~CredentialBackingStore):
2855         (WebCore::CredentialBackingStore::open):
2856         (WebCore::CredentialBackingStore::certMgrWrapper):
2857         * platform/network/blackberry/CredentialBackingStore.h:
2858         (CredentialBackingStore):
2859
2860 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
2861
2862         MemoryPressureHandler should fully flush the WebCore & NS URL caches
2863         https://bugs.webkit.org/show_bug.cgi?id=111827
2864
2865         Rubber Stamped by Geoff Garen
2866
2867         When the handler is fired we should free as much memory as possible.
2868
2869         * platform/mac/MemoryPressureHandlerMac.mm:
2870         (WebCore::MemoryPressureHandler::releaseMemory):
2871             - fully flush the WebCore & NS URL caches
2872
2873 2013-03-07  Keishi Hattori  <keishi@webkit.org>
2874
2875         Update calendar picker UI
2876         https://bugs.webkit.org/show_bug.cgi?id=109439
2877
2878         Reviewed by Kent Tamura.
2879
2880         This patch changes the calendar picker UI.
2881
2882         Added tests to existing calendar picker tests.
2883         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html
2884
2885         * Resources/pagepopups/calendarPicker.css:
2886         (body):
2887         (.rtl):
2888         (.scroll-view):
2889         (.scroll-view-content):
2890         (.list-cell):
2891         (.list-cell.hidden):
2892         (.day-cell):
2893         (.week-number-cell):
2894         (.day-cell.today):
2895         (.day-cell.highlighted):
2896         (.day-cell.highlighted.disabled):
2897         (.day-cell.selected):
2898         (.day-cell.disabled):
2899         (.day-cell.current-month):
2900         (.calendar-table-view):
2901         (.preparing .calendar-table-view:focus):
2902         (.week-day-label):
2903         (.week-number-label):
2904         (.calendar-table-header-view):
2905         (.calendar-picker):
2906         (.calendar-header-view):
2907         (.calendar-title):
2908         (.rtl .calendar-title):
2909         (.month-popup-button:disabled):
2910         (.month-popup-button):
2911         (.month-popup-button .disclosure-triangle):
2912         (.month-popup-button .disclosure-triangle svg):
2913         (.today-button::after):
2914         (.calendar-navigation-button):
2915         (.year-list-view):
2916         (.year-list-cell):
2917         (.year-list-cell .label):
2918         (.year-list-cell .month-chooser):
2919         (.month-buttons-row):
2920         (.month-button):
2921         (.month-button.highlighted):
2922         (.scrubby-scroll-bar):
2923         (.scrubby-scroll-thumb):
2924         (.month-popup-view):
2925         (.year-list-view .scrubby-scroll-bar):
2926         (.rtl .year-list-view .scrubby-scroll-bar):
2927         * Resources/pagepopups/calendarPicker.js:
2928         (setGlobalParams): Sets the global params.
2929         (initialize):
2930         (openCalendarPicker):
2931         (CalendarHeaderView.prototype.onNavigationButtonClick): Fix typo.
2932         (CalendarPicker):
2933         (CalendarPicker.prototype.onWindowResize): We want to have the "preparing" class applied
2934         to cancel css transitions while setting up the calendar picker so we can avoid flaky pixel tests.
2935         (CalendarPicker.prototype.onYearListViewDidHide): The user clicked on a month so hide the month popup.
2936         (CalendarPicker.prototype.onYearListViewDidSelectMonth): Change the current month in response to the month popup.
2937         (CalendarPicker.prototype.attachTo): We want the calendar table focused when the calendar picker first opens.
2938         (CalendarPicker.prototype.cleanup): Clean up any event listeners or elements attached to nodes outside of this.element.
2939         (CalendarPicker.prototype.onMonthPopupButtonClick): Open the month popup in response to the month popup button being clicked.
2940         (CalendarPicker.prototype._setConfig): Configures the calendar picker.
2941         (CalendarPicker.prototype.currentMonth): The currently shown month.
2942         (CalendarPicker.prototype.setCurrentMonth): Scrolls the calendar table to the given month. Use the navigation behavior param to specify if you want a transition animation.
2943         (CalendarPicker.prototype.adjustHeight): Adjusts the height so its just tall enough to fit the current month. If the month picker is open, fit that.
2944         (CalendarPicker.prototype.selection): Currently selected date range.
2945         (CalendarPicker.prototype.highlight): Currently highlighted date range.
2946         (CalendarPicker.prototype.firstVisibleDay): Returns the first visible day ignoring scroll animation (i.e. this is the first visible day when the scroll animation is done).
2947         (CalendarPicker.prototype.lastVisibleDay): Returns the last visible day ignoring scroll animation.
2948         (CalendarPicker.prototype.selectRangeContainingDay): Sets the selection to the date range containing the given day.
2949         (CalendarPicker.prototype.highlightRangeContainingDay): Sets the highlight to the date range containing the given day.
2950         (CalendarPicker.prototype.setSelection): Sets the selection to the given date range.
2951         (CalendarPicker.prototype._setHighlight): Sets the highlight to the given date range.
2952         (CalendarPicker.prototype._stepMismatch): Just moving.
2953         (CalendarPicker.prototype._outOfRange): Ditto.
2954         (CalendarPicker.prototype.isValid): Returns true if the given date range is a valid selection.
2955         (CalendarPicker.prototype.isValidDay): Returns true if the day is part of a valid selection.
2956         (CalendarPicker.prototype._moveHighlight): Moves the highlight to the given date range if possible. Returns true if it succeeds.
2957         (CalendarPicker.prototype.onCalendarTableKeyDown): Handles the arrow keys, etc.
2958         (CalendarPicker.prototype.width):
2959         (CalendarPicker.prototype.height):
2960         (CalendarPicker.prototype.setHeight):
2961         (CalendarPicker.prototype.onBodyKeyDown): Handles esc/m/y/d.
2962         * Resources/pagepopups/chromium/calendarPickerChromium.css:
2963         (.calendar-table-view:focus):
2964         (.preparing .calendar-table-view:focus):
2965
2966 2013-03-07  Seokju Kwon  <seokju.kwon@gmail.com>
2967
2968         Web Inspector: Remove unused return value after r122962
2969         https://bugs.webkit.org/show_bug.cgi?id=111821
2970
2971         Reviewed by Pavel Feldman.
2972
2973         No new tests.
2974
2975         * inspector/front-end/ConsolePanel.js:
2976         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
2977         * inspector/front-end/ElementsPanel.js:
2978         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
2979         * inspector/front-end/ScriptsPanel.js:
2980         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
2981
2982 2013-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2983
2984         Unreviewed, rolling out r145166.
2985         http://trac.webkit.org/changeset/145166
2986         https://bugs.webkit.org/show_bug.cgi?id=111819
2987
2988         build break - no symbol
2989         webkit_support::CreateScopedTempDirectory() (Requested by
2990         hayato on #webkit).
2991
2992         * Modules/indexeddb/IDBBackingStore.cpp:
2993         (WebCore::IDBBackingStore::IDBBackingStore):
2994         (WebCore::IDBBackingStore::~IDBBackingStore):
2995         (WebCore::IDBBackingStore::open):
2996         * Modules/indexeddb/IDBBackingStore.h:
2997         (WebCore):
2998         (IDBBackingStore):
2999         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3000         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
3001         (WebCore):
3002         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
3003         (WebCore::IDBFactoryBackendImpl::openBackingStore):
3004         * Modules/indexeddb/IDBFactoryBackendImpl.h:
3005         (IDBFactoryBackendImpl):
3006
3007 2013-03-07  Hajime Morrita  <morrita@google.com>
3008
3009         Custom Elements: CustomElement constructor shouldn't share function instance
3010         https://bugs.webkit.org/show_bug.cgi?id=111807
3011
3012         Reviewed by Kentaro Hara.
3013
3014         Adaptor functions of custom elements unintentionally share the instance.
3015         This fix gives new one for each.
3016
3017         Test: Updated fast/dom/custom/document-register-basic.html
3018
3019         * bindings/v8/V8AdaptorFunction.cpp:
3020         (WebCore::V8AdaptorFunction::wrap):
3021
3022 2013-03-07  Jared Wyles  <wyles@adobe.com>
3023
3024         Reading border radius from style property returns in wrong order.
3025         https://bugs.webkit.org/show_bug.cgi?id=110853
3026
3027         Reviewed by Ryosuke Niwa
3028         
3029         Updating the order of border-radius to return in the order specified
3030         in http://www.w3.org/TR/css3-background/#the-border-radius
3031
3032         Tests updated in LayoutTests/fast/borders/border-radius-parsing.html 
3033         Changed the expectations in LayoutTests/inspector/elements/elements-panel-styles-expected.txt 
3034         
3035         Compat information -
3036         jQuery's css function favours using getComputedStyle for elements so that should not be impacted.
3037         Zepto does check for the element on style first so may be a slight concern there.
3038
3039         * css/StylePropertyShorthand.cpp:
3040         (WebCore::borderRadiusShorthand):
3041
3042 2013-03-07  Andreas Kling  <akling@apple.com>
3043
3044         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
3045         <http://webkit.org/b/71354>
3046         <rdar://problem/10565998>
3047
3048         Reviewed by Anders Carlsson.
3049
3050         * WebCore.exp.in: Export FloatPoint(const NSPoint&)
3051
3052 2013-03-07  Andreas Kling  <akling@apple.com>
3053
3054         Remove desktop version of -webkit-text-size-adjust property.
3055         <http://webkit.org/b/56543>
3056         <rdar://problem/9150203>
3057
3058         Reviewed by Simon Fraser.
3059
3060         This property existed to support a number of Apple-internal clients of WebKit.
3061         We no longer need this property, and since it's clashing with a mobile version of the
3062         same property with different meaning, let's remove it altogether from the desktop build.
3063
3064         * css/CSSComputedStyleDeclaration.cpp:
3065         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3066         * css/CSSParser.cpp:
3067         (WebCore::isValidKeywordPropertyAndValue):
3068         (WebCore::isKeywordPropertyID):
3069         (WebCore::CSSParser::parseValue):
3070         * css/CSSPrimitiveValue.cpp:
3071         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3072         * css/CSSProperty.cpp:
3073         (WebCore::CSSProperty::isInheritedProperty):
3074         * css/CSSPropertyNames.in:
3075         * css/StyleBuilder.cpp:
3076         (WebCore::ApplyPropertyLineHeight::applyValue):
3077         * css/StyleResolver.cpp:
3078         (WebCore::StyleResolver::updateFont):
3079         (WebCore::StyleResolver::applyProperties):
3080         (WebCore::StyleResolver::applyProperty):
3081         * css/StyleResolver.h:
3082         (StyleResolver):
3083         * css/svg.css:
3084         * editing/EditingStyle.cpp:
3085         * inspector/front-end/inspector.css:
3086         (#console-messages):
3087         * inspector/front-end/resourcesPanel.css:
3088         (.storage-view.query):
3089         * rendering/style/RenderStyle.cpp:
3090         (WebCore::RenderStyle::diff):
3091         * rendering/style/RenderStyle.h:
3092         * rendering/style/StyleRareInheritedData.cpp:
3093         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3094         (WebCore::StyleRareInheritedData::operator==):
3095         * rendering/style/StyleRareInheritedData.h:
3096         (StyleRareInheritedData):
3097
3098 2013-03-07  Joshua Bell  <jsbell@chromium.org>
3099
3100         IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
3101         https://bugs.webkit.org/show_bug.cgi?id=111459
3102
3103         Reviewed by Adam Barth.
3104
3105         IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
3106         origin is opened, the backing store instance must be re-used). This was a map to raw
3107         pointers so that the backing store can be collected when all database references are
3108         dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
3109         would add/remove itself on creation/destruction.
3110
3111         Replace this with a HashMap<WeakPtr<>>. This simplifies the plumbing; map entries
3112         "leak" but are purged on subsequent opens.
3113
3114         Added webkit_unit_test (Chromium port) to verify refcounts.
3115
3116         * Modules/indexeddb/IDBBackingStore.cpp:
3117         (WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
3118         (WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
3119         (WebCore::IDBBackingStore::open): Ditto.
3120         * Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...
3121         (WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.
3122         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3123         (WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
3124         May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
3125         (WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.
3126         * Modules/indexeddb/IDBFactoryBackendImpl.h:
3127         (IDBFactoryBackendImpl): Remove plumbing methods.
3128
3129 2013-03-07  Otto Derek Cheung  <otcheung@rim.com>
3130
3131         [BlackBerry] RefCounting ParsedCookie to avoid SegFaults
3132         https://bugs.webkit.org/show_bug.cgi?id=111761
3133
3134         Reviewed by Rob Buis.
3135
3136         Making necessary changes to ref count the ParsedCookie object.
3137
3138         Tested using the opera cookie test suite and the BB Browser cookie test suite.
3139         Tested using the browser, visiting popular sites such as facebook, reddit, google etc
3140         to ensure cookie functionality isn't changed.
3141
3142         * loader/blackberry/CookieJarBlackBerry.cpp:
3143         (WebCore::getRawCookies):
3144         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3145         (WebCore::CookieDatabaseBackingStore::insert):
3146         (WebCore::CookieDatabaseBackingStore::update):
3147         (WebCore::CookieDatabaseBackingStore::remove):
3148         (WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):
3149         (WebCore::CookieDatabaseBackingStore::invokeGetCookiesWithLimit):
3150         (WebCore::CookieDatabaseBackingStore::invokeSendChangesToDatabase):
3151         (WebCore::CookieDatabaseBackingStore::addToChangeQueue):
3152         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3153         (CookieDatabaseBackingStore):
3154         * platform/blackberry/CookieManager.cpp:
3155         (WebCore::cookieSorter):
3156         (WebCore::CookieManager::setCookies):
3157         (WebCore::CookieManager::getCookie):
3158         (WebCore::CookieManager::generateHtmlFragmentForCookies):
3159         (WebCore::CookieManager::getRawCookies):
3160         (WebCore::CookieManager::checkAndTreatCookie):
3161         (WebCore::CookieManager::addCookieToMap):
3162         (WebCore::CookieManager::getBackingStoreCookies):
3163         (WebCore::CookieManager::findOrCreateCookieMap):
3164         (WebCore::CookieManager::removeCookieWithName):
3165         (WebCore::CookieManager::cookieLimitCleanUp):
3166         * platform/blackberry/CookieManager.h:
3167         * platform/blackberry/CookieMap.cpp:
3168         (WebCore::CookieMap::addOrReplaceCookie):
3169         (WebCore::CookieMap::removeCookieAtIndex):
3170         (WebCore::CookieMap::removeCookie):
3171         (WebCore::CookieMap::getAllCookies):
3172         (WebCore::CookieMap::removeOldestCookie):
3173         (WebCore::CookieMap::deleteAllCookiesAndDomains):
3174         (WebCore::CookieMap::getAllChildCookies):
3175         * platform/blackberry/CookieMap.h:
3176         (CookieMap):
3177         * platform/blackberry/CookieParser.cpp:
3178         (WebCore):
3179         (WebCore::CookieParser::parse):
3180         (WebCore::CookieParser::parseOneCookie):
3181         * platform/blackberry/CookieParser.h:
3182         (CookieParser):
3183         * platform/blackberry/ParsedCookie.cpp:
3184         * platform/blackberry/ParsedCookie.h:
3185         (ParsedCookie):
3186         (WebCore::ParsedCookie::create):
3187
3188 2013-03-07  Aaron Colwell  <acolwell@chromium.org>
3189
3190         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
3191         https://bugs.webkit.org/show_bug.cgi?id=110623
3192
3193         Reviewed by Kentaro Hara.
3194
3195         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
3196
3197         * bindings/v8/V8GCController.cpp: Fix MinorGCWrapperVisitor so it doesn't collect ActiveDOMObjects
3198                                           that have pending activity.
3199         * html/HTMLAudioElement.h:
3200         (HTMLAudioElement): Removed hasPendingActivity() now that this is handled by the base class.
3201         * html/HTMLAudioElement.idl: Removed ActiveDOMObject annotation since HTMLMediaElement now has it.
3202         * html/HTMLMediaElement.cpp:
3203         (WebCore::HTMLMediaElement::hasPendingActivity): Update implementation to return true if the media
3204                                                          has audio and is playing. This brings the code into
3205                                                          compliance with the detached element behavior outlined
3206                                                          in the HTML5 spec.
3207         * html/HTMLMediaElement.idl: Added ActiveDOMObject annotation so that all derived classes are
3208                                      considered ActiveDOMObjects.
3209
3210 2013-03-07  Jeffrey Pfau  <jpfau@apple.com>
3211
3212         CFNetwork cache partitioning does not work properly on subdomains
3213         https://bugs.webkit.org/show_bug.cgi?id=111772
3214
3215         Reviewed by David Kilzer.
3216
3217         Ensure that the cache partitioning is done over the top privately-controlled domain for the NSURLRequest.
3218
3219         Not possible to test with current automated test tools, must be tested manually.
3220
3221         * loader/cache/MemoryCache.cpp: Remove extraneous calls to partitionName
3222         (WebCore):
3223         (WebCore::MemoryCache::add):
3224         (WebCore::MemoryCache::revalidationSucceeded):
3225         (WebCore::MemoryCache::resourceForRequest):
3226         (WebCore::MemoryCache::evict):
3227         (WebCore::MemoryCache::removeResourcesWithOrigin):
3228         * platform/network/cf/ResourceRequest.h: Put top privately-controlled domain reduction code into ResourceRequest::partitionName
3229         (ResourceRequest):
3230         (WebCore::ResourceRequest::cachePartition):
3231         (WebCore::ResourceRequest::setCachePartition): Pre-process the partition name
3232         * platform/network/cf/ResourceRequestCFNet.cpp:
3233         (WebCore):
3234         (WebCore::ResourceRequest::partitionName):
3235         * platform/network/mac/ResourceRequestMac.mm:
3236         (WebCore::ResourceRequest::doUpdatePlatformRequest): Use a UTF-8 version of the cache partition name
3237
3238 2013-03-07  Kenneth Russell  <kbr@google.com>
3239
3240         Compute WebGL context attributes from DrawingBuffer when it is used
3241         https://bugs.webkit.org/show_bug.cgi?id=111666
3242
3243         Reviewed by James Robinson.
3244
3245         Fixed computation of antialias flag when DrawingBuffer is used.
3246
3247         No new tests; covered by existing tests. Ran WebGL conformance
3248         tests on desktop Linux and Android to test.
3249
3250         * html/canvas/WebGLRenderingContext.cpp:
3251         (WebCore):
3252         (WebCore::WebGLRenderingContext::getContextAttributes):
3253             Query DrawingBuffer, when used, for antialias flag.
3254
3255 2013-03-07  Beth Dakin  <bdakin@apple.com>
3256
3257         Need API to draw custom overhang area
3258         https://bugs.webkit.org/show_bug.cgi?id=111679
3259         -and corresponding-
3260         <rdar://problem/13291415>
3261
3262         Reviewed by Simon Fraser.
3263
3264         This will allow clients to put custom images into the top or bottom overhang area.
3265
3266         New FrameView API takes a bool indicating whether the client wants a top/bottom 
3267         overhang layer. If the bool is true, the overhang layer will be returned. 
3268         * WebCore.exp.in:
3269         * page/FrameView.cpp:
3270         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
3271         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
3272         * page/FrameView.h:
3273         (FrameView):
3274
3275         Keep member variables for the top and bottom overhang layers. Create them if 
3276         necessary, and update them if the root layer changes.
3277         * rendering/RenderLayerCompositor.cpp:
3278         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3279         (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
3280         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
3281         (WebCore::RenderLayerCompositor::reportMemoryUsage):
3282         * rendering/RenderLayerCompositor.h:
3283         (RenderLayerCompositor):
3284
3285 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
3286
3287         Reduce page cache size on Mac
3288         https://bugs.webkit.org/show_bug.cgi?id=111795
3289
3290         Rubber stamped by Geoff Garen
3291
3292         5 entries is unnecessarily large; research show 3 should suffice.
3293         On a low memory warning we should clear this completely.
3294
3295         * platform/mac/MemoryPressureHandlerMac.mm:
3296         (WebCore::MemoryPressureHandler::releaseMemory):
3297             - clear the page cache completely
3298
3299 2013-03-07  Simon Fraser  <simon.fraser@apple.com>
3300
3301         Rename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
3302         https://bugs.webkit.org/show_bug.cgi?id=111779
3303
3304         Reviewed by Tim Horton.
3305         
3306         "TileCache" was a name conflict in downstream code, so rename it to TileController.
3307         The layer that has a TileController is now a WebTiledBackingLayer (which fits with
3308         the TiledBacking API that TileController exposes).
3309         
3310         Also renamed the flags in PlatformCALayer to match.
3311
3312         Rename only, no behavior change.
3313
3314         * WebCore.xcodeproj/project.pbxproj:
3315         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3316         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
3317         * platform/graphics/GraphicsLayerClient.h:
3318         (WebCore::GraphicsLayerClient::shouldUseTiledBacking):
3319         * platform/graphics/ca/GraphicsLayerCA.cpp:
3320         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3321         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3322         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
3323         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
3324         (WebCore::GraphicsLayerCA::updateVisibleRect):
3325         (WebCore::GraphicsLayerCA::getDebugBorderInfo):
3326         (WebCore::GraphicsLayerCA::requiresTiledLayer):
3327         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3328         * platform/graphics/ca/GraphicsLayerCA.h:
3329         * platform/graphics/ca/PlatformCALayer.h:
3330         (WebCore::PlatformCALayer::usesTiledBackingLayer):
3331         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3332         (PlatformCALayer::PlatformCALayer):
3333         (PlatformCALayer::~PlatformCALayer):
3334         (PlatformCALayer::tiledBacking):
3335         * platform/graphics/ca/mac/TileController.h: Renamed from Source/WebCore/platform/graphics/ca/mac/TileCache.h.
3336         * platform/graphics/ca/mac/WebTileLayer.h:
3337         (TileController):
3338         * platform/graphics/ca/mac/WebTileLayer.mm:
3339         (-[WebTileLayer drawInContext:]):
3340         (-[WebTileLayer setTileController:WebCore::]):
3341         (-[WebTileLayer logFilledFreshTile]):
3342         * platform/graphics/ca/mac/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h.
3343         * platform/graphics/ca/mac/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm.
3344         * platform/graphics/mac/WebLayer.mm:
3345         (drawLayerContents):
3346         * rendering/RenderLayerBacking.cpp:
3347         (WebCore::RenderLayerBacking::RenderLayerBacking):
3348         (WebCore::RenderLayerBacking::shouldUseTiledBacking):
3349         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
3350         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3351         * rendering/RenderLayerBacking.h:
3352         (WebCore::RenderLayerBacking::usingTiledBacking):
3353         (RenderLayerBacking):
3354         (WebCore::RenderLayerBacking::hasTiledBackingFlatteningLayer):
3355         * rendering/RenderLayerCompositor.cpp:
3356         (WebCore::RenderLayerCompositor::frameViewDidLayout):
3357         (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
3358         (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):
3359
3360 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
3361
3362         FormData should allow setting filename to empty
3363         https://bugs.webkit.org/show_bug.cgi?id=111687
3364
3365         Reviewed by Brady Eidson.
3366
3367         Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
3368                http/tests/local/formdata/send-form-data-with-empty-file-filename.html
3369
3370         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
3371         Missing value is a null string. If the string is empty, we should treat is as
3372         authoritative.
3373
3374 2013-03-07  David Hyatt  <hyatt@apple.com>
3375
3376         REGRESSION: fast/border/border-fit-2.html needs updating
3377         https://bugs.webkit.org/show_bug.cgi?id=111776
3378
3379         Reviewed by Simon Fraser.
3380
3381         This test is incorrectly shrinking the border image now.
3382         We need to apply some clamping to the border-fit like the
3383         old code did. The pixel results *are* still changing though,
3384         since a layout-time shrinkage will not result in right-aligned
3385         boxes in an LTR block when the left edge gets chopped. We'll
3386         have to see if this behavioral change ends up being a problem,
3387         but for now we'll rebaseline and assume it will be ok.
3388
3389         * rendering/RenderBlock.cpp:
3390         (WebCore::RenderBlock::fitBorderToLinesIfNeeded):
3391
3392 2013-03-07  Antoine Quint  <graouts@apple.com>
3393
3394         Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent
3395         https://bugs.webkit.org/show_bug.cgi?id=111703
3396
3397         Introduce a new LayerTree.reasonsForCompositingLayer(layerId) method which returns
3398         the list of reasons why the provided layer was composited as an object with an
3399         optional property for each possible reason. The RenderLayerCompositor already knows
3400         how to provide this information via its own reasonsForCompositing() method, and we
3401         process the returned bitmask to populate the object sent to the front-end.
3402
3403         Reviewed by Timothy Hatcher.
3404
3405         Test: inspector-protocol/layers/layers-compositing-reasons.html
3406
3407         * inspector/Inspector.json:
3408         * inspector/InspectorLayerTreeAgent.cpp:
3409         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
3410         (WebCore):
3411         * inspector/InspectorLayerTreeAgent.h:
3412         (InspectorLayerTreeAgent):
3413
3414 2013-03-07  Anders Carlsson  <andersca@apple.com>
3415
3416         Add a didFocusTextField callback to the injected bundle form client
3417         https://bugs.webkit.org/show_bug.cgi?id=111771
3418
3419         Reviewed by Andreas Kling.
3420
3421         Export a symbol needed by WebKit2.
3422
3423         * WebCore.exp.in:
3424
3425 2013-03-06  James Robinson  <jamesr@chromium.org>
3426
3427         [chromium] Stop using WebTransformationMatrix on WebLayer
3428         https://bugs.webkit.org/show_bug.cgi?id=111635
3429
3430         Reviewed by Adrienne Walker.
3431
3432         Switches over to the SkMatrix44 transform setters.
3433
3434         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3435         (WebCore::transformToSkMatrix44):
3436           Utility for convering a WebCore::TransformationMatrix to an SkMatrix44.
3437           Will move to a more common location once it gets more callers.
3438         (WebCore::GraphicsLayerChromium::updateTransform):
3439         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
3440
3441 2013-03-07  Eric Carlson  <eric.carlson@apple.com>
3442
3443