1 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
3 Add build flag for FontLoader
4 https://bugs.webkit.org/show_bug.cgi?id=111289
6 Reviewed by Benjamin Poulain.
8 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
10 * Configurations/FeatureDefines.xcconfig:
12 2013-03-04 Mike West <mkwst@chromium.org>
14 XSSAuditor should strip dangerous attributes from SMIL animation elements.
15 https://bugs.webkit.org/show_bug.cgi?id=111071
17 Reviewed by Adam Barth.
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.
25 Test: http/tests/security/xssAuditor/svg-animate.html
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
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.
39 2013-03-04 Arvid Nilsson <anilsson@rim.com>
41 [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
42 https://bugs.webkit.org/show_bug.cgi?id=111153
48 This patch contains contributions from many members of the BlackBerry
66 Covered by existing tests.
68 * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
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.
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.
92 (FontCustomPlatformData):
93 * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
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.
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.
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.
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.
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.
188 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
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.
211 * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
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.
250 (WebCore::Pattern::platformDestroy):
251 (WebCore::Pattern::platformPattern):
252 (WebCore::Pattern::setPlatformPatternSpaceTransform):
253 * platform/graphics/blackberry/PlatformSupport.cpp: Added.
255 (WebCore::PlatformSupport::getFontFamilyForCharacters):
256 * platform/graphics/blackberry/PlatformSupport.h: Added.
260 * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
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):
275 2013-03-04 Adam Bergkvist <adam.bergkvist@ericsson.com>
277 MediaStream API: local addTrack() and removeTrack() operations should not fire events.
278 https://bugs.webkit.org/show_bug.cgi?id=111079
280 Reviewed by Adam Barth.
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.
286 Test: fast/mediastream/MediaStream-add-remove-tracks.html
288 * Modules/mediastream/MediaStream.cpp:
289 (WebCore::MediaStream::addTrack):
290 (WebCore::MediaStream::removeTrack):
292 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
294 Web Inspector: touchmove not emulated inside iframe
295 https://bugs.webkit.org/show_bug.cgi?id=111292
297 Reviewed by Vsevolod Vlasov.
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.
303 * page/EventHandler.cpp:
304 (WebCore::EventHandler::mouseMoved):
305 (WebCore::EventHandler::handleMouseMoveEvent):
306 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
308 2013-03-04 Mike West <mkwst@chromium.org>
310 Long URLs in error messages should be shortened
311 https://bugs.webkit.org/show_bug.cgi?id=111133
313 Reviewed by Jochen Eisinger.
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.
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.
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.
330 (WebCore::KURL::elidedString): Added.
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
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):
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.
382 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
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
387 Reviewed by Pavel Feldman.
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.
396 No new tests: no change in behaviour.
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:
406 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
408 Web Inspector: Fix front-end compilation
409 https://bugs.webkit.org/show_bug.cgi?id=111286
411 Reviewed by Alexander Pavlov.
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):
420 2013-03-03 Kondapally Kalyan <kalyan.kondapally@intel.com>
422 [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
423 https://bugs.webkit.org/show_bug.cgi?id=108034
425 Reviewed by Laszlo Gombos.
427 Covered by existing WebGL tests.
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.
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:
443 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
445 Web Inspector: [PageAgent] can't find frame by security origin.
446 https://bugs.webkit.org/show_bug.cgi?id=110849
448 Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
450 Reviewed by Vsevolod Vlasov.
452 * inspector/InspectorPageAgent.cpp:
453 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
455 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
457 Unreviewed, rolling out r144455.
458 http://trac.webkit.org/changeset/144455
459 https://bugs.webkit.org/show_bug.cgi?id=111165
461 A simpler solution to the SecurityOrigin -> localStorage
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):
519 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
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
524 Reviewed by Pavel Feldman.
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.
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):
561 2013-03-03 Arpita Bahuguna <a.bah@samsung.com>
563 createAttribute/setAttributeNode does not properly normalize case
564 https://bugs.webkit.org/show_bug.cgi?id=90341
566 Reviewed by Darin Adler.
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.
573 Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
576 (WebCore::Element::setAttributeNode):
577 Made changes to check for an existing attribute by converting the
578 specified attribute's localName to lowercase.
580 2013-03-03 Kentaro Hara <haraken@chromium.org>
582 Unreviewed. Rebaselined run-bindings-tests.
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):
592 2013-03-03 Kentaro Hara <haraken@chromium.org>
594 Unreviewed build fix after r144590.
596 * bindings/scripts/CodeGeneratorV8.pm:
597 (GenerateSecurityCheckFunctions):
599 2013-03-03 Kentaro Hara <haraken@chromium.org>
601 Unreviewed build fix after r144587.
603 * bindings/v8/V8Binding.cpp:
604 (WebCore::toV8Context):
605 * bindings/v8/V8MutationCallback.cpp:
606 (WebCore::V8MutationCallback::V8MutationCallback):
608 2013-03-01 Kentaro Hara <haraken@chromium.org>
610 [V8] HTMLDocument.all should have [Replaceable]
611 https://bugs.webkit.org/show_bug.cgi?id=111230
613 Reviewed by Adam Barth.
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
620 I confimed that exactly the same code is generated for .all getter
623 No tests. No change in behavior.
625 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
626 * html/HTMLDocument.idl:
628 2013-03-01 Kentaro Hara <haraken@chromium.org>
630 [V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
631 https://bugs.webkit.org/show_bug.cgi?id=111225
633 Reviewed by Adam Barth.
635 indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
636 except for DOMWindow's ones.
638 No tests. No change in behavior.
640 * bindings/scripts/CodeGeneratorV8.pm:
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:
650 2013-03-01 Kentaro Hara <haraken@chromium.org>
652 [V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
653 https://bugs.webkit.org/show_bug.cgi?id=111214
655 Reviewed by Adam Barth.
657 $implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
658 For clarification, it should be renamed to $implContentInternals.
660 No tests. No change in behavior.
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):
675 (GenerateOverloadedConstructorCallback):
676 (GenerateSingleConstructorCallback):
677 (GenerateEventConstructor):
678 (GenerateTypedArrayConstructor):
679 (GenerateImplementation):
682 2013-03-01 Kentaro Hara <haraken@chromium.org>
684 [V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
685 https://bugs.webkit.org/show_bug.cgi?id=111212
687 Reviewed by Adam Barth.
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().
694 No tests. No change in behavior.
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:
713 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
715 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
717 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
718 (WebCore::V8XMLHttpRequest::constructorCustom):
720 2013-03-01 Kentaro Hara <haraken@chromium.org>
722 [V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
723 https://bugs.webkit.org/show_bug.cgi?id=111223
725 Reviewed by Adam Barth.
727 HTMLDocument::getNamedProperty() is used by DOMWindowShell.
728 It can be a static method in DOMWindowShell.
730 No tests. No change in behavior.
732 * bindings/scripts/CodeGeneratorV8.pm:
734 * bindings/v8/V8DOMWindowShell.cpp:
735 (WebCore::getNamedProperty):
738 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
740 2013-03-03 Dan Bernstein <mitz@apple.com>
742 Build fix after r144565. Reverted r144533.
744 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
746 2013-03-03 Adam Barth <abarth@webkit.org>
748 Attempt to fix the Qt build after r144498
749 https://bugs.webkit.org/show_bug.cgi?id=111272
751 Reviewed by Eric Seidel.
753 Update the Qt version of the XML parser to call the new API.
755 * xml/parser/XMLDocumentParserQt.cpp:
756 (WebCore::XMLDocumentParser::resumeParsing):
757 (WebCore::XMLDocumentParser::appendFragmentSource):
759 2013-03-03 Dean Jackson <dino@apple.com>
761 Plug-ins that are appropriately large w.r.t page size should autostart
762 https://bugs.webkit.org/show_bug.cgi?id=111242
764 Reviewed by Brady Eidson.
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
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.
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
779 * html/HTMLPlugInImageElement.cpp:
780 (WebCore): New static constant: sizingFullPageThresholdPercentage
781 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
782 the rules described above.
784 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
786 [Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
787 https://bugs.webkit.org/show_bug.cgi?id=111267
789 Reviewed by Kentaro Hara.
791 Allow empty definitions.
793 * bindings/scripts/IDLParser.pm:
796 2013-03-03 David Kilzer <ddkilzer@apple.com>
798 BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
800 Fixes the following build failures:
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;
806 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
807 Vector<RefPtr<Element> > m_internalSVGReferences;
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;
814 * rendering/RenderLayerFilterInfo.h: Include Element.h within
815 ENABLE(SVG). Move ENABLE(SVG) block below unconditional
818 2013-03-03 Sheriff Bot <webkit.review.bot@gmail.com>
820 Unreviewed, rolling out r144567.
821 http://trac.webkit.org/changeset/144567
822 https://bugs.webkit.org/show_bug.cgi?id=111266
824 Does not compile on apple-win (Requested by abarth on
829 (WebCore::Document::iconURLs):
832 * loader/icon/IconController.cpp:
833 (WebCore::IconController::iconURL):
834 (WebCore::IconController::urlsForTypes):
835 * loader/icon/IconController.h:
837 * testing/Internals.cpp:
838 (WebCore::Internals::iconURLs):
839 * testing/Internals.h:
840 * testing/Internals.idl:
842 2013-03-03 Mike West <mkwst@chromium.org>
844 CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
845 https://bugs.webkit.org/show_bug.cgi?id=111254
847 Reviewed by Adam Barth.
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â„¢.
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.
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.
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.
871 (WebCore::Document::processHttpEquiv):
872 * loader/FrameLoader.cpp:
873 (WebCore::FrameLoader::didBeginDocument):
874 Use the new enum names.
875 * page/ContentSecurityPolicy.cpp:
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.
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'.
891 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
893 Another Windows build fix attempt after r144567.
894 Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
896 * testing/Internals.idl:
898 2013-03-03 Adam Barth <abarth@webkit.org>
900 Unreviewed attempted build fix. Adds back some includes removed in
901 http://trac.webkit.org/changeset/144565.
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:
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:
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:
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:
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:
983 2013-03-03 Ruslan Abdikeev <aruslan@chromium.org>
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
988 Reviewed by Adam Barth.
990 Test: fast/dom/icon-url-list-apple-touch.html
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.
999 (WebCore::Document::shortcutIconURLs):
1001 (WebCore::Document::iconURLs):
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):
1011 (WebCore::Internals::allIconURLs):
1012 * testing/Internals.h:
1013 * testing/Internals.idl:
1015 2013-03-03 Mike West <mkwst@chromium.org>
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
1020 Reviewed by Adam Barth.
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.
1027 Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
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.
1039 2013-03-03 Adam Barth <abarth@webkit.org>
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.
1047 * GNUmakefile.list.am:
1048 * Modules/mediastream/RTCPeerConnection.cpp:
1049 * Modules/notifications/Notification.cpp:
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:
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:
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:
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:
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:
1108 * inspector/InspectorPageAgent.cpp:
1109 * inspector/NetworkResourcesData.cpp:
1110 * inspector/NetworkResourcesData.h:
1112 * loader/CookieJar.cpp:
1113 * loader/CrossOriginAccessControl.cpp:
1114 * loader/CrossOriginAccessControl.h:
1116 * loader/CrossOriginPreflightResultCache.h:
1117 * loader/DocumentThreadableLoader.h:
1118 * loader/FrameLoader.cpp:
1119 (WebCore::FrameLoader::FrameLoader):
1120 * loader/FrameLoader.h:
1122 (WebCore::FrameLoader::policyChecker):
1123 * loader/ImageLoader.cpp:
1124 * loader/ImageLoader.h:
1125 * loader/LinkLoader.h:
1127 * loader/MainResourceLoader.cpp:
1128 * loader/MainResourceLoader.h:
1130 * loader/MixedContentChecker.cpp:
1131 * loader/PingLoader.cpp:
1132 * loader/PolicyChecker.h:
1134 * loader/ProgressTracker.cpp:
1135 * loader/SubframeLoader.cpp:
1136 * loader/SubresourceLoader.cpp:
1137 * loader/TextTrackLoader.cpp:
1138 * loader/TextTrackLoader.h:
1140 * loader/ThreadableLoader.h:
1141 * loader/appcache/ApplicationCacheGroup.cpp:
1142 * loader/appcache/ApplicationCacheGroup.h:
1144 * loader/appcache/ApplicationCacheHost.cpp:
1145 * loader/archive/cf/LegacyWebArchive.cpp:
1146 * loader/cache/CachedFont.cpp:
1147 * loader/cache/CachedFont.h:
1149 (WebCore::CachedFontClient::~CachedFontClient):
1150 (WebCore::CachedFontClient::expectedType):
1151 (WebCore::CachedFontClient::resourceClientType):
1152 (WebCore::CachedFontClient::fontLoaded):
1154 * loader/cache/CachedFontClient.h: Removed.
1155 * loader/cache/CachedImage.cpp:
1156 * loader/cache/CachedRawResource.cpp:
1157 * loader/cache/CachedRawResource.h:
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:
1172 * loader/cache/CachedResourceHandle.h:
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):
1182 * loader/cache/CachedSVGDocumentClient.h: Removed.
1183 * loader/cache/CachedSVGDocumentReference.cpp: Removed.
1184 * loader/cache/CachedSVGDocumentReference.h:
1186 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1187 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1188 * loader/cache/CachedStyleSheetClient.h:
1190 * loader/cache/MemoryCache.h:
1193 * loader/chromium/CachedRawResourceChromium.cpp:
1194 * loader/icon/IconController.cpp:
1195 * loader/icon/IconLoader.h:
1196 * loader/mac/ResourceLoaderMac.mm:
1197 * page/DOMWindowExtension.cpp:
1199 (WebCore::Frame::Frame):
1201 (WebCore::Frame::reportMemoryUsage):
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:
1218 * platform/graphics/filters/FilterOperation.h:
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):
1242 * plugins/PluginStreamClient.h: Removed.
1243 * plugins/PluginView.cpp:
1244 * plugins/PluginView.h:
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):
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:
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:
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:
1299 * xml/XSLTProcessorLibxslt.cpp:
1300 * xml/parser/XMLDocumentParser.cpp:
1301 * xml/parser/XMLDocumentParser.h:
1302 * xml/parser/XMLDocumentParserLibxml2.cpp:
1304 2013-03-03 Kentaro Hara <haraken@chromium.org>
1306 [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
1307 https://bugs.webkit.org/show_bug.cgi?id=111218
1309 Reviewed by Adam Barth.
1311 TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
1312 but there is no non-custom method that uses TimeoutHandler.
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.)
1322 No tests. No change in behavior.
1324 * bindings/scripts/CodeGeneratorV8.pm:
1325 (GenerateParametersCheck):
1326 * page/DOMWindow.idl:
1327 * workers/WorkerContext.idl:
1329 2013-03-03 James Weatherall <wez@chromium.org>
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
1334 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1336 Reviewed by Adam Barth.
1338 * platform/chromium/KeyCodeConversionGtk.cpp:
1339 (WebCore::windowsKeyCodeForKeyEvent):
1341 2013-03-03 Adam Barth <abarth@webkit.org>
1343 REGRESSION(144520): Does not compile on chromium-win
1344 https://bugs.webkit.org/show_bug.cgi?id=111261
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
1350 * rendering/ExclusionShapeInsideInfo.cpp:
1351 * rendering/ExclusionShapeInsideInfo.h:
1354 (WebCore::LineSegmentRange::LineSegmentRange):
1355 (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
1356 * rendering/RenderBlock.cpp:
1357 (WebCore::RenderBlock::willBeDestroyed):
1358 (WebCore::RenderBlock::exclusionShapeInsideInfo):
1360 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
1361 * rendering/RenderBlock.h:
1364 (RenderBlockRareData):
1365 * rendering/RenderBlockLineLayout.cpp:
1366 (WebCore::constructBidiRunsForLine):
1368 2013-03-02 Zan Dobersek <zdobersek@igalia.com>
1370 REGRESSION (r144517): IndexedDB layout test failures on GTK
1371 https://bugs.webkit.org/show_bug.cgi?id=111243
1373 Reviewed by Martin Robinson.
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.
1379 No new tests - already covered by existing tests.
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.
1386 2013-03-02 Darin Adler <darin@apple.com>
1388 Another try at fixing the build.
1390 * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
1392 2013-03-02 Darin Adler <darin@apple.com>
1396 * inspector/InspectorInstrumentation.h: Add missing forward declaration
1399 2013-02-18 Darin Adler <darin@apple.com>
1401 Cut down the number of source files that depend on Clipboard.h
1402 https://bugs.webkit.org/show_bug.cgi?id=110030
1404 Reviewed by Ryosuke Niwa.
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
1410 * WebCore.exp.in: Updated for new MouseEvent::create function.
1412 * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
1413 here and the world no longer includes it everywhere.
1415 * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
1416 Clipboard.h. Also made some overrides private because they can be.
1418 * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
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.
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
1433 * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
1434 here and the world no longer includes it everywhere.
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.
1440 * editing/Editor.cpp: Added include of Clipboard.h since we use it here
1441 and the world no longer includes it everywhere.
1443 * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
1444 We used to get this indirectly through Clipboard.h.
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>.
1450 * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
1451 We used to get this indirectly through Clipboard.h.
1453 * loader/PingLoader.cpp: Added include of ResourceResponse.h.
1454 We used to get this indirectly through Clipboard.h.
1456 * page/DragController.cpp: Added include of DragState.h.
1457 We used to get this indirectly through EventHandler.h
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.
1463 2013-02-27 Darin Adler <darin@apple.com>
1465 StringHasher functions require alignment that call sites do not all guarantee
1466 https://bugs.webkit.org/show_bug.cgi?id=110171
1468 Reviewed by Benjamin Poulain.
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.
1475 2013-03-02 Adam Barth <abarth@webkit.org>
1477 XSSAuditor has a subtle race condition when used with the threaded HTML parser
1478 https://bugs.webkit.org/show_bug.cgi?id=111253
1480 Reviewed by Eric Seidel.
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.
1486 * html/parser/XSSAuditor.cpp:
1487 (WebCore::findAttributeWithName):
1489 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
1491 Move computedStyleIncludingVisitedInfo from TestRunner to Internals
1492 https://bugs.webkit.org/show_bug.cgi?id=109772
1494 Reviewed by Andreas Kling.
1496 The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
1497 it is better defined on Internals than on TestRunner.
1499 * testing/Internals.cpp:
1500 (WebCore::Internals::computedStyleIncludingVisitedInfo):
1501 * testing/Internals.h:
1502 * testing/Internals.idl:
1504 2013-03-02 David Kilzer <ddkilzer@apple.com>
1506 BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
1507 <http://webkit.org/b/106059>
1509 Fixes the following build failure:
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
1517 * WebCore.exp.in: Export ScriptController::javaScriptContext()
1518 even more unconditionally.
1520 2013-03-02 Eric Seidel <eric@webkit.org>
1522 Remove two unnecessary mallocs from the main-thread-parser code path
1523 https://bugs.webkit.org/show_bug.cgi?id=111249
1525 Reviewed by Adam Barth.
1527 I noticed these while fixing up our Vector -> String conversions
1528 but never went back to fix the FIXME.
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.
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.
1538 * html/parser/AtomicHTMLToken.h:
1539 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1540 * html/parser/HTMLToken.h:
1541 * html/parser/XSSAuditor.cpp:
1543 (WebCore::threadSafeMatch):
1546 2013-03-02 Eric Seidel <eric@webkit.org>
1548 constructTreeFromCompactHTMLToken should call clearExternalCharacters
1549 https://bugs.webkit.org/show_bug.cgi?id=111248
1551 Reviewed by Adam Barth.
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.
1557 * html/parser/HTMLDocumentParser.cpp:
1558 (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
1560 2013-03-02 Rob Buis <rbuis@rim.com>
1562 Text overflow ellipsis wrong color when using webkit-text-fill-color
1563 https://bugs.webkit.org/show_bug.cgi?id=54841
1565 Reviewed by David Hyatt.
1567 Take -webkit-text-fill-color into account for ellipsis painting.
1569 Test: fast/css/text-overflow-ellipsis-color.html
1571 * rendering/EllipsisBox.cpp:
1572 (WebCore::EllipsisBox::paint):
1574 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1576 Fix a typo in my previous commit (r144534).
1578 * platform/win/PasteboardWin.cpp:
1580 2013-03-02 Nayan Kumar K <nayankk@motorola.com>
1582 [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
1583 https://bugs.webkit.org/show_bug.cgi?id=110818
1585 Reviewed by Kenneth Russell.
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
1591 Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
1592 fast/canvas/webgl/oes-texture-half-float.html
1595 * DerivedSources.make:
1596 * DerivedSources.pri:
1597 * GNUmakefile.list.am:
1600 * WebCore.xcodeproj/project.pbxproj:
1601 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1603 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1604 (WebCore::toV8Object):
1605 * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
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.
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:
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:
1625 (WebGLRenderingContext):
1626 * html/canvas/WebGLRenderingContext.idl:
1627 * platform/graphics/Extensions3D.h:
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):
1636 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1638 Windows build fix attempt after r144530.
1640 * platform/win/PasteboardWin.cpp:
1642 2013-03-01 Dan Bernstein <mitz@apple.com>
1644 Tried to fix the build after r144530.
1646 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
1649 2013-03-01 Terry Anderson <tdanderson@chromium.org>
1651 Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
1652 https://bugs.webkit.org/show_bug.cgi?id=107314
1654 Reviewed by Darin Adler.
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.
1660 No change in behavior, so no new tests needed.
1662 * platform/PlatformWheelEvent.h:
1663 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1664 (WebCore::PlatformWheelEvent::useLatchedEventNode):
1665 (PlatformWheelEvent):
1667 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1669 Reduce amount of rebuilding when touching networking headers
1670 https://bugs.webkit.org/show_bug.cgi?id=111035
1672 Reviewed by Eric Seidel.
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.
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.
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
1690 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1691 definition of a class it holds, but default construction does not.
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.
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
1706 * plugins/PluginStream.h:
1707 * plugins/PluginStreamClient.h: Added.
1708 Similar situation here.
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.
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.
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).
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
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.
1739 * rendering/style/StyleCustomFilterProgram.cpp: Added.
1740 * rendering/style/StyleCustomFilterProgram.h:
1744 * GNUmakefile.list.am:
1745 * Modules/mediastream/RTCPeerConnection.cpp:
1746 * Modules/notifications/Notification.cpp:
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:
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.
1890 2013-03-01 David Hyatt <hyatt@apple.com>
1892 [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
1893 https://bugs.webkit.org/show_bug.cgi?id=111221.
1895 Reviewed by Simon Fraser.
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
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.
1906 Tests: fast/multicol/mixed-opacity-fixed-test.html
1907 fast/multicol/mixed-opacity-test.html
1908 fast/multicol/transform-inside-opacity.html
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.
1916 (WebCore::RenderLayer::collectFragments):
1917 (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
1918 (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
1919 * rendering/RenderLayer.h:
1921 Modify collectFragments so that we pass in the correct range
1922 within the columns that can possibly cover the fragmented
1925 2013-03-01 Ilya Tikhonovsky <loislo@chromium.org>
1927 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
1928 https://bugs.webkit.org/show_bug.cgi?id=110943
1930 Reviewed by Yury Semikhatsky.
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.
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):
1946 2013-03-01 Kentaro Hara <haraken@chromium.org>
1948 Style recalculation takes too long when adding whitespace text nodes
1949 https://bugs.webkit.org/show_bug.cgi?id=110786
1951 Reviewed by Darin Adler.
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'));
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(' '));
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().)
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.
1978 Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
1979 Performance result in Chromium/Linux: 25.3 sec => 48 msec !
1981 Test: perf/append-text-nodes-without-renderers.html (for performance)
1982 fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
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.
1989 (WebCore::Node::attach):
1991 2013-03-01 Jason Anderssen <janderssen@gmail.com>
1993 Moved markerTextForListItem from TestRunner to Internals
1994 https://bugs.webkit.org/show_bug.cgi?id=110939
1996 Reviewed by Benjamin Poulain.
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.
2002 * testing/Internals.cpp:
2003 (WebCore::Internals::markerTextForListItem):
2005 * testing/Internals.h:
2006 * testing/Internals.idl:
2008 2013-03-01 Elliott Sprehn <esprehn@gmail.com>
2010 Don't leak Documents when using MutationObserver from extensions
2011 https://bugs.webkit.org/show_bug.cgi?id=111234
2013 Reviewed by Adam Barth.
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:
2020 MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
2022 Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
2023 get the v8::Context from that inside handleEvent.
2025 Tests: ManualTests/leak-observer-nonmain-world.html
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):
2036 2013-03-01 Bear Travis <betravis@adobe.com>
2038 [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
2039 https://bugs.webkit.org/show_bug.cgi?id=110995
2041 Reviewed by Julien Chaffraix.
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.
2049 Refactoring, no new tests.
2051 * rendering/ExclusionShapeInsideInfo.cpp:
2053 (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
2054 constructor to the .cpp file, as InlineIterator is now forward declared in
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:
2060 (LineSegmentIterator): A simple struct for containing segment positions for
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.
2070 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
2071 the RenderBlockRareData struct rather than the global map.
2072 * rendering/RenderBlock.h:
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
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.
2085 2013-03-01 Terry Anderson <tdanderson@chromium.org>
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
2091 Reviewed by James Robinson.
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.
2099 Note that this patch does not use any of the mousewheel event-handling code.
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
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.
2116 (WebCore::EventHandler::clearGestureScrollNodes):
2117 * page/EventHandler.h:
2119 * platform/PlatformWheelEvent.h:
2120 (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
2122 2013-03-01 Alec Flett <alecflett@chromium.org>
2124 IndexedDB: Avoid ScriptValue copies in IDBAny
2125 https://bugs.webkit.org/show_bug.cgi?id=111002
2127 Reviewed by Adam Barth.
2129 This avoids some v8 handle thrashing in the long term,
2130 and protects us against some crashes in the short term.
2132 The crashes will be fixed in
2133 https://bugs.webkit.org/show_bug.cgi?id=110206.
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):
2143 (WebCore::IDBAny::keyPath):
2144 * bindings/v8/custom/V8IDBAnyCustom.cpp:
2148 2013-03-01 Victor Carbune <vcarbune@chromium.org>
2150 Support padding, margin and border for internal UA cue styling
2151 https://bugs.webkit.org/show_bug.cgi?id=110703
2153 Reviewed by Eric Carlson.
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).
2159 These properties *cannot* be set through by using the ::cue
2160 pseudo-element and, as specified, are used only internally.
2162 Note: This patch is identical to the previously commited one,
2163 as it was rolled back without related tests failing.
2165 Test: media/track/track-cue-rendering-with-padding.html
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)
2180 2013-03-01 Andy Estes <aestes@apple.com>
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
2185 Reviewed by Benjamin Poulain.
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.
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.
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.
2205 2013-03-01 Roger Fong <roger_fong@apple.com>
2207 Unreviewed AppleWin build fix.
2209 * platform/network/cf/ResourceHandleCFNet.cpp:
2210 (WebCore::ResourceHandle::createCFURLConnection):
2212 2013-03-01 Martin Robinson <mrobinson@igalia.com>
2214 [GTK] Allow sharing the WebCore include list with the Chromium build
2215 https://bugs.webkit.org/show_bug.cgi?id=110241
2217 Reviewed by Dirk Pranke.
2219 * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2220 * WebCore.gypi: Added shared include directories.
2222 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2224 Make in-memory blobs work in NetworkProcess
2225 https://bugs.webkit.org/show_bug.cgi?id=111132
2227 Reviewed by Sam Weinig.
2230 * WebCore.xcodeproj/project.pbxproj:
2231 Exported functions now needed by WebKit2, and made some headers Private instead
2234 2013-03-01 Eric Seidel <eric@webkit.org>
2236 Threaded HTML Parser has an extra copy of every byte from the network
2237 https://bugs.webkit.org/show_bug.cgi?id=111135
2239 Reviewed by Adam Barth.
2241 Every LayoutTest executes this code in threaded parsing mode.
2243 * dom/DecodedDataDocumentParser.cpp:
2244 (WebCore::DecodedDataDocumentParser::appendBytes):
2245 - Pass ownership of the decoded string to the parser.
2246 (WebCore::DecodedDataDocumentParser::flush):
2248 * dom/DecodedDataDocumentParser.h:
2249 (DecodedDataDocumentParser):
2251 (WebCore::Document::setContent):
2252 * dom/DocumentParser.h:
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):
2280 2013-03-01 David Hyatt <hyatt@apple.com>
2282 [New Multicolumn] Change inRenderFlowThread to follow containing block chain
2283 https://bugs.webkit.org/show_bug.cgi?id=111206
2285 Reviewed by Simon Fraser.
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.)
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.
2297 Test: fast/multicol/positioned-outside-of-columns.html
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:
2329 * rendering/RenderBlockLineLayout.cpp:
2330 (WebCore::layoutExclusionShapeInsideInfo):
2331 (WebCore::LineLayoutState::LineLayoutState):
2332 (WebCore::LineLayoutState::flowThread):
2333 (WebCore::LineLayoutState::setFlowThread):
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:
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):
2384 2013-02-28 Sam Weinig <sam@webkit.org>
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
2389 Reviewed by Alexey Proskuryakov.
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.
2399 2013-03-01 Brent Fulgham <bfulgham@webkit.org>
2401 [Windows] Unreviewed VS2010 build fix.
2403 * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
2404 files to the project.
2405 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2407 2013-03-01 Bear Travis <betravis@adobe.com>
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
2412 Reviewed by David Hyatt.
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
2420 Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
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
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.
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
2441 * rendering/RenderBlock.h:
2443 * rendering/RenderBlockLineLayout.cpp:
2444 (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
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.
2452 2013-03-01 Uday Kiran <udaykiran@motorola.com>
2454 getComputedStyle not implemented for -webkit-column-rule shorthand
2455 https://bugs.webkit.org/show_bug.cgi?id=111203
2457 Reviewed by Alexis Menard.
2459 Implement getComputedStyle for -webkit-column-rule property.
2461 Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
2463 * css/CSSComputedStyleDeclaration.cpp:
2464 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2466 2013-02-28 David Hyatt <hyatt@apple.com>
2468 REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
2469 https://bugs.webkit.org/show_bug.cgi?id=111117
2471 Make sure the allocated vector has a capacity of 1, since that is
2472 far and away the most common case.
2474 Reviewed by Andreas Kling.
2476 * rendering/RenderFlowThread.h:
2478 * rendering/RenderLayer.h:
2480 * rendering/RenderMultiColumnSet.cpp:
2481 (WebCore::RenderMultiColumnSet::collectLayerFragments):
2482 * rendering/RenderMultiColumnSet.h:
2483 * rendering/RenderRegion.h:
2485 (WebCore::RenderRegion::collectLayerFragments):
2487 2013-03-01 Enrica Casucci <enrica@apple.com>
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>
2493 Reviewed by Ryosuke Niwa.
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.
2499 * platform/mac/PasteboardMac.mm:
2500 (WebCore::writeFileWrapperAsRTFDAttachment):
2501 (WebCore::Pasteboard::writeImage):
2503 2013-03-01 Enrica Casucci <enrica@apple.com>
2505 Crash at WebCore::SharedBuffer::hasPlatformData during paste.
2506 https://bugs.webkit.org/show_bug.cgi?id=111207.
2507 <rdar://problem/13024528>
2509 Reviewed by Ryosuke Niwa.
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.
2514 * platform/mac/PasteboardMac.mm:
2515 (WebCore::Pasteboard::plainText):
2516 (WebCore::documentFragmentWithRTF):
2518 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2520 Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
2522 * platform/network/BlobRegistryImpl.cpp:
2524 2013-03-01 peavo@outlook.com <peavo@outlook.com>
2526 [Curl] Session cookies should not be persistent.
2527 https://bugs.webkit.org/show_bug.cgi?id=111060
2529 Reviewed by Brent Fulgham.
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.
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.
2539 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
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
2544 Reviewed by Pavel Feldman.
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').
2552 Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
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):
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:
2628 (.navigator .base-navigator-tree-element-title):
2629 (.navigator-tabbed-pane .navigator-container):
2631 2013-03-01 Arvid Nilsson <anilsson@rim.com>
2633 [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
2634 https://bugs.webkit.org/show_bug.cgi?id=111072
2636 Reviewed by Rob Buis.
2638 BlackBerry PR 293208
2640 This patch contains contributions from many members of the BlackBerry
2664 Covered by existing tests.
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):
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:
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):
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:
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:
2713 (EGLImageLayerWebKitThread):
2714 * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
2715 (WebCore::FloatRect::normalized):
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):
2723 * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2724 (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
2725 (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
2726 (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
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):
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):
2752 * platform/graphics/blackberry/LayerCompositingThread.h:
2754 (LayerCompositingThread):
2755 * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2758 (LayerCompositingThreadClient):
2759 (WebCore::LayerCompositingThreadClient::contentsTexture):
2760 (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
2761 * platform/graphics/blackberry/LayerData.h:
2762 (WebCore::LayerData::LayerData):
2763 (WebCore::LayerData::contentsResolutionIndependent):
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:
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):
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:
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:
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:
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):
2837 (WebCore::LayerTiler::TextureJob::TextureJob):
2838 (WebCore::LayerTiler::TextureJob::setContents):
2839 (WebCore::LayerTiler::TextureJob::updateContents):
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):
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):
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:
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:
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):
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):
2940 * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
2941 * platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
2942 * platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
2944 2013-03-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
2946 [Qt] Fix the Mac build with the current qtbase/dev branch
2947 https://bugs.webkit.org/show_bug.cgi?id=111190
2949 Reviewed by Allan Sandfeld Jensen.
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.
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.
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.
2965 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
2967 Web Inspector: [Regression] Snippets renaming is broken.
2968 https://bugs.webkit.org/show_bug.cgi?id=111181
2970 Reviewed by Alexander Pavlov.
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):
2979 2013-03-01 David Hyatt <hyatt@apple.com>
2981 Fix a misspelled word in RenderObject.h. staticly -> statically.
2983 Reviewed by Dean Jackson.
2985 * rendering/RenderObject.h:
2986 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2987 (WebCore::RenderObject::RenderObjectBitfields::isPositioned):
2989 2013-03-01 David Hyatt <hyatt@apple.com>
2991 [New Multicolumn] Change flow thread containment to be a state.
2992 https://bugs.webkit.org/show_bug.cgi?id=111110
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.
3000 Reviewed by Andreas Kling.
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):
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):
3029 2013-03-01 Jessie Berlin <jberlin@apple.com>
3033 Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.
3035 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
3037 2013-03-01 David Kilzer <ddkilzer@apple.com>
3039 BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
3040 <http://webkit.org/b/109331>
3042 Fixes the following build failures:
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)
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)
3052 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3053 (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
3056 2013-03-01 Dan Carney <dcarney@google.com>
3058 [v8] ScriptValue has dangerous copy semantics
3059 https://bugs.webkit.org/show_bug.cgi?id=110206
3061 Reviewed by Kentaro Hara.
3063 Update ScriptValue to used a SharedPersistent,
3064 making it impossible to return dead references.
3066 No new tests. No change in functionality.
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):
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):
3093 2013-03-01 Julien Chaffraix <jchaffraix@webkit.org>
3095 Add FeatureObserver for marquee and reflection
3096 https://bugs.webkit.org/show_bug.cgi?id=111118
3098 Reviewed by Simon Fraser.
3100 Refactoring covered by existing tests.
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).
3109 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
3111 Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
3112 https://bugs.webkit.org/show_bug.cgi?id=111165
3114 Reviewed by Vsevolod Vlasov.
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.
3122 No new tests, as it is a refactoring.
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):
3188 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
3190 Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
3191 https://bugs.webkit.org/show_bug.cgi?id=108930
3193 Reviewed by Pavel Feldman.
3195 This feature will help developers to focus on events
3196 that caused CPU bar.
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.
3206 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
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
3212 Reviewed by Vsevolod Vlasov.
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.
3218 No new tests, a UI change.
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):
3227 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
3229 Unreviewed, rolling out r144449.
3230 http://trac.webkit.org/changeset/144449
3231 https://bugs.webkit.org/show_bug.cgi?id=111175
3233 Breaks style-related inspector tests (Requested by apavlov on
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):
3245 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
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
3250 Reviewed by Vsevolod Vlasov.
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.
3256 No new tests, a UI change.
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):
3265 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
3267 Unreviewed, rolling out r144443.
3268 http://trac.webkit.org/changeset/144443
3269 https://bugs.webkit.org/show_bug.cgi?id=111169
3271 Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
3272 by toyoshim on #webkit).
3274 * css/mediaControls.css:
3275 (video::-webkit-media-text-track-display):
3276 * rendering/RenderTextTrackCue.cpp:
3277 (WebCore::RenderTextTrackCue::isOutside):
3278 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
3280 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
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
3287 Caused over 20 tests to fail assertion on Chromium Win port as
3288 ASSERTION FAILED: m_platformRequestUpdated (Requested by
3289 toyoshim on #webkit).
3292 * GNUmakefile.list.am:
3293 * Modules/mediastream/RTCPeerConnection.cpp:
3294 * Modules/notifications/Notification.cpp:
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:
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:
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:
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:
3352 * inspector/InspectorPageAgent.cpp:
3353 * inspector/NetworkResourcesData.cpp:
3354 * inspector/NetworkResourcesData.h:
3356 * loader/CookieJar.cpp:
3357 * loader/CrossOriginAccessControl.cpp:
3358 * loader/CrossOriginAccessControl.h:
3360 * loader/CrossOriginPreflightResultCache.h:
3361 * loader/DocumentThreadableLoader.h:
3362 * loader/FrameLoader.cpp:
3363 (WebCore::FrameLoader::FrameLoader):
3364 * loader/FrameLoader.h:
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:
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:
3385 * loader/appcache/ApplicationCacheHost.cpp:
3386 * loader/archive/cf/LegacyWebArchive.cpp:
3387 * loader/cache/CachedFont.cpp:
3388 * loader/cache/CachedFont.h:
3390 (WebCore::CachedFontClient::~CachedFontClient):
3391 (WebCore::CachedFontClient::expectedType):
3392 (WebCore::CachedFontClient::resourceClientType):
3393 (WebCore::CachedFontClient::fontLoaded):
3395 * loader/cache/CachedFontClient.h: Removed.
3396 * loader/cache/CachedImage.cpp:
3397 * loader/cache/CachedRawResource.cpp:
3398 * loader/cache/CachedRawResource.h:
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):
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:
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:
3438 (WebCore::Frame::Frame):
3439 (WebCore::Frame::reportMemoryUsage):
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):
3478 * plugins/PluginStreamClient.h: Removed.
3479 * plugins/PluginView.cpp:
3480 * plugins/PluginView.h:
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:
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:
3537 2013-03-01 Alexei Filippov <alph@chromium.org>
3539 Web Inspector: fix closure compiler warnings in ProfilesPanel
3540 https://bugs.webkit.org/show_bug.cgi?id=111163
3542 Reviewed by Vsevolod Vlasov.
3544 * inspector/front-end/ProfileLauncherView.js:
3545 (WebInspector.ProfileLauncherView.prototype.addProfileType):
3546 * inspector/front-end/ProfilesPanel.js:
3548 2013-03-01 Victor Carbune <vcarbune@chromium.org>
3550 Support padding, margin and border for internal UA cue styling
3551 https://bugs.webkit.org/show_bug.cgi?id=110703
3553 Reviewed by Eric Carlson.
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).
3559 These properties *cannot* be set through by using the ::cue
3560 pseudo-element and, as specified, are used only internally.
3562 Test: media/track/track-cue-rendering-with-padding.html
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)
3577 2013-02-26 Eugene Klyuchnikov <eustas@chromium.org>
3579 Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
3580 https://bugs.webkit.org/show_bug.cgi?id=110819
3582 Reviewed by Pavel Feldman.
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.
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.
3600 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
3602 Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
3603 https://bugs.webkit.org/show_bug.cgi?id=111077
3605 Reviewed by Pavel Feldman.
3607 Analysis: DataGridNode.refresh removes all cells and then recreates them.
3608 The issue is that mandatory "corner" cell is not recreated.
3610 * inspector/front-end/DataGrid.js:
3611 (WebInspector.DataGridNode.prototype.refresh):
3612 Added "corner" cell restoration code.
3614 2013-02-28 Alexander Pavlov <apavlov@chromium.org>
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
3619 Reviewed by Vsevolod Vlasov.
3621 Test: inspector/styles/selector-line.html
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.
3653 2013-03-01 Benjamin Poulain <benjamin@webkit.org>
3655 Get rid of two silly static null Strings
3656 https://bugs.webkit.org/show_bug.cgi?id=111151
3658 Reviewed by Eric Seidel.
3660 We have a global null String through nullAtom, there is no need
3661 for local static null strings.
3664 (WebCore::Page::groupName):
3665 * rendering/RenderListItem.cpp:
3666 (WebCore::RenderListItem::markerText):
3668 2013-03-01 Mark Rowe <mrowe@apple.com>
3672 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
3674 2013-03-01 Andrey Lushnikov <lushnikov@chromium.org>
3676 Web Inspector: fix code-mirror experiment to work in debug mode
3677 https://bugs.webkit.org/show_bug.cgi?id=111064
3679 Reviewed by Pavel Feldman.
3681 No new tests: no change in behaviour.
3683 Improve importScript function to try load a script from the root
3684 directory iff its loading from the given path failed.
3686 * inspector/front-end/utilities.js:
3688 2013-03-01 Andrey Adaikin <aandrey@chromium.org>
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
3693 Reviewed by Pavel Feldman.
3695 WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
3696 Just force lower case for extension names.
3698 * inspector/InjectedScriptCanvasModuleSource.js:
3701 2013-03-01 Mike West <mkwst@chromium.org>
3703 XSSAuditor should use threadSafeMatch when relevant.
3704 https://bugs.webkit.org/show_bug.cgi?id=111099
3706 Reviewed by Adam Barth.
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.
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.
3717 * html/parser/XSSAuditor.cpp:
3719 Replace call to equalIgnoringNullity(Vector<UChar...>, String)
3720 with threadSafeMatch(String, QualifiedName).
3722 2013-02-28 Keishi Hattori <keishi@webkit.org>
3724 Add calendar table view for the new calendar picker
3725 https://bugs.webkit.org/show_bug.cgi?id=110970
3727 Reviewed by Kent Tamura.
3729 The calendar table that will be used in the new calendar picker (Bug 109439).
3731 No new tests. Code is not used yet.
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.
3773 2013-02-28 Alexey Proskuryakov <ap@apple.com>
3775 Reduce amount of rebuilding when touching networking headers
3776 https://bugs.webkit.org/show_bug.cgi?id=111035
3778 Reviewed by Eric Seidel.
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.
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.
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
3796 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
3797 definition of a class it holds, but default construction does not.
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.
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
3812 * plugins/PluginStream.h:
3813 * plugins/PluginStreamClient.h: Added.
3814 Similar situation here.
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.
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.
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).
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
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.
3845 * rendering/style/StyleCustomFilterProgram.cpp: Added.
3846 * rendering/style/StyleCustomFilterProgram.h:
3850 * GNUmakefile.list.am:
3851 * Modules/mediastream/RTCPeerConnection.cpp:
3852 * Modules/notifications/Notification.cpp:
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:
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.
3996 2013-02-28 Koji Hara <kojih@chromium.org>
3998 [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
3999 https://bugs.webkit.org/show_bug.cgi?id=110852
4001 Reviewed by Kentaro Hara.
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.
4012 No test. Simple refactoring.
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