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