1 2013-03-01 David Kilzer <ddkilzer@apple.com>
3 BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
4 <http://webkit.org/b/109331>
6 Fixes the following build failures:
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)
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)
16 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
17 (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
20 2013-03-01 Dan Carney <dcarney@google.com>
22 [v8] ScriptValue has dangerous copy semantics
23 https://bugs.webkit.org/show_bug.cgi?id=110206
25 Reviewed by Kentaro Hara.
27 Update ScriptValue to used a SharedPersistent,
28 making it impossible to return dead references.
30 No new tests. No change in functionality.
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):
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):
57 2013-03-01 Julien Chaffraix <jchaffraix@webkit.org>
59 Add FeatureObserver for marquee and reflection
60 https://bugs.webkit.org/show_bug.cgi?id=111118
62 Reviewed by Simon Fraser.
64 Refactoring covered by existing tests.
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).
73 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
75 Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
76 https://bugs.webkit.org/show_bug.cgi?id=111165
78 Reviewed by Vsevolod Vlasov.
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.
86 No new tests, as it is a refactoring.
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):
152 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
154 Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
155 https://bugs.webkit.org/show_bug.cgi?id=108930
157 Reviewed by Pavel Feldman.
159 This feature will help developers to focus on events
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.
170 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
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
176 Reviewed by Vsevolod Vlasov.
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.
182 No new tests, a UI change.
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):
191 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
193 Unreviewed, rolling out r144449.
194 http://trac.webkit.org/changeset/144449
195 https://bugs.webkit.org/show_bug.cgi?id=111175
197 Breaks style-related inspector tests (Requested by apavlov on
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):
209 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
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
214 Reviewed by Vsevolod Vlasov.
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.
220 No new tests, a UI change.
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):
229 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
231 Unreviewed, rolling out r144443.
232 http://trac.webkit.org/changeset/144443
233 https://bugs.webkit.org/show_bug.cgi?id=111169
235 Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
236 by toyoshim on #webkit).
238 * css/mediaControls.css:
239 (video::-webkit-media-text-track-display):
240 * rendering/RenderTextTrackCue.cpp:
241 (WebCore::RenderTextTrackCue::isOutside):
242 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
244 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
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
251 Caused over 20 tests to fail assertion on Chromium Win port as
252 ASSERTION FAILED: m_platformRequestUpdated (Requested by
253 toyoshim on #webkit).
256 * GNUmakefile.list.am:
257 * Modules/mediastream/RTCPeerConnection.cpp:
258 * Modules/notifications/Notification.cpp:
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:
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:
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:
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:
316 * inspector/InspectorPageAgent.cpp:
317 * inspector/NetworkResourcesData.cpp:
318 * inspector/NetworkResourcesData.h:
320 * loader/CookieJar.cpp:
321 * loader/CrossOriginAccessControl.cpp:
322 * loader/CrossOriginAccessControl.h:
324 * loader/CrossOriginPreflightResultCache.h:
325 * loader/DocumentThreadableLoader.h:
326 * loader/FrameLoader.cpp:
327 (WebCore::FrameLoader::FrameLoader):
328 * loader/FrameLoader.h:
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:
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:
349 * loader/appcache/ApplicationCacheHost.cpp:
350 * loader/archive/cf/LegacyWebArchive.cpp:
351 * loader/cache/CachedFont.cpp:
352 * loader/cache/CachedFont.h:
354 (WebCore::CachedFontClient::~CachedFontClient):
355 (WebCore::CachedFontClient::expectedType):
356 (WebCore::CachedFontClient::resourceClientType):
357 (WebCore::CachedFontClient::fontLoaded):
359 * loader/cache/CachedFontClient.h: Removed.
360 * loader/cache/CachedImage.cpp:
361 * loader/cache/CachedRawResource.cpp:
362 * loader/cache/CachedRawResource.h:
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):
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:
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:
402 (WebCore::Frame::Frame):
403 (WebCore::Frame::reportMemoryUsage):
407 (WebCore::Frame::init):
408 (WebCore::Frame::loader):
409 * page/PerformanceNavigation.cpp:
410 * page/PerformanceTiming.cpp:
411 * page/PointerLockController.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):
442 * plugins/PluginStreamClient.h: Removed.
443 * plugins/PluginView.cpp:
444 * plugins/PluginView.h:
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:
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:
501 2013-03-01 Alexei Filippov <alph@chromium.org>
503 Web Inspector: fix closure compiler warnings in ProfilesPanel
504 https://bugs.webkit.org/show_bug.cgi?id=111163
506 Reviewed by Vsevolod Vlasov.
508 * inspector/front-end/ProfileLauncherView.js:
509 (WebInspector.ProfileLauncherView.prototype.addProfileType):
510 * inspector/front-end/ProfilesPanel.js:
512 2013-03-01 Victor Carbune <vcarbune@chromium.org>
514 Support padding, margin and border for internal UA cue styling
515 https://bugs.webkit.org/show_bug.cgi?id=110703
517 Reviewed by Eric Carlson.
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).
523 These properties *cannot* be set through by using the ::cue
524 pseudo-element and, as specified, are used only internally.
526 Test: media/track/track-cue-rendering-with-padding.html
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)
541 2013-02-26 Eugene Klyuchnikov <eustas@chromium.org>
543 Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
544 https://bugs.webkit.org/show_bug.cgi?id=110819
546 Reviewed by Pavel Feldman.
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.
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.
564 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
566 Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
567 https://bugs.webkit.org/show_bug.cgi?id=111077
569 Reviewed by Pavel Feldman.
571 Analysis: DataGridNode.refresh removes all cells and then recreates them.
572 The issue is that mandatory "corner" cell is not recreated.
574 * inspector/front-end/DataGrid.js:
575 (WebInspector.DataGridNode.prototype.refresh):
576 Added "corner" cell restoration code.
578 2013-02-28 Alexander Pavlov <apavlov@chromium.org>
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
583 Reviewed by Vsevolod Vlasov.
585 Test: inspector/styles/selector-line.html
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.
617 2013-03-01 Benjamin Poulain <benjamin@webkit.org>
619 Get rid of two silly static null Strings
620 https://bugs.webkit.org/show_bug.cgi?id=111151
622 Reviewed by Eric Seidel.
624 We have a global null String through nullAtom, there is no need
625 for local static null strings.
628 (WebCore::Page::groupName):
629 * rendering/RenderListItem.cpp:
630 (WebCore::RenderListItem::markerText):
632 2013-03-01 Mark Rowe <mrowe@apple.com>
636 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
638 2013-03-01 Andrey Lushnikov <lushnikov@chromium.org>
640 Web Inspector: fix code-mirror experiment to work in debug mode
641 https://bugs.webkit.org/show_bug.cgi?id=111064
643 Reviewed by Pavel Feldman.
645 No new tests: no change in behaviour.
647 Improve importScript function to try load a script from the root
648 directory iff its loading from the given path failed.
650 * inspector/front-end/utilities.js:
652 2013-03-01 Andrey Adaikin <aandrey@chromium.org>
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
657 Reviewed by Pavel Feldman.
659 WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
660 Just force lower case for extension names.
662 * inspector/InjectedScriptCanvasModuleSource.js:
665 2013-03-01 Mike West <mkwst@chromium.org>
667 XSSAuditor should use threadSafeMatch when relevant.
668 https://bugs.webkit.org/show_bug.cgi?id=111099
670 Reviewed by Adam Barth.
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.
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.
681 * html/parser/XSSAuditor.cpp:
683 Replace call to equalIgnoringNullity(Vector<UChar...>, String)
684 with threadSafeMatch(String, QualifiedName).
686 2013-02-28 Keishi Hattori <keishi@webkit.org>
688 Add calendar table view for the new calendar picker
689 https://bugs.webkit.org/show_bug.cgi?id=110970
691 Reviewed by Kent Tamura.
693 The calendar table that will be used in the new calendar picker (Bug 109439).
695 No new tests. Code is not used yet.
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.
737 2013-02-28 Alexey Proskuryakov <ap@apple.com>
739 Reduce amount of rebuilding when touching networking headers
740 https://bugs.webkit.org/show_bug.cgi?id=111035
742 Reviewed by Eric Seidel.
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.
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.
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
760 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
761 definition of a class it holds, but default construction does not.
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.
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
776 * plugins/PluginStream.h:
777 * plugins/PluginStreamClient.h: Added.
778 Similar situation here.
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.
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.
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).
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
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.
809 * rendering/style/StyleCustomFilterProgram.cpp: Added.
810 * rendering/style/StyleCustomFilterProgram.h:
814 * GNUmakefile.list.am:
815 * Modules/mediastream/RTCPeerConnection.cpp:
816 * Modules/notifications/Notification.cpp:
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:
837 * dom/ContainerNode.cpp:
838 * dom/DOMImplementation.cpp:
839 * dom/PendingScript.h:
840 * dom/ScriptElement.cpp:
841 * dom/ScriptElement.h:
842 * history/CachedFrame.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:
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.
960 2013-02-28 Koji Hara <kojih@chromium.org>
962 [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
963 https://bugs.webkit.org/show_bug.cgi?id=110852
965 Reviewed by Kentaro Hara.
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.
976 No test. Simple refactoring.
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.
989 2013-02-28 Xingnan Wang <xingnan.wang@intel.com>
991 Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
992 https://bugs.webkit.org/show_bug.cgi?id=108542
994 Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
995 which causes this issue.
997 Reviewed by Chris Rogers.
999 * Modules/webaudio/AudioNodeInput.cpp:
1000 (WebCore::AudioNodeInput::numberOfChannels):
1001 * Modules/webaudio/AudioNodeOutput.cpp:
1002 (WebCore::AudioNodeOutput::bus):
1004 2013-02-28 Sheriff Bot <webkit.review.bot@gmail.com>
1006 Unreviewed, rolling out r144370.
1007 http://trac.webkit.org/changeset/144370
1008 https://bugs.webkit.org/show_bug.cgi?id=111136
1010 Caused 21 assertion failure at DocumentLoader.cpp(436)
1011 (Requested by toyoshim on #webkit).
1014 (WebCore::Document::decrementActiveParserCount):
1015 * loader/DocumentLoader.cpp:
1016 (WebCore::DocumentLoader::isLoading):
1017 (WebCore::DocumentLoader::checkLoadComplete):
1019 2013-02-28 Li Yin <li.yin@intel.com>
1021 [chromium] Events can't be triggered on MediaStreamTrack
1022 https://bugs.webkit.org/show_bug.cgi?id=110930
1024 Reviewed by Kentaro Hara.
1026 Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
1027 ended event handler should be triggered, when stop() is called.
1029 No new tests because the test fast/mediastream/MediaStreamTrack.html
1030 had covered it already.
1032 * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
1033 (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
1035 2013-02-28 Ankur Taly <ataly@google.com>
1037 WebKit API for enabling DOM logging for certain worlds
1038 https://bugs.webkit.org/show_bug.cgi?id=110779
1040 Reviewed by Adam Barth.
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
1048 * bindings/v8/DOMWrapperWorld.cpp:
1050 (WebCore::domActivityLoggers):
1051 (WebCore::DOMWrapperWorld::setDOMActivityLogger):
1052 (WebCore::DOMWrapperWorld::getDOMActivityLogger):
1053 * bindings/v8/DOMWrapperWorld.h:
1055 * bindings/v8/V8DOMActivityLogger.h: Added.
1057 (V8DOMActivityLogger):
1058 (WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
1059 (WebCore::V8DOMActivityLogger::log):
1061 2013-02-28 Adam Barth <abarth@webkit.org>
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
1066 Reviewed by Eric Seidel.
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
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
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:
1086 2013-02-28 Eberhard Graether <egraether@google.com>
1088 WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
1089 https://bugs.webkit.org/show_bug.cgi?id=110641
1091 Reviewed by Pavel Feldman.
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
1098 Test: inspector/elements/hide-shortcut.html
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):
1107 2013-02-28 Ryuan Choi <ryuan.choi@samsung.com>
1109 [EFL] Build break with --no-web-audio and --no-video
1110 https://bugs.webkit.org/show_bug.cgi?id=111055
1112 Unreviewed build fix.
1114 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1116 2013-02-28 Xingnan Wang <xingnan.wang@intel.com>
1118 Implement the memory report on IPP FFTFrame on Web Audio
1119 https://bugs.webkit.org/show_bug.cgi?id=111039
1121 Reviewed by Yury Semikhatsky.
1123 Covered by existing test.
1125 * platform/audio/FFTFrame.cpp:
1126 (WebCore::FFTFrame::reportMemoryUsage):
1128 2013-02-28 Levi Weintraub <leviw@chromium.org>
1130 Stale FrameSelection in removed iframe causes crash
1131 https://bugs.webkit.org/show_bug.cgi?id=108696
1133 Reviewed by Ryosuke Niwa.
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.
1140 Test: editing/selection/selection-in-iframe-removed-crash.html
1142 * editing/FrameSelection.cpp:
1143 (WebCore::FrameSelection::setSelection):
1145 2013-02-28 Conrad Shultz <conrad_shultz@apple.com>
1147 Need API to control page underlay color
1148 https://bugs.webkit.org/show_bug.cgi?id=110918
1150 Reviewed by Simon Fraser.
1152 * page/ChromeClient.h:
1154 Declare underlayColor().
1156 * platform/ScrollbarTheme.h:
1157 (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
1158 Have setUpOverhangAreasLayerContents() take a background color parameter.
1160 * platform/mac/ScrollbarThemeMac.h:
1161 (ScrollbarThemeMac):
1164 * platform/mac/ScrollbarThemeMac.mm:
1166 (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
1167 Use the passed-in background color, if valid, for the overhang area layer.
1169 * rendering/RenderLayerCompositor.cpp:
1170 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1171 Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().
1173 2013-02-28 Beth Dakin <bdakin@apple.com>
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
1179 <rdar://problem/12257164>
1181 Reviewed by Simon Fraser.
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.
1186 (WebCore::Page::resetRelevantPaintedObjectCounter):
1187 (WebCore::Page::addRelevantRepaintedObject):
1188 (WebCore::Page::reportMemoryUsage):
1191 2013-02-28 Chris Fleizach <cfleizach@apple.com>
1193 WebSpeech: support pitch change
1194 https://bugs.webkit.org/show_bug.cgi?id=107348
1196 Reviewed by Beth Dakin.
1198 Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
1199 to something sensible for the platform.
1201 * platform/mac/PlatformSpeechSynthesizerMac.mm:
1202 (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
1203 (-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
1204 (-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
1205 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1207 2013-02-28 Vineet Chaudhary <rgf748@motorola.com>
1209 Unreviewed. Bindings test results update after r144376.
1211 * bindings/scripts/test/JS/JSTestObj.cpp:
1213 2013-02-28 Roger Fong <roger_fong@apple.com>
1215 Unreviewed. AppleWin VS2010 build fix.
1217 * WebCore.vcxproj/WebCore.vcxproj:
1218 * WebCore.vcxproj/WebCore.vcxproj.filters:
1220 2013-02-28 Roger Fong <roger_fong@apple.com>
1222 Unreviewed. AppleWin Build fix.
1224 * WebCore.vcproj/WebCore.vcproj:
1226 2013-02-28 Kentaro Hara <haraken@chromium.org>
1228 [V8] Remove the world->isMainWorld() check from minorGCPrologue()
1229 https://bugs.webkit.org/show_bug.cgi?id=111114
1231 Reviewed by Adam Barth.
1233 A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.
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();
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.
1248 - worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
1249 So if a GC runs in the main world, the minor DOM GC is skipped.
1251 - worldForEnteredContextWithoutContextCheck() caused a Chromium crash
1252 (https://code.google.com/p/chromium/issues/detail?id=177587)
1254 We should remove the check.
1256 No tests. No change in behavior.
1258 * bindings/v8/DOMWrapperWorld.h:
1259 (WebCore::DOMWrapperWorld::getWorld):
1260 * bindings/v8/V8Binding.h:
1261 * bindings/v8/V8GCController.cpp:
1262 (WebCore::V8GCController::minorGCPrologue):
1264 2013-02-28 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
1266 Create GraphicsContext3DState to aggregate state objects
1267 https://bugs.webkit.org/show_bug.cgi?id=110817
1269 Reviewed by Kenneth Russell.
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.
1275 No behavior changes, thus covered by existing tests.
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.
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
1323 2013-02-28 David Hyatt <hyatt@apple.com>
1325 Unreviewed build fix. A merge error led to a duplication of a single line.
1326 Just removing the duplicate line.
1328 * rendering/RenderLayer.cpp:
1329 (WebCore::RenderLayer::createLocalTransformState):
1331 2013-02-28 Kaustubh Atrawalkar <kaustubh@motorola.com>
1333 Notification.requestPermission callback should be optional
1334 https://bugs.webkit.org/show_bug.cgi?id=108196
1336 Reviewed by Kentaro Hara.
1338 Spec says it should be optional.
1339 http://notifications.spec.whatwg.org/#notification
1341 Test: fast/notifications/notifications-request-permission-optional.html
1343 * GNUmakefile.list.am:
1344 * Modules/notifications/Notification.h:
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:
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.
1368 2013-02-28 Ben Wagner <bungeman@chromium.org>
1370 Underline should round to match other content.
1371 https://bugs.webkit.org/show_bug.cgi?id=111005
1373 Reviewed by Stephen White.
1375 Test: fast/text/decorations-with-text-combine.html
1377 * platform/graphics/skia/GraphicsContextSkia.cpp:
1378 (WebCore::GraphicsContext::drawLineForText):
1379 Round (instead of floor) underlines to match other content.
1381 2013-02-28 Eric Carlson <eric.carlson@apple.com>
1383 Refine Ryosuke's r144367 fix.
1385 Rubber-stamped by Ryosuke Niwa.
1387 * page/PageGroup.cpp:
1388 (WebCore::PageGroup::captionPreferences):
1390 2013-02-28 Eric Seidel <eric@webkit.org>
1392 Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
1393 https://bugs.webkit.org/show_bug.cgi?id=110937
1395 Reviewed by Adam Barth.
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.
1403 (WebCore::Document::decrementActiveParserCount):
1404 * loader/DocumentLoader.cpp:
1405 (WebCore::DocumentLoader::isLoading):
1406 (WebCore::DocumentLoader::checkLoadComplete):
1408 2013-02-28 Ryosuke Niwa <rniwa@webkit.org>
1410 Revert an erroneous change in r144336.
1412 Rubber-stamped by Eric Carlson.
1414 * page/PageGroup.cpp:
1415 (WebCore::PageGroup::captionPreferences):
1417 2013-02-28 David Hyatt <hyatt@apple.com>
1419 Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.
1421 * rendering/RenderBlock.h:
1423 2013-02-28 Jochen Eisinger <jochen@chromium.org>
1425 Meta referrer isn't honored for window.open
1426 https://bugs.webkit.org/show_bug.cgi?id=111076
1428 Reviewed by Adam Barth.
1430 Test: http/tests/security/referrer-policy-window-open.html
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):
1438 2013-02-28 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
1440 [texmap] Remove redundant defines on TextureMapperGL
1441 https://bugs.webkit.org/show_bug.cgi?id=111090
1443 Reviewed by Antonio Gomes.
1445 driverSupportsSubImage() already uses OpenGL ES defines to return
1446 correct support, thus no need for these additional defines.
1448 No behavior changes, thus covered by existing tests.
1450 * platform/graphics/texmap/TextureMapperGL.cpp:
1451 (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
1453 2013-02-26 Zhenyao Mo <zmo@google.com>
1455 EXT_draw_buffers needs implementation
1456 https://bugs.webkit.org/show_bug.cgi?id=109331
1458 Reviewed by Kenneth Russell.
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.
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.
1467 * DerivedSources.make:
1468 * DerivedSources.pri:
1469 * GNUmakefile.list.am:
1472 * WebCore.xcodeproj/project.pbxproj:
1473 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1475 * bindings/v8/V8Binding.h:
1478 (WebCore::toUInt32):
1481 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1482 (WebCore::toV8Object):
1483 * html/canvas/EXTDrawBuffers.cpp: Added.
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.
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):
1501 (WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
1502 * html/canvas/WebGLFramebuffer.h:
1504 * html/canvas/WebGLRenderingContext.cpp:
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:
1516 (WebGLRenderingContext):
1517 * platform/chromium/support/Extensions3DChromium.cpp:
1518 (WebCore::Extensions3DChromium::drawBuffersEXT):
1520 * platform/graphics/Extensions3D.h:
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):
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):
1539 (WebCore::Extensions3DOpenGLES::supportsExtension):
1540 * platform/graphics/opengl/Extensions3DOpenGLES.h:
1541 (Extensions3DOpenGLES):
1543 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1545 Create BlobRegistry through a strategy
1546 https://bugs.webkit.org/show_bug.cgi?id=111100
1550 * platform/network/BlobRegistry.cpp: Use destructor for chromium too.
1552 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1554 Create BlobRegistry through a strategy
1555 https://bugs.webkit.org/show_bug.cgi?id=111100
1557 Reviewed by Sam Weinig.
1560 * GNUmakefile.list.am:
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.
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.
1576 * platform/network/BlobData.h: Added ENABLE(BLOB).
1578 * platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
1579 * platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.
1581 * platform/network/BlobRegistryImpl.cpp:
1582 * platform/network/BlobRegistryImpl.h:
1583 Cleaned up includes, made functions that are only called through base class private.
1586 * platform/network/BlobStorageData.h: Added ENABLE(BLOB).
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.
1593 * platform/network/ResourceHandle.cpp:
1594 * platform/network/cf/FormDataStreamCFNet.cpp:
1595 * platform/network/mac/ResourceHandleMac.mm:
1596 Cleaned up includes.
1598 2013-02-28 Kent Tamura <tkent@chromium.org>
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
1603 Reviewed by Kentaro Hara.
1605 Input elements with the multiple fields UI require flexible box
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
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.
1615 r144184 was incomplete. It avoided the wrapping issue, but it
1616 didn't make spin buttons and calendar arrows right-aligned.
1618 Tests: Update fast/forms/date/date-apparance-basic.html
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.
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.
1639 2013-02-28 Anders Carlsson <andersca@apple.com>
1641 Implement more StorageAreaProxy member functions
1642 https://bugs.webkit.org/show_bug.cgi?id=111103
1644 Reviewed by Sam Weinig.
1646 Export two more StorageMap symbols required by WebKit2.
1650 2013-02-28 Xianzhu Wang <wangxianzhu@chromium.org>
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
1655 Reviewed by Simon Fraser.
1657 Test: compositing/sub-layer-focus-ring.html
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.
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.
1667 * rendering/PaintInfo.h:
1669 (WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
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.
1688 2013-02-28 David Hyatt <hyatt@apple.com>
1690 Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
1691 https://bugs.webkit.org/show_bug.cgi?id=111089
1693 Reviewed by Dan Bernstein.
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.
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
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):
1713 (WebCore::RenderBlock::hasMarginAfterQuirk):
1714 * rendering/RenderBlock.h:
1715 (WebCore::RenderBlock::setHasMarginBeforeQuirk):
1716 (WebCore::RenderBlock::setHasMarginAfterQuirk):
1718 (WebCore::RenderBlock::hasMarginBeforeQuirk):
1719 (WebCore::RenderBlock::hasMarginAfterQuirk):
1721 (WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
1722 (WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
1723 (WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
1724 (WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):
1725 * rendering/RenderObject.h:
1727 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1728 (RenderObjectBitfields):
1729 * rendering/style/RenderStyle.h:
1731 2013-02-28 Sheriff Bot <webkit.review.bot@gmail.com>
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
1738 Caused fast/notifications/notifications-request-
1739 permission.html to crash (Requested by abarth on #webkit).
1741 * GNUmakefile.list.am:
1742 * Modules/notifications/Notification.h:
1744 * Modules/notifications/Notification.idl:
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.
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.
1761 (WebCore::V8Notification::requestPermissionMethodCustom):
1763 2013-02-28 Nate Chapin <japhet@chromium.org>
1765 Crash in CachedRawResource::responseReceived().
1766 https://bugs.webkit.org/show_bug.cgi?id=110482
1768 Reviewed by Adam Barth.
1770 Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html
1772 * loader/cache/CachedRawResource.cpp:
1773 (WebCore::CachedRawResource::responseReceived):
1775 2013-02-28 Eric Carlson <eric.carlson@apple.com>
1777 [Mac] use HAVE() macro instead of version check
1778 https://bugs.webkit.org/show_bug.cgi?id=111087
1780 Reviewed by Dean Jackson.
1782 No new tests, covered by existing tests.
1784 * page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
1785 * page/CaptionUserPreferencesMac.mm: Ditto.
1786 (WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
1787 (WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.
1789 * page/PageGroup.cpp:
1790 (WebCore::PageGroup::captionPreferences): Ditto.
1792 2013-02-28 Chris Fleizach <cfleizach@apple.com>
1794 WebSpeech: support the boundary event
1795 https://bugs.webkit.org/show_bug.cgi?id=107350
1797 Reviewed by Beth Dakin.
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.
1803 Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html
1805 * Modules/speech/SpeechSynthesis.cpp:
1807 (WebCore::SpeechSynthesis::boundaryEventOccurred):
1808 * Modules/speech/SpeechSynthesis.h:
1810 * platform/PlatformSpeechSynthesizer.h:
1812 (PlatformSpeechSynthesizerClient):
1813 * platform/mac/PlatformSpeechSynthesizerMac.mm:
1814 (-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
1815 * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1816 (WebCore::PlatformSpeechSynthesizerMock::speak):
1818 2013-02-28 David Grogan <dgrogan@chromium.org>
1820 IndexedDB: Histogram all exits from IDBBackingStore::open
1821 https://bugs.webkit.org/show_bug.cgi?id=110677
1823 Reviewed by Tony Chang.
1825 No tests because this only changes logging code.
1827 * Modules/indexeddb/IDBBackingStore.cpp:
1828 (WebCore::IDBBackingStore::open):
1830 2013-02-28 Aaron Colwell <acolwell@chromium.org>
1832 Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
1833 into SourceBufferPrivate & WebSourceBuffer respectively.
1834 https://bugs.webkit.org/show_bug.cgi?id=110798
1836 Reviewed by Adam Barth, Jer Noble.
1838 No new tests. No user visible behavior has changed.
1840 * Modules/mediasource/MediaSource.cpp:
1841 (WebCore::MediaSource::addSourceBuffer):
1842 (WebCore::MediaSource::removeSourceBuffer):
1843 * Modules/mediasource/MediaSource.h:
1845 * Modules/mediasource/SourceBuffer.cpp:
1846 (WebCore::SourceBuffer::create):
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:
1860 * Modules/mediasource/SourceBufferList.cpp:
1861 (WebCore::SourceBufferList::SourceBufferList):
1862 (WebCore::SourceBufferList::remove):
1863 (WebCore::SourceBufferList::clear):
1864 * Modules/mediasource/SourceBufferList.h:
1866 * html/HTMLMediaElement.cpp:
1867 * platform/graphics/MediaSourcePrivate.h:
1869 (MediaSourcePrivate):
1870 * platform/graphics/SourceBufferPrivate.h:
1872 (SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
1873 (WebCore::SourceBufferPrivate::SourceBufferPrivate):
1874 (WebCore::SourceBufferPrivate::~SourceBufferPrivate):
1876 2013-02-28 Joe Mason <jmason@rim.com>
1878 [BlackBerry] Handle Set-Cookie immediately even when loading is deferred
1879 https://bugs.webkit.org/show_bug.cgi?id=111083
1881 Reviewed by Yong Li.
1884 Internally Reviewed By: Leo Yang
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.)
1892 This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
1895 * platform/network/blackberry/NetworkJob.cpp:
1896 (WebCore::NetworkJob::notifyHeadersReceived):
1897 (WebCore::NetworkJob::handleNotifyHeaderReceived):
1899 2013-02-28 David Grogan <dgrogan@chromium.org>
1901 IndexedDB: IO error when checking schema should destroy LevelDB directory
1902 https://bugs.webkit.org/show_bug.cgi?id=110675
1904 Reviewed by Adam Barth.
1906 Also some refactoring to remove IDBBackingStore's dependence on
1907 static LevelDBDatabase methods. This facilitated the unit test.
1909 New unit test - IDBIOErrorTest.CleanUpTest
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
1917 * Modules/indexeddb/IDBBackingStore.h:
1918 * platform/leveldb/LevelDBDatabase.h:
1920 2013-02-28 Kentaro Hara <haraken@chromium.org>
1922 Unreviewed, rolling out r144157.
1923 http://trac.webkit.org/changeset/144157
1924 https://bugs.webkit.org/show_bug.cgi?id=110794
1926 It broke chromium windows build
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):
1937 2013-02-26 David Hyatt <hyatt@apple.com>
1939 [New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
1940 https://bugs.webkit.org/show_bug.cgi?id=110624.
1942 Reviewed by Simon Fraser.
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:
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."
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.
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
1965 Much of this patch consists of refactoring all of the painting and hit testing
1966 code to operate on these fragments.
1968 Test: fast/multicol/mixed-positioning-stacking-order.html.
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.
1976 (WebCore::RenderFlowThread::fragmentsBoundingBox):
1977 A new function that collects LayerFragments and then determines the bounding
1978 box that encloses all of the fragments.
1980 * rendering/RenderFlowThread.h:
1981 Declarations of the new methods for obtaining layer fragments and bounding
1982 box information for fragments.
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.
1992 (WebCore::transparencyClipBox):
1993 Modified to obtain a fragments bounding box so that opacity can operate correctly on
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
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.
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. :)
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
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.
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.
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.
2046 * rendering/RenderLayer.h:
2047 (WebCore::ClipRect::moveBy):
2048 Added a moveBy method that just wrap the corresponding LayoutRect method.
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.
2058 (WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
2059 Helper method for determining if the renderer is an out-of-flow RenderFlowThread.
2061 * rendering/RenderMultiColumnBlock.cpp:
2062 (WebCore::createMultiColumnFlowThreadStyle):
2063 Change the flow thread style to no longer establish a stacking context.
2065 (WebCore::RenderMultiColumnBlock::layoutBlock):
2066 Patched to move the flow thread to a position that allows it to be untranslated in the
2070 * rendering/RenderMultiColumnBlock.h:
2071 (RenderMultiColumnBlock):
2072 layoutBlock is subclassed to tweak the flow thread's position.
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.
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.
2083 (WebCore::RenderMultiColumnSet::collectLayerFragments):
2084 The method that figures out what columns are intersected by a layer and hands back
2085 initial fragment information.
2087 * rendering/RenderMultiColumnSet.h:
2088 (RenderMultiColumnSet):
2089 Declaration of collectLayerFragments.
2091 * rendering/RenderObject.cpp:
2092 (WebCore::RenderObject::container):
2093 Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.
2095 * rendering/RenderObject.h:
2096 (WebCore::RenderObject::isInFlowRenderFlowThread):
2097 (WebCore::RenderObject::isOutOfFlowRenderFlowThread):
2098 Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.
2100 (WebCore::RenderObject::canContainFixedPositionObjects):
2101 Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
2102 in-flow RenderFlowThreads.
2104 * rendering/RenderRegion.h:
2105 (WebCore::RenderRegion::collectLayerFragments):
2107 The virtual functions on Region for fragment collection.
2109 2013-02-28 Vivek Galatage <vivek.vg@samsung.com>
2111 Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
2112 https://bugs.webkit.org/show_bug.cgi?id=111061
2114 Reviewed by Alexander Pavlov.
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.
2120 No new tests as UI related minor change.
2122 * inspector/front-end/DOMStorageItemsView.js:
2123 (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
2125 2013-02-28 Alberto Garcia <agarcia@igalia.com>
2127 [BlackBerry] User credentials is not correctly handled
2128 https://bugs.webkit.org/show_bug.cgi?id=110994
2130 Reviewed by Yong Li.
2132 WTF::String::utf8 no longer receives a bool, see r134173.
2134 * platform/network/blackberry/CredentialBackingStore.cpp:
2135 (WebCore::CredentialBackingStore::encryptedString):
2137 2013-02-28 Lianghui Chen <liachen@rim.com>
2139 [BlackBerry] User credentials are not correctly handled for non-browser usage
2140 https://bugs.webkit.org/show_bug.cgi?id=111032
2143 Internal reviewed by Joe Mason.
2145 Reviewed by Yong Li.
2147 Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
2148 stead of using it as a normal WTF::String.
2150 No new tests as this causes no expected behaviour change.
2152 * platform/network/blackberry/CredentialBackingStore.cpp:
2153 (WebCore::CredentialBackingStore::addLogin):
2154 (WebCore::CredentialBackingStore::updateLogin):
2156 2013-02-28 Andrey Lushnikov <lushnikov@chromium.org>
2158 Web Inspector: "loadScript" function to load scripts via xhr
2159 https://bugs.webkit.org/show_bug.cgi?id=110879
2161 Reviewed by Pavel Feldman.
2163 Create an alias for "importScript" function and use it in those cases
2164 which assume lazy script loading.
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:
2174 2013-02-28 Alexei Filippov <alph@chromium.org>
2176 Web Inspector: Move profiler tools into separate panels
2177 https://bugs.webkit.org/show_bug.cgi?id=109832
2179 Reviewed by Yury Semikhatsky.
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):
2185 2. CSS Selector profiler
2188 5. Native memory snapshots
2189 6. Native memory distribution
2190 The new functionality is put behind experimental flag.
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):
2225 2013-02-28 Keishi Hattori <keishi@webkit.org>
2227 Add calendar header for new calendar picker
2228 https://bugs.webkit.org/show_bug.cgi?id=110967
2230 Reviewed by Kent Tamura.
2232 The calendar header showing the current month and containing navigation
2233 buttons, which will be part of the new calendar picker (Bug 109439).
2235 No new tests. Code is not yet used.
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.
2253 2013-02-28 Pavel Feldman <pfeldman@chromium.org>
2255 Web Inspector: class console-formatted-string renamed to console-formatted- ?
2256 https://bugs.webkit.org/show_bug.cgi?id=110881
2258 Reviewed by Vsevolod Vlasov.
2260 * inspector/front-end/ConsoleMessage.js:
2261 (WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):
2263 2013-02-28 Mike West <mkwst@chromium.org>
2265 XSSAuditor should strip formaction attributes from input and button elements.
2266 https://bugs.webkit.org/show_bug.cgi?id=110975
2268 Reviewed by Daniel Bates.
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.
2274 Tests: http/tests/security/xssAuditor/formaction-on-button.html
2275 http/tests/security/xssAuditor/formaction-on-input.html
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.
2285 2013-02-28 Allan Sandfeld Jensen <allan.jensen@digia.com>
2287 REGRESSION(r144169): It broke clipping
2288 https://bugs.webkit.org/show_bug.cgi?id=111065
2290 Reviewed by Noam Rosenthal.
2292 The clipstack was not marked dirty when new clips were added
2293 leading to clipping never being applied.
2295 * platform/graphics/texmap/TextureMapperGL.cpp:
2296 (WebCore::TextureMapperGL::ClipStack::push):
2298 2013-02-28 Tamas Czene <tczene@inf.u-szeged.hu>
2300 OpenCL implementation of FEImage SVG Filter.
2301 https://bugs.webkit.org/show_bug.cgi?id=110752
2303 Reviewed by Zoltan Herczeg.
2305 The result of the image is uploaded to an OpenCL buffer.
2308 * platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Added.
2310 (WebCore::FEImage::platformApplyOpenCL):
2311 * svg/graphics/filters/SVGFEImage.h:
2314 2013-02-28 Mike West <mkwst@chromium.org>
2316 Web Inspector: Make it obvious where command line functions come from
2317 https://bugs.webkit.org/show_bug.cgi?id=62367
2319 Reviewed by Pavel Feldman.
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] }".
2326 Test: inspector/console/console-native-function-to-string.html
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.
2332 2013-02-28 David Kilzer <ddkilzer@apple.com>
2334 ResourceRequestCFNet.cpp won't compile after r144216
2335 <http://webkit.org/b/111034>
2337 Reviewed by Alexey Proskuryakov.
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
2343 * platform/network/cf/ResourceRequestCFNet.cpp:
2344 (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Fix typos.
2345 Add static_cast<CFStringRef>().
2346 (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Fix another
2349 2013-02-28 Kent Tamura <tkent@chromium.org>
2351 Unreviewed, rolling out r144184.
2352 http://trac.webkit.org/changeset/144184
2353 https://bugs.webkit.org/show_bug.cgi?id=110974
2355 The change didn't fix all of the problems.
2357 * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2358 * html/BaseMultipleFieldsDateAndTimeInputType.h:
2359 (BaseMultipleFieldsDateAndTimeInputType):
2361 2013-02-27 Eugene Klyuchnikov <eustas@chromium.org>
2363 Web Inspector: [Protocol] Genarate JS enum definitions.
2364 https://bugs.webkit.org/show_bug.cgi?id=110461
2366 Reviewed by Pavel Feldman.
2368 Generating corresponding type annotations
2369 would help to compiler to point errors.
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.
2378 2013-02-27 Kunihiko Sakamoto <ksakamoto@chromium.org>
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
2383 Reviewed by Kent Tamura.
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.
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
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.
2438 2013-02-27 Tien-Ren Chen <trchen@chromium.org>
2440 Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
2441 https://bugs.webkit.org/show_bug.cgi?id=105486
2443 Reviewed by James Robinson.
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
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.
2456 Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html
2461 (WebCore::Page::setPageScaleFactor):
2463 2013-02-27 Hans Muller <hmuller@adobe.com>
2465 [CSS Exclusions] Enable shape-inside rectangle support for shape-padding
2466 https://bugs.webkit.org/show_bug.cgi?id=110500
2468 Reviewed by Dirk Schulze.
2470 Added support for CSS shape-padding for shapes defined with shape-inside.
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
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:
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().
2501 2013-02-25 Alpha Lam <hclam@chromium.org>
2503 More style cleanup in GIFImageReader
2504 https://bugs.webkit.org/show_bug.cgi?id=110776
2506 Reviewed by Allan Sandfeld Jensen.
2508 Renamed variable q to currentComponent which more accurately represent
2511 No test. Simple refactoring.
2513 * platform/image-decoders/gif/GIFImageReader.cpp:
2514 (GIFImageReader::decodeInternal):
2516 2013-02-27 Keishi Hattori <keishi@webkit.org>
2518 Add month popup for new calendar picker
2519 https://bugs.webkit.org/show_bug.cgi?id=110830
2521 Reviewed by Kent Tamura.
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.
2527 No new tests. Code is not used yet.
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.
2564 2013-02-27 Adam Barth <abarth@webkit.org>
2566 Use FeatureObserver to see how often web sites use multipart main documents
2567 https://bugs.webkit.org/show_bug.cgi?id=111015
2569 Reviewed by Nate Chapin.
2571 Multipart main documents add sigificant complexity to the loader. It
2572 would be interesting to know how often this complexity is used.
2574 * loader/MainResourceLoader.cpp:
2575 (WebCore::MainResourceLoader::responseReceived):
2576 * page/FeatureObserver.h:
2578 2013-02-27 James Simonsen <simonjam@chromium.org>
2580 [chromium] Lower priority of preloaded images
2581 https://bugs.webkit.org/show_bug.cgi?id=110527
2583 Reviewed by Nate Chapin.
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.
2589 Test: http/tests/loading/promote-img-preload-priority.html
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.
2599 2013-02-27 Csaba Osztrogonác <ossy@webkit.org>
2601 Unreviewed trivial buildfix after r144190.
2603 * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
2604 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2606 2013-02-27 Chris Fleizach <cfleizach@apple.com>
2608 WebSpeech: support speech cancel
2609 https://bugs.webkit.org/show_bug.cgi?id=107349
2611 Reviewed by Beth Dakin.
2613 Add the ability to cancel speech utterances and make it work with Mac
2614 and the mock speech synthesizer.
2616 Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html
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):
2628 * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2629 (WebCore::PlatformSpeechSynthesizerMock::cancel):
2631 (WebCore::PlatformSpeechSynthesizerMock::speak):
2632 * platform/mock/PlatformSpeechSynthesizerMock.h:
2633 (PlatformSpeechSynthesizerMock):
2635 2013-02-27 Min Qin <qinmin@chromium.org>
2637 Unlock partially decoded images after passing them to the ImageDecodingStore
2638 https://bugs.webkit.org/show_bug.cgi?id=110778
2640 Reviewed by Stephen White.
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.
2646 * platform/graphics/chromium/ImageFrameGenerator.cpp:
2647 (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
2648 (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
2649 (WebCore::ImageFrameGenerator::decode):
2650 * platform/image-decoders/ImageDecoder.h:
2652 (WebCore::ImageDecoder::lockFrameBuffers):
2653 (WebCore::ImageDecoder::unlockFrameBuffers):
2655 2013-02-27 Kenneth Russell <kbr@google.com>
2657 Insufficient validation when uploading depth textures to WebGL
2658 https://bugs.webkit.org/show_bug.cgi?id=110931
2660 Reviewed by Abhishek Arya.
2662 Updated webgl/conformance/extensions/webgl-depth-texture.html
2663 layout test with additional test cases.
2665 * html/canvas/WebGLRenderingContext.cpp:
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.
2674 2013-02-27 Adam Barth <abarth@webkit.org>
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
2679 Reviewed by Eric Seidel.
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
2687 (WebCore::Document::decrementActiveParserCount):
2688 * loader/DocumentLoader.cpp:
2689 (WebCore::DocumentLoader::isLoading):
2691 2013-02-27 Chris Fleizach <cfleizach@apple.com>
2693 AX: Mac platform should support ability to scroll an element into visible
2694 https://bugs.webkit.org/show_bug.cgi?id=109860
2696 Reviewed by Beth Dakin.
2698 Support the scrollToMakeVisible() action for MacOS accessibility clients.
2700 Tests: platform/mac/accessibility/scroll-to-visible-action.html
2702 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2703 (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
2704 (-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
2705 (-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
2707 2013-02-27 John Bauman <jbauman@chromium.org>
2709 Plugin in iframe may not display
2710 https://bugs.webkit.org/show_bug.cgi?id=109879
2712 Reviewed by Simon Fraser.
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
2719 Test: plugins/plugin-clip-subframe.html
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):
2732 2013-02-27 Chris Rogers <crogers@google.com>
2734 Implement channel up-mixing and down-mixing rules
2735 https://bugs.webkit.org/show_bug.cgi?id=110812
2737 Reviewed by Kenneth Russell.
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
2742 Test: webaudio/audionode-channel-rules.html
2744 * Modules/webaudio/AudioNode.cpp:
2745 (WebCore::AudioNode::AudioNode):
2746 (WebCore::AudioNode::channelCount):
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:
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:
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):
2778 * platform/audio/AudioBus.h:
2781 2013-02-27 Adam Barth <abarth@webkit.org>
2783 Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
2784 https://bugs.webkit.org/show_bug.cgi?id=110937
2786 Reviewed by Darin Adler.
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.
2792 * loader/DocumentLoader.cpp:
2793 (WebCore::DocumentLoader::checkLoadComplete):
2795 2013-02-27 Lianghui Chen <liachen@rim.com>
2797 [BlackBerry] User credentials is not correctly handled
2798 https://bugs.webkit.org/show_bug.cgi?id=110994
2801 Internal reviewed by Leo Yang.
2803 Reviewed by Yong Li.
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.
2813 No new tests as this is platform specific change about user credential.
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):
2834 2013-02-27 David Hyatt <hyatt@apple.com>
2836 Refactor transform painting/hit testing code in RenderLayer.
2837 https://bugs.webkit.org/show_bug.cgi?id=110998
2839 Reviewed by Eric Seidel.
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.
2848 (WebCore::RenderLayer::createLocalTransformState):
2849 Also patched to be able to apply an additional translation offset.
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
2857 * rendering/RenderLayer.h:
2858 Added the new functions to the header.
2860 2013-02-27 David Kilzer <ddkilzer@apple.com>
2862 Touch CSSGrammar.y.in to fix an internal buildbot
2864 * css/CSSGrammar.y.in: Add copyright dates based on previous
2867 2013-02-27 Manuel Rego Casasnovas <rego@igalia.com>
2869 Add smartInsertDeleteEnabled setting to WebCore::Page
2870 https://bugs.webkit.org/show_bug.cgi?id=107840
2872 Reviewed by Ryosuke Niwa.
2874 Covered by editing/deleting/smart-editing-disabled.html.
2876 * page/Settings.in: Add new setting with true as initial value.
2878 2013-02-27 Chris Fleizach <cfleizach@apple.com>
2880 WebSpeech: Support pause/resume ability
2881 https://bugs.webkit.org/show_bug.cgi?id=107345
2883 Reviewed by Beth Dakin.
2885 Add in the pause/resume functionality to SpeechSynthesis. Also hook up
2886 the callback events.
2888 Test: platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html
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):
2898 (WebCore::SpeechSynthesis::didPauseSpeaking):
2899 (WebCore::SpeechSynthesis::didResumeSpeaking):
2900 * Modules/speech/SpeechSynthesis.h:
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):
2912 (WebCore::PlatformSpeechSynthesizer::resume):
2914 2013-02-26 Alexey Proskuryakov <ap@apple.com>
2916 Don't add a body to platform request until necessary
2917 https://bugs.webkit.org/show_bug.cgi?id=110900
2919 Reviewed by Brady Eidson.
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
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.
2928 * WebCore.exp.in: Updated exports.
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.
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.
2944 * platform/network/cf/FormDataStreamCFNet.h: Removed unnecessary httpBodyFromStream().
2946 * platform/network/cf/ResourceHandleCFNet.cpp:
2947 (WebCore::willSendRequest):
2948 (WebCore::didReceiveResponse):
2949 (WebCore::ResourceHandle::createCFURLConnection):
2950 Update body when necessary.
2952 (WebCore::ResourceRequest::nsURLRequest):
2953 (WebCore::ResourceRequest::doUpdateResourceRequest):
2954 (WebCore::ResourceRequest::doUpdateResourceHTTPBody):
2956 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2957 (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2958 (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
2959 (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2962 * platform/network/cf/ResourceRequest.h: Track body up-to-date state.
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.
2974 * platform/network/mac/ResourceRequestMac.mm: Ditto (but this didn't have a bug
2975 with streams in doUpdateResourceRequest()).
2977 * platform/network/mac/FormDataStreamMac.h: Forward declare formDataStreamLengthPropertyName().
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.
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.
2996 2013-02-27 Glenn Adams <glenn@skynav.com>
2998 Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
2999 https://bugs.webkit.org/show_bug.cgi?id=110944
3001 Reviewed by Dean Jackson.
3005 * Configurations/FeatureDefines.xcconfig:
3007 2013-02-27 Andrei Bucur <abucur@adobe.com>
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
3012 Reviewed by Darin Adler.
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.
3018 Test: No new test, the patch fixes a regression.
3020 * editing/InsertListCommand.cpp:
3021 (WebCore::InsertListCommand::listifyParagraph):
3023 2013-02-27 Zach Kuznia <zork@chromium.org>
3025 Add ENABLE_STREAM guards to FileReaderLoader
3026 https://bugs.webkit.org/show_bug.cgi?id=110938
3028 Reviewed by Hajime Morrita.
3030 * fileapi/FileReaderLoader.cpp:
3031 * fileapi/FileReaderLoader.h:
3033 2013-02-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
3035 Switch QtWebKit to GStreamer 1.0.
3036 https://bugs.webkit.org/show_bug.cgi?id=106669.
3038 Original patch by Sebastian Dröge.
3039 Reviewed by Csaba Osztrogonác.
3043 2013-02-27 Eli Fidler <efidler@rim.com>
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
3048 Reviewed by Yong Li.
3050 Internally reviewed by Nima Ghanavatian.
3051 BlackBerry PR 292922
3053 We were assuming all platform strings were valid UTF-8, which isn't true for Latin-1 strings.
3055 * platform/text/blackberry/StringBlackBerry.cpp:
3056 (WTF::String::String):
3058 2013-02-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
3060 [TexMap] REGRESSION(144183): It make negative delay tests fails
3061 https://bugs.webkit.org/show_bug.cgi?id=110989
3063 Reviewed by Noam Rosenthal.
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.
3068 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3069 (WebCore::GraphicsLayerTextureMapper::addAnimation):
3071 2013-02-27 Aaron Colwell <acolwell@chromium.org>
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
3076 Reviewed by Eric Carlson.
3078 Test: http/tests/media/media-source/video-media-source-reject-append-after-reopening.html
3080 * Modules/mediasource/SourceBufferList.cpp:
3081 (WebCore::SourceBufferList::clear):
3083 2013-02-27 Justin Novosad <junov@google.com>
3085 REGRESSION (r134631) of border-radius percentage with border pixel
3086 https://bugs.webkit.org/show_bug.cgi?id=110889
3088 Reviewed by Simon Fraser.
3090 Fixing background color filling to handle "non renderable" rounded
3093 Test: fast/borders/border-radius-percent.html
3095 * rendering/RenderBoxModelObject.cpp:
3096 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3098 2013-02-27 Florin Malita <fmalita@chromium.org>
3100 [Chromium] Layout Test svg/custom/transform-with-shadow-and-gradient.svg is failing
3101 https://bugs.webkit.org/show_bug.cgi?id=76557
3103 Reviewed by Stephen Chenney.
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.
3109 This change aligns the SVG shadow behavior (and pixel results) with CG/Safari.
3111 No new tests, coverage provided by existing tests.
3113 * platform/graphics/skia/GraphicsContextSkia.cpp:
3114 (WebCore::GraphicsContext::setPlatformShadow):
3116 2013-02-25 Kentaro Hara <haraken@chromium.org>
3118 [V8] Generate a wrapper function for ReplaceableAttrSetter()
3119 https://bugs.webkit.org/show_bug.cgi?id=110781
3121 Reviewed by Adam Barth.
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:
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(...);
3133 // For custom replaceable setters. (Note: This is treated as
3134 a normal custom setter.)
3135 void xxxAttrSetterCallback(...) {
3136 return xxxAttrSetterCustom(...);
3139 No tests. No change in behavior.
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):
3150 * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3151 (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetterCallback):
3152 (TestTypedefsV8Internal):
3154 2013-02-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
3156 [Qt] Flash objects won't load until scrolling page
3157 https://bugs.webkit.org/show_bug.cgi?id=110149
3159 Reviewed by Simon Hausmann.
3161 Revert r134222. The issue from bug 101836 is no longer reproducable,
3162 and the fix was causing flash objects to not load properly.
3164 * plugins/PluginPackage.cpp:
3165 (WebCore::PluginPackage::determineQuirks):
3167 2013-02-27 No'am Rosenthal <noam@webkit.org>
3169 [Texmap] TextureMapper is too eager to use intermediate surfaces
3170 https://bugs.webkit.org/show_bug.cgi?id=110762
3172 Reviewed by Allan Sandfeld Jensen.
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.
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.
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.
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.
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
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:
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.
3244 * platform/graphics/texmap/TextureMapper.cpp:
3245 (WebCore::TextureMapper::TextureMapper):
3246 * platform/graphics/texmap/TextureMapper.h:
3247 (WebCore::TextureMapper::setMaskMode):
3249 (WebCore::TextureMapper::isInMaskMode):
3250 * platform/graphics/texmap/TextureMapperGL.cpp:
3251 (WebCore::TextureMapperGL::drawNumber):
3252 (WebCore::TextureMapperGL::drawTexture):
3253 (WebCore::TextureMapperGL::draw):
3255 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
3256 (WebCore::TextureMapperGL::drawFiltered):
3257 * platform/graphics/texmap/TextureMapperGL.h:
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.
3267 * platform/graphics/texmap/TextureMapperLayer.cpp:
3268 (TextureMapperPaintOptions):
3269 (WebCore::TextureMapperLayer::paintSelf):
3270 (WebCore::TextureMapperLayer::shouldBlend):
3271 (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
3272 (WebCore::TextureMapperLayer::replicaTransform):
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:
3285 (TextureMapperLayer):
3286 (WebCore::TextureMapperLayer::hasFilters):
3287 * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3289 (WebCore::TextureMapperShaderProgram::create):
3290 * platform/graphics/texmap/TextureMapperShaderProgram.h:
3292 2013-02-27 Alexander Pavlov <apavlov@chromium.org>
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
3297 Reviewed by Yury Semikhatsky.
3299 Split out PanelEnablerView-related rules into panelEnabledView.css and restored the missing rules
3302 * inspector/front-end/inspector.css:
3303 * inspector/front-end/panelEnablerView.css:
3305 2013-02-27 Kent Tamura <tkent@chromium.org>
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
3310 Reviewed by Kentaro Hara.
3312 Input elements with the multiple fields UI require flexible box
3313 layout. We should use RenderFlexibleBox regardless of display
3316 Tests: Update fast/forms/date/date-apparance-basic.html
3318 * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3319 (WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer):
3320 Always use RenderFlexibleBox.
3321 * html/BaseMultipleFieldsDateAndTimeInputType.h:
3322 (BaseMultipleFieldsDateAndTimeInputType): Declare createRenderer.
3324 2013-02-27 Allan Sandfeld Jensen <allan.jensen@digia.com>
3326 [TexMap] Flickering after transitions on Apple HTML5 demo
3327 https://bugs.webkit.org/show_bug.cgi?id=102501
3329 Reviewed by Noam Rosenthal.
3331 Notify about animation start after the new animation is actually commited.
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):
3340 2013-02-27 Vivek Galatage <vivek.vg@samsung.com>
3342 Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity
3343 https://bugs.webkit.org/show_bug.cgi?id=110866
3345 Reviewed by Alexander Pavlov.
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.
3352 No new tests as code refactoring.
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:
3375 2013-02-27 Mihai Maerean <mmaerean@adobe.com>
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
3380 Reviewed by David Hyatt.
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.
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.
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
3393 * rendering/RenderBlock.cpp:
3394 (WebCore::RenderBlock::applyAfterBreak):
3396 2013-02-27 Stephen Chenney <schenney@chromium.org>
3398 Bindings test results update after r144126
3399 https://bugs.webkit.org/show_bug.cgi?id=108196
3401 Unreviewed test update.
3403 * bindings/scripts/test/JS/JSTestObj.cpp: Add include of CallbackFunction.h
3405 2013-02-27 Vsevolod Vlasov <vsevik@chromium.org>
3407 Unreviewed inspector front-end closure compilaiton fix.
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):
3415 2013-02-27 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
3417 [texmap] Do not apply clip state if redundant
3418 https://bugs.webkit.org/show_bug.cgi?id=110790
3420 Reviewed by Noam Rosenthal.
3422 Add a bool to check if clip state has changed since last apply.
3424 No behavior changes, thus covered by existing tests.
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):
3434 2013-02-27 Eugene Klyuchnikov <eustas@chromium.org>
3436 Web Inspector: timeline stops working on certain sites
3437 https://bugs.webkit.org/show_bug.cgi?id=110955
3439 Reviewed by Alexander Pavlov.
3441 Analysis: "timerId" value is number,
3442 so it is not wrapped to node as expected.