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