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