Source/WebCore: Another Windows build fix attempt after r144567.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-03  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Another Windows build fix attempt after r144567.
4         Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
5
6         * testing/Internals.idl:
7
8 2013-03-03  Adam Barth  <abarth@webkit.org>
9
10         Unreviewed attempted build fix. Adds back some includes removed in
11         http://trac.webkit.org/changeset/144565.
12
13         * Modules/mediastream/RTCPeerConnection.cpp:
14         * bindings/ScriptControllerBase.cpp:
15         * bindings/objc/DOM.mm:
16         * bindings/v8/ScriptController.cpp:
17         * bindings/v8/V8DOMWindowShell.cpp:
18         * bindings/v8/custom/V8DOMWindowCustom.cpp:
19         * css/CSSFontSelector.cpp:
20         * css/WebKitCSSSVGDocumentValue.cpp:
21         * dom/DOMImplementation.cpp:
22         * dom/PendingScript.h:
23         * dom/ScriptElement.cpp:
24         * dom/ScriptElement.h:
25         * history/CachedFrame.cpp:
26         * html/DOMURL.cpp:
27         * html/HTMLAnchorElement.cpp:
28         * html/HTMLAppletElement.cpp:
29         * html/HTMLElement.cpp:
30         * html/HTMLEmbedElement.cpp:
31         * html/HTMLFrameSetElement.cpp:
32         * html/HTMLHtmlElement.cpp:
33         * html/HTMLImageElement.cpp:
34         * html/HTMLObjectElement.cpp:
35         * html/HTMLPlugInElement.cpp:
36         * html/ImageDocument.cpp:
37         * html/ImageInputType.cpp:
38         * html/MediaDocument.cpp:
39         * html/PluginDocument.cpp:
40         * html/canvas/WebGLRenderingContext.cpp:
41         (WebCore):
42         * html/parser/HTMLConstructionSite.cpp:
43         * html/parser/HTMLParserOptions.cpp:
44         * html/parser/XSSAuditorDelegate.cpp:
45         * inspector/InspectorDebuggerAgent.cpp:
46         * inspector/InspectorFileSystemAgent.cpp:
47         * inspector/InspectorFrontendHost.cpp:
48         * inspector/InspectorInstrumentation.h:
49         * inspector/InspectorPageAgent.cpp:
50         * inspector/NetworkResourcesData.cpp:
51         * inspector/NetworkResourcesData.h:
52         (WebCore):
53         * loader/CookieJar.cpp:
54         * loader/CrossOriginAccessControl.cpp:
55         * loader/FrameLoader.cpp:
56         * loader/MainResourceLoader.cpp:
57         * loader/MixedContentChecker.cpp:
58         * loader/PingLoader.cpp:
59         * loader/SubframeLoader.cpp:
60         * loader/SubresourceLoader.cpp:
61         * loader/appcache/ApplicationCacheGroup.cpp:
62         * loader/appcache/ApplicationCacheHost.cpp:
63         * loader/cache/CachedResource.cpp:
64         * loader/icon/IconController.cpp:
65         * page/DOMWindowExtension.cpp:
66         * page/Frame.cpp:
67         * page/PerformanceTiming.cpp:
68         * page/PointerLockController.cpp:
69         * page/animation/CSSPropertyAnimation.cpp:
70         * platform/chromium/PasteboardChromium.cpp:
71         * platform/efl/ErrorsEfl.cpp:
72         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
73         * platform/gtk/ErrorsGtk.cpp:
74         * platform/gtk/PasteboardGtk.cpp:
75         * platform/gtk/PasteboardHelper.h:
76         * platform/mac/ClipboardMac.mm:
77         * platform/mac/HTMLConverter.mm:
78         * platform/qt/PasteboardQt.cpp:
79         * plugins/DOMMimeType.cpp:
80         * plugins/PluginView.cpp:
81         * rendering/HitTestResult.cpp:
82         * rendering/RenderImage.cpp:
83         * rendering/RenderImageResource.cpp:
84         * rendering/RenderImageResourceStyleImage.cpp:
85         * rendering/RenderLayer.cpp:
86         * rendering/RenderLayerBacking.cpp:
87         * svg/SVGImageLoader.cpp:
88         * svg/SVGUseElement.cpp:
89         * testing/MockPagePopupDriver.cpp:
90         * xml/XSLStyleSheet.h:
91         (WebCore):
92
93 2013-03-03  Ruslan Abdikeev  <aruslan@chromium.org>
94
95         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
96         https://bugs.webkit.org/show_bug.cgi?id=109061
97
98         Reviewed by Adam Barth.
99
100         Test: fast/dom/icon-url-list-apple-touch.html
101
102         Added iconTypes parameter to Document::iconURLs().
103         Added Document::shortcutIconURLs() with original semantics of iconURLs().
104         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
105         Renamed iconTypes to iconTypesMask to make the meaning clearer.
106
107         * WebCore.exp.in:
108         * dom/Document.cpp:
109         (WebCore::Document::shortcutIconURLs):
110         (WebCore):
111         (WebCore::Document::iconURLs):
112         * dom/Document.h:
113         (Document):
114         * loader/icon/IconController.cpp:
115         (WebCore::IconController::iconURL):
116         (WebCore::IconController::urlsForTypes):
117         * testing/Internals.cpp:
118         (WebCore::Internals::iconURLs):
119         (WebCore::Internals::shortcutIconURLs):
120         (WebCore):
121         (WebCore::Internals::allIconURLs):
122         * testing/Internals.h:
123         * testing/Internals.idl:
124
125 2013-03-03  Mike West  <mkwst@chromium.org>
126
127         CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
128         https://bugs.webkit.org/show_bug.cgi?id=111208
129
130         Reviewed by Adam Barth.
131
132         Developers in the wild have been observed to serve a report-only CSP
133         header with a policy that doesn't contain a 'report-uri' directive.
134         This has zero effect, of course, and we should help them understand
135         that by throwing a warning up on the console.
136
137         Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
138
139         * page/ContentSecurityPolicy.cpp:
140         (WebCore::CSPDirectiveList::isReportOnly): Added.
141         (WebCore::CSPDirectiveList::reportURIs): Added.
142         (WebCore::CSPDirectiveList::create):
143             After creating a CSPDirectiveList, check whether it's in
144             report-only mode without a report-uri. If so, warn the developer.
145         (WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
146             Write an exciting message to the console, warning the developer
147             about her expensive no-op machine.
148
149 2013-03-03  Adam Barth  <abarth@webkit.org>
150
151         Unreviewed rollout of http://trac.webkit.org/r144530
152         As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
153         https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
154         large number of ASSERTs in chromium-win.
155
156         * CMakeLists.txt:
157         * GNUmakefile.list.am:
158         * Modules/mediastream/RTCPeerConnection.cpp:
159         * Modules/notifications/Notification.cpp:
160         * Target.pri:
161         * WebCore.exp.in:
162         * WebCore.gypi:
163         * WebCore.vcproj/WebCore.vcproj:
164         * WebCore.vcxproj/WebCore.vcxproj:
165         * WebCore.vcxproj/WebCore.vcxproj.filters:
166         * WebCore.xcodeproj/project.pbxproj:
167         * bindings/ScriptControllerBase.cpp:
168         * bindings/js/JSNodeCustom.cpp:
169         * bindings/js/ScriptController.cpp:
170         * bindings/js/ScriptSourceCode.h:
171         (WebCore):
172         * bindings/objc/DOM.mm:
173         * bindings/v8/ScriptController.cpp:
174         * bindings/v8/V8DOMWindowShell.cpp:
175         * bindings/v8/custom/V8DOMWindowCustom.cpp:
176         * css/CSSCrossfadeValue.h:
177         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
178         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
179         * css/CSSFontFaceSource.h:
180         * css/CSSFontSelector.cpp:
181         * css/WebKitCSSSVGDocumentValue.cpp:
182         * css/WebKitCSSSVGDocumentValue.h:
183         (WebCore):
184         * dom/Clipboard.cpp:
185         (WebCore::Clipboard::Clipboard):
186         * dom/ContainerNode.cpp:
187         * dom/DOMImplementation.cpp:
188         * dom/PendingScript.h:
189         * dom/ScriptElement.cpp:
190         * dom/ScriptElement.h:
191         * history/CachedFrame.cpp:
192         * html/DOMURL.cpp:
193         * html/HTMLAnchorElement.cpp:
194         * html/HTMLAppletElement.cpp:
195         * html/HTMLElement.cpp:
196         * html/HTMLEmbedElement.cpp:
197         * html/HTMLFrameSetElement.cpp:
198         * html/HTMLHtmlElement.cpp:
199         * html/HTMLImageElement.cpp:
200         * html/HTMLObjectElement.cpp:
201         * html/HTMLPlugInElement.cpp:
202         * html/ImageDocument.cpp:
203         * html/ImageInputType.cpp:
204         * html/MediaDocument.cpp:
205         * html/PluginDocument.cpp:
206         * html/canvas/WebGLRenderingContext.cpp:
207         (WebCore):
208         * html/parser/HTMLConstructionSite.cpp:
209         * html/parser/HTMLParserOptions.cpp:
210         * html/parser/HTMLScriptRunner.h:
211         * html/parser/XSSAuditor.cpp:
212         * html/parser/XSSAuditorDelegate.cpp:
213         * inspector/InspectorDebuggerAgent.cpp:
214         * inspector/InspectorFileSystemAgent.cpp:
215         * inspector/InspectorFrontendHost.cpp:
216         * inspector/InspectorInstrumentation.h:
217         (WebCore):
218         * inspector/InspectorPageAgent.cpp:
219         * inspector/NetworkResourcesData.cpp:
220         * inspector/NetworkResourcesData.h:
221         (WebCore):
222         * loader/CookieJar.cpp:
223         * loader/CrossOriginAccessControl.cpp:
224         * loader/CrossOriginAccessControl.h:
225         (WebCore):
226         * loader/CrossOriginPreflightResultCache.h:
227         * loader/DocumentThreadableLoader.h:
228         * loader/FrameLoader.cpp:
229         (WebCore::FrameLoader::FrameLoader):
230         * loader/FrameLoader.h:
231         (WebCore):
232         (WebCore::FrameLoader::policyChecker):
233         * loader/ImageLoader.cpp:
234         * loader/ImageLoader.h:
235         * loader/LinkLoader.h:
236         (WebCore):
237         * loader/MainResourceLoader.cpp:
238         * loader/MainResourceLoader.h:
239         (WebCore):
240         * loader/MixedContentChecker.cpp:
241         * loader/PingLoader.cpp:
242         * loader/PolicyChecker.h:
243         (WebCore):
244         * loader/ProgressTracker.cpp:
245         * loader/SubframeLoader.cpp:
246         * loader/SubresourceLoader.cpp:
247         * loader/TextTrackLoader.cpp:
248         * loader/TextTrackLoader.h:
249         (WebCore):
250         * loader/ThreadableLoader.h:
251         * loader/appcache/ApplicationCacheGroup.cpp:
252         * loader/appcache/ApplicationCacheGroup.h:
253         (WebCore):
254         * loader/appcache/ApplicationCacheHost.cpp:
255         * loader/archive/cf/LegacyWebArchive.cpp:
256         * loader/cache/CachedFont.cpp:
257         * loader/cache/CachedFont.h:
258         (CachedFontClient):
259         (WebCore::CachedFontClient::~CachedFontClient):
260         (WebCore::CachedFontClient::expectedType):
261         (WebCore::CachedFontClient::resourceClientType):
262         (WebCore::CachedFontClient::fontLoaded):
263         (WebCore):
264         * loader/cache/CachedFontClient.h: Removed.
265         * loader/cache/CachedImage.cpp:
266         * loader/cache/CachedRawResource.cpp:
267         * loader/cache/CachedRawResource.h:
268         (WebCore):
269         (CachedRawResourceClient):
270         (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
271         (WebCore::CachedRawResourceClient::expectedType):
272         (WebCore::CachedRawResourceClient::resourceClientType):
273         (WebCore::CachedRawResourceClient::dataSent):
274         (WebCore::CachedRawResourceClient::responseReceived):
275         (WebCore::CachedRawResourceClient::dataReceived):
276         (WebCore::CachedRawResourceClient::redirectReceived):
277         (WebCore::CachedRawResourceClient::dataDownloaded):
278         * loader/cache/CachedRawResourceClient.h: Removed.
279         * loader/cache/CachedResource.cpp:
280         * loader/cache/CachedResourceHandle.cpp:
281         (WebCore):
282         * loader/cache/CachedResourceHandle.h:
283         (WebCore):
284         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
285         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
286         * loader/cache/CachedSVGDocument.h:
287         (CachedSVGDocumentClient):
288         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
289         (WebCore::CachedSVGDocumentClient::expectedType):
290         (WebCore::CachedSVGDocumentClient::resourceClientType):
291         (WebCore):
292         * loader/cache/CachedSVGDocumentClient.h: Removed.
293         * loader/cache/CachedSVGDocumentReference.cpp: Removed.
294         * loader/cache/CachedSVGDocumentReference.h:
295         (WebCore):
296         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
297         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
298         * loader/cache/CachedStyleSheetClient.h:
299         (WebCore):
300         * loader/cache/MemoryCache.h:
301         (WebCore):
302         (MemoryCache):
303         * loader/chromium/CachedRawResourceChromium.cpp:
304         * loader/icon/IconController.cpp:
305         * loader/icon/IconLoader.h:
306         * loader/mac/ResourceLoaderMac.mm:
307         * page/DOMWindowExtension.cpp:
308         * page/Frame.cpp:
309         (WebCore::Frame::Frame):
310         (WebCore):
311         (WebCore::Frame::reportMemoryUsage):
312         * page/Frame.h:
313         (WebCore):
314         (Frame):
315         (WebCore::Frame::init):
316         (WebCore::Frame::loader):
317         * page/PerformanceNavigation.cpp:
318         * page/PerformanceTiming.cpp:
319         * page/PointerLockController.cpp:
320         * page/Settings.cpp:
321         * page/animation/CSSPropertyAnimation.cpp:
322         * platform/chromium/PasteboardChromium.cpp:
323         * platform/efl/ErrorsEfl.cpp:
324         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
325         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
326         * platform/graphics/filters/FilterOperation.cpp:
327         (WebCore):
328         * platform/graphics/filters/FilterOperation.h:
329         (WebCore):
330         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
331         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
332         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
333         * platform/gtk/ErrorsGtk.cpp:
334         * platform/gtk/PasteboardGtk.cpp:
335         * platform/gtk/PasteboardHelper.h:
336         * platform/mac/ClipboardMac.h:
337         * platform/mac/ClipboardMac.mm:
338         * platform/mac/HTMLConverter.mm:
339         * platform/mac/PasteboardMac.mm:
340         * platform/network/AuthenticationChallengeBase.cpp:
341         * platform/network/cf/CookieJarCFNet.cpp:
342         * platform/network/cf/ResourceRequestCFNet.cpp:
343         * platform/network/mac/CookieStorageMac.mm:
344         * platform/qt/PasteboardQt.cpp:
345         * plugins/DOMMimeType.cpp:
346         * plugins/PluginRequest.h: Removed.
347         * plugins/PluginStream.h:
348         (PluginStreamClient):
349         (WebCore::PluginStreamClient::~PluginStreamClient):
350         (WebCore::PluginStreamClient::streamDidFinishLoading):
351         (WebCore):
352         * plugins/PluginStreamClient.h: Removed.
353         * plugins/PluginView.cpp:
354         * plugins/PluginView.h:
355         (WebCore):
356         (PluginRequest):
357         (WebCore::PluginRequest::PluginRequest):
358         (WebCore::PluginRequest::frameLoadRequest):
359         (WebCore::PluginRequest::notifyData):
360         (WebCore::PluginRequest::sendNotification):
361         (WebCore::PluginRequest::shouldAllowPopups):
362         * rendering/HitTestResult.cpp:
363         * rendering/InlineFlowBox.cpp:
364         * rendering/RenderBox.cpp:
365         * rendering/RenderEmbeddedObject.cpp:
366         * rendering/RenderImage.cpp:
367         * rendering/RenderImageResource.cpp:
368         (WebCore::RenderImageResource::RenderImageResource):
369         (WebCore):
370         * rendering/RenderImageResource.h:
371         (WebCore::RenderImageResource::image):
372         (WebCore::RenderImageResource::errorOccurred):
373         (WebCore::RenderImageResource::usesImageContainerSize):
374         (WebCore::RenderImageResource::imageHasRelativeWidth):
375         (WebCore::RenderImageResource::imageHasRelativeHeight):
376         (WebCore::RenderImageResource::imageSize):
377         * rendering/RenderImageResourceStyleImage.cpp:
378         * rendering/RenderLayer.cpp:
379         * rendering/RenderLayerBacking.cpp:
380         * rendering/RenderLayerFilterInfo.h:
381         (WebCore):
382         * rendering/RenderListItem.cpp:
383         * rendering/RenderListMarker.cpp:
384         * rendering/RenderSnapshottedPlugIn.cpp:
385         * rendering/RenderTableCol.cpp:
386         * rendering/RenderTableRow.cpp:
387         * rendering/RenderTableSection.cpp:
388         * rendering/style/StyleCachedShader.h:
389         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
390         * rendering/style/StyleCustomFilterProgram.h:
391         (WebCore):
392         (WebCore::StyleCustomFilterProgram::vertexShaderString):
393         (StyleCustomFilterProgram):
394         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
395         (WebCore::StyleCustomFilterProgram::isLoaded):
396         (WebCore::StyleCustomFilterProgram::willHaveClients):
397         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
398         (WebCore::StyleCustomFilterProgram::notifyFinished):
399         * svg/SVGFEImageElement.h:
400         * svg/SVGFontFaceUriElement.h:
401         (SVGFontFaceUriElement):
402         * svg/SVGImageLoader.cpp:
403         * svg/SVGUseElement.cpp:
404         * svg/SVGUseElement.h:
405         * svg/graphics/SVGImageCache.cpp:
406         * testing/MockPagePopupDriver.cpp:
407         * xml/XSLStyleSheet.h:
408         (WebCore):
409         * xml/XSLTProcessorLibxslt.cpp:
410         * xml/parser/XMLDocumentParser.cpp:
411         * xml/parser/XMLDocumentParser.h:
412         * xml/parser/XMLDocumentParserLibxml2.cpp:
413
414 2013-03-03  Kentaro Hara  <haraken@chromium.org>
415
416         [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
417         https://bugs.webkit.org/show_bug.cgi?id=111218
418
419         Reviewed by Adam Barth.
420
421         TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
422         but there is no non-custom method that uses TimeoutHandler.
423
424         The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
425         However, the latest spec uses 'any' instead of TimeoutHandler.
426         http://dev.w3.org/html5/spec-LC/timers.html
427         Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
428         according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
429         (Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
430         in custom bindings.)
431
432         No tests. No change in behavior.
433
434         * bindings/scripts/CodeGeneratorV8.pm:
435         (GenerateParametersCheck):
436         * page/DOMWindow.idl:
437         * workers/WorkerContext.idl:
438
439 2013-03-03  James Weatherall  <wez@chromium.org>
440
441         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
442         https://bugs.webkit.org/show_bug.cgi?id=85642
443
444         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
445
446         Reviewed by Adam Barth.
447
448         * platform/chromium/KeyCodeConversionGtk.cpp:
449         (WebCore::windowsKeyCodeForKeyEvent):
450
451 2013-03-03  Adam Barth  <abarth@webkit.org>
452
453         REGRESSION(144520): Does not compile on chromium-win
454         https://bugs.webkit.org/show_bug.cgi?id=111261
455
456         Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
457         patch does not compile for chromium-win. See the bug for the compile
458         error.
459
460         * rendering/ExclusionShapeInsideInfo.cpp:
461         * rendering/ExclusionShapeInsideInfo.h:
462         (WebCore):
463         (LineSegmentRange):
464         (WebCore::LineSegmentRange::LineSegmentRange):
465         (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
466         * rendering/RenderBlock.cpp:
467         (WebCore::RenderBlock::willBeDestroyed):
468         (WebCore::RenderBlock::exclusionShapeInsideInfo):
469         (WebCore):
470         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
471         * rendering/RenderBlock.h:
472         (WebCore):
473         (RenderBlock):
474         (RenderBlockRareData):
475         * rendering/RenderBlockLineLayout.cpp:
476         (WebCore::constructBidiRunsForLine):
477
478 2013-03-02  Zan Dobersek  <zdobersek@igalia.com>
479
480         REGRESSION (r144517): IndexedDB layout test failures on GTK
481         https://bugs.webkit.org/show_bug.cgi?id=111243
482
483         Reviewed by Martin Robinson.
484
485         Changes to the custom JSC bindings for IDBAny are required after r144517,
486         specifically the case of IDBAny object having the KeyPathType type has to be covered.
487         These changes are analogous to those made to the V8 bindings in the mentioned commit.
488
489         No new tests - already covered by existing tests.
490
491         * bindings/js/JSIDBAnyCustom.cpp:
492         (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
493         (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
494         Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
495
496 2013-03-02  Darin Adler  <darin@apple.com>
497
498         Another try at fixing the build.
499
500         * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
501
502 2013-03-02  Darin Adler  <darin@apple.com>
503
504         Try to fix build.
505
506         * inspector/InspectorInstrumentation.h: Add missing forward declaration
507         of CachedResource.
508
509 2013-02-18  Darin Adler  <darin@apple.com>
510
511         Cut down the number of source files that depend on Clipboard.h
512         https://bugs.webkit.org/show_bug.cgi?id=110030
513
514         Reviewed by Ryosuke Niwa.
515
516         I am doing some work on Clipboard and it's better to recompile 50 files
517         each time we touch the header instead of 700. Also cut down on includes
518         of DragState.h.
519
520         * WebCore.exp.in: Updated for new MouseEvent::create function.
521
522         * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
523         here and the world no longer includes it everywhere.
524
525         * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
526         Clipboard.h. Also made some overrides private because they can be.
527
528         * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
529
530         * dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
531         here and the world no longer includes it everywhere.
532         (WebCore::MouseEvent::create): Made the create function non-inline
533         since we can't compile it without including Clipboard.h and we don't
534         want to include Clipboard.h in the header. This is not so commonly
535         used or so hot that this needs to be inlined.
536
537         * dom/MouseEvent.h: Forward declared Clipboard instead of including
538         Clipboard.h. Made MouseEvent::create a non-inline function and also
539         used overloading instead of default arguments, since we can't compile
540         a default argument of type PassRefPtr<Clipboard> without including
541         Clipboard.h.
542
543         * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
544         here and the world no longer includes it everywhere.
545
546         * dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
547         in this header. Previously we'd get it indirectly from including a header
548         that included Clipboard.h.
549
550         * editing/Editor.cpp: Added include of Clipboard.h since we use it here
551         and the world no longer includes it everywhere.
552
553         * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
554         We used to get this indirectly through Clipboard.h.
555
556         * inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
557         and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
558         Also removed unneeded include of <wtf/RefPtr.h>.
559
560         * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
561         We used to get this indirectly through Clipboard.h.
562
563         * loader/PingLoader.cpp: Added include of ResourceResponse.h.
564         We used to get this indirectly through Clipboard.h.
565
566         * page/DragController.cpp: Added include of DragState.h.
567         We used to get this indirectly through EventHandler.h
568
569         * page/EventHandler.h: Forward declared DragState and Element instead of
570         including DragState.h. Also added an include of LayoutPoint.h, which we
571         used to get indirectly through DragState.h.
572
573 2013-02-27  Darin Adler  <darin@apple.com>
574
575         StringHasher functions require alignment that call sites do not all guarantee
576         https://bugs.webkit.org/show_bug.cgi?id=110171
577
578         Reviewed by Benjamin Poulain.
579
580         * platform/graphics/WidthCache.h:
581         (WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
582         addCharactersAssumingAligned to make sure we don't slow this call site down.
583         It's safe since this code always adds characters two at a time.
584
585 2013-03-02  Adam Barth  <abarth@webkit.org>
586
587         XSSAuditor has a subtle race condition when used with the threaded HTML parser
588         https://bugs.webkit.org/show_bug.cgi?id=111253
589
590         Reviewed by Eric Seidel.
591
592         We were refing and derefing a StringImpl for a main-thread
593         AtomicString. Using QualifiedNames on the background thread is very
594         fragile and we should figure out a more robust solution.
595
596         * html/parser/XSSAuditor.cpp:
597         (WebCore::findAttributeWithName):
598
599 2013-03-02  Benjamin Poulain  <bpoulain@apple.com>
600
601         Move computedStyleIncludingVisitedInfo from TestRunner to Internals
602         https://bugs.webkit.org/show_bug.cgi?id=109772
603
604         Reviewed by Andreas Kling.
605
606         The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
607         it is better defined on Internals than on TestRunner.
608
609         * testing/Internals.cpp:
610         (WebCore::Internals::computedStyleIncludingVisitedInfo):
611         * testing/Internals.h:
612         * testing/Internals.idl:
613
614 2013-03-02  David Kilzer  <ddkilzer@apple.com>
615
616         BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
617         <http://webkit.org/b/106059>
618
619         Fixes the following build failure:
620
621             Undefined symbols for architecture armv7:
622               "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
623                   -[WebFrame javaScriptContext] in WebFrame.o
624                   __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
625             ld: symbol(s) not found for architecture armv7
626
627         * WebCore.exp.in: Export ScriptController::javaScriptContext()
628         even more unconditionally.
629
630 2013-03-02  Eric Seidel  <eric@webkit.org>
631
632         Remove two unnecessary mallocs from the main-thread-parser code path
633         https://bugs.webkit.org/show_bug.cgi?id=111249
634
635         Reviewed by Adam Barth.
636
637         I noticed these while fixing up our Vector -> String conversions
638         but never went back to fix the FIXME.
639
640         AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
641         if the represented string is already in the AtomicString table.  It
642         also handles 8bit vs. 16bit and empty() just like nameString() does.
643
644         I also removed a 3rd caller to nameString() in the XSSAuditor which
645         was causing an unnecessary malloc in both the main and background
646         thread parser paths.
647
648         * html/parser/AtomicHTMLToken.h:
649         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
650         * html/parser/HTMLToken.h:
651         * html/parser/XSSAuditor.cpp:
652         (WebCore):
653         (WebCore::threadSafeMatch):
654         (WebCore::hasName):
655
656 2013-03-02  Eric Seidel  <eric@webkit.org>
657
658         constructTreeFromCompactHTMLToken should call clearExternalCharacters
659         https://bugs.webkit.org/show_bug.cgi?id=111248
660
661         Reviewed by Adam Barth.
662
663         I don't know how to write a test for this.  It's possible characters()
664         is never accessed from HTMLStackItem::token(), but it's better to be
665         safe than sorry here.
666
667         * html/parser/HTMLDocumentParser.cpp:
668         (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
669
670 2013-03-02  Rob Buis  <rbuis@rim.com>
671
672         Text overflow ellipsis wrong color when using webkit-text-fill-color
673         https://bugs.webkit.org/show_bug.cgi?id=54841
674
675         Reviewed by David Hyatt.
676
677         Take -webkit-text-fill-color into account for ellipsis painting.
678
679         Test: fast/css/text-overflow-ellipsis-color.html
680
681         * rendering/EllipsisBox.cpp:
682         (WebCore::EllipsisBox::paint):
683
684 2013-03-02  Ryosuke Niwa  <rniwa@webkit.org>
685
686         Fix a typo in my previous commit (r144534).
687
688         * platform/win/PasteboardWin.cpp:
689
690 2013-03-02  Nayan Kumar K  <nayankk@motorola.com>
691
692         [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
693         https://bugs.webkit.org/show_bug.cgi?id=110818
694
695         Reviewed by Kenneth Russell.
696
697         As per OES_texture_half_float specification texImage2D and texSubImage2D entry
698         points taking ArrayBufferView should extended to accept null with the pixel type
699         HALF_FLOAT_OES.
700
701         Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
702                fast/canvas/webgl/oes-texture-half-float.html
703
704         * CMakeLists.txt:
705         * DerivedSources.make:
706         * DerivedSources.pri:
707         * GNUmakefile.list.am:
708         * Target.pri:
709         * WebCore.gypi:
710         * WebCore.xcodeproj/project.pbxproj:
711         * bindings/js/JSWebGLRenderingContextCustom.cpp:
712         (WebCore::toJS):
713         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
714         (WebCore::toV8Object):
715         * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
716         (WebCore):
717         (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
718         (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
719         (WebCore::OESTextureHalfFloat::getName):
720         (WebCore::OESTextureHalfFloat::create):
721         * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
722         (WebCore):
723         (OESTextureHalfFloat):
724         * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
725         * html/canvas/WebGLExtension.h:
726         * html/canvas/WebGLRenderingContext.cpp:
727         (WebCore):
728         (WebCore::WebGLRenderingContext::getExtension):
729         (WebCore::WebGLRenderingContext::texImage2D):
730         (WebCore::WebGLRenderingContext::texSubImage2D):
731         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
732         (WebCore::WebGLRenderingContext::validateTexFuncData):
733         * html/canvas/WebGLRenderingContext.h:
734         (WebCore):
735         (WebGLRenderingContext):
736         * html/canvas/WebGLRenderingContext.idl:
737         * platform/graphics/Extensions3D.h:
738         (Extensions3D):
739         * platform/graphics/GraphicsContext3D.cpp:
740         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
741         * platform/graphics/GraphicsContext3D.h:
742         * platform/graphics/GraphicsTypes3D.h:
743         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
744         (WebCore::GraphicsContext3D::texImage2D):
745
746 2013-03-02  Ryosuke Niwa  <rniwa@webkit.org>
747
748         Windows build fix attempt after r144530.
749
750         * platform/win/PasteboardWin.cpp:
751
752 2013-03-01  Dan Bernstein  <mitz@apple.com>
753
754         Tried to fix the build after r144530.
755
756         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
757         base class.
758
759 2013-03-01  Terry Anderson  <tdanderson@chromium.org>
760
761         Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
762         https://bugs.webkit.org/show_bug.cgi?id=107314
763
764         Reviewed by Darin Adler.
765
766         EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
767         and this was the only place where the member variable |m_useLatchedEventNode| in
768         PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
769
770         No change in behavior, so no new tests needed.
771
772         * platform/PlatformWheelEvent.h:
773         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
774         (WebCore::PlatformWheelEvent::useLatchedEventNode):
775         (PlatformWheelEvent):
776
777 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
778
779         Reduce amount of rebuilding when touching networking headers
780         https://bugs.webkit.org/show_bug.cgi?id=111035
781
782         Reviewed by Eric Seidel.
783
784         This uses a number of common unsurprising techniques. One interesting observation
785         is that including CachedResource related headers is very expensive. We can usually
786         get away with their Client counterparts, and with CachedResourceHandle.
787
788         * page/Frame.cpp:
789         * page/Frame.h:
790         Don't include FrameLoader, greatly reducing include graph for most non-loader files.
791         This required making Frame::init() non-inline - I'm not sure why it ever was.
792
793         * loader/FrameLoader.cpp:
794         * loader/FrameLoader.h:
795         Even though FrameLoader is logically on loading side of WebCore, it's included in
796         too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
797         largest wins. As a future improvement, we should probably convert other members
798         to OwnPtrs.
799
800         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
801         definition of a class it holds, but default construction does not.
802
803         * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
804         not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
805
806         * loader/cache/CachedFont.h:
807         * loader/cache/CachedFontClient.h: Added.
808         * loader/cache/CachedRawResource.h:
809         * loader/cache/CachedRawResourceClient.h: Added.
810         * loader/cache/CachedSVGDocument.h:
811         * loader/cache/CachedSVGDocumentClient.h: Added.
812         These types were defining client types in the same headers, making it impossible
813         to avoid including networking headers through CachedResource. Moved clients into
814         separate files.
815
816         * plugins/PluginStream.h:
817         * plugins/PluginStreamClient.h: Added.
818         Similar situation here.
819
820         * loader/cache/CachedResourceHandle.cpp:
821         * loader/cache/CachedResourceHandle.h:
822         Moved functions that need to know about CachedResource to .cpp file. This is another
823         huge win. Added a destructor, so that CachedResource woudn't be needed in all files
824         that include CachedResourceHandle.
825
826         * loader/cache/CachedSVGDocumentReference.cpp: Added.
827         * loader/cache/CachedSVGDocumentReference.h:
828         Moved constructor and virtual function implementations to a .cpp file - they need
829         not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
830
831         * platform/graphics/filters/FilterOperation.cpp:
832         * platform/graphics/filters/FilterOperation.h:
833         Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
834         CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
835         rendering code that it seems best to cut any ties with resources and loading.
836         Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
837         classes are generally harmful (due to code bloat).
838
839         * plugins/PluginRequest.h: Added.
840         * plugins/PluginView.h:
841         Moved PluginRequest into a separate file, it was out of place in a view hierarchy
842         class file.
843
844         * rendering/RenderImageResource.cpp:
845         * rendering/RenderImageResource.h:
846         Moved definitions of virtual functions to a .cpp file. Thre is no win from having
847         them inline, and now we don't need CachedImage.h in the header.
848
849         * rendering/style/StyleCustomFilterProgram.cpp: Added.
850         * rendering/style/StyleCustomFilterProgram.h:
851         Ditto.
852
853         * CMakeLists.txt:
854         * GNUmakefile.list.am:
855         * Modules/mediastream/RTCPeerConnection.cpp:
856         * Modules/notifications/Notification.cpp:
857         * Target.pri:
858         * WebCore.exp.in:
859         * WebCore.gypi:
860         * WebCore.vcproj/WebCore.vcproj:
861         * WebCore.vcxproj/WebCore.vcxproj:
862         * WebCore.vcxproj/WebCore.vcxproj.filters:
863         * WebCore.xcodeproj/project.pbxproj:
864         * bindings/ScriptControllerBase.cpp:
865         * bindings/js/JSNodeCustom.cpp:
866         * bindings/js/ScriptController.cpp:
867         * bindings/js/ScriptSourceCode.h:
868         * bindings/objc/DOM.mm:
869         * bindings/v8/ScriptController.cpp:
870         * bindings/v8/V8DOMWindowShell.cpp:
871         * bindings/v8/custom/V8DOMWindowCustom.cpp:
872         * css/CSSFontFaceSource.h:
873         * css/CSSFontSelector.cpp:
874         * css/WebKitCSSSVGDocumentValue.cpp:
875         * css/WebKitCSSSVGDocumentValue.h:
876         * dom/Clipboard.cpp:
877         * dom/ContainerNode.cpp:
878         * dom/DOMImplementation.cpp:
879         * dom/PendingScript.h:
880         * dom/ScriptElement.cpp:
881         * dom/ScriptElement.h:
882         * history/CachedFrame.cpp:
883         * html/DOMURL.cpp:
884         * html/HTMLAnchorElement.cpp:
885         * html/HTMLAppletElement.cpp:
886         * html/HTMLElement.cpp:
887         * html/HTMLEmbedElement.cpp:
888         * html/HTMLFrameSetElement.cpp:
889         * html/HTMLHtmlElement.cpp:
890         * html/HTMLImageElement.cpp:
891         * html/HTMLObjectElement.cpp:
892         * html/HTMLPlugInElement.cpp:
893         * html/ImageDocument.cpp:
894         * html/ImageInputType.cpp:
895         * html/MediaDocument.cpp:
896         * html/PluginDocument.cpp:
897         * html/canvas/WebGLRenderingContext.cpp:
898         * html/parser/HTMLConstructionSite.cpp:
899         * html/parser/HTMLParserOptions.cpp:
900         * html/parser/HTMLScriptRunner.h:
901         * html/parser/XSSAuditor.cpp:
902         * html/parser/XSSAuditorDelegate.cpp:
903         * inspector/InspectorDebuggerAgent.cpp:
904         * inspector/InspectorFileSystemAgent.cpp:
905         * inspector/InspectorFrontendHost.cpp:
906         * inspector/InspectorInstrumentation.h:
907         * inspector/InspectorPageAgent.cpp:
908         * inspector/NetworkResourcesData.cpp:
909         * inspector/NetworkResourcesData.h:
910         * loader/CookieJar.cpp:
911         * loader/CrossOriginAccessControl.cpp:
912         * loader/CrossOriginPreflightResultCache.h:
913         * loader/DocumentThreadableLoader.h:
914         * loader/ImageLoader.cpp:
915         * loader/ImageLoader.h:
916         * loader/LinkLoader.h:
917         * loader/MainResourceLoader.cpp:
918         * loader/MainResourceLoader.h:
919         * loader/MixedContentChecker.cpp:
920         * loader/PingLoader.cpp:
921         * loader/PolicyChecker.h:
922         * loader/ProgressTracker.cpp:
923         * loader/SubframeLoader.cpp:
924         * loader/SubresourceLoader.cpp:
925         * loader/TextTrackLoader.cpp:
926         * loader/TextTrackLoader.h:
927         * loader/ThreadableLoader.h:
928         * loader/appcache/ApplicationCacheGroup.cpp:
929         * loader/appcache/ApplicationCacheGroup.h:
930         * loader/appcache/ApplicationCacheHost.cpp:
931         * loader/archive/cf/LegacyWebArchive.cpp:
932         * loader/cache/CachedFont.cpp:
933         * loader/cache/CachedImage.cpp:
934         * loader/cache/CachedRawResource.cpp:
935         * loader/cache/CachedResource.cpp:
936         * loader/cache/CachedStyleSheetClient.h:
937         * loader/cache/MemoryCache.cpp:
938         * loader/cache/MemoryCache.h:
939         * loader/chromium/CachedRawResourceChromium.cpp:
940         * loader/icon/IconController.cpp:
941         * loader/icon/IconLoader.h:
942         * loader/mac/ResourceLoaderMac.mm:
943         * page/DOMWindowExtension.cpp:
944         * page/DragController.cpp:
945         * page/PerformanceNavigation.cpp:
946         * page/PerformanceTiming.cpp:
947         * page/PointerLockController.cpp:
948         * page/Settings.cpp:
949         * page/animation/CSSPropertyAnimation.cpp:
950         * platform/chromium/PasteboardChromium.cpp:
951         * platform/efl/ErrorsEfl.cpp:
952         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
953         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
954         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
955         * platform/gtk/ErrorsGtk.cpp:
956         * platform/gtk/PasteboardGtk.cpp:
957         * platform/gtk/PasteboardHelper.h:
958         * platform/mac/ClipboardMac.h:
959         * platform/mac/ClipboardMac.mm:
960         * platform/mac/HTMLConverter.mm:
961         * platform/mac/PasteboardMac.mm:
962         * platform/network/AuthenticationChallengeBase.cpp:
963         * platform/network/cf/CookieJarCFNet.cpp:
964         * platform/network/cf/ResourceRequestCFNet.cpp:
965         * platform/network/mac/CookieStorageMac.mm:
966         * platform/qt/PasteboardQt.cpp:
967         * plugins/DOMMimeType.cpp:
968         * plugins/PluginView.cpp:
969         * rendering/HitTestResult.cpp:
970         * rendering/InlineFlowBox.cpp:
971         * rendering/RenderBox.cpp:
972         * rendering/RenderEmbeddedObject.cpp:
973         * rendering/RenderImage.cpp:
974         * rendering/RenderImageResourceStyleImage.cpp:
975         * rendering/RenderLayer.cpp:
976         * rendering/RenderLayerBacking.cpp:
977         * rendering/RenderLayerFilterInfo.h:
978         * rendering/RenderListItem.cpp:
979         * rendering/RenderListMarker.cpp:
980         * rendering/RenderSnapshottedPlugIn.cpp:
981         * rendering/RenderTableCol.cpp:
982         * rendering/RenderTableRow.cpp:
983         * rendering/RenderTableSection.cpp:
984         * rendering/style/StyleCachedShader.h:
985         * svg/SVGFEImageElement.h:
986         * svg/SVGFontFaceUriElement.h:
987         * svg/SVGImageLoader.cpp:
988         * svg/SVGUseElement.cpp:
989         * svg/SVGUseElement.h:
990         * svg/graphics/SVGImageCache.cpp:
991         * testing/MockPagePopupDriver.cpp:
992         * xml/XSLStyleSheet.h:
993         * xml/XSLTProcessorLibxslt.cpp:
994         * xml/parser/XMLDocumentParser.cpp:
995         * xml/parser/XMLDocumentParser.h:
996         * xml/parser/XMLDocumentParserLibxml2.cpp:
997         Many self-evident changes - removing unnecessary header includes, adding smaller
998         more local ones that are now necessary.
999
1000 2013-03-01  David Hyatt  <hyatt@apple.com>
1001
1002         [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
1003         https://bugs.webkit.org/show_bug.cgi?id=111221.
1004
1005         Reviewed by Simon Fraser.
1006
1007         Improve transparencyClipBox so that it understands when moving into descendants
1008         that it does in fact have to break up the transformed clip rect across the
1009         fragments.
1010         
1011         Make sure when handling fragmented transforms using multiple paints that
1012         the test that determines the extent of the transform within the fragments
1013         uses transparencyClipBox. This gives us an accurate set of columns that the
1014         final transformed result will paint across.
1015
1016         Tests: fast/multicol/mixed-opacity-fixed-test.html
1017                fast/multicol/mixed-opacity-test.html
1018                fast/multicol/transform-inside-opacity.html
1019
1020         * rendering/RenderLayer.cpp:
1021         (WebCore::transparencyClipBox):
1022         (WebCore::expandClipRectForDescendantsAndReflection):
1023         Break transformed boxes up into fragments when they are
1024         being requested by an ancestor.
1025
1026         (WebCore::RenderLayer::collectFragments):
1027         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
1028         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
1029         * rendering/RenderLayer.h:
1030         (RenderLayer):
1031         Modify collectFragments so that we pass in the correct range
1032         within the columns that can possibly cover the fragmented
1033         transformed box.
1034
1035 2013-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
1036
1037         Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
1038         https://bugs.webkit.org/show_bug.cgi?id=110943
1039
1040         Reviewed by Yury Semikhatsky.
1041
1042         Unfortunately in many cases raw pointer may point to an object that has been deleted.
1043         There is no working solution to solve this problem in general.
1044         It could be solved only on case by case basis.
1045
1046         * inspector/HeapGraphSerializer.cpp:
1047         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
1048         (WebCore::HeapGraphSerializer::reportLeaf):
1049         * loader/cache/MemoryCache.cpp:
1050         (WebCore::MemoryCache::reportMemoryUsage):
1051         * platform/graphics/BitmapImage.cpp:
1052         (WebCore::FrameData::reportMemoryUsage):
1053         * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
1054         (reportMemoryUsage):
1055
1056 2013-03-01  Kentaro Hara  <haraken@chromium.org>
1057
1058         Style recalculation takes too long when adding whitespace text nodes
1059         https://bugs.webkit.org/show_bug.cgi?id=110786
1060
1061         Reviewed by Darin Adler.
1062
1063         // This takes 216 msec.
1064         for (var i = 0; i < 1500; ++i) {
1065           document.body.appendChild(document.createTextNode('x'));
1066           document.body.appendChild(document.createElement('div'));
1067           document.body.appendChild(document.createTextNode('x'));
1068         }
1069
1070         // But this takes 25.3 seconds.
1071         for (var i = 0; i < 1500; ++i) {
1072           document.body.appendChild(document.createTextNode(' '));
1073           document.body.appendChild(document.createElement('div'));
1074           document.body.appendChild(document.createTextNode(' '));
1075         }
1076
1077         The reason is that we do not create renderers for empty text
1078         nodes and thus we are hitting the worst O(N^2) case in Node::attach().
1079         (See FIXME in Node::attach().)
1080
1081         This patch adds a logic to bail out the loop to avoid the O(N^2) case.
1082         Specifically, the patch bails out the loop if we encounter a text node
1083         for which we again decided not to create a renderer. This bail out is
1084         reasonable because the fact that we again decided not to create a renderer
1085         for the text node indicates that there will be no affect of the result
1086         of Text::textRendererIsNeeded() of the rest of the sibling nodes.
1087
1088         Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
1089         Performance result in Chromium/Linux: 25.3 sec => 48 msec !
1090
1091         Test: perf/append-text-nodes-without-renderers.html (for performance)
1092               fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
1093
1094         The loop was introduced in r29054. We have to make sure that
1095         all layout tests that were updated in r29054 pass with this patch.
1096         See http://trac.webkit.org/changeset/29054.
1097
1098         * dom/Node.cpp:
1099         (WebCore::Node::attach):
1100
1101 2013-03-01  Jason Anderssen  <janderssen@gmail.com>
1102
1103         Moved markerTextForListItem from TestRunner to Internals
1104         https://bugs.webkit.org/show_bug.cgi?id=110939
1105
1106         Reviewed by Benjamin Poulain.
1107
1108         TestRunner framework is an old way of testing webkit, it would be
1109         better to incorporate the testing frame directly into the WebCore itself
1110         as to make it more compatible with WK2.
1111
1112         * testing/Internals.cpp:
1113         (WebCore::Internals::markerTextForListItem):
1114         (WebCore):
1115         * testing/Internals.h:
1116         * testing/Internals.idl:
1117
1118 2013-03-01  Elliott Sprehn  <esprehn@gmail.com>
1119
1120         Don't leak Documents when using MutationObserver from extensions
1121         https://bugs.webkit.org/show_bug.cgi?id=111234
1122
1123         Reviewed by Adam Barth.
1124
1125         MutationObserverCallback holds a WorldContextHandle which secretly isn't
1126         a handle to anything when it's for the main world. When it's for a non-main
1127         world though, like those used in extensions, it becomes a strong reference
1128         to the v8::Context which results in leaks by creating cycles:
1129
1130         MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
1131
1132         Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
1133         get the v8::Context from that inside handleEvent.
1134
1135         Tests: ManualTests/leak-observer-nonmain-world.html
1136
1137         * bindings/v8/V8Binding.cpp:
1138         (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
1139         * bindings/v8/V8Binding.h:
1140         * bindings/v8/V8MutationCallback.cpp:
1141         (WebCore::V8MutationCallback::V8MutationCallback):
1142         (WebCore::V8MutationCallback::handleEvent):
1143         * bindings/v8/V8MutationCallback.h:
1144         (V8MutationCallback):
1145
1146 2013-03-01  Bear Travis  <betravis@adobe.com>
1147
1148         [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
1149         https://bugs.webkit.org/show_bug.cgi?id=110995
1150
1151         Reviewed by Julien Chaffraix.
1152
1153         This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
1154         which enables us to move away from the global ExclusionShapeInsideInfo map.
1155         Some additional refactoring was done to remove ExclusionShapeInsideInfo's
1156         dependency on InlineIterator, which depended on RenderBlock. This work required
1157         adding a new LineSegmentIterator struct.
1158
1159         Refactoring, no new tests.
1160
1161         * rendering/ExclusionShapeInsideInfo.cpp:
1162         (WebCore):
1163         (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
1164         constructor to the .cpp file, as InlineIterator is now forward declared in
1165         the .h file.
1166         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
1167         the .cpp file, as RenderBlock is now forward declared in the .h file.
1168         * rendering/ExclusionShapeInsideInfo.h:
1169         (WebCore):
1170         (LineSegmentIterator): A simple struct for containing segment positions for
1171         layout.
1172         (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
1173         (LineSegmentRange): Transitioning to store LineSegmentIterator.
1174         (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
1175         (ExclusionShapeInsideInfo):
1176         * rendering/RenderBlock.cpp:
1177         (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
1178         its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
1179         (WebCore):
1180         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
1181         the RenderBlockRareData struct rather than the global map.
1182         * rendering/RenderBlock.h:
1183         (WebCore):
1184         (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
1185         is present if the shape-inside style is set.
1186         (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
1187         the current block.
1188         (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
1189         for the current block.
1190         (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
1191         * rendering/RenderBlockLineLayout.cpp:
1192         (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
1193         layout based on the stored LineSegmentIterators.
1194
1195 2013-03-01  Terry Anderson  <tdanderson@chromium.org>
1196
1197         EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines 
1198         so its behavior matches other user-initiated scrolls
1199         https://bugs.webkit.org/show_bug.cgi?id=109769
1200
1201         Reviewed by James Robinson.
1202
1203         To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
1204         the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
1205         instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
1206         reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
1207         be scrolled using touch but cannot be scrolled using mousewheels.
1208
1209         Note that this patch does not use any of the mousewheel event-handling code.
1210
1211         Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
1212                fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
1213                fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
1214                fast/events/touch/gesture/touch-gesture-noscroll-body.html
1215
1216         * page/EventHandler.cpp:
1217         (WebCore::EventHandler::clear):
1218         (WebCore::EventHandler::handleGestureEvent):
1219         (WebCore::EventHandler::handleGestureScrollBegin):
1220         (WebCore::EventHandler::handleGestureScrollUpdate):
1221         (WebCore::EventHandler::sendScrollEventToView):
1222             By calling this function at the start of handleGestureScrollUpdate() in the case
1223             where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
1224             can still scroll the page itself, if possible.
1225         (WebCore):
1226         (WebCore::EventHandler::clearGestureScrollNodes):
1227         * page/EventHandler.h:
1228         (EventHandler):
1229         * platform/PlatformWheelEvent.h:
1230         (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
1231
1232 2013-03-01  Alec Flett  <alecflett@chromium.org>
1233
1234         IndexedDB: Avoid ScriptValue copies in IDBAny
1235         https://bugs.webkit.org/show_bug.cgi?id=111002
1236
1237         Reviewed by Adam Barth.
1238
1239         This avoids some v8 handle thrashing in the long term,
1240         and protects us against some crashes in the short term.
1241
1242         The crashes will be fixed in 
1243         https://bugs.webkit.org/show_bug.cgi?id=110206.
1244
1245         * Modules/indexeddb/IDBAny.cpp:
1246         (WebCore::IDBAny::createNull):
1247         (WebCore::IDBAny::createString):
1248         (WebCore::IDBAny::IDBAny):
1249         (WebCore::IDBAny::scriptValue):
1250         * Modules/indexeddb/IDBAny.h:
1251         (WebCore::IDBAny::create):
1252         (IDBAny):
1253         (WebCore::IDBAny::keyPath):
1254         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1255         (WebCore::toV8):
1256         (WebCore):
1257
1258 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
1259
1260         Support padding, margin and border for internal UA cue styling
1261         https://bugs.webkit.org/show_bug.cgi?id=110703
1262
1263         Reviewed by Eric Carlson.
1264
1265         For some particular user agent styling this allows the possibility
1266         of making the window around the cue text bigger to match some user
1267         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
1268
1269         These properties *cannot* be set through by using the ::cue
1270         pseudo-element and, as specified, are used only internally.
1271
1272         Note: This patch is identical to the previously commited one,
1273         as it was rolled back without related tests failing.
1274
1275         Test: media/track/track-cue-rendering-with-padding.html
1276
1277         * css/mediaControls.css:
1278         (video::-webkit-media-text-track-display): Set the CSS box model
1279         to include in the specified width or height the values of
1280         padding / margin / border by using -webkit-box-sizing and avoid
1281         overflow over 100% width because of having these properties set.
1282         * rendering/RenderTextTrackCue.cpp:
1283         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
1284         the regular WebVTT positioning algorithm, the check is done for
1285         the absolute content box.
1286         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
1287         an extra adjustment step to accomodate vertical padding (and not
1288         overflow the cue container)
1289
1290 2013-03-01  Andy Estes  <aestes@apple.com>
1291
1292         REGRESSION (r125809): CFStrings created via StringImpl::createCFString()  might reference freed memory when Objective-C garbage collection is enabled
1293         https://bugs.webkit.org/show_bug.cgi?id=111219
1294
1295         Reviewed by Benjamin Poulain.
1296
1297         StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
1298         order to create CFString without making an unnecessary copy. In order
1299         to ensure that the the StringImpl's backing buffer isn't deallocated
1300         while the CFString is still alive, we use a custom CFAllocator to
1301         ref/deref the StringImpl at the appropriate times.
1302
1303         However, custom allocators aren't supported when Objective-C garbage
1304         collection is enabled, so in this case we use the default CF allocator.
1305         Since we can't guarantee the lifetime of the StringImpl in this case,
1306         we should just fall back to copying the string, as we did prior to r125809.
1307
1308         * platform/text/cf/StringImplCF.cpp:
1309         (garbageCollectionEnabled): Moved the check for whether garbage
1310         collection is enabled from StringWrapperCFAllocator::create() to here.
1311         (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
1312         (WTF::StringImpl::createCFString): If garbage collection is enabled,
1313         call the variants of CFStringCreate that copy the string.
1314
1315 2013-03-01  Roger Fong  <roger_fong@apple.com>
1316
1317         Unreviewed AppleWin build fix.
1318
1319         * platform/network/cf/ResourceHandleCFNet.cpp:
1320         (WebCore::ResourceHandle::createCFURLConnection):
1321
1322 2013-03-01  Martin Robinson  <mrobinson@igalia.com>
1323
1324         [GTK] Allow sharing the WebCore include list with the Chromium build
1325         https://bugs.webkit.org/show_bug.cgi?id=110241
1326
1327         Reviewed by Dirk Pranke.
1328
1329         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
1330         * WebCore.gypi: Added shared include directories.
1331
1332 2013-03-01  Alexey Proskuryakov  <ap@apple.com>
1333
1334         Make in-memory blobs work in NetworkProcess
1335         https://bugs.webkit.org/show_bug.cgi?id=111132
1336
1337         Reviewed by Sam Weinig.
1338
1339         * WebCore.exp.in:
1340         * WebCore.xcodeproj/project.pbxproj:
1341         Exported functions now needed by WebKit2, and made some headers Private instead
1342         of Project.
1343
1344 2013-03-01  Eric Seidel  <eric@webkit.org>
1345
1346         Threaded HTML Parser has an extra copy of every byte from the network
1347         https://bugs.webkit.org/show_bug.cgi?id=111135
1348
1349         Reviewed by Adam Barth.
1350
1351         Every LayoutTest executes this code in threaded parsing mode.
1352
1353         * dom/DecodedDataDocumentParser.cpp:
1354         (WebCore::DecodedDataDocumentParser::appendBytes):
1355          - Pass ownership of the decoded string to the parser.
1356         (WebCore::DecodedDataDocumentParser::flush):
1357          - Same.
1358         * dom/DecodedDataDocumentParser.h:
1359         (DecodedDataDocumentParser):
1360         * dom/Document.cpp:
1361         (WebCore::Document::setContent):
1362         * dom/DocumentParser.h:
1363         (DocumentParser):
1364         * dom/RawDataDocumentParser.h:
1365         (WebCore::RawDataDocumentParser::append):
1366         * html/FTPDirectoryDocument.cpp:
1367         (FTPDirectoryDocumentParser):
1368         (WebCore::FTPDirectoryDocumentParser::append):
1369         * html/parser/HTMLDocumentParser.cpp:
1370         (WebCore::HTMLDocumentParser::append):
1371         * html/parser/HTMLDocumentParser.h:
1372         (HTMLDocumentParser):
1373         * html/parser/HTMLViewSourceParser.cpp:
1374         (WebCore::HTMLViewSourceParser::append):
1375         * html/parser/HTMLViewSourceParser.h:
1376         (HTMLViewSourceParser):
1377         * html/parser/TextDocumentParser.cpp:
1378         (WebCore::TextDocumentParser::append):
1379         * html/parser/TextDocumentParser.h:
1380         (TextDocumentParser):
1381         * loader/DocumentWriter.cpp:
1382         (WebCore::DocumentWriter::replaceDocument):
1383         * xml/parser/XMLDocumentParser.cpp:
1384         (WebCore::XMLDocumentParser::append):
1385         * xml/parser/XMLDocumentParser.h:
1386         (XMLDocumentParser):
1387         * xml/parser/XMLDocumentParserLibxml2.cpp:
1388         (WebCore::XMLDocumentParser::resumeParsing):
1389
1390 2013-03-01  David Hyatt  <hyatt@apple.com>
1391
1392         [New Multicolumn] Change inRenderFlowThread to follow containing block chain
1393         https://bugs.webkit.org/show_bug.cgi?id=111206
1394
1395         Reviewed by Simon Fraser.
1396
1397         This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
1398         to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
1399         the containing block chain instead of the parent chain when outside of layout.
1400         (It already did the right thing when called during layout.)
1401         
1402         By removing inRenderFlowThread (which was following the parent chain), all
1403         code that is checking for flow thread containment now correctly uses the
1404         containing block chain. This allows for content to escape in-flow flow threads
1405         and do the right thing without asserting.
1406         
1407         Test: fast/multicol/positioned-outside-of-columns.html
1408
1409         * dom/WebKitNamedFlow.cpp:
1410         (WebCore::inFlowThread):
1411         (WebCore::WebKitNamedFlow::getRegionsByContent):
1412         * rendering/RenderBlock.cpp:
1413         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
1414         (WebCore::RenderBlock::collapseAnonymousBoxChild):
1415         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
1416         (WebCore::RenderBlock::computeRegionRangeForBlock):
1417         (WebCore::RenderBlock::layoutBlock):
1418         (WebCore::RenderBlock::computeOverflow):
1419         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1420         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1421         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1422         (WebCore::RenderBlock::logicalRightOffsetForContent):
1423         (WebCore::RenderBlock::hasNextPage):
1424         (WebCore::RenderBlock::applyBeforeBreak):
1425         (WebCore::RenderBlock::applyAfterBreak):
1426         (WebCore::RenderBlock::pageLogicalTopForOffset):
1427         (WebCore::RenderBlock::pageLogicalHeightForOffset):
1428         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
1429         (WebCore::RenderBlock::adjustForUnsplittableChild):
1430         (WebCore::RenderBlock::adjustLinePositionForPagination):
1431         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1432         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
1433         (WebCore::RenderBlock::regionAtBlockOffset):
1434         (WebCore::RenderBlock::setStaticInlinePositionForChild):
1435         (WebCore::RenderBlock::logicalWidthChangedInRegions):
1436         (WebCore::RenderBlock::clampToStartAndEndRegions):
1437         * rendering/RenderBlock.h:
1438         (RenderBlock):
1439         * rendering/RenderBlockLineLayout.cpp:
1440         (WebCore::layoutExclusionShapeInsideInfo):
1441         (WebCore::LineLayoutState::LineLayoutState):
1442         (WebCore::LineLayoutState::flowThread):
1443         (WebCore::LineLayoutState::setFlowThread):
1444         (LineLayoutState):
1445         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1446         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1447         (WebCore::RenderBlock::layoutInlineChildren):
1448         (WebCore::RenderBlock::determineStartPosition):
1449         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1450         * rendering/RenderBox.cpp:
1451         (WebCore::RenderBox::clearRenderBoxRegionInfo):
1452         (WebCore::RenderBox::renderBoxRegionInfo):
1453         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1454         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1455         (WebCore::RenderBox::computePositionedLogicalWidth):
1456         (WebCore::RenderBox::computePositionedLogicalHeight):
1457         * rendering/RenderDeprecatedFlexibleBox.cpp:
1458         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1459         * rendering/RenderFlexibleBox.cpp:
1460         (WebCore::RenderFlexibleBox::layoutBlock):
1461         * rendering/RenderFlowThread.cpp:
1462         (WebCore::RenderFlowThread::objectInFlowRegion):
1463         * rendering/RenderGrid.cpp:
1464         (WebCore::RenderGrid::layoutBlock):
1465         * rendering/RenderInline.cpp:
1466         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
1467         * rendering/RenderLayer.cpp:
1468         (WebCore::accumulateOffsetTowardsAncestor):
1469         * rendering/RenderLayerCompositor.cpp:
1470         (WebCore::RenderLayerCompositor::canBeComposited):
1471         * rendering/RenderMedia.cpp:
1472         (WebCore::RenderMedia::layout):
1473         * rendering/RenderObject.cpp:
1474         (WebCore::RenderObject::locateFlowThreadContainingBlock):
1475         (WebCore::RenderObject::containerForRepaint):
1476         (WebCore::RenderObject::willBeRemovedFromTree):
1477         (WebCore::RenderObject::removeFromRenderFlowThread):
1478         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
1479         * rendering/RenderObject.h:
1480         (RenderObject):
1481         (WebCore::RenderObject::flowThreadContainingBlock):
1482         * rendering/RenderRegion.cpp:
1483         (WebCore::RenderRegion::setObjectStyleInRegion):
1484         * rendering/RenderView.cpp:
1485         (WebCore::RenderView::addChild):
1486         (WebCore::RenderView::initializeLayoutState):
1487         (WebCore::RenderView::setSelection):
1488         * rendering/RenderView.h:
1489         (WebCore::RenderView::pushLayoutState):
1490         * rendering/RootInlineBox.cpp:
1491         (WebCore::RootInlineBox::containingRegion):
1492         (WebCore::RootInlineBox::setContainingRegion):
1493
1494 2013-02-28  Sam Weinig  <sam@webkit.org>
1495
1496         Add SPI for marking a WebView as doing things on behalf of another process
1497         https://bugs.webkit.org/show_bug.cgi?id=111125
1498
1499         Reviewed by Alexey Proskuryakov.
1500
1501         * platform/network/NetworkingContext.h:
1502         (NetworkingContext):
1503         * platform/network/cf/ResourceHandleCFNet.cpp:
1504         (WebCore::ResourceHandle::createCFURLConnection):
1505         * platform/network/mac/ResourceHandleMac.mm:
1506         (WebCore::ResourceHandle::createNSURLConnection):
1507         Set the sourceApplicationAuditData on the URL connection if available.
1508
1509 2013-03-01  Brent Fulgham  <bfulgham@webkit.org>
1510
1511         [Windows] Unreviewed VS2010 build fix.
1512
1513         * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
1514           files to the project.
1515         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1516
1517 2013-03-01  Bear Travis  <betravis@adobe.com>
1518
1519         [css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
1520         https://bugs.webkit.org/show_bug.cgi?id=108128
1521
1522         Reviewed by David Hyatt.
1523
1524         Ensure that blocks lay out when their parent's shape-inside changes.
1525         ExclusionShapeInsideInfo now stores an additional flag indicating whether
1526         the shape has changed and its block's children require layout. Each block
1527         can look up the flag via LayoutState to determine whether it needs to lay
1528         out its children.
1529
1530         Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
1531
1532         * rendering/ExclusionShapeInfo.h:
1533         (WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
1534         if the shape has changed.
1535         (ExclusionShapeInfo):
1536         * rendering/ExclusionShapeInsideInfo.h:
1537         (WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
1538         layout is necessary.
1539         (WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
1540         (ExclusionShapeInsideInfo):
1541         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
1542         the layout flag.
1543         * rendering/RenderBlock.cpp:
1544         (WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
1545         cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
1546         (WebCore):
1547         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
1548         indicating whether regions or exclusions updates should cause a relayout.
1549         (WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
1550         changed.
1551         * rendering/RenderBlock.h:
1552         (RenderBlock):
1553         * rendering/RenderBlockLineLayout.cpp:
1554         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
1555         class method.
1556         (WebCore::LineWidth::LineWidth): Changing to use class method.
1557         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
1558         (WebCore::constructBidiRunsForLine): Ditto.
1559         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
1560         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
1561
1562 2013-03-01  Uday Kiran  <udaykiran@motorola.com>
1563
1564         getComputedStyle not implemented for -webkit-column-rule shorthand
1565         https://bugs.webkit.org/show_bug.cgi?id=111203
1566
1567         Reviewed by Alexis Menard.
1568
1569         Implement getComputedStyle for -webkit-column-rule property.
1570
1571         Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
1572
1573         * css/CSSComputedStyleDeclaration.cpp:
1574         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1575
1576 2013-02-28  David Hyatt  <hyatt@apple.com>
1577
1578         REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
1579         https://bugs.webkit.org/show_bug.cgi?id=111117
1580
1581         Make sure the allocated vector has a capacity of 1, since that is
1582         far and away the most common case.
1583
1584         Reviewed by Andreas Kling.
1585
1586         * rendering/RenderFlowThread.h:
1587         (WebCore):
1588         * rendering/RenderLayer.h:
1589         (WebCore):
1590         * rendering/RenderMultiColumnSet.cpp:
1591         (WebCore::RenderMultiColumnSet::collectLayerFragments):
1592         * rendering/RenderMultiColumnSet.h:
1593         * rendering/RenderRegion.h:
1594         (WebCore):
1595         (WebCore::RenderRegion::collectLayerFragments):
1596
1597 2013-03-01  Enrica Casucci  <enrica@apple.com>
1598
1599         Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
1600         https://bugs.webkit.org/show_bug.cgi?id=111211.
1601         <rdar://problem/8772758>
1602
1603         Reviewed by Ryosuke Niwa.
1604
1605         This is a speculative fix since we don't have a solid repro case.
1606         Adding null check every time we build a SharedBuffer from an NSData
1607         we have obtained manipulating data from the pasteboard.
1608
1609         * platform/mac/PasteboardMac.mm:
1610         (WebCore::writeFileWrapperAsRTFDAttachment):
1611         (WebCore::Pasteboard::writeImage):
1612
1613 2013-03-01  Enrica Casucci  <enrica@apple.com>
1614
1615         Crash at WebCore::SharedBuffer::hasPlatformData during paste.
1616         https://bugs.webkit.org/show_bug.cgi?id=111207.
1617         <rdar://problem/13024528>
1618
1619         Reviewed by Ryosuke Niwa.
1620
1621         This is a speculative fix since we don't have a solid repro case.
1622         Adding null check every time we get a SharedBuffer from the pasteboard.
1623
1624         * platform/mac/PasteboardMac.mm:
1625         (WebCore::Pasteboard::plainText):
1626         (WebCore::documentFragmentWithRTF):
1627
1628 2013-03-01  Alexey Proskuryakov  <ap@apple.com>
1629
1630         Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
1631
1632         * platform/network/BlobRegistryImpl.cpp:
1633
1634 2013-03-01  peavo@outlook.com  <peavo@outlook.com>
1635
1636         [Curl] Session cookies should not be persistent.
1637         https://bugs.webkit.org/show_bug.cgi?id=111060
1638
1639         Reviewed by Brent Fulgham.
1640
1641         Curl saves both persistent cookies, and session cookies to the cookie file.
1642         The session cookies should be deleted before starting a new session.
1643
1644         * platform/network/curl/ResourceHandleManager.cpp:
1645         (WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
1646         (WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.
1647         * platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
1648
1649 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
1650
1651         Web Inspector: Navigator should show tree element for each folder in the source path.
1652         https://bugs.webkit.org/show_bug.cgi?id=108943
1653
1654         Reviewed by Pavel Feldman.
1655
1656         NavigatorView now renders tree element for each folder in uiSourceCode uri.
1657         Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
1658         ScriptsNavigator has horizontal scroll now.
1659         Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
1660         with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').
1661
1662         Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
1663
1664         * English.lproj/localizedStrings.js:
1665         * inspector/front-end/NavigatorView.js:
1666         (WebInspector.NavigatorView):
1667         (WebInspector.NavigatorView.iconClassForType):
1668         (WebInspector.NavigatorView.prototype.addUISourceCode):
1669         (WebInspector.NavigatorView.prototype._getProjectNode):
1670         (WebInspector.NavigatorView.prototype._createProjectNode):
1671         (WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
1672         (WebInspector.NavigatorView.prototype._getFolderNode):
1673         (WebInspector.NavigatorView.prototype._createFolderNode):
1674         (WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
1675         (WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
1676         (WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
1677         (WebInspector.NavigatorView.prototype.revealUISourceCode):
1678         (WebInspector.NavigatorView.prototype.removeUISourceCode):
1679         (WebInspector.NavigatorView.prototype.rename):
1680         (WebInspector.NavigatorView.prototype.reset):
1681         (.typeWeight):
1682         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1683         (WebInspector.BaseNavigatorTreeElement):
1684         (WebInspector.BaseNavigatorTreeElement.prototype.type):
1685         (WebInspector.NavigatorFolderTreeElement):
1686         (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
1687         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1688         (WebInspector.NavigatorSourceTreeElement):
1689         (WebInspector.NavigatorTreeNode):
1690         (WebInspector.NavigatorTreeNode.prototype.treeElement):
1691         (WebInspector.NavigatorTreeNode.prototype.dispose):
1692         (WebInspector.NavigatorTreeNode.prototype.isRoot):
1693         (WebInspector.NavigatorTreeNode.prototype.hasChildren):
1694         (WebInspector.NavigatorTreeNode.prototype.populate):
1695         (WebInspector.NavigatorTreeNode.prototype.wasPopulated):
1696         (WebInspector.NavigatorTreeNode.prototype.didAddChild):
1697         (WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
1698         (WebInspector.NavigatorTreeNode.prototype.isPopulated):
1699         (WebInspector.NavigatorTreeNode.prototype.isEmpty):
1700         (WebInspector.NavigatorTreeNode.prototype.child):
1701         (WebInspector.NavigatorTreeNode.prototype.children):
1702         (WebInspector.NavigatorTreeNode.prototype.appendChild):
1703         (WebInspector.NavigatorTreeNode.prototype.removeChild):
1704         (WebInspector.NavigatorTreeNode.prototype.reset):
1705         (WebInspector.NavigatorRootTreeNode):
1706         (WebInspector.NavigatorRootTreeNode.prototype.isRoot):
1707         (WebInspector.NavigatorRootTreeNode.prototype.treeElement):
1708         (WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
1709         (WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
1710         (WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
1711         (WebInspector.NavigatorUISourceCodeTreeNode):
1712         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
1713         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
1714         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
1715         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
1716         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
1717         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
1718         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
1719         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
1720         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
1721         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
1722         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
1723         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
1724         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
1725         (WebInspector.NavigatorFolderTreeNode):
1726         (WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
1727         (WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
1728         (WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
1729         (WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
1730         (WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
1731         (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
1732         (WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
1733         * inspector/front-end/ScriptsNavigator.js:
1734         * inspector/front-end/SimpleWorkspaceProvider.js:
1735         (WebInspector.SimpleProjectDelegate.prototype.displayName):
1736         * inspector/front-end/navigatorView.css:
1737         (.navigator > ol):
1738         (.navigator .base-navigator-tree-element-title):
1739         (.navigator-tabbed-pane .navigator-container):
1740
1741 2013-03-01  Arvid Nilsson  <anilsson@rim.com>
1742
1743         [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
1744         https://bugs.webkit.org/show_bug.cgi?id=111072
1745
1746         Reviewed by Rob Buis.
1747
1748         BlackBerry PR 293208
1749
1750         This patch contains contributions from many members of the BlackBerry
1751         WebKit team:
1752
1753         Rob Buis
1754         Robin Cao
1755         Michael Carmody
1756         Max Feil
1757         Eli Fidler
1758         Antonio Gomes
1759         Jacky Jiang
1760         Mike Lattanzio
1761         Yong Li
1762         Andrew Lo
1763         Maxim Mogilnitsky
1764         Joshua Netterfield
1765         Arvid Nilsson
1766         Jakob Petsovits
1767         Konrad Piascik
1768         Jeff Rogers
1769         Artem Simonov
1770         Filip Spacek
1771         George Staikos
1772         Cosmin Truta
1773
1774         Covered by existing tests.
1775
1776         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
1777         (WebCore::CanvasLayerWebKitThread::deleteTextures):
1778         (CanvasLayerCompositingThreadClient):
1779         (WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
1780         (WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
1781         (WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
1782         (WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
1783         (WebCore):
1784         (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
1785         (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
1786         (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
1787         (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
1788         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
1789         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
1790         (WebCore::CanvasLayerWebKitThread::clearBuffer):
1791         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
1792         (WebCore):
1793         (WebCore::CanvasLayerWebKitThread::create):
1794         (CanvasLayerWebKitThread):
1795         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
1796         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1797         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
1798         (WebCore::DrawingBuffer::DrawingBuffer):
1799         (WebCore):
1800         (WebCore::DrawingBuffer::publishToPlatformLayer):
1801         (WebCore::DrawingBuffer::platformLayer):
1802         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
1803         (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
1804         (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
1805         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
1806         (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
1807         (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
1808         (WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):
1809         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
1810         (Graphics):
1811         (EGLImageLayerCompositingThreadClient):
1812         (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
1813         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
1814         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
1815         (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
1816         (WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
1817         (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
1818         (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
1819         (WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
1820         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
1821         * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
1822         (Graphics):
1823         (EGLImageLayerWebKitThread):
1824         * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
1825         (WebCore::FloatRect::normalized):
1826         (WebCore):
1827         * platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
1828         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1829         (WebCore::GraphicsContext3D::GraphicsContext3D):
1830         (WebCore::GraphicsContext3D::paintToCanvas):
1831         (WebCore::GraphicsContext3D::getImageData):
1832         (WebCore):
1833         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
1834         (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
1835         (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
1836         (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
1837         (WebCore):
1838         (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
1839         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
1840         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
1841         (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
1842         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
1843         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
1844         (GraphicsLayerBlackBerry):
1845         (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
1846         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1847         (WebCore::ImageFrame::asNewNativeImage):
1848         (WebCore):
1849         (WebCore::FrameData::clear):
1850         (WebCore::BitmapImage::BitmapImage):
1851         (WebCore::BitmapImage::checkForSolidColor):
1852         (WebCore::BitmapImage::invalidatePlatformData):
1853         (WebCore::BitmapImage::draw):
1854         (WebCore::Image::drawPattern):
1855         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
1856         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1857         (WebCore::LayerCompositingThread::drawTextures):
1858         (WebCore::LayerCompositingThread::drawSurface):
1859         (WebCore::LayerCompositingThread::contentsTexture):
1860         (WebCore::LayerCompositingThread::commitPendingTextureUploads):
1861         (WebCore):
1862         * platform/graphics/blackberry/LayerCompositingThread.h:
1863         (Graphics):
1864         (LayerCompositingThread):
1865         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
1866         (Graphics):
1867         (WebCore):
1868         (LayerCompositingThreadClient):
1869         (WebCore::LayerCompositingThreadClient::contentsTexture):
1870         (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
1871         * platform/graphics/blackberry/LayerData.h:
1872         (WebCore::LayerData::LayerData):
1873         (WebCore::LayerData::contentsResolutionIndependent):
1874         (LayerData):
1875         (WebCore::LayerData::layerProgram):
1876         (WebCore::LayerData::isContainerForFixedPositionLayers):
1877         (WebCore::LayerData::isFixedToTop):
1878         (WebCore::LayerData::isFixedToLeft):
1879         (WebCore::LayerData::frameVisibleRect):
1880         (WebCore::LayerData::frameContentsSize):
1881         (WebCore::LayerData::contentsScale):
1882         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1883         (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
1884         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
1885         (WebCore::LayerFilterRenderer::ping):
1886         (WebCore::LayerFilterRenderer::pong):
1887         (WebCore::LayerFilterRenderer::pushSnapshot):
1888         (WebCore::LayerFilterRenderer::popSnapshot):
1889         (WebCore::LayerFilterRenderer::applyActions):
1890         * platform/graphics/blackberry/LayerRenderer.cpp:
1891         (WebCore):
1892         (WebCore::LayerRenderer::LayerRenderer):
1893         (WebCore::LayerRenderer::~LayerRenderer):
1894         (WebCore::LayerRenderer::setViewport):
1895         (WebCore::LayerRenderer::compositeLayers):
1896         (WebCore::LayerRenderer::compositeBuffer):
1897         (WebCore::LayerRenderer::drawColor):
1898         (WebCore::LayerRenderer::useSurface):
1899         (WebCore::LayerRenderer::drawLayersOnSurfaces):
1900         (WebCore::glRound):
1901         (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
1902         (WebCore::LayerRenderer::drawDebugBorder):
1903         (WebCore::LayerRenderer::drawHolePunchRect):
1904         (WebCore::LayerRenderer::updateLayersRecursive):
1905         (WebCore::LayerRenderer::compositeLayersRecursive):
1906         (WebCore::LayerRenderer::createProgram):
1907         (WebCore::LayerRenderer::useProgram):
1908         (WebCore::LayerRenderer::useLayerProgram):
1909         * platform/graphics/blackberry/LayerRenderer.h:
1910         (LayerRenderer):
1911         * platform/graphics/blackberry/LayerRendererSurface.cpp:
1912         (WebCore::LayerRendererSurface::ensureTexture):
1913         * platform/graphics/blackberry/LayerTile.cpp:
1914         (WebCore::LayerTile::LayerTile):
1915         (WebCore::LayerTile::setContents):
1916         (WebCore::LayerTile::updateContents):
1917         * platform/graphics/blackberry/LayerTile.h:
1918         (LayerTile):
1919         (WebCore::LayerTile::renderState):
1920         (WebCore::LayerTile::needsRender):
1921         (WebCore::LayerTile::setNeedsRender):
1922         (WebCore::LayerTile::setRenderPending):
1923         (WebCore::LayerTile::setRenderDone):
1924         * platform/graphics/blackberry/LayerTileIndex.h:
1925         * platform/graphics/blackberry/LayerTiler.cpp:
1926         (WebCore):
1927         (WebCore::defaultTileSize):
1928         (WebCore::LayerTiler::LayerTiler):
1929         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
1930         (WebCore::LayerTiler::createBuffer):
1931         (WebCore::LayerTiler::willCommit):
1932         (WebCore::LayerTiler::commitPendingTextureUploads):
1933         (WebCore::LayerTiler::layerVisibilityChanged):
1934         (WebCore::LayerTiler::uploadTexturesIfNeeded):
1935         (WebCore::LayerTiler::processTextureJob):
1936         (WebCore::LayerTiler::addTileJob):
1937         (WebCore::LayerTiler::performTileJob):
1938         (WebCore::LayerTiler::drawTile):
1939         (WebCore::LayerTiler::drawTextures):
1940         (WebCore::LayerTiler::pruneTextures):
1941         (WebCore::LayerTiler::updateTileSize):
1942         (WebCore::LayerTiler::setNeedsBacking):
1943         (WebCore::LayerTiler::contentsTexture):
1944         * platform/graphics/blackberry/LayerTiler.h:
1945         (WebCore::LayerTiler::tileSize):
1946         (LayerTiler):
1947         (WebCore::LayerTiler::TextureJob::TextureJob):
1948         (WebCore::LayerTiler::TextureJob::setContents):
1949         (WebCore::LayerTiler::TextureJob::updateContents):
1950         (TextureJob):
1951         (WebCore::LayerTiler::needsRender):
1952         (WebCore::LayerTiler::removeUpdateContentsJobs):
1953         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1954         (WebCore::LayerWebKitThread::LayerWebKitThread):
1955         (WebCore::LayerWebKitThread::~LayerWebKitThread):
1956         (WebCore::LayerWebKitThread::paintContents):
1957         (WebCore::LayerWebKitThread::commitPendingTextureUploads):
1958         (WebCore::LayerWebKitThread::setContents):
1959         (WebCore::LayerWebKitThread::setNeedsCommit):
1960         (WebCore::LayerWebKitThread::notifyAnimationsStarted):
1961         (WebCore::LayerWebKitThread::commitOnWebKitThread):
1962         (WebCore::LayerWebKitThread::startAnimations):
1963         (WebCore::LayerWebKitThread::updateTextureContents):
1964         (WebCore::LayerWebKitThread::commitOnCompositingThread):
1965         (WebCore::LayerWebKitThread::addSublayer):
1966         (WebCore):
1967         (WebCore::LayerWebKitThread::addOverlay):
1968         (WebCore::LayerWebKitThread::insert):
1969         (WebCore::LayerWebKitThread::removeFromSuperlayer):
1970         (WebCore::LayerWebKitThread::removeSublayerOrOverlay):
1971         (WebCore::LayerWebKitThread::remove):
1972         (WebCore::LayerWebKitThread::replaceSublayer):
1973         (WebCore::LayerWebKitThread::filtersCanBeComposited):
1974         (WebCore::LayerWebKitThread::removeAll):
1975         (WebCore::LayerWebKitThread::setSublayers):
1976         (WebCore::LayerWebKitThread::updateLayerHierarchy):
1977         (WebCore::LayerWebKitThread::setIsMask):
1978         (WebCore::LayerWebKitThread::releaseLayerResources):
1979         * platform/graphics/blackberry/LayerWebKitThread.h:
1980         (WebCore::LayerWebKitThread::insertSublayer):
1981         (LayerWebKitThread):
1982         (WebCore::LayerWebKitThread::isMask):
1983         (WebCore::LayerWebKitThread::removeAllSublayers):
1984         (WebCore::LayerWebKitThread::setFixedPosition):
1985         (WebCore::LayerWebKitThread::setIsContainerForFixedPositionLayers):
1986         (WebCore::LayerWebKitThread::setFixedToTop):
1987         (WebCore::LayerWebKitThread::setFixedToLeft):
1988         (WebCore::LayerWebKitThread::setFrameVisibleRect):
1989         (WebCore::LayerWebKitThread::setFrameContentsSize):
1990         (WebCore::LayerWebKitThread::setLayerProgram):
1991         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1992         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1993         (WebCore::MediaPlayerPrivate::play):
1994         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1995         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
1996         (WebCore::MediaPlayerPrivate::prepareForRendering):
1997         (WebCore):
1998         (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
1999         (WebCore::MediaPlayerPrivate::percentLoaded):
2000         (WebCore::MediaPlayerPrivate::updateStates):
2001         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
2002         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
2003         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
2004         (WebCore::MediaPlayerPrivate::isProcessingUserGesture):
2005         (WebCore::loadBufferingImageData):
2006         (WebCore::MediaPlayerPrivate::setBuffering):
2007         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
2008         (WebCore::MediaPlayerPrivate::onConditionallyEnterFullscreen):
2009         (WebCore::MediaPlayerPrivate::onExitFullscreen):
2010         (WebCore::MediaPlayerPrivate::onCreateHolePunchRect):
2011         (WebCore::MediaPlayerPrivate::onDestroyHolePunchRect):
2012         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2013         (BlackBerry):
2014         (Platform):
2015         (Graphics):
2016         (MediaPlayerPrivate):
2017         * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
2018         (WebCore::PluginLayerWebKitThread::setPluginView):
2019         * platform/graphics/blackberry/Texture.cpp:
2020         (WebCore::Texture::Texture):
2021         (WebCore::Texture::updateContents):
2022         (WebCore::Texture::setContentsToColor):
2023         (WebCore::Texture::protect):
2024         * platform/graphics/blackberry/Texture.h:
2025         (Texture):
2026         (WebCore::Texture::textureId):
2027         (WebCore::Texture::isDirty):
2028         (WebCore::Texture::hasTexture):
2029         (WebCore::Texture::sizeInBytes):
2030         (WebCore::Texture::setTextureId):
2031         (WebCore::Texture::setSize):
2032         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
2033         (WebCore::TextureCacheCompositingThread::allocateTextureId):
2034         (WebCore::freeTextureId):
2035         (WebCore::TextureCacheCompositingThread::collectGarbage):
2036         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
2037         (WebCore):
2038         (WebCore::TextureCacheCompositingThread::textureDestroyed):
2039         (WebCore::TextureCacheCompositingThread::install):
2040         (WebCore::TextureCacheCompositingThread::resizeTexture):
2041         (WebCore::TextureCacheCompositingThread::evict):
2042         (WebCore::TextureCacheCompositingThread::prune):
2043         (WebCore::TextureCacheCompositingThread::clear):
2044         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
2045         (WebCore::TextureCacheCompositingThread::updateContents):
2046         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
2047         (TextureCacheCompositingThread):
2048         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
2049         (ZombieTexture):
2050         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
2051         * platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
2052         * platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
2053
2054 2013-03-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2055
2056         [Qt] Fix the Mac build with the current qtbase/dev branch
2057         https://bugs.webkit.org/show_bug.cgi?id=111190
2058
2059         Reviewed by Allan Sandfeld Jensen.
2060
2061         QMAKE_MACOSX_DEPLOYMENT_TARGET now influences
2062         __MAC_OS_X_VERSION_MIN_REQUIRED through -mmacosx-version-min after
2063         changes in qtbase to support iOS.
2064
2065         Having only WebCore defining it to 10.5 would create a mismatch of
2066         ENABLE_THREADING_LIBDISPATCH with WTF to cause undefined symbols
2067         while linking both together at the end.
2068
2069         Fix it by removing the statement which isn't needed anymore.
2070         qtbase/mkspecs/common/mac-minimum-version.conf already defines
2071         10.6 as the minimum Mac version.
2072
2073         * Target.pri:
2074
2075 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
2076
2077         Web Inspector: [Regression] Snippets renaming is broken.
2078         https://bugs.webkit.org/show_bug.cgi?id=111181
2079
2080         Reviewed by Alexander Pavlov.
2081
2082         * inspector/front-end/NavigatorView.js:
2083         * inspector/front-end/ScriptSnippetModel.js:
2084         * inspector/front-end/ScriptsPanel.js:
2085         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
2086         * inspector/front-end/UISourceCode.js:
2087         (WebInspector.UISourceCode.prototype.rename):
2088
2089 2013-03-01  David Hyatt  <hyatt@apple.com>
2090
2091         Fix a misspelled word in RenderObject.h. staticly -> statically.
2092
2093         Reviewed by Dean Jackson.
2094
2095         * rendering/RenderObject.h:
2096         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2097         (WebCore::RenderObject::RenderObjectBitfields::isPositioned):
2098
2099 2013-03-01  David Hyatt  <hyatt@apple.com>
2100
2101         [New Multicolumn] Change flow thread containment to be a state.
2102         https://bugs.webkit.org/show_bug.cgi?id=111110
2103
2104         Change m_inRenderFlowThread from a single bit to an actual state. This
2105         will let us track whether we're inside a multicolumn (in-flow) flow thread
2106         or a named (out-of-flow) flow thread. In the former case, we're going to have
2107         to do more work to maintain this state, but for now I've kept all the logic
2108         the same just for the initial landing.
2109
2110         Reviewed by Andreas Kling.
2111
2112         * dom/NodeRenderingContext.cpp:
2113         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
2114         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
2115         * rendering/RenderBlock.cpp:
2116         (WebCore::RenderBlock::clone):
2117         * rendering/RenderFlowThread.cpp:
2118         (WebCore::RenderFlowThread::RenderFlowThread):
2119         * rendering/RenderInline.cpp:
2120         (WebCore::RenderInline::clone):
2121         * rendering/RenderMultiColumnFlowThread.cpp:
2122         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2123         * rendering/RenderObject.cpp:
2124         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
2125         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
2126         * rendering/RenderObject.h:
2127         (WebCore::RenderObject::setParent):
2128         (RenderObject):
2129         (WebCore::RenderObject::inRenderFlowThread):
2130         (WebCore::RenderObject::flowThreadState):
2131         (WebCore::RenderObject::setFlowThreadState):
2132         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2133         (RenderObjectBitfields):
2134         (WebCore::RenderObject::RenderObjectBitfields::flowThreadState):
2135         (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState):
2136         * rendering/RenderView.cpp:
2137         (WebCore::RenderView::addChild):
2138         
2139 2013-03-01  Jessie Berlin  <jberlin@apple.com>
2140
2141         Build fix.
2142
2143         Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.
2144
2145         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2146
2147 2013-03-01  David Kilzer  <ddkilzer@apple.com>
2148
2149         BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
2150         <http://webkit.org/b/109331>
2151
2152         Fixes the following build failures:
2153
2154             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
2155             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
2156                                                               ^
2157             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
2158             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
2159                                                                                  ^
2160             2 errors generated.
2161
2162         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2163         (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
2164         macros.
2165
2166 2013-03-01  Dan Carney  <dcarney@google.com>
2167
2168         [v8] ScriptValue has dangerous copy semantics
2169         https://bugs.webkit.org/show_bug.cgi?id=110206
2170
2171         Reviewed by Kentaro Hara.
2172
2173         Update ScriptValue to used a SharedPersistent,
2174         making it impossible to return dead references.
2175
2176         No new tests. No change in functionality.
2177
2178         * bindings/v8/ScriptValue.cpp:
2179         (WebCore::ScriptValue::serialize):
2180         (WebCore::ScriptValue::getString):
2181         (WebCore::ScriptValue::toString):
2182         (WebCore::ScriptValue::toInspectorValue):
2183         * bindings/v8/ScriptValue.h:
2184         (WebCore::ScriptValue::ScriptValue):
2185         (WebCore::ScriptValue::operator=):
2186         (WebCore::ScriptValue::operator==):
2187         (WebCore::ScriptValue::isEqual):
2188         (WebCore::ScriptValue::isFunction):
2189         (WebCore::ScriptValue::isNull):
2190         (WebCore::ScriptValue::isUndefined):
2191         (WebCore::ScriptValue::isObject):
2192         (WebCore::ScriptValue::hasNoValue):
2193         (WebCore::ScriptValue::clear):
2194         (ScriptValue):
2195         (WebCore::ScriptValue::v8Value):
2196         (WebCore::ScriptValue::v8ValueRaw):
2197         * bindings/v8/SharedPersistent.h:
2198         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2199         (WebCore::InjectedScriptHost::scriptValueAsNode):
2200         * bindings/v8/custom/V8MessageEventCustom.cpp:
2201         (WebCore::V8MessageEvent::dataAttrGetterCustom):
2202
2203 2013-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
2204
2205         Add FeatureObserver for marquee and reflection
2206         https://bugs.webkit.org/show_bug.cgi?id=111118
2207
2208         Reviewed by Simon Fraser.
2209
2210         Refactoring covered by existing tests.
2211
2212         * page/FeatureObserver.h:
2213         * rendering/RenderLayer.cpp:
2214         (WebCore::RenderLayer::styleChanged):
2215         Added some instrumentation for reflection and marquee as they are both prefixed and this would help
2216         to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and 
2217         overflow: -webkit-marquee (CSSOverflowMarquee).
2218
2219 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
2220
2221         Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
2222         https://bugs.webkit.org/show_bug.cgi?id=111165
2223
2224         Reviewed by Vsevolod Vlasov.
2225
2226         A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
2227         containing a URL (which holds a stringified security origin) and an identifier (which is now used
2228         as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
2229         code clutter, the security origin tracking code has been extracted into a separate type,
2230         WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.
2231
2232         No new tests, as it is a refactoring.
2233
2234         * inspector/front-end/DOMStorage.js:
2235         (WebInspector.DOMStorage.storageId):
2236         (WebInspector.DOMStorage.prototype.id):
2237         (WebInspector.DOMStorage.prototype.getItems):
2238         (WebInspector.DOMStorage.prototype.setItem):
2239         (WebInspector.DOMStorage.prototype.removeItem):
2240         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
2241         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
2242         (WebInspector.DOMStorageModel.prototype._storageKey):
2243         * inspector/front-end/ExtensionAuditCategory.js:
2244         * inspector/front-end/FileSystemModel.js:
2245         (WebInspector.FileSystemModel.prototype._reset):
2246         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
2247         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
2248         (WebInspector.FileSystemModel.prototype._addOrigin):
2249         (WebInspector.FileSystemModel.prototype._removeOrigin):
2250         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
2251         (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
2252         (WebInspector.FileSystemModel.prototype._removeFileSystem):
2253         (WebInspector.FileSystemModel.FileSystem.prototype.get name):
2254         * inspector/front-end/IndexedDBModel.js:
2255         (WebInspector.IndexedDBModel.prototype._reset):
2256         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2257         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
2258         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
2259         (WebInspector.IndexedDBModel.prototype._addOrigin):
2260         (WebInspector.IndexedDBModel.prototype._removeOrigin):
2261         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2262         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
2263         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2264         (WebInspector.IndexedDBModel.prototype.):
2265         (WebInspector.IndexedDBModel.prototype._requestData):
2266         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
2267         * inspector/front-end/IndexedDBViews.js:
2268         (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
2269         * inspector/front-end/ResourceTreeModel.js:
2270         (WebInspector.ResourceTreeModel.prototype._addFrame):
2271         (WebInspector.ResourceTreeModel.prototype.securityOriginForId):
2272         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
2273         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
2274         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2275         (WebInspector.ResourceTreeModel.prototype._frameDetached):
2276         (WebInspector.ResourceTreeModel.SecurityOriginTracker):
2277         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
2278         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
2279         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
2280         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
2281         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
2282         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
2283         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
2284         (WebInspector.ResourceTreeFrame.prototype._navigate):
2285         (WebInspector.SecurityOrigin.prototype.id):
2286         (WebInspector.SecurityOrigin.prototype.url):
2287         (WebInspector.SecurityOrigin.prototype.uiTitle):
2288         (WebInspector.SecurityOrigin.prototype.toProtocol):
2289         * inspector/front-end/ResourcesPanel.js:
2290         (WebInspector.IDBDatabaseTreeElement):
2291         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
2292         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
2293         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
2294         (WebInspector.DOMStorageTreeElement):
2295         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2296         (WebInspector.FileSystemTreeElement):
2297
2298 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
2299
2300         Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
2301         https://bugs.webkit.org/show_bug.cgi?id=108930
2302
2303         Reviewed by Pavel Feldman.
2304
2305         This feature will help developers to focus on events
2306         that caused CPU bar.
2307
2308         * inspector/front-end/Popover.js: Added "arrowDirection" parameter.
2309         * inspector/front-end/TimelineGrid.js:
2310         (WebInspector.TimelineGrid): Added "curtains".
2311         * inspector/front-end/TimelinePanel.js:
2312         (WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
2313         when mouse is over CPU bar.
2314         * inspector/front-end/timelinePanel.css: Added "curtains" style rules.
2315
2316 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
2317
2318         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
2319         Relanding fixed r144449.
2320         https://bugs.webkit.org/show_bug.cgi?id=105285
2321
2322         Reviewed by Vsevolod Vlasov.
2323
2324         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
2325         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
2326         since their start position is not detectable inside the surrounding HTML as of yet.
2327
2328         No new tests, a UI change.
2329
2330         * inspector/front-end/CSSStyleModel.js:
2331         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
2332         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
2333         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
2334         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2335         (WebInspector.StylePropertiesSection):
2336
2337 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2338
2339         Unreviewed, rolling out r144449.
2340         http://trac.webkit.org/changeset/144449
2341         https://bugs.webkit.org/show_bug.cgi?id=111175
2342
2343         Breaks style-related inspector tests (Requested by apavlov on
2344         #webkit).
2345
2346         * inspector/front-end/CSSStyleModel.js:
2347         (WebInspector.CSSRule.prototype.get isRegular):
2348         (WebInspector.CSSProperty.prototype.setDisabled):
2349         * inspector/front-end/StylesSidebarPane.js:
2350         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2351         (WebInspector.StylePropertiesSection):
2352         (.event):
2353         (.isRevert):
2354
2355 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
2356
2357         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
2358         https://bugs.webkit.org/show_bug.cgi?id=105285
2359
2360         Reviewed by Vsevolod Vlasov.
2361
2362         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
2363         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
2364         since their start position is not detectable inside the surrounding HTML as of yet.
2365
2366         No new tests, a UI change.
2367
2368         * inspector/front-end/CSSStyleModel.js:
2369         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
2370         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
2371         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
2372         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2373         (WebInspector.StylePropertiesSection):
2374
2375 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2376
2377         Unreviewed, rolling out r144443.
2378         http://trac.webkit.org/changeset/144443
2379         https://bugs.webkit.org/show_bug.cgi?id=111169
2380
2381         Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
2382         by toyoshim on #webkit).
2383
2384         * css/mediaControls.css:
2385         (video::-webkit-media-text-track-display):
2386         * rendering/RenderTextTrackCue.cpp:
2387         (WebCore::RenderTextTrackCue::isOutside):
2388         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
2389
2390 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2391
2392         Unreviewed, rolling out r144422 and r144424.
2393         http://trac.webkit.org/changeset/144422
2394         http://trac.webkit.org/changeset/144424
2395         https://bugs.webkit.org/show_bug.cgi?id=111167
2396
2397         Caused over 20 tests to fail assertion on Chromium Win port as
2398         ASSERTION FAILED: m_platformRequestUpdated (Requested by
2399         toyoshim on #webkit).
2400
2401         * CMakeLists.txt:
2402         * GNUmakefile.list.am:
2403         * Modules/mediastream/RTCPeerConnection.cpp:
2404         * Modules/notifications/Notification.cpp:
2405         * Target.pri:
2406         * WebCore.exp.in:
2407         * WebCore.gypi:
2408         * WebCore.vcproj/WebCore.vcproj:
2409         * WebCore.vcxproj/WebCore.vcxproj:
2410         * WebCore.vcxproj/WebCore.vcxproj.filters:
2411         * WebCore.xcodeproj/project.pbxproj:
2412         * bindings/ScriptControllerBase.cpp:
2413         * bindings/js/JSNodeCustom.cpp:
2414         * bindings/js/ScriptController.cpp:
2415         * bindings/js/ScriptSourceCode.h:
2416         * bindings/objc/DOM.mm:
2417         * bindings/v8/ScriptController.cpp:
2418         * bindings/v8/V8DOMWindowShell.cpp:
2419         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2420         * css/CSSCrossfadeValue.h:
2421         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
2422         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
2423         * css/CSSFontFaceSource.h:
2424         * css/CSSFontSelector.cpp:
2425         * css/WebKitCSSSVGDocumentValue.cpp:
2426         * css/WebKitCSSSVGDocumentValue.h:
2427         (WebCore):
2428         * dom/Clipboard.cpp:
2429         (WebCore::Clipboard::Clipboard):
2430         * dom/ContainerNode.cpp:
2431         * dom/DOMImplementation.cpp:
2432         * dom/PendingScript.h:
2433         * dom/ScriptElement.cpp:
2434         * dom/ScriptElement.h:
2435         * history/CachedFrame.cpp:
2436         * html/DOMURL.cpp:
2437         * html/HTMLAnchorElement.cpp:
2438         * html/HTMLAppletElement.cpp:
2439         * html/HTMLElement.cpp:
2440         * html/HTMLEmbedElement.cpp:
2441         * html/HTMLFrameSetElement.cpp:
2442         * html/HTMLHtmlElement.cpp:
2443         * html/HTMLImageElement.cpp:
2444         * html/HTMLObjectElement.cpp:
2445         * html/HTMLPlugInElement.cpp:
2446         * html/ImageDocument.cpp:
2447         * html/ImageInputType.cpp:
2448         * html/MediaDocument.cpp:
2449         * html/PluginDocument.cpp:
2450         * html/canvas/WebGLRenderingContext.cpp:
2451         (WebCore):
2452         * html/parser/HTMLConstructionSite.cpp:
2453         * html/parser/HTMLParserOptions.cpp:
2454         * html/parser/HTMLScriptRunner.h:
2455         * html/parser/XSSAuditor.cpp:
2456         * html/parser/XSSAuditorDelegate.cpp:
2457         * inspector/InspectorDebuggerAgent.cpp:
2458         * inspector/InspectorFileSystemAgent.cpp:
2459         * inspector/InspectorFrontendHost.cpp:
2460         * inspector/InspectorInstrumentation.h:
2461         (WebCore):
2462         * inspector/InspectorPageAgent.cpp:
2463         * inspector/NetworkResourcesData.cpp:
2464         * inspector/NetworkResourcesData.h:
2465         (WebCore):
2466         * loader/CookieJar.cpp:
2467         * loader/CrossOriginAccessControl.cpp:
2468         * loader/CrossOriginAccessControl.h:
2469         (WebCore):
2470         * loader/CrossOriginPreflightResultCache.h:
2471         * loader/DocumentThreadableLoader.h:
2472         * loader/FrameLoader.cpp:
2473         (WebCore::FrameLoader::FrameLoader):
2474         * loader/FrameLoader.h:
2475         (WebCore):
2476         (WebCore::FrameLoader::policyChecker):
2477         * loader/ImageLoader.cpp:
2478         * loader/ImageLoader.h:
2479         * loader/LinkLoader.h:
2480         * loader/MainResourceLoader.cpp:
2481         * loader/MainResourceLoader.h:
2482         * loader/MixedContentChecker.cpp:
2483         * loader/PingLoader.cpp:
2484         * loader/PolicyChecker.h:
2485         (WebCore):
2486         * loader/ProgressTracker.cpp:
2487         * loader/SubframeLoader.cpp:
2488         * loader/SubresourceLoader.cpp:
2489         * loader/TextTrackLoader.cpp:
2490         * loader/TextTrackLoader.h:
2491         * loader/ThreadableLoader.h:
2492         * loader/appcache/ApplicationCacheGroup.cpp:
2493         * loader/appcache/ApplicationCacheGroup.h:
2494         (WebCore):
2495         * loader/appcache/ApplicationCacheHost.cpp:
2496         * loader/archive/cf/LegacyWebArchive.cpp:
2497         * loader/cache/CachedFont.cpp:
2498         * loader/cache/CachedFont.h:
2499         (CachedFontClient):
2500         (WebCore::CachedFontClient::~CachedFontClient):
2501         (WebCore::CachedFontClient::expectedType):
2502         (WebCore::CachedFontClient::resourceClientType):
2503         (WebCore::CachedFontClient::fontLoaded):
2504         (WebCore):
2505         * loader/cache/CachedFontClient.h: Removed.
2506         * loader/cache/CachedImage.cpp:
2507         * loader/cache/CachedRawResource.cpp:
2508         * loader/cache/CachedRawResource.h:
2509         (WebCore):
2510         (CachedRawResourceClient):
2511         (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
2512         (WebCore::CachedRawResourceClient::expectedType):
2513         (WebCore::CachedRawResourceClient::resourceClientType):
2514         (WebCore::CachedRawResourceClient::dataSent):
2515         (WebCore::CachedRawResourceClient::responseReceived):
2516         (WebCore::CachedRawResourceClient::dataReceived):
2517         (WebCore::CachedRawResourceClient::redirectReceived):
2518         (WebCore::CachedRawResourceClient::dataDownloaded):
2519         * loader/cache/CachedRawResourceClient.h: Removed.
2520         * loader/cache/CachedResource.cpp:
2521         * loader/cache/CachedResourceHandle.cpp:
2522         * loader/cache/CachedResourceHandle.h:
2523         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
2524         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
2525         * loader/cache/CachedSVGDocument.h:
2526         (CachedSVGDocumentClient):
2527         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
2528         (WebCore::CachedSVGDocumentClient::expectedType):
2529         (WebCore::CachedSVGDocumentClient::resourceClientType):
2530         (WebCore):
2531         * loader/cache/CachedSVGDocumentClient.h: Removed.
2532         * loader/cache/CachedSVGDocumentReference.cpp: Removed.
2533         * loader/cache/CachedSVGDocumentReference.h:
2534         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
2535         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
2536         * loader/cache/CachedStyleSheetClient.h:
2537         * loader/cache/MemoryCache.cpp:
2538         * loader/cache/MemoryCache.h:
2539         (WebCore):
2540         (MemoryCache):
2541         * loader/chromium/CachedRawResourceChromium.cpp:
2542         * loader/icon/IconController.cpp:
2543         * loader/icon/IconLoader.h:
2544         * loader/mac/ResourceLoaderMac.mm:
2545         * page/DOMWindowExtension.cpp:
2546         * page/DragController.cpp:
2547         * page/Frame.cpp:
2548         (WebCore::Frame::Frame):
2549         (WebCore::Frame::reportMemoryUsage):
2550         * page/Frame.h:
2551         (WebCore):
2552         (Frame):
2553         (WebCore::Frame::init):
2554         (WebCore::Frame::loader):
2555         * page/PerformanceNavigation.cpp:
2556         * page/PerformanceTiming.cpp:
2557         * page/PointerLockController.cpp:
2558         * page/Settings.cpp:
2559         * page/animation/CSSPropertyAnimation.cpp:
2560         * platform/chromium/PasteboardChromium.cpp:
2561         * platform/efl/ErrorsEfl.cpp:
2562         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2563         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2564         * platform/graphics/filters/FilterOperation.cpp:
2565         * platform/graphics/filters/FilterOperation.h:
2566         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
2567         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
2568         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2569         * platform/gtk/ErrorsGtk.cpp:
2570         * platform/gtk/PasteboardGtk.cpp:
2571         * platform/gtk/PasteboardHelper.h:
2572         * platform/mac/ClipboardMac.h:
2573         * platform/mac/ClipboardMac.mm:
2574         * platform/mac/HTMLConverter.mm:
2575         * platform/mac/PasteboardMac.mm:
2576         * platform/network/AuthenticationChallengeBase.cpp:
2577         * platform/network/cf/CookieJarCFNet.cpp:
2578         * platform/network/cf/ResourceRequestCFNet.cpp:
2579         * platform/network/mac/CookieStorageMac.mm:
2580         * platform/qt/PasteboardQt.cpp:
2581         * plugins/DOMMimeType.cpp:
2582         * plugins/PluginRequest.h: Removed.
2583         * plugins/PluginStream.h:
2584         (PluginStreamClient):
2585         (WebCore::PluginStreamClient::~PluginStreamClient):
2586         (WebCore::PluginStreamClient::streamDidFinishLoading):
2587         (WebCore):
2588         * plugins/PluginStreamClient.h: Removed.
2589         * plugins/PluginView.cpp:
2590         * plugins/PluginView.h:
2591         (WebCore):
2592         (PluginRequest):
2593         (WebCore::PluginRequest::PluginRequest):
2594         (WebCore::PluginRequest::frameLoadRequest):
2595         (WebCore::PluginRequest::notifyData):
2596         (WebCore::PluginRequest::sendNotification):
2597         (WebCore::PluginRequest::shouldAllowPopups):
2598         * rendering/HitTestResult.cpp:
2599         * rendering/InlineFlowBox.cpp:
2600         * rendering/RenderBox.cpp:
2601         * rendering/RenderEmbeddedObject.cpp:
2602         * rendering/RenderImage.cpp:
2603         * rendering/RenderImageResource.cpp:
2604         (WebCore::RenderImageResource::RenderImageResource):
2605         * rendering/RenderImageResource.h:
2606         (WebCore::RenderImageResource::image):
2607         (WebCore::RenderImageResource::errorOccurred):
2608         (WebCore::RenderImageResource::usesImageContainerSize):
2609         (WebCore::RenderImageResource::imageHasRelativeWidth):
2610         (WebCore::RenderImageResource::imageHasRelativeHeight):
2611         (WebCore::RenderImageResource::imageSize):
2612         * rendering/RenderImageResourceStyleImage.cpp:
2613         * rendering/RenderLayer.cpp:
2614         * rendering/RenderLayerBacking.cpp:
2615         * rendering/RenderLayerFilterInfo.h:
2616         * rendering/RenderListItem.cpp:
2617         * rendering/RenderListMarker.cpp:
2618         * rendering/RenderSnapshottedPlugIn.cpp:
2619         * rendering/RenderTableCol.cpp:
2620         * rendering/RenderTableRow.cpp:
2621         * rendering/RenderTableSection.cpp:
2622         * rendering/style/StyleCachedShader.h:
2623         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
2624         * rendering/style/StyleCustomFilterProgram.h:
2625         (WebCore):
2626         (WebCore::StyleCustomFilterProgram::vertexShaderString):
2627         (StyleCustomFilterProgram):
2628         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
2629         (WebCore::StyleCustomFilterProgram::isLoaded):
2630         (WebCore::StyleCustomFilterProgram::willHaveClients):
2631         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
2632         (WebCore::StyleCustomFilterProgram::notifyFinished):
2633         * svg/SVGFEImageElement.h:
2634         * svg/SVGFontFaceUriElement.h:
2635         (SVGFontFaceUriElement):
2636         * svg/SVGImageLoader.cpp:
2637         * svg/SVGUseElement.cpp:
2638         * svg/SVGUseElement.h:
2639         * svg/graphics/SVGImageCache.cpp:
2640         * testing/MockPagePopupDriver.cpp:
2641         * xml/XSLStyleSheet.h:
2642         * xml/XSLTProcessorLibxslt.cpp:
2643         * xml/parser/XMLDocumentParser.cpp:
2644         * xml/parser/XMLDocumentParser.h:
2645         * xml/parser/XMLDocumentParserLibxml2.cpp:
2646
2647 2013-03-01  Alexei Filippov  <alph@chromium.org>
2648
2649         Web Inspector: fix closure compiler warnings in ProfilesPanel
2650         https://bugs.webkit.org/show_bug.cgi?id=111163
2651
2652         Reviewed by Vsevolod Vlasov.
2653
2654         * inspector/front-end/ProfileLauncherView.js:
2655         (WebInspector.ProfileLauncherView.prototype.addProfileType):
2656         * inspector/front-end/ProfilesPanel.js:
2657
2658 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
2659
2660         Support padding, margin and border for internal UA cue styling
2661         https://bugs.webkit.org/show_bug.cgi?id=110703
2662
2663         Reviewed by Eric Carlson.
2664
2665         For some particular user agent styling this allows the possibility
2666         of making the window around the cue text bigger to match some user
2667         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
2668
2669         These properties *cannot* be set through by using the ::cue
2670         pseudo-element and, as specified, are used only internally.
2671
2672         Test: media/track/track-cue-rendering-with-padding.html
2673
2674         * css/mediaControls.css:
2675         (video::-webkit-media-text-track-display): Set the CSS box model
2676         to include in the specified width or height the values of
2677         padding / margin / border by using -webkit-box-sizing and avoid
2678         overflow over 100% width because of having these properties set.
2679         * rendering/RenderTextTrackCue.cpp:
2680         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
2681         the regular WebVTT positioning algorithm, the check is done for
2682         the absolute content box.
2683         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
2684         an extra adjustment step to accomodate vertical padding (and not
2685         overflow the cue container)
2686
2687 2013-02-26  Eugene Klyuchnikov  <eustas@chromium.org>
2688
2689         Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
2690         https://bugs.webkit.org/show_bug.cgi?id=110819
2691
2692         Reviewed by Pavel Feldman.
2693
2694         To create event divider TimelinePresentation model checks if record
2695         frame is main frame. With this patch check is moved to backend and
2696         result is saved in record to avoid incoherence.
2697
2698         * inspector/InspectorTimelineAgent.cpp:
2699         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2700         Record "isMainFrame" flag.
2701         (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Ditto.
2702         * inspector/TimelineRecordFactory.cpp:
2703         (WebCore::TimelineRecordFactory::createMarkData):
2704         Added data object constructor.
2705         * inspector/TimelineRecordFactory.h: Ditto.
2706         * inspector/front-end/TimelinePresentationModel.js:
2707         (WebInspector.TimelinePresentationModel.isEventDivider):
2708         Use saved flag value instead of comparing with "current" main frame.
2709
2710 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
2711
2712         Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
2713         https://bugs.webkit.org/show_bug.cgi?id=111077
2714
2715         Reviewed by Pavel Feldman.
2716
2717         Analysis: DataGridNode.refresh removes all cells and then recreates them.
2718         The issue is that mandatory "corner" cell is not recreated.
2719
2720         * inspector/front-end/DataGrid.js:
2721         (WebInspector.DataGridNode.prototype.refresh):
2722         Added "corner" cell restoration code.
2723
2724 2013-02-28  Alexander Pavlov  <apavlov@chromium.org>
2725
2726         Web Inspector: Selector's raw start position in its line is considered to be 0 when computing UILocation
2727         https://bugs.webkit.org/show_bug.cgi?id=110732
2728
2729         Reviewed by Vsevolod Vlasov.
2730
2731         Test: inspector/styles/selector-line.html
2732
2733         * inspector/ContentSearchUtils.cpp:
2734         (WebCore::ContentSearchUtils::sizetExtractor): Utility for binary search.
2735         (WebCore::ContentSearchUtils::textPositionFromOffset): Converts absolute raw text offset into line:column.
2736         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines): Refactor.
2737         (WebCore::ContentSearchUtils::lineEndings): Factored out of getRegularExpressionMatchesByLines.
2738         (WebCore::ContentSearchUtils::buildObjectForSearchMatch): Drive-by: pass String by reference.
2739         * inspector/ContentSearchUtils.h:
2740         * inspector/Inspector.json: Use line:column for SourceRange boundaries rather than raw offsets.
2741         * inspector/InspectorStyleSheet.cpp:
2742         (ParsedStyleSheet::text): ASSERT(m_hasText).
2743         (WebCore::InspectorStyle::buildObjectForStyle): Supply the lineEndings argument.
2744         (WebCore::buildSourceRangeObject): Follow the protocol change.
2745         (WebCore::InspectorStyle::setPropertyText): Refactor.
2746         (WebCore::InspectorStyle::toggleProperty): Ditto.
2747         (WebCore::InspectorStyle::styleText): Ditto.
2748         (WebCore::InspectorStyle::populateAllProperties): Ditto.
2749         (WebCore::InspectorStyle::styleWithProperties): Convert relative property range offsets into absolute ones.
2750         (WebCore::InspectorStyle::extractSourceData): Factored out.
2751         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Supply the lineEndings argument.
2752         (WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
2753         (WebCore::InspectorStyleSheet::lineEndings): Compute line endings for ordinary stylesheets.
2754         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings): Ditto for bogus inline style stylesheets.
2755         * inspector/InspectorStyleSheet.h:
2756         * inspector/front-end/AuditRules.js: Removed the byte counting for unused CSS.
2757         * inspector/front-end/CSSStyleModel.js:
2758         (WebInspector.CSSRule): Set selector rawLocation based on the selectorList range or sourceLine.
2759         (WebInspector.CSSRule.prototype._setRawLocation): Added.
2760         * inspector/front-end/SASSSourceMapping.js:
2761         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode): Fix call order when binding scss sourcecodes.
2762
2763 2013-03-01  Benjamin Poulain  <benjamin@webkit.org>
2764
2765         Get rid of two silly static null Strings
2766         https://bugs.webkit.org/show_bug.cgi?id=111151
2767
2768         Reviewed by Eric Seidel.
2769
2770         We have a global null String through nullAtom, there is no need
2771         for local static null strings.
2772
2773         * page/Page.cpp:
2774         (WebCore::Page::groupName):
2775         * rendering/RenderListItem.cpp:
2776         (WebCore::RenderListItem::markerText):
2777
2778 2013-03-01  Mark Rowe  <mrowe@apple.com>
2779
2780         Build fix.
2781
2782         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
2783
2784 2013-03-01  Andrey Lushnikov  <lushnikov@chromium.org>
2785
2786         Web Inspector: fix code-mirror experiment to work in debug mode
2787         https://bugs.webkit.org/show_bug.cgi?id=111064
2788
2789         Reviewed by Pavel Feldman.
2790
2791         No new tests: no change in behaviour.
2792
2793         Improve importScript function to try load a script from the root
2794         directory iff its loading from the given path failed.
2795
2796         * inspector/front-end/utilities.js:
2797
2798 2013-03-01  Andrey Adaikin  <aandrey@chromium.org>
2799
2800         Web Inspector: [Canvas] capture a WebGL extension by it's name in lower case
2801         https://bugs.webkit.org/show_bug.cgi?id=110745
2802
2803         Reviewed by Pavel Feldman.
2804
2805         WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
2806         Just force lower case for extension names.
2807
2808         * inspector/InjectedScriptCanvasModuleSource.js:
2809         (.):
2810
2811 2013-03-01  Mike West  <mkwst@chromium.org>
2812
2813         XSSAuditor should use threadSafeMatch when relevant.
2814         https://bugs.webkit.org/show_bug.cgi?id=111099
2815
2816         Reviewed by Adam Barth.
2817
2818         Given the work on breaking parsing out into a background thread, we
2819         should compare QualifiedNames in a thread-safe manner. Rather than
2820         casting the result of QualifiedName::localName to a String, we can
2821         call out to threadSafeMatch to do the comparison.
2822
2823         This patch leaves one use of equalIgnoringNullity in
2824         XSSAuditor::findAttributeWithName. That usage seems safe, since we're
2825         creating a new string against which to compare.
2826
2827         * html/parser/XSSAuditor.cpp:
2828         (WebCore::hasName):
2829             Replace call to equalIgnoringNullity(Vector<UChar...>, String)
2830             with threadSafeMatch(String, QualifiedName).
2831
2832 2013-02-28  Keishi Hattori  <keishi@webkit.org>
2833
2834         Add calendar table view for the new calendar picker
2835         https://bugs.webkit.org/show_bug.cgi?id=110970
2836
2837         Reviewed by Kent Tamura.
2838
2839         The calendar table that will be used in the new calendar picker (Bug 109439).
2840
2841         No new tests. Code is not used yet.
2842
2843         * Resources/pagepopups/calendarPicker.js:
2844         (DayCell): Cell which represents one day in the calendar.
2845         (DayCell.recycleOrCreate):
2846         (DayCell.prototype._recycleBin):
2847         (DayCell.prototype.throwAway):
2848         (DayCell.prototype.setHighlighted): Sets the highlighted class on the element.
2849         (DayCell.prototype.setDisabled): Sets the disabled class on the element.
2850         (DayCell.prototype.setIsInCurrentMonth): Sets the current-month class on the element.
2851         (DayCell.prototype.setIsToday): Sets the today class on the element.
2852         (DayCell.prototype.reset): Resets the day cell to be reused.
2853         (WeekNumberCell): Cell used for the week number column.
2854         (WeekNumberCell.prototype._recycleBin):
2855         (WeekNumberCell.recycleOrCreate):
2856         (WeekNumberCell.prototype.reset):
2857         (WeekNumberCell.prototype.throwAway):
2858         (WeekNumberCell.prototype.setHighlighted): Sets the highlighted class on the element.
2859         (WeekNumberCell.prototype.setDisabled): Sets the disabled class on the element.
2860         (CalendarTableHeaderView): Header for the calendar table. Contains the column labels.
2861         (CalendarRowCell): Row containing day cells and maybe a week number cell.
2862         (CalendarRowCell.prototype._recycleBin):
2863         (CalendarRowCell.prototype.reset):
2864         (CalendarRowCell.prototype.throwAway):
2865         (CalendarTableView): A list view showing a grid of days.
2866         (CalendarTableView.prototype.rowAtScrollOffset): Returns the row number currently at the scroll offset.
2867         (CalendarTableView.prototype.scrollOffsetForRow): Returns the current scroll offset for the given row.
2868         (CalendarTableView.prototype.onClick): If the click is on a DayCell or WeekNumberCell, select the appropriate date range.
2869         (CalendarTableView.prototype.onMouseOver): If the click is on a DayCell or WeekNumberCell, highlight the appropriate date range.
2870         (CalendarTableView.prototype.onMouseOut):
2871         (CalendarTableView.prototype.prepareNewCell): Prepares a new row cell by recycling or creating a new one.
2872         (CalendarTableView.prototype.height): Returns the height of the view in pixels.
2873         (CalendarTableView.prototype.setHeight): Sets the height of the view in pixels.
2874         (CalendarTableView.prototype.scrollToMonth): Scrolls to reveal the given month.
2875         (CalendarTableView.prototype.dayAtColumnAndRow): Day at a given column and row. Column number doesn't count week number column.
2876         (CalendarTableView.prototype.columnAndRowForDay): Column and row for the given day.
2877         (CalendarTableView.prototype.updateCells): Update the position and appearance of the cell.s
2878         (CalendarTableView.prototype.prepareNewDayCell): Prepares a new day cell. The cell is registered to this._dayCells.
2879         (CalendarTableView.prototype.prepareNewWeekNumberCell): Prepares a new week number cell. The cell is registered to this._weekNumberCells.
2880         (CalendarTableView.prototype.throwAwayDayCell): The cell is unregistered from this._dayCells.
2881         (CalendarTableView.prototype.throwAwayWeekNumberCell): The cell is unregistered from this._weekNumberCells.
2882
2883 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
2884
2885         Reduce amount of rebuilding when touching networking headers
2886         https://bugs.webkit.org/show_bug.cgi?id=111035
2887
2888         Reviewed by Eric Seidel.
2889
2890         This uses a number of common unsurprising techniques. One interesting observation
2891         is that including CachedResource related headers is very expensive. We can usually
2892         get away with their Client counterparts, and with CachedResourceHandle.
2893
2894         * page/Frame.cpp:
2895         * page/Frame.h:
2896         Don't include FrameLoader, greatly reducing include graph for most non-loader files.
2897         This required making Frame::init() non-inline - I'm not sure why it ever was.
2898
2899         * loader/FrameLoader.cpp:
2900         * loader/FrameLoader.h:
2901         Even though FrameLoader is logically on loading side of WebCore, it's included in
2902         too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
2903         largest wins. As a future improvement, we should probably convert other members
2904         to OwnPtrs.
2905
2906         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
2907         definition of a class it holds, but default construction does not.
2908
2909         * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
2910         not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
2911
2912         * loader/cache/CachedFont.h:
2913         * loader/cache/CachedFontClient.h: Added.
2914         * loader/cache/CachedRawResource.h:
2915         * loader/cache/CachedRawResourceClient.h: Added.
2916         * loader/cache/CachedSVGDocument.h:
2917         * loader/cache/CachedSVGDocumentClient.h: Added.
2918         These types were defining client types in the same headers, making it impossible
2919         to avoid including networking headers through CachedResource. Moved clients into
2920         separate files.
2921
2922         * plugins/PluginStream.h:
2923         * plugins/PluginStreamClient.h: Added.
2924         Similar situation here.
2925
2926         * loader/cache/CachedResourceHandle.cpp:
2927         * loader/cache/CachedResourceHandle.h:
2928         Moved functions that need to know about CachedResource to .cpp file. This is another
2929         huge win. Added a destructor, so that CachedResource woudn't be needed in all files
2930         that include CachedResourceHandle.
2931
2932         * loader/cache/CachedSVGDocumentReference.cpp: Added.
2933         * loader/cache/CachedSVGDocumentReference.h:
2934         Moved constructor and virtual function implementations to a .cpp file - they need
2935         not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
2936
2937         * platform/graphics/filters/FilterOperation.cpp:
2938         * platform/graphics/filters/FilterOperation.h:
2939         Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
2940         CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
2941         rendering code that it seems best to cut any ties with resources and loading.
2942         Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
2943         classes are generally harmful (due to code bloat).
2944
2945         * plugins/PluginRequest.h: Added.
2946         * plugins/PluginView.h:
2947         Moved PluginRequest into a separate file, it was out of place in a view hierarchy
2948         class file.
2949
2950         * rendering/RenderImageResource.cpp:
2951         * rendering/RenderImageResource.h:
2952         Moved definitions of virtual functions to a .cpp file. Thre is no win from having
2953         them inline, and now we don't need CachedImage.h in the header.
2954
2955         * rendering/style/StyleCustomFilterProgram.cpp: Added.
2956         * rendering/style/StyleCustomFilterProgram.h:
2957         Ditto.
2958
2959         * CMakeLists.txt:
2960         * GNUmakefile.list.am:
2961         * Modules/mediastream/RTCPeerConnection.cpp:
2962         * Modules/notifications/Notification.cpp:
2963         * Target.pri:
2964         * WebCore.exp.in:
2965         * WebCore.gypi:
2966         * WebCore.vcproj/WebCore.vcproj:
2967         * WebCore.vcxproj/WebCore.vcxproj:
2968         * WebCore.vcxproj/WebCore.vcxproj.filters:
2969         * WebCore.xcodeproj/project.pbxproj:
2970         * bindings/ScriptControllerBase.cpp:
2971         * bindings/js/JSNodeCustom.cpp:
2972         * bindings/js/ScriptController.cpp:
2973         * bindings/js/ScriptSourceCode.h:
2974         * bindings/objc/DOM.mm:
2975         * bindings/v8/ScriptController.cpp:
2976         * bindings/v8/V8DOMWindowShell.cpp:
2977         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2978         * css/CSSFontFaceSource.h:
2979         * css/CSSFontSelector.cpp:
2980         * css/WebKitCSSSVGDocumentValue.cpp:
2981         * css/WebKitCSSSVGDocumentValue.h:
2982         * dom/Clipboard.cpp:
2983         * dom/ContainerNode.cpp:
2984         * dom/DOMImplementation.cpp:
2985         * dom/PendingScript.h:
2986         * dom/ScriptElement.cpp:
2987         * dom/ScriptElement.h:
2988         * history/CachedFrame.cpp:
2989         * html/DOMURL.cpp:
2990         * html/HTMLAnchorElement.cpp:
2991         * html/HTMLAppletElement.cpp:
2992         * html/HTMLElement.cpp:
2993         * html/HTMLEmbedElement.cpp:
2994         * html/HTMLFrameSetElement.cpp:
2995         * html/HTMLHtmlElement.cpp:
2996         * html/HTMLImageElement.cpp:
2997         * html/HTMLObjectElement.cpp:
2998         * html/HTMLPlugInElement.cpp:
2999         * html/ImageDocument.cpp:
3000         * html/ImageInputType.cpp:
3001         * html/MediaDocument.cpp:
3002         * html/PluginDocument.cpp:
3003         * html/canvas/WebGLRenderingContext.cpp:
3004         * html/parser/HTMLConstructionSite.cpp:
3005         * html/parser/HTMLParserOptions.cpp:
3006         * html/parser/HTMLScriptRunner.h:
3007         * html/parser/XSSAuditor.cpp:
3008         * html/parser/XSSAuditorDelegate.cpp:
3009         * inspector/InspectorDebuggerAgent.cpp:
3010         * inspector/InspectorFileSystemAgent.cpp:
3011         * inspector/InspectorFrontendHost.cpp:
3012         * inspector/InspectorInstrumentation.h:
3013         * inspector/InspectorPageAgent.cpp:
3014         * inspector/NetworkResourcesData.cpp:
3015         * inspector/NetworkResourcesData.h:
3016         * loader/CookieJar.cpp:
3017         * loader/CrossOriginAccessControl.cpp:
3018         * loader/CrossOriginPreflightResultCache.h:
3019         * loader/DocumentThreadableLoader.h:
3020         * loader/ImageLoader.cpp:
3021         * loader/ImageLoader.h:
3022         * loader/LinkLoader.h:
3023         * loader/MainResourceLoader.cpp:
3024         * loader/MainResourceLoader.h:
3025         * loader/MixedContentChecker.cpp:
3026         * loader/PingLoader.cpp:
3027         * loader/PolicyChecker.h:
3028         * loader/ProgressTracker.cpp:
3029         * loader/SubframeLoader.cpp:
3030         * loader/SubresourceLoader.cpp:
3031         * loader/TextTrackLoader.cpp:
3032         * loader/TextTrackLoader.h:
3033         * loader/ThreadableLoader.h:
3034         * loader/appcache/ApplicationCacheGroup.cpp:
3035         * loader/appcache/ApplicationCacheGroup.h:
3036         * loader/appcache/ApplicationCacheHost.cpp:
3037         * loader/archive/cf/LegacyWebArchive.cpp:
3038         * loader/cache/CachedFont.cpp:
3039         * loader/cache/CachedImage.cpp:
3040         * loader/cache/CachedRawResource.cpp:
3041         * loader/cache/CachedResource.cpp:
3042         * loader/cache/CachedStyleSheetClient.h:
3043         * loader/cache/MemoryCache.cpp:
3044         * loader/cache/MemoryCache.h:
3045         * loader/chromium/CachedRawResourceChromium.cpp:
3046         * loader/icon/IconController.cpp:
3047         * loader/icon/IconLoader.h:
3048         * loader/mac/ResourceLoaderMac.mm:
3049         * page/DOMWindowExtension.cpp:
3050         * page/DragController.cpp:
3051         * page/PerformanceNavigation.cpp:
3052         * page/PerformanceTiming.cpp:
3053         * page/PointerLockController.cpp:
3054         * page/Settings.cpp:
3055         * page/animation/CSSPropertyAnimation.cpp:
3056         * platform/chromium/PasteboardChromium.cpp:
3057         * platform/efl/ErrorsEfl.cpp:
3058         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3059         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3060         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3061         * platform/gtk/ErrorsGtk.cpp:
3062         * platform/gtk/PasteboardGtk.cpp:
3063         * platform/gtk/PasteboardHelper.h:
3064         * platform/mac/ClipboardMac.h:
3065         * platform/mac/ClipboardMac.mm:
3066         * platform/mac/HTMLConverter.mm:
3067         * platform/mac/PasteboardMac.mm:
3068         * platform/network/AuthenticationChallengeBase.cpp:
3069         * platform/network/cf/CookieJarCFNet.cpp:
3070         * platform/network/cf/ResourceRequestCFNet.cpp:
3071         * platform/network/mac/CookieStorageMac.mm:
3072         * platform/qt/PasteboardQt.cpp:
3073         * plugins/DOMMimeType.cpp:
3074         * plugins/PluginView.cpp:
3075         * rendering/HitTestResult.cpp:
3076         * rendering/InlineFlowBox.cpp:
3077         * rendering/RenderBox.cpp:
3078         * rendering/RenderEmbeddedObject.cpp:
3079         * rendering/RenderImage.cpp:
3080         * rendering/RenderImageResourceStyleImage.cpp:
3081         * rendering/RenderLayer.cpp:
3082         * rendering/RenderLayerBacking.cpp:
3083         * rendering/RenderLayerFilterInfo.h:
3084         * rendering/RenderListItem.cpp:
3085         * rendering/RenderListMarker.cpp:
3086         * rendering/RenderSnapshottedPlugIn.cpp:
3087         * rendering/RenderTableCol.cpp:
3088         * rendering/RenderTableRow.cpp:
3089         * rendering/RenderTableSection.cpp:
3090         * rendering/style/StyleCachedShader.h:
3091         * svg/SVGFEImageElement.h:
3092         * svg/SVGFontFaceUriElement.h:
3093         * svg/SVGImageLoader.cpp:
3094         * svg/SVGUseElement.cpp:
3095         * svg/SVGUseElement.h:
3096         * svg/graphics/SVGImageCache.cpp:
3097         * testing/MockPagePopupDriver.cpp:
3098         * xml/XSLStyleSheet.h:
3099         * xml/XSLTProcessorLibxslt.cpp:
3100         * xml/parser/XMLDocumentParser.cpp:
3101         * xml/parser/XMLDocumentParser.h:
3102         * xml/parser/XMLDocumentParserLibxml2.cpp:
3103         Many self-evident changes - removing unnecessary header includes, adding smaller
3104         more local ones that are now necessary.
3105
3106 2013-02-28  Koji Hara  <kojih@chromium.org>
3107
3108         [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
3109         https://bugs.webkit.org/show_bug.cgi?id=110852
3110
3111         Reviewed by Kentaro Hara.
3112
3113         Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
3114         (Also added to the wiki)
3115         https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
3116         Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
3117         We want to clean up CodeGeneratorV8.pm.
3118         The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
3119         We want to auto-generate as much code as possible.
3120         As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.
3121
3122         No test. Simple refactoring.
3123
3124         * bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
3125         * dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
3126         * html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
3127         * html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
3128         * html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
3129         * html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
3130         * html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
3131         * html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
3132         * page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
3133         * storage/Storage.idl: Add V8CustomIndexedGetter attribute.
3134
3135 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
3136
3137         Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
3138         https://bugs.webkit.org/show_bug.cgi?id=108542
3139
3140         Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
3141         which causes this issue.
3142
3143         Reviewed by Chris Rogers.
3144
3145         * Modules/webaudio/AudioNodeInput.cpp:
3146         (WebCore::AudioNodeInput::numberOfChannels):
3147         * Modules/webaudio/AudioNodeOutput.cpp:
3148         (WebCore::AudioNodeOutput::bus):
3149
3150 2013-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3151
3152         Unreviewed, rolling out r144370.
3153         http://trac.webkit.org/changeset/144370
3154         https://bugs.webkit.org/show_bug.cgi?id=111136
3155
3156         Caused 21 assertion failure at DocumentLoader.cpp(436)
3157         (Requested by toyoshim on #webkit).
3158
3159         * dom/Document.cpp:
3160         (WebCore::Document::decrementActiveParserCount):
3161         * loader/DocumentLoader.cpp:
3162         (WebCore::DocumentLoader::isLoading):
3163         (WebCore::DocumentLoader::checkLoadComplete):
3164
3165 2013-02-28  Li Yin  <li.yin@intel.com>
3166
3167         [chromium] Events can't be triggered on MediaStreamTrack
3168         https://bugs.webkit.org/show_bug.cgi?id=110930
3169
3170         Reviewed by Kentaro Hara.
3171
3172         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
3173         ended event handler should be triggered, when stop() is called.
3174
3175         No new tests because the test fast/mediastream/MediaStreamTrack.html
3176         had covered it already.
3177
3178         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
3179         (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
3180
3181 2013-02-28  Ankur Taly  <ataly@google.com>
3182
3183         WebKit API for enabling DOM logging for certain worlds
3184         https://bugs.webkit.org/show_bug.cgi?id=110779
3185
3186         Reviewed by Adam Barth.
3187         
3188         Adds additional static methods to DOMWrapperWorld for managing the
3189         mapping between worldIDs and logger objects (where DOM logging messages
3190         are sent), and also defines a class (V8DOMActivityLogger) for logger
3191         objects.
3192
3193         * WebCore.gypi:
3194         * bindings/v8/DOMWrapperWorld.cpp:
3195         (WebCore):
3196         (WebCore::domActivityLoggers):
3197         (WebCore::DOMWrapperWorld::setDOMActivityLogger):
3198         (WebCore::DOMWrapperWorld::getDOMActivityLogger):
3199         * bindings/v8/DOMWrapperWorld.h:
3200         (DOMWrapperWorld):
3201         * bindings/v8/V8DOMActivityLogger.h: Added.
3202         (WebCore):
3203         (V8DOMActivityLogger):
3204         (WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
3205         (WebCore::V8DOMActivityLogger::log):
3206
3207 2013-02-28  Adam Barth  <abarth@webkit.org>
3208
3209         The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
3210         https://bugs.webkit.org/show_bug.cgi?id=111130
3211
3212         Reviewed by Eric Seidel.
3213
3214         Previously, the threaded HTML parser always invalidated its speculation
3215         buffer when it received a document.write.  That means we performed
3216         poorly on web sites that contained document.write calls early in the
3217         page.
3218
3219         This patch teaches the HTMLDocumentParser that we don't need to discard
3220         the speculation buffer in the common case of starting and ending in the
3221         DataState.
3222
3223         * html/parser/BackgroundHTMLParser.cpp:
3224         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3225         * html/parser/HTMLDocumentParser.cpp:
3226         (WebCore::HTMLDocumentParser::checkForSpeculationFailure):
3227         (WebCore::HTMLDocumentParser::didFailSpeculation):
3228         * html/parser/HTMLDocumentParser.h:
3229         (WebCore):
3230         (ParsedChunk):
3231
3232 2013-02-28  Eberhard Graether  <egraether@google.com>
3233
3234         WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
3235         https://bugs.webkit.org/show_bug.cgi?id=110641
3236
3237         Reviewed by Pavel Feldman.
3238
3239         This change switches the shortcut for adding visibility:hidden to an element's style
3240         to toggling a class name on the element and injecting a style rule into the element's
3241         document instead. This way it is possible to change the visibility of all child
3242         elements as well.
3243
3244         Test: inspector/elements/hide-shortcut.html
3245
3246         * inspector/front-end/CSSStyleModel.js:
3247         * inspector/front-end/ElementsTreeOutline.js:
3248         (WebInspector.ElementsTreeOutline.prototype._onkeydown):
3249         (WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
3250         (WebInspector.ElementsTreeOutline.prototype.):
3251         (WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):
3252
3253 2013-02-28  Ryuan Choi  <ryuan.choi@samsung.com>
3254
3255         [EFL] Build break with --no-web-audio and --no-video
3256         https://bugs.webkit.org/show_bug.cgi?id=111055
3257
3258         Unreviewed build fix.
3259
3260         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
3261
3262 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
3263
3264         Implement the memory report on IPP FFTFrame on Web Audio
3265         https://bugs.webkit.org/show_bug.cgi?id=111039
3266
3267         Reviewed by Yury Semikhatsky.
3268
3269         Covered by existing test.
3270
3271         * platform/audio/FFTFrame.cpp:
3272         (WebCore::FFTFrame::reportMemoryUsage):
3273
3274 2013-02-28  Levi Weintraub  <leviw@chromium.org>
3275
3276         Stale FrameSelection in removed iframe causes crash
3277         https://bugs.webkit.org/show_bug.cgi?id=108696
3278
3279         Reviewed by Ryosuke Niwa.
3280
3281         Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
3282         iFrame that is removed can leave the outer frame's selection referencing stale nodes.
3283         Instead, in this case, we keep the frame alive long enough to check for this condition
3284         and clear our selection if we hit it.
3285
3286         Test: editing/selection/selection-in-iframe-removed-crash.html
3287
3288         * editing/FrameSelection.cpp:
3289         (WebCore::FrameSelection::setSelection):
3290
3291 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
3292
3293         Need API to control page underlay color
3294         https://bugs.webkit.org/show_bug.cgi?id=110918
3295
3296         Reviewed by Simon Fraser.
3297
3298         * page/ChromeClient.h:
3299         (ChromeClient):
3300         Declare underlayColor().
3301
3302         * platform/ScrollbarTheme.h:
3303         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
3304         Have setUpOverhangAreasLayerContents() take a background color parameter.
3305
3306         * platform/mac/ScrollbarThemeMac.h:
3307         (ScrollbarThemeMac):
3308         Ditto.
3309
3310         * platform/mac/ScrollbarThemeMac.mm:
3311         Include ColorMac.h.
3312         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
3313         Use the passed-in background color, if valid, for the overhang area layer.
3314
3315         * rendering/RenderLayerCompositor.cpp:
3316         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3317         Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().
3318
3319 2013-02-28  Beth Dakin  <bdakin@apple.com>
3320
3321         RelevantRepaintedObjects heuristic should ensure there is some coverage in the 
3322         bottom half of the relevant view rect
3323         https://bugs.webkit.org/show_bug.cgi?id=111124
3324         -and corresponding-
3325         <rdar://problem/12257164>
3326
3327         Reviewed by Simon Fraser.
3328
3329         We need two Regions now -- one for the top and another for the bottom. Make sure 
3330         we have at least half of our desired coverage in both.
3331         * page/Page.cpp:
3332         (WebCore::Page::resetRelevantPaintedObjectCounter):
3333         (WebCore::Page::addRelevantRepaintedObject):
3334         (WebCore::Page::reportMemoryUsage):
3335         * page/Page.h:
3336
3337 2013-02-28  Chris Fleizach  <cfleizach@apple.com>
3338
3339         WebSpeech: support pitch change
3340         https://bugs.webkit.org/show_bug.cgi?id=107348
3341
3342         Reviewed by Beth Dakin.
3343
3344         Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
3345         to something sensible for the platform.
3346
3347         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3348         (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
3349         (-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
3350         (-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
3351         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3352
3353 2013-02-28   Vineet Chaudhary  <rgf748@motorola.com>
3354
3355         Unreviewed. Bindings test results update after r144376.
3356
3357         * bindings/scripts/test/JS/JSTestObj.cpp:
3358
3359 2013-02-28  Roger Fong  <roger_fong@apple.com>
3360
3361         Unreviewed. AppleWin VS2010 build fix.
3362
3363         * WebCore.vcxproj/WebCore.vcxproj:
3364         * WebCore.vcxproj/WebCore.vcxproj.filters:
3365
3366 2013-02-28  Roger Fong  <roger_fong@apple.com>
3367
3368         Unreviewed. AppleWin Build fix.
3369
3370         * WebCore.vcproj/WebCore.vcproj:
3371
3372 2013-02-28  Kentaro Hara  <haraken@chromium.org>
3373
3374         [V8] Remove the world->isMainWorld() check from minorGCPrologue()
3375         https://bugs.webkit.org/show_bug.cgi?id=111114
3376
3377         Reviewed by Adam Barth.
3378
3379         A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.
3380
3381           void minorGCPrologue() {
3382             // A minor GC can handle the main world only.
3383             DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
3384             if (world && world->isMainWorld()) {
3385               MinorGCWrapperVisitor visitor(isolate);
3386               v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
3387               visitor.notifyFinished();
3388             }
3389           }
3390
3391         - The check makes no sense. A GC should not care about what world we are in.
3392         There is no concept of worlds in GC.
3393
3394         - worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
3395         So if a GC runs in the main world, the minor DOM GC is skipped.
3396
3397         - worldForEnteredContextWithoutContextCheck() caused a Chromium crash
3398         (https://code.google.com/p/chromium/issues/detail?id=177587)
3399
3400         We should remove the check.
3401
3402         No tests. No change in behavior.
3403
3404         * bindings/v8/DOMWrapperWorld.h:
3405         (WebCore::DOMWrapperWorld::getWorld):
3406         * bindings/v8/V8Binding.h:
3407         * bindings/v8/V8GCController.cpp:
3408         (WebCore::V8GCController::minorGCPrologue):
3409
3410 2013-02-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3411
3412         Create GraphicsContext3DState to aggregate state objects
3413         https://bugs.webkit.org/show_bug.cgi?id=110817
3414
3415         Reviewed by Kenneth Russell.
3416
3417         Aggregate context state-related objects on a GraphicsContext3DState
3418         struct, in a similar fashion as GraphicsContext does. This is useful to
3419         avoid duplicated values for platform-specific initialization lists.
3420
3421         No behavior changes, thus covered by existing tests.
3422
3423         * platform/graphics/GraphicsContext3D.h:
3424         (WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
3425         (GraphicsContext3DState):
3426         (GraphicsContext3D):
3427         Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.
3428
3429         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
3430         (WebCore::GraphicsContext3D::GraphicsContext3D):
3431         (WebCore::GraphicsContext3D::reshapeFBOs):
3432         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3433         (WebCore::GraphicsContext3D::GraphicsContext3D):
3434         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3435         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3436         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3437         (WebCore::GraphicsContext3D::GraphicsContext3D):
3438         * platform/graphics/efl/GraphicsContext3DPrivate.cpp: