[Microdata] HTMLPropertiesCollection code cleanup
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-13  Arko Saha  <arko@motorola.com>
2
3         [Microdata] HTMLPropertiesCollection code cleanup
4         https://bugs.webkit.org/show_bug.cgi?id=109721
5
6         Reviewed by Ryosuke Niwa.
7
8         Removed forward declaration of DOMStringList class.
9         Removed unused findRefElements() method declaration.
10         Also Removed unused parameter Element* from updatePropertyCache() method.
11
12         No new test since no change in behavior.
13
14         * html/HTMLPropertiesCollection.cpp:
15         (WebCore::HTMLPropertiesCollection::updateNameCache):
16         * html/HTMLPropertiesCollection.h:
17         (WebCore):
18         (HTMLPropertiesCollection):
19         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
20
21 2013-02-13  Kondapally Kalyan  <kalyan.kondapally@intel.com>
22
23         [WebGL][EFL][GTK][Qt]Add support for OES_vertex_array_object.
24         https://bugs.webkit.org/show_bug.cgi?id=109382
25
26         Reviewed by Kenneth Russell.
27
28         Covered by fast/canvas/webgl/oes-vertex-array-object.html
29
30         This patch adds support for using Vertex Array Object with OpenGl.
31         The patch adds support for loading necessary opengl functions
32         and support for checking GL_ARB_vertex_array_object. The support
33         for OES_vertex_array_object is advertised if GL_ARB_vertex_array_object is
34         supported.
35
36         * platform/graphics/OpenGLShims.cpp:
37         (WebCore::initializeOpenGLShims):
38         * platform/graphics/OpenGLShims.h:
39         (_OpenGLFunctionTable):
40         Added support for loading the necessary functions.
41
42         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
44         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
45         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
46         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
47         (WebCore::Extensions3DOpenGL::supportsExtension):
48
49         (WebCore):
50         (WebCore::Extensions3DOpenGL::isVertexArrayObjectSupported):
51         * platform/graphics/opengl/Extensions3DOpenGL.h:
52         (Extensions3DOpenGL):
53
54 2013-02-13  Eberhard Graether  <egraether@google.com>
55
56         chromium: remove CompositorHUDFontAtlas
57         https://bugs.webkit.org/show_bug.cgi?id=109328
58
59         Reviewed by James Robinson.
60
61         After switching the HudLayer to use skia's font rendering the
62         CompositorHUDFontAtlas has become obsolete. This change removes
63         this class and the related WebLayerTreeView API.
64
65         No new tests.
66
67         * WebCore.gypi:
68         * platform/graphics/chromium/CompositorHUDFontAtlas.cpp: Removed.
69         * platform/graphics/chromium/CompositorHUDFontAtlas.h: Removed.
70
71 2013-02-13  Dean Jackson  <dino@apple.com>
72
73         Small update to speech bubble for captions menu [Mac]
74         https://bugs.webkit.org/show_bug.cgi?id=109641
75
76         Reviewed by Eric Carlson
77
78         Small adjustment to the embedded SVG that draws a speech bubble
79         for the captions button. Remove a polygon that was so small
80         it looked like a rendering error.
81
82         * css/mediaControlsQuickTime.css:
83         (video::-webkit-media-controls-toggle-closed-captions-button):
84
85 2013-02-13  Dean Jackson  <dino@apple.com>
86
87         Clicking outside captions menu should dismiss it
88         https://bugs.webkit.org/show_bug.cgi?id=109648
89
90         Reviewed by Eric Carlson.
91
92         Add a virtual override to the platform-specific
93         defaultEventHandler to intercept any click in the controls,
94         and hide the captions menu if it is showing.
95
96         Test: media/video-controls-captions-trackmenu-hide-on-click.html
97
98         * html/shadow/MediaControlsApple.cpp:
99         (WebCore::MediaControlsApple::defaultEventHandler): Override from MediaControls. Hide
100             captions menu if a click event comes in.
101         * html/shadow/MediaControlsApple.h:
102
103 2013-02-13  Tommy Widenflycht  <tommyw@google.com>
104
105         MediaStream API: Use the source id when creating new tracks
106         https://bugs.webkit.org/show_bug.cgi?id=109688
107
108         Reviewed by Adam Barth.
109
110         This patch reuses the ids from the source when creating tracks instead of creating a new one.
111         This was requested by the chromium port to greatly simplify their implementation.
112         In the longer run the API should be rewritten to only use tracks instead of sources.
113
114         Covered by existing tests.
115
116         * platform/chromium/support/WebMediaStream.cpp:
117         (WebKit::WebMediaStream::audioTracks):
118         (WebKit::WebMediaStream::videoTracks):
119         (WebKit::WebMediaStream::initialize):
120         (WebKit):
121         * platform/chromium/support/WebMediaStreamTrack.cpp:
122         (WebKit::WebMediaStreamTrack::initialize):
123         (WebKit):
124         * platform/mediastream/MediaStreamComponent.h:
125         (WebCore::MediaStreamComponent::create):
126         (MediaStreamComponent):
127         (WebCore::MediaStreamComponent::MediaStreamComponent):
128         (WebCore):
129         * platform/mediastream/MediaStreamDescriptor.h:
130         (WebCore::MediaStreamDescriptor::create):
131         (MediaStreamDescriptor):
132         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
133
134 2013-02-13  Eric Seidel  <eric@webkit.org>
135
136         Use fancy new Vector-based String constructors in the WebVTT parser
137         https://bugs.webkit.org/show_bug.cgi?id=109619
138
139         Reviewed by Benjamin Poulain.
140
141         No change in behavior. Added some FIXMEs for future perf optimization.
142
143         * html/track/WebVTTParser.cpp:
144         (WebCore::WebVTTParser::constructTreeFromToken):
145
146 2013-02-13  Morten Stenshorne  <mstensho@opera.com>
147
148         WebKit ignores column-rules wider than column-gap
149         https://bugs.webkit.org/show_bug.cgi?id=15553
150
151         Paint column rules even if they are wider than the gap.
152         Rules wider than the gap should just overlap with column contents.
153
154         Reviewed by Eric Seidel.
155
156         Test: fast/multicol/rule-thicker-than-gap.html
157
158         * rendering/RenderBlock.cpp:
159         (WebCore::RenderBlock::paintColumnRules):
160
161 2013-02-13  Philip Rogers  <pdr@google.com>
162
163         Replace SVG bitmap cache with directly-rendered SVG
164         https://bugs.webkit.org/show_bug.cgi?id=106159
165
166         Reviewed by Tim Horton.
167
168         This patch removes the caching of SVG bitmaps so SVG images are rendered directly. This
169         enables WebKit to pass the IE Chalkboard demo in 10s on a Z620:
170         http://ie.microsoft.com/testdrive/Performance/Chalkboard/
171
172         On a simple scaled SVG benchmark similar to the IE10 Chalkboard demo
173         (http://philbit.com/SvgImagePerformance/viewport.html):
174             without patch: ~20FPS
175             with patch: ~55FPS
176
177         The bitmap SVG image cache had several shortcomings:
178             - The bitmap cache prevented viewport rendering. (WK104693)
179             - Bitmap memory usage was high. (WK106484)
180             - Caching animating images was expensive.
181
182         This change removes almost all of the SVGImageCache implementation, replacing it with
183         directly-rendered SVG. Instead of caching bitmaps, an SVGImageForContainer is cached which
184         is a thin wrapper around an SVG image with the associated container size and scale.
185         When rendering patterns (e.g., tiled backgrounds), a temporary bitmap is used for
186         performance. This change also removes the redraw timer of the old cache, instead relying
187         on the SVG image to notify clients if the image changes (e.g., during animations).
188
189         This patch fixes two existing bugs (WK99481 and WK104189) that were due to caching bitmaps
190         at a fixed size. A test has been added for each of these bugs.
191
192         Tests: svg/as-image/svg-image-scaled.html
193                svg/as-image/svg-image-viewbox.html
194
195         * CMakeLists.txt:
196         * GNUmakefile.list.am:
197         * Target.pri:
198         * WebCore.gypi:
199         * WebCore.vcproj/WebCore.vcproj:
200         * WebCore.xcodeproj/project.pbxproj:
201         * loader/cache/CachedImage.cpp:
202         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
203         (WebCore::CachedImage::setContainerSizeForRenderer):
204         (WebCore::CachedImage::clear):
205         (WebCore::CachedImage::changedInRect):
206
207             SVG images are no longer special-cased here. When the SVG image changes, users are
208             notified through this function, and users can then request their content to be redrawn.
209
210         * svg/graphics/SVGImage.cpp:
211         (WebCore::SVGImage::setContainerSize):
212         (WebCore::SVGImage::drawForContainer):
213
214             drawForContainer lays out the SVG content for a specific container size and renders it.
215             The logic is fairly straightforward but a note about the scales and zooms here:
216                 the destination rect parameter is zoomed but not scaled
217                 the source rect parameter is zoomed but not scaled
218                 the context is scaled but not zoomed
219             SVGImage::draw(...) only accepts a source and destination rect but does not consider
220             scale or zoom. Therefore, drawForContainer removes the zoom component from the source
221             so SVGImage::draw(...) will draw from the pre-zoom source to the post-zoom destination.
222
223         (WebCore::SVGImage::drawPatternForContainer):
224
225             For performance, drawPatternForContainer renders the SVG content onto a bitmap, then
226             has the bitmap image draw the pattern. This is necessary because drawPattern is used
227             for tiling.
228
229         (WebCore):
230         (WebCore::SVGImage::startAnimation):
231         (WebCore::SVGImage::stopAnimation):
232         (WebCore::SVGImage::resetAnimation):
233         (WebCore::SVGImage::reportMemoryUsage):
234         * svg/graphics/SVGImage.h:
235         (WebCore):
236         (SVGImage):
237         * svg/graphics/SVGImageCache.cpp:
238
239             Instead of storing a SizeAndScales values for each renderer, a SVGImageForContainer
240             is stored which is just a thin wrapper around an SVG image that contains container
241             sizing information. By combining the image and size information, the two maps of
242             SVGImageCache have been merged into one.
243
244             To make this patch easier to review, SVGImageCache still exists and works similar to
245             how it did before the patch. Now, SVGImageCache simply stores the SVGImageForContainers.
246             In a followup patch it will be removed.
247
248             Note: the redraw timer of SVGImageCache has been removed because animation
249             invalidation is now properly propagated back to the image clients.
250
251         (WebCore):
252         (WebCore::SVGImageCache::SVGImageCache):
253         (WebCore::SVGImageCache::~SVGImageCache):
254         (WebCore::SVGImageCache::removeClientFromCache):
255         (WebCore::SVGImageCache::setContainerSizeForRenderer):
256         (WebCore::SVGImageCache::imageSizeForRenderer):
257
258             Previously, this function returned the scaled image size which was incorrect. The image
259             size is used by clients such as GraphicsContext2D to determine the source size
260             for drawing the image. draw() accepts zoomed but not scaled values, so this has been
261             changed.
262
263         (WebCore::SVGImageCache::imageForRenderer):
264
265             A FIXME has been added here to not set the scale on every lookup. This can be improved
266             by setting the page scale factor in setContainerSizeForRenderer() in a future patch.
267
268         * svg/graphics/SVGImageCache.h:
269         (WebCore):
270         (SVGImageCache):
271         * svg/graphics/SVGImageForContainer.cpp: Added.
272         (WebCore):
273
274             SVGImageForContainer is a thin wrapper around an SVG image. The lifetime of the
275             SVGImage will be longer than the image cache.
276
277         (WebCore::SVGImageForContainer::size):
278
279             This is the only logic in SVGImageForContainer. The size returned needs to be zoomed
280             but not scaled because it is used (e.g., by RenderImage) to pass back into draw() which
281             takes zoomed but not scaled values.
282
283         (WebCore::SVGImageForContainer::draw):
284         (WebCore::SVGImageForContainer::drawPattern):
285         * svg/graphics/SVGImageForContainer.h: Added.
286         (WebCore):
287         (SVGImageForContainer):
288
289             In a future patch SVGImageForContainer can be made immutable but without a refactoring
290             for not setting the page scale factor in SVGImageCache::lookupOrCreateImageForRenderer,
291             setters are needed.
292
293         (WebCore::SVGImageForContainer::create):
294         (WebCore::SVGImageForContainer::containerSize):
295         (WebCore::SVGImageForContainer::pageScale):
296         (WebCore::SVGImageForContainer::zoom):
297         (WebCore::SVGImageForContainer::setSize):
298         (WebCore::SVGImageForContainer::setZoom):
299         (WebCore::SVGImageForContainer::setPageScale):
300         (WebCore::SVGImageForContainer::SVGImageForContainer):
301         (WebCore::SVGImageForContainer::destroyDecodedData):
302         (WebCore::SVGImageForContainer::decodedSize):
303
304 2013-02-12  Antti Koivisto  <antti@apple.com>
305
306         Avoid updating timer heap when nothing changes
307         https://bugs.webkit.org/show_bug.cgi?id=109630
308
309         Reviewed by Andreas Kling.
310
311         When the fire time of a Timer is changed we remove it from the timer heap and reinsert it. This is pretty slow. 
312         Turns out that in ~80% of cases we are already in the heap and the insertion position is the same as the 
313         original position. We can check if anything is actually going to change before doing this work.
314         
315         This makes starting a timer ~30% faster in average, ~0.1% progression in PLT3.
316         
317         * platform/Timer.cpp:
318         (TimerHeapLessThanFunction):
319         (WebCore::TimerHeapLessThanFunction::operator()):
320         (WebCore::parentHeapPropertyHolds):
321         (WebCore):
322         (WebCore::childHeapPropertyHolds):
323         (WebCore::TimerBase::hasValidHeapPosition):
324         
325             The code here assumes that STL heap is a normal binary heap. If there is a different implementation
326             somewhere the assertions will catch it.
327
328         (WebCore::TimerBase::updateHeapIfNeeded):
329         
330             Skip updating the heap if it is already valid.
331
332         (WebCore::TimerBase::setNextFireTime):
333         * platform/Timer.h:
334         (TimerBase):
335
336 2013-02-13  Martin Robinson  <mrobinson@igalia.com>
337
338         [GTK] Remove remaining dead code from the GLib unicode backend
339         https://bugs.webkit.org/show_bug.cgi?id=109707
340
341         Reviewed by Philippe Normand.
342
343         * platform/KURL.cpp:
344         (WebCore::appendEncodedHostname):
345         * platform/text/TextEncoding.cpp:
346         (WebCore::TextEncoding::encode):
347         * platform/text/TextEncodingRegistry.cpp:
348         (WebCore::buildBaseTextCodecMaps):
349         (WebCore::extendTextCodecMaps):
350
351 2013-02-13  Xianzhu Wang  <wangxianzhu@chromium.org>
352
353         Heap-use-after-free in WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects
354         https://bugs.webkit.org/show_bug.cgi?id=108695
355
356         See comments of RenderLayerModelObject::willBeDestroyed() below for details.
357
358         Reviewed by Abhishek Arya.
359
360         Test: ManulTests/scrolling-coordinator-viewport-constrained-crash.html
361         Unable to write a normal layout test because
362         1) must waitUntilDone() to reproduce the crash but the redirected URL can't notifyDone();
363         2) Can't use a frame to contain the test because ScrollingCoordinator handles only the main frame.
364
365         * rendering/RenderBoxModelObject.cpp:
366         (WebCore::RenderBoxModelObject::willBeDestroyed): Moved removeViewportConstrainedObject() call into RenderLayerModelObject::willBeDestroyed() because only RenderLayerModelObjects can be added as viewportConstrainedObjects.
367         * rendering/RenderLayerModelObject.cpp:
368         (WebCore::RenderLayerModelObject::willBeDestroyed): Changed this->view() (then view->frameView()) to this->frame() (then frame->view()) because when willBeDestroyed() is called, the document has set its renderView to 0 thus this->view() will return 0, causing removeViewportConstrainedObject() not called and a deleted RenderLayerModelObject in FrameView's viewportConstrainedObjects.
369
370 2013-02-13  Florin Malita  <fmalita@chromium.org>
371
372         [SVG] OOB access in SVGListProperty::replaceItemValues()
373         https://bugs.webkit.org/show_bug.cgi?id=109293
374
375         Replacing a list property item with itself should be a no-op. This patch updates the related
376         APIs and logic to detect the self-replace case and prevent removal of the item from the list.
377
378         To avoid scanning the list multiple times, removeItemFromList() is updated to operate on
379         indices and a findItem() method is added to resolve an item to an index.
380
381         Reviewed by Dirk Schulze.
382
383         No new tests: updated existing tests cover the change.
384
385         * svg/properties/SVGAnimatedListPropertyTearOff.h:
386         (WebCore::SVGAnimatedListPropertyTearOff::findItem):
387         (SVGAnimatedListPropertyTearOff):
388         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
389         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
390         (WebCore::SVGAnimatedPathSegListPropertyTearOff::findItem):
391         (SVGAnimatedPathSegListPropertyTearOff):
392         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
393         Add a findItem() delegating method, and update removeItemFromList() to use the new
394         index-based API.
395
396         * svg/properties/SVGListProperty.h:
397         (WebCore::SVGListProperty::insertItemBeforeValues):
398         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
399         (WebCore::SVGListProperty::replaceItemValues):
400         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
401         (SVGListProperty):
402         Updated to handle the no-op case for insertItemBefore() & replaceItem().
403
404         * svg/properties/SVGListPropertyTearOff.h:
405         (WebCore::SVGListPropertyTearOff::findItem):
406         (WebCore::SVGListPropertyTearOff::removeItemFromList):
407         Index-based API updates.
408
409         (WebCore::SVGListPropertyTearOff::processIncomingListItemValue):
410         (WebCore::SVGListPropertyTearOff::processIncomingListItemWrapper):
411         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
412         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue):
413         Detect the self-replace case and return without removing the item from the list.
414
415         * svg/properties/SVGPathSegListPropertyTearOff.h:
416         (WebCore::SVGPathSegListPropertyTearOff::findItem):
417         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
418         (SVGPathSegListPropertyTearOff):
419         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
420         * svg/properties/SVGStaticListPropertyTearOff.h:
421         (WebCore::SVGStaticListPropertyTearOff::processIncomingListItemValue):
422         (WebCore::SVGStaticListPropertyTearOff::processIncomingListItemWrapper):
423         Index-based API updates.
424
425 2013-02-13  Takashi Sakamoto  <tasak@google.com>
426
427         [Refactoring] StyleResolver::State should have methods to access its member variables.
428         https://bugs.webkit.org/show_bug.cgi?id=108563
429
430         Reviewed by Antti Koivisto.
431
432         Made all member variables private and added methods to access the
433         variables, because most of the member variables are read-only.
434         We don't need to update those read-only variables while resolving
435         styles.
436
437         No new tests, because just refactoring.
438
439         * css/SVGCSSStyleSelector.cpp:
440         (WebCore::StyleResolver::applySVGProperty):
441         * css/StyleResolver.cpp:
442         (WebCore):
443         (WebCore::StyleResolver::collectMatchingRules):
444         (WebCore::StyleResolver::collectMatchingRulesForRegion):
445         (WebCore::StyleResolver::sortAndTransferMatchedRules):
446         (WebCore::StyleResolver::matchScopedAuthorRules):
447         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
448         (WebCore::StyleResolver::matchHostRules):
449         (WebCore::StyleResolver::matchAuthorRules):
450         (WebCore::StyleResolver::matchUserRules):
451         (WebCore::StyleResolver::matchUARules):
452         (WebCore::StyleResolver::collectMatchingRulesForList):
453         (WebCore::StyleResolver::sortMatchedRules):
454         (WebCore::StyleResolver::matchAllRules):
455         (WebCore::StyleResolver::State::initElement):
456         (WebCore::StyleResolver::initElement):
457         Modified to invoke m_state.initElement if a given element is
458         different from current m_state's element.
459         (WebCore::StyleResolver::State::initForStyleResolve):
460         Moved from StyleResolver.
461         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
462         (WebCore::StyleResolver::canShareStyleWithControl):
463         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
464         (WebCore::StyleResolver::canShareStyleWithElement):
465         (WebCore::StyleResolver::locateSharedStyle):
466         (WebCore::StyleResolver::styleForElement):
467         (WebCore::StyleResolver::styleForKeyframe):
468         (WebCore::StyleResolver::keyframeStylesForAnimation):
469         (WebCore::StyleResolver::pseudoStyleForElement):
470         Changed ASSERT in the first line. ASSERT(m_state.parentStyle) would be
471         wrong, because it depends on previous resolving. However,
472         initForStyleResolve will also update m_state.parentStyle. No code in
473         pseudoStyleForElement depends on previous resolving state.
474         (WebCore::StyleResolver::styleForPage):
475         (WebCore::StyleResolver::defaultStyleForElement):
476         (WebCore::StyleResolver::adjustRenderStyle):
477         (WebCore::StyleResolver::updateFont):
478         (WebCore::StyleResolver::pseudoStyleRulesForElement):
479         (WebCore::StyleResolver::ruleMatches):
480         Added one more parameter, dynamicPseudo, because dynamicPseudo in
481         State class is just used for returning matched pseudo style from
482         this ruleMatches to collectMatchingRulesForList. No need to keep
483         dynamicPseudo while resolving styles.
484         (WebCore::StyleResolver::checkRegionSelector):
485         Removed m_pseudoStyle = NOPSEUDO, because this method uses just
486         SelectorChecker::matched. SelectorChecker doesn't see StyleResolver's
487         m_pseudoStyle directly. Need to use SelectorCheckerContext. So no
488         need to set m_pseudoStyle to be NOPSEUDO.
489         (WebCore::StyleResolver::applyProperties):
490         (WebCore::StyleResolver::applyMatchedProperties):
491         (WebCore::StyleResolver::isLeftPage):
492         (WebCore::StyleResolver::applyPropertyToStyle):
493         (WebCore::StyleResolver::useSVGZoomRules):
494         (WebCore::createGridTrackBreadth):
495         (WebCore::StyleResolver::resolveVariables):
496         (WebCore::StyleResolver::applyProperty):
497         (WebCore::StyleResolver::cachedOrPendingFromValue):
498         (WebCore::StyleResolver::generatedOrPendingFromValue):
499         (WebCore::StyleResolver::setOrPendingFromValue):
500         (WebCore::StyleResolver::cursorOrPendingFromValue):
501         (WebCore::StyleResolver::checkForTextSizeAdjust):
502         (WebCore::StyleResolver::initializeFontStyle):
503         (WebCore::StyleResolver::setFontSize):
504         (WebCore::StyleResolver::colorFromPrimitiveValue):
505         (WebCore::StyleResolver::loadPendingSVGDocuments):
506         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
507         (WebCore::StyleResolver::loadPendingShaders):
508         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
509         (WebCore::StyleResolver::createFilterOperations):
510         (WebCore::StyleResolver::loadPendingImage):
511         (WebCore::StyleResolver::loadPendingImages):
512         * css/StyleResolver.h:
513         (WebCore::StyleResolver::style):
514         (WebCore::StyleResolver::parentStyle):
515         (WebCore::StyleResolver::rootElementStyle):
516         (WebCore::StyleResolver::element):
517         (WebCore::StyleResolver::hasParentNode):
518         (StyleResolver):
519         (WebCore::StyleResolver::State::State):
520         (State):
521         (WebCore::StyleResolver::State::clear):
522         Modified to use clear at the end of styleForElement.
523         (WebCore::StyleResolver::State::document):
524         (WebCore::StyleResolver::State::element):
525         (WebCore::StyleResolver::State::styledElement):
526         (WebCore::StyleResolver::State::setStyle):
527         (WebCore::StyleResolver::State::style):
528         (WebCore::StyleResolver::State::takeStyle):
529         (WebCore::StyleResolver::State::ensureRuleList):
530         (WebCore::StyleResolver::State::takeRuleList):
531         (WebCore::StyleResolver::State::parentNode):
532         (WebCore::StyleResolver::State::setParentStyle):
533         (WebCore::StyleResolver::State::parentStyle):
534         (WebCore::StyleResolver::State::rootElementStyle):
535         (WebCore::StyleResolver::State::regionForStyling):
536         (WebCore::StyleResolver::State::setSameOriginOnly):
537         (WebCore::StyleResolver::State::isSameOriginOnly):
538         (WebCore::StyleResolver::State::pseudoStyle):
539         (WebCore::StyleResolver::State::elementLinkState):
540         (WebCore::StyleResolver::State::distributedToInsertionPoint):
541         (WebCore::StyleResolver::State::setElementAffectedByClassRules):
542         (WebCore::StyleResolver::State::elementAffectedByClassRules):
543         (WebCore::StyleResolver::State::setApplyPropertyToRegularStyle):
544         (WebCore::StyleResolver::State::setApplyPropertyToVisitedLinkStyle):
545         (WebCore::StyleResolver::State::applyPropertyToRegularStyle):
546         (WebCore::StyleResolver::State::applyPropertyToVisitedLinkStyle):
547         (WebCore::StyleResolver::State::pendingImageProperties):
548         (WebCore::StyleResolver::State::pendingSVGDocuments):
549         (WebCore::StyleResolver::State::setHasPendingShaders):
550         (WebCore::StyleResolver::State::hasPendingShaders):
551         (WebCore::StyleResolver::State::setLineHeightValue):
552         (WebCore::StyleResolver::State::lineHeightValue):
553         (WebCore::StyleResolver::State::setFontDirty):
554         (WebCore::StyleResolver::State::fontDirty):
555         (WebCore::StyleResolver::State::cacheBorderAndBackground):
556         (WebCore::StyleResolver::State::hasUAAppearance):
557         (WebCore::StyleResolver::State::borderData):
558         (WebCore::StyleResolver::State::backgroundData):
559         (WebCore::StyleResolver::State::backgroundColor):
560         (WebCore::StyleResolver::State::fontDescription):
561         (WebCore::StyleResolver::State::parentFontDescription):
562         (WebCore::StyleResolver::State::setFontDescription):
563         (WebCore::StyleResolver::State::setZoom):
564         (WebCore::StyleResolver::State::setEffectiveZoom):
565         (WebCore::StyleResolver::State::setTextSizeAdjust):
566         (WebCore::StyleResolver::State::setWritingMode):
567         (WebCore::StyleResolver::State::setTextOrientation):
568         fontDescription, ... and setTextOrientation were moved from
569         StyleResolver.
570         (WebCore::StyleResolver::State::matchedRules):
571         (WebCore::StyleResolver::State::addMatchedRule):
572         Moved from StyleResolver.
573         (WebCore::StyleResolver::applyPropertyToRegularStyle):
574         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
575         (WebCore::StyleResolver::fontDescription):
576         (WebCore::StyleResolver::parentFontDescription):
577         (WebCore::StyleResolver::setFontDescription):
578         (WebCore::StyleResolver::setZoom):
579         (WebCore::StyleResolver::setEffectiveZoom):
580         (WebCore::StyleResolver::setTextSizeAdjust):
581         (WebCore::StyleResolver::setWritingMode):
582         (WebCore::StyleResolver::setTextOrientation):
583         These fontDescription, ..., setTextOrientation are wrappers to
584         invoke State's methods. StyleBuilder still depends on StyleResolver
585         and invokes these methods. So we need these wrappers.
586
587 2013-02-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
588
589         [Qt] window.open passes height and width parameters even if not defined in a page
590         https://bugs.webkit.org/show_bug.cgi?id=107705
591
592         Reviewed by Kenneth Rohde Christiansen.
593
594         Do not override width or height of 0, as that indicates default size, and not minimum size.
595
596         Tested by tst_qwebpage.
597
598         * page/DOMWindow.cpp:
599         (WebCore::DOMWindow::adjustWindowRect):
600
601 2013-02-13  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
602
603         The 2D Canvas functions fillText()/strokeText() should display nothing when maxWidth is less then or equal to zero
604         https://bugs.webkit.org/show_bug.cgi?id=102656
605
606         Reviewed by Dirk Schulze.
607
608         The functions fillText()/strokeText() should not display anything when 
609         maxWidth is less than or equal to zero, according to spec :
610         http://www.w3.org/TR/2dcontext/#text-preparation-algorithm
611
612         Test: fast/canvas/canvas-fillText-maxWidth-zero.html
613
614         * html/canvas/CanvasRenderingContext2D.cpp:
615         (WebCore::CanvasRenderingContext2D::drawTextInternal):
616
617 2013-02-13  ChangSeok Oh  <shivamidow@gmail.com>
618
619         [GTK][AC] Implement basic transform animations with clutter ac backend
620         https://bugs.webkit.org/show_bug.cgi?id=109363
621
622         Reviewed by Gustavo Noronha Silva.
623
624         Implement basic transform animation with clutter ac backend.
625         GraphicsLayerClutter is almost same with GraphicsLayerCA. And PlatformClutterAnimation
626         interfaces are also similar with PlatformCAAnimation, but they are implemented
627         with native clutter APIs. Clutter backend AC supports a basic single transform animation
628         with this patch now, but additive animation combination and keyframe animation
629         are not supported yet.
630
631         Covered by existing animation tests.
632
633         * platform/graphics/clutter/GraphicsLayerActor.cpp:
634         (graphicsLayerActorSetTransform):
635         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
636         (WebCore::isTransformTypeTransformationMatrix):
637         (WebCore):
638         (WebCore::isTransformTypeFloatPoint3D):
639         (WebCore::isTransformTypeNumber):
640         (WebCore::getTransformFunctionValue):
641         (WebCore::getValueFunctionNameForTransformOperation):
642         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
643         (WebCore::GraphicsLayerClutter::appendToUncommittedAnimations):
644         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
645         * platform/graphics/clutter/GraphicsLayerClutter.h:
646         (GraphicsLayerClutter):
647         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
648         (WebCore::toClutterActorPropertyString):
649         (WebCore):
650         (WebCore::PlatformClutterAnimation::supportsValueFunction):
651         (WebCore::PlatformClutterAnimation::duration):
652         (WebCore::PlatformClutterAnimation::setDuration):
653         (WebCore::PlatformClutterAnimation::setAdditive):
654         (WebCore::PlatformClutterAnimation::valueFunction):
655         (WebCore::PlatformClutterAnimation::setValueFunction):
656         (WebCore::PlatformClutterAnimation::setFromValue):
657         (WebCore::PlatformClutterAnimation::setToValue):
658         (WebCore::PlatformClutterAnimation::timeline):
659         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
660         (WebCore::PlatformClutterAnimation::addOpacityTransition):
661         (WebCore::PlatformClutterAnimation::addTransformTransition):
662         (WebCore::PlatformClutterAnimation::addAnimationForKey):
663         * platform/graphics/clutter/PlatformClutterAnimation.h:
664         (PlatformClutterAnimation):
665
666 2013-02-13  Ilya Tikhonovsky  <loislo@chromium.org>
667
668         Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
669         https://bugs.webkit.org/show_bug.cgi?id=109554
670
671         In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
672         can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.
673
674         Drive by fix: I introduced a client interface for the HeapGraphSerializer.
675         It helps me to do the tests for the serializer.
676
677         Reviewed by Yury Semikhatsky.
678
679         It is covered by newly added tests in TestWebKitAPI.
680
681         * inspector/HeapGraphSerializer.cpp:
682         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
683         (WebCore::HeapGraphSerializer::pushUpdate):
684         (WebCore::HeapGraphSerializer::reportNode):
685         (WebCore::HeapGraphSerializer::toNodeId):
686         (WebCore::HeapGraphSerializer::addRootNode):
687         * inspector/HeapGraphSerializer.h:
688         (HeapGraphSerializer):
689         (Client):
690         (WebCore::HeapGraphSerializer::Client::~Client):
691         * inspector/InspectorMemoryAgent.cpp:
692         (WebCore):
693         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
694
695 2013-02-13  Yury Semikhatsky  <yurys@chromium.org>
696
697         Web Inspector: add experimental native heap graph to Timeline panel
698         https://bugs.webkit.org/show_bug.cgi?id=109687
699
700         Reviewed by Alexander Pavlov.
701
702         Added experimentatl support for native heap graph on the Timeline panel.
703         Native memory usage data is collected after each top level task and can
704         be displayed instead of DOM counters graph on the Timeline panel if
705         corresponding experiment is enabled in the inspector settings.
706
707         * inspector/Inspector.json:
708         * inspector/InspectorController.cpp:
709         (WebCore::InspectorController::InspectorController):
710         * inspector/InspectorTimelineAgent.cpp:
711         (TimelineAgentState):
712         (WebCore::InspectorTimelineAgent::setIncludeDomCounters):
713         (WebCore):
714         (WebCore::InspectorTimelineAgent::setIncludeNativeMemoryStatistics):
715         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
716         (WebCore::InspectorTimelineAgent::setDOMCounters):
717         (WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
718         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
719         * inspector/InspectorTimelineAgent.h:
720         (WebCore):
721         (WebCore::InspectorTimelineAgent::create):
722         (InspectorTimelineAgent):
723         * inspector/WorkerInspectorController.cpp:
724         (WebCore::WorkerInspectorController::WorkerInspectorController):
725         * inspector/front-end/MemoryStatistics.js:
726         (WebInspector.MemoryStatistics):
727         * inspector/front-end/NativeMemoryGraph.js:
728         (WebInspector.NativeMemoryGraph):
729         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
730         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
731         * inspector/front-end/Settings.js:
732         (WebInspector.ExperimentsSettings):
733         * inspector/front-end/TimelinePanel.js:
734
735 2013-02-13  Vladislav Kaznacheev  <kaznacheev@chromium.org>
736
737         Web Inspector: Fixed colorpicker editing and scrolling.
738         https://bugs.webkit.org/show_bug.cgi?id=109434.
739
740         Reviewed by Alexander Pavlov.
741
742         The color picker scrolling logic relied on the fixed DOM structure which changed with the introduction of
743         SidebarPaneStack (https://bugs.webkit.org/show_bug.cgi?id=108183).
744         Added a special CSS class to mark the scroll target.
745
746         No new tests.
747
748         * inspector/front-end/SplitView.js:
749         (WebInspector.SplitView):
750         * inspector/front-end/StylesSidebarPane.js:
751         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
752         * inspector/front-end/TabbedPane.js:
753         (WebInspector.TabbedPane):
754  
755 2013-02-13  Andrey Lushnikov  <lushnikov@chromium.org>
756
757         Web Inspector: fix js compilation warnings in TextPrompt
758         https://bugs.webkit.org/show_bug.cgi?id=109685
759
760         Reviewed by Alexander Pavlov.
761
762         Mark last argument of _applySuggestion function as optional.
763
764         No new tests: no change in behaviour.
765
766         * inspector/front-end/TextPrompt.js:
767
768 2013-02-13  Pablo Flouret  <pablof@motorola.com>
769
770         Implement css-conditional's CSS.supports()
771         https://bugs.webkit.org/show_bug.cgi?id=100324
772
773         Reviewed by Antti Koivisto.
774
775         http://dev.w3.org/csswg/css3-conditional/#the-css-interface
776
777         The supports() method provides the css @supports rule's corresponding
778         dom api.
779         The patch also adds the CSS interface on DOMWindow, which holds "useful
780         CSS-related functions that do not belong elsewhere". This is where
781         supports() lives.
782
783         Test: css3/supports-dom-api.html
784
785         * CMakeLists.txt:
786         * DerivedSources.cpp:
787         * DerivedSources.make:
788         * DerivedSources.pri:
789         * GNUmakefile.list.am:
790         * Target.pri:
791         * WebCore.exp.in:
792         * WebCore.gypi:
793         * WebCore.vcproj/WebCore.vcproj:
794         * WebCore.xcodeproj/project.pbxproj:
795         * bindings/gobject/GNUmakefile.am:
796         * bindings/scripts/CodeGeneratorGObject.pm:
797         (SkipFunction):
798             Add DOMWindowCSS.* to the build systems.
799
800         * bindings/scripts/CodeGenerator.pm:
801         (WK_lcfirst):
802             Handle CSS prefixes correctly (s/cSS/css/).
803
804         * css/CSSGrammar.y.in:
805         * css/CSSParser.cpp:
806         (WebCore::CSSParser::CSSParser):
807         (WebCore::CSSParser::parseSupportsCondition):
808         (WebCore::CSSParser::detectAtToken):
809         * css/CSSParser.h:
810             webkit_supports_condition parses just the condition part of an
811             @supports rule and evaluates it, outputting whether the condition
812             is supported or not.
813
814         * css/CSSAllInOne.cpp:
815         * css/DOMWindowCSS.cpp: Added.
816         * css/DOMWindowCSS.h: Added.
817         * css/DOMWindowCSS.idl: Added.
818             The CSS interface object.
819
820         * page/DOMWindow.cpp:
821         (WebCore::DOMWindow::css):
822         * page/DOMWindow.h:
823         * page/DOMWindow.idl:
824             window.CSS
825
826 2013-02-13  Vladislav Kaznacheev  <kaznacheev@chromium.org>
827
828         Web Inspector: Simplify SplitView to rely more on CSS
829         https://bugs.webkit.org/show_bug.cgi?id=109426
830
831         Reviewed by Vsevolod Vlasov.
832
833         Simplified Javascript code by moving large part of the layout logic into CSS rules. The patch is larger than it
834         should be because one of the clients (TimelinePanel) is breaking SplitView incapsulation by reparenting its
835         resizer.
836
837         No new tests.
838
839         * inspector/front-end/SidebarView.js:
840         (WebInspector.SidebarView):
841         * inspector/front-end/SplitView.js:
842         (WebInspector.SplitView):
843         (WebInspector.SplitView.prototype._innerSetVertical):
844         (WebInspector.SplitView.prototype.setSecondIsSidebar):
845         (WebInspector.SplitView.prototype._showOnly):
846         (WebInspector.SplitView.prototype._removeAllLayoutProperties):
847         * inspector/front-end/TimelinePanel.js:
848         * inspector/front-end/cssNamedFlows.css:
849         (.css-named-flow-collections-view .split-view-sidebar):
850         (.css-named-flow-collections-view .split-view-sidebar .sidebar-content):
851         (.css-named-flow-collections-view .split-view-sidebar .selection):
852         (.css-named-flow-collections-view .split-view-sidebar .named-flow-overflow::before, .css-named-flow-collections-view .region-empty:before, .css-named-flow-collections-view .region-fit::before, .css-named-flow-collections-view .region-overset::before):
853         (.css-named-flow-collections-view .split-view-sidebar .named-flow-overflow::before):
854         * inspector/front-end/splitView.css:
855         (.split-view-contents.maximized):
856         (.split-view-vertical .split-view-contents):
857         (.split-view-vertical .split-view-contents-first):
858         (.split-view-vertical .split-view-contents-first.maximized):
859         (.split-view-vertical .split-view-contents-second):
860         (.split-view-vertical .split-view-contents-second.maximized):
861         (.split-view-horizontal .split-view-contents):
862         (.split-view-horizontal .split-view-contents-first):
863         (.split-view-horizontal .split-view-contents-first.maximized):
864         (.split-view-horizontal .split-view-contents-second):
865         (.split-view-horizontal .split-view-contents-second.maximized):
866         (.split-view-vertical .split-view-sidebar.split-view-contents-first:not(.maximized)):
867         (.split-view-vertical .split-view-sidebar.split-view-contents-second:not(.maximized)):
868         (.split-view-horizontal .split-view-sidebar.split-view-contents-first:not(.maximized)):
869         (.split-view-horizontal .split-view-sidebar.split-view-contents-second:not(.maximized)):
870         (.split-view-vertical .split-view-resizer):
871         (.split-view-horizontal .split-view-resizer):
872         * inspector/front-end/timelinePanel.css:
873         (.timeline.split-view-vertical .split-view-resizer):
874         (#timeline-container .split-view-sidebar):
875
876 2013-02-13  Kentaro Hara  <haraken@chromium.org>
877
878         Unreviewed, rolling out r142730.
879         http://trac.webkit.org/changeset/142730
880         https://bugs.webkit.org/show_bug.cgi?id=109666
881
882         chromium browser tests are failing
883
884         * bindings/scripts/CodeGeneratorV8.pm:
885         (GenerateNormalAttrGetter):
886         (GenerateNormalAttrSetter):
887         (GenerateSingleBatchedAttribute):
888         (GenerateImplementation):
889         * bindings/scripts/test/V8/V8TestInterface.cpp:
890         (TestInterfaceV8Internal):
891         (WebCore):
892         * bindings/scripts/test/V8/V8TestObj.cpp:
893         (WebCore):
894
895 2013-02-13  Tamas Czene  <tczene@inf.u-szeged.hu>
896
897         OpenCL implementation of Flood SVG filters.
898         https://bugs.webkit.org/show_bug.cgi?id=109580
899
900         Reviewed by Zoltan Herczeg.
901
902         * Target.pri:
903         * platform/graphics/filters/FEFlood.h:
904         (FEFlood):
905         * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
906         (WebCore):
907         (WebCore::PROGRAM_STR):
908         (WebCore::FilterContextOpenCL::compileFill):
909         (WebCore::FilterContextOpenCL::fill):
910         * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
911         (WebCore::FilterContextOpenCL::FilterContextOpenCL):
912         (FilterContextOpenCL):
913         * platform/graphics/gpu/opencl/OpenCLFEFlood.cpp: Added.
914         (WebCore):
915         (WebCore::FEFlood::platformApplyOpenCL):
916
917 2013-02-13  Mike West  <mkwst@chromium.org>
918
919         location.href does not throw SECURITY_ERR when accessed across origins with JSC bindings
920         https://bugs.webkit.org/show_bug.cgi?id=43891
921
922         Reviewed by Adam Barth.
923
924         Other browsers (IE, Firefox, and Opera) throw an exception when accessing
925         properties of a Location object across origins, as the spec suggests[1].
926         WebKit is currently the outlier.
927
928         This has a few negative effects: developers are forced to hack around
929         access violations in two ways rather than having a single code path, and
930         (more annoyingly) developers are unable to avoid generating the error
931         message. See every ad on the internet for the effect on the console. :)
932
933         This patch adds a SECURITY_ERR exception to these access violations,
934         which is the first step towards getting rid of the console spam. Getting
935         rid of the message entirely will require a solution to
936         http://wkbug.com/98050.
937
938         A fairly inconclusive thread[2] on webkit-dev popped up in 2010 and
939         trailed off without reaching conclusion. A more recent thread reached
940         agreement that this patch seems like a reasonable thing to do[3].
941
942         This is the JSC half of the patch. V8 is coming in http://wkbug.com/43892
943
944         [1]: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#security-location
945         [2]: https://lists.webkit.org/pipermail/webkit-dev/2010-August/013880.html
946         [2]: https://lists.webkit.org/pipermail/webkit-dev/2012-February/023636.html
947
948         * bindings/js/JSLocationCustom.cpp:
949         (WebCore::JSLocation::getOwnPropertySlotDelegate):
950
951 2013-02-13  Andrew Wilson  <atwilson@chromium.org>
952
953         Unreviewed Chromium gyp-file cleanup after glib backend removal.
954         https://bugs.webkit.org/show_bug.cgi?id=109672
955
956         Removed references to GLib unicode backend:
957
958         * WebCore.gypi:
959
960 2013-02-12  Kentaro Hara  <haraken@chromium.org>
961
962         [V8] Generate wrapper methods for custom getters/setters
963         https://bugs.webkit.org/show_bug.cgi?id=109666
964
965         Reviewed by Adam Barth.
966
967         Currently V8 directly calls back custom getters/setters written
968         in custom binding files. This makes it impossible for code generators
969         to hook custom getters/setters (e.g. Code generators cannot insert a code
970         for FeatureObservation into custom getters/setters). We should generate
971         wrapper methods for custom getters/setters.
972
973         In the future, I will insert TRACE_EVENT() macros into these wrapper methods
974         to profile DOM getters/setters/methods.
975
976         * bindings/scripts/CodeGeneratorV8.pm:
977         (GenerateNormalAttrGetter):
978         (GenerateNormalAttrSetter):
979         (GenerateSingleBatchedAttribute):
980         (GenerateImplementation):
981         * bindings/scripts/test/V8/V8TestInterface.cpp:
982         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
983         (TestInterfaceV8Internal):
984         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):
985         (WebCore):
986         * bindings/scripts/test/V8/V8TestObj.cpp:
987         (WebCore::TestObjV8Internal::customAttrAttrGetter):
988         (TestObjV8Internal):
989         (WebCore::TestObjV8Internal::customAttrAttrSetter):
990         (WebCore):
991
992 2013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
993
994         Unreviewed, rolling out r142611.
995         http://trac.webkit.org/changeset/142611
996         https://bugs.webkit.org/show_bug.cgi?id=109668
997
998         Suggest box is not shown anymore when user types "window." in
999         inspector console. (Requested by vsevik on #webkit).
1000
1001         * inspector/front-end/TextPrompt.js:
1002         (WebInspector.TextPrompt.prototype.complete):
1003
1004 2013-02-13  Kentaro Hara  <haraken@chromium.org>
1005
1006         [V8] There is no XXXConstructor that requires a custom getter
1007         https://bugs.webkit.org/show_bug.cgi?id=109667
1008
1009         Reviewed by Adam Barth.
1010
1011         Currently '[Custom] attribute XXXConstructor xxx' generates
1012         XXXAttrGetter(). However, there is no XXXConstructor with [Custom].
1013         In addition, it does make no sense to generate XXXAttrGetter() for such cases.
1014         We can remove the logic from CodeGeneratorV8.pm.
1015
1016         * bindings/scripts/CodeGeneratorV8.pm:
1017         (GenerateSingleBatchedAttribute):
1018
1019 2013-02-12  Hajime Morrita  <morrita@google.com>
1020
1021         [Internals] setShadowDOMEnabled() shouldn't be used except a few tests.
1022         https://bugs.webkit.org/show_bug.cgi?id=109642
1023
1024         Reviewed by Kent Tamura.
1025
1026         InternalSettings.setShadowDOMEnabled() shouldn't be called after
1027         any relevant DOM bindings are touched. However for fuzzers, it
1028         isn't trivial to regulate its behavior.
1029
1030         This change whitelists the URL of running test for prevent
1031         unintended API calls. This doesn't hurt the Internals usability
1032         since the API is called from just a couple of tests and the number
1033         isn't expected to grow.
1034
1035         Test: fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html
1036
1037         * testing/InternalSettings.cpp:
1038         (WebCore::urlIsWhitelisted):
1039         (WebCore):
1040         (WebCore::InternalSettings::setShadowDOMEnabled):
1041
1042 2013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
1043
1044         Web Inspector: Introduce version controller to migrate settings versions.
1045         https://bugs.webkit.org/show_bug.cgi?id=109553
1046
1047         Reviewed by Yury Semikhatsky.
1048
1049         This patch introduces version controller that could be used to migrate inspector settings.
1050
1051         Test: inspector/version-controller.html
1052
1053         * inspector/front-end/Settings.js:
1054         (WebInspector.Settings):
1055         (WebInspector.VersionController):
1056         (WebInspector.VersionController.prototype.set _methodsToRunToUpdateVersion):
1057         (WebInspector.VersionController.prototype._updateVersionFrom0To1):
1058         * inspector/front-end/inspector.js:
1059
1060 2013-02-12  Martin Robinson  <mrobinson@igalia.com>
1061
1062         [GTK] Remove the GLib unicode backend
1063         https://bugs.webkit.org/show_bug.cgi?id=109627
1064
1065         Reviewed by Benjamin Poulain.
1066
1067         Remove references to the GLib unicode backend from WebCore.
1068
1069         * GNUmakefile.list.am: Update the source list.
1070         * platform/text/gtk/TextBreakIteratorGtk.cpp: Removed.
1071         * platform/text/gtk/TextCodecGtk.cpp: Removed.
1072         * platform/text/gtk/TextCodecGtk.h: Removed.
1073
1074 2013-02-12  Chris Fleizach  <cfleizach@apple.com>
1075
1076          AX: crash when accessing AccessibilityScrollbar after page has been unloaded
1077          https://bugs.webkit.org/show_bug.cgi?id=109524
1078
1079          Reviewed by Ryosuke Niwa.
1080
1081          AX clients can hold onto AccesibilityScrollbar references that reference parent
1082          AccessibilityScrollViews that have already gone away.
1083
1084          AccessibilityScrollView is not calling detachFromParent after it is removed, which
1085          leads to a crash. The fix is to clearChildren() when an object is deallocated.
1086
1087          I could not create a test because the crash only manifests over multiple page loads.
1088
1089          * accessibility/AccessibilityObject.cpp:
1090          (WebCore::AccessibilityObject::detach):
1091
1092 2013-02-12  Hayato Ito  <hayato@chromium.org>
1093
1094         Use FocusEvent.relatedTarget in {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator.
1095         https://bugs.webkit.org/show_bug.cgi?id=109650
1096
1097         Reviewed by Dimitri Glazkov.
1098
1099         Set FocusEvent.relatedTarget in its constructor so that each
1100         EventDispatchMediator can use FocusEvent.relatedTarget rather than
1101         its redundant m_{old,new}FocusedNode member variable.
1102
1103         I've also removed FIXME comments, mentioning bug 109261, since I
1104         can not reproduce the issue.
1105
1106         No new tests. No change in functionality.
1107
1108         * dom/FocusEvent.cpp:
1109         (WebCore::FocusEventDispatchMediator::create):
1110         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1111         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1112         (WebCore::BlurEventDispatchMediator::create):
1113         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1114         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1115         (WebCore::FocusInEventDispatchMediator::create):
1116         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1117         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1118         (WebCore::FocusOutEventDispatchMediator::create):
1119         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1120         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1121         * dom/FocusEvent.h:
1122         (FocusEventDispatchMediator):
1123         (BlurEventDispatchMediator):
1124         (FocusInEventDispatchMediator):
1125         (FocusOutEventDispatchMediator):
1126         * dom/Node.cpp:
1127         (WebCore::Node::dispatchFocusInEvent):
1128         (WebCore::Node::dispatchFocusOutEvent):
1129         (WebCore::Node::dispatchFocusEvent):
1130         (WebCore::Node::dispatchBlurEvent):
1131
1132 2013-02-12  Takashi Sakamoto  <tasak@google.com>
1133
1134         [Refactoring] Make SelectorChecker::mode a constructor parameter.
1135         https://bugs.webkit.org/show_bug.cgi?id=109653
1136
1137         Reviewed by Dimitri Glazkov.
1138
1139         No new tests, because just refactoring.
1140
1141         * css/SelectorChecker.cpp:
1142         (WebCore::SelectorChecker::SelectorChecker):
1143         Made mode a constructor parameter.
1144         * css/SelectorChecker.h:
1145         Removed setMode.
1146         (SelectorChecker):
1147         * css/StyleResolver.cpp:
1148         (WebCore::StyleResolver::ruleMatches):
1149         (WebCore::StyleResolver::checkRegionSelector):
1150         * dom/SelectorQuery.cpp:
1151         (WebCore::SelectorQuery::matches):
1152         (WebCore::SelectorQuery::queryAll):
1153         (WebCore::SelectorQuery::queryFirst):
1154         * html/shadow/ContentSelectorQuery.cpp:
1155         (WebCore::ContentSelectorChecker::ContentSelectorChecker):
1156
1157 2013-02-12  Andreas Kling  <akling@apple.com>
1158
1159         Remove Element::ensureAttributeData().
1160         <http://webkit.org/b/109643>
1161
1162         Reviewed by Anders Carlsson.
1163
1164         * dom/Element.h:
1165         * dom/Element.cpp:
1166         (WebCore::Element::classAttributeChanged):
1167         (WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):
1168
1169             Use attributeData() instead of ensureAttributeData(), it's already guaranteed to exist in
1170             both these functions as they are called in response to attribute changes.
1171
1172         * svg/SVGElement.h:
1173         (WebCore::SVGElement::invalidateSVGAttributes):
1174
1175             Use mutableAttributeData() instead of ensureAttributeData() when invalidating animated
1176             SVG attributes. While I can't find any bugs caused by this, an element with property animations
1177             shouldn't share attribute data with other elements.
1178
1179 2013-02-12  Hayato Ito  <hayato@chromium.org>
1180
1181         Make {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator type safe.
1182         https://bugs.webkit.org/show_bug.cgi?id=109561
1183
1184         Reviewed by Dimitri Glazkov.
1185
1186         Use FocusEvent rather than Event in {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator.
1187
1188         No new tests. No change in functionality.
1189
1190         * dom/FocusEvent.cpp:
1191         (WebCore::FocusEventDispatchMediator::create):
1192         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1193         (WebCore::BlurEventDispatchMediator::create):
1194         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1195         (WebCore::FocusInEventDispatchMediator::create):
1196         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1197         (WebCore::FocusOutEventDispatchMediator::create):
1198         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1199         * dom/FocusEvent.h:
1200         (FocusEventDispatchMediator):
1201         (WebCore::FocusEventDispatchMediator::event):
1202         (BlurEventDispatchMediator):
1203         (WebCore::BlurEventDispatchMediator::event):
1204         (FocusInEventDispatchMediator):
1205         (WebCore::FocusInEventDispatchMediator::event):
1206         (FocusOutEventDispatchMediator):
1207         (WebCore::FocusOutEventDispatchMediator::event):
1208
1209 2013-02-12  Eric Seidel  <eric@webkit.org>
1210
1211         Fix HTMLToken::Attribute member naming and update callsites to use Vector-based String functions
1212         https://bugs.webkit.org/show_bug.cgi?id=109638
1213
1214         Reviewed by Adam Barth.
1215
1216         Darin Adler noted in:
1217         https://bugs.webkit.org/show_bug.cgi?id=109408#c4
1218         that HTMLToken::Attribute (then MarkupTokenBase::Attribute)
1219         was a struct, yet incorrectly used m_ for its public members.
1220
1221         This patch fixes the members to not have the m_, and since I was
1222         touching all callers, I also updated all callers to use modern
1223         Vector-based String creation/append functions instead of manually
1224         calling UChar*, size_t versions.
1225
1226         There should be no behavior change to this patch.  Where I saw
1227         performance/memory bugs, I noted them with FIXMEs to keep
1228         this change simple.
1229
1230         * html/HTMLViewSourceDocument.cpp:
1231         (WebCore::HTMLViewSourceDocument::processTagToken):
1232         * html/parser/AtomicHTMLToken.h:
1233         (WebCore::AtomicHTMLToken::publicIdentifier):
1234         (WebCore::AtomicHTMLToken::systemIdentifier):
1235         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1236         (WebCore::AtomicHTMLToken::initializeAttributes):
1237         * html/parser/CompactHTMLToken.cpp:
1238         (WebCore::CompactHTMLToken::CompactHTMLToken):
1239         * html/parser/HTMLMetaCharsetParser.cpp:
1240         (WebCore::HTMLMetaCharsetParser::processMeta):
1241         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
1242         * html/parser/HTMLPreloadScanner.cpp:
1243         (WebCore::StartTagScanner::processAttributes):
1244         (WebCore::HTMLPreloadScanner::scan):
1245         (WebCore::HTMLPreloadScanner::processPossibleBaseTag):
1246         (WebCore::HTMLPreloadScanner::processToken):
1247         * html/parser/HTMLToken.h:
1248         (Range):
1249         (Attribute):
1250         (WebCore::HTMLToken::clear):
1251         (WebCore::HTMLToken::startIndex):
1252         (WebCore::HTMLToken::endIndex):
1253         (WebCore::HTMLToken::end):
1254         (WebCore::HTMLToken::nameString):
1255         (WebCore::HTMLToken::addNewAttribute):
1256         (WebCore::HTMLToken::beginAttributeName):
1257         (WebCore::HTMLToken::endAttributeName):
1258         (WebCore::HTMLToken::beginAttributeValue):
1259         (WebCore::HTMLToken::endAttributeValue):
1260         (WebCore::HTMLToken::appendToAttributeName):
1261         (WebCore::HTMLToken::appendToAttributeValue):
1262         (WebCore::HTMLToken::eraseValueOfAttribute):
1263         * html/parser/HTMLTokenizer.cpp:
1264         (WebCore::AtomicHTMLToken::nameForAttribute):
1265         * html/parser/HTMLViewSourceParser.cpp:
1266         (WebCore::HTMLViewSourceParser::updateTokenizerState):
1267         * html/parser/XSSAuditor.cpp:
1268         (WebCore::findAttributeWithName):
1269         (WebCore::XSSAuditor::filterParamToken):
1270         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1271         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1272         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1273
1274 2013-02-12  Ryosuke Niwa  <rniwa@webkit.org>
1275
1276         Build fix.
1277
1278         * editing/Editor.h:
1279         (WebCore::Editor::avoidIntersectionWithDeleteButtonController):
1280
1281 2013-02-12  Nate Chapin  <japhet@chromium.org>
1282
1283         REGRESSION: Reloading a local file doesn't pick up changes
1284         https://bugs.webkit.org/show_bug.cgi?id=109344
1285
1286         Reviewed by Alexey Proskuryakov.
1287
1288         Test: http/tests/cache/reload-main-resource.php
1289
1290         * loader/cache/CachedResource.cpp:
1291         (WebCore::CachedResource::load):
1292         * loader/cache/CachedResourceLoader.cpp:
1293         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1294         (WebCore::CachedResourceLoader::cachePolicy): Don't use subresourceCachePolicy()
1295             for main resources.
1296         * loader/cache/CachedResourceLoader.h:
1297         (CachedResourceLoader):
1298
1299 2013-02-12  Ryosuke Niwa  <rniwa@webkit.org>
1300
1301         Turn avoidIntersectionWithNode into Editor member functions to encapsulate delete button controller
1302         https://bugs.webkit.org/show_bug.cgi?id=109549
1303
1304         Reviewed by Tony Chang.
1305
1306         Renamed avoidIntersectionWithNode to Editor::avoidIntersectionWithDeleteButtonController and added trivial
1307         implementations when delete button controllers are disabled (ENABLE_DELETION_UI is 0).
1308
1309         * editing/DeleteButtonController.cpp:
1310         * editing/EditCommand.cpp:
1311         (WebCore::EditCommand::EditCommand):
1312         * editing/Editor.cpp:
1313         (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Moved from htmlediting.cpp and renamed.
1314         The version that takes VisibleSelection has been updated to use updatePositionForNodeRemoval to share
1315         mode code with that function.
1316         (WebCore::Editor::rangeForPoint):
1317         * editing/Editor.h:
1318         (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Added; trivial implementations.
1319         * editing/htmlediting.cpp:
1320         * editing/htmlediting.h:
1321         * editing/markup.cpp:
1322         (WebCore::createMarkupInternal): Extracted from createMarkup.
1323         (WebCore::createMarkup):
1324
1325 2013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
1326
1327         [iOS] Enable PAGE_VISIBILITY_API
1328         https://bugs.webkit.org/show_bug.cgi?id=109399
1329
1330         Reviewed by David Kilzer.
1331
1332         * Configurations/FeatureDefines.xcconfig:
1333
1334 2013-02-12  Andreas Kling  <akling@apple.com>
1335
1336         Move ElementAttributeData into Element.cpp/h
1337         <http://webkit.org/b/109610>
1338
1339         Reviewed by Anders Carlsson.
1340
1341         Removed ElementAttributeData.cpp/h and moved the class itself into Element headquarters.
1342         In the near future, Element should be the only client of this class, and thus it won't
1343         be necessary for other classes to know anything about it.
1344
1345         * dom/ElementAttributeData.cpp: Removed.
1346         * dom/ElementAttributeData.h: Removed.
1347         * CMakeLists.txt:
1348         * GNUmakefile.list.am:
1349         * Target.pri:
1350         * WebCore.gypi:
1351         * WebCore.xcodeproj/project.pbxproj:
1352         * dom/DOMAllInOne.cpp:
1353         * dom/DocumentSharedObjectPool.cpp:
1354         * dom/Element.cpp:
1355         * dom/Element.h:
1356         * workers/SharedWorker.cpp:
1357         * Modules/webdatabase/DatabaseManager.cpp: Add ExceptionCode.h since Element.h doesn't pull it in anymore.
1358
1359 2013-02-12  Simon Fraser  <simon.fraser@apple.com>
1360
1361         Crash when scrolling soon after page starts loading
1362         https://bugs.webkit.org/show_bug.cgi?id=109631
1363         <rdar://problem/13157533&13159627&13196727>
1364         
1365         Reviewed by Anders Carlsson.
1366         
1367         Make the scrolling tree more robust when the root state node,
1368         and/or scrolling node are null. This can happen if we try to
1369         handle a wheel event before we've done the first scrolling
1370         tree commit.
1371
1372         * page/scrolling/ScrollingStateTree.cpp:
1373         (WebCore::ScrollingStateTree::commit): Handle the case where
1374         m_rootStateNode is null. We'll still commit, but the state tree
1375         will have no state nodes.
1376         * page/scrolling/ScrollingTree.cpp:
1377         (WebCore::ScrollingTree::handleWheelEvent): Null-check m_rootNode.
1378         (WebCore::ScrollingTree::commitNewTreeState): Handle a null root node.
1379         (WebCore::ScrollingTree::updateTreeFromStateNode): If the rood state node
1380         is null, just clear the map and null out the root scrolling node.
1381         * page/scrolling/ScrollingTree.h: m_debugInfoLayer was unused.
1382         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1383         (WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView): It may be possible
1384         to get here before we've registered the root scroll layer, in which case scrollLayerID()
1385         will be 0. Assert to see if this can ever happen.
1386         (WebCore::ScrollingCoordinatorMac::scrollingStateTreeAsText): Handle case of rootStateNode()
1387         being null.
1388
1389 2013-02-12  Raymond Toy  <rtoy@google.com>
1390
1391         Synchronize setting of panner node model and processing
1392         https://bugs.webkit.org/show_bug.cgi?id=109599
1393
1394         Reviewed by Chris Rogers.
1395
1396         No new tests.
1397
1398         * Modules/webaudio/PannerNode.cpp:
1399         (WebCore::PannerNode::process):
1400         (WebCore::PannerNode::setPanningModel):
1401         * Modules/webaudio/PannerNode.h:
1402
1403 2013-02-12  Dean Jackson  <dino@apple.com>
1404
1405         Add class name for snapshotted plugin based on dimensions
1406         https://bugs.webkit.org/show_bug.cgi?id=108369
1407
1408         Reviewed by Simon Fraser.
1409
1410         As the size of the plugin changes, the Shadow Root for the snapshot
1411         might want to toggle different interfaces. Expose "tiny", "small",
1412         "medium" and "large" classes on the Shadow. (The dimensions are
1413         currently chosen fairly arbitrarily).
1414
1415         Because we only know the dimensions after layout, we set up
1416         a post layout task to add the class. Luckily there already was
1417         a post layout task for plugins - I just updated it to handle
1418         both real and snapshotted plugins. This involved modifying
1419         the list of RenderEmbeddedObjects in FrameView to take generic
1420         RenderObjects, and decide which type they are when calling
1421         the update method.
1422
1423         * html/HTMLPlugInImageElement.cpp: Some new dimensions for the various size thresholds.
1424         (WebCore::classNameForShadowRootSize): New static function that returns a class name
1425             after examining the size of the object.
1426         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Sets the class name for
1427             the shadow root. This is called in the post layout task.
1428         (WebCore::shouldPlugInShowLabelAutomatically): Use new size names.
1429         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Ditto.
1430         * html/HTMLPlugInImageElement.h:
1431         (HTMLPlugInImageElement): New method updateSnapshotInfo.
1432
1433         * page/FrameView.cpp:
1434         (WebCore::FrameView::addWidgetToUpdate): Change RenderEmbeddedObject* to RenderObject*.
1435         (WebCore::FrameView::removeWidgetToUpdate): Ditto
1436         (WebCore::FrameView::updateWidget): Branch based on EmbeddedObject vs SnapshottedPlugIn. Call
1437             plugin snapshot update if necessary.
1438         (WebCore::FrameView::updateWidgets): Handle both EmbeddedObject and SnapshottedPlugIn cases.
1439         * page/FrameView.h: Change RenderEmbeddedObject* to RenderObject* for post layout widget updates.
1440
1441         * rendering/RenderSnapshottedPlugIn.cpp:
1442         (WebCore::RenderSnapshottedPlugIn::layout): New virtual override. If size has changed, ask the
1443             FrameView to recalculate size after layout.
1444         * rendering/RenderSnapshottedPlugIn.h: New layout() method.
1445
1446 2013-02-12  Mike West  <mkwst@chromium.org>
1447
1448         Implement script MIME restrictions for X-Content-Type-Options: nosniff
1449         https://bugs.webkit.org/show_bug.cgi?id=71851
1450
1451         Reviewed by Adam Barth.
1452
1453         This patch adds support for 'X-Content-Type-Options: nosniff' when
1454         deciding whether or not to execute a given chunk of JavaScript. If the
1455         header is present, script will only execute if it matches a predefined
1456         set of MIME types[1] that are deemed "executable". Scripts served with
1457         types that don't match the list will not execute.
1458
1459         IE introduced this feature, and Gecko is working on an implementation[2]
1460         now. There's been some discussion on the WHATWG list about formalizing
1461         the specification for this feature[3], but nothing significant has been
1462         decided.
1463
1464         This implementation's list of acceptible MIME types differs from IE's:
1465         it matches the list of supported JavaScript MIME types defined in
1466         MIMETypeRegistry::initializeSupportedJavaScriptMIMETypes()[4]. In
1467         particular, the VBScript types are not accepted, and
1468         'text/javascript1.{1,2,3}' are accepted, along with 'text/livescript'.
1469
1470         This feature is locked tightly behind the ENABLE_NOSNIFF flag, which is
1471         currently only enabled on the Chromium port.
1472
1473         [1]: http://msdn.microsoft.com/en-us/library/gg622941(v=vs.85).aspx
1474         [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=471020
1475         [3]: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-November/037974.html
1476         [4]: http://trac.webkit.org/browser/trunk/Source/WebCore/platform/MIMETypeRegistry.cpp?rev=142086#L307
1477
1478         Tests: http/tests/security/contentTypeOptions/invalid-content-type-options-allowed.html
1479                http/tests/security/contentTypeOptions/nosniff-script-allowed.html
1480                http/tests/security/contentTypeOptions/nosniff-script-blocked.html
1481                http/tests/security/contentTypeOptions/nosniff-script-without-content-type-allowed.html
1482
1483         * dom/ScriptElement.cpp:
1484         (WebCore::ScriptElement::executeScript):
1485             Before executing script, ensure that it shouldn't be blocked due to
1486             its MIME type. If it is blocked, write an error message to the
1487             console.
1488         * loader/cache/CachedScript.cpp:
1489         (WebCore::CachedScript::mimeType):
1490             Make scripts' MIME type available outside the context of
1491             CachedScript in order to correctly populate error messages we write
1492             to the console in ScriptElement::executeScript
1493         (WebCore):
1494         (WebCore::CachedScript::mimeTypeAllowedByNosniff):
1495         * loader/cache/CachedScript.h:
1496         (CachedScript):
1497             A new method which checks the resource's HTTP headers to set the
1498             'nosniff' disposition, and compares the resource's MIME type against
1499             the list of allowed executable types. Returns true iff the script
1500             is allowed.
1501         * platform/network/HTTPParsers.cpp:
1502         (WebCore):
1503         (WebCore::parseContentTypeOptionsHeader):
1504         * platform/network/HTTPParsers.h:
1505             Adds a new enum which relates the sniffable status of the resource,
1506             and a method to parse the HTTP header.
1507
1508 2013-02-12  Adam Barth  <abarth@webkit.org>
1509
1510         Threaded HTML parser should pass the remaining fast/tokenizer tests
1511         https://bugs.webkit.org/show_bug.cgi?id=109607
1512
1513         Reviewed by Eric Seidel.
1514
1515         This patch fixes some edge cases involving document.write. Previously,
1516         we would drop input characters on the floor if the tokenizer wasn't
1517         able to consume them synchronously. In this patch, we send the unparsed
1518         characters to the background thread for consumption after rewinding the
1519         input stream.
1520
1521         * html/parser/BackgroundHTMLInputStream.cpp:
1522         (WebCore::BackgroundHTMLInputStream::rewindTo):
1523         * html/parser/BackgroundHTMLInputStream.h:
1524         (BackgroundHTMLInputStream):
1525         * html/parser/BackgroundHTMLParser.cpp:
1526         (WebCore::BackgroundHTMLParser::resumeFrom):
1527         * html/parser/BackgroundHTMLParser.h:
1528         (Checkpoint):
1529         * html/parser/HTMLDocumentParser.cpp:
1530         (WebCore::HTMLDocumentParser::canTakeNextToken):
1531         (WebCore::HTMLDocumentParser::didFailSpeculation):
1532         (WebCore::HTMLDocumentParser::pumpTokenizer):
1533         (WebCore::HTMLDocumentParser::finish):
1534         * html/parser/HTMLInputStream.h:
1535         (WebCore::HTMLInputStream::closeWithoutMarkingEndOfFile):
1536         (HTMLInputStream):
1537
1538 2013-02-12  Csaba Osztrogon√°c  <ossy@webkit.org>
1539
1540         Unreviewed buildfix for !ENABLE(INSPECTOR) platforms after r142654.
1541
1542         * inspector/InspectorInstrumentation.h:
1543         (WebCore::InspectorInstrumentation::scriptsEnabled):
1544
1545 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1546
1547         Remove remaining traces of Web Intents
1548         https://bugs.webkit.org/show_bug.cgi?id=109586
1549
1550         Reviewed by Eric Seidel.
1551
1552         Remove remaining traces of Web Intents as the functionality was
1553         removed in r142549.
1554
1555         No new tests, no behavior change for layout tests.
1556
1557         * GNUmakefile.features.am.in:
1558         * html/HTMLTagNames.in:
1559
1560 2013-02-12  Robert Hogan  <robert@webkit.org>
1561
1562         REGRESSION(r136967): Combination of float and clear yields to bad layout
1563         https://bugs.webkit.org/show_bug.cgi?id=109476
1564
1565         Reviewed by Levi Weintraub.
1566
1567         Test: fast/block/margin-collapse/self-collapsing-block-with-float-children.html
1568
1569         The change made at http://trac.webkit.org/changeset/136967 only needs to worry about the first floated
1570         child of a self-collapsing block. The ones that follow are not affected by its margins.
1571
1572         * rendering/RenderBlockLineLayout.cpp:
1573         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
1574
1575 2013-02-12  Levi Weintraub  <leviw@chromium.org>
1576
1577         ASSERTION FAILED: !object || object->isBox(), UNKNOWN in WebCore::RenderListItem::positionListMarker
1578         https://bugs.webkit.org/show_bug.cgi?id=108699
1579
1580         Reviewed by Abhishek Arya.
1581
1582         RenderListItems performs special management of its children to maintain list markers. Splitting a flow
1583         through a list item results in assumptions made inside RenderListItem failing, so for now, avoid splitting
1584         flows when inside one.
1585
1586         Test: fast/multicol/span/list-multi-column-crash.html
1587
1588         * rendering/RenderBlock.cpp:
1589         (WebCore::RenderBlock::containingColumnsBlock):
1590
1591 2013-02-12  Roger Fong  <roger_fong@apple.com>
1592
1593         Unreviewed Windows build fix.
1594
1595         * testing/Internals.cpp:
1596         (WebCore::Internals::resetToConsistentState):
1597         (WebCore::Internals::Internals):
1598
1599 2013-02-12  Vivek Galatage  <vivek.vg@samsung.com>
1600
1601         Web Inspector: JavaScript execution disabled by browser/UA should be notified to the front-end
1602         https://bugs.webkit.org/show_bug.cgi?id=109402
1603
1604         Reviewed by Yury Semikhatsky.
1605
1606         Whenever the UA/Browser changes the Script Execution state of a page, it should notify the
1607         inspector front-end. Added the InspectorInstrumentation method didScriptExecutionStateChange
1608         to achieve this. Also the state change triggered by the inspector should be ignored to avoid
1609         infinite loop.
1610
1611         Test: inspector/script-execution-state-change-notification.html
1612
1613         * inspector/Inspector.json:
1614         * inspector/InspectorInstrumentation.cpp:
1615         (WebCore):
1616         (WebCore::InspectorInstrumentation::scriptsEnabledImpl):
1617         * inspector/InspectorInstrumentation.h:
1618         (InspectorInstrumentation):
1619         (WebCore::InspectorInstrumentation::scriptsEnabled):
1620         (WebCore):
1621         * inspector/InspectorPageAgent.cpp:
1622         (WebCore::InspectorPageAgent::InspectorPageAgent):
1623         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
1624         (WebCore::InspectorPageAgent::scriptsEnabled):
1625         (WebCore):
1626         * inspector/InspectorPageAgent.h:
1627         (InspectorPageAgent):
1628         * inspector/front-end/ResourceTreeModel.js:
1629         (WebInspector.PageDispatcher.prototype.javascriptDialogClosed):
1630         (WebInspector.PageDispatcher.prototype.scriptsEnabled):
1631         * page/Settings.cpp:
1632         (WebCore::Settings::setScriptEnabled):
1633
1634 2013-02-12  Antti Koivisto  <antti@apple.com>
1635
1636         Cache timer heap pointer to timers
1637         https://bugs.webkit.org/show_bug.cgi?id=109597
1638
1639         Reviewed by Andreas Kling.
1640
1641         Accessing timer heap through thread global storage is slow (~0.1% in PLT3). We can cache the heap pointer to
1642         each TimerBase. There are not huge numbers of timers around so memory is not an issue and many timers are heavily reused.
1643
1644         * platform/Timer.cpp:
1645         (WebCore::threadGlobalTimerHeap):
1646         (WebCore::TimerHeapReference::operator=):
1647         (WebCore::TimerHeapIterator::checkConsistency):
1648         (WebCore::TimerBase::TimerBase):
1649         (WebCore::TimerBase::checkHeapIndex):
1650         (WebCore::TimerBase::setNextFireTime):
1651         * platform/Timer.h:
1652         (WebCore::TimerBase::timerHeap):
1653         (TimerBase):
1654
1655 2013-02-12  Adam Barth  <abarth@webkit.org>
1656
1657         BackgroundHTMLParser::resumeFrom should take a struct
1658         https://bugs.webkit.org/show_bug.cgi?id=109598
1659
1660         Reviewed by Eric Seidel.
1661
1662         This patch is purely a syntatic change that paves the way for fixing
1663         the partial-entity document.write tests. To fix those tests, we'll need
1664         to pass more information to resumeFrom, but we're hitting the argument
1665         limits in Functional.h. Rather than adding yet more arguments, this
1666         patch moves to a single argument that's a struct.
1667
1668         * html/parser/BackgroundHTMLParser.cpp:
1669         (WebCore::BackgroundHTMLParser::resumeFrom):
1670         * html/parser/BackgroundHTMLParser.h:
1671         (Checkpoint):
1672         (BackgroundHTMLParser):
1673         * html/parser/HTMLDocumentParser.cpp:
1674         (WebCore::HTMLDocumentParser::didFailSpeculation):
1675
1676 2013-02-12  Elliott Sprehn  <esprehn@chromium.org>
1677
1678         rootRenderer in FrameView is really RenderView
1679         https://bugs.webkit.org/show_bug.cgi?id=109510
1680
1681         Reviewed by Eric Seidel.
1682
1683         The global function rootRenderer(FrameView*) is really just a way
1684         to get the RenderView from the Frame so replace it with a renderView()
1685         method and replace usage of the word "root" with renderView so it's
1686         obvious the root we're talking about is the renderView. This is an
1687         important distinction to make since we also have rootRenderer in the code
1688         for the documentElement()'s renderer and we also have a "layout root" which
1689         is entirely different.
1690
1691         No new tests, just refactoring.
1692
1693         * page/FrameView.cpp:
1694         (WebCore::FrameView::rootRenderer): Removed.
1695         (WebCore::FrameView::setFrameRect):
1696         (WebCore::FrameView::adjustViewSize):
1697         (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
1698         (WebCore::FrameView::updateCompositingLayersAfterLayout):
1699         (WebCore::FrameView::clearBackingStores):
1700         (WebCore::FrameView::restoreBackingStores):
1701         (WebCore::FrameView::usesCompositedScrolling):
1702         (WebCore::FrameView::layerForHorizontalScrollbar):
1703         (WebCore::FrameView::layerForVerticalScrollbar):
1704         (WebCore::FrameView::layerForScrollCorner):
1705         (WebCore::FrameView::tiledBacking):
1706         (WebCore::FrameView::scrollLayerID):
1707         (WebCore::FrameView::layerForOverhangAreas):
1708         (WebCore::FrameView::flushCompositingStateForThisFrame):
1709         (WebCore::FrameView::hasCompositedContent):
1710         (WebCore::FrameView::enterCompositingMode):
1711         (WebCore::FrameView::isSoftwareRenderable):
1712         (WebCore::FrameView::didMoveOnscreen):
1713         (WebCore::FrameView::willMoveOffscreen):
1714         (WebCore::FrameView::layout):
1715         (WebCore::FrameView::embeddedContentBox):
1716         (WebCore::FrameView::contentsInCompositedLayer):
1717         (WebCore::FrameView::scrollContentsFastPath):
1718         (WebCore::FrameView::scrollContentsSlowPath):
1719         (WebCore::FrameView::maintainScrollPositionAtAnchor):
1720         (WebCore::FrameView::scrollPositionChanged):
1721         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
1722         (WebCore::FrameView::updateFixedElementsAfterScrolling):
1723         (WebCore::FrameView::visibleContentsResized):
1724         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1725         (WebCore::FrameView::needsLayout):
1726         (WebCore::FrameView::setNeedsLayout):
1727         (WebCore::FrameView::performPostLayoutTasks):
1728         (WebCore::FrameView::updateControlTints):
1729         (WebCore::FrameView::paintContents):
1730         (WebCore::FrameView::forceLayoutForPagination):
1731         (WebCore::FrameView::adjustPageHeightDeprecated):
1732         (WebCore::FrameView::resetTrackedRepaints):
1733         (WebCore::FrameView::isVerticalDocument):
1734         (WebCore::FrameView::isFlippedDocument):
1735         * page/FrameView.h:
1736         (WebCore::FrameView::renderView): Added.
1737
1738 2013-02-12  Tomas Popela  <tpopela@redhat.com>
1739
1740         [GTK][Introspection] GObject bindings for DataTransferItemList - one add() method must be removed from .idl
1741         https://bugs.webkit.org/show_bug.cgi?id=109180
1742
1743         Reviewed by Xan Lopez.
1744
1745         When compiling WebKit with --enable-introspection and generating GObject bindings
1746         for DataTransferItemList we must disable one add() method, because GObject is
1747         based on C and C does not allow two functions with the same name.
1748
1749         No tests needed.
1750
1751         * bindings/scripts/CodeGeneratorGObject.pm:
1752
1753 2013-02-12  Uday Kiran  <udaykiran@motorola.com>
1754
1755         Background size width specified in viewport percentage units not working
1756         https://bugs.webkit.org/show_bug.cgi?id=109536
1757
1758         Reviewed by Antti Koivisto.
1759
1760         Corrected the check for viewport percentage unit while calculating
1761         background image width.
1762
1763         Test: fast/backgrounds/size/backgroundSize-viewportPercentage-width.html
1764
1765         * rendering/RenderBoxModelObject.cpp:
1766         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1767
1768 2013-02-12  Abhishek Arya  <inferno@chromium.org>
1769
1770         Heap-use-after-free in WebCore::DeleteButtonController::enable
1771         https://bugs.webkit.org/show_bug.cgi?id=109447
1772
1773         Reviewed by Ryosuke Niwa.
1774
1775         RefPtr frame pointer since it can get deleted due to mutation events
1776         fired inside AppendNodeCommand::doUnapply.
1777
1778         No new tests. Testcase is hard to minimize due to recursive
1779         calls with DOMNodeRemovedFromDocument mutation event.
1780
1781         * editing/CompositeEditCommand.cpp:
1782         (WebCore::EditCommandComposition::unapply):
1783         (WebCore::EditCommandComposition::reapply):
1784
1785 2013-02-12  Eric Seidel  <eric@webkit.org>
1786
1787         Remove HTMLTokenTypes header (and split out AtomicHTMLToken.h from HTMLToken.h)
1788         https://bugs.webkit.org/show_bug.cgi?id=109525
1789
1790         Reviewed by Adam Barth.
1791
1792         We no longer need a separate HTMLTokenTypes class now that NEW_XML is gone.
1793         However, to remove HTMLTokenTypes, I had to split AtomicHTMLToken.h from
1794         HTMLToken.h (to fix a circular dependancy).
1795
1796         * GNUmakefile.list.am:
1797         * Target.pri:
1798         * WebCore.gypi:
1799         * WebCore.vcproj/WebCore.vcproj:
1800         * WebCore.vcxproj/WebCore.vcxproj:
1801         * WebCore.vcxproj/WebCore.vcxproj.filters:
1802         * WebCore.xcodeproj/project.pbxproj:
1803         * html/HTMLViewSourceDocument.cpp:
1804         (WebCore::HTMLViewSourceDocument::addSource):
1805         * html/parser/AtomicHTMLToken.h: Added.
1806         (WebCore):
1807         (AtomicHTMLToken):
1808         (WebCore::AtomicHTMLToken::create):
1809         (WebCore::AtomicHTMLToken::forceQuirks):
1810         (WebCore::AtomicHTMLToken::type):
1811         (WebCore::AtomicHTMLToken::name):
1812         (WebCore::AtomicHTMLToken::setName):
1813         (WebCore::AtomicHTMLToken::selfClosing):
1814         (WebCore::AtomicHTMLToken::getAttributeItem):
1815         (WebCore::AtomicHTMLToken::attributes):
1816         (WebCore::AtomicHTMLToken::characters):
1817         (WebCore::AtomicHTMLToken::charactersLength):
1818         (WebCore::AtomicHTMLToken::isAll8BitData):
1819         (WebCore::AtomicHTMLToken::comment):
1820         (WebCore::AtomicHTMLToken::publicIdentifier):
1821         (WebCore::AtomicHTMLToken::systemIdentifier):
1822         (WebCore::AtomicHTMLToken::clearExternalCharacters):
1823         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1824         (WebCore::AtomicHTMLToken::initializeAttributes):
1825         * html/parser/BackgroundHTMLParser.cpp:
1826         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
1827         * html/parser/CompactHTMLToken.cpp:
1828         (WebCore::CompactHTMLToken::CompactHTMLToken):
1829         * html/parser/CompactHTMLToken.h:
1830         (WebCore::CompactHTMLToken::type):
1831         * html/parser/HTMLConstructionSite.cpp:
1832         (WebCore::HTMLConstructionSite::insertDoctype):
1833         (WebCore::HTMLConstructionSite::insertComment):
1834         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
1835         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1836         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1837         (WebCore::HTMLConstructionSite::insertForeignElement):
1838         * html/parser/HTMLDocumentParser.cpp:
1839         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1840         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
1841         * html/parser/HTMLDocumentParser.h:
1842         * html/parser/HTMLMetaCharsetParser.cpp:
1843         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
1844         * html/parser/HTMLPreloadScanner.cpp:
1845         (WebCore::isStartTag):
1846         (WebCore::isStartOrEndTag):
1847         (WebCore::HTMLPreloadScanner::processToken):
1848         * html/parser/HTMLSourceTracker.cpp:
1849         (WebCore::HTMLSourceTracker::start):
1850         (WebCore::HTMLSourceTracker::sourceForToken):
1851         * html/parser/HTMLStackItem.h:
1852         (WebCore::HTMLStackItem::HTMLStackItem):
1853         * html/parser/HTMLToken.h:
1854         (WebCore::HTMLToken::clear):
1855         (WebCore::HTMLToken::isUninitialized):
1856         (WebCore::HTMLToken::type):
1857         (WebCore::HTMLToken::makeEndOfFile):
1858         (WebCore::HTMLToken::data):
1859         (WebCore::HTMLToken::name):
1860         (WebCore::HTMLToken::appendToName):
1861         (WebCore::HTMLToken::forceQuirks):
1862         (WebCore::HTMLToken::setForceQuirks):
1863         (WebCore::HTMLToken::beginDOCTYPE):
1864         (WebCore::HTMLToken::publicIdentifier):
1865         (WebCore::HTMLToken::systemIdentifier):
1866         (WebCore::HTMLToken::setPublicIdentifierToEmptyString):
1867         (WebCore::HTMLToken::setSystemIdentifierToEmptyString):
1868         (WebCore::HTMLToken::appendToPublicIdentifier):
1869         (WebCore::HTMLToken::appendToSystemIdentifier):
1870         (WebCore::HTMLToken::selfClosing):
1871         (WebCore::HTMLToken::setSelfClosing):
1872         (WebCore::HTMLToken::beginStartTag):
1873         (WebCore::HTMLToken::beginEndTag):
1874         (WebCore::HTMLToken::addNewAttribute):
1875         (WebCore::HTMLToken::appendToAttributeName):
1876         (WebCore::HTMLToken::appendToAttributeValue):
1877         (WebCore::HTMLToken::attributes):
1878         (WebCore::HTMLToken::eraseValueOfAttribute):
1879         (WebCore::HTMLToken::ensureIsCharacterToken):
1880         (WebCore::HTMLToken::characters):
1881         (WebCore::HTMLToken::appendToCharacter):
1882         (WebCore::HTMLToken::comment):
1883         (WebCore::HTMLToken::beginComment):
1884         (WebCore::HTMLToken::appendToComment):
1885         (WebCore::HTMLToken::eraseCharacters):
1886         (HTMLToken):
1887         * html/parser/HTMLTokenTypes.h: Removed.
1888         * html/parser/HTMLTokenizer.cpp:
1889         (WebCore::AtomicHTMLToken::usesName):
1890         (WebCore::AtomicHTMLToken::usesAttributes):
1891         (WebCore::HTMLTokenizer::flushBufferedEndTag):
1892         (WebCore::HTMLTokenizer::nextToken):
1893         * html/parser/HTMLTokenizer.h:
1894         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
1895         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
1896         * html/parser/HTMLTreeBuilder.cpp:
1897         (WebCore::HTMLTreeBuilder::processToken):
1898         (WebCore::HTMLTreeBuilder::processDoctypeToken):
1899         (WebCore::HTMLTreeBuilder::processFakeStartTag):
1900         (WebCore::HTMLTreeBuilder::processFakeEndTag):
1901         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
1902         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
1903         (WebCore):
1904         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1905         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1906         (WebCore::HTMLTreeBuilder::processStartTag):
1907         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
1908         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1909         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
1910         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
1911         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1912         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1913         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
1914         (WebCore::HTMLTreeBuilder::processEndTag):
1915         (WebCore::HTMLTreeBuilder::processComment):
1916         (WebCore::HTMLTreeBuilder::processCharacter):
1917         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
1918         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
1919         (WebCore::HTMLTreeBuilder::defaultForInHead):
1920         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
1921         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
1922         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
1923         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
1924         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
1925         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1926         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
1927         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
1928         * html/parser/HTMLViewSourceParser.cpp:
1929         (WebCore::HTMLViewSourceParser::updateTokenizerState):
1930         * html/parser/TextDocumentParser.cpp:
1931         (WebCore::TextDocumentParser::insertFakePreElement):
1932         * html/parser/XSSAuditor.cpp:
1933         (WebCore::XSSAuditor::filterToken):
1934         (WebCore::XSSAuditor::filterScriptToken):
1935         (WebCore::XSSAuditor::filterObjectToken):
1936         (WebCore::XSSAuditor::filterParamToken):
1937         (WebCore::XSSAuditor::filterEmbedToken):
1938         (WebCore::XSSAuditor::filterAppletToken):
1939         (WebCore::XSSAuditor::filterIframeToken):
1940         (WebCore::XSSAuditor::filterMetaToken):
1941         (WebCore::XSSAuditor::filterBaseToken):
1942         (WebCore::XSSAuditor::filterFormToken):
1943
1944 2013-02-12  Pablo Flouret  <pablof@motorola.com>
1945
1946         Handle error recovery in @supports
1947         https://bugs.webkit.org/show_bug.cgi?id=103934
1948
1949         Reviewed by Antti Koivisto.
1950
1951         Tests 021, 024, 031, and 033 in
1952         http://hg.csswg.org/test/file/5f94e4b03ed9/contributors/opera/submitted/css3-conditional
1953         fail because there's no explicit error recovery in @support's grammar.
1954         Opera and Firefox pass the tests.
1955
1956         No new tests, modified css3/supports{,-cssom}.html
1957
1958         * css/CSSGrammar.y.in:
1959         * css/CSSParser.cpp:
1960         (WebCore::CSSParser::createSupportsRule):
1961         (WebCore::CSSParser::markSupportsRuleHeaderEnd):
1962         (WebCore::CSSParser::popSupportsRuleData):
1963         * css/CSSParser.h:
1964
1965 2013-02-12  Eric Carlson  <eric.carlson@apple.com>
1966
1967         [Mac] guard against NULL languages array
1968         https://bugs.webkit.org/show_bug.cgi?id=109595
1969
1970         Reviewed by Dean Jackson.
1971
1972         No new tests, existing tests won't crash if this is correct.
1973
1974         * page/CaptionUserPreferencesMac.mm:
1975         (WebCore::CaptionUserPreferencesMac::preferredLanguages):
1976
1977 2013-02-12  Emil A Eklund  <eae@chromium.org>
1978
1979         TransformState::move should not round offset to int
1980         https://bugs.webkit.org/show_bug.cgi?id=108266
1981
1982         Reviewed by Simon Fraser.
1983         
1984         Currently TransformState::move rounds the offset to the nearest
1985         integer values, this results in operations using TransformState
1986         to compute a position to misreport the location, specifically
1987         Element:getBoundingClientRect and repaint rects. Sizes are
1988         handled correctly and do not have the same problem.
1989
1990         Tests: fast/sub-pixel/boundingclientrect-subpixel-margin.html
1991                fast/sub-pixel/clip-rect-box-consistent-rounding.html
1992
1993         * page/FrameView.cpp:
1994         (WebCore::FrameView::convertFromRenderer):
1995         Change to use pixel snapping instead of enclosing box. All other
1996         code paths use pixelSnappedIntRect to align the rects to device
1997         pixels however this used enclosingIntRect (indirectly through
1998         the FloatQuad::enclosingBoundingBox call).
1999         Without the rounding in TransformState this causes repaint rects
2000         for elements on subpixel bounds to be too large by up to one
2001         pixel on each axis. For normal repaints this isn't really a
2002         problem but in scrollContentsSlowPath it can result in moving
2003         too large a rect.
2004
2005         * platform/graphics/transforms/TransformState.cpp:
2006         (WebCore::TransformState::translateTransform):
2007         (WebCore::TransformState::translateMappedCoordinates):
2008         Change to take a LayoutSize instead of an IntSize.
2009
2010         (WebCore::TransformState::move):
2011         (WebCore::TransformState::applyAccumulatedOffset):
2012         * platform/graphics/transforms/TransformState.h:
2013         Remove rounding logic and use original, more precise, value.
2014
2015         * rendering/RenderGeometryMap.cpp:
2016         (WebCore::RenderGeometryMap::mapToContainer):
2017         Remove rounding logic and use original, more precise, value.
2018
2019 2013-02-12  Jessie Berlin  <jberlin@apple.com>
2020
2021         Rollout r142618, it broke all the Mac builds.
2022
2023         * inspector/HeapGraphSerializer.cpp:
2024         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2025         (WebCore::HeapGraphSerializer::pushUpdate):
2026         (WebCore::HeapGraphSerializer::reportNode):
2027         (WebCore::HeapGraphSerializer::toNodeId):
2028         (WebCore::HeapGraphSerializer::addRootNode):
2029         * inspector/HeapGraphSerializer.h:
2030         (WebCore):
2031         (HeapGraphSerializer):
2032         * inspector/InspectorMemoryAgent.cpp:
2033         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2034
2035 2013-02-12  Rafael Weinstein  <rafaelw@chromium.org>
2036
2037         [HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
2038         https://bugs.webkit.org/show_bug.cgi?id=109338
2039
2040         Reviewed by Adam Barth.
2041
2042         This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
2043         is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.
2044
2045         Tests added to html5lib.
2046
2047         * html/parser/HTMLTreeBuilder.cpp:
2048         (WebCore):
2049         (WebCore::HTMLTreeBuilder::popAllTemplates):
2050         (WebCore::HTMLTreeBuilder::processEndTag):
2051         (WebCore::HTMLTreeBuilder::processEndOfFile):
2052         * html/parser/HTMLTreeBuilder.h:
2053         (HTMLTreeBuilder):
2054
2055 2013-02-12  Dominic Mazzoni  <dmazzoni@google.com>
2056
2057         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::AccessibilityMenuListPopup::didUpdateActiveOption
2058         https://bugs.webkit.org/show_bug.cgi?id=109452
2059
2060         Reviewed by Chris Fleizach.
2061
2062         Send the accessibility childrenChanged notification in
2063         HTMLSelectElement::setRecalcListItems instead of in childrenChanged
2064         so that all possible codepaths are caught.
2065
2066         Test: accessibility/insert-selected-option-into-select-causes-crash.html
2067
2068         * html/HTMLSelectElement.cpp:
2069         (WebCore::HTMLSelectElement::childrenChanged):
2070         (WebCore::HTMLSelectElement::setRecalcListItems):
2071
2072 2013-02-12  Peter Rybin  <prybin@chromium.org>
2073
2074         Web Inspector: for event listener provide handler function value in protocol and in UI
2075         https://bugs.webkit.org/show_bug.cgi?id=109284
2076
2077         Reviewed by Yury Semikhatsky.
2078
2079         The feature implies that we include a real handler function value into event listener description.
2080         Protocol description, inspector DOM agent (with V8 and JSC backends) and front-end is patched accordingly.
2081
2082         * bindings/js/ScriptEventListener.cpp:
2083         (WebCore::eventListenerHandler):
2084         (WebCore):
2085         (WebCore::eventListenerHandlerScriptState):
2086         * bindings/js/ScriptEventListener.h:
2087         (WebCore):
2088         * bindings/v8/ScriptEventListener.cpp:
2089         (WebCore::eventListenerHandler):
2090         (WebCore):
2091         (WebCore::eventListenerHandlerScriptState):
2092         * bindings/v8/ScriptEventListener.h:
2093         (WebCore):
2094         * inspector/Inspector.json:
2095         * inspector/InspectorDOMAgent.cpp:
2096         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2097         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2098         * inspector/InspectorDOMAgent.h:
2099         (InspectorDOMAgent):
2100         * inspector/front-end/DOMAgent.js:
2101         (WebInspector.DOMNode.prototype.eventListeners):
2102         * inspector/front-end/EventListenersSidebarPane.js:
2103         (WebInspector.EventListenersSidebarPane.prototype.update):
2104         (.):
2105
2106 2013-02-12  Yury Semikhatsky  <yurys@chromium.org>
2107
2108         Web Inspector: add initial implementation of native memory graph to Timeline
2109         https://bugs.webkit.org/show_bug.cgi?id=109578
2110
2111         Reviewed by Alexander Pavlov.
2112
2113         This change adds inital implementation of native memory graph UI. The graph
2114         will be shown in the same place as DOM counters graph on the Timeline panel.
2115
2116         Added NativeMemoryGraph.js that reuses parts of DOM counters graph
2117         implementation. MemoryStatistics.js was refactor to allow sharing
2118         more code between DOM counters and native memory graph.
2119
2120         * WebCore.gypi:
2121         * WebCore.vcproj/WebCore.vcproj:
2122         * inspector/compile-front-end.py:
2123         * inspector/front-end/MemoryStatistics.js:
2124         (WebInspector.MemoryStatistics):
2125         (WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
2126         (WebInspector.MemoryStatistics.prototype._createCounterUIList):
2127         (WebInspector.MemoryStatistics.prototype._createCounterUIList.getNodeCount):
2128         (WebInspector.MemoryStatistics.prototype._createCounterUIList.getListenerCount):
2129         (WebInspector.MemoryStatistics.prototype._canvasHeight):
2130         (WebInspector.MemoryStatistics.prototype._updateSize):
2131         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
2132         (WebInspector.MemoryStatistics.prototype._drawMarker):
2133         * inspector/front-end/NativeMemoryGraph.js: Added.
2134         (WebInspector.NativeMemoryGraph):
2135         (WebInspector.NativeMemoryCounterUI):
2136         (WebInspector.NativeMemoryCounterUI.prototype._hslToString):
2137         (WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
2138         (WebInspector.NativeMemoryCounterUI.prototype.clearCurrentValueAndMarker):
2139         (WebInspector.NativeMemoryGraph.prototype._createCurrentValuesBar):
2140         (WebInspector.NativeMemoryGraph.prototype._createCounterUIList.getCounterValue):
2141         (WebInspector.NativeMemoryGraph.prototype._createCounterUIList):
2142         (WebInspector.NativeMemoryGraph.prototype._canvasHeight):
2143         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
2144         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
2145         (WebInspector.NativeMemoryGraph.prototype._draw):
2146         (WebInspector.NativeMemoryGraph.prototype._clearCurrentValueAndMarker):
2147         (WebInspector.NativeMemoryGraph.prototype._updateCurrentValue):
2148         (WebInspector.NativeMemoryGraph.prototype._restoreImageUnderMarker):
2149         (WebInspector.NativeMemoryGraph.prototype._saveImageUnderMarker):
2150         (WebInspector.NativeMemoryGraph.prototype._drawMarker):
2151         (WebInspector.NativeMemoryGraph.prototype._maxCounterValue):
2152         (WebInspector.NativeMemoryGraph.prototype._resetTotalValues):
2153         (WebInspector.NativeMemoryGraph.prototype.valueGetter):
2154         (WebInspector.NativeMemoryGraph.prototype._drawGraph):
2155         (WebInspector.NativeMemoryGraph.prototype._discardImageUnderMarker):
2156         * inspector/front-end/TimelinePanel.js:
2157         * inspector/front-end/WebKit.qrc:
2158         * inspector/front-end/timelinePanel.css:
2159         (#memory-graphs-canvas-container.dom-counters .resources-dividers):
2160         (.memory-category-value):
2161
2162 2013-02-12  Andrey Lushnikov  <lushnikov@chromium.org>
2163
2164         Web Inspector: refactor some reusable functionality from BraceHighlighter
2165         https://bugs.webkit.org/show_bug.cgi?id=109574
2166
2167         Reviewed by Pavel Feldman.
2168
2169         New test: inspector/editor/text-editor-brace-highlighter.html
2170
2171         Extract functionality which, for given line and cursor position, will
2172         return position for a brace that should be highlighted. Add a layout
2173         test to verify brace highlighter funcionality.
2174
2175         * inspector/front-end/DefaultTextEditor.js:
2176         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.activeBraceColumnForCursorPosition):
2177         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
2178         * inspector/front-end/TextUtils.js:
2179         (WebInspector.TextUtils.isOpeningBraceChar):
2180         (WebInspector.TextUtils.isClosingBraceChar):
2181         (WebInspector.TextUtils.isBraceChar):
2182
2183 2013-02-12  Ilya Tikhonovsky  <loislo@chromium.org>
2184
2185         Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
2186         https://bugs.webkit.org/show_bug.cgi?id=109554
2187
2188         In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
2189         can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.
2190
2191         Drive by fix: I introduced a client interface for the HeapGraphSerializer.
2192         It helps me to do the tests for the serializer.
2193
2194         Reviewed by Yury Semikhatsky.
2195
2196         It is covered by newly added tests in TestWebKitAPI.
2197
2198         * inspector/HeapGraphSerializer.cpp:
2199         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2200         (WebCore::HeapGraphSerializer::pushUpdate):
2201         (WebCore::HeapGraphSerializer::reportNode):
2202         (WebCore::HeapGraphSerializer::toNodeId):
2203         (WebCore::HeapGraphSerializer::addRootNode):
2204         * inspector/HeapGraphSerializer.h:
2205         (HeapGraphSerializerClient):
2206         (WebCore::HeapGraphSerializerClient::~HeapGraphSerializerClient):
2207         (HeapGraphSerializer):
2208         * inspector/InspectorMemoryAgent.cpp:
2209         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2210
2211 2013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
2212
2213         Web Inspector: Introduce version controller to migrate settings versions.
2214         https://bugs.webkit.org/show_bug.cgi?id=109553
2215
2216         Reviewed by Yury Semikhatsky.
2217
2218         This patch introduces version controller that could be used to migrate inspector settings.
2219
2220         Test: inspector/version-controller.html
2221
2222         * inspector/front-end/Settings.js:
2223         (WebInspector.Settings):
2224         (WebInspector.VersionController):
2225         (WebInspector.VersionController.prototype.set _methodsToRunToUpdateVersion):
2226         (WebInspector.VersionController.prototype._updateVersionFrom0To1):
2227         * inspector/front-end/inspector.js:
2228
2229 2013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
2230
2231         Web Inspector: File system should produce more verbose error messages and recover from errors
2232         https://bugs.webkit.org/show_bug.cgi?id=109571
2233
2234         Reviewed by Alexander Pavlov.
2235
2236         Error handler prints original file system call params now.
2237         Added callbacks to error handler to recover from errors.
2238
2239         * inspector/front-end/FileSystemProjectDelegate.js:
2240         (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
2241         (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
2242         (WebInspector.FileSystemUtils.errorMessage):
2243         (.fileSystemLoaded):
2244         (.fileEntryLoaded):
2245         (.errorHandler):
2246         (WebInspector.FileSystemUtils.requestFileContent):
2247         (WebInspector.FileSystemUtils.setFileContent):
2248         (WebInspector.FileSystemUtils._readDirectory):
2249         (.innerCallback):
2250         (WebInspector.FileSystemUtils._requestEntries):
2251
2252 2013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
2253
2254         Web Inspector: Get rid of unnecessary complexity in FileSystemUtil: remove _getDirectory() method.
2255         https://bugs.webkit.org/show_bug.cgi?id=109567
2256
2257         Reviewed by Alexander Pavlov.
2258
2259         The code in this method was redundant as the same result could be achieved by using File System API directly.
2260
2261         * inspector/front-end/FileSystemProjectDelegate.js:
2262
2263 2013-02-12  Alexander Pavlov  <apavlov@chromium.org>
2264
2265         Web Inspector: [SuggestBox] SuggestBox not hidden when prefix is empty and there is preceding input
2266         https://bugs.webkit.org/show_bug.cgi?id=109568
2267
2268         Reviewed by Vsevolod Vlasov.
2269
2270         The suggestbox would get hidden in the case of empty input, yet it should get hidden
2271         in the case of empty user-entered prefix (which is a wider notion.)
2272
2273         * inspector/front-end/TextPrompt.js:
2274         (WebInspector.TextPrompt.prototype.complete):
2275
2276 2013-02-12  Andrey Lushnikov  <lushnikov@chromium.org>
2277
2278         Web Inspector: separate SuggestBox from TextPrompt
2279         https://bugs.webkit.org/show_bug.cgi?id=109430
2280
2281         Reviewed by Alexander Pavlov.
2282
2283         Create WebInspector.SuggestBoxDelegate interface and
2284         refactor TextPrompt to use this interface. Separate SuggestBox into
2285         WebInspector.SuggestBox namespace and put it into its own file.
2286
2287         No new tests: no change in behaviour.
2288
2289         * WebCore.gypi:
2290         * WebCore.vcproj/WebCore.vcproj:
2291         * inspector/compile-front-end.py:
2292         * inspector/front-end/SuggestBox.js: Added.
2293         (WebInspector.SuggestBoxDelegate):
2294         (WebInspector.SuggestBoxDelegate.prototype.applySuggestion):
2295         (WebInspector.SuggestBoxDelegate.prototype.acceptSuggestion):
2296         (WebInspector.SuggestBoxDelegate.prototype.userEnteredText):
2297         (WebInspector.SuggestBox):
2298         (WebInspector.SuggestBox.prototype.get visible):
2299         (WebInspector.SuggestBox.prototype.get hasSelection):
2300         (WebInspector.SuggestBox.prototype._onscrollresize):
2301         (WebInspector.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
2302         (WebInspector.SuggestBox.prototype._updateBoxPosition):
2303         (WebInspector.SuggestBox.prototype._onboxmousedown):
2304         (WebInspector.SuggestBox.prototype.hide):
2305         (WebInspector.SuggestBox.prototype.removeFromElement):
2306         (WebInspector.SuggestBox.prototype._applySuggestion):
2307         (WebInspector.SuggestBox.prototype.acceptSuggestion):
2308         (WebInspector.SuggestBox.prototype._selectClosest):
2309         (WebInspector.SuggestBox.prototype.updateSuggestions):
2310         (WebInspector.SuggestBox.prototype._onItemMouseDown):
2311         (WebInspector.SuggestBox.prototype._createItemElement):
2312         (WebInspector.SuggestBox.prototype._updateItems):
2313         (WebInspector.SuggestBox.prototype._selectItem):
2314         (WebInspector.SuggestBox.prototype._canShowBox):
2315         (WebInspector.SuggestBox.prototype._rememberRowCountPerViewport):
2316         (WebInspector.SuggestBox.prototype._completionsReady):
2317         (WebInspector.SuggestBox.prototype.upKeyPressed):
2318         (WebInspector.SuggestBox.prototype.downKeyPressed):
2319         (WebInspector.SuggestBox.prototype.pageUpKeyPressed):
2320         (WebInspector.SuggestBox.prototype.pageDownKeyPressed):
2321         (WebInspector.SuggestBox.prototype.enterKeyPressed):
2322         (WebInspector.SuggestBox.prototype.tabKeyPressed):
2323         * inspector/front-end/TextPrompt.js:
2324         (WebInspector.TextPrompt.prototype.userEnteredText):
2325         (WebInspector.TextPrompt.prototype._attachInternal):
2326         (WebInspector.TextPrompt.prototype._completionsReady):
2327         (WebInspector.TextPrompt.prototype.applySuggestion):
2328         (WebInspector.TextPrompt.prototype._applySuggestion):
2329         (WebInspector.TextPrompt.prototype.enterKeyPressed):
2330         (WebInspector.TextPrompt.prototype.upKeyPressed):
2331         (WebInspector.TextPrompt.prototype.downKeyPressed):
2332         (WebInspector.TextPrompt.prototype.pageUpKeyPressed):
2333         (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
2334         * inspector/front-end/WebKit.qrc:
2335         * inspector/front-end/inspector.html:
2336
2337 2013-02-12  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2338
2339         [TexMap] Apply frames-per-second debug counter to WK1.
2340         https://bugs.webkit.org/show_bug.cgi?id=109540
2341
2342         Reviewed by Noam Rosenthal.
2343
2344         Adds basysKom copyright info to TextureMapperFPSCounter header.
2345
2346         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
2347         * platform/graphics/texmap/TextureMapperFPSCounter.h:
2348
2349 2013-02-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2350
2351         Unreviewed, rolling out r142531.
2352         http://trac.webkit.org/changeset/142531
2353         https://bugs.webkit.org/show_bug.cgi?id=109569
2354
2355         Causes html5lib/run-template layout test to crash. (Requested
2356         by atwilson_ on #webkit).
2357
2358         * html/parser/HTMLTreeBuilder.cpp:
2359         (WebCore::HTMLTreeBuilder::processTemplateEndTag):
2360         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2361         (WebCore::HTMLTreeBuilder::processEndOfFile):
2362         * html/parser/HTMLTreeBuilder.h:
2363         (HTMLTreeBuilder):
2364
2365 2013-02-12  Zan Dobersek  <zdobersek@igalia.com>
2366
2367         [GTK] Enable CSS image-set support in development builds
2368         https://bugs.webkit.org/show_bug.cgi?id=109475
2369
2370         Reviewed by Martin Robinson.
2371
2372         No new tests - majority of the related tests now passes.
2373
2374         * GNUmakefile.features.am.in: Add the feature define for the CSS image-set feature
2375         with the define value defaulting to 0. The value gets overridden with 1 in development
2376         builds, meaning the feature is enabled under that configuration.
2377
2378 2013-02-12  Zan Dobersek  <zdobersek@igalia.com>
2379
2380         [GTK] Enable DOM4 events constructors in development builds
2381         https://bugs.webkit.org/show_bug.cgi?id=109471
2382
2383         Reviewed by Martin Robinson.
2384
2385         No new tests - the related tests now pass.
2386
2387         * GNUmakefile.features.am.in: Add the feature define for the DOM4 events
2388         constructors feature, its value defaulting to 0. This value is overridden
2389         with 1 in development builds, effectively enabling the feature.
2390
2391 2013-02-12  Zan Dobersek  <zdobersek@igalia.com>
2392
2393         Unreviewed build fix for the GTK port after r142595.
2394         Adding the TextureMapperFPSCounter files to the list of build targets
2395         in case of using the OpenGL texture mapper.
2396
2397         * GNUmakefile.list.am:
2398
2399 2013-02-12  Andrey Kosyakov  <caseq@chromium.org>
2400
2401         Web Inspector: fix closure compiler warnings in extension server and API
2402         https://bugs.webkit.org/show_bug.cgi?id=109563
2403
2404         Reviewed by Vsevolod Vlasov.
2405
2406         * inspector/front-end/ExtensionAPI.js: drive-by: make sure we fail if extensionServer is not defined in outer scope.
2407         * inspector/front-end/ExtensionServer.js:
2408         (WebInspector.ExtensionServer.prototype.):
2409         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2410         * inspector/front-end/externs.js: add extensionServer
2411
2412 2013-02-12  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2413
2414         Unreviewed. Fix !ENABLE(INSPECTOR) builds after r142575
2415
2416         * inspector/InspectorInstrumentation.h:
2417         (WebCore::InspectorInstrumentation::willDispatchEvent):
2418
2419 2013-02-12  Andrey Lushnikov  <lushnikov@chromium.org>
2420
2421         Web Inspector: move showWhitespace option into experiments
2422         https://bugs.webkit.org/show_bug.cgi?id=109552
2423
2424         Reviewed by Vsevolod Vlasov.
2425
2426         Remove "show whitespace" setting and add it to experiments.
2427
2428         No new tests: fixed an existing test to verify changes.
2429
2430         * English.lproj/localizedStrings.js:
2431         * inspector/front-end/DefaultTextEditor.js:
2432         (WebInspector.TextEditorMainPanel):
2433         (WebInspector.TextEditorMainPanel.prototype.wasShown):
2434         (WebInspector.TextEditorMainPanel.prototype.willHide):
2435         * inspector/front-end/Settings.js:
2436         (WebInspector.ExperimentsSettings):
2437         * inspector/front-end/SettingsScreen.js:
2438         (WebInspector.GenericSettingsTab):
2439
2440 2013-02-12  Tamas Czene  <tczene@inf.u-szeged.hu>
2441
2442         Add error checking into OpenCL version of SVG filters.
2443         https://bugs.webkit.org/show_bug.cgi?id=107444
2444
2445         Reviewed by Zoltan Herczeg.
2446
2447         In case of an error the program runs through all the remaining filters by doing nothing. 
2448         After that deletes the results of every filter and starts software rendering.
2449
2450         * platform/graphics/filters/FilterEffect.cpp:
2451         (WebCore):
2452         (WebCore::FilterEffect::applyAll): At software rendering this is a simple inline methode, but at OpenCL rendering it releases OpenCL things. If we have an error remove filter's results and start software rendering.
2453         (WebCore::FilterEffect::clearResultsRecursive):
2454         (WebCore::FilterEffect::openCLImageToImageBuffer):
2455         (WebCore::FilterEffect::createOpenCLImageResult):
2456         (WebCore::FilterEffect::transformResultColorSpace):
2457         * platform/graphics/filters/FilterEffect.h:
2458         (FilterEffect):
2459         (WebCore::FilterEffect::applyAll):
2460         * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
2461         (WebCore::FilterContextOpenCL::isFailed):
2462         (WebCore):
2463         (WebCore::FilterContextOpenCL::freeResources):
2464         (WebCore::FilterContextOpenCL::destroyContext):
2465         (WebCore::FilterContextOpenCL::compileTransformColorSpaceProgram):
2466         (WebCore::FilterContextOpenCL::openCLTransformColorSpace):
2467         (WebCore::FilterContextOpenCL::compileProgram):
2468         (WebCore::FilterContextOpenCL::freeResource):
2469         * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
2470         (WebCore::FilterContextOpenCL::FilterContextOpenCL):
2471         (WebCore::FilterContextOpenCL::setInError):
2472         (WebCore::FilterContextOpenCL::inError):
2473         (FilterContextOpenCL):
2474         (WebCore::FilterContextOpenCL::RunKernel::RunKernel):
2475         (WebCore::FilterContextOpenCL::RunKernel::addArgument):
2476         (WebCore::FilterContextOpenCL::RunKernel::run):
2477         (RunKernel):
2478         * platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp:
2479         (WebCore::FilterContextOpenCL::compileFEColorMatrix):
2480         (WebCore::FEColorMatrix::platformApplyOpenCL):
2481         * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp:
2482         (WebCore::FilterContextOpenCL::compileFETurbulence):
2483         (WebCore::FETurbulence::platformApplyOpenCL):
2484         * rendering/svg/RenderSVGResourceFilter.cpp:
2485         (WebCore::RenderSVGResourceFilter::postApplyResource):
2486
2487 2013-02-12  Huang Dongsung  <luxtella@company100.net>
2488
2489         [TexMap] Apply frames-per-second debug counter to WK1.
2490         https://bugs.webkit.org/show_bug.cgi?id=109540
2491
2492         Reviewed by Noam Rosenthal.
2493
2494         r142524 implemented frames-per-second debug counter on WK2. This patch
2495         applies frames-per-second debug counter to WK1 also.
2496
2497         Visual debugging feature, no need for new tests.
2498
2499         * CMakeLists.txt:
2500         * GNUmakefile.list.am:
2501         * Target.pri:
2502         * platform/graphics/texmap/TextureMapper.h:
2503         * platform/graphics/texmap/TextureMapperFPSCounter.cpp: Added.
2504         (WebCore):
2505         (WebCore::TextureMapperFPSCounter::TextureMapperFPSCounter):
2506         (WebCore::TextureMapperFPSCounter::updateFPSAndDisplay):
2507         * platform/graphics/texmap/TextureMapperFPSCounter.h: Added.
2508         (WebCore):
2509         (TextureMapperFPSCounter):
2510         * platform/graphics/texmap/TextureMapperGL.cpp:
2511         (WebCore):
2512         (WebCore::TextureMapperGL::drawNumber):
2513           Rename from drawRepaintCounter to drawNumber.
2514         * platform/graphics/texmap/TextureMapperGL.h:
2515         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
2516         (WebCore::TextureMapperImageBuffer::drawNumber):
2517         * platform/graphics/texmap/TextureMapperImageBuffer.h:
2518         (TextureMapperImageBuffer):
2519         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
2520         (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
2521         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
2522         (WebCore::CoordinatedBackingStore::drawRepaintCounter):
2523         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2524           Move frames-per-second debug counter code to TextureMapperFPSCounter.
2525         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
2526         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
2527         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
2528         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2529
2530 2013-02-11  Yury Semikhatsky  <yurys@chromium.org>
2531
2532         Web Inspector: stack trace is cut at native bind if inspector is closed
2533         https://bugs.webkit.org/show_bug.cgi?id=109427
2534
2535         Reviewed by Pavel Feldman.
2536
2537         Only top frame is collected instead of full stack trace when inspector
2538         front-end is closed to avoid expensive operations when exceptions are
2539         thrown.
2540
2541         Test: http/tests/inspector-enabled/console-exception-while-no-inspector.html
2542
2543         * inspector/InspectorConsoleAgent.cpp:
2544         (WebCore::InspectorConsoleAgent::addMessageToConsole):
2545
2546 2013-02-12  Kent Tamura  <tkent@chromium.org>
2547
2548         INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus
2549         https://bugs.webkit.org/show_bug.cgi?id=109544
2550
2551         Reviewed by Kentaro Hara.
2552
2553         This is similar to Bug 108914, "Should not move focus if the element
2554         already has focus." We fixed a focus() case in Bug 108914. However we
2555         still have the problem in a case of focusing by mouse click.
2556
2557         The fix for Bug 108914 intercepted focus() function to change the
2558         behavior. However focus-by-click doesn't call focus(), but calls
2559         FocusController::setFocusedNode. To fix this problem, we introduce
2560         oldFocusedNode argument to handleFocusEvent, and
2561         BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the
2562         focus to oldFocusedNode if oldFocusedNode is one of sub-fields.
2563         handleFocusEvent is called whenever the focused node is changed.
2564
2565         We don't need InputType::willCancelFocus any more because the new code
2566         in handleFocusEvent covers it.
2567
2568         Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html.
2569
2570         * html/HTMLTextFormControlElement.h:
2571         (WebCore::HTMLTextFormControlElement::handleFocusEvent):
2572         Add oldFocusedNode argument.
2573         * html/HTMLTextFormControlElement.cpp:
2574         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
2575         Pass oldFocusedNode to handleFocusEvent.
2576
2577         * html/HTMLInputElement.h:
2578         (HTMLInputElement):
2579          - Add oldFocusedNode argument to handleFocusEvent.
2580          - Remove focus() override.
2581         * html/HTMLInputElement.cpp: Remove focus() override.
2582         (WebCore::HTMLInputElement::handleFocusEvent):
2583         Pass oldFocusedNode to InputType::handleFocusEvent.
2584         * html/InputType.cpp: Remove willCancelFocus.
2585         (WebCore::InputType::handleFocusEvent):
2586         Add oldFocusedNode argument.
2587         * html/InputType.h:
2588         (InputType): Ditto.
2589         * html/PasswordInputType.cpp:
2590         (WebCore::PasswordInputType::handleFocusEvent): Ditto.
2591         * html/PasswordInputType.h:
2592         (PasswordInputType): Ditto.
2593
2594         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2595         (BaseMultipleFieldsDateAndTimeInputType):
2596         Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent.
2597         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2598         (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
2599         Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the
2600         direction is FocusDirectionNone.
2601
2602         * html/shadow/DateTimeEditElement.h:
2603         (DateTimeEditElement): Add oldFocusedNode argument to focusByOwner.
2604         * html/shadow/DateTimeEditElement.cpp:
2605         (WebCore::DateTimeEditElement::focusByOwner):
2606         If oldFocusedNode is one of sub-fields, focus on it again.
2607
2608 2013-02-12  Takashi Sakamoto  <tasak@google.com>
2609
2610         [Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
2611         https://bugs.webkit.org/show_bug.cgi?id=108595
2612
2613         Reviewed by Eric Seidel.
2614
2615         StyleResolver uses SelectorChecker's mode to change its resolving mode.
2616         However it is a state of StyleResolver. StyleResolver should have the
2617         mode and make SelectorChecker instance on a stack while required.
2618
2619         No new tests, just refactoring.
2620
2621         * css/SelectorChecker.cpp:
2622         (WebCore::SelectorChecker::fastCheckRightmostSelector):
2623         (WebCore::SelectorChecker::fastCheck):
2624         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
2625         (WebCore::SelectorChecker::matchesFocusPseudoClass):
2626         Changed to static class function, because these methods never use
2627         "this".
2628         (WebCore):
2629         * css/SelectorChecker.h:
2630         (SelectorChecker):
2631         * css/StyleResolver.cpp:
2632         (WebCore::StyleResolver::StyleResolver):
2633         (WebCore::StyleResolver::collectMatchingRules):
2634         Now, matchesFocusPseudoClass is not a static method of
2635         SelectorChecker, so replaced "m_selectorChecker." with
2636         "SelectorChecker::".
2637         (WebCore::StyleResolver::sortAndTransferMatchedRules):
2638         (WebCore::StyleResolver::collectMatchingRulesForList):
2639         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
2640         (WebCore::StyleResolver::matchUARules):
2641         (WebCore::StyleResolver::adjustRenderStyle):
2642         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2643         Use m_mode instead of m_selectorChecker.mode().
2644         Also use document()->inQuirksMode() instead of
2645         m_selectoChecker.strictParsing().
2646         (WebCore::StyleResolver::ruleMatches):
2647         (WebCore::StyleResolver::checkRegionSelector):
2648         Created an on-stack SelectorChecker object and used it to check
2649         selectors.
2650         * css/StyleResolver.h:
2651         (WebCore::StyleResolver::State::State):
2652         Added m_mode, this keeps m_selectorChecker's mode.
2653         (State):
2654         (StyleResolver):
2655         Removed m_selectorChecker.
2656
2657 2013-02-11  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
2658
2659         [Qt][EFL][WebGL] Minor refactoring of GraphicsSurface/GraphicsSurfaceGLX
2660         https://bugs.webkit.org/show_bug.cgi?id=108686
2661
2662         Reviewed by Noam Rosenthal.
2663
2664         Remove unused platformSurface()/m_platformSurface from GraphicsSurface.
2665         Move m_texture from GraphicsSurface to GLX GraphicsSurfacePrivate to match
2666         Win and Mac implementations.
2667
2668         No new tests, refactoring only.
2669
2670         * platform/graphics/surfaces/GraphicsSurface.cpp:
2671         (WebCore::GraphicsSurface::GraphicsSurface):
2672         * platform/graphics/surfaces/GraphicsSurface.h:
2673         (GraphicsSurface):
2674         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2675         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2676         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2677         (WebCore::GraphicsSurfacePrivate::surface):
2678         (GraphicsSurfacePrivate):
2679         (WebCore::GraphicsSurfacePrivate::textureID):
2680         (WebCore::GraphicsSurfacePrivate::clear):
2681         (WebCore::GraphicsSurface::platformExport):
2682         (WebCore::GraphicsSurface::platformGetTextureID):
2683         (WebCore::GraphicsSurface::platformSwapBuffers):
2684         (WebCore::GraphicsSurface::platformCreate):
2685         (WebCore::GraphicsSurface::platformImport):
2686         (WebCore::GraphicsSurface::platformDestroy):
2687
2688 2013-02-11  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
2689
2690         [EFL][WebGL] WebGL content is not painted after resizing the viewport.
2691         https://bugs.webkit.org/show_bug.cgi?id=106358
2692
2693         Reviewed by Noam Rosenthal.
2694
2695         When page size changes and layer parameters get updated LayerTreeRenderer::setLayerState
2696         clears the layer backing store and detaches the canvas surface from the layer. If the layer
2697         size is not changed then the canvas is not recreated. This leaves the canvas detached from
2698         the layer, but still referenced from m_surfaceBackingStores.
2699         Don't assign layer backing store to layer in assignImageBackingToLayer if there is a canvas
2700         surface already attached to the layer.
2701
2702         Test: fast/canvas/webgl/webgl-layer-update.html
2703
2704         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2705         (WebCore::CoordinatedGraphicsScene::setLayerState):
2706         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2707         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2708
2709 2013-02-11  Eric Carlson  <eric.carlson@apple.com>
2710
2711         [Mac] Track language selection should be sticky
2712         https://bugs.webkit.org/show_bug.cgi?id=109466
2713
2714         Reviewed by Dean Jackson.
2715
2716         Choosing a text track from the caption menu should make that track's language the
2717         preferred caption language. Turning captions off from the menu should disable captions
2718         in videos loaded subsequently.
2719
2720         OS X has system support for these settings, so changes made by DRT should not change the
2721         settings on the user's system. Add support for all other ports in DRT only.
2722
2723         Test: media/track/track-user-preferences.html
2724
2725         * WebCore.exp.in: Export PageGroup::captionPreferences().
2726
2727         * html/HTMLMediaElement.cpp:
2728         (WebCore::HTMLMediaElement::HTMLMediaElement): Use page()->group().captionPreferences().
2729         (WebCore::HTMLMediaElement::attach): Ditto.
2730         (WebCore::HTMLMediaElement::detach): Ditto.
2731         (WebCore::HTMLMediaElement::userPrefersCaptions): Ditto.
2732         (WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto. Update for 
2733             preferredLanguageFromList change.
2734         (WebCore::HTMLMediaElement::toggleTrackAtIndex): Set user prefs for captions visible and
2735             caption language as appropriate.
2736
2737         * html/shadow/MediaControlElements.cpp:
2738         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Remove unneeded comment.
2739         (WebCore::MediaControlTextTrackContainerElement::updateSizes):  Use page()->group().captionPreferences().
2740
2741         * html/shadow/MediaControlsApple.cpp:
2742         (WebCore::MediaControlsApple::closedCaptionTracksChanged): Update caption menu button visibility.
2743
2744         * page/CaptionUserPreferences.h:
2745         (WebCore::CaptionUserPreferences::userPrefersCaptions): Support "testing" mode.
2746         (WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
2747         (WebCore::CaptionUserPreferences::registerForPreferencesChangedCallbacks): Ditto.
2748         (WebCore::CaptionUserPreferences::unregisterForPreferencesChangedCallbacks): Ditto.
2749         (WebCore::CaptionUserPreferences::setPreferredLanguage): Ditto.
2750         (WebCore::CaptionUserPreferences::preferredLanguages): Ditto.
2751         (WebCore::CaptionUserPreferences::testingMode): Ditto.
2752         (WebCore::CaptionUserPreferences::setTestingMode): Ditto.
2753         (WebCore::CaptionUserPreferences::CaptionUserPreferences): Ditto.
2754
2755         * page/CaptionUserPreferencesMac.h:
2756         * page/CaptionUserPreferencesMac.mm:
2757         (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Support "testing" mode.
2758         (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
2759         (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
2760         (WebCore::CaptionUserPreferencesMac::registerForPreferencesChangedCallbacks): Change name from
2761             registerForCaptionPreferencesChangedCallbacks. Support "testing" mode.
2762         (WebCore::CaptionUserPreferencesMac::unregisterForPreferencesChangedCallbacks):  Change name from
2763             unregisterForCaptionPreferencesChangedCallbacks. Support "testing" mode.
2764         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Support "testing" mode.
2765         (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
2766         (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
2767         (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto. Return the platform override when set.
2768
2769         * page/PageGroup.cpp:
2770         (WebCore::PageGroup::registerForCaptionPreferencesChangedCallbacks): Remove because it is already
2771             available from the caption preference object.
2772         (WebCore::PageGroup::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
2773         (WebCore::PageGroup::userPrefersCaptions): Ditto.
2774         (WebCore::PageGroup::userHasCaptionPreferences): Ditto.
2775         (WebCore::PageGroup::captionFontSizeScale): Ditto.
2776         * page/PageGroup.h:
2777
2778         * platform/Language.cpp:
2779         (WebCore::preferredLanguageFromList): Take the list of preferred languages instead of assuming
2780             the system list.
2781         * platform/Language.h:
2782
2783         * testing/Internals.cpp:
2784         (WebCore::Internals::resetToConsistentState): Disable caption testing mode.
2785         (WebCore::Internals::Internals): Enable caption testing mode so the user's system
2786             preferences are not modified.
2787
2788 2013-02-11  Huang Dongsung  <luxtella@company100.net>
2789
2790         Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
2791         https://bugs.webkit.org/show_bug.cgi?id=108922
2792
2793         Reviewed by Noam Rosenthal.
2794
2795         Currently, CoordinatedGraphicsScene has two methods to know contents
2796         size: setContentsSize() and setVisibleContentsRect(). Contents size is
2797         used when adjusting a scroll position, but adjustment is not needed
2798         because EFL and Qt platform code (currently PageViewportController)
2799         already adjusts a scroll position, and it is natural for each platform
2800         to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
2801         not know contents size.
2802
2803         In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
2804         to get CoordinatedGraphicsScene.
2805
2806         This patch can only be tested manually since there is no automated
2807         testing facilities for in-motion touch.
2808         Test: ManualTests/fixed-position.html
2809               ManualTests/nested-fixed-position.html
2810
2811         * platform/graphics/texmap/TextureMapperLayer.cpp:
2812         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
2813         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2814         (WebCore::CoordinatedGraphicsScene::setScrollPosition):
2815         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
2816         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2817         (CoordinatedGraphicsScene):
2818
2819 2013-02-11  Huang Dongsung  <luxtella@company100.net>
2820
2821         Coordinated Graphics: remove the DidChangeScrollPosition message.
2822         https://bugs.webkit.org/show_bug.cgi?id=108051
2823
2824         Reviewed by Noam Rosenthal.
2825         Signed off for WebKit2 by Benjamin Poulain.
2826
2827         Currently, we use the DidChangeScrollPosition message to send the scroll
2828         position that WebCore used in this frame to UI Process. We had to have
2829         some member variables for the DidChangeScrollPosition message.
2830         However, we can send a scroll position via the DidRenderFrame message,
2831         because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
2832         updated at the moment of flushing. So we can remove the
2833         DidChangeScrollPosition message and some redundant member variables.
2834
2835         No tests. No change in behavior.
2836
2837         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2838         (WebCore::CoordinatedGraphicsScene::flushLayerChanges):
2839         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2840         (CoordinatedGraphicsScene):
2841
2842 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2843
2844         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
2845         https://bugs.webkit.org/show_bug.cgi?id=109534
2846
2847         Reviewed by Anders Carlsson.
2848
2849         * editing/DeleteButtonController.cpp:
2850         (WebCore::DeleteButtonController::show):
2851         * editing/Editor.cpp:
2852         (WebCore):
2853         * editing/Editor.h:
2854         (Editor):
2855         * loader/EmptyClients.h:
2856         (WebCore::EmptyEditorClient::shouldDeleteRange):
2857         (EmptyEditorClient):
2858         (WebCore::EmptyEditorClient::shouldShowDeleteInterface):
2859         * page/EditorClient.h:
2860         (EditorClient):
2861
2862 2013-02-11  Hayato Ito  <hayato@chromium.org>
2863
2864         Factor EventContext and introduces MouseOrFocusEventContext.
2865         https://bugs.webkit.org/show_bug.cgi?id=109278
2866
2867         Reviewed by Dimitri Glazkov.
2868
2869         To supoort Touch event retargeting (bug 107800), we have to factor
2870         event retargeting code so that it can support not only MouseEvent or FocusEvent,
2871         but also other events.
2872
2873         This is the first attempt to refactor event retargeting code, a
2874         separated patch from bug 109156.  EventContext is now factored and
2875         MouseOrFocusEventContext was introduced to support MouseEvent or
2876         FocusEvent separately.
2877
2878         In following patches, I'll introduce TouchEventContext and
2879         TouchEventDispatchMediator to support Touch event retargeting.
2880
2881         No new tests. No change in functionality.
2882
2883         * dom/EventContext.cpp:
2884         (WebCore::EventContext::EventContext): Factor relatedTarget out from EventContext into MouseOrFocusEventContext.
2885         (WebCore::EventContext::~EventContext):
2886         (WebCore):
2887         (WebCore::EventContext::handleLocalEvents):
2888         (WebCore::EventContext::isMouseOrFocusEventContext):
2889         (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):  New. Handles MouseEvent's (or FocusEvent's) relatedTarget retargeting.
2890         (WebCore::MouseOrFocusEventContext::~MouseOrFocusEventContext):
2891         (WebCore::MouseOrFocusEventContext::handleLocalEvents):
2892         (WebCore::MouseOrFocusEventContext::isMouseOrFocusEventContext):
2893         * dom/EventContext.h:
2894         (EventContext):
2895         (WebCore::EventContext::node):
2896         (WebCore::EventContext::target):
2897         (WebCore::EventContext::currentTargetSameAsTarget):
2898         (WebCore):
2899         (MouseOrFocusEventContext):
2900         (WebCore::MouseOrFocusEventContext::relatedTarget):
2901         (WebCore::MouseOrFocusEventContext::setRelatedTarget):
2902         * dom/EventDispatcher.cpp:
2903         (WebCore::EventRelatedTargetAdjuster::adjust):
2904         (WebCore::EventDispatcher::adjustRelatedTarget):
2905         (WebCore::EventDispatcher::ensureEventPath):  Renamad from ensureEventAncestors. Use the DOM Core terminology.
2906         (WebCore::EventDispatcher::dispatchEvent):
2907         (WebCore::EventDispatcher::dispatchEventAtCapturing):
2908         (WebCore::EventDispatcher::dispatchEventAtTarget):
2909         (WebCore::EventDispatcher::dispatchEventAtBubbling):
2910         (WebCore::EventDispatcher::dispatchEventPostProcess):
2911         (WebCore::EventDispatcher::topEventContext):
2912         * dom/EventDispatcher.h:
2913         (EventRelatedTargetAdjuster):
2914         (EventDispatcher):
2915         * inspector/InspectorInstrumentation.cpp:
2916         (WebCore):
2917         (WebCore::eventHasListeners):
2918         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2919         * inspector/InspectorInstrumentation.h:
2920         (InspectorInstrumentation):
2921         (WebCore::InspectorInstrumentation::willDispatchEvent):
2922
2923 2013-02-11  peavo@outlook.com  <peavo@outlook.com>
2924
2925         [Curl] setCookiesFromDOM function does not save cookies to disk.
2926         https://bugs.webkit.org/show_bug.cgi?id=109285
2927
2928         Reviewed by Brent Fulgham.
2929
2930         Write cookies to disk by using the Curl easy api.
2931
2932         * platform/network/curl/CookieJarCurl.cpp:
2933         (WebCore::setCookiesFromDOM):Write cookie to disk.
2934         * platform/network/curl/ResourceHandleManager.cpp:
2935         (WebCore::ResourceHandleManager::getCurlShareHandle): Added method to get Curl share handle.
2936         (WebCore::ResourceHandleManager::getCookieJarFileName): Added method to get cookie file name.
2937         * platform/network/curl/ResourceHandleManager.h: Added methods to get cookie file name, and Curl share handle.
2938
2939 2013-02-11  Hayato Ito  <hayato@chromium.org>
2940
2941         Split each RuleSet and feature out from StyleResolver into its own class.
2942         https://bugs.webkit.org/show_bug.cgi?id=107777
2943
2944         Reviewed by Dimitri Glazkov.
2945
2946         Re-landing r141964, which was reverted in r141973, since r141964 seem to be innocent.
2947
2948         No tests. No change in behavior.
2949
2950         * CMakeLists.txt:
2951         * GNUmakefile.list.am:
2952         * Target.pri:
2953         * WebCore.gypi:
2954         * WebCore.xcodeproj/project.pbxproj:
2955         * css/CSSAllInOne.cpp:
2956         * css/DocumentRuleSets.cpp: Added.
2957         (WebCore):
2958         (WebCore::DocumentRuleSets::DocumentRuleSets):
2959         (WebCore::DocumentRuleSets::~DocumentRuleSets):
2960         (WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
2961         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
2962         (WebCore::makeRuleSet): Ditto.
2963         (WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
2964         (WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
2965         (WebCore::DocumentRuleSets::collectFeatures): Ditto.
2966         (WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
2967         * css/DocumentRuleSets.h: Added.
2968         (WebCore):
2969         (DocumentRuleSets):
2970         (WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
2971         (WebCore::DocumentRuleSets::userStyle): Ditto.
2972         (WebCore::DocumentRuleSets::features): Ditto.
2973         (WebCore::DocumentRuleSets::sibling): Ditto.
2974         (WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
2975         * css/StyleResolver.cpp:
2976         (WebCore::StyleResolver::StyleResolver):
2977         (WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
2978         (WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
2979         (WebCore::StyleResolver::matchUserRules): Ditto.
2980         (WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
2981         (WebCore::StyleResolver::locateCousinList): Ditto.
2982         (WebCore::StyleResolver::canShareStyleWithElement): Ditto.
2983         (WebCore::StyleResolver::locateSharedStyle): Ditto.
2984         (WebCore::StyleResolver::styleForPage): Ditto.
2985         (WebCore::StyleResolver::checkRegionStyle): Ditto.
2986         (WebCore::StyleResolver::applyProperty): Ditto.
2987         (WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
2988         * css/StyleResolver.h:
2989         (WebCore::StyleResolver::scopeResolver):
2990         (StyleResolver):
2991         (WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
2992         (WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
2993         (WebCore::StyleResolver::usesFirstLineRules): Ditto.
2994         (WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
2995         (WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
2996         (WebCore::StyleResolver::hasSelectorForClass): Ditto.
2997         (WebCore::StyleResolver::hasSelectorForId): Ditto.
2998         * dom/DocumentStyleSheetCollection.cpp:
2999         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3000
3001 2013-02-11  Keishi Hattori  <keishi@webkit.org>
3002
3003         REGRESSION (r140778):Calendar Picker buttons are wrong when rtl
3004         https://bugs.webkit.org/show_bug.cgi?id=109158
3005
3006         Reviewed by Kent Tamura.
3007
3008         The calendar picker button's icon and position where wrong when rtl.
3009
3010
3011         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html
3012
3013         * Resources/pagepopups/calendarPicker.css:
3014         (.year-month-button-left .year-month-button): Use -webkit-margin-end so the margin is applide to the right side.
3015         (.year-month-button-right .year-month-button): Use -webkit-margin-start so the margin is applide to the right side.
3016         (.today-clear-area .today-button): Use -webkit-margin-end so the margin is applide to the right side.
3017         * Resources/pagepopups/calendarPicker.js:
3018         (YearMonthController.prototype._attachLeftButtonsTo): Flip icon image when rtl.
3019         (YearMonthController.prototype._attachRightButtonsTo): Ditto.
3020
3021 2013-02-11  KwangYong Choi  <ky0.choi@samsung.com>
3022
3023         REGRESSION (r142549): Remove web intents code
3024         https://bugs.webkit.org/show_bug.cgi?id=109532
3025
3026         Reviewed by Nico Weber.
3027
3028         Remove remaning code related to web intents.
3029
3030         No new tests, no change on behavior.
3031
3032         * UseJSC.cmake:
3033         * bindings/js/JSIntentConstructor.cpp: Removed.
3034
3035 2013-02-11  Kenneth Russell  <kbr@google.com>
3036
3037         Add temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
3038         https://bugs.webkit.org/show_bug.cgi?id=109127
3039
3040         Reviewed by Dean Jackson.
3041
3042         No new tests. Built and tested WebKit and Chromium with this change.
3043
3044         * platform/graphics/ANGLEWebKitBridge.cpp:
3045         (WebCore):
3046             Define temporary typedef spanning int -> size_t change.
3047         (WebCore::getValidationResultValue):
3048         (WebCore::getSymbolInfo):
3049             Use temporary typedef.
3050
3051 2013-02-11  Kentaro Hara  <haraken@chromium.org>
3052
3053         [V8] ScheduledAction::m_context can be empty, so we shouldn't
3054         retrieve an Isolate by using m_context->GetIsolate()
3055         https://bugs.webkit.org/show_bug.cgi?id=109523
3056
3057         Reviewed by Adam Barth.
3058
3059         Chromium bug: https://code.google.com/p/chromium/issues/detail?id=175307#makechanges
3060
3061         Currently ScheduledAction is retrieving an Isolate by using m_context->GetIsolate().
3062         This can crash because ScheduledAction::m_context can be empty. Specifically,
3063         ScheduledAction::m_context is set to ScriptController::currentWorldContext(),
3064         which can return an empty handle when a frame does not exist. In addition,
3065         'if(context.IsEmpty())' in ScheduledAction.cpp implies that it can be empty.
3066
3067         Alternately, we should pass an Isolate explicitly when a ScheduledAction is instantiated.
3068
3069         No tests. The Chromium crash report doesn't provide enough information
3070         to reproduce the bug.
3071
3072         * bindings/v8/ScheduledAction.cpp:
3073         (WebCore::ScheduledAction::ScheduledAction):
3074         (WebCore):
3075         (WebCore::ScheduledAction::~ScheduledAction):
3076         * bindings/v8/ScheduledAction.h:
3077         (ScheduledAction):
3078         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3079         (WebCore::WindowSetTimeoutImpl):
3080         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3081         (WebCore::SetTimeoutOrInterval):
3082
3083 2013-02-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3084
3085         Build fix: r142549 broke EFL build
3086         https://bugs.webkit.org/show_bug.cgi?id=109527
3087
3088         Reviewed by Kentaro Hara.
3089
3090         No new tests, no change on behavior.
3091
3092         * CMakeLists.txt:
3093
3094 2013-02-11  Simon Fraser  <simon.fraser@apple.com>
3095
3096         REGRESSION (r142520?): Space no longer scrolls the page
3097         https://bugs.webkit.org/show_bug.cgi?id=109526
3098
3099         Reviewed by Tim Horton.
3100
3101         ScrollingTree::updateTreeFromStateNode() used to bail early when it had
3102         no children (no fixed or sticky elements), but that left updateAfterChildren()
3103         uncalled. Fix by always calling updateAfterChildren(), which updates the scroll
3104         position.
3105
3106         * page/scrolling/ScrollingTree.cpp:
3107         (WebCore::ScrollingTree::updateTreeFromStateNode):
3108
3109 2013-02-11  Tim Horton  <timothy_horton@apple.com>
3110
3111         Remove extra early-return in FrameView::setScrollPosition
3112
3113         Rubber-stamped by Simon Fraser.
3114
3115         * page/FrameView.cpp:
3116         (WebCore::FrameView::setScrollPosition):
3117
3118 2013-02-11  Arko Saha  <arko@motorola.com>
3119
3120         [Microdata] Fix crash after r141034 in chromuim port
3121         https://bugs.webkit.org/show_bug.cgi?id=109514
3122
3123         Reviewed by Ryosuke Niwa.
3124
3125         Added V8SkipVTableValidation extended attribute to skip
3126         VTable validation check for DOMSettableTokenList interface.
3127
3128         This patch fixes below test failures:
3129         Tests: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html
3130                fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
3131                fast/dom/MicroData/element-with-empty-itemprop.html
3132                fast/dom/MicroData/itemprop-add-remove-tokens.html
3133                fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
3134                fast/dom/MicroData/itemprop-must-be-read-only.html
3135                fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
3136                fast/dom/MicroData/itemref-add-remove-tokens.html
3137                fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
3138                fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
3139                fast/dom/MicroData/itemref-must-be-read-only.html
3140                fast/dom/MicroData/itemtype-add-remove-tokens.html
3141                fast/dom/MicroData/itemtype-attribute-test.html
3142                fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html
3143                fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
3144                fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html
3145                fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html
3146
3147         * html/DOMSettableTokenList.idl:
3148
3149 2013-02-11  Adam Barth  <abarth@webkit.org>
3150
3151         Load event fires too early with threaded HTML parser (take 2)
3152         https://bugs.webkit.org/show_bug.cgi?id=109485
3153
3154         Reviewed by Eric Seidel.
3155
3156         This patch restores the code that was removed in
3157         http://trac.webkit.org/changeset/142492 and adds code to
3158         DocumentLoader.cpp to avoid the regression.
3159
3160         * dom/Document.cpp:
3161         (WebCore::Document::hasActiveParser):
3162         (WebCore::Document::decrementActiveParserCount):
3163         * loader/DocumentLoader.cpp:
3164         (WebCore::DocumentLoader::isLoadingInAPISense):
3165
3166 2013-02-11  Eric Seidel  <eric@webkit.org>
3167
3168         Fold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
3169         https://bugs.webkit.org/show_bug.cgi?id=109502
3170
3171         Reviewed by Tony Gentilcore.
3172
3173         Just a search replace of HTMLTokenizerState with HTMLTokenizer and moving the enum.
3174         This restores us to the peacefull world pre-NEW_XML.
3175
3176         * html/parser/BackgroundHTMLParser.cpp:
3177         (WebCore::BackgroundHTMLParser::forcePlaintextForTextDocument):
3178         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
3179         * html/parser/HTMLDocumentParser.cpp:
3180         (WebCore::tokenizerStateForContextElement):
3181         (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
3182         (WebCore::HTMLDocumentParser::pumpTokenizer):
3183         * html/parser/HTMLTokenizer.cpp:
3184         (WebCore::isEndTagBufferingState):
3185         (WebCore):
3186         (WebCore::HTMLTokenizer::reset):
3187         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
3188         (WebCore::HTMLTokenizer::nextToken):
3189         (WebCore::HTMLTokenizer::updateStateFor):
3190         * html/parser/HTMLTokenizer.h:
3191         (HTMLTokenizer):
3192         (WebCore::HTMLTokenizer::create):
3193         (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
3194         (WebCore::HTMLTokenizer::emitEndOfFile):
3195         * html/parser/HTMLTreeBuilder.cpp:
3196         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3197         (WebCore::HTMLTreeBuilder::processEndTag):
3198         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3199         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3200         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3201         * html/parser/TextViewSourceParser.cpp:
3202         (WebCore::TextViewSourceParser::TextViewSourceParser):
3203
3204 2013-02-11  Kentaro Hara  <haraken@chromium.org>
3205
3206         Build fix after r142528
3207         https://bugs.webkit.org/show_bug.cgi?id=109520
3208
3209         Reviewed by Eric Seidel.
3210
3211         r142528 changed GIFImageReader from a struct to a class.
3212         We also need to fix a forward declaration.
3213
3214         No tests.
3215
3216         * platform/image-decoders/gif/GIFImageDecoder.h:
3217
3218 2013-02-11  Nico Weber  <thakis@chromium.org>
3219
3220         Remove web intents code
3221         https://bugs.webkit.org/show_bug.cgi?id=109501
3222
3223         Reviewed by Eric Seidel.
3224
3225         See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.
3226
3227         * DerivedSources.make:
3228         * Modules/intents/DOMWindowIntents.cpp: Removed.
3229         * Modules/intents/DOMWindowIntents.h: Removed.
3230         * Modules/intents/DOMWindowIntents.idl: Removed.
3231         * Modules/intents/DeliveredIntent.cpp: Removed.
3232         * Modules/intents/DeliveredIntent.h: Removed.
3233         * Modules/intents/DeliveredIntent.idl: Removed.
3234         * Modules/intents/Intent.cpp: Removed.
3235         * Modules/intents/Intent.h: Removed.
3236         * Modules/intents/Intent.idl: Removed.
3237         * Modules/intents/IntentRequest.cpp: Removed.
3238         * Modules/intents/IntentRequest.h: Removed.
3239         * Modules/intents/IntentResultCallback.h: Removed.
3240         * Modules/intents/IntentResultCallback.idl: Removed.
3241         * Modules/intents/NavigatorIntents.cpp: Removed.
3242         * Modules/intents/NavigatorIntents.h: Removed.
3243         * Modules/intents/NavigatorIntents.idl: Removed.
3244         * WebCore.gyp/WebCore.gyp:
3245         * WebCore.gypi:
3246         * bindings/generic/RuntimeEnabledFeatures.cpp:
3247         (WebCore):
3248         * bindings/generic/RuntimeEnabledFeatures.h:
3249         (RuntimeEnabledFeatures):
3250         * bindings/v8/custom/V8IntentCustom.cpp: Removed.
3251         * html/HTMLElementsAllInOne.cpp:
3252         * html/HTMLIntentElement.cpp: Removed.
3253         * html/HTMLIntentElement.h: Removed.
3254         * html/HTMLIntentElement.idl: Removed.
3255         * loader/EmptyClients.cpp:
3256         * loader/EmptyClients.h:
3257         (EmptyFrameLoaderClient):
3258         * loader/FrameLoaderClient.h:
3259         (WebCore):
3260         * page/DOMWindow.idl:
3261
3262 2013-02-11  Eric Seidel  <eric@webkit.org>
3263
3264         Fix Mac build after http://trac.webkit.org/changeset/142535.
3265
3266         Unreviewed build fix.
3267
3268         * html/parser/HTMLTokenizer.h:
3269         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
3270
3271 2013-02-11  David Farler  <dfarler@apple.com>
3272
3273         Make WebCore Derived Sources work with SDK identifiers too
3274         https://bugs.webkit.org/show_bug.cgi?id=109324
3275
3276         Reviewed by Sam Weinig.
3277
3278         * WebCore.xcodeproj/project.pbxproj: Pass SDKROOT to make for DerivedSources.make
3279
3280 2013-02-11  Zhenyao Mo  <zmo@google.com>
3281
3282         WEBGL_compressed_texture_s3tc extension can be enabled even when not supported
3283         https://bugs.webkit.org/show_bug.cgi?id=109508
3284
3285         Reviewed by Kenneth Russell.
3286
3287         * html/canvas/WebGLRenderingContext.cpp:
3288         (WebCore):
3289         (WebCore::WebGLRenderingContext::getExtension): Check whether the extension support is there before returning the extension pointer.
3290
3291 2013-02-11  Emil A Eklund  <eae@chromium.org>
3292
3293         Change RenderFrameSet::paint to use m-rows/m_cols directly.
3294         https://bugs.webkit.org/show_bug.cgi?id=108503
3295
3296         Reviewed by Eric Seidel.
3297
3298         Test: fast/frames/invalid-frameset.html
3299
3300         * rendering/RenderFrameSet.cpp:
3301         (WebCore::RenderFrameSet::paint):
3302
3303 2013-02-11  Yong Li  <yoli@rim.com>
3304
3305         XMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnecessary
3306         https://bugs.webkit.org/show_bug.cgi?id=105348
3307
3308         Reviewed by Alexey Proskuryakov.
3309
3310         Let resume() clear the defer flag and return if there is deferred events to dispatch.
3311
3312         No new tests as this should not affect existing cross-platform behavior. It should be
3313         OK as long as it doesn't break anything.
3314
3315         * xml/XMLHttpRequestProgressEventThrottle.cpp:
3316         (WebCore::XMLHttpRequestProgressEventThrottle::resume):
3317
3318 2013-02-11  Eric Seidel  <eric@webkit.org>
3319
3320         Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
3321         https://bugs.webkit.org/show_bug.cgi?id=109499
3322
3323         Reviewed by Adam Barth.
3324
3325         For great justice.  And sanity.
3326         Epic amount of template code deleted.
3327
3328         * GNUmakefile.list.am:
3329         * Target.pri:
3330         * WebCore.gypi:
3331         * WebCore.vcproj/WebCore.vcproj:
3332         * WebCore.vcxproj/WebCore.vcxproj:
3333         * WebCore.vcxproj/WebCore.vcxproj.filters:
3334         * WebCore.xcodeproj/project.pbxproj:
3335         * html/parser/HTMLTokenizer.cpp:
3336         (WebCore::HTMLTokenizer::HTMLTokenizer):
3337         * html/parser/HTMLTokenizer.h:
3338         (HTMLTokenizer):
3339         (Checkpoint):
3340         (WebCore::HTMLTokenizer::state):
3341         (WebCore::HTMLTokenizer::setState):
3342         (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
3343         (WebCore::HTMLTokenizer::bufferCharacter):
3344         (WebCore::HTMLTokenizer::emitAndResumeIn):
3345         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
3346         (WebCore::HTMLTokenizer::emitEndOfFile):
3347         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
3348         * xml/parser/MarkupTokenizerBase.h: Removed.
3349
3350 2013-02-11  Anton Vayvod  <avayvod@chromium.org>
3351
3352         [Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
3353         a change to follow.
3354         https://bugs.webkit.org/show_bug.cgi?id=109054
3355
3356         Preparational change to combine narrow descendants of the same autosizing cluster into
3357         groups by the width difference between the descendant and the block containing all text of
3358         the parent autosizing cluster. The groups will be autosized with the same multiplier.
3359
3360         For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
3361         a large margin individually applied (via a CSS selector), causing them all to individually
3362         appear narrower than their enclosing blockContainingAllText. Rather than making each of
3363         these paragraphs into a separate cluster, we eventually want to be able to merge them back
3364         together into one (or a few) descendant clusters.
3365
3366         Reviewed by Julien Chaffraix.
3367
3368         No behavioral changes thus no new tests or test changes.
3369
3370         * rendering/TextAutosizer.cpp:
3371         (TextAutosizingClusterInfo): Vector of narrow descendants.
3372         (WebCore::TextAutosizer::processCluster): Process narrow descendants separately.
3373         (WebCore::TextAutosizer::processContainer):
3374
3375             Remember narrow descendants of the parent cluster for later processing.
3376
3377 2013-02-11  Enrica Casucci  <enrica@apple.com>
3378
3379         Add ENABLE_DELETION_UI to control the use of the deletion UI.
3380         https://bugs.webkit.org/show_bug.cgi?id=109463.
3381
3382         Reviewed by Ryosuke Niwa.
3383         
3384         This patch adds #if ENABLE(DELETION_UI) in every spot where
3385         DeleteButtonController is used. This class is now only instantiated
3386         if the feature is enabled. I've also done some cleanup in the
3387         DeleteButtonController class, removing unused methods and making
3388         private some methods only used internally to the class.
3389         Both DeleteButtonController and DeleteButton classes are now excluded
3390         from the compilation if the feature is not enabled.
3391
3392         No new tests, no change of functionality.
3393
3394         * dom/ContainerNode.cpp:
3395         (WebCore::ContainerNode::cloneChildNodes):
3396         * editing/CompositeEditCommand.cpp:
3397         (WebCore::EditCommandComposition::unapply):
3398         (WebCore::EditCommandComposition::reapply):
3399         (WebCore::CompositeEditCommand::apply):
3400         * editing/DeleteButton.cpp:
3401         * editing/DeleteButtonController.cpp:
3402         * editing/DeleteButtonController.h: Some cleanup.
3403         (WebCore::DeleteButtonController::enabled): Made private.
3404         * editing/EditCommand.cpp:
3405         (WebCore::EditCommand::EditCommand):
3406         * editing/Editor.cpp:
3407         (WebCore::Editor::notifyComponentsOnChangedSelection):
3408         (WebCore::Editor::Editor):
3409         (WebCore::Editor::rangeForPoint):
3410         (WebCore::Editor::deviceScaleFactorChanged):
3411         * editing/Editor.h:
3412         * editing/htmlediting.cpp: avoidIntersectionWithNode is
3413         used only if the feature is enabled.
3414         * editing/htmlediting.h:
3415         * editing/markup.cpp:
3416         (WebCore::createMarkup):
3417         (WebCore::createFragmentFromNodes):
3418         * rendering/RenderTable.cpp: Removed unnecessary include
3419         fo DeleteButtonController.h
3420
3421 2013-02-11  Rafael Weinstein  <rafaelw@chromium.org>
3422
3423         [HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
3424         https://bugs.webkit.org/show_bug.cgi?id=109338
3425
3426         Reviewed by Adam Barth.
3427
3428         This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
3429         is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.
3430
3431         Tests added to html5lib.
3432
3433         * html/parser/HTMLTreeBuilder.cpp:
3434         (WebCore):
3435         (WebCore::HTMLTreeBuilder::popAllTemplates):
3436         (WebCore::HTMLTreeBuilder::processEndTag):
3437         (WebCore::HTMLTreeBuilder::processEndOfFile):
3438         * html/parser/HTMLTreeBuilder.h:
3439         (HTMLTreeBuilder):
3440
3441 2013-02-11  Andreas Kling  <akling@apple.com>
3442
3443         RenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
3444         <http://webkit.org/b/109354>
3445
3446         Reviewed by Eric Seidel.
3447
3448         254 KB progression on Membuster3.
3449
3450         * rendering/RenderText.cpp:
3451         (WebCore::RenderText::isAllCollapsibleWhitespace):