Get the incomplete WebVTT Regions code to build again.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-11  Brent Fulgham  <bfulgham@apple.com>
2
3         Get the incomplete WebVTT Regions code to build again.
4         https://bugs.webkit.org/show_bug.cgi?id=130094
5
6         Reviewed by Eric Carlson.
7
8         The feature is not being turned on here, so there are no new tests.
9
10         * DerivedSources.make: Add missing IDL files for Regions.
11         * WebCore.xcodeproj/project.pbxproj: Add Regions-related files.
12         * html/track/InbandWebVTTTextTrack.cpp:
13         (WebCore::InbandWebVTTTextTrack::newRegionsParsed): Add stub implementation.
14         * html/track/LoadableTextTrack.cpp: Add missing include file.
15         * html/track/TextTrack.cpp:
16         (WebCore::TextTrack::TextTrack): Correct ordering of construction
17         to avoid compiler warning.
18
19 2014-03-11  Ryuan Choi  <ryuan.choi@samsung.com>
20
21         Remove unused method from BatteryController
22         https://bugs.webkit.org/show_bug.cgi?id=130063
23
24         Reviewed by Darin Adler.
25
26         * Modules/battery/BatteryController.h: Removed client() which is not used.
27
28 2014-03-11  Krzysztof Czech  <k.czech@samsung.com>
29
30         [ATK] Expose aria-posinset and aria-setsize through object attributes
31         https://bugs.webkit.org/show_bug.cgi?id=130011
32
33         Reviewed by Chris Fleizach.
34
35         Based on http://www.w3.org/TR/2014/PR-wai-aria-implementation-20140206/
36         aria-poinset and aria-setsize can be exposed as object attributes.
37
38         Test: accessibility/aria-setsize-posinset.html
39
40         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
41         (webkitAccessibleGetAttributes):
42
43 2014-03-10  Frédéric Wang  <fred.wang@free.fr>
44
45         Improve renderer classes for MathML Token elements.
46         https://bugs.webkit.org/show_bug.cgi?id=124838
47
48         Reviewed by Chris Fleizach.
49
50         This patch continues the refactoring of token elements that has been
51         started in bug 44208. The <mo> element now derives from the
52         RenderMathMLToken class, which was already used for the <mi> element.
53         The behavior of anonymous <mo> elements created by the <mfenced> element
54         is now more consistent with the one of "standard" <mo> elements and the
55         spacing around them is now handled in RenderMathMLOperator. This is a
56         first step towards fixing bugs 115787 and 118843. The only visible
57         rendering change is how <mfenced> open/close attributes handle
58         whitespace and multiple characters and some tests are added for that.
59         Other features are already covered by other tests. Finally, this also
60         removes some code from AccessibilityRenderObject that was used to
61         workaround issues with <mo> elements.
62
63         * accessibility/AccessibilityRenderObject.cpp:
64         (WebCore::startOfContinuations):
65         (WebCore::AccessibilityRenderObject::textUnderElement):
66         (WebCore::AccessibilityRenderObject::isMathOperator):
67         (WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):
68         * mathml/MathMLTextElement.cpp:
69         (WebCore::MathMLTextElement::didAttachRenderers):
70         (WebCore::MathMLTextElement::childrenChanged):
71         * rendering/mathml/RenderMathMLBlock.cpp:
72         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
73         * rendering/mathml/RenderMathMLBlock.h:
74         * rendering/mathml/RenderMathMLFenced.cpp:
75         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
76         (WebCore::RenderMathMLFenced::updateFromElement):
77         (WebCore::RenderMathMLFenced::createMathMLOperator):
78         (WebCore::RenderMathMLFenced::makeFences):
79         (WebCore::RenderMathMLFenced::addChild):
80         * rendering/mathml/RenderMathMLFenced.h:
81         * rendering/mathml/RenderMathMLOperator.cpp:
82         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
83         (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
84         (WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
85         (WebCore::RenderMathMLOperator::SetOperatorProperties):
86         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
87         (WebCore::RenderMathMLOperator::rebuildTokenContent):
88         (WebCore::RenderMathMLOperator::updateTokenContent):
89         (WebCore::RenderMathMLOperator::updateStyle):
90         (WebCore::RenderMathMLOperator::firstLineBaseline):
91         (WebCore::RenderMathMLOperator::paint):
92         (WebCore::RenderMathMLOperator::paintChildren):
93         * rendering/mathml/RenderMathMLOperator.h:
94         * rendering/mathml/RenderMathMLToken.cpp:
95         (WebCore::RenderMathMLToken::createWrapperIfNeeded):
96
97 2014-03-10  James Craig  <jcraig@apple.com>
98
99         Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
100         https://bugs.webkit.org/show_bug.cgi?id=129781
101
102         Reviewed by Joseph Pecoraro.
103
104         Enabling several more properties to be exposed in the Accessibility Node Inspector.
105
106         Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
107
108         * accessibility/AccessibilityObject.cpp:
109         (WebCore::AccessibilityObject::supportsChecked):
110         * accessibility/AccessibilityObject.h:
111         * inspector/InspectorDOMAgent.cpp:
112         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
113         * inspector/protocol/DOM.json:
114
115 2014-03-10  Bem Jones-Bey  <bjonesbe@adobe.com>
116
117         [CSS Shapes] inset corner radii are not flipped for vertical writing modes
118         https://bugs.webkit.org/show_bug.cgi?id=129918
119
120         Reviewed by Dean Jackson.
121
122         When creating an inset shape, convert the radii to logical coordinates
123         as well as the box.
124
125         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html
126                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html
127
128         * rendering/shapes/Shape.cpp:
129         (WebCore::Shape::createShape): Convert the radii to logical
130             coordinates.
131
132 2014-03-10  Joseph Pecoraro  <pecoraro@apple.com>
133
134         Web Inspector: Frontend loaded resources from cache are not hidden as expected
135         https://bugs.webkit.org/show_bug.cgi?id=130044
136
137         Reviewed by Timothy Hatcher.
138
139         * loader/FrameLoader.cpp:
140         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
141         Use the new request that was passed in. Assume it is filled in appropriately.
142
143         * loader/cache/CachedResourceLoader.h:
144         * loader/cache/CachedResourceLoader.cpp:
145         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
146         Carry over the hidden from inspector state if the passed in request had it,
147         and create the request that loadedResourceFromMemoryCache will use.
148
149         * xml/XMLHttpRequest.cpp:
150         (WebCore::XMLHttpRequest::createRequest):
151         Add missing ifdefs for INSPECTOR only function.
152
153 2014-03-10  Jinwoo Song  <jinwoo7.song@samsung.com>
154
155         Remove 'visibilitychange' attribute event listener from document
156         https://bugs.webkit.org/show_bug.cgi?id=129794
157
158         Reviewed by Simon Fraser.
159
160         Remove the unused attribute event listener which is not defined in Page Visibility API spec.
161         http://www.w3.org/TR/page-visibility/#sec-document-interface
162
163         * dom/Document.h:
164
165 2014-03-10  Benjamin Poulain  <bpoulain@apple.com>
166
167         [iOS][WebKit 2] Wire the unobscured rect in the WebProcess
168         https://bugs.webkit.org/show_bug.cgi?id=130058
169
170         Reviewed by Simon Fraser.
171
172         * WebCore.exp.in:
173         * platform/ScrollView.h:
174         * platform/ios/ScrollViewIOS.mm:
175         (WebCore::ScrollView::unobscuredContentRect):
176         (WebCore::ScrollView::setUnobscuredContentRect):
177
178 2014-03-10  Benjamin Poulain  <bpoulain@apple.com>
179
180         makeSelectorPseudoTypeMap.py should not be copied in the WebCore bundle
181
182         * WebCore.xcodeproj/project.pbxproj:
183
184 2014-03-10  Mario Sanchez Prada  <mario.prada@samsung.com>
185
186         [GTK] Add support for Geoclue2
187         https://bugs.webkit.org/show_bug.cgi?id=120185
188
189         Reviewed by Carlos Garcia Campos.
190
191         Patch by Anton Obzhirov <a.obzhirov@samsung.com> and Mario Sanchez Prada <mario.prada@samsung.com>
192
193         Implement a new geolocation provider based on Geoclue2, which will only
194         be used if a good enough version of Geoclue2 is found  at configure time.
195
196         * GNUmakefile.am: Generate C-API for accessing the D-Bus API
197         provided by Geoclue2, and place it in DerivedSources.
198         * GNUmakefile.list.am: Add GeolocationProviderGeoclue2.cpp, and
199         include the generated proxy files when using Geoclue2.
200         * PlatformGTK.cmake: Likewise, for CMake based builds.
201         * platform/geoclue/GeolocationProviderGeoclue.h: Modified to
202         accomodate the needs both for Geoclue and Geoclue2 providers.
203         * platform/geoclue/GeolocationProviderGeoclue1.cpp: Renamed from Source/WebCore/platform/geoclue/GeolocationProviderGeoclue.cpp.
204         (GeolocationProviderGeoclue::getPositionCallback):
205         (GeolocationProviderGeoclue::positionChangedCallback):
206         (GeolocationProviderGeoclue::createGeocluePositionCallback):
207         (GeolocationProviderGeoclue::geoclueClientSetRequirementsCallback):
208         (GeolocationProviderGeoclue::createGeoclueClientCallback):
209         (GeolocationProviderGeoclue::GeolocationProviderGeoclue):
210         (GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
211         (GeolocationProviderGeoclue::startUpdating):
212         (GeolocationProviderGeoclue::stopUpdating):
213         (GeolocationProviderGeoclue::setEnableHighAccuracy):
214         (GeolocationProviderGeoclue::initializeGeoclueClient):
215         (GeolocationProviderGeoclue::initializeGeocluePosition):
216         (GeolocationProviderGeoclue::updateClientRequirements):
217         (GeolocationProviderGeoclue::positionChanged):
218         (GeolocationProviderGeoclue::errorOccurred):
219         * platform/geoclue/GeolocationProviderGeoclue2.cpp: Added.
220         (GeolocationProviderGeoclue::GeolocationProviderGeoclue):
221         (GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
222         (GeolocationProviderGeoclue::startUpdating):
223         (GeolocationProviderGeoclue::stopUpdating):
224         (GeolocationProviderGeoclue::setEnableHighAccuracy):
225         (GeolocationProviderGeoclue::createGeoclueManagerProxyCallback):
226         (GeolocationProviderGeoclue::getGeoclueClientCallback):
227         (GeolocationProviderGeoclue::createGeoclueClientProxyCallback):
228         (GeolocationProviderGeoclue::startClientCallback):
229         (GeolocationProviderGeoclue::locationUpdatedCallback):
230         (GeolocationProviderGeoclue::createLocationProxyCallback):
231         (GeolocationProviderGeoclue::startGeoclueClient):
232         (GeolocationProviderGeoclue::updateLocation):
233         (GeolocationProviderGeoclue::errorOccurred):
234         (GeolocationProviderGeoclue::updateClientRequirements):
235
236 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
237
238         Unreviewed Windows Build Fix.
239
240         * WebCore.vcxproj/WebCore.vcxproj: Don't build cURL files for Apple Windows port.
241         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
242         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
243         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): Correct
244         method signature to match base class.
245         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Use proper character encoding.
246
247 2014-03-10  Simon Fraser  <simon.fraser@apple.com>
248
249         Fix three leaks
250         https://bugs.webkit.org/show_bug.cgi?id=130048
251
252         Reviewed by Anders Carlsson.
253
254         The NSDictionary was leaked.
255
256         * page/ios/UserAgentIOS.mm:
257         (WebCore::osMarketingVersion):
258
259 2014-03-10  Beth Dakin  <bdakin@apple.com>
260
261         Set background color of WK2's UIScrollView to the pageExtendedBackgroundColor
262         https://bugs.webkit.org/show_bug.cgi?id=129919
263
264         Reviewed by Benjamin Poulain.
265
266         WK2 needs to be able to ask for the pageExtendedBackgroundColor, so this patch 
267         adds a function to Page that will return it
268
269         * WebCore.exp.in:
270         * page/Page.cpp:
271         (WebCore::Page::pageExtendedBackgroundColor):
272         * page/Page.h:
273         * rendering/RenderLayerCompositor.h:
274         (WebCore::RenderLayerCompositor::rootExtendedBackgroundColor):
275
276 2014-03-10  Benjamin Poulain  <bpoulain@apple.com>
277
278         Generalize unobscured rect to all ports
279         https://bugs.webkit.org/show_bug.cgi?id=130036
280
281         Reviewed by Simon Fraser.
282
283         iOS differentiates visible content and unobscured content. This patch moves the concept to all
284         ports to remove the #ifdefs from the call sites.
285
286         On everything but iOS, unobscuredRect and visibleRect are the same.
287
288         * WebCore.exp.in:
289         * page/DOMWindow.cpp:
290         (WebCore::DOMWindow::innerHeight):
291         (WebCore::DOMWindow::innerWidth):
292         * page/SpatialNavigation.cpp:
293         (WebCore::canScrollInDirection):
294         * platform/ScrollView.cpp:
295         (WebCore::ScrollView::updateScrollbars):
296         (WebCore::ScrollView::paint):
297         * platform/ScrollView.h:
298         (WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
299         (WebCore::ScrollView::unobscuredContentRect):
300         * rendering/RenderView.cpp:
301         (WebCore::RenderView::viewportSize):
302
303 2014-03-10  Benjamin Poulain  <benjamin@webkit.org>
304
305         Start splitting CSS Selectors's pseudo types
306         https://bugs.webkit.org/show_bug.cgi?id=130003
307
308         Reviewed by Andreas Kling.
309
310         CSS Selectors pseudo types come in 3 flavors: page, pseudo class, pseudo elements.
311
312         The three types are mixed together in a single enum list named PseudoType. Only some combinations
313         of match type + pseudo type are valid, but this is implicitly defined from the code.
314
315         This patch is the beginning of a refactoring to add more clear boundaries between
316         valid and invalid combinations.
317
318         First, the handling of page pseudo types is completely split from the other values.
319         The parser use a different method for handling the value CSSParserSelector::parsePagePseudoSelector().
320
321         PagePseudo types no longer store their string in the CSSSelector either to reduce the redundancy
322         with m_pseudoType.
323         When we need to generate the string for those CSSSelector, we recreate the string as needed in
324         CSSSelector::selectorText().
325
326         The remaining two types are not yet split in this patch but this introduce the preliminary clean up
327         toward that goal.
328         The list of parsed pseudo types is now generated at compile time from the source in SelectorPseudoTypeMap.in.
329
330         * DerivedSources.make:
331         The mapping of strings to pseudo types is generated from SelectorPseudoTypeMap.in
332         by the new script makeSelectorPseudoTypeMap.py.
333
334         * WebCore.xcodeproj/project.pbxproj:
335         * css/CSSGrammar.y.in:
336         Split the parsing of Pseudo Types. Pseudo page get its own method. The others will need some work.
337
338         * css/CSSParserValues.cpp:
339         (WebCore::CSSParserSelector::parsePagePseudoSelector):
340         (WebCore::CSSParserSelector::setPseudoTypeValue):
341         * css/CSSParserValues.h:
342         * css/CSSSelector.cpp:
343         (WebCore::CSSSelector::specificityForPage):
344         This is an example of invalid combination that is hidden by the current code.
345         First, Left and Right could never appear in a pseudo class match.
346         (WebCore::CSSSelector::pseudoId):
347         (WebCore::CSSSelector::parsePseudoType):
348         (WebCore::appendPseudoTypeTailIfNecessary):
349         (WebCore::CSSSelector::selectorText):
350         * css/CSSSelector.h:
351         (WebCore::CSSSelector::pseudoType):
352         (WebCore::CSSSelector::matchesPseudoElement):
353         (WebCore::CSSSelector::setValue):
354         (WebCore::CSSSelector::CSSSelector):
355         * css/PageRuleCollector.cpp:
356         (WebCore::checkPageSelectorComponents):
357         * css/SelectorChecker.cpp:
358         (WebCore::SelectorChecker::checkOne):
359         * css/SelectorPseudoTypeMap.h: Added.
360         * css/SelectorPseudoTypeMap.in: Added.
361         * css/makeSelectorPseudoTypeMap.py: Added.
362         (enumerablePseudoType):
363         (expand_ifdef_condition):
364         * cssjit/SelectorCompiler.cpp:
365         (WebCore::SelectorCompiler::addPseudoType):
366
367 2014-03-10  Enrica Casucci  <enrica@apple.com>
368
369         iOS build fix after http://trac.webkit.org/changeset/165385
370
371         Unreviewed.
372
373         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
374         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
375
376 2014-03-10  Daniel Bates  <dabates@apple.com>
377
378         REGRESSION (r159218): FrameView::layout() should destroy TemporaryChange<LayoutPhase>
379         before destroying Ref<FrameView>
380         https://bugs.webkit.org/show_bug.cgi?id=130034
381         <rdar://problem/15664288>
382
383         Reviewed by Alexey Proskuryakov.
384
385         We should always destroy TemporaryChange<LayoutPhase> before destroying Ref<FrameView>
386         in FrameView::layout() so as to ensure that the FrameView exists when we restore the
387         original layout phase value.
388
389         The existing test fast/frames/crash-remove-iframe-during-object-beforeload.html covers
390         this change. Although you must run the test with Guard Malloc enabled (i.e. run-webkit-tests -r).
391
392         * page/FrameView.cpp:
393         (WebCore::FrameView::layout): Move construction of variable protect before the construction of
394         variable layoutPhaseRestorer. Additionally, add a period to the end of the comment associated
395         with variable protect.
396
397 2014-03-10  Zsolt Borbely  <borbezs@inf.u-szeged.hu>
398
399         ASSERTION FAILED: span >= 1
400         https://bugs.webkit.org/show_bug.cgi?id=129148
401
402         Reviewed by Andreas Kling.
403
404         Set the value of span to 1 if the given number is too big or zero.
405
406         Test: fast/table/incorrect-colgroup-span-values.html
407
408         * html/HTMLTableColElement.cpp:
409         (WebCore::HTMLTableColElement::parseAttribute):
410
411 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
412
413         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
414         https://bugs.webkit.org/show_bug.cgi?id=130023.
415
416         Reviewed by Dean Jackson.
417
418         * WebCore.vcxproj/WebCore.proj: Avoid trailing slashes in path values to
419         prevent escaping during later string substitution.
420
421 2014-03-10  Radu Stavila  <stavila@adobe.com>
422
423         [CSS Regions] Hit-testing is not working properly inside scrollable regions
424         https://bugs.webkit.org/show_bug.cgi?id=130015
425
426         Reviewed by Antti Koivisto.
427
428         When hit-testing inside the flow thread's layer, the scrolled offset
429         of the current region must be taken into consideration.
430
431         Test: fast/regions/scrollable-regions-hit-testing-inside.html
432
433         * rendering/RenderLayer.cpp:
434         (WebCore::RenderLayer::calculateClipRects):
435
436 >>>>>>> .r165392
437 2014-03-10  Hans Muller  <hmuller@adobe.com>
438
439         [CSS Shapes] SVG Image valued shape fails if root element's size is relative
440         https://bugs.webkit.org/show_bug.cgi?id=128983
441
442         Reviewed by Simon Fraser.
443
444         When creating a shape based on an Image, compute its dimensions using
445         RenderBoxModelObject::calculateImageIntrinsicDimensions(), then set the
446         ImageResource's containerSize, and then use imageForRenderer() to get the
447         image to be drawn. The first step resolves SVG Image relative sizes, the
448         second step creates and caches an SVGImageForContainer with the correct
449         containerSize, and the last step retrieves the SVGImageForContainer.
450
451         Test: fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html
452
453         * rendering/RenderBoxModelObject.h: Publicized calculateImageIntrinsicDimensions() and its enum.
454         * rendering/shapes/Shape.cpp:
455         (WebCore::Shape::createRasterShape):
456         * rendering/shapes/Shape.h:
457         * rendering/shapes/ShapeInfo.cpp:
458         (WebCore::getShapeImageAndRect):
459         (WebCore::ShapeInfo<RenderType>::computedShape):
460
461 2014-03-10  Darin Adler  <darin@apple.com>
462
463         TextIterator: Use StringView and references rather than pointers
464         https://bugs.webkit.org/show_bug.cgi?id=129975
465
466         Reviewed by Anders Carlsson.
467
468         TextIterator refinements:
469         - Use StringView instead of deprecatedCharacters to point to characters within strings.
470         - Added TextIteratorCopyableText, a safe way to copy the current text of a TextIterator,
471           for use by WordAwareIterator.
472         - Removed m_shouldStop; iterators stop by setting m_positionNode to null, and there is no
473           need for a separate boolean to do the same thing.
474         - Got rid of all the boolean data members set based on the text iterator behavior; instead
475           store the behavior in a data member and check it directly.
476         - Changed most functions to use references rather than pointers.
477         - Small micro-optimizations, such as using fastGetAttribute rather than getAttribute.
478         - Switched to nullptr instead of 0 where appropriate.
479         - Removed unused functions.
480         - Cut down on use of abbreviations instead of words.
481         - Renamed data members and argument names for clarity.
482         - Split up assertions that needlessly asserted more than one thing in a single expression.
483         - Treat CDATASection just like other Text, since its text will be visible.
484
485         * editing/Editor.cpp:
486         (WebCore::Editor::advanceToNextMisspelling): Pass reference rather than pointer.
487         (WebCore::Editor::rangeOfString): Ditto.
488         (WebCore::Editor::countMatchesForText): Ditto.
489         * editing/TextCheckingHelper.cpp:
490         (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto.
491
492         * editing/TextIterator.cpp:
493         (WebCore::depthCrossingShadowBoundaries): Take a reference rather than a pointer.
494         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
495         (WebCore::fullyClipsContents): Ditto.
496         (WebCore::ignoresContainerClip): Ditto.
497         (WebCore::pushFullyClippedState): Ditto.
498         (WebCore::setUpFullyClippedStack): Ditto.
499         (WebCore::isRendererReplacedElement): Use references rather than pointers in the
500         implementation. Also use fastGetAttribute instead of getAttribute.
501         (WebCore::TextIteratorCopyableText::reset): Added.
502         (WebCore::TextIteratorCopyableText::set): Added.
503         (WebCore::TextIteratorCopyableText::appendToStringBuilder): Added.
504         (WebCore::TextIterator::TextIterator): Use more initialization rather than assignment.
505         Got rid of some local variables.
506         (WebCore::TextIterator::advance): Removed the m_shouldStop boolean, uneeded.
507         Many other improvements. Use isTextNode instead of nodeType.
508         (WebCore::hasVisibleTextNode): Changed this into a file-private helper function
509         instead of a member function.
510         (WebCore::TextIterator::handleTextNode): Used references and cut down on type casts.
511         Gave local variables clearer names.
512         (WebCore::TextIterator::handleTextBox): More of the same.
513         (WebCore::TextIterator::handleTextNodeFirstLetter): Ditto.
514         (WebCore::TextIterator::handleReplacedElement): Ditto.
515         (WebCore::shouldEmitTabBeforeNode): Ditto.
516         (WebCore::hasHeaderTag): Added.
517         (WebCore::shouldEmitNewlinesBeforeAndAfterNode): More of the same.
518         (WebCore::shouldEmitNewlineAfterNode): Ditto.
519         (WebCore::shouldEmitNewlineBeforeNode): Ditto.
520         (WebCore::shouldEmitExtraNewlineForNode): Ditto.
521         (WebCore::collapsedSpaceLength): Use StringImpl directly instead of using the
522         deprecatedCharacters function.
523         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): More like above.
524         (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): Ditto.
525         (WebCore::TextIterator::representNodeOffsetZero): Ditto.
526         (WebCore::TextIterator::handleNonTextNode): Ditto.
527         (WebCore::TextIterator::exitNode): Ditto.
528         (WebCore::TextIterator::emitCharacter): Changed to use the new copyable text class
529         instead of managing the single character buffer directly here.
530         (WebCore::TextIterator::emitText): Changed to take a Text& and use the copyable text
531         class. Added a FIXME about a mistake I noticed.
532         (WebCore::TextIterator::range): Streamlined and simplified a bit. Updated data
533         member names to be a bit clearer. This function never returned null before, but there
534         was a code path that looked like it would; I removed that.
535         (WebCore::TextIterator::node): Removed unneeded null checks; the range function will
536         never return a range of null or one with null for a start container.
537         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): More
538         like above.
539         (WebCore::SimplifiedBackwardsTextIterator::advance): Reorganized a bit and removed
540         m_shouldStop.
541         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): More of the same.
542         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Ditto.
543         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
544         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
545         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
546         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
547         (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): Ditto.
548         (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
549         (WebCore::CharacterIterator::CharacterIterator): Ditto.
550         (WebCore::CharacterIterator::range): Ditto. No need for ASSERT_NO_EXCEPTION.
551         (WebCore::CharacterIterator::advance): Ditto.
552         (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Ditto.
553         (WebCore::BackwardsCharacterIterator::range): Ditto.
554         (WebCore::BackwardsCharacterIterator::advance): Ditto.
555         (WebCore::WordAwareIterator::WordAwareIterator): Ditto.
556         (WebCore::WordAwareIterator::advance): Use copyableText for m_previousText, fixing
557         the FIXME that I wrote in here before.
558         (WebCore::WordAwareIterator::text): Ditto.
559         (WebCore::containsKanaLetters): Changed to quickly return false when the pattern
560         is all Latin-1 rather than expanding to 16-bit just to check.
561         (WebCore::SearchBuffer::SearchBuffer): Iterate the target using the string operator[]
562         instead of using deprecatedCharacters.
563         (WebCore::SearchBuffer::append): Do the folding of quote marks and hyphens one character
564         at a time as we move characters into the buffer instead of in a separate loop.
565         (WebCore::TextIterator::rangeLength): Updated for changes eslwehere.
566         (WebCore::TextIterator::subrange): Ditto.
567         (WebCore::isInsideReplacedElement): Ditto. Also streamlined and removed unneeded null check.
568         (WebCore::TextIterator::rangeFromLocationAndLength): Updated for changes elsewhere and
569         removed unneeded ASSERT_NO_EXCEPTION.
570         (WebCore::plainText): Ditto.
571         (WebCore::collapsedToBoundary): Ditto.
572         (WebCore::findPlainText): Ditto.
573
574         * editing/TextIterator.h: Changed many functions to take references instead of pointers.
575         Added TextIteratorCopyableText, to represent the current text in a TextIterator in a form
576         that can be safely copied and used after further iteration. Reorganized member functions so
577         they are in the same order in all the classes. Changed TextIterator to use
578         TextIteratorCopyableText. Removed many unused functions, including:
579         - TextIterator::length
580         - TextIterator::deprecatedTextIteratorCharacters
581         - TextIterator::characterAt
582         - SimplifiedBackwardsTextIterator::length
583         - CharacterIterator::length
584         - CharacterIterator::string
585         - WordAwareIterator::length
586         - WordAwareIterator::range
587
588         * editing/VisibleSelection.cpp:
589         (WebCore::VisibleSelection::appendTrailingWhitespace): Pass reference rather than pointer.
590         Use text().length() instead of length(). Check atEnd() before using CharacterIterator, since
591         iterator member functions don't work when at the end.
592         * editing/VisibleUnits.cpp:
593         (WebCore::previousBoundary): Ditto.
594         (WebCore::nextBoundary): Ditto.
595         * editing/htmlediting.cpp:
596         (WebCore::visiblePositionForIndexUsingCharacterIterator): Ditto.
597         * page/ios/FrameIOS.mm:
598         (WebCore::Frame::indexCountOfWordPrecedingSelection): Ditto.
599         (WebCore::Frame::wordsInCurrentParagraph): Ditto.
600
601 2014-03-10  Martin Robinson  <mrobinson@igalia.com>
602
603         [GTK] [CMake] Clean up library linking
604         https://bugs.webkit.org/show_bug.cgi?id=129782
605
606         Reviewed by Philippe Normand.
607
608         * PlatformGTK.cmake: Some files are duplicated on the source list of two convenience
609         libraries. Ensure that they are all compiled into WebCore instead of WebCorePlatformGTK.
610         Some simply need to be moved to WebCore from WebCorePlatformGTK. Don't try to link
611         WebCorePlatformGTK against WebCore -- convenience libraries should be able to save
612         their symbol resolution for the final linking step.
613
614 2014-03-10  Radu Stavila  <stavila@adobe.com>
615
616         [CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region's padding
617         https://bugs.webkit.org/show_bug.cgi?id=129485
618
619         Reviewed by Andrei Bucur.
620
621         When searching for the region under the mouse pointer (to identify which region to scroll), 
622         the localToAbsolute method must be called on the region container, not the region itself.
623         Also, when calling the offsetFromContainer method on a named flow fragment,
624         it must only take into consideration the border and padding of the fragment container,
625         not its scrolled offset.
626
627         Test: fast/regions/wheel-scrollable-single-region.html
628
629         * rendering/RenderBox.cpp:
630         (WebCore::RenderBox::scroll):
631         * rendering/RenderFlowThread.cpp:
632         * rendering/RenderFlowThread.h:
633         * rendering/RenderNamedFlowFragment.cpp:
634         (WebCore::RenderNamedFlowFragment::offsetFromContainer):
635         * rendering/RenderNamedFlowFragment.h:
636         * rendering/RenderNamedFlowThread.cpp:
637         (WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
638         * rendering/RenderNamedFlowThread.h:
639
640 2014-03-10  Jinwoo Song  <jinwoo7.song@samsung.com>
641
642         Remove unused dispatchStorageEvent() from StorageAreaSync
643         https://bugs.webkit.org/show_bug.cgi?id=129999
644
645         Reviewed by Andreas Kling.
646
647         dispatchStorageEvent() is not used anywhere.
648
649         * storage/StorageAreaSync.h: Remove dispatchStorageEvent().
650
651 2014-03-09  Alexey Proskuryakov  <ap@apple.com>
652
653         iOS build fix.
654
655         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent):
656
657 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
658
659         [Mac] Don't perform a round-trip through WebProcess before interpreting key events
660         https://bugs.webkit.org/show_bug.cgi?id=129812
661
662         Reviewed by Darin Adler.
663
664         No significant behavior changes expected, except for Esc key processing, which now
665         dispatches a keypress before executing its default action.
666
667         * platform/KeypressCommand.h: Added.
668         (WebCore::KeypressCommand::KeypressCommand):
669         * GNUmakefile.list.am:
670         * WebCore.vcxproj/WebCore.vcxproj:
671         * WebCore.vcxproj/WebCore.vcxproj.filters:
672         * WebCore.xcodeproj/project.pbxproj:
673         Moved KeypressCommand from dom/KeyboardEvent.h to its own header, as it needed
674         in platform/ directory now.
675
676         * dom/KeyboardEvent.cpp:
677         (WebCore::KeyboardEvent::KeyboardEvent):
678         * dom/KeyboardEvent.h:
679         (WebCore::KeyboardEvent::handledByInputMethod):
680         (WebCore::KeyboardEvent::keypressCommands):
681         * platform/PlatformKeyboardEvent.h:
682         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
683         (WebCore::PlatformKeyboardEvent::handledByInputMethod):
684         (WebCore::PlatformKeyboardEvent::commands):
685         PlatformKeyboardEvent now carries results of interpreting the event by AppKit. This
686         is logically not much different from carrying charcode, and is similar to what Gtk
687         does for input methods.
688         KeyboardEvent already had keypress commands, which were added to it after construction.
689         It's still possible for WebKit1, while with WebKit2, they are provided at construction
690         time. The event now also has a boolean for whether IM handled it already.
691
692 2014-03-09  Zalan Bujtas  <zalan@apple.com>
693
694         Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
695         https://bugs.webkit.org/show_bug.cgi?id=129985
696
697         Reviewed by Simon Fraser.
698
699         This is in preparation to stop passing integral positioned boxes to transform animations.
700
701         No change in behavior.
702
703         * WebCore.exp.in:
704         * platform/graphics/GraphicsLayer.h:
705         (WebCore::GraphicsLayer::addAnimation):
706         * platform/graphics/ca/GraphicsLayerCA.cpp:
707         (WebCore::getTransformFunctionValue):
708         (WebCore::GraphicsLayerCA::addAnimation):
709         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
710         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
711         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
712         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
713         * platform/graphics/ca/GraphicsLayerCA.h:
714         * rendering/RenderLayerBacking.cpp:
715         (WebCore::RenderLayerBacking::startTransition):
716
717 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
718
719         [iOS Wk2] Can't scroll after going back to page in page cache
720         https://bugs.webkit.org/show_bug.cgi?id=129989
721         <rdar://problem/16217588>
722
723         Reviewed by Dan Bernstein.
724
725         iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
726         function that is called instead of FrameView::forceLayout(). This was unimplemented
727         for the WK2 FrameLoaderClient, so no layout was forced, with the result
728         that the contentSize was never updated and scrolling was broken.
729         
730         Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
731         and having it return a bool to say whether the default forceLayout()
732         should be done. WK1 can then continue to have its custom behavior,
733         and Wk2 will simply do a forceLayout().
734         
735         Also remove FrameLaoderClient::forceLayout(), which was never called.
736
737         * loader/EmptyClients.h:
738         * loader/FrameLoader.cpp:
739         (WebCore::FrameLoader::commitProvisionalLoad):
740         * loader/FrameLoaderClient.h:
741
742 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
743
744         [iOS WK2] Get position:fixed working slighlty better
745         https://bugs.webkit.org/show_bug.cgi?id=129988
746
747         Reviewed by Dan Bernstein.
748
749         On iOS we want to use the viewport-constrained visible rect, not
750         just the visible rect.
751
752         * page/scrolling/AsyncScrollingCoordinator.cpp:
753         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
754
755 2014-03-07  Simon Fraser  <simon.fraser@apple.com>
756
757         [iOS] Don't call scrollOffsetForFixedPosition a second time if we have no header and footer layers
758         https://bugs.webkit.org/show_bug.cgi?id=129912
759
760         Reviewed by Tim Horton.
761
762         Avoid extra work if we have no header or footer layers.
763
764         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
765         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
766
767 2014-03-08  Zalan Bujtas  <zalan@apple.com>
768
769         RenderElement::valueForLength() callers misuse bool parameter.
770         https://bugs.webkit.org/show_bug.cgi?id=129982
771
772         Reviewed by Andreas Kling.
773
774         Remove bogus RenderView* parameter.
775
776         * rendering/RenderBox.cpp:
777         (WebCore::RenderBox::computePercentageLogicalHeight):
778         * rendering/RenderElement.cpp:
779         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
780
781 2014-03-08  Jeremy Jones  <jeremyj@apple.com>
782
783         Allow media element to supply the video layer after fullscreen transition has already begun.
784         https://bugs.webkit.org/show_bug.cgi?id=129870
785
786         Reviewed by Eric Carlson.
787
788         Instead of borrowing the videolayer from the HTMLMediaElement, WebVideoFullscreen now supplies a layer to HTMLMediaElement to fill in as needed and at the appropriate time.
789
790         This allows fullscreen even if the video layer hasn't yet been created. And in the future it allows MediaPlayer to supply other layers such as closed captions. 
791
792         * WebCore.exp.in:
793         Remove exports related to borrowing and lend the video layer.
794         Add exports for supplying a layer to fullscreen and keepying the frame and gravity properties in sync.
795
796         * html/HTMLMediaElement.cpp:
797         Remove the concept of borrowing the platform layer.
798         Add the concept of a supplied m_videoFullscreenLayer, into which the media player can add layers.
799         When the m_videoFullscreenFrame is supplied, don't show the video layer inline any more.
800         Stash video layer properties in case the media player is not yet created.
801
802         (WebCore::HTMLMediaElement::HTMLMediaElement):
803         Initialize gravity to the default. Remove m_platformLayerBorrowed.
804
805         (WebCore::HTMLMediaElement::platformLayer):
806         When we have a m_videoFullscreenLayer, don't show video inline.
807
808         (WebCore::HTMLMediaElement::setVideoFullscreenLayer):
809         Pass along the m_videoFullscreenLayer to the MediaPlayer if available or just stash it for later.
810
811         (WebCore::HTMLMediaElement::createMediaPlayer):
812         Pass along video fullscreen properties that we may have accumulated before the MediaPlayer was created.
813
814         (WebCore::HTMLMediaElement::setVideoFullscreenGravity):
815         Stash the gravity property, pass it along to the media player if possible.
816
817         * html/HTMLMediaElement.h:
818         Remove concept of borrowing the video layer. Add properties for a supplied videoFullscreenLayer.
819
820         * platform/graphics/MediaPlayer.cpp:
821         (WebCore::MediaPlayer::setVideoFullscreenLayer):
822         Forward on to internal implementation.
823
824         (WebCore::MediaPlayer::setVideoFullscreenFrame):
825         Forward on to internal implementation.
826
827         (WebCore::MediaPlayer::setVideoFullscreenGravity):
828         Forward on to internal implementation.
829
830         * platform/graphics/MediaPlayer.h:
831         Add methods for video fullscreen Layer, Frame and Gravity.
832
833         * platform/graphics/MediaPlayerPrivate.h:
834         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenLayer):
835         Add default implementation.
836
837         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenFrame):
838         Add default implementation.
839         
840         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenGravity):
841         Add default implementation.
842         
843         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
844         Add support for fullscreen video layer, frame and gravity.
845
846         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
847         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
848         Init m_videoFullscreenGravity. 
849
850         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
851         Apply cached properties once video layer is created and add to the fullscreen layer.
852
853         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
854         Cache the property value. Add video layer right away available.
855
856         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame):
857         Cache the property value. Apply to video layer right away if available.
858
859         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
860         Cache the property value. Apply to video layer right away if available.
861
862         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
863         Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
864
865         (-[WebVideoFullscreenController enterFullscreen:]):
866         Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
867
868         (-[WebVideoFullscreenController didExitFullscreen]):
869         Clean up the videoFullscreenLayer.
870
871         * platform/ios/WebVideoFullscreenInterface.h:
872         Remove methods related to lending the video layer.
873
874         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
875         Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
876         Remove functions related to lending the video layer.
877         Supply a layer directly to enterFullscreen.
878
879         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
880         (+[WebAVVideoLayer videoLayer]):
881         Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
882
883         (-[WebAVVideoLayer setPlayerController:]):
884         Store the AVPlayerController to prevent AVKit's default behavior.
885
886         (-[WebAVVideoLayer setBounds:]):
887         Forward this onto the WebVideoFullscreenModel
888
889         (-[WebAVVideoLayer setVideoLayerGravity:]):
890         Forward this onto the WebVideoFullscreenModel
891
892         (-[WebAVVideoLayer videoLayerGravity]):
893         Forward this onto the WebVideoFullscreenModel
894
895         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
896         Supply a video layer directly instead of relying on one being previously loaned.
897
898         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
899         Clean-up now assumes there is a video layer.
900
901         * platform/ios/WebVideoFullscreenModel.h:
902         Remove methods for borrowing and returning video layers.
903         Add methods for keeping video layer state in sync.
904
905         * platform/ios/WebVideoFullscreenModelMediaElement.h:
906         Remove methods for borrowing and returning video layers.
907         Add method for supplying a video fullscreen layer.
908         Add methods for keeping video layer state in sync.
909
910         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
911         (WebVideoFullscreenModelMediaElement::setMediaElement):
912         Handle audio element case by setting hasVideo to false.
913
914         (WebVideoFullscreenModelMediaElement::setVideoFullscreenLayer):
915         Pass along the video fullscreen layer to the media element.
916
917         (WebVideoFullscreenModelMediaElement::setVideoLayerFrame):
918         Pass along the video layer frame to the media element.
919
920         (WebVideoFullscreenModelMediaElement::setVideoLayerGravity):
921         Pass along the video layer gravity to the media element.
922
923 2014-03-08  Jae Hyun Park  <jaepark@webkit.org>
924
925         Clean up PlatformLayer.h
926         https://bugs.webkit.org/show_bug.cgi?id=129967
927
928         Reviewed by Martin Robinson.
929
930         * platform/graphics/PlatformLayer.h:
931         Remove duplicated declaration of PlatformLayer when using TextureMapper.
932
933 2014-03-08  Zalan Bujtas  <zalan@apple.com>
934
935         Subpixel rendering: Simple compositing container layer (isSimpleContainerCompositingLayer) paints to wrong position.
936         https://bugs.webkit.org/show_bug.cgi?id=129861
937
938         Reviewed by Simon Fraser.
939
940         This patch ensures that both the simple and non-simple cases paint to the same position.
941         Simple compositing container layer codepath needs to take the fractional device pixel offset
942         into account when painting. Without the fractional value, the final paint rounding could push the
943         paint offset to a different position.
944         retina example:
945         compositing top-left: 0px 0px.
946         fractional offset: 0.3px 0.3px
947         painting coords without offseting: 0px 0px
948                            with offseting: 0.5px 0.5px
949
950         Tests: compositing/hidpi-simple-container-layer-on-device-pixel.html
951
952         * WebCore.exp.in:
953         * platform/graphics/GraphicsLayer.h:
954         (WebCore::GraphicsLayer::contentsRect):
955         (WebCore::GraphicsLayer::setContentsRect):
956         (WebCore::GraphicsLayer::contentsClippingRect):
957         (WebCore::GraphicsLayer::setContentsClippingRect):
958         * platform/graphics/ca/GraphicsLayerCA.cpp:
959         (WebCore::GraphicsLayerCA::setContentsRect):
960         (WebCore::GraphicsLayerCA::setContentsClippingRect):
961         (WebCore::GraphicsLayerCA::updateContentsRects):
962         * platform/graphics/ca/GraphicsLayerCA.h:
963         * rendering/RenderLayerBacking.cpp:
964         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
965         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
966         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
967         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
968         (WebCore::RenderLayerBacking::backgroundBoxForPainting):
969         * rendering/RenderLayerBacking.h:
970
971 2014-03-08  Oliver Hunt  <oliver@apple.com>
972
973         SerializedScriptValue may move Identifiers between worlds
974         https://bugs.webkit.org/show_bug.cgi?id=129979
975
976         Reviewed by Andreas Kling.
977
978         Test: fast/workers/worker-copy-shared-blob-url.html
979
980         Don't use Strings to store blob URLs as String's may be Identifiers
981         and they can only exist in one world/thread at a time.
982
983         * Modules/indexeddb/IDBObjectStore.cpp:
984         (WebCore::IDBObjectStore::put):
985         * bindings/js/SerializedScriptValue.cpp:
986         (WebCore::CloneDeserializer::deserializeString):
987         (WebCore::SerializedScriptValue::addBlobURL):
988         (WebCore::SerializedScriptValue::SerializedScriptValue):
989         * bindings/js/SerializedScriptValue.h:
990
991 2014-03-07  Timothy Hatcher  <timothy@apple.com>
992
993         Load source maps and their resources asynchronously.
994
995         https://bugs.webkit.org/show_bug.cgi?id=112071
996
997         Reviewed by Joseph Pecoraro.
998
999         * inspector/InspectorPageAgent.cpp:
1000         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1001         Honor the hiddenFromInspector flag.
1002
1003         * inspector/InspectorResourceAgent.cpp:
1004         (WebCore::InspectorResourceAgent::willSendRequest):
1005         (WebCore::InspectorResourceAgent::markResourceAsCached):
1006         (WebCore::InspectorResourceAgent::didReceiveResponse):
1007         (WebCore::InspectorResourceAgent::didReceiveData):
1008         (WebCore::InspectorResourceAgent::didFinishLoading):
1009         (WebCore::InspectorResourceAgent::didFailLoading):
1010         (WebCore::InspectorResourceAgent::replayXHR):
1011         (WebCore::InspectorResourceAgent::loadResource):
1012         * inspector/InspectorResourceAgent.h:
1013         Honor the hiddenFromInspector flag by keeping track of
1014         hidden identifiers in a HashSet.
1015
1016         * inspector/protocol/Network.json:
1017         (Network.loadResource): Added.
1018
1019         * platform/network/ResourceRequestBase.h:
1020         (WebCore::ResourceRequestBase::hiddenFromInspector): Added.
1021         (WebCore::ResourceRequestBase::setHiddenFromInspector): Added.
1022         (WebCore::ResourceRequestBase::ResourceRequestBase):
1023         Add a flag to hide the request from the Inspector.
1024
1025         * xml/XMLHttpRequest.cpp:
1026         (WebCore::XMLHttpRequest::XMLHttpRequest):
1027         (WebCore::XMLHttpRequest::sendForInspector): Added.
1028         (WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Renamed.
1029         (WebCore::XMLHttpRequest::createRequest):
1030         * xml/XMLHttpRequest.h:
1031         Make Inspector loads allow cross-origins and hide their request
1032         from the Inspector itself.
1033
1034 2014-03-07  Tim Horton  <timothy_horton@apple.com>
1035
1036         [WebKit2][iOS] PDF
1037         https://bugs.webkit.org/show_bug.cgi?id=129600
1038         <rdar://problem/15260216>
1039
1040         Reviewed by Anders Carlsson.
1041
1042         * WebCore.exp.in:
1043         * platform/MIMETypeRegistry.cpp:
1044         (WebCore::initializeSupportedImageMIMETypes):
1045         (WebCore::initializePDFMIMETypes):
1046         (WebCore::initializePostScriptMIMETypes):
1047         (WebCore::initializeMIMETypeRegistry):
1048         (WebCore::MIMETypeRegistry::getPDFMIMETypes):
1049         * platform/MIMETypeRegistry.h:
1050         Split PDF and PostScript MIME types, so WebKit2 can retrieve just the PDF ones
1051         without PostScript included.
1052
1053 2014-03-07  Myles C. Maxfield  <mmaxfield@apple.com>
1054
1055         Comment in RenderStyle is no longer accurate
1056         https://bugs.webkit.org/show_bug.cgi?id=129956
1057
1058         Reviewed by Simon Fraser.
1059
1060         RenderStyle::createStyleInheritingFromPseudoStyle was moved from RenderImage. Before it
1061         was moved, there was an image-specific comment in the function. However, that comment
1062         is both irrelevant to RenderStyle, and incorrect as the function is necessary for
1063         RenderQuotes as well.
1064
1065         No new tests are necessary because there is no behavior change.
1066
1067         * rendering/style/RenderStyle.cpp:
1068         (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
1069
1070 2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1071
1072         [WebRTC] Throw SYNTAX_ERROR when maxRetransmits and maxRetransmitTime are both set in RTCDataChannelInit
1073         https://bugs.webkit.org/show_bug.cgi?id=129894
1074
1075         Reviewed by Eric Carlson.
1076
1077         Existing test was updated.
1078
1079         * Modules/mediastream/RTCDataChannel.cpp:
1080         (WebCore::RTCDataChannel::create):
1081
1082 2014-03-07  Benjamin Poulain  <bpoulain@apple.com>
1083
1084         Fix the regression introduced by r165288
1085         https://bugs.webkit.org/show_bug.cgi?id=129934
1086
1087         Reviewed by Ryosuke Niwa.
1088
1089         * page/DOMWindow.cpp:
1090         (WebCore::DOMWindow::scrollX):
1091         (WebCore::DOMWindow::scrollY):
1092         We need to return the new value after layout, not the value from the dirty tree.
1093
1094 2014-03-07  Benjamin Poulain  <benjamin@webkit.org>
1095
1096         Traversal failure in a direct adjacent chain with tail backtracking lacks the path to clear the tail
1097         https://bugs.webkit.org/show_bug.cgi?id=129863
1098
1099         Reviewed by Gavin Barraclough.
1100
1101         Direct adjacent backtracking use the stack to push the backtracking entry point and recover from there.
1102         In case of traversal failure, their is no point in recovering from the indirect adjancent entry point and
1103         we should clear entry point from the stack (which is the purpose of the tail).
1104
1105         The adjancent tail was missing the part for clearing the stack in one case.
1106
1107         The case with adjancent backtracking inside descendant backtracing was doing everything right. This patch
1108         generalize this code and the correct tail is fully generated by generateAdjacentBacktrackingTail().
1109
1110         JumpToClearAdjacentDescendantTail becomes JumpToClearAdjacentTail, and this new backtracking state is added
1111         to the missing traversal action.
1112
1113         Test: fast/selectors/long-adjacent-backtracking.html
1114
1115         * cssjit/SelectorCompiler.cpp:
1116         (WebCore::SelectorCompiler::solveBacktrackingAction):
1117         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
1118         (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
1119         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
1120         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
1121
1122 2014-03-07  Andreas Kling  <akling@apple.com>
1123
1124         [Mac] Notify system malloc of fake memory pressure.
1125         <https://webkit.org/b/129908>
1126
1127         After fixing the leak in r165252, I was surprised to find that it didn't
1128         show up on memory test bots. It turns out that while the memory is now
1129         getting freed, the system malloc implementation doesn't actually release
1130         pages back to the OS until there is memory pressure.
1131
1132         Since we are just faking the memory pressure on bots, we have to let
1133         system malloc in on the fun, so we can get representative numbers.
1134         With this change, we should finally see the effect of not leaking the
1135         URLRequest object tree.
1136
1137         Reviewed by Anders Carlsson.
1138
1139         * platform/mac/MemoryPressureHandlerMac.mm:
1140         (WebCore::MemoryPressureHandler::install):
1141
1142             Tell system malloc that we are under fake memory pressure.
1143
1144 2014-03-07  Benjamin Poulain  <bpoulain@apple.com>
1145
1146         [iOS] WebKit1 scroll position is incorrect
1147         https://bugs.webkit.org/show_bug.cgi?id=129905
1148
1149         Reviewed by Simon Fraser.
1150
1151         * page/DOMWindow.cpp:
1152         (WebCore::DOMWindow::scrollX):
1153         (WebCore::DOMWindow::scrollY):
1154         A new optimization was avoiding layout if the position is zero. This was using the scrollX/Y instead
1155         of actualScrollX/Y which caused us to always bail out instead of returning the value to JavaScript.
1156
1157         * platform/ScrollView.h:
1158         (WebCore::ScrollView::actualScrollX):
1159         (WebCore::ScrollView::actualScrollY):
1160         (WebCore::ScrollView::actualScrollPosition):
1161         This was accidentally changed to the iOS compat document visible rect at some point.
1162
1163 2014-03-07  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1164
1165         Remove unused StdDeviation from Drop shadow effect
1166         https://bugs.webkit.org/show_bug.cgi?id=129891
1167
1168         Reviewed by Dirk Schulze.
1169
1170         No new tests, no change on behavior.
1171
1172         * platform/graphics/filters/FEDropShadow.h:
1173
1174 2014-03-07  Brent Fulgham  <bfulgham@apple.com>
1175
1176         Correct out-of-band track selection logic.
1177         https://bugs.webkit.org/show_bug.cgi?id=129900
1178
1179         Reviewed by Jer Noble.
1180
1181         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1182         (WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Correct test to
1183         use inequality.
1184
1185 2014-03-07  Bear Travis  <betravis@adobe.com>
1186
1187         [CSS Shapes] Correctly serialize ellipse positions
1188         https://bugs.webkit.org/show_bug.cgi?id=129700
1189
1190         Reviewed by Dirk Schulze.
1191
1192         Updating ellipse serialization to be in line with
1193         the CSS Shapes spec. Positions should serialize as
1194         2 or 4-value positions, converting keywords to
1195         percentages where possible. This uses the same method
1196         as circle position serialization (bug 129404).
1197
1198         Updated existing parsing tests.
1199
1200         * css/CSSBasicShapes.cpp:
1201         (WebCore::CSSBasicShapeEllipse::cssText): Use the
1202         normalization / serialization helpers for shape position.
1203
1204 2014-03-07  Brian Burg  <bburg@apple.com>
1205
1206         Unreviewed, rebaseline run-binding-tests results after r165242.
1207
1208         * bindings/scripts/test/JS/JSTestObj.cpp:
1209         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1210         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1211         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
1212
1213 2014-03-07  Darin Adler  <darin@apple.com>
1214
1215         Remove non-working optimization that was attempted on iOS only
1216         https://bugs.webkit.org/show_bug.cgi?id=129595
1217         <rdar://problem/15798825>
1218
1219         Reviewed by Sam Weinig.
1220
1221         Code in GCController tried to optimize cases where the controller
1222         was used, but no JavaScript had been run in the current process.
1223         The code was never effective, and was iOS-only. Another way to fix
1224         the problem would be to change the code so it works, and if we do
1225         that we should do it for all platforms, not just iOS.
1226
1227         * bindings/js/GCController.cpp:
1228         (WebCore::GCController::garbageCollectNow): Remove check of
1229         JSDOMWindow::commonVMExists, since it's called just after a call
1230         to JSDOMWindow::commonVM, which will create it as a side effect.
1231         (WebCore::GCController::releaseExecutableMemory): Ditto.
1232
1233         * bindings/js/JSDOMWindowBase.cpp:
1234         (WebCore::JSDOMWindowBase::commonVM): Removed iOS-specific code
1235         that pulled the commonVM global out into another function so we
1236         can check for its existence without creating it as a side effect.
1237
1238         * bindings/js/JSDOMWindowBase.h: Ditto.
1239
1240 2014-03-07  Bem Jones-Bey  <bjonesbe@adobe.com>
1241
1242         [CSS Shapes] inset does not properly clamp large corner radii
1243         https://bugs.webkit.org/show_bug.cgi?id=129726
1244
1245         Reviewed by Dirk Schulze.
1246
1247         Make sure that radii that are larger than 50% of the associated shape
1248         dimension (height or width) are properly reduced the same way as
1249         border-radius radii are.
1250
1251         Test: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html
1252
1253         * rendering/shapes/Shape.cpp:
1254         (WebCore::ensureRadiiDoNotOverlap): Drive by style fix.
1255         (WebCore::Shape::createShape): Scale radii the same way as border
1256             radii are scaled.
1257         * platform/graphics/FloatRoundedRect.h:
1258         (WebCore::calcBorderRadiiConstraintScaleFor): Move border radii
1259             constraint calculation function out so that it can be shared by
1260             the shape code.
1261         * rendering/style/RenderStyle.cpp:
1262         (WebCore::RenderStyle::getRoundedBorderFor): Call renamed scale function.
1263
1264 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1265
1266         [GST] Set name to several timeout sources
1267         https://bugs.webkit.org/show_bug.cgi?id=129878
1268
1269         Reviewed by Philippe Normand.
1270
1271         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1272         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1273         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
1274         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1275         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1276         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1277         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1278         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1279
1280 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1281
1282         [GTK] Timeout sources not correctly removed
1283         https://bugs.webkit.org/show_bug.cgi?id=129877
1284
1285         Reviewed by Philippe Normand.
1286
1287         Set source ID variables to 0 after removing the sources from the
1288         context. Also give a name to the sources.
1289
1290         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1291         (WebCore::TrackPrivateBaseGStreamer::disconnect):
1292         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
1293         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1294         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
1295
1296 2014-03-07  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
1297
1298         Remove FFTFrameMKL.
1299         https://bugs.webkit.org/show_bug.cgi?id=129866
1300
1301         Reviewed by Csaba Osztrogonác.
1302
1303         * platform/audio/FFTFrame.h:
1304         * platform/audio/FFTFrameStub.cpp:
1305         * platform/audio/mkl/FFTFrameMKL.cpp: Removed, it is never used.
1306
1307 2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1308
1309         [WebRTC] Adding getConfiguration method to RTCPeerConnection
1310         https://bugs.webkit.org/show_bug.cgi?id=129845
1311
1312         Reviewed by Eric Carlson.
1313
1314         Test: fast/mediastream/RTCPeerConnection-getConfiguration.html
1315
1316         * CMakeLists.txt:
1317         * DerivedSources.make:
1318         * GNUmakefile.list.am:
1319         * Modules/mediastream/RTCConfiguration.idl: Added.
1320         * Modules/mediastream/RTCIceServer.idl: Added.
1321         * Modules/mediastream/RTCPeerConnection.cpp:
1322         (WebCore::RTCPeerConnection::RTCPeerConnection):
1323         (WebCore::RTCPeerConnection::updateIce):
1324         (WebCore::RTCPeerConnection::getConfiguration):
1325         * Modules/mediastream/RTCPeerConnection.h:
1326         * Modules/mediastream/RTCPeerConnection.idl:
1327
1328 2014-03-07  Jinwoo Song  <jinwoo7.song@samsung.com>
1329
1330         Optimize collectionLast() and collectionTraverseBackward() in LiveNodeList
1331         https://bugs.webkit.org/show_bug.cgi?id=129775
1332
1333         Reviewed by Ryosuke Niwa.
1334
1335         Check the LiveNodeList type if it is HTMLTagNodeListType and ClassNodeListType then
1336         apply inlined matching methods for each type.
1337
1338         * dom/LiveNodeList.cpp:
1339         (WebCore::lastMatchingElement): Added.
1340         (WebCore::previousMatchingElement): Added.
1341         (WebCore::traverseMatchingElementsBackward): Added.
1342         (WebCore::LiveNodeList::collectionLast): Apply lastMatchingElement() with LiveNodeList type.
1343         (WebCore::LiveNodeList::collectionTraverseBackward): Apply traverseMatchingElementsBackward()
1344         with LiveNodeList type.
1345
1346 2014-03-06  Andreas Kling  <akling@apple.com>
1347
1348         WebCoreResourceHandleAsOperationQueueDelegate over-retains NSURLRequest.
1349         <https://webkit.org/b/129862>
1350
1351         Don't retain the pointer before assigning it to a RetainPtr, since that
1352         will cause the object to leak.
1353
1354         Reviewed by Alexey Proskuryakov.
1355
1356         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
1357         (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]):
1358
1359 2014-03-06  Dan Bernstein  <mitz@apple.com>
1360
1361         Don’t copy WebInputs.json into the framework.
1362
1363         * WebCore.xcodeproj/project.pbxproj: Removed WebInputs.json from the Copy Bundle Resources
1364         build phase of the WebCore target.
1365
1366 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1367
1368         [WebRTC] Updating RTCPeerConnection.idl
1369         https://bugs.webkit.org/show_bug.cgi?id=129804
1370
1371         Reviewed by Eric Carlson.
1372
1373         Some methods signatures were wrong, marking some arguments as optional when they are mandatory.
1374
1375         Existing tests were updated.
1376
1377         * Modules/mediastream/RTCPeerConnection.cpp:
1378         (WebCore::RTCPeerConnection::getStats):
1379         * Modules/mediastream/RTCPeerConnection.h:
1380         * Modules/mediastream/RTCPeerConnection.idl:
1381         * Modules/mediastream/RTCStatsRequestImpl.cpp:
1382         (WebCore::RTCStatsRequestImpl::create):
1383         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
1384         (WebCore::RTCStatsRequestImpl::requestFailed):
1385         * Modules/mediastream/RTCStatsRequestImpl.h:
1386         * platform/mediastream/RTCStatsRequest.h:
1387
1388 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1389
1390         [WebRTC] Updating RTCIceServer to match spec
1391         https://bugs.webkit.org/show_bug.cgi?id=129844
1392
1393         Reviewed by Eric Carlson.
1394
1395         Move RTCIceServer from RTCConfiguration to its own file.
1396
1397         * Modules/mediastream/RTCPeerConnection.cpp:
1398         (WebCore::validateIceServerURL):
1399         (WebCore::processIceServer):
1400         * platform/mediastream/RTCConfiguration.h:
1401         (WebCore::RTCConfiguration::iceServers):
1402         * platform/mediastream/RTCIceServer.h: Added.
1403
1404 2014-03-06  Hyowon Kim  <hw1008.kim@samsung.com>
1405
1406         [EFL] Move EvasGL classes from WebKit to WebCore namespace.
1407         https://bugs.webkit.org/show_bug.cgi?id=129797
1408
1409         Reviewed by Gyuyoung Kim.
1410
1411         Though EvasGLContext and EvasGLSurface files were moved from WebKit2/UIProcess/API/efl/ 
1412         to WebCore/platform/graphics/efl/, they are still in WebKit namespace.
1413         Patch for namespace changes.
1414
1415         * platform/graphics/efl/EvasGLContext.cpp:
1416         * platform/graphics/efl/EvasGLContext.h:
1417         * platform/graphics/efl/EvasGLSurface.cpp:
1418         * platform/graphics/efl/EvasGLSurface.h:
1419
1420 2014-03-06  Brian Burg  <bburg@apple.com>
1421
1422         CodeGeneratorJS.pm doesn't need to add spaces between consecutive closing template brackets
1423         https://bugs.webkit.org/show_bug.cgi?id=129836
1424
1425         Reviewed by Andreas Kling.
1426
1427         * bindings/scripts/CodeGeneratorJS.pm:
1428         (GenerateParametersCheck):
1429         (GetNativeVectorInnerType):
1430         (GetSVGPropertyTypes):
1431
1432 2014-03-06  Jinwoo Song  <jinwoo7.song@samsung.com>
1433
1434         Remove unused method from BatteryController
1435         https://bugs.webkit.org/show_bug.cgi?id=129850
1436
1437         Reviewed by Gyuyoung Kim.
1438
1439         isActive() method is never called anywhere.
1440
1441         * Modules/battery/BatteryController.cpp:
1442         * Modules/battery/BatteryController.h:
1443
1444 2014-03-06  Pratik Solanki  <psolanki@apple.com>
1445
1446         [iOS] Crash on launch with website restrictions enabled
1447         https://bugs.webkit.org/show_bug.cgi?id=129854
1448         <rdar://problem/16207016>
1449
1450         Reviewed by Simon Fraser.
1451
1452         * platform/mac/ContentFilterMac.mm:
1453         (WebCore::ContentFilter::ContentFilter): Initialize m_neFilterSourceQueue so that we don't
1454         crash in the dtor due to garbage value in the field.
1455
1456 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
1457
1458         Minor optimization in ScrollingTreeScrollingNodeMac
1459         https://bugs.webkit.org/show_bug.cgi?id=129848
1460
1461         Reviewed by Dean Jackson.
1462
1463         No need to call scrollOffsetForFixedPosition() again if we don't have header
1464         and footer layers.
1465
1466         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1467         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1468
1469 2014-03-06  Mark Lam  <mark.lam@apple.com>
1470
1471         XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
1472         https://bugs.webkit.org/show_bug.cgi?id=45994
1473
1474         Not reviewed.
1475
1476         Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov)
1477         since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue.
1478
1479         * xml/XMLHttpRequest.cpp:
1480         (WebCore::XMLHttpRequest::status):
1481         (WebCore::XMLHttpRequest::statusText):
1482         * xml/XMLHttpRequest.h:
1483         * xml/XMLHttpRequest.idl:
1484
1485 2014-03-06  Brent Fulgham  <bfulgham@apple.com>
1486
1487         Revise Out-of-band VTT support for better integration with AVFoundation engine
1488         https://bugs.webkit.org/show_bug.cgi?id=129749
1489         <rdar://problem/16215701>
1490
1491         Reviewed by Eric Carlson.
1492
1493         Revise the platform handling of out-of-band text tracks so that we can keep AVFoundation
1494         informed of track selections we make. Use a dummy out-of-band child of the existing text
1495         track classes to avoid code duplication.
1496
1497         * WebCore.xcodeproj/project.pbxproj: Add new OutOfBandTextTrackPrivateAVF.h file.
1498         * html/HTMLMediaElement.cpp:
1499         (WebCore::HTMLMediaElement::parseAttribute): Notify player when OOB tracks change.
1500         (WebCore::HTMLMediaElement::outOfBandTrackSources): Also pass track mode to platform backend.
1501         * html/track/TextTrack.cpp:
1502         (WebCore::TextTrack::platformTextTrack): Also pass track mode to constructor.
1503         * html/track/TrackBase.cpp:
1504         (WebCore::TrackBase::TrackBase): Move ownership of track unique identifier to this base class.
1505         * html/track/TrackBase.h:
1506         (WebCore::TrackBase::uniqueId): Ditto.
1507         * platform/graphics/MediaPlayer.cpp:
1508         (WebCore::MediaPlayer::notifyTrackModeChanged): Added stub to pass message to platform player.
1509         * platform/graphics/MediaPlayer.h:
1510         * platform/graphics/MediaPlayerPrivate.h:
1511         (WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged): Stub for most platforms.
1512         * platform/graphics/PlatformTextTrack.h:
1513         (WebCore::PlatformTextTrack::create): Update for revised constructor (with 'mode' argument).
1514         (WebCore::PlatformTextTrack::createOutOfBand): Ditto.
1515         (WebCore::PlatformTextTrack::mode): Added.
1516         (WebCore::PlatformTextTrack::captionMenuOffItem): Use revised constructor arguments.
1517         (WebCore::PlatformTextTrack::captionMenuAutomaticItem): Ditto.
1518         (WebCore::PlatformTextTrack::PlatformTextTrack): Ditto.
1519         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Change predicate to return enum indicating the category
1520         of track (out-of-band, legacy closed caption, or in band).
1521         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1522         (WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Added.
1523         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Override predicate to return category enum.
1524         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Revise to use new category enum.
1525         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Override predicate to return category enum.
1526         that this is NOT an out-of-band track.
1527         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: Ditto.
1528         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1529         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1530         (WebCore::MediaPlayerPrivateAVFoundationObjC::notifyTrackModeChanged): Added implementation.
1531         (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Revise to handle out-of-band
1532         track placeholders.
1533         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Modify to inform AVFoundation about any
1534         out-of-band tracks we've selected.
1535         (WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Added.
1536         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: Added.
1537         (WebCore::OutOfBandTextTrackPrivateAVF::create):
1538         (WebCore::OutOfBandTextTrackPrivateAVF::processCue):
1539         (WebCore::OutOfBandTextTrackPrivateAVF::resetCueValues):
1540         (WebCore::OutOfBandTextTrackPrivateAVF::mediaSelectionOption):
1541         (WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):
1542         (WebCore::OutOfBandTextTrackPrivateAVF::processCueAttributes):
1543         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Override predicate to indicate
1544         that this is NOT an out-of-band track.
1545         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
1546         (WebCore::MediaPlayerPrivateIOS::setSelectedTextTrack): Correct typo in logging text.
1547
1548 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1549
1550         [WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
1551         https://bugs.webkit.org/show_bug.cgi?id=129484
1552
1553         Reviewed by Eric Carlson.
1554
1555         According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument,
1556         instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.
1557
1558         Existing tests were updated.
1559
1560         * CMakeLists.txt:
1561         * GNUmakefile.list.am:
1562         * Modules/mediastream/RTCOfferAnswerOptions.cpp: Added.
1563         * Modules/mediastream/RTCOfferAnswerOptions.h: Added.
1564         * Modules/mediastream/RTCPeerConnection.cpp:
1565         (WebCore::RTCPeerConnection::createOffer):
1566         (WebCore::RTCPeerConnection::createAnswer):
1567         * Modules/mediastream/RTCPeerConnection.h:
1568         * Modules/mediastream/RTCPeerConnection.idl:
1569         * platform/mediastream/RTCPeerConnectionHandler.h:
1570         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1571         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
1572         (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
1573         * platform/mock/RTCPeerConnectionHandlerMock.h:
1574
1575 2014-03-06  Brian Burg  <bburg@apple.com>
1576
1577         Web Replay: premature release() of PassRefPtr in InspectorReplayAgent
1578         https://bugs.webkit.org/show_bug.cgi?id=129827
1579
1580         Reviewed by Timothy Hatcher.
1581
1582         * inspector/InspectorReplayAgent.cpp:
1583         (WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
1584
1585 2014-03-06  Benjamin Poulain  <bpoulain@apple.com>
1586
1587         [iOS] Do not compile fake mouse event handling when iOS Touch Events are enabled
1588         https://bugs.webkit.org/show_bug.cgi?id=129725
1589
1590         Reviewed by Dan Bernstein.
1591
1592         Bug <rdar://problem/16218636>. The code is #ifdef'ed out to avoid setting up useless objects
1593         and to avoid future mistake.
1594
1595         * page/EventHandler.cpp:
1596         (WebCore::EventHandler::EventHandler):
1597         (WebCore::EventHandler::~EventHandler):
1598         (WebCore::EventHandler::clear):
1599         (WebCore::EventHandler::handleMousePressEvent):
1600         (WebCore::EventHandler::startAutoHideCursorTimer):
1601         (WebCore::EventHandler::handleMouseMoveEvent):
1602         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1603         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
1604         * page/EventHandler.h:
1605
1606 2014-03-06  Pratik Solanki  <psolanki@apple.com>
1607
1608         Unreviewed. iOS build fix after r165199.
1609
1610         * rendering/RootInlineBox.cpp:
1611
1612 2014-03-06  Benjamin Poulain  <bpoulain@apple.com>
1613
1614         [iOS] Rename the actualVisibleXXXRect to unobscuredContentRect for consistency
1615         https://bugs.webkit.org/show_bug.cgi?id=129773
1616
1617         Reviewed by Simon Fraser.
1618
1619         * dom/TreeScope.cpp:
1620         (WebCore::nodeFromPoint):
1621         * platform/ScrollView.cpp:
1622         (WebCore::ScrollView::visibleContentRectInternal):
1623         * platform/ScrollView.h:
1624         * platform/ios/ScrollViewIOS.mm:
1625         (WebCore::ScrollView::unoscuredContentRect):
1626         * platform/ios/wak/WAKScrollView.h:
1627         * platform/ios/wak/WAKScrollView.mm:
1628         (-[WAKScrollView unoscuredContentRect]):
1629         (-[WAKScrollView description]):
1630         * rendering/RenderLayer.cpp:
1631         (WebCore::RenderLayer::scrollRectToVisible):
1632
1633 2014-03-05  Oliver Hunt  <oliver@apple.com>
1634
1635         Support caching of custom setters
1636         https://bugs.webkit.org/show_bug.cgi?id=129519
1637
1638         Reviewed by Filip Pizlo.
1639
1640         Add forwarding header
1641
1642         Tests: js/regress/assign-custom-setter-polymorphic.html
1643                js/regress/assign-custom-setter.html
1644
1645         * ForwardingHeaders/jit/SpillRegistersMode.h: Added.
1646
1647 2014-03-05  Jon Honeycutt  <jhoneycutt@apple.com>
1648
1649         Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()
1650
1651         <https://bugs.webkit.org/show_bug.cgi?id=121887>
1652         <rdar://problem/15073043>
1653
1654         Clang appears to be optimizing out a branch in RenderObject::node()
1655         when compiling RenderLayer::FilterInfo::updateReferenceFilterClients().
1656         We'll work around this by factoring out the code in question into a
1657         separate member function marked NEVER_INLINE.
1658
1659         No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>.
1660
1661         Reviewed by David Kilzer.
1662
1663         * rendering/RenderLayerFilterInfo.cpp:
1664         (WebCore::RenderLayer::FilterInfo::layerElement):
1665         Code moved from updateReferenceFilterClients(). Returns the Element*
1666         for m_layer.
1667         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
1668         Use layerElement().
1669
1670         * rendering/RenderLayerFilterInfo.h:
1671         Declared layerElement().
1672
1673 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
1674
1675         Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
1676         https://bugs.webkit.org/show_bug.cgi?id=127944
1677
1678         Reviewed by Geoffrey Garen.
1679
1680         Covered by existing tests.
1681
1682         * CMakeLists.txt:
1683         * DerivedSources.cpp:
1684         * DerivedSources.make:
1685         * ForwardingHeaders/runtime/ConsoleClient.h: Added.
1686         * ForwardingHeaders/runtime/ConsoleTypes.h: Renamed from Source/WebCore/ForwardingHeaders/inspector/ConsoleTypes.h.
1687         * GNUmakefile.list.am:
1688         * PlatformGTK.cmake:
1689         * WebCore.exp.in:
1690         * WebCore.vcxproj/WebCore.vcxproj:
1691         * WebCore.vcxproj/WebCore.vcxproj.filters:
1692         * WebCore.xcodeproj/project.pbxproj:
1693         * bindings/gobject/GNUmakefile.am:
1694         Update build systems.
1695
1696         * page/Console.cpp: Removed.
1697         * page/Console.h: Removed.
1698         * page/Console.idl: Removed.
1699         * page/DOMWindow.cpp:
1700         (WebCore::DOMWindow::~DOMWindow):
1701         (WebCore::DOMWindow::resetDOMWindowProperties):
1702         * page/DOMWindow.h:
1703         (WebCore::DOMWindow::defaultStatus):
1704         * page/DOMWindow.idl:
1705         Removed the old IDL generated Console object on window.
1706
1707         * page/PageConsole.cpp:
1708         (WebCore::PageConsole::shouldPrintExceptions):
1709         (WebCore::PageConsole::setShouldPrintExceptions):
1710         (WebCore::PageConsole::mute):
1711         (WebCore::PageConsole::unmute):
1712         (WebCore::PageConsole::messageWithTypeAndLevel):
1713         (WebCore::PageConsole::count):
1714         (WebCore::PageConsole::profile):
1715         (WebCore::PageConsole::profileEnd):
1716         (WebCore::PageConsole::time):
1717         (WebCore::PageConsole::timeEnd):
1718         (WebCore::PageConsole::timeStamp):
1719         (WebCore::PageConsole::group):
1720         (WebCore::PageConsole::groupCollapsed):
1721         (WebCore::PageConsole::groupEnd):
1722         (WebCore::PageConsole::clearProfiles):
1723         * page/PageConsole.h:
1724         Move the handling of Console object into PageConsole.
1725
1726         * bindings/js/ScriptCachedFrameData.cpp:
1727         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1728         (WebCore::ScriptCachedFrameData::restore):
1729         * bindings/js/ScriptController.cpp:
1730         (WebCore::ScriptController::clearWindowShell):
1731         (WebCore::ScriptController::initScript):
1732         Set the PageConsole as the ConsoleClient of the JSGlobalObject
1733         so that WebCore may handle console messages directly. For instance
1734         it may pass messages on to the ChromeClient.
1735
1736         * testing/Internals.cpp:
1737         (WebCore::Internals::consoleProfiles):
1738         To access profiles, go through PageConsole now instead of Console.
1739
1740         * bindings/js/JSDOMWindowBase.cpp:
1741         * bindings/objc/WebScriptObject.mm:
1742         * css/MediaList.cpp:
1743         * dom/ScriptExecutionContext.h:
1744         * dom/UIEvent.cpp:
1745         * dom/ViewportArguments.cpp:
1746         * html/parser/XSSAuditorDelegate.cpp:
1747         * inspector/CommandLineAPIHost.h:
1748         * inspector/InspectorInstrumentation.cpp:
1749         * inspector/InspectorInstrumentation.h:
1750         * inspector/InspectorProfilerAgent.cpp:
1751         * inspector/WebConsoleAgent.cpp:
1752         * loader/FrameLoader.cpp:
1753         * loader/MixedContentChecker.cpp:
1754         * loader/appcache/ApplicationCacheGroup.cpp:
1755         * loader/cache/CachedResourceLoader.cpp:
1756         * page/ChromeClient.h:
1757         * page/ContentSecurityPolicy.cpp:
1758         * page/Page.cpp:
1759         * page/Page.h:
1760         * svg/SVGDocumentExtensions.cpp:
1761         * workers/WorkerMessagingProxy.cpp:
1762         * workers/WorkerReportingProxy.h:
1763         Update includes.
1764
1765 2014-03-06  Zsolt Borbely  <borbezs@inf.u-szeged.hu>
1766
1767         Fix the !ENABLE(CSS_STICKY_POSITION) build
1768         https://bugs.webkit.org/show_bug.cgi?id=129793
1769
1770         Reviewed by Simon Fraser.
1771
1772         Add missing ENABLE(CSS_STICKY_POSITION) guard to EditingStyle::convertPositionStyle().
1773
1774         * editing/EditingStyle.cpp:
1775         (WebCore::EditingStyle::convertPositionStyle):
1776
1777 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
1778
1779         [Mac] Leak: dispatch_semaphore leak allocated in MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
1780         https://bugs.webkit.org/show_bug.cgi?id=129792
1781
1782         Reviewed by Anders Carlsson.
1783
1784         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1785         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
1786
1787 2014-03-06  Brendan Long  <b.long@cablelabs.com>
1788
1789         Implement VideoTrackList.selectedIndex
1790         https://bugs.webkit.org/show_bug.cgi?id=129770
1791
1792         Reviewed by Eric Carlson.
1793
1794         Tests: media/track/video/video-track-mkv-theora-selected.html
1795
1796         * html/track/VideoTrackList.idl:
1797
1798 2014-03-06  Lorenzo Tilve  <ltilve@igalia.com>
1799
1800         [GTK][CMake] Fix the GTK+ CMake build
1801         https://bugs.webkit.org/show_bug.cgi?id=129801
1802
1803         Reviewed by Martin Robinson.
1804
1805         Include missing files for CMake build
1806
1807         * CMakeLists.txt: Add a missing references to DOMURLMediaStream
1808
1809 2014-03-06  Zalan Bujtas  <zalan@apple.com>
1810
1811         Subpixel rendering: Setting content to opaque on m_graphicsLayer depends on subpixel accumulation.
1812         https://bugs.webkit.org/show_bug.cgi?id=129776
1813
1814         Reviewed by Simon Fraser.
1815
1816         isEmpty() returns true when any of the dimensions is <= 0. Subpixel accumulation could happen
1817         in one direction only. Use isZero() instead().
1818
1819         * rendering/RenderLayerBacking.cpp:
1820         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1821
1822 2014-03-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
1823
1824         REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
1825         https://bugs.webkit.org/show_bug.cgi?id=128873
1826
1827         Reviewed by Antonio Gomes.
1828
1829         This regression is caused by  http://trac.webkit.org/changeset/154614 
1830         and http://trac.webkit.org/changeset/156605. So reverting the changes
1831         to make it Web compatible as earlier.
1832
1833         * dom/Element.cpp:
1834         (WebCore::Element::scrollLeft):
1835         (WebCore::Element::scrollTop):
1836         (WebCore::Element::setScrollLeft):
1837         (WebCore::Element::setScrollTop):
1838         Reverting changes as it caused regression.
1839
1840 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1841
1842         Move Source/WebCore/html/canvas/ code to std::unique_ptr
1843         https://bugs.webkit.org/show_bug.cgi?id=129668
1844
1845         Reviewed by Anders Carlsson.
1846
1847         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/canvas/ to std::unique_ptr.
1848
1849         * html/HTMLCanvasElement.cpp:
1850         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
1851         (WebCore::HTMLCanvasElement::getContext):
1852         * html/HTMLCanvasElement.h:
1853         * html/canvas/ANGLEInstancedArrays.cpp:
1854         * html/canvas/ANGLEInstancedArrays.h:
1855         * html/canvas/CanvasRenderingContext2D.h:
1856         * html/canvas/EXTTextureFilterAnisotropic.cpp:
1857         * html/canvas/EXTTextureFilterAnisotropic.h:
1858         * html/canvas/OESElementIndexUint.cpp:
1859         * html/canvas/OESElementIndexUint.h:
1860         * html/canvas/OESStandardDerivatives.cpp:
1861         * html/canvas/OESStandardDerivatives.h:
1862         * html/canvas/OESTextureFloat.cpp:
1863         * html/canvas/OESTextureFloat.h:
1864         * html/canvas/OESTextureFloatLinear.cpp:
1865         * html/canvas/OESTextureFloatLinear.h:
1866         * html/canvas/OESTextureHalfFloat.cpp:
1867         * html/canvas/OESTextureHalfFloat.h:
1868         * html/canvas/OESTextureHalfFloatLinear.cpp:
1869         * html/canvas/OESTextureHalfFloatLinear.h:
1870         * html/canvas/OESVertexArrayObject.cpp:
1871         * html/canvas/OESVertexArrayObject.h:
1872         * html/canvas/WebGLCompressedTextureATC.cpp:
1873         * html/canvas/WebGLCompressedTextureATC.h:
1874         * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1875         * html/canvas/WebGLCompressedTexturePVRTC.h:
1876         * html/canvas/WebGLCompressedTextureS3TC.cpp:
1877         * html/canvas/WebGLCompressedTextureS3TC.h:
1878         * html/canvas/WebGLDebugRendererInfo.cpp:
1879         * html/canvas/WebGLDebugRendererInfo.h:
1880         * html/canvas/WebGLDebugShaders.cpp:
1881         * html/canvas/WebGLDebugShaders.h:
1882         * html/canvas/WebGLDepthTexture.cpp:
1883         * html/canvas/WebGLDepthTexture.h:
1884         * html/canvas/WebGLDrawBuffers.cpp:
1885         * html/canvas/WebGLDrawBuffers.h:
1886         * html/canvas/WebGLLoseContext.cpp:
1887         * html/canvas/WebGLLoseContext.h:
1888         * html/canvas/WebGLRenderingContext.cpp:
1889         (WebCore::WebGLRenderingContext::create):
1890         (WebCore::WebGLRenderingContext::getExtension):
1891         * html/canvas/WebGLRenderingContext.h:
1892
1893 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1894
1895         Move Source/WebCore/editing/ code to std::unique_ptr
1896         https://bugs.webkit.org/show_bug.cgi?id=129665
1897
1898         Reviewed by Anders Carlsson.
1899
1900         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/editing/ with std::unique_ptr.
1901
1902         * editing/EditingStyle.cpp:
1903         (WebCore::htmlElementEquivalents):
1904         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
1905         (WebCore::htmlAttributeEquivalents):
1906         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
1907         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
1908         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1909         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
1910         * editing/Editor.cpp:
1911         (WebCore::Editor::Editor):
1912         (WebCore::Editor::clear):
1913         * editing/Editor.h:
1914         * page/Frame.cpp:
1915         (WebCore::Frame::Frame):
1916         * page/Frame.h:
1917
1918 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1919
1920         Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
1921         https://bugs.webkit.org/show_bug.cgi?id=129061
1922
1923         Reviewed by Eric Carlson.
1924
1925         Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
1926         classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
1927         but this will be addressed later.
1928
1929         * dom/KeyboardEvent.cpp:
1930         (WebCore::KeyboardEvent::KeyboardEvent):
1931         * dom/KeyboardEvent.h:
1932         * dom/ScriptExecutionContext.cpp:
1933         (WebCore::ScriptExecutionContext::reportException):
1934         * dom/ScriptExecutionContext.h:
1935         * dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
1936
1937 2014-03-06  Commit Queue  <commit-queue@webkit.org>
1938
1939         Unreviewed, rolling out r165175.
1940         http://trac.webkit.org/changeset/165175
1941         https://bugs.webkit.org/show_bug.cgi?id=129788
1942
1943         Linking failures on GTK, EFL due to missing gstreamer-tag-1.0
1944         dependency (Requested by zdobersek on #webkit).
1945
1946         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1947         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
1948
1949 2014-03-05  Brendan Long  <b.long@cablelabs.com>
1950
1951         [GStreamer] human readable language code for tracks
1952         https://bugs.webkit.org/show_bug.cgi?id=124514
1953
1954         Reviewed by Philippe Normand.
1955
1956         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1957         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.
1958
1959 2014-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
1960
1961         Remove unused method from Vibration
1962         https://bugs.webkit.org/show_bug.cgi?id=129732
1963
1964         Reviewed by Gyuyoung Kim.
1965
1966         * Modules/vibration/Vibration.cpp:
1967         Removed isActive(), which is never called since r152441.
1968         * Modules/vibration/Vibration.h: Ditto.
1969
1970 2014-03-05  Commit Queue  <commit-queue@webkit.org>
1971
1972         Unreviewed, rolling out r165141, r165157, and r165158.
1973         http://trac.webkit.org/changeset/165141
1974         http://trac.webkit.org/changeset/165157
1975         http://trac.webkit.org/changeset/165158
1976         https://bugs.webkit.org/show_bug.cgi?id=129772
1977
1978         "broke ftl" (Requested by olliej_ on #webkit).
1979
1980         * ForwardingHeaders/jit/SpillRegistersMode.h: Removed.
1981
1982 2014-03-05  Martin Robinson  <mrobinson@igalia.com>
1983
1984         [GTK][CMake] The GObject DOM bindings should always be built
1985         https://bugs.webkit.org/show_bug.cgi?id=127963
1986
1987         Reviewed by Ryosuke Niwa.
1988
1989         * PlatformGTK.cmake: Make compilation of the WebKitGTK+ GObject DOM bindings
1990         unconditional, instead of conditional on the WebKit2 build.
1991
1992 2014-03-05  Jer Noble  <jer.noble@apple.com>
1993
1994         [MSE] Crash in SourceBuffer::sourceBufferPrivateDidReceiveSample() - received samples after SourceBuffer was removed.
1995         https://bugs.webkit.org/show_bug.cgi?id=129761
1996
1997         Reviewed by Eric Carlson.
1998
1999         Guard against the possibility that SourceBufferPrivates will continue to generate samples even after
2000         a parse error. Bail out early from sourceBufferPrivateDidReceiveInitializationSegment and
2001         sourceBufferPrivateDidReceiveSample if the SourceBuffer has been removed.
2002
2003         * Modules/mediasource/SourceBuffer.cpp:
2004         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
2005         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2006
2007 2014-03-05  Enrica Casucci  <enrica@apple.com>
2008
2009         Build fix, take 2.
2010
2011         * platform/mac/HTMLConverter.mm:
2012
2013 2014-03-05  Enrica Casucci  <enrica@apple.com>
2014
2015         Build fix.
2016
2017         * platform/mac/HTMLConverter.mm:
2018
2019 2014-03-05  Enrica Casucci  <enrica@apple.com>
2020
2021         Crash when copying content that contains <sup>.
2022         https://bugs.webkit.org/show_bug.cgi?id=129765
2023         <rdar://problem/16139498>
2024         
2025         Reviewed by Benjamin Poulain.
2026
2027         Adding static definition of NSAttributeSuperscriptName.
2028
2029         * platform/mac/HTMLConverter.mm:
2030
2031 2014-03-05  Gavin Barraclough  <barraclough@apple.com>
2032
2033         https://bugs.webkit.org/show_bug.cgi?id=128625
2034         Add fast mapping from StringImpl to JSString
2035
2036         Unreviewed roll-out.
2037
2038         Reverting r164347, r165054, r165066 - not clear the performance tradeoff was right.
2039
2040         * bindings/js/DOMWrapperWorld.cpp:
2041         (WebCore::DOMWrapperWorld::clearWrappers):
2042         * bindings/js/DOMWrapperWorld.h:
2043         * bindings/js/JSDOMBinding.h:
2044         (WebCore::jsStringWithCache):
2045         * bindings/js/JSDOMWindowBase.cpp:
2046         (WebCore::JSDOMWindowBase::commonVM):
2047         * bindings/scripts/StaticString.pm:
2048         (GenerateStrings):
2049
2050 2014-03-05  Daniel Bates  <dabates@apple.com>
2051             And Alexey Proskuryakov  <ap@apple.com>
2052
2053         ASSERT(newestManifest) fails in WebCore::ApplicationCacheGroup::didFinishLoadingManifest()
2054         https://bugs.webkit.org/show_bug.cgi?id=129753
2055         <rdar://problem/12069835>
2056
2057         Reviewed by Alexey Proskuryakov.
2058
2059         Fixes an issue where an assertion failure would occur when visiting a web site whose on-disk
2060         app cache doesn't contain a manifest resource.
2061
2062         For some reason an app cache for a web site may be partially written to disk. In particular, the
2063         app cache may only contain a CacheGroups entry. That is, the manifest resource and origin records
2064         may not be persisted to disk. From looking over the code, we're unclear how such a situation can occur
2065         and hence have been unable to create such an app cache. We were able to reproduce this issue using
2066         an app cache database file that was provided by a person that was affected by this issue.
2067
2068         No test included because it's not straightforward to write a test for this change.
2069
2070         * loader/appcache/ApplicationCacheGroup.cpp:
2071         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Assert that m_cacheBeingUpdated->manifestResource()
2072         is non-null. Currently we only document this assumption in a code comment. Also separated a single assertion
2073         expression into two assertion expressions to make it straightforward to identify the failing sub-expression
2074         on failure.
2075         * loader/appcache/ApplicationCacheStorage.cpp:
2076         (WebCore::ApplicationCacheStorage::store): Modified to call ApplicationCacheStorage::deleteCacheGroupRecord()
2077         to remove a cache group and associated cache records (if applicable) before inserting a cache group entry.
2078         This replacement approach will ultimately repair incomplete app cache data for people affected by this bug.
2079         (WebCore::ApplicationCacheStorage::loadCache): Log an error and return nullptr if the cache we loaded doesn't
2080         have a manifest resource.
2081         (WebCore::ApplicationCacheStorage::deleteCacheGroupRecord): Added.
2082         (WebCore::ApplicationCacheStorage::deleteCacheGroup): Extracted deletion logic for cache group record into
2083         ApplicationCacheStorage::deleteCacheGroupRecord().
2084         * loader/appcache/ApplicationCacheStorage.h:
2085
2086 2014-03-05  Oliver Hunt  <oliver@apple.com>
2087
2088         Support caching of custom setters
2089         https://bugs.webkit.org/show_bug.cgi?id=129519
2090
2091         Reviewed by Filip Pizlo.
2092
2093         Add forwarding header
2094
2095         Tests: js/regress/assign-custom-setter-polymorphic.html
2096                js/regress/assign-custom-setter.html
2097
2098         * ForwardingHeaders/jit/SpillRegistersMode.h: Added.
2099
2100 2014-03-05  David Kilzer  <ddkilzer@apple.com>
2101
2102         Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement()
2103         <http://webkit.org/b/129751>
2104         <rdar://problem/16237965>
2105
2106         Reviewed by Jon Honeycutt.
2107
2108         Merged from Blink (patch by Yuta Kitamura):
2109         https://src.chromium.org/viewvc/blink?revision=168160&view=revision
2110         http://crbug.com/345005
2111
2112             The root cause is CompositeEditCommand::moveParagraphWithClones() passing
2113             two positions |start| and |end| which do not follow the document order,
2114             i.e. in some situations |start| is located after |end| because of
2115             the difference in affinity.
2116
2117             This patch fixes this crash by normalizing |end| to |start| in such situations.
2118             It also adds an ASSERT that checks the relationship between |start| and |end|.
2119
2120         Test: editing/execCommand/format-block-crash.html
2121
2122         * editing/CompositeEditCommand.cpp:
2123         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2124         (WebCore::CompositeEditCommand::moveParagraphWithClones):
2125         * editing/CompositeEditCommand.h:
2126
2127 2014-03-05  Radu Stavila  <stavila@adobe.com>
2128
2129         [CSS Regions] Scrollable regions
2130         https://bugs.webkit.org/show_bug.cgi?id=129301
2131
2132         Reviewed by David Hyatt.
2133
2134         Named flow fragments do not inherit the overflow property from the fragment container.
2135         When asked if the flow thread content should be clipped, the named flow fragments
2136         will respond using the overflow property of the named flow fragment container.
2137
2138         When painting the flow thread layer inside the region, the scrolled content offset of
2139         the region must be used to offset the flow thread's layer.
2140
2141         Tests: fast/regions/scrollable-last-region.html
2142                fast/regions/scrollable-single-region-bt.html
2143                fast/regions/scrollable-single-region-lr.html
2144                fast/regions/scrollable-single-region-relative-element.html
2145                fast/regions/scrollable-single-region-rl.html
2146                fast/regions/scrollable-single-region.html
2147
2148         * rendering/RenderLayer.cpp:
2149         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
2150         (WebCore::RenderLayer::calculateClipRects):
2151         * rendering/RenderNamedFlowFragment.cpp:
2152         (WebCore::RenderNamedFlowFragment::createStyle):
2153         (WebCore::RenderNamedFlowFragment::shouldClipFlowThreadContent):
2154         * rendering/RenderNamedFlowFragment.h:
2155         * rendering/RenderNamedFlowThread.cpp:
2156         (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
2157         * rendering/RenderRegion.cpp:
2158         (WebCore::RenderRegion::shouldClipFlowThreadContent):
2159         * rendering/RenderRegion.h:
2160
2161 2014-03-05  Zalan Bujtas  <zalan@apple.com>
2162
2163         Subpixel rendering: Device pixel round accumulated subpixel value when the RenderLayer with transform paints its content.
2164         https://bugs.webkit.org/show_bug.cgi?id=129079
2165
2166         Reviewed by Simon Fraser.
2167
2168         Snap the content to the device pixel position (as opposed to integral position) before
2169         applying the transform. Recalculate the remaining subpixels that need offsetting at painting time.
2170
2171         Test: compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html
2172
2173         * platform/graphics/LayoutPoint.h:
2174         (WebCore::roundedForPainting):
2175         * rendering/RenderLayer.cpp:
2176         (WebCore::RenderLayer::paintLayerByApplyingTransform):
2177
2178 2014-03-05  Eric Carlson  <eric.carlson@apple.com>
2179
2180         [iOS] Show external device name/type in placeholder
2181         https://bugs.webkit.org/show_bug.cgi?id=129723
2182
2183         Reviewed by Jer Noble.
2184
2185         Make the name and type of the external device available to the JS based controls.
2186         * Modules/mediacontrols/MediaControlsHost.cpp:
2187         (WebCore::MediaControlsHost::externalDeviceDisplayName):
2188         (WebCore::MediaControlsHost::externalDeviceType):
2189         * Modules/mediacontrols/MediaControlsHost.h:
2190         * Modules/mediacontrols/MediaControlsHost.idl:
2191
2192         * Modules/mediacontrols/mediaControlsiOS.js:
2193         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Display device type-specific infomation
2194             in the placeholder image.
2195
2196         * WebCore.exp.in: Export new WebKitSystemInterface functions.
2197
2198         * platform/graphics/MediaPlayer.cpp:
2199         (WebCore::MediaPlayer::wirelessPlaybackTargetName): Added.
2200         (WebCore::MediaPlayer::wirelessPlaybackTargetType): Ditto.
2201         * platform/graphics/MediaPlayer.h:
2202         * platform/graphics/MediaPlayerPrivate.h:
2203
2204         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2205         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2206         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType): Added.
2207         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName): Ditto.
2208
2209         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2210         * platform/mac/WebCoreSystemInterface.h:
2211         * platform/mac/WebCoreSystemInterface.mm:
2212
2213 2014-03-05  Benjamin Poulain  <bpoulain@apple.com>
2214
2215         [iOS] Rename the various VisibleExtent variations to exposedContentRect
2216         https://bugs.webkit.org/show_bug.cgi?id=129728
2217
2218         Reviewed by Simon Fraser.
2219
2220         Rename DocumentVisibleExtent and VisibleExtentContentRect to ExposedContentRect in a desperate
2221         attempt to make things a tiny little bit less confusing.
2222
2223         The name is ExposedContentRect and not ExposedRect as that rect is exposed on ScrollView, while the
2224         rect is in document coordinates (which does not make any difference on WebKit1...).
2225
2226         * WebCore.exp.in:
2227         * platform/ScrollView.h:
2228         * platform/ios/ScrollViewIOS.mm:
2229         (WebCore::ScrollView::exposedContentRect):
2230         (WebCore::ScrollView::setExposedContentRect):
2231         * platform/ios/wak/WAKScrollView.h:
2232         * platform/ios/wak/WAKScrollView.mm:
2233         (-[WAKScrollView exposedContentRect]):
2234         * rendering/RenderLayerCompositor.cpp:
2235         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2236         (WebCore::RenderLayerCompositor::didChangeVisibleRect):
2237
2238 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
2239
2240         ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework
2241         https://bugs.webkit.org/show_bug.cgi?id=129752
2242
2243         Reviewed by Enrica Casucci.
2244
2245         Add C functions for NSURL-related functionality required by WebKit2
2246
2247         * WebCore.exp.in:
2248         * platform/mac/WebCoreNSURLExtras.h:
2249         * platform/mac/WebCoreNSURLExtras.mm:
2250         (WebCore::URLByCanonicalizingURL):
2251         (WebCore::rangeOfURLScheme):
2252         (WebCore::looksLikeAbsoluteURL):
2253
2254 2014-03-05  Martin Hock  <mhock@apple.com>
2255
2256         Add support for sessions to MemoryCache.
2257         https://bugs.webkit.org/show_bug.cgi?id=127794
2258
2259         Reviewed by Sam Weinig.
2260
2261         * WebCore.exp.in:
2262         * editing/DeleteButtonController.cpp:
2263         (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID.
2264         * html/DOMURL.cpp:
2265         (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions.
2266         * inspector/InspectorPageAgent.cpp:
2267         (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache.
2268         * inspector/InspectorResourceAgent.cpp:
2269         (WebCore::InspectorResourceAgent::replayXHR): Ditto.
2270         * loader/DocumentLoader.cpp:
2271         (WebCore::areAllLoadersPageCacheAcceptable): Ditto.
2272         * loader/FrameLoader.cpp:
2273         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto.
2274         * loader/ImageLoader.cpp:
2275         (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID.
2276         * loader/archive/cf/LegacyWebArchive.cpp:
2277         (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache.
2278         * loader/cache/CachedCSSStyleSheet.cpp:
2279         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID.
2280         * loader/cache/CachedCSSStyleSheet.h:
2281         * loader/cache/CachedFont.cpp: Ditto.
2282         (WebCore::CachedFont::CachedFont):
2283         * loader/cache/CachedFont.h:
2284         * loader/cache/CachedImage.cpp: Ditto.
2285         (WebCore::CachedImage::CachedImage):
2286         * loader/cache/CachedImage.h:
2287         * loader/cache/CachedRawResource.cpp: Ditto.
2288         (WebCore::CachedRawResource::CachedRawResource):
2289         * loader/cache/CachedRawResource.h:
2290         * loader/cache/CachedResource.cpp: Ditto.
2291         (WebCore::CachedResource::CachedResource):
2292         (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache.
2293         * loader/cache/CachedResource.h:
2294         (WebCore::CachedResource::sessionID):
2295         * loader/cache/CachedResourceLoader.cpp:
2296         (WebCore::createResource): Constructors take sessionID.
2297         (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page.
2298         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache.
2299         (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID.
2300         (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID.
2301         (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID.
2302         * loader/cache/CachedResourceLoader.h:
2303         * loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID.
2304         (WebCore::CachedSVGDocument::CachedSVGDocument):
2305         * loader/cache/CachedSVGDocument.h:
2306         * loader/cache/CachedScript.cpp: Ditto.
2307         (WebCore::CachedScript::CachedScript):
2308         * loader/cache/CachedScript.h:
2309         * loader/cache/CachedTextTrack.cpp: Ditto.
2310         (WebCore::CachedTextTrack::CachedTextTrack):
2311         * loader/cache/CachedTextTrack.h:
2312         * loader/cache/CachedXSLStyleSheet.cpp: Ditto.
2313         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
2314         * loader/cache/CachedXSLStyleSheet.h:
2315         * loader/cache/MemoryCache.cpp:
2316         (WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID.
2317         (WebCore::MemoryCache::add): Use sessionID from CachedResource parameter.
2318         (WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter.
2319         (WebCore::MemoryCache::resourceForURL): Ditto.
2320         (WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method.
2321         (WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter.
2322         (WebCore::MemoryCache::addImageToCache): Use default sessionID.
2323         (WebCore::MemoryCache::removeImageFromCache): Ditto.
2324         (WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter.
2325         (WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps.
2326         (WebCore::MemoryCache::getOriginsWithCache): Ditto.
2327         (WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter.
2328         (WebCore::MemoryCache::removeRequestFromCache): Ditto.
2329         (WebCore::MemoryCache::removeRequestFromSessionCaches): Remove request from all CachedResourceMaps, with multithread support.
2330         (WebCore::MemoryCache::removeRequestFromCacheImpl): Add sessionID parameter.
2331         (WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Iterate through all CachedResourceMaps.
2332         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter.
2333         (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Pass on request to removeRequestFromSessionCachesImpl.
2334         (WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps.
2335         (WebCore::MemoryCache::setDisabled): Ditto.
2336         * loader/cache/MemoryCache.h: Create another level for cache.
2337         * platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads.
2338         (WebCore::SessionID>::copy):
2339         * platform/CrossThreadCopier.h:
2340         * platform/network/cf/ResourceRequest.h:
2341         (WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace.
2342         * rendering/RenderSnapshottedPlugIn.cpp:
2343         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID.
2344         * testing/Internals.cpp:
2345         (WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache.
2346
2347 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
2348
2349         [GTK][CMake] Generate documentation for the DOM bindings
2350         https://bugs.webkit.org/show_bug.cgi?id=126211
2351
2352         Reviewed by Carlos Garcia Campos.
2353
2354         * PlatformGTK.cmake: Add some files to the GObjectDOMBindings build, so that the
2355         doc generation succeeds. Have the GObjectDOMBindings_INSTALLED_HEADERS variable contain
2356         all installed headers and use another variable for GIR generation. Create the configuration
2357         file for the gtkdoc generation.
2358
2359 2014-03-05  Zalan Bujtas  <zalan@apple.com>
2360
2361         Subpixel rendering: Wrong cliprect on absolute positioned elements.
2362         https://bugs.webkit.org/show_bug.cgi?id=129656
2363
2364         Reviewed by Simon Fraser.
2365
2366         outlineBoundsForRepaint() is expected to return the outline repaint rect. Using enclosingIntRect()
2367         to calculate the outline boundaries breaks repaint logic in RenderElement::repaintAfterLayoutIfNeeded().
2368         Since enclosingIntRect() can return bigger rect than repaint rect, the old/new bounds' dimensions could end up
2369         being different which triggers the size change repaint code path.
2370
2371         Test: fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html
2372
2373         * rendering/RenderBox.cpp:
2374         (WebCore::RenderBox::outlineBoundsForRepaint):
2375         * rendering/RenderElement.cpp:
2376         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
2377         * rendering/svg/RenderSVGModelObject.cpp:
2378         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
2379
2380 2014-03-05  Krzysztof Czech  <k.czech@samsung.com>
2381
2382         [ATK] Expose missing functionalities of AtkTableCell to AT.
2383         https://bugs.webkit.org/show_bug.cgi?id=129492
2384
2385         Reviewed by Mario Sanchez Prada.
2386
2387         Implemented missing API of AtkTableCell.
2388
2389         No new tests. Covered by existing ones.
2390
2391         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
2392         (webkitAccessibleTableCellGetColumnSpan):
2393         (webkitAccessibleTableCellGetRowSpan):
2394         (webkitAccessibleTableCellGetPosition):
2395         (webkitAccessibleTableCellGetTable):
2396         (webkitAccessibleTableCellInterfaceInit):
2397
2398 2014-03-05  Andres Gomez  <agomez@igalia.com>
2399
2400         [GStreamer] WebSource doesn't need the "iradio-mode" property
2401         https://bugs.webkit.org/show_bug.cgi?id=129685
2402
2403         Reviewed by Philippe Normand.
2404
2405         Removed the "iradio-mode" property from the WK source element
2406         since this was only available for its modification from
2407         playbin/uridecodebin and, as discussed in GStreamer bug #725383,
2408         it was not being set and now is going to be removed.
2409
2410         It is safe just to send always the "icy-metadata" header set and
2411         deal with returning "icy" headers as we were already doing.
2412
2413         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2414         (webKitWebSrcSetProperty):
2415         (webKitWebSrcGetProperty):
2416         (webKitWebSrcStart):
2417
2418 2014-03-05  Chang Shu  <cshu@webkit.org>
2419
2420         Copying wrapping text results in multiple spaces between wrapped lines stripped.
2421         https://bugs.webkit.org/show_bug.cgi?id=129609.
2422
2423         Reviewed by Ryosuke Niwa.
2424
2425         While checking the condition of restoring the missing space, the collapsed spaces
2426         may not be exactly one.
2427
2428         editing/pasteboard/copy-text-with-wrapped-tag.html is enhanced to test this case.
2429
2430         * editing/TextIterator.cpp:
2431         (WebCore::TextIterator::handleTextBox):
2432
2433 2014-03-05  Ryosuke Niwa  <rniwa@webkit.org>
2434
2435         appendChild shouldn't invalidate LiveNodeLists and HTMLCollections if they don't have valid caches
2436         https://bugs.webkit.org/show_bug.cgi?id=129727
2437
2438         Reviewed by Andreas Kling.
2439
2440         Before this patch, invalidateNodeListAndCollectionCachesInAncestors invalidated node lists and HTML
2441         collections on ancestors of a node whenever we're inserting or removing a child node. This patch
2442         makes HTMLCollections and LiveNodeLists register themselves with Document only when they have valid
2443         caches.
2444
2445         Each user of CollectionIndexCache now implements willValidateIndexCache member function that gets
2446         called when CollectionIndexCache caches any state and necessitates the registration with document.
2447
2448         * dom/ChildNodeList.h: Added an empty willValidateIndexCache since child node lists are never
2449         registered with document.
2450
2451         * dom/CollectionIndexCache.h:
2452         (WebCore::CollectionIndexCache::hasValidCache): Added.
2453         (WebCore::CollectionIndexCache::nodeCount): Calls willValidateIndexCache when caching node count.
2454         (WebCore::CollectionIndexCache::nodeAfterCached): Ditto. Also assert that hasValidCache() true in
2455         the cases where we're simply updating our caches or adding more caches.
2456         (WebCore::CollectionIndexCache::nodeAt): Ditto. Also added a code to set the length cache when
2457         we've reached the end of the list. This should be a slight speed up on some cases.
2458
2459         * dom/Document.cpp:
2460         (WebCore::Document::Document): Initializes a variable used by assertions.
2461         (WebCore::Document::unregisterNodeList): Added an early exit for when m_listsInvalidatedAtDocument
2462         is empty since invalidateNodeListAndCollectionCaches swaps out the list.
2463         (WebCore::Document::registerCollection): Removed the boolean hasIdNameMap since we now explicitly
2464         call collectionCachedIdNameMap in HTMLCollection.
2465         (WebCore::Document::unregisterCollection): Ditto. Exit early if m_collectionsInvalidatedAtDocument
2466         is empty since invalidateNodeListAndCollectionCaches swaps out the list.
2467         * dom/Document.h:
2468
2469         * dom/LiveNodeList.cpp:
2470         (WebCore::LiveNodeList::invalidateCache): Unregister the node list with document if we had caches.
2471         * dom/LiveNodeList.h:
2472         (WebCore::LiveNodeList::LiveNodeList):
2473         (WebCore::LiveNodeList::~LiveNodeList): Ditto.
2474         (WebCore::LiveNodeList::invalidateCache): Pass around document. This is necessary since document()
2475         had already moved to the new document inside NodeListsNodeData::invalidateCaches.
2476         (WebCore::LiveNodeList::willValidateIndexCache): Added. Registers itself with document.
2477
2478         * dom/Node.cpp:
2479         (WebCore::Document::invalidateNodeListAndCollectionCaches): Swap the lists since invalidateCache
2480         tries to unregister node lists and HTML collections with document. Since this is the only case in
2481         which node lists and HTML collections being removed may not be in the lists in unregisterNodeList
2482         and unregisterCollection, assert this condition via m_inInvalidateNodeListAndCollectionCaches.
2483         (WebCore::NodeListsNodeData::invalidateCaches):
2484
2485         * dom/NodeRareData.h:
2486         (WebCore::NodeListsNodeData::adoptDocument): Unregister node lists and HTML collections from old
2487         document via invalidateCache. We need to explicitly pass in oldDocument here since owner node's
2488         document had already been changed to newDocument at this point. Since we're invalidating caches,
2489         there is no need to register node lists and HTML collections with newDocument.
2490
2491         * html/HTMLCollection.cpp:
2492         (WebCore::HTMLCollection::HTMLCollection):
2493         (WebCore::HTMLCollection::~HTMLCollection): Unregister the node list with document if we had caches.
2494         (WebCore::HTMLCollection::invalidateCache): Ditto.
2495         (WebCore::HTMLCollection::invalidateNamedElementCache):
2496         * html/HTMLCollection.h:
2497         (WebCore::HTMLCollection::invalidateCache): Pass around document as done in LiveNodeList.
2498         (WebCore::HTMLCollection::willValidateIndexCache): Ditto.
2499
2500         * html/HTMLFormControlsCollection.cpp:
2501         (WebCore::HTMLFormControlsCollection::invalidateCache): Ditto.
2502         * html/HTMLFormControlsCollection.h:
2503
2504         * html/HTMLSelectElement.cpp:
2505         (WebCore::HTMLSelectElement::invalidateSelectedItems): Ditto.
2506         (WebCore::HTMLSelectElement::setRecalcListItems): Ditto.
2507
2508 2014-03-05  Jon Lee  <jonlee@apple.com>
2509
2510         Fix linker error after r165087
2511         https://bugs.webkit.org/show_bug.cgi?id=129730
2512
2513         Reviewed by Csaba Osztrogonác.
2514
2515         * WebCore.exp.in: Remove undefined symbol __ZN7WebCore32WebVideoFullscreenChangeObserverD2Ev.
2516
2517 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2518
2519         Enable device pixel repaint rect tracking.
2520         https://bugs.webkit.org/show_bug.cgi?id=129712
2521
2522         Reviewed by Simon Fraser.
2523
2524         Tracked repaint rects are device pixel snapped now to support hiDPI test cases.
2525
2526         Test: fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html
2527
2528         * WebCore.exp.in:
2529         * page/FrameView.cpp:
2530         (WebCore::FrameView::addTrackedRepaintRect):
2531         (WebCore::FrameView::trackedRepaintRectsAsText): Print them as LayoutUnits to get
2532         trailing zeros cut off.
2533         * page/FrameView.h:
2534         * rendering/RenderLayer.cpp:
2535         (WebCore::RenderLayer::calculateClipRects):
2536         * rendering/RenderLayer.h:
2537         * rendering/RenderLayerBacking.cpp:
2538         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
2539         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2540         * rendering/RenderView.cpp:
2541         (WebCore::RenderView::repaintViewRectangle):
2542
2543 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2544
2545         Don't clamp scrolling node offsets when the offset is changed by delegated scrolling
2546         https://bugs.webkit.org/show_bug.cgi?id=129724
2547
2548         Reviewed by Sam Weinig.
2549         
2550         Call setScrollPositionWithoutContentEdgeConstraints() from
2551         ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that
2552         layers are not clamped during rubber-banding.
2553         
2554         This requires making setScrollPositionWithoutContentEdgeConstraints()
2555         a pure virtual function on the base class.
2556
2557         * page/scrolling/ScrollingTree.cpp:
2558         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
2559         * page/scrolling/ScrollingTreeScrollingNode.h:
2560         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
2561         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2562
2563 2014-03-04  Jeremy Jones  <jeremyj@apple.com>
2564
2565         WebVideoFullscreen, should make the hand off of the video layer explicit.
2566         https://bugs.webkit.org/show_bug.cgi?id=128844
2567
2568         Reviewed by Simon Fraser.
2569
2570         This change introduces a more explicit hand-off of the video layer.
2571         This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
2572         WebVideoFullscreenModel <-> WebVideoFullscreenInterface
2573               enterFullScreen(*) ->
2574                                 <- borrowVideoLayer
2575               willLendVideoLayer ->
2576                didLendVideoLayer ->
2577                                 <- didEnterFullscreen
2578                                 ...
2579                                 <- requestExitFullscreen
2580                   exitFullscreen ->
2581                                 <- returnVideoLayer
2582                                 <- didExitFullscreen
2583         (*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.
2584
2585         * WebCore.exp.in:
2586         Export new functions in WebVideoFullscreenInterfaceAVKit, WebVideoFullscreenModelMediaElement, etc.
2587
2588         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2589         Add WebVideoFullscreenControllerChangeObserver to forward fullscreen callbacks to WebVideoFullscreenController
2590
2591         (WebVideoFullscreenControllerChangeObserver::setTarget):
2592         Sets obj-c target of fullscreen change callbacks.
2593
2594         (-[WebVideoFullscreenController init]):
2595         Point _changeObserver's target at self.
2596
2597         (-[WebVideoFullscreenController dealloc]):
2598         Clear _changeObserver's target.
2599
2600         (-[WebVideoFullscreenController enterFullscreen:]):
2601         Retain self to prevent dealloc during animation or while fullscreen.
2602         Connect _interface to _changeObserver.
2603
2604         (-[WebVideoFullscreenController exitFullscreen]):
2605         Remove use of completion move cleanup to -didExitFullscreen.
2606
2607         (-[WebVideoFullscreenController didEnterFullscreen]):
2608         Nothing to see here.
2609
2610         (-[WebVideoFullscreenController didExitFullscreen]):
2611         Move clean up code that was in a completion to here.
2612
2613         * platform/ios/WebVideoFullscreenInterface.h:
2614         Add delarations for more explicit hand-off of video layer.
2615
2616         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2617         Add WebVideoFullscreenChangeObserver to notify when fullscreen animations complete.
2618         Add declarations for more explicit hand-off of video layer.
2619         Add WebAVPlayerLayer now always wraps the m_videoLayer to prevent default behavior
2620         of AVPlayerLayer.
2621
2622         (WebCore::WebVideoFullscreenChangeObserver::~WebVideoFullscreenChangeObserver):
2623         Add empty virtual destructor.
2624
2625         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2626         Include AVKit headers instead of declaring everything locally.
2627         AVPlayerLayer protocol renamed to AVVideoLayer per AVKit.
2628
2629         (-[WebAVPlayerController dealloc]):
2630         Don't refer to self.
2631
2632         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
2633         Pause before requesting exit fullscreen.
2634
2635         (-[WebAVPlayerLayer setPlayerController:]):
2636         This is required by AVVideoLayer, but we don't need it.
2637
2638         (WebVideoFullscreenInterfaceAVKit::playerController):
2639         White space.
2640
2641         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver):
2642         Set observer to forward fullscreen changes to.
2643
2644         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2645         Use more explicit video layer hand-off.
2646
2647         (WebVideoFullscreenInterfaceAVKit::doEnterFullscreen):
2648         Move enterFullscreen logic here.
2649         AVPlayerViewController now takes the video layer at init time.
2650         Always provide a video layer wrapped in a WebAVPlayerLayer.
2651
2652         (WebVideoFullscreenInterfaceAVKit::willLendVideoLayer):
2653         Use more explicit video layer hand-off.
2654
2655         (WebVideoFullscreenInterfaceAVKit::didLendVideoLayer):
2656         Use more explicit video layer hand-off.
2657
2658         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2659         Use more explicit video layer hand-off.
2660
2661         * platform/ios/WebVideoFullscreenModel.h:
2662         Add functions for more explicit video layer hand-off.
2663
2664         * platform/ios/WebVideoFullscreenModelMediaElement.h:
2665         Mark virtual functions as virtual.
2666         Add changes for WebVideoFullscreenModel.
2667
2668         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
2669         Use more explicit video layer hand-off.
2670
2671         (WebVideoFullscreenModelMediaElement::setMediaElement):
2672         Don't push the video layer. Wait for a request for it.
2673
2674         (WebVideoFullscreenModelMediaElement::handleEvent):
2675         Make sure m_videoFullscreenInterface is valid.
2676
2677         (WebVideoFullscreenModelMediaElement::borrowVideoLayer):
2678         Use more explicit video layer hand-off.
2679         Lend videoLayer in request to a request to borrow the videoLayer.
2680         Make sure to retain the video layer before it is removed from the layer tree.
2681
2682         (WebVideoFullscreenModelMediaElement::returnVideoLayer):
2683         Use more explicit video layer hand-off.
2684
2685         (WebVideoFullscreenModelMediaElement::requestExitFullscreen):
2686         Don't clear the mediaElement reference until completely exited from fullscreen.
2687
2688 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2689
2690         Get position:fixed working slightly better on iOS
2691         https://bugs.webkit.org/show_bug.cgi?id=129714
2692
2693         Reviewed by Benjamin Poulain.
2694
2695         Send the scroll position as a FloatPoint, rather than an IntPoint.
2696
2697         * WebCore.exp.in:
2698         * page/scrolling/ScrollingTree.cpp:
2699         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
2700         * page/scrolling/ScrollingTree.h:
2701
2702 2014-03-04  Alex Christensen  <achristensen@webkit.org>
2703
2704         Fixed Windows build without MEDIA_CONTROLS_SCRIPT enabled.
2705         https://bugs.webkit.org/show_bug.cgi?id=129701
2706
2707         Reviewed by Jer Noble.
2708
2709         * WebCore.vcxproj/WebCore.vcxproj:
2710         * DerivedSources.cpp:
2711         Moved UserAgentScriptsData.cpp to DerivedSources.cpp to only be built if MEDIA_CONTROLS_SCRIPT is enabled.
2712         * DerivedSources.make:
2713         Only generate UserAgentScripts.cpp/h when USER_AGENT_SCRIPTS is non-empty.
2714         * rendering/RenderThemeWin.cpp:
2715         Only include UserAgentScripts.h when MEDIA_CONTROLS_SCRIPT is enabled.
2716
2717 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2718
2719         Allow iOS DumpRenderTree crashes to show application-specific information
2720         https://bugs.webkit.org/show_bug.cgi?id=129705
2721
2722         Reviewed by David Kilzer.
2723
2724         Make the WKSI function SetCrashReportApplicationSpecificInformation available
2725         in iOS simulator builds.
2726
2727         * WebCore.exp.in:
2728         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2729         * platform/mac/WebCoreSystemInterface.h:
2730
2731 2014-03-04  Andreas Kling  <akling@apple.com>
2732
2733         Spam static branch prediction hints on JS bindings.
2734         <https://webkit.org/b/129703>
2735
2736         Add UNLIKELY hints to all !castedThis and exec->hadException() paths
2737         in the JS bindings since they are almost always going to get skipped.
2738
2739         Reviewed by Geoff Garen.
2740
2741         * bindings/scripts/CodeGeneratorJS.pm:
2742         (GenerateImplementation):
2743         (GenerateParametersCheck):
2744         (GenerateImplementationFunctionCall):
2745         (GenerateConstructorDefinition):
2746
2747 2014-03-04  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2748
2749         Remove unused StdDeviation from Gaussian Blur effect
2750         https://bugs.webkit.org/show_bug.cgi?id=129693
2751
2752         Reviewed by Simon Fraser.
2753
2754         No new tests, no change on behavior.
2755
2756         * platform/graphics/filters/FEGaussianBlur.cpp:
2757         * platform/graphics/filters/FEGaussianBlur.h:
2758
2759 2014-03-04  Andreas Kling  <akling@apple.com>
2760
2761         Add a Document::updateStyleIfNeededForNode(Node&).
2762         <https://webkit.org/b/129689>
2763
2764         Generalize the mechanism that computed style uses to avoid doing full
2765         style updates when the node we're interested in isn't actually dirty.
2766
2767         Reviewed by Antti Koivisto.
2768
2769         * css/CSSComputedStyleDeclaration.cpp:
2770         (WebCore::ComputedStyleExtractor::propertyValue):
2771         * dom/Document.cpp:
2772         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2773         (WebCore::Document::updateStyleIfNeededForNode):
2774         * dom/Document.h:
2775         * editing/htmlediting.cpp:
2776         (WebCore::isEditablePosition):
2777         * html/HTMLInputElement.cpp:
2778         (WebCore::HTMLInputElement::defaultEventHandler):
2779
2780 2014-03-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2781
2782         Merge API shims and JSLock
2783         https://bugs.webkit.org/show_bug.cgi?id=129650
2784
2785         Reviewed by Mark Lam.
2786
2787         No new tests.
2788
2789         JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason 
2790         to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.
2791
2792         * bindings/js/DOMRequestState.h:
2793         (WebCore::DOMRequestState::Scope::Scope):
2794         * bindings/js/JSDOMPromise.h:
2795         (WebCore::DeferredWrapper::resolve):
2796         (WebCore::DeferredWrapper::reject):
2797         (WebCore::DeferredWrapper::resolve<String>):
2798         (WebCore::DeferredWrapper::resolve<bool>):
2799         (WebCore::char>>):
2800         (WebCore::DeferredWrapper::reject<String>):
2801         * bindings/js/ScriptController.cpp:
2802         (WebCore::ScriptController::evaluateInWorld):
2803         * bindings/js/SerializedScriptValue.cpp:
2804         (WebCore::SerializedScriptValue::create):
2805         (WebCore::SerializedScriptValue::deserialize):
2806
2807 2014-03-04  Beth Dakin  <bdakin@apple.com>
2808
2809         REGRESSION: Overlay scrollbars that have grown are sometimes askew in the track
2810         https://bugs.webkit.org/show_bug.cgi?id=129691
2811         -and corresponding-
2812         <rdar://problem/15666846>
2813
2814         Reviewed by Simon Fraser.
2815
2816         This regression started happening after we adopted the setPresentationValue 
2817         ScrollbarPainter API which allows us to update the position of the scrollbar knob 
2818         from our secondary scrolling thread. The bug occurs when the scrollbar grows while 
2819         it still thinks it is in presentation-value mode. Whenever the scrollbar grows, it 
2820         should be in non-presentation value mode.
2821
2822         If the wheel event has ended or been cancelled, we can switch out of presentation 
2823         value mode.
2824         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2825         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
2826
2827         Sometimes we will grow the scrollbar before we have received a wheel event with 
2828         the end or cancelled phase, and so automatically switch out of presentation-value 
2829         mode whenever we start one of these animations.
2830         * platform/mac/ScrollAnimatorMac.mm:
2831         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2832
2833 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
2834
2835         Move Source/WebCore/html/track/ code to std::unique_ptr
2836         https://bugs.webkit.org/show_bug.cgi?id=129666
2837
2838         Reviewed by Eric Carlson.
2839
2840         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/track/ with std::unique_ptr.
2841
2842         * html/track/AudioTrack.h:
2843         * html/track/InbandWebVTTTextTrack.cpp:
2844         (WebCore::InbandWebVTTTextTrack::parseWebVTTCueData):
2845         * html/track/InbandWebVTTTextTrack.h:
2846         * html/track/LoadableTextTrack.cpp:
2847         (WebCore::LoadableTextTrack::loadTimerFired):
2848         (WebCore::LoadableTextTrack::newCuesAvailable):
2849         (WebCore::LoadableTextTrack::cueLoadingCompleted):
2850         (WebCore::LoadableTextTrack::newRegionsAvailable):
2851         * html/track/LoadableTextTrack.h:
2852         * html/track/TextTrack.h:
2853         * html/track/TextTrackCue.h:
2854         * html/track/TextTrackRegion.h:
2855         * html/track/VTTCue.cpp:
2856         (WebCore::VTTCue::createWebVTTNodeTree):
2857         (WebCore::VTTCue::markFutureAndPastNodes):
2858         * html/track/VTTCue.h:
2859         * html/track/VideoTrack.h:
2860         * html/track/WebVTTParser.cpp:
2861         (WebCore::WebVTTParser::WebVTTParser):
2862         * html/track/WebVTTParser.h:
2863         * html/track/WebVTTTokenizer.h:
2864         * loader/TextTrackLoader.cpp:
2865         (WebCore::TextTrackLoader::processNewCueData):
2866         * loader/TextTrackLoader.h:
2867
2868 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2869
2870         Subpixel rendering: Make border-radius painting device pixel aware.
2871         https://bugs.webkit.org/show_bug.cgi?id=129558
2872
2873         Reviewed by Simon Fraser.
2874
2875         Snap rounded rects to device pixels right before passing them to GraphicsContext.
2876
2877         * rendering/RenderBoxModelObject.cpp:
2878         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
2879         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2880         (WebCore::RenderBoxModelObject::paintBorder):
2881         * rendering/RenderBoxModelObject.h:
2882         * rendering/RenderReplaced.cpp:
2883         (WebCore::RenderReplaced::paint):
2884         * rendering/RenderWidget.cpp:
2885         (WebCore::RenderWidget::paint):
2886
2887 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2888
2889         Crashes and assertions running iOS compositing tests
2890         https://bugs.webkit.org/show_bug.cgi?id=129688
2891
2892         Reviewed by Dean Jackson.
2893         
2894         When a layer is no longer composited, we need to unregister it
2895         from the scrolling coordinator, and remove it from m_scrollCoordinatedLayers.
2896
2897         Tested by compositing tests on iOS.
2898
2899         * rendering/RenderLayerCompositor.cpp:
2900         (WebCore::RenderLayerCompositor::updateBacking):
2901
2902 2014-03-04  Antti Koivisto  <antti@apple.com>
2903
2904         Update bindings test results after r165046.
2905
2906         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2907         (webkit_dom_test_obj_set_property):
2908         (webkit_dom_test_obj_set_reflected_string_attr):
2909         (webkit_dom_test_obj_set_reflected_url_attr):
2910         (webkit_dom_test_obj_set_reflected_custom_url_attr):
2911         * bindings/scripts/test/JS/JSTestObj.cpp:
2912         (WebCore::setJSTestObjReflectedStringAttr):
2913         (WebCore::setJSTestObjReflectedURLAttr):
2914         (WebCore::setJSTestObjReflectedCustomURLAttr):
2915         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2916         (-[DOMTestObj setReflectedStringAttr:]):
2917         (-[DOMTestObj setReflectedURLAttr:]):
2918         (-[DOMTestObj setReflectedCustomURLAttr:]):
2919
2920 2014-03-04  Martin Robinson  <mrobinson@igalia.com>
2921
2922         [GTK] Simplify the GObject DOM bindings API break check into one step
2923         https://bugs.webkit.org/show_bug.cgi?id=129571
2924
2925         Reviewed by Carlos Garcia Campos.
2926
2927         * bindings/gobject/GNUmakefile.am: We no longer generate the webkitdom.symbols file in the
2928         DerivedSources directory. All the logic is handled internally in the script now.
2929         * bindings/scripts/gobject-run-api-break-test: Removed.
2930
2931 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2932
2933         Build fix for iOS.
2934
2935         * rendering/RenderThemeIOS.mm:
2936         (WebCore::RenderThemeIOS::addRoundedBorderClip):
2937         (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
2938
2939 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2940
2941         Subpixel rendering: Make GraphicsLayer::fillRect FloatRoundedRect based and cleanup dependencies.
2942         https://bugs.webkit.org/show_bug.cgi?id=129557
2943
2944         Reviewed by Simon Fraser.
2945
2946         This is the preparation for snapping rounded rects to device pixel position. It enables
2947         device pixel aware border-radius painting.
2948
2949         No change in functionality.
2950
2951         * platform/efl/RenderThemeEfl.cpp:
2952         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
2953         * platform/graphics/FloatRoundedRect.cpp:
2954         (WebCore::FloatRoundedRect::FloatRoundedRect):
2955         (WebCore::FloatRoundedRect::isRenderable):
2956         * platform/graphics/FloatRoundedRect.h:
2957         * platform/graphics/GraphicsContext.cpp:
2958         (WebCore::GraphicsContext::clipRoundedRect):
2959         (WebCore::GraphicsContext::clipOutRoundedRect):
2960         (WebCore::GraphicsContext::fillRoundedRect):
2961         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2962         * platform/graphics/GraphicsContext.h:
2963         * platform/graphics/Path.cpp:
2964         (WebCore::Path::addRoundedRect):
2965         * platform/graphics/Path.h:
2966         * platform/graphics/RoundedRect.cpp:
2967         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
2968         * platform/graphics/RoundedRect.h:
2969         * platform/graphics/ShadowBlur.cpp:
2970         (WebCore::ShadowBlur::drawRectShadow):
2971         (WebCore::ShadowBlur::drawInsetShadow):
2972         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2973         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2974         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2975         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2976         * platform/graphics/ShadowBlur.h:
2977         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2978         (WebCore::GraphicsContext::fillRect):
2979         (WebCore::GraphicsContext::platformFillRoundedRect):
2980         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2981         * platform/graphics/cg/GraphicsContextCG.cpp:
2982         (WebCore::GraphicsContext::fillRect):
2983         (WebCore::GraphicsContext::platformFillRoundedRect):
2984         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2985         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2986         (WebCore::GraphicsContext::fillRoundedRect):
2987         * platform/gtk/RenderThemeGtk.cpp:
2988         (WebCore::borderRadiiFromStyle):
2989         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2990         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
2991         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
2992         * platform/win/DragImageWin.cpp:
2993         (WebCore::createDragImageForLink):
2994         * rendering/RenderBox.cpp:
2995         (WebCore::RenderBox::paintBoxDecorations):
2996         (WebCore::RenderBox::pushContentsClip):
2997         * rendering/RenderBoxModelObject.cpp:
2998         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
2999         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3000         (WebCore::RenderBoxModelObject::paintBorder):
3001         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
3002         (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
3003         (WebCore::RenderBoxModelObject::paintBoxShadow):
3004         * rendering/RenderLayer.cpp:
3005         (WebCore::RenderLayer::clipToRect):
3006         * rendering/RenderThemeIOS.mm:
3007         (WebCore::RenderThemeIOS::paintRadioDecorations):
3008         (WebCore::RenderThemeIOS::paintTextFieldDecorations):
3009         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
3010         (WebCore::RenderThemeIOS::paintSliderTrack):
3011         (WebCore::RenderThemeIOS::paintProgressBar):
3012         (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
3013         * rendering/RenderThemeMac.mm:
3014         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3015         (WebCore::RenderThemeMac::paintSliderTrack):
3016         * rendering/RenderThemeSafari.cpp:
3017         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
3018         (WebCore::RenderThemeSafari::paintSliderTrack):
3019         * rendering/shapes/BoxShape.cpp:
3020         (WebCore::BoxShape::buildDisplayPaths):
3021         * rendering/style/BasicShapes.cpp:
3022         (WebCore::BasicShapeInset::path):
3023
3024 2014-03-04  Andreas Kling  <akling@apple.com>
3025
3026         Micro-optimize Strings in JS bindings.
3027         <https://webkit.org/b/129673>
3028
3029         Tweaked for new jsStringWithWeakOwner signature. This patch removes
3030         36 bytes of code from every wrapper getter that returns a DOMString.
3031
3032         Reviewed by Ryosuke Niwa.
3033
3034         * bindings/js/JSDOMBinding.h:
3035         (WebCore::jsStringWithCache):
3036
3037 2014-03-03  David Kilzer  <ddkilzer@apple.com>
3038
3039         SVGPropertyTearOffs should detachChildren before deleting its value.
3040         <http://webkit.org/b/129618>
3041         <rdar://problem/15661617>
3042
3043         Reviewed by Maciej Stachowiak.
3044
3045         Merged from Blink (patch by kouhei@chromium.org):
3046         https://src.chromium.org/viewvc/blink?revision=158563&view=revision
3047         http://crbug.com/296276
3048
3049         Test: svg/transforms/svg-matrix-tearoff-crash.html
3050
3051         NOTE: The test does not reproduce a crash on WebKit using
3052         JavaScriptCore.
3053
3054         * svg/properties/SVGPropertyTearOff.h:
3055         (WebCore::SVGPropertyTearOff::setValue):
3056         (WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):
3057         - Call detachChildren() if m_value is a copy.  The original
3058           Blink patch did not modify the destructor code path, although
3059           that seems obvious via code inspection.
3060
3061 2014-03-04  Zalan Bujtas  <zalan@apple.com>
3062
3063         Subpixel rendering: Incorrect repaint rect cuts off content's right edge after move.
3064         https://bugs.webkit.org/show_bug.cgi?id=129652
3065
3066         Reviewed by Simon Fraser.
3067
3068         When repaint rect is adjusted in order to take the distance from renderer into account,
3069         the accumulated fraction value need to be added too. This is always a positive value.
3070
3071         Test: fast/borders/hidpi-border-clipping-right-after-move.html
3072
3073         * rendering/RenderLayerBacking.cpp:
3074         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
3075
3076 2014-03-04  Ryuan Choi  <ryuan.choi@samsung.com>
3077
3078         Remove unused member variable of NetworkInfoController
3079         https://bugs.webkit.org/show_bug.cgi?id=129674
3080
3081         Reviewed by Gyuyoung Kim.
3082
3083         * Modules/networkinfo/NetworkInfoController.cpp:
3084         (WebCore::NetworkInfoController::NetworkInfoController):
3085         (WebCore::NetworkInfoController::create):
3086         (WebCore::provideNetworkInfoTo):
3087         * Modules/networkinfo/NetworkInfoController.h: Removed m_page which is not really used.
3088
3089 2014-02-07  Sergio Villar Senin  <svillar@igalia.com>
3090
3091         [CSS Grid Layout] Percentages of indefinite sizes should compute to auto
3092         https://bugs.webkit.org/show_bug.cgi?id=128173
3093
3094         Reviewed by Darin Adler.
3095
3096         We should treat percentages of indefinite sizes as auto as
3097         mandated by the spec. Otherwise we would end up calculating a
3098         percentage of -1, the value we use to represent infinite.
3099
3100         Added some test cases to the current tests.
3101
3102         * rendering/RenderGrid.cpp:
3103         (WebCore::RenderGrid::gridTrackSize):
3104         * rendering/style/GridTrackSize.h:
3105         (WebCore::GridTrackSize::isPercentage):
3106
3107 2014-03-04  Ryosuke Niwa  <rniwa@webkit.org>
3108
3109         Don't synchronize attributes in reflect setters when we don't need to
3110         https://bugs.webkit.org/show_bug.cgi?id=129662
3111
3112         Reviewed by Andreas Kling.
3113
3114         The vast majority of attributes don't need synchronization. Avoid calling synchronizeAttribute in setters
3115         for those content attributes generated by "Reflect" keyword in IDL.
3116
3117         * bindings/scripts/CodeGenerator.pm:
3118         (SetterExpression):
3119         * dom/Element.cpp:
3120         (WebCore::Element::setAttributeWithoutSynchronization): Added.
3121         * dom/Element.h:
3122
3123 2014-03-04  Andreas Kling  <akling@apple.com>
3124
3125         Remove Document::idAttributeName().
3126         <https://webkit.org/b/129663>
3127
3128         Reviewed by Ryosuke "DYEB" Niwa.
3129
3130         This abstraction is not actually used and causes unnecessary indirection
3131         in some pretty hot code paths.
3132
3133         Replace it with hard-coded HTMLNames::idAttr instead which is a compile
3134         time constant pointer. We can revisit this in the future if we wish to
3135         implement support for custom id attributes.
3136
3137         * dom/Attr.cpp:
3138         (WebCore::Attr::isId):
3139         * dom/Document.cpp:
3140         (WebCore::Document::Document):
3141         * dom/Document.h:
3142         * dom/Element.cpp:
3143         (WebCore::Element::attributeChanged):
3144         (WebCore::Element::willModifyAttribute):
3145         * dom/Element.h:
3146         (WebCore::Element::getIdAttribute):
3147         (WebCore::Element::getNameAttribute):
3148         (WebCore::Element::setIdAttribute):
3149         * html/HTMLElement.cpp:
3150         (WebCore::HTMLElement::parseAttribute):
3151         * html/HTMLFrameElementBase.cpp:
3152         (WebCore::HTMLFrameElementBase::parseAttribute):
3153         * html/HTMLMapElement.cpp:
3154         (WebCore::HTMLMapElement::parseAttribute):
3155         * svg/SVGElement.cpp:
3156         (WebCore::SVGElement::attributeChanged):
3157         (WebCore::SVGElement::isKnownAttribute):
3158         (WebCore::SVGElement::svgAttributeChanged):
3159
3160 2014-03-04  Ryosuke Niwa  <rniwa@webkit.org>
3161
3162         REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged
3163         https://bugs.webkit.org/show_bug.cgi?id=129550
3164
3165         Reviewed by Andreas Kling.
3166
3167         We can't store a reference to QualifiedName here because ensureUniqueElementData could delete QualifiedName inside Attribute.
3168
3169         Test: fast/dom/uniquing-attributes-via-setAttribute.html
3170
3171         * dom/Element.cpp:
3172         (WebCore::Element::setAttributeInternal):
3173
3174 2014-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
3175
3176         Move EvasGLContext and EvasGLSurface files into the efl common directory.
3177         https://bugs.webkit.org/show_bug.cgi?id=129603
3178
3179         Reviewed by Gyuyoung Kim.
3180
3181         EFL port will use EvasGLContext and EvasGLSurface files in both WK1 and WK2.
3182
3183         No new tests, just refactorings.
3184
3185         * PlatformEfl.cmake:
3186         * platform/graphics/efl/EvasGLContext.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.cpp.
3187         (WebKit::EvasGLContext::EvasGLContext):
3188         (WebKit::EvasGLContext::~EvasGLContext):
3189         * platform/graphics/efl/EvasGLContext.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.h.
3190         (WebKit::EvasGLContext::create):
3191         (WebKit::EvasGLContext::context):
3192         * platform/graphics/efl/EvasGLSurface.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.cpp.
3193         (WebKit::EvasGLSurface::EvasGLSurface):
3194         (WebKit::EvasGLSurface::~EvasGLSurface):
3195         * platform/graphics/efl/EvasGLSurface.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.h.
3196         (WebKit::EvasGLSurface::create):
3197         (WebKit::EvasGLSurface::surface):
3198
3199 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
3200
3201         Fix the GTK+ CMake build
3202
3203         * PlatformGTK.cmake: Add a missing file to the source list.
3204
3205 2014-03-03  Sanghyup Lee  <sh53.lee@samsung.com>
3206
3207         :active style is not cleared when its display property is set to none before mouse released.
3208         https://bugs.webkit.org/show_bug.cgi?id=129465
3209
3210         Reviewed by Antonio Gomes.
3211
3212         Source/WebCore:
3213
3214         We currently clearing the :active style when element has a renderer.
3215         This patch makes elements clear its active style regardless of renderer. 
3216
3217         * dom/Document.cpp:
3218         (WebCore::Document::updateHoverActiveState):
3219
3220         LayoutTests:
3221
3222         * fast/css/active-display-none-expected.txt: Added.
3223         * fast/css/active-display-none.html: Added.
3224
3225
3226 2014-03-03  Andreas Kling  <akling@apple.com>
3227
3228         Remove 2 unnecessary includes from JSDOMBinding.h
3229         <https://webkit.org/b/129619>
3230
3231         Reviewed by Antti Koivisto.
3232
3233         * bindings/js/JSDOMBinding.h:
3234
3235 2014-03-03  Myles C. Maxfield  <mmaxfield@apple.com>
3236
3237         GraphicsContext::drawLineForText needs to be exported from WebCore.dylib for iOS builds
3238         https://bugs.webkit.org/show_bug.cgi?id=129647
3239
3240         Reviewed by NOBODY (This is a build fix).
3241
3242         Fixing after r165025 and r165016.
3243
3244         No new tests as this is a build fix.
3245
3246         * WebCore.exp.in:
3247
3248 2014-03-03  Jer Noble  <jer.noble@apple.com>
3249
3250         [iOS] Start playback button misplaced
3251         https://bugs.webkit.org/show_bug.cgi?id=129628
3252
3253         Reviewed by Simon Fraser.
3254
3255         On YouTube embeds, while the video is loading it is placed into the DOM with a 0x0 size.
3256         This causes the start playback button to be visible in the upper-left corner of the embed
3257         area. The button wasn't visible previously (in plugin mode) because the plugin clipped its
3258         drawing to its bounds, and so the <video> shadow should do the same.
3259
3260         * Modules/mediacontrols/mediaControlsiOS.css:
3261         (::-webkit-media-controls):
3262
3263 2014-03-03  Enrica Casucci  <enrica@apple.com>
3264
3265         Build fix for iOS simulator.
3266
3267         * WebCore.exp.in:
3268
3269 2014-03-03  Jeremy Jones  <jeremyj@apple.com>
3270
3271         Forward application suspend resume notifications to the web process.
3272         https://bugs.webkit.org/show_bug.cgi?id=129356
3273
3274         Reviewed by Eric Carlson.
3275
3276         * platform/audio/ios/MediaSessionManagerIOS.mm:
3277         (-[WebMediaSessionHelper initWithCallback:]):
3278         Observe UIApplicationDidBecomeActiveNotification,
3279         WebUIApplicationDidBecomeActiveNotification,
3280         WebUIApplicationWillEnterForegroundNotification, and
3281         WebUIApplicationWillResignActiveNotification
3282         
3283         (-[WebMediaSessionHelper applicationDidBecomeActive:]):
3284         Resume session.
3285
3286 2014-03-03  Commit Queue  <commit-queue@webkit.org>
3287
3288         Unreviewed, rolling out r165013.
3289         http://trac.webkit.org/changeset/165013
3290         https://bugs.webkit.org/show_bug.cgi?id=129646
3291
3292         New code is not thread safe, asserting on a worker test
3293         (Requested by ap on #webkit).
3294
3295         * WebCore.exp.in:
3296         * editing/DeleteButtonController.cpp:
3297         (WebCore::DeleteButtonController::createDeletionUI):
3298         * html/DOMURL.cpp:
3299         (WebCore::DOMURL::revokeObjectURL):
3300         * inspector/InspectorPageAgent.cpp:
3301         (WebCore::InspectorPageAgent::cachedResource):
3302         * inspector/InspectorResourceAgent.cpp:
3303         (WebCore::InspectorResourceAgent::replayXHR):
3304         * loader/DocumentLoader.cpp:
3305         (WebCore::areAllLoadersPageCacheAcceptable):
3306         * loader/FrameLoader.cpp:
3307         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
3308         * loader/ImageLoader.cpp:
3309         (WebCore::ImageLoader::updateFromElement):
3310         * loader/archive/cf/LegacyWebArchive.cpp:
3311         (WebCore::LegacyWebArchive::create):
3312         * loader/cache/CachedCSSStyleSheet.cpp:
3313         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
3314         * loader/cache/CachedCSSStyleSheet.h:
3315         * loader/cache/CachedFont.cpp:
3316         (WebCore::CachedFont::CachedFont):
3317         * loader/cache/CachedFont.h:
3318         * loader/cache/CachedImage.cpp:
3319         (WebCore::CachedImage::CachedImage):
3320         * loader/cache/CachedImage.h:
3321         * loader/cache/CachedRawResource.cpp:
3322         (WebCore::CachedRawResource::CachedRawResource):
3323         * loader/cache/CachedRawResource.h:
3324         * loader/cache/CachedResource.cpp:
3325         (WebCore::CachedResource::CachedResource):
3326         (WebCore::CachedResource::~CachedResource):
3327         * loader/cache/CachedResource.h:
3328         * loader/cache/CachedResourceLoader.cpp:
3329         (WebCore::createResource):
3330         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
3331         (WebCore::CachedResourceLoader::requestResource):
3332         (WebCore::CachedResourceLoader::revalidateResource):
3333         (WebCore::CachedResourceLoader::loadResource):
3334         * loader/cache/CachedResourceLoader.h:
3335         * loader/cache/CachedSVGDocument.cpp:
3336         (WebCore::CachedSVGDocument::CachedSVGDocument):
3337         * loader/cache/CachedSVGDocument.h:
3338         * loader/cache/CachedScript.cpp:
3339         (WebCore::CachedScript::CachedScript):
3340         * loader/cache/CachedScript.h:
3341         * loader/cache/CachedTextTrack.cpp:
3342         (WebCore::CachedTextTrack::CachedTextTrack):
3343         * loader/cache/CachedTextTrack.h:
3344         * loader/cache/CachedXSLStyleSheet.cpp:
3345         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
3346         * loader/cache/CachedXSLStyleSheet.h:
3347         * loader/cache/MemoryCache.cpp:
3348         (WebCore::MemoryCache::add):
3349         (WebCore::MemoryCache::revalidationSucceeded):
3350         (WebCore::MemoryCache::resourceForURL):
3351         (WebCore::MemoryCache::resourceForRequest):
3352         (WebCore::MemoryCache::addImageToCache):
3353         (WebCore::MemoryCache::removeImageFromCache):
3354         (WebCore::MemoryCache::evict):
3355         (WebCore::MemoryCache::removeResourcesWithOrigin):
3356         (WebCore::MemoryCache::getOriginsWithCache):
3357         (WebCore::MemoryCache::removeUrlFromCache):
3358         (WebCore::MemoryCache::removeRequestFromCache):
3359         (WebCore::MemoryCache::removeRequestFromCacheImpl):
3360         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache):
3361         (WebCore::MemoryCache::getStatistics):
3362         (WebCore::MemoryCache::setDisabled):
3363         * loader/cache/MemoryCache.h:
3364         * platform/CrossThreadCopier.cpp:
3365         * platform/CrossThreadCopier.h:
3366         * platform/network/cf/ResourceRequest.h:
3367         (WebCore::ResourceRequest::ResourceRequest):
3368         * rendering/RenderSnapshottedPlugIn.cpp:
3369         (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
3370         * testing/Internals.cpp:
3371         (WebCore::Internals::isLoadingFromMemoryCache):
3372
3373 2014-03-03  Sam Weinig  <sam@webkit.org>
3374
3375         Fix the iOS Simulator build.
3376
3377         * WebCore.exp.in:
3378
3379 2014-03-03  Myles C. Maxfield  <mmaxfield@apple.com>
3380
3381         Space between double underlines does not scale with font size
3382         https://bugs.webkit.org/show_bug.cgi?id=129521
3383
3384         Reviewed by Simon Fraser.
3385
3386         This patch moves the logic about how far to draw the second underline (when text-decoration-style: double
3387         is specified) from InlineTextBox to GraphicsContext, because GraphicsContext is the authoritative source
3388         about how thick underlines should be. The space between the two underlines is set to the thickness of
3389         each of the underlines.
3390
3391         This patch also deletes some unused code in InlineTextBox that was never getting triggered, in addition
3392         to unifying drawLineForText with drawLinesForText. This didn't have any performance impact in my testing.
3393
3394         Test: fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html
3395
3396         * platform/graphics/GraphicsContext.h: drawLineForText takes a boolean for if we should draw double
3397         underlines.
3398         * platform/graphics/cg/GraphicsContextCG.cpp:
3399         (WebCore::GraphicsContext::drawLineForText):
3400         (WebCore::GraphicsContext::drawLinesForText):
3401         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3402         (WebCore::GraphicsContext::drawLineForText):
3403         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3404         (WebCore::GraphicsContext::drawLineForText):
3405         * rendering/InlineTextBox.cpp: Use new boolean argument
3406         (WebCore::drawSkipInkUnderline):
3407         (WebCore::InlineTextBox::paintDecoration):
3408
3409 2014-02-28  Chris Fleizach  <cfleizach@apple.com>
3410
3411         AX: Support IOS Accessibility in WK2
3412         https://bugs.webkit.org/show_bug.cgi?id=129527
3413
3414         Reviewed by Sam Weinig.
3415
3416         Update the iOS wrapper so that it can convert points to screen space in WebKit2.
3417
3418         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3419         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
3420         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
3421
3422 2014-03-03  Martin Hock  <mhock@apple.com>
3423
3424         Add support for sessions to MemoryCache.
3425         https://bugs.webkit.org/show_bug.cgi?id=127794
3426
3427         Reviewed by Sam Weinig.
3428
3429         * WebCore.exp.in:
3430         * editing/DeleteButtonController.cpp:
3431         (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID.
3432         * html/DOMURL.cpp:
3433         (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions.
3434         * inspector/InspectorPageAgent.cpp:
3435         (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache.
3436         * inspector/InspectorResourceAgent.cpp:
3437         (WebCore::InspectorResourceAgent::replayXHR): Ditto.
3438         * loader/DocumentLoader.cpp:
3439         (WebCore::areAllLoadersPageCacheAcceptable): Ditto.
3440         * loader/FrameLoader.cpp:
3441         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto.
3442         * loader/ImageLoader.cpp:
3443         (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID.
3444         * loader/archive/cf/LegacyWebArchive.cpp:
3445         (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache.
3446         * loader/cache/CachedCSSStyleSheet.cpp:
3447         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID.
3448         * loader/cache/CachedCSSStyleSheet.h:
3449         * loader/cache/CachedFont.cpp: Ditto.
3450         (WebCore::CachedFont::CachedFont):
3451         * loader/cache/CachedFont.h:
3452         * loader/cache/CachedImage.cpp: Ditto.
3453         (WebCore::CachedImage::CachedImage):
3454         * loader/cache/CachedImage.h:
3455         * loader/cache/CachedRawResource.cpp: Ditto.
3456         (WebCore::CachedRawResource::CachedRawResource):
3457         * loader/cache/CachedRawResource.h:
3458         * loader/cache/CachedResource.cpp: Ditto.
3459         (WebCore::CachedResource::CachedResource):
3460         (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache.
3461         * loader/cache/CachedResource.h:
3462         (WebCore::CachedResource::sessionID):
3463         * loader/cache/CachedResourceLoader.cpp:
3464         (WebCore::createResource): Constructors take sessionID.
3465         (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page.
3466         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache.
3467         (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID.
3468         (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID.
3469         (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID.
3470         * loader/cache/CachedResourceLoader.h: