Disable hinting when webkit-font-smoothing:antialiased is used on Mac.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-10-09  Ben Wagner  <bungeman@chromium.org>
2
3         Disable hinting when webkit-font-smoothing:antialiased is used on Mac.
4         https://bugs.webkit.org/show_bug.cgi?id=98061
5
6         Reviewed by Stephen White.
7
8         Normal anti-aliased text matches subpixel anti-aliased text.
9         However, text marked with webkit-font-smoothing:antialiased should be drawn without hinting to match Safari.
10         See crbug.com/152304 . 
11
12         Test is fast/css/font-smoothing.html, but DRT runs with font smoothing disabled, so no change visible. 
13
14         * platform/graphics/skia/FontSkia.cpp:
15         (WebCore::setupPaint):
16         Set kNo_Hinting when webkit-font-smoothing is antialiased.
17
18 2012-10-09  Max Vujovic  <mvujovic@adobe.com>
19
20         [CSS Shaders] Create constants for vertex attribute sizes and offsets
21         https://bugs.webkit.org/show_bug.cgi?id=94755
22
23         Reviewed by Dean Jackson.
24
25         Factor out the vertex attribute size and offset constants into a new file,
26         CustomFilterConstants.h. Replace literals in CustomFilterMeshGenerator with the constants.
27
28         I could have added the constants to CustomFilterMeshGenerator.h, but this would make
29         FECustomFilter depend on CustomFilterMeshGenerator.
30
31         I also could have added the constants to CustomFilterMesh.h, but this would make
32         CustomFilterMeshGenerator depend on CustomFilterMesh.
33
34         No new tests. No change in behavior.
35
36         * GNUmakefile.list.am:
37         * Target.pri:
38         * WebCore.gypi:
39         * WebCore.vcproj/WebCore.vcproj:
40         * WebCore.xcodeproj/project.pbxproj:
41         * platform/graphics/CustomFilterConstants.h: Added.
42         (WebCore):
43         * platform/graphics/filters/CustomFilterMeshGenerator.h:
44         (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
45             Use the new constants instead of literal values.
46         * platform/graphics/filters/FECustomFilter.cpp:
47         (WebCore::FECustomFilter::bindProgramAndBuffers):
48             Pull the constant definitions out of here.
49
50 2012-10-09  Michael Saboff  <msaboff@apple.com>
51
52         MarkupAccumulator should optimally handle 8 bit Strings
53         https://bugs.webkit.org/show_bug.cgi?id=98224
54
55         Reviewed by Ryosuke Niwa.
56
57         Updated appendCharactersReplacingEntities to take a string, offset and length and process 8 or 16 bit
58         data as appropriate.  Also made it a member function of MarkupAccumulator.
59
60         No new tests, behavior covered by existing tests.
61
62         * editing/MarkupAccumulator.cpp:
63         (WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
64         (WebCore::MarkupAccumulator::appendAttributeValue):
65         (WebCore::MarkupAccumulator::appendNodeValue):
66         * editing/MarkupAccumulator.h:
67         (MarkupAccumulator):
68         * editing/markup.cpp:
69         (WebCore::StyledMarkupAccumulator::appendText):
70         (WebCore::urlToMarkup):
71
72 2012-10-09  Joshua Bell  <jsbell@chromium.org>
73
74         IndexedDB: Overflowing key generator should throw ConstraintError
75         https://bugs.webkit.org/show_bug.cgi?id=98807
76
77         Reviewed by Tony Chang.
78
79         After the WebKit implementation landed throwing DataError, public-webapps
80         consensus was that the exception thrown should be ConstraintError. Trivial
81         change, and we pass one more W3C test submission.
82
83         Test: storage/indexeddb/key-generator.html
84
85         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
86         (WebCore::IDBObjectStoreBackendImpl::putInternal):
87
88 2012-10-08  Martin Robinson  <mrobinson@igalia.com>
89
90         Fix the order of the statements in my previous build fix.
91
92         Reviewed by Gustavo Noronha Silva.
93
94         My previous build build fix for ResourceHandleSoup ordered the assignment
95         of the local ResourceHandleInternal incorrectly. Instead of being before
96         both assertions, it should be interspersed among them.
97
98         * platform/network/soup/ResourceHandleSoup.cpp:
99         (WebCore::createSoupMessageForHandleAndRequest):
100
101 2012-10-09  Beth Dakin  <bdakin@apple.com>
102
103         https://bugs.webkit.org/show_bug.cgi?id=98457
104         ScrollingStateNodes should be referenced via IDs on 
105         RenderLayerBacking
106
107         Reviewed by Simon Fraser.
108
109         This patch associates all ScrollingStateNodes with a 
110         RenderLayerBacking via a HashMap from RenderLayerBackings to 
111         ScrollingStateNodes on ScrollingCoordinator. Prior to this patch, the 
112         root ScrollingStateNode was created immediately upon creation of the 
113         ScrollingCoordinator, and it was constantly re-used for every main 
114         FrameView. This doesn't work in the new model since that doesn't 
115         allow that ScrollingStateNode to have a definite association with a 
116         RenderLayerBacking. So this patch does also introduce some lifetime 
117         differences with the ScrollingStateNodes.
118
119         If a page is going into the page cache, we should clear the state 
120         tree. When the page is in the cache, we won't have access to the 
121         RenderLayerBacking, and we don't want to be doing anything with the 
122         ScrollingStateNodes anyway.
123         * dom/Document.cpp:
124         (WebCore::Document::setInPageCache):
125
126         When a page is restored from the page cache, call 
127         frameViewRootLayerDidChange() to re-create the state tree.
128         * loader/HistoryController.cpp:
129         (WebCore::HistoryController::restoreScrollPositionAndViewState):
130
131         This new FrameView function will return the scrollLayerID for a given FrameView.
132         * page/FrameView.cpp:
133         (WebCore::FrameView::scrollLayerID):
134         (WebCore):
135         * page/FrameView.h:
136         (FrameView):
137
138         There is a lot of unfortunate fiddling with the terrible 
139         if-defs in ScrollingCoordinator. I added a FIXME to the header
140         noting how we can avoid this in the future.
141         * page/scrolling/ScrollingCoordinator.cpp:
142
143         All of this code used to refer to the rootStateNode directly. 
144         Instead, now it looks up the proper ScrollingStateNode for the given 
145         FrameView in the HashMap.
146         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
147         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
148         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
149         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
150         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition):
151         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
152         (WebCore::ScrollingCoordinator::setScrollLayerForNode):
153         (WebCore::ScrollingCoordinator::setNonFastScrollableRegionForNode):
154         (WebCore::ScrollingCoordinator::setScrollParametersForNode):
155         (WebCore::ScrollingCoordinator::setWheelEventHandlerCountForNode):
156
157         Returns the existing ScrollingStateNode for a given FrameView by 
158         looking it up in the HashMap.
159         (WebCore::ScrollingCoordinator::stateNodeForFrameView):
160
161         This is called when a RenderLayerBacking is destroyed. At that time, 
162         its associated ScrollingStateNode is destroyed.
163         (WebCore::ScrollingCoordinator::detachFromStateTree):
164
165         clearStateTree() clears the HashMap and destroys all of the nodes in 
166         the current state tree.
167         (WebCore::ScrollingCoordinator::clearStateTree):
168
169         Creates a new root state node for the given FrameView.
170         (WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):
171
172         Some new functions for the new node stuff.
173         * page/scrolling/ScrollingCoordinator.h:
174         * page/scrolling/ScrollingCoordinatorNone.cpp:
175         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
176         (WebCore::ScrollingCoordinator::supportsFixedPositionLayers):
177         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
178         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
179         (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
180         (WebCore::ScrollingCoordinator::detachFromStateTree):
181         (WebCore::ScrollingCoordinator::clearStateTree):
182         (WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):
183         (WebCore::setScrollParameters):
184         (WebCore::setWheelEventHandlerCount):
185
186         New remove functions are used when the sate tree is cleared and when 
187         a RenderLayerBacking is destroyed.
188         * page/scrolling/ScrollingStateNode.cpp:
189         (WebCore::ScrollingStateNode::removeChild):
190         (WebCore):
191         * page/scrolling/ScrollingStateNode.h:
192         (WebCore::ScrollingStateNode::isScrollingStateScrollingNode):
193         (ScrollingStateNode):
194         (WebCore::ScrollingStateNode::parent):
195
196         New convenience function for casting to ScrollingStateScrollingNodes.
197         * page/scrolling/ScrollingStateScrollingNode.h:
198         (WebCore::toScrollingStateScrollingNode):
199         (WebCore):
200
201         No longer automatically create a root node upon creation of the 
202         ScrollingStateTree. We now want to wait to create the root node until 
203         we have a RenderLayerBacking to associate it with.
204         * page/scrolling/ScrollingStateTree.cpp:
205         (WebCore::ScrollingStateTree::ScrollingStateTree):
206         (WebCore::ScrollingStateTree::removeNode):
207         (WebCore):
208         * page/scrolling/ScrollingStateTree.h:
209         (WebCore::ScrollingStateTree::setRootStateNode):
210         (ScrollingStateTree):
211
212         RenderLayerBacking has a new data member called m_scrollLayerID. If 
213         this RenderLayerBacking is represented in the scrolling tree, then 
214         the ID with be unique and non-zero. 
215         * rendering/RenderLayerBacking.cpp:
216         (WebCore::RenderLayerBacking::RenderLayerBacking):
217         (WebCore::RenderLayerBacking::~RenderLayerBacking):
218         (WebCore::generateScrollLayerID):
219         (WebCore):
220         (WebCore::RenderLayerBacking::attachToScrollingCoordinator):
221         (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
222         * rendering/RenderLayerBacking.h:
223         (RenderLayerBacking):
224         (WebCore::RenderLayerBacking::scrollLayerID):
225
226         Move the call to ScrollingCooridinator::frameViewRootLayerDidChange() 
227         from RenderLayerCompositor::attachRootLayer() to 
228         RenderLayerCompositor:: updateBacking(). The problem with the old call 
229         site is that there is no backing at that time, so we are trying to set 
230         state on the root scrolling state node before we have enough 
231         information to create that node and add it to the HashMap.
232         * rendering/RenderLayerCompositor.cpp:
233         (WebCore::RenderLayerCompositor::updateBacking):
234         (WebCore::RenderLayerCompositor::attachRootLayer):
235
236 2012-10-09  Florin Malita  <fmalita@chromium.org>
237
238         SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*>
239         https://bugs.webkit.org/show_bug.cgi?id=98683
240
241         Reviewed by Darin Adler.
242
243         Eric's notes:
244
245         SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*>
246         They do basically the same thing, and the former is much more common (and less code). It's
247         also safe, on the off-chance that we're using AtomicStrings which might otherwise go away.
248
249         No new tests, refactoring. 
250
251         * rendering/svg/SVGResources.cpp:
252         (WebCore::clipperFilterMaskerTags):
253         (WebCore::markerTags):
254         (WebCore::fillAndStrokeTags):
255         (WebCore::chainableResourceTags):
256         (WebCore::SVGResources::buildCachedResources):
257
258 2012-10-09  Enrica Casucci  <enrica@apple.com>
259
260         [chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura-background-canvas.html
261         failing on the Mac after r130443
262         https://bugs.webkit.org/show_bug.cgi?id=98545
263
264         Reviewed by Tony Chang.
265
266         Fixes a regression introduced with r130443.
267         No new tests added since we already have tests covering this.
268         Updated TestExpectations for chromium and mac.
269
270         * platform/graphics/FontFastPath.cpp:
271         (WebCore::Font::glyphDataAndPageForCharacter): Text orientation should not be
272         taken into account if the character is an ideograph or a symbol.
273
274 2012-10-09  Philip Rogers  <pdr@google.com>
275
276         Prevent animation when CSS attributeType is invalid.
277         https://bugs.webkit.org/show_bug.cgi?id=94569
278
279         Reviewed by Dirk Schulze.
280
281         This patch changes hasValidAttributeType() to return false when
282         we have attributeType=CSS with a non-CSS attribute name.
283
284         Previously we would animate non-CSS attributes when attributeType was
285         CSS which resulted in crashes. To track this case, this patch catches
286         changes to targetElement, attributeName, and attributeType and checks
287         if an invalid combination is present. If invalid, hasInvalidCSSAttributeType()
288         will return true causing hasValidAttributeType() to return false and prevent
289         the animation from running.
290
291         Tests: svg/animations/animate-css-xml-attributeType.html
292                svg/animations/invalid-css-attribute-crash-expected.svg
293                svg/animations/invalid-css-attribute-crash.svg
294
295         * svg/SVGAnimateElement.cpp:
296         (WebCore::SVGAnimateElement::hasValidAttributeType):
297         (WebCore::SVGAnimateElement::targetElementWillChange):
298         * svg/SVGAnimationElement.cpp:
299         (WebCore::SVGAnimationElement::SVGAnimationElement):
300         (WebCore::SVGAnimationElement::isSupportedAttribute):
301
302             This now supports the attributeType attribute which is stored in m_attributeType.
303
304         (WebCore::SVGAnimationElement::parseAttribute):
305         (WebCore::SVGAnimationElement::setAttributeType):
306
307             Changes to attributeType, attributeName, and targetElement need to be tracked
308             to determine when an invalid combination happens.
309
310         (WebCore::SVGAnimationElement::targetElementWillChange):
311         (WebCore):
312         (WebCore::SVGAnimationElement::setAttributeName):
313         (WebCore::SVGAnimationElement::checkInvalidCSSAttributeType):
314         * svg/SVGAnimationElement.h:
315         (WebCore::SVGAnimationElement::attributeType):
316         (SVGAnimationElement):
317         (WebCore::SVGAnimationElement::hasInvalidCSSAttributeType):
318         * svg/animation/SVGSMILElement.cpp:
319         (WebCore::SVGSMILElement::targetElement):
320         * svg/animation/SVGSMILElement.h:
321         (SVGSMILElement):
322
323 2012-10-09  Pravin D  <pravind.2k4@gmail.com>
324
325         max-width property is does not overriding the width properties for css tables(display:table)
326         https://bugs.webkit.org/show_bug.cgi?id=98455
327
328         Reviewed by Tony Chang.
329
330         The max-width property determines the maximum computed width an element can have. In case of css tables(display:table),
331         the computed was not being limited by the max-width property. The current patch fixes this issue.
332
333         Test: fast/table/css-table-max-width.html
334
335         * rendering/RenderTable.cpp:
336         (WebCore::RenderTable::updateLogicalWidth):
337          Logic to compute the logical width of an element such that it does not exceed the max-width value.
338          Also when both min-width and max-width are present, the following contraint is used to compute the logical width:
339            1) min-width < Computed LogicalWidth < max-width, when min-width < max-width.
340            2) Computed LogicalWidth = min-width, when min-width > max-width.
341
342 2012-10-09  Harald Alvestrand  <hta@google.com>
343
344         Change PeerConnection getStats function to single value local / remote
345         elements in RTCStatsReport.
346
347         https://bugs.webkit.org/show_bug.cgi?id=98753
348
349         Reviewed by Adam Barth.
350
351         IDL of RTCStatsReport has been changed to make local/remote
352         single valued RTCStatsElement attributes.
353         The RTCStatsReport argument to index the list of RTCStatsElement
354         in the local and remote functions has been removed.
355
356         Tested by modifications to RTCPeerConnection-stats.html
357
358         * Modules/mediastream/RTCStatsReport.cpp:
359         (WebCore::RTCStatsReport::addElement):
360         (WebCore::RTCStatsReport::addStatistic):
361         * Modules/mediastream/RTCStatsReport.h:
362         (WebCore::RTCStatsReport::local):
363         (WebCore::RTCStatsReport::remote):
364         (RTCStatsReport):
365         * Modules/mediastream/RTCStatsReport.idl:
366         * Modules/mediastream/RTCStatsResponse.cpp:
367         (WebCore::RTCStatsResponse::addElement):
368         (WebCore::RTCStatsResponse::addStatistic):
369         * Modules/mediastream/RTCStatsResponse.h:
370         (RTCStatsResponse):
371         * platform/chromium/support/WebRTCStatsResponse.cpp:
372         (WebKit::WebRTCStatsResponse::addElement):
373         (WebKit::WebRTCStatsResponse::addStatistic):
374         * platform/mediastream/RTCStatsResponseBase.h:
375         (RTCStatsResponseBase):
376
377 2012-10-09  Antonio Gomes  <agomes@rim.com>
378
379         Get rid of FIXED_POSITION_CREATES_STACKING_CONTEXT in favor of Settings::fixedPositionCreatesStackingContext()
380         https://bugs.webkit.org/show_bug.cgi?id=98756
381
382         Reviewed by Rob Buis.
383
384         No behavior change so no new tests.
385
386         * css/StyleResolver.cpp:
387         (WebCore::StyleResolver::collectMatchingRulesForList):
388
389 2012-10-09  Simon Hausmann  <simon.hausmann@digia.com>
390
391         [Qt] Fix build with QtMultimedia
392
393         Reviewed by Tor Arne Vestbø.
394
395         This is an initial rudimentary port to of the QtMultimedia back-end,
396         adapted to slight API changes and (more importantly) to the
397         implementation of QAbstractVideoSurface instead of using
398         QGraphicsVideoItem (which is in QtMultimediaWidgets).
399
400         * WebCore.pri:
401         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
402         (WebCore::MediaPlayerPrivateQt::supportsType):
403         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
404         (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
405         (WebCore::MediaPlayerPrivateQt::didLoadingProgress):
406         (WebCore::MediaPlayerPrivateQt::totalBytes):
407         (WebCore::MediaPlayerPrivateQt::setVisible):
408         (WebCore::MediaPlayerPrivateQt::surfaceFormatChanged):
409         (WebCore::MediaPlayerPrivateQt::setSize):
410         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
411         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
412         (WebCore):
413         (WebCore::MediaPlayerPrivateQt::start):
414         (WebCore::MediaPlayerPrivateQt::supportedPixelFormats):
415         (WebCore::MediaPlayerPrivateQt::present):
416         (WebCore::MediaPlayerPrivateQt::paint):
417         (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
418         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
419         * platform/graphics/qt/MediaPlayerPrivateQt.h:
420         (MediaPlayerPrivateQt):
421
422 2012-10-09  Garrett Casto  <gcasto@chromium.org>
423
424         Allow users to specify a different hover image for TextFieldDecorationElement
425         https://bugs.webkit.org/show_bug.cgi?id=93662
426
427         Reviewed by Kent Tamura.
428
429         * html/shadow/TextFieldDecorationElement.cpp:
430         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
431         (WebCore::TextFieldDecorationElement::updateImage):
432         (WebCore::TextFieldDecorationElement::defaultEventHandler): Handles mouseover and mouseout events.
433         (WebCore::TextFieldDecorationElement::willRespondToMouseMoveEvents): Now returns true if the element is not disabled.
434         (WebCore):
435         * html/shadow/TextFieldDecorationElement.h:
436         (TextFieldDecorator):
437         (TextFieldDecorationElement):
438
439 2012-10-09  Allan Sandfeld Jensen  <allan.jensen@digia.com>
440
441         [Qt] Uploading images to Google+ using QtWebKit does not work.
442         https://bugs.webkit.org/show_bug.cgi?id=72329
443
444         Reviewed by Jocelyn Turcotte.
445
446         Implement handling of Blob FormData, including its extensions to the File FormData.
447
448         * platform/network/qt/QNetworkReplyHandler.cpp:
449         (WebCore::FormDataIODevice::FormDataIODevice):
450         (WebCore::appendBlobResolved):
451         (WebCore::FormDataIODevice::prepareFormElements):
452         (WebCore::FormDataIODevice::computeSize):
453         (WebCore::FormDataIODevice::moveToNextElement):
454         (WebCore::FormDataIODevice::prepareCurrentElement):
455         (WebCore::FormDataIODevice::openFileForCurrentElement):
456         (WebCore::FormDataIODevice::readData):
457         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
458         * platform/network/qt/QNetworkReplyHandler.h:
459         (FormDataIODevice):
460
461 2012-10-09  Arpita Bahuguna  <arpitabahuguna@gmail.com>
462
463         Text decorations specified on the containing block are not properly applied when ::first-line is present.
464         https://bugs.webkit.org/show_bug.cgi?id=93829
465
466         Reviewed by Abhishek Arya.
467
468         If a container's style and its pseudo :first-line style have unique
469         text-decorations specified for them, only the :first-line text-decoarations
470         were being applied.
471
472         The uploaded patch intends to first compute the text decoration colors
473         for the containing box, followed by that of the first-line (if specified).
474
475         This thus avoids the condition wherein our containing box's text-decorations
476         were not getting applied at all since initially we were only computing
477         for the first-line style.
478
479         Test: fast/css/text-decorations-on-first-line-and-containing-block.html
480
481         * rendering/InlineTextBox.cpp:
482         (WebCore::InlineTextBox::paintDecoration):
483         getTextDecorationColors() is first called for computing the containing box's
484         text-decoration values and then for first-line style's text-decorations,
485         if specified.
486
487 2012-10-09  Sheriff Bot  <webkit.review.bot@gmail.com>
488
489         Unreviewed, rolling out r130746.
490         http://trac.webkit.org/changeset/130746
491         https://bugs.webkit.org/show_bug.cgi?id=98749
492
493         It made 45 tests crash on Qt (Requested by Ossy on #webkit).
494
495         * platform/network/qt/QNetworkReplyHandler.cpp:
496         (WebCore::FormDataIODevice::FormDataIODevice):
497         (WebCore::FormDataIODevice::computeSize):
498         (WebCore::FormDataIODevice::moveToNextElement):
499         (WebCore::FormDataIODevice::openFileForCurrentElement):
500         (WebCore::FormDataIODevice::readData):
501         (WebCore::QNetworkReplyHandler::getIODevice):
502         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
503         * platform/network/qt/QNetworkReplyHandler.h:
504         (QNetworkReplyHandler):
505         (FormDataIODevice):
506
507 2012-10-09  Allan Sandfeld Jensen  <allan.jensen@digia.com>
508
509         [Qt] Uploading images to Google+ using QtWebKit does not work.
510         https://bugs.webkit.org/show_bug.cgi?id=72329
511
512         Reviewed by Jocelyn Turcotte.
513
514         Implement handling of Blob FormData, including its extensions to the File FormData.
515
516         * platform/network/qt/QNetworkReplyHandler.cpp:
517         (WebCore::FormDataIODevice::FormDataIODevice):
518         (WebCore::FormDataIODevice::computeSize):
519         (WebCore::FormDataIODevice::moveToNextElement):
520         (WebCore::FormDataIODevice::prepareCurrentElement):
521         (WebCore::FormDataIODevice::openFileForCurrentElement):
522         (WebCore::FormDataIODevice::readData):
523         (WebCore::QNetworkReplyHandler::getIODevice):
524         (WebCore::QNetworkReplyHandler::handleBlobDataIfAny):
525         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
526         * platform/network/qt/QNetworkReplyHandler.h:
527         (QNetworkReplyHandler):
528         (FormDataIODevice):
529
530 2012-10-09  Keishi Hattori  <keishi@webkit.org>
531
532         Page popup should be smarter about its layout
533         https://bugs.webkit.org/show_bug.cgi?id=98499
534
535         Reviewed by Kent Tamura.
536
537         This change fixes these two issues:
538         1. Page popup should reposition itself so it won't get clipped by screen(Win/Linux) or rootview(Mac) bounds.
539         2. Page popup should resize itself when it doesn't fit.
540
541         Test: platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html
542
543         * Resources/pagepopups/calendarPicker.js:
544         (initialize): We need to set global.params at the beginning because we need it for resizeWindow().
545         * Resources/pagepopups/colorSuggestionPicker.js: Added global.params.
546         (handleMessage):
547         (initialize):
548         (handleArgumentsTimeout):
549         * Resources/pagepopups/pickerCommon.js:
550         (Rect): Represents an axis aligned rectangle.
551         (Rect.prototype.get maxX): Gets position of right edge.
552         (Rect.prototype.get maxY): Gets position of bottom edge.
553         (Rect.prototype.toString):
554         (Rect.intersection): Returns the intersection of two rectangles.
555         (resizeWindow): Resize window to a certain size. Don't allow shrinking.
556         (adjustWindowRect): Calculates the best position and size for the popup.
557         (_adjustWindowRectVertically):
558         (_adjustWindowRectHorizontally):
559         (setWindowRect): Sets the position and size of the popup to the given rect.
560         * Resources/pagepopups/suggestionPicker.css:
561         (.suggestion-list): Don't show horizontal scroll bar.
562         * Resources/pagepopups/suggestionPicker.js:
563         (SuggestionPicker.prototype._fixWindowSize): 
564         * page/PagePopupClient.cpp:
565         (WebCore::PagePopupClient::addProperty): For adding an int to JSON.
566         (WebCore::PagePopupClient::addProperty): For adding an IntRect to JSON.
567         (WebCore):
568         * page/PagePopupClient.h:
569         (PagePopupClient):
570
571 2012-10-09  Hajime Morrita  <morrita@google.com>
572
573         [Refactoring] Scoped Style related code should have its own class.
574         https://bugs.webkit.org/show_bug.cgi?id=98244
575
576         Reviewed by Dimitri Glazkov.
577
578         This change extracts StyleScopeResolver from StyleResolver to clarify
579         the responsibility of the style scope handling. Now we can easily see
580         where the style scoping needs to be involed.
581
582         Coming Shadow DOM related change like @host rules will fit within this class.
583
584         No new tests, refactoring.
585
586         * CMakeLists.txt:
587         * GNUmakefile.list.am:
588         * Target.pri:
589         * WebCore.gypi:
590         * WebCore.xcodeproj/project.pbxproj:
591         * css/CSSAllInOne.cpp:
592         * css/StyleResolver.cpp:
593         (WebCore::StyleResolver::StyleResolver):
594         (WebCore::StyleResolver::collectFeatures):
595         (WebCore::StyleResolver::appendAuthorStylesheets):
596         (WebCore::StyleResolver::pushParentElement):
597         (WebCore::StyleResolver::popParentElement):
598         (WebCore::StyleResolver::pushParentShadowRoot):
599         (WebCore::StyleResolver::popParentShadowRoot):
600         (WebCore::StyleResolver::matchScopedAuthorRules):
601         (WebCore::StyleResolver::collectMatchingRulesForList):
602         (WebCore::StyleResolver::reportMemoryUsage):
603         * css/StyleResolver.h:
604         (StyleResolver):
605         * css/StyleScopeResolver.cpp: Added.
606         (WebCore):
607         (WebCore::StyleScopeResolver::StyleScopeResolver):
608         (WebCore::StyleScopeResolver::~StyleScopeResolver):
609         (WebCore::StyleScopeResolver::scopeFor):
610         (WebCore::StyleScopeResolver::ruleSetFor):
611         (WebCore::StyleScopeResolver::ensureRuleSetFor):
612         (WebCore::StyleScopeResolver::setupStack):
613         (WebCore::StyleScopeResolver::push):
614         (WebCore::StyleScopeResolver::pop):
615         (WebCore::StyleScopeResolver::collectFeaturesTo):
616         (WebCore::StyleScopeResolver::reportMemoryUsage):
617         * css/StyleScopeResolver.h: Added.
618         (WebCore):
619         (StyleScopeResolver):
620         (WebCore::StyleScopeResolver::StackFrame::StackFrame):
621         (StackFrame):
622         (WebCore::StyleScopeResolver::hasScopedStyles):
623         (WebCore::StyleScopeResolver::stackSize):
624         (WebCore::StyleScopeResolver::stackFrameAt):
625         (WebCore::StyleScopeResolver::matchesStyleBounds):
626         (WebCore::StyleScopeResolver::stackIsConsistent):
627         (WebCore::StyleScopeResolver::ensureStackConsistency):
628         (WebCore::StyleScopeResolver::scopeFor):
629         (WebCore::StyleScopeResolver::ensureRuleSetFor):
630
631 2012-10-08  Simon Hausmann  <simon.hausmann@digia.com>
632
633         [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
634         https://bugs.webkit.org/show_bug.cgi?id=98268
635
636         Reviewed by Tor Arne Vestbø.
637
638         Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.
639
640         QStyleFacade is a pure interface that lives in WebCore/platform/qt
641         (next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
642         minimal interface of what we need to draw with QStyle as well as basic
643         hit testing and metric retrieval. It also provides a
644         QStyleFacadeOption class that aggregates common meta-data for
645         rendering primitives, such as direction, rectangle, state (sunken,
646         enabled, etc.) or palette. It also provides some more slider/scrollbar
647         specific fields in a slider sub-structure.
648
649         RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
650         them with state information from render objects, before calling straight to QStyle. Most of the common code
651         was encapsulated in StylePainterQStyle.
652
653         The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
654         StylePainterQStyle to populate state into QStyleFacadeOption before
655         calling into QStyleFacade.
656
657         The style facade is then implemented by QStyleFacadeImp, which extracts
658         meta-data from QStyleFacadeOption arguments, populates style
659         primitive specific QStyleOption objects and then calls on QStyle.
660
661         RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
662         from QStyleFacade. QStyleFacadeImp on the other hand will live in the
663         separate QtWebKitWidgets library in the future and therefore cannot use
664         any WebCore types.
665
666         * Target.pri:
667         * platform/qt/QStyleFacade.cpp: Added.
668         (WebCore):
669         (WebCore::QStyleFacade::styleForPage):
670         * platform/qt/QStyleFacade.h: Added.
671         (WebCore):
672         (QStyleFacade):
673         (WebCore::QStyleFacade::~QStyleFacade):
674         (WebCore::QStyleFacadeOption::QStyleFacadeOption):
675         (QStyleFacadeOption):
676         * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
677         (WebCore):
678         (WebCore::RenderThemeQStyle::getStylePainter):
679         (WebCore::StylePainterQStyle::StylePainterQStyle):
680         (WebCore::StylePainterQStyle::init):
681         (WebCore::RenderThemeQStyle::create):
682         (WebCore::RenderThemeQStyle::setStyleFactoryFunction):
683         (WebCore::RenderThemeQStyle::styleFactory):
684         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
685         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
686         (WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
687         (WebCore::RenderThemeQStyle::inflateButtonRect):
688         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
689         (WebCore::RenderThemeQStyle::adjustButtonStyle):
690         (WebCore::RenderThemeQStyle::setButtonPadding):
691         (WebCore::RenderThemeQStyle::paintButton):
692         (WebCore::RenderThemeQStyle::paintTextField):
693         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
694         (WebCore::RenderThemeQStyle::paintTextArea):
695         (WebCore::RenderThemeQStyle::setPopupPadding):
696         (WebCore::RenderThemeQStyle::colorPalette):
697         (WebCore::RenderThemeQStyle::paintMenuList):
698         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
699         (WebCore::RenderThemeQStyle::paintMenuListButton):
700         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
701         (WebCore::RenderThemeQStyle::paintProgressBar):
702         (WebCore::RenderThemeQStyle::paintSliderTrack):
703         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
704         (WebCore::RenderThemeQStyle::paintSliderThumb):
705         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
706         (WebCore::RenderThemeQStyle::paintSearchField):
707         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
708         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
709         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
710         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
711         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
712         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
713         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
714         * platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h.
715         (WebCore):
716         (RenderThemeQStyle):
717         (WebCore::RenderThemeQStyle::qStyle):
718         (StylePainterQStyle):
719         (WebCore::StylePainterQStyle::isValid):
720         (WebCore::StylePainterQStyle::paintButton):
721         (WebCore::StylePainterQStyle::paintTextField):
722         (WebCore::StylePainterQStyle::paintComboBox):
723         (WebCore::StylePainterQStyle::paintComboBoxArrow):
724         (WebCore::StylePainterQStyle::paintSliderTrack):
725         (WebCore::StylePainterQStyle::paintSliderThumb):
726         (WebCore::StylePainterQStyle::paintInnerSpinButton):
727         (WebCore::StylePainterQStyle::paintProgressBar):
728         (WebCore::StylePainterQStyle::paintScrollCorner):
729         (WebCore::StylePainterQStyle::paintScrollBar):
730         * platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp.
731         (WebCore):
732         (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
733         (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
734         (WebCore::scPart):
735         (WebCore::scrollbarPart):
736         (WebCore::initSliderStyleOption):
737         (WebCore::ScrollbarThemeQStyle::paint):
738         (WebCore::ScrollbarThemeQStyle::hitTest):
739         (WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
740         (WebCore::ScrollbarThemeQStyle::invalidatePart):
741         (WebCore::ScrollbarThemeQStyle::scrollbarThickness):
742         (WebCore::ScrollbarThemeQStyle::thumbPosition):
743         (WebCore::ScrollbarThemeQStyle::thumbLength):
744         (WebCore::ScrollbarThemeQStyle::trackPosition):
745         (WebCore::ScrollbarThemeQStyle::trackLength):
746         (WebCore::ScrollbarThemeQStyle::paintScrollCorner):
747         * platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h.
748         (WebCore):
749         (ScrollbarThemeQStyle):
750         (WebCore::ScrollbarThemeQStyle::qStyle):
751
752 2012-10-08  Kiran Muppala  <cmuppala@apple.com>
753
754         Throttle DOM timers on hidden pages.
755         https://bugs.webkit.org/show_bug.cgi?id=98474
756
757         Reviewed by Maciej Stachowiak.
758
759         When the visibility of a page changes to "hidden", all it's DOM timers are
760         updated to align their fire times on one second intervals.  This limits the
761         number of CPU wakes due to a hidden pages to one per second.
762
763         Test: fast/dom/timer-throttling-hidden-page.html
764
765         * Configurations/FeatureDefines.xcconfig:
766         * WebCore.exp.in:
767         * dom/Document.cpp:
768         (WebCore):
769         (WebCore::Document::timerAlignmentInterval):
770         Read Page::timerAlignmentInterval and pass it along to DOMTimer.
771
772         * dom/Document.h:
773         (Document):
774         * dom/ScriptExecutionContext.cpp:
775         (WebCore):
776         (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
777         Scan through self DOM Timers and tell them to recompute their fire
778         time based on the updated alignment interval.
779         (WebCore::ScriptExecutionContext::timerAlignmentInterval):
780
781         * dom/ScriptExecutionContext.h:
782         (ScriptExecutionContext):
783         * page/DOMTimer.cpp:
784         (WebCore):
785         (WebCore::DOMTimer::alignedFireTime):
786         If the document's alignment interval is non zero, round up the fire
787         time to the next multiple of alignment interval.
788
789         * page/DOMTimer.h:
790         (DOMTimer):
791         (WebCore::DOMTimer::defaultTimerAlignmentInterval):
792         (WebCore::DOMTimer::setDefaultTimerAlignmentInterval):
793         * page/Page.cpp:
794         (WebCore::Page::Page):
795         (WebCore):
796         (WebCore::Page::setTimerAlignmentInterval):
797         (WebCore::Page::timerAlignmentInterval):
798         (WebCore::Page::setVisibilityState):
799         Getter and Setter for alignment interval.  Expose setVisibilityState
800         if either PAGE_VISIBILITY_API is enabled or if HIDDEN_PAGE_DOM_TIMER_REDUCTION
801         is enabled.
802
803         * page/Page.h:
804         (Page):
805         * page/Settings.cpp:
806         (WebCore):
807         (WebCore::Settings::setDefaultDOMTimerAlignmentInterval):
808         (WebCore::Settings::defaultDOMTimerAlignmentInterval):
809         (WebCore::Settings::setDOMTimerAlignmentInterval):
810         (WebCore::Settings::domTimerAlignmentInterval):
811         * page/Settings.h:
812         (Settings):
813         * page/SuspendableTimer.cpp:
814         (WebCore::SuspendableTimer::suspend):
815         Save the time remaining to the original unaligned fire time, so that
816         on resuming, the fire time will be correctly aligned using the latest
817         alignment interval.
818
819         * platform/ThreadTimers.cpp:
820         (WebCore::ThreadTimers::sharedTimerFiredInternal):
821         Clear m_unalignedNextFireTime along with m_nextFireTime to keep
822         them always in sync.
823
824         * platform/Timer.cpp:
825         (WebCore::TimerBase::TimerBase):
826         (WebCore::TimerBase::setNextFireTime):
827         Save the requested fire time in m_unalignedNextFireTime and
828         set m_nextFireTime to the aligned value.  The unalinged value
829         is used to recompute fire time if alignment interval changes.
830         (WebCore):
831         (WebCore::TimerBase::didChangeAlignmentInterval):
832         Recompute next fire time from m_unalignedNextFireTime.
833         (WebCore::TimerBase::nextUnalignedFireInterval):
834         Interval from current time to the original unaligned fire time.
835
836         * platform/Timer.h:
837         (TimerBase):
838         (WebCore::TimerBase::alignedFireTime):
839
840 2012-10-08  Andreas Kling  <kling@webkit.org>
841
842         1.18MB below RenderTableSection::setCachedCollapsedBorderValue() on Membuster3.
843         <http://webkit.org/b/98670>
844         <rdar://problem/12454276>
845
846         Reviewed by Anders Carlsson.
847
848         Refactor CollapsedBorderValue to only store the bits and pieces from the BorderValue
849         that it actually needs. Packed the whole thing into 64 bits.
850
851         Reduces memory consumption by 547kB on Membuster3.
852
853         * rendering/RenderTableCell.cpp:
854
855             Add compile-time size assertion for CollapsedBorderValue.
856
857         * rendering/style/CollapsedBorderValue.h:
858         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
859         (WebCore::CollapsedBorderValue::width):
860         (WebCore::CollapsedBorderValue::style):
861         (WebCore::CollapsedBorderValue::color):
862         (WebCore::CollapsedBorderValue::isTransparent):
863         (WebCore::CollapsedBorderValue::precedence):
864         (WebCore::CollapsedBorderValue::isSameIgnoringColor):
865         (CollapsedBorderValue):
866
867             Apply shrinkwrap to CollapsedBorderValue. Removed specialized copy constructor since
868             the class only has primitive members now.
869
870 2012-10-08  Yoshifumi Inoue  <yosin@chromium.org>
871
872         HTMLSelectElement::typeAheadFind depends on implementation dependent behavior
873         https://bugs.webkit.org/show_bug.cgi?id=98710
874
875         Reviewed by Kent Tamura.
876
877         This patch gets rid of C/C++ implementation dependent behavior from
878         HTMLSelectElement::typeAheadFind() which does modulo operation with
879         a negative operand.
880
881         HTMLSelectElement::typeAheadFind() contains expression with modulo
882         operator and dividend can be -1 when the "select" element without
883         "option" element but "optgroup" element.
884
885         Test: fast/forms/select/select-typeahead-crash.html
886
887         * html/HTMLSelectElement.cpp:
888         (WebCore::HTMLSelectElement::typeAheadFind): Changed to do modulo
889         operation with both operands are non-negative.
890
891 2012-10-08  Kent Tamura  <tkent@chromium.org>
892
893         Take account of overflowing values for width calculation of a year sub-field
894         https://bugs.webkit.org/show_bug.cgi?id=98506
895
896         Reviewed by Eric Seidel.
897
898         When we decide the width of a year field of an input[type=date]
899         with the multiple fields UI, we need to take account of the
900         current value width because we allow to set overflowing values to
901         the input[type=date].
902
903         This change affects only platforms with INPUT_TYPE_DATE &&
904         INPUT_MULTIPLE_FIELDS_UI.
905
906         Test: fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value.html
907
908         * html/shadow/DateTimeNumericFieldElement.cpp:
909         (WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
910         Take account of the current value width.
911
912 2012-10-08  Tony Chang  <tony@chromium.org>
913
914         image not displayed in flexbox
915         https://bugs.webkit.org/show_bug.cgi?id=98611
916
917         Reviewed by Ojan Vafai.
918
919         Flexbox will override the width of a child and when stretching, will override the height of the child.
920         When this happens, when an image loads, it checks to see if it's width/height has
921         changed, and if so, does a relayout.  The overridden width/height was preventing this
922         relayout from happening.
923
924         To fix, we clear all the override sizes when we're done laying out the flex children.
925
926         Test: css3/flexbox/relayout-image-load.html
927
928         * rendering/RenderFlexibleBox.cpp:
929         (WebCore::RenderFlexibleBox::layoutBlock): Clear child override sizes.
930         (WebCore::RenderFlexibleBox::clearChildOverrideSizes):
931         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): No longer need to clear the override size
932         here since it should have already been cleared.
933         * rendering/RenderFlexibleBox.h:
934
935 2012-10-08  Andreas Kling  <kling@webkit.org>
936
937         REGRESSION(r130643): editing/pasteboard/data-transfer-item is failing on chromium.
938         <http://webkit.org/b/98686>
939
940         Reviewed by Tony Chang.
941
942         Change ChromiumDataObject::createFromPasteboard() to use a ListHashSet instead of a HashSet so that
943         item order is preserved.
944
945         * platform/chromium/ChromiumDataObject.cpp:
946         (WebCore::ChromiumDataObject::createFromPasteboard):
947
948 2012-10-08  Eric Seidel  <eric@webkit.org>
949
950         Inline logicalHeightForRowSizing to shave another 2-3% off robohornet's resizecol.html
951         https://bugs.webkit.org/show_bug.cgi?id=98703
952
953         Reviewed by Emil A Eklund.
954
955         This is very small potatoes.  There are much bigger wins for table layout yet, but
956         this was an easy win.
957
958         This function should probably be converted to use int's only, as table cells are pixel-sized
959         according to our subpixel-experts.
960
961         Also, I suspect there should be ways to early return with less-math in the common cases, but
962         I've saved such for a later patch.
963
964         Note that I changed from using paddingBefore/paddingAfter (which include the instrinsic padding)
965         to calling computedCSSPaddingBefore/computedCSSPaddingAfter directly as well.
966
967         This single function is about 11% of total time for robohornet's resizecol.
968
969         * rendering/RenderTableCell.cpp:
970         * rendering/RenderTableCell.h:
971         (WebCore::RenderTableCell::logicalHeightForRowSizing):
972
973 2012-10-08  Alec Flett  <alecflett@chromium.org>
974
975         IndexedDB: remove autogenerated objectStore/index id code
976         https://bugs.webkit.org/show_bug.cgi?id=98085
977
978         Reviewed by Tony Chang.
979
980         Remove support for backend-generated objectstore and index
981         ids. The frontend objects now manage that state during
982         versionchange transactions. The IDBDatabaseBackendInterface and
983         IDBObjectStoreBackendInterface methods will go away when
984         https://bugs.webkit.org/show_bug.cgi?id=98682 lands.
985
986         No new tests as this is part of a refactoring, existing indexeddb
987         tests cover correctness.
988
989         * Modules/indexeddb/IDBBackingStore.h:
990         (IDBBackingStore):
991         * Modules/indexeddb/IDBDatabase.cpp:
992         (WebCore::IDBDatabase::createObjectStore):
993         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
994         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
995         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
996         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
997         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
998         (IDBDatabaseBackendInterface):
999         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1000         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1001         (WebCore::setMaxIndexId):
1002         (WebCore::IDBLevelDBBackingStore::createIndex):
1003         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1004         (IDBLevelDBBackingStore):
1005         * Modules/indexeddb/IDBObjectStore.cpp:
1006         (WebCore::IDBObjectStore::createIndex):
1007         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1008         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1009         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1010         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1011         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
1012
1013 2012-10-08  Jaehun Lim  <ljaehun.lim@samsung.com>
1014
1015         [CAIRO] Adjust the source rect size when IMAGE_DECODER_DOWN_SAMPLING is enabled
1016         https://bugs.webkit.org/show_bug.cgi?id=98630
1017
1018         Reviewed by Martin Robinson.
1019
1020         IMAGE_DECODER_DOWN_SAMPLING scales down the size of the big image.
1021         CAIRO needs to adjust the source size to the scaled value.
1022
1023         No new tests.
1024
1025         * platform/graphics/cairo/BitmapImageCairo.cpp:
1026         (WebCore::BitmapImage::draw):
1027
1028 2012-10-08  Adam Barth  <abarth@webkit.org>
1029
1030         Remove unused features of BlobBuilder
1031         https://bugs.webkit.org/show_bug.cgi?id=98331
1032
1033         Reviewed by Eric Seidel.
1034
1035         Now that we don't expose BlobBuilder as a web platform API, we can
1036         strip down the class to handle only those cases that are needed by the
1037         Blob constructor.
1038
1039         I've also renamed the class from WebKitBlobBuilder to BlobBuilder and
1040         made it stack allocated rather than RefCounted. A future patch will
1041         actually move the files around. (I didn't want to mix moving code
1042         around with modifying the code.)
1043
1044         * bindings/js/JSBlobCustom.cpp:
1045         (WebCore::JSBlobConstructor::constructJSBlob):
1046         * bindings/v8/custom/V8BlobCustom.cpp:
1047         (WebCore::V8Blob::constructorCallback):
1048         * fileapi/WebKitBlobBuilder.cpp:
1049         (WebCore):
1050         (WebCore::BlobBuilder::BlobBuilder):
1051         (WebCore::BlobBuilder::getBuffer):
1052         (WebCore::BlobBuilder::append):
1053         (WebCore::BlobBuilder::appendBytesData):
1054         (WebCore::BlobBuilder::getBlob):
1055         * fileapi/WebKitBlobBuilder.h:
1056         (WebCore):
1057         (BlobBuilder):
1058         * page/FeatureObserver.h:
1059
1060 2012-10-08  Martin Robinson  <mrobinson@igalia.com>
1061
1062         Try to fix the debug build after r130699
1063
1064         Move the assignment of the ResourceHandleInternal local to before
1065         the include statement where it is used.
1066
1067         * platform/network/soup/ResourceHandleSoup.cpp:
1068         (WebCore::createSoupMessageForHandleAndRequest):
1069
1070 2012-10-08  Nate Chapin  <japhet@chromium.org>
1071
1072         Post-r130226 Cleanup: Comment a complicated if statement and make it a helper.
1073         https://bugs.webkit.org/show_bug.cgi?id=98463
1074
1075         Reviewed by Eric Seidel.
1076
1077         No new tests, refactor only.
1078
1079         * rendering/RenderLayer.cpp:
1080         (WebCore::frameElementAndViewPermitScroll):
1081         (WebCore::RenderLayer::scrollRectToVisible):
1082
1083 2012-10-06  Martin Robinson  <mrobinson@igalia.com>
1084
1085         [Soup] Simplify the way that requests are started
1086         https://bugs.webkit.org/show_bug.cgi?id=98532
1087
1088         Reviewed by Gustavo Noronha Silva.
1089
1090         Simplify the creation of the libsoup request and message when kicking off
1091         requests, by elminating a bit of duplicate code.
1092
1093         No new tests. This should not change any behavior.
1094
1095         * platform/network/ResourceHandle.h:
1096         (ResourceHandle):
1097         * platform/network/soup/ResourceHandleSoup.cpp:
1098         (WebCore):
1099         (WebCore::ResourceHandleInternal::soupSession): Ensure the session
1100         is initialized when passing it to the caller.
1101         (WebCore::createSoupMessageForHandleAndRequest): Added this helper which
1102         takes care of creating the SoupMessage for HTTP/HTTPS requests.
1103         (WebCore::createSoupRequestAndMessageForHandle): Collapsed the HTTP and
1104         non-HTTP request creation into this helper.
1105         (WebCore::ResourceHandle::start): Call the new helper now and then sendPendingRequest.
1106         (WebCore::ResourceHandle::sendPendingRequest): Instead of having special
1107         helpers to create and send the request, duplicating the logic for sending it
1108         across the file, add this method which can be used in both cases.
1109         (WebCore::waitingToSendRequest): Reworked the hasBeenSent method to answer
1110         the question of whether or not the request is ready to be sent, but is unsent.
1111         (WebCore::ResourceHandle::platformSetDefersLoading): Use the new helper.
1112         * platform/network/soup/ResourceRequest.h:
1113         (ResourceRequest): Added a new method for getting the URL string for soup.
1114         * platform/network/soup/ResourceRequestSoup.cpp:
1115         (WebCore::ResourceRequest::urlStringForSoup): Added.
1116
1117 2012-10-08  Eric Seidel  <eric@webkit.org>
1118
1119         Make no-column table-layout cases a little faster with inlining
1120         https://bugs.webkit.org/show_bug.cgi?id=98566
1121
1122         Reviewed by Julien Chaffraix.
1123
1124         This change is almost not worth it at only a couple percent boost on
1125         http://www.robohornet.org/tests/resizecol.html
1126         However, I think the logicalWidthFromTableColumn split it kinda nice
1127         so I've decided to post it anyway.
1128
1129         * rendering/RenderTable.cpp:
1130         (WebCore::RenderTable::slowColElement):
1131         * rendering/RenderTable.h:
1132         (WebCore::RenderTable::colElement):
1133         (RenderTable):
1134         * rendering/RenderTableCell.cpp:
1135         (WebCore::RenderTableCell::logicalWidthFromTableColumn):
1136         * rendering/RenderTableCell.h:
1137         (WebCore::RenderTableCell::styleOrColLogicalWidth):
1138         (RenderTableCell):
1139
1140 2012-10-08  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1141
1142         Rename RenderObject::firstLineStyleSlowCase() to a more appropriate cachedFirstLineStyle()
1143         https://bugs.webkit.org/show_bug.cgi?id=98631
1144
1145         Reviewed by Eric Seidel.
1146
1147         Renaming firstLineStyleSlowCase() to cachedFirstLineStyle().
1148
1149         The current name is confusing since the function actually gets the
1150         the cached first-line styles.
1151         It also makes the name more descriptive of its functionality
1152         and in accordance with RenderObject::uncachedFirstLineStyle().
1153
1154         No new tests required for this change since no change in behavior is expected.
1155
1156         * rendering/RenderObject.cpp:
1157         (WebCore::RenderObject::cachedFirstLineStyle):
1158         * rendering/RenderObject.h:
1159         (WebCore::RenderObject::firstLineStyle):
1160         (RenderObject):
1161         Renamed RenderObject::firstLineStyleSlowCase() to cachedFirstLineStyle()
1162         and made the associated changes.
1163
1164 2012-10-08  Sami Kyostila  <skyostil@chromium.org>
1165
1166         Some non-scrollable elements are added to non-fast-scrollable region
1167         https://bugs.webkit.org/show_bug.cgi?id=97927
1168
1169         Reviewed by James Robinson.
1170
1171         Only RenderLayers that can actually be scrolled should be added to the
1172         ScrollingCoordinator's non-fast scrollable region. Otherwise we may
1173         needlessly fall back to main thread scrolling.
1174
1175         Test: ScrollingCoordinatorChromiumTest.clippedBodyTest
1176
1177         * rendering/RenderLayer.cpp:
1178         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1179         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
1180
1181 2012-10-08  Simon Fraser  <simon.fraser@apple.com>
1182
1183         Move layerTreeAsText to window.internals
1184         https://bugs.webkit.org/show_bug.cgi?id=98690
1185
1186         Reviewed by James Robinson.
1187
1188         Add window.internals.layerTreeAsText(document), and change the tests to use it.
1189         I'll remove testRunner.layerTreeAsText() in a later patch.
1190
1191         * testing/Internals.cpp:
1192         (WebCore::Internals::layerTreeAsText):
1193         * testing/Internals.h:
1194         (Internals):
1195         * testing/Internals.idl:
1196
1197 2012-10-08  Jon Lee  <jonlee@apple.com>
1198
1199         Add render object that paints plugin snapshots
1200         https://bugs.webkit.org/show_bug.cgi?id=98322
1201         <rdar://problem/12426546>
1202
1203         Reviewed by Simon Fraser.
1204
1205         First, teach plugins to maintain a set of states when plugin snapshotting is enabled.
1206
1207         Second, a new RenderSnapshottedPlugIn class is a RenderEmbeddedObject that knows how to paint
1208         snapshots when the plugin is not visibly playing. It maintains a RenderImageResource to
1209         the generated poster image.
1210
1211         * html/HTMLPlugInElement.cpp:
1212         (WebCore::HTMLPlugInElement::HTMLPlugInElement): By default all plugins play on load.
1213         * html/HTMLPlugInElement.h: Move the inheritance of ImageLoaderClientBase down to
1214         HTMLPlugInImageElement, since that is the class that actually deals with image-based plugins.
1215         (WebCore::HTMLPlugInElement::displayState): Add bit for display state.
1216         (WebCore::HTMLPlugInElement::setDisplayState):
1217         (WebCore::HTMLPlugInElement::updateSnapshot):
1218
1219         * html/HTMLPlugInImageElement.cpp:
1220         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): If plugin snapshotting is
1221         enabled, plugin state is set to wait for a poster image.
1222         (WebCore::HTMLPlugInImageElement::createRenderer): Create RenderSnapshottedPlugIn if
1223         plugin snapshotting is enabled.
1224         (WebCore::HTMLPlugInImageElement::updateSnapshot): Once a snapshot is available, update the
1225         renderer and set its state to wait for user input to start the plugin.
1226         * html/HTMLPlugInImageElement.h:
1227         (HTMLPlugInImageElement):
1228
1229         * rendering/RenderObject.h:
1230         (WebCore::RenderObject::isSnapshottedPlugIn): Add new function to identify
1231         RenderSnapshottedPlugIn instances. Since RenderSnapshottedPlugIn inherits from
1232         RenderEmbeddedObject, isEmbeddedObject() still returns true.
1233         * rendering/RenderEmbeddedObject.h:
1234         (RenderEmbeddedObject): Elevate a few virtual methods to protected for
1235         RenderSnapshottedPlugIn to override.
1236
1237         * rendering/RenderSnapshottedPlugIn.cpp: Added.
1238         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize snapshot
1239         resource.
1240         (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Shut down snapshot
1241         image resource to remove the renderer as a client, and remove image from memory cache.
1242         (WebCore::RenderSnapshottedPlugIn::plugInImageElement): Convenience function to get the
1243         HTML element.
1244         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Cache the snapshot, and repaint.
1245         (WebCore::RenderSnapshottedPlugIn::paint): If the plugin is not playing, paint like a
1246         RenderImage does.
1247         (WebCore::RenderSnapshottedPlugIn::paintReplaced): Paint the snapshot and overlay if the
1248         plugin is not playing.
1249         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot): Inspired by
1250         RenderImage::paintReplaced() and RenderImage::paintIntoRect().
1251         * rendering/RenderSnapshottedPlugIn.h: Added.
1252         (WebCore::RenderSnapshottedPlugIn::isSnapshottedPlugin): Returns true.
1253
1254         * rendering/RenderTheme.h: Add a function that paints the overlay on top of the snapshot.
1255         * rendering/RenderThemeMac.h:
1256         * rendering/RenderThemeMac.mm:
1257         (WebCore::RenderThemeMac::paintPlugInSnapshotOverlay):
1258
1259         * WebCore.xcodeproj/project.pbxproj: Add new RenderSnapshottedPlugIn class.
1260         * CMakeLists.txt: Ditto.
1261         * GNUmakefile.list.am: Ditto.
1262         * Target.pri: Ditto.
1263         * WebCore.gypi: Ditto.
1264         * WebCore.vcproj/WebCore.vcproj: Ditto.
1265         * rendering/RenderingAllInOne.cpp: Ditto.
1266
1267 2012-10-08  Hans Muller  <hmuller@adobe.com>
1268
1269         [CSS Exclusions] Add support for polygonal shapes
1270         https://bugs.webkit.org/show_bug.cgi?id=96811
1271
1272         Reviewed by Dirk Schulze.
1273
1274         Initial version of the layout support for polygonal exclusion shapes: the ExclusionPolygon class.
1275         Supports the public ExclusionShape operations using the algorithm described here:
1276         http://hansmuller-webkit.blogspot.com/2012/06/horizontal-box-polygon-intersection-for.html.
1277         Although both the "included" and "excluded" operations are supported, only the former is
1278         used, since only shape-inside is supported at the moment.
1279
1280         The ExclusionPolygon class stores the polygon's edges in an interval tree.
1281
1282         Polygon edges are represented by the ExclusionPolygonEdge struct, which records the indices of
1283         the pair of vertices joined by the edge.  Edge vertex index1 is usually less than index2, except
1284         the last edge where index2 is 0.  We plan to improve the algorithm that creates the edges
1285         by spanning vertices contained in sequences of more than two colinear vertices. For example,
1286         a triangular polygon might be specified with 5 vertices like this: 3,0 5,0, 5,5, 4,4 2,2, 0,0.
1287         By spanning the extra colinear points: 0,0 5,0, 5,5, which implies index1-index2 edges: 5-1 1-2 2-5.
1288
1289         Although the implementation supports complex polygons, the layout code is limited to
1290         essentially rectangular shapes until a patch for https://bugs.webkit.org/show_bug.cgi?id=96813
1291         lands.
1292
1293         Tests: fast/exclusions/shape-inside/shape-inside-polygon-rectangle.html
1294                fast/exclusions/shape-inside/shape-inside-simple-polygon-001.html
1295                fast/exclusions/shape-inside/shape-inside-simple-polygon-002.html
1296                fast/exclusions/shape-inside/shape-inside-simple-polygon-003.html
1297                fast/exclusions/shape-inside/shape-inside-simple-polygon-004.html
1298
1299         * CMakeLists.txt:
1300         * GNUmakefile.list.am:
1301         * Target.pri:
1302         * WebCore.gypi:
1303         * WebCore.vcproj/WebCore.vcproj:
1304         * WebCore.xcodeproj/project.pbxproj:
1305         * rendering/ExclusionPolygon.cpp: Added.
1306         (WebCore):
1307         (EdgeIntersection): Internal description of the intersection of a polygon edge and a horizontal line.
1308         (WebCore::ExclusionPolygon::ExclusionPolygon): See the introductory text above for a description of this type.
1309         (WebCore::computeXIntersection): Find and classify the X intercept of a polygon edge with horizontal line, if any.
1310         (WebCore::ExclusionPolygon::rightVertexY): This method is used to decide if a horizontal line "crosses" a vertex.
1311         (WebCore::appendIntervalX): Append an x coordinate to a vector of ExclusionIntervals.
1312         (WebCore::ExclusionPolygon::computeXIntersections): Return a vector of the intersections of a horizontal line with the polygon's edges.
1313         (WebCore::ExclusionPolygon::computeEdgeIntersections): Return a vector of the X projections of the edges that overlap a horizonal rectangle.
1314         (WebCore::ExclusionPolygon::getExcludedIntervals): Return a SegmentList of the X intervals within a horizontal rectangle that overlap the polygon.
1315         (WebCore::ExclusionPolygon::getIncludedIntervals): Return the X intervals within a horizontal rectangle that fit inside the polygon.
1316         * rendering/ExclusionPolygon.h: Added.
1317         (WebCore):
1318         (ExclusionPolygon):
1319         (WebCore::ExclusionPolygon::getXAt): X coordinate of a polygon vertex
1320         (WebCore::ExclusionPolygon::getYAt): Y coordinate of a polygon vertex
1321         (WebCore::ExclusionPolygon::numberOfVertices):
1322         (WebCore::ExclusionPolygon::fillRule): A WindRule value that defines "inside" for self-intersecting polygons.
1323         (ExclusionPolygonEdge):
1324         (WebCore::ExclusionPolygonEdge::ExclusionPolygonEdge):
1325         (WebCore::ExclusionPolygonEdge::vertex1):
1326         (WebCore::ExclusionPolygonEdge::vertex2):
1327         (WebCore::ExclusionPolygonEdge::minX):
1328         (WebCore::ExclusionPolygonEdge::minY):
1329         (WebCore::ExclusionPolygonEdge::maxX):
1330         (WebCore::ExclusionPolygonEdge::maxY):
1331         * rendering/ExclusionShape.cpp:
1332         (WebCore::createExclusionPolygon): Return a new ExclusionPolygon.
1333         (WebCore):
1334         (WebCore::ExclusionShape::createExclusionShape): Added support for BasicShape::BASIC_SHAPE_POLYGON.
1335         * rendering/ExclusionShapeInsideInfo.cpp:
1336         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock): Enable BASIC_SHAPE_POLYGON shapes for RenderBlocks.
1337
1338 2012-10-08  Tony Chang  <tony@chromium.org>
1339
1340         Replace 2 uses of updateLogicalHeight with computeLogicalHeight
1341         https://bugs.webkit.org/show_bug.cgi?id=98677
1342
1343         Reviewed by Ojan Vafai.
1344
1345         This is part of bug 96804.  Convert RenderTextControl and RenderSVGForeignObject to
1346         override the const computeLogicalHeight method rather than the updateLogicalHeight
1347         setter method.
1348
1349         No new tests, there should be no behavior change as this is just a refactor.
1350
1351         * rendering/RenderTextControl.cpp:
1352         (WebCore::RenderTextControl::computeLogicalHeight): Pass logicalHeight through rather than setting height.
1353         This is a slight correctness fix, although we don't support vertical inputs yet.
1354         * rendering/RenderTextControl.h:
1355         (RenderTextControl):
1356         * rendering/svg/RenderSVGForeignObject.cpp:
1357         (WebCore::RenderSVGForeignObject::computeLogicalHeight):
1358         * rendering/svg/RenderSVGForeignObject.h:
1359         (RenderSVGForeignObject):
1360
1361 2012-10-08  Min Qin  <qinmin@chromium.org>
1362
1363         Upstream some tweaks for overlay play button on Android
1364         https://bugs.webkit.org/show_bug.cgi?id=98671
1365
1366         Reviewed by Adam Barth.
1367
1368         This change stops displaying the overlay play button if video height is too small
1369         No test for this. Will rebase layout test expectations for android later.
1370
1371         * css/mediaControlsChromiumAndroid.css:
1372         (video::-webkit-media-controls-overlay-enclosure):
1373
1374 2012-10-08  Simon Fraser  <simon.fraser@apple.com>
1375
1376         Some GraphicsLayer cleanup to separate the concepts of using a tile cache, and being the main tile cache layer
1377         https://bugs.webkit.org/show_bug.cgi?id=98574
1378
1379         Reviewed by Dean Jackson.
1380
1381         GraphicsLayerCA assumed that using a TileCache equated to being the main page tile
1382         cache layer, which has some special considerations. Make these two concepts separate
1383         to get closer to being able to use TileCaches in place of CATiledLayer.
1384
1385         * platform/graphics/GraphicsLayer.h:
1386         (GraphicsLayer): Remove m_usingTileCache member, which was not appropriate
1387         for this class to have.
1388         * platform/graphics/GraphicsLayer.cpp:
1389         (WebCore::GraphicsLayer::GraphicsLayer): Remove init of m_usingTileCache.
1390         (WebCore::GraphicsLayer::debugBorderInfo): Can no longer use m_usingTileCache to
1391         get the blue color, so moved code into a virtual debugBorderInfo() method.
1392         (WebCore::GraphicsLayer::updateDebugIndicators): Call the virtual debugBorderInfo().
1393         * platform/graphics/GraphicsLayerClient.h: Remove the usingTileCache() callback;
1394         we now just cache this information in the GraphicsLayerCA on creation.
1395         * platform/graphics/ca/GraphicsLayerCA.cpp:
1396         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Init m_isPageTileCacheLayer to false,
1397         then set to m_isPageTileCacheLayer if the client says we should create a tile cache.
1398         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): Overidden to avoid duplicate repaint
1399         counters in the top-left tile.
1400         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): If this layer is the page tile cache layer,
1401         we allow setting of its background color.
1402         (WebCore::GraphicsLayerCA::debugBorderInfo): Overidden to use a blue color for tiles.
1403         (WebCore::GraphicsLayerCA::requiresTiledLayer): Don't make CATiledLayers for the page tile cache.
1404         * platform/graphics/ca/GraphicsLayerCA.h:
1405         (GraphicsLayerCA):
1406         * platform/graphics/ca/PlatformCALayerClient.h:
1407         (PlatformCALayerClient): Need to pass the platform layer into platformCALayerShowRepaintCounter()
1408         so we can distinguish between calls for tiles, and calls for the tile cache layer itself.
1409         * platform/graphics/ca/mac/TileCache.mm:
1410         (WebCore::TileCache::shouldShowRepaintCounters): Pass 0 to platformCALayerShowRepaintCounter() to
1411         indicate that we're asking about a tile.
1412         * platform/graphics/mac/WebLayer.mm:
1413         (drawLayerContents): Now we can just rely on platformCALayerShowRepaintCounter() to tell us whether
1414         to draw the repaint counter.
1415         (-[WebLayer setNeedsDisplayInRect:]):
1416         * platform/graphics/mac/WebTiledLayer.mm:
1417         (-[WebTiledLayer setNeedsDisplayInRect:]):
1418         * rendering/RenderLayerBacking.h:
1419         (WebCore::RenderLayerBacking::usingTileCache):
1420         (RenderLayerBacking):
1421         * rendering/RenderLayerCompositor.cpp:
1422         (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): We can ask the RenderLayerBacking
1423         whether it's for the tile cache, rather than going to the GraphicsLayer.
1424         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1425         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
1426
1427 2012-10-08  Huang Dongsung  <luxtella@company100.net>
1428
1429         [Qt] Make ImageBufferQt use premultiplied converting functions in Color.h instead of its own mechanism.
1430         https://bugs.webkit.org/show_bug.cgi?id=98582
1431
1432         Reviewed by Eric Seidel.
1433
1434         Only Qt port failed canvas/philip/tests/2d.imageData.put.unchanged.html because
1435         ImageBufferQt converts from or to a premultiplied color using its own code. When
1436         we convert twice from an unmultiplied color to a premultiplied color and then to
1437         an unmultiplied color using this code, the calculated result are pretty
1438         different against the input color. It is why Gtk passes this test although Qt
1439         fails. Gtk port uses them in Color.h.
1440
1441         In addition, Qt should use the functions in Color.h to reduce duplicated codes.
1442
1443         Tests: canvas/philip/tests/2d.imageData.put.unchanged.html: Fixed a test case
1444
1445         * platform/graphics/qt/ImageBufferQt.cpp:
1446         (WebCore::getImageData):
1447         (WebCore::convertBGRAToRGBA):
1448         (WebCore::ImageBuffer::putByteArray):
1449
1450 2012-10-08  Tab Atkins  <jackalmage@gmail.com>
1451
1452         Remove "orphaned units" quirk
1453         https://bugs.webkit.org/show_bug.cgi?id=98553
1454
1455         Reviewed by Eric Seidel.
1456
1457         This patch removes our "orphaned units" quirk.
1458         We have an "orphaned units" quirk to match IE, which allows things like "width: 20 px;".
1459         But FF and Opera don't have it and aren't aware of bugs for it,
1460         and it's not in Simon Pieters' Quirks Mode spec <http://dvcs.w3.org/hg/quirks-mode/raw-file/tip/Overview.html>
1461
1462         No new tests, because I'm killing a quirk.
1463
1464         * css/CSSParser.cpp:
1465         (WebCore::CSSParser::parseValue):
1466         * css/CSSParser.h:
1467         (CSSParser):
1468
1469 2012-10-08  Robert Hogan  <robert@webkit.org>
1470
1471         Border, margin and padding of an inline's inline ancestors counted twice
1472         https://bugs.webkit.org/show_bug.cgi?id=63074
1473
1474         Reviewed by David Hyatt.
1475
1476         In a line such as '<span><span><img>Text' the border, padding and margin belonging
1477         to the two spans was counted twice by RenderBlockLineLayout::nextLineBreak(): once
1478         when adding the width of the <img> object to the line, and a second time when adding
1479         the 'Text'. The result was that nextLineBreak() now had a length for the line that 
1480         exceeded the line's maximum length and inserted a bogus line break.
1481
1482         This all happened because the helper function that is used to add in the border etc.
1483         from inline ancestors was crawling up the tree each time. It doesn't need to do that, it
1484         should stop crawling up the tree when the current object is not the first or last sibling below a parent.
1485
1486         Test: fast/inline/bpm-inline-ancestors.html
1487
1488         * rendering/RenderBlockLineLayout.cpp:
1489         (WebCore::shouldAddBorderPaddingMargin): Broke this check out into a helper function so that it 
1490         can help inlineLogicalWidth() return early and also treat empty RenderTexts the same as no previous/next
1491         sibling on the line. This ensures that collapsed leading space does not interfere with the decision to
1492         crawl up the ancestors accumulating border, padding, and margin.
1493         (WebCore):
1494         (WebCore::inlineLogicalWidth): Return early once the current child is no longer on the edge of its line - 
1495         this ensures the border, padding and margin of ancestors is not counted twice. 
1496
1497 2012-10-08  Mike West  <mkwst@chromium.org>
1498
1499         Null-check for DOMWindow before feeding it to FeatureObserver.
1500         https://bugs.webkit.org/show_bug.cgi?id=98624
1501
1502         Reviewed by Adam Barth.
1503
1504         We shouldn't call out to FeatureObserver in
1505         ContentSecurityPolicy::didReceiveHeader if the policy's document doesn't
1506         have a DOMWindow.
1507
1508         Test: http/tests/security/contentSecurityPolicy/xmlhttprequest-protected-resource-does-not-crash.html
1509
1510         * page/ContentSecurityPolicy.cpp:
1511         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1512             Null check 'document->domWindow' before passing it on.
1513         * page/FeatureObserver.cpp:
1514         (WebCore::FeatureObserver::observe):
1515             ASSERT 'domWindow'.
1516
1517 2012-10-08  Nate Chapin  <japhet@chromium.org>
1518
1519         Loader cleanup : Simplify FrameLoader/DocumentLoader setupForReplace()
1520         https://bugs.webkit.org/show_bug.cgi?id=49072
1521
1522         Reviewed by Eric Seidel.
1523
1524         This patch contains one small known behavior change: multipart/x-mixed-replace main resources with text/html parts
1525         will no longer load the text/html progressively. In practice, loading the html progressively causes the document
1526         to get cleared as soon as the next part's data starts arriving, which leads to a blank page most of the time. This case
1527         seems to be pathological, as IE, FF, Opera and WebKit all do something different currently. This patch will cause
1528         us to behave like Firefox, which is the most sane of the current behaviors.
1529
1530         Test: http/tests/multipart/multipart-html.php
1531
1532         * loader/DocumentLoader.cpp:
1533         (WebCore::DocumentLoader::commitData): Use isMultipartReplacingLoad() helper.
1534         (WebCore::DocumentLoader::receivedData):
1535         (WebCore::DocumentLoader::setupForReplace): Renamed from setupForReplaceByMIMEType(). Call maybeFinishLoadingMultipartContent()
1536             instead of doing identical work inline. After we call frameLoader()->setReplacing(), we will never load progressively, so remove
1537             the if (doesProgressiveLoad(newMIMEType)) {} block.
1538         (WebCore::DocumentLoader::isMultipartReplacingLoad):
1539         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Inline the old DocumentLoader::setupForeReplace(), check
1540             frameLoader()->isReplacing() instead of the delete doesProgressiveLoad().
1541         * loader/DocumentLoader.h:
1542         * loader/FrameLoader.cpp:
1543         (WebCore::FrameLoader::setupForReplace): Move all calls to revertToProvisionalState here.
1544         * loader/MainResourceLoader.cpp:
1545         (WebCore::MainResourceLoader::didReceiveResponse): Call setupForReplace(), renamed from setupForReplaceByMIMEType().
1546
1547 2012-10-08  Zoltan Horvath  <zoltan@webkit.org>
1548
1549         [Qt] r122720 causes performance regression with DirectFB on ARMv7
1550         https://bugs.webkit.org/show_bug.cgi?id=97548
1551
1552         Reviewed by Jocelyn Turcotte.
1553
1554         Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
1555
1556         Covered by existing tests.
1557
1558         * bridge/qt/qt_pixmapruntime.cpp:
1559         (JSC::Bindings::assignToHTMLImageElement):
1560         (JSC::Bindings::QtPixmapRuntime::toQt):
1561         * platform/DragImage.h:
1562         (WebCore):
1563         * platform/graphics/GraphicsContext.h:
1564         (GraphicsContext):
1565         * platform/graphics/Image.h:
1566         (Image):
1567         * platform/graphics/NativeImagePtr.h:
1568         (WebCore):
1569         * platform/graphics/gstreamer/ImageGStreamer.h:
1570         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
1571         (ImageGStreamer::ImageGStreamer):
1572         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1573         (WebCore::GraphicsContext3D::getImageData):
1574         * platform/graphics/qt/GraphicsContextQt.cpp:
1575         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
1576         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1577         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1578         * platform/graphics/qt/ImageBufferDataQt.h:
1579         (ImageBufferData):
1580         * platform/graphics/qt/ImageBufferQt.cpp:
1581         (WebCore::ImageBufferData::ImageBufferData):
1582         (WebCore):
1583         (WebCore::ImageBufferData::toQImage):
1584         (WebCore::ImageBuffer::copyImage):
1585         (WebCore::ImageBuffer::clip):
1586         (WebCore::ImageBuffer::platformTransformColorSpace):
1587         (WebCore::getImageData):
1588         (WebCore::ImageBuffer::putByteArray):
1589         (WebCore::encodeImage):
1590         (WebCore::ImageBuffer::toDataURL):
1591         * platform/graphics/qt/ImageDecoderQt.cpp:
1592         (WebCore::ImageFrame::asNewNativeImage):
1593         * platform/graphics/qt/ImageQt.cpp:
1594         (graphics):
1595         (loadResourcePixmap):
1596         (WebCore::Image::loadPlatformResource):
1597         (WebCore::Image::setPlatformResource):
1598         (WebCore::Image::drawPattern):
1599         (WebCore::BitmapImage::BitmapImage):
1600         (WebCore::BitmapImage::draw):
1601         (WebCore::BitmapImage::checkForSolidColor):
1602         (WebCore::BitmapImage::create):
1603         * platform/graphics/qt/PatternQt.cpp:
1604         (WebCore::Pattern::createPlatformPattern):
1605         * platform/graphics/qt/StillImageQt.cpp:
1606         (WebCore::StillImage::StillImage):
1607         (WebCore::StillImage::~StillImage):
1608         (WebCore::StillImage::currentFrameHasAlpha):
1609         (WebCore::StillImage::size):
1610         (WebCore::StillImage::nativeImageForCurrentFrame):
1611         (WebCore::StillImage::draw):
1612         * platform/graphics/qt/StillImageQt.h:
1613         (WebCore::StillImage::create):
1614         (WebCore::StillImage::createForRendering):
1615         (StillImage):
1616         * platform/graphics/qt/TransparencyLayer.h:
1617         (WebCore::TransparencyLayer::TransparencyLayer):
1618         (TransparencyLayer):
1619         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
1620         (WebCore::GraphicsSurface::createReadOnlyImage):
1621         * platform/graphics/texmap/TextureMapperGL.cpp:
1622         (WebCore::BitmapTextureGL::updateContents):
1623         * platform/qt/ClipboardQt.cpp:
1624         (WebCore::ClipboardQt::createDragImage):
1625         (WebCore::ClipboardQt::declareAndWriteDragImage):
1626         * platform/qt/CursorQt.cpp:
1627         (WebCore::createCustomCursor):
1628         * platform/qt/DragImageQt.cpp:
1629         (WebCore::createDragImageFromImage):
1630         * platform/qt/PasteboardQt.cpp:
1631         (WebCore::Pasteboard::writeImage):
1632
1633 2012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1634
1635         Unreviewed. Fix make distcheck.
1636
1637         * GNUmakefile.list.am: Add missing header file to compilation.
1638
1639 2012-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1640
1641         Unreviewed, rolling out r130619.
1642         http://trac.webkit.org/changeset/130619
1643         https://bugs.webkit.org/show_bug.cgi?id=98634
1644
1645         Causes many crashes on the EFL bots. (Requested by rakuco on
1646         #webkit).
1647
1648         * platform/RunLoop.h:
1649         (RunLoop):
1650         * platform/efl/RunLoopEfl.cpp:
1651         (WebCore::RunLoop::RunLoop):
1652         (WebCore::RunLoop::wakeUpEvent):
1653         (WebCore::RunLoop::wakeUp):
1654
1655 2012-10-08  Byungwoo Lee  <bw80.lee@samsung.com>
1656
1657         [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop.
1658         https://bugs.webkit.org/show_bug.cgi?id=98505
1659
1660         Reviewed by Kenneth Rohde Christiansen.
1661
1662         Instead of ecore_pipe_write(),
1663         use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop.
1664
1665         According to the EFL API document, this function is designed to dispatch
1666         a function on ecore main loop by avoiding dead lock or race condition. 
1667         With this function, webkit doesn't need to maintain ecore pipe also.
1668
1669         No new tests. The function to wakeup main loop is changed.
1670
1671         * platform/RunLoop.h:
1672         (RunLoop):
1673         * platform/efl/RunLoopEfl.cpp:
1674         (WebCore::RunLoop::RunLoop):
1675         (WebCore::RunLoop::wakeUpEvent):
1676         (WebCore::RunLoop::wakeUp):
1677
1678 2012-10-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1679
1680         :first-line pseudo selector ignoring words created from :before
1681         https://bugs.webkit.org/show_bug.cgi?id=80794
1682
1683         Reviewed by Daniel Bates.
1684
1685         The :first-line pseudo-element style is not applied for content
1686         which is generated from the :before/:after pseudo-elements.
1687
1688         Test: fast/css/first-line-style-for-before-after-content.html
1689
1690         * rendering/RenderObject.cpp:
1691         (WebCore::firstLineStyleForCachedUncachedType):
1692         Added a new static helper function incorporating the common
1693         functionality of both uncachedFirstLineStyle() and firstLineStyleSlowCase()
1694         functions. It also modifies the functionality to handle the
1695         scenario when :first-line style needs to be applied on content
1696         generated from :before/:after.
1697
1698         While getting the :first-line style we should also consider the case
1699         when the content is generated from a :before/:after pseudo-element in
1700         which case the RenderInline's parent should be considered for
1701         obtaining the first-line style.
1702
1703         (WebCore):
1704         (WebCore::RenderObject::uncachedFirstLineStyle):
1705         (WebCore::RenderObject::firstLineStyleSlowCase):
1706         Moved the duplicate code between the two functions to the common
1707         helper function firstLineStyleForCachedUncachedType().
1708
1709 2012-10-07  Peter Wang  <peter.wang@torchmobile.com.cn>
1710
1711         Web Inspector: The front-end should provide the position in original source file when set a breakpoint
1712         https://bugs.webkit.org/show_bug.cgi?id=93473
1713
1714         Reviewed by Yury Semikhatsky.
1715
1716         Since frontend truncates the indent, the first statement in a line must match the breakpoint (line, 0).
1717         With this patch JSC debugger can support both normal and "Pretty Print" mode.
1718
1719         No new test case. This patch can be verified with cases in "LayoutTests/inspector/debugger/".
1720
1721         * bindings/js/ScriptDebugServer.cpp:
1722         (WebCore::ScriptDebugServer::ScriptDebugServer):
1723         (WebCore::ScriptDebugServer::hasBreakpoint):
1724         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1725         (WebCore::ScriptDebugServer::pauseIfNeeded):
1726         * bindings/js/ScriptDebugServer.h:
1727         (ScriptDebugServer):
1728
1729 2012-10-07  Martin Robinson  <mrobinson@igalia.com>
1730
1731         [Soup] Clean up ResourceError creation
1732         https://bugs.webkit.org/show_bug.cgi?id=98521
1733
1734         Reviewed by Carlos Garcia Campos.
1735
1736         Simplify the creation of ResourcErrors in ResourceHandleSoup. This is
1737         part of a process to make the libsoup networking backend more hackable.
1738
1739         No new tests. This shouldn't change functionality.
1740
1741         * GNUmakefile.list.am: Added new file.
1742         * PlatformEfl.cmake: Added new file.
1743         * platform/network/soup/ResourceError.h:
1744         (ResourceError): Added new factories.
1745         * platform/network/soup/ResourceErrorSoup.cpp: Added.
1746         (WebCore::failingURI): Added this helper.
1747         (WebCore::ResourceError::httpError): New factory.
1748         (WebCore::ResourceError::genericIOError): Ditto.
1749         (WebCore::ResourceError::tlsError): Ditto.
1750         (WebCore::ResourceError::timeoutError): Ditto.
1751         * platform/network/soup/ResourceHandleSoup.cpp:
1752         (WebCore::handleUnignoredTLSErrors): Created this helper which merges
1753         some of the logic from sendRequestCallback.
1754         (WebCore::sendRequestCallback): Use the new helper.
1755         (WebCore::requestTimeoutCallback): Use the new factory.
1756
1757 2012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1758
1759         Rename first/second to key/value in HashMap iterators
1760         https://bugs.webkit.org/show_bug.cgi?id=82784
1761
1762         Reviewed by Eric Seidel.
1763
1764         * Modules/geolocation/Geolocation.cpp:
1765         (WebCore::Geolocation::Watchers::find):
1766         (WebCore::Geolocation::Watchers::remove):
1767         * Modules/indexeddb/IDBDatabase.cpp:
1768         (WebCore::IDBDatabase::objectStoreNames):
1769         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1770         (WebCore::IDBDatabaseBackendImpl::metadata):
1771         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
1772         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
1773         (WebCore::IDBFactoryBackendImpl::openBackingStore):
1774         (WebCore::IDBFactoryBackendImpl::open):
1775         * Modules/indexeddb/IDBObjectStore.cpp:
1776         (WebCore::IDBObjectStore::indexNames):
1777         (WebCore::IDBObjectStore::put):
1778         (WebCore::IDBObjectStore::index):
1779         (WebCore::IDBObjectStore::deleteIndex):
1780         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1781         (WebCore::IDBObjectStoreBackendImpl::metadata):
1782         (WebCore::makeIndexWriters):
1783         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1784         * Modules/indexeddb/IDBTransaction.cpp:
1785         (WebCore::IDBTransaction::objectStore):
1786         (WebCore::IDBTransaction::objectStoreDeleted):
1787         (WebCore::IDBTransaction::onAbort):
1788         (WebCore::IDBTransaction::dispatchEvent):
1789         * Modules/mediastream/MediaConstraintsImpl.cpp:
1790         (WebCore::MediaConstraintsImpl::getMandatoryConstraints):
1791         (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
1792         * Modules/webdatabase/AbstractDatabase.cpp:
1793         (WebCore::AbstractDatabase::performOpenAndVerify):
1794         * Modules/webdatabase/DatabaseTracker.cpp:
1795         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1796         * Modules/webdatabase/OriginUsageRecord.cpp:
1797         (WebCore::OriginUsageRecord::diskUsage):
1798         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1799         (WebCore::SQLTransactionCoordinator::acquireLock):
1800         (WebCore::SQLTransactionCoordinator::releaseLock):
1801         (WebCore::SQLTransactionCoordinator::shutdown):
1802         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
1803         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1804         * Modules/webdatabase/chromium/QuotaTracker.cpp:
1805         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
1806         (WebCore::QuotaTracker::updateDatabaseSize):
1807         * Modules/websockets/WebSocketDeflateFramer.cpp:
1808         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1809         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
1810         (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
1811         * accessibility/AXObjectCache.cpp:
1812         (WebCore::AXObjectCache::~AXObjectCache):
1813         * bindings/gobject/DOMObjectCache.cpp:
1814         (WebKit::DOMObjectCache::clearByFrame):
1815         * bindings/js/DOMObjectHashTableMap.h:
1816         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1817         (WebCore::DOMObjectHashTableMap::get):
1818         * bindings/js/JSDOMBinding.cpp:
1819         (WebCore::cacheDOMStructure):
1820         * bindings/js/JSDOMGlobalObject.cpp:
1821         (WebCore::JSDOMGlobalObject::visitChildren):
1822         * bindings/js/JSDOMGlobalObject.h:
1823         (WebCore::getDOMConstructor):
1824         * bindings/js/PageScriptDebugServer.cpp:
1825         (WebCore::PageScriptDebugServer::addListener):
1826         (WebCore::PageScriptDebugServer::removeListener):
1827         * bindings/js/ScriptCachedFrameData.cpp:
1828         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1829         (WebCore::ScriptCachedFrameData::restore):
1830         * bindings/js/ScriptController.cpp:
1831         (WebCore::ScriptController::~ScriptController):
1832         (WebCore::ScriptController::clearWindowShell):
1833         (WebCore::ScriptController::attachDebugger):
1834         (WebCore::ScriptController::updateDocument):
1835         (WebCore::ScriptController::createRootObject):
1836         (WebCore::ScriptController::collectIsolatedContexts):
1837         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
1838         (WebCore::ScriptController::clearScriptObjects):
1839         * bindings/js/ScriptController.h:
1840         (WebCore::ScriptController::windowShell):
1841         (WebCore::ScriptController::existingWindowShell):
1842         * bindings/js/ScriptDebugServer.cpp:
1843         (WebCore::ScriptDebugServer::setBreakpoint):
1844         (WebCore::ScriptDebugServer::removeBreakpoint):
1845         (WebCore::ScriptDebugServer::hasBreakpoint):
1846         * bindings/js/SerializedScriptValue.cpp:
1847         (WebCore::CloneSerializer::checkForDuplicate):
1848         (WebCore::CloneSerializer::dumpIfTerminal):
1849         (WebCore::CloneSerializer::write):
1850         * bindings/scripts/CodeGeneratorV8.pm:
1851         (GenerateImplementation):
1852         * bindings/scripts/test/V8/V8Float64Array.cpp:
1853         (WebCore::V8Float64Array::GetRawTemplate):
1854         (WebCore::V8Float64Array::GetTemplate):
1855         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1856         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
1857         (WebCore::V8TestActiveDOMObject::GetTemplate):
1858         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1859         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
1860         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1861         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1862         (WebCore::V8TestEventConstructor::GetRawTemplate):
1863         (WebCore::V8TestEventConstructor::GetTemplate):
1864         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1865         (WebCore::V8TestEventTarget::GetRawTemplate):
1866         (WebCore::V8TestEventTarget::GetTemplate):
1867         * bindings/scripts/test/V8/V8TestException.cpp:
1868         (WebCore::V8TestException::GetRawTemplate):
1869         (WebCore::V8TestException::GetTemplate):
1870         * bindings/scripts/test/V8/V8TestInterface.cpp:
1871         (WebCore::V8TestInterface::GetRawTemplate):
1872         (WebCore::V8TestInterface::GetTemplate):
1873         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1874         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1875         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1876         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1877         (WebCore::V8TestNamedConstructor::GetRawTemplate):
1878         (WebCore::V8TestNamedConstructor::GetTemplate):
1879         * bindings/scripts/test/V8/V8TestNode.cpp:
1880         (WebCore::V8TestNode::GetRawTemplate):
1881         (WebCore::V8TestNode::GetTemplate):
1882         * bindings/scripts/test/V8/V8TestObj.cpp:
1883         (WebCore::V8TestObj::GetRawTemplate):
1884         (WebCore::V8TestObj::GetTemplate):
1885         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1886         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
1887         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1888         * bindings/v8/DOMWrapperWorld.cpp:
1889         (WebCore::DOMWrapperWorld::deallocate):
1890         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
1891         * bindings/v8/NPV8Object.cpp:
1892         (WebCore::freeV8NPObject):
1893         (WebCore::npCreateV8ScriptObject):
1894         * bindings/v8/ScriptController.cpp:
1895         (WebCore::ScriptController::clearScriptObjects):
1896         (WebCore::ScriptController::resetIsolatedWorlds):
1897         (WebCore::ScriptController::ensureIsolatedWorldContext):
1898         (WebCore::ScriptController::existingWindowShellInternal):
1899         (WebCore::ScriptController::evaluateInIsolatedWorld):
1900         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
1901         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
1902         (WebCore::ScriptController::collectIsolatedContexts):
1903         * bindings/v8/SerializedScriptValue.cpp:
1904         * bindings/v8/V8DOMMap.h:
1905         (WebCore::WeakReferenceMap::removeIfPresent):
1906         (WebCore::WeakReferenceMap::visit):
1907         * bindings/v8/V8PerContextData.cpp:
1908         (WebCore::V8PerContextData::dispose):
1909         * bindings/v8/npruntime.cpp:
1910         * bridge/IdentifierRep.cpp:
1911         (WebCore::IdentifierRep::get):
1912         * bridge/NP_jsobject.cpp:
1913         (ObjectMap::add):
1914         (ObjectMap::remove):
1915         * bridge/runtime_root.cpp:
1916         (JSC::Bindings::RootObject::invalidate):
1917         * css/CSSCanvasValue.cpp:
1918         (WebCore::CSSCanvasValue::canvasChanged):
1919         (WebCore::CSSCanvasValue::canvasResized):
1920         * css/CSSComputedStyleDeclaration.cpp:
1921         (WebCore::counterToCSSValue):
1922         * css/CSSCrossfadeValue.cpp:
1923         (WebCore::CSSCrossfadeValue::crossfadeChanged):
1924         * css/CSSFontFaceSource.cpp:
1925         (WebCore::CSSFontFaceSource::getFontData):
1926         * css/CSSFontSelector.cpp:
1927         (WebCore::CSSFontSelector::addFontFaceRule):
1928         (WebCore::CSSFontSelector::getFontData):
1929         * css/CSSImageGeneratorValue.cpp:
1930         (WebCore::CSSImageGeneratorValue::addClient):
1931         (WebCore::CSSImageGeneratorValue::removeClient):
1932         (WebCore::CSSImageGeneratorValue::getImage):
1933         * css/CSSSegmentedFontFace.cpp:
1934         (WebCore::CSSSegmentedFontFace::getFontData):
1935         * css/CSSSelector.cpp:
1936         (WebCore::CSSSelector::parsePseudoType):
1937         * css/CSSValuePool.cpp:
1938         (WebCore::CSSValuePool::createColorValue):
1939         (WebCore::CSSValuePool::createFontFamilyValue):
1940         (WebCore::CSSValuePool::createFontFaceValue):
1941         * css/PropertySetCSSStyleDeclaration.cpp:
1942         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
1943         * css/RuleSet.cpp:
1944         (WebCore::reportAtomRuleMap):
1945         (WebCore::RuleSet::addToRuleSet):
1946         (WebCore::shrinkMapVectorsToFit):
1947         * css/StyleBuilder.cpp:
1948         (WebCore::ApplyPropertyCounter::applyInheritValue):
1949         (WebCore::ApplyPropertyCounter::applyValue):
1950         * css/StyleResolver.cpp:
1951         (WebCore::StyleResolver::collectFeatures):
1952         (WebCore::StyleResolver::ruleSetForScope):
1953         (WebCore::StyleResolver::appendAuthorStylesheets):
1954         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
1955         (WebCore::StyleResolver::collectMatchingRulesForList):
1956         * css/StyleSheetContents.cpp:
1957         (WebCore::StyleSheetContents::parserAddNamespace):
1958         (WebCore::StyleSheetContents::determineNamespace):
1959         * dom/CheckedRadioButtons.cpp:
1960         (WebCore::CheckedRadioButtons::addButton):
1961         (WebCore::CheckedRadioButtons::removeButton):
1962         * dom/ChildListMutationScope.cpp:
1963         (WebCore::ChildListMutationAccumulator::getOrCreate):
1964         * dom/Document.cpp:
1965         (WebCore::Document::windowNamedItems):
1966         (WebCore::Document::documentNamedItems):
1967         (WebCore::Document::getCSSCanvasElement):
1968         (WebCore::Document::cachedImmutableAttributeData):
1969         (WebCore::Document::getCachedLocalizer):
1970         * dom/DocumentMarkerController.cpp:
1971         (WebCore::DocumentMarkerController::markerContainingPoint):
1972         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1973         (WebCore::DocumentMarkerController::removeMarkers):
1974         (WebCore::DocumentMarkerController::repaintMarkers):
1975         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
1976         (WebCore::DocumentMarkerController::showMarkers):
1977         * dom/DocumentOrderedMap.cpp:
1978         (WebCore::DocumentOrderedMap::remove):
1979         * dom/DocumentStyleSheetCollection.cpp:
1980         (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
1981         * dom/ElementAttributeData.cpp:
1982         (WebCore::ensureAttrListForElement):
1983         * dom/EventDispatcher.cpp:
1984         (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
1985         * dom/IdTargetObserverRegistry.cpp:
1986         (WebCore::IdTargetObserverRegistry::addObserver):
1987         (WebCore::IdTargetObserverRegistry::removeObserver):
1988         * dom/MutationObserverInterestGroup.cpp:
1989         (WebCore::MutationObserverInterestGroup::isOldValueRequested):
1990         (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
1991         * dom/Node.cpp:
1992         (WebCore::Node::dumpStatistics):
1993         (WebCore::Node::clearRareData):
1994         (WebCore::NodeListsNodeData::invalidateCaches):
1995         (WebCore::collectMatchingObserversForMutation):
1996         * dom/NodeRareData.h:
1997         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
1998         (WebCore::NodeListsNodeData::addCacheWithName):
1999         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
2000         (WebCore::NodeListsNodeData::adoptTreeScope):
2001         * dom/ProcessingInstruction.cpp:
2002         (WebCore::ProcessingInstruction::checkStyleSheet):
2003         * dom/ScriptExecutionContext.cpp:
2004         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2005         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2006         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2007         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2008         (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
2009         * dom/SelectorQuery.cpp:
2010         (WebCore::SelectorQueryCache::add):
2011         * dom/SpaceSplitString.cpp:
2012         (WebCore::SpaceSplitStringData::create):
2013         * dom/StyledElement.cpp:
2014         (WebCore::StyledElement::updateAttributeStyle):
2015         * editing/mac/AlternativeTextUIController.mm:
2016         (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
2017         * html/FormController.cpp:
2018         (WebCore::SavedFormState::serializeTo):
2019         (WebCore::SavedFormState::appendControlState):
2020         (WebCore::SavedFormState::takeControlState):
2021         (WebCore::SavedFormState::getReferencedFilePaths):
2022         (WebCore::FormKeyGenerator::formKey):
2023         (WebCore::FormController::createSavedFormStateMap):
2024         (WebCore::FormController::formElementsState):
2025         (WebCore::FormController::takeStateForFormElement):
2026         (WebCore::FormController::getReferencedFilePaths):
2027         * html/HTMLCollection.cpp:
2028         (WebCore::HTMLCollectionCacheBase::append):
2029         * html/canvas/WebGLFramebuffer.cpp:
2030         (WebCore::WebGLFramebuffer::getAttachment):
2031         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
2032         (WebCore::WebGLFramebuffer::checkStatus):
2033         (WebCore::WebGLFramebuffer::deleteObjectImpl):
2034         (WebCore::WebGLFramebuffer::initializeAttachments):
2035         * inspector/CodeGeneratorInspector.py:
2036         * inspector/DOMPatchSupport.cpp:
2037         (WebCore::DOMPatchSupport::diff):
2038         (WebCore::DOMPatchSupport::innerPatchChildren):
2039         (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
2040         * inspector/InjectedScriptManager.cpp:
2041         (WebCore::InjectedScriptManager::injectedScriptForId):
2042         (WebCore::InjectedScriptManager::injectedScriptIdFor):
2043         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
2044         (WebCore::InjectedScriptManager::releaseObjectGroup):
2045         (WebCore::InjectedScriptManager::injectedScriptFor):
2046         * inspector/InspectorCSSAgent.cpp:
2047         (WebCore::SelectorProfile::commitSelector):
2048         (WebCore::SelectorProfile::commitSelectorTime):
2049         (WebCore::SelectorProfile::toInspectorObject):
2050         (WebCore::UpdateRegionLayoutTask::onTimer):
2051         (WebCore::InspectorCSSAgent::forcePseudoState):
2052         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
2053         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
2054         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
2055         (WebCore::InspectorCSSAgent::didModifyDOMAttr):
2056         (WebCore::InspectorCSSAgent::resetPseudoStates):
2057         * inspector/InspectorConsoleAgent.cpp:
2058         (WebCore::InspectorConsoleAgent::stopTiming):
2059         (WebCore::InspectorConsoleAgent::count):
2060         * inspector/InspectorDOMAgent.cpp:
2061         (WebCore::InspectorDOMAgent::nodeForId):
2062         (WebCore::InspectorDOMAgent::performSearch):
2063         (WebCore::InspectorDOMAgent::getSearchResults):
2064         * inspector/InspectorDOMDebuggerAgent.cpp:
2065         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2066         * inspector/InspectorDOMStorageAgent.cpp:
2067         (WebCore::InspectorDOMStorageAgent::clearFrontend):
2068         (WebCore::InspectorDOMStorageAgent::enable):
2069         (WebCore::InspectorDOMStorageAgent::storageId):
2070         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
2071         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
2072         (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
2073         * inspector/InspectorDatabaseAgent.cpp:
2074         (WebCore::InspectorDatabaseAgent::enable):
2075         (WebCore::InspectorDatabaseAgent::databaseId):
2076         (WebCore::InspectorDatabaseAgent::findByFileName):
2077         (WebCore::InspectorDatabaseAgent::databaseForId):
2078         * inspector/InspectorDebuggerAgent.cpp:
2079         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2080         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2081         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2082         (WebCore::InspectorDebuggerAgent::searchInContent):
2083         (WebCore::InspectorDebuggerAgent::getScriptSource):
2084         (WebCore::InspectorDebuggerAgent::didParseSource):
2085         * inspector/InspectorIndexedDBAgent.cpp:
2086         (WebCore):
2087         * inspector/InspectorMemoryAgent.cpp:
2088         (WebCore):
2089         * inspector/InspectorPageAgent.cpp:
2090         (WebCore::cachedResourcesForFrame):
2091         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2092         (WebCore::InspectorPageAgent::frameDetached):
2093         * inspector/InspectorProfilerAgent.cpp:
2094         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2095         (WebCore):
2096         (WebCore::InspectorProfilerAgent::getProfile):
2097         * inspector/InspectorResourceAgent.cpp:
2098         (WebCore::buildObjectForHeaders):
2099         (WebCore::InspectorResourceAgent::willSendRequest):
2100         (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient):
2101         (WebCore::InspectorResourceAgent::willLoadXHR):
2102         (WebCore::InspectorResourceAgent::replayXHR):
2103         * inspector/InspectorState.cpp:
2104         (WebCore::InspectorState::getBoolean):
2105         (WebCore::InspectorState::getString):
2106         (WebCore::InspectorState::getLong):
2107         (WebCore::InspectorState::getDouble):
2108         (WebCore::InspectorState::getObject):
2109         * inspector/InspectorStyleSheet.cpp:
2110         (WebCore::InspectorStyle::styleWithProperties):
2111         (WebCore::InspectorStyleSheet::inspectorStyleForId):
2112         * inspector/InspectorValues.cpp:
2113         (WebCore::InspectorObjectBase::get):
2114         (WebCore::InspectorObjectBase::writeJSON):
2115         * inspector/InspectorWorkerAgent.cpp:
2116         (WebCore::InspectorWorkerAgent::workerContextTerminated):
2117         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
2118         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
2119         * inspector/MemoryInstrumentationImpl.cpp:
2120         (WebCore::MemoryInstrumentationClientImpl::countObjectSize):
2121         * inspector/MemoryInstrumentationImpl.h:
2122         (WebCore::MemoryInstrumentationClientImpl::totalSize):
2123         (WebCore::MemoryInstrumentationClientImpl::reportedSizeForAllTypes):
2124         * inspector/NetworkResourcesData.cpp:
2125         (WebCore::NetworkResourcesData::setXHRReplayData):
2126         (WebCore::NetworkResourcesData::removeCachedResource):
2127         (WebCore::NetworkResourcesData::clear):
2128         * loader/CrossOriginAccessControl.cpp:
2129         (WebCore::isSimpleCrossOriginAccessRequest):
2130         (WebCore::createAccessControlPreflightRequest):
2131         * loader/CrossOriginPreflightResultCache.cpp:
2132         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2133         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
2134         * loader/DocumentLoader.cpp:
2135         (WebCore::DocumentLoader::getSubresources):
2136         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
2137         * loader/MainResourceLoader.cpp:
2138         (WebCore::MainResourceLoader::didReceiveResponse):
2139         * loader/ResourceLoadScheduler.cpp:
2140         (WebCore::ResourceLoadScheduler::servePendingRequests):
2141         * loader/appcache/ApplicationCache.cpp:
2142         (WebCore::ApplicationCache::removeResource):
2143         (WebCore::ApplicationCache::clearStorageID):
2144         (WebCore::ApplicationCache::dump):
2145         * loader/appcache/ApplicationCacheGroup.cpp:
2146         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2147         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2148         (WebCore::ApplicationCacheGroup::addEntry):
2149         * loader/appcache/ApplicationCacheHost.cpp:
2150         (WebCore::ApplicationCacheHost::fillResourceList):
2151         * loader/appcache/ApplicationCacheResource.cpp:
2152         (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
2153         * loader/appcache/ApplicationCacheStorage.cpp:
2154         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
2155         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2156         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2157         (WebCore::ApplicationCacheStorage::store):
2158         (WebCore::ApplicationCacheStorage::empty):
2159         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
2160         * loader/archive/ArchiveFactory.cpp:
2161         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
2162         * loader/cache/CachedRawResource.cpp:
2163         (WebCore::CachedRawResource::canReuse):
2164         * loader/cache/CachedResource.cpp:
2165         (WebCore::CachedResource::switchClientsToRevalidatedResource):
2166         (WebCore::CachedResource::updateResponseAfterRevalidation):
2167         * loader/cache/CachedResourceClientWalker.h:
2168         (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
2169         * loader/cache/CachedResourceLoader.cpp:
2170         (WebCore::CachedResourceLoader::~CachedResourceLoader):
2171         (WebCore::CachedResourceLoader::requestResource):
2172         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
2173         (WebCore::CachedResourceLoader::removeCachedResource):
2174         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
2175         * loader/cache/MemoryCache.cpp:
2176         (WebCore::MemoryCache::removeResourcesWithOrigin):
2177         (WebCore::MemoryCache::getOriginsWithCache):
2178         (WebCore::MemoryCache::getStatistics):
2179         (WebCore::MemoryCache::setDisabled):
2180         * loader/icon/IconDatabase.cpp:
2181         (WebCore::IconDatabase::removeAllIcons):
2182         (WebCore::IconDatabase::iconRecordCountWithData):
2183         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
2184         * page/DOMWindow.cpp:
2185         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
2186         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
2187         * page/EventHandler.cpp:
2188         (WebCore::EventHandler::handleTouchEvent):
2189         * page/Frame.cpp:
2190         (WebCore::Frame::injectUserScripts):
2191         * page/PageGroup.cpp:
2192         (WebCore::PageGroup::pageGroup):
2193         (WebCore::PageGroup::closeLocalStorage):
2194         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
2195         (WebCore::PageGroup::clearLocalStorageForOrigin):
2196         (WebCore::PageGroup::syncLocalStorage):
2197         (WebCore::PageGroup::addUserScriptToWorld):
2198         (WebCore::PageGroup::addUserStyleSheetToWorld):
2199         (WebCore::PageGroup::removeUserScriptFromWorld):
2200         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2201         * page/PageSerializer.cpp:
2202         (WebCore::PageSerializer::urlForBlankFrame):
2203         * page/SecurityPolicy.cpp:
2204         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
2205         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
2206         * page/Settings.cpp:
2207         (WebCore::setGenericFontFamilyMap):
2208         (WebCore::getGenericFontFamilyForScript):
2209         * page/SpeechInput.cpp:
2210         (WebCore::SpeechInput::registerListener):
2211         * page/TouchDisambiguation.cpp:
2212         (WebCore::findGoodTouchTargets):
2213         * page/WindowFeatures.cpp:
2214         (WebCore::WindowFeatures::boolFeature):
2215         (WebCore::WindowFeatures::floatFeature):
2216         * page/animation/AnimationController.cpp:
2217         (WebCore::AnimationControllerPrivate::updateAnimations):
2218         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
2219         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
2220         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
2221         * page/animation/CompositeAnimation.cpp:
2222         (WebCore::CompositeAnimation::clearRenderer):
2223         (WebCore::CompositeAnimation::updateTransitions):
2224         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2225         (WebCore::CompositeAnimation::animate):
2226         (WebCore::CompositeAnimation::getAnimatedStyle):
2227         (WebCore::CompositeAnimation::setAnimating):
2228         (WebCore::CompositeAnimation::timeToNextService):
2229         (WebCore::CompositeAnimation::getAnimationForProperty):
2230         (WebCore::CompositeAnimation::suspendAnimations):
2231         (WebCore::CompositeAnimation::resumeAnimations):
2232         (WebCore::CompositeAnimation::overrideImplicitAnimations):
2233         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
2234         (WebCore::CompositeAnimation::isAnimatingProperty):
2235         (WebCore::CompositeAnimation::numberOfActiveAnimations):
2236         * platform/Language.cpp:
2237         (WebCore::languageDidChange):
2238         * platform/MIMETypeRegistry.cpp:
2239         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
2240         * platform/audio/HRTFElevation.cpp:
2241         (WebCore::getConcatenatedImpulseResponsesForSubject):
2242         * platform/blackberry/CookieManager.cpp:
2243         (WebCore::CookieManager::generateHtmlFragmentForCookies):
2244         (WebCore::CookieManager::removeAllCookies):
2245         * platform/blackberry/CookieMap.cpp:
2246         (WebCore::CookieMap::removeOldestCookie):
2247         (WebCore::CookieMap::getAllChildCookies):
2248         * platform/cf/BinaryPropertyList.cpp:
2249         (WebCore::BinaryPropertyListPlan::writeIntegerArray):
2250         * platform/chromium/support/WebHTTPLoadInfo.cpp:
2251         (WebKit::addHeader):
2252         * platform/chromium/support/WebURLRequest.cpp:
2253         (WebKit::WebURLRequest::visitHTTPHeaderFields):
2254         * platform/chromium/support/WebURLResponse.cpp:
2255         (WebKit::WebURLResponse::addHTTPHeaderField):
2256         (WebKit::WebURLResponse::visitHTTPHeaderFields):
2257         * platform/graphics/DisplayRefreshMonitor.cpp:
2258         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
2259         (WebCore::DisplayRefreshMonitorManager::unregisterClient):
2260         * platform/graphics/FontCache.cpp:
2261         (WebCore::FontCache::getCachedFontPlatformData):
2262         (WebCore::FontCache::getVerticalData):
2263         (WebCore::FontCache::getCachedFontData):
2264         (WebCore::FontCache::releaseFontData):
2265         (WebCore::FontCache::purgeInactiveFontData):
2266         * platform/graphics/GlyphPageTreeNode.cpp:
2267         (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
2268         (WebCore::GlyphPageTreeNode::pageCount):
2269         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2270         (WebCore::GlyphPageTreeNode::pruneTreeFontData):
2271         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
2272         (WebCore::GlyphPageTreeNode::pruneFontData):
2273         (WebCore::GlyphPageTreeNode::showSubtree):
2274         (showGlyphPageTrees):
2275         * platform/graphics/TiledBackingStore.cpp:
2276         (WebCore::TiledBackingStore::updateTileBuffers):
2277         (WebCore::TiledBackingStore::resizeEdgeTiles):
2278         (WebCore::TiledBackingStore::setKeepRect):
2279         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2280         (WebCore::AVFWrapper::avfWrapperForCallbackContext):
2281         * platform/graphics/blackberry/LayerTiler.cpp:
2282         (WebCore::LayerTiler::layerVisibilityChanged):
2283         (WebCore::LayerTiler::uploadTexturesIfNeeded):
2284         (WebCore::LayerTiler::addTileJob):
2285         (WebCore::LayerTiler::deleteTextures):
2286         (WebCore::LayerTiler::pruneTextures):
2287         (WebCore::LayerTiler::bindContentsTexture):
2288         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
2289         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
2290         (WebCore::TextureCacheCompositingThread::textureForColor):
2291         * platform/graphics/ca/GraphicsLayerCA.cpp:
2292         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
2293         (WebCore::GraphicsLayerCA::pauseAnimation):
2294         (WebCore::GraphicsLayerCA::layerDidDisplay):
2295         (WebCore::GraphicsLayerCA::updateGeometry):
2296         (WebCore::GraphicsLayerCA::updateTransform):
2297         (WebCore::GraphicsLayerCA::updateChildrenTransform):
2298         (WebCore::GraphicsLayerCA::updateMasksToBounds):
2299         (WebCore::GraphicsLayerCA::updateContentsVisibility):
2300         (WebCore::GraphicsLayerCA::updateContentsOpaque):
2301         (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
2302         (WebCore::GraphicsLayerCA::updateFilters):
2303         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2304         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
2305         (WebCore::GraphicsLayerCA::updateContentsImage):
2306         (WebCore::GraphicsLayerCA::updateContentsRect):
2307         (WebCore::GraphicsLayerCA::updateMaskLayer):
2308         (WebCore::GraphicsLayerCA::updateLayerAnimations):
2309         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
2310         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
2311         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
2312         (WebCore::GraphicsLayerCA::suspendAnimations):
2313         (WebCore::GraphicsLayerCA::resumeAnimations):
2314         (WebCore::GraphicsLayerCA::findOrMakeClone):
2315         (WebCore::GraphicsLayerCA::setOpacityInternal):
2316         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
2317         * platform/graphics/ca/mac/TileCache.mm:
2318         (WebCore::TileCache::~TileCache):
2319         (WebCore::TileCache::setNeedsDisplay):
2320         (WebCore::TileCache::setScale):
2321         (WebCore::TileCache::setAcceleratesDrawing):
2322         (WebCore::TileCache::setTileDebugBorderWidth):
2323         (WebCore::TileCache::setTileDebugBorderColor):
2324         (WebCore::TileCache::revalidateTiles):
2325         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2326         (PlatformCALayer::animationStarted):
2327         (resubmitAllAnimations):
2328         (PlatformCALayer::animationForKey):
2329         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2330         (WebCore::LookupAltName):
2331         (WebCore::fontContainsCharacter):
2332         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
2333         (WebCore::getDerivedFontData):
2334         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2335         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
2336         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
2337         (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
2338         * platform/graphics/filters/CustomFilterProgram.cpp:
2339         (WebCore::CustomFilterProgram::notifyClients):
2340         * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
2341         (WebCore::getCachedHarfbuzzFace):
2342         (WebCore::releaseCachedHarfbuzzFace):
2343         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
2344         (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
2345         (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
2346         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2347         (WebCore::SimpleFontData::getCFStringAttributes):
2348         * platform/graphics/mac/SimpleFontDataMac.mm:
2349         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2350         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2351         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2352         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2353         (WebCore::GraphicsContext3D::compileShader):
2354         (WebCore::GraphicsContext3D::mappedSymbolName):
2355         (WebCore::GraphicsContext3D::getShaderiv):
2356         (WebCore::GraphicsContext3D::getShaderInfoLog):
2357         (WebCore::GraphicsContext3D::getShaderSource):
2358         * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
2359         (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
2360         (WebCore::EGLDisplayOpenVG::destroySurface):
2361         (WebCore::EGLDisplayOpenVG::contextForSurface):
2362         * platform/graphics/texmap/TextureMapperGL.cpp:
2363         (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
2364         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
2365         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
2366         (WebCore::TextureMapperShaderManager::getShaderProgram):
2367         (WebCore::TextureMapperShaderManager::getShaderForFilter):
2368         * platform/graphics/wince/FontPlatformData.cpp:
2369         (WebCore::FixedSizeFontData::create):
2370         * platform/gtk/DataObjectGtk.cpp:
2371         (WebCore::DataObjectGtk::forClipboard):
2372         * platform/gtk/GtkDragAndDropHelper.cpp:
2373         (WebCore::GtkDragAndDropHelper::handleGetDragData):
2374         (WebCore::GtkDragAndDropHelper::handleDragLeave):
2375         (WebCore::GtkDragAndDropHelper::handleDragMotion):
2376         (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
2377         (WebCore::GtkDragAndDropHelper::handleDragDrop):
2378         * platform/gtk/RedirectedXCompositeWindow.cpp:
2379         (WebCore::filterXDamageEvent):
2380         * platform/gtk/RenderThemeGtk3.cpp:
2381         (WebCore::gtkStyleChangedCallback):
2382         (WebCore::getStyleContext):
2383         * platform/mac/ScrollbarThemeMac.mm:
2384         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
2385         * platform/network/CredentialStorage.cpp:
2386         (WebCore::CredentialStorage::set):
2387         (WebCore::CredentialStorage::get):
2388         * platform/network/HTTPHeaderMap.cpp:
2389         (WebCore::HTTPHeaderMap::copyData):
2390         (WebCore::HTTPHeaderMap::get):
2391         * platform/network/MIMEHeader.cpp:
2392         (WebCore::MIMEHeader::parseHeader):
2393         * platform/network/ResourceHandle.cpp:
2394         (WebCore::ResourceHandle::create):
2395         * platform/network/ResourceRequestBase.cpp:
2396         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2397         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2398         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2399         (WebCore::ResourceRequest::targetTypeFromMimeType):
2400         (WebCore::ResourceRequest::initializePlatformRequest):
2401         * platform/network/cf/ResourceHandleCFNet.cpp:
2402         (WebCore::makeFinalRequest):
2403         * platform/network/cf/ResourceRequestCFNet.cpp:
2404         (WebCore::setHeaderFields):
2405         * platform/network/curl/ResourceHandleManager.cpp:
2406         (WebCore::ResourceHandleManager::initializeHandle):
2407         * platform/network/mac/ResourceRequestMac.mm:
2408         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2409         * platform/network/qt/ResourceRequestQt.cpp:
2410         (WebCore::ResourceRequest::toNetworkRequest):
2411         * platform/network/soup/ResourceHandleSoup.cpp:
2412         (WebCore::sendRequestCallback):
2413         (WebCore::ResourceHandle::setClientCertificate):
2414         * platform/network/soup/ResourceRequestSoup.cpp:
2415         (WebCore::ResourceRequest::updateSoupMessage):
2416         (WebCore::ResourceRequest::toSoupMessage):
2417         * platform/network/soup/ResourceResponseSoup.cpp:
2418         (WebCore::ResourceResponse::toSoupMessage):
2419         * platform/network/win/ResourceHandleWin.cpp:
2420         (WebCore::ResourceHandle::start):
2421         * platform/qt/RunLoopQt.cpp:
2422         (WebCore::RunLoop::TimerBase::timerFired):
2423         * platform/text/LocaleToScriptMappingDefault.cpp:
2424         (WebCore::scriptNameToCode):
2425         (WebCore::localeToScriptCodeForFontSelection):
2426         * platform/text/TextEncodingRegistry.cpp:
2427         (WebCore::pruneBlacklistedCodecs):
2428         (WebCore::dumpTextEncodingNameMap):
2429         * platform/text/transcoder/FontTranscoder.cpp:
2430         (WebCore::FontTranscoder::converterType):
2431         * platform/text/win/TextCodecWin.cpp:
2432         (WebCore::LanguageManager::LanguageManager):
2433         (WebCore::getCodePage):
2434         (WebCore::TextCodecWin::registerExtendedEncodingNames):
2435         (WebCore::TextCodecWin::registerExtendedCodecs):
2436         (WebCore::TextCodecWin::enumerateSupportedEncodings):
2437         * platform/win/ClipboardUtilitiesWin.cpp:
2438         (WebCore::getDataMapItem):
2439         (WebCore::getClipboardData):
2440         (WebCore::setClipboardData):
2441         * platform/win/ClipboardWin.cpp:
2442         (WebCore::ClipboardWin::types):
2443         * platform/win/FileSystemWin.cpp:
2444         (WebCore::cachedStorageDirectory):
2445         * platform/win/RunLoopWin.cpp:
2446         (WebCore::RunLoop::TimerBase::timerFired):
2447         * platform/win/WCDataObject.cpp:
2448         (WebCore::WCDataObject::createInstance):
2449         * platform/wince/MIMETypeRegistryWinCE.cpp:
2450         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2451         * platform/wx/ContextMenuWx.cpp:
2452         (WebCore::ContextMenu::appendItem):
2453         * plugins/PluginDatabase.cpp:
2454         (WebCore::PluginDatabase::refresh):
2455         (WebCore::PluginDatabase::MIMETypeForExtension):
2456         (WebCore::PluginDatabase::remove):
2457         * plugins/PluginMainThreadScheduler.cpp:
2458         (WebCore::PluginMainThreadScheduler::scheduleCall):
2459         (WebCore::PluginMainThreadScheduler::dispatchCalls):
2460         * plugins/PluginStream.cpp:
2461         (WebCore::PluginStream::startStream):
2462         * plugins/blackberry/PluginDataBlackBerry.cpp:
2463         (WebCore::PluginData::initPlugins):
2464         * plugins/wx/PluginDataWx.cpp:
2465         (WebCore::PluginData::initPlugins):
2466         * rendering/ExclusionShapeInsideInfo.cpp:
2467         (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock):
2468         * rendering/FlowThreadController.cpp:
2469         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
2470         * rendering/InlineFlowBox.cpp:
2471         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
2472         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2473         * rendering/RenderBlock.cpp:
2474         (WebCore::RenderBlock::clearFloats):
2475         * rendering/RenderBlockLineLayout.cpp:
2476         (WebCore::setLogicalWidthForTextRun):
2477         * rendering/RenderBoxModelObject.cpp:
2478         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
2479         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2480         * rendering/RenderCounter.cpp:
2481         (WebCore::RenderCounter::destroyCounterNodes):
2482         (WebCore::RenderCounter::destroyCounterNode):
2483         (WebCore::updateCounters):
2484         (WebCore::RenderCounter::rendererStyleChanged):
2485         * rendering/RenderFlowThread.cpp:
2486         (WebCore::RenderFlowThread::setRegionRangeForBox):
2487         (WebCore::RenderFlowThread::getRegionRangeForBox):
2488         * rendering/RenderLayer.cpp:
2489         (WebCore::RenderLayer::paint):
2490         (WebCore::performOverlapTests):
2491         * rendering/RenderLayerFilterInfo.cpp:
2492         (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
2493         (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
2494         * rendering/RenderNamedFlowThread.cpp:
2495         (WebCore::RenderNamedFlowThread::dependsOn):
2496         (WebCore::RenderNamedFlowThread::pushDependencies):
2497         * rendering/RenderRegion.cpp:
2498         (WebCore::RenderRegion::setRenderBoxRegionInfo):
2499         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
2500         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
2501         (WebCore::RenderRegion::computeChildrenStyleInRegion):
2502         * rendering/RenderTableSection.cpp:
2503         (WebCore::RenderTableSection::cachedCollapsedBorder):
2504         * rendering/RenderThemeMac.mm:
2505         (WebCore::RenderThemeMac::systemColor):
2506         * rendering/RenderView.cpp:
2507         (WebCore::RenderView::selectionBounds):
2508         (WebCore::RenderView::setSelection):
2509         * rendering/RenderWidget.cpp:
2510         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
2511         * rendering/RootInlineBox.cpp:
2512         (WebCore::RootInlineBox::ascentAndDescentForBox):
2513         * rendering/VerticalPositionCache.h:
2514         (WebCore::VerticalPositionCache::get):
2515         * rendering/svg/RenderSVGInlineText.cpp:
2516         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
2517         * rendering/svg/RenderSVGResourceFilter.cpp:
2518         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2519         * rendering/svg/RenderSVGResourceGradient.cpp:
2520         (WebCore::RenderSVGResourceGradient::applyResource):
2521         * rendering/svg/RenderSVGResourcePattern.cpp:
2522         (WebCore::RenderSVGResourcePattern::applyResource):
2523         * rendering/svg/SVGResourcesCache.cpp:
2524         (WebCore::SVGResourcesCache::resourceDestroyed):
2525         * rendering/svg/SVGRootInlineBox.cpp:
2526         (WebCore::swapItemsInLayoutAttributes):
2527         * rendering/svg/SVGTextLayoutAttributes.cpp:
2528         (WebCore::SVGTextLayoutAttributes::dump):
2529         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2530         (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
2531         (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
2532         * rendering/svg/SVGTextLayoutEngine.cpp:
2533         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
2534         * rendering/svg/SVGTextMetricsBuilder.cpp:
2535         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
2536         * storage/StorageAreaSync.cpp:
2537         (WebCore::StorageAreaSync::syncTimerFired):
2538         (WebCore::StorageAreaSync::performImport):
2539         (WebCore::StorageAreaSync::sync):
2540         * storage/StorageMap.cpp:
2541         (WebCore::StorageMap::key):
2542         (WebCore::StorageMap::setItem):
2543         * storage/StorageNamespaceImpl.cpp:
2544         (WebCore::StorageNamespaceImpl::localStorageNamespace):
2545         (WebCore::StorageNamespaceImpl::copy):
2546         (WebCore::StorageNamespaceImpl::close):
2547         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
2548         (WebCore::StorageNamespaceImpl::sync):
2549         * svg/SVGDocumentExtensions.cpp:
2550         (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
2551         (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
2552         (WebCore::SVGDocumentExtensions::addPendingResource):
2553         (WebCore::SVGDocumentExtensions::isElementPendingResources):
2554         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
2555         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
2556         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
2557         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
2558         * svg/SVGElement.cpp:
2559         (WebCore::SVGElement::~SVGElement):
2560         * svg/animation/SMILTimeContainer.cpp:
2561         (WebCore::SMILTimeContainer::setElapsed):
2562         (WebCore::SMILTimeContainer::updateAnimations):
2563         * svg/graphics/SVGImageCache.cpp:
2564         (WebCore::SVGImageCache::~SVGImageCache):
2565         (WebCore::SVGImageCache::removeClientFromCache):
2566         (WebCore::SVGImageCache::requestedSizeAndScales):
2567         (WebCore::SVGImageCache::imageContentChanged):
2568         (WebCore::SVGImageCache::redraw):
2569         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
2570         * svg/graphics/filters/SVGFilterBuilder.h:
2571         (WebCore::SVGFilterBuilder::effectReferences):
2572         (WebCore::SVGFilterBuilder::addBuiltinEffects):
2573         * svg/properties/SVGAnimatedProperty.h:
2574         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2575         * svg/properties/SVGAttributeToPropertyMap.cpp:
2576         (WebCore::SVGAttributeToPropertyMap::addProperties):
2577         (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
2578         * workers/WorkerContext.cpp:
2579         (WebCore::WorkerContext::hasPendingActivity):
2580         * workers/WorkerEventQueue.cpp:
2581         (WebCore::WorkerEventQueue::close):
2582         * xml/XMLHttpRequest.cpp:
2583         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
2584         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2585         * xml/XPathFunctions.cpp:
2586         (WebCore::XPath::createFunction):
2587         * xml/XPathParser.cpp:
2588         (isAxisName):
2589         * xml/XSLTProcessorLibxslt.cpp:
2590         (WebCore::xsltParamArrayFromParameterMap):
2591         * xml/XSLTProcessorQt.cpp:
2592         (WebCore::XSLTProcessor::transformToString):
2593
2594 2012-10-07  Geoffrey Garen  <ggaren@apple.com>
2595
2596         REGRESSION (r130584): Crashes in JSC::MarkedAllocator::allocateSlowCase, failing fast/dom/gc-dom-tree-lifetime.html
2597         https://bugs.webkit.org/show_bug.cgi?id=98612
2598
2599         Reviewed by Darin Adler.
2600
2601         Since DOM modification can happen outside of JS, calls into JS due to
2602         DOM modification need to take the JS lock.
2603
2604         * bindings/js/JSNodeCustom.cpp:
2605         (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): Take the JS
2606         lock before doing a JS allocation, since this may be a JS entrypoint.
2607
2608         * bindings/js/JSNodeCustom.h:
2609         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Split out a slow case
2610         to help the inliner.
2611
2612 2012-10-07  Nick Carter  <nick@chromium.org>
2613
2614         [chromium] Crash in WebCore::GraphicsLayerChromium::setContentsToImage
2615         https://bugs.webkit.org/show_bug.cgi?id=98456
2616
2617         Reviewed by James Robinson.
2618
2619         Handle null return of nativeImageForCurrentFrame.
2620
2621         Test: compositing/images/truncated-direct-png-image.html
2622
2623         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2624         (WebCore::GraphicsLayerChromium::setContentsToImage):
2625
2626 2012-10-07  Benjamin Poulain  <benjamin@webkit.org>
2627
2628         WTFURL: implement URL port removal for HTMLAnchorElement
2629         https://bugs.webkit.org/show_bug.cgi?id=98604
2630
2631         Reviewed by Adam Barth.
2632
2633         * platform/KURLWTFURL.cpp:
2634         (WebCore::KURL::hasPort):
2635         (WebCore::KURL::removePort):
2636         (WebCore::KURL::isHierarchical):
2637         Implement those methods to pass the port removal test of HTMLAnchorElement.
2638
2639 2012-10-05  Dirk Schulze  <krit@webkit.org>
2640
2641         SVG radialGradient should support 'fr' for focal radius (just like Canvas)
2642         https://bugs.webkit.org/show_bug.cgi?id=97986
2643
2644         Reviewed by Daniel Bates.
2645
2646         Update SVGRadialGradient to the changed behavior in SVG2: http://www.w3.org/TR/SVG2/pservers.html#RadialGradients
2647         SVG2 adds the focal radius for radial gradients. Color stops will start from the edge of
2648         the focal radius.
2649         The new specification does not limit the focal point to be inside the radial gradients radius.
2650         This makes SVGRadialGradient consistent with the radial gradient on Canvas.
2651
2652         Test: svg/custom/radialGradient-focal-radius.svg
2653
2654         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2655             Remove checks for position of focal point. The focal point
2656             can be placed every where outside the radius of the gradient now.
2657         (WebCore::RenderSVGResourceRadialGradient::focalRadius):
2658             Add new method to get the focal radius from SVGRadialGradientElement.
2659         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
2660         * rendering/svg/RenderSVGResourceRadialGradient.h:
2661         (RenderSVGResourceRadialGradient):
2662         * rendering/svg/SVGRenderTreeAsText.cpp:
2663         (WebCore::writeSVGResourceContainer):
2664             Modify DRT output to include the focal radius.
2665         * svg/RadialGradientAttributes.h:
2666         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
2667         (WebCore::RadialGradientAttributes::fr):
2668         (WebCore::RadialGradientAttributes::setFr):
2669         (WebCore::RadialGradientAttributes::hasFr):
2670         (RadialGradientAttributes):
2671             New setters and getters for focal radius.
2672         * svg/SVGRadialGradientElement.cpp:
2673         (WebCore):
2674         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2675         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
2676         (WebCore::SVGRadialGradientElement::parseAttribute):
2677         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2678         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
2679             Ditto.
2680         * svg/SVGRadialGradientElement.h:
2681         (SVGRadialGradientElement):
2682         * svg/SVGRadialGradientElement.idl:
2683         * svg/svgattrs.in:
2684             Add 'fr' as new attribute to the SVG attribute list.
2685
2686 2012-10-07  Glenn Adams  <glenn@skynav.com>
2687
2688         Use start instead of -webkit-auto in default and quirks mode stylesheets.
2689         https://bugs.webkit.org/show_bug.cgi?id=98609
2690
2691         Reviewed by Antti Koivisto.
2692
2693         Change text-align use of legacy '-webkit-auto' to 'start' in the few places where it is used
2694         in default/quirks stylesheets.
2695         
2696         No new tests. No change of rendering/styling behavior. No performance impact.
2697
2698         * css/html.css:
2699         (input, textarea, keygen, select, button, isindex):
2700         (ruby > rt):
2701         * css/quirks.css:
2702         (table):
2703
2704 2012-10-06  Raul Hudea  <rhudea@adobe.com>
2705
2706         -webkit-clip-path should parse IRIs
2707         https://bugs.webkit.org/show_bug.cgi?id=96381
2708
2709         Reviewed by Andreas Kling.
2710
2711         Implemented the clipping via referencing a SVG clipPath. Currently it works only if the clipPath is defined
2712         before using it on an HTML element. The forward reference issue is tracked via https://bugs.webkit.org/show_bug.cgi?id=90405.
2713
2714         Tests: css3/masking/clip-path-reference-userSpaceOnUse.html
2715                css3/masking/clip-path-reference.html
2716                fast/masking/parsing-clip-path-iri.html
2717
2718         * css/CSSComputedStyleDeclaration.cpp:
2719         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add handling for SVG clipPath references.
2720         * css/CSSParser.cpp:
2721         (WebCore::CSSParser::parseValue): Add handling for SVG clipPath references.
2722         * css/StyleBuilder.cpp:
2723         (WebCore::ApplyPropertyClipPath::applyValue): Add handling for SVG references.
2724         * rendering/ClipPathOperation.h:
2725         (ReferenceClipPathOperation): Added a new class corresponding to SVG referenced clipPath.
2726         (WebCore::ReferenceClipPathOperation::create):
2727         (WebCore::ReferenceClipPathOperation::url):
2728         (WebCore::ReferenceClipPathOperation::fragment):
2729         (WebCore::ReferenceClipPathOperation::operator==):
2730         (WebCore::ReferenceClipPathOperation::ReferenceClipPathOperation):
2731         (WebCore):
2732         * rendering/RenderLayer.cpp:
2733         (WebCore::RenderLayer::paintLayerContents): Add handling for ReferenceClipPathOperation.
2734         * rendering/svg/RenderSVGResourceClipper.h:
2735         (RenderSVGResourceClipper): Made applyClippingToContext public as it needs to be called directly for HTML elements.
2736
2737 2012-10-06  Pratik Solanki  <psolanki@apple.com>
2738
2739         Reduce calls to CGImageSourceCopyPropertiesAtIndex from frameSizeAtIndex
2740         https://bugs.webkit.org/show_bug.cgi?id=98607
2741
2742         Reviewed by Dan Bernstein.
2743
2744         Refactor code so that we avoid a second call to CGImageSourceCopyPropertiesAtIndex under
2745         ImageSource::frameSizeAtIndex().
2746
2747         No new tests because no functional change.
2748
2749         * platform/graphics/cg/ImageSourceCG.cpp:
2750         (WebCore::orientationFromProperties):
2751         (WebCore):
2752         (WebCore::ImageSource::frameSizeAtIndex):
2753         (WebCore::ImageSource::orientationAtIndex):
2754
2755 2012-10-06  Mark Rowe  <mrowe@apple.com>
2756
2757         Build fix.
2758
2759         Stop calling -[NSSliderCell setTitle:]. It's never done anything on OS X.
2760
2761         * rendering/RenderThemeMac.mm:
2762         (WebCore::RenderThemeMac::sliderThumbHorizontal):
2763         (WebCore::RenderThemeMac::sliderThumbVertical):
2764
2765 2012-10-06  Andreas Kling  <kling@webkit.org>
2766
2767         Clipboard::types() should return an ordered collection.
2768         <http://webkit.org/b/98547>
2769
2770         Reviewed by Darin Adler.
2771
2772         Let Clipboard::types() return a ListHashSet<String> instead of a HashSet<String> to make sure
2773         it retains the order in which type strings are added.
2774
2775         No test, this fixes an issue that was uncovered when lowering the default table size of WTF
2776         hash tables, causing the HashSet<String> to rehash and reorder itself.
2777
2778         * bindings/js/JSClipboardCustom.cpp:
2779         (WebCore::JSClipboard::types):
2780         * bindings/v8/custom/V8ClipboardCustom.cpp:
2781         (WebCore::V8Clipboard::typesAccessorGetter):
2782         * dom/Clipboard.h:
2783         (Clipboard):
2784         * platform/blackberry/ClipboardBlackBerry.cpp:
2785         (WebCore::ClipboardBlackBerry::types):
2786         * platform/blackberry/ClipboardBlackBerry.h:
2787         (ClipboardBlackBerry):
2788         * platform/chromium/ChromiumDataObject.cpp:
2789         (WebCore::ChromiumDataObject::types):
2790         * platform/chromium/ChromiumDataObject.h:
2791         (ChromiumDataObject):
2792         * platform/chromium/ClipboardChromium.cpp:
2793         (WebCore::ClipboardChromium::types):
2794         * platform/chromium/ClipboardChromium.h:
2795         (ClipboardChromium):
2796         * platform/efl/ClipboardEfl.cpp:
2797         (WebCore::ClipboardEfl::types):
2798         * platform/efl/ClipboardEfl.h:
2799         (ClipboardEfl):
2800         * platform/gtk/ClipboardGtk.cpp:
2801         (WebCore::ClipboardGtk::types):
2802         * platform/gtk/ClipboardGtk.h:
2803         (ClipboardGtk):
2804         * platform/mac/ClipboardMac.h:
2805         (ClipboardMac):
2806         * platform/mac/ClipboardMac.mm:
2807         (WebCore::addHTMLClipboardTypesForCocoaType):
2808         (WebCore::ClipboardMac::types):
2809         * platform/qt/ClipboardQt.cpp:
2810         (WebCore::ClipboardQt::types):
2811         * platform/qt/ClipboardQt.h:
2812         (ClipboardQt):
2813         * platform/win/ClipboardWin.cpp:
2814         (WebCore::addMimeTypesForFormat):
2815         (WebCore::ClipboardWin::types):
2816         * platform/win/ClipboardWin.h:
2817         (ClipboardWin):
2818         * platform/wx/ClipboardWx.cpp:
2819         (WebCore::ClipboardWx::types):
2820         * platform/wx/ClipboardWx.h:
2821         (ClipboardWx):
2822
2823 2012-10-06  Geoffrey Garen  <ggaren@apple.com>
2824
2825         If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
2826         https://bugs.webkit.org/show_bug.cgi?id=88834
2827
2828         Reviewed by Gavin Barraclough.
2829
2830         Follow-up patch to address some comments by Darin Adler.
2831
2832         * bindings/js/JSNodeCustom.h:
2833         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by
2834         collapsing comment lines. Use Node::hasChildNodes() for brevity.
2835
2836 2012-10-06  Benjamin Poulain  <benjamin@webkit.org>
2837
2838         Fix weird use of KURL's protocolIs
2839         https://bugs.webkit.org/show_bug.cgi?id=98584
2840
2841         Reviewed by Adam Barth.
2842
2843         Converting a KURL to string is a bad idea.
2844
2845         Invalid URLs can return a string that pass the tests, while an
2846         invalid URL will fail protocolIs().
2847
2848         * loader/cache/CachedResource.cpp:
2849         (WebCore::CachedResource::removeClient):
2850         * platform/graphics/MediaPlayer.cpp:
2851         (WebCore::MediaPlayer::load):
2852         * platform/network/DataURL.cpp:
2853         (WebCore::handleDataURL):
2854
2855 2012-10-06  Dan Bernstein  <mitz@apple.com>
2856
2857         WebCore part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
2858         https://bugs.webkit.org/show_bug.cgi?id=98601
2859
2860         Reviewed by Darin Adler.
2861
2862         * WebCore.exp.in: Exported Font::setDefaultTypesettingFeatures().
2863         * platform/graphics/Font.cpp:
2864         (WebCore::Font::s_defaultTypesettingFeatures): Defined this static.
2865         (WebCore::Font::setDefaultTypesettingFeatures): Added this setter.
2866         (WebCore::Font::defaultTypesettingFeatures): Added this getter.
2867         * platform/graphics/Font.h:
2868         (WebCore::Font::typesettingFeatures): Changed to use the value of the new static member
2869         s_defaultTypesettingFeatures, rather than 0, if text-redering is set to auto.
2870
2871 2012-10-04  Geoffrey Garen  <ggaren@apple.com>
2872
2873         If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
2874         https://bugs.webkit.org/show_bug.cgi?id=88834
2875
2876         Reviewed by Gavin Barraclough.
2877
2878         * bindings/js/JSNodeCustom.cpp:
2879         (WebCore::isObservable): Clarified this comment, since it seems to have
2880         misled some folks. 
2881
2882         * bindings/js/JSNodeCustom.h:
2883         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): New helper function
2884         to ensure that a disconnected tree is visible to JavaScript.
2885
2886         * bindings/js/ScriptState.cpp:
2887         (WebCore::mainWorldScriptState): Need to check for null because a document's
2888         frame can be null.
2889
2890         * dom/ContainerNode.cpp:
2891         (WebCore::dispatchChildRemovalEvents): When we remove a subtree from the
2892         document, we sever the reference that JavaScript previously held by
2893         referencing its root. So, we give JavaScript an opportunity to establish
2894         a reference to the new root.
2895
2896 2012-10-06  Byungwoo Lee  <bw80.lee@samsung.com>
2897
2898         Fix build warning : -Wunused-parameter.
2899         https://bugs.webkit.org/show_bug.cgi?id=98583
2900
2901         Reviewed by Kentaro Hara.
2902
2903         Use ASSERT_UNUSED() macro to remove build warning.
2904
2905         * plugins/PluginStream.cpp:
2906         (WebCore::PluginStream::delayDeliveryTimerFired):
2907         (WebCore::PluginStream::didReceiveResponse):
2908         (WebCore::PluginStream::didReceiveData):
2909         (WebCore::PluginStream::didFail):
2910         (WebCore::PluginStream::didFinishLoading):
2911         * plugins/PluginView.cpp:
2912         (WebCore::PluginView::requestTimerFired):
2913         (WebCore::PluginView::invalidateTimerFired):
2914
2915 2012-10-05  Adam Barth  <abarth@webkit.org>
2916
2917         [V8] toV8(Node*, ...) does more work than needed (6% faster on dom-traverse)
2918         https://bugs.webkit.org/show_bug.cgi?id=98567
2919
2920         Reviewed by Kentaro Hara.
2921
2922         This patch introduces toV8Fast for Node*. This function works a
2923         differently from the existing toV8 function in two ways:
2924
2925         1) It uses the inline wrapper cache in Node to determine if we're
2926            executing in the main world. This is faster both in the case when
2927            isolated worlds exist because we don't need to retrieve any state
2928            for the current context.
2929
2930         2) It doesn't attempt to inline the hash table lookup used to find the
2931            wrapper in the isolated world. There isn't a big need to inline this
2932            code since performance in the isolated world case is dominated by
2933            the hash table lookup.
2934
2935         Because of these two changes, toV8Fast is small enough to inline into
2936         each attribute getter profitably. Over time, I would like to convert
2937         all the performance critical uses of toV8(Node*) to toV8Fast. At that
2938         point, we can delete toV8 and rename toV8Slow to toV8.
2939
2940         * bindings/scripts/CodeGeneratorV8.pm:
2941         (GenerateHeader):
2942         (GenerateNormalAttrGetter):
2943
2944 2012-10-05  Huang Dongsung  <luxtella@company100.net>
2945
2946         [mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play when scrolled into view.
2947         https://bugs.webkit.org/show_bug.cgi?id=94874
2948
2949         Reviewed by Simon Fraser.
2950
2951         Rollback previous patch because this patch caused two problems.
2952         1. GIF animation is occasionally paused when tiled scrolling is enabled.
2953         2. This change regressed Apple's Membuster benchmark by ~20% (80MB.)
2954
2955         * loader/cache/CachedImage.cpp:
2956         (WebCore::CachedImage::shouldPauseAnimation):
2957         * loader/cache/CachedImage.h:
2958         (CachedImage):
2959         * loader/cache/CachedResource.h:
2960         * loader/cache/MemoryCache.cpp:
2961         (WebCore::MemoryCache::pruneLiveResourcesToSize):
2962         * rendering/RenderObject.cpp:
2963         (WebCore::RenderObject::willRenderImage):
2964
2965 2012-10-05  Xianzhu Wang  <wangxianzhu@chromium.org>
2966
2967         OpenTypeVerticalData issue with DroidSansFallback.ttf on chromium-android and chromium-linux
2968         https://bugs.webkit.org/show_bug.cgi?id=97824
2969
2970         Reviewed by Tony Chang.
2971
2972         The issue occurred when a font that contains vert GSUB table but doesn't have
2973         a DFLT script and the first script doesn't have vert feature. Added logic to
2974         handle the case.
2975
2976         Test: fast/writing-mode/vertical-subst-font-vert-no-dflt.html
2977
2978         * platform/graphics/opentype/OpenTypeVerticalData.cpp:
2979         (FeatureList):
2980         (WebCore::OpenType::FeatureList::findFeature): Added to find the matching feature in FeatureList.
2981         (WebCore::OpenType::GSUBTable::feature): Added logic to handle the case of no DFLT script and no vert feature under the first script.
2982
2983 2012-10-05  Tony Chang  <tony@chromium.org>
2984
2985         Form controls should always be horizontal
2986         https://bugs.webkit.org/show_bug.cgi?id=98563
2987
2988         Reviewed by Ojan Vafai.
2989
2990         Fix a regression where we didn't force form controls to be horizontal.
2991
2992         Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
2993                fast/dom/HTMLProgressElement/progress-writing-mode.html
2994                fast/table/colspanMinWidth-vertical.html
2995
2996         * css/html.css:
2997         (input, textarea, keygen, select, button, isindex, meter, progress):
2998
2999 2012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3000
3001         Unreviewed, rolling out r130556 and r130564.
3002         http://trac.webkit.org/changeset/130556
3003         http://trac.webkit.org/changeset/130564
3004         https://bugs.webkit.org/show_bug.cgi?id=98572
3005
3006         The patch wasn't reviewed by a reviewer and it is breaking
3007         Chromium Windows (Requested by jchaffraix on #webkit).
3008
3009         * WebCore.exp.in:
3010         * WebCore.xcodeproj/project.pbxproj:
3011         * css/mediaControls.css:
3012         (video::-webkit-media-text-track-container):
3013         (video::-webkit-media-text-track-past-nodes):
3014         (video::-webkit-media-text-track-future-nodes):
3015         (video::-webkit-media-text-track-display):
3016         * html/HTMLMediaElement.cpp:
3017         (WebCore::HTMLMediaElement::HTMLMediaElement):
3018         (WebCore::HTMLMediaElement::attach):
3019         (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage):
3020         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
3021         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
3022         (WebCore::HTMLMediaElement::updateClosedCaptionsControls):
3023         * html/HTMLMediaElement.h:
3024         (HTMLMediaElement):
3025         * html/shadow/MediaControlElements.cpp:
3026         (WebCore):
3027         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
3028         * html/shadow/MediaControlElements.h:
3029         (MediaControlTextTrackContainerElement):
3030         * html/shadow/MediaControlRootElement.cpp:
3031         (WebCore::MediaControlRootElement::updateTextTrackDisplay):
3032         * html/shadow/MediaControlRootElement.h:
3033         (MediaControlRootElement):
3034         * html/shadow/MediaControls.h:
3035         (MediaControls):
3036         * html/track/TextTrack.cpp:
3037         (WebCore::TextTrack::TextTrack):
3038         (WebCore::TextTrack::isValidKindKeyword):
3039         (WebCore::TextTrack::setKind):
3040         (WebCore::TextTrack::setMode):
3041         (WebCore::TextTrack::mode):
3042         * html/track/TextTrack.h:
3043         (WebCore::TextTrack::create):
3044         (WebCore::TextTrack::kind):
3045         (TextTrack):
3046         (WebCore::TextTrack::label):
3047         (WebCore::TextTrack::setLabel):
3048         (WebCore::TextTrack::language):
3049         (WebCore::TextTrack::setLanguage):
3050         * html/track/TextTrackCue.cpp:
3051         (WebCore::TextTrackCueBox::TextTrackCueBox):
3052         (WebCore::TextTrackCueBox::shadowPseudoId):
3053         (WebCore):
3054         (WebCore::TextTrackCue::updateDisplayTree):
3055         * html/track/TextTrackCue.h:
3056         (TextTrackCueBox):
3057         (TextTrackCue):
3058         * platform/mac/WebCoreSystemInterface.h:
3059         * platform/mac/WebCoreSystemInterface.mm:
3060         * rendering/CaptionPreferencesChangedListener.h: Removed.
3061         * rendering/RenderTheme.h:
3062         (WebCore):
3063         (RenderTheme):
3064         * rendering/RenderThemeMac.h:
3065         (RenderThemeMac):
3066         * rendering/RenderThemeMac.mm:
3067         (WebCore):
3068         (WebCore::RenderThemeMac::RenderThemeMac):
3069         (WebCore::RenderThemeMac::~RenderThemeMac):
3070
3071 2012-10-05  Tim Horton  <timothy_horton@apple.com>
3072
3073         [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
3074         https://bugs.webkit.org/show_bug.cgi?id=98565
3075         <rdar://problem/12436468>
3076
3077         Reviewed by Simon Fraser.
3078
3079         On Mountain Lion and above, CG can tell us whether we need to work around incorrect
3080         shadow offsets. Prior to Mountain Lion, we should assume we need to apply the workaround.
3081
3082         No new tests, as this requires an obscure configuration to test.
3083
3084         * WebCore.exp.in:
3085         * platform/graphics/cg/GraphicsContextCG.cpp:
3086         (WebCore::applyShadowOffsetWorkaroundIfNeeded):
3087         (WebCore::GraphicsContext::setPlatformShadow):
3088         * platform/mac/WebCoreSystemInterface.h: Add wkCGContextDrawsWithCorrectShadowOffsets.
3089         * platform/mac/WebCoreSystemInterface.mm: Add wkCGContextDrawsWithCorrectShadowOffsets.
3090
3091 2012-10-05  Anders Carlsson  <andersca@apple.com>
3092
3093         Try to fix the build.
3094
3095         * rendering/RenderThemeMac.mm:
3096         (WebCore::RenderThemeMac::captionsWindowColor):
3097
3098 2012-10-05  Eric Seidel  <eric@webkit.org>
3099
3100         Remove needless virtual calls and inline RenderStyle::logical* to make table layout faster
3101         https://bugs.webkit.org/show_bug.cgi?id=98550
3102
3103         Reviewed by Andreas Kling.
3104
3105         This shaved another 5% (100ms) off of the runtime of resizecol.html microbenchmark:
3106         http://www.robohornet.org/tests/resizecol.html
3107
3108         * rendering/AutoTableLayout.cpp:
3109         (WebCore::AutoTableLayout::recalcColumn):
3110         * rendering/style/RenderStyle.cpp:
3111         * rendering/style/RenderStyle.h:
3112
3113 2012-10-04  Eric Carlson  <eric.carlson@apple.com>
3114
3115         Allow ports to override text track rendering style
3116         https://bugs.webkit.org/show_bug.cgi?id=97800
3117         <rdar://problem/12044964>
3118
3119         Reviewed by Silvia Pfeiffer.
3120
3121         * WebCore.exp.in: Export new WebkitSystemInterface functions.
3122         * WebCore.xcodeproj/project.pbxproj: Add CaptionPreferencesChangedListener.h.
3123
3124         * css/mediaControls.css: Rearrange the caption CSS so it is possible to style the cue window,
3125             background, and text independently.
3126
3127         * html/HTMLMediaElement.cpp:
3128         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_disableCaptions with theme->userPrefersCaptions().
3129         (WebCore::HTMLMediaElement::attach): Register for caption preferences change callbacks.
3130         (WebCore::HTMLMediaElement::detach): Unregister for caption preferences change callbacks.
3131         (WebCore::HTMLMediaElement::userPrefersCaptions): Return theme->userPrefersCaptions().
3132         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Consider userPrefersCaptions().
3133         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Move the code that marks all tracks as
3134             un-configured to markCaptionAndSubtitleTracksAsUnconfigured so it can be reused.
3135         (WebCore::HTMLMediaElement::captionPreferencesChanged): New, force a reevaluation of all text tracks.
3136         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): New, code moved from 
3137             setClosedCaptionsVisible
3138         * html/HTMLMediaElement.h: Inherit from CaptionPreferencesChangedListener.
3139
3140         * html/shadow/MediaControlElements.cpp:
3141         (WebCore::MediaControlTextTrackContainerElement::userCaptionPreferencesChanged): New, if theme
3142             has a captions style sheet override, inject it into the current page group, otherwise
3143             remove injected sheet.
3144         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Get rid of unnecessary member
3145             variable. Get caption font scale from theme instead of hard coding.
3146         * html/shadow/MediaControlElements.h:
3147
3148         * html/shadow/MediaControlRootElement.cpp:
3149         (WebCore::MediaControlRootElement::userCaptionPreferencesChanged): New.
3150         (WebCore::MediaControlRootElement::updateTextTrackDisplay):
3151         * html/shadow/MediaControlRootElement.h: Add userCaptionPreferencesChanged, minor cleanup.
3152
3153         * html/shadow/MediaControls.h:
3154         (WebCore::MediaControls::userCaptionPreferencesChanged): New.
3155
3156         * html/track/TextTrackCue.cpp:
3157         (WebCore::TextTrackCueBox::TextTrackCueBox): Set the shadow pseudo id.
3158         (WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId): New, class method to return the 
3159             shadow pseudo id so it can be used elsewhere.
3160         (WebCore::TextTrackCueBox::shadowPseudoId): Call textTrackCueBoxShadowPseudoId.
3161         (WebCore::TextTrackCue::pastNodesShadowPseudoId): New, class method to return the 
3162             shadow pseudo id so it can be used elsewhere.
3163         (WebCore::TextTrackCue::futureNodesShadowPseudoId): Ditto.
3164         (WebCore::TextTrackCue::updateDisplayTree):
3165         * html/track/TextTrackCue.h:
3166
3167         * platform/mac/WebCoreSystemInterface.h: Updated.
3168         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3169
3170         * rendering/CaptionPreferencesChangedListener.h: Added.
3171
3172         * rendering/RenderTheme.h:
3173         (WebCore::RenderTheme::userPrefersCaptions): New, default do-nothing implementation.
3174         (WebCore::RenderTheme::userHasCaptionPreferences): Ditto.
3175         (WebCore::RenderTheme::captionFontSizeScale): Ditto.
3176         (WebCore::RenderTheme::captionsStyleSheetOverride): Ditto.
3177         (WebCore::RenderTheme::registerForCaptionPreferencesChangedCallbacks): Ditto.
3178         (WebCore::RenderTheme::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
3179
3180         * rendering/RenderThemeMac.h:
3181         * rendering/RenderThemeMac.mm:
3182         (WebCore::userCaptionPreferencesChangedNotificationCallback): New, receives preference changed notifications.
3183         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_listeningForCaptionPreferenceNotifications.
3184         (WebCore::RenderThemeMac::~RenderThemeMac): Unregister for notifications if necessary.
3185         (WebCore::RenderThemeMac::userHasCaptionPreferences): New, passthrough to WKSI function.
3186         (WebCore::RenderThemeMac::userPrefersCaptions): Ditto.
3187         (WebCore::RenderThemeMac::captionsWindowColor): Return Color with user's caption window color preference.
3188         (WebCore::RenderThemeMac::captionsBackgroundColor): Return Color with user's caption 
3189             background color preference.
3190         (WebCore::RenderThemeMac::captionsTextColor): Return Color with user's caption text color preference.
3191         (WebCore::RenderThemeMac::captionsEdgeColorForTextColor): Return Color for text edge effect.
3192         (WebCore::RenderThemeMac::cssPropertyWithTextEdgeColor): Return String with CSS to set a text-shadow
3193             or webkit-text-stroke property.
3194         (WebCore::RenderThemeMac::cssColorProperty): Return a String with css to set a property 
3195             with a color value.
3196         (WebCore::RenderThemeMac::captionsTextEdgeStyle): Return a String with css to style caption 
3197             text with the user's preferred text edge stye.
3198         (WebCore::RenderThemeMac::captionsDefaultFont): Return a String with css to style caption
3199             text with the user's preferred font.
3200         (WebCore::RenderThemeMac::captionsStyleSheetOverride): Return a String with css to style captions
3201             with the user's preferred style.
3202         (WebCore::RenderThemeMac::captionFontSizeScale): Return the user's preferred caption font scale.
3203         (WebCore::RenderThemeMac::captionPreferencesChanged): Notify listeners of caption preference change.
3204         (WebCore::RenderThemeMac::registerForCaptionPreferencesChangedCallbacks): Add a caption preferences 
3205             changes listener.
3206         (WebCore::RenderThemeMac::unregisterForCaptionPreferencesChangedCallbacks): Remove a caption preferences
3207             changes listener.
3208
3209 2012-10-05  Takashi Sakamoto  <tasak@google.com>
3210
3211         Inline continuations create :after generated content on style recalcs
3212         https://bugs.webkit.org/show_bug.cgi?id=93170
3213
3214         Reviewed by Abhishek Arya.
3215
3216         The bug is caused by RenderInline::styleDidChange's setContinuation(0).
3217         RenderObjectChildList uses continuation to know whether the given
3218         renderer should have AFTER render object or not.
3219         However, setContinuation(0) makes RenderObjectChildList to
3220         misunderstand that all continuations are last continuation.
3221         To avoid the misunderstanding, added a new flag to class
3222         RenderObejctChildList to enable/disable updating :after content (and
3223         also :before content).
3224
3225         Tests: fast/css-generated-content/after-with-inline-continuation.html
3226                fast/css-generated-content/dynamic-apply-after-for-inline.html
3227
3228         * rendering/RenderInline.cpp:
3229         (WebCore::RenderInline::styleDidChange):
3230         Disable upating :after content for continuations which are not
3231         the last one during setStyle just after setContinuation(0).
3232         The setStyle invokes RenderInline::styleDidChange and also invokes
3233         updateBeforeAfterContent via the styleDidChange. This means,
3234         the last continuation's updateBeforeAfterContent is also invoked
3235         after setContinuation(0). We have to update :after for the last
3236         continuation.
3237         * rendering/RenderObjectChildList.cpp:
3238         (WebCore):
3239         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3240         If s_updateBeforeAfterContent is false, quickly exit
3241         updateBeforeAfterContent.
3242         * rendering/RenderObjectChildList.h:
3243         (RenderObjectChildList):
3244         Added a new flag s_enableUpdateBeforeAfterContent to enable/disable
3245         updating :before or :after content.
3246
3247 2012-10-05  Simon Fraser  <simon.fraser@apple.com>
3248
3249         Don't assume that TileCache layers are opaque
3250         https://bugs.webkit.org/show_bug.cgi?id=98555
3251
3252         Reviewed by Dean Jackson.
3253
3254         TileCache previously set all its tile CALayers as opaque.
3255         However, we will need non-opaque tile caches when we use this
3256         tile cache for tiled layers, so add a member function to
3257         control tile opacity.
3258         
3259         RenderLayerBacking already calls m_graphicsLayer->setContentsOpaque()
3260         using the FrameView's notion of opaqueness, so this change will
3261         cause the main tile cache to be non-opaque if external forces have
3262         set the FrameView to be non-opaque.
3263         
3264         Also tweak the layer border widths on tiled layers.
3265
3266         * platform/graphics/ca/mac/TileCache.h:
3267         (TileCache):
3268         (WebCore::TileCache::tilesAreOpaque):
3269         * platform/graphics/ca/mac/TileCache.mm:
3270         (WebCore::TileCache::TileCache):
3271         (WebCore::TileCache::setTilesOpaque):
3272         (WebCore::TileCache::createTileLayer):
3273         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3274         (-[WebTileCacheLayer setOpaque:]):
3275         (-[WebTileCacheLayer isOpaque]):
3276         (-[WebTileCacheLayer setBorderWidth:]):
3277
3278 2012-10-05  Tony Chang  <tony@chromium.org>
3279
3280         Fix margin box ascent computation in flexbox
3281         https://bugs.webkit.org/show_bug.cgi?id=98540
3282
3283         Reviewed by Ojan Vafai.
3284
3285         The margin box ascent doesn't depend on the margin below the box.
3286
3287         Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME.
3288                css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case.
3289
3290         * rendering/RenderFlexibleBox.cpp:
3291         (WebCore::RenderFlexibleBox::marginBoxAscentForChild):
3292
3293 2012-10-05  Ojan Vafai  <ojan@chromium.org>
3294
3295         Deprecated flexboxes subtract scrollbar width/height twice
3296         https://bugs.webkit.org/show_bug.cgi?id=98552
3297
3298         Reviewed by Tony Chang.
3299
3300         This is a regression from http://trac.webkit.org/changeset/119507.
3301         The problem is that contentHeight subtracts the scrollbar and
3302         RenderDeprecatedFlexbox subtracts the scrollbar.
3303
3304         -Make it so that we only access override sizes if one has been set.
3305         I think this makes the calling code more clear.
3306         -If we don't have one set, grab the height/width - borderAndPadding.
3307         -Add a FIXME to change this all back to being borderbox sizes.
3308         There's something trick with making table padding/border work right for that
3309         though (noted in the original patch).
3310
3311         Test: fast/flexbox/flexing-overflow-scroll-item.html
3312
3313         * rendering/RenderBox.cpp:
3314         (WebCore::RenderBox::overrideLogicalContentWidth):
3315         (WebCore::RenderBox::overrideLogicalContentHeight):
3316         (WebCore::RenderBox::availableLogicalHeightUsing):
3317         * rendering/RenderBox.h:
3318         (RenderBox):
3319         * rendering/RenderDeprecatedFlexibleBox.cpp:
3320         (WebCore::contentWidthForChild):
3321         (WebCore):
3322         (WebCore::contentHeightForChild):
3323         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3324         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3325         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3326
3327 2012-10-05  Eric Seidel  <eric@webkit.org>
3328
3329         Make tables which don't use col/row span much faster to layout
3330         https://bugs.webkit.org/show_bug.cgi?id=98221
3331
3332         Reviewed by Julien Chaffraix.
3333
3334         My sense is that most tables on webpages do not use colspan/rowspan
3335         so I stole another bit from RenderTableCell::m_column to avoid
3336         having to re-parse the colSpan/rowSpan attributes for every cell
3337         when doing table layout.
3338         This made these symbols disappear from biggrid.html/redraw.html (dglazkov's spreadsheets benchmarks)
3339         as well as moved our robohornet/resizecol.html number from an average of 3221ms to 2608ms (~20%!).
3340
3341         I removed m_hasHTMLTableCellElement (from http://trac.webkit.org/changeset/97691)
3342         since it was attempting to do the same sort of optimization.
3343
3344         * rendering/RenderTableCell.cpp:
3345         (WebCore::RenderTableCell::RenderTableCell):
3346         (WebCore::RenderTableCell::parseColSpanFromDOM):
3347         (WebCore::RenderTableCell::parseRowSpanFromDOM):
3348         (WebCore::RenderTableCell::layout):
3349         * rendering/RenderTableCell.h:
3350         (WebCore::RenderTableCell::colSpan):
3351         (WebCore::RenderTableCell::rowSpan):
3352         (RenderTableCell):
3353
3354 2012-10-05  Oli Lan  <olilan@chromium.org>
3355
3356         Allow EventHandler to handle longpress gestures, including longpress selection on Android.
3357         https://bugs.webkit.org/show_bug.cgi?id=98173
3358         
3359         Reviewed by Ryosuke Niwa.
3360
3361         Adds handling for GestureLongPress to EventHandler::handleGestureEvent, with a new
3362         handleGestureLongPress method. On Android, this method selects the closest word
3363         if the gesture event was over non-link text.
3364
3365         This is tested via a new chromium test WebViewTest.LongPressSelection.  
3366
3367         * page/EventHandler.cpp:
3368         (WebCore::EventHandler::selectClosestWordFromHitTestResult):
3369         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
3370         (WebCore):
3371         (WebCore::EventHandler::handleGestureEvent):
3372         (WebCore::EventHandler::handleGestureLongPress):
3373         * page/EventHandler.h:
3374         (EventHandler):
3375
3376 2012-10-05  Tab Atkins  <jackalmage@gmail.com>
3377
3378         <marquee> element forces itself to be at least 1em high, regardless of 'height' declaration
3379         https://bugs.webkit.org/show_bug.cgi?id=18098
3380
3381         Reviewed by Eric Seidel.
3382
3383         This restriction originally existed to match IE, but IE changed some time ago to be normal instead.
3384         We're the last browser, afaict, to still enforce this de-facto restriction.
3385         This patch makes <marquee> instead act like a normal element.
3386
3387         Tests: fast/css/MarqueeLayoutTest.html (rewritten from the older, bad version)
3388
3389         * rendering/RenderMarquee.cpp:
3390         (WebCore::RenderMarquee::updateMarqueeStyle):
3391
3392 2012-10-05  Joe Mason  <jmason@rim.com>
3393
3394         [BlackBerry] Fix regression in proxy auth
3395         https://bugs.webkit.org/show_bug.cgi?id=98533
3396
3397         Reviewed by Yong Li.
3398
3399         The proxy auth dialog gets the proxy address from
3400         BlackBerry::Platform::Settings::proxyAddress, which returns
3401         "host:port", but we try to parse it with a KURL, which expects
3402         "scheme://host:port".  Since this is an http proxy, add http:// to the
3403         url to get it to parse.
3404
3405         PR 220567.
3406
3407         * platform/network/blackberry/Network