1 2013-03-04 Kondapally Kalyan <kalyan.kondapally@intel.com>
3 [EFL] Build fix when compiling with GLES2 support enabled.
4 https://bugs.webkit.org/show_bug.cgi?id=111291
6 Reviewed by Kenneth Rohde Christiansen.
8 This patch fixes build issues when compiling with GLES2
9 support. As part of the fix the patch removes Evas specific
10 workaround of using GLX with EGL in PlatformContext as GLES2
11 is the main target with EGL.
13 * platform/graphics/OpenGLESShims.h:
14 * platform/graphics/opengl/GLPlatformContext.cpp:
15 (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
16 * platform/graphics/texmap/TextureMapper.h:
18 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
20 Web Inspector: implement Flame Chart for CPU profiler.
21 https://bugs.webkit.org/show_bug.cgi?id=111162
23 Reviewed by Yury Semikhatsky.
25 It is an initial implementation. The next step is to provide
26 function names and other stats about the hovered item.
29 * WebCore.vcproj/WebCore.vcproj:
30 * WebCore.vcxproj/WebCore.vcxproj:
31 * WebCore.vcxproj/WebCore.vcxproj.filters:
32 * inspector/compile-front-end.py:
33 * inspector/front-end/CPUProfileView.js:
34 (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
35 * inspector/front-end/FlameChart.js: Added.
36 (WebInspector.FlameChart):
37 (WebInspector.FlameChart.prototype._onMouseMove):
38 (WebInspector.FlameChart.prototype.findNodeCallback):
39 (WebInspector.FlameChart.prototype._coordinatesToNode):
40 (WebInspector.FlameChart.prototype.onResize):
41 (WebInspector.FlameChart.prototype._rootNodes):
42 (WebInspector.FlameChart.prototype.draw):
43 (WebInspector.FlameChart.prototype._drawNode):
44 (WebInspector.FlameChart.prototype._forEachNode):
45 (WebInspector.FlameChart.prototype._drawBar):
46 (WebInspector.FlameChart.prototype.update):
47 * inspector/front-end/Settings.js:
48 (WebInspector.ExperimentsSettings):
49 * inspector/front-end/WebKit.qrc:
50 * inspector/front-end/flameChart.css: Added.
53 2013-03-04 Marja Hölttä <marja@chromium.org>
55 [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
56 https://bugs.webkit.org/show_bug.cgi?id=110875
58 The parameter will later be used for generating specialized V8
59 bindings for the 3 different world types (main world, isolated
62 Reviewed by Kentaro Hara.
64 No new tests (no changes in behavior yet).
66 * bindings/scripts/CodeGeneratorV8.pm:
68 (GenerateDomainSafeFunctionGetter):
69 (GenerateDomainSafeFunctionSetter):
70 (GenerateNormalAttrGetter):
71 (GenerateNamedConstructor):
72 (GenerateImplementation):
73 * bindings/v8/DOMDataStore.cpp:
74 (WebCore::DOMDataStore::DOMDataStore):
75 * bindings/v8/DOMDataStore.h:
77 * bindings/v8/DOMWrapperWorld.cpp:
79 (WebCore::DOMWrapperWorld::setInitializingWindow):
80 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
81 (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
82 * bindings/v8/DOMWrapperWorld.h:
84 (WebCore::DOMWrapperWorld::getWorld):
85 * bindings/v8/Dictionary.cpp:
86 (WebCore::Dictionary::get):
87 * bindings/v8/PageScriptDebugServer.cpp:
88 (WebCore::retrieveFrameWithGlobalObjectCheck):
89 * bindings/v8/V8AdaptorFunction.cpp:
90 (WebCore::V8AdaptorFunction::getTemplate):
91 (WebCore::V8AdaptorFunction::wrap):
92 * bindings/v8/V8AdaptorFunction.h:
94 * bindings/v8/V8Binding.cpp:
95 (WebCore::toDOMWindow):
96 (WebCore::toScriptExecutionContext):
99 (WebCore::worldTypeInMainThread):
100 * bindings/v8/V8Binding.h:
102 * bindings/v8/V8DOMWindowShell.cpp:
103 (WebCore::V8DOMWindowShell::clearForNavigation):
104 (WebCore::V8DOMWindowShell::installDOMWindow):
105 * bindings/v8/V8DOMWrapper.cpp:
106 (WebCore::V8DOMWrapper::createWrapper):
107 * bindings/v8/V8Initializer.cpp:
108 (WebCore::findFrame):
109 * bindings/v8/V8PerContextData.cpp:
110 (WebCore::V8PerContextData::constructorForTypeSlowCase):
111 * bindings/v8/WorkerScriptController.cpp:
112 (WebCore::WorkerScriptController::WorkerScriptController):
113 (WebCore::WorkerScriptController::controllerForContext):
114 * bindings/v8/WrapperTypeInfo.h:
115 (WebCore::WrapperTypeInfo::getTemplate):
116 * bindings/v8/custom/V8DOMWindowCustom.cpp:
117 (WebCore::V8DOMWindow::eventAttrGetterCustom):
118 (WebCore::V8DOMWindow::eventAttrSetterCustom):
119 (WebCore::V8DOMWindow::toStringMethodCustom):
120 (WebCore::V8DOMWindow::namedSecurityCheck):
121 (WebCore::V8DOMWindow::indexedSecurityCheck):
123 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
124 (WebCore::V8HTMLDocument::wrapInShadowObject):
125 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
126 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
127 * bindings/v8/custom/V8HTMLImageElementConstructor.h:
128 (V8HTMLImageElementConstructor):
129 * bindings/v8/custom/V8InjectedScriptManager.cpp:
130 (WebCore::createInjectedScriptHostV8Wrapper):
131 (WebCore::InjectedScriptManager::canAccessInspectedWindow):
132 * bindings/v8/custom/V8LocationCustom.cpp:
133 (WebCore::V8Location::reloadAttrGetterCustom):
134 (WebCore::V8Location::replaceAttrGetterCustom):
135 (WebCore::V8Location::assignAttrGetterCustom):
136 * bindings/v8/custom/V8MessageEventCustom.cpp:
137 (WebCore::V8MessageEvent::initMessageEventMethodCustom):
139 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
141 Web Inspector: add Ace editor experiment
142 https://bugs.webkit.org/show_bug.cgi?id=111191
144 Reviewed by Pavel Feldman.
148 Add Ace text editor experiment.
151 * inspector/front-end/AceTextEditor.js: Added.
152 * inspector/front-end/Settings.js:
153 (WebInspector.ExperimentsSettings):
154 * inspector/front-end/SourceFrame.js:
155 (WebInspector.SourceFrame):
156 * inspector/front-end/ace/ace.js: Added.
157 * inspector/front-end/ace/acedevtools.css: Added.
158 * inspector/front-end/ace/mode_css.js: Added.
159 * inspector/front-end/ace/mode_html.js: Added.
160 * inspector/front-end/ace/mode_javascript.js: Added.
161 * inspector/front-end/ace/theme_textmate.js: Added.
162 * inspector/front-end/ace/LICENSE.txt: Added.
164 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
166 Add build flag for FontLoader
167 https://bugs.webkit.org/show_bug.cgi?id=111289
169 Reviewed by Benjamin Poulain.
171 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
173 * Configurations/FeatureDefines.xcconfig:
175 2013-03-04 Mike West <mkwst@chromium.org>
177 XSSAuditor should strip dangerous attributes from SMIL animation elements.
178 https://bugs.webkit.org/show_bug.cgi?id=111071
180 Reviewed by Adam Barth.
182 SMIL animation elements can, amusingly enough, animate the 'href' of a
183 link. This patch teaches XSSAuditor how to deal with the
184 semicolon-separated 'animation[values]' attribute in order to ensure
185 that it doesn't contain JavaScript URLs that could be animated into
186 place for an unsuspecting user to click on.
188 Test: http/tests/security/xssAuditor/svg-animate.html
190 * html/parser/XSSAuditor.cpp:
191 (WebCore::isSemicolonSeparatedAttribute): Added.
192 This returns true if the given attribute is SVGNames::valuesAttr,
193 but makes it possible to easily extend the list with additional
194 attributes with this strange property.
195 (WebCore::semicolonSeparatedValueContainsJavaScriptURL): Added.
196 Given a semicolon-separated string, determine if it contains any
198 (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
199 When looking for dangerousness, determine whether or not we should
200 be comparing against each member of a semicolon-separated list.
202 2013-03-04 Arvid Nilsson <anilsson@rim.com>
204 [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
205 https://bugs.webkit.org/show_bug.cgi?id=111153
207 Reviewed by Rob Buis.
211 This patch contains contributions from many members of the BlackBerry
229 Covered by existing tests.
231 * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
235 (WebCore::Font::drawComplexText):
236 (WebCore::Font::floatWidthForComplexText):
237 (WebCore::Font::offsetForPositionForComplexText):
238 (WebCore::Font::selectionRectForComplexText):
239 (WebCore::Font::drawGlyphs):
240 (WebCore::Font::canReturnFallbackFontsForComplexText):
241 (WebCore::Font::drawEmphasisMarksForComplexText):
242 (WebCore::Font::canExpandAroundIdeographsInComplexText):
243 * platform/graphics/blackberry/FontCacheBlackBerry.cpp: Added.
245 (WebCore::FontCache::platformInit):
246 (WebCore::FontCache::getFontDataForCharacters):
247 (WebCore::FontCache::getSimilarFontPlatformData):
248 (WebCore::FontCache::getLastResortFallbackFont):
249 (WebCore::FontCache::getTraitsInFamily):
250 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
251 (WebCore::fontWeightToFontconfigWeight):
252 (WebCore::FontCache::createFontPlatformData):
253 * platform/graphics/blackberry/FontCustomPlatformData.h: Added.
255 (FontCustomPlatformData):
256 * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
258 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
259 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
260 (WebCore::FontCustomPlatformData::fontPlatformData):
261 (WebCore::FontCustomPlatformData::supportsFormat):
262 (WebCore::createFontCustomPlatformData):
263 * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: Added.
265 (WebCore::FontPlatformData::FontPlatformData):
266 (WebCore::FontPlatformData::~FontPlatformData):
267 (WebCore::FontPlatformData::name):
268 (WebCore::FontPlatformData::applyState):
269 (WebCore::FontPlatformData::platformDataInit):
270 (WebCore::FontPlatformData::platformDataAssign):
271 (WebCore::FontPlatformData::platformIsEqual):
272 (WebCore::FontPlatformData::description):
273 (WebCore::FontPlatformData::harfbuzzFace):
274 (WebCore::FontPlatformData::scaledFont):
275 (WebCore::FontPlatformData::setFakeBold):
276 (WebCore::FontPlatformData::setFakeItalic):
277 (WebCore::FontPlatformData::platformFontHandle):
278 (WebCore::FontPlatformData::isFixedPitch):
279 * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp: Added.
281 (WorldTypeScopedPtr):
282 (WebCore::WorldTypeScopedPtr::WorldTypeScopedPtr):
283 (WebCore::WorldTypeScopedPtr::~WorldTypeScopedPtr):
284 (WebCore::WorldTypeScopedPtr::get):
285 (WebCore::GlyphPage::fill):
286 * platform/graphics/blackberry/GradientBlackBerry.cpp: Added.
288 (WebCore::totalStopsNeeded):
289 (WebCore::fillStops):
290 (WebCore::Gradient::platformGradient):
291 (WebCore::Gradient::platformDestroy):
292 (WebCore::Gradient::fill):
293 (WebCore::Gradient::setPlatformGradientSpaceTransform):
294 * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp: Added.
296 (GraphicsContextPlatformPrivate):
297 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
298 (WebCore::GraphicsContext::platformInit):
299 (WebCore::GraphicsContext::platformDestroy):
300 (WebCore::GraphicsContext::platformContext):
301 (WebCore::GraphicsContext::savePlatformState):
302 (WebCore::GraphicsContext::restorePlatformState):
303 (WebCore::GraphicsContext::setIsAcceleratedContext):
304 (WebCore::GraphicsContext::isAcceleratedContext):
305 (WebCore::GraphicsContext::getCTM):
306 (WebCore::GraphicsContext::concatCTM):
307 (WebCore::GraphicsContext::setCTM):
308 (WebCore::GraphicsContext::scale):
309 (WebCore::GraphicsContext::rotate):
310 (WebCore::GraphicsContext::translate):
311 (WebCore::GraphicsContext::drawEllipse):
312 (WebCore::GraphicsContext::strokeArc):
313 (WebCore::GraphicsContext::drawConvexPolygon):
314 (WebCore::GraphicsContext::drawRect):
315 (WebCore::GraphicsContext::fillRect):
316 (WebCore::GraphicsContext::clearRect):
317 (WebCore::GraphicsContext::strokeRect):
318 (WebCore::GraphicsContext::fillRoundedRect):
319 (WebCore::GraphicsContext::roundToDevicePixels):
320 (WebCore::GraphicsContext::setPlatformShadow):
321 (WebCore::GraphicsContext::clearPlatformShadow):
322 (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
323 (WebCore::GraphicsContext::endPlatformTransparencyLayer):
324 (WebCore::GraphicsContext::supportsTransparencyLayers):
325 (WebCore::GraphicsContext::setLineCap):
326 (WebCore::GraphicsContext::setLineDash):
327 (WebCore::GraphicsContext::setLineJoin):
328 (WebCore::GraphicsContext::setMiterLimit):
329 (WebCore::GraphicsContext::setAlpha):
330 (WebCore::GraphicsContext::clip):
331 (WebCore::GraphicsContext::clipOut):
332 (WebCore::GraphicsContext::clipConvexPolygon):
333 (WebCore::GraphicsContext::addRoundedRectClip):
334 (WebCore::GraphicsContext::clipOutRoundedRect):
335 (WebCore::GraphicsContext::clipBounds):
336 (WebCore::GraphicsContext::addInnerRoundedRectClip):
337 (WebCore::GraphicsContext::setURLForRect):
338 (WebCore::GraphicsContext::setPlatformTextDrawingMode):
339 (WebCore::GraphicsContext::setPlatformStrokeColor):
340 (WebCore::GraphicsContext::setPlatformStrokeStyle):
341 (WebCore::GraphicsContext::setPlatformStrokeThickness):
342 (WebCore::GraphicsContext::setPlatformFillColor):
343 (WebCore::GraphicsContext::setPlatformCompositeOperation):
344 (WebCore::GraphicsContext::setPlatformShouldAntialias):
345 (WebCore::GraphicsContext::setImageInterpolationQuality):
346 (WebCore::GraphicsContext::imageInterpolationQuality):
347 * platform/graphics/blackberry/ITypeUtils.h: Added.
351 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
353 (WebCore::makeBufferCurrent):
354 (WebCore::getImageDataInternal):
355 (WebCore::ImageBufferData::getImageData):
356 (WebCore::flushAndDraw):
357 (WebCore::ImageBufferData::draw):
358 (WebCore::ImageBuffer::ImageBuffer):
359 (WebCore::ImageBuffer::~ImageBuffer):
360 (WebCore::ImageBuffer::context):
361 (WebCore::ImageBuffer::platformLayer):
362 (WebCore::ImageBuffer::copyImage):
363 (WebCore::ImageBuffer::clip):
364 (WebCore::ImageBuffer::draw):
365 (WebCore::ImageBuffer::drawPattern):
366 (WebCore::ImageBuffer::platformTransformColorSpace):
367 (WebCore::ImageBuffer::getUnmultipliedImageData):
368 (WebCore::ImageBuffer::getPremultipliedImageData):
369 (WebCore::ImageBuffer::putByteArray):
370 (WebCore::ImageBuffer::toDataURL):
371 * platform/graphics/blackberry/ImageBufferDataBlackBerry.h: Added.
374 * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
376 (WebCore::scratchContext):
377 (WebCore::Path::Path):
378 (WebCore::Path::~Path):
379 (WebCore::Path::operator=):
380 (WebCore::Path::currentPoint):
381 (WebCore::Path::contains):
382 (WebCore::Path::strokeContains):
383 (WebCore::Path::translate):
384 (WebCore::Path::boundingRect):
385 (WebCore::Path::strokeBoundingRect):
386 (WebCore::Path::moveTo):
387 (WebCore::Path::addLineTo):
388 (WebCore::Path::addQuadCurveTo):
389 (WebCore::Path::addBezierCurveTo):
390 (WebCore::Path::addArcTo):
391 (WebCore::Path::closeSubpath):
392 (WebCore::Path::addArc):
393 (WebCore::Path::addRect):
394 (WebCore::Path::addEllipse):
395 (WebCore::Path::platformAddPathForRoundedRect):
396 (WebCore::Path::clear):
397 (WebCore::Path::isEmpty):
398 (WebCore::Path::hasCurrentPoint):
399 (WebCore::Path::apply):
400 (WebCore::Path::transform):
401 (WebCore::GraphicsContext::fillPath):
402 (WebCore::GraphicsContext::strokePath):
403 (WebCore::GraphicsContext::drawFocusRing):
404 (WebCore::GraphicsContext::drawLine):
405 (WebCore::GraphicsContext::drawLineForDocumentMarker):
406 (WebCore::GraphicsContext::drawLineForText):
407 (WebCore::GraphicsContext::clip):
408 (WebCore::GraphicsContext::clipPath):
409 (WebCore::GraphicsContext::canvasClip):
410 (WebCore::GraphicsContext::clipOut):
411 * platform/graphics/blackberry/PatternBlackBerry.cpp: Added.
413 (WebCore::Pattern::platformDestroy):
414 (WebCore::Pattern::platformPattern):
415 (WebCore::Pattern::setPlatformPatternSpaceTransform):
416 * platform/graphics/blackberry/PlatformSupport.cpp: Added.
418 (WebCore::PlatformSupport::getFontFamilyForCharacters):
419 * platform/graphics/blackberry/PlatformSupport.h: Added.
423 * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
425 (WebCore::FSFixedToFloat):
426 (WebCore::SimpleFontData::platformInit):
427 (WebCore::SimpleFontData::platformCharWidthInit):
428 (WebCore::SimpleFontData::platformDestroy):
429 (WebCore::SimpleFontData::createScaledFontData):
430 (WebCore::SimpleFontData::smallCapsFontData):
431 (WebCore::SimpleFontData::emphasisMarkFontData):
432 (WebCore::SimpleFontData::containsCharacters):
433 (WebCore::SimpleFontData::determinePitch):
434 (WebCore::SimpleFontData::platformBoundsForGlyph):
435 (WebCore::SimpleFontData::platformWidthForGlyph):
436 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
438 2013-03-04 Adam Bergkvist <adam.bergkvist@ericsson.com>
440 MediaStream API: local addTrack() and removeTrack() operations should not fire events.
441 https://bugs.webkit.org/show_bug.cgi?id=111079
443 Reviewed by Adam Barth.
445 Removed the scheduling of "addtrack" and "removetrack" events by
446 addTrack and removeTrack(). Replaced the test since the old test was
447 driven by the event firing removed by this patch.
449 Test: fast/mediastream/MediaStream-add-remove-tracks.html
451 * Modules/mediastream/MediaStream.cpp:
452 (WebCore::MediaStream::addTrack):
453 (WebCore::MediaStream::removeTrack):
455 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
457 Web Inspector: touchmove not emulated inside iframe
458 https://bugs.webkit.org/show_bug.cgi?id=111292
460 Reviewed by Vsevolod Vlasov.
462 Move fake touch event dispatching from mouseMoved() into handleMouseMoveEvent()
463 and bail out earlier from dispatchSyntheticTouchEventIfEnabled() when the event
464 should be dispatched on a subframe.
466 * page/EventHandler.cpp:
467 (WebCore::EventHandler::mouseMoved):
468 (WebCore::EventHandler::handleMouseMoveEvent):
469 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
471 2013-03-04 Mike West <mkwst@chromium.org>
473 Long URLs in error messages should be shortened
474 https://bugs.webkit.org/show_bug.cgi?id=111133
476 Reviewed by Jochen Eisinger.
478 When generating console messages, we're often copying the page's URL
479 in order to add detail about where the error occurred. Generally, this
480 is fine, but in edge cases (multi-meg 'data:' URLs), we're using far
481 more memory than we should, and impacting performance.
483 This patch adds an 'elidedString()' method to KURL for use in this
484 sort of case; when generating console messages, we should insert the
485 elided URL rather than the full URL.
487 This shouldn't change any visible behavior; we're already visually
488 eliding URLs in console messages for URLs above 150 characters. This
489 patch simply changes the underlying string to ensure that no URL is
490 over 1k in length to begin with.
493 (WebCore::KURL::elidedString): Added.
495 An exciting new method that gives you the same result as string()
496 for URLs less than 1k long, and elides the middle of URLs longer
497 than 1k by replacing everything but the first and last 0.5k with
499 * bindings/ScriptControllerBase.cpp:
500 (WebCore::ScriptController::canExecuteScripts):
501 * Modules/websockets/WebSocket.cpp:
502 (WebCore::WebSocket::connect):
503 (WebCore::WebSocket::send):
504 * Modules/websockets/WebSocketChannel.cpp:
505 (WebCore::WebSocketChannel::send):
506 (WebCore::WebSocketChannel::fail):
507 * bindings/ScriptControllerBase.cpp:
508 (WebCore::ScriptController::canExecuteScripts):
510 (WebCore::Document::processHttpEquiv):
511 * dom/ScriptElement.cpp:
512 (WebCore::ScriptElement::executeScript):
513 * html/HTMLMediaElement.cpp:
514 (WebCore::HTMLMediaElement::canPlayType):
515 (WebCore::HTMLMediaElement::isSafeToLoadURL):
516 * loader/FrameLoader.cpp:
517 (WebCore::FrameLoader::submitForm):
518 (WebCore::FrameLoader::loadFrameRequest):
519 (WebCore::FrameLoader::commitProvisionalLoad):
520 (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
521 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
522 (WebCore::createWindow):
523 * loader/MainResourceLoader.cpp:
524 (WebCore::MainResourceLoader::willSendRequest):
525 (WebCore::MainResourceLoader::responseReceived):
526 * loader/appcache/ApplicationCacheGroup.cpp:
527 (WebCore::ApplicationCacheGroup::didReceiveResponse):
528 (WebCore::ApplicationCacheGroup::didFail):
529 * loader/cache/CachedResourceLoader.cpp:
530 (WebCore::CachedResourceLoader::canRequest):
531 (WebCore::CachedResourceLoader::requestResource):
532 (WebCore::CachedResourceLoader::loadResource):
533 (WebCore::CachedResourceLoader::printAccessDeniedMessage):
534 * page/ContentSecurityPolicy.cpp:
535 (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
536 (WebCore::CSPDirectiveList::allowScriptNonce):
537 (WebCore::CSPDirectiveList::allowPluginType):
538 Use 'KURL::elidedString()' rather than 'KURL::string()'
539 * loader/MixedContentChecker.cpp:
540 (WebCore::MixedContentChecker::logWarning):
541 Here, we're doing the same as above, but it enables us to throw
542 away the asUTF8() function entirely by switching to makeString
543 rather than String::format.
545 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
547 Web Inspector: add runtime flag to determine if inspector's source files were flattened.
548 https://bugs.webkit.org/show_bug.cgi?id=111184
550 Reviewed by Pavel Feldman.
552 - Add a file "buildSystemOnly.js" which will be included into
553 devtools.html only by GYP build system. This script sets a single flag
554 which essentially means that inspector source files were run
555 through a build system and flattened.
556 - Update "importScript" and "registerRequiredCSS" functions to correct
557 paths according to the "flattenImports" flag.
559 No new tests: no change in behaviour.
562 * inspector/front-end/CodeMirrorTextEditor.js:
563 (WebInspector.CodeMirrorTextEditor):
564 * inspector/front-end/View.js:
565 (WebInspector.View.prototype.registerRequiredCSS):
566 * inspector/front-end/buildSystemOnly.js: Added.
567 * inspector/front-end/utilities.js:
569 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
571 Web Inspector: Fix front-end compilation
572 https://bugs.webkit.org/show_bug.cgi?id=111286
574 Reviewed by Alexander Pavlov.
576 * inspector/InjectedScriptSource.js:
577 * inspector/front-end/FileSystemProjectDelegate.js:
578 * inspector/front-end/NavigatorView.js:
579 (WebInspector.NavigatorView.prototype.removeUISourceCode):
580 (WebInspector.NavigatorTreeNode.prototype.reset):
581 (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
583 2013-03-03 Kondapally Kalyan <kalyan.kondapally@intel.com>
585 [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
586 https://bugs.webkit.org/show_bug.cgi?id=108034
588 Reviewed by Laszlo Gombos.
590 Covered by existing WebGL tests.
592 Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
593 is identified during compile time. This is ok, when using GLX. We might not
594 have support for XCompositeWindow when using EGL and GLES2.0. This patch
595 makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
596 GLX guard to the parts of code dependent on XCompositeWindow support.
598 * platform/graphics/opengl/GLPlatformSurface.cpp:
599 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
600 (WebCore::GLXConfigSelector::findMatchingConfig):
601 * platform/graphics/surfaces/glx/X11Helper.cpp:
602 (WebCore::X11Helper::createOffScreenWindow):
603 (WebCore::X11Helper::isXRenderExtensionSupported):
604 * platform/graphics/surfaces/glx/X11Helper.h:
606 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
608 Web Inspector: [PageAgent] can't find frame by security origin.
609 https://bugs.webkit.org/show_bug.cgi?id=110849
611 Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
613 Reviewed by Vsevolod Vlasov.
615 * inspector/InspectorPageAgent.cpp:
616 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
618 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
620 Unreviewed, rolling out r144455.
621 http://trac.webkit.org/changeset/144455
622 https://bugs.webkit.org/show_bug.cgi?id=111165
624 A simpler solution to the SecurityOrigin -> localStorage
627 * inspector/front-end/DOMStorage.js:
628 (WebInspector.DOMStorage.storageId):
629 (WebInspector.DOMStorage.prototype.get id):
630 (WebInspector.DOMStorage.prototype.getItems):
631 (WebInspector.DOMStorage.prototype.setItem):
632 (WebInspector.DOMStorage.prototype.removeItem):
633 (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
634 (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
635 (WebInspector.DOMStorageModel.prototype._storageKey):
636 * inspector/front-end/ExtensionAuditCategory.js:
637 * inspector/front-end/FileSystemModel.js:
638 (WebInspector.FileSystemModel.prototype._reset):
639 (WebInspector.FileSystemModel.prototype._securityOriginAdded):
640 (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
641 (WebInspector.FileSystemModel.prototype._addOrigin):
642 (WebInspector.FileSystemModel.prototype._removeOrigin):
643 (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
644 (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
645 (WebInspector.FileSystemModel.prototype._removeFileSystem):
646 (WebInspector.FileSystemModel.FileSystem.prototype.get name):
647 * inspector/front-end/IndexedDBModel.js:
648 (WebInspector.IndexedDBModel.prototype._reset):
649 (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
650 (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
651 (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
652 (WebInspector.IndexedDBModel.prototype._addOrigin):
653 (WebInspector.IndexedDBModel.prototype._removeOrigin):
654 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
655 (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
656 (WebInspector.IndexedDBModel.prototype._loadDatabase):
657 (WebInspector.IndexedDBModel.prototype.):
658 (WebInspector.IndexedDBModel.prototype._requestData):
659 (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
660 * inspector/front-end/IndexedDBViews.js:
661 (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
662 * inspector/front-end/ResourceTreeModel.js:
663 (WebInspector.ResourceTreeModel):
664 (WebInspector.ResourceTreeModel.prototype._addFrame):
665 (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
666 (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
667 (WebInspector.ResourceTreeModel.prototype.securityOrigins):
668 (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
669 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
670 (WebInspector.ResourceTreeModel.prototype._frameDetached):
671 (WebInspector.ResourceTreeFrame):
672 (WebInspector.ResourceTreeFrame.prototype._navigate):
673 * inspector/front-end/ResourcesPanel.js:
674 (WebInspector.IDBDatabaseTreeElement):
675 (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
676 (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
677 (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
678 (WebInspector.DOMStorageTreeElement):
679 (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
680 (WebInspector.FileSystemTreeElement):
682 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
684 Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
685 https://bugs.webkit.org/show_bug.cgi?id=110133
687 Reviewed by Pavel Feldman.
689 We now check if file system based uiSourceCode content was updated externally when
690 UISourceCodeFrame is shown or inspector window is focused.
691 If there is no working copy being edited right now we replace old content with the new one silently.
692 Otherwise ask user if he wants to replace his working copy with the new content.
694 * English.lproj/localizedStrings.js:
695 * WebCore.vcproj/WebCore.vcproj:
696 * inspector/front-end/DefaultTextEditor.js:
697 (WebInspector.DefaultTextEditor.prototype.editRange):
698 * inspector/front-end/FileSystemProjectDelegate.js:
699 (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
700 (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
701 (WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
702 (WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
703 (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
704 (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
705 * inspector/front-end/JavaScriptSourceFrame.js:
706 (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
707 (WebInspector.JavaScriptSourceFrame.prototype.willHide):
708 * inspector/front-end/SimpleWorkspaceProvider.js:
709 (WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
710 * inspector/front-end/SourceFrame.js:
711 (WebInspector.SourceFrame.prototype.setContent):
712 * inspector/front-end/UISourceCode.js:
713 (WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
714 (WebInspector.UISourceCode.prototype.checkContentUpdated):
715 * inspector/front-end/UISourceCodeFrame.js:
716 (WebInspector.UISourceCodeFrame.prototype.wasShown):
717 (WebInspector.UISourceCodeFrame.prototype.willHide):
718 (WebInspector.UISourceCodeFrame.prototype._windowFocused):
719 (WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
720 * inspector/front-end/Workspace.js:
721 (WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
722 (WebInspector.Project.prototype.requestUpdatedFileContent):
724 2013-03-03 Arpita Bahuguna <a.bah@samsung.com>
726 createAttribute/setAttributeNode does not properly normalize case
727 https://bugs.webkit.org/show_bug.cgi?id=90341
729 Reviewed by Darin Adler.
731 setAttributeNode() verifies for existing attributes in a case sensitive
732 manner. Thus, it would add another attribute if specified in a case
733 different from the existing one. Instead, like setAttribute(), it too
734 should modify the existing attribute's value.
736 Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
739 (WebCore::Element::setAttributeNode):
740 Made changes to check for an existing attribute by converting the
741 specified attribute's localName to lowercase.
743 2013-03-03 Kentaro Hara <haraken@chromium.org>
745 Unreviewed. Rebaselined run-bindings-tests.
747 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
748 (WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
749 (TestActiveDOMObjectV8Internal):
750 (WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
751 (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
752 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
753 (V8TestActiveDOMObject):
755 2013-03-03 Kentaro Hara <haraken@chromium.org>
757 Unreviewed build fix after r144590.
759 * bindings/scripts/CodeGeneratorV8.pm:
760 (GenerateSecurityCheckFunctions):
762 2013-03-03 Kentaro Hara <haraken@chromium.org>
764 Unreviewed build fix after r144587.
766 * bindings/v8/V8Binding.cpp:
767 (WebCore::toV8Context):
768 * bindings/v8/V8MutationCallback.cpp:
769 (WebCore::V8MutationCallback::V8MutationCallback):
771 2013-03-01 Kentaro Hara <haraken@chromium.org>
773 [V8] HTMLDocument.all should have [Replaceable]
774 https://bugs.webkit.org/show_bug.cgi?id=111230
776 Reviewed by Adam Barth.
778 (Although HTMLDocument.all is already removed from the spec,)
779 it is expected to behave as a [Replaceable] attribute. By adding
780 a [Replaceable] IDL attribute, we can remove custom implementation
783 I confimed that exactly the same code is generated for .all getter
786 No tests. No change in behavior.
788 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
789 * html/HTMLDocument.idl:
791 2013-03-01 Kentaro Hara <haraken@chromium.org>
793 [V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
794 https://bugs.webkit.org/show_bug.cgi?id=111225
796 Reviewed by Adam Barth.
798 indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
799 except for DOMWindow's ones.
801 No tests. No change in behavior.
803 * bindings/scripts/CodeGeneratorV8.pm:
805 (GenerateImplementation):
806 (GenerateSecurityCheckFunctions):
807 * bindings/v8/custom/V8DOMWindowCustom.cpp:
808 (WebCore::V8DOMWindow::namedSecurityCheckCustom):
809 (WebCore::V8DOMWindow::indexedSecurityCheckCustom):
810 * bindings/v8/custom/V8HistoryCustom.cpp:
811 * bindings/v8/custom/V8LocationCustom.cpp:
813 2013-03-01 Kentaro Hara <haraken@chromium.org>
815 [V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
816 https://bugs.webkit.org/show_bug.cgi?id=111214
818 Reviewed by Adam Barth.
820 $implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
821 For clarification, it should be renamed to $implContentInternals.
823 No tests. No change in behavior.
825 * bindings/scripts/CodeGeneratorV8.pm:
826 (GenerateDomainSafeFunctionGetter):
827 (GenerateDomainSafeFunctionSetter):
828 (GenerateConstructorGetter):
829 (GenerateNormalAttrGetterCallback):
830 (GenerateNormalAttrGetter):
831 (GenerateReplaceableAttrSetterCallback):
832 (GenerateReplaceableAttrSetter):
833 (GenerateNormalAttrSetterCallback):
834 (GenerateNormalAttrSetter):
835 (GenerateOverloadedFunction):
836 (GenerateFunctionCallback):
838 (GenerateOverloadedConstructorCallback):
839 (GenerateSingleConstructorCallback):
840 (GenerateEventConstructor):
841 (GenerateTypedArrayConstructor):
842 (GenerateImplementation):
845 2013-03-01 Kentaro Hara <haraken@chromium.org>
847 [V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
848 https://bugs.webkit.org/show_bug.cgi?id=111212
850 Reviewed by Adam Barth.
852 The rename I did in r142424 was wrong. Given that getWorld() returns 0
853 for the main world, it should be named isolatedWorld(). Similarly,
854 given that getWorldForEnteredContext() returns 0 for the main world,
855 it should be named isolatedWorldForEnteredContext().
857 No tests. No change in behavior.
859 * bindings/v8/CustomElementHelpers.cpp:
860 (WebCore::CustomElementHelpers::isFeatureAllowed):
861 * bindings/v8/DOMDataStore.cpp:
862 (WebCore::DOMDataStore::current):
863 * bindings/v8/DOMWrapperWorld.cpp:
864 (WebCore::DOMWrapperWorld::makeContextWeak):
865 * bindings/v8/DOMWrapperWorld.h:
866 (WebCore::DOMWrapperWorld::isolatedWorld):
867 * bindings/v8/ScriptController.cpp:
868 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
869 (WebCore::ScriptController::currentWorldContext):
870 * bindings/v8/V8Binding.h:
871 (WebCore::isolatedWorldForEnteredContext):
872 * bindings/v8/WorldContextHandle.cpp:
873 (WebCore::WorldContextHandle::WorldContextHandle):
874 * bindings/v8/custom/V8DocumentCustom.cpp:
876 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
878 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
880 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
881 (WebCore::V8XMLHttpRequest::constructorCustom):
883 2013-03-01 Kentaro Hara <haraken@chromium.org>
885 [V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
886 https://bugs.webkit.org/show_bug.cgi?id=111223
888 Reviewed by Adam Barth.
890 HTMLDocument::getNamedProperty() is used by DOMWindowShell.
891 It can be a static method in DOMWindowShell.
893 No tests. No change in behavior.
895 * bindings/scripts/CodeGeneratorV8.pm:
897 * bindings/v8/V8DOMWindowShell.cpp:
898 (WebCore::getNamedProperty):
901 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
903 2013-03-03 Dan Bernstein <mitz@apple.com>
905 Build fix after r144565. Reverted r144533.
907 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
909 2013-03-03 Adam Barth <abarth@webkit.org>
911 Attempt to fix the Qt build after r144498
912 https://bugs.webkit.org/show_bug.cgi?id=111272
914 Reviewed by Eric Seidel.
916 Update the Qt version of the XML parser to call the new API.
918 * xml/parser/XMLDocumentParserQt.cpp:
919 (WebCore::XMLDocumentParser::resumeParsing):
920 (WebCore::XMLDocumentParser::appendFragmentSource):
922 2013-03-03 Dean Jackson <dino@apple.com>
924 Plug-ins that are appropriately large w.r.t page size should autostart
925 https://bugs.webkit.org/show_bug.cgi?id=111242
927 Reviewed by Brady Eidson.
929 A "full-page" plug-in site should never snapshot. The trick is
930 how to determine what is full-page. This change implements the
933 - The plug-in is in the main frame (not an iframe).
934 - The plug-in is sized with width and height 100%.
935 - The displayed area of the plug-in is more than 96% of the viewport area.
937 This is definitely not foolproof. For example, zombo.com has a slight
938 border around its plug-in. As the window size gets smaller, the body margin
939 takes up more than 5% of the width or height, and the plug-in doesn't pass
942 * html/HTMLPlugInImageElement.cpp:
943 (WebCore): New static constant: sizingFullPageThresholdPercentage
944 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
945 the rules described above.
947 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
949 [Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
950 https://bugs.webkit.org/show_bug.cgi?id=111267
952 Reviewed by Kentaro Hara.
954 Allow empty definitions.
956 * bindings/scripts/IDLParser.pm:
959 2013-03-03 David Kilzer <ddkilzer@apple.com>
961 BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
963 Fixes the following build failures:
965 In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
966 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
967 Vector<RefPtr<Element> > m_internalSVGReferences;
969 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
970 Vector<RefPtr<Element> > m_internalSVGReferences;
972 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
973 Vector<RefPtr<Element> > m_internalSVGReferences;
977 * rendering/RenderLayerFilterInfo.h: Include Element.h within
978 ENABLE(SVG). Move ENABLE(SVG) block below unconditional
981 2013-03-03 Sheriff Bot <webkit.review.bot@gmail.com>
983 Unreviewed, rolling out r144567.
984 http://trac.webkit.org/changeset/144567
985 https://bugs.webkit.org/show_bug.cgi?id=111266
987 Does not compile on apple-win (Requested by abarth on
992 (WebCore::Document::iconURLs):
995 * loader/icon/IconController.cpp:
996 (WebCore::IconController::iconURL):
997 (WebCore::IconController::urlsForTypes):
998 * loader/icon/IconController.h:
1000 * testing/Internals.cpp:
1001 (WebCore::Internals::iconURLs):
1002 * testing/Internals.h:
1003 * testing/Internals.idl:
1005 2013-03-03 Mike West <mkwst@chromium.org>
1007 CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
1008 https://bugs.webkit.org/show_bug.cgi?id=111254
1010 Reviewed by Adam Barth.
1012 We'd like to ensure that early adopters don't get stuck on a prefixed
1013 header; when CSP 1.1 is baked enough to be supported in multiple
1014 browsers, everything should Just Work™.
1016 This patch changes WebKit's behavior regarding CSP_NEXT features.
1017 Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
1018 This patch exposes those features on the canonical header, assuming
1019 that the runtime flag is set. This shouldn't have any effect at all on
1020 ports that haven't yet enabled CSP_NEXT, and will simply clear the way
1021 for a clean deployment to a wider audience once the specification
1022 process is further along.
1024 This change shouldn't have any effect on the existing tests: they
1025 should run just as they did before. The next step will be to adjust
1026 the LayoutTests for 1.1 to prefer the canonical header, but I'll do
1027 that in another patch to reduce churn.
1029 Related, the enum names no longer made sense: the difference between the
1030 canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
1031 prefix, not the functionality. This patch renames them for clarity.
1034 (WebCore::Document::processHttpEquiv):
1035 * loader/FrameLoader.cpp:
1036 (WebCore::FrameLoader::didBeginDocument):
1037 Use the new enum names.
1038 * page/ContentSecurityPolicy.cpp:
1040 (WebCore::CSPDirectiveList::CSPDirectiveList):
1041 (WebCore::CSPDirectiveList::addDirective):
1042 Drop the 'm_experimental' property from CSPDirectiveList; we'll
1043 control the behavior via the runtime flag from now on.
1045 Also, this fixes a small bug in 'addDirective()': we never threw
1046 unrecognized directive errors for users who were sending the
1047 prefixed header. Oops!
1048 (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
1049 Use the new enum names.
1050 * page/ContentSecurityPolicy.h:
1051 Redefine the enum for clarity: 'PrefixedReport' and 'Report'
1052 rather than 'ReportAllDirectives' and 'ReportStableDirectives'.
1054 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
1056 Another Windows build fix attempt after r144567.
1057 Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
1059 * testing/Internals.idl:
1061 2013-03-03 Adam Barth <abarth@webkit.org>
1063 Unreviewed attempted build fix. Adds back some includes removed in
1064 http://trac.webkit.org/changeset/144565.
1066 * Modules/mediastream/RTCPeerConnection.cpp:
1067 * bindings/ScriptControllerBase.cpp:
1068 * bindings/objc/DOM.mm:
1069 * bindings/v8/ScriptController.cpp:
1070 * bindings/v8/V8DOMWindowShell.cpp:
1071 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1072 * css/CSSFontSelector.cpp:
1073 * css/WebKitCSSSVGDocumentValue.cpp:
1074 * dom/DOMImplementation.cpp:
1075 * dom/PendingScript.h:
1076 * dom/ScriptElement.cpp:
1077 * dom/ScriptElement.h:
1078 * history/CachedFrame.cpp:
1080 * html/HTMLAnchorElement.cpp:
1081 * html/HTMLAppletElement.cpp:
1082 * html/HTMLElement.cpp:
1083 * html/HTMLEmbedElement.cpp:
1084 * html/HTMLFrameSetElement.cpp:
1085 * html/HTMLHtmlElement.cpp:
1086 * html/HTMLImageElement.cpp:
1087 * html/HTMLObjectElement.cpp:
1088 * html/HTMLPlugInElement.cpp:
1089 * html/ImageDocument.cpp:
1090 * html/ImageInputType.cpp:
1091 * html/MediaDocument.cpp:
1092 * html/PluginDocument.cpp:
1093 * html/canvas/WebGLRenderingContext.cpp:
1095 * html/parser/HTMLConstructionSite.cpp:
1096 * html/parser/HTMLParserOptions.cpp:
1097 * html/parser/XSSAuditorDelegate.cpp:
1098 * inspector/InspectorDebuggerAgent.cpp:
1099 * inspector/InspectorFileSystemAgent.cpp:
1100 * inspector/InspectorFrontendHost.cpp:
1101 * inspector/InspectorInstrumentation.h:
1102 * inspector/InspectorPageAgent.cpp:
1103 * inspector/NetworkResourcesData.cpp:
1104 * inspector/NetworkResourcesData.h:
1106 * loader/CookieJar.cpp:
1107 * loader/CrossOriginAccessControl.cpp:
1108 * loader/FrameLoader.cpp:
1109 * loader/MainResourceLoader.cpp:
1110 * loader/MixedContentChecker.cpp:
1111 * loader/PingLoader.cpp:
1112 * loader/SubframeLoader.cpp:
1113 * loader/SubresourceLoader.cpp:
1114 * loader/appcache/ApplicationCacheGroup.cpp:
1115 * loader/appcache/ApplicationCacheHost.cpp:
1116 * loader/cache/CachedResource.cpp:
1117 * loader/icon/IconController.cpp:
1118 * page/DOMWindowExtension.cpp:
1120 * page/PerformanceTiming.cpp:
1121 * page/PointerLockController.cpp:
1122 * page/animation/CSSPropertyAnimation.cpp:
1123 * platform/chromium/PasteboardChromium.cpp:
1124 * platform/efl/ErrorsEfl.cpp:
1125 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1126 * platform/gtk/ErrorsGtk.cpp:
1127 * platform/gtk/PasteboardGtk.cpp:
1128 * platform/gtk/PasteboardHelper.h:
1129 * platform/mac/ClipboardMac.mm:
1130 * platform/mac/HTMLConverter.mm:
1131 * platform/qt/PasteboardQt.cpp:
1132 * plugins/DOMMimeType.cpp:
1133 * plugins/PluginView.cpp:
1134 * rendering/HitTestResult.cpp:
1135 * rendering/RenderImage.cpp:
1136 * rendering/RenderImageResource.cpp:
1137 * rendering/RenderImageResourceStyleImage.cpp:
1138 * rendering/RenderLayer.cpp:
1139 * rendering/RenderLayerBacking.cpp:
1140 * svg/SVGImageLoader.cpp:
1141 * svg/SVGUseElement.cpp:
1142 * testing/MockPagePopupDriver.cpp:
1143 * xml/XSLStyleSheet.h:
1146 2013-03-03 Ruslan Abdikeev <aruslan@chromium.org>
1148 <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
1149 https://bugs.webkit.org/show_bug.cgi?id=109061
1151 Reviewed by Adam Barth.
1153 Test: fast/dom/icon-url-list-apple-touch.html
1155 Added iconTypes parameter to Document::iconURLs().
1156 Added Document::shortcutIconURLs() with original semantics of iconURLs().
1157 Fixed IconController.cpp to provide iconTypesMask to iconURLs().
1158 Renamed iconTypes to iconTypesMask to make the meaning clearer.
1162 (WebCore::Document::shortcutIconURLs):
1164 (WebCore::Document::iconURLs):
1167 * loader/icon/IconController.cpp:
1168 (WebCore::IconController::iconURL):
1169 (WebCore::IconController::urlsForTypes):
1170 * testing/Internals.cpp:
1171 (WebCore::Internals::iconURLs):
1172 (WebCore::Internals::shortcutIconURLs):
1174 (WebCore::Internals::allIconURLs):
1175 * testing/Internals.h:
1176 * testing/Internals.idl:
1178 2013-03-03 Mike West <mkwst@chromium.org>
1180 CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
1181 https://bugs.webkit.org/show_bug.cgi?id=111208
1183 Reviewed by Adam Barth.
1185 Developers in the wild have been observed to serve a report-only CSP
1186 header with a policy that doesn't contain a 'report-uri' directive.
1187 This has zero effect, of course, and we should help them understand
1188 that by throwing a warning up on the console.
1190 Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
1192 * page/ContentSecurityPolicy.cpp:
1193 (WebCore::CSPDirectiveList::isReportOnly): Added.
1194 (WebCore::CSPDirectiveList::reportURIs): Added.
1195 (WebCore::CSPDirectiveList::create):
1196 After creating a CSPDirectiveList, check whether it's in
1197 report-only mode without a report-uri. If so, warn the developer.
1198 (WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
1199 Write an exciting message to the console, warning the developer
1200 about her expensive no-op machine.
1202 2013-03-03 Adam Barth <abarth@webkit.org>
1204 Unreviewed rollout of http://trac.webkit.org/r144530
1205 As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
1206 https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
1207 large number of ASSERTs in chromium-win.
1210 * GNUmakefile.list.am:
1211 * Modules/mediastream/RTCPeerConnection.cpp:
1212 * Modules/notifications/Notification.cpp:
1216 * WebCore.vcproj/WebCore.vcproj:
1217 * WebCore.vcxproj/WebCore.vcxproj:
1218 * WebCore.vcxproj/WebCore.vcxproj.filters:
1219 * WebCore.xcodeproj/project.pbxproj:
1220 * bindings/ScriptControllerBase.cpp:
1221 * bindings/js/JSNodeCustom.cpp:
1222 * bindings/js/ScriptController.cpp:
1223 * bindings/js/ScriptSourceCode.h:
1225 * bindings/objc/DOM.mm:
1226 * bindings/v8/ScriptController.cpp:
1227 * bindings/v8/V8DOMWindowShell.cpp:
1228 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1229 * css/CSSCrossfadeValue.h:
1230 (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1231 (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
1232 * css/CSSFontFaceSource.h:
1233 * css/CSSFontSelector.cpp:
1234 * css/WebKitCSSSVGDocumentValue.cpp:
1235 * css/WebKitCSSSVGDocumentValue.h:
1237 * dom/Clipboard.cpp:
1238 (WebCore::Clipboard::Clipboard):
1239 * dom/ContainerNode.cpp:
1240 * dom/DOMImplementation.cpp:
1241 * dom/PendingScript.h:
1242 * dom/ScriptElement.cpp:
1243 * dom/ScriptElement.h:
1244 * history/CachedFrame.cpp:
1246 * html/HTMLAnchorElement.cpp:
1247 * html/HTMLAppletElement.cpp:
1248 * html/HTMLElement.cpp:
1249 * html/HTMLEmbedElement.cpp:
1250 * html/HTMLFrameSetElement.cpp:
1251 * html/HTMLHtmlElement.cpp:
1252 * html/HTMLImageElement.cpp:
1253 * html/HTMLObjectElement.cpp:
1254 * html/HTMLPlugInElement.cpp:
1255 * html/ImageDocument.cpp:
1256 * html/ImageInputType.cpp:
1257 * html/MediaDocument.cpp:
1258 * html/PluginDocument.cpp:
1259 * html/canvas/WebGLRenderingContext.cpp:
1261 * html/parser/HTMLConstructionSite.cpp:
1262 * html/parser/HTMLParserOptions.cpp:
1263 * html/parser/HTMLScriptRunner.h:
1264 * html/parser/XSSAuditor.cpp:
1265 * html/parser/XSSAuditorDelegate.cpp:
1266 * inspector/InspectorDebuggerAgent.cpp:
1267 * inspector/InspectorFileSystemAgent.cpp:
1268 * inspector/InspectorFrontendHost.cpp:
1269 * inspector/InspectorInstrumentation.h:
1271 * inspector/InspectorPageAgent.cpp:
1272 * inspector/NetworkResourcesData.cpp:
1273 * inspector/NetworkResourcesData.h:
1275 * loader/CookieJar.cpp:
1276 * loader/CrossOriginAccessControl.cpp:
1277 * loader/CrossOriginAccessControl.h:
1279 * loader/CrossOriginPreflightResultCache.h:
1280 * loader/DocumentThreadableLoader.h:
1281 * loader/FrameLoader.cpp:
1282 (WebCore::FrameLoader::FrameLoader):
1283 * loader/FrameLoader.h:
1285 (WebCore::FrameLoader::policyChecker):
1286 * loader/ImageLoader.cpp:
1287 * loader/ImageLoader.h:
1288 * loader/LinkLoader.h:
1290 * loader/MainResourceLoader.cpp:
1291 * loader/MainResourceLoader.h:
1293 * loader/MixedContentChecker.cpp:
1294 * loader/PingLoader.cpp:
1295 * loader/PolicyChecker.h:
1297 * loader/ProgressTracker.cpp:
1298 * loader/SubframeLoader.cpp:
1299 * loader/SubresourceLoader.cpp:
1300 * loader/TextTrackLoader.cpp:
1301 * loader/TextTrackLoader.h:
1303 * loader/ThreadableLoader.h:
1304 * loader/appcache/ApplicationCacheGroup.cpp:
1305 * loader/appcache/ApplicationCacheGroup.h:
1307 * loader/appcache/ApplicationCacheHost.cpp:
1308 * loader/archive/cf/LegacyWebArchive.cpp:
1309 * loader/cache/CachedFont.cpp:
1310 * loader/cache/CachedFont.h:
1312 (WebCore::CachedFontClient::~CachedFontClient):
1313 (WebCore::CachedFontClient::expectedType):
1314 (WebCore::CachedFontClient::resourceClientType):
1315 (WebCore::CachedFontClient::fontLoaded):
1317 * loader/cache/CachedFontClient.h: Removed.
1318 * loader/cache/CachedImage.cpp:
1319 * loader/cache/CachedRawResource.cpp:
1320 * loader/cache/CachedRawResource.h:
1322 (CachedRawResourceClient):
1323 (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
1324 (WebCore::CachedRawResourceClient::expectedType):
1325 (WebCore::CachedRawResourceClient::resourceClientType):
1326 (WebCore::CachedRawResourceClient::dataSent):
1327 (WebCore::CachedRawResourceClient::responseReceived):
1328 (WebCore::CachedRawResourceClient::dataReceived):
1329 (WebCore::CachedRawResourceClient::redirectReceived):
1330 (WebCore::CachedRawResourceClient::dataDownloaded):
1331 * loader/cache/CachedRawResourceClient.h: Removed.
1332 * loader/cache/CachedResource.cpp:
1333 * loader/cache/CachedResourceHandle.cpp:
1335 * loader/cache/CachedResourceHandle.h:
1337 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
1338 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
1339 * loader/cache/CachedSVGDocument.h:
1340 (CachedSVGDocumentClient):
1341 (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
1342 (WebCore::CachedSVGDocumentClient::expectedType):
1343 (WebCore::CachedSVGDocumentClient::resourceClientType):
1345 * loader/cache/CachedSVGDocumentClient.h: Removed.
1346 * loader/cache/CachedSVGDocumentReference.cpp: Removed.
1347 * loader/cache/CachedSVGDocumentReference.h:
1349 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1350 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1351 * loader/cache/CachedStyleSheetClient.h:
1353 * loader/cache/MemoryCache.h:
1356 * loader/chromium/CachedRawResourceChromium.cpp:
1357 * loader/icon/IconController.cpp:
1358 * loader/icon/IconLoader.h:
1359 * loader/mac/ResourceLoaderMac.mm:
1360 * page/DOMWindowExtension.cpp:
1362 (WebCore::Frame::Frame):
1364 (WebCore::Frame::reportMemoryUsage):
1368 (WebCore::Frame::init):
1369 (WebCore::Frame::loader):
1370 * page/PerformanceNavigation.cpp:
1371 * page/PerformanceTiming.cpp:
1372 * page/PointerLockController.cpp:
1373 * page/Settings.cpp:
1374 * page/animation/CSSPropertyAnimation.cpp:
1375 * platform/chromium/PasteboardChromium.cpp:
1376 * platform/efl/ErrorsEfl.cpp:
1377 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1378 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1379 * platform/graphics/filters/FilterOperation.cpp:
1381 * platform/graphics/filters/FilterOperation.h:
1383 (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
1384 (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
1385 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1386 * platform/gtk/ErrorsGtk.cpp:
1387 * platform/gtk/PasteboardGtk.cpp:
1388 * platform/gtk/PasteboardHelper.h:
1389 * platform/mac/ClipboardMac.h:
1390 * platform/mac/ClipboardMac.mm:
1391 * platform/mac/HTMLConverter.mm:
1392 * platform/mac/PasteboardMac.mm:
1393 * platform/network/AuthenticationChallengeBase.cpp:
1394 * platform/network/cf/CookieJarCFNet.cpp:
1395 * platform/network/cf/ResourceRequestCFNet.cpp:
1396 * platform/network/mac/CookieStorageMac.mm:
1397 * platform/qt/PasteboardQt.cpp:
1398 * plugins/DOMMimeType.cpp:
1399 * plugins/PluginRequest.h: Removed.
1400 * plugins/PluginStream.h:
1401 (PluginStreamClient):
1402 (WebCore::PluginStreamClient::~PluginStreamClient):
1403 (WebCore::PluginStreamClient::streamDidFinishLoading):
1405 * plugins/PluginStreamClient.h: Removed.
1406 * plugins/PluginView.cpp:
1407 * plugins/PluginView.h:
1410 (WebCore::PluginRequest::PluginRequest):
1411 (WebCore::PluginRequest::frameLoadRequest):
1412 (WebCore::PluginRequest::notifyData):
1413 (WebCore::PluginRequest::sendNotification):
1414 (WebCore::PluginRequest::shouldAllowPopups):
1415 * rendering/HitTestResult.cpp:
1416 * rendering/InlineFlowBox.cpp:
1417 * rendering/RenderBox.cpp:
1418 * rendering/RenderEmbeddedObject.cpp:
1419 * rendering/RenderImage.cpp:
1420 * rendering/RenderImageResource.cpp:
1421 (WebCore::RenderImageResource::RenderImageResource):
1423 * rendering/RenderImageResource.h:
1424 (WebCore::RenderImageResource::image):
1425 (WebCore::RenderImageResource::errorOccurred):
1426 (WebCore::RenderImageResource::usesImageContainerSize):
1427 (WebCore::RenderImageResource::imageHasRelativeWidth):
1428 (WebCore::RenderImageResource::imageHasRelativeHeight):
1429 (WebCore::RenderImageResource::imageSize):
1430 * rendering/RenderImageResourceStyleImage.cpp:
1431 * rendering/RenderLayer.cpp:
1432 * rendering/RenderLayerBacking.cpp:
1433 * rendering/RenderLayerFilterInfo.h:
1435 * rendering/RenderListItem.cpp:
1436 * rendering/RenderListMarker.cpp:
1437 * rendering/RenderSnapshottedPlugIn.cpp:
1438 * rendering/RenderTableCol.cpp:
1439 * rendering/RenderTableRow.cpp:
1440 * rendering/RenderTableSection.cpp:
1441 * rendering/style/StyleCachedShader.h:
1442 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
1443 * rendering/style/StyleCustomFilterProgram.h:
1445 (WebCore::StyleCustomFilterProgram::vertexShaderString):
1446 (StyleCustomFilterProgram):
1447 (WebCore::StyleCustomFilterProgram::fragmentShaderString):
1448 (WebCore::StyleCustomFilterProgram::isLoaded):
1449 (WebCore::StyleCustomFilterProgram::willHaveClients):
1450 (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
1451 (WebCore::StyleCustomFilterProgram::notifyFinished):
1452 * svg/SVGFEImageElement.h:
1453 * svg/SVGFontFaceUriElement.h:
1454 (SVGFontFaceUriElement):
1455 * svg/SVGImageLoader.cpp:
1456 * svg/SVGUseElement.cpp:
1457 * svg/SVGUseElement.h:
1458 * svg/graphics/SVGImageCache.cpp:
1459 * testing/MockPagePopupDriver.cpp:
1460 * xml/XSLStyleSheet.h:
1462 * xml/XSLTProcessorLibxslt.cpp:
1463 * xml/parser/XMLDocumentParser.cpp:
1464 * xml/parser/XMLDocumentParser.h:
1465 * xml/parser/XMLDocumentParserLibxml2.cpp:
1467 2013-03-03 Kentaro Hara <haraken@chromium.org>
1469 [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
1470 https://bugs.webkit.org/show_bug.cgi?id=111218
1472 Reviewed by Adam Barth.
1474 TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
1475 but there is no non-custom method that uses TimeoutHandler.
1477 The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
1478 However, the latest spec uses 'any' instead of TimeoutHandler.
1479 http://dev.w3.org/html5/spec-LC/timers.html
1480 Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
1481 according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
1482 (Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
1483 in custom bindings.)
1485 No tests. No change in behavior.
1487 * bindings/scripts/CodeGeneratorV8.pm:
1488 (GenerateParametersCheck):
1489 * page/DOMWindow.idl:
1490 * workers/WorkerContext.idl:
1492 2013-03-03 James Weatherall <wez@chromium.org>
1494 keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
1495 https://bugs.webkit.org/show_bug.cgi?id=85642
1497 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1499 Reviewed by Adam Barth.
1501 * platform/chromium/KeyCodeConversionGtk.cpp:
1502 (WebCore::windowsKeyCodeForKeyEvent):
1504 2013-03-03 Adam Barth <abarth@webkit.org>
1506 REGRESSION(144520): Does not compile on chromium-win
1507 https://bugs.webkit.org/show_bug.cgi?id=111261
1509 Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
1510 patch does not compile for chromium-win. See the bug for the compile
1513 * rendering/ExclusionShapeInsideInfo.cpp:
1514 * rendering/ExclusionShapeInsideInfo.h:
1517 (WebCore::LineSegmentRange::LineSegmentRange):
1518 (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
1519 * rendering/RenderBlock.cpp:
1520 (WebCore::RenderBlock::willBeDestroyed):
1521 (WebCore::RenderBlock::exclusionShapeInsideInfo):
1523 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
1524 * rendering/RenderBlock.h:
1527 (RenderBlockRareData):
1528 * rendering/RenderBlockLineLayout.cpp:
1529 (WebCore::constructBidiRunsForLine):
1531 2013-03-02 Zan Dobersek <zdobersek@igalia.com>
1533 REGRESSION (r144517): IndexedDB layout test failures on GTK
1534 https://bugs.webkit.org/show_bug.cgi?id=111243
1536 Reviewed by Martin Robinson.
1538 Changes to the custom JSC bindings for IDBAny are required after r144517,
1539 specifically the case of IDBAny object having the KeyPathType type has to be covered.
1540 These changes are analogous to those made to the V8 bindings in the mentioned commit.
1542 No new tests - already covered by existing tests.
1544 * bindings/js/JSIDBAnyCustom.cpp:
1545 (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
1546 (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
1547 Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
1549 2013-03-02 Darin Adler <darin@apple.com>
1551 Another try at fixing the build.
1553 * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
1555 2013-03-02 Darin Adler <darin@apple.com>
1559 * inspector/InspectorInstrumentation.h: Add missing forward declaration
1562 2013-02-18 Darin Adler <darin@apple.com>
1564 Cut down the number of source files that depend on Clipboard.h
1565 https://bugs.webkit.org/show_bug.cgi?id=110030
1567 Reviewed by Ryosuke Niwa.
1569 I am doing some work on Clipboard and it's better to recompile 50 files
1570 each time we touch the header instead of 700. Also cut down on includes
1573 * WebCore.exp.in: Updated for new MouseEvent::create function.
1575 * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
1576 here and the world no longer includes it everywhere.
1578 * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
1579 Clipboard.h. Also made some overrides private because they can be.
1581 * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
1583 * dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
1584 here and the world no longer includes it everywhere.
1585 (WebCore::MouseEvent::create): Made the create function non-inline
1586 since we can't compile it without including Clipboard.h and we don't
1587 want to include Clipboard.h in the header. This is not so commonly
1588 used or so hot that this needs to be inlined.
1590 * dom/MouseEvent.h: Forward declared Clipboard instead of including
1591 Clipboard.h. Made MouseEvent::create a non-inline function and also
1592 used overloading instead of default arguments, since we can't compile
1593 a default argument of type PassRefPtr<Clipboard> without including
1596 * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
1597 here and the world no longer includes it everywhere.
1599 * dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
1600 in this header. Previously we'd get it indirectly from including a header
1601 that included Clipboard.h.
1603 * editing/Editor.cpp: Added include of Clipboard.h since we use it here
1604 and the world no longer includes it everywhere.
1606 * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
1607 We used to get this indirectly through Clipboard.h.
1609 * inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
1610 and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
1611 Also removed unneeded include of <wtf/RefPtr.h>.
1613 * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
1614 We used to get this indirectly through Clipboard.h.
1616 * loader/PingLoader.cpp: Added include of ResourceResponse.h.
1617 We used to get this indirectly through Clipboard.h.
1619 * page/DragController.cpp: Added include of DragState.h.
1620 We used to get this indirectly through EventHandler.h
1622 * page/EventHandler.h: Forward declared DragState and Element instead of
1623 including DragState.h. Also added an include of LayoutPoint.h, which we
1624 used to get indirectly through DragState.h.
1626 2013-02-27 Darin Adler <darin@apple.com>
1628 StringHasher functions require alignment that call sites do not all guarantee
1629 https://bugs.webkit.org/show_bug.cgi?id=110171
1631 Reviewed by Benjamin Poulain.
1633 * platform/graphics/WidthCache.h:
1634 (WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
1635 addCharactersAssumingAligned to make sure we don't slow this call site down.
1636 It's safe since this code always adds characters two at a time.
1638 2013-03-02 Adam Barth <abarth@webkit.org>
1640 XSSAuditor has a subtle race condition when used with the threaded HTML parser
1641 https://bugs.webkit.org/show_bug.cgi?id=111253
1643 Reviewed by Eric Seidel.
1645 We were refing and derefing a StringImpl for a main-thread
1646 AtomicString. Using QualifiedNames on the background thread is very
1647 fragile and we should figure out a more robust solution.
1649 * html/parser/XSSAuditor.cpp:
1650 (WebCore::findAttributeWithName):
1652 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
1654 Move computedStyleIncludingVisitedInfo from TestRunner to Internals
1655 https://bugs.webkit.org/show_bug.cgi?id=109772
1657 Reviewed by Andreas Kling.
1659 The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
1660 it is better defined on Internals than on TestRunner.
1662 * testing/Internals.cpp:
1663 (WebCore::Internals::computedStyleIncludingVisitedInfo):
1664 * testing/Internals.h:
1665 * testing/Internals.idl:
1667 2013-03-02 David Kilzer <ddkilzer@apple.com>
1669 BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
1670 <http://webkit.org/b/106059>
1672 Fixes the following build failure:
1674 Undefined symbols for architecture armv7:
1675 "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
1676 -[WebFrame javaScriptContext] in WebFrame.o
1677 __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
1678 ld: symbol(s) not found for architecture armv7
1680 * WebCore.exp.in: Export ScriptController::javaScriptContext()
1681 even more unconditionally.
1683 2013-03-02 Eric Seidel <eric@webkit.org>
1685 Remove two unnecessary mallocs from the main-thread-parser code path
1686 https://bugs.webkit.org/show_bug.cgi?id=111249
1688 Reviewed by Adam Barth.
1690 I noticed these while fixing up our Vector -> String conversions
1691 but never went back to fix the FIXME.
1693 AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
1694 if the represented string is already in the AtomicString table. It
1695 also handles 8bit vs. 16bit and empty() just like nameString() does.
1697 I also removed a 3rd caller to nameString() in the XSSAuditor which
1698 was causing an unnecessary malloc in both the main and background
1699 thread parser paths.
1701 * html/parser/AtomicHTMLToken.h:
1702 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1703 * html/parser/HTMLToken.h:
1704 * html/parser/XSSAuditor.cpp:
1706 (WebCore::threadSafeMatch):
1709 2013-03-02 Eric Seidel <eric@webkit.org>
1711 constructTreeFromCompactHTMLToken should call clearExternalCharacters
1712 https://bugs.webkit.org/show_bug.cgi?id=111248
1714 Reviewed by Adam Barth.
1716 I don't know how to write a test for this. It's possible characters()
1717 is never accessed from HTMLStackItem::token(), but it's better to be
1718 safe than sorry here.
1720 * html/parser/HTMLDocumentParser.cpp:
1721 (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
1723 2013-03-02 Rob Buis <rbuis@rim.com>
1725 Text overflow ellipsis wrong color when using webkit-text-fill-color
1726 https://bugs.webkit.org/show_bug.cgi?id=54841
1728 Reviewed by David Hyatt.
1730 Take -webkit-text-fill-color into account for ellipsis painting.
1732 Test: fast/css/text-overflow-ellipsis-color.html
1734 * rendering/EllipsisBox.cpp:
1735 (WebCore::EllipsisBox::paint):
1737 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1739 Fix a typo in my previous commit (r144534).
1741 * platform/win/PasteboardWin.cpp:
1743 2013-03-02 Nayan Kumar K <nayankk@motorola.com>
1745 [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
1746 https://bugs.webkit.org/show_bug.cgi?id=110818
1748 Reviewed by Kenneth Russell.
1750 As per OES_texture_half_float specification texImage2D and texSubImage2D entry
1751 points taking ArrayBufferView should extended to accept null with the pixel type
1754 Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
1755 fast/canvas/webgl/oes-texture-half-float.html
1758 * DerivedSources.make:
1759 * DerivedSources.pri:
1760 * GNUmakefile.list.am:
1763 * WebCore.xcodeproj/project.pbxproj:
1764 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1766 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1767 (WebCore::toV8Object):
1768 * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1770 (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
1771 (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
1772 (WebCore::OESTextureHalfFloat::getName):
1773 (WebCore::OESTextureHalfFloat::create):
1774 * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1776 (OESTextureHalfFloat):
1777 * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1778 * html/canvas/WebGLExtension.h:
1779 * html/canvas/WebGLRenderingContext.cpp:
1781 (WebCore::WebGLRenderingContext::getExtension):
1782 (WebCore::WebGLRenderingContext::texImage2D):
1783 (WebCore::WebGLRenderingContext::texSubImage2D):
1784 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
1785 (WebCore::WebGLRenderingContext::validateTexFuncData):
1786 * html/canvas/WebGLRenderingContext.h:
1788 (WebGLRenderingContext):
1789 * html/canvas/WebGLRenderingContext.idl:
1790 * platform/graphics/Extensions3D.h:
1792 * platform/graphics/GraphicsContext3D.cpp:
1793 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
1794 * platform/graphics/GraphicsContext3D.h:
1795 * platform/graphics/GraphicsTypes3D.h:
1796 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1797 (WebCore::GraphicsContext3D::texImage2D):
1799 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1801 Windows build fix attempt after r144530.
1803 * platform/win/PasteboardWin.cpp:
1805 2013-03-01 Dan Bernstein <mitz@apple.com>
1807 Tried to fix the build after r144530.
1809 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
1812 2013-03-01 Terry Anderson <tdanderson@chromium.org>
1814 Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
1815 https://bugs.webkit.org/show_bug.cgi?id=107314
1817 Reviewed by Darin Adler.
1819 EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
1820 and this was the only place where the member variable |m_useLatchedEventNode| in
1821 PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
1823 No change in behavior, so no new tests needed.
1825 * platform/PlatformWheelEvent.h:
1826 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1827 (WebCore::PlatformWheelEvent::useLatchedEventNode):
1828 (PlatformWheelEvent):
1830 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1832 Reduce amount of rebuilding when touching networking headers
1833 https://bugs.webkit.org/show_bug.cgi?id=111035
1835 Reviewed by Eric Seidel.
1837 This uses a number of common unsurprising techniques. One interesting observation
1838 is that including CachedResource related headers is very expensive. We can usually
1839 get away with their Client counterparts, and with CachedResourceHandle.
1843 Don't include FrameLoader, greatly reducing include graph for most non-loader files.
1844 This required making Frame::init() non-inline - I'm not sure why it ever was.
1846 * loader/FrameLoader.cpp:
1847 * loader/FrameLoader.h:
1848 Even though FrameLoader is logically on loading side of WebCore, it's included in
1849 too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
1850 largest wins. As a future improvement, we should probably convert other members
1853 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1854 definition of a class it holds, but default construction does not.
1856 * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
1857 not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
1859 * loader/cache/CachedFont.h:
1860 * loader/cache/CachedFontClient.h: Added.
1861 * loader/cache/CachedRawResource.h:
1862 * loader/cache/CachedRawResourceClient.h: Added.
1863 * loader/cache/CachedSVGDocument.h:
1864 * loader/cache/CachedSVGDocumentClient.h: Added.
1865 These types were defining client types in the same headers, making it impossible
1866 to avoid including networking headers through CachedResource. Moved clients into
1869 * plugins/PluginStream.h:
1870 * plugins/PluginStreamClient.h: Added.
1871 Similar situation here.
1873 * loader/cache/CachedResourceHandle.cpp:
1874 * loader/cache/CachedResourceHandle.h:
1875 Moved functions that need to know about CachedResource to .cpp file. This is another
1876 huge win. Added a destructor, so that CachedResource woudn't be needed in all files
1877 that include CachedResourceHandle.
1879 * loader/cache/CachedSVGDocumentReference.cpp: Added.
1880 * loader/cache/CachedSVGDocumentReference.h:
1881 Moved constructor and virtual function implementations to a .cpp file - they need
1882 not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
1884 * platform/graphics/filters/FilterOperation.cpp:
1885 * platform/graphics/filters/FilterOperation.h:
1886 Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
1887 CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
1888 rendering code that it seems best to cut any ties with resources and loading.
1889 Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
1890 classes are generally harmful (due to code bloat).
1892 * plugins/PluginRequest.h: Added.
1893 * plugins/PluginView.h:
1894 Moved PluginRequest into a separate file, it was out of place in a view hierarchy
1897 * rendering/RenderImageResource.cpp:
1898 * rendering/RenderImageResource.h:
1899 Moved definitions of virtual functions to a .cpp file. Thre is no win from having
1900 them inline, and now we don't need CachedImage.h in the header.
1902 * rendering/style/StyleCustomFilterProgram.cpp: Added.
1903 * rendering/style/StyleCustomFilterProgram.h:
1907 * GNUmakefile.list.am:
1908 * Modules/mediastream/RTCPeerConnection.cpp:
1909 * Modules/notifications/Notification.cpp:
1913 * WebCore.vcproj/WebCore.vcproj:
1914 * WebCore.vcxproj/WebCore.vcxproj:
1915 * WebCore.vcxproj/WebCore.vcxproj.filters:
1916 * WebCore.xcodeproj/project.pbxproj:
1917 * bindings/ScriptControllerBase.cpp:
1918 * bindings/js/JSNodeCustom.cpp:
1919 * bindings/js/ScriptController.cpp:
1920 * bindings/js/ScriptSourceCode.h:
1921 * bindings/objc/DOM.mm:
1922 * bindings/v8/ScriptController.cpp:
1923 * bindings/v8/V8DOMWindowShell.cpp:
1924 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1925 * css/CSSFontFaceSource.h:
1926 * css/CSSFontSelector.cpp:
1927 * css/WebKitCSSSVGDocumentValue.cpp:
1928 * css/WebKitCSSSVGDocumentValue.h:
1929 * dom/Clipboard.cpp:
1930 * dom/ContainerNode.cpp:
1931 * dom/DOMImplementation.cpp:
1932 * dom/PendingScript.h:
1933 * dom/ScriptElement.cpp:
1934 * dom/ScriptElement.h:
1935 * history/CachedFrame.cpp:
1937 * html/HTMLAnchorElement.cpp:
1938 * html/HTMLAppletElement.cpp:
1939 * html/HTMLElement.cpp:
1940 * html/HTMLEmbedElement.cpp:
1941 * html/HTMLFrameSetElement.cpp:
1942 * html/HTMLHtmlElement.cpp:
1943 * html/HTMLImageElement.cpp:
1944 * html/HTMLObjectElement.cpp:
1945 * html/HTMLPlugInElement.cpp:
1946 * html/ImageDocument.cpp:
1947 * html/ImageInputType.cpp:
1948 * html/MediaDocument.cpp:
1949 * html/PluginDocument.cpp:
1950 * html/canvas/WebGLRenderingContext.cpp:
1951 * html/parser/HTMLConstructionSite.cpp:
1952 * html/parser/HTMLParserOptions.cpp:
1953 * html/parser/HTMLScriptRunner.h:
1954 * html/parser/XSSAuditor.cpp:
1955 * html/parser/XSSAuditorDelegate.cpp:
1956 * inspector/InspectorDebuggerAgent.cpp:
1957 * inspector/InspectorFileSystemAgent.cpp:
1958 * inspector/InspectorFrontendHost.cpp:
1959 * inspector/InspectorInstrumentation.h:
1960 * inspector/InspectorPageAgent.cpp:
1961 * inspector/NetworkResourcesData.cpp:
1962 * inspector/NetworkResourcesData.h:
1963 * loader/CookieJar.cpp:
1964 * loader/CrossOriginAccessControl.cpp:
1965 * loader/CrossOriginPreflightResultCache.h:
1966 * loader/DocumentThreadableLoader.h:
1967 * loader/ImageLoader.cpp:
1968 * loader/ImageLoader.h:
1969 * loader/LinkLoader.h:
1970 * loader/MainResourceLoader.cpp:
1971 * loader/MainResourceLoader.h:
1972 * loader/MixedContentChecker.cpp:
1973 * loader/PingLoader.cpp:
1974 * loader/PolicyChecker.h:
1975 * loader/ProgressTracker.cpp:
1976 * loader/SubframeLoader.cpp:
1977 * loader/SubresourceLoader.cpp:
1978 * loader/TextTrackLoader.cpp:
1979 * loader/TextTrackLoader.h:
1980 * loader/ThreadableLoader.h:
1981 * loader/appcache/ApplicationCacheGroup.cpp:
1982 * loader/appcache/ApplicationCacheGroup.h:
1983 * loader/appcache/ApplicationCacheHost.cpp:
1984 * loader/archive/cf/LegacyWebArchive.cpp:
1985 * loader/cache/CachedFont.cpp:
1986 * loader/cache/CachedImage.cpp:
1987 * loader/cache/CachedRawResource.cpp:
1988 * loader/cache/CachedResource.cpp:
1989 * loader/cache/CachedStyleSheetClient.h:
1990 * loader/cache/MemoryCache.cpp:
1991 * loader/cache/MemoryCache.h:
1992 * loader/chromium/CachedRawResourceChromium.cpp:
1993 * loader/icon/IconController.cpp:
1994 * loader/icon/IconLoader.h:
1995 * loader/mac/ResourceLoaderMac.mm:
1996 * page/DOMWindowExtension.cpp:
1997 * page/DragController.cpp:
1998 * page/PerformanceNavigation.cpp:
1999 * page/PerformanceTiming.cpp:
2000 * page/PointerLockController.cpp:
2001 * page/Settings.cpp:
2002 * page/animation/CSSPropertyAnimation.cpp:
2003 * platform/chromium/PasteboardChromium.cpp:
2004 * platform/efl/ErrorsEfl.cpp:
2005 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2006 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2007 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2008 * platform/gtk/ErrorsGtk.cpp:
2009 * platform/gtk/PasteboardGtk.cpp:
2010 * platform/gtk/PasteboardHelper.h:
2011 * platform/mac/ClipboardMac.h:
2012 * platform/mac/ClipboardMac.mm:
2013 * platform/mac/HTMLConverter.mm:
2014 * platform/mac/PasteboardMac.mm:
2015 * platform/network/AuthenticationChallengeBase.cpp:
2016 * platform/network/cf/CookieJarCFNet.cpp:
2017 * platform/network/cf/ResourceRequestCFNet.cpp:
2018 * platform/network/mac/CookieStorageMac.mm:
2019 * platform/qt/PasteboardQt.cpp:
2020 * plugins/DOMMimeType.cpp:
2021 * plugins/PluginView.cpp:
2022 * rendering/HitTestResult.cpp:
2023 * rendering/InlineFlowBox.cpp:
2024 * rendering/RenderBox.cpp:
2025 * rendering/RenderEmbeddedObject.cpp:
2026 * rendering/RenderImage.cpp:
2027 * rendering/RenderImageResourceStyleImage.cpp:
2028 * rendering/RenderLayer.cpp:
2029 * rendering/RenderLayerBacking.cpp:
2030 * rendering/RenderLayerFilterInfo.h:
2031 * rendering/RenderListItem.cpp:
2032 * rendering/RenderListMarker.cpp:
2033 * rendering/RenderSnapshottedPlugIn.cpp:
2034 * rendering/RenderTableCol.cpp:
2035 * rendering/RenderTableRow.cpp:
2036 * rendering/RenderTableSection.cpp:
2037 * rendering/style/StyleCachedShader.h:
2038 * svg/SVGFEImageElement.h:
2039 * svg/SVGFontFaceUriElement.h:
2040 * svg/SVGImageLoader.cpp:
2041 * svg/SVGUseElement.cpp:
2042 * svg/SVGUseElement.h:
2043 * svg/graphics/SVGImageCache.cpp:
2044 * testing/MockPagePopupDriver.cpp:
2045 * xml/XSLStyleSheet.h:
2046 * xml/XSLTProcessorLibxslt.cpp:
2047 * xml/parser/XMLDocumentParser.cpp:
2048 * xml/parser/XMLDocumentParser.h:
2049 * xml/parser/XMLDocumentParserLibxml2.cpp:
2050 Many self-evident changes - removing unnecessary header includes, adding smaller
2051 more local ones that are now necessary.
2053 2013-03-01 David Hyatt <hyatt@apple.com>
2055 [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
2056 https://bugs.webkit.org/show_bug.cgi?id=111221.
2058 Reviewed by Simon Fraser.
2060 Improve transparencyClipBox so that it understands when moving into descendants
2061 that it does in fact have to break up the transformed clip rect across the
2064 Make sure when handling fragmented transforms using multiple paints that
2065 the test that determines the extent of the transform within the fragments
2066 uses transparencyClipBox. This gives us an accurate set of columns that the
2067 final transformed result will paint across.
2069 Tests: fast/multicol/mixed-opacity-fixed-test.html
2070 fast/multicol/mixed-opacity-test.html
2071 fast/multicol/transform-inside-opacity.html
2073 * rendering/RenderLayer.cpp:
2074 (WebCore::transparencyClipBox):
2075 (WebCore::expandClipRectForDescendantsAndReflection):
2076 Break transformed boxes up into fragments when they are
2077 being requested by an ancestor.
2079 (WebCore::RenderLayer::collectFragments):
2080 (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
2081 (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
2082 * rendering/RenderLayer.h:
2084 Modify collectFragments so that we pass in the correct range
2085 within the columns that can possibly cover the fragmented
2088 2013-03-01 Ilya Tikhonovsky <loislo@chromium.org>
2090 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
2091 https://bugs.webkit.org/show_bug.cgi?id=110943
2093 Reviewed by Yury Semikhatsky.
2095 Unfortunately in many cases raw pointer may point to an object that has been deleted.
2096 There is no working solution to solve this problem in general.
2097 It could be solved only on case by case basis.
2099 * inspector/HeapGraphSerializer.cpp:
2100 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2101 (WebCore::HeapGraphSerializer::reportLeaf):
2102 * loader/cache/MemoryCache.cpp:
2103 (WebCore::MemoryCache::reportMemoryUsage):
2104 * platform/graphics/BitmapImage.cpp:
2105 (WebCore::FrameData::reportMemoryUsage):
2106 * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
2107 (reportMemoryUsage):
2109 2013-03-01 Kentaro Hara <haraken@chromium.org>
2111 Style recalculation takes too long when adding whitespace text nodes
2112 https://bugs.webkit.org/show_bug.cgi?id=110786
2114 Reviewed by Darin Adler.
2116 // This takes 216 msec.
2117 for (var i = 0; i < 1500; ++i) {
2118 document.body.appendChild(document.createTextNode('x'));
2119 document.body.appendChild(document.createElement('div'));
2120 document.body.appendChild(document.createTextNode('x'));
2123 // But this takes 25.3 seconds.
2124 for (var i = 0; i < 1500; ++i) {
2125 document.body.appendChild(document.createTextNode(' '));
2126 document.body.appendChild(document.createElement('div'));
2127 document.body.appendChild(document.createTextNode(' '));
2130 The reason is that we do not create renderers for empty text
2131 nodes and thus we are hitting the worst O(N^2) case in Node::attach().
2132 (See FIXME in Node::attach().)
2134 This patch adds a logic to bail out the loop to avoid the O(N^2) case.
2135 Specifically, the patch bails out the loop if we encounter a text node
2136 for which we again decided not to create a renderer. This bail out is
2137 reasonable because the fact that we again decided not to create a renderer
2138 for the text node indicates that there will be no affect of the result
2139 of Text::textRendererIsNeeded() of the rest of the sibling nodes.
2141 Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
2142 Performance result in Chromium/Linux: 25.3 sec => 48 msec !
2144 Test: perf/append-text-nodes-without-renderers.html (for performance)
2145 fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
2147 The loop was introduced in r29054. We have to make sure that
2148 all layout tests that were updated in r29054 pass with this patch.
2149 See http://trac.webkit.org/changeset/29054.
2152 (WebCore::Node::attach):
2154 2013-03-01 Jason Anderssen <janderssen@gmail.com>
2156 Moved markerTextForListItem from TestRunner to Internals
2157 https://bugs.webkit.org/show_bug.cgi?id=110939
2159 Reviewed by Benjamin Poulain.
2161 TestRunner framework is an old way of testing webkit, it would be
2162 better to incorporate the testing frame directly into the WebCore itself
2163 as to make it more compatible with WK2.
2165 * testing/Internals.cpp:
2166 (WebCore::Internals::markerTextForListItem):
2168 * testing/Internals.h:
2169 * testing/Internals.idl:
2171 2013-03-01 Elliott Sprehn <esprehn@gmail.com>
2173 Don't leak Documents when using MutationObserver from extensions
2174 https://bugs.webkit.org/show_bug.cgi?id=111234
2176 Reviewed by Adam Barth.
2178 MutationObserverCallback holds a WorldContextHandle which secretly isn't
2179 a handle to anything when it's for the main world. When it's for a non-main
2180 world though, like those used in extensions, it becomes a strong reference
2181 to the v8::Context which results in leaks by creating cycles:
2183 MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
2185 Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
2186 get the v8::Context from that inside handleEvent.
2188 Tests: ManualTests/leak-observer-nonmain-world.html
2190 * bindings/v8/V8Binding.cpp:
2191 (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
2192 * bindings/v8/V8Binding.h:
2193 * bindings/v8/V8MutationCallback.cpp:
2194 (WebCore::V8MutationCallback::V8MutationCallback):
2195 (WebCore::V8MutationCallback::handleEvent):
2196 * bindings/v8/V8MutationCallback.h:
2197 (V8MutationCallback):
2199 2013-03-01 Bear Travis <betravis@adobe.com>
2201 [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
2202 https://bugs.webkit.org/show_bug.cgi?id=110995
2204 Reviewed by Julien Chaffraix.
2206 This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
2207 which enables us to move away from the global ExclusionShapeInsideInfo map.
2208 Some additional refactoring was done to remove ExclusionShapeInsideInfo's
2209 dependency on InlineIterator, which depended on RenderBlock. This work required
2210 adding a new LineSegmentIterator struct.
2212 Refactoring, no new tests.
2214 * rendering/ExclusionShapeInsideInfo.cpp:
2216 (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
2217 constructor to the .cpp file, as InlineIterator is now forward declared in
2219 (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
2220 the .cpp file, as RenderBlock is now forward declared in the .h file.
2221 * rendering/ExclusionShapeInsideInfo.h:
2223 (LineSegmentIterator): A simple struct for containing segment positions for
2225 (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
2226 (LineSegmentRange): Transitioning to store LineSegmentIterator.
2227 (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
2228 (ExclusionShapeInsideInfo):
2229 * rendering/RenderBlock.cpp:
2230 (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
2231 its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
2233 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
2234 the RenderBlockRareData struct rather than the global map.
2235 * rendering/RenderBlock.h:
2237 (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
2238 is present if the shape-inside style is set.
2239 (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
2241 (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
2242 for the current block.
2243 (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
2244 * rendering/RenderBlockLineLayout.cpp:
2245 (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
2246 layout based on the stored LineSegmentIterators.
2248 2013-03-01 Terry Anderson <tdanderson@chromium.org>
2250 EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines
2251 so its behavior matches other user-initiated scrolls
2252 https://bugs.webkit.org/show_bug.cgi?id=109769
2254 Reviewed by James Robinson.
2256 To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
2257 the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
2258 instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
2259 reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
2260 be scrolled using touch but cannot be scrolled using mousewheels.
2262 Note that this patch does not use any of the mousewheel event-handling code.
2264 Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
2265 fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
2266 fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
2267 fast/events/touch/gesture/touch-gesture-noscroll-body.html
2269 * page/EventHandler.cpp:
2270 (WebCore::EventHandler::clear):
2271 (WebCore::EventHandler::handleGestureEvent):
2272 (WebCore::EventHandler::handleGestureScrollBegin):
2273 (WebCore::EventHandler::handleGestureScrollUpdate):
2274 (WebCore::EventHandler::sendScrollEventToView):
2275 By calling this function at the start of handleGestureScrollUpdate() in the case
2276 where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
2277 can still scroll the page itself, if possible.
2279 (WebCore::EventHandler::clearGestureScrollNodes):
2280 * page/EventHandler.h:
2282 * platform/PlatformWheelEvent.h:
2283 (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
2285 2013-03-01 Alec Flett <alecflett@chromium.org>
2287 IndexedDB: Avoid ScriptValue copies in IDBAny
2288 https://bugs.webkit.org/show_bug.cgi?id=111002
2290 Reviewed by Adam Barth.
2292 This avoids some v8 handle thrashing in the long term,
2293 and protects us against some crashes in the short term.
2295 The crashes will be fixed in
2296 https://bugs.webkit.org/show_bug.cgi?id=110206.
2298 * Modules/indexeddb/IDBAny.cpp:
2299 (WebCore::IDBAny::createNull):
2300 (WebCore::IDBAny::createString):
2301 (WebCore::IDBAny::IDBAny):
2302 (WebCore::IDBAny::scriptValue):
2303 * Modules/indexeddb/IDBAny.h:
2304 (WebCore::IDBAny::create):
2306 (WebCore::IDBAny::keyPath):
2307 * bindings/v8/custom/V8IDBAnyCustom.cpp:
2311 2013-03-01 Victor Carbune <vcarbune@chromium.org>
2313 Support padding, margin and border for internal UA cue styling
2314 https://bugs.webkit.org/show_bug.cgi?id=110703
2316 Reviewed by Eric Carlson.
2318 For some particular user agent styling this allows the possibility
2319 of making the window around the cue text bigger to match some user
2320 styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
2322 These properties *cannot* be set through by using the ::cue
2323 pseudo-element and, as specified, are used only internally.
2325 Note: This patch is identical to the previously commited one,
2326 as it was rolled back without related tests failing.
2328 Test: media/track/track-cue-rendering-with-padding.html
2330 * css/mediaControls.css:
2331 (video::-webkit-media-text-track-display): Set the CSS box model
2332 to include in the specified width or height the values of
2333 padding / margin / border by using -webkit-box-sizing and avoid
2334 overflow over 100% width because of having these properties set.
2335 * rendering/RenderTextTrackCue.cpp:
2336 (WebCore::RenderTextTrackCue::isOutside): To not interfere with
2337 the regular WebVTT positioning algorithm, the check is done for
2338 the absolute content box.
2339 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
2340 an extra adjustment step to accomodate vertical padding (and not
2341 overflow the cue container)
2343 2013-03-01 Andy Estes <aestes@apple.com>
2345 REGRESSION (r125809): CFStrings created via StringImpl::createCFString() might reference freed memory when Objective-C garbage collection is enabled
2346 https://bugs.webkit.org/show_bug.cgi?id=111219
2348 Reviewed by Benjamin Poulain.
2350 StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
2351 order to create CFString without making an unnecessary copy. In order
2352 to ensure that the the StringImpl's backing buffer isn't deallocated
2353 while the CFString is still alive, we use a custom CFAllocator to
2354 ref/deref the StringImpl at the appropriate times.
2356 However, custom allocators aren't supported when Objective-C garbage
2357 collection is enabled, so in this case we use the default CF allocator.
2358 Since we can't guarantee the lifetime of the StringImpl in this case,
2359 we should just fall back to copying the string, as we did prior to r125809.
2361 * platform/text/cf/StringImplCF.cpp:
2362 (garbageCollectionEnabled): Moved the check for whether garbage
2363 collection is enabled from StringWrapperCFAllocator::create() to here.
2364 (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
2365 (WTF::StringImpl::createCFString): If garbage collection is enabled,
2366 call the variants of CFStringCreate that copy the string.
2368 2013-03-01 Roger Fong <roger_fong@apple.com>
2370 Unreviewed AppleWin build fix.
2372 * platform/network/cf/ResourceHandleCFNet.cpp:
2373 (WebCore::ResourceHandle::createCFURLConnection):
2375 2013-03-01 Martin Robinson <mrobinson@igalia.com>
2377 [GTK] Allow sharing the WebCore include list with the Chromium build
2378 https://bugs.webkit.org/show_bug.cgi?id=110241
2380 Reviewed by Dirk Pranke.
2382 * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2383 * WebCore.gypi: Added shared include directories.
2385 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2387 Make in-memory blobs work in NetworkProcess
2388 https://bugs.webkit.org/show_bug.cgi?id=111132
2390 Reviewed by Sam Weinig.
2393 * WebCore.xcodeproj/project.pbxproj:
2394 Exported functions now needed by WebKit2, and made some headers Private instead
2397 2013-03-01 Eric Seidel <eric@webkit.org>
2399 Threaded HTML Parser has an extra copy of every byte from the network
2400 https://bugs.webkit.org/show_bug.cgi?id=111135
2402 Reviewed by Adam Barth.
2404 Every LayoutTest executes this code in threaded parsing mode.
2406 * dom/DecodedDataDocumentParser.cpp:
2407 (WebCore::DecodedDataDocumentParser::appendBytes):
2408 - Pass ownership of the decoded string to the parser.
2409 (WebCore::DecodedDataDocumentParser::flush):
2411 * dom/DecodedDataDocumentParser.h:
2412 (DecodedDataDocumentParser):
2414 (WebCore::Document::setContent):
2415 * dom/DocumentParser.h:
2417 * dom/RawDataDocumentParser.h:
2418 (WebCore::RawDataDocumentParser::append):
2419 * html/FTPDirectoryDocument.cpp:
2420 (FTPDirectoryDocumentParser):
2421 (WebCore::FTPDirectoryDocumentParser::append):
2422 * html/parser/HTMLDocumentParser.cpp:
2423 (WebCore::HTMLDocumentParser::append):
2424 * html/parser/HTMLDocumentParser.h:
2425 (HTMLDocumentParser):
2426 * html/parser/HTMLViewSourceParser.cpp:
2427 (WebCore::HTMLViewSourceParser::append):
2428 * html/parser/HTMLViewSourceParser.h:
2429 (HTMLViewSourceParser):
2430 * html/parser/TextDocumentParser.cpp:
2431 (WebCore::TextDocumentParser::append):
2432 * html/parser/TextDocumentParser.h:
2433 (TextDocumentParser):
2434 * loader/DocumentWriter.cpp:
2435 (WebCore::DocumentWriter::replaceDocument):
2436 * xml/parser/XMLDocumentParser.cpp:
2437 (WebCore::XMLDocumentParser::append):
2438 * xml/parser/XMLDocumentParser.h:
2439 (XMLDocumentParser):
2440 * xml/parser/XMLDocumentParserLibxml2.cpp:
2441 (WebCore::XMLDocumentParser::resumeParsing):
2443 2013-03-01 David Hyatt <hyatt@apple.com>
2445 [New Multicolumn] Change inRenderFlowThread to follow containing block chain
2446 https://bugs.webkit.org/show_bug.cgi?id=111206
2448 Reviewed by Simon Fraser.
2450 This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
2451 to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
2452 the containing block chain instead of the parent chain when outside of layout.
2453 (It already did the right thing when called during layout.)
2455 By removing inRenderFlowThread (which was following the parent chain), all
2456 code that is checking for flow thread containment now correctly uses the
2457 containing block chain. This allows for content to escape in-flow flow threads
2458 and do the right thing without asserting.
2460 Test: fast/multicol/positioned-outside-of-columns.html
2462 * dom/WebKitNamedFlow.cpp:
2463 (WebCore::inFlowThread):
2464 (WebCore::WebKitNamedFlow::getRegionsByContent):
2465 * rendering/RenderBlock.cpp:
2466 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2467 (WebCore::RenderBlock::collapseAnonymousBoxChild):
2468 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
2469 (WebCore::RenderBlock::computeRegionRangeForBlock):
2470 (WebCore::RenderBlock::layoutBlock):
2471 (WebCore::RenderBlock::computeOverflow):
2472 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2473 (WebCore::RenderBlock::computeLogicalLocationForFloat):
2474 (WebCore::RenderBlock::logicalLeftOffsetForContent):
2475 (WebCore::RenderBlock::logicalRightOffsetForContent):
2476 (WebCore::RenderBlock::hasNextPage):
2477 (WebCore::RenderBlock::applyBeforeBreak):
2478 (WebCore::RenderBlock::applyAfterBreak):
2479 (WebCore::RenderBlock::pageLogicalTopForOffset):
2480 (WebCore::RenderBlock::pageLogicalHeightForOffset):
2481 (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
2482 (WebCore::RenderBlock::adjustForUnsplittableChild):
2483 (WebCore::RenderBlock::adjustLinePositionForPagination):
2484 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2485 (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
2486 (WebCore::RenderBlock::regionAtBlockOffset):
2487 (WebCore::RenderBlock::setStaticInlinePositionForChild):
2488 (WebCore::RenderBlock::logicalWidthChangedInRegions):
2489 (WebCore::RenderBlock::clampToStartAndEndRegions):
2490 * rendering/RenderBlock.h:
2492 * rendering/RenderBlockLineLayout.cpp:
2493 (WebCore::layoutExclusionShapeInsideInfo):
2494 (WebCore::LineLayoutState::LineLayoutState):
2495 (WebCore::LineLayoutState::flowThread):
2496 (WebCore::LineLayoutState::setFlowThread):
2498 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2499 (WebCore::RenderBlock::linkToEndLineIfNeeded):
2500 (WebCore::RenderBlock::layoutInlineChildren):
2501 (WebCore::RenderBlock::determineStartPosition):
2502 (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
2503 * rendering/RenderBox.cpp:
2504 (WebCore::RenderBox::clearRenderBoxRegionInfo):
2505 (WebCore::RenderBox::renderBoxRegionInfo):
2506 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2507 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2508 (WebCore::RenderBox::computePositionedLogicalWidth):
2509 (WebCore::RenderBox::computePositionedLogicalHeight):
2510 * rendering/RenderDeprecatedFlexibleBox.cpp:
2511 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2512 * rendering/RenderFlexibleBox.cpp:
2513 (WebCore::RenderFlexibleBox::layoutBlock):
2514 * rendering/RenderFlowThread.cpp:
2515 (WebCore::RenderFlowThread::objectInFlowRegion):
2516 * rendering/RenderGrid.cpp:
2517 (WebCore::RenderGrid::layoutBlock):
2518 * rendering/RenderInline.cpp:
2519 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
2520 * rendering/RenderLayer.cpp:
2521 (WebCore::accumulateOffsetTowardsAncestor):
2522 * rendering/RenderLayerCompositor.cpp:
2523 (WebCore::RenderLayerCompositor::canBeComposited):
2524 * rendering/RenderMedia.cpp:
2525 (WebCore::RenderMedia::layout):
2526 * rendering/RenderObject.cpp:
2527 (WebCore::RenderObject::locateFlowThreadContainingBlock):
2528 (WebCore::RenderObject::containerForRepaint):
2529 (WebCore::RenderObject::willBeRemovedFromTree):
2530 (WebCore::RenderObject::removeFromRenderFlowThread):
2531 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
2532 * rendering/RenderObject.h:
2534 (WebCore::RenderObject::flowThreadContainingBlock):
2535 * rendering/RenderRegion.cpp:
2536 (WebCore::RenderRegion::setObjectStyleInRegion):
2537 * rendering/RenderView.cpp:
2538 (WebCore::RenderView::addChild):
2539 (WebCore::RenderView::initializeLayoutState):
2540 (WebCore::RenderView::setSelection):
2541 * rendering/RenderView.h:
2542 (WebCore::RenderView::pushLayoutState):
2543 * rendering/RootInlineBox.cpp:
2544 (WebCore::RootInlineBox::containingRegion):
2545 (WebCore::RootInlineBox::setContainingRegion):
2547 2013-02-28 Sam Weinig <sam@webkit.org>
2549 Add SPI for marking a WebView as doing things on behalf of another process
2550 https://bugs.webkit.org/show_bug.cgi?id=111125
2552 Reviewed by Alexey Proskuryakov.
2554 * platform/network/NetworkingContext.h:
2555 (NetworkingContext):
2556 * platform/network/cf/ResourceHandleCFNet.cpp:
2557 (WebCore::ResourceHandle::createCFURLConnection):
2558 * platform/network/mac/ResourceHandleMac.mm:
2559 (WebCore::ResourceHandle::createNSURLConnection):
2560 Set the sourceApplicationAuditData on the URL connection if available.
2562 2013-03-01 Brent Fulgham <bfulgham@webkit.org>
2564 [Windows] Unreviewed VS2010 build fix.
2566 * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
2567 files to the project.
2568 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2570 2013-03-01 Bear Travis <betravis@adobe.com>
2572 [css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
2573 https://bugs.webkit.org/show_bug.cgi?id=108128
2575 Reviewed by David Hyatt.
2577 Ensure that blocks lay out when their parent's shape-inside changes.
2578 ExclusionShapeInsideInfo now stores an additional flag indicating whether
2579 the shape has changed and its block's children require layout. Each block
2580 can look up the flag via LayoutState to determine whether it needs to lay
2583 Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
2585 * rendering/ExclusionShapeInfo.h:
2586 (WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
2587 if the shape has changed.
2588 (ExclusionShapeInfo):
2589 * rendering/ExclusionShapeInsideInfo.h:
2590 (WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
2591 layout is necessary.
2592 (WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
2593 (ExclusionShapeInsideInfo):
2594 (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
2596 * rendering/RenderBlock.cpp:
2597 (WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
2598 cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
2600 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
2601 indicating whether regions or exclusions updates should cause a relayout.
2602 (WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
2604 * rendering/RenderBlock.h:
2606 * rendering/RenderBlockLineLayout.cpp:
2607 (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
2609 (WebCore::LineWidth::LineWidth): Changing to use class method.
2610 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
2611 (WebCore::constructBidiRunsForLine): Ditto.
2612 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
2613 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
2615 2013-03-01 Uday Kiran <udaykiran@motorola.com>
2617 getComputedStyle not implemented for -webkit-column-rule shorthand
2618 https://bugs.webkit.org/show_bug.cgi?id=111203
2620 Reviewed by Alexis Menard.
2622 Implement getComputedStyle for -webkit-column-rule property.
2624 Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
2626 * css/CSSComputedStyleDeclaration.cpp:
2627 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2629 2013-02-28 David Hyatt <hyatt@apple.com>
2631 REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
2632 https://bugs.webkit.org/show_bug.cgi?id=111117
2634 Make sure the allocated vector has a capacity of 1, since that is
2635 far and away the most common case.
2637 Reviewed by Andreas Kling.
2639 * rendering/RenderFlowThread.h:
2641 * rendering/RenderLayer.h:
2643 * rendering/RenderMultiColumnSet.cpp:
2644 (WebCore::RenderMultiColumnSet::collectLayerFragments):
2645 * rendering/RenderMultiColumnSet.h:
2646 * rendering/RenderRegion.h:
2648 (WebCore::RenderRegion::collectLayerFragments):
2650 2013-03-01 Enrica Casucci <enrica@apple.com>
2652 Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
2653 https://bugs.webkit.org/show_bug.cgi?id=111211.
2654 <rdar://problem/8772758>
2656 Reviewed by Ryosuke Niwa.
2658 This is a speculative fix since we don't have a solid repro case.
2659 Adding null check every time we build a SharedBuffer from an NSData
2660 we have obtained manipulating data from the pasteboard.
2662 * platform/mac/PasteboardMac.mm:
2663 (WebCore::writeFileWrapperAsRTFDAttachment):
2664 (WebCore::Pasteboard::writeImage):
2666 2013-03-01 Enrica Casucci <enrica@apple.com>
2668 Crash at WebCore::SharedBuffer::hasPlatformData during paste.
2669 https://bugs.webkit.org/show_bug.cgi?id=111207.
2670 <rdar://problem/13024528>
2672 Reviewed by Ryosuke Niwa.
2674 This is a speculative fix since we don't have a solid repro case.
2675 Adding null check every time we get a SharedBuffer from the pasteboard.
2677 * platform/mac/PasteboardMac.mm:
2678 (WebCore::Pasteboard::plainText):
2679 (WebCore::documentFragmentWithRTF):
2681 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2683 Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
2685 * platform/network/BlobRegistryImpl.cpp:
2687 2013-03-01 peavo@outlook.com <peavo@outlook.com>
2689 [Curl] Session cookies should not be persistent.
2690 https://bugs.webkit.org/show_bug.cgi?id=111060
2692 Reviewed by Brent Fulgham.
2694 Curl saves both persistent cookies, and session cookies to the cookie file.
2695 The session cookies should be deleted before starting a new session.
2697 * platform/network/curl/ResourceHandleManager.cpp:
2698 (WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
2699 (WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.
2700 * platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
2702 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
2704 Web Inspector: Navigator should show tree element for each folder in the source path.
2705 https://bugs.webkit.org/show_bug.cgi?id=108943
2707 Reviewed by Pavel Feldman.
2709 NavigatorView now renders tree element for each folder in uiSourceCode uri.
2710 Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
2711 ScriptsNavigator has horizontal scroll now.
2712 Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
2713 with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').
2715 Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
2717 * English.lproj/localizedStrings.js:
2718 * inspector/front-end/NavigatorView.js:
2719 (WebInspector.NavigatorView):
2720 (WebInspector.NavigatorView.iconClassForType):
2721 (WebInspector.NavigatorView.prototype.addUISourceCode):
2722 (WebInspector.NavigatorView.prototype._getProjectNode):
2723 (WebInspector.NavigatorView.prototype._createProjectNode):
2724 (WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
2725 (WebInspector.NavigatorView.prototype._getFolderNode):
2726 (WebInspector.NavigatorView.prototype._createFolderNode):
2727 (WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
2728 (WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
2729 (WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
2730 (WebInspector.NavigatorView.prototype.revealUISourceCode):
2731 (WebInspector.NavigatorView.prototype.removeUISourceCode):
2732 (WebInspector.NavigatorView.prototype.rename):
2733 (WebInspector.NavigatorView.prototype.reset):
2735 (WebInspector.NavigatorTreeOutline._treeElementsCompare):
2736 (WebInspector.BaseNavigatorTreeElement):
2737 (WebInspector.BaseNavigatorTreeElement.prototype.type):
2738 (WebInspector.NavigatorFolderTreeElement):
2739 (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
2740 (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
2741 (WebInspector.NavigatorSourceTreeElement):
2742 (WebInspector.NavigatorTreeNode):
2743 (WebInspector.NavigatorTreeNode.prototype.treeElement):
2744 (WebInspector.NavigatorTreeNode.prototype.dispose):
2745 (WebInspector.NavigatorTreeNode.prototype.isRoot):
2746 (WebInspector.NavigatorTreeNode.prototype.hasChildren):
2747 (WebInspector.NavigatorTreeNode.prototype.populate):
2748 (WebInspector.NavigatorTreeNode.prototype.wasPopulated):
2749 (WebInspector.NavigatorTreeNode.prototype.didAddChild):
2750 (WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
2751 (WebInspector.NavigatorTreeNode.prototype.isPopulated):
2752 (WebInspector.NavigatorTreeNode.prototype.isEmpty):
2753 (WebInspector.NavigatorTreeNode.prototype.child):
2754 (WebInspector.NavigatorTreeNode.prototype.children):
2755 (WebInspector.NavigatorTreeNode.prototype.appendChild):
2756 (WebInspector.NavigatorTreeNode.prototype.removeChild):
2757 (WebInspector.NavigatorTreeNode.prototype.reset):
2758 (WebInspector.NavigatorRootTreeNode):
2759 (WebInspector.NavigatorRootTreeNode.prototype.isRoot):
2760 (WebInspector.NavigatorRootTreeNode.prototype.treeElement):
2761 (WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
2762 (WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
2763 (WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
2764 (WebInspector.NavigatorUISourceCodeTreeNode):
2765 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
2766 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
2767 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
2768 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
2769 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
2770 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
2771 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
2772 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
2773 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
2774 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
2775 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
2776 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
2777 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
2778 (WebInspector.NavigatorFolderTreeNode):
2779 (WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
2780 (WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
2781 (WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
2782 (WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
2783 (WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
2784 (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
2785 (WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
2786 * inspector/front-end/ScriptsNavigator.js:
2787 * inspector/front-end/SimpleWorkspaceProvider.js:
2788 (WebInspector.SimpleProjectDelegate.prototype.displayName):
2789 * inspector/front-end/navigatorView.css:
2791 (.navigator .base-navigator-tree-element-title):
2792 (.navigator-tabbed-pane .navigator-container):
2794 2013-03-01 Arvid Nilsson <anilsson@rim.com>
2796 [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
2797 https://bugs.webkit.org/show_bug.cgi?id=111072
2799 Reviewed by Rob Buis.
2801 BlackBerry PR 293208
2803 This patch contains contributions from many members of the BlackBerry
2827 Covered by existing tests.
2829 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2830 (WebCore::CanvasLayerWebKitThread::deleteTextures):
2831 (CanvasLayerCompositingThreadClient):
2832 (WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
2833 (WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
2834 (WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
2835 (WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
2837 (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
2838 (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
2839 (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
2840 (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
2841 (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2842 (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
2843 (WebCore::CanvasLayerWebKitThread::clearBuffer):
2844 * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
2846 (WebCore::CanvasLayerWebKitThread::create):
2847 (CanvasLayerWebKitThread):
2848 * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
2849 (WebCore::DisplayRefreshMonitor::displayLinkFired):
2850 * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
2851 (WebCore::DrawingBuffer::DrawingBuffer):
2853 (WebCore::DrawingBuffer::publishToPlatformLayer):
2854 (WebCore::DrawingBuffer::platformLayer):
2855 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2856 (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
2857 (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
2858 (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2859 (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
2860 (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
2861 (WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):
2862 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
2864 (EGLImageLayerCompositingThreadClient):
2865 (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
2866 * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
2867 (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
2868 (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
2869 (WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
2870 (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
2871 (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
2872 (WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
2873 (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
2874 * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
2876 (EGLImageLayerWebKitThread):
2877 * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
2878 (WebCore::FloatRect::normalized):
2880 * platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
2881 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2882 (WebCore::GraphicsContext3D::GraphicsContext3D):
2883 (WebCore::GraphicsContext3D::paintToCanvas):
2884 (WebCore::GraphicsContext3D::getImageData):
2886 * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2887 (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
2888 (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
2889 (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
2891 (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
2892 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
2893 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
2894 (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
2895 (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
2896 * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
2897 (GraphicsLayerBlackBerry):
2898 (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
2899 * platform/graphics/blackberry/ImageBlackBerry.cpp:
2900 (WebCore::ImageFrame::asNewNativeImage):
2902 (WebCore::FrameData::clear):
2903 (WebCore::BitmapImage::BitmapImage):
2904 (WebCore::BitmapImage::checkForSolidColor):
2905 (WebCore::BitmapImage::invalidatePlatformData):
2906 (WebCore::BitmapImage::draw):
2907 (WebCore::Image::drawPattern):
2908 * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
2909 * platform/graphics/blackberry/LayerCompositingThread.cpp:
2910 (WebCore::LayerCompositingThread::drawTextures):
2911 (WebCore::LayerCompositingThread::drawSurface):
2912 (WebCore::LayerCompositingThread::contentsTexture):
2913 (WebCore::LayerCompositingThread::commitPendingTextureUploads):
2915 * platform/graphics/blackberry/LayerCompositingThread.h:
2917 (LayerCompositingThread):
2918 * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2921 (LayerCompositingThreadClient):
2922 (WebCore::LayerCompositingThreadClient::contentsTexture):
2923 (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
2924 * platform/graphics/blackberry/LayerData.h:
2925 (WebCore::LayerData::LayerData):
2926 (WebCore::LayerData::contentsResolutionIndependent):
2928 (WebCore::LayerData::layerProgram):
2929 (WebCore::LayerData::isContainerForFixedPositionLayers):
2930 (WebCore::LayerData::isFixedToTop):
2931 (WebCore::LayerData::isFixedToLeft):
2932 (WebCore::LayerData::frameVisibleRect):
2933 (WebCore::LayerData::frameContentsSize):
2934 (WebCore::LayerData::contentsScale):
2935 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2936 (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
2937 (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
2938 (WebCore::LayerFilterRenderer::ping):
2939 (WebCore::LayerFilterRenderer::pong):
2940 (WebCore::LayerFilterRenderer::pushSnapshot):
2941 (WebCore::LayerFilterRenderer::popSnapshot):
2942 (WebCore::LayerFilterRenderer::applyActions):
2943 * platform/graphics/blackberry/LayerRenderer.cpp:
2945 (WebCore::LayerRenderer::LayerRenderer):
2946 (WebCore::LayerRenderer::~LayerRenderer):
2947 (WebCore::LayerRenderer::setViewport):
2948 (WebCore::LayerRenderer::compositeLayers):
2949 (WebCore::LayerRenderer::compositeBuffer):
2950 (WebCore::LayerRenderer::drawColor):
2951 (WebCore::LayerRenderer::useSurface):
2952 (WebCore::LayerRenderer::drawLayersOnSurfaces):
2954 (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
2955 (WebCore::LayerRenderer::drawDebugBorder):
2956 (WebCore::LayerRenderer::drawHolePunchRect):
2957 (WebCore::LayerRenderer::updateLayersRecursive):
2958 (WebCore::LayerRenderer::compositeLayersRecursive):
2959 (WebCore::LayerRenderer::createProgram):
2960 (WebCore::LayerRenderer::useProgram):
2961 (WebCore::LayerRenderer::useLayerProgram):
2962 * platform/graphics/blackberry/LayerRenderer.h:
2964 * platform/graphics/blackberry/LayerRendererSurface.cpp:
2965 (WebCore::LayerRendererSurface::ensureTexture):
2966 * platform/graphics/blackberry/LayerTile.cpp:
2967 (WebCore::LayerTile::LayerTile):
2968 (WebCore::LayerTile::setContents):
2969 (WebCore::LayerTile::updateContents):
2970 * platform/graphics/blackberry/LayerTile.h:
2972 (WebCore::LayerTile::renderState):
2973 (WebCore::LayerTile::needsRender):
2974 (WebCore::LayerTile::setNeedsRender):
2975 (WebCore::LayerTile::setRenderPending):
2976 (WebCore::LayerTile::setRenderDone):
2977 * platform/graphics/blackberry/LayerTileIndex.h:
2978 * platform/graphics/blackberry/LayerTiler.cpp:
2980 (WebCore::defaultTileSize):
2981 (WebCore::LayerTiler::LayerTiler):
2982 (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2983 (WebCore::LayerTiler::createBuffer):
2984 (WebCore::LayerTiler::willCommit):
2985 (WebCore::LayerTiler::commitPendingTextureUploads):
2986 (WebCore::LayerTiler::layerVisibilityChanged):
2987 (WebCore::LayerTiler::uploadTexturesIfNeeded):
2988 (WebCore::LayerTiler::processTextureJob):
2989 (WebCore::LayerTiler::addTileJob):
2990 (WebCore::LayerTiler::performTileJob):
2991 (WebCore::LayerTiler::drawTile):
2992 (WebCore::LayerTiler::drawTextures):
2993 (WebCore::LayerTiler::pruneTextures):
2994 (WebCore::LayerTiler::updateTileSize):
2995 (WebCore::LayerTiler::setNeedsBacking):
2996 (WebCore::LayerTiler::contentsTexture):
2997 * platform/graphics/blackberry/LayerTiler.h:
2998 (WebCore::LayerTiler::tileSize):
3000 (WebCore::LayerTiler::TextureJob::TextureJob):
3001 (WebCore::LayerTiler::TextureJob::setContents):
3002 (WebCore::LayerTiler::TextureJob::updateContents):
3004 (WebCore::LayerTiler::needsRender):
3005 (WebCore::LayerTiler::removeUpdateContentsJobs):
3006 * platform/graphics/blackberry/LayerWebKitThread.cpp:
3007 (WebCore::LayerWebKitThread::LayerWebKitThread):
3008 (WebCore::LayerWebKitThread::~LayerWebKitThread):
3009 (WebCore::LayerWebKitThread::paintContents):
3010 (WebCore::LayerWebKitThread::commitPendingTextureUploads):
3011 (WebCore::LayerWebKitThread::setContents):
3012 (WebCore::LayerWebKitThread::setNeedsCommit):
3013 (WebCore::LayerWebKitThread::notifyAnimationsStarted):
3014 (WebCore::LayerWebKitThread::commitOnWebKitThread):
3015 (WebCore::LayerWebKitThread::startAnimations):
3016 (WebCore::LayerWebKitThread::updateTextureContents):
3017 (WebCore::LayerWebKitThread::commitOnCompositingThread):
3018 (WebCore::LayerWebKitThread::addSublayer):
3020 (WebCore::LayerWebKitThread::addOverlay):
3021 (WebCore::LayerWebKitThread::insert):
3022 (WebCore::LayerWebKitThread::removeFromSuperlayer):
3023 (WebCore::LayerWebKitThread::removeSublayerOrOverlay):
3024 (WebCore::LayerWebKitThread::remove):
3025 (WebCore::LayerWebKitThread::replaceSublayer):
3026 (WebCore::LayerWebKitThread::filtersCanBeComposited):
3027 (WebCore::LayerWebKitThread::removeAll):
3028 (WebCore::LayerWebKitThread::setSublayers):
3029 (WebCore::LayerWebKitThread::updateLayerHierarchy):
3030 (WebCore::LayerWebKitThread::setIsMask):
3031 (WebCore::LayerWebKitThread::releaseLayerResources):
3032 * platform/graphics/blackberry/LayerWebKitThread.h:
3033 (WebCore::LayerWebKitThread::insertSublayer):
3034 (LayerWebKitThread):
3035 (WebCore::LayerWebKitThread::isMask):
3036 (WebCore::LayerWebKitThread::removeAllSublayers):
3037 (WebCore::LayerWebKitThread::setFixedPosition):
3038 (WebCore::LayerWebKitThread::setIsContainerForFixedPositionLayers):
3039 (WebCore::LayerWebKitThread::setFixedToTop):
3040 (WebCore::LayerWebKitThread::setFixedToLeft):
3041 (WebCore::LayerWebKitThread::setFrameVisibleRect):
3042 (WebCore::LayerWebKitThread::setFrameContentsSize):
3043 (WebCore::LayerWebKitThread::setLayerProgram):
3044 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3045 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3046 (WebCore::MediaPlayerPrivate::play):
3047 (WebCore::MediaPlayerPrivate::supportsFullscreen):
3048 (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
3049 (WebCore::MediaPlayerPrivate::prepareForRendering):
3051 (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
3052 (WebCore::MediaPlayerPrivate::percentLoaded):
3053 (WebCore::MediaPlayerPrivate::updateStates):
3054 (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
3055 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
3056 (WebCore::MediaPlayerPrivate::notifyChallengeResult):
3057 (WebCore::MediaPlayerPrivate::isProcessingUserGesture):
3058 (WebCore::loadBufferingImageData):
3059 (WebCore::MediaPlayerPrivate::setBuffering):
3060 (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
3061 (WebCore::MediaPlayerPrivate::onConditionallyEnterFullscreen):
3062 (WebCore::MediaPlayerPrivate::onExitFullscreen):
3063 (WebCore::MediaPlayerPrivate::onCreateHolePunchRect):
3064 (WebCore::MediaPlayerPrivate::onDestroyHolePunchRect):
3065 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
3069 (MediaPlayerPrivate):
3070 * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
3071 (WebCore::PluginLayerWebKitThread::setPluginView):
3072 * platform/graphics/blackberry/Texture.cpp:
3073 (WebCore::Texture::Texture):
3074 (WebCore::Texture::updateContents):
3075 (WebCore::Texture::setContentsToColor):
3076 (WebCore::Texture::protect):
3077 * platform/graphics/blackberry/Texture.h:
3079 (WebCore::Texture::textureId):
3080 (WebCore::Texture::isDirty):
3081 (WebCore::Texture::hasTexture):
3082 (WebCore::Texture::sizeInBytes):
3083 (WebCore::Texture::setTextureId):
3084 (WebCore::Texture::setSize):
3085 * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
3086 (WebCore::TextureCacheCompositingThread::allocateTextureId):
3087 (WebCore::freeTextureId):
3088 (WebCore::TextureCacheCompositingThread::collectGarbage):
3089 (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
3091 (WebCore::TextureCacheCompositingThread::textureDestroyed):
3092 (WebCore::TextureCacheCompositingThread::install):
3093 (WebCore::TextureCacheCompositingThread::resizeTexture):
3094 (WebCore::TextureCacheCompositingThread::evict):
3095 (WebCore::TextureCacheCompositingThread::prune):
3096 (WebCore::TextureCacheCompositingThread::clear):
3097 (WebCore::TextureCacheCompositingThread::textureForTiledContents):
3098 (WebCore::TextureCacheCompositingThread::updateContents):
3099 * platform/graphics/blackberry/TextureCacheCompositingThread.h:
3100 (TextureCacheCompositingThread):
3101 (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
3103 * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
3104 * platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
3105 * platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
3107 2013-03-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
3109 [Qt] Fix the Mac build with the current qtbase/dev branch
3110 https://bugs.webkit.org/show_bug.cgi?id=111190
3112 Reviewed by Allan Sandfeld Jensen.
3114 QMAKE_MACOSX_DEPLOYMENT_TARGET now influences
3115 __MAC_OS_X_VERSION_MIN_REQUIRED through -mmacosx-version-min after
3116 changes in qtbase to support iOS.
3118 Having only WebCore defining it to 10.5 would create a mismatch of
3119 ENABLE_THREADING_LIBDISPATCH with WTF to cause undefined symbols
3120 while linking both together at the end.
3122 Fix it by removing the statement which isn't needed anymore.
3123 qtbase/mkspecs/common/mac-minimum-version.conf already defines
3124 10.6 as the minimum Mac version.
3128 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
3130 Web Inspector: [Regression] Snippets renaming is broken.
3131 https://bugs.webkit.org/show_bug.cgi?id=111181
3133 Reviewed by Alexander Pavlov.
3135 * inspector/front-end/NavigatorView.js:
3136 * inspector/front-end/ScriptSnippetModel.js:
3137 * inspector/front-end/ScriptsPanel.js:
3138 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
3139 * inspector/front-end/UISourceCode.js:
3140 (WebInspector.UISourceCode.prototype.rename):
3142 2013-03-01 David Hyatt <hyatt@apple.com>
3144 Fix a misspelled word in RenderObject.h. staticly -> statically.
3146 Reviewed by Dean Jackson.
3148 * rendering/RenderObject.h:
3149 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3150 (WebCore::RenderObject::RenderObjectBitfields::isPositioned):
3152 2013-03-01 David Hyatt <hyatt@apple.com>
3154 [New Multicolumn] Change flow thread containment to be a state.
3155 https://bugs.webkit.org/show_bug.cgi?id=111110
3157 Change m_inRenderFlowThread from a single bit to an actual state. This
3158 will let us track whether we're inside a multicolumn (in-flow) flow thread
3159 or a named (out-of-flow) flow thread. In the former case, we're going to have
3160 to do more work to maintain this state, but for now I've kept all the logic
3161 the same just for the initial landing.
3163 Reviewed by Andreas Kling.
3165 * dom/NodeRenderingContext.cpp:
3166 (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
3167 (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
3168 * rendering/RenderBlock.cpp:
3169 (WebCore::RenderBlock::clone):
3170 * rendering/RenderFlowThread.cpp:
3171 (WebCore::RenderFlowThread::RenderFlowThread):
3172 * rendering/RenderInline.cpp:
3173 (WebCore::RenderInline::clone):
3174 * rendering/RenderMultiColumnFlowThread.cpp:
3175 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
3176 * rendering/RenderObject.cpp:
3177 (WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
3178 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
3179 * rendering/RenderObject.h:
3180 (WebCore::RenderObject::setParent):
3182 (WebCore::RenderObject::inRenderFlowThread):
3183 (WebCore::RenderObject::flowThreadState):
3184 (WebCore::RenderObject::setFlowThreadState):
3185 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3186 (RenderObjectBitfields):
3187 (WebCore::RenderObject::RenderObjectBitfields::flowThreadState):
3188 (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState):
3189 * rendering/RenderView.cpp:
3190 (WebCore::RenderView::addChild):
3192 2013-03-01 Jessie Berlin <jberlin@apple.com>
3196 Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.
3198 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
3200 2013-03-01 David Kilzer <ddkilzer@apple.com>
3202 BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
3203 <http://webkit.org/b/109331>
3205 Fixes the following build failures:
3207 Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
3208 void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
3210 Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
3211 void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
3215 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3216 (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
3219 2013-03-01 Dan Carney <dcarney@google.com>
3221 [v8] ScriptValue has dangerous copy semantics
3222 https://bugs.webkit.org/show_bug.cgi?id=110206
3224 Reviewed by Kentaro Hara.
3226 Update ScriptValue to used a SharedPersistent,
3227 making it impossible to return dead references.
3229 No new tests. No change in functionality.
3231 * bindings/v8/ScriptValue.cpp:
3232 (WebCore::ScriptValue::serialize):
3233 (WebCore::ScriptValue::getString):
3234 (WebCore::ScriptValue::toString):
3235 (WebCore::ScriptValue::toInspectorValue):
3236 * bindings/v8/ScriptValue.h:
3237 (WebCore::ScriptValue::ScriptValue):
3238 (WebCore::ScriptValue::operator=):
3239 (WebCore::ScriptValue::operator==):
3240 (WebCore::ScriptValue::isEqual):
3241 (WebCore::ScriptValue::isFunction):
3242 (WebCore::ScriptValue::isNull):
3243 (WebCore::ScriptValue::isUndefined):
3244 (WebCore::ScriptValue::isObject):
3245 (WebCore::ScriptValue::hasNoValue):
3246 (WebCore::ScriptValue::clear):
3248 (WebCore::ScriptValue::v8Value):
3249 (WebCore::ScriptValue::v8ValueRaw):
3250 * bindings/v8/SharedPersistent.h:
3251 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3252 (WebCore::InjectedScriptHost::scriptValueAsNode):
3253 * bindings/v8/custom/V8MessageEventCustom.cpp:
3254 (WebCore::V8MessageEvent::dataAttrGetterCustom):
3256 2013-03-01 Julien Chaffraix <jchaffraix@webkit.org>
3258 Add FeatureObserver for marquee and reflection
3259 https://bugs.webkit.org/show_bug.cgi?id=111118
3261 Reviewed by Simon Fraser.
3263 Refactoring covered by existing tests.
3265 * page/FeatureObserver.h:
3266 * rendering/RenderLayer.cpp:
3267 (WebCore::RenderLayer::styleChanged):
3268 Added some instrumentation for reflection and marquee as they are both prefixed and this would help
3269 to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and
3270 overflow: -webkit-marquee (CSSOverflowMarquee).
3272 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
3274 Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
3275 https://bugs.webkit.org/show_bug.cgi?id=111165
3277 Reviewed by Vsevolod Vlasov.
3279 A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
3280 containing a URL (which holds a stringified security origin) and an identifier (which is now used
3281 as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
3282 code clutter, the security origin tracking code has been extracted into a separate type,
3283 WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.
3285 No new tests, as it is a refactoring.
3287 * inspector/front-end/DOMStorage.js:
3288 (WebInspector.DOMStorage.storageId):
3289 (WebInspector.DOMStorage.prototype.id):
3290 (WebInspector.DOMStorage.prototype.getItems):
3291 (WebInspector.DOMStorage.prototype.setItem):
3292 (WebInspector.DOMStorage.prototype.removeItem):
3293 (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
3294 (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
3295 (WebInspector.DOMStorageModel.prototype._storageKey):
3296 * inspector/front-end/ExtensionAuditCategory.js:
3297 * inspector/front-end/FileSystemModel.js:
3298 (WebInspector.FileSystemModel.prototype._reset):
3299 (WebInspector.FileSystemModel.prototype._securityOriginAdded):
3300 (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
3301 (WebInspector.FileSystemModel.prototype._addOrigin):
3302 (WebInspector.FileSystemModel.prototype._removeOrigin):
3303 (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
3304 (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
3305 (WebInspector.FileSystemModel.prototype._removeFileSystem):
3306 (WebInspector.FileSystemModel.FileSystem.prototype.get name):
3307 * inspector/front-end/IndexedDBModel.js:
3308 (WebInspector.IndexedDBModel.prototype._reset):
3309 (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
3310 (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
3311 (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
3312 (WebInspector.IndexedDBModel.prototype._addOrigin):
3313 (WebInspector.IndexedDBModel.prototype._removeOrigin):
3314 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
3315 (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
3316 (WebInspector.IndexedDBModel.prototype._loadDatabase):
3317 (WebInspector.IndexedDBModel.prototype.):
3318 (WebInspector.IndexedDBModel.prototype._requestData):
3319 (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
3320 * inspector/front-end/IndexedDBViews.js:
3321 (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
3322 * inspector/front-end/ResourceTreeModel.js:
3323 (WebInspector.ResourceTreeModel.prototype._addFrame):
3324 (WebInspector.ResourceTreeModel.prototype.securityOriginForId):
3325 (WebInspector.ResourceTreeModel.prototype.securityOrigins):
3326 (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
3327 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
3328 (WebInspector.ResourceTreeModel.prototype._frameDetached):
3329 (WebInspector.ResourceTreeModel.SecurityOriginTracker):
3330 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
3331 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
3332 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
3333 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
3334 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
3335 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
3336 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
3337 (WebInspector.ResourceTreeFrame.prototype._navigate):
3338 (WebInspector.SecurityOrigin.prototype.id):
3339 (WebInspector.SecurityOrigin.prototype.url):
3340 (WebInspector.SecurityOrigin.prototype.uiTitle):
3341 (WebInspector.SecurityOrigin.prototype.toProtocol):
3342 * inspector/front-end/ResourcesPanel.js:
3343 (WebInspector.IDBDatabaseTreeElement):
3344 (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
3345 (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
3346 (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
3347 (WebInspector.DOMStorageTreeElement):
3348 (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
3349 (WebInspector.FileSystemTreeElement):
3351 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
3353 Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
3354 https://bugs.webkit.org/show_bug.cgi?id=108930
3356 Reviewed by Pavel Feldman.
3358 This feature will help developers to focus on events
3359 that caused CPU bar.
3361 * inspector/front-end/Popover.js: Added "arrowDirection" parameter.
3362 * inspector/front-end/TimelineGrid.js:
3363 (WebInspector.TimelineGrid): Added "curtains".
3364 * inspector/front-end/TimelinePanel.js:
3365 (WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
3366 when mouse is over CPU bar.
3367 * inspector/front-end/timelinePanel.css: Added "curtains" style rules.
3369 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
3371 Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
3372 Relanding fixed r144449.
3373 https://bugs.webkit.org/show_bug.cgi?id=105285
3375 Reviewed by Vsevolod Vlasov.
3377 Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
3378 an external stylesheet/sass/other file. Inline stylesheets are not navigable,
3379 since their start position is not detectable inside the surrounding HTML as of yet.
3381 No new tests, a UI change.
3383 * inspector/front-end/CSSStyleModel.js:
3384 (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
3385 (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
3386 * inspector/front-end/StylesSidebarPane.js: Add navigation code.
3387 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
3388 (WebInspector.StylePropertiesSection):
3390 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
3392 Unreviewed, rolling out r144449.
3393 http://trac.webkit.org/changeset/144449
3394 https://bugs.webkit.org/show_bug.cgi?id=111175
3396 Breaks style-related inspector tests (Requested by apavlov on
3399 * inspector/front-end/CSSStyleModel.js:
3400 (WebInspector.CSSRule.prototype.get isRegular):
3401 (WebInspector.CSSProperty.prototype.setDisabled):
3402 * inspector/front-end/StylesSidebarPane.js:
3403 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
3404 (WebInspector.StylePropertiesSection):
3408 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
3410 Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
3411 https://bugs.webkit.org/show_bug.cgi?id=105285
3413 Reviewed by Vsevolod Vlasov.
3415 Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
3416 an external stylesheet/sass/other file. Inline stylesheets are not navigable,
3417 since their start position is not detectable inside the surrounding HTML as of yet.
3419 No new tests, a UI change.
3421 * inspector/front-end/CSSStyleModel.js:
3422 (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
3423 (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
3424 * inspector/front-end/StylesSidebarPane.js: Add navigation code.
3425 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
3426 (WebInspector.StylePropertiesSection):
3428 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
3430 Unreviewed, rolling out r144443.
3431 http://trac.webkit.org/changeset/144443
3432 https://bugs.webkit.org/show_bug.cgi?id=111169
3434 Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
3435 by toyoshim on #webkit).
3437 * css/mediaControls.css:
3438 (video::-webkit-media-text-track-display):
3439 * rendering/RenderTextTrackCue.cpp:
3440 (WebCore::RenderTextTrackCue::isOutside):
3441 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
3443 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
3445 Unreviewed, rolling out r144422 and r144424.