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