REGRESSION(r141136): Apple's internal PLT test suite doesn't finish
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-06  Ryosuke Niwa  <rniwa@webkit.org>
2
3         REGRESSION(r141136): Apple's internal PLT test suite doesn't finish
4         https://bugs.webkit.org/show_bug.cgi?id=108380
5
6         Reviewed by Alexey Proskuryakov.
7
8         Re-enable the main resource cache since the regression had been fixed in r141615.
9
10         * loader/cache/CachedResourceLoader.cpp:
11         (WebCore::CachedResourceLoader::requestResource):
12
13 2013-02-06  Uday Kiran  <udaykiran@motorola.com>
14
15         Implement 'vmax' from CSS3 values and units
16         https://bugs.webkit.org/show_bug.cgi?id=91440
17
18         Reviewed by Antti Koivisto.
19
20         vmax is implemented as primitive length unit.
21         New length type ViewportPercentageMax is added and included support for fetching the value
22         of this viewport percentage unit based on current viewport size.
23
24         The specification related to this implementation is
25         http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
26
27         Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax-absolute.html
28                css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax.html
29
30         * css/CSSGrammar.y.in: Added vmax support.
31         * css/CSSParser.cpp: Parsing of vmax unit.
32         (WebCore::CSSParser::validUnit): Added vmax to valid units.
33         (WebCore::CSSParser::createPrimitiveNumericValue): Added vmax to primitive untis.
34         (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitive for vmax.
35         (WebCore::CSSParser::detectNumberToken): Parsing of vmax token.
36         * css/CSSParserValues.cpp:
37         (WebCore::CSSParserValue::createCSSValue): Added support for vmax.
38         * css/CSSPrimitiveValue.cpp:
39         (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vmax.
40         (WebCore::unitCategory): Ditto.
41         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
42         (WebCore::CSSPrimitiveValue::cleanup):
43         (WebCore::CSSPrimitiveValue::customCssText): Added support for vmax.
44         (WebCore::CSSPrimitiveValue::viewportPercentageLength): Function to create the Length structure for the viewport-percentage unit types.
45         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
46         * css/CSSPrimitiveValue.h:
47         (WebCore::CSSPrimitiveValue::isViewportPercentageLength): Checks whether the primitive value is ViewportPercentage Length.
48         * css/CSSPrimitiveValue.idl: Added support for vmax.
49         * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
50         (WebCore::minimumValueForLength):
51         (WebCore::valueForLength):
52         (WebCore::floatValueForLength):
53         * platform/Length.h:
54         (WebCore::Length::isViewportPercentage): To check the Length is of type ViewportPercentage.
55         * rendering/RenderBox.cpp:
56         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
57         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
58
59 2013-02-06  Pravin D  <pravind.2k4@gmail.com>
60
61         When a block element is made inline positioned and has static left and right,  it does not follow inline formatting context
62         https://bugs.webkit.org/show_bug.cgi?id=91665
63
64         Reviewed by Julien Chaffraix.
65
66         Out-of-flow-positioned elements have their display overriden to BLOCK. When a static block elements 
67         changes to inline out-of-flow-positioned or vice-versa, the element current and previous display properties 
68         are same. This causes the element to follow a wrong flow context(in this case Block context) and the element
69         is laid out incorrectly. The patch fixes the issue by reattaching the renderers of the node whenever either
70         position property changes or when its floating property changes.
71         Also the cases when an out-of-flow-positioned/floating element changes to static/non-floating element where
72         being specially handled. As reattaching the renderers in the above cases correctly handles the above cases,
73         special handling for such cases is no more required and the related code can be safely removed.
74  
75         Reattaching renderers for the afore mentioned issues takes a different(longer) code path. Performance measurements
76         summary for the same is as follows:
77                                                               % increase in time
78          Absolute-block-to-static-block                            2.00
79          Absolute-inline-to-static-block                           1.21
80          Absolute-inline-to-static-inline                          1.18
81          Static-block-to-absolute-block                            1.13
82          Static-inline-to-absolute-inline                          1.35
83          Floating-block-non-floating-block                         0.85
84          Floating-inline-non-floating-block                        0.66
85          Floating-inline-non-floating-inline                       0.57
86          Non-floating-block-floating-block                         0.12
87          Non-floating-inline-floating-inline                       1.36
88
89         Tests: fast/dynamic/absolute-positioned-to-static-positioned.html
90                fast/dynamic/floating-to-non-floating.html
91                fast/dynamic/non-floating-to-floating.html
92                fast/dynamic/static-positioned-to-absolute-positioned.html
93
94         * dom/Node.cpp:
95         (WebCore::Node::diff):
96           Return detach in the following conditions:
97              1) Element changes to out-of-flow-positioned or vice-versa.
98              2) Element becomes floating or vice-versa.
99
100         * rendering/RenderBlock.cpp:
101         (WebCore):
102         * rendering/RenderBlock.h:
103         (RenderBlock):
104         * rendering/RenderBoxModelObject.h:
105         (RenderBoxModelObject):
106         * rendering/RenderInline.cpp:
107         (WebCore):
108         * rendering/RenderInline.h:
109         (RenderInline):
110         * rendering/RenderObject.cpp:
111         (WebCore):
112         (WebCore::RenderObject::styleWillChange):
113         (WebCore::RenderObject::styleDidChange):
114         * rendering/RenderObject.h:
115         (RenderObject):
116           The fix in Node::diff() obsoletes some code. The above deletion are part of this dead code cleanup.
117
118 2013-02-06  Chris Fleizach  <cfleizach@apple.com>
119
120         AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
121         https://bugs.webkit.org/show_bug.cgi?id=109008
122
123         Reviewed by Ryosuke Niwa.
124
125         If an <html> element had an ARIA attribute, it was being turned into an element
126         in the AX hierarchy. This was causing trouble for screen readers by inserting
127         an unexpected element in the navigation sequence.
128
129         Test: accessibility/html-html-element-is-ignored.html
130
131         * accessibility/AccessibilityRenderObject.cpp:
132         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
133
134 2013-02-06  Shawn Singh  <shawnsingh@chromium.org>
135
136         RenderLayer hasVisibleContent() has inconsistent semantics causing disappearing composited layers
137         https://bugs.webkit.org/show_bug.cgi?id=108118
138
139         Reviewed by Simon Fraser.
140
141         RenderLayerBacking::hasVisibleNonCompositingDescendantLayers was
142         only checking whether direct children had visible content. As a
143         result, composited layers had wrong visibility status if only a
144         deeper descendant RenderLayer was visible.
145
146         Test: compositing/visibility/visibility-on-distant-descendant.html
147
148         * rendering/RenderLayerBacking.cpp:
149         (WebCore::hasVisibleNonCompositingDescendant): copied the original
150         implementation into this function; then added the RenderLayer
151         recursion as appropriate.
152         (WebCore):
153         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
154         This is now just a wrapper to the private static recursive
155         function.
156
157 2013-02-06  Jonathon Jongsma  <jonathon.jongsma@collabora.com>
158
159         [GStreamer] MediaPlayer's code is not easily reusable by other GStreamer-based players
160         https://bugs.webkit.org/show_bug.cgi?id=100261
161
162         Refactor the media player implementation so that more of the
163         internal functionality can be shared between the current media
164         backend and the mediastream player backend.  Common code is
165         broken out into a MediaPlayerPrivateGStreamerBase class, and
166         both MediaPlayerPrivateGStreamer and
167         StreamMediaPlayerPrivateGStreamer inherit from this base class.
168
169         Reviewed by Philippe Normand
170
171         No new tests since functionality is covered by existing media tests
172
173         * GNUmakefile.list.am:
174         * PlatformEfl.cmake:
175         * Target.pri:
176         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
177         (WebCore::FullscreenVideoControllerGStreamer::create):
178         (WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
179         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h:
180         (WebCore):
181         (FullscreenVideoControllerGStreamer):
182         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
183         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
184         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
185         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
186         (MediaPlayerPrivateGStreamer):
187         (WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
188         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Added.
189         (WebCore):
190         (WebCore::greatestCommonDivisor):
191         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
192         (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
193         (WebCore::mediaPlayerPrivateMuteChangedCallback):
194         (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
195         (WebCore::mediaPlayerPrivateRepaintCallback):
196         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
197         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
198         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
199         (WebCore::MediaPlayerPrivateGStreamerBase::setVolume):
200         (WebCore::MediaPlayerPrivateGStreamerBase::volume):
201         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfVolumeChange):
202         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
203         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
204         (WebCore::MediaPlayerPrivateGStreamerBase::readyState):
205         (WebCore::MediaPlayerPrivateGStreamerBase::sizeChanged):
206         (WebCore::MediaPlayerPrivateGStreamerBase::setMuted):
207         (WebCore::MediaPlayerPrivateGStreamerBase::muted):
208         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfMute):
209         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
210         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
211         (WebCore::MediaPlayerPrivateGStreamerBase::setSize):
212         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
213         (WebCore::MediaPlayerPrivateGStreamerBase::enterFullscreen):
214         (WebCore::MediaPlayerPrivateGStreamerBase::exitFullscreen):
215         (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
216         (WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
217         (WebCore::MediaPlayerPrivateGStreamerBase::movieLoadType):
218         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
219         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
220         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
221         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
222         (WebCore::MediaPlayerPrivateGStreamerBase::audioDecodedByteCount):
223         (WebCore::MediaPlayerPrivateGStreamerBase::videoDecodedByteCount):
224         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Added.
225         (WebCore):
226         (MediaPlayerPrivateGStreamerBase):
227         (WebCore::MediaPlayerPrivateGStreamerBase::supportsMuting):
228         (WebCore::MediaPlayerPrivateGStreamerBase::setVisible):
229         (WebCore::MediaPlayerPrivateGStreamerBase::hasSingleSecurityOrigin):
230         (WebCore::MediaPlayerPrivateGStreamerBase::maxTimeLoaded):
231         (WebCore::MediaPlayerPrivateGStreamerBase::canEnterFullscreen):
232         (WebCore::MediaPlayerPrivateGStreamerBase::mediaPlayer):
233         (WebCore::MediaPlayerPrivateGStreamerBase::audioSink):
234         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
235         (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
236         * platform/graphics/gtk/FullscreenVideoControllerGtk.h:
237         (FullscreenVideoControllerGtk):
238
239 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
240
241         Call XSSAuditor's didBlockScript() for the threaded HTML parser
242         https://bugs.webkit.org/show_bug.cgi?id=108726
243
244         Reviewed by Adam Barth.
245
246         This patch causes us to call didBlockScript() on the main thread if the CompactHTML token has XSSInfo.
247         To do so, we:
248         1. Rename DidBlockScriptRequest to XSSInfo.
249         2. Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
250         3. Add an isSafeToSendToAnotherThread() method to String and KURL.
251
252         We don't yet populate didBlockScriptRequest on the background thread, but this should just work once we do.
253
254         No new tests because no new functionality.
255
256         * html/parser/BackgroundHTMLParser.cpp:
257         (WebCore::BackgroundHTMLParser::pumpTokenizer): Update comment for rename.
258         * html/parser/CompactHTMLToken.cpp:
259         (SameSizeAsCompactHTMLToken):
260         (WebCore::CompactHTMLToken::CompactHTMLToken): Add a copy constructor used by Vector.
261         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread): Include new m_xssInfo field in safety check.
262         (WebCore):
263         (WebCore::CompactHTMLToken::xssInfo): Added.
264         (WebCore::CompactHTMLToken::setXSSInfo): Added.
265         * html/parser/CompactHTMLToken.h: Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
266         (WebCore):
267         (CompactHTMLToken):
268         (WTF): Add VectorTraits necessary for copying Vector fields objects that contain an OwnPtr.
269         * html/parser/HTMLDocumentParser.cpp:
270         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): Add new didBlockScript() call.
271         (WebCore::HTMLDocumentParser::pumpTokenizer):
272         * html/parser/XSSAuditor.cpp: Renaming.
273         (WebCore::XSSAuditor::filterToken):
274         * html/parser/XSSAuditor.h: Renaming.
275         (WebCore):
276         (XSSAuditor):
277         * html/parser/XSSAuditorDelegate.cpp:
278         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
279         (WebCore):
280         (WebCore::XSSAuditorDelegate::didBlockScript):
281         * html/parser/XSSAuditorDelegate.h:
282         (WebCore::XSSInfo::create):
283         (XSSInfo):
284         (WebCore::XSSInfo::XSSInfo):
285         (XSSAuditorDelegate):
286         * platform/KURL.cpp:
287         (WebCore::KURL::isSafeToSendToAnotherThread): Added.
288         (WebCore):
289         * platform/KURL.h:
290         (KURL):
291         * platform/KURLGoogle.cpp:
292         (WebCore):
293         (WebCore::KURLGooglePrivate::isSafeToSendToAnotherThread): Added.
294         * platform/KURLGooglePrivate.h:
295         (KURLGooglePrivate):
296         * platform/KURLWTFURLImpl.h:
297         (WebCore::KURLWTFURLImpl::isSafeToSendToAnotherThread): Added.
298
299 2013-02-06  Dean Jackson  <dino@apple.com>
300
301         Minor updates to captions menu UI
302         https://bugs.webkit.org/show_bug.cgi?id=109005
303
304         Reviewed by Eric Carlson.
305
306         Now that we only have a single section in the captions menu, remove the
307         unnecessary wrapper element. Also update the UI for Mac so that the menu
308         grows in size dynamically, and change the text we display for a caption
309         that has neither label or language identifiers.
310
311         Covered by existing tests.
312
313         * English.lproj/Localizable.strings: New string for an unknown caption label.
314         * css/fullscreenQuickTime.css: New rules for the captions menu.
315         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-container):
316         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-track-list):
317         * css/mediaControlsQuickTime.css: Ditto.
318         (video::-webkit-media-controls-closed-captions-container):
319         (video::-webkit-media-controls-closed-captions-track-list):
320         * html/shadow/MediaControlElements.cpp:
321         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
322             Remove the <section> element container.
323         * platform/LocalizedStrings.cpp:
324         (WebCore::textTrackNoLabelText): New string for an unknown caption label.
325
326 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
327
328         Web Inspector: Remove isSnippet field from FileDescriptor and UISourceCode.
329         https://bugs.webkit.org/show_bug.cgi?id=109045
330         
331         Reviewed by Pavel Feldman.
332
333         Snippets are now distinguished based on uiSourceCode project.
334
335         * inspector/front-end/JavaScriptSourceFrame.js:
336         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
337         * inspector/front-end/NavigatorView.js:
338         * inspector/front-end/ScriptSnippetModel.js:
339         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
340         * inspector/front-end/ScriptsNavigator.js:
341         (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
342         (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
343         (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
344         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
345         (WebInspector.ScriptsNavigator.prototype.rename):
346         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
347         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
348         * inspector/front-end/ScriptsPanel.js:
349         (WebInspector.ScriptsPanel.prototype._showFile):
350         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
351         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
352         * inspector/front-end/SimpleWorkspaceProvider.js:
353         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
354         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
355         * inspector/front-end/Workspace.js:
356         (WebInspector.FileDescriptor):
357         (WebInspector.Project.prototype._fileAdded):
358
359 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
360
361         Unreviewed, rolling out r141983.
362         http://trac.webkit.org/changeset/141983
363         https://bugs.webkit.org/show_bug.cgi?id=109055
364
365         lots of new crashes in handlescope (Requested by gavinp on
366         #webkit).
367
368         * bindings/v8/DOMDataStore.h:
369         (WebCore::DOMDataStore::setWrapperInObject):
370         * bindings/v8/DOMWrapperWorld.h:
371         (DOMWrapperWorld):
372         (WebCore::DOMWrapperWorld::isolated):
373         * bindings/v8/V8Binding.h:
374         (WebCore):
375         (WebCore::worldForEnteredContextIfIsolated):
376         * bindings/v8/V8DOMWindowShell.cpp:
377         (WebCore::V8DOMWindowShell::initializeIfNeeded):
378         * bindings/v8/V8GCController.cpp:
379         (WebCore::WrapperVisitor::WrapperVisitor):
380         (WebCore):
381         (WebCore::gcTree):
382         (WebCore::V8GCController::didCreateWrapperForNode):
383         (WebCore::V8GCController::gcPrologue):
384         (WebCore::V8GCController::minorGCPrologue):
385         (WebCore::V8GCController::majorGCPrologue):
386         * bindings/v8/V8GCController.h:
387         (V8GCController):
388
389 2013-02-06  Andreas Kling  <akling@apple.com>
390
391         Optimize GlyphPage for case where all glyphs are available in the same font.
392         <http://webkit.org/b/108835>
393         <rdar://problem/13157042>
394
395         Reviewed by Antti Koivisto.
396
397         Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
398         the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.
399
400         If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
401         is allocated transparently.
402
403         4.98 MB progression on Membuster3.
404
405         * platform/graphics/GlyphPageTreeNode.cpp:
406         (WebCore::GlyphPageTreeNode::initializePage):
407         * platform/graphics/GlyphPage.h:
408         (WebCore::GlyphPage::createUninitialized):
409         (WebCore::GlyphPage::createZeroedSystemFallbackPage):
410         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
411
412             There are now three ways of constructing a GlyphPage, two of them are only used for
413             creating system fallback pages.
414
415         (WebCore::GlyphPage::setGlyphDataForIndex):
416
417             Hold off creating a SimpleFontData* array until we're sure there are two different
418             SimpleFontData* backing the glyphs in this page.
419             We don't store font data for glyph #0, instead we let the getters always return null for it.
420
421         (WebCore::GlyphPage::~GlyphPage):
422
423             Free the SimpleFontData* array if needed.
424
425         (WebCore::GlyphPage::glyphDataForCharacter):
426         (WebCore::GlyphPage::glyphDataForIndex):
427         (WebCore::GlyphPage::fontDataForCharacter):
428
429             The font data for glyph #0 is always a null pointer now.
430
431         (WebCore::GlyphPage::clearForFontData):
432
433             Updated for new storage format.
434
435         * rendering/svg/SVGTextRunRenderingContext.cpp:
436         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
437
438             Fix bug where non-zero glyph was temporarily associated with null font data,
439             which triggered the new assertion in setGlyphDataForIndex().
440
441 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
442
443         Follow up to r141979: do not consume Home/End.
444         Not reviewed.
445
446         * inspector/front-end/FilteredItemSelectionDialog.js:
447         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
448
449 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
450
451         Web Inspector: Remove show script folders setting
452         https://bugs.webkit.org/show_bug.cgi?id=108940
453
454         Reviewed by Pavel Feldman.
455
456         Removed showScriptFolders setting, the sources are never shown as a flat list in navigator anymore.
457
458         * inspector/front-end/NavigatorView.js:
459         (WebInspector.NavigatorView):
460         (WebInspector.NavigatorView.prototype._getOrCreateFolderTreeElement):
461         * inspector/front-end/Settings.js:
462         * inspector/front-end/SettingsScreen.js:
463         (WebInspector.GenericSettingsTab):
464
465 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
466
467         Web Inspector: update javascriptsourcetokenizer to produce "whitespaces" token
468         https://bugs.webkit.org/show_bug.cgi?id=108945
469
470         Reviewed by Pavel Feldman.
471
472         Update re2c grammar for SourceJavaScriptTokenizer to produce
473         "whitespace" token which holds consequtive whitespaces in it.
474
475         Updated existing tests expectations.
476
477         * inspector/front-end/DOMSyntaxHighlighter.js:
478         (WebInspector.DOMSyntaxHighlighter.prototype.createSpan): Do not strip spaces from tokens with class "whitespaces".
479         * inspector/front-end/SourceJavaScriptTokenizer.js: Regenerated.
480         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
481         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
482
483 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
484
485         Web Inspector: refactor registerShortcuts method of DTE
486         https://bugs.webkit.org/show_bug.cgi?id=109031
487
488         Reviewed by Pavel Feldman.
489
490         Implement _registerShortcuts method in TextEditorMainPanel which will
491         bind its private methods to the different key combinations. Refactor
492         method handlers handleUndoRedo, handleTabKeyPress and handleEnterKey
493         from public to private.
494
495         No new tests: no change in behaviour.
496
497         * inspector/front-end/DefaultTextEditor.js:
498         (WebInspector.DefaultTextEditor.prototype._registerShortcuts): Remove bindings of TextEditorMainPanel methods
499         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
500         (WebInspector.TextEditorMainPanel):
501         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts): Added.
502         (WebInspector.TextEditorMainPanel.prototype._handleUndoRedo):
503         (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
504
505 2013-02-06  Mike West  <mkwst@chromium.org>
506
507         Add an ENABLE_NOSNIFF feature flag.
508         https://bugs.webkit.org/show_bug.cgi?id=109029
509
510         Reviewed by Jochen Eisinger.
511
512         This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
513         when processing script and other resource types.
514
515         * Configurations/FeatureDefines.xcconfig:
516
517 2013-02-06  Tommy Widenflycht  <tommyw@google.com>
518
519         MediaStream API: Implement DTMF support in RTCPeerConnection
520         https://bugs.webkit.org/show_bug.cgi?id=106782
521
522         Reviewed by Adam Barth.
523
524         The WebRTC specification have added support for DTMF:
525         http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-dtmf
526
527         Implementation wise this is implemented using the same pattern as RTCDataChannel;
528         where a RTCDTMFSenderHandler is created by the UA through a new method on
529         RTCPeerConnectionHandler.
530
531         Test: fast/mediastream/RTCPeerConnection-dtmf.html
532
533         * CMakeLists.txt:
534         * GNUmakefile.list.am:
535         * Modules/mediastream/RTCDTMFSender.cpp: Added.
536         (WebCore):
537         (WebCore::RTCDTMFSender::create):
538         (WebCore::RTCDTMFSender::RTCDTMFSender):
539         (WebCore::RTCDTMFSender::~RTCDTMFSender):
540         (WebCore::RTCDTMFSender::canInsertDTMF):
541         (WebCore::RTCDTMFSender::track):
542         (WebCore::RTCDTMFSender::toneBuffer):
543         (WebCore::RTCDTMFSender::insertDTMF):
544         (WebCore::RTCDTMFSender::didPlayTone):
545         (WebCore::RTCDTMFSender::interfaceName):
546         (WebCore::RTCDTMFSender::scriptExecutionContext):
547         (WebCore::RTCDTMFSender::stop):
548         (WebCore::RTCDTMFSender::eventTargetData):
549         (WebCore::RTCDTMFSender::ensureEventTargetData):
550         (WebCore::RTCDTMFSender::scheduleDispatchEvent):
551         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
552         * Modules/mediastream/RTCDTMFSender.h: Added.
553         (WebCore):
554         (RTCDTMFSender):
555         (WebCore::RTCDTMFSender::duration):
556         (WebCore::RTCDTMFSender::interToneGap):
557         * Modules/mediastream/RTCDTMFSender.idl: Added.
558         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
559         (WebCore):
560         (WebCore::RTCDTMFToneChangeEvent::create):
561         (WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
562         (WebCore::RTCDTMFToneChangeEvent::~RTCDTMFToneChangeEvent):
563         (WebCore::RTCDTMFToneChangeEvent::tone):
564         (WebCore::RTCDTMFToneChangeEvent::interfaceName):
565         * Modules/mediastream/RTCDTMFToneChangeEvent.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
566         (WebCore):
567         (RTCDTMFToneChangeEventInit):
568         (RTCDTMFToneChangeEvent):
569         * Modules/mediastream/RTCDTMFToneChangeEvent.idl: Added.
570         * Modules/mediastream/RTCPeerConnection.cpp:
571         (WebCore::RTCPeerConnection::createDataChannel):
572         (WebCore):
573         (WebCore::RTCPeerConnection::getStreamByTrackId):
574         (WebCore::RTCPeerConnection::createDTMFSender):
575         * Modules/mediastream/RTCPeerConnection.h:
576         (WebCore):
577         (RTCPeerConnection):
578         * Modules/mediastream/RTCPeerConnection.idl:
579         * WebCore.gypi:
580         * dom/EventNames.h:
581         (WebCore):
582         * dom/EventNames.in:
583         * dom/EventTargetFactory.in:
584         * platform/chromium/support/WebMediaStreamTrack.cpp:
585         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
586         (WebKit):
587         * platform/mediastream/RTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
588         (WebCore):
589         (RTCDTMFSenderHandler):
590         (WebCore::RTCDTMFSenderHandler::~RTCDTMFSenderHandler):
591         * platform/mediastream/RTCDTMFSenderHandlerClient.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
592         (WebCore):
593         (RTCDTMFSenderHandlerClient):
594         (WebCore::RTCDTMFSenderHandlerClient::~RTCDTMFSenderHandlerClient):
595         * platform/mediastream/RTCPeerConnectionHandler.h:
596         (WebCore):
597         (RTCPeerConnectionHandler):
598         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
599         (WebCore):
600         (WebCore::RTCDTMFSenderHandlerChromium::create):
601         (WebCore::RTCDTMFSenderHandlerChromium::RTCDTMFSenderHandlerChromium):
602         (WebCore::RTCDTMFSenderHandlerChromium::~RTCDTMFSenderHandlerChromium):
603         (WebCore::RTCDTMFSenderHandlerChromium::setClient):
604         (WebCore::RTCDTMFSenderHandlerChromium::currentToneBuffer):
605         (WebCore::RTCDTMFSenderHandlerChromium::canInsertDTMF):
606         (WebCore::RTCDTMFSenderHandlerChromium::insertDTMF):
607         (WebCore::RTCDTMFSenderHandlerChromium::didPlayTone):
608         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
609         (WebCore):
610         (RTCDTMFSenderHandlerChromium):
611         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
612         (WebCore::RTCPeerConnectionHandlerChromium::createDTMFSender):
613         (WebCore):
614         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
615         (RTCPeerConnectionHandlerChromium):
616
617 2013-02-04  Kentaro Hara  <haraken@chromium.org>
618
619         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
620         https://bugs.webkit.org/show_bug.cgi?id=108579
621
622         Reviewed by Adam Barth.
623
624         Currently V8GCController::m_edenNodes stores a list of nodes whose
625         wrappers have been created since the latest GC. The reason why we
626         needed m_edenNodes is that there was no way to know a list of wrappers
627         in the new space of V8. By using m_edenNodes, we had been approximating
628         'wrappers in the new space' by 'wrappers that have been created since
629         the latest GC'.
630
631         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
632         can know a list of wrappers in the new space. By using the API, we can
633         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
634         need to keep m_edenNodes and that (2) it enables more precise minor
635         DOM GC (Remember that m_edenNodes was just an approximation).
636
637         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
638         The benchmark runs 300 iterations, each of which creates 100000 elements.
639         The benchmark measures average, min, median, max and stdev of execution times
640         of the 300 iterations. This will tell us the worst-case overhead of this change.
641
642         Before:
643           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
644
645         After:
646           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
647
648         As shown above, I couldn't observe any performance regression.
649
650         No tests. No change in behavior.
651
652         * bindings/v8/DOMDataStore.h:
653         (WebCore::DOMDataStore::setWrapperInObject):
654         * bindings/v8/DOMWrapperWorld.h:
655         (DOMWrapperWorld):
656         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
657         * bindings/v8/V8Binding.h:
658         (WebCore):
659         (WebCore::worldForEnteredContextIfIsolated):
660         (WebCore::worldForEnteredContextWithoutContextCheck):
661         * bindings/v8/V8DOMWindowShell.cpp:
662         (WebCore::V8DOMWindowShell::initializeIfNeeded):
663         * bindings/v8/V8GCController.cpp:
664         (WebCore::gcTree):
665         (WebCore):
666         (MinorGCWrapperVisitor):
667         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
668         (WebCore::MinorGCWrapperVisitor::notifyFinished):
669         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
670         (WebCore::V8GCController::gcPrologue):
671         (WebCore::V8GCController::minorGCPrologue):
672         (WebCore::V8GCController::majorGCPrologue):
673         * bindings/v8/V8GCController.h:
674         (V8GCController):
675
676 2013-02-06  Mihai Maerean  <mmaerean@adobe.com>
677
678         [CSSRegions] Assertion failure in Node::detach (!renderer || renderer->inRenderFlowThread())
679         https://bugs.webkit.org/show_bug.cgi?id=104517
680
681         Reviewed by Julien Chaffraix.
682
683         The RenderObject::inRenderFlowThread bit could have become disconnected from the fact that the RenderObject
684         has (or not) an enclosing RenderFlowThread.
685         The cause of this was that, when setting or removing the parent of a RenderObject, the inRenderFlowThread flags
686         wasn't being set/reset for the children too.
687         This is now fixed by calling the new setInRenderFlowThreadIncludingDescendants.
688
689         The ASSERT was hit for anonymous blocks when detaching the document.
690
691         Test: fast/regions/detaching-regions-with-anonymous-blocks.html
692
693         * rendering/RenderObject.cpp:
694         (WebCore::RenderObject::setInRenderFlowThreadRecursive):
695         (WebCore):
696         * rendering/RenderObject.h:
697         (WebCore::RenderObject::setParent):
698         (RenderObject):
699
700 2013-02-06  Marja Hölttä  <marja@chromium.org>
701
702         Take referrer policy into account when clearing the referrer header
703         https://bugs.webkit.org/show_bug.cgi?id=86000
704
705         Reviewed by Alexey Proskuryakov.
706
707         The referrer should only be cleared when doing a https -> http redirect,
708         if the policy is "default". Otherwise the referrer should be left intact.
709
710         In order to do that, added a function for checking the policy in
711         NetworkingContext, and stored the NetworkingContext in ResourceHandle
712         (like some ports already did).
713
714         No new tests (unskipped old tests).
715
716         * loader/FrameNetworkingContext.h:
717         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
718         (FrameNetworkingContext):
719         * platform/network/BlobResourceHandle.cpp:
720         (WebCore::BlobResourceHandle::BlobResourceHandle):
721         * platform/network/NetworkingContext.h:
722         (NetworkingContext):
723         * platform/network/ResourceHandle.cpp:
724         (WebCore::ResourceHandle::ResourceHandle):
725         (WebCore::ResourceHandle::create):
726         (WebCore::ResourceHandle::context):
727         (WebCore):
728         * platform/network/ResourceHandle.h:
729         (ResourceHandle):
730         * platform/network/ResourceHandleInternal.h:
731         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
732         (ResourceHandleInternal):
733         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
734         (WebCore::ResourceHandle::start):
735         (WebCore::ResourceHandle::loadResourceSynchronously):
736         * platform/network/cf/ResourceHandleCFNet.cpp:
737         (WebCore::willSendRequest):
738         (WebCore::ResourceHandle::start):
739         (WebCore::ResourceHandle::loadResourceSynchronously):
740         * platform/network/chromium/ResourceHandle.cpp:
741         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
742         (WebCore::ResourceHandle::ResourceHandle):
743         (WebCore::ResourceHandle::create):
744         (WebCore::ResourceHandle::context):
745         (WebCore):
746         (WebCore::ResourceHandle::start):
747         * platform/network/chromium/ResourceHandleInternal.h:
748         (WebCore):
749         (ResourceHandleInternal):
750         (WebCore::ResourceHandleInternal::context):
751         * platform/network/curl/ResourceHandleCurl.cpp:
752         (WebCore::ResourceHandle::start):
753         (WebCore::ResourceHandle::loadResourceSynchronously):
754         * platform/network/mac/ResourceHandleMac.mm:
755         (WebCore::ResourceHandle::start):
756         (WebCore::ResourceHandle::loadResourceSynchronously):
757         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
758         * platform/network/qt/QNetworkReplyHandler.cpp:
759         (WebCore::QNetworkReplyHandler::redirect):
760         * platform/network/qt/ResourceHandleQt.cpp:
761         (WebCore::ResourceHandle::start):
762         (WebCore::ResourceHandle::loadResourceSynchronously):
763         * platform/network/soup/ResourceHandleSoup.cpp:
764         (WebCore::doRedirect):
765         (WebCore::ResourceHandle::start):
766         * platform/network/win/ResourceHandleWin.cpp:
767         (WebCore::ResourceHandle::start):
768         (WebCore::ResourceHandle::loadResourceSynchronously):
769
770 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
771
772         Web Inspector: file selector list jumps as I type or move Up/Down
773         https://bugs.webkit.org/show_bug.cgi?id=108933
774
775         Reviewed by Vsevolod Vlasov.
776
777         Missing return was scheduling extra updates.
778
779         * inspector/front-end/FilteredItemSelectionDialog.js:
780         (WebInspector.FilteredItemSelectionDialog):
781         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
782         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
783         (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
784
785 2013-02-06  Kentaro Hara  <haraken@chromium.org>
786
787         [V8] Pass an Isolate to remaining GetTemplate()s
788         https://bugs.webkit.org/show_bug.cgi?id=109001
789
790         Reviewed by Adam Barth.
791
792         No tests. No change in behavior.
793
794         * bindings/v8/custom/V8DOMWindowCustom.cpp:
795         (WebCore::V8DOMWindow::namedSecurityCheck): Because this method is a callback from V8,
796         we cannot change its signature to receive an Isolate.
797         (WebCore::V8DOMWindow::indexedSecurityCheck): Ditto.
798
799         * bindings/scripts/CodeGeneratorV8.pm:
800         (GenerateHeader):
801         (GenerateToV8Converters):
802         * bindings/scripts/test/V8/V8Float64Array.cpp:
803         (WebCore::V8Float64Array::createWrapper):
804         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
805         (WebCore::V8TestActiveDOMObject::createWrapper):
806         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
807         (WebCore::V8TestCustomNamedGetter::createWrapper):
808         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
809         (WebCore::V8TestEventConstructor::createWrapper):
810         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
811         (WebCore::V8TestEventTarget::createWrapper):
812         * bindings/scripts/test/V8/V8TestException.cpp:
813         (WebCore::V8TestException::createWrapper):
814         * bindings/scripts/test/V8/V8TestInterface.cpp:
815         (WebCore::V8TestInterface::createWrapper):
816         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
817         (WebCore::V8TestMediaQueryListListener::createWrapper):
818         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
819         (WebCore::V8TestNamedConstructor::createWrapper):
820         * bindings/scripts/test/V8/V8TestNode.cpp:
821         (WebCore::V8TestNode::createWrapper):
822         * bindings/scripts/test/V8/V8TestObj.cpp:
823         (WebCore::V8TestObj::createWrapper):
824         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
825         (WebCore::V8TestOverloadedConstructors::createWrapper):
826         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
827         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
828         * bindings/v8/V8DOMWrapper.cpp:
829         (WebCore::V8DOMWrapper::createWrapper):
830         * bindings/v8/V8DOMWrapper.h:
831         (V8DOMWrapper):
832         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
833         (WebCore::V8HTMLDocument::wrapInShadowObject):
834
835 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
836
837         Unreviewed, rolling out r141961.
838         http://trac.webkit.org/changeset/141961
839         https://bugs.webkit.org/show_bug.cgi?id=109019
840
841         assertion failures on svn tests such as fonts-glyph-04-t.svg
842         (Requested by falken on #webkit).
843
844         * platform/graphics/GlyphPage.h:
845         (WebCore::GlyphPage::create):
846         (WebCore::GlyphPage::glyphDataForCharacter):
847         (WebCore::GlyphPage::glyphDataForIndex):
848         (WebCore::GlyphPage::fontDataForCharacter):
849         (WebCore::GlyphPage::setGlyphDataForIndex):
850         (GlyphPage):
851         (WebCore::GlyphPage::copyFrom):
852         (WebCore::GlyphPage::clear):
853         (WebCore::GlyphPage::clearForFontData):
854         (WebCore::GlyphPage::GlyphPage):
855         * platform/graphics/GlyphPageTreeNode.cpp:
856         (WebCore::GlyphPageTreeNode::initializePage):
857
858 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
859
860         Unreviewed, rolling out r141964.
861         http://trac.webkit.org/changeset/141964
862         https://bugs.webkit.org/show_bug.cgi?id=109014
863
864         caused performance regression (Requested by hayato on
865         #webkit).
866
867         * CMakeLists.txt:
868         * GNUmakefile.list.am:
869         * Target.pri:
870         * WebCore.gypi:
871         * WebCore.xcodeproj/project.pbxproj:
872         * css/CSSAllInOne.cpp:
873         * css/DocumentRuleSets.cpp: Removed.
874         * css/DocumentRuleSets.h: Removed.
875         * css/StyleResolver.cpp:
876         (WebCore::StyleResolver::StyleResolver):
877         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
878         (WebCore):
879         (WebCore::makeRuleSet):
880         (WebCore::StyleResolver::resetAuthorStyle):
881         (WebCore::StyleResolver::appendAuthorStyleSheets):
882         (WebCore::StyleResolver::matchAuthorRules):
883         (WebCore::StyleResolver::matchUserRules):
884         (WebCore::StyleResolver::classNamesAffectedByRules):
885         (WebCore::StyleResolver::locateCousinList):
886         (WebCore::StyleResolver::canShareStyleWithElement):
887         (WebCore::StyleResolver::locateSharedStyle):
888         (WebCore::StyleResolver::styleForElement):
889         (WebCore::StyleResolver::styleForPage):
890         (WebCore::StyleResolver::checkRegionStyle):
891         (WebCore::StyleResolver::applyProperty):
892         (WebCore::StyleResolver::collectFeatures):
893         (WebCore::StyleResolver::reportMemoryUsage):
894         * css/StyleResolver.h:
895         (StyleResolver):
896         (WebCore::StyleResolver::usesSiblingRules):
897         (WebCore::StyleResolver::usesFirstLineRules):
898         (WebCore::StyleResolver::usesBeforeAfterRules):
899         (WebCore::StyleResolver::hasSelectorForAttribute):
900         (WebCore::StyleResolver::hasSelectorForClass):
901         (WebCore::StyleResolver::hasSelectorForId):
902         * dom/DocumentStyleSheetCollection.cpp:
903         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
904
905 2013-02-05  Kentaro Hara  <haraken@chromium.org>
906
907         Add #if USE(V8) to Node::V8CollectableDuringMinorGCFlag
908         https://bugs.webkit.org/show_bug.cgi?id=109009
909
910         Reviewed by Kent Tamura.
911
912         Node flags should be saved. V8CollectableDuringMinorGCFlag is used by V8 only.
913
914         * dom/Node.h:
915         (Node):
916
917 2013-02-05  Vsevolod Vlasov  <vsevik@chromium.org>
918
919         Web Inspector: Add ending slashes automatically to file mappings.
920         https://bugs.webkit.org/show_bug.cgi?id=108936
921
922         Reviewed by Pavel Feldman.
923
924         * inspector/front-end/SettingsScreen.js:
925         (WebInspector.WorkspaceSettingsTab.prototype._addFileMappingClicked):
926
927 2013-02-05  Eric Carlson  <eric.carlson@apple.com>
928
929         More updates to Caption user preferences
930         https://bugs.webkit.org/show_bug.cgi?id=108997
931
932         Reviewed by Dean Jackson.
933
934         * html/HTMLMediaElement.cpp:
935         (WebCore::HTMLMediaElement::captionPreferencesChanged): Give the media controls a chance
936             to update for a preferences change.
937         * html/shadow/MediaControlElements.cpp:
938         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Add optional "force update" 
939             param to force font size recalc even when the video size hasn't changed.
940         * html/shadow/MediaControlElements.h:
941
942         * html/shadow/MediaControls.cpp:
943         (WebCore::MediaControls::textTrackPreferencesChanged): New, force a font size recalc.
944         * html/shadow/MediaControls.h:
945
946         * html/track/TextTrackCueGeneric.cpp:
947         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Don't set width/size of cues
948             that use default positioning. Use "start" as the default alignment.
949
950         * page/CaptionUserPreferencesMac.mm:
951         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Set padding when the window is visible
952             so it shows around the cue background.
953         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Set padding to 0 when the background
954             is visible.
955         (WebCore::CaptionUserPreferencesMac::windowRoundedCornerRadiusCSS): Add "px" to the border radius
956             so it actually works.
957         * rendering/RenderTextTrackCue.cpp:
958         (WebCore::RenderTextTrackCue::layout): Special case generic cues with default style.
959         (WebCore::RenderTextTrackCue::repositionGenericCue):
960         * rendering/RenderTextTrackCue.h:
961
962 2013-02-05  Hayato Ito  <hayato@chromium.org>
963
964         Split each RuleSet and feature out from StyleResolver into its own class.
965         https://bugs.webkit.org/show_bug.cgi?id=107777
966
967         Reviewed by Dimitri Glazkov.
968
969         Splitting each RuleSet and feature out from StyleResover into its onw class, DocumentRuleSets,
970         to manage them separately.
971
972         This is one of the attempts to try to resolve meta bug (bug 89879)
973         to lose StyleResolver's weight.  We need further action to factor
974         StyleResolver to separate it into some classes cleanly.
975         See also https://bugs.webkit.org/show_bug.cgi?id=108890. A following patch will address that.
976
977         No tests. No change in behavior.
978
979         * CMakeLists.txt:
980         * GNUmakefile.list.am:
981         * Target.pri:
982         * WebCore.gypi:
983         * WebCore.xcodeproj/project.pbxproj:
984         * css/CSSAllInOne.cpp:
985         * css/DocumentRuleSets.cpp: Added.
986         (WebCore):
987         (WebCore::DocumentRuleSets::DocumentRuleSets):
988         (WebCore::DocumentRuleSets::~DocumentRuleSets):
989         (WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
990         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
991         (WebCore::makeRuleSet): Ditto.
992         (WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
993         (WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
994         (WebCore::DocumentRuleSets::collectFeatures): Ditto.
995         (WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
996         * css/DocumentRuleSets.h: Added.
997         (WebCore):
998         (DocumentRuleSets):
999         (WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
1000         (WebCore::DocumentRuleSets::userStyle): Ditto.
1001         (WebCore::DocumentRuleSets::features): Ditto.
1002         (WebCore::DocumentRuleSets::sibling): Ditto.
1003         (WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
1004         * css/StyleResolver.cpp:
1005         (WebCore::StyleResolver::StyleResolver):
1006         (WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
1007         (WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
1008         (WebCore::StyleResolver::matchUserRules): Ditto.
1009         (WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
1010         (WebCore::StyleResolver::locateCousinList): Ditto.
1011         (WebCore::StyleResolver::canShareStyleWithElement): Ditto.
1012         (WebCore::StyleResolver::locateSharedStyle): Ditto.
1013         (WebCore::StyleResolver::styleForPage): Ditto.
1014         (WebCore::StyleResolver::checkRegionStyle): Ditto.
1015         (WebCore::StyleResolver::applyProperty): Ditto.
1016         (WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
1017         * css/StyleResolver.h:
1018         (WebCore::StyleResolver::scopeResolver):
1019         (StyleResolver):
1020         (WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
1021         (WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
1022         (WebCore::StyleResolver::usesFirstLineRules): Ditto.
1023         (WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
1024         (WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
1025         (WebCore::StyleResolver::hasSelectorForClass): Ditto.
1026         (WebCore::StyleResolver::hasSelectorForId): Ditto.
1027         * dom/DocumentStyleSheetCollection.cpp:
1028         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1029
1030 2013-02-05  Julien Chaffraix  <jchaffraix@webkit.org>
1031
1032         [CSS Grid Layout] Grid item's logical height is not properly recomputed after -webkit-grid-column / -webkit-grid-row changes
1033         https://bugs.webkit.org/show_bug.cgi?id=108975
1034
1035         Reviewed by Tony Chang.
1036
1037         Test: fast/css-grid-layout/implicit-position-dynamic-change.html
1038
1039         * rendering/RenderBox.cpp:
1040         (WebCore::RenderBox::clearContainingBlockOverrideSize):
1041         (WebCore::RenderBox::clearOverrideContainingBlockContentLogicalHeight):
1042         * rendering/RenderBox.h:
1043         Added clearOverrideContainingBlockContentLogicalHeight and updated clearContainingBlockOverrideSize
1044         to use it.
1045
1046         * rendering/RenderGrid.cpp:
1047         (WebCore::RenderGrid::minContentForChild):
1048         (WebCore::RenderGrid::maxContentForChild):
1049         Added missing clearContainingBlockOverrideSize to ensure we don't use a previous layout's override.
1050
1051 2013-02-05  Andreas Kling  <akling@apple.com>
1052
1053         Optimize GlyphPage for case where all glyphs are available in the same font.
1054         <http://webkit.org/b/108835>
1055         <rdar://problem/13157042>
1056
1057         Reviewed by Antti Koivisto.
1058
1059         Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
1060         the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.
1061
1062         If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
1063         is allocated transparently.
1064
1065         4.98 MB progression on Membuster3.
1066
1067         * platform/graphics/GlyphPageTreeNode.cpp:
1068         (WebCore::GlyphPageTreeNode::initializePage):
1069         * platform/graphics/GlyphPage.h:
1070         (WebCore::GlyphPage::createUninitialized):
1071         (WebCore::GlyphPage::createZeroedSystemFallbackPage):
1072         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
1073
1074             There are now three ways of constructing a GlyphPage, two of them are only used for
1075             creating system fallback pages.
1076
1077         (WebCore::GlyphPage::setGlyphDataForIndex):
1078
1079             Hold off creating a SimpleFontData* array until we're sure there are two different
1080             SimpleFontData* backing the glyphs in this page.
1081             We don't store font data for glyph #0, instead we let the getters always return null for it.
1082
1083         (WebCore::GlyphPage::~GlyphPage):
1084
1085             Free the SimpleFontData* array if needed.
1086
1087         (WebCore::GlyphPage::glyphDataForCharacter):
1088         (WebCore::GlyphPage::glyphDataForIndex):
1089         (WebCore::GlyphPage::fontDataForCharacter):
1090
1091             The font data for glyph #0 is always a null pointer now.
1092
1093         (WebCore::GlyphPage::clearForFontData):
1094
1095             Updated for new storage format.
1096
1097 2013-02-05  Kent Tamura  <tkent@chromium.org>
1098
1099         INPUT_MULTIPLE_FIELDS_UI: Read-only inputs should be focusable
1100         https://bugs.webkit.org/show_bug.cgi?id=108795
1101
1102         Reviewed by Kentaro Hara.
1103
1104         According to the standard [1], readonly form controls should be focusable.
1105
1106         - Sub-fields should be focusable if they are read-only. We should check
1107           isDisabled mainly.
1108         - All keyboard operations should not be handled if a field is disabled,
1109           and focus navigation keyboard operations should be handled even if a
1110           field is read-only.
1111
1112         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-readonly-attribute
1113
1114         No new tests. Update
1115         fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
1116         for the new behavior.
1117
1118         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1119         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isKeyboardFocusable):
1120         Make <input> focusable even if it is read-only.
1121         * html/shadow/DateTimeEditElement.cpp:
1122         (WebCore::DateTimeEditElement::isFieldOwnerDisabled):
1123         Separate isFieldOwnerDisabledOrReadOnly into two.
1124         (WebCore::DateTimeEditElement::isFieldOwnerReadOnly): Ditto.
1125         (WebCore::DateTimeEditElement::updateUIState):
1126         We don't need to focus out if this is read-only.
1127         * html/shadow/DateTimeEditElement.h:
1128         (DateTimeEditElement): Separate isFieldOwnerDisabledOrReadOnly into two.
1129         * html/shadow/DateTimeFieldElement.cpp:
1130         (WebCore::DateTimeFieldElement::defaultEventHandler):
1131         Skip handleKeyboardEvent if the field is disabled or the owner input is
1132         disabled or read-only. handleKeyboardEvent handles editing key
1133         operations.
1134         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
1135         If this field is disabled or the owner input is disabled, all keyboard
1136         inputs are ignored.
1137         If this field is read-only, we handle only left and right arrows to
1138         change focus, and skip down/up/backspace/del keys.
1139         (WebCore::DateTimeFieldElement::isFieldOwnerDisabled):
1140         A helper function to check disable state of the owner input.
1141         (WebCore::DateTimeFieldElement::isFieldOwnerReadOnly):
1142         A helper function to check read-only state of the owner input.
1143         (WebCore::DateTimeFieldElement::isFocusable):
1144         This field should be focusable if it is read-only and not disabled.
1145         * html/shadow/DateTimeFieldElement.h:
1146         (FieldOwner): Separate isFieldOwnerDisabledOrReadOnly into two.
1147         (DateTimeFieldElement):
1148         Declare isFieldOwnerDisabled and isFieldOwnerReadOnly.
1149         * html/shadow/DateTimeNumericFieldElement.cpp:
1150         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
1151         Remove redundant isDisabled check. It is done in
1152         DateTimeFieldElement::defaultEventHandler.
1153
1154 2013-02-05  Eric Carlson  <eric.carlson@apple.com>
1155
1156         [Mac] Complete plumbing so captions menu can indicate track type
1157         https://bugs.webkit.org/show_bug.cgi?id=108994
1158
1159         Reviewed by Dean Jackson.
1160
1161         Plumb "isClosedCaptions" through to the Mac media engine.
1162
1163         Updated media/video-controls-captions-trackmenu-localized.html and results.
1164
1165         * html/track/InbandTextTrack.cpp:
1166         (WebCore::InbandTextTrack::isClosedCaptions): New, pass the call through to the private track.
1167         * html/track/InbandTextTrack.h:
1168         (InbandTextTrack):
1169         * html/track/TextTrack.cpp:
1170         (WebCore::TextTrack::TextTrack): Lose the member variable, this won't be accessed often enough
1171             to make it worth caching the value.
1172         * html/track/TextTrack.h:
1173         (WebCore::TextTrack::isClosedCaptions): Make virtual so derived classes can oveerride.
1174         * platform/graphics/InbandTextTrackPrivate.h:
1175         (WebCore::InbandTextTrackPrivate::isClosedCaptions): New.
1176         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
1177         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1178         (WebCore::InbandTextTrackPrivateAVFObjC::isClosedCaptions): New.
1179
1180 2013-02-05  Mark Lam  <mark.lam@apple.com>
1181
1182         Change DatabaseTask and DatabaseThread to work with DatabaseBackendAsync
1183         instead of Database.
1184         https://bugs.webkit.org/show_bug.cgi?id=108995.
1185
1186         Reviewed by Sam Weinig.
1187
1188         This change also moves the task inner classes from Database to
1189         DatabaseBackendAsync.
1190
1191         No new tests.
1192
1193         * Modules/webdatabase/Database.cpp:
1194         (WebCore::Database::from):
1195         * Modules/webdatabase/Database.h:
1196         (Database):
1197         * Modules/webdatabase/DatabaseBackend.h:
1198         (DatabaseBackend):
1199         * Modules/webdatabase/DatabaseBackendAsync.h:
1200         (DatabaseBackendAsync):
1201         * Modules/webdatabase/DatabaseTask.cpp:
1202         (WebCore::DatabaseTask::DatabaseTask):
1203         (WebCore::DatabaseBackendAsync::DatabaseOpenTask::DatabaseOpenTask):
1204         (WebCore::DatabaseBackendAsync::DatabaseOpenTask::doPerformTask):
1205         (WebCore::DatabaseBackendAsync::DatabaseOpenTask::debugTaskName):
1206         (WebCore::DatabaseBackendAsync::DatabaseCloseTask::DatabaseCloseTask):
1207         (WebCore::DatabaseBackendAsync::DatabaseCloseTask::doPerformTask):
1208         (WebCore::DatabaseBackendAsync::DatabaseCloseTask::debugTaskName):
1209         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
1210         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
1211         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::debugTaskName):
1212         (WebCore::DatabaseBackendAsync::DatabaseTableNamesTask::DatabaseTableNamesTask):
1213         (WebCore::DatabaseBackendAsync::DatabaseTableNamesTask::doPerformTask):
1214         (WebCore::DatabaseBackendAsync::DatabaseTableNamesTask::debugTaskName):
1215         * Modules/webdatabase/DatabaseTask.h:
1216         (WebCore::DatabaseTask::database):
1217         (DatabaseTask):
1218         (WebCore::DatabaseBackendAsync::DatabaseOpenTask::create):
1219         (DatabaseBackendAsync::DatabaseOpenTask):
1220         (WebCore::DatabaseBackendAsync::DatabaseCloseTask::create):
1221         (DatabaseBackendAsync::DatabaseCloseTask):
1222         (WebCore::DatabaseBackendAsync::DatabaseTableNamesTask::create):
1223         (DatabaseBackendAsync::DatabaseTableNamesTask):
1224         * Modules/webdatabase/DatabaseThread.cpp:
1225         (WebCore::DatabaseThread::databaseThread):
1226         (WebCore::DatabaseThread::recordDatabaseOpen):
1227         (WebCore::DatabaseThread::recordDatabaseClosed):
1228         (WebCore::SameDatabasePredicate::SameDatabasePredicate):
1229         (SameDatabasePredicate):
1230         (WebCore::DatabaseThread::unscheduleDatabaseTasks):
1231         * Modules/webdatabase/DatabaseThread.h:
1232         (DatabaseThread):
1233
1234 2013-02-05  Mark Lam  <mark.lam@apple.com>
1235
1236         Rename ENUM_CLASS_BEGIN() macro to ENUM_CLASS(), and make DatabaseType a strong enum.
1237         https://bugs.webkit.org/show_bug.cgi?id=108988.
1238
1239         Reviewed by Alexey Proskuryakov.
1240
1241         No new tests.
1242
1243         * Modules/webdatabase/DatabaseBackend.cpp:
1244         (WebCore::DatabaseBackend::DatabaseBackend):
1245         * Modules/webdatabase/DatabaseBackend.h:
1246         (DatabaseBackend):
1247         * Modules/webdatabase/DatabaseBackendAsync.cpp:
1248         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
1249         * Modules/webdatabase/DatabaseBackendSync.cpp:
1250         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
1251         * Modules/webdatabase/DatabaseBasicTypes.h:
1252         (WebCore::ENUM_CLASS):
1253         * Modules/webdatabase/DatabaseError.h:
1254         (WebCore::ENUM_CLASS):
1255
1256 2013-02-05  Kentaro Hara  <haraken@chromium.org>
1257
1258         [V8] Remove deprecatedV8String() and deprecatedV8Integer()
1259         https://bugs.webkit.org/show_bug.cgi?id=108919
1260
1261         Reviewed by Adam Barth.
1262
1263         No tests. No change in behavior.
1264
1265         * bindings/v8/V8Binding.cpp:
1266         (WebCore::toXPathNSResolver):
1267         * bindings/v8/V8Binding.h:
1268         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1269         (WebCore::V8CustomXPathNSResolver::create):
1270         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
1271         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1272         * bindings/v8/custom/V8CustomXPathNSResolver.h:
1273         (V8CustomXPathNSResolver):
1274
1275 2013-02-05   Vineet Chaudhary  <rgf748@motorola.com>
1276
1277         formenctype to have empty string as default value.
1278         https://bugs.webkit.org/show_bug.cgi?id=108969
1279
1280         Reviewed by Kent Tamura.
1281
1282         The spec says formEnctype should only have an invalid value default, not a missing value default.
1283         Spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formenctype
1284               http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-formenctype
1285
1286         No new tests. Covered by existing test case fast/forms/submit-form-attributes.html
1287
1288         * html/HTMLFormControlElement.cpp: For the missing formEnctype attr return empty string.
1289         (WebCore::HTMLFormControlElement::formEnctype):
1290
1291 2013-02-04  Kentaro Hara  <haraken@chromium.org>
1292
1293         [V8] Reduce usage of deprecatedString() and deprecatedInteger()
1294         https://bugs.webkit.org/show_bug.cgi?id=108909
1295
1296         Reviewed by Adam Barth.
1297
1298         By passing an Isolate parameter around, we can reduce usage of
1299         deprecated methods.
1300
1301         No tests. No change in behavior.
1302
1303         * bindings/scripts/CodeGeneratorV8.pm:
1304         (GenerateNormalAttrSetter):
1305         (GenerateEventListenerCallback):
1306         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1307         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
1308         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
1309         * bindings/scripts/test/V8/V8TestObj.cpp:
1310         (WebCore::TestObjV8Internal::addEventListenerCallback):
1311         (WebCore::TestObjV8Internal::removeEventListenerCallback):
1312         * bindings/v8/IDBBindingUtilities.cpp:
1313         (WebCore::get):
1314         (WebCore::set):
1315         (WebCore::getNthValueOnKeyPath):
1316         (WebCore::canInjectNthValueOnKeyPath):
1317         (WebCore::ensureNthValueOnKeyPath):
1318         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
1319         (WebCore::injectIDBKeyIntoScriptValue):
1320         (WebCore::canInjectIDBKeyIntoScriptValue):
1321         * bindings/v8/NPV8Object.cpp:
1322         (WebCore::createValueListFromVariantArgs):
1323         (_NPN_Invoke):
1324         (_NPN_InvokeDefault):
1325         (_NPN_SetProperty):
1326         (_NPN_Construct):
1327         * bindings/v8/ScriptController.cpp:
1328         (WebCore::ScriptController::compileAndRunScript):
1329         * bindings/v8/ScriptProfiler.cpp:
1330         (WebCore):
1331         (WebCore::ScriptProfiler::takeHeapSnapshot):
1332         * bindings/v8/ScriptSourceCode.cpp:
1333         (WebCore::ScriptSourceCode::compileScript):
1334         * bindings/v8/ScriptSourceCode.h:
1335         (ScriptSourceCode):
1336         * bindings/v8/V8LazyEventListener.cpp:
1337         (WebCore::V8LazyEventListener::prepareListenerObject):
1338         * bindings/v8/V8NPObject.cpp:
1339         (WebCore::npObjectInvokeImpl):
1340         (WebCore::npObjectGetProperty):
1341         * bindings/v8/V8NPUtils.cpp:
1342         (WebCore::convertNPVariantToV8Object):
1343         * bindings/v8/V8NPUtils.h:
1344         (WebCore):
1345         * bindings/v8/V8Utilities.cpp:
1346         (WebCore::createHiddenDependency):
1347         (WebCore::removeHiddenDependency):
1348         (WebCore::transferHiddenDependency):
1349         * bindings/v8/V8Utilities.h:
1350         (WebCore):
1351         * bindings/v8/WorkerScriptController.cpp:
1352         (WebCore::WorkerScriptController::evaluate):
1353         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1354         (WebCore::V8DOMWindow::addEventListenerCallback):
1355         (WebCore::V8DOMWindow::removeEventListenerCallback):
1356
1357 2013-02-05  Kentaro Hara  <haraken@chromium.org>
1358
1359         [V8] Make an Isolate parameter mandatory in HasInstance()
1360         https://bugs.webkit.org/show_bug.cgi?id=108917
1361
1362         Reviewed by Adam Barth.
1363
1364         No tests. No change in behavior.
1365
1366         * bindings/scripts/CodeGeneratorV8.pm:
1367         (GenerateHeader):
1368         (GenerateImplementation):
1369         * bindings/scripts/test/V8/V8Float64Array.cpp:
1370         (WebCore::V8Float64Array::HasInstance):
1371         * bindings/scripts/test/V8/V8Float64Array.h:
1372         (V8Float64Array):
1373         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1374         (WebCore::V8TestActiveDOMObject::HasInstance):
1375         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1376         (V8TestActiveDOMObject):
1377         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1378         (WebCore::V8TestCustomNamedGetter::HasInstance):
1379         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1380         (V8TestCustomNamedGetter):
1381         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1382         (WebCore::V8TestEventConstructor::HasInstance):
1383         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1384         (V8TestEventConstructor):
1385         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1386         (WebCore::V8TestEventTarget::HasInstance):
1387         * bindings/scripts/test/V8/V8TestEventTarget.h:
1388         (V8TestEventTarget):
1389         * bindings/scripts/test/V8/V8TestException.cpp:
1390         (WebCore::V8TestException::HasInstance):
1391         * bindings/scripts/test/V8/V8TestException.h:
1392         (V8TestException):
1393         * bindings/scripts/test/V8/V8TestInterface.cpp:
1394         (WebCore::V8TestInterface::HasInstance):
1395         * bindings/scripts/test/V8/V8TestInterface.h:
1396         (V8TestInterface):
1397         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1398         (WebCore::V8TestMediaQueryListListener::HasInstance):
1399         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1400         (V8TestMediaQueryListListener):
1401         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1402         (WebCore::V8TestNamedConstructor::HasInstance):
1403         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1404         (V8TestNamedConstructor):
1405         * bindings/scripts/test/V8/V8TestNode.cpp:
1406         (WebCore::V8TestNode::HasInstance):
1407         * bindings/scripts/test/V8/V8TestNode.h:
1408         (V8TestNode):
1409         * bindings/scripts/test/V8/V8TestObj.cpp:
1410         (WebCore::V8TestObj::HasInstance):
1411         * bindings/scripts/test/V8/V8TestObj.h:
1412         (V8TestObj):
1413         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1414         (WebCore::V8TestOverloadedConstructors::HasInstance):
1415         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1416         (V8TestOverloadedConstructors):
1417         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1418         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1419         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1420         (V8TestSerializedScriptValueInterface):
1421         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1422         (WebCore::toWebGLUniformLocation):
1423
1424 2013-02-05  Kentaro Hara  <haraken@chromium.org>
1425
1426         [JSC] Clean up CodeGeneratorJS.pm by introducing HasCustom{Getter,Setter,Method}
1427         https://bugs.webkit.org/show_bug.cgi?id=108898
1428
1429         Reviewed by Sam Weinig.
1430
1431         No tests. No change in behavior.
1432
1433         * bindings/scripts/CodeGeneratorJS.pm:
1434         (GenerateHeader):
1435         (GenerateImplementation):
1436         (HasCustomGetter):
1437         (HasCustomSetter):
1438         (HasCustomMethod):
1439
1440 2013-02-05  Dana Jansens  <danakj@chromium.org>
1441
1442         [chromium] Provide compositor offscreen context through the WebLayerTreeViewClient interface
1443         https://bugs.webkit.org/show_bug.cgi?id=107776
1444
1445         Reviewed by James Robinson.
1446
1447         Allow the compositor thread's context to be retrieved on either thread,
1448         so the main thread can create and pass the context to the impl thread
1449         via its own mechanisms.
1450
1451         Move the code to bind the GrGLInterface to a WebGraphicsContext3D into
1452         chromium's GraphicsContext3DPrivate. The chromium-side code will need
1453         to implement this code itself.
1454
1455         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
1456         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1457         (WebCore):
1458         (WebCore::GraphicsContext3DPrivate::grContext):
1459         * platform/chromium/support/GraphicsContext3DPrivate.h:
1460         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1461         (WebCore::SharedGraphicsContext3D::getForImplThread):
1462
1463 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
1464
1465         Continue making XSSAuditor thread safe: Remove dependency on the parser's tokenizer
1466         https://bugs.webkit.org/show_bug.cgi?id=108666
1467
1468         Reviewed by Adam Barth.
1469
1470         This is the final dependency on the parser, so we remove that as well. Yay!
1471
1472         No new tests because no new functionality.
1473
1474         * html/parser/HTMLDocumentParser.cpp:
1475         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1476         (WebCore::HTMLDocumentParser::pumpTokenizer): Pass m_tokenizer->shouldAllowCDATA()
1477         * html/parser/XSSAuditor.cpp:
1478         (WebCore::XSSAuditor::XSSAuditor): Remove isMainThread() check because we have one in init() anyway.
1479         Move m_isEnabled and m_documentURL initialization to init() because we have a Document* there.
1480         (WebCore::XSSAuditor::init):
1481         (WebCore::XSSAuditor::filterToken):
1482         (WebCore::XSSAuditor::filterStartToken):
1483         (WebCore::XSSAuditor::filterEndToken):
1484         (WebCore::XSSAuditor::filterScriptToken):
1485         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
1486         * html/parser/XSSAuditor.h:
1487         (WebCore::FilterTokenRequest::FilterTokenRequest):
1488         (FilterTokenRequest):
1489         (XSSAuditor):
1490
1491 2013-02-05  Enrica Casucci  <enrica@apple.com>
1492
1493         Make baseWritingDirectionForSelectionStart available to all platforms in the Editor class.
1494         https://bugs.webkit.org/show_bug.cgi?id=108977.
1495
1496         Reviewed by Ryosuke Niwa.
1497         
1498         Now that baseWritingDirectionForSelectionStart doesn't use
1499         platform specific type anymore, we can make it available for
1500         all platforms. This way it can be used for iOS as well.
1501
1502         No new tests, no functionality change.
1503
1504         * editing/Editor.cpp:
1505         (WebCore::Editor::baseWritingDirectionForSelectionStart): Added.
1506         * editing/Editor.h: Moved from PLATFORM(MAC).
1507         * editing/mac/EditorMac.mm: baseWritingDirectionForSelectionStart removed.
1508
1509 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
1510
1511         Avoid String->AtomicString conversion in Attr::childrenChanged()
1512         https://bugs.webkit.org/show_bug.cgi?id=108742
1513
1514         Reviewed by Andreas Kling.
1515
1516         * dom/Attr.cpp:
1517         (WebCore::Attr::childrenChanged): StringBuilder can output AtomicString directly.
1518
1519 2013-02-05  Yusuf Ozuysal  <yusufo@google.com>
1520
1521         [chromium] Enable shouldGesturesTriggerActive for Android
1522         https://bugs.webkit.org/show_bug.cgi?id=96948
1523
1524         Reviewed by James Robinson.
1525
1526         We need this to fix performance issues we are getting because of touchstart 
1527         triggering hover/active states.
1528
1529         No new tests. The tests introduced in https://bugs.webkit.org/show_bug.cgi?id=96060
1530         should run with the corrected behavior and would cover this change as well.
1531
1532         * page/EventHandler.cpp:
1533         (WebCore::shouldGesturesTriggerActive):
1534
1535 2013-02-05  Mark Lam  <mark.lam@apple.com>
1536
1537         Introduced back-end database classes + a few small fixes.
1538         https://bugs.webkit.org/show_bug.cgi?id=108759.
1539
1540         Reviewed by Brady Eidson.
1541
1542         1. Added DatabaseBackendContext, DatabaseBackendAsync, and DatabaseBackendSync.
1543            These are backends for DatabaseContext, Database, and DatabaseSync
1544            respectively.
1545         2. Added DatabaseBase to hold common code between Database and DatabaseSync.
1546         3. Renamed a few functions.
1547         4. Cleaned up unneeded code in ~DatabaseSync().
1548         5. Added some FIXMEs as reminders or places to clean up when we're done
1549            refactoring.
1550         6. Moved the calling of ScriptController::initializeThreading() from the Database
1551            constructor to DatabaseManager::openDatabase(). This just moves the call
1552            earlier in the same code path. System initialization work (i.e. initializing
1553            script threading in this case) should be done by the manager instead of by
1554            each Database instance.
1555
1556         No new tests.
1557
1558         * CMakeLists.txt:
1559         * GNUmakefile.list.am:
1560         * Modules/webdatabase/AbstractDatabaseServer.h:
1561         (AbstractDatabaseServer):
1562         * Modules/webdatabase/Database.cpp:
1563         (WebCore::Database::Database):
1564         (WebCore::Database::backend):
1565         * Modules/webdatabase/Database.h:
1566         (Database):
1567         * Modules/webdatabase/DatabaseBackend.cpp:
1568         (WebCore::DatabaseBackend::DatabaseBackend):
1569         (WebCore::DatabaseBackend::~DatabaseBackend):
1570         (WebCore::DatabaseBackend::incrementalVacuumIfNeeded):
1571         * Modules/webdatabase/DatabaseBackend.h:
1572         (DatabaseBackend):
1573         (WebCore::DatabaseBackend::databaseContext):
1574         (WebCore::DatabaseBackend::setFrontend):
1575         * Modules/webdatabase/DatabaseBackendAsync.cpp: Added.
1576         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
1577         * Modules/webdatabase/DatabaseBackendAsync.h: Added.
1578         (DatabaseBackendAsync):
1579         * Modules/webdatabase/DatabaseBackendContext.cpp: Added.
1580         (WebCore::DatabaseBackendContext::securityOrigin):
1581         (WebCore::DatabaseBackendContext::isContextThread):
1582         * Modules/webdatabase/DatabaseBackendContext.h: Added.
1583         (DatabaseBackendContext):
1584         (WebCore::DatabaseBackendContext::scriptExecutionContext):
1585         * Modules/webdatabase/DatabaseBackendSync.cpp: Added.
1586         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
1587         (WebCore::DatabaseBackendSync::~DatabaseBackendSync):
1588         * Modules/webdatabase/DatabaseBackendSync.h: Added.
1589         (DatabaseBackendSync):
1590         * Modules/webdatabase/DatabaseBase.cpp: Added.
1591         (WebCore::DatabaseBase::DatabaseBase):
1592         (WebCore::DatabaseBase::scriptExecutionContext):
1593         (WebCore::DatabaseBase::logErrorMessage):
1594         * Modules/webdatabase/DatabaseBase.h: Added.
1595         (DatabaseBase):
1596         * Modules/webdatabase/DatabaseContext.cpp:
1597         (WebCore::DatabaseContext::DatabaseContext):
1598         (WebCore::DatabaseContext::backend):
1599         * Modules/webdatabase/DatabaseContext.h:
1600         (DatabaseContext):
1601         * Modules/webdatabase/DatabaseManager.cpp:
1602         (WebCore::DatabaseManager::openDatabase):
1603         (WebCore::DatabaseManager::openDatabaseSync):
1604         (WebCore::DatabaseManager::hasOpenDatabases):
1605         (WebCore::DatabaseManager::interruptAllDatabasesForContext):
1606         (WebCore::DatabaseManager::getMaxSizeForDatabase):
1607         (WebCore::DatabaseManager::logErrorMessage):
1608         * Modules/webdatabase/DatabaseManager.h:
1609         (DatabaseManager):
1610         * Modules/webdatabase/DatabaseServer.cpp:
1611         (WebCore::DatabaseServer::interruptAllDatabasesForContext):
1612         (WebCore::DatabaseServer::canEstablishDatabase):
1613         * Modules/webdatabase/DatabaseServer.h:
1614         * Modules/webdatabase/DatabaseSync.cpp:
1615         (WebCore::DatabaseSync::DatabaseSync):
1616         (WebCore::DatabaseSync::~DatabaseSync):
1617         (WebCore::DatabaseSync::backend):
1618         * Modules/webdatabase/DatabaseSync.h:
1619         (DatabaseSync):
1620         * Modules/webdatabase/DatabaseTracker.cpp:
1621         (WebCore::DatabaseTracker::openTrackerDatabase):
1622         (WebCore::DatabaseTracker::canEstablishDatabase):
1623         (WebCore::DatabaseTracker::hasEntryForDatabase):
1624         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1625         (WebCore::DatabaseTracker::populateOriginsIfNeeded):
1626         (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
1627         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1628         (WebCore::DatabaseTracker::setDatabaseDetails):
1629         (WebCore::DatabaseTracker::usageForOriginNoLock):
1630         (WebCore::DatabaseTracker::setQuota):
1631         (WebCore::DatabaseTracker::addDatabase):
1632         (WebCore::DatabaseTracker::deleteOrigin):
1633         (WebCore::DatabaseTracker::isDeletingDatabaseOrOriginFor):
1634         (WebCore::DatabaseTracker::canDeleteDatabase):
1635         (WebCore::DatabaseTracker::isDeletingDatabase):
1636         (WebCore::DatabaseTracker::canDeleteOrigin):
1637         (WebCore::DatabaseTracker::isDeletingOrigin):
1638         (WebCore::DatabaseTracker::recordDeletingOrigin):
1639         (WebCore::DatabaseTracker::doneDeletingOrigin):
1640         (WebCore::DatabaseTracker::deleteDatabase):
1641         (WebCore::DatabaseTracker::deleteDatabaseFile):
1642         * Modules/webdatabase/DatabaseTracker.h:
1643         (DatabaseTracker):
1644         * Modules/webdatabase/SQLTransaction.cpp:
1645         * Modules/webdatabase/SQLTransactionClient.cpp:
1646         (WebCore::SQLTransactionClient::didExceedQuota):
1647         * Modules/webdatabase/SQLTransactionSync.cpp:
1648         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
1649         (WebCore::DatabaseTracker::canEstablishDatabase):
1650         (WebCore::DatabaseTracker::removeOpenDatabase):
1651         (WebCore::DatabaseTracker::prepareToOpenDatabase):
1652         (WebCore::DatabaseTracker::failedToOpenDatabase):
1653         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1654         (WebCore::DatabaseTracker::closeDatabasesImmediately):
1655         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
1656         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1657         (WebCore::SQLTransactionClient::didExceedQuota):
1658         * Target.pri:
1659         * WebCore.gypi:
1660         * WebCore.vcproj/WebCore.vcproj:
1661         * WebCore.vcxproj/WebCore.vcxproj:
1662         * WebCore.vcxproj/WebCore.vcxproj.filters:
1663         * WebCore.xcodeproj/project.pbxproj:
1664
1665 2013-02-05  Nayan Kumar K  <nayankk@motorola.com>
1666
1667         [WEBGL] Rename WEBKIT_WEBGL_depth_texture to WEBGL_depth_texture.
1668         https://bugs.webkit.org/show_bug.cgi?id=108959
1669
1670         Reviewed by Kenneth Russell.
1671
1672         WEBGL_depth_texture is official now. Hence remove the vendor prefix from
1673         WEBKIT_WEBGL_depth_texture and rename this extension string to WEBGL_depth_texture.
1674         Specification: http://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/.
1675
1676         Tests already exists, modified them to test querying of unprefixed extension string.
1677
1678         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1679         (WebCore::toJS):
1680         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1681         (WebCore::toV8Object):
1682         * html/canvas/WebGLDepthTexture.cpp:
1683         (WebCore::WebGLDepthTexture::getName):
1684         * html/canvas/WebGLExtension.h:
1685         * html/canvas/WebGLRenderingContext.cpp:
1686         (WebCore):
1687         (WebCore::WebGLRenderingContext::getExtension):
1688
1689 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1690
1691         Unreviewed, rolling out r141905.
1692         http://trac.webkit.org/changeset/141905
1693         https://bugs.webkit.org/show_bug.cgi?id=108963
1694
1695         "Broke mac build" (Requested by tonyg-cr on #webkit).
1696
1697         * html/parser/BackgroundHTMLParser.cpp:
1698         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1699         * html/parser/CompactHTMLToken.cpp:
1700         (SameSizeAsCompactHTMLToken):
1701         (WebCore::isStringSafeToSendToAnotherThread):
1702         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1703         * html/parser/CompactHTMLToken.h:
1704         (WebCore):
1705         (CompactHTMLToken):
1706         * html/parser/HTMLDocumentParser.cpp:
1707         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1708         (WebCore::HTMLDocumentParser::pumpTokenizer):
1709         * html/parser/XSSAuditor.cpp:
1710         (WebCore::XSSAuditor::filterToken):
1711         * html/parser/XSSAuditor.h:
1712         (WebCore):
1713         (XSSAuditor):
1714         * html/parser/XSSAuditorDelegate.cpp:
1715         (WebCore::XSSAuditorDelegate::didBlockScript):
1716         * html/parser/XSSAuditorDelegate.h:
1717         (WebCore::DidBlockScriptRequest::create):
1718         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
1719         (XSSAuditorDelegate):
1720         * platform/KURL.cpp:
1721         * platform/KURL.h:
1722         (KURL):
1723         * platform/KURLGoogle.cpp:
1724         (WebCore::KURLGooglePrivate::reportMemoryUsage):
1725         * platform/KURLGooglePrivate.h:
1726         (KURLGooglePrivate):
1727         * platform/KURLWTFURLImpl.h:
1728         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
1729
1730 2013-02-05  Dominik Röttsches  <dominik.rottsches@intel.com>
1731
1732         [HarfBuzz][Cairo] harfBuzzGetGlyph is slow and hot
1733         https://bugs.webkit.org/show_bug.cgi?id=108941
1734
1735         Reviewed by Kenneth Rohde Christiansen.
1736
1737         The text to glyph conversion using Cairo is slow
1738         due to expensive text codec conversion to UTF-8.
1739         Additionally, the glyph lookup itself is expensive.
1740
1741         Inspired by the approach taken in HarfBuzzFaceSkia.cpp
1742         I suggest to implement a similar caching mechanism to
1743         accelerate this conversion.
1744
1745         Arabic line breaking test, under review in
1746         bug 108948 shows about 58% improvement on my system
1747         with this patch.
1748
1749         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
1750         (WebCore::HarfBuzzFontData::HarfBuzzFontData):
1751             New container structure that keeps pointers
1752             to the cairo scaled font as well as the glyph cache.
1753         (HarfBuzzFontData):
1754         (WebCore):
1755         (WebCore::harfBuzzGetGlyph): Using the new container structure for accessing the cache.
1756         (WebCore::harfBuzzGetGlyphHorizontalAdvance): Using the new container structure for accessing the scaled font.
1757         (WebCore::harfBuzzGetGlyphExtents): Ditto.
1758         (WebCore::destroyHarfBuzzFontData): Destroying the container that held the pointers.
1759         (WebCore::HarfBuzzFace::createFont):
1760             Initializing the container structure with the pointers
1761             to the cache that is held in HarfBuzzFace and the cairo scaled font.
1762
1763 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
1764
1765         Call XSSAuditor's didBlockScript() for the threaded HTML parser
1766         https://bugs.webkit.org/show_bug.cgi?id=108726
1767
1768         Reviewed by Adam Barth.
1769
1770         This patch causes us to call didBlockScript() on the main thread if the CompactHTML token has XSSInfo.
1771         To do so, we:
1772         1. Rename DidBlockScriptRequest to XSSInfo.
1773         2. Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
1774         3. Add an isSafeToSendToAnotherThread() method to String and KURL.
1775
1776         We don't yet populate didBlockScriptRequest on the background thread, but this should just work once we do.
1777
1778         No new tests because no new functionality.
1779
1780         * html/parser/BackgroundHTMLParser.cpp:
1781         (WebCore::BackgroundHTMLParser::pumpTokenizer): Update comment for rename.
1782         * html/parser/CompactHTMLToken.cpp:
1783         (SameSizeAsCompactHTMLToken):
1784         (WebCore::CompactHTMLToken::CompactHTMLToken): Add a copy constructor used by Vector.
1785         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread): Include new m_xssInfo field in safety check.
1786         (WebCore):
1787         (WebCore::CompactHTMLToken::xssInfo): Added.
1788         (WebCore::CompactHTMLToken::setXSSInfo): Added.
1789         * html/parser/CompactHTMLToken.h: Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
1790         (WebCore):
1791         (CompactHTMLToken):
1792         (WTF): Add VectorTraits necessary for copying Vector fields objects that contain an OwnPtr.
1793         * html/parser/HTMLDocumentParser.cpp:
1794         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): Add new didBlockScript() call.
1795         (WebCore::HTMLDocumentParser::pumpTokenizer):
1796         * html/parser/XSSAuditor.cpp: Renaming.
1797         (WebCore::XSSAuditor::filterToken):
1798         * html/parser/XSSAuditor.h: Renaming.
1799         (WebCore):
1800         (XSSAuditor):
1801         * html/parser/XSSAuditorDelegate.cpp:
1802         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
1803         (WebCore):
1804         (WebCore::XSSAuditorDelegate::didBlockScript):
1805         * html/parser/XSSAuditorDelegate.h:
1806         (WebCore::XSSInfo::create):
1807         (XSSInfo):
1808         (WebCore::XSSInfo::XSSInfo):
1809         (XSSAuditorDelegate):
1810         * platform/KURL.cpp:
1811         (WebCore::KURL::isSafeToSendToAnotherThread): Added.
1812         (WebCore):
1813         * platform/KURL.h:
1814         (KURL):
1815         * platform/KURLGoogle.cpp:
1816         (WebCore):
1817         (WebCore::KURLGooglePrivate::isSafeToSendToAnotherThread): Added.
1818         * platform/KURLGooglePrivate.h:
1819         (KURLGooglePrivate):
1820         * platform/KURLWTFURLImpl.h:
1821         (WebCore::KURLWTFURLImpl::isSafeToSendToAnotherThread): Added.
1822
1823 2013-02-05  Anton Vayvod  <avayvod@chromium.org>
1824
1825         TextAutosizing: adjust the maximum difference between cluster text width and its descendant
1826         width.
1827         https://bugs.webkit.org/show_bug.cgi?id=108411
1828
1829         Currently, if a render object is more than 200 CSS units shorter than its parent cluster, it
1830         becomes a separate autosizing cluster (see https://bugs.webkit.org/show_bug.cgi?id=105188).
1831         This doesn't work well for layouts when narrow nodes are related, like nested comments:
1832         deeper comments are all shorter than the parent cluster and become autosized differently. To
1833         avoid that the difference that makes a shorter descendant a new autosizing cluster is
1834         adjusted each time the width difference is not greater than 50 CSS units from the previous
1835         one. This allows nested comments, for example, to remain a part of the parent cluster and be
1836         autosized with the same multiplier.
1837         
1838         Reviewed by Kenneth Rohde Christiansen.
1839
1840         Tests:
1841                 fast/text-autosizing/nested-child.html
1842
1843         * rendering/TextAutosizer.cpp:
1844         (WebCore::TextAutosizingClusterInfo::TextAutosizingClusterInfo):
1845
1846             Added a new field to store the current maximum width difference for the cluster.
1847
1848         (WebCore::TextAutosizer::isAutosizingCluster):
1849
1850             Uses the new field to determine if the current node is a separate cluster,
1851             updates the maximum allowed width difference between the cluster and its descendant.
1852
1853         (WebCore::TextAutosizer::processContainer):
1854         (WebCore::TextAutosizer::clusterShouldBeAutosized):
1855         (WebCore::TextAutosizer::measureDescendantTextWidth):
1856
1857             Non-const reference passed to the methods above.
1858
1859         * rendering/TextAutosizer.h: updated method parameters.
1860
1861 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
1862
1863         Continue making XSSAuditor thread safe: Remove dependency on parser's sourceForToken and TextResourceDecoder
1864         https://bugs.webkit.org/show_bug.cgi?id=108698
1865
1866         Reviewed by Adam Barth.
1867
1868         We'd like to be able to call filterToken() from the BackgroundHTMLParser where there is no HTMLDocumentParser. So we are removing the dependencies of
1869         filterToken() on the HTMLDocumentParser. This patch brings us one step closer to removing the m_parser member from XSSAuditor by passing in the
1870         TextResourceDecoder and HTMLSourceTracker to filterToken. To keep the number of parameters from blowing up, this introduces a FilterTokenRequest struct
1871         to hold its arguments. We expect to add one more member to this struct.
1872
1873
1874         No new tests because no new functionality.
1875
1876         * html/parser/HTMLDocumentParser.cpp:
1877         (WebCore::HTMLDocumentParser::pumpTokenizer):
1878         * html/parser/HTMLDocumentParser.h:
1879         * html/parser/XSSAuditor.cpp:
1880         (WebCore::XSSAuditor::filterToken):
1881         (WebCore::XSSAuditor::filterStartToken):
1882         (WebCore::XSSAuditor::filterCharacterToken):
1883         (WebCore::XSSAuditor::filterScriptToken):
1884         (WebCore::XSSAuditor::filterObjectToken):
1885         (WebCore::XSSAuditor::filterParamToken):
1886         (WebCore::XSSAuditor::filterEmbedToken):
1887         (WebCore::XSSAuditor::filterAppletToken):
1888         (WebCore::XSSAuditor::filterIframeToken):
1889         (WebCore::XSSAuditor::filterMetaToken):
1890         (WebCore::XSSAuditor::filterBaseToken):
1891         (WebCore::XSSAuditor::filterFormToken):
1892         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1893         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1894         (WebCore::XSSAuditor::decodedSnippetForName):
1895         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1896         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
1897         * html/parser/XSSAuditor.h:
1898         (WebCore):
1899         (WebCore::FilterTokenRequest::FilterTokenRequest):
1900         (FilterTokenRequest):
1901         (XSSAuditor):
1902
1903 2013-02-05  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1904
1905         [Qt] REGRESSION(r137436): It made all inspector tests timeout on developer builds
1906         https://bugs.webkit.org/show_bug.cgi?id=106554
1907
1908         Reviewed by Simon Hausmann.
1909
1910         * Target.pri:
1911
1912 2013-02-05  Peter Rybin  <prybin@chromium.org>
1913
1914         Web Inspector: prevent crash, add required error string value
1915         https://bugs.webkit.org/show_bug.cgi?id=108776
1916
1917         Reviewed by Pavel Feldman.
1918
1919         Error string is assigned where missing, assert is added where empty string is
1920         possible.
1921
1922         * inspector/InjectedScriptBase.cpp:
1923         (WebCore::InjectedScriptBase::makeEvalCall):
1924         * inspector/PageRuntimeAgent.cpp:
1925         (WebCore::PageRuntimeAgent::injectedScriptForEval):
1926
1927 2013-02-05  Eugene Klyuchnikov  <eustas@chromium.org>
1928
1929         Web Inspector: Clicking a profile's title in the console loads about:blank.
1930         https://bugs.webkit.org/show_bug.cgi?id=107949
1931
1932         Reviewed by Vsevolod Vlasov.
1933
1934         Quick fix for regression.
1935
1936         * inspector/front-end/inspector.js:
1937         Avoid "exit route" when URL is a profile URL.
1938
1939 2013-02-05  Kent Tamura  <tkent@chromium.org>
1940
1941         INPUT_MULTIPLE_FIELDS_UI: element.focus() should not focus on disabled sub-fields.
1942         https://bugs.webkit.org/show_bug.cgi?id=108924
1943
1944         Reviewed by Kentaro Hara.
1945
1946         The first field may be non-focusable. We should search sub-fields for
1947         focusable one.
1948
1949         Test: fast/forms/date-multiple-fields/date-multiple-fields-focus.html
1950
1951         * html/shadow/DateTimeEditElement.cpp:
1952         (WebCore::DateTimeEditElement::focusOnNextFocusableField):
1953         Added. A private helper function.
1954         (WebCore::DateTimeEditElement::focusIfNoFocus): Use focusOnNextFocusableField.
1955         (WebCore::DateTimeEditElement::focusByOwner): Ditto.
1956         (WebCore::DateTimeEditElement::focusOnNextField): Ditto.
1957         * html/shadow/DateTimeEditElement.h:
1958         (DateTimeEditElement): Declare focusOnNextFocusableField.
1959
1960 2013-02-04  Vsevolod Vlasov  <vsevik@chromium.org>
1961
1962         Web Inspector: Create separate project for each file system added to inspector.
1963         https://bugs.webkit.org/show_bug.cgi?id=108652
1964
1965         Reviewed by Pavel Feldman.
1966
1967         Every file system added to web inspector is now represented by its own project in workspace.
1968         FileSystemMapping changed accrodingly.
1969
1970         Test: inspector/file-system-mapping.html
1971
1972         * inspector/front-end/FileMapping.js:
1973         (WebInspector.FileMapping.prototype._entryURIPrefix):
1974         * inspector/front-end/FileSystemMapping.js:
1975         (WebInspector.FileSystemMapping.prototype.fileForURI):
1976         (WebInspector.FileSystemMapping.prototype.uriForFile):
1977         (WebInspector.FileSystemMapping.prototype.uriPrefixForPathPrefix):
1978         (WebInspector.FileSystemMappingImpl):
1979         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
1980         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
1981         (WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
1982         (WebInspector.FileSystemMappingImpl.prototype.set _fileSystemName):
1983         (WebInspector.FileSystemMappingImpl.prototype.fileSystemId):
1984         (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
1985         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
1986         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
1987         (WebInspector.FileSystemMappingImpl.prototype.fileForURI):
1988         (WebInspector.FileSystemMappingImpl.prototype.uriForFile):
1989         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
1990         * inspector/front-end/FileSystemWorkspaceProvider.js:
1991         (WebInspector.FileSystemWorkspaceProvider):
1992         (WebInspector.FileSystemWorkspaceProvider.prototype.innerCallback):
1993         (WebInspector.FileSystemWorkspaceProvider.prototype.requestFileContent):
1994         (WebInspector.FileSystemWorkspaceProvider.prototype.setFileContent):
1995         (WebInspector.FileSystemWorkspaceProvider.prototype._populate.filesLoaded):
1996         (WebInspector.FileSystemWorkspaceProvider.prototype._populate):
1997         (WebInspector.FileSystemWorkspaceProvider.prototype._addFile):
1998         (WebInspector.FileSystemWorkspaceProvider.prototype._removeFile):
1999         (WebInspector.FileSystemWorkspaceProvider.prototype.reset):
2000         * inspector/front-end/IsolatedFileSystemModel.js:
2001         (WebInspector.IsolatedFileSystemModel):
2002         (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
2003         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
2004         * inspector/front-end/Workspace.js:
2005         (WebInspector.Project.prototype.searchInFileContent):
2006         (WebInspector.Project.prototype.dispose):
2007         (WebInspector.Workspace.prototype.removeProject):
2008
2009 2013-02-05  Kent Tamura  <tkent@chromium.org>
2010
2011         INPUT_MULTIPLE_FIELDS_UI: Should not move focus if the element already has focus
2012         https://bugs.webkit.org/show_bug.cgi?id=108914
2013
2014         Reviewed by Kentaro Hara.
2015
2016         If timeInput.focus() is called when a sub-field of the time input
2017         already has focus, we should not focus on the first sub-field of the
2018         time input.
2019
2020         Test: fast/forms/time-multiple-fields/time-multiple-fields-focus.html
2021
2022         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2023         (WebCore::BaseMultipleFieldsDateAndTimeInputType::willCancelFocus): If
2024         the input elment already has focused sub-field, we don't need to proceed
2025         focus handling. FocusDirection check is required because we don't need
2026         to do this in cases of sequential focus navigation.
2027         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2028         (BaseMultipleFieldsDateAndTimeInputType): Override InputType::willCancelFocus.
2029
2030         * html/HTMLInputElement.cpp:
2031         (WebCore::HTMLInputElement::focus):
2032         Cancel focus if InputType::willCancelFocus returns true.
2033         * html/HTMLInputElement.h:
2034         (HTMLInputElement): Override focus.
2035         * html/InputType.cpp:
2036         (WebCore::InputType::willCancelFocus):
2037         Add a default implementation. It returns false.
2038         * html/InputType.h:
2039         (InputType): Declare willCancelFocus.
2040
2041 2013-02-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2042
2043         [Qt] RGB -> BGR is wrong on big endian
2044         https://bugs.webkit.org/show_bug.cgi?id=107560
2045
2046         Reviewed by Jocelyn Turcotte.
2047
2048         Replace the conversion to methods that make it clearer what is going on.
2049         The routines are also optimized compared to the existing by avoiding going
2050         over slow Color constructor.
2051
2052         Tested by existing tests in canvas and fast/canvas.
2053
2054         * platform/graphics/Color.cpp:
2055         (WebCore::colorFromPremultipliedARGB):
2056             Cleanup.
2057         (WebCore::premultipliedARGBFromColor):
2058             Cleanup and correct for alpha = 0.
2059         * platform/graphics/Color.h:
2060         (WebCore):
2061         * platform/graphics/qt/ImageBufferQt.cpp:
2062         (WebCore::copyColorToRGBA):
2063         (WebCore::copyRGBAToColor):
2064         (WebCore::getImageData):
2065         (WebCore::ImageBuffer::putByteArray):
2066
2067 2013-02-05  JungJik Lee  <jungjik.lee@samsung.com>
2068
2069         [TexMap] Use visible as initial value of backface-visibility-property.
2070         https://bugs.webkit.org/show_bug.cgi?id=108875
2071
2072         Reviewed by Noam Rosenthal.
2073
2074         According to W3C spec, the initial value of backface-visibility-visibility is visible.
2075         However TextureMapperLayer's initial value is false which means hidden.
2076         So this patch is for changing the value to visible(true).
2077
2078         Covered by existing tests.
2079
2080         * platform/graphics/texmap/TextureMapperLayer.h:
2081         (WebCore::TextureMapperLayer::State::State): Change the initial value false to true
2082         to use backface-visibility.
2083
2084 2013-02-05  Andrey Adaikin  <aandrey@chromium.org>
2085
2086         Web Inspector: [Canvas] do not store a dropped trace log in backend
2087         https://bugs.webkit.org/show_bug.cgi?id=108600
2088
2089         Reviewed by Pavel Feldman.
2090
2091         Clear memory immediately on dropping current trace log instead of waiting for the next capture command.
2092
2093         * inspector/InjectedScriptCanvasModuleSource.js:
2094         (.):
2095
2096 2013-02-05  Andrey Adaikin  <aandrey@chromium.org>
2097
2098         Web Inspector: [Canvas] UI is not restored properly when deleting a live recording profile
2099         https://bugs.webkit.org/show_bug.cgi?id=108602
2100
2101         Reviewed by Pavel Feldman.
2102
2103         Cancel recording profile of canvas-type when deleting an alive trace log.
2104         Drive-by: rename ProfileHeader.reset to ProfileHeader.dispose since it's called on header's destruction.
2105
2106         * inspector/front-end/CanvasProfileView.js:
2107         (WebInspector.CanvasProfileHeader.prototype.dispose):
2108         * inspector/front-end/ProfilesPanel.js:
2109         (WebInspector.ProfileHeader.prototype.dispose):
2110         (WebInspector.ProfilesPanel.prototype._reset):
2111         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2112         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2113
2114 2013-02-05  Julien Brianceau  <jbrianceau@nds.com>
2115
2116         Build is broken since r141543 for platforms without OpenGL
2117         https://bugs.webkit.org/show_bug.cgi?id=108862
2118
2119         Reviewed by Simon Hausmann.
2120
2121         * Target.pri:
2122
2123 2013-02-05  Kentaro Hara  <haraken@chromium.org>
2124
2125         Unreviewed, rolling out r141865.
2126         http://trac.webkit.org/changeset/141865
2127         https://bugs.webkit.org/show_bug.cgi?id=108909
2128
2129         webkit unit tests are broken
2130
2131         * bindings/scripts/CodeGeneratorV8.pm:
2132         (GenerateNormalAttrSetter):
2133         (GenerateEventListenerCallback):
2134         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2135         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
2136         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
2137         * bindings/scripts/test/V8/V8TestObj.cpp:
2138         (WebCore::TestObjV8Internal::addEventListenerCallback):
2139         (WebCore::TestObjV8Internal::removeEventListenerCallback):
2140         * bindings/v8/IDBBindingUtilities.cpp:
2141         (WebCore::get):
2142         (WebCore::set):
2143         (WebCore::getNthValueOnKeyPath):
2144         (WebCore::canInjectNthValueOnKeyPath):
2145         (WebCore::ensureNthValueOnKeyPath):
2146         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
2147         (WebCore::injectIDBKeyIntoScriptValue):
2148         (WebCore::canInjectIDBKeyIntoScriptValue):
2149         * bindings/v8/NPV8Object.cpp:
2150         (WebCore::createValueListFromVariantArgs):
2151         (_NPN_Invoke):
2152         (_NPN_InvokeDefault):
2153         (_NPN_SetProperty):
2154         (_NPN_Construct):
2155         * bindings/v8/ScriptController.cpp:
2156         (WebCore::ScriptController::compileAndRunScript):
2157         * bindings/v8/ScriptProfiler.cpp:
2158         (WebCore::ScriptProfiler::takeHeapSnapshot):
2159         * bindings/v8/ScriptSourceCode.cpp:
2160         (WebCore::ScriptSourceCode::compileScript):
2161         * bindings/v8/ScriptSourceCode.h:
2162         (ScriptSourceCode):
2163         * bindings/v8/V8LazyEventListener.cpp:
2164         (WebCore::V8LazyEventListener::prepareListenerObject):
2165         * bindings/v8/V8NPObject.cpp:
2166         (WebCore::npObjectInvokeImpl):
2167         (WebCore::npObjectGetProperty):
2168         * bindings/v8/V8NPUtils.cpp:
2169         (WebCore::convertNPVariantToV8Object):
2170         * bindings/v8/V8NPUtils.h:
2171         (WebCore):
2172         * bindings/v8/V8Utilities.cpp:
2173         (WebCore::createHiddenDependency):
2174         (WebCore::removeHiddenDependency):
2175         (WebCore::transferHiddenDependency):
2176         * bindings/v8/V8Utilities.h:
2177         (WebCore):
2178         * bindings/v8/WorkerScriptController.cpp:
2179         (WebCore::WorkerScriptController::evaluate):
2180         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2181         (WebCore::V8DOMWindow::addEventListenerCallback):
2182         (WebCore::V8DOMWindow::removeEventListenerCallback):
2183
2184 2013-02-05  Mike West  <mkwst@chromium.org>
2185
2186         Cleanup: Use exceptionless Range::* methods rather than ignoring exceptions.
2187         https://bugs.webkit.org/show_bug.cgi?id=108773
2188
2189         Reviewed by Darin Adler.
2190
2191         We often call Range::{start,end}{Container,Offset} with an ExceptionCode
2192         that's completely ignored. In these cases, we should simply use the
2193         exceptionless version of the method instead.
2194
2195         * dom/DocumentMarkerController.cpp:
2196         (WebCore::DocumentMarkerController::addMarker):
2197             Here, I also moved parameters onto one line to make the
2198             stylebot happy.
2199         (WebCore::DocumentMarkerController::addTextMatchMarker):
2200         (WebCore::DocumentMarkerController::setMarkersActive):
2201             Dropped ignored ExceptionCode variable entirely.
2202         * accessibility/AccessibilityRenderObject.cpp:
2203         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2204             Can't drop the variable because of the selectNodeContents call.
2205         * editing/Editor.cpp:
2206         (WebCore::Editor::canDeleteRange):
2207             Dropped ignored ExceptionCode variable entirely.
2208         (WebCore::Editor::advanceToNextMisspelling):
2209             Can't drop the variable because of setStart/setEnd.
2210         * editing/EditorCommand.cpp:
2211         (WebCore::unionDOMRanges):
2212             Can't drop the variable because of compareBoundaryPoints.
2213         * editing/MarkupAccumulator.cpp:
2214         (WebCore::MarkupAccumulator::appendNodeValue):
2215             Dropped ignored ExceptionCode variable entirely.
2216         * editing/TextCheckingHelper.cpp:
2217         (WebCore::TextCheckingParagraph::offsetAsRange):
2218         (WebCore::TextCheckingHelper::findFirstMisspelling):
2219         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
2220         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
2221         * editing/markup.cpp:
2222         (WebCore::StyledMarkupAccumulator::renderedText):
2223         (WebCore::StyledMarkupAccumulator::stringValueForRange):
2224             Dropped ignored ExceptionCode variable entirely.
2225         * editing/visible_units.cpp:
2226         (WebCore::previousBoundary):
2227             Can't drop the variable due to many other calls.
2228         * page/DOMSelection.cpp:
2229         (WebCore::DOMSelection::deleteFromDocument):
2230         (WebCore::DOMSelection::containsNode):
2231             For both these cases, the 'ASSERT(!ec)' after the statement I've
2232             edited only checked the last occurance of the exception: that is,
2233             if 'startXxx(ec)' threw an exception, it would be overwritten by
2234             the 'setBaseAndExtend()' or 'compareBoundaryPoints()' exception.
2235             Removing the exception parameters from the parameters' calls
2236             shouldn't effect behavior.
2237         * platform/chromium/PasteboardChromium.cpp:
2238         (WebCore::Pasteboard::writeSelection):
2239         * platform/mac/HTMLConverter.mm:
2240         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2241         * platform/win/ClipboardWin.cpp:
2242         (WebCore::ClipboardWin::writeRange):
2243         * platform/win/PasteboardWin.cpp:
2244         (WebCore::Pasteboard::writeSelection):
2245         * platform/wince/PasteboardWinCE.cpp:
2246         (WebCore::Pasteboard::writeSelection):
2247             Dropped ignored ExceptionCode variable entirely.
2248
2249 2013-02-05  Yury Semikhatsky  <yurys@chromium.org>
2250
2251         Web Inspector:  introduce Memory.getDOMCounters
2252         https://bugs.webkit.org/show_bug.cgi?id=108822
2253
2254         Reviewed by Pavel Feldman.
2255
2256         Introduced Memory.getDOMCounters command that returns number of Documents, Nodes
2257         and JS event listeners in the inspected process.
2258
2259         * inspector/Inspector.json:
2260         * inspector/InspectorMemoryAgent.cpp:
2261         (WebCore::InspectorMemoryAgent::getDOMCounters):
2262         (WebCore):
2263         * inspector/InspectorMemoryAgent.h:
2264         (InspectorMemoryAgent):
2265
2266 2013-02-04  Ilya Tikhonovsky  <loislo@chromium.org>
2267
2268         Web Inspector: Native Memory Instrumentation: rename Image m_data member to m_encodedImageData for the consistency
2269         https://bugs.webkit.org/show_bug.cgi?id=108913
2270
2271         Reviewed by Yury Semikhatsky.
2272
2273         No new tests because no API changes.
2274
2275         * platform/graphics/Image.cpp:
2276         (WebCore::Image::setData):
2277         (WebCore::Image::reportMemoryUsage):
2278         * platform/graphics/Image.h:
2279         (WebCore::Image::data):
2280         (Image):
2281
2282 2013-02-05  Hajime Morrita  <morrita@google.com>
2283
2284         Unreviewed Linux ASAN build fix for r141783.
2285
2286         * platform/RefCountedSupplement.h:
2287         (Wrapper):
2288         * platform/Supplementable.h:
2289         (Supplement):
2290
2291 2013-02-05  Mike West  <mkwst@chromium.org>
2292
2293         [chromium] Unreviewed: Fix broken SVG-disabled build.
2294         https://bugs.webkit.org/show_bug.cgi?id=108916
2295
2296         The new enum value CSSPropertyWebkitGridAutoFlow was introduced in
2297         r141787, and accidentally left out of CSSParser::parseValue's big
2298         switch. This causes problems in non-SVG builds.
2299
2300         * css/CSSParser.cpp:
2301         (WebCore::CSSParser::parseValue):
2302
2303 2013-02-05  Tommy Widenflycht  <tommyw@google.com>
2304
2305         MediaStream API: Update RTCPeerConnections stream accessors to match the latest specification
2306         https://bugs.webkit.org/show_bug.cgi?id=108179
2307
2308         Reviewed by Adam Barth.
2309
2310         http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition
2311         The attributes localStreams and remoteStreams have been changes to the methods
2312         getLocalStreams() and getRemoteStreams() which return a native array instead.
2313
2314         Existing tests updated to cover patch.
2315
2316         * CMakeLists.txt:
2317         * GNUmakefile.list.am:
2318         * Modules/mediastream/MediaStream.h:
2319         (WebCore):
2320         * Modules/mediastream/MediaStreamList.cpp: Removed.
2321         * Modules/mediastream/MediaStreamList.h: Removed.
2322         * Modules/mediastream/MediaStreamList.idl: Removed.
2323         * Modules/mediastream/RTCPeerConnection.cpp:
2324         (WebCore::RTCPeerConnection::RTCPeerConnection):
2325         (WebCore::RTCPeerConnection::addStream):
2326         (WebCore::RTCPeerConnection::removeStream):
2327         (WebCore::RTCPeerConnection::getLocalStreams):
2328         (WebCore::RTCPeerConnection::getRemoteStreams):
2329         (WebCore::RTCPeerConnection::didAddRemoteStream):
2330         (WebCore::RTCPeerConnection::didRemoveRemoteStream):
2331         * Modules/mediastream/RTCPeerConnection.h:
2332         (RTCPeerConnection):
2333         * Modules/mediastream/RTCPeerConnection.idl:
2334         * WebCore.gypi:
2335
2336 2013-02-05  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
2337
2338         [Qt][EFL][WebGL] Webgl doesn't work on nvidia cards
2339         https://bugs.webkit.org/show_bug.cgi?id=108059
2340
2341         Reviewed by Kenneth Rohde Christiansen.
2342
2343         Commit r138327 fixed repainting issues on mesa3d GL library by re-binding
2344         texture to the window after every glXSwapBuffer. Unfortunatelly re-bind
2345         breaks rendering on NVidia cards with NVidia propiertary drivers.
2346         This change limits texture re-binding only for mesa3d GL library.
2347
2348         No new tests. HW specific fix.
2349
2350         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2351         (WebCore::OffScreenRootWindow::isMesaGLX):
2352         (OffScreenRootWindow):
2353         (WebCore::GraphicsSurface::platformSwapBuffers):
2354
2355 2013-02-05  Praveen Jadhav  <praveen.j@samsung.com>
2356
2357         Floating point precision error in AudioPannerNode.
2358         https://bugs.webkit.org/show_bug.cgi?id=106001
2359
2360         Reviewed by Kentaro Hara.
2361
2362         Specifications Update: 
2363         https://dvcs.w3.org/hg/audio/rev/69a39a516e45
2364
2365         Conversion from double to float and back to double
2366         results in precision error. Avoiding these conversions
2367         will make sure that proper values are retained in the
2368         parameters.
2369
2370         * Modules/webaudio/PannerNode.h:
2371         (WebCore::PannerNode::refDistance):
2372         (WebCore::PannerNode::setRefDistance):
2373         (WebCore::PannerNode::maxDistance):
2374         (WebCore::PannerNode::setMaxDistance):
2375         (WebCore::PannerNode::rolloffFactor):
2376         (WebCore::PannerNode::setRolloffFactor):
2377         (WebCore::PannerNode::coneInnerAngle):
2378         (WebCore::PannerNode::setConeInnerAngle):
2379         (WebCore::PannerNode::coneOuterAngle):
2380         (WebCore::PannerNode::setConeOuterAngle):
2381         (WebCore::PannerNode::coneOuterGain):
2382         (WebCore::PannerNode::setConeOuterGain):
2383         * Modules/webaudio/PannerNode.idl:
2384
2385 2013-02-05  Kent Tamura  <tkent@chromium.org>
2386
2387         INPUT_MULTIPLE_FIELDS_UI: Use disabled attribute internally instead of readonly attribute
2388         https://bugs.webkit.org/show_bug.cgi?id=108911
2389
2390         Reviewed by Kentaro Hara.
2391
2392         Use 'disabled' attribute for shadow elements for <input> with
2393         multiple-fields UI instead of 'readonly' attribute because 'readonly'
2394         attribute represents focusable-but-non-editable state in HTML though
2395         we'd like to represent non-focusable-and-non-editable state.
2396
2397         The summary of changes:
2398         - Use 'disabled' attribute instead of 'readonly' attribute for DateTimeFieldElement,
2399         - Rename C++ functions for it,
2400         - Call isFocusable instead of isReadOnly to check focusable state.
2401
2402         No new tests. This doesn't make user-visible behavior changes.
2403
2404         * css/html.css:
2405         Replace [readonly] with [disabled] for sub-fields.
2406         * html/shadow/DateTimeEditElement.cpp:
2407         (DateTimeEditBuilder):
2408         (WebCore::DateTimeEditBuilder::visitField):
2409         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
2410         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
2411         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled):
2412         (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled):
2413         (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled):
2414         (WebCore::DateTimeEditBuilder::shouldYearFieldDisabled):
2415         (WebCore::DateTimeEditElement::anyEditableFieldsHaveValues):
2416         (WebCore::DateTimeEditElement::focusOnNextField): Use isFocusable.
2417         (WebCore::DateTimeEditElement::focusOnPreviousField): Use isFocusable.
2418         * html/shadow/DateTimeFieldElement.cpp:
2419         (WebCore::DateTimeFieldElement::isFocusable):
2420         (WebCore::DateTimeFieldElement::isDisabled):
2421         (WebCore::DateTimeFieldElement::setDisabled):
2422         * html/shadow/DateTimeFieldElement.h:
2423         (DateTimeFieldElement): Make isFocusable public in order that
2424         DateTimeEditElement can call it.
2425         * html/shadow/DateTimeNumericFieldElement.cpp:
2426         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
2427         (WebCore::DateTimeNumericFieldElement::setEmptyValue):
2428         * html/shadow/DateTimeSymbolicFieldElement.cpp:
2429         (WebCore::DateTimeSymbolicFieldElement::setEmptyValue):
2430
2431 2013-02-05  Kentaro Hara  <haraken@chromium.org>
2432
2433         [V8] Reduce usage of deprecatedString() and deprecatedInteger()
2434         https://bugs.webkit.org/show_bug.cgi?id=108909
2435
2436         Reviewed by Adam Barth.
2437
2438         By passing an Isolate parameter around, we can reduce usage of
2439         deprecated methods.
2440
2441         No tests. No change in behavior.
2442
2443         * bindings/scripts/CodeGeneratorV8.pm:
2444         (GenerateNormalAttrSetter):
2445         (GenerateEventListenerCallback):
2446         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2447         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
2448         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
2449         * bindings/scripts/test/V8/V8TestObj.cpp:
2450         (WebCore::TestObjV8Internal::addEventListenerCallback):
2451         (WebCore::TestObjV8Internal::removeEventListenerCallback):
2452         * bindings/v8/IDBBindingUtilities.cpp:
2453         (WebCore::get):
2454         (WebCore::set):
2455         (WebCore::getNthValueOnKeyPath):
2456         (WebCore::canInjectNthValueOnKeyPath):
2457         (WebCore::ensureNthValueOnKeyPath):
2458         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
2459         (WebCore::injectIDBKeyIntoScriptValue):
2460         (WebCore::canInjectIDBKeyIntoScriptValue):
2461         * bindings/v8/NPV8Object.cpp:
2462         (WebCore::createValueListFromVariantArgs):
2463         (_NPN_Invoke):
2464         (_NPN_InvokeDefault):
2465         (_NPN_SetProperty):
2466         (_NPN_Construct):
2467         * bindings/v8/ScriptController.cpp:
2468         (WebCore::ScriptController::compileAndRunScript):
2469         * bindings/v8/ScriptProfiler.cpp:
2470         (WebCore):
2471         (WebCore::ScriptProfiler::takeHeapSnapshot):
2472         * bindings/v8/ScriptSourceCode.cpp:
2473         (WebCore::ScriptSourceCode::compileScript):
2474         * bindings/v8/ScriptSourceCode.h:
2475         (ScriptSourceCode):
2476         * bindings/v8/V8LazyEventListener.cpp:
2477         (WebCore::V8LazyEventListener::prepareListenerObject):
2478         * bindings/v8/V8NPObject.cpp:
2479         (WebCore::npObjectInvokeImpl):
2480         (WebCore::npObjectGetProperty):
2481         * bindings/v8/V8NPUtils.cpp:
2482         (WebCore::convertNPVariantToV8Object):
2483         * bindings/v8/V8NPUtils.h:
2484         (WebCore):
2485         * bindings/v8/V8Utilities.cpp:
2486         (WebCore::createHiddenDependency):
2487         (WebCore::removeHiddenDependency):
2488         (WebCore::transferHiddenDependency):
2489         * bindings/v8/V8Utilities.h:
2490         (WebCore):
2491         * bindings/v8/WorkerScriptController.cpp:
2492         (WebCore::WorkerScriptController::evaluate):
2493         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2494         (WebCore::V8DOMWindow::addEventListenerCallback):
2495         (WebCore::V8DOMWindow::removeEventListenerCallback):
2496
2497 2013-02-04  Dean Jackson  <dino@apple.com>
2498
2499         [Mac] Captions menu should indicate language and type of track
2500         https://bugs.webkit.org/show_bug.cgi?id=108882
2501
2502         Reviewed by Eric Carlson.
2503
2504         On Mac, we want a specific format for menu items in a caption list. Since
2505         other ports might want different formats, move the generation of the label
2506         into CaptionsUserPreferences where it can be overridden.
2507
2508         This required CaptionsUserPreferences to become public on the PageGroup, so
2509         it could be used when creating the menu. Also, since CaptionsUserPreferences
2510         was hidden on Mountain Lion and below, be a little more specific about
2511         which pieces can be seen on which builds.
2512
2513         Covered by exisiting media/video-controls-captions-trackmenu tests.
2514
2515         * English.lproj/Localizable.strings: Remove textTrackClosedCaptionsText.
2516         * html/shadow/MediaControlElements.cpp:
2517         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Build only
2518             one section and get the track's display name from the user preferences.
2519         * page/CaptionUserPreferences.h:
2520         (WebCore::CaptionUserPreferences::displayNameForTrack): Default implementation of
2521             virtual function that provides a label for a captions menu item.
2522         * page/CaptionUserPreferencesMac.h: Add the new virtual function, and expose just
2523             a bit of this class outside 10.9 builds.
2524         * page/CaptionUserPreferencesMac.mm:
2525         (WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Guard features for system version.
2526         (WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.
2527         (WebCore::CaptionUserPreferencesMac::displayNameForTrack): New OS X-specific method that
2528             returns a string for the menu label.
2529         * page/PageGroup.cpp:
2530         (WebCore::PageGroup::captionPreferences): Unguard for system version.
2531         * page/PageGroup.h: Make captionPreferences public.
2532         * platform/LocalizedStrings.cpp: Remove textTrackClosedCaptionsText - not needed any more.
2533         * platform/LocalizedStrings.h: Remove textTrackClosedCaptionsText.
2534
2535 2013-02-04  Kentaro Hara  <haraken@chromium.org>
2536
2537         [V8] Pass an Isolate to V8DOMConfiguration
2538         https://bugs.webkit.org/show_bug.cgi?id=108900
2539
2540         Reviewed by Adam Barth.
2541
2542         No tests. No change in behavior.
2543
2544         * bindings/scripts/CodeGeneratorV8.pm:
2545         (GenerateHeader):
2546         (GenerateImplementation):
2547         (GenerateToV8Converters):
2548         * bindings/scripts/test/V8/V8Float64Array.cpp:
2549         (WebCore::ConfigureV8Float64ArrayTemplate):
2550         (WebCore::V8Float64Array::createWrapper):
2551         * bindings/scripts/test/V8/V8Float64Array.h:
2552         (WebCore::V8Float64Array::installPerContextProperties):
2553         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2554         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2555         (WebCore::V8TestActiveDOMObject::createWrapper):
2556         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2557         (WebCore::V8TestActiveDOMObject::installPerContextProperties):
2558         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2559         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2560         (WebCore::V8TestCustomNamedGetter::createWrapper):
2561         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2562         (WebCore::V8TestCustomNamedGetter::installPerContextProperties):
2563         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2564         (WebCore::ConfigureV8TestEventConstructorTemplate):
2565         (WebCore::V8TestEventConstructor::createWrapper):
2566         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2567         (WebCore::V8TestEventConstructor::installPerContextProperties):
2568         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2569         (WebCore::ConfigureV8TestEventTargetTemplate):
2570         (WebCore::V8TestEventTarget::createWrapper):
2571         * bindings/scripts/test/V8/V8TestEventTarget.h:
2572         (WebCore::V8TestEventTarget::installPerContextProperties):
2573         * bindings/scripts/test/V8/V8TestException.cpp:
2574         (WebCore::ConfigureV8TestExceptionTemplate):
2575         (WebCore::V8TestException::createWrapper):
2576         * bindings/scripts/test/V8/V8TestException.h:
2577         (WebCore::V8TestException::installPerContextProperties):
2578         * bindings/scripts/test/V8/V8TestInterface.cpp:
2579         (WebCore::ConfigureV8TestInterfaceTemplate):
2580         (WebCore::V8TestInterface::createWrapper):
2581         * bindings/scripts/test/V8/V8TestInterface.h:
2582         (WebCore::V8TestInterface::installPerContextProperties):
2583         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2584         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2585         (WebCore::V8TestMediaQueryListListener::createWrapper):
2586         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2587         (WebCore::V8TestMediaQueryListListener::installPerContextProperties):
2588         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2589         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2590         (WebCore::V8TestNamedConstructor::createWrapper):
2591         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2592         (WebCore::V8TestNamedConstructor::installPerContextProperties):
2593         * bindings/scripts/test/V8/V8TestNode.cpp:
2594         (WebCore::ConfigureV8TestNodeTemplate):
2595         (WebCore::V8TestNode::createWrapper):
2596         * bindings/scripts/test/V8/V8TestNode.h:
2597         (WebCore::V8TestNode::installPerContextProperties):
2598         * bindings/scripts/test/V8/V8TestObj.cpp:
2599         (WebCore::ConfigureV8TestObjTemplate):
2600         (WebCore::V8TestObj::installPerContextProperties):
2601         (WebCore::V8TestObj::createWrapper):
2602         * bindings/scripts/test/V8/V8TestObj.h:
2603         (V8TestObj):
2604         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2605         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
2606         (WebCore::V8TestOverloadedConstructors::createWrapper):
2607         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2608         (WebCore::V8TestOverloadedConstructors::installPerContextProperties):
2609         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2610         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2611         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
2612         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2613         (WebCore::V8TestSerializedScriptValueInterface::installPerContextProperties):
2614         * bindings/v8/V8DOMConfiguration.cpp:
2615         (WebCore::V8DOMConfiguration::batchConfigureAttributes):
2616         (WebCore::V8DOMConfiguration::batchConfigureConstants):
2617         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
2618         (WebCore::V8DOMConfiguration::configureTemplate):
2619         * bindings/v8/V8DOMConfiguration.h:
2620         (V8DOMConfiguration):
2621         (WebCore::V8DOMConfiguration::configureAttribute):
2622         * bindings/v8/V8DOMWindowShell.cpp:
2623         (WebCore::V8DOMWindowShell::installDOMWindow):
2624
2625 2013-02-04  Kentaro Hara  <haraken@chromium.org>
2626
2627         [V8] Clean up CodeGeneratorV8.pm by introducing HasCustom{Getter,Setter,Method}
2628         https://bugs.webkit.org/show_bug.cgi?id=108896
2629
2630         Reviewed by Adam Barth.
2631
2632         No tests. No change in generated code.
2633
2634         * bindings/scripts/CodeGeneratorV8.pm:
2635         (GenerateHeader):
2636         (HasCustomGetter):
2637         (HasCustomSetter):
2638         (HasCustomMethod):
2639         (GetFunctionTemplateCallbackName):
2640         (GenerateSingleBatchedAttribute):
2641         (GenerateImplementation):
2642         (RequiresCustomSignature):
2643
2644 2013-02-04  Kent Tamura  <tkent@chromium.org>
2645
2646         Fix crash by <select> type change on focus
2647         https://bugs.webkit.org/show_bug.cgi?id=108830
2648
2649         Reviewed by Abhishek Arya.
2650
2651         Test: fast/forms/select/select-change-type-on-focus.html
2652
2653         * html/HTMLSelectElement.cpp:
2654         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2655         focus() calls may change the renderer type.
2656
2657 2013-02-04  Kentaro Hara  <haraken@chromium.org>
2658
2659         [V8] Pass an Isolate to opaqueRootForGC()
2660         https://bugs.webkit.org/show_bug.cgi?id=108886
2661
2662         Reviewed by Adam Barth.
2663
2664         No tests. No change in behavior.
2665
2666         * bindings/scripts/CodeGeneratorV8.pm:
2667         (GenerateOpaqueRootForGC):
2668         (GenerateHeader):
2669         * bindings/v8/V8GCController.cpp:
2670         (WebCore::V8GCController::opaqueRootForGC):
2671         * bindings/v8/WrapperTypeInfo.h:
2672         (WebCore):
2673         (WebCore::WrapperTypeInfo::opaqueRootForGC):
2674         * bindings/v8/custom/V8NodeListCustom.cpp:
2675         (WebCore::V8NodeList::opaqueRootForGC):
2676
2677 2013-02-04  Wei James  <james.wei@intel.com>
2678
2679         Heap-buffer-overflow in WebCore::AudioBufferSourceNode::process
2680         https://bugs.webkit.org/show_bug.cgi?id=108515
2681
2682         After calling setBuffer() with a buffer having a different number of
2683         channels, there can in rare cases be a slight delay before the output
2684         bus is updated to the new number of channels because of use of
2685         tryLocks() in the context's updating system.
2686         In this case, if the the buffer has just been changed and we're
2687         not quite ready yet then just output silence.
2688
2689         Reviewed by Chris Rogers.
2690
2691         * Modules/webaudio/AudioBufferSourceNode.cpp:
2692         (WebCore::AudioBufferSourceNode::process):
2693         (WebCore::AudioBufferSourceNode::renderFromBuffer):
2694
2695 2013-02-04  James Simonsen  <simonjam@chromium.org>
2696
2697         [Chromium] Add a signal for when the body is inserted in the document
2698         https://bugs.webkit.org/show_bug.cgi?id=108725
2699
2700         Reviewed by Adam Barth.
2701
2702         This is an important signal for resource scheduling. We know we have enough to paint something,
2703         so we can start kicking off image preloads.
2704
2705         Test: Chromium webkit_unit_tests
2706
2707         * html/parser/HTMLConstructionSite.cpp:
2708         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
2709         * loader/FrameLoaderClient.h:
2710         (FrameLoaderClient):
2711         (WebCore::FrameLoaderClient::dispatchWillInsertBody):
2712
2713 2013-02-04  Benjamin Poulain  <bpoulain@apple.com>
2714
2715         Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
2716         https://bugs.webkit.org/show_bug.cgi?id=108741
2717
2718         Reviewed by Tony Chang.
2719
2720         Move suspendAnimations and resumeAnimations to group all the animation related
2721         code together.
2722
2723         Add support for numberOfActiveAnimations, similarily to the feature previously defined
2724         in TestRunner.
2725
2726         * testing/Internals.cpp:
2727         (WebCore::Internals::numberOfActiveAnimations):
2728         (WebCore):
2729         (WebCore::Internals::suspendAnimations):
2730         (WebCore::Internals::resumeAnimations):
2731         * testing/Internals.h:
2732         (Internals):
2733         * testing/Internals.idl:
2734
2735 2013-02-04  Nayan Kumar K  <nayankk@motorola.com>
2736
2737         [WEBGL] Rename WEBKIT_WEBGL_compressed_texture_s3tc to WEBGL_compressed_texture_s3tc
2738         https://bugs.webkit.org/show_bug.cgi?id=108866
2739
2740         Reviewed by Kenneth Russell.
2741
2742         WEBGL_compressed_texture_s3tc is one of the community approved WebGL extension.
2743         Hence remove the vendor prefix from WEBKIT_WEBGL_compressed_texture_s3tc.
2744         Specification: http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
2745
2746         No tests currently present to test WEBKIT_WEBGL_compressed_texture_s3tc.
2747
2748         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2749         (WebCore::toJS):
2750         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2751         (WebCore::toV8Object):
2752         * html/canvas/WebGLCompressedTextureS3TC.cpp:
2753         (WebCore::WebGLCompressedTextureS3TC::getName):
2754         * html/canvas/WebGLExtension.h:
2755         * html/canvas/WebGLRenderingContext.cpp:
2756         (WebCore):
2757         (WebCore::WebGLRenderingContext::getExtension):
2758
2759 2013-02-04  Nayan Kumar K  <nayankk@motorola.com>
2760
2761         [WEBGL] Rename WEBKIT_WEBGL_lose_context to WEBGL_lose_context.
2762         https://bugs.webkit.org/show_bug.cgi?id=108694
2763
2764         Reviewed by Kenneth Russell.
2765
2766         WEBGL_lose_context is one of the community approved WebGL extension.
2767         Hence remove the vendor prefix from WEBKIT_WEBGL_lose_context extension.
2768         Spefication: http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/
2769
2770         Tests already exists, modified them to verify the change in extension name.
2771
2772         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2773         (WebCore::toJS):
2774         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2775         (WebCore::toV8Object):
2776         * html/canvas/WebGLExtension.h:
2777         * html/canvas/WebGLLoseContext.cpp:
2778         (WebCore::WebGLLoseContext::getName):
2779         * html/canvas/WebGLRenderingContext.cpp:
2780         (WebCore):
2781         (WebCore::WebGLRenderingContext::getExtension):
2782         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2783
2784 2013-02-04  Dean Jackson  <dino@apple.com>
2785
2786         Default element styles are not always collected for sharing detection
2787         https://bugs.webkit.org/show_bug.cgi?id=108404
2788
2789         Reviewed by Antti Koivisto.
2790
2791         The method ensureDefaultStyleSheetsForElement is run as we add elements
2792         to the document. This may update the defaultStyle of the document, but
2793         does not recollect any changes into the StyleResolver. This means that
2794         style sharing might be overly ambitious, thinking it can share a style
2795         for an element which was matched in the new rules. This showed up most
2796         often in the Shadow Root for media elements, which would add a set of
2797         style rules, but the shadow children would sometimes share styles even
2798         when they shouldn't.
2799
2800         The fix is to detect if we need to collect after adding a
2801         style for an element. This might cause a little more work, but
2802         in my testing it doesn't happen very often.
2803
2804         Unfortunately it is hard to get a reproducible test for this.
2805
2806         * css/CSSDefaultStyleSheets.cpp:
2807         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement): As we load in
2808             styles, keep track of whether or not we change the default style.
2809         * css/CSSDefaultStyleSheets.h:
2810         (CSSDefaultStyleSheets): New boolean parameter indicating if the style has changed.
2811         * css/StyleResolver.cpp:
2812         (WebCore::StyleResolver::styleForElement): Collect features if the element
2813             caused the default style to update.
2814         (WebCore::StyleResolver::collectFeatures): Protect for null in updates.
2815
2816 2013-02-04  Jun Jiang  <jun.a.jiang@intel.com>
2817
2818         Fix the issue that some possible source formats are ignored for float textures in texture packing for CG port
2819         https://bugs.webkit.org/show_bug.cgi?id=108812
2820
2821         Reviewed by Kenneth Russell.
2822
2823         Already covered by latest WebGL conformance test.
2824
2825         * platform/graphics/GraphicsContext3D.cpp:
2826         (WebCore):
2827
2828 2013-02-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2829
2830         [EFL] Remove needless local variables in LocalizedStringsEfl.cpp
2831         https://bugs.webkit.org/show_bug.cgi?id=108869
2832
2833         Reviewed by Kentaro Hara.
2834
2835         fromUTF8() returns static String. So, we don't need to use needless local variables.
2836
2837         * platform/efl/LocalizedStringsEfl.cpp:
2838         (WebCore::contextMenuItemTagCopy):
2839         (WebCore::contextMenuItemTagDelete):
2840         (WebCore::contextMenuItemTagSelectAll):
2841         (WebCore::contextMenuItemTagGoBack):
2842         (WebCore::contextMenuItemTagGoForward):
2843         (WebCore::contextMenuItemTagStop):
2844         (WebCore::contextMenuItemTagCut):
2845         (WebCore::contextMenuItemTagPaste):
2846         (WebCore::contextMenuItemTagBold):
2847         (WebCore::contextMenuItemTagItalic):
2848         (WebCore::contextMenuItemTagUnderline):
2849
2850 2013-02-04  Jun Jiang  <jun.a.jiang@intel.com>
2851
2852         WebGL: Move the format conversion for 16-bit per channel formats into Core Graphics port only
2853         https://bugs.webkit.org/show_bug.cgi?id=108304
2854
2855         Reviewed by Kenneth Russell.
2856
2857         Since the 16-bit per channel formats are only used for Core Graphics port in WebGL and not a standard to represent any file format that is widely used 
2858         for each platform, it is better to limit and hide this kinds of information and processing in CG specific code only. 
2859         It can make the code more clear and reduce the binary size for both CG port and non-CG port.
2860
2861         Already covered by current tests.
2862
2863         * platform/graphics/GraphicsContext3D.cpp:
2864         (WebCore):
2865         * platform/graphics/GraphicsContext3D.h:
2866         (GraphicsContext3D):
2867         (WebCore::GraphicsContext3D::srcFormatComeFromDOMElementOrImageData):
2868         (ImageExtractor):
2869         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2870         (WebCore):
2871         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2872
2873 2013-02-04  Dean Jackson  <dino@apple.com>
2874
2875         Allow TextTracks to be marked as closed captions
2876         https://bugs.webkit.org/show_bug.cgi?id=108856
2877
2878         Reviewed by Darin Adler.
2879
2880         While this isn't exposed directly in markup, some platform media frameworks can
2881         provide indication that a caption track is a closed caption. Expose such a flag
2882         on TextTrack and platforms can show a different UI if they want to.
2883
2884         No tests - this isn't used elsewhere yet, nor exposed to the DOM.
2885
2886         * html/track/TextTrack.cpp:
2887         (WebCore::TextTrack::TextTrack): Initialise new member.
2888         * html/track/TextTrack.h:
2889         (WebCore::TextTrack::isClosedCaptions): New member variable.
2890         (WebCore::TextTrack::setIsClosedCaptions):
2891
2892 2013-02-04  Chris Hopman  <cjhopman@chromium.org>
2893
2894         Make moveCaretTowardsWindowPoint not snap to the beginning/end when moved above/below editable
2895         https://bugs.webkit.org/show_bug.cgi?id=107850
2896
2897         Reviewed by Ojan Vafai.
2898
2899         On Android, EditingBehavior::shouldMoveCaret[...] controls the
2900         behavior of insertion handles. This change adds a new Android specific
2901         editing behavior type.
2902
2903         The new EditingBehavior is the same as EditingUnixBehavior except for
2904         EditingBehavior::shouldMoveCaret[...]. This new behavior fixes
2905         WebFrame::moveCaretTowardsWindowPoint to not span to the
2906         beginning/end.
2907
2908         * editing/EditingBehavior.h:
2909         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
2910         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
2911         (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
2912         * editing/EditingBehaviorTypes.h:
2913         * page/Settings.cpp:
2914         (WebCore):
2915         (WebCore::editingBehaviorTypeForPlatform):
2916         * testing/InternalSettings.cpp:
2917         (WebCore::InternalSettings::setEditingBehavior):
2918
2919 2013-02-04  Kent Tamura  <tkent@chromium.org>
2920
2921         INPUT_MULTIPLE_FIELDS_UI: Focus order is not controllable by tabIndex attribute on <input>
2922         https://bugs.webkit.org/show_bug.cgi?id=108447
2923
2924         Reviewed by Hajime Morita.
2925
2926         We make <input> elements with the multiple-fields UI focusable.
2927          - However, we don't want to change the existing focus behavior for
2928            multiple-fields <input>. We'd like to focus on the last sub-field of
2929            an<input> with Shift + TAB focus navigation, and focus on the first
2930            sub-field of the <input> otherwise. So, we move focus immediately
2931            after the <input> gets focus.
2932          - We don't need the isFocusableByClickOnLabel hack any more. <input>
2933            elements with the multiple-fields UI are mouse-focusable.
2934
2935         Test: fast/forms/time-multiple-fields/time-multiple-fields-tabindex.html
2936
2937         * html/InputType.h:
2938         (InputType): Add FocusDirection argument to handleFocusEvent, and remove
2939         unnecessary isFocusableByClickOnLabel and focus.
2940         * html/InputType.cpp:
2941         (WebCore::InputType::handleFocusEvent): Ditto.
2942         * html/PasswordInputType.cpp:
2943         (WebCore::PasswordInputType::handleFocusEvent): Follow the argument change.
2944         * html/PasswordInputType.h:
2945         (PasswordInputType): Ditto.
2946
2947         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2948         (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
2949         If this element gets focus by FocusDirectionBackward (it means the focus
2950         is moved from the first sub-field of the element,) move the focus
2951         backward once more. Otherwise, we focus on the first sub-filed of the
2952         element.
2953         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isKeyboardFocusable):
2954         Make this keyboard-focusable. We have a wrong test to ensure read-only
2955         input does NOT get focus. We'll address it later.
2956         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isMouseFocusable):
2957         Make this mouse-focusable.
2958         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2959         (BaseMultipleFieldsDateAndTimeInputType):
2960
2961         * html/HTMLInputElement.h:
2962         (HTMLInputElement): Remove defaultFocus, focus, and isFocusableByClickOnLabel.
2963         Add missing OVERRIDE to handleFocusEvent.
2964         * html/HTMLInputElement.cpp: Remove unnecessary functions.
2965         (WebCore::HTMLInputElement::handleFocusEvent):
2966         Pass FocusDirection value to InputTYpe::handleFocusEvent.
2967
2968         * html/HTMLLabelElement.cpp:
2969         (WebCore::HTMLLabelElement::defaultEventHandler):
2970         Use isMouseFocusable().
2971         * html/HTMLElement.cpp: Remove unnecessary isFocusableByClickOnLabel.
2972         * html/HTMLElement.h: Ditto.
2973
2974 2013-02-04  Seulgi Kim  <seulgikim@company100.net>
2975
2976         Coordinated Graphics: crash in TiledBackingStore::adjustForContentsRect
2977         https://bugs.webkit.org/show_bug.cgi?id=107639
2978
2979         Reviewed by Kenneth Rohde Christiansen.
2980
2981         In TiledBackingStore::adjustForContentsRect method, inflating is not
2982         needed when there is no intersections between the cover/keep rect and
2983         the content rect.
2984
2985         No new tests, no change in functionality.
2986
2987         * platform/graphics/TiledBackingStore.cpp:
2988         (WebCore::TiledBackingStore::adjustForContentsRect):
2989
2990 2013-02-04  Stephen White  <senorblanco@chromium.org>
2991
2992         [skia] Remove use of SkSingleInputImageFilter.
2993         https://bugs.webkit.org/show_bug.cgi?id=108867
2994
2995         Reviewed by James Robinson.
2996
2997         This class is but a hollow shell of its former self, and has
2998         been removed in Skia.
2999
3000         Covered by existing tests in css3/filters.
3001
3002         * platform/graphics/filters/skia/DropShadowImageFilter.cpp:
3003         (WebCore::DropShadowImageFilter::DropShadowImageFilter):
3004         (WebCore::DropShadowImageFilter::onFilterImage):
3005         * platform/graphics/filters/skia/DropShadowImageFilter.h:
3006
3007 2013-01-31  Kentaro Hara  <haraken@chromium.org>
3008
3009         Implement WheelEvent::deltaMode
3010         https://bugs.webkit.org/show_bug.cgi?id=108455
3011
3012         Reviewed by Adam Barth.
3013
3014         Per the spec, WheelEvent::deltaMode should return
3015         DOM_DELTA_PIXEL or DOM_DELTA_LINE or DOM_DELTA_PAGE.
3016
3017         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
3018         https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
3019
3020         Test: fast/event/wheel-event-constructor.html
3021
3022         * dom/WheelEvent.cpp:
3023         (WebCore::WheelEventInit::WheelEventInit):
3024         (WebCore::WheelEvent::WheelEvent):
3025         (WebCore::WheelEvent::initWheelEvent):
3026         (WebCore::deltaMode):
3027         * dom/WheelEvent.h:
3028         (WheelEventInit):
3029         (WebCore::WheelEvent::create):
3030         (WebCore::WheelEvent::deltaMode):
3031         (WheelEvent):
3032         * dom/WheelEvent.idl:
3033         * page/EventHandler.cpp:
3034         (WebCore::wheelGranularityToScrollGranularity):
3035
3036 2013-02-04  Gustavo Noronha Silva  <gns@gnome.org>
3037
3038         [Soup] Remove duplicate setting of first party for cookies
3039         https://bugs.webkit.org/show_bug.cgi?id=108814
3040
3041         Reviewed by Martin Robinson.
3042
3043         Covered by existing tests.
3044
3045         * platform/network/soup/ResourceHandleSoup.cpp:
3046         (WebCore::createSoupMessageForHandleAndRequest): there is no need to set
3047         the first party for cookies here, since that is already done in
3048         ResourceRequest::updateSoupMessage, which is called a few lines before.
3049
3050 2013-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3051
3052         [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
3053         https://bugs.webkit.org/show_bug.cgi?id=105552
3054
3055         Reviewed by Philippe Normand.
3056
3057         Makes it possible for the GStreamer media backend to provide the buffer to which
3058         the Soup networking backend will use to download data to. This makes copying
3059         memory unnecessary when ResourceHandle hands data over to the media player's
3060         StreamingClient. Thanks to Dan Winship for help designing the interface.
3061
3062         No behaviour change, covered by existing tests.
3063
3064         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
3065         (createGstBufferForData): New helper to create a GstBuffer when
3066         we have a data pointer and a length.
3067         (getGstBufferSize): Abstract obtaining the size of the buffer, so the code
3068         is cleaner while still working for both GST 0.10 and 1.0.
3069         (setGstBufferSize): Ditto, but for setting the size.
3070         (getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
3071         (mapGstBuffer): Convenience method to take care of mapping the buffer so that
3072         we can provide the data pointer to ResourceHandle.
3073         (unmapGstBuffer): Convenience method which takes care of unmapping the buffer
3074         and properly freeing the GstMapInfo.
3075         * platform/graphics/gstreamer/GStreamerVersioning.h:
3076         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3077         (StreamingClient): New methods.
3078         (_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
3079         so we can later unmap it and push it to the pipeline.
3080         (webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
3081         destroyed.
3082         (webKitWebSrcStop): Also clear the GstBuffer in this case.
3083         (StreamingClient::didReceiveData): Handle the hand-over of the buffer.
3084         (StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
3085         * platform/network/ResourceHandleClient.h:
3086         (ResourceHandleClient):
3087         (WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
3088         member variable to 0.
3089         (WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
3090         has been allocated.
3091         (WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
3092         newly allocated char pointer.
3093         * platform/network/ResourceHandleInternal.h:
3094         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3095         (ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
3096         * platform/network/soup/ResourceHandleSoup.cpp:
3097         (WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
3098         buffer is handled by the ResourceHandleClient.
3099         (WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
3100         (WebCore::sendRequestCallback): Ditto.
3101         (WebCore::readCallback): Ditto.
3102
3103 2013-02-04  Mark Pilgrim  <pilgrim@chromium.org>
3104
3105         [Chromium] Move WorkerContextProxy to WebCore
3106         https://bugs.webkit.org/show_bug.cgi?id=108847
3107
3108         Reviewed by Adam Barth.
3109
3110         Part of a larger refactoring series; see tracking bug 106829.
3111
3112         * WebCore.gyp/WebCore.gyp:
3113         * WebCore.gypi:
3114         * workers/chromium: Added.
3115         * workers/chromium/WorkerContextProxyChromium.cpp: Added.
3116         (WebCore):
3117         (WebCore::setWorkerContextProxyCreateFunction):
3118         (WebCore::WorkerContextProxy::create):
3119         * workers/chromium/WorkerContextProxyChromium.h: Added.
3120         (WebCore):
3121
3122 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
3123
3124         WebVTT <i>, <b> and <u> elements should have default styles
3125         https://bugs.webkit.org/show_bug.cgi?id=107214
3126
3127         Reviewed by Darin Adler.
3128
3129         Added default styles for basic webvtt object types.
3130
3131         Test: media/track/track-css-matching-default.html
3132
3133         * css/mediaControls.css:
3134         (video::-webkit-media-text-track-container b):
3135         (video::-webkit-media-text-track-container u):
3136         (video::-webkit-media-text-track-container i):
3137
3138 2013-02-04  Abhishek Arya  <inferno@chromium.org>
3139
3140         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
3141         https://bugs.webkit.org/show_bug.cgi?id=108668
3142
3143         Reviewed by Eric Seidel.
3144
3145         * bindings/v8/SerializedScriptValue.cpp:
3146         * css/CSSCalculationValue.cpp:
3147         (WebCore::CSSCalcExpressionNodeParser::parseCalc):
3148         * css/CSSImageSetValue.cpp:
3149         (WebCore::CSSImageSetValue::fillImageSet):
3150         (WebCore::CSSImageSetValue::customCssText):
3151         * css/CSSParserValues.h:
3152         (WebCore::CSSParserString::operator[]):
3153         * css/CSSValueList.h:
3154         (WebCore::CSSValueListInspector::item):
3155         * css/StyleSheetContents.cpp:
3156         (WebCore::StyleSheetContents::ruleAt):
3157         (WebCore::StyleSheetContents::wrapperInsertRule):
3158         (WebCore::StyleSheetContents::wrapperDeleteRule):
3159         * dom/Document.cpp:
3160         (WebCore::Document::processArguments):
3161         * dom/Element.cpp:
3162         (WebCore::Element::removeAttributeInternal):
3163         * dom/ElementAttributeData.cpp:
3164         (WebCore::ElementAttributeData::removeAttribute):
3165         * dom/ElementAttributeData.h:
3166         (WebCore::ElementAttributeData::attributeItem):
3167         * dom/SpaceSplitString.h:
3168         (WebCore::SpaceSplitStringData::operator[]):
3169         (WebCore::SpaceSplitString::operator[]):
3170         * editing/TextIterator.cpp:
3171         (WebCore::TextIterator::characterAt):
3172         * html/HTMLFormElement.cpp:
3173         (WebCore::HTMLFormElement::removeFormElement):
3174         * html/HTMLSelectElementWin.cpp:
3175         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
3176         * html/canvas/WebGLRenderingContext.cpp:
3177         (WebCore):
3178         * html/parser/HTMLFormattingElementList.cpp:
3179         (WebCore::HTMLFormattingElementList::swapTo):
3180         * inspector/InspectorStyleSheet.cpp:
3181         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
3182         * inspector/InspectorStyleTextEditor.cpp:
3183         (WebCore::InspectorStyleTextEditor::replaceProperty):
3184         * inspector/InspectorValues.cpp:
3185         (WebCore::InspectorArrayBase::get):
3186         * page/WindowFeatures.cpp:
3187         (WebCore::WindowFeatures::WindowFeatures):
3188         * platform/audio/AudioArray.h:
3189         (WebCore::AudioArray::at):
3190         * platform/audio/AudioFIFO.cpp:
3191         (WebCore::AudioFIFO::findWrapLengths):
3192         * platform/graphics/GlyphPage.h:
3193         (WebCore::GlyphPage::glyphDataForIndex):
3194         (WebCore::GlyphPage::glyphAt):
3195         (WebCore::GlyphPage::setGlyphDataForIndex):
3196         * platform/graphics/TextRun.h:
3197         (WebCore::TextRun::operator[]):
3198         (WebCore::TextRun::data8):
3199         (WebCore::TextRun::data16):
3200         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3201         (WebCore::HarfBuzzShaper::setDrawRange):
3202         * platform/graphics/openvg/TiledImageOpenVG.cpp:
3203         (WebCore::TiledImageOpenVG::setTile):
3204         (WebCore::TiledImageOpenVG::tile):
3205         * platform/image-decoders/ico/ICOImageDecoder.cpp:
3206         (WebCore::ICOImageDecoder::decodeAtIndex):
3207         (WebCore::ICOImageDecoder::imageTypeAtIndex):
3208         * platform/text/QuotedPrintable.cpp:
3209         (WebCore::lengthOfLineEndingAtIndex):
3210         * platform/text/SegmentedString.cpp:
3211         (WebCore::SegmentedString::advance):
3212         * platform/win/WebCoreTextRenderer.cpp:
3213         (WebCore::doDrawTextAtPoint):
3214         * rendering/InlineTextBox.cpp:
3215         (WebCore::InlineTextBox::paint):
3216         (WebCore::InlineTextBox::paintSelection):
3217
3218 2013-02-04  Nate Chapin  <japhet@chromium.org>
3219
3220         REGRESSION (r137607): Loading of archives as substitute data is broken
3221         https://bugs.webkit.org/show_bug.cgi?id=108589
3222
3223         Reviewed by Alexey Proskuryakov.
3224
3225         * loader/MainResourceLoader.cpp:
3226         (WebCore::MainResourceLoader::resourceData): Return the content from
3227             SubstituteData as mainResourceData if present.
3228
3229 2013-02-04  Julien Chaffraix  <jchaffraix@webkit.org>
3230
3231         [CSS Grid Layout] Heap-buffer-overflow in std::sort
3232         https://bugs.webkit.org/show_bug.cgi?id=108834
3233
3234         Reviewed by Abhishek Arya.
3235
3236         Test: fast/css-grid-layout/grid-strict-ordering-crash.html
3237
3238         * rendering/RenderGrid.cpp:
3239         (WebCore::sortByGridTrackGrowthPotential):
3240         The std::sort documentation says that this function should define a *strict* weak ordering. Fixed the strict
3241         part of the ordering. Also moved the function definition next to where it is needed and made the GridTrack
3242         argument const (as it shouldn't modify them or std::sort will misbehave).
3243
3244         * rendering/RenderGrid.cpp:
3245         (WebCore::sortByGridTrackGrowthPotential):
3246         (WebCore):
3247
3248 2013-02-04  Igor Oliveira  <igor.o@sisa.samsung.com>
3249
3250         [Texmap] Implement BGRA swizzling detection
3251         https://bugs.webkit.org/show_bug.cgi?id=81103
3252
3253         For OpenGLES if the extension EXT_texture_format_BGRA8888 is supported
3254         the internal and external formats need to be BGRA.
3255
3256         Reviewed by Noam Rosenthal.
3257
3258         * platform/graphics/texmap/TextureMapperGL.cpp:
3259         (WebCore):
3260         (WebCore::driverSupportsExternalTextureBGRA):
3261         (WebCore::driverSupportsSubImage):
3262         (WebCore::BitmapTextureGL::didReset):
3263
3264 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
3265
3266         class="cue" is getting some default style
3267         https://bugs.webkit.org/show_bug.cgi?id=108752
3268
3269         Reviewed by Dean Jackson.
3270         
3271         The value variable inside the selector is used to store different information depending on the 
3272         type of the selector so we have to check explicitly that the selector we apply filtering to 
3273         matches a pseudo element.
3274         
3275         Existing tests modified to cover this case.
3276
3277         * css/RuleSet.cpp:
3278         (WebCore::determinePropertyWhitelistType):
3279
3280 2013-02-04  Tom Sepez  <tsepez@chromium.org>
3281
3282         [V8] Binding Integrity crash in V8HTMLEmbedElement::createWrapper
3283         https://bugs.webkit.org/show_bug.cgi?id=108841
3284
3285         Reviewed by Adam Barth.
3286
3287         * html/HTMLEmbedElement.idl:
3288         Quick change to IDL to disable binding check for now.
3289         
3290 2013-02-04  Martin Robinson  <mrobinson@igalia.com>
3291
3292         Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
3293
3294         * GNUmakefile.list.am:
3295
3296 2013-02-04  Enrica Casucci  <enrica@apple.com>
3297
3298         Add specific EditActions for Bold and Italic commands.
3299         https://bugs.webkit.org/show_bug.cgi?id=108842.
3300         <rdar://problem/13098252>
3301
3302         This change is required on iOS where we need to
3303         identify the command in order to display the correct
3304         message in the undo popup. It is also in line with
3305         what we do for underline, which already has its own
3306         separate EditAction.
3307         
3308         Reviewed by Ryosuke Niwa.
3309
3310         No new tests. No behavior change.
3311
3312         * editing/EditAction.h:
3313         * editing/EditorCommand.cpp:
3314         (WebCore::executeToggleBold):
3315         (WebCore::executeToggleItalic):
3316
3317 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
3318
3319         Implemet :lang() pseudo class support for the WebVTT ::cue pseudo element
3320         https://bugs.webkit.org/show_bug.cgi?id=105478
3321
3322         Reviewed by Antti Koivisto.
3323
3324         In WebVTT lang is preprocessed and stored in the lang attribute of the element, 
3325         so we access it instead of walking up the tree the way it is done in HTML.
3326
3327         Existing tests were modified to cover this case.
3328
3329         * css/SelectorChecker.cpp:
3330         (WebCore::SelectorChecker::checkOne):
3331
3332 2013-02-04  Tim Horton  <timothy_horton@apple.com>
3333
3334         Disable autoscrolling the main frame if main frame scrolling is disabled
3335         https://bugs.webkit.org/show_bug.cgi?id=108848
3336         <rdar://problem/13004059>
3337
3338         Reviewed by Simon Fraser.
3339
3340         Ensure that the main frame can scroll at all before allowing an autoscroll.
3341
3342         * rendering/RenderBox.cpp:
3343         (WebCore::RenderBox::canAutoscroll):
3344
3345 2013-02-04  Tom Sepez  <tsepez@chromiium.org>
3346
3347         XSS Auditor bypass via svg tags and xlink:href
3348         https://bugs.webkit.org/show_bug.cgi?id=84158
3349
3350         This patch adds a test for the xlink:href attribute inside of
3351         script tokens. The test is complicated by the namespacing; the
3352         xlink hrefAttr qualified name does not contain a literal "xlink"
3353         prefix but only the URI of the namespace.
3354         
3355         Reviewed by Adam Barth.
3356
3357         Test: http/tests/security/xssAuditor/svg-script-tag.html
3358
3359         * html/parser/XSSAuditor.cpp:
3360         (WebCore::findAttributeWithName):
3361         (WebCore::XSSAuditor::filterScriptToken):
3362
3363 2013-02-04  Eric Carlson  <eric.carlson@apple.com>
3364
3365         Update CaptionUserPreferences
3366         https://bugs.webkit.org/show_bug.cgi?id=108783
3367
3368         Reviewed by Dean Jackson.
3369
3370         * html/shadow/MediaControlElements.cpp:
3371         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Mark font size as important
3372             when necessary.
3373         * page/CaptionUserPreferences.h:
3374         (WebCore::CaptionUserPreferences::setUserPrefersCaptions): New, allow a port to remember that
3375             the user has chosen to see captions.
3376         (WebCore::CaptionUserPreferences::setPreferredLanguage): New, allow a port to remember the
3377             user's preferred caption language.
3378         (WebCore::CaptionUserPreferences::preferredLanguages): New, return a Vector of the user's 
3379             preferred caption languages.
3380         * page/CaptionUserPreferencesMac.h:
3381         * page/CaptionUserPreferencesMac.mm:
3382         * page/PageGroup.cpp:
3383         (WebCore::PageGroup::captionPreferences):
3384         (WebCore::PageGroup::captionFontSizeScale):
3385         * page/PageGroup.h:
3386         * platform/Language.cpp:
3387         (WebCore::userPreferredLanguagesOverride): New, return the user preferred languages override
3388             used during testing.
3389         * platform/Language.h:
3390         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
3391         (WebCore::InbandTextTrackPrivateAVFObjC::kind):
3392
3393 2013-02-04  Tim Horton  <timothy_horton@apple.com>
3394
3395         Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
3396         https://bugs.webkit.org/show_bug.cgi?id=108729
3397         <rdar://problem/13047546>
3398
3399         Reviewed by Anders Carlsson.
3400
3401         * WebCore.exp.in:
3402         * platform/graphics/ca/GraphicsLayerCA.cpp:
3403         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): The "for this layer only" variant
3404         of flushCompositingState wasn't informing its client that it committed changes for the layer.
3405         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): We now explicitly want to be able to have a
3406         GraphicsLayerCA switch into or out of tiling while being unparented (we'll get a client callback and
3407         swap out its parent ourselves).
3408
3409 2013-02-04  Julien Chaffraix  <jchaffraix@webkit.org>
3410
3411         [CSS Grid Layout] Add parsing for grid-auto-flow
3412         https://bugs.webkit.org/show_bug.cgi?id=108397
3413
3414         Reviewed by Ojan Vafai.
3415
3416         Test: fast/css-grid-layout/grid-auto-flow-get-set.html
3417
3418         This change adds the parsing, application and conversion back through getComputedStyle
3419         for the new property -webkit-grid-auto-flow, which accpets the following:
3420
3421         -webkit-grid-auto-flow: none | rows | columns
3422
3423         * css/CSSComputedStyleDeclaration.cpp:
3424         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3425         Added code to convert the RenderStyle information back into a CSS value.
3426
3427         * css/CSSParser.cpp:
3428         (WebCore::isValidKeywordPropertyAndValue):
3429         (WebCore::isKeywordPropertyID):
3430         Implemented parsing for -webkit-grid-auto-flow.
3431
3432         * css/CSSPrimitiveValueMappings.h:
3433         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
3434         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3435         Added the conversion operators, used for parsing and getComputedStyle.
3436
3437         * css/CSSProperty.cpp:
3438         (WebCore::CSSProperty::isInheritedProperty):
3439         Added -webkit-grid-auto-flow to the list of the not inherited properties.
3440
3441         * css/CSSPropertyNames.in:
3442         Added the new value and keywords.
3443
3444         * css/StyleBuilder.cpp:
3445         (WebCore::StyleBuilder::StyleBuilder):
3446         Added a handler for the new CSS property.
3447
3448         * rendering/style/RenderStyle.h: