BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBu...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-01  David Kilzer  <ddkilzer@apple.com>
2
3         BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
4         <http://webkit.org/b/109331>
5
6         Fixes the following build failures:
7
8             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
9             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
10                                                               ^
11             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
12             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
13                                                                                  ^
14             2 errors generated.
15
16         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
17         (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
18         macros.
19
20 2013-03-01  Dan Carney  <dcarney@google.com>
21
22         [v8] ScriptValue has dangerous copy semantics
23         https://bugs.webkit.org/show_bug.cgi?id=110206
24
25         Reviewed by Kentaro Hara.
26
27         Update ScriptValue to used a SharedPersistent,
28         making it impossible to return dead references.
29
30         No new tests. No change in functionality.
31
32         * bindings/v8/ScriptValue.cpp:
33         (WebCore::ScriptValue::serialize):
34         (WebCore::ScriptValue::getString):
35         (WebCore::ScriptValue::toString):
36         (WebCore::ScriptValue::toInspectorValue):
37         * bindings/v8/ScriptValue.h:
38         (WebCore::ScriptValue::ScriptValue):
39         (WebCore::ScriptValue::operator=):
40         (WebCore::ScriptValue::operator==):
41         (WebCore::ScriptValue::isEqual):
42         (WebCore::ScriptValue::isFunction):
43         (WebCore::ScriptValue::isNull):
44         (WebCore::ScriptValue::isUndefined):
45         (WebCore::ScriptValue::isObject):
46         (WebCore::ScriptValue::hasNoValue):
47         (WebCore::ScriptValue::clear):
48         (ScriptValue):
49         (WebCore::ScriptValue::v8Value):
50         (WebCore::ScriptValue::v8ValueRaw):
51         * bindings/v8/SharedPersistent.h:
52         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
53         (WebCore::InjectedScriptHost::scriptValueAsNode):
54         * bindings/v8/custom/V8MessageEventCustom.cpp:
55         (WebCore::V8MessageEvent::dataAttrGetterCustom):
56
57 2013-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
58
59         Add FeatureObserver for marquee and reflection
60         https://bugs.webkit.org/show_bug.cgi?id=111118
61
62         Reviewed by Simon Fraser.
63
64         Refactoring covered by existing tests.
65
66         * page/FeatureObserver.h:
67         * rendering/RenderLayer.cpp:
68         (WebCore::RenderLayer::styleChanged):
69         Added some instrumentation for reflection and marquee as they are both prefixed and this would help
70         to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and 
71         overflow: -webkit-marquee (CSSOverflowMarquee).
72
73 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
74
75         Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
76         https://bugs.webkit.org/show_bug.cgi?id=111165
77
78         Reviewed by Vsevolod Vlasov.
79
80         A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
81         containing a URL (which holds a stringified security origin) and an identifier (which is now used
82         as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
83         code clutter, the security origin tracking code has been extracted into a separate type,
84         WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.
85
86         No new tests, as it is a refactoring.
87
88         * inspector/front-end/DOMStorage.js:
89         (WebInspector.DOMStorage.storageId):
90         (WebInspector.DOMStorage.prototype.id):
91         (WebInspector.DOMStorage.prototype.getItems):
92         (WebInspector.DOMStorage.prototype.setItem):
93         (WebInspector.DOMStorage.prototype.removeItem):
94         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
95         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
96         (WebInspector.DOMStorageModel.prototype._storageKey):
97         * inspector/front-end/ExtensionAuditCategory.js:
98         * inspector/front-end/FileSystemModel.js:
99         (WebInspector.FileSystemModel.prototype._reset):
100         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
101         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
102         (WebInspector.FileSystemModel.prototype._addOrigin):
103         (WebInspector.FileSystemModel.prototype._removeOrigin):
104         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
105         (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
106         (WebInspector.FileSystemModel.prototype._removeFileSystem):
107         (WebInspector.FileSystemModel.FileSystem.prototype.get name):
108         * inspector/front-end/IndexedDBModel.js:
109         (WebInspector.IndexedDBModel.prototype._reset):
110         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
111         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
112         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
113         (WebInspector.IndexedDBModel.prototype._addOrigin):
114         (WebInspector.IndexedDBModel.prototype._removeOrigin):
115         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
116         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
117         (WebInspector.IndexedDBModel.prototype._loadDatabase):
118         (WebInspector.IndexedDBModel.prototype.):
119         (WebInspector.IndexedDBModel.prototype._requestData):
120         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
121         * inspector/front-end/IndexedDBViews.js:
122         (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
123         * inspector/front-end/ResourceTreeModel.js:
124         (WebInspector.ResourceTreeModel.prototype._addFrame):
125         (WebInspector.ResourceTreeModel.prototype.securityOriginForId):
126         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
127         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
128         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
129         (WebInspector.ResourceTreeModel.prototype._frameDetached):
130         (WebInspector.ResourceTreeModel.SecurityOriginTracker):
131         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
132         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
133         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
134         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
135         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
136         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
137         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
138         (WebInspector.ResourceTreeFrame.prototype._navigate):
139         (WebInspector.SecurityOrigin.prototype.id):
140         (WebInspector.SecurityOrigin.prototype.url):
141         (WebInspector.SecurityOrigin.prototype.uiTitle):
142         (WebInspector.SecurityOrigin.prototype.toProtocol):
143         * inspector/front-end/ResourcesPanel.js:
144         (WebInspector.IDBDatabaseTreeElement):
145         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
146         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
147         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
148         (WebInspector.DOMStorageTreeElement):
149         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
150         (WebInspector.FileSystemTreeElement):
151
152 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
153
154         Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
155         https://bugs.webkit.org/show_bug.cgi?id=108930
156
157         Reviewed by Pavel Feldman.
158
159         This feature will help developers to focus on events
160         that caused CPU bar.
161
162         * inspector/front-end/Popover.js: Added "arrowDirection" parameter.
163         * inspector/front-end/TimelineGrid.js:
164         (WebInspector.TimelineGrid): Added "curtains".
165         * inspector/front-end/TimelinePanel.js:
166         (WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
167         when mouse is over CPU bar.
168         * inspector/front-end/timelinePanel.css: Added "curtains" style rules.
169
170 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
171
172         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
173         Relanding fixed r144449.
174         https://bugs.webkit.org/show_bug.cgi?id=105285
175
176         Reviewed by Vsevolod Vlasov.
177
178         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
179         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
180         since their start position is not detectable inside the surrounding HTML as of yet.
181
182         No new tests, a UI change.
183
184         * inspector/front-end/CSSStyleModel.js:
185         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
186         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
187         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
188         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
189         (WebInspector.StylePropertiesSection):
190
191 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
192
193         Unreviewed, rolling out r144449.
194         http://trac.webkit.org/changeset/144449
195         https://bugs.webkit.org/show_bug.cgi?id=111175
196
197         Breaks style-related inspector tests (Requested by apavlov on
198         #webkit).
199
200         * inspector/front-end/CSSStyleModel.js:
201         (WebInspector.CSSRule.prototype.get isRegular):
202         (WebInspector.CSSProperty.prototype.setDisabled):
203         * inspector/front-end/StylesSidebarPane.js:
204         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
205         (WebInspector.StylePropertiesSection):
206         (.event):
207         (.isRevert):
208
209 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
210
211         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
212         https://bugs.webkit.org/show_bug.cgi?id=105285
213
214         Reviewed by Vsevolod Vlasov.
215
216         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
217         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
218         since their start position is not detectable inside the surrounding HTML as of yet.
219
220         No new tests, a UI change.
221
222         * inspector/front-end/CSSStyleModel.js:
223         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
224         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
225         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
226         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
227         (WebInspector.StylePropertiesSection):
228
229 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
230
231         Unreviewed, rolling out r144443.
232         http://trac.webkit.org/changeset/144443
233         https://bugs.webkit.org/show_bug.cgi?id=111169
234
235         Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
236         by toyoshim on #webkit).
237
238         * css/mediaControls.css:
239         (video::-webkit-media-text-track-display):
240         * rendering/RenderTextTrackCue.cpp:
241         (WebCore::RenderTextTrackCue::isOutside):
242         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
243
244 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
245
246         Unreviewed, rolling out r144422 and r144424.
247         http://trac.webkit.org/changeset/144422
248         http://trac.webkit.org/changeset/144424
249         https://bugs.webkit.org/show_bug.cgi?id=111167
250
251         Caused over 20 tests to fail assertion on Chromium Win port as
252         ASSERTION FAILED: m_platformRequestUpdated (Requested by
253         toyoshim on #webkit).
254
255         * CMakeLists.txt:
256         * GNUmakefile.list.am:
257         * Modules/mediastream/RTCPeerConnection.cpp:
258         * Modules/notifications/Notification.cpp:
259         * Target.pri:
260         * WebCore.exp.in:
261         * WebCore.gypi:
262         * WebCore.vcproj/WebCore.vcproj:
263         * WebCore.vcxproj/WebCore.vcxproj:
264         * WebCore.vcxproj/WebCore.vcxproj.filters:
265         * WebCore.xcodeproj/project.pbxproj:
266         * bindings/ScriptControllerBase.cpp:
267         * bindings/js/JSNodeCustom.cpp:
268         * bindings/js/ScriptController.cpp:
269         * bindings/js/ScriptSourceCode.h:
270         * bindings/objc/DOM.mm:
271         * bindings/v8/ScriptController.cpp:
272         * bindings/v8/V8DOMWindowShell.cpp:
273         * bindings/v8/custom/V8DOMWindowCustom.cpp:
274         * css/CSSCrossfadeValue.h:
275         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
276         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
277         * css/CSSFontFaceSource.h:
278         * css/CSSFontSelector.cpp:
279         * css/WebKitCSSSVGDocumentValue.cpp:
280         * css/WebKitCSSSVGDocumentValue.h:
281         (WebCore):
282         * dom/Clipboard.cpp:
283         (WebCore::Clipboard::Clipboard):
284         * dom/ContainerNode.cpp:
285         * dom/DOMImplementation.cpp:
286         * dom/PendingScript.h:
287         * dom/ScriptElement.cpp:
288         * dom/ScriptElement.h:
289         * history/CachedFrame.cpp:
290         * html/DOMURL.cpp:
291         * html/HTMLAnchorElement.cpp:
292         * html/HTMLAppletElement.cpp:
293         * html/HTMLElement.cpp:
294         * html/HTMLEmbedElement.cpp:
295         * html/HTMLFrameSetElement.cpp:
296         * html/HTMLHtmlElement.cpp:
297         * html/HTMLImageElement.cpp:
298         * html/HTMLObjectElement.cpp:
299         * html/HTMLPlugInElement.cpp:
300         * html/ImageDocument.cpp:
301         * html/ImageInputType.cpp:
302         * html/MediaDocument.cpp:
303         * html/PluginDocument.cpp:
304         * html/canvas/WebGLRenderingContext.cpp:
305         (WebCore):
306         * html/parser/HTMLConstructionSite.cpp:
307         * html/parser/HTMLParserOptions.cpp:
308         * html/parser/HTMLScriptRunner.h:
309         * html/parser/XSSAuditor.cpp:
310         * html/parser/XSSAuditorDelegate.cpp:
311         * inspector/InspectorDebuggerAgent.cpp:
312         * inspector/InspectorFileSystemAgent.cpp:
313         * inspector/InspectorFrontendHost.cpp:
314         * inspector/InspectorInstrumentation.h:
315         (WebCore):
316         * inspector/InspectorPageAgent.cpp:
317         * inspector/NetworkResourcesData.cpp:
318         * inspector/NetworkResourcesData.h:
319         (WebCore):
320         * loader/CookieJar.cpp:
321         * loader/CrossOriginAccessControl.cpp:
322         * loader/CrossOriginAccessControl.h:
323         (WebCore):
324         * loader/CrossOriginPreflightResultCache.h:
325         * loader/DocumentThreadableLoader.h:
326         * loader/FrameLoader.cpp:
327         (WebCore::FrameLoader::FrameLoader):
328         * loader/FrameLoader.h:
329         (WebCore):
330         (WebCore::FrameLoader::policyChecker):
331         * loader/ImageLoader.cpp:
332         * loader/ImageLoader.h:
333         * loader/LinkLoader.h:
334         * loader/MainResourceLoader.cpp:
335         * loader/MainResourceLoader.h:
336         * loader/MixedContentChecker.cpp:
337         * loader/PingLoader.cpp:
338         * loader/PolicyChecker.h:
339         (WebCore):
340         * loader/ProgressTracker.cpp:
341         * loader/SubframeLoader.cpp:
342         * loader/SubresourceLoader.cpp:
343         * loader/TextTrackLoader.cpp:
344         * loader/TextTrackLoader.h:
345         * loader/ThreadableLoader.h:
346         * loader/appcache/ApplicationCacheGroup.cpp:
347         * loader/appcache/ApplicationCacheGroup.h:
348         (WebCore):
349         * loader/appcache/ApplicationCacheHost.cpp:
350         * loader/archive/cf/LegacyWebArchive.cpp:
351         * loader/cache/CachedFont.cpp:
352         * loader/cache/CachedFont.h:
353         (CachedFontClient):
354         (WebCore::CachedFontClient::~CachedFontClient):
355         (WebCore::CachedFontClient::expectedType):
356         (WebCore::CachedFontClient::resourceClientType):
357         (WebCore::CachedFontClient::fontLoaded):
358         (WebCore):
359         * loader/cache/CachedFontClient.h: Removed.
360         * loader/cache/CachedImage.cpp:
361         * loader/cache/CachedRawResource.cpp:
362         * loader/cache/CachedRawResource.h:
363         (WebCore):
364         (CachedRawResourceClient):
365         (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
366         (WebCore::CachedRawResourceClient::expectedType):
367         (WebCore::CachedRawResourceClient::resourceClientType):
368         (WebCore::CachedRawResourceClient::dataSent):
369         (WebCore::CachedRawResourceClient::responseReceived):
370         (WebCore::CachedRawResourceClient::dataReceived):
371         (WebCore::CachedRawResourceClient::redirectReceived):
372         (WebCore::CachedRawResourceClient::dataDownloaded):
373         * loader/cache/CachedRawResourceClient.h: Removed.
374         * loader/cache/CachedResource.cpp:
375         * loader/cache/CachedResourceHandle.cpp:
376         * loader/cache/CachedResourceHandle.h:
377         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
378         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
379         * loader/cache/CachedSVGDocument.h:
380         (CachedSVGDocumentClient):
381         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
382         (WebCore::CachedSVGDocumentClient::expectedType):
383         (WebCore::CachedSVGDocumentClient::resourceClientType):
384         (WebCore):
385         * loader/cache/CachedSVGDocumentClient.h: Removed.
386         * loader/cache/CachedSVGDocumentReference.cpp: Removed.
387         * loader/cache/CachedSVGDocumentReference.h:
388         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
389         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
390         * loader/cache/CachedStyleSheetClient.h:
391         * loader/cache/MemoryCache.cpp:
392         * loader/cache/MemoryCache.h:
393         (WebCore):
394         (MemoryCache):
395         * loader/chromium/CachedRawResourceChromium.cpp:
396         * loader/icon/IconController.cpp:
397         * loader/icon/IconLoader.h:
398         * loader/mac/ResourceLoaderMac.mm:
399         * page/DOMWindowExtension.cpp:
400         * page/DragController.cpp:
401         * page/Frame.cpp:
402         (WebCore::Frame::Frame):
403         (WebCore::Frame::reportMemoryUsage):
404         * page/Frame.h:
405         (WebCore):
406         (Frame):
407         (WebCore::Frame::init):
408         (WebCore::Frame::loader):
409         * page/PerformanceNavigation.cpp:
410         * page/PerformanceTiming.cpp:
411         * page/PointerLockController.cpp:
412         * page/Settings.cpp:
413         * page/animation/CSSPropertyAnimation.cpp:
414         * platform/chromium/PasteboardChromium.cpp:
415         * platform/efl/ErrorsEfl.cpp:
416         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
417         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
418         * platform/graphics/filters/FilterOperation.cpp:
419         * platform/graphics/filters/FilterOperation.h:
420         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
421         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
422         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
423         * platform/gtk/ErrorsGtk.cpp:
424         * platform/gtk/PasteboardGtk.cpp:
425         * platform/gtk/PasteboardHelper.h:
426         * platform/mac/ClipboardMac.h:
427         * platform/mac/ClipboardMac.mm:
428         * platform/mac/HTMLConverter.mm:
429         * platform/mac/PasteboardMac.mm:
430         * platform/network/AuthenticationChallengeBase.cpp:
431         * platform/network/cf/CookieJarCFNet.cpp:
432         * platform/network/cf/ResourceRequestCFNet.cpp:
433         * platform/network/mac/CookieStorageMac.mm:
434         * platform/qt/PasteboardQt.cpp:
435         * plugins/DOMMimeType.cpp:
436         * plugins/PluginRequest.h: Removed.
437         * plugins/PluginStream.h:
438         (PluginStreamClient):
439         (WebCore::PluginStreamClient::~PluginStreamClient):
440         (WebCore::PluginStreamClient::streamDidFinishLoading):
441         (WebCore):
442         * plugins/PluginStreamClient.h: Removed.
443         * plugins/PluginView.cpp:
444         * plugins/PluginView.h:
445         (WebCore):
446         (PluginRequest):
447         (WebCore::PluginRequest::PluginRequest):
448         (WebCore::PluginRequest::frameLoadRequest):
449         (WebCore::PluginRequest::notifyData):
450         (WebCore::PluginRequest::sendNotification):
451         (WebCore::PluginRequest::shouldAllowPopups):
452         * rendering/HitTestResult.cpp:
453         * rendering/InlineFlowBox.cpp:
454         * rendering/RenderBox.cpp:
455         * rendering/RenderEmbeddedObject.cpp:
456         * rendering/RenderImage.cpp:
457         * rendering/RenderImageResource.cpp:
458         (WebCore::RenderImageResource::RenderImageResource):
459         * rendering/RenderImageResource.h:
460         (WebCore::RenderImageResource::image):
461         (WebCore::RenderImageResource::errorOccurred):
462         (WebCore::RenderImageResource::usesImageContainerSize):
463         (WebCore::RenderImageResource::imageHasRelativeWidth):
464         (WebCore::RenderImageResource::imageHasRelativeHeight):
465         (WebCore::RenderImageResource::imageSize):
466         * rendering/RenderImageResourceStyleImage.cpp:
467         * rendering/RenderLayer.cpp:
468         * rendering/RenderLayerBacking.cpp:
469         * rendering/RenderLayerFilterInfo.h:
470         * rendering/RenderListItem.cpp:
471         * rendering/RenderListMarker.cpp:
472         * rendering/RenderSnapshottedPlugIn.cpp:
473         * rendering/RenderTableCol.cpp:
474         * rendering/RenderTableRow.cpp:
475         * rendering/RenderTableSection.cpp:
476         * rendering/style/StyleCachedShader.h:
477         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
478         * rendering/style/StyleCustomFilterProgram.h:
479         (WebCore):
480         (WebCore::StyleCustomFilterProgram::vertexShaderString):
481         (StyleCustomFilterProgram):
482         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
483         (WebCore::StyleCustomFilterProgram::isLoaded):
484         (WebCore::StyleCustomFilterProgram::willHaveClients):
485         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
486         (WebCore::StyleCustomFilterProgram::notifyFinished):
487         * svg/SVGFEImageElement.h:
488         * svg/SVGFontFaceUriElement.h:
489         (SVGFontFaceUriElement):
490         * svg/SVGImageLoader.cpp:
491         * svg/SVGUseElement.cpp:
492         * svg/SVGUseElement.h:
493         * svg/graphics/SVGImageCache.cpp:
494         * testing/MockPagePopupDriver.cpp:
495         * xml/XSLStyleSheet.h:
496         * xml/XSLTProcessorLibxslt.cpp:
497         * xml/parser/XMLDocumentParser.cpp:
498         * xml/parser/XMLDocumentParser.h:
499         * xml/parser/XMLDocumentParserLibxml2.cpp:
500
501 2013-03-01  Alexei Filippov  <alph@chromium.org>
502
503         Web Inspector: fix closure compiler warnings in ProfilesPanel
504         https://bugs.webkit.org/show_bug.cgi?id=111163
505
506         Reviewed by Vsevolod Vlasov.
507
508         * inspector/front-end/ProfileLauncherView.js:
509         (WebInspector.ProfileLauncherView.prototype.addProfileType):
510         * inspector/front-end/ProfilesPanel.js:
511
512 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
513
514         Support padding, margin and border for internal UA cue styling
515         https://bugs.webkit.org/show_bug.cgi?id=110703
516
517         Reviewed by Eric Carlson.
518
519         For some particular user agent styling this allows the possibility
520         of making the window around the cue text bigger to match some user
521         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
522
523         These properties *cannot* be set through by using the ::cue
524         pseudo-element and, as specified, are used only internally.
525
526         Test: media/track/track-cue-rendering-with-padding.html
527
528         * css/mediaControls.css:
529         (video::-webkit-media-text-track-display): Set the CSS box model
530         to include in the specified width or height the values of
531         padding / margin / border by using -webkit-box-sizing and avoid
532         overflow over 100% width because of having these properties set.
533         * rendering/RenderTextTrackCue.cpp:
534         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
535         the regular WebVTT positioning algorithm, the check is done for
536         the absolute content box.
537         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
538         an extra adjustment step to accomodate vertical padding (and not
539         overflow the cue container)
540
541 2013-02-26  Eugene Klyuchnikov  <eustas@chromium.org>
542
543         Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
544         https://bugs.webkit.org/show_bug.cgi?id=110819
545
546         Reviewed by Pavel Feldman.
547
548         To create event divider TimelinePresentation model checks if record
549         frame is main frame. With this patch check is moved to backend and
550         result is saved in record to avoid incoherence.
551
552         * inspector/InspectorTimelineAgent.cpp:
553         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
554         Record "isMainFrame" flag.
555         (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Ditto.
556         * inspector/TimelineRecordFactory.cpp:
557         (WebCore::TimelineRecordFactory::createMarkData):
558         Added data object constructor.
559         * inspector/TimelineRecordFactory.h: Ditto.
560         * inspector/front-end/TimelinePresentationModel.js:
561         (WebInspector.TimelinePresentationModel.isEventDivider):
562         Use saved flag value instead of comparing with "current" main frame.
563
564 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
565
566         Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
567         https://bugs.webkit.org/show_bug.cgi?id=111077
568
569         Reviewed by Pavel Feldman.
570
571         Analysis: DataGridNode.refresh removes all cells and then recreates them.
572         The issue is that mandatory "corner" cell is not recreated.
573
574         * inspector/front-end/DataGrid.js:
575         (WebInspector.DataGridNode.prototype.refresh):
576         Added "corner" cell restoration code.
577
578 2013-02-28  Alexander Pavlov  <apavlov@chromium.org>
579
580         Web Inspector: Selector's raw start position in its line is considered to be 0 when computing UILocation
581         https://bugs.webkit.org/show_bug.cgi?id=110732
582
583         Reviewed by Vsevolod Vlasov.
584
585         Test: inspector/styles/selector-line.html
586
587         * inspector/ContentSearchUtils.cpp:
588         (WebCore::ContentSearchUtils::sizetExtractor): Utility for binary search.
589         (WebCore::ContentSearchUtils::textPositionFromOffset): Converts absolute raw text offset into line:column.
590         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines): Refactor.
591         (WebCore::ContentSearchUtils::lineEndings): Factored out of getRegularExpressionMatchesByLines.
592         (WebCore::ContentSearchUtils::buildObjectForSearchMatch): Drive-by: pass String by reference.
593         * inspector/ContentSearchUtils.h:
594         * inspector/Inspector.json: Use line:column for SourceRange boundaries rather than raw offsets.
595         * inspector/InspectorStyleSheet.cpp:
596         (ParsedStyleSheet::text): ASSERT(m_hasText).
597         (WebCore::InspectorStyle::buildObjectForStyle): Supply the lineEndings argument.
598         (WebCore::buildSourceRangeObject): Follow the protocol change.
599         (WebCore::InspectorStyle::setPropertyText): Refactor.
600         (WebCore::InspectorStyle::toggleProperty): Ditto.
601         (WebCore::InspectorStyle::styleText): Ditto.
602         (WebCore::InspectorStyle::populateAllProperties): Ditto.
603         (WebCore::InspectorStyle::styleWithProperties): Convert relative property range offsets into absolute ones.
604         (WebCore::InspectorStyle::extractSourceData): Factored out.
605         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Supply the lineEndings argument.
606         (WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
607         (WebCore::InspectorStyleSheet::lineEndings): Compute line endings for ordinary stylesheets.
608         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings): Ditto for bogus inline style stylesheets.
609         * inspector/InspectorStyleSheet.h:
610         * inspector/front-end/AuditRules.js: Removed the byte counting for unused CSS.
611         * inspector/front-end/CSSStyleModel.js:
612         (WebInspector.CSSRule): Set selector rawLocation based on the selectorList range or sourceLine.
613         (WebInspector.CSSRule.prototype._setRawLocation): Added.
614         * inspector/front-end/SASSSourceMapping.js:
615         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode): Fix call order when binding scss sourcecodes.
616
617 2013-03-01  Benjamin Poulain  <benjamin@webkit.org>
618
619         Get rid of two silly static null Strings
620         https://bugs.webkit.org/show_bug.cgi?id=111151
621
622         Reviewed by Eric Seidel.
623
624         We have a global null String through nullAtom, there is no need
625         for local static null strings.
626
627         * page/Page.cpp:
628         (WebCore::Page::groupName):
629         * rendering/RenderListItem.cpp:
630         (WebCore::RenderListItem::markerText):
631
632 2013-03-01  Mark Rowe  <mrowe@apple.com>
633
634         Build fix.
635
636         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
637
638 2013-03-01  Andrey Lushnikov  <lushnikov@chromium.org>
639
640         Web Inspector: fix code-mirror experiment to work in debug mode
641         https://bugs.webkit.org/show_bug.cgi?id=111064
642
643         Reviewed by Pavel Feldman.
644
645         No new tests: no change in behaviour.
646
647         Improve importScript function to try load a script from the root
648         directory iff its loading from the given path failed.
649
650         * inspector/front-end/utilities.js:
651
652 2013-03-01  Andrey Adaikin  <aandrey@chromium.org>
653
654         Web Inspector: [Canvas] capture a WebGL extension by it's name in lower case
655         https://bugs.webkit.org/show_bug.cgi?id=110745
656
657         Reviewed by Pavel Feldman.
658
659         WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
660         Just force lower case for extension names.
661
662         * inspector/InjectedScriptCanvasModuleSource.js:
663         (.):
664
665 2013-03-01  Mike West  <mkwst@chromium.org>
666
667         XSSAuditor should use threadSafeMatch when relevant.
668         https://bugs.webkit.org/show_bug.cgi?id=111099
669
670         Reviewed by Adam Barth.
671
672         Given the work on breaking parsing out into a background thread, we
673         should compare QualifiedNames in a thread-safe manner. Rather than
674         casting the result of QualifiedName::localName to a String, we can
675         call out to threadSafeMatch to do the comparison.
676
677         This patch leaves one use of equalIgnoringNullity in
678         XSSAuditor::findAttributeWithName. That usage seems safe, since we're
679         creating a new string against which to compare.
680
681         * html/parser/XSSAuditor.cpp:
682         (WebCore::hasName):
683             Replace call to equalIgnoringNullity(Vector<UChar...>, String)
684             with threadSafeMatch(String, QualifiedName).
685
686 2013-02-28  Keishi Hattori  <keishi@webkit.org>
687
688         Add calendar table view for the new calendar picker
689         https://bugs.webkit.org/show_bug.cgi?id=110970
690
691         Reviewed by Kent Tamura.
692
693         The calendar table that will be used in the new calendar picker (Bug 109439).
694
695         No new tests. Code is not used yet.
696
697         * Resources/pagepopups/calendarPicker.js:
698         (DayCell): Cell which represents one day in the calendar.
699         (DayCell.recycleOrCreate):
700         (DayCell.prototype._recycleBin):
701         (DayCell.prototype.throwAway):
702         (DayCell.prototype.setHighlighted): Sets the highlighted class on the element.
703         (DayCell.prototype.setDisabled): Sets the disabled class on the element.
704         (DayCell.prototype.setIsInCurrentMonth): Sets the current-month class on the element.
705         (DayCell.prototype.setIsToday): Sets the today class on the element.
706         (DayCell.prototype.reset): Resets the day cell to be reused.
707         (WeekNumberCell): Cell used for the week number column.
708         (WeekNumberCell.prototype._recycleBin):
709         (WeekNumberCell.recycleOrCreate):
710         (WeekNumberCell.prototype.reset):
711         (WeekNumberCell.prototype.throwAway):
712         (WeekNumberCell.prototype.setHighlighted): Sets the highlighted class on the element.
713         (WeekNumberCell.prototype.setDisabled): Sets the disabled class on the element.
714         (CalendarTableHeaderView): Header for the calendar table. Contains the column labels.
715         (CalendarRowCell): Row containing day cells and maybe a week number cell.
716         (CalendarRowCell.prototype._recycleBin):
717         (CalendarRowCell.prototype.reset):
718         (CalendarRowCell.prototype.throwAway):
719         (CalendarTableView): A list view showing a grid of days.
720         (CalendarTableView.prototype.rowAtScrollOffset): Returns the row number currently at the scroll offset.
721         (CalendarTableView.prototype.scrollOffsetForRow): Returns the current scroll offset for the given row.
722         (CalendarTableView.prototype.onClick): If the click is on a DayCell or WeekNumberCell, select the appropriate date range.
723         (CalendarTableView.prototype.onMouseOver): If the click is on a DayCell or WeekNumberCell, highlight the appropriate date range.
724         (CalendarTableView.prototype.onMouseOut):
725         (CalendarTableView.prototype.prepareNewCell): Prepares a new row cell by recycling or creating a new one.
726         (CalendarTableView.prototype.height): Returns the height of the view in pixels.
727         (CalendarTableView.prototype.setHeight): Sets the height of the view in pixels.
728         (CalendarTableView.prototype.scrollToMonth): Scrolls to reveal the given month.
729         (CalendarTableView.prototype.dayAtColumnAndRow): Day at a given column and row. Column number doesn't count week number column.
730         (CalendarTableView.prototype.columnAndRowForDay): Column and row for the given day.
731         (CalendarTableView.prototype.updateCells): Update the position and appearance of the cell.s
732         (CalendarTableView.prototype.prepareNewDayCell): Prepares a new day cell. The cell is registered to this._dayCells.
733         (CalendarTableView.prototype.prepareNewWeekNumberCell): Prepares a new week number cell. The cell is registered to this._weekNumberCells.
734         (CalendarTableView.prototype.throwAwayDayCell): The cell is unregistered from this._dayCells.
735         (CalendarTableView.prototype.throwAwayWeekNumberCell): The cell is unregistered from this._weekNumberCells.
736
737 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
738
739         Reduce amount of rebuilding when touching networking headers
740         https://bugs.webkit.org/show_bug.cgi?id=111035
741
742         Reviewed by Eric Seidel.
743
744         This uses a number of common unsurprising techniques. One interesting observation
745         is that including CachedResource related headers is very expensive. We can usually
746         get away with their Client counterparts, and with CachedResourceHandle.
747
748         * page/Frame.cpp:
749         * page/Frame.h:
750         Don't include FrameLoader, greatly reducing include graph for most non-loader files.
751         This required making Frame::init() non-inline - I'm not sure why it ever was.
752
753         * loader/FrameLoader.cpp:
754         * loader/FrameLoader.h:
755         Even though FrameLoader is logically on loading side of WebCore, it's included in
756         too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
757         largest wins. As a future improvement, we should probably convert other members
758         to OwnPtrs.
759
760         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
761         definition of a class it holds, but default construction does not.
762
763         * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
764         not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
765
766         * loader/cache/CachedFont.h:
767         * loader/cache/CachedFontClient.h: Added.
768         * loader/cache/CachedRawResource.h:
769         * loader/cache/CachedRawResourceClient.h: Added.
770         * loader/cache/CachedSVGDocument.h:
771         * loader/cache/CachedSVGDocumentClient.h: Added.
772         These types were defining client types in the same headers, making it impossible
773         to avoid including networking headers through CachedResource. Moved clients into
774         separate files.
775
776         * plugins/PluginStream.h:
777         * plugins/PluginStreamClient.h: Added.
778         Similar situation here.
779
780         * loader/cache/CachedResourceHandle.cpp:
781         * loader/cache/CachedResourceHandle.h:
782         Moved functions that need to know about CachedResource to .cpp file. This is another
783         huge win. Added a destructor, so that CachedResource woudn't be needed in all files
784         that include CachedResourceHandle.
785
786         * loader/cache/CachedSVGDocumentReference.cpp: Added.
787         * loader/cache/CachedSVGDocumentReference.h:
788         Moved constructor and virtual function implementations to a .cpp file - they need
789         not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
790
791         * platform/graphics/filters/FilterOperation.cpp:
792         * platform/graphics/filters/FilterOperation.h:
793         Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
794         CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
795         rendering code that it seems best to cut any ties with resources and loading.
796         Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
797         classes are generally harmful (due to code bloat).
798
799         * plugins/PluginRequest.h: Added.
800         * plugins/PluginView.h:
801         Moved PluginRequest into a separate file, it was out of place in a view hierarchy
802         class file.
803
804         * rendering/RenderImageResource.cpp:
805         * rendering/RenderImageResource.h:
806         Moved definitions of virtual functions to a .cpp file. Thre is no win from having
807         them inline, and now we don't need CachedImage.h in the header.
808
809         * rendering/style/StyleCustomFilterProgram.cpp: Added.
810         * rendering/style/StyleCustomFilterProgram.h:
811         Ditto.
812
813         * CMakeLists.txt:
814         * GNUmakefile.list.am:
815         * Modules/mediastream/RTCPeerConnection.cpp:
816         * Modules/notifications/Notification.cpp:
817         * Target.pri:
818         * WebCore.exp.in:
819         * WebCore.gypi:
820         * WebCore.vcproj/WebCore.vcproj:
821         * WebCore.vcxproj/WebCore.vcxproj:
822         * WebCore.vcxproj/WebCore.vcxproj.filters:
823         * WebCore.xcodeproj/project.pbxproj:
824         * bindings/ScriptControllerBase.cpp:
825         * bindings/js/JSNodeCustom.cpp:
826         * bindings/js/ScriptController.cpp:
827         * bindings/js/ScriptSourceCode.h:
828         * bindings/objc/DOM.mm:
829         * bindings/v8/ScriptController.cpp:
830         * bindings/v8/V8DOMWindowShell.cpp:
831         * bindings/v8/custom/V8DOMWindowCustom.cpp:
832         * css/CSSFontFaceSource.h:
833         * css/CSSFontSelector.cpp:
834         * css/WebKitCSSSVGDocumentValue.cpp:
835         * css/WebKitCSSSVGDocumentValue.h:
836         * dom/Clipboard.cpp:
837         * dom/ContainerNode.cpp:
838         * dom/DOMImplementation.cpp:
839         * dom/PendingScript.h:
840         * dom/ScriptElement.cpp:
841         * dom/ScriptElement.h:
842         * history/CachedFrame.cpp:
843         * html/DOMURL.cpp:
844         * html/HTMLAnchorElement.cpp:
845         * html/HTMLAppletElement.cpp:
846         * html/HTMLElement.cpp:
847         * html/HTMLEmbedElement.cpp:
848         * html/HTMLFrameSetElement.cpp:
849         * html/HTMLHtmlElement.cpp:
850         * html/HTMLImageElement.cpp:
851         * html/HTMLObjectElement.cpp:
852         * html/HTMLPlugInElement.cpp:
853         * html/ImageDocument.cpp:
854         * html/ImageInputType.cpp:
855         * html/MediaDocument.cpp:
856         * html/PluginDocument.cpp:
857         * html/canvas/WebGLRenderingContext.cpp:
858         * html/parser/HTMLConstructionSite.cpp:
859         * html/parser/HTMLParserOptions.cpp:
860         * html/parser/HTMLScriptRunner.h:
861         * html/parser/XSSAuditor.cpp:
862         * html/parser/XSSAuditorDelegate.cpp:
863         * inspector/InspectorDebuggerAgent.cpp:
864         * inspector/InspectorFileSystemAgent.cpp:
865         * inspector/InspectorFrontendHost.cpp:
866         * inspector/InspectorInstrumentation.h:
867         * inspector/InspectorPageAgent.cpp:
868         * inspector/NetworkResourcesData.cpp:
869         * inspector/NetworkResourcesData.h:
870         * loader/CookieJar.cpp:
871         * loader/CrossOriginAccessControl.cpp:
872         * loader/CrossOriginPreflightResultCache.h:
873         * loader/DocumentThreadableLoader.h:
874         * loader/ImageLoader.cpp:
875         * loader/ImageLoader.h:
876         * loader/LinkLoader.h:
877         * loader/MainResourceLoader.cpp:
878         * loader/MainResourceLoader.h:
879         * loader/MixedContentChecker.cpp:
880         * loader/PingLoader.cpp:
881         * loader/PolicyChecker.h:
882         * loader/ProgressTracker.cpp:
883         * loader/SubframeLoader.cpp:
884         * loader/SubresourceLoader.cpp:
885         * loader/TextTrackLoader.cpp:
886         * loader/TextTrackLoader.h:
887         * loader/ThreadableLoader.h:
888         * loader/appcache/ApplicationCacheGroup.cpp:
889         * loader/appcache/ApplicationCacheGroup.h:
890         * loader/appcache/ApplicationCacheHost.cpp:
891         * loader/archive/cf/LegacyWebArchive.cpp:
892         * loader/cache/CachedFont.cpp:
893         * loader/cache/CachedImage.cpp:
894         * loader/cache/CachedRawResource.cpp:
895         * loader/cache/CachedResource.cpp:
896         * loader/cache/CachedStyleSheetClient.h:
897         * loader/cache/MemoryCache.cpp:
898         * loader/cache/MemoryCache.h:
899         * loader/chromium/CachedRawResourceChromium.cpp:
900         * loader/icon/IconController.cpp:
901         * loader/icon/IconLoader.h:
902         * loader/mac/ResourceLoaderMac.mm:
903         * page/DOMWindowExtension.cpp:
904         * page/DragController.cpp:
905         * page/PerformanceNavigation.cpp:
906         * page/PerformanceTiming.cpp:
907         * page/PointerLockController.cpp:
908         * page/Settings.cpp:
909         * page/animation/CSSPropertyAnimation.cpp:
910         * platform/chromium/PasteboardChromium.cpp:
911         * platform/efl/ErrorsEfl.cpp:
912         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
913         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
914         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
915         * platform/gtk/ErrorsGtk.cpp:
916         * platform/gtk/PasteboardGtk.cpp:
917         * platform/gtk/PasteboardHelper.h:
918         * platform/mac/ClipboardMac.h:
919         * platform/mac/ClipboardMac.mm:
920         * platform/mac/HTMLConverter.mm:
921         * platform/mac/PasteboardMac.mm:
922         * platform/network/AuthenticationChallengeBase.cpp:
923         * platform/network/cf/CookieJarCFNet.cpp:
924         * platform/network/cf/ResourceRequestCFNet.cpp:
925         * platform/network/mac/CookieStorageMac.mm:
926         * platform/qt/PasteboardQt.cpp:
927         * plugins/DOMMimeType.cpp:
928         * plugins/PluginView.cpp:
929         * rendering/HitTestResult.cpp:
930         * rendering/InlineFlowBox.cpp:
931         * rendering/RenderBox.cpp:
932         * rendering/RenderEmbeddedObject.cpp:
933         * rendering/RenderImage.cpp:
934         * rendering/RenderImageResourceStyleImage.cpp:
935         * rendering/RenderLayer.cpp:
936         * rendering/RenderLayerBacking.cpp:
937         * rendering/RenderLayerFilterInfo.h:
938         * rendering/RenderListItem.cpp:
939         * rendering/RenderListMarker.cpp:
940         * rendering/RenderSnapshottedPlugIn.cpp:
941         * rendering/RenderTableCol.cpp:
942         * rendering/RenderTableRow.cpp:
943         * rendering/RenderTableSection.cpp:
944         * rendering/style/StyleCachedShader.h:
945         * svg/SVGFEImageElement.h:
946         * svg/SVGFontFaceUriElement.h:
947         * svg/SVGImageLoader.cpp:
948         * svg/SVGUseElement.cpp:
949         * svg/SVGUseElement.h:
950         * svg/graphics/SVGImageCache.cpp:
951         * testing/MockPagePopupDriver.cpp:
952         * xml/XSLStyleSheet.h:
953         * xml/XSLTProcessorLibxslt.cpp:
954         * xml/parser/XMLDocumentParser.cpp:
955         * xml/parser/XMLDocumentParser.h:
956         * xml/parser/XMLDocumentParserLibxml2.cpp:
957         Many self-evident changes - removing unnecessary header includes, adding smaller
958         more local ones that are now necessary.
959
960 2013-02-28  Koji Hara  <kojih@chromium.org>
961
962         [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
963         https://bugs.webkit.org/show_bug.cgi?id=110852
964
965         Reviewed by Kentaro Hara.
966
967         Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
968         (Also added to the wiki)
969         https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
970         Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
971         We want to clean up CodeGeneratorV8.pm.
972         The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
973         We want to auto-generate as much code as possible.
974         As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.
975
976         No test. Simple refactoring.
977
978         * bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
979         * dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
980         * html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
981         * html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
982         * html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
983         * html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
984         * html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
985         * html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
986         * page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
987         * storage/Storage.idl: Add V8CustomIndexedGetter attribute.
988
989 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
990
991         Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
992         https://bugs.webkit.org/show_bug.cgi?id=108542
993
994         Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
995         which causes this issue.
996
997         Reviewed by Chris Rogers.
998
999         * Modules/webaudio/AudioNodeInput.cpp:
1000         (WebCore::AudioNodeInput::numberOfChannels):
1001         * Modules/webaudio/AudioNodeOutput.cpp:
1002         (WebCore::AudioNodeOutput::bus):
1003
1004 2013-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1005
1006         Unreviewed, rolling out r144370.
1007         http://trac.webkit.org/changeset/144370
1008         https://bugs.webkit.org/show_bug.cgi?id=111136
1009
1010         Caused 21 assertion failure at DocumentLoader.cpp(436)
1011         (Requested by toyoshim on #webkit).
1012
1013         * dom/Document.cpp:
1014         (WebCore::Document::decrementActiveParserCount):
1015         * loader/DocumentLoader.cpp:
1016         (WebCore::DocumentLoader::isLoading):
1017         (WebCore::DocumentLoader::checkLoadComplete):
1018
1019 2013-02-28  Li Yin  <li.yin@intel.com>
1020
1021         [chromium] Events can't be triggered on MediaStreamTrack
1022         https://bugs.webkit.org/show_bug.cgi?id=110930
1023
1024         Reviewed by Kentaro Hara.
1025
1026         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
1027         ended event handler should be triggered, when stop() is called.
1028
1029         No new tests because the test fast/mediastream/MediaStreamTrack.html
1030         had covered it already.
1031
1032         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
1033         (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
1034
1035 2013-02-28  Ankur Taly  <ataly@google.com>
1036
1037         WebKit API for enabling DOM logging for certain worlds
1038         https://bugs.webkit.org/show_bug.cgi?id=110779
1039
1040         Reviewed by Adam Barth.
1041         
1042         Adds additional static methods to DOMWrapperWorld for managing the
1043         mapping between worldIDs and logger objects (where DOM logging messages
1044         are sent), and also defines a class (V8DOMActivityLogger) for logger
1045         objects.
1046
1047         * WebCore.gypi:
1048         * bindings/v8/DOMWrapperWorld.cpp:
1049         (WebCore):
1050         (WebCore::domActivityLoggers):
1051         (WebCore::DOMWrapperWorld::setDOMActivityLogger):
1052         (WebCore::DOMWrapperWorld::getDOMActivityLogger):
1053         * bindings/v8/DOMWrapperWorld.h:
1054         (DOMWrapperWorld):
1055         * bindings/v8/V8DOMActivityLogger.h: Added.
1056         (WebCore):
1057         (V8DOMActivityLogger):
1058         (WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
1059         (WebCore::V8DOMActivityLogger::log):
1060
1061 2013-02-28  Adam Barth  <abarth@webkit.org>
1062
1063         The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
1064         https://bugs.webkit.org/show_bug.cgi?id=111130
1065
1066         Reviewed by Eric Seidel.
1067
1068         Previously, the threaded HTML parser always invalidated its speculation
1069         buffer when it received a document.write.  That means we performed
1070         poorly on web sites that contained document.write calls early in the
1071         page.
1072
1073         This patch teaches the HTMLDocumentParser that we don't need to discard
1074         the speculation buffer in the common case of starting and ending in the
1075         DataState.
1076
1077         * html/parser/BackgroundHTMLParser.cpp:
1078         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1079         * html/parser/HTMLDocumentParser.cpp:
1080         (WebCore::HTMLDocumentParser::checkForSpeculationFailure):
1081         (WebCore::HTMLDocumentParser::didFailSpeculation):
1082         * html/parser/HTMLDocumentParser.h:
1083         (WebCore):
1084         (ParsedChunk):
1085
1086 2013-02-28  Eberhard Graether  <egraether@google.com>
1087
1088         WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
1089         https://bugs.webkit.org/show_bug.cgi?id=110641
1090
1091         Reviewed by Pavel Feldman.
1092
1093         This change switches the shortcut for adding visibility:hidden to an element's style
1094         to toggling a class name on the element and injecting a style rule into the element's
1095         document instead. This way it is possible to change the visibility of all child
1096         elements as well.
1097
1098         Test: inspector/elements/hide-shortcut.html
1099
1100         * inspector/front-end/CSSStyleModel.js:
1101         * inspector/front-end/ElementsTreeOutline.js:
1102         (WebInspector.ElementsTreeOutline.prototype._onkeydown):
1103         (WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
1104         (WebInspector.ElementsTreeOutline.prototype.):
1105         (WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):
1106
1107 2013-02-28  Ryuan Choi  <ryuan.choi@samsung.com>
1108
1109         [EFL] Build break with --no-web-audio and --no-video
1110         https://bugs.webkit.org/show_bug.cgi?id=111055
1111
1112         Unreviewed build fix.
1113
1114         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1115
1116 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
1117
1118         Implement the memory report on IPP FFTFrame on Web Audio
1119         https://bugs.webkit.org/show_bug.cgi?id=111039
1120
1121         Reviewed by Yury Semikhatsky.
1122
1123         Covered by existing test.
1124
1125         * platform/audio/FFTFrame.cpp:
1126         (WebCore::FFTFrame::reportMemoryUsage):
1127
1128 2013-02-28  Levi Weintraub  <leviw@chromium.org>
1129
1130         Stale FrameSelection in removed iframe causes crash
1131         https://bugs.webkit.org/show_bug.cgi?id=108696
1132
1133         Reviewed by Ryosuke Niwa.
1134
1135         Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
1136         iFrame that is removed can leave the outer frame's selection referencing stale nodes.
1137         Instead, in this case, we keep the frame alive long enough to check for this condition
1138         and clear our selection if we hit it.
1139
1140         Test: editing/selection/selection-in-iframe-removed-crash.html
1141
1142         * editing/FrameSelection.cpp:
1143         (WebCore::FrameSelection::setSelection):
1144
1145 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
1146
1147         Need API to control page underlay color
1148         https://bugs.webkit.org/show_bug.cgi?id=110918
1149
1150         Reviewed by Simon Fraser.
1151
1152         * page/ChromeClient.h:
1153         (ChromeClient):
1154         Declare underlayColor().
1155
1156         * platform/ScrollbarTheme.h:
1157         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
1158         Have setUpOverhangAreasLayerContents() take a background color parameter.
1159
1160         * platform/mac/ScrollbarThemeMac.h:
1161         (ScrollbarThemeMac):
1162         Ditto.
1163
1164         * platform/mac/ScrollbarThemeMac.mm:
1165         Include ColorMac.h.
1166         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
1167         Use the passed-in background color, if valid, for the overhang area layer.
1168
1169         * rendering/RenderLayerCompositor.cpp:
1170         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1171         Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().
1172
1173 2013-02-28  Beth Dakin  <bdakin@apple.com>
1174
1175         RelevantRepaintedObjects heuristic should ensure there is some coverage in the 
1176         bottom half of the relevant view rect
1177         https://bugs.webkit.org/show_bug.cgi?id=111124
1178         -and corresponding-
1179         <rdar://problem/12257164>
1180
1181         Reviewed by Simon Fraser.
1182
1183         We need two Regions now -- one for the top and another for the bottom. Make sure 
1184         we have at least half of our desired coverage in both.
1185         * page/Page.cpp:
1186         (WebCore::Page::resetRelevantPaintedObjectCounter):
1187         (WebCore::Page::addRelevantRepaintedObject):
1188         (WebCore::Page::reportMemoryUsage):
1189         * page/Page.h:
1190
1191 2013-02-28  Chris Fleizach  <cfleizach@apple.com>
1192
1193         WebSpeech: support pitch change
1194         https://bugs.webkit.org/show_bug.cgi?id=107348
1195
1196         Reviewed by Beth Dakin.
1197
1198         Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
1199         to something sensible for the platform.
1200
1201         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1202         (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
1203         (-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
1204         (-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
1205         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1206
1207 2013-02-28   Vineet Chaudhary  <rgf748@motorola.com>
1208
1209         Unreviewed. Bindings test results update after r144376.
1210
1211         * bindings/scripts/test/JS/JSTestObj.cpp:
1212
1213 2013-02-28  Roger Fong  <roger_fong@apple.com>
1214
1215         Unreviewed. AppleWin VS2010 build fix.
1216
1217         * WebCore.vcxproj/WebCore.vcxproj:
1218         * WebCore.vcxproj/WebCore.vcxproj.filters:
1219
1220 2013-02-28  Roger Fong  <roger_fong@apple.com>
1221
1222         Unreviewed. AppleWin Build fix.
1223
1224         * WebCore.vcproj/WebCore.vcproj:
1225
1226 2013-02-28  Kentaro Hara  <haraken@chromium.org>
1227
1228         [V8] Remove the world->isMainWorld() check from minorGCPrologue()
1229         https://bugs.webkit.org/show_bug.cgi?id=111114
1230
1231         Reviewed by Adam Barth.
1232
1233         A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.
1234
1235           void minorGCPrologue() {
1236             // A minor GC can handle the main world only.
1237             DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
1238             if (world && world->isMainWorld()) {
1239               MinorGCWrapperVisitor visitor(isolate);
1240               v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
1241               visitor.notifyFinished();
1242             }
1243           }
1244
1245         - The check makes no sense. A GC should not care about what world we are in.
1246         There is no concept of worlds in GC.
1247
1248         - worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
1249         So if a GC runs in the main world, the minor DOM GC is skipped.
1250
1251         - worldForEnteredContextWithoutContextCheck() caused a Chromium crash
1252         (https://code.google.com/p/chromium/issues/detail?id=177587)
1253
1254         We should remove the check.
1255
1256         No tests. No change in behavior.
1257
1258         * bindings/v8/DOMWrapperWorld.h:
1259         (WebCore::DOMWrapperWorld::getWorld):
1260         * bindings/v8/V8Binding.h:
1261         * bindings/v8/V8GCController.cpp:
1262         (WebCore::V8GCController::minorGCPrologue):
1263
1264 2013-02-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1265
1266         Create GraphicsContext3DState to aggregate state objects
1267         https://bugs.webkit.org/show_bug.cgi?id=110817
1268
1269         Reviewed by Kenneth Russell.
1270
1271         Aggregate context state-related objects on a GraphicsContext3DState
1272         struct, in a similar fashion as GraphicsContext does. This is useful to
1273         avoid duplicated values for platform-specific initialization lists.
1274
1275         No behavior changes, thus covered by existing tests.
1276
1277         * platform/graphics/GraphicsContext3D.h:
1278         (WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
1279         (GraphicsContext3DState):
1280         (GraphicsContext3D):
1281         Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.
1282
1283         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1284         (WebCore::GraphicsContext3D::GraphicsContext3D):
1285         (WebCore::GraphicsContext3D::reshapeFBOs):
1286         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1287         (WebCore::GraphicsContext3D::GraphicsContext3D):
1288         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
1289         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1290         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1291         (WebCore::GraphicsContext3D::GraphicsContext3D):
1292         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1293         (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
1294         * platform/graphics/mac/GraphicsContext3DMac.mm:
1295         (WebCore::GraphicsContext3D::GraphicsContext3D):
1296         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1297         (WebCore::GraphicsContext3D::reshapeFBOs):
1298         (WebCore::GraphicsContext3D::readPixels):
1299         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1300         (WebCore::GraphicsContext3D::prepareTexture):
1301         (WebCore::GraphicsContext3D::readRenderingResults):
1302         (WebCore::GraphicsContext3D::reshape):
1303         (WebCore::GraphicsContext3D::activeTexture):
1304         (WebCore::GraphicsContext3D::bindFramebuffer):
1305         (WebCore::GraphicsContext3D::bindTexture):
1306         (WebCore::GraphicsContext3D::copyTexImage2D):
1307         (WebCore::GraphicsContext3D::copyTexSubImage2D):
1308         (WebCore::GraphicsContext3D::deleteFramebuffer):
1309         (WebCore::GraphicsContext3D::deleteTexture):
1310         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1311         (WebCore::GraphicsContext3D::readPixels):
1312         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
1313         (WebCore::GraphicsContext3D::reshapeFBOs):
1314         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1315         (WebCore::GraphicsContext3DPrivate::createOffscreenBuffers):
1316         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1317         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
1318         (WebCore::GraphicsContext3D::GraphicsContext3D):
1319         Removed initialization list values not needed anymore and reassigned
1320         calls to m_boundFBO, m_boundTexture0 and m_activeTexture to m_state
1321         respectives.
1322
1323 2013-02-28  David Hyatt  <hyatt@apple.com>
1324
1325         Unreviewed build fix. A merge error led to a duplication of a single line.
1326         Just removing the duplicate line.
1327
1328         * rendering/RenderLayer.cpp:
1329         (WebCore::RenderLayer::createLocalTransformState):
1330
1331 2013-02-28  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1332
1333         Notification.requestPermission callback should be optional
1334         https://bugs.webkit.org/show_bug.cgi?id=108196
1335
1336         Reviewed by Kentaro Hara.
1337
1338         Spec says it should be optional.
1339         http://notifications.spec.whatwg.org/#notification
1340
1341         Test: fast/notifications/notifications-request-permission-optional.html
1342
1343         * GNUmakefile.list.am:
1344         * Modules/notifications/Notification.h:
1345         (Notification):
1346         * Modules/notifications/Notification.idl:
1347         * Modules/notifications/NotificationCenter.cpp:
1348         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
1349         * Modules/notifications/NotificationCenter.h:
1350         (NotificationCenter):
1351         * Modules/notifications/NotificationCenter.idl:
1352         * Target.pri:
1353         * UseJSC.cmake:
1354         * UseV8.cmake:
1355         * WebCore.gypi:
1356         * WebCore.vcproj/WebCore.vcproj:
1357         * WebCore.vcxproj/WebCore.vcxproj:
1358         * WebCore.vcxproj/WebCore.vcxproj.filters:
1359         * WebCore.xcodeproj/project.pbxproj:
1360         * bindings/js/JSBindingsAllInOne.cpp:
1361         * bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
1362         * bindings/js/JSNotificationCustom.cpp: Removed.
1363         * bindings/scripts/CodeGeneratorJS.pm:
1364         (GenerateParametersCheck):
1365         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
1366         * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
1367
1368 2013-02-28  Ben Wagner  <bungeman@chromium.org>
1369
1370         Underline should round to match other content.
1371         https://bugs.webkit.org/show_bug.cgi?id=111005
1372
1373         Reviewed by Stephen White.
1374
1375         Test: fast/text/decorations-with-text-combine.html
1376
1377         * platform/graphics/skia/GraphicsContextSkia.cpp:
1378         (WebCore::GraphicsContext::drawLineForText):
1379         Round (instead of floor) underlines to match other content.
1380
1381 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
1382
1383         Refine Ryosuke's r144367 fix.
1384
1385         Rubber-stamped by Ryosuke Niwa.
1386
1387         * page/PageGroup.cpp:
1388         (WebCore::PageGroup::captionPreferences):
1389
1390 2013-02-28  Eric Seidel  <eric@webkit.org>
1391
1392         Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
1393         https://bugs.webkit.org/show_bug.cgi?id=110937
1394
1395         Reviewed by Adam Barth.
1396
1397         Remove the #ifdef guards added to work around this ASSERT.
1398         This was fixed by https://bugs.webkit.org/show_bug.cgi?id=110951
1399         as now DocumentLoader::checkLoadComplete() will ignore the call
1400         if the DocumentLoader is not the active document loader for the Document.
1401
1402         * dom/Document.cpp:
1403         (WebCore::Document::decrementActiveParserCount):
1404         * loader/DocumentLoader.cpp:
1405         (WebCore::DocumentLoader::isLoading):
1406         (WebCore::DocumentLoader::checkLoadComplete):
1407
1408 2013-02-28  Ryosuke Niwa  <rniwa@webkit.org>
1409
1410         Revert an erroneous change in r144336.
1411
1412         Rubber-stamped by Eric Carlson.
1413
1414         * page/PageGroup.cpp:
1415         (WebCore::PageGroup::captionPreferences):
1416
1417 2013-02-28  David Hyatt  <hyatt@apple.com>
1418
1419         Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.
1420
1421         * rendering/RenderBlock.h:
1422
1423 2013-02-28  Jochen Eisinger  <jochen@chromium.org>
1424
1425         Meta referrer isn't honored for window.open
1426         https://bugs.webkit.org/show_bug.cgi?id=111076
1427
1428         Reviewed by Adam Barth.
1429
1430         Test: http/tests/security/referrer-policy-window-open.html
1431
1432         * loader/FrameLoader.cpp:
1433         (WebCore::FrameLoader::urlSelected): loadFrameRequest() will set the correct referrer
1434         (WebCore::createWindow): This code is required for the inspector which doesn't set the referrer
1435         * page/DOMWindow.cpp:
1436         (WebCore::DOMWindow::createWindow):
1437
1438 2013-02-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1439
1440         [texmap] Remove redundant defines on TextureMapperGL
1441         https://bugs.webkit.org/show_bug.cgi?id=111090
1442
1443         Reviewed by Antonio Gomes.
1444
1445         driverSupportsSubImage() already uses OpenGL ES defines to return
1446         correct support, thus no need for these additional defines.
1447
1448         No behavior changes, thus covered by existing tests.
1449
1450         * platform/graphics/texmap/TextureMapperGL.cpp:
1451         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
1452
1453 2013-02-26  Zhenyao Mo  <zmo@google.com>
1454
1455         EXT_draw_buffers needs implementation
1456         https://bugs.webkit.org/show_bug.cgi?id=109331
1457
1458         Reviewed by Kenneth Russell.
1459
1460         This patch adds support for EXT_draw_buffers for WebGL.
1461         mac OpenGL port is passing khronos WebGL conformance test with this patch. OpenGL ES port implementation isn't added in this patch.
1462         Also, it has the WebKit side support for chromium port, but pending command buffer implementation.
1463
1464         Besides the basic extension implementation, we also added drawBuffers() wrapper to work around a mac driver bug: i.e., do not enable a buffer if there is no attachment added.
1465
1466         * CMakeLists.txt:
1467         * DerivedSources.make:
1468         * DerivedSources.pri:
1469         * GNUmakefile.list.am:
1470         * Target.pri:
1471         * WebCore.gypi:
1472         * WebCore.xcodeproj/project.pbxproj:
1473         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1474         (WebCore::toJS):
1475         * bindings/v8/V8Binding.h:
1476         (WebCore):
1477         (WebCore::toInt32):
1478         (WebCore::toUInt32):
1479         (WebCore::toFloat):
1480         (WebCore::toInt64):
1481         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1482         (WebCore::toV8Object):
1483         * html/canvas/EXTDrawBuffers.cpp: Added.
1484         (WebCore):
1485         (WebCore::EXTDrawBuffers::EXTDrawBuffers):
1486         (WebCore::EXTDrawBuffers::~EXTDrawBuffers):
1487         (WebCore::EXTDrawBuffers::getName):
1488         (WebCore::EXTDrawBuffers::create):
1489         (WebCore::EXTDrawBuffers::supported):
1490         (WebCore::EXTDrawBuffers::drawBuffersEXT):
1491         * html/canvas/EXTDrawBuffers.h: Added.
1492         (WebCore):
1493         (EXTDrawBuffers):
1494         * html/canvas/EXTDrawBuffers.idl: Added.
1495         * html/canvas/WebGLExtension.h:
1496         * html/canvas/WebGLFramebuffer.cpp:
1497         (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
1498         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
1499         (WebCore::WebGLFramebuffer::drawBuffers):
1500         (WebCore):
1501         (WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
1502         * html/canvas/WebGLFramebuffer.h:
1503         (WebGLFramebuffer):
1504         * html/canvas/WebGLRenderingContext.cpp:
1505         (WebCore):
1506         (WebCore::WebGLRenderingContext::initializeNewContext):
1507         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1508         (WebCore::WebGLRenderingContext::getExtension):
1509         (WebCore::WebGLRenderingContext::getParameter):
1510         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1511         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
1512         (WebCore::WebGLRenderingContext::getMaxDrawBuffers):
1513         (WebCore::WebGLRenderingContext::getMaxColorAttachments):
1514         * html/canvas/WebGLRenderingContext.h:
1515         (WebCore):
1516         (WebGLRenderingContext):
1517         * platform/chromium/support/Extensions3DChromium.cpp:
1518         (WebCore::Extensions3DChromium::drawBuffersEXT):
1519         (WebCore):
1520         * platform/graphics/Extensions3D.h:
1521         (Extensions3D):
1522         * platform/graphics/GraphicsContext3D.cpp:
1523         (WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
1524         * platform/graphics/chromium/Extensions3DChromium.h:
1525         (Extensions3DChromium):
1526         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1527         (WebCore::Extensions3DOpenGL::supportsExtension):
1528         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
1529         (WebCore):
1530         * platform/graphics/opengl/Extensions3DOpenGL.h:
1531         (Extensions3DOpenGL):
1532         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1533         (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
1534         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
1535         (Extensions3DOpenGLCommon):
1536         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
1537         (WebCore::Extensions3DOpenGLES::drawBuffersEXT):
1538         (WebCore):
1539         (WebCore::Extensions3DOpenGLES::supportsExtension):
1540         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1541         (Extensions3DOpenGLES):
1542
1543 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1544
1545         Create BlobRegistry through a strategy
1546         https://bugs.webkit.org/show_bug.cgi?id=111100
1547
1548         Chromium build fix.
1549
1550         * platform/network/BlobRegistry.cpp: Use destructor for chromium too.
1551
1552 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1553
1554         Create BlobRegistry through a strategy
1555         https://bugs.webkit.org/show_bug.cgi?id=111100
1556
1557         Reviewed by Sam Weinig.
1558
1559         * CMakeLists.txt:
1560         * GNUmakefile.list.am:
1561         * Target.pri:
1562         * WebCore.gypi:
1563         * WebCore.vcproj/WebCore.vcproj:
1564         * WebCore.vcxproj/WebCore.vcxproj:
1565         * WebCore.vcxproj/WebCore.vcxproj.filters:
1566         * WebCore.xcodeproj/project.pbxproj:
1567         Added BlobRegistry.cpp.
1568
1569         * WebCore.exp.in:
1570         * loader/LoaderStrategy.cpp:
1571         (WebCore::LoaderStrategy::createBlobRegistry):
1572         * loader/LoaderStrategy.h:
1573         Addxed a function to create BlobRegistry, with default implementation being
1574         in-process WebKit1 one.
1575
1576         * platform/network/BlobData.h: Added ENABLE(BLOB).
1577
1578         * platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
1579         * platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.
1580
1581         * platform/network/BlobRegistryImpl.cpp:
1582         * platform/network/BlobRegistryImpl.h:
1583         Cleaned up includes, made functions that are only called through base class private.
1584         Added ENABLE(BLOB).
1585
1586         * platform/network/BlobStorageData.h: Added ENABLE(BLOB).
1587
1588         * platform/network/FormData.cpp:
1589         (WebCore::appendBlobResolved): Check blob registry type before upcasting. It's a
1590         public function, and we should not depend on high level understanding of process
1591         model to prove that the cast is safe.
1592
1593         * platform/network/ResourceHandle.cpp:
1594         * platform/network/cf/FormDataStreamCFNet.cpp:
1595         * platform/network/mac/ResourceHandleMac.mm:
1596         Cleaned up includes.
1597
1598 2013-02-28  Kent Tamura  <tkent@chromium.org>
1599
1600         REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
1601         https://bugs.webkit.org/show_bug.cgi?id=110974
1602
1603         Reviewed by Kentaro Hara.
1604
1605         Input elements with the multiple fields UI require flexible box
1606         layout.
1607         - If display:inline or display:inline-block is specified, we
1608           replace it with display:inline-flex.
1609         - If display:block is specified, we replace it with
1610           display:flex.
1611         - If other display value is specified, we use it as is, but it
1612           won't wrap inside an input element because we have
1613           display:inline-block for ::-webkit-calendar-pixker-indicaotor.
1614
1615         r144184 was incomplete. It avoided the wrapping issue, but it
1616         didn't make spin buttons and calendar arrows right-aligned.
1617
1618         Tests: Update fast/forms/date/date-apparance-basic.html
1619
1620         * css/html.css:
1621         (input::-webkit-calendar-picker-indicator):
1622         Add display:inline-block in orde to avoid line-wrapping.
1623         * html/HTMLInputElement.cpp:
1624         (WebCore::HTMLInputElement::customStyleForRenderer):
1625         Move the code to BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer.
1626         * html/InputType.cpp:
1627         (WebCore::InputType::customStyleForRenderer): Added.
1628         * html/InputType.h:
1629         (InputType): Add customStyleForRenderer, and remove
1630         shouldApplyLocaleDirection.
1631         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1632         (WebCore::BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer):
1633         Moved the code from HTMLInputElement::customStyleForRenderer, and
1634         add display property updatting code.
1635         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1636         (BaseMultipleFieldsDateAndTimeInputType):
1637         Add customStyleForRenderer, and remove shouldApplyLocaleDirection.
1638
1639 2013-02-28  Anders Carlsson  <andersca@apple.com>
1640
1641         Implement more StorageAreaProxy member functions
1642         https://bugs.webkit.org/show_bug.cgi?id=111103
1643
1644         Reviewed by Sam Weinig.
1645
1646         Export two more StorageMap symbols required by WebKit2.
1647
1648         * WebCore.exp.in:
1649
1650 2013-02-28  Xianzhu Wang  <wangxianzhu@chromium.org>
1651
1652         Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
1653         https://bugs.webkit.org/show_bug.cgi?id=110895
1654
1655         Reviewed by Simon Fraser.
1656
1657         Test: compositing/sub-layer-focus-ring.html
1658
1659         The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
1660         Should use the relative position to the current paintContainer instead.
1661
1662         To fix the issue:
1663         - RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
1664         - Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
1665         - RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
1666
1667         * rendering/PaintInfo.h:
1668         (WebCore):
1669         (WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
1670         (PaintInfo):
1671         * rendering/RenderBlock.cpp:
1672         (WebCore::RenderBlock::paintObject):
1673         (WebCore::RenderBlock::paintContinuationOutlines):
1674         (WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.
1675         * rendering/RenderLayer.cpp:
1676         (WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
1677         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
1678         (WebCore::RenderLayer::paintOutlineForFragments): Ditto.
1679         (WebCore::RenderLayer::paintMaskForFragments): Ditto.
1680         * rendering/RenderLayer.cpp:
1681         * rendering/RenderObject.cpp:
1682         (WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
1683         (WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
1684         (WebCore::RenderObject::absoluteFocusRingQuads):
1685         * rendering/RenderObject.h:
1686         (WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.
1687
1688 2013-02-28  David Hyatt  <hyatt@apple.com>
1689
1690         Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
1691         https://bugs.webkit.org/show_bug.cgi?id=111089
1692
1693         Reviewed by Dan Bernstein.
1694
1695         This patch removes the marginBeforeQuirk and marginAfterQuirk bits from RenderObject
1696         and puts them into RenderBlock instead. I also did some renaming and clean-up after
1697         moving them, e.g., to hasMarginBeforeQuirk and hasMarginAfterQuirk.
1698         
1699         Even though it's pretty irrelevant, I also made the code writing-mode-correct so that
1700         the correct child margin quirk is propagated across differing writing mode
1701         boundaries.
1702
1703         * rendering/RenderBlock.cpp:
1704         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1705         (WebCore::RenderBlock::RenderBlock):
1706         (WebCore::RenderBlock::layoutBlock):
1707         (WebCore::RenderBlock::collapseMargins):
1708         (WebCore::RenderBlock::marginBeforeEstimateForChild):
1709         (WebCore::RenderBlock::setCollapsedBottomMargin):
1710         (WebCore::RenderBlock::handleAfterSideOfBlock):
1711         (WebCore::RenderBlock::hasMarginBeforeQuirk):
1712         (WebCore):
1713         (WebCore::RenderBlock::hasMarginAfterQuirk):
1714         * rendering/RenderBlock.h:
1715         (WebCore::RenderBlock::setHasMarginBeforeQuirk):
1716         (WebCore::RenderBlock::setHasMarginAfterQuirk):
1717         (RenderBlock):
1718         (WebCore::RenderBlock::hasMarginBeforeQuirk):
1719         (WebCore::RenderBlock::hasMarginAfterQuirk):
1720         (MarginInfo):
1721         (WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
1722         (WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
1723         (WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
1724         (WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):
1725         * rendering/RenderObject.h:
1726         (RenderObject):
1727         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1728         (RenderObjectBitfields):
1729         * rendering/style/RenderStyle.h:
1730
1731 2013-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1732
1733         Unreviewed, rolling out r144126 and r144176.
1734         http://trac.webkit.org/changeset/144126
1735         http://trac.webkit.org/changeset/144176
1736         https://bugs.webkit.org/show_bug.cgi?id=111096
1737
1738         Caused fast/notifications/notifications-request-
1739         permission.html to crash (Requested by abarth on #webkit).
1740
1741         * GNUmakefile.list.am:
1742         * Modules/notifications/Notification.h:
1743         (Notification):
1744         * Modules/notifications/Notification.idl:
1745         * Target.pri:
1746         * UseJSC.cmake:
1747         * UseV8.cmake:
1748         * WebCore.gypi:
1749         * WebCore.vcproj/WebCore.vcproj:
1750         * WebCore.vcxproj/WebCore.vcxproj:
1751         * WebCore.vcxproj/WebCore.vcxproj.filters:
1752         * WebCore.xcodeproj/project.pbxproj:
1753         * bindings/js/JSNotificationCustom.cpp: Added.
1754         (WebCore):
1755         (WebCore::JSNotification::requestPermission):
1756         * bindings/scripts/CodeGeneratorJS.pm:
1757         (GenerateParametersCheck):
1758         * bindings/scripts/test/JS/JSTestObj.cpp:
1759         * bindings/v8/custom/V8NotificationCustom.cpp: Added.
1760         (WebCore):
1761         (WebCore::V8Notification::requestPermissionMethodCustom):
1762
1763 2013-02-28  Nate Chapin  <japhet@chromium.org>
1764
1765         Crash in CachedRawResource::responseReceived().
1766         https://bugs.webkit.org/show_bug.cgi?id=110482
1767
1768         Reviewed by Adam Barth.
1769
1770         Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html
1771
1772         * loader/cache/CachedRawResource.cpp:
1773         (WebCore::CachedRawResource::responseReceived):
1774
1775 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
1776
1777         [Mac] use HAVE() macro instead of version check
1778         https://bugs.webkit.org/show_bug.cgi?id=111087
1779
1780         Reviewed by Dean Jackson.
1781
1782         No new tests, covered by existing tests.
1783
1784         * page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
1785         * page/CaptionUserPreferencesMac.mm: Ditto.
1786         (WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
1787         (WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.
1788
1789         * page/PageGroup.cpp:
1790         (WebCore::PageGroup::captionPreferences): Ditto.
1791
1792 2013-02-28  Chris Fleizach  <cfleizach@apple.com>
1793
1794         WebSpeech: support the boundary event
1795         https://bugs.webkit.org/show_bug.cgi?id=107350
1796
1797         Reviewed by Beth Dakin.
1798
1799         Generate boundary events for speech synthesis and have them fire the appropriate events.
1800         This implements for the Mac platform, as well as simulating these events in the mock
1801         synthesizer for testing purposes.
1802
1803         Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html
1804
1805         * Modules/speech/SpeechSynthesis.cpp:
1806         (WebCore):
1807         (WebCore::SpeechSynthesis::boundaryEventOccurred):
1808         * Modules/speech/SpeechSynthesis.h:
1809         (SpeechSynthesis):
1810         * platform/PlatformSpeechSynthesizer.h:
1811         (WebCore):
1812         (PlatformSpeechSynthesizerClient):
1813         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1814         (-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
1815         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1816         (WebCore::PlatformSpeechSynthesizerMock::speak):
1817
1818 2013-02-28  David Grogan  <dgrogan@chromium.org>
1819
1820         IndexedDB: Histogram all exits from IDBBackingStore::open
1821         https://bugs.webkit.org/show_bug.cgi?id=110677
1822
1823         Reviewed by Tony Chang.
1824
1825         No tests because this only changes logging code.
1826
1827         * Modules/indexeddb/IDBBackingStore.cpp:
1828         (WebCore::IDBBackingStore::open):
1829
1830 2013-02-28  Aaron Colwell  <acolwell@chromium.org>
1831
1832         Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
1833         into SourceBufferPrivate & WebSourceBuffer respectively.
1834         https://bugs.webkit.org/show_bug.cgi?id=110798
1835
1836         Reviewed by Adam Barth, Jer Noble.
1837
1838         No new tests. No user visible behavior has changed.
1839
1840         * Modules/mediasource/MediaSource.cpp:
1841         (WebCore::MediaSource::addSourceBuffer):
1842         (WebCore::MediaSource::removeSourceBuffer):
1843         * Modules/mediasource/MediaSource.h:
1844         (MediaSource):
1845         * Modules/mediasource/SourceBuffer.cpp:
1846         (WebCore::SourceBuffer::create):
1847         (WebCore):
1848         (WebCore::SourceBuffer::SourceBuffer):
1849         (WebCore::SourceBuffer::buffered):
1850         (WebCore::SourceBuffer::setTimestampOffset):
1851         (WebCore::SourceBuffer::append):
1852         (WebCore::SourceBuffer::abort):
1853         (WebCore::SourceBuffer::removedFromMediaSource):
1854         (WebCore::SourceBuffer::isRemoved):
1855         (WebCore::SourceBuffer::isOpen):
1856         (WebCore::SourceBuffer::isEnded):
1857         * Modules/mediasource/SourceBuffer.h:
1858         (WebCore):
1859         (SourceBuffer):
1860         * Modules/mediasource/SourceBufferList.cpp:
1861         (WebCore::SourceBufferList::SourceBufferList):
1862         (WebCore::SourceBufferList::remove):
1863         (WebCore::SourceBufferList::clear):
1864         * Modules/mediasource/SourceBufferList.h:
1865         (SourceBufferList):
1866         * html/HTMLMediaElement.cpp:
1867         * platform/graphics/MediaSourcePrivate.h:
1868         (WebCore):
1869         (MediaSourcePrivate):
1870         * platform/graphics/SourceBufferPrivate.h:
1871         (WebCore):
1872         (SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
1873         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
1874         (WebCore::SourceBufferPrivate::~SourceBufferPrivate):
1875
1876 2013-02-28  Joe Mason  <jmason@rim.com>
1877
1878         [BlackBerry] Handle Set-Cookie immediately even when loading is deferred
1879         https://bugs.webkit.org/show_bug.cgi?id=111083
1880
1881         Reviewed by Yong Li.
1882
1883         Internal PR: 298805
1884         Internally Reviewed By: Leo Yang
1885
1886         Handle Set-Cookie headers immediately, even if loading is being deferred, since any request
1887         created while loading is deferred should include all cookies received. (This especially
1888         affects Set-Cookie headers sent with a 401 response - often this causes an auth dialog to be
1889         opened, which defers loading, but the followup request using the credentials from the dialog
1890         needs to include the cookie.)
1891
1892         This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
1893         into the loader.
1894
1895         * platform/network/blackberry/NetworkJob.cpp:
1896         (WebCore::NetworkJob::notifyHeadersReceived):
1897         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1898
1899 2013-02-28  David Grogan  <dgrogan@chromium.org>
1900
1901         IndexedDB: IO error when checking schema should destroy LevelDB directory
1902         https://bugs.webkit.org/show_bug.cgi?id=110675
1903
1904         Reviewed by Adam Barth.
1905
1906         Also some refactoring to remove IDBBackingStore's dependence on
1907         static LevelDBDatabase methods. This facilitated the unit test.
1908
1909         New unit test - IDBIOErrorTest.CleanUpTest
1910
1911         * Modules/indexeddb/IDBBackingStore.cpp:
1912         (DefaultLevelDBFactory):
1913         Wraps the previous behavior.
1914         (WebCore::IDBBackingStore::open):
1915         The default parameter provides the previous behavior, which is what
1916         non-tests want.
1917         * Modules/indexeddb/IDBBackingStore.h:
1918         * platform/leveldb/LevelDBDatabase.h:
1919
1920 2013-02-28  Kentaro Hara  <haraken@chromium.org>
1921
1922         Unreviewed, rolling out r144157.
1923         http://trac.webkit.org/changeset/144157
1924         https://bugs.webkit.org/show_bug.cgi?id=110794
1925
1926         It broke chromium windows build
1927
1928         * bindings/scripts/CodeGeneratorV8.pm:
1929         (GenerateNamedConstructor):
1930         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1931         (WebCore::V8TestNamedConstructorConstructorCallback):
1932         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1933         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1934         (WebCore::v8HTMLImageElementConstructorMethodCustom):
1935         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1936
1937 2013-02-26  David Hyatt  <hyatt@apple.com>
1938
1939         [New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
1940         https://bugs.webkit.org/show_bug.cgi?id=110624.
1941
1942         Reviewed by Simon Fraser.
1943
1944         This patch implements a new painting and hit testing model for columns that is
1945         spec-compliant with Section 3.5 of the multicolumn specification, which states:
1946         
1947         "All column boxes in a multi-column element are in the same stacking context and
1948         the drawing order of their contents is as specified in CSS 2.1. Column boxes do
1949         not establish new stacking contexts."
1950         
1951         What this statement means is that you cannot paint a layer and all its stacking
1952         context descendants in a strip in each column, since some of those descendants
1953         might actually "break out" of the pagination (like fixed positioned descendants)
1954         and overlap multiple columns. In addition clips may apply across pagination
1955         boundaries, and any overlap caused by opacity has to do the right thing and
1956         treat the paginated and unpaginated components together as a single unit.
1957         
1958         The solution to this problem is to introduce the concept of a LayerFragment. Now
1959         all layers when painting or hit testing compute a fragment list, and that list
1960         is then walked in order to do painting and hit testing of layers. In the simple
1961         unpaginated case, a layer has one LayerFragment, but in the case of columns the
1962         layer may be broken up into multiple fragments representing boxes in separate
1963         columns.
1964         
1965         Much of this patch consists of refactoring all of the painting and hit testing
1966         code to operate on these fragments.
1967
1968         Test: fast/multicol/mixed-positioning-stacking-order.html.
1969
1970         * rendering/RenderFlowThread.cpp:
1971         (WebCore::RenderFlowThread::collectLayerFragments):
1972         This method is called by the RenderLayer code to fetch the layer fragments from
1973         the regions of a flow thread. The flow thread just turns around and calls into
1974         each of its regions one by one to get the fragments from each region.
1975
1976         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1977         A new function that collects LayerFragments and then determines the bounding
1978         box that encloses all of the fragments.
1979
1980         * rendering/RenderFlowThread.h:
1981         Declarations of the new methods for obtaining layer fragments and bounding
1982         box information for fragments.
1983
1984         * rendering/RenderLayer.cpp:
1985         (WebCore::RenderLayer::RenderLayer):
1986         (WebCore::RenderLayer::updateLayerPositions):
1987         (WebCore::RenderLayer::updatePagination):
1988         RenderLayers now track an enclosing pagination layer. If this is set, then the layer knows it
1989         needs to check with the enclosing pagination layer's flow thread renderer to
1990         obtain layer fragments.
1991         
1992         (WebCore::transparencyClipBox):
1993         Modified to obtain a fragments bounding box so that opacity can operate correctly on
1994         column boxes.
1995
1996         (WebCore::accumulateOffsetTowardsAncestor):
1997         This method has been patched to allow for fixed positioned objects to escape
1998         in-flow RenderFlowThreads. Our in-flow RenderFlowThreads behave differently from
1999         CSS Regions flow threads in that they aren't necesssarily acting as the containing
2000         block for all of their descendants. Content is allowed to "escape" from the flow
2001         thread.
2002
2003         (WebCore::RenderLayer::collectFragments):
2004         A new method that collects fragments from the flow thread and sets up the appropriate
2005         clips and translations on each fragment.
2006
2007         (WebCore::RenderLayer::paintLayer):
2008         (WebCore::RenderLayer::paintLayerContents):
2009         (WebCore::RenderLayer::paintList):
2010         (WebCore::RenderLayer::updatePaintingInfoForFragments):
2011         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
2012         (WebCore::RenderLayer::paintBackgroundForFragments):
2013         (WebCore::RenderLayer::paintForegroundForFragments):
2014         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
2015         (WebCore::RenderLayer::paintOutlineForFragments):
2016         (WebCore::RenderLayer::paintMaskForFragments):
2017         (WebCore::RenderLayer::paintOverflowControlsForFragments):
2018         Refactoring of painting to break all individual painting steps out into methods that walk over
2019         fragment boxes. This actually had the side effect of making the main painting function,
2020         paintLayerContents, much cleaner and easier to read. :)
2021         
2022         (WebCore::RenderLayer::hitTest):
2023         (WebCore::RenderLayer::createLocalTransformState):
2024         (WebCore::RenderLayer::hitTestLayer):
2025         (WebCore::RenderLayer::hitTestContentsForFragments):
2026         (WebCore::RenderLayer::hitTestResizerInFragments):
2027         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
2028         (WebCore::RenderLayer::hitTestContents):
2029         (WebCore::RenderLayer::hitTestList):
2030         Refactoring of hit testing to break all individual hit testing steps out into methods that walk over
2031         fragment boxes.
2032         
2033         (WebCore::RenderLayer::backgroundClipRect):
2034         Modified to avoid using the clip rects cache when crossing into different pagination contexts,
2035         e.g., from unpaginated to paginated.
2036         
2037         (WebCore::RenderLayer::intersectsDamageRect):
2038         (WebCore::RenderLayer::boundingBox):
2039         Modified boundingBox to work with fragments. A new flag is used to indicate whether or not
2040         the bounds of fragments or the original unsplit box are being computed.
2041         
2042         (WebCore::RenderLayer::collectLayers):
2043         Fix layer collection so that in-flow RenderFlowThreads can still be collected, since in-flow
2044         RenderFlowThreads do not establish stacking contexts.
2045
2046         * rendering/RenderLayer.h:
2047         (WebCore::ClipRect::moveBy):
2048         Added a moveBy method that just wrap the corresponding LayoutRect method.
2049
2050         (LayerFragment):
2051         (WebCore::LayerFragment::LayerFragment):
2052         (WebCore::LayerFragment::setRects):
2053         (WebCore::LayerFragment::moveBy):
2054         (WebCore::LayerFragment::intersect):
2055         (WebCore::RenderLayer::enclosingPaginationLayer):
2056         The new LayerFragment struct. Holds clips and translation information for each fragment box.
2057
2058         (WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
2059         Helper method for determining if the renderer is an out-of-flow RenderFlowThread.
2060
2061         * rendering/RenderMultiColumnBlock.cpp:
2062         (WebCore::createMultiColumnFlowThreadStyle):
2063         Change the flow thread style to no longer establish a stacking context.
2064         
2065         (WebCore::RenderMultiColumnBlock::layoutBlock):
2066         Patched to move the flow thread to a position that allows it to be untranslated in the
2067         initial column.
2068
2069         (WebCore):
2070         * rendering/RenderMultiColumnBlock.h:
2071         (RenderMultiColumnBlock):
2072         layoutBlock is subclassed to tweak the flow thread's position.
2073
2074         * rendering/RenderMultiColumnFlowThread.h:
2075         (RenderMultiColumnFlowThread):
2076         The flow thread for multi-column blocks implements collectLayerFragments to hand back LayerFragment
2077         information based off its RenderMultiColumnSets.
2078
2079         * rendering/RenderMultiColumnSet.cpp:
2080         (WebCore::RenderMultiColumnSet::paintObject):
2081         Changed to no longer paint column contents, since the layer code is just doing that now.
2082
2083         (WebCore::RenderMultiColumnSet::collectLayerFragments):
2084         The method that figures out what columns are intersected by a layer and hands back
2085         initial fragment information.
2086
2087         * rendering/RenderMultiColumnSet.h:
2088         (RenderMultiColumnSet):
2089         Declaration of collectLayerFragments.
2090         
2091         * rendering/RenderObject.cpp:
2092         (WebCore::RenderObject::container):
2093         Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.
2094         
2095         * rendering/RenderObject.h:
2096         (WebCore::RenderObject::isInFlowRenderFlowThread):
2097         (WebCore::RenderObject::isOutOfFlowRenderFlowThread):
2098         Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.
2099
2100         (WebCore::RenderObject::canContainFixedPositionObjects):
2101         Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
2102         in-flow RenderFlowThreads.
2103         
2104         * rendering/RenderRegion.h:
2105         (WebCore::RenderRegion::collectLayerFragments):
2106         (RenderRegion):
2107         The virtual functions on Region for fragment collection.
2108
2109 2013-02-28  Vivek Galatage  <vivek.vg@samsung.com>
2110
2111         Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
2112         https://bugs.webkit.org/show_bug.cgi?id=111061
2113
2114         Reviewed by Alexander Pavlov.
2115
2116         The view must be checked for all the rows with the matching keys. Only the first one would be updated
2117         with the new value while the others must be removed from the grid. Also in case there are various key/value
2118         pairs, the changed node should be selected and revealed in the grid.
2119
2120         No new tests as UI related minor change.
2121
2122         * inspector/front-end/DOMStorageItemsView.js:
2123         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
2124
2125 2013-02-28  Alberto Garcia  <agarcia@igalia.com>
2126
2127         [BlackBerry] User credentials is not correctly handled
2128         https://bugs.webkit.org/show_bug.cgi?id=110994
2129
2130         Reviewed by Yong Li.
2131
2132         WTF::String::utf8 no longer receives a bool, see r134173.
2133
2134         * platform/network/blackberry/CredentialBackingStore.cpp:
2135         (WebCore::CredentialBackingStore::encryptedString):
2136
2137 2013-02-28  Lianghui Chen  <liachen@rim.com>
2138
2139         [BlackBerry] User credentials are not correctly handled for non-browser usage
2140         https://bugs.webkit.org/show_bug.cgi?id=111032
2141
2142         Internal PR: 295181
2143         Internal reviewed by Joe Mason.
2144
2145         Reviewed by Yong Li.
2146
2147         Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
2148         stead of using it as a normal WTF::String.
2149
2150         No new tests as this causes no expected behaviour change.
2151
2152         * platform/network/blackberry/CredentialBackingStore.cpp:
2153         (WebCore::CredentialBackingStore::addLogin):
2154         (WebCore::CredentialBackingStore::updateLogin):
2155
2156 2013-02-28  Andrey Lushnikov  <lushnikov@chromium.org>
2157
2158         Web Inspector: "loadScript" function to load scripts via xhr
2159         https://bugs.webkit.org/show_bug.cgi?id=110879
2160
2161         Reviewed by Pavel Feldman.
2162
2163         Create an alias for "importScript" function and use it in those cases
2164         which assume lazy script loading.
2165
2166         No new tests.
2167
2168         * inspector/front-end/Panel.js:
2169         (WebInspector.PanelDescriptor.prototype.panel):
2170         * inspector/front-end/SourceFrame.js:
2171         (WebInspector.SourceFrame):
2172         * inspector/front-end/utilities.js:
2173
2174 2013-02-28  Alexei Filippov  <alph@chromium.org>
2175
2176         Web Inspector: Move profiler tools into separate panels
2177         https://bugs.webkit.org/show_bug.cgi?id=109832
2178
2179         Reviewed by Yury Semikhatsky.
2180
2181         This is a first part of the fix that puts each profiler tool into a separate panel.
2182         The fix introduces separate panels for each profiler type.
2183         There are now six panel (including experimental):
2184           1. JS CPU profiler
2185           2. CSS Selector profiler
2186           3. JS Heap profiler
2187           4. Canvas profier
2188           5. Native memory snapshots
2189           6. Native memory distribution
2190         The new functionality is put behind experimental flag.
2191
2192         * inspector/front-end/ProfileLauncherView.js:
2193         (WebInspector.ProfileLauncherView):
2194         (WebInspector.ProfileLauncherView.prototype.addProfileType):
2195         * inspector/front-end/ProfilesPanel.js:
2196         (WebInspector.ProfileHeader.prototype.view):
2197         (WebInspector.ProfileHeader.prototype.createView):
2198         (WebInspector.ProfilesPanel):
2199         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
2200         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2201         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2202         (WebInspector.ProfilesPanel.prototype._showProfile):
2203         (WebInspector.ProfilesPanel.prototype._searchableViews):
2204         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2205         (WebInspector.ProfileGroupSidebarTreeElement):
2206         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2207         (WebInspector.CPUProfilerPanel):
2208         (WebInspector.CSSSelectorProfilerPanel):
2209         (WebInspector.HeapProfilerPanel):
2210         (WebInspector.CanvasProfilerPanel):
2211         (WebInspector.MemoryChartProfilerPanel):
2212         (WebInspector.NativeMemoryProfilerPanel):
2213         * inspector/front-end/Settings.js:
2214         (WebInspector.ExperimentsSettings):
2215         * inspector/front-end/inspector.css:
2216         (.toolbar-item.cpu-profiler .toolbar-icon):
2217         (.toolbar-item.css-profiler .toolbar-icon):
2218         (.toolbar-item.heap-profiler .toolbar-icon):
2219         (.toolbar-item.canvas-profiler .toolbar-icon):
2220         (.toolbar-item.memory-chart-profiler .toolbar-icon):
2221         (.toolbar-item.memory-snapshot-profiler .toolbar-icon):
2222         * inspector/front-end/inspector.js:
2223         (WebInspector._panelDescriptors):
2224
2225 2013-02-28  Keishi Hattori  <keishi@webkit.org>
2226
2227         Add calendar header for new calendar picker
2228         https://bugs.webkit.org/show_bug.cgi?id=110967
2229
2230         Reviewed by Kent Tamura.
2231
2232         The calendar header showing the current month and containing navigation
2233         buttons, which will be part of the new calendar picker (Bug 109439).
2234
2235         No new tests. Code is not yet used.
2236
2237         * Resources/pagepopups/calendarPicker.js:
2238         (MonthPopupButton): Button that opens the month popup.
2239         (MonthPopupButton.prototype._shouldUseShortMonth): Returns true if we should use the short month format in order to fit in the available width.
2240         (MonthPopupButton.prototype.setCurrentMonth): Sets the month to the button label.
2241         (MonthPopupButton.prototype.onClick): Dispatches buttonClick event which will tell the calendar picker to open the month popup.
2242         (CalendarNavigationButton): A square button that fires repeatedly while the mouse is pressed down.
2243         (CalendarNavigationButton.prototype.setDisabled):
2244         (CalendarNavigationButton.prototype.onClick):
2245         (CalendarNavigationButton.prototype.onMouseDown): Sets the timer to fire while the mouse is pressed down.
2246         (CalendarNavigationButton.prototype.onWindowMouseUp):
2247         (CalendarNavigationButton.prototype.onRepeatingClick):
2248         (CalendarHeaderView): View containing month popup button and the navigation buttons.
2249         (CalendarHeaderView.prototype.onCurrentMonthChanged): Sets the MonthPopupButton label and checks if the navigation buttons should be disabled.
2250         (CalendarHeaderView.prototype.onNavigationButtonClick):
2251         (CalendarHeaderView.prototype.setDisabled): Used to disable all the buttons while the month popup is open.
2252
2253 2013-02-28  Pavel Feldman  <pfeldman@chromium.org>
2254
2255         Web Inspector: class console-formatted-string renamed to console-formatted- ?
2256         https://bugs.webkit.org/show_bug.cgi?id=110881
2257
2258         Reviewed by Vsevolod Vlasov.
2259
2260         * inspector/front-end/ConsoleMessage.js:
2261         (WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):
2262
2263 2013-02-28  Mike West  <mkwst@chromium.org>
2264
2265         XSSAuditor should strip formaction attributes from input and button elements.
2266         https://bugs.webkit.org/show_bug.cgi?id=110975
2267
2268         Reviewed by Daniel Bates.
2269
2270         The 'formaction' attribute of 'input' and 'button' elements is just as
2271         dangerous as the 'action' attribute of 'form' elements. This patch
2272         teaches the XSSAuditor how to avoid them.
2273
2274         Tests: http/tests/security/xssAuditor/formaction-on-button.html
2275                http/tests/security/xssAuditor/formaction-on-input.html
2276
2277         * html/parser/XSSAuditor.cpp:
2278         (WebCore::XSSAuditor::filterStartToken):
2279         (WebCore::XSSAuditor::filterInputToken): Added.
2280         (WebCore::XSSAuditor::filterButtonToken): Added.
2281         * html/parser/XSSAuditor.h:
2282             Create filters for 'input' and 'button' elements, which currently
2283             only have the effect of filtering the 'formaction' attribute.
2284
2285 2013-02-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2286
2287         REGRESSION(r144169): It broke clipping
2288         https://bugs.webkit.org/show_bug.cgi?id=111065
2289
2290         Reviewed by Noam Rosenthal.
2291
2292         The clipstack was not marked dirty when new clips were added
2293         leading to clipping never being applied.
2294
2295         * platform/graphics/texmap/TextureMapperGL.cpp:
2296         (WebCore::TextureMapperGL::ClipStack::push):
2297
2298 2013-02-28  Tamas Czene  <tczene@inf.u-szeged.hu>
2299
2300         OpenCL implementation of FEImage SVG Filter.
2301         https://bugs.webkit.org/show_bug.cgi?id=110752
2302
2303         Reviewed by Zoltan Herczeg.
2304
2305         The result of the image is uploaded to an OpenCL buffer.
2306
2307         * Target.pri:
2308         * platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Added.
2309         (WebCore):
2310         (WebCore::FEImage::platformApplyOpenCL):
2311         * svg/graphics/filters/SVGFEImage.h:
2312         (FEImage):
2313
2314 2013-02-28  Mike West  <mkwst@chromium.org>
2315
2316         Web Inspector: Make it obvious where command line functions come from
2317         https://bugs.webkit.org/show_bug.cgi?id=62367
2318
2319         Reviewed by Pavel Feldman.
2320
2321         This patch adds a custom .toString() method on the various command-line
2322         API methods that are bound in the inspector. Rather than dumping the
2323         function text, we now model the response after that of native methods:
2324         "function __() { [Command Line API] }".
2325
2326         Test: inspector/console/console-native-function-to-string.html
2327
2328         * inspector/InjectedScriptSource.js:
2329             Added a function to the CommandLineAPI constructor that creates a
2330             custom toString() method for each command-line API method.
2331
2332 2013-02-28  David Kilzer  <ddkilzer@apple.com>
2333
2334         ResourceRequestCFNet.cpp won't compile after r144216
2335         <http://webkit.org/b/111034>
2336
2337         Reviewed by Alexey Proskuryakov.
2338
2339         * WebCore.exp.in: Move Mac-only symbol into !PLATFORM(IOS)
2340         section.  Update iOS-only symbol to add argument.
2341         * platform/network/cf/ResourceRequest.h: Remove unused method
2342         declaration.
2343         * platform/network/cf/ResourceRequestCFNet.cpp:
2344         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Fix typos.
2345         Add static_cast<CFStringRef>().
2346         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Fix another
2347         typo.
2348
2349 2013-02-28  Kent Tamura  <tkent@chromium.org>
2350
2351         Unreviewed, rolling out r144184.
2352         http://trac.webkit.org/changeset/144184
2353         https://bugs.webkit.org/show_bug.cgi?id=110974
2354
2355         The change didn't fix all of the problems.
2356
2357         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2358         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2359         (BaseMultipleFieldsDateAndTimeInputType):
2360
2361 2013-02-27  Eugene Klyuchnikov  <eustas@chromium.org>
2362
2363         Web Inspector: [Protocol] Genarate JS enum definitions.
2364         https://bugs.webkit.org/show_bug.cgi?id=110461
2365
2366         Reviewed by Pavel Feldman.
2367
2368         Generating corresponding type annotations
2369         would help to compiler to point errors.
2370
2371         * inspector/CodeGeneratorInspector.py: Generate "registerEnum" records.
2372         * inspector/InjectedScriptSource.js: Shadow compiler warning.
2373         * inspector/front-end/InspectorBackend.js:
2374         Added "registerEnum". Added "registerEnum" generation.
2375         * inspector/front-end/NetworkManager.js: Use enum instead of literal.
2376         * inspector/generate_protocol_externs.py: Generate enum typedefs.
2377
2378 2013-02-27  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2379
2380         INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of hour field should respect min/max attributes
2381         https://bugs.webkit.org/show_bug.cgi?id=109555
2382
2383         Reviewed by Kent Tamura.
2384
2385         Make step-up/-down of the hour field respect the min/max attributes of the element.
2386         Note that it still accepts any keyboard inputs (the element
2387         becomes 'invalid' state when out-of-range values entered).
2388         Also, disable the hour field and/or the AMPM field when there is only single possible value.
2389
2390         Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html
2391               fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer.html
2392               fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
2393               fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
2394
2395         * html/TimeInputType.cpp:
2396         (WebCore::TimeInputType::setupLayoutParameters): Populates layoutParameters.{minimum,maximum}.
2397         * html/shadow/DateTimeEditElement.cpp:
2398         (DateTimeEditBuilder): Add data fields for min/max of day and hour fields.
2399         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set newly added data members.
2400         (WebCore::DateTimeEditBuilder::visitField): Pass minimum/maximum value to the month field constructors.
2401         (WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled): Added.
2402         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
2403         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
2404         Disables the hour field when min, max, and value have the same hour, except when the minute
2405         field is disabled (by step attribute), because we need to leave at least one field editable.
2406         * html/shadow/DateTimeFieldElements.cpp:
2407         (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
2408         (WebCore::DateTimeHourFieldElementBase::initialize):
2409         (WebCore::DateTimeHourFieldElementBase::setValueAsDate):
2410         (WebCore::DateTimeHourFieldElementBase::setValueAsDateTimeFieldsState):
2411         (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
2412         (WebCore::DateTimeHour11FieldElement::create):
2413         (WebCore::DateTimeHour11FieldElement::populateDateTimeFieldsState):
2414         (WebCore::DateTimeHour11FieldElement::setValueAsInteger):
2415         (WebCore::DateTimeHour11FieldElement::clampValueForHardLimits):
2416         (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
2417         (WebCore::DateTimeHour12FieldElement::create):
2418         (WebCore::DateTimeHour12FieldElement::populateDateTimeFieldsState):
2419         (WebCore::DateTimeHour12FieldElement::setValueAsInteger):
2420         (WebCore::DateTimeHour12FieldElement::clampValueForHardLimits):
2421         (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
2422         (WebCore::DateTimeHour23FieldElement::create):
2423         (WebCore::DateTimeHour23FieldElement::populateDateTimeFieldsState):
2424         (WebCore::DateTimeHour23FieldElement::setValueAsInteger):
2425         (WebCore::DateTimeHour23FieldElement::clampValueForHardLimits):
2426         (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
2427         (WebCore::DateTimeHour24FieldElement::create):
2428         (WebCore::DateTimeHour24FieldElement::populateDateTimeFieldsState):
2429         (WebCore::DateTimeHour24FieldElement::setValueAsInteger):
2430         (WebCore::DateTimeHour24FieldElement::clampValueForHardLimits):
2431         * html/shadow/DateTimeFieldElements.h: Splitted DateTimeHourFieldElement into a base class and four derived classes that represents different hour formats.
2432         (DateTimeHourFieldElementBase): Added.
2433         (DateTimeHour11FieldElement): Added. Represents 0-11 hour format.
2434         (DateTimeHour12FieldElement): Added. Represents 1-12 hour format.
2435         (DateTimeHour23FieldElement): Added. Represents 0-23 hour format.
2436         (DateTimeHour24FieldElement): Added. Represents 1-24 hour format.
2437
2438 2013-02-27  Tien-Ren Chen  <trchen@chromium.org>
2439
2440         Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
2441         https://bugs.webkit.org/show_bug.cgi?id=105486
2442
2443         Reviewed by James Robinson.
2444
2445         In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
2446         elements are layout relative to the current visible viewport, which can
2447         be different from the layout viewport when using fixed-layout mode.
2448         We need to re-layout fixed-position elements in case of visible content
2449         size changes.
2450
2451         The test is currently chromium-specific due to difficulties to make this
2452         test works on Mac. The mac port seems to work very differently with
2453         visible content size when a page is scaled. And there is no reliable way
2454         to hide scrollbars in mac-wk1 that doesn't cause a side effect.
2455
2456         Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html
2457
2458         * page/FrameView.h:
2459         (FrameView):
2460         * page/Page.cpp:
2461         (WebCore::Page::setPageScaleFactor):
2462
2463 2013-02-27  Hans Muller  <hmuller@adobe.com>
2464
2465         [CSS Exclusions] Enable shape-inside rectangle support for shape-padding
2466         https://bugs.webkit.org/show_bug.cgi?id=110500
2467
2468         Reviewed by Dirk Schulze.
2469
2470         Added support for CSS shape-padding for shapes defined with shape-inside.
2471
2472         Tests: fast/exclusions/shape-inside/shape-inside-circle-padding.html
2473                fast/exclusions/shape-inside/shape-inside-ellipse-padding.html
2474                fast/exclusions/shape-inside/shape-inside-rectangle-padding.html
2475                fast/exclusions/shape-inside/shape-inside-rounded-rectangle-padding.html
2476
2477         * rendering/ExclusionRectangle.cpp:
2478         (WebCore::FloatRoundedRect::paddingBounds): Inset the rounded rectangle to reflect the padding parameter.
2479         (WebCore::FloatRoundedRect::marginBounds): Expand the rounded rectangle to reflect the margin parameter.
2480         (WebCore::FloatRoundedRect::cornerInterceptForWidth): Moved this method from ExclusionRectangle to FloatRoundedRect.
2481         (WebCore::ExclusionRectangle::shapePaddingBounds): Lazily compute the bounds of the padding box.
2482         (WebCore::ExclusionRectangle::shapeMarginBounds): Lazily compute the bounds of the margin box.
2483         (WebCore::ExclusionRectangle::getExcludedIntervals): This computuation is now based on the (new) margin box.
2484         (WebCore::ExclusionRectangle::getIncludedIntervals): This computation is now base don the (new) padding box.
2485         (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): This computation is now base don the (new) padding box.
2486         * rendering/ExclusionRectangle.h:
2487         (FloatRoundedRect): A subclass of FloatRect that includes corner radii specified as CSS shapes do.
2488         (WebCore::FloatRoundedRect::FloatRoundedRect):
2489         (WebCore::FloatRoundedRect::rx):
2490         (WebCore::FloatRoundedRect::ry):
2491         (WebCore::ExclusionRectangle::ExclusionRectangle):
2492         * rendering/ExclusionShape.cpp:
2493         (WebCore::ExclusionShape::createExclusionShape): Initialize the new shapeMargin and shapePadding properties.
2494         * rendering/ExclusionShape.h:
2495         (ExclusionShape):
2496         (WebCore::ExclusionShape::shapeMargin): Added a public read-only property for shapeMargin.
2497         (WebCore::ExclusionShape::shapePadding): Added a public read-only property for shapePadding.
2498         * rendering/ExclusionShapeInfo.cpp:
2499         (WebCore::::computedShape): Pass the values of the CSS shape-margin and shapp-padding properties to createExclusionShape().
2500
2501 2013-02-25  Alpha Lam  <hclam@chromium.org>
2502
2503         More style cleanup in GIFImageReader
2504         https://bugs.webkit.org/show_bug.cgi?id=110776
2505
2506         Reviewed by Allan Sandfeld Jensen.
2507
2508         Renamed variable q to currentComponent which more accurately represent
2509         the purpose.
2510
2511         No test. Simple refactoring.
2512
2513         * platform/image-decoders/gif/GIFImageReader.cpp:
2514         (GIFImageReader::decodeInternal):
2515
2516 2013-02-27  Keishi Hattori  <keishi@webkit.org>
2517
2518         Add month popup for new calendar picker
2519         https://bugs.webkit.org/show_bug.cgi?id=110830
2520
2521         Reviewed by Kent Tamura.
2522
2523         Adding month popup view for use in the new calendar picker (Bug 109439).
2524         YearListCell will grow in height when selected to reveal the buttons for
2525         selecting the month.
2526
2527         No new tests. Code is not used yet.
2528
2529         * Resources/pagepopups/calendarPicker.js:
2530         (YearListCell): A row inside the month popup. Contains buttons for choosing a month.
2531         (YearListCell.prototype._recycleBin):
2532         (YearListCell.prototype.reset): Resets a thrown away cell for reuse at the given row.
2533         (YearListCell.prototype.height):
2534         (YearListCell.prototype.setHeight):
2535         (YearListView): List view showing YearListCells.
2536         (YearListView.prototype.onMouseOver): If the mouse is over a month button, highlights it.
2537         (YearListView.prototype.onMouseOut): De-highlights the month button.
2538         (YearListView.prototype.setWidth): Set scroll view width to leave space for the scroll bar.
2539         (YearListView.prototype.setHeight): Sets the scroll bar height as well.
2540         (YearListView.prototype._animateRow): Animates the row height to open/close the YearListCell.
2541         (YearListView.prototype.onCellHeightAnimatorDidStop): Keep this._runningAnimators and this._animatingRows up to date.
2542         (YearListView.prototype.onCellHeightAnimatorStep): Update the cell height and position.
2543         (YearListView.prototype.onClick): If this is a click on a month button, select the month.
2544         (YearListView.prototype.rowAtScrollOffset): Calculates the row currently at the given offset.
2545         (YearListView.prototype.scrollOffsetForRow): Calculates the current scroll offset of the given row.
2546         (YearListView.prototype.prepareNewCell): Prepares a new or recycled YearListCell.
2547         (YearListView.prototype.updateCells): Updates the position of the visible cells.
2548         (YearListView.prototype.deselect): Deselects a row.
2549         (YearListView.prototype.deselectWithoutAnimating): Deselects a row without the closing animation.
2550         (YearListView.prototype.select): Selects a row.
2551         (YearListView.prototype.selectWithoutAnimating): Deselects a row without the opening animation.
2552         (YearListView.prototype.buttonForMonth): Returns the month button for a given month. Returns null if the cell is not visible.
2553         (YearListView.prototype.dehighlightMonth): Dehighlights the month button.
2554         (YearListView.prototype.highlightMonth): Highlights the month button.
2555         (YearListView.prototype.show): Call when showing the year list view. Shows the given month as highlighted.
2556         (YearListView.prototype.hide): Dispatches a did hide event which will be picked up by the CalendarPicker and the MonthPopupView will close.
2557         (YearListView.prototype._moveHighlightTo): Used to move the month highlight in response to a key event.
2558         (YearListView.prototype.onKeyDown): Arrow keys and PageUp/PageDown keys work.
2559         (MonthPopupView): The popup view to be overlayed over the calendar picker.
2560         (MonthPopupView.prototype.show): Takes the initialMonth to show and the calendarTableRect so we can overlay the year list view right on top of it.
2561         (MonthPopupView.prototype.hide):
2562         (MonthPopupView.prototype.onClick): Hides itself if the use clicks outside the year list view.
2563
2564 2013-02-27  Adam Barth  <abarth@webkit.org>
2565
2566         Use FeatureObserver to see how often web sites use multipart main documents
2567         https://bugs.webkit.org/show_bug.cgi?id=111015
2568
2569         Reviewed by Nate Chapin.
2570
2571         Multipart main documents add sigificant complexity to the loader.  It
2572         would be interesting to know how often this complexity is used.
2573
2574         * loader/MainResourceLoader.cpp:
2575         (WebCore::MainResourceLoader::responseReceived):
2576         * page/FeatureObserver.h:
2577
2578 2013-02-27  James Simonsen  <simonjam@chromium.org>
2579
2580         [chromium] Lower priority of preloaded images
2581         https://bugs.webkit.org/show_bug.cgi?id=110527
2582
2583         Reviewed by Nate Chapin.
2584
2585         This improves Speed Index by ~5%, because it encourages us to load images that are needed for
2586         painting over speculative preloads. Ideally, all embedders would use this, but it relies on
2587         ResourceHandle::didChangePriority being implemented. Currently, only Chrome does that.
2588
2589         Test: http/tests/loading/promote-img-preload-priority.html
2590
2591         * loader/FrameLoaderClient.h:
2592         (FrameLoaderClient):
2593         (WebCore::FrameLoaderClient::dispatchDidChangeResourcePriority): Added callback to enable testing.
2594         * loader/cache/CachedResource.cpp:
2595         (WebCore::CachedResource::setLoadPriority): Signal callback.
2596         * loader/cache/CachedResourceLoader.cpp:
2597         (WebCore::CachedResourceLoader::preload): Actual behavior change.
2598
2599 2013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
2600
2601         Unreviewed trivial buildfix after r144190.
2602
2603         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
2604         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2605
2606 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
2607
2608         WebSpeech: support speech cancel
2609         https://bugs.webkit.org/show_bug.cgi?id=107349
2610
2611         Reviewed by Beth Dakin.
2612
2613         Add the ability to cancel speech utterances and make it work with Mac
2614         and the mock speech synthesizer.
2615
2616         Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html
2617
2618         * Modules/speech/SpeechSynthesis.cpp:
2619         (WebCore::SpeechSynthesis::pending):
2620         (WebCore::SpeechSynthesis::cancel):
2621         (WebCore::SpeechSynthesis::handleSpeakingCompleted):
2622         * platform/PlatformSpeechSynthesizer.h:
2623         (PlatformSpeechSynthesizer):
2624         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2625         (-[WebSpeechSynthesisWrapper cancel]):
2626         (WebCore::PlatformSpeechSynthesizer::cancel):
2627         (WebCore):
2628         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2629         (WebCore::PlatformSpeechSynthesizerMock::cancel):
2630         (WebCore):
2631         (WebCore::PlatformSpeechSynthesizerMock::speak):
2632         * platform/mock/PlatformSpeechSynthesizerMock.h:
2633         (PlatformSpeechSynthesizerMock):
2634
2635 2013-02-27  Min Qin  <qinmin@chromium.org>
2636
2637         Unlock partially decoded images after passing them to the ImageDecodingStore
2638         https://bugs.webkit.org/show_bug.cgi?id=110778
2639
2640         Reviewed by Stephen White.
2641
2642         For partially decoded images, we need to unlock them so that the memory can be freed.
2643         This change unlocks all the image frames after they are passed to ImageDecodingStore.
2644         Unit tests are added in ImageFrameGeneratorTest.
2645
2646         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2647         (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
2648         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
2649         (WebCore::ImageFrameGenerator::decode):
2650         * platform/image-decoders/ImageDecoder.h:
2651         (ImageDecoder):
2652         (WebCore::ImageDecoder::lockFrameBuffers):
2653         (WebCore::ImageDecoder::unlockFrameBuffers):
2654
2655 2013-02-27  Kenneth Russell  <kbr@google.com>
2656
2657         Insufficient validation when uploading depth textures to WebGL
2658         https://bugs.webkit.org/show_bug.cgi?id=110931
2659
2660         Reviewed by Abhishek Arya.
2661
2662         Updated webgl/conformance/extensions/webgl-depth-texture.html
2663         layout test with additional test cases.
2664
2665         * html/canvas/WebGLRenderingContext.cpp:
2666         (WebCore):
2667         (WebCore::WebGLRenderingContext::texImage2D):
2668         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2669         (WebCore::WebGLRenderingContext::texSubImage2D):
2670             Check for valid format/type combinations, depth, and
2671             depth+stencil formats when uploading HTML elements and
2672             ImageData as textures.
2673
2674 2013-02-27  Adam Barth  <abarth@webkit.org>
2675
2676         Threaded HTML Parser fails fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html in debug
2677         https://bugs.webkit.org/show_bug.cgi?id=110951
2678
2679         Reviewed by Eric Seidel.
2680
2681         We were triggering this ASSERT because we didn't understand that a
2682         given frame might have multiple DocumentLoaders in various states. That
2683         caused us to think that a DocumentLoader in the provisional state was
2684         actually loading.
2685
2686         * dom/Document.cpp:
2687         (WebCore::Document::decrementActiveParserCount):
2688         * loader/DocumentLoader.cpp:
2689         (WebCore::DocumentLoader::isLoading):
2690
2691 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
2692
2693         AX: Mac platform should support ability to scroll an element into visible
2694         https://bugs.webkit.org/show_bug.cgi?id=109860
2695
2696         Reviewed by Beth Dakin.
2697
2698         Support the scrollToMakeVisible() action for MacOS accessibility clients.
2699
2700         Tests: platform/mac/accessibility/scroll-to-visible-action.html
2701
2702         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2703         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
2704         (-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
2705         (-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
2706
2707 2013-02-27  John Bauman  <jbauman@chromium.org>
2708
2709         Plugin in iframe may not display
2710         https://bugs.webkit.org/show_bug.cgi?id=109879
2711
2712         Reviewed by Simon Fraser.
2713
2714         Changing the cliprect on a layer containing an iframe may change the
2715         cliprect of plugins inside the iframe, so recursively tell all plugins
2716         in iframes that their cliprect has changed after doing layout on the
2717         outer frame.
2718
2719         Test: plugins/plugin-clip-subframe.html
2720
2721         * platform/ScrollView.cpp:
2722         (WebCore::ScrollView::clipRectChanged):
2723         * platform/ScrollView.h:
2724         * platform/Widget.h:
2725         (WebCore::Widget::clipRectChanged):
2726         * plugins/PluginView.cpp:
2727         (WebCore::PluginView::clipRectChanged):
2728         * plugins/PluginView.h:
2729         * rendering/RenderWidget.cpp:
2730         (WebCore::RenderWidget::setWidgetGeometry):
2731
2732 2013-02-27  Chris Rogers  <crogers@google.com>
2733
2734         Implement channel up-mixing and down-mixing rules
2735         https://bugs.webkit.org/show_bug.cgi?id=110812
2736
2737         Reviewed by Kenneth Russell.
2738
2739         Please see Web Audio specification for details of the AudioNode mixing rules attributes:
2740         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix
2741
2742         Test: webaudio/audionode-channel-rules.html
2743
2744         * Modules/webaudio/AudioNode.cpp:
2745         (WebCore::AudioNode::AudioNode):
2746         (WebCore::AudioNode::channelCount):
2747         (WebCore):
2748         (WebCore::AudioNode::setChannelCount):
2749         (WebCore::AudioNode::channelCountMode):
2750         (WebCore::AudioNode::setChannelCountMode):
2751         (WebCore::AudioNode::channelInterpretation):
2752         (WebCore::AudioNode::setChannelInterpretation):
2753         (WebCore::AudioNode::updateChannelsForInputs):
2754         * Modules/webaudio/AudioNode.h:
2755         (AudioNode):
2756         (WebCore::AudioNode::internalChannelCountMode):
2757         (WebCore::AudioNode::internalChannelInterpretation):
2758         * Modules/webaudio/AudioNode.idl:
2759         * Modules/webaudio/AudioNodeInput.cpp:
2760         (WebCore::AudioNodeInput::numberOfChannels):
2761         (WebCore::AudioNodeInput::bus):
2762         (WebCore::AudioNodeInput::internalSummingBus):
2763         (WebCore::AudioNodeInput::sumAllConnections):
2764         (WebCore::AudioNodeInput::pull):
2765         * Modules/webaudio/AudioNodeInput.h:
2766         (AudioNodeInput):
2767         * Modules/webaudio/ConvolverNode.cpp:
2768         (WebCore::ConvolverNode::ConvolverNode):
2769         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2770         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
2771         * Modules/webaudio/PannerNode.cpp:
2772         (WebCore::PannerNode::PannerNode):
2773         * platform/audio/AudioBus.cpp:
2774         (WebCore::AudioBus::speakersCopyFrom):
2775         (WebCore::AudioBus::speakersSumFrom):
2776         (WebCore::AudioBus::speakersSumFrom5_1_ToMono):
2777         (WebCore):
2778         * platform/audio/AudioBus.h:
2779         (AudioBus):
2780
2781 2013-02-27  Adam Barth  <abarth@webkit.org>
2782
2783         Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
2784         https://bugs.webkit.org/show_bug.cgi?id=110937
2785
2786         Reviewed by Darin Adler.
2787
2788         This patch restores the ASSERT behind an ifdef so that we can continue
2789         to get converage from the ASSERT while we investigate why it is
2790         triggering in the threaded parser.
2791
2792         * loader/DocumentLoader.cpp:
2793         (WebCore::DocumentLoader::checkLoadComplete):
2794
2795 2013-02-27  Lianghui Chen  <liachen@rim.com>
2796
2797         [BlackBerry] User credentials is not correctly handled
2798         https://bugs.webkit.org/show_bug.cgi?id=110994
2799
2800         Internal PR: 280990
2801         Internal reviewed by Leo Yang.
2802
2803         Reviewed by Yong Li.
2804
2805         Following changes are made:
2806             Remove url from generating the hash to index user credential.
2807             Remove url from database.
2808             Use new CertMgrWrapper API to remove password from CertMgr.
2809             Handle encrypted password as binary data, instead of normal text string.
2810             When authentication fails, remove the saved user credential only when they match.
2811             Remove some url related API from CredentialBackingStore, as they are obsolete now.
2812
2813         No new tests as this is platform specific change about user credential.
2814
2815         * platform/network/blackberry/CredentialBackingStore.cpp:
2816         (WebCore::hashCredentialInfo):
2817         (WebCore::CredentialBackingStore::CredentialBackingStore):
2818         (WebCore::CredentialBackingStore::~CredentialBackingStore):
2819         (WebCore::CredentialBackingStore::open):
2820         (WebCore::CredentialBackingStore::addLogin):
2821         (WebCore::CredentialBackingStore::updateLogin):
2822         (WebCore::CredentialBackingStore::hasLogin):
2823         (WebCore::CredentialBackingStore::getLogin):
2824         (WebCore::CredentialBackingStore::removeLogin):
2825         (WebCore::CredentialBackingStore::addNeverRemember):
2826         (WebCore::CredentialBackingStore::encryptedString):
2827         (WebCore::CredentialBackingStore::decryptedString):
2828         * platform/network/blackberry/CredentialBackingStore.h:
2829         (CredentialBackingStore):
2830         * platform/network/blackberry/NetworkJob.cpp:
2831         (WebCore::NetworkJob::sendRequestWithCredentials):
2832         (WebCore::NetworkJob::purgeCredentials):
2833
2834 2013-02-27  David Hyatt  <hyatt@apple.com>
2835
2836         Refactor transform painting/hit testing code in RenderLayer.
2837         https://bugs.webkit.org/show_bug.cgi?id=110998
2838
2839         Reviewed by Eric Seidel.
2840
2841         * rendering/RenderLayer.cpp:
2842         (WebCore::RenderLayer::paintLayer):
2843         (WebCore::RenderLayer::paintLayerByApplyingTransform):
2844         Pull the code that applies the transform for painting into a new
2845         function that can also apply an additional translation offset. This
2846         offset will be used by the new columns code when that patch lands.
2847         
2848         (WebCore::RenderLayer::createLocalTransformState):
2849         Also patched to be able to apply an additional translation offset.
2850
2851         (WebCore::RenderLayer::hitTestLayer):
2852         (WebCore::RenderLayer::hitTestLayerByApplyingTransform):
2853         Same as with painting, pull the code that applies the transform into
2854         its own function and also enable an extra translation offset to be
2855         applied.
2856         
2857         * rendering/RenderLayer.h:
2858         Added the new functions to the header.
2859
2860 2013-02-27  David Kilzer  <ddkilzer@apple.com>
2861
2862         Touch CSSGrammar.y.in to fix an internal buildbot
2863
2864         * css/CSSGrammar.y.in: Add copyright dates based on previous
2865         commits.
2866
2867 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
2868
2869         Add smartInsertDeleteEnabled setting to WebCore::Page
2870         https://bugs.webkit.org/show_bug.cgi?id=107840
2871
2872         Reviewed by Ryosuke Niwa.
2873
2874         Covered by editing/deleting/smart-editing-disabled.html.
2875
2876         * page/Settings.in: Add new setting with true as initial value.
2877
2878 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
2879
2880         WebSpeech: Support pause/resume ability
2881         https://bugs.webkit.org/show_bug.cgi?id=107345
2882
2883         Reviewed by Beth Dakin.
2884
2885         Add in the pause/resume functionality to SpeechSynthesis. Also hook up
2886         the callback events.
2887
2888         Test: platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html
2889
2890         * Modules/speech/SpeechSynthesis.cpp:
2891         (WebCore::SpeechSynthesis::SpeechSynthesis):
2892         (WebCore::SpeechSynthesis::pending):
2893         (WebCore::SpeechSynthesis::paused):
2894         (WebCore::SpeechSynthesis::startSpeakingImmediately):
2895         (WebCore::SpeechSynthesis::pause):
2896         (WebCore::SpeechSynthesis::resume):
2897         (WebCore):
2898         (WebCore::SpeechSynthesis::didPauseSpeaking):
2899         (WebCore::SpeechSynthesis::didResumeSpeaking):
2900         * Modules/speech/SpeechSynthesis.h:
2901         (SpeechSynthesis):
2902         * platform/PlatformSpeechSynthesizer.h:
2903         (PlatformSpeechSynthesizerClient):
2904         (PlatformSpeechSynthesizer):
2905         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2906         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2907         (-[WebSpeechSynthesisWrapper pause]):
2908         (-[WebSpeechSynthesisWrapper resume]):
2909         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
2910         (WebCore::PlatformSpeechSynthesizer::pause):
2911         (WebCore):
2912         (WebCore::PlatformSpeechSynthesizer::resume):
2913
2914 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
2915
2916         Don't add a body to platform request until necessary
2917         https://bugs.webkit.org/show_bug.cgi?id=110900
2918
2919         Reviewed by Brady Eidson.
2920
2921         ResourceRequest now has more state for syncing between resource and platform parts.
2922         In addition to tracking which is up to date, we also track which has up to date
2923         HTTP Body.
2924
2925         The reason is that we don't need the body on request before it's actually sent,
2926         and we actually cannot build it when networking is out of process.
2927
2928         * WebCore.exp.in: Updated exports.
2929
2930         * platform/network/ResourceRequestBase.h:
2931         * platform/network/ResourceRequestBase.cpp:
2932         (WebCore::ResourceRequestBase::setHTTPBody): Update HTTP body before returning it.
2933         (WebCore::ResourceRequestBase::updatePlatformRequest): Update according to HTTPBodyUpdatePolicy.
2934         (WebCore::ResourceRequestBase::updateResourceRequest): Ditto.
2935
2936         * platform/network/cf/FormDataStreamCFNet.cpp:
2937         (WebCore::formDataStreamLengthPropertyName):
2938         (WebCore::formCopyProperty):
2939         (WebCore::setHTTPBody):
2940         Changed to not update Content-Length in platform request directly. We need to keep it
2941         in sync with resource request, and it's easier to do in a caller. Exposed computed
2942         length as a property do avoid duplicating the work.
2943
2944         * platform/network/cf/FormDataStreamCFNet.h: Removed unnecessary httpBodyFromStream().
2945
2946         * platform/network/cf/ResourceHandleCFNet.cpp:
2947         (WebCore::willSendRequest):
2948         (WebCore::didReceiveResponse):
2949         (WebCore::ResourceHandle::createCFURLConnection):
2950         Update body when necessary.
2951
2952         (WebCore::ResourceRequest::nsURLRequest):
2953         (WebCore::ResourceRequest::doUpdateResourceRequest):
2954         (WebCore::ResourceRequest::doUpdateResourceHTTPBody):
2955         (WebCore):
2956         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2957         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2958         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
2959         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2960         Ditto.
2961
2962         * platform/network/cf/ResourceRequest.h: Track body up-to-date state.
2963
2964         * platform/network/cf/ResourceRequestCFNet.cpp:
2965         (WebCore::ResourceRequest::cfURLRequest): Honor HTTPBodyUpdatePolicy.
2966         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't update body here.
2967         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Update the body, and make sure
2968         that Content-Length is correct.
2969         (WebCore::ResourceRequest::doUpdateResourceRequest): Don't update body here.
2970         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Update the body, fixing a bug
2971         where body stream was lost if this function got called.
2972         (WebCore::ResourceRequest::applyWebArchiveHackForMail): No need to update body for this one.
2973
2974         * platform/network/mac/ResourceRequestMac.mm: Ditto (but this didn't have a bug
2975         with streams in doUpdateResourceRequest()).
2976
2977         * platform/network/mac/FormDataStreamMac.h: Forward declare formDataStreamLengthPropertyName().
2978
2979         * platform/network/mac/ResourceHandleMac.mm:
2980         (WebCore::ResourceHandle::createNSURLConnection):
2981         (WebCore::ResourceHandle::start):
2982         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2983         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
2984         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2985         Update body when necessary.
2986
2987         * platform/network/blackberry/ResourceRequest.h:
2988         * platform/network/chromium/ResourceRequest.h:
2989         * platform/network/curl/ResourceRequest.h:
2990         * platform/network/qt/ResourceRequest.h:
2991         * platform/network/soup/ResourceRequest.h:
2992         * platform/network/win/ResourceRequest.h:
2993         Added stubs for new functions. These ports don't keep a platform request in ResourceRequest,
2994         and don't need updating.
2995
2996 2013-02-27  Glenn Adams  <glenn@skynav.com>
2997
2998         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
2999         https://bugs.webkit.org/show_bug.cgi?id=110944
3000
3001         Reviewed by Dean Jackson.
3002
3003         No new tests.
3004
3005         * Configurations/FeatureDefines.xcconfig:
3006
3007 2013-02-27  Andrei Bucur  <abucur@adobe.com>
3008
3009         REGRESSION(r124739): fast/lists/list-marker-remove-crash.html hits an assertion in MoveParagraphs
3010         https://bugs.webkit.org/show_bug.cgi?id=93247
3011
3012         Reviewed by Darin Adler.
3013
3014         The listifyParagraph function inside InsertListCommand triggered a layout for the new list and updated
3015         only the "start" Position. The insertion and layout may have changed the "end" Position as well. The patch
3016         makes sure "end" is also recomputed.
3017
3018         Test: No new test, the patch fixes a regression.
3019
3020         * editing/InsertListCommand.cpp:
3021         (WebCore::InsertListCommand::listifyParagraph):
3022
3023 2013-02-27  Zach Kuznia  <zork@chromium.org>
3024
3025         Add ENABLE_STREAM guards to FileReaderLoader
3026         https://bugs.webkit.org/show_bug.cgi?id=110938
3027
3028         Reviewed by Hajime Morrita.
3029
3030         * fileapi/FileReaderLoader.cpp:
3031         * fileapi/FileReaderLoader.h:
3032
3033 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3034
3035         Switch QtWebKit to GStreamer 1.0.
3036         https://bugs.webkit.org/show_bug.cgi?id=106669.
3037
3038         Original patch by Sebastian Dröge.
3039         Reviewed by Csaba Osztrogonác.
3040
3041         * WebCore.pri:
3042
3043 2013-02-27  Eli Fidler  <efidler@rim.com>
3044
3045         [BlackBerry] Fix BlackBerry::Platform::String to WTF::String conversion when the string is Latin-1-encoded.
3046         https://bugs.webkit.org/show_bug.cgi?id=110986
3047
3048         Reviewed by Yong Li.
3049
3050         Internally reviewed by Nima Ghanavatian.
3051         BlackBerry PR 292922
3052
3053         We were assuming all platform strings were valid UTF-8, which isn't true for Latin-1 strings.
3054
3055         * platform/text/blackberry/StringBlackBerry.cpp:
3056         (WTF::String::String):
3057
3058 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3059
3060         [TexMap] REGRESSION(144183): It make negative delay tests fails
3061         https://bugs.webkit.org/show_bug.cgi?id=110989
3062
3063         Reviewed by Noam Rosenthal.
3064
3065         Do not apply a negative offset to the animation starttime send to the GraphicLayerClient,
3066         it needs the actual animation start not a virtual start.
3067
3068         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3069         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3070
3071 2013-02-27  Aaron Colwell  <acolwell@chromium.org>
3072
3073         Fix SourceBufferList so SourceBuffer.append() calls are always rejected after the MediaSource is closed.
3074         https://bugs.webkit.org/show_bug.cgi?id=110917
3075
3076         Reviewed by Eric Carlson.
3077
3078         Test: http/tests/media/media-source/video-media-source-reject-append-after-reopening.html
3079
3080         * Modules/mediasource/SourceBufferList.cpp:
3081         (WebCore::SourceBufferList::clear):
3082
3083 2013-02-27  Justin Novosad  <junov@google.com>
3084
3085         REGRESSION (r134631) of border-radius percentage with border pixel
3086         https://bugs.webkit.org/show_bug.cgi?id=110889
3087
3088         Reviewed by Simon Fraser.
3089
3090         Fixing background color filling to handle "non renderable" rounded
3091         rectangles.
3092
3093         Test: fast/borders/border-radius-percent.html
3094
3095         * rendering/RenderBoxModelObject.cpp:
3096         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3097
3098 2013-02-27  Florin Malita  <fmalita@chromium.org>
3099
3100         [Chromium] Layout Test svg/custom/transform-with-shadow-and-gradient.svg is failing
3101         https://bugs.webkit.org/show_bug.cgi?id=76557
3102
3103         Reviewed by Stephen Chenney.
3104
3105         Always use kDst_Mode transfer for the shadow looper. Using kSrc_Mode to enforce CSS
3106         box-shadow opaqueness at this level is not necessary since the RenderBoxModel box
3107         decoration code already makes sure that shadows are filled with opaque black.
3108
3109         This change aligns the SVG shadow behavior (and pixel results) with CG/Safari.
3110
3111         No new tests, coverage provided by existing tests.
3112
3113         * platform/graphics/skia/GraphicsContextSkia.cpp:
3114         (WebCore::GraphicsContext::setPlatformShadow):
3115
3116 2013-02-25  Kentaro Hara  <haraken@chromium.org>
3117
3118         [V8] Generate a wrapper function for ReplaceableAttrSetter()
3119         https://bugs.webkit.org/show_bug.cgi?id=110781
3120
3121         Reviewed by Adam Barth.
3122
3123         This is one of steps to insert TRACE_EVENT_STATE() macros
3124         into DOM bindings. This patch introduces an indirection function
3125         for xxxReplaceableAttrSetter(), like this:
3126
3127         // For non-custom replaceable setters (Note: One implementation
3128         is enough for all replaceable setters in one interface.)
3129         void V8XXX:::ReplaceableAttrSetterCallback(...) {
3130           V8XXX::ReplaceableAttrSetter(...);
3131         }
3132
3133         // For custom replaceable setters. (Note: This is treated as
3134         a normal custom setter.)
3135         void xxxAttrSetterCallback(...) {
3136           return xxxAttrSetterCustom(...);
3137         }
3138
3139         No tests. No change in behavior.
3140
3141         * bindings/scripts/CodeGeneratorV8.pm:
3142         (GenerateReplaceableAttrSetterCallback):
3143         (GenerateReplaceableAttrSetter):
3144         (GenerateSingleBatchedAttribute):
3145         (GenerateImplementation):
3146         * bindings/scripts/test/V8/V8TestObj.cpp:
3147         (WebCore::TestObjV8Internal::TestObjReplaceableAttrSetterCallback):
3148         (TestObjV8Internal):
3149         (WebCore):
3150         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3151         (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetterCallback):
3152         (TestTypedefsV8Internal):
3153
3154 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3155
3156         [Qt] Flash objects won't load until scrolling page
3157         https://bugs.webkit.org/show_bug.cgi?id=110149
3158
3159         Reviewed by Simon Hausmann.
3160
3161         Revert r134222. The issue from bug 101836 is no longer reproducable,
3162         and the fix was causing flash objects to not load properly.
3163
3164         * plugins/PluginPackage.cpp:
3165         (WebCore::PluginPackage::determineQuirks):
3166
3167 2013-02-27  No'am Rosenthal  <noam@webkit.org>
3168
3169         [Texmap] TextureMapper is too eager to use intermediate surfaces
3170         https://bugs.webkit.org/show_bug.cgi?id=110762
3171
3172         Reviewed by Allan Sandfeld Jensen.
3173
3174         Refactor the way intermediate surfaces are handled in TextureMapperLayer.
3175         Beforehand, we would create an intermediate surface whenever there is a chance of overlap, and
3176         the intermediate surface would be the largest possible. The result would then be drawn to the
3177         target surface with the layer's opacity and mask.
3178
3179         This would make it so that (1) surfaces are created even when they're not needed, i.e. when there
3180         is no actual overlap, and (2) mask wouldn't be applied correctly.
3181
3182         In this patch the behavior is changed so that the area to be painted is divided to "overlapping"
3183         and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping
3184         regions are tiled to smaller rectangles painted using an intermediate surface.
3185         Masks are applied to those intermediate surfaces based on the transform of the actual mask, not drawn
3186         together with the content texture like before.
3187
3188         This optimizes for the more common case of opacity animations on a large tree, while making the quite
3189         rare case of composited masks slightly less optimized but always correct.
3190
3191         Tests: compositing/overlap-blending/children-opacity-huge.html
3192                compositing/overlap-blending/reflection-opacity-huge.html
3193                compositing/overlap-blending/children-opacity-no-overlap.html
3194
3195         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3196         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3197         * platform/graphics/cairo/GraphicsContext3DPrivate.h:
3198         (GraphicsContext3DPrivate):
3199         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3200         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3201         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3202         (GraphicsContext3DPrivate):
3203         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3204         (GraphicsContext3DPrivate):
3205         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3206         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3207         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
3208         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3209         (MediaPlayerPrivateQt):
3210         * platform/graphics/surfaces/GraphicsSurface.cpp:
3211         (WebCore::GraphicsSurface::paintToTextureMapper):
3212         * platform/graphics/surfaces/GraphicsSurface.h:
3213         (GraphicsSurface):
3214         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
3215         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
3216         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
3217         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
3218         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
3219         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
3220         * platform/graphics/texmap/TextureMapperBackingStore.h:
3221         (TextureMapperBackingStore):
3222         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
3223         (TextureMapperPlatformLayer):
3224         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
3225         (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
3226         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
3227         (TextureMapperSurfaceBackingStore):
3228         * platform/graphics/texmap/TextureMapperTile.cpp:
3229         (WebCore::TextureMapperTile::paint):
3230         * platform/graphics/texmap/TextureMapperTile.h:
3231         (TextureMapperTile):
3232         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
3233         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
3234         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
3235         (TextureMapperTiledBackingStore):
3236         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
3237         (WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):
3238         (WebCore::CoordinatedBackingStore::paintToTextureMapper):
3239         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
3240         (CoordinatedBackingStore):
3241                 Removed the "mask" parameter from TextureMapperPlatformLayer and overrides, since
3242                 we no longer paint the contents and the mask in the same pass.
3243
3244         * platform/graphics/texmap/TextureMapper.cpp:
3245         (WebCore::TextureMapper::TextureMapper):
3246         * platform/graphics/texmap/TextureMapper.h:
3247         (WebCore::TextureMapper::setMaskMode):
3248         (TextureMapper):
3249         (WebCore::TextureMapper::isInMaskMode):
3250         * platform/graphics/texmap/TextureMapperGL.cpp:
3251         (WebCore::TextureMapperGL::drawNumber):
3252         (WebCore::TextureMapperGL::drawTexture):
3253         (WebCore::TextureMapperGL::draw):
3254         (WebCore):
3255         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
3256         (WebCore::TextureMapperGL::drawFiltered):
3257         * platform/graphics/texmap/TextureMapperGL.h:
3258         (TextureMapperGL):
3259         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3260         (WebCore::TextureMapperImageBuffer::drawTexture):
3261         (WebCore::TextureMapperImageBuffer::drawSolidColor):
3262         * platform/graphics/texmap/TextureMapperImageBuffer.h:
3263         (TextureMapperImageBuffer):
3264                 Instead of painting the mask together with the texture/color, paint the mask
3265                 by drawing with DestinationIn to an existing surface.
3266
3267         * platform/graphics/texmap/TextureMapperLayer.cpp:
3268         (TextureMapperPaintOptions):
3269         (WebCore::TextureMapperLayer::paintSelf):
3270         (WebCore::TextureMapperLayer::shouldBlend):
3271         (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
3272         (WebCore::TextureMapperLayer::replicaTransform):
3273         (WebCore):
3274         (WebCore::applyFilters):
3275         (WebCore::resolveOverlaps):
3276         (WebCore::TextureMapperLayer::computeOverlapRegions):
3277         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
3278         (WebCore::TextureMapperLayer::applyMask):
3279         (WebCore::TextureMapperLayer::paintIntoSurface):
3280         (WebCore::commitSurface):
3281         (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
3282         (WebCore::TextureMapperLayer::paintRecursive):
3283         * platform/graphics/texmap/TextureMapperLayer.h:
3284         (WebCore):
3285         (TextureMapperLayer):
3286         (WebCore::TextureMapperLayer::hasFilters):
3287         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3288         (WebCore):
3289         (WebCore::TextureMapperShaderProgram::create):
3290         * platform/graphics/texmap/TextureMapperShaderProgram.h:
3291
3292 2013-02-27  Alexander Pavlov  <apavlov@chromium.org>
3293
3294         Web Inspector: [REGRESSION] [Audits] Disabled "Run" button styling is the same as the enabled one
3295         https://bugs.webkit.org/show_bug.cgi?id=110971
3296
3297         Reviewed by Yury Semikhatsky.
3298
3299         Split out PanelEnablerView-related rules into panelEnabledView.css and restored the missing rules
3300         in inspector.css.
3301
3302         * inspector/front-end/inspector.css:
3303         * inspector/front-end/panelEnablerView.css:
3304
3305 2013-02-27  Kent Tamura  <tkent@chromium.org>
3306
3307         REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
3308         https://bugs.webkit.org/show_bug.cgi?id=110974
3309
3310         Reviewed by Kentaro Hara.
3311
3312         Input elements with the multiple fields UI require flexible box
3313         layout. We should use RenderFlexibleBox regardless of display
3314         property values.
3315
3316         Tests: Update fast/forms/date/date-apparance-basic.html
3317
3318         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3319         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer):
3320         Always use RenderFlexibleBox.
3321         * html/BaseMultipleFieldsDateAndTimeInputType.h:
3322         (BaseMultipleFieldsDateAndTimeInputType): Declare createRenderer.
3323
3324 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3325
3326         [TexMap] Flickering after transitions on Apple HTML5 demo
3327         https://bugs.webkit.org/show_bug.cgi?id=102501
3328
3329         Reviewed by Noam Rosenthal.
3330
3331         Notify about animation start after the new animation is actually commited.
3332
3333         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3334         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
3335         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
3336         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3337         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3338         (GraphicsLayerTextureMapper):
3339
3340 2013-02-27  Vivek Galatage  <vivek.vg@samsung.com>
3341
3342         Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity
3343         https://bugs.webkit.org/show_bug.cgi?id=110866
3344
3345         Reviewed by Alexander Pavlov.
3346
3347         AuditController is being introduced in order to follow MVC pattern with the Audits.
3348         This is the first step about the refactoring. Moving the methods from the AuditsPanel
3349         into AuditController would ease the event driven approach to de-couple the AuditsPanel
3350         and the AuditLauncherView.
3351
3352         No new tests as code refactoring.
3353
3354         * WebCore.gypi:
3355         * WebCore.vcproj/WebCore.vcproj:
3356         * inspector/compile-front-end.py:
3357         * inspector/front-end/AuditController.js: Added.
3358         (WebInspector.AuditController):
3359         (WebInspector.AuditController.prototype.ruleResultReadyCallback):
3360         (WebInspector.AuditController.prototype.categoryDoneCallback):
3361         (WebInspector.AuditController.prototype._executeAudit):
3362         (WebInspector.AuditController.prototype._auditFinishedCallback):
3363         (WebInspector.AuditController.prototype.startAuditWhenResourcesReady):
3364         (WebInspector.AuditController.prototype.initiateAudit):
3365         (WebInspector.AuditController.prototype._reloadResources):
3366         (WebInspector.AuditController.prototype._didMainResourceLoad):
3367         * inspector/front-end/AuditLauncherView.js:
3368         (WebInspector.AuditLauncherView):
3369         (WebInspector.AuditLauncherView.prototype._startAudit):
3370         * inspector/front-end/AuditsPanel.js:
3371         (WebInspector.AuditsPanel):
3372         (WebInspector.AuditsPanel.prototype.auditFinishedCallback):
3373         * inspector/front-end/WebKit.qrc:
3374
3375 2013-02-27  Mihai Maerean  <mmaerean@adobe.com>
3376
3377         [CSS Regions] Region overset property is not properly computed when there is a region break
3378         https://bugs.webkit.org/show_bug.cgi?id=92497
3379
3380         Reviewed by David Hyatt.
3381
3382         For "paginated" content in regions that has -webkit-region-break-after:always, the bottom margin was being passed
3383         along for the next region in the chain, which shouldn't happen.
3384
3385         The fix is, at layout, to clear the bottom margin for the nodes (inside paginated contexts) that have
3386         -webkit-region-break-after:always.
3387
3388         Tests: fast/multicol/break-after-always-bottom-margin.html
3389                fast/regions/overset-break-nested.html
3390                fast/regions/overset-break-with-sibling.html
3391                fast/regions/overset-break.html
3392
3393         * rendering/RenderBlock.cpp:
3394         (WebCore::RenderBlock::applyAfterBreak):
3395
3396 2013-02-27  Stephen Chenney  <schenney@chromium.org>
3397
3398         Bindings test results update after r144126
3399         https://bugs.webkit.org/show_bug.cgi?id=108196
3400
3401         Unreviewed test update.
3402
3403         * bindings/scripts/test/JS/JSTestObj.cpp: Add include of CallbackFunction.h
3404
3405 2013-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
3406
3407         Unreviewed inspector front-end closure compilaiton fix.
3408
3409         * inspector/front-end/ScriptsNavigator.js:
3410         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
3411         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
3412         * inspector/front-end/ScriptsPanel.js:
3413         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
3414
3415 2013-02-27  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3416
3417         [texmap] Do not apply clip state if redundant
3418         https://bugs.webkit.org/show_bug.cgi?id=110790
3419
3420         Reviewed by Noam Rosenthal.
3421
3422         Add a bool to check if clip state has changed since last apply.
3423
3424         No behavior changes, thus covered by existing tests.
3425
3426         * platform/graphics/texmap/TextureMapperGL.cpp:
3427         (WebCore::TextureMapperGL::ClipStack::reset):
3428         (WebCore::TextureMapperGL::ClipStack::pop):
3429         (WebCore::TextureMapperGL::ClipStack::apply):
3430         * platform/graphics/texmap/TextureMapperGL.h:
3431         (WebCore::TextureMapperGL::ClipStack::ClipStack):
3432         (ClipStack):
3433
3434 2013-02-27  Eugene Klyuchnikov  <eustas@chromium.org>
3435
3436         Web Inspector: timeline stops working on certain sites
3437         https://bugs.webkit.org/show_bug.cgi?id=110955
3438
3439         Reviewed by Alexander Pavlov.
3440
3441         Analysis: "timerId" value is number,
3442         so it is not wrapped to node as expected.
3443