1 2013-03-04 Uday Kiran <udaykiran@motorola.com>
3 getComputedStyle not implemented for -webkit-columns shorthand
4 https://bugs.webkit.org/show_bug.cgi?id=111236
6 Reviewed by Alexis Menard.
8 Implement getComputedStyle for -webkit-columns shorthand.
10 Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
12 * css/CSSComputedStyleDeclaration.cpp:
13 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15 2013-03-04 Levi Weintraub <leviw@chromium.org>
17 Add support for 8 bit TextRuns on Chromium Linux & Mac
18 https://bugs.webkit.org/show_bug.cgi?id=99393
20 Reviewed by Eric Seidel.
22 Adding support for 8 bit TextRuns for Mac and Linux Chromium. To accomplish this,
23 8 bit text runs are upconverted to 16 bit in the complex text path during string
24 normalization, as HarfBuzz operates on UChars.
26 Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
27 before enabling this optimization.
29 No new tests. No change in behavior.
31 (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
32 * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
33 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
34 (WebCore::normalizeCharacters):
35 (WebCore::HarfBuzzShaper::HarfBuzzShaper):
37 2013-03-04 Alexis Menard <alexis@webkit.org>
39 transition-property property and transition shorthand property doesn't accept "all, all".
40 https://bugs.webkit.org/show_bug.cgi?id=111201
42 Reviewed by Simon Fraser.
44 Relax the parsing of transition-property to allow all, all as a value.
45 It is not very useful per say but it is possible by the spec and we
46 align with Firefox, IE and Opera.
48 Test: LayoutTests/transitions/transitions-parsing.html
51 (WebCore::CSSParser::parseAnimationProperty):
53 2013-03-04 Min Qin <qinmin@chromium.org>
55 Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
56 https://bugs.webkit.org/show_bug.cgi?id=111229
58 Reviewed by Simon Fraser.
60 If applyPageScaleFactorInCompositor is set to true, webcore should use css coordinates.
61 As a result, we shouldn't apply page scale to clipRect in RenderLayerCompositor.
62 Layout tests set the flag to false, so we don't have anything to test against.
64 * rendering/RenderLayerCompositor.cpp:
65 (WebCore::RenderLayerCompositor::addToOverlapMap):
67 2013-03-04 Ian Vollick <vollick@chromium.org>
69 ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
70 https://bugs.webkit.org/show_bug.cgi?id=108257
72 Reviewed by David Hyatt.
74 With composited scrolling we paint both with and without respecting
75 overflow clip. To prevent collisions in the clip cache, and to prevent
76 throwing away cached clips unnecessarily, we keep two copies of the
77 clip cache -- one for when overflow clip is respected, and one for
80 No new tests. Covered by existing tests (in debug):
81 compositing/overflow/automatically-opt-into-composited-scrolling.html
82 compositing/overflow/composited-scrolling-creates-a-stacking-container.html
84 * rendering/RenderLayer.cpp:
85 (WebCore::RenderLayer::updateClipRects):
86 No longer asserts that our 'respect overflow clip' status is
87 consistent. It also gets and sets the clip cache using the clip rect
88 context rather than just the clip rect type.
89 (WebCore::RenderLayer::calculateClipRects):
90 (WebCore::RenderLayer::parentClipRects):
91 (WebCore::RenderLayer::clearClipRects):
92 (WebCore::ClipRectsCache::ClipRectsCache):
93 (WebCore::ClipRectsCache::getClipRects):
94 (WebCore::ClipRectsCache::setClipRects):
95 (WebCore::ClipRectsCache::getIndex):
96 Get and set the cached clip rects using the context rather than
98 (WebCore::RenderLayer::clipRects):
99 We now cache twice as many clip rects.
100 * rendering/RenderLayerBacking.cpp:
101 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
102 ShouldRespectOverflowClip was moved out of RenderLayer.
104 * rendering/RenderLayer.cpp:
105 (WebCore::RenderLayer::updateClipRects):
106 (WebCore::RenderLayer::calculateClipRects):
107 (WebCore::RenderLayer::parentClipRects):
108 (WebCore::RenderLayer::clearClipRects):
109 * rendering/RenderLayer.h:
110 (WebCore::ClipRectsCache::ClipRectsCache):
111 (WebCore::ClipRectsCache::getClipRects):
112 (WebCore::ClipRectsCache::setClipRects):
114 (WebCore::ClipRectsCache::getIndex):
115 (WebCore::RenderLayer::clipRects):
116 * rendering/RenderLayerBacking.cpp:
117 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
119 2013-03-04 Aaron Colwell <acolwell@chromium.org>
121 Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
122 https://bugs.webkit.org/show_bug.cgi?id=111195
124 Reviewed by Adam Barth.
126 No new tests. No user visible behavior changed.
128 * platform/graphics/SourceBufferPrivate.h:
129 (SourceBufferPrivate):
131 2013-03-04 David Hyatt <hyatt@apple.com>
133 [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
134 https://bugs.webkit.org/show_bug.cgi?id=111338
136 Reviewed by Allan Jensen.
138 There is nothing special about a multi-column flow thread style now, so we can just
139 use the existing anonymous style creation function.
141 * rendering/RenderMultiColumnBlock.cpp:
143 (WebCore::RenderMultiColumnBlock::addChild):
145 2013-03-04 Mario Sanchez Prada <mario.prada@samsung.com>
147 [GTK] WebCore::returnString is unsafe and should be removed!
148 https://bugs.webkit.org/show_bug.cgi?id=110423
150 Reviewed by Martin Robinson.
152 Remove returnString() and replace it in callers with a new
153 function that will cache and return the values of string
154 properties for ATK interfaces in the private section of the
155 wrapper AtkObject WebKitAccessible.
157 * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
158 * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
160 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
161 (_WebKitAccessiblePrivate): New private structure to store cached
162 values of string property for the different ATK interfaces.
163 (cacheAndReturnAtkProperty): New helper function to make sure the
164 returned const gchar* value is previously cached in the private
165 section of the wrapper AtkObject.
166 (webkitAccessibleGetName): Use the new helper function.
167 (webkitAccessibleGetDescription): Ditto.
168 (webkitAccessibleInit): Initialize pointer to private structure.
169 (webkitAccessibleFinalize): Remove unneeded code.
170 (webkitAccessibleClassInit): Add private struct to class type/
171 * accessibility/atk/WebKitAccessibleWrapperAtk.h:
172 (_WebKitAccessible): New member pointing to the private structure,
173 made the new helper function cacheAndReturnAtkProperty() available
174 to external callers (implementation files for ATK interfaces).
175 (AtkCachedProperty): New enum to allow reusing code when calling
176 cacheAndReturnAtkProperty() to cache and return different properties.
178 * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
179 (webkitAccessibleActionGetKeybinding): Replace calls to returnString()
180 with calls to the new helper function cacheAndReturnAtkProperty().
181 (webkitAccessibleActionGetName): Ditto.
182 * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
183 (documentAttributeValue): Ditto.
184 (webkitAccessibleDocumentGetLocale): Ditto.
185 * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
186 (webkitAccessibleImageGetImageDescription): Ditto.
188 Remove returnString() from WebKitAccessibleHyperlink (which is not
189 an AtkObject, but a GObject) as well, replacing it in callers with
190 simple code that will cache and return the required values in the
191 private section of these kind of objects.
193 * accessibility/atk/WebKitAccessibleHyperlink.cpp:
194 (_WebKitAccessibleHyperlinkPrivate): Added two new fields to cache
195 string values for the key binding and name properties from the
196 AtkAction interface, which is implemented by AtkHyperlink.
197 (webkitAccessibleHyperlinkActionGetKeybinding): Cache the string
198 value for the key binding before returning a const gchar* pointer.
199 (webkitAccessibleHyperlinkActionGetName): Ditto.
200 (webkitAccessibleHyperlinkGetURI): Do not cache the URI here, as
201 this function returns a gchar* that will be owned by the caller.
203 2013-03-04 peavo@outlook.com <peavo@outlook.com>
205 [Curl] Compile fix after r144216
206 https://bugs.webkit.org/show_bug.cgi?id=111305
208 Reviewed by Brent Fulgham.
210 * platform/network/curl/ResourceRequest.h:
211 (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
213 2013-03-03 David Hyatt <hyatt@apple.com>
215 [New Multicolumn] Make sure region styling works for columns inside regions.
216 https://bugs.webkit.org/show_bug.cgi?id=111276
218 Reviewed by Sam Weinig.
220 Test: fast/regions/region-styling-in-columns.html
222 * rendering/RenderFlowThread.cpp:
223 (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
224 (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
225 * rendering/RenderFlowThread.h:
226 (CurrentRenderFlowThreadMaintainer):
227 Fix the CurrentRenderFlowThreadMaintainer so that it saves off the old render flow thread
228 and restores it when done. This effectively makes flow thread layout a push/pop stack,
229 since with in-flow threads, this is allowed. We assert that a nested flow thread is
230 in-flow to preserve the invariant that you can't nest CSS Regions flow thread.
232 * rendering/RenderRegion.cpp:
233 (WebCore::RenderRegion::computeChildrenStyleInRegion):
234 Add isInFlowRenderFlowThread() to the anonymous check to make sure a style gets made
235 for the nested flow thread.
237 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
239 Web Inspector: WebInspector.AceTextEditor throws a warning
240 https://bugs.webkit.org/show_bug.cgi?id=111315
242 Reviewed by Pavel Feldman.
244 Add WebInspector.AceTextEditor to externs.js to suppress closure
247 No new tests: no change in behaviour.
249 * inspector/front-end/externs.js:
250 (WebInspector.AceTextEditor):
252 2013-03-04 Antoine Quint <graouts@apple.com>
254 Fix debug build under certain configurations, cause was
255 http://trac.webkit.org/changeset/144624.
257 * inspector/InspectorController.cpp:
258 (WebCore::InspectorController::InspectorController):
259 * inspector/InspectorLayerTreeAgent.cpp:
260 (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
261 * inspector/InspectorLayerTreeAgent.h:
263 (WebCore::InspectorLayerTreeAgent::create):
264 (InspectorLayerTreeAgent):
266 2013-03-04 Allan Sandfeld Jensen <allan.jensen@digia.com>
268 [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
269 https://bugs.webkit.org/show_bug.cgi?id=111322
271 Reviewed by Simon Hausmann.
273 Do not try to load blacklisted plugins.
275 * plugins/qt/PluginPackageQt.cpp:
276 (WebCore::PluginPackage::fetchInfo):
278 2013-03-04 Alexis Menard <alexis@webkit.org>
280 transition properties can't be found in CSSStyleDeclaration
281 https://bugs.webkit.org/show_bug.cgi?id=110011
283 Reviewed by Antti Koivisto.
285 The previous approach for handling the unprefixing was to alias the
286 unprefixed properties with the prefixed ones in CSSPropertyNames.in.
287 Unfortunately it will alias the properties in the parsing code which will just
288 identically parse the two versions. This means that when we populate StylePropertySet
289 we do not have information whether we just parsed the prefixed, the
290 unprefixed properties or we parsed both. The patch takes another
291 approach by creating two distinct sets of properties (unprefixed and
292 prefixed). Each properties have their own id and we now handle them in
293 the parsing code as disctints properties and add both versions to the
294 declared style. In order to avoid properties getting out of sync,
295 this patch adds few facilities to StylePropertySet to update the
296 prefixed and the unprefixed entries. Finally the style resolution
297 happens only for the prefixed version (to limit the size of this patch)
298 and the unprefixed versions are not resolved. This is to avoid creating
299 the animation objects twice for the resolved style.
301 Test : transitions/transitions-parsing.html
303 * css/CSSComputedStyleDeclaration.cpp:
305 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
307 (WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
308 prefixed and the unprefixed property even if only one is specified.
310 (WebCore::CSSParser::parseValue):
311 (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
312 unprefixed longhands to the declarated style.
313 (WebCore::CSSParser::parseAnimationProperty):
316 * css/CSSProperty.cpp:
317 (WebCore::CSSProperty::isInheritedProperty):
319 (WebCore:: prefixingVariantForPropertyId): This function takes a given
320 property id and returns its prefixed or unprefixed id if it exists. If
321 not it returns the same id.
323 * css/CSSPropertyNames.in:
324 * css/StylePropertySet.cpp:
325 (WebCore::StylePropertySet::getPropertyValue):
326 (WebCore::StylePropertySet::removeShorthandProperty):
327 (WebCore::StylePropertySet::removeProperty):
328 (WebCore::StylePropertySet::removeProperty): Remove
329 also the prefixed or unprefixed shorthand if it exists.
331 (WebCore::StylePropertySet::setProperty):
332 (WebCore::StylePropertySet:: appendPrefixingVariantProperty):
333 (WebCore::StylePropertySet::setPrefixingVariantProperty): If it
334 exists a unprefixed or prefixed counterpart of the property we're
335 trying to set, then we update the other one.
336 (WebCore::StylePropertySet::asText):
337 (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
338 * css/StylePropertySet.h:
340 * css/StylePropertyShorthand.cpp:
341 (WebCore::transitionShorthand):
343 (WebCore::shorthandForProperty): Define the transitions unprefixed
345 * css/StylePropertyShorthand.h:
347 * css/StyleResolver.cpp:
348 (WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
349 resolution and the creation of the animations for the style. As the
350 declarated style now contains declarations for the prefixed and
351 unprefixed property we do not want to resolve two times and create duplicate animations.
352 Therefore when we try to resolve the unprefixed version we just bail out.
354 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
356 Web Inspector: CPU Flame Chart: reveal profiler DataGrid node when user clicks on a FlameChart item.
357 https://bugs.webkit.org/show_bug.cgi?id=111309
359 Reviewed by Yury Semikhatsky.
361 * inspector/front-end/CPUProfileView.js:
362 (WebInspector.CPUProfileView.prototype._revealProfilerNode):
363 * inspector/front-end/FlameChart.js:
364 (WebInspector.FlameChart):
365 (WebInspector.FlameChart.prototype._onClick):
367 2013-03-04 Antoine Quint <graouts@apple.com>
369 Web Inspector: remove existing LayerTreeAgent protocol APIs
370 https://bugs.webkit.org/show_bug.cgi?id=111251
372 In order to eventually provide a more useful API for the LayerTreeAgent
373 that will be done in followup bugs, we remove the current API exposed by
374 the agent providing a clean slate that will make future patches easier
375 to read. Additionally, we remove the "childLayers" property on the Layer
376 object since we will no longer be providing a hierarchy of layers, but
377 rather a flat list of layers attached to a node and its descendants.
379 No new tests since we're removing the APIs exposed by the LayerTreeAgent.
380 Subsequent patches will add tests as new APIs are added.
382 Reviewed by Timothy Hatcher.
384 * inspector/Inspector.json:
385 * inspector/InspectorDOMAgent.cpp:
386 * inspector/InspectorDOMAgent.h:
387 * inspector/InspectorLayerTreeAgent.cpp:
388 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
389 * inspector/InspectorLayerTreeAgent.h:
390 (InspectorLayerTreeAgent):
392 2013-03-04 Li Yin <li.yin@intel.com>
394 MediaStream.ended must return true when it is created with ended tracks.
395 https://bugs.webkit.org/show_bug.cgi?id=111293
397 Reviewed by Kentaro Hara.
399 Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#MediaStream-ended
400 When a MediaStream object is created, its ended attribute must be set to false,
401 unless it is being created using the MediaStream() constructor whose arguments
402 are lists of MediaStreamTrack objects that are all ended, in which case the
403 MediaStream object must be created with its ended attribute set to true.
405 Test: fast/mediastream/MediaStreamConstructor.html
407 * platform/mediastream/MediaStreamDescriptor.h:
408 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
410 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
412 Web Inspector: Adding new rules broken if a <style> tag is added to document dynamically
413 https://bugs.webkit.org/show_bug.cgi?id=111299
415 Reviewed by Pavel Feldman.
417 The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
418 not from the document.styleSheets list.
420 Test: inspector/styles/add-new-rule-with-style-after-body.html
422 * inspector/InspectorCSSAgent.cpp:
423 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
425 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
427 Web Inspector: Unreviewed. Fix for closure type annotations.
429 * inspector/front-end/FlameChart.js:
431 2013-03-04 Kondapally Kalyan <kalyan.kondapally@intel.com>
433 [EFL] Build fix when compiling with GLES2 support enabled.
434 https://bugs.webkit.org/show_bug.cgi?id=111291
436 Reviewed by Kenneth Rohde Christiansen.
438 This patch fixes build issues when compiling with GLES2
439 support. As part of the fix the patch removes Evas specific
440 workaround of using GLX with EGL in PlatformContext as GLES2
441 is the main target with EGL.
443 * platform/graphics/OpenGLESShims.h:
444 * platform/graphics/opengl/GLPlatformContext.cpp:
445 (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
446 * platform/graphics/texmap/TextureMapper.h:
448 2013-03-04 Ilya Tikhonovsky <loislo@chromium.org>
450 Web Inspector: implement Flame Chart for CPU profiler.
451 https://bugs.webkit.org/show_bug.cgi?id=111162
453 Reviewed by Yury Semikhatsky.
455 It is an initial implementation. The next step is to provide
456 function names and other stats about the hovered item.
459 * WebCore.vcproj/WebCore.vcproj:
460 * WebCore.vcxproj/WebCore.vcxproj:
461 * WebCore.vcxproj/WebCore.vcxproj.filters:
462 * inspector/compile-front-end.py:
463 * inspector/front-end/CPUProfileView.js:
464 (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
465 * inspector/front-end/FlameChart.js: Added.
466 (WebInspector.FlameChart):
467 (WebInspector.FlameChart.prototype._onMouseMove):
468 (WebInspector.FlameChart.prototype.findNodeCallback):
469 (WebInspector.FlameChart.prototype._coordinatesToNode):
470 (WebInspector.FlameChart.prototype.onResize):
471 (WebInspector.FlameChart.prototype._rootNodes):
472 (WebInspector.FlameChart.prototype.draw):
473 (WebInspector.FlameChart.prototype._drawNode):
474 (WebInspector.FlameChart.prototype._forEachNode):
475 (WebInspector.FlameChart.prototype._drawBar):
476 (WebInspector.FlameChart.prototype.update):
477 * inspector/front-end/Settings.js:
478 (WebInspector.ExperimentsSettings):
479 * inspector/front-end/WebKit.qrc:
480 * inspector/front-end/flameChart.css: Added.
483 2013-03-04 Marja Hölttä <marja@chromium.org>
485 [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
486 https://bugs.webkit.org/show_bug.cgi?id=110875
488 The parameter will later be used for generating specialized V8
489 bindings for the 3 different world types (main world, isolated
492 Reviewed by Kentaro Hara.
494 No new tests (no changes in behavior yet).
496 * bindings/scripts/CodeGeneratorV8.pm:
498 (GenerateDomainSafeFunctionGetter):
499 (GenerateDomainSafeFunctionSetter):
500 (GenerateNormalAttrGetter):
501 (GenerateNamedConstructor):
502 (GenerateImplementation):
503 * bindings/v8/DOMDataStore.cpp:
504 (WebCore::DOMDataStore::DOMDataStore):
505 * bindings/v8/DOMDataStore.h:
507 * bindings/v8/DOMWrapperWorld.cpp:
509 (WebCore::DOMWrapperWorld::setInitializingWindow):
510 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
511 (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
512 * bindings/v8/DOMWrapperWorld.h:
514 (WebCore::DOMWrapperWorld::getWorld):
515 * bindings/v8/Dictionary.cpp:
516 (WebCore::Dictionary::get):
517 * bindings/v8/PageScriptDebugServer.cpp:
518 (WebCore::retrieveFrameWithGlobalObjectCheck):
519 * bindings/v8/V8AdaptorFunction.cpp:
520 (WebCore::V8AdaptorFunction::getTemplate):
521 (WebCore::V8AdaptorFunction::wrap):
522 * bindings/v8/V8AdaptorFunction.h:
524 * bindings/v8/V8Binding.cpp:
525 (WebCore::toDOMWindow):
526 (WebCore::toScriptExecutionContext):
527 (WebCore::worldType):
529 (WebCore::worldTypeInMainThread):
530 * bindings/v8/V8Binding.h:
532 * bindings/v8/V8DOMWindowShell.cpp:
533 (WebCore::V8DOMWindowShell::clearForNavigation):
534 (WebCore::V8DOMWindowShell::installDOMWindow):
535 * bindings/v8/V8DOMWrapper.cpp:
536 (WebCore::V8DOMWrapper::createWrapper):
537 * bindings/v8/V8Initializer.cpp:
538 (WebCore::findFrame):
539 * bindings/v8/V8PerContextData.cpp:
540 (WebCore::V8PerContextData::constructorForTypeSlowCase):
541 * bindings/v8/WorkerScriptController.cpp:
542 (WebCore::WorkerScriptController::WorkerScriptController):
543 (WebCore::WorkerScriptController::controllerForContext):
544 * bindings/v8/WrapperTypeInfo.h:
545 (WebCore::WrapperTypeInfo::getTemplate):
546 * bindings/v8/custom/V8DOMWindowCustom.cpp:
547 (WebCore::V8DOMWindow::eventAttrGetterCustom):
548 (WebCore::V8DOMWindow::eventAttrSetterCustom):
549 (WebCore::V8DOMWindow::toStringMethodCustom):
550 (WebCore::V8DOMWindow::namedSecurityCheck):
551 (WebCore::V8DOMWindow::indexedSecurityCheck):
553 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
554 (WebCore::V8HTMLDocument::wrapInShadowObject):
555 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
556 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
557 * bindings/v8/custom/V8HTMLImageElementConstructor.h:
558 (V8HTMLImageElementConstructor):
559 * bindings/v8/custom/V8InjectedScriptManager.cpp:
560 (WebCore::createInjectedScriptHostV8Wrapper):
561 (WebCore::InjectedScriptManager::canAccessInspectedWindow):
562 * bindings/v8/custom/V8LocationCustom.cpp:
563 (WebCore::V8Location::reloadAttrGetterCustom):
564 (WebCore::V8Location::replaceAttrGetterCustom):
565 (WebCore::V8Location::assignAttrGetterCustom):
566 * bindings/v8/custom/V8MessageEventCustom.cpp:
567 (WebCore::V8MessageEvent::initMessageEventMethodCustom):
569 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
571 Web Inspector: add Ace editor experiment
572 https://bugs.webkit.org/show_bug.cgi?id=111191
574 Reviewed by Pavel Feldman.
578 Add Ace text editor experiment.
581 * inspector/front-end/AceTextEditor.js: Added.
582 * inspector/front-end/Settings.js:
583 (WebInspector.ExperimentsSettings):
584 * inspector/front-end/SourceFrame.js:
585 (WebInspector.SourceFrame):
586 * inspector/front-end/ace/ace.js: Added.
587 * inspector/front-end/ace/acedevtools.css: Added.
588 * inspector/front-end/ace/mode_css.js: Added.
589 * inspector/front-end/ace/mode_html.js: Added.
590 * inspector/front-end/ace/mode_javascript.js: Added.
591 * inspector/front-end/ace/theme_textmate.js: Added.
592 * inspector/front-end/ace/LICENSE.txt: Added.
594 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
596 Add build flag for FontLoader
597 https://bugs.webkit.org/show_bug.cgi?id=111289
599 Reviewed by Benjamin Poulain.
601 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
603 * Configurations/FeatureDefines.xcconfig:
605 2013-03-04 Mike West <mkwst@chromium.org>
607 XSSAuditor should strip dangerous attributes from SMIL animation elements.
608 https://bugs.webkit.org/show_bug.cgi?id=111071
610 Reviewed by Adam Barth.
612 SMIL animation elements can, amusingly enough, animate the 'href' of a
613 link. This patch teaches XSSAuditor how to deal with the
614 semicolon-separated 'animation[values]' attribute in order to ensure
615 that it doesn't contain JavaScript URLs that could be animated into
616 place for an unsuspecting user to click on.
618 Test: http/tests/security/xssAuditor/svg-animate.html
620 * html/parser/XSSAuditor.cpp:
621 (WebCore::isSemicolonSeparatedAttribute): Added.
622 This returns true if the given attribute is SVGNames::valuesAttr,
623 but makes it possible to easily extend the list with additional
624 attributes with this strange property.
625 (WebCore::semicolonSeparatedValueContainsJavaScriptURL): Added.
626 Given a semicolon-separated string, determine if it contains any
628 (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
629 When looking for dangerousness, determine whether or not we should
630 be comparing against each member of a semicolon-separated list.
632 2013-03-04 Arvid Nilsson <anilsson@rim.com>
634 [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
635 https://bugs.webkit.org/show_bug.cgi?id=111153
637 Reviewed by Rob Buis.
641 This patch contains contributions from many members of the BlackBerry
659 Covered by existing tests.
661 * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
665 (WebCore::Font::drawComplexText):
666 (WebCore::Font::floatWidthForComplexText):
667 (WebCore::Font::offsetForPositionForComplexText):
668 (WebCore::Font::selectionRectForComplexText):
669 (WebCore::Font::drawGlyphs):
670 (WebCore::Font::canReturnFallbackFontsForComplexText):
671 (WebCore::Font::drawEmphasisMarksForComplexText):
672 (WebCore::Font::canExpandAroundIdeographsInComplexText):
673 * platform/graphics/blackberry/FontCacheBlackBerry.cpp: Added.
675 (WebCore::FontCache::platformInit):
676 (WebCore::FontCache::getFontDataForCharacters):
677 (WebCore::FontCache::getSimilarFontPlatformData):
678 (WebCore::FontCache::getLastResortFallbackFont):
679 (WebCore::FontCache::getTraitsInFamily):
680 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
681 (WebCore::fontWeightToFontconfigWeight):
682 (WebCore::FontCache::createFontPlatformData):
683 * platform/graphics/blackberry/FontCustomPlatformData.h: Added.
685 (FontCustomPlatformData):
686 * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
688 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
689 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
690 (WebCore::FontCustomPlatformData::fontPlatformData):
691 (WebCore::FontCustomPlatformData::supportsFormat):
692 (WebCore::createFontCustomPlatformData):
693 * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: Added.
695 (WebCore::FontPlatformData::FontPlatformData):
696 (WebCore::FontPlatformData::~FontPlatformData):
697 (WebCore::FontPlatformData::name):
698 (WebCore::FontPlatformData::applyState):
699 (WebCore::FontPlatformData::platformDataInit):
700 (WebCore::FontPlatformData::platformDataAssign):
701 (WebCore::FontPlatformData::platformIsEqual):
702 (WebCore::FontPlatformData::description):
703 (WebCore::FontPlatformData::harfbuzzFace):
704 (WebCore::FontPlatformData::scaledFont):
705 (WebCore::FontPlatformData::setFakeBold):
706 (WebCore::FontPlatformData::setFakeItalic):
707 (WebCore::FontPlatformData::platformFontHandle):
708 (WebCore::FontPlatformData::isFixedPitch):
709 * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp: Added.
711 (WorldTypeScopedPtr):
712 (WebCore::WorldTypeScopedPtr::WorldTypeScopedPtr):
713 (WebCore::WorldTypeScopedPtr::~WorldTypeScopedPtr):
714 (WebCore::WorldTypeScopedPtr::get):
715 (WebCore::GlyphPage::fill):
716 * platform/graphics/blackberry/GradientBlackBerry.cpp: Added.
718 (WebCore::totalStopsNeeded):
719 (WebCore::fillStops):
720 (WebCore::Gradient::platformGradient):
721 (WebCore::Gradient::platformDestroy):
722 (WebCore::Gradient::fill):
723 (WebCore::Gradient::setPlatformGradientSpaceTransform):
724 * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp: Added.
726 (GraphicsContextPlatformPrivate):
727 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
728 (WebCore::GraphicsContext::platformInit):
729 (WebCore::GraphicsContext::platformDestroy):
730 (WebCore::GraphicsContext::platformContext):
731 (WebCore::GraphicsContext::savePlatformState):
732 (WebCore::GraphicsContext::restorePlatformState):
733 (WebCore::GraphicsContext::setIsAcceleratedContext):
734 (WebCore::GraphicsContext::isAcceleratedContext):
735 (WebCore::GraphicsContext::getCTM):
736 (WebCore::GraphicsContext::concatCTM):
737 (WebCore::GraphicsContext::setCTM):
738 (WebCore::GraphicsContext::scale):
739 (WebCore::GraphicsContext::rotate):
740 (WebCore::GraphicsContext::translate):
741 (WebCore::GraphicsContext::drawEllipse):
742 (WebCore::GraphicsContext::strokeArc):
743 (WebCore::GraphicsContext::drawConvexPolygon):
744 (WebCore::GraphicsContext::drawRect):
745 (WebCore::GraphicsContext::fillRect):
746 (WebCore::GraphicsContext::clearRect):
747 (WebCore::GraphicsContext::strokeRect):
748 (WebCore::GraphicsContext::fillRoundedRect):
749 (WebCore::GraphicsContext::roundToDevicePixels):
750 (WebCore::GraphicsContext::setPlatformShadow):
751 (WebCore::GraphicsContext::clearPlatformShadow):
752 (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
753 (WebCore::GraphicsContext::endPlatformTransparencyLayer):
754 (WebCore::GraphicsContext::supportsTransparencyLayers):
755 (WebCore::GraphicsContext::setLineCap):
756 (WebCore::GraphicsContext::setLineDash):
757 (WebCore::GraphicsContext::setLineJoin):
758 (WebCore::GraphicsContext::setMiterLimit):
759 (WebCore::GraphicsContext::setAlpha):
760 (WebCore::GraphicsContext::clip):
761 (WebCore::GraphicsContext::clipOut):
762 (WebCore::GraphicsContext::clipConvexPolygon):
763 (WebCore::GraphicsContext::addRoundedRectClip):
764 (WebCore::GraphicsContext::clipOutRoundedRect):
765 (WebCore::GraphicsContext::clipBounds):
766 (WebCore::GraphicsContext::addInnerRoundedRectClip):
767 (WebCore::GraphicsContext::setURLForRect):
768 (WebCore::GraphicsContext::setPlatformTextDrawingMode):
769 (WebCore::GraphicsContext::setPlatformStrokeColor):
770 (WebCore::GraphicsContext::setPlatformStrokeStyle):
771 (WebCore::GraphicsContext::setPlatformStrokeThickness):
772 (WebCore::GraphicsContext::setPlatformFillColor):
773 (WebCore::GraphicsContext::setPlatformCompositeOperation):
774 (WebCore::GraphicsContext::setPlatformShouldAntialias):
775 (WebCore::GraphicsContext::setImageInterpolationQuality):
776 (WebCore::GraphicsContext::imageInterpolationQuality):
777 * platform/graphics/blackberry/ITypeUtils.h: Added.
781 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
783 (WebCore::makeBufferCurrent):
784 (WebCore::getImageDataInternal):
785 (WebCore::ImageBufferData::getImageData):
786 (WebCore::flushAndDraw):
787 (WebCore::ImageBufferData::draw):
788 (WebCore::ImageBuffer::ImageBuffer):
789 (WebCore::ImageBuffer::~ImageBuffer):
790 (WebCore::ImageBuffer::context):
791 (WebCore::ImageBuffer::platformLayer):
792 (WebCore::ImageBuffer::copyImage):
793 (WebCore::ImageBuffer::clip):
794 (WebCore::ImageBuffer::draw):
795 (WebCore::ImageBuffer::drawPattern):
796 (WebCore::ImageBuffer::platformTransformColorSpace):
797 (WebCore::ImageBuffer::getUnmultipliedImageData):
798 (WebCore::ImageBuffer::getPremultipliedImageData):
799 (WebCore::ImageBuffer::putByteArray):
800 (WebCore::ImageBuffer::toDataURL):
801 * platform/graphics/blackberry/ImageBufferDataBlackBerry.h: Added.
804 * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
806 (WebCore::scratchContext):
807 (WebCore::Path::Path):
808 (WebCore::Path::~Path):
809 (WebCore::Path::operator=):
810 (WebCore::Path::currentPoint):
811 (WebCore::Path::contains):
812 (WebCore::Path::strokeContains):
813 (WebCore::Path::translate):
814 (WebCore::Path::boundingRect):
815 (WebCore::Path::strokeBoundingRect):
816 (WebCore::Path::moveTo):
817 (WebCore::Path::addLineTo):
818 (WebCore::Path::addQuadCurveTo):
819 (WebCore::Path::addBezierCurveTo):
820 (WebCore::Path::addArcTo):
821 (WebCore::Path::closeSubpath):
822 (WebCore::Path::addArc):
823 (WebCore::Path::addRect):
824 (WebCore::Path::addEllipse):
825 (WebCore::Path::platformAddPathForRoundedRect):
826 (WebCore::Path::clear):
827 (WebCore::Path::isEmpty):
828 (WebCore::Path::hasCurrentPoint):
829 (WebCore::Path::apply):
830 (WebCore::Path::transform):
831 (WebCore::GraphicsContext::fillPath):
832 (WebCore::GraphicsContext::strokePath):
833 (WebCore::GraphicsContext::drawFocusRing):
834 (WebCore::GraphicsContext::drawLine):
835 (WebCore::GraphicsContext::drawLineForDocumentMarker):
836 (WebCore::GraphicsContext::drawLineForText):
837 (WebCore::GraphicsContext::clip):
838 (WebCore::GraphicsContext::clipPath):
839 (WebCore::GraphicsContext::canvasClip):
840 (WebCore::GraphicsContext::clipOut):
841 * platform/graphics/blackberry/PatternBlackBerry.cpp: Added.
843 (WebCore::Pattern::platformDestroy):
844 (WebCore::Pattern::platformPattern):
845 (WebCore::Pattern::setPlatformPatternSpaceTransform):
846 * platform/graphics/blackberry/PlatformSupport.cpp: Added.
848 (WebCore::PlatformSupport::getFontFamilyForCharacters):
849 * platform/graphics/blackberry/PlatformSupport.h: Added.
853 * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
855 (WebCore::FSFixedToFloat):
856 (WebCore::SimpleFontData::platformInit):
857 (WebCore::SimpleFontData::platformCharWidthInit):
858 (WebCore::SimpleFontData::platformDestroy):
859 (WebCore::SimpleFontData::createScaledFontData):
860 (WebCore::SimpleFontData::smallCapsFontData):
861 (WebCore::SimpleFontData::emphasisMarkFontData):
862 (WebCore::SimpleFontData::containsCharacters):
863 (WebCore::SimpleFontData::determinePitch):
864 (WebCore::SimpleFontData::platformBoundsForGlyph):
865 (WebCore::SimpleFontData::platformWidthForGlyph):
866 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
868 2013-03-04 Adam Bergkvist <adam.bergkvist@ericsson.com>
870 MediaStream API: local addTrack() and removeTrack() operations should not fire events.
871 https://bugs.webkit.org/show_bug.cgi?id=111079
873 Reviewed by Adam Barth.
875 Removed the scheduling of "addtrack" and "removetrack" events by
876 addTrack and removeTrack(). Replaced the test since the old test was
877 driven by the event firing removed by this patch.
879 Test: fast/mediastream/MediaStream-add-remove-tracks.html
881 * Modules/mediastream/MediaStream.cpp:
882 (WebCore::MediaStream::addTrack):
883 (WebCore::MediaStream::removeTrack):
885 2013-03-04 Alexander Pavlov <apavlov@chromium.org>
887 Web Inspector: touchmove not emulated inside iframe
888 https://bugs.webkit.org/show_bug.cgi?id=111292
890 Reviewed by Vsevolod Vlasov.
892 Move fake touch event dispatching from mouseMoved() into handleMouseMoveEvent()
893 and bail out earlier from dispatchSyntheticTouchEventIfEnabled() when the event
894 should be dispatched on a subframe.
896 * page/EventHandler.cpp:
897 (WebCore::EventHandler::mouseMoved):
898 (WebCore::EventHandler::handleMouseMoveEvent):
899 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
901 2013-03-04 Mike West <mkwst@chromium.org>
903 Long URLs in error messages should be shortened
904 https://bugs.webkit.org/show_bug.cgi?id=111133
906 Reviewed by Jochen Eisinger.
908 When generating console messages, we're often copying the page's URL
909 in order to add detail about where the error occurred. Generally, this
910 is fine, but in edge cases (multi-meg 'data:' URLs), we're using far
911 more memory than we should, and impacting performance.
913 This patch adds an 'elidedString()' method to KURL for use in this
914 sort of case; when generating console messages, we should insert the
915 elided URL rather than the full URL.
917 This shouldn't change any visible behavior; we're already visually
918 eliding URLs in console messages for URLs above 150 characters. This
919 patch simply changes the underlying string to ensure that no URL is
920 over 1k in length to begin with.
923 (WebCore::KURL::elidedString): Added.
925 An exciting new method that gives you the same result as string()
926 for URLs less than 1k long, and elides the middle of URLs longer
927 than 1k by replacing everything but the first and last 0.5k with
929 * bindings/ScriptControllerBase.cpp:
930 (WebCore::ScriptController::canExecuteScripts):
931 * Modules/websockets/WebSocket.cpp:
932 (WebCore::WebSocket::connect):
933 (WebCore::WebSocket::send):
934 * Modules/websockets/WebSocketChannel.cpp:
935 (WebCore::WebSocketChannel::send):
936 (WebCore::WebSocketChannel::fail):
937 * bindings/ScriptControllerBase.cpp:
938 (WebCore::ScriptController::canExecuteScripts):
940 (WebCore::Document::processHttpEquiv):
941 * dom/ScriptElement.cpp:
942 (WebCore::ScriptElement::executeScript):
943 * html/HTMLMediaElement.cpp:
944 (WebCore::HTMLMediaElement::canPlayType):
945 (WebCore::HTMLMediaElement::isSafeToLoadURL):
946 * loader/FrameLoader.cpp:
947 (WebCore::FrameLoader::submitForm):
948 (WebCore::FrameLoader::loadFrameRequest):
949 (WebCore::FrameLoader::commitProvisionalLoad):
950 (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
951 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
952 (WebCore::createWindow):
953 * loader/MainResourceLoader.cpp:
954 (WebCore::MainResourceLoader::willSendRequest):
955 (WebCore::MainResourceLoader::responseReceived):
956 * loader/appcache/ApplicationCacheGroup.cpp:
957 (WebCore::ApplicationCacheGroup::didReceiveResponse):
958 (WebCore::ApplicationCacheGroup::didFail):
959 * loader/cache/CachedResourceLoader.cpp:
960 (WebCore::CachedResourceLoader::canRequest):
961 (WebCore::CachedResourceLoader::requestResource):
962 (WebCore::CachedResourceLoader::loadResource):
963 (WebCore::CachedResourceLoader::printAccessDeniedMessage):
964 * page/ContentSecurityPolicy.cpp:
965 (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
966 (WebCore::CSPDirectiveList::allowScriptNonce):
967 (WebCore::CSPDirectiveList::allowPluginType):
968 Use 'KURL::elidedString()' rather than 'KURL::string()'
969 * loader/MixedContentChecker.cpp:
970 (WebCore::MixedContentChecker::logWarning):
971 Here, we're doing the same as above, but it enables us to throw
972 away the asUTF8() function entirely by switching to makeString
973 rather than String::format.
975 2013-03-04 Andrey Lushnikov <lushnikov@chromium.org>
977 Web Inspector: add runtime flag to determine if inspector's source files were flattened.
978 https://bugs.webkit.org/show_bug.cgi?id=111184
980 Reviewed by Pavel Feldman.
982 - Add a file "buildSystemOnly.js" which will be included into
983 devtools.html only by GYP build system. This script sets a single flag
984 which essentially means that inspector source files were run
985 through a build system and flattened.
986 - Update "importScript" and "registerRequiredCSS" functions to correct
987 paths according to the "flattenImports" flag.
989 No new tests: no change in behaviour.
992 * inspector/front-end/CodeMirrorTextEditor.js:
993 (WebInspector.CodeMirrorTextEditor):
994 * inspector/front-end/View.js:
995 (WebInspector.View.prototype.registerRequiredCSS):
996 * inspector/front-end/buildSystemOnly.js: Added.
997 * inspector/front-end/utilities.js:
999 2013-03-04 Vsevolod Vlasov <vsevik@chromium.org>
1001 Web Inspector: Fix front-end compilation
1002 https://bugs.webkit.org/show_bug.cgi?id=111286
1004 Reviewed by Alexander Pavlov.
1006 * inspector/InjectedScriptSource.js:
1007 * inspector/front-end/FileSystemProjectDelegate.js:
1008 * inspector/front-end/NavigatorView.js:
1009 (WebInspector.NavigatorView.prototype.removeUISourceCode):
1010 (WebInspector.NavigatorTreeNode.prototype.reset):
1011 (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
1013 2013-03-03 Kondapally Kalyan <kalyan.kondapally@intel.com>
1015 [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
1016 https://bugs.webkit.org/show_bug.cgi?id=108034
1018 Reviewed by Laszlo Gombos.
1020 Covered by existing WebGL tests.
1022 Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
1023 is identified during compile time. This is ok, when using GLX. We might not
1024 have support for XCompositeWindow when using EGL and GLES2.0. This patch
1025 makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
1026 GLX guard to the parts of code dependent on XCompositeWindow support.
1028 * platform/graphics/opengl/GLPlatformSurface.cpp:
1029 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
1030 (WebCore::GLXConfigSelector::findMatchingConfig):
1031 * platform/graphics/surfaces/glx/X11Helper.cpp:
1032 (WebCore::X11Helper::createOffScreenWindow):
1033 (WebCore::X11Helper::isXRenderExtensionSupported):
1034 * platform/graphics/surfaces/glx/X11Helper.h:
1036 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
1038 Web Inspector: [PageAgent] can't find frame by security origin.
1039 https://bugs.webkit.org/show_bug.cgi?id=110849
1041 Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
1043 Reviewed by Vsevolod Vlasov.
1045 * inspector/InspectorPageAgent.cpp:
1046 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
1048 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
1050 Unreviewed, rolling out r144455.
1051 http://trac.webkit.org/changeset/144455
1052 https://bugs.webkit.org/show_bug.cgi?id=111165
1054 A simpler solution to the SecurityOrigin -> localStorage
1057 * inspector/front-end/DOMStorage.js:
1058 (WebInspector.DOMStorage.storageId):
1059 (WebInspector.DOMStorage.prototype.get id):
1060 (WebInspector.DOMStorage.prototype.getItems):
1061 (WebInspector.DOMStorage.prototype.setItem):
1062 (WebInspector.DOMStorage.prototype.removeItem):
1063 (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
1064 (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
1065 (WebInspector.DOMStorageModel.prototype._storageKey):
1066 * inspector/front-end/ExtensionAuditCategory.js:
1067 * inspector/front-end/FileSystemModel.js:
1068 (WebInspector.FileSystemModel.prototype._reset):
1069 (WebInspector.FileSystemModel.prototype._securityOriginAdded):
1070 (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
1071 (WebInspector.FileSystemModel.prototype._addOrigin):
1072 (WebInspector.FileSystemModel.prototype._removeOrigin):
1073 (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
1074 (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
1075 (WebInspector.FileSystemModel.prototype._removeFileSystem):
1076 (WebInspector.FileSystemModel.FileSystem.prototype.get name):
1077 * inspector/front-end/IndexedDBModel.js:
1078 (WebInspector.IndexedDBModel.prototype._reset):
1079 (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
1080 (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
1081 (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
1082 (WebInspector.IndexedDBModel.prototype._addOrigin):
1083 (WebInspector.IndexedDBModel.prototype._removeOrigin):
1084 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
1085 (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
1086 (WebInspector.IndexedDBModel.prototype._loadDatabase):
1087 (WebInspector.IndexedDBModel.prototype.):
1088 (WebInspector.IndexedDBModel.prototype._requestData):
1089 (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
1090 * inspector/front-end/IndexedDBViews.js:
1091 (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
1092 * inspector/front-end/ResourceTreeModel.js:
1093 (WebInspector.ResourceTreeModel):
1094 (WebInspector.ResourceTreeModel.prototype._addFrame):
1095 (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
1096 (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
1097 (WebInspector.ResourceTreeModel.prototype.securityOrigins):
1098 (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
1099 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
1100 (WebInspector.ResourceTreeModel.prototype._frameDetached):
1101 (WebInspector.ResourceTreeFrame):
1102 (WebInspector.ResourceTreeFrame.prototype._navigate):
1103 * inspector/front-end/ResourcesPanel.js:
1104 (WebInspector.IDBDatabaseTreeElement):
1105 (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
1106 (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
1107 (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
1108 (WebInspector.DOMStorageTreeElement):
1109 (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
1110 (WebInspector.FileSystemTreeElement):
1112 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
1114 Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
1115 https://bugs.webkit.org/show_bug.cgi?id=110133
1117 Reviewed by Pavel Feldman.
1119 We now check if file system based uiSourceCode content was updated externally when
1120 UISourceCodeFrame is shown or inspector window is focused.
1121 If there is no working copy being edited right now we replace old content with the new one silently.
1122 Otherwise ask user if he wants to replace his working copy with the new content.
1124 * English.lproj/localizedStrings.js:
1125 * WebCore.vcproj/WebCore.vcproj:
1126 * inspector/front-end/DefaultTextEditor.js:
1127 (WebInspector.DefaultTextEditor.prototype.editRange):
1128 * inspector/front-end/FileSystemProjectDelegate.js:
1129 (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
1130 (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
1131 (WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
1132 (WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
1133 (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
1134 (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
1135 * inspector/front-end/JavaScriptSourceFrame.js:
1136 (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
1137 (WebInspector.JavaScriptSourceFrame.prototype.willHide):
1138 * inspector/front-end/SimpleWorkspaceProvider.js:
1139 (WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
1140 * inspector/front-end/SourceFrame.js:
1141 (WebInspector.SourceFrame.prototype.setContent):
1142 * inspector/front-end/UISourceCode.js:
1143 (WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
1144 (WebInspector.UISourceCode.prototype.checkContentUpdated):
1145 * inspector/front-end/UISourceCodeFrame.js:
1146 (WebInspector.UISourceCodeFrame.prototype.wasShown):
1147 (WebInspector.UISourceCodeFrame.prototype.willHide):
1148 (WebInspector.UISourceCodeFrame.prototype._windowFocused):
1149 (WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
1150 * inspector/front-end/Workspace.js:
1151 (WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
1152 (WebInspector.Project.prototype.requestUpdatedFileContent):
1154 2013-03-03 Arpita Bahuguna <a.bah@samsung.com>
1156 createAttribute/setAttributeNode does not properly normalize case
1157 https://bugs.webkit.org/show_bug.cgi?id=90341
1159 Reviewed by Darin Adler.
1161 setAttributeNode() verifies for existing attributes in a case sensitive
1162 manner. Thus, it would add another attribute if specified in a case
1163 different from the existing one. Instead, like setAttribute(), it too
1164 should modify the existing attribute's value.
1166 Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
1169 (WebCore::Element::setAttributeNode):
1170 Made changes to check for an existing attribute by converting the
1171 specified attribute's localName to lowercase.
1173 2013-03-03 Kentaro Hara <haraken@chromium.org>
1175 Unreviewed. Rebaselined run-bindings-tests.
1177 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1178 (WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
1179 (TestActiveDOMObjectV8Internal):
1180 (WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
1181 (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1182 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1183 (V8TestActiveDOMObject):
1185 2013-03-03 Kentaro Hara <haraken@chromium.org>
1187 Unreviewed build fix after r144590.
1189 * bindings/scripts/CodeGeneratorV8.pm:
1190 (GenerateSecurityCheckFunctions):
1192 2013-03-03 Kentaro Hara <haraken@chromium.org>
1194 Unreviewed build fix after r144587.
1196 * bindings/v8/V8Binding.cpp:
1197 (WebCore::toV8Context):
1198 * bindings/v8/V8MutationCallback.cpp:
1199 (WebCore::V8MutationCallback::V8MutationCallback):
1201 2013-03-01 Kentaro Hara <haraken@chromium.org>
1203 [V8] HTMLDocument.all should have [Replaceable]
1204 https://bugs.webkit.org/show_bug.cgi?id=111230
1206 Reviewed by Adam Barth.
1208 (Although HTMLDocument.all is already removed from the spec,)
1209 it is expected to behave as a [Replaceable] attribute. By adding
1210 a [Replaceable] IDL attribute, we can remove custom implementation
1211 of HTMLDocument.all.
1213 I confimed that exactly the same code is generated for .all getter
1216 No tests. No change in behavior.
1218 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1219 * html/HTMLDocument.idl:
1221 2013-03-01 Kentaro Hara <haraken@chromium.org>
1223 [V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
1224 https://bugs.webkit.org/show_bug.cgi?id=111225
1226 Reviewed by Adam Barth.
1228 indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
1229 except for DOMWindow's ones.
1231 No tests. No change in behavior.
1233 * bindings/scripts/CodeGeneratorV8.pm:
1235 (GenerateImplementation):
1236 (GenerateSecurityCheckFunctions):
1237 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1238 (WebCore::V8DOMWindow::namedSecurityCheckCustom):
1239 (WebCore::V8DOMWindow::indexedSecurityCheckCustom):
1240 * bindings/v8/custom/V8HistoryCustom.cpp:
1241 * bindings/v8/custom/V8LocationCustom.cpp:
1243 2013-03-01 Kentaro Hara <haraken@chromium.org>
1245 [V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
1246 https://bugs.webkit.org/show_bug.cgi?id=111214
1248 Reviewed by Adam Barth.
1250 $implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
1251 For clarification, it should be renamed to $implContentInternals.
1253 No tests. No change in behavior.
1255 * bindings/scripts/CodeGeneratorV8.pm:
1256 (GenerateDomainSafeFunctionGetter):
1257 (GenerateDomainSafeFunctionSetter):
1258 (GenerateConstructorGetter):
1259 (GenerateNormalAttrGetterCallback):
1260 (GenerateNormalAttrGetter):
1261 (GenerateReplaceableAttrSetterCallback):
1262 (GenerateReplaceableAttrSetter):
1263 (GenerateNormalAttrSetterCallback):
1264 (GenerateNormalAttrSetter):
1265 (GenerateOverloadedFunction):
1266 (GenerateFunctionCallback):
1268 (GenerateOverloadedConstructorCallback):
1269 (GenerateSingleConstructorCallback):
1270 (GenerateEventConstructor):
1271 (GenerateTypedArrayConstructor):
1272 (GenerateImplementation):
1275 2013-03-01 Kentaro Hara <haraken@chromium.org>
1277 [V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
1278 https://bugs.webkit.org/show_bug.cgi?id=111212
1280 Reviewed by Adam Barth.
1282 The rename I did in r142424 was wrong. Given that getWorld() returns 0
1283 for the main world, it should be named isolatedWorld(). Similarly,
1284 given that getWorldForEnteredContext() returns 0 for the main world,
1285 it should be named isolatedWorldForEnteredContext().
1287 No tests. No change in behavior.
1289 * bindings/v8/CustomElementHelpers.cpp:
1290 (WebCore::CustomElementHelpers::isFeatureAllowed):
1291 * bindings/v8/DOMDataStore.cpp:
1292 (WebCore::DOMDataStore::current):
1293 * bindings/v8/DOMWrapperWorld.cpp:
1294 (WebCore::DOMWrapperWorld::makeContextWeak):
1295 * bindings/v8/DOMWrapperWorld.h:
1296 (WebCore::DOMWrapperWorld::isolatedWorld):
1297 * bindings/v8/ScriptController.cpp:
1298 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
1299 (WebCore::ScriptController::currentWorldContext):
1300 * bindings/v8/V8Binding.h:
1301 (WebCore::isolatedWorldForEnteredContext):
1302 * bindings/v8/WorldContextHandle.cpp:
1303 (WebCore::WorldContextHandle::WorldContextHandle):
1304 * bindings/v8/custom/V8DocumentCustom.cpp:
1306 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1308 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1310 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1311 (WebCore::V8XMLHttpRequest::constructorCustom):
1313 2013-03-01 Kentaro Hara <haraken@chromium.org>
1315 [V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
1316 https://bugs.webkit.org/show_bug.cgi?id=111223
1318 Reviewed by Adam Barth.
1320 HTMLDocument::getNamedProperty() is used by DOMWindowShell.
1321 It can be a static method in DOMWindowShell.
1323 No tests. No change in behavior.
1325 * bindings/scripts/CodeGeneratorV8.pm:
1327 * bindings/v8/V8DOMWindowShell.cpp:
1328 (WebCore::getNamedProperty):
1331 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1333 2013-03-03 Dan Bernstein <mitz@apple.com>
1335 Build fix after r144565. Reverted r144533.
1337 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1339 2013-03-03 Adam Barth <abarth@webkit.org>
1341 Attempt to fix the Qt build after r144498
1342 https://bugs.webkit.org/show_bug.cgi?id=111272
1344 Reviewed by Eric Seidel.
1346 Update the Qt version of the XML parser to call the new API.
1348 * xml/parser/XMLDocumentParserQt.cpp:
1349 (WebCore::XMLDocumentParser::resumeParsing):
1350 (WebCore::XMLDocumentParser::appendFragmentSource):
1352 2013-03-03 Dean Jackson <dino@apple.com>
1354 Plug-ins that are appropriately large w.r.t page size should autostart
1355 https://bugs.webkit.org/show_bug.cgi?id=111242
1357 Reviewed by Brady Eidson.
1359 A "full-page" plug-in site should never snapshot. The trick is
1360 how to determine what is full-page. This change implements the
1361 following algorithm.
1363 - The plug-in is in the main frame (not an iframe).
1364 - The plug-in is sized with width and height 100%.
1365 - The displayed area of the plug-in is more than 96% of the viewport area.
1367 This is definitely not foolproof. For example, zombo.com has a slight
1368 border around its plug-in. As the window size gets smaller, the body margin
1369 takes up more than 5% of the width or height, and the plug-in doesn't pass
1372 * html/HTMLPlugInImageElement.cpp:
1373 (WebCore): New static constant: sizingFullPageThresholdPercentage
1374 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
1375 the rules described above.
1377 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
1379 [Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
1380 https://bugs.webkit.org/show_bug.cgi?id=111267
1382 Reviewed by Kentaro Hara.
1384 Allow empty definitions.
1386 * bindings/scripts/IDLParser.pm:
1389 2013-03-03 David Kilzer <ddkilzer@apple.com>
1391 BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
1393 Fixes the following build failures:
1395 In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
1396 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
1397 Vector<RefPtr<Element> > m_internalSVGReferences;
1399 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
1400 Vector<RefPtr<Element> > m_internalSVGReferences;
1402 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
1403 Vector<RefPtr<Element> > m_internalSVGReferences;
1407 * rendering/RenderLayerFilterInfo.h: Include Element.h within
1408 ENABLE(SVG). Move ENABLE(SVG) block below unconditional
1411 2013-03-03 Sheriff Bot <webkit.review.bot@gmail.com>
1413 Unreviewed, rolling out r144567.
1414 http://trac.webkit.org/changeset/144567
1415 https://bugs.webkit.org/show_bug.cgi?id=111266
1417 Does not compile on apple-win (Requested by abarth on
1422 (WebCore::Document::iconURLs):
1425 * loader/icon/IconController.cpp:
1426 (WebCore::IconController::iconURL):
1427 (WebCore::IconController::urlsForTypes):
1428 * loader/icon/IconController.h:
1430 * testing/Internals.cpp:
1431 (WebCore::Internals::iconURLs):
1432 * testing/Internals.h:
1433 * testing/Internals.idl:
1435 2013-03-03 Mike West <mkwst@chromium.org>
1437 CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
1438 https://bugs.webkit.org/show_bug.cgi?id=111254
1440 Reviewed by Adam Barth.
1442 We'd like to ensure that early adopters don't get stuck on a prefixed
1443 header; when CSP 1.1 is baked enough to be supported in multiple
1444 browsers, everything should Just Workâ„¢.
1446 This patch changes WebKit's behavior regarding CSP_NEXT features.
1447 Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
1448 This patch exposes those features on the canonical header, assuming
1449 that the runtime flag is set. This shouldn't have any effect at all on
1450 ports that haven't yet enabled CSP_NEXT, and will simply clear the way
1451 for a clean deployment to a wider audience once the specification
1452 process is further along.
1454 This change shouldn't have any effect on the existing tests: they
1455 should run just as they did before. The next step will be to adjust
1456 the LayoutTests for 1.1 to prefer the canonical header, but I'll do
1457 that in another patch to reduce churn.
1459 Related, the enum names no longer made sense: the difference between the
1460 canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
1461 prefix, not the functionality. This patch renames them for clarity.
1464 (WebCore::Document::processHttpEquiv):
1465 * loader/FrameLoader.cpp:
1466 (WebCore::FrameLoader::didBeginDocument):
1467 Use the new enum names.
1468 * page/ContentSecurityPolicy.cpp:
1470 (WebCore::CSPDirectiveList::CSPDirectiveList):
1471 (WebCore::CSPDirectiveList::addDirective):
1472 Drop the 'm_experimental' property from CSPDirectiveList; we'll
1473 control the behavior via the runtime flag from now on.
1475 Also, this fixes a small bug in 'addDirective()': we never threw
1476 unrecognized directive errors for users who were sending the
1477 prefixed header. Oops!
1478 (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
1479 Use the new enum names.
1480 * page/ContentSecurityPolicy.h:
1481 Redefine the enum for clarity: 'PrefixedReport' and 'Report'
1482 rather than 'ReportAllDirectives' and 'ReportStableDirectives'.
1484 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
1486 Another Windows build fix attempt after r144567.
1487 Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
1489 * testing/Internals.idl:
1491 2013-03-03 Adam Barth <abarth@webkit.org>
1493 Unreviewed attempted build fix. Adds back some includes removed in
1494 http://trac.webkit.org/changeset/144565.
1496 * Modules/mediastream/RTCPeerConnection.cpp:
1497 * bindings/ScriptControllerBase.cpp:
1498 * bindings/objc/DOM.mm:
1499 * bindings/v8/ScriptController.cpp:
1500 * bindings/v8/V8DOMWindowShell.cpp:
1501 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1502 * css/CSSFontSelector.cpp:
1503 * css/WebKitCSSSVGDocumentValue.cpp:
1504 * dom/DOMImplementation.cpp:
1505 * dom/PendingScript.h:
1506 * dom/ScriptElement.cpp:
1507 * dom/ScriptElement.h:
1508 * history/CachedFrame.cpp:
1510 * html/HTMLAnchorElement.cpp:
1511 * html/HTMLAppletElement.cpp:
1512 * html/HTMLElement.cpp:
1513 * html/HTMLEmbedElement.cpp:
1514 * html/HTMLFrameSetElement.cpp:
1515 * html/HTMLHtmlElement.cpp:
1516 * html/HTMLImageElement.cpp:
1517 * html/HTMLObjectElement.cpp:
1518 * html/HTMLPlugInElement.cpp:
1519 * html/ImageDocument.cpp:
1520 * html/ImageInputType.cpp:
1521 * html/MediaDocument.cpp:
1522 * html/PluginDocument.cpp:
1523 * html/canvas/WebGLRenderingContext.cpp:
1525 * html/parser/HTMLConstructionSite.cpp:
1526 * html/parser/HTMLParserOptions.cpp:
1527 * html/parser/XSSAuditorDelegate.cpp:
1528 * inspector/InspectorDebuggerAgent.cpp:
1529 * inspector/InspectorFileSystemAgent.cpp:
1530 * inspector/InspectorFrontendHost.cpp:
1531 * inspector/InspectorInstrumentation.h:
1532 * inspector/InspectorPageAgent.cpp:
1533 * inspector/NetworkResourcesData.cpp:
1534 * inspector/NetworkResourcesData.h:
1536 * loader/CookieJar.cpp:
1537 * loader/CrossOriginAccessControl.cpp:
1538 * loader/FrameLoader.cpp:
1539 * loader/MainResourceLoader.cpp:
1540 * loader/MixedContentChecker.cpp:
1541 * loader/PingLoader.cpp:
1542 * loader/SubframeLoader.cpp:
1543 * loader/SubresourceLoader.cpp:
1544 * loader/appcache/ApplicationCacheGroup.cpp:
1545 * loader/appcache/ApplicationCacheHost.cpp:
1546 * loader/cache/CachedResource.cpp:
1547 * loader/icon/IconController.cpp:
1548 * page/DOMWindowExtension.cpp:
1550 * page/PerformanceTiming.cpp:
1551 * page/PointerLockController.cpp:
1552 * page/animation/CSSPropertyAnimation.cpp:
1553 * platform/chromium/PasteboardChromium.cpp:
1554 * platform/efl/ErrorsEfl.cpp:
1555 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1556 * platform/gtk/ErrorsGtk.cpp:
1557 * platform/gtk/PasteboardGtk.cpp:
1558 * platform/gtk/PasteboardHelper.h:
1559 * platform/mac/ClipboardMac.mm:
1560 * platform/mac/HTMLConverter.mm:
1561 * platform/qt/PasteboardQt.cpp:
1562 * plugins/DOMMimeType.cpp:
1563 * plugins/PluginView.cpp:
1564 * rendering/HitTestResult.cpp:
1565 * rendering/RenderImage.cpp:
1566 * rendering/RenderImageResource.cpp:
1567 * rendering/RenderImageResourceStyleImage.cpp:
1568 * rendering/RenderLayer.cpp:
1569 * rendering/RenderLayerBacking.cpp:
1570 * svg/SVGImageLoader.cpp:
1571 * svg/SVGUseElement.cpp:
1572 * testing/MockPagePopupDriver.cpp:
1573 * xml/XSLStyleSheet.h:
1576 2013-03-03 Ruslan Abdikeev <aruslan@chromium.org>
1578 <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
1579 https://bugs.webkit.org/show_bug.cgi?id=109061
1581 Reviewed by Adam Barth.
1583 Test: fast/dom/icon-url-list-apple-touch.html
1585 Added iconTypes parameter to Document::iconURLs().
1586 Added Document::shortcutIconURLs() with original semantics of iconURLs().
1587 Fixed IconController.cpp to provide iconTypesMask to iconURLs().
1588 Renamed iconTypes to iconTypesMask to make the meaning clearer.
1592 (WebCore::Document::shortcutIconURLs):
1594 (WebCore::Document::iconURLs):
1597 * loader/icon/IconController.cpp:
1598 (WebCore::IconController::iconURL):
1599 (WebCore::IconController::urlsForTypes):
1600 * testing/Internals.cpp:
1601 (WebCore::Internals::iconURLs):
1602 (WebCore::Internals::shortcutIconURLs):
1604 (WebCore::Internals::allIconURLs):
1605 * testing/Internals.h:
1606 * testing/Internals.idl:
1608 2013-03-03 Mike West <mkwst@chromium.org>
1610 CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
1611 https://bugs.webkit.org/show_bug.cgi?id=111208
1613 Reviewed by Adam Barth.
1615 Developers in the wild have been observed to serve a report-only CSP
1616 header with a policy that doesn't contain a 'report-uri' directive.
1617 This has zero effect, of course, and we should help them understand
1618 that by throwing a warning up on the console.
1620 Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
1622 * page/ContentSecurityPolicy.cpp:
1623 (WebCore::CSPDirectiveList::isReportOnly): Added.
1624 (WebCore::CSPDirectiveList::reportURIs): Added.
1625 (WebCore::CSPDirectiveList::create):
1626 After creating a CSPDirectiveList, check whether it's in
1627 report-only mode without a report-uri. If so, warn the developer.
1628 (WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
1629 Write an exciting message to the console, warning the developer
1630 about her expensive no-op machine.
1632 2013-03-03 Adam Barth <abarth@webkit.org>
1634 Unreviewed rollout of http://trac.webkit.org/r144530
1635 As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
1636 https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
1637 large number of ASSERTs in chromium-win.
1640 * GNUmakefile.list.am:
1641 * Modules/mediastream/RTCPeerConnection.cpp:
1642 * Modules/notifications/Notification.cpp:
1646 * WebCore.vcproj/WebCore.vcproj:
1647 * WebCore.vcxproj/WebCore.vcxproj:
1648 * WebCore.vcxproj/WebCore.vcxproj.filters:
1649 * WebCore.xcodeproj/project.pbxproj:
1650 * bindings/ScriptControllerBase.cpp:
1651 * bindings/js/JSNodeCustom.cpp:
1652 * bindings/js/ScriptController.cpp:
1653 * bindings/js/ScriptSourceCode.h:
1655 * bindings/objc/DOM.mm:
1656 * bindings/v8/ScriptController.cpp:
1657 * bindings/v8/V8DOMWindowShell.cpp:
1658 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1659 * css/CSSCrossfadeValue.h:
1660 (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1661 (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
1662 * css/CSSFontFaceSource.h:
1663 * css/CSSFontSelector.cpp:
1664 * css/WebKitCSSSVGDocumentValue.cpp:
1665 * css/WebKitCSSSVGDocumentValue.h:
1667 * dom/Clipboard.cpp:
1668 (WebCore::Clipboard::Clipboard):
1669 * dom/ContainerNode.cpp:
1670 * dom/DOMImplementation.cpp:
1671 * dom/PendingScript.h:
1672 * dom/ScriptElement.cpp:
1673 * dom/ScriptElement.h:
1674 * history/CachedFrame.cpp:
1676 * html/HTMLAnchorElement.cpp:
1677 * html/HTMLAppletElement.cpp:
1678 * html/HTMLElement.cpp:
1679 * html/HTMLEmbedElement.cpp:
1680 * html/HTMLFrameSetElement.cpp:
1681 * html/HTMLHtmlElement.cpp:
1682 * html/HTMLImageElement.cpp:
1683 * html/HTMLObjectElement.cpp:
1684 * html/HTMLPlugInElement.cpp:
1685 * html/ImageDocument.cpp:
1686 * html/ImageInputType.cpp:
1687 * html/MediaDocument.cpp:
1688 * html/PluginDocument.cpp:
1689 * html/canvas/WebGLRenderingContext.cpp:
1691 * html/parser/HTMLConstructionSite.cpp:
1692 * html/parser/HTMLParserOptions.cpp:
1693 * html/parser/HTMLScriptRunner.h:
1694 * html/parser/XSSAuditor.cpp:
1695 * html/parser/XSSAuditorDelegate.cpp:
1696 * inspector/InspectorDebuggerAgent.cpp:
1697 * inspector/InspectorFileSystemAgent.cpp:
1698 * inspector/InspectorFrontendHost.cpp:
1699 * inspector/InspectorInstrumentation.h:
1701 * inspector/InspectorPageAgent.cpp:
1702 * inspector/NetworkResourcesData.cpp:
1703 * inspector/NetworkResourcesData.h:
1705 * loader/CookieJar.cpp:
1706 * loader/CrossOriginAccessControl.cpp:
1707 * loader/CrossOriginAccessControl.h:
1709 * loader/CrossOriginPreflightResultCache.h:
1710 * loader/DocumentThreadableLoader.h:
1711 * loader/FrameLoader.cpp:
1712 (WebCore::FrameLoader::FrameLoader):
1713 * loader/FrameLoader.h:
1715 (WebCore::FrameLoader::policyChecker):
1716 * loader/ImageLoader.cpp:
1717 * loader/ImageLoader.h:
1718 * loader/LinkLoader.h:
1720 * loader/MainResourceLoader.cpp:
1721 * loader/MainResourceLoader.h:
1723 * loader/MixedContentChecker.cpp:
1724 * loader/PingLoader.cpp:
1725 * loader/PolicyChecker.h:
1727 * loader/ProgressTracker.cpp:
1728 * loader/SubframeLoader.cpp:
1729 * loader/SubresourceLoader.cpp:
1730 * loader/TextTrackLoader.cpp:
1731 * loader/TextTrackLoader.h:
1733 * loader/ThreadableLoader.h:
1734 * loader/appcache/ApplicationCacheGroup.cpp:
1735 * loader/appcache/ApplicationCacheGroup.h:
1737 * loader/appcache/ApplicationCacheHost.cpp:
1738 * loader/archive/cf/LegacyWebArchive.cpp:
1739 * loader/cache/CachedFont.cpp:
1740 * loader/cache/CachedFont.h:
1742 (WebCore::CachedFontClient::~CachedFontClient):
1743 (WebCore::CachedFontClient::expectedType):
1744 (WebCore::CachedFontClient::resourceClientType):
1745 (WebCore::CachedFontClient::fontLoaded):
1747 * loader/cache/CachedFontClient.h: Removed.
1748 * loader/cache/CachedImage.cpp:
1749 * loader/cache/CachedRawResource.cpp:
1750 * loader/cache/CachedRawResource.h:
1752 (CachedRawResourceClient):
1753 (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
1754 (WebCore::CachedRawResourceClient::expectedType):
1755 (WebCore::CachedRawResourceClient::resourceClientType):
1756 (WebCore::CachedRawResourceClient::dataSent):
1757 (WebCore::CachedRawResourceClient::responseReceived):
1758 (WebCore::CachedRawResourceClient::dataReceived):
1759 (WebCore::CachedRawResourceClient::redirectReceived):
1760 (WebCore::CachedRawResourceClient::dataDownloaded):
1761 * loader/cache/CachedRawResourceClient.h: Removed.
1762 * loader/cache/CachedResource.cpp:
1763 * loader/cache/CachedResourceHandle.cpp:
1765 * loader/cache/CachedResourceHandle.h:
1767 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
1768 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
1769 * loader/cache/CachedSVGDocument.h:
1770 (CachedSVGDocumentClient):
1771 (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
1772 (WebCore::CachedSVGDocumentClient::expectedType):
1773 (WebCore::CachedSVGDocumentClient::resourceClientType):
1775 * loader/cache/CachedSVGDocumentClient.h: Removed.
1776 * loader/cache/CachedSVGDocumentReference.cpp: Removed.
1777 * loader/cache/CachedSVGDocumentReference.h:
1779 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1780 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1781 * loader/cache/CachedStyleSheetClient.h:
1783 * loader/cache/MemoryCache.h:
1786 * loader/chromium/CachedRawResourceChromium.cpp:
1787 * loader/icon/IconController.cpp:
1788 * loader/icon/IconLoader.h:
1789 * loader/mac/ResourceLoaderMac.mm:
1790 * page/DOMWindowExtension.cpp:
1792 (WebCore::Frame::Frame):
1794 (WebCore::Frame::reportMemoryUsage):
1798 (WebCore::Frame::init):
1799 (WebCore::Frame::loader):
1800 * page/PerformanceNavigation.cpp:
1801 * page/PerformanceTiming.cpp:
1802 * page/PointerLockController.cpp:
1803 * page/Settings.cpp:
1804 * page/animation/CSSPropertyAnimation.cpp:
1805 * platform/chromium/PasteboardChromium.cpp:
1806 * platform/efl/ErrorsEfl.cpp:
1807 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1808 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1809 * platform/graphics/filters/FilterOperation.cpp:
1811 * platform/graphics/filters/FilterOperation.h:
1813 (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
1814 (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
1815 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1816 * platform/gtk/ErrorsGtk.cpp:
1817 * platform/gtk/PasteboardGtk.cpp:
1818 * platform/gtk/PasteboardHelper.h:
1819 * platform/mac/ClipboardMac.h:
1820 * platform/mac/ClipboardMac.mm:
1821 * platform/mac/HTMLConverter.mm:
1822 * platform/mac/PasteboardMac.mm:
1823 * platform/network/AuthenticationChallengeBase.cpp:
1824 * platform/network/cf/CookieJarCFNet.cpp:
1825 * platform/network/cf/ResourceRequestCFNet.cpp:
1826 * platform/network/mac/CookieStorageMac.mm:
1827 * platform/qt/PasteboardQt.cpp:
1828 * plugins/DOMMimeType.cpp:
1829 * plugins/PluginRequest.h: Removed.
1830 * plugins/PluginStream.h:
1831 (PluginStreamClient):
1832 (WebCore::PluginStreamClient::~PluginStreamClient):
1833 (WebCore::PluginStreamClient::streamDidFinishLoading):
1835 * plugins/PluginStreamClient.h: Removed.
1836 * plugins/PluginView.cpp:
1837 * plugins/PluginView.h:
1840 (WebCore::PluginRequest::PluginRequest):
1841 (WebCore::PluginRequest::frameLoadRequest):
1842 (WebCore::PluginRequest::notifyData):
1843 (WebCore::PluginRequest::sendNotification):
1844 (WebCore::PluginRequest::shouldAllowPopups):
1845 * rendering/HitTestResult.cpp:
1846 * rendering/InlineFlowBox.cpp:
1847 * rendering/RenderBox.cpp:
1848 * rendering/RenderEmbeddedObject.cpp:
1849 * rendering/RenderImage.cpp:
1850 * rendering/RenderImageResource.cpp:
1851 (WebCore::RenderImageResource::RenderImageResource):
1853 * rendering/RenderImageResource.h:
1854 (WebCore::RenderImageResource::image):
1855 (WebCore::RenderImageResource::errorOccurred):
1856 (WebCore::RenderImageResource::usesImageContainerSize):
1857 (WebCore::RenderImageResource::imageHasRelativeWidth):
1858 (WebCore::RenderImageResource::imageHasRelativeHeight):
1859 (WebCore::RenderImageResource::imageSize):
1860 * rendering/RenderImageResourceStyleImage.cpp:
1861 * rendering/RenderLayer.cpp:
1862 * rendering/RenderLayerBacking.cpp:
1863 * rendering/RenderLayerFilterInfo.h:
1865 * rendering/RenderListItem.cpp:
1866 * rendering/RenderListMarker.cpp:
1867 * rendering/RenderSnapshottedPlugIn.cpp:
1868 * rendering/RenderTableCol.cpp:
1869 * rendering/RenderTableRow.cpp:
1870 * rendering/RenderTableSection.cpp:
1871 * rendering/style/StyleCachedShader.h:
1872 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
1873 * rendering/style/StyleCustomFilterProgram.h:
1875 (WebCore::StyleCustomFilterProgram::vertexShaderString):
1876 (StyleCustomFilterProgram):
1877 (WebCore::StyleCustomFilterProgram::fragmentShaderString):
1878 (WebCore::StyleCustomFilterProgram::isLoaded):
1879 (WebCore::StyleCustomFilterProgram::willHaveClients):
1880 (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
1881 (WebCore::StyleCustomFilterProgram::notifyFinished):
1882 * svg/SVGFEImageElement.h:
1883 * svg/SVGFontFaceUriElement.h:
1884 (SVGFontFaceUriElement):
1885 * svg/SVGImageLoader.cpp:
1886 * svg/SVGUseElement.cpp:
1887 * svg/SVGUseElement.h:
1888 * svg/graphics/SVGImageCache.cpp:
1889 * testing/MockPagePopupDriver.cpp:
1890 * xml/XSLStyleSheet.h:
1892 * xml/XSLTProcessorLibxslt.cpp:
1893 * xml/parser/XMLDocumentParser.cpp:
1894 * xml/parser/XMLDocumentParser.h:
1895 * xml/parser/XMLDocumentParserLibxml2.cpp:
1897 2013-03-03 Kentaro Hara <haraken@chromium.org>
1899 [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
1900 https://bugs.webkit.org/show_bug.cgi?id=111218
1902 Reviewed by Adam Barth.
1904 TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
1905 but there is no non-custom method that uses TimeoutHandler.
1907 The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
1908 However, the latest spec uses 'any' instead of TimeoutHandler.
1909 http://dev.w3.org/html5/spec-LC/timers.html
1910 Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
1911 according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
1912 (Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
1913 in custom bindings.)
1915 No tests. No change in behavior.
1917 * bindings/scripts/CodeGeneratorV8.pm:
1918 (GenerateParametersCheck):
1919 * page/DOMWindow.idl:
1920 * workers/WorkerContext.idl:
1922 2013-03-03 James Weatherall <wez@chromium.org>
1924 keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
1925 https://bugs.webkit.org/show_bug.cgi?id=85642
1927 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1929 Reviewed by Adam Barth.
1931 * platform/chromium/KeyCodeConversionGtk.cpp:
1932 (WebCore::windowsKeyCodeForKeyEvent):
1934 2013-03-03 Adam Barth <abarth@webkit.org>
1936 REGRESSION(144520): Does not compile on chromium-win
1937 https://bugs.webkit.org/show_bug.cgi?id=111261
1939 Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
1940 patch does not compile for chromium-win. See the bug for the compile
1943 * rendering/ExclusionShapeInsideInfo.cpp:
1944 * rendering/ExclusionShapeInsideInfo.h:
1947 (WebCore::LineSegmentRange::LineSegmentRange):
1948 (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
1949 * rendering/RenderBlock.cpp:
1950 (WebCore::RenderBlock::willBeDestroyed):
1951 (WebCore::RenderBlock::exclusionShapeInsideInfo):
1953 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
1954 * rendering/RenderBlock.h:
1957 (RenderBlockRareData):
1958 * rendering/RenderBlockLineLayout.cpp:
1959 (WebCore::constructBidiRunsForLine):
1961 2013-03-02 Zan Dobersek <zdobersek@igalia.com>
1963 REGRESSION (r144517): IndexedDB layout test failures on GTK
1964 https://bugs.webkit.org/show_bug.cgi?id=111243
1966 Reviewed by Martin Robinson.
1968 Changes to the custom JSC bindings for IDBAny are required after r144517,
1969 specifically the case of IDBAny object having the KeyPathType type has to be covered.
1970 These changes are analogous to those made to the V8 bindings in the mentioned commit.
1972 No new tests - already covered by existing tests.
1974 * bindings/js/JSIDBAnyCustom.cpp:
1975 (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
1976 (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
1977 Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
1979 2013-03-02 Darin Adler <darin@apple.com>
1981 Another try at fixing the build.
1983 * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
1985 2013-03-02 Darin Adler <darin@apple.com>
1989 * inspector/InspectorInstrumentation.h: Add missing forward declaration
1992 2013-02-18 Darin Adler <darin@apple.com>
1994 Cut down the number of source files that depend on Clipboard.h
1995 https://bugs.webkit.org/show_bug.cgi?id=110030
1997 Reviewed by Ryosuke Niwa.
1999 I am doing some work on Clipboard and it's better to recompile 50 files
2000 each time we touch the header instead of 700. Also cut down on includes
2003 * WebCore.exp.in: Updated for new MouseEvent::create function.
2005 * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
2006 here and the world no longer includes it everywhere.
2008 * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
2009 Clipboard.h. Also made some overrides private because they can be.
2011 * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
2013 * dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
2014 here and the world no longer includes it everywhere.
2015 (WebCore::MouseEvent::create): Made the create function non-inline
2016 since we can't compile it without including Clipboard.h and we don't
2017 want to include Clipboard.h in the header. This is not so commonly
2018 used or so hot that this needs to be inlined.
2020 * dom/MouseEvent.h: Forward declared Clipboard instead of including
2021 Clipboard.h. Made MouseEvent::create a non-inline function and also
2022 used overloading instead of default arguments, since we can't compile
2023 a default argument of type PassRefPtr<Clipboard> without including
2026 * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
2027 here and the world no longer includes it everywhere.
2029 * dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
2030 in this header. Previously we'd get it indirectly from including a header
2031 that included Clipboard.h.
2033 * editing/Editor.cpp: Added include of Clipboard.h since we use it here
2034 and the world no longer includes it everywhere.
2036 * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
2037 We used to get this indirectly through Clipboard.h.
2039 * inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
2040 and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
2041 Also removed unneeded include of <wtf/RefPtr.h>.
2043 * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
2044 We used to get this indirectly through Clipboard.h.
2046 * loader/PingLoader.cpp: Added include of ResourceResponse.h.
2047 We used to get this indirectly through Clipboard.h.
2049 * page/DragController.cpp: Added include of DragState.h.
2050 We used to get this indirectly through EventHandler.h
2052 * page/EventHandler.h: Forward declared DragState and Element instead of
2053 including DragState.h. Also added an include of LayoutPoint.h, which we
2054 used to get indirectly through DragState.h.
2056 2013-02-27 Darin Adler <darin@apple.com>
2058 StringHasher functions require alignment that call sites do not all guarantee
2059 https://bugs.webkit.org/show_bug.cgi?id=110171
2061 Reviewed by Benjamin Poulain.
2063 * platform/graphics/WidthCache.h:
2064 (WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
2065 addCharactersAssumingAligned to make sure we don't slow this call site down.
2066 It's safe since this code always adds characters two at a time.
2068 2013-03-02 Adam Barth <abarth@webkit.org>
2070 XSSAuditor has a subtle race condition when used with the threaded HTML parser
2071 https://bugs.webkit.org/show_bug.cgi?id=111253
2073 Reviewed by Eric Seidel.
2075 We were refing and derefing a StringImpl for a main-thread
2076 AtomicString. Using QualifiedNames on the background thread is very
2077 fragile and we should figure out a more robust solution.
2079 * html/parser/XSSAuditor.cpp:
2080 (WebCore::findAttributeWithName):
2082 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
2084 Move computedStyleIncludingVisitedInfo from TestRunner to Internals
2085 https://bugs.webkit.org/show_bug.cgi?id=109772
2087 Reviewed by Andreas Kling.
2089 The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
2090 it is better defined on Internals than on TestRunner.
2092 * testing/Internals.cpp:
2093 (WebCore::Internals::computedStyleIncludingVisitedInfo):
2094 * testing/Internals.h:
2095 * testing/Internals.idl:
2097 2013-03-02 David Kilzer <ddkilzer@apple.com>
2099 BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
2100 <http://webkit.org/b/106059>
2102 Fixes the following build failure:
2104 Undefined symbols for architecture armv7:
2105 "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
2106 -[WebFrame javaScriptContext] in WebFrame.o
2107 __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
2108 ld: symbol(s) not found for architecture armv7
2110 * WebCore.exp.in: Export ScriptController::javaScriptContext()
2111 even more unconditionally.
2113 2013-03-02 Eric Seidel <eric@webkit.org>
2115 Remove two unnecessary mallocs from the main-thread-parser code path
2116 https://bugs.webkit.org/show_bug.cgi?id=111249
2118 Reviewed by Adam Barth.
2120 I noticed these while fixing up our Vector -> String conversions
2121 but never went back to fix the FIXME.
2123 AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
2124 if the represented string is already in the AtomicString table. It
2125 also handles 8bit vs. 16bit and empty() just like nameString() does.
2127 I also removed a 3rd caller to nameString() in the XSSAuditor which
2128 was causing an unnecessary malloc in both the main and background
2129 thread parser paths.
2131 * html/parser/AtomicHTMLToken.h:
2132 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2133 * html/parser/HTMLToken.h:
2134 * html/parser/XSSAuditor.cpp:
2136 (WebCore::threadSafeMatch):
2139 2013-03-02 Eric Seidel <eric@webkit.org>
2141 constructTreeFromCompactHTMLToken should call clearExternalCharacters
2142 https://bugs.webkit.org/show_bug.cgi?id=111248
2144 Reviewed by Adam Barth.
2146 I don't know how to write a test for this. It's possible characters()
2147 is never accessed from HTMLStackItem::token(), but it's better to be
2148 safe than sorry here.
2150 * html/parser/HTMLDocumentParser.cpp:
2151 (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
2153 2013-03-02 Rob Buis <rbuis@rim.com>
2155 Text overflow ellipsis wrong color when using webkit-text-fill-color
2156 https://bugs.webkit.org/show_bug.cgi?id=54841
2158 Reviewed by David Hyatt.
2160 Take -webkit-text-fill-color into account for ellipsis painting.
2162 Test: fast/css/text-overflow-ellipsis-color.html
2164 * rendering/EllipsisBox.cpp:
2165 (WebCore::EllipsisBox::paint):
2167 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
2169 Fix a typo in my previous commit (r144534).
2171 * platform/win/PasteboardWin.cpp:
2173 2013-03-02 Nayan Kumar K <nayankk@motorola.com>
2175 [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
2176 https://bugs.webkit.org/show_bug.cgi?id=110818
2178 Reviewed by Kenneth Russell.
2180 As per OES_texture_half_float specification texImage2D and texSubImage2D entry
2181 points taking ArrayBufferView should extended to accept null with the pixel type
2184 Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
2185 fast/canvas/webgl/oes-texture-half-float.html
2188 * DerivedSources.make:
2189 * DerivedSources.pri:
2190 * GNUmakefile.list.am:
2193 * WebCore.xcodeproj/project.pbxproj:
2194 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2196 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2197 (WebCore::toV8Object):
2198 * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2200 (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
2201 (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
2202 (WebCore::OESTextureHalfFloat::getName):
2203 (WebCore::OESTextureHalfFloat::create):
2204 * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2206 (OESTextureHalfFloat):
2207 * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2208 * html/canvas/WebGLExtension.h:
2209 * html/canvas/WebGLRenderingContext.cpp:
2211 (WebCore::WebGLRenderingContext::getExtension):
2212 (WebCore::WebGLRenderingContext::texImage2D):
2213 (WebCore::WebGLRenderingContext::texSubImage2D):
2214 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2215 (WebCore::WebGLRenderingContext::validateTexFuncData):
2216 * html/canvas/WebGLRenderingContext.h:
2218 (WebGLRenderingContext):
2219 * html/canvas/WebGLRenderingContext.idl:
2220 * platform/graphics/Extensions3D.h:
2222 * platform/graphics/GraphicsContext3D.cpp:
2223 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
2224 * platform/graphics/GraphicsContext3D.h:
2225 * platform/graphics/GraphicsTypes3D.h:
2226 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2227 (WebCore::GraphicsContext3D::texImage2D):
2229 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
2231 Windows build fix attempt after r144530.
2233 * platform/win/PasteboardWin.cpp:
2235 2013-03-01 Dan Bernstein <mitz@apple.com>
2237 Tried to fix the build after r144530.
2239 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
2242 2013-03-01 Terry Anderson <tdanderson@chromium.org>
2244 Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
2245 https://bugs.webkit.org/show_bug.cgi?id=107314
2247 Reviewed by Darin Adler.
2249 EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
2250 and this was the only place where the member variable |m_useLatchedEventNode| in
2251 PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
2253 No change in behavior, so no new tests needed.
2255 * platform/PlatformWheelEvent.h:
2256 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2257 (WebCore::PlatformWheelEvent::useLatchedEventNode):
2258 (PlatformWheelEvent):
2260 2013-02-28 Alexey Proskuryakov <ap@apple.com>
2262 Reduce amount of rebuilding when touching networking headers
2263 https://bugs.webkit.org/show_bug.cgi?id=111035
2265 Reviewed by Eric Seidel.
2267 This uses a number of common unsurprising techniques. One interesting observation
2268 is that including CachedResource related headers is very expensive. We can usually
2269 get away with their Client counterparts, and with CachedResourceHandle.
2273 Don't include FrameLoader, greatly reducing include graph for most non-loader files.
2274 This required making Frame::init() non-inline - I'm not sure why it ever was.
2276 * loader/FrameLoader.cpp:
2277 * loader/FrameLoader.h:
2278 Even though FrameLoader is logically on loading side of WebCore, it's included in
2279 too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
2280 largest wins. As a future improvement, we should probably convert other members
2283 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
2284 definition of a class it holds, but default construction does not.
2286 * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
2287 not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
2289 * loader/cache/CachedFont.h:
2290 * loader/cache/CachedFontClient.h: Added.
2291 * loader/cache/CachedRawResource.h:
2292 * loader/cache/CachedRawResourceClient.h: Added.
2293 * loader/cache/CachedSVGDocument.h:
2294 * loader/cache/CachedSVGDocumentClient.h: Added.
2295 These types were defining client types in the same headers, making it impossible
2296 to avoid including networking headers through CachedResource. Moved clients into
2299 * plugins/PluginStream.h:
2300 * plugins/PluginStreamClient.h: Added.
2301 Similar situation here.
2303 * loader/cache/CachedResourceHandle.cpp:
2304 * loader/cache/CachedResourceHandle.h:
2305 Moved functions that need to know about CachedResource to .cpp file. This is another
2306 huge win. Added a destructor, so that CachedResource woudn't be needed in all files
2307 that include CachedResourceHandle.
2309 * loader/cache/CachedSVGDocumentReference.cpp: Added.
2310 * loader/cache/CachedSVGDocumentReference.h:
2311 Moved constructor and virtual function implementations to a .cpp file - they need
2312 not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
2314 * platform/graphics/filters/FilterOperation.cpp:
2315 * platform/graphics/filters/FilterOperation.h:
2316 Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
2317 CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
2318 rendering code that it seems best to cut any ties with resources and loading.
2319 Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
2320 classes are generally harmful (due to code bloat).
2322 * plugins/PluginRequest.h: Added.
2323 * plugins/PluginView.h:
2324 Moved PluginRequest into a separate file, it was out of place in a view hierarchy
2327 * rendering/RenderImageResource.cpp:
2328 * rendering/RenderImageResource.h:
2329 Moved definitions of virtual functions to a .cpp file. Thre is no win from having
2330 them inline, and now we don't need CachedImage.h in the header.
2332 * rendering/style/StyleCustomFilterProgram.cpp: Added.
2333 * rendering/style/StyleCustomFilterProgram.h:
2337 * GNUmakefile.list.am:
2338 * Modules/mediastream/RTCPeerConnection.cpp:
2339 * Modules/notifications/Notification.cpp:
2343 * WebCore.vcproj/WebCore.vcproj:
2344 * WebCore.vcxproj/WebCore.vcxproj:
2345 * WebCore.vcxproj/WebCore.vcxproj.filters:
2346 * WebCore.xcodeproj/project.pbxproj:
2347 * bindings/ScriptControllerBase.cpp:
2348 * bindings/js/JSNodeCustom.cpp:
2349 * bindings/js/ScriptController.cpp:
2350 * bindings/js/ScriptSourceCode.h:
2351 * bindings/objc/DOM.mm:
2352 * bindings/v8/ScriptController.cpp:
2353 * bindings/v8/V8DOMWindowShell.cpp:
2354 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2355 * css/CSSFontFaceSource.h:
2356 * css/CSSFontSelector.cpp:
2357 * css/WebKitCSSSVGDocumentValue.cpp:
2358 * css/WebKitCSSSVGDocumentValue.h:
2359 * dom/Clipboard.cpp:
2360 * dom/ContainerNode.cpp:
2361 * dom/DOMImplementation.cpp:
2362 * dom/PendingScript.h:
2363 * dom/ScriptElement.cpp:
2364 * dom/ScriptElement.h:
2365 * history/CachedFrame.cpp:
2367 * html/HTMLAnchorElement.cpp:
2368 * html/HTMLAppletElement.cpp:
2369 * html/HTMLElement.cpp:
2370 * html/HTMLEmbedElement.cpp:
2371 * html/HTMLFrameSetElement.cpp:
2372 * html/HTMLHtmlElement.cpp:
2373 * html/HTMLImageElement.cpp:
2374 * html/HTMLObjectElement.cpp:
2375 * html/HTMLPlugInElement.cpp:
2376 * html/ImageDocument.cpp:
2377 * html/ImageInputType.cpp:
2378 * html/MediaDocument.cpp:
2379 * html/PluginDocument.cpp:
2380 * html/canvas/WebGLRenderingContext.cpp:
2381 * html/parser/HTMLConstructionSite.cpp:
2382 * html/parser/HTMLParserOptions.cpp:
2383 * html/parser/HTMLScriptRunner.h:
2384 * html/parser/XSSAuditor.cpp:
2385 * html/parser/XSSAuditorDelegate.cpp:
2386 * inspector/InspectorDebuggerAgent.cpp:
2387 * inspector/InspectorFileSystemAgent.cpp:
2388 * inspector/InspectorFrontendHost.cpp:
2389 * inspector/InspectorInstrumentation.h:
2390 * inspector/InspectorPageAgent.cpp:
2391 * inspector/NetworkResourcesData.cpp:
2392 * inspector/NetworkResourcesData.h:
2393 * loader/CookieJar.cpp:
2394 * loader/CrossOriginAccessControl.cpp:
2395 * loader/CrossOriginPreflightResultCache.h:
2396 * loader/DocumentThreadableLoader.h:
2397 * loader/ImageLoader.cpp:
2398 * loader/ImageLoader.h:
2399 * loader/LinkLoader.h:
2400 * loader/MainResourceLoader.cpp:
2401 * loader/MainResourceLoader.h:
2402 * loader/MixedContentChecker.cpp:
2403 * loader/PingLoader.cpp:
2404 * loader/PolicyChecker.h:
2405 * loader/ProgressTracker.cpp:
2406 * loader/SubframeLoader.cpp:
2407 * loader/SubresourceLoader.cpp:
2408 * loader/TextTrackLoader.cpp:
2409 * loader/TextTrackLoader.h:
2410 * loader/ThreadableLoader.h:
2411 * loader/appcache/ApplicationCacheGroup.cpp:
2412 * loader/appcache/ApplicationCacheGroup.h:
2413 * loader/appcache/ApplicationCacheHost.cpp:
2414 * loader/archive/cf/LegacyWebArchive.cpp:
2415 * loader/cache/CachedFont.cpp:
2416 * loader/cache/CachedImage.cpp:
2417 * loader/cache/CachedRawResource.cpp:
2418 * loader/cache/CachedResource.cpp:
2419 * loader/cache/CachedStyleSheetClient.h:
2420 * loader/cache/MemoryCache.cpp:
2421 * loader/cache/MemoryCache.h:
2422 * loader/chromium/CachedRawResourceChromium.cpp:
2423 * loader/icon/IconController.cpp:
2424 * loader/icon/IconLoader.h:
2425 * loader/mac/ResourceLoaderMac.mm:
2426 * page/DOMWindowExtension.cpp:
2427 * page/DragController.cpp:
2428 * page/PerformanceNavigation.cpp:
2429 * page/PerformanceTiming.cpp:
2430 * page/PointerLockController.cpp:
2431 * page/Settings.cpp:
2432 * page/animation/CSSPropertyAnimation.cpp:
2433 * platform/chromium/PasteboardChromium.cpp:
2434 * platform/efl/ErrorsEfl.cpp:
2435 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2436 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2437 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2438 * platform/gtk/ErrorsGtk.cpp:
2439 * platform/gtk/PasteboardGtk.cpp:
2440 * platform/gtk/PasteboardHelper.h:
2441 * platform/mac/ClipboardMac.h:
2442 * platform/mac/ClipboardMac.mm:
2443 * platform/mac/HTMLConverter.mm:
2444 * platform/mac/PasteboardMac.mm:
2445 * platform/network/AuthenticationChallengeBase.cpp:
2446 * platform/network/cf/CookieJarCFNet.cpp:
2447 * platform/network/cf/ResourceRequestCFNet.cpp:
2448 * platform/network/mac/CookieStorageMac.mm:
2449 * platform/qt/PasteboardQt.cpp:
2450 * plugins/DOMMimeType.cpp:
2451 * plugins/PluginView.cpp:
2452 * rendering/HitTestResult.cpp:
2453 * rendering/InlineFlowBox.cpp:
2454 * rendering/RenderBox.cpp:
2455 * rendering/RenderEmbeddedObject.cpp:
2456 * rendering/RenderImage.cpp:
2457 * rendering/RenderImageResourceStyleImage.cpp:
2458 * rendering/RenderLayer.cpp:
2459 * rendering/RenderLayerBacking.cpp:
2460 * rendering/RenderLayerFilterInfo.h:
2461 * rendering/RenderListItem.cpp:
2462 * rendering/RenderListMarker.cpp:
2463 * rendering/RenderSnapshottedPlugIn.cpp:
2464 * rendering/RenderTableCol.cpp:
2465 * rendering/RenderTableRow.cpp:
2466 * rendering/RenderTableSection.cpp:
2467 * rendering/style/StyleCachedShader.h:
2468 * svg/SVGFEImageElement.h:
2469 * svg/SVGFontFaceUriElement.h:
2470 * svg/SVGImageLoader.cpp:
2471 * svg/SVGUseElement.cpp:
2472 * svg/SVGUseElement.h:
2473 * svg/graphics/SVGImageCache.cpp:
2474 * testing/MockPagePopupDriver.cpp:
2475 * xml/XSLStyleSheet.h:
2476 * xml/XSLTProcessorLibxslt.cpp:
2477 * xml/parser/XMLDocumentParser.cpp:
2478 * xml/parser/XMLDocumentParser.h:
2479 * xml/parser/XMLDocumentParserLibxml2.cpp:
2480 Many self-evident changes - removing unnecessary header includes, adding smaller
2481 more local ones that are now necessary.
2483 2013-03-01 David Hyatt <hyatt@apple.com>
2485 [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
2486 https://bugs.webkit.org/show_bug.cgi?id=111221.
2488 Reviewed by Simon Fraser.
2490 Improve transparencyClipBox so that it understands when moving into descendants
2491 that it does in fact have to break up the transformed clip rect across the
2494 Make sure when handling fragmented transforms using multiple paints that
2495 the test that determines the extent of the transform within the fragments
2496 uses transparencyClipBox. This gives us an accurate set of columns that the
2497 final transformed result will paint across.
2499 Tests: fast/multicol/mixed-opacity-fixed-test.html
2500 fast/multicol/mixed-opacity-test.html
2501 fast/multicol/transform-inside-opacity.html
2503 * rendering/RenderLayer.cpp:
2504 (WebCore::transparencyClipBox):
2505 (WebCore::expandClipRectForDescendantsAndReflection):
2506 Break transformed boxes up into fragments when they are
2507 being requested by an ancestor.
2509 (WebCore::RenderLayer::collectFragments):
2510 (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
2511 (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
2512 * rendering/RenderLayer.h:
2514 Modify collectFragments so that we pass in the correct range
2515 within the columns that can possibly cover the fragmented
2518 2013-03-01 Ilya Tikhonovsky <loislo@chromium.org>
2520 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
2521 https://bugs.webkit.org/show_bug.cgi?id=110943
2523 Reviewed by Yury Semikhatsky.
2525 Unfortunately in many cases raw pointer may point to an object that has been deleted.
2526 There is no working solution to solve this problem in general.
2527 It could be solved only on case by case basis.
2529 * inspector/HeapGraphSerializer.cpp:
2530 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2531 (WebCore::HeapGraphSerializer::reportLeaf):
2532 * loader/cache/MemoryCache.cpp:
2533 (WebCore::MemoryCache::reportMemoryUsage):
2534 * platform/graphics/BitmapImage.cpp:
2535 (WebCore::FrameData::reportMemoryUsage):
2536 * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
2537 (reportMemoryUsage):
2539 2013-03-01 Kentaro Hara <haraken@chromium.org>
2541 Style recalculation takes too long when adding whitespace text nodes
2542 https://bugs.webkit.org/show_bug.cgi?id=110786
2544 Reviewed by Darin Adler.
2546 // This takes 216 msec.
2547 for (var i = 0; i < 1500; ++i) {
2548 document.body.appendChild(document.createTextNode('x'));
2549 document.body.appendChild(document.createElement('div'));
2550 document.body.appendChild(document.createTextNode('x'));
2553 // But this takes 25.3 seconds.
2554 for (var i = 0; i < 1500; ++i) {
2555 document.body.appendChild(document.createTextNode(' '));
2556 document.body.appendChild(document.createElement('div'));
2557 document.body.appendChild(document.createTextNode(' '));
2560 The reason is that we do not create renderers for empty text
2561 nodes and thus we are hitting the worst O(N^2) case in Node::attach().
2562 (See FIXME in Node::attach().)
2564 This patch adds a logic to bail out the loop to avoid the O(N^2) case.
2565 Specifically, the patch bails out the loop if we encounter a text node
2566 for which we again decided not to create a renderer. This bail out is
2567 reasonable because the fact that we again decided not to create a renderer
2568 for the text node indicates that there will be no affect of the result
2569 of Text::textRendererIsNeeded() of the rest of the sibling nodes.
2571 Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
2572 Performance result in Chromium/Linux: 25.3 sec => 48 msec !
2574 Test: perf/append-text-nodes-without-renderers.html (for performance)
2575 fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
2577 The loop was introduced in r29054. We have to make sure that
2578 all layout tests that were updated in r29054 pass with this patch.
2579 See http://trac.webkit.org/changeset/29054.
2582 (WebCore::Node::attach):
2584 2013-03-01 Jason Anderssen <janderssen@gmail.com>
2586 Moved markerTextForListItem from TestRunner to Internals
2587 https://bugs.webkit.org/show_bug.cgi?id=110939
2589 Reviewed by Benjamin Poulain.
2591 TestRunner framework is an old way of testing webkit, it would be
2592 better to incorporate the testing frame directly into the WebCore itself
2593 as to make it more compatible with WK2.
2595 * testing/Internals.cpp:
2596 (WebCore::Internals::markerTextForListItem):
2598 * testing/Internals.h:
2599 * testing/Internals.idl:
2601 2013-03-01 Elliott Sprehn <esprehn@gmail.com>
2603 Don't leak Documents when using MutationObserver from extensions
2604 https://bugs.webkit.org/show_bug.cgi?id=111234
2606 Reviewed by Adam Barth.
2608 MutationObserverCallback holds a WorldContextHandle which secretly isn't
2609 a handle to anything when it's for the main world. When it's for a non-main
2610 world though, like those used in extensions, it becomes a strong reference
2611 to the v8::Context which results in leaks by creating cycles:
2613 MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
2615 Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
2616 get the v8::Context from that inside handleEvent.
2618 Tests: ManualTests/leak-observer-nonmain-world.html
2620 * bindings/v8/V8Binding.cpp:
2621 (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
2622 * bindings/v8/V8Binding.h:
2623 * bindings/v8/V8MutationCallback.cpp:
2624 (WebCore::V8MutationCallback::V8MutationCallback):
2625 (WebCore::V8MutationCallback::handleEvent):
2626 * bindings/v8/V8MutationCallback.h:
2627 (V8MutationCallback):
2629 2013-03-01 Bear Travis <betravis@adobe.com>
2631 [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
2632 https://bugs.webkit.org/show_bug.cgi?id=110995
2634 Reviewed by Julien Chaffraix.
2636 This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
2637 which enables us to move away from the global ExclusionShapeInsideInfo map.
2638 Some additional refactoring was done to remove ExclusionShapeInsideInfo's
2639 dependency on InlineIterator, which depended on RenderBlock. This work required
2640 adding a new LineSegmentIterator struct.
2642 Refactoring, no new tests.
2644 * rendering/ExclusionShapeInsideInfo.cpp:
2646 (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
2647 constructor to the .cpp file, as InlineIterator is now forward declared in
2649 (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
2650 the .cpp file, as RenderBlock is now forward declared in the .h file.
2651 * rendering/ExclusionShapeInsideInfo.h:
2653 (LineSegmentIterator): A simple struct for containing segment positions for
2655 (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
2656 (LineSegmentRange): Transitioning to store LineSegmentIterator.
2657 (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
2658 (ExclusionShapeInsideInfo):
2659 * rendering/RenderBlock.cpp:
2660 (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
2661 its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
2663 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
2664 the RenderBlockRareData struct rather than the global map.
2665 * rendering/RenderBlock.h:
2667 (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
2668 is present if the shape-inside style is set.
2669 (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
2671 (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
2672 for the current block.
2673 (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
2674 * rendering/RenderBlockLineLayout.cpp:
2675 (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
2676 layout based on the stored LineSegmentIterators.
2678 2013-03-01 Terry Anderson <tdanderson@chromium.org>
2680 EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines
2681 so its behavior matches other user-initiated scrolls
2682 https://bugs.webkit.org/show_bug.cgi?id=109769
2684 Reviewed by James Robinson.
2686 To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
2687 the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
2688 instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
2689 reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
2690 be scrolled using touch but cannot be scrolled using mousewheels.
2692 Note that this patch does not use any of the mousewheel event-handling code.
2694 Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
2695 fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
2696 fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
2697 fast/events/touch/gesture/touch-gesture-noscroll-body.html
2699 * page/EventHandler.cpp:
2700 (WebCore::EventHandler::clear):
2701 (WebCore::EventHandler::handleGestureEvent):
2702 (WebCore::EventHandler::handleGestureScrollBegin):
2703 (WebCore::EventHandler::handleGestureScrollUpdate):
2704 (WebCore::EventHandler::sendScrollEventToView):
2705 By calling this function at the start of handleGestureScrollUpdate() in the case
2706 where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
2707 can still scroll the page itself, if possible.
2709 (WebCore::EventHandler::clearGestureScrollNodes):
2710 * page/EventHandler.h:
2712 * platform/PlatformWheelEvent.h:
2713 (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
2715 2013-03-01 Alec Flett <alecflett@chromium.org>
2717 IndexedDB: Avoid ScriptValue copies in IDBAny
2718 https://bugs.webkit.org/show_bug.cgi?id=111002
2720 Reviewed by Adam Barth.
2722 This avoids some v8 handle thrashing in the long term,
2723 and protects us against some crashes in the short term.
2725 The crashes will be fixed in
2726 https://bugs.webkit.org/show_bug.cgi?id=110206.
2728 * Modules/indexeddb/IDBAny.cpp:
2729 (WebCore::IDBAny::createNull):
2730 (WebCore::IDBAny::createString):
2731 (WebCore::IDBAny::IDBAny):
2732 (WebCore::IDBAny::scriptValue):
2733 * Modules/indexeddb/IDBAny.h:
2734 (WebCore::IDBAny::create):
2736 (WebCore::IDBAny::keyPath):
2737 * bindings/v8/custom/V8IDBAnyCustom.cpp:
2741 2013-03-01 Victor Carbune <vcarbune@chromium.org>
2743 Support padding, margin and border for internal UA cue styling
2744 https://bugs.webkit.org/show_bug.cgi?id=110703
2746 Reviewed by Eric Carlson.
2748 For some particular user agent styling this allows the possibility
2749 of making the window around the cue text bigger to match some user
2750 styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
2752 These properties *cannot* be set through by using the ::cue
2753 pseudo-element and, as specified, are used only internally.
2755 Note: This patch is identical to the previously commited one,
2756 as it was rolled back without related tests failing.
2758 Test: media/track/track-cue-rendering-with-padding.html
2760 * css/mediaControls.css:
2761 (video::-webkit-media-text-track-display): Set the CSS box model
2762 to include in the specified width or height the values of
2763 padding / margin / border by using -webkit-box-sizing and avoid
2764 overflow over 100% width because of having these properties set.
2765 * rendering/RenderTextTrackCue.cpp:
2766 (WebCore::RenderTextTrackCue::isOutside): To not interfere with
2767 the regular WebVTT positioning algorithm, the check is done for
2768 the absolute content box.
2769 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
2770 an extra adjustment step to accomodate vertical padding (and not
2771 overflow the cue container)
2773 2013-03-01 Andy Estes <aestes@apple.com>
2775 REGRESSION (r125809): CFStrings created via StringImpl::createCFString() might reference freed memory when Objective-C garbage collection is enabled
2776 https://bugs.webkit.org/show_bug.cgi?id=111219
2778 Reviewed by Benjamin Poulain.
2780 StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
2781 order to create CFString without making an unnecessary copy. In order
2782 to ensure that the the StringImpl's backing buffer isn't deallocated
2783 while the CFString is still alive, we use a custom CFAllocator to
2784 ref/deref the StringImpl at the appropriate times.
2786 However, custom allocators aren't supported when Objective-C garbage
2787 collection is enabled, so in this case we use the default CF allocator.
2788 Since we can't guarantee the lifetime of the StringImpl in this case,
2789 we should just fall back to copying the string, as we did prior to r125809.
2791 * platform/text/cf/StringImplCF.cpp:
2792 (garbageCollectionEnabled): Moved the check for whether garbage
2793 collection is enabled from StringWrapperCFAllocator::create() to here.
2794 (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
2795 (WTF::StringImpl::createCFString): If garbage collection is enabled,
2796 call the variants of CFStringCreate that copy the string.
2798 2013-03-01 Roger Fong <roger_fong@apple.com>
2800 Unreviewed AppleWin build fix.
2802 * platform/network/cf/ResourceHandleCFNet.cpp:
2803 (WebCore::ResourceHandle::createCFURLConnection):
2805 2013-03-01 Martin Robinson <mrobinson@igalia.com>
2807 [GTK] Allow sharing the WebCore include list with the Chromium build
2808 https://bugs.webkit.org/show_bug.cgi?id=110241
2810 Reviewed by Dirk Pranke.
2812 * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2813 * WebCore.gypi: Added shared include directories.
2815 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2817 Make in-memory blobs work in NetworkProcess
2818 https://bugs.webkit.org/show_bug.cgi?id=111132
2820 Reviewed by Sam Weinig.
2823 * WebCore.xcodeproj/project.pbxproj:
2824 Exported functions now needed by WebKit2, and made some headers Private instead
2827 2013-03-01 Eric Seidel <eric@webkit.org>
2829 Threaded HTML Parser has an extra copy of every byte from the network
2830 https://bugs.webkit.org/show_bug.cgi?id=111135
2832 Reviewed by Adam Barth.
2834 Every LayoutTest executes this code in threaded parsing mode.
2836 * dom/DecodedDataDocumentParser.cpp:
2837 (WebCore::DecodedDataDocumentParser::appendBytes):
2838 - Pass ownership of the decoded string to the parser.
2839 (WebCore::DecodedDataDocumentParser::flush):
2841 * dom/DecodedDataDocumentParser.h:
2842 (DecodedDataDocumentParser):
2844 (WebCore::Document::setContent):
2845 * dom/DocumentParser.h:
2847 * dom/RawDataDocumentParser.h:
2848 (WebCore::RawDataDocumentParser::append):
2849 * html/FTPDirectoryDocument.cpp:
2850 (FTPDirectoryDocumentParser):
2851 (WebCore::FTPDirectoryDocumentParser::append):
2852 * html/parser/HTMLDocumentParser.cpp:
2853 (WebCore::HTMLDocumentParser::append):
2854 * html/parser/HTMLDocumentParser.h:
2855 (HTMLDocumentParser):
2856 * html/parser/HTMLViewSourceParser.cpp:
2857 (WebCore::HTMLViewSourceParser::append):
2858 * html/parser/HTMLViewSourceParser.h:
2859 (HTMLViewSourceParser):
2860 * html/parser/TextDocumentParser.cpp:
2861 (WebCore::TextDocumentParser::append):
2862 * html/parser/TextDocumentParser.h:
2863 (TextDocumentParser):
2864 * loader/DocumentWriter.cpp:
2865 (WebCore::DocumentWriter::replaceDocument):
2866 * xml/parser/XMLDocumentParser.cpp:
2867 (WebCore::XMLDocumentParser::append):
2868 * xml/parser/XMLDocumentParser.h:
2869 (XMLDocumentParser):
2870 * xml/parser/XMLDocumentParserLibxml2.cpp:
2871 (WebCore::XMLDocumentParser::resumeParsing):
2873 2013-03-01 David Hyatt <hyatt@apple.com>
2875 [New Multicolumn] Change inRenderFlowThread to follow containing block chain
2876 https://bugs.webkit.org/show_bug.cgi?id=111206
2878 Reviewed by Simon Fraser.
2880 This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
2881 to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
2882 the containing block chain instead of the parent chain when outside of layout.
2883 (It already did the right thing when called during layout.)
2885 By removing inRenderFlowThread (which was following the parent chain), all
2886 code that is checking for flow thread containment now correctly uses the
2887 containing block chain. This allows for content to escape in-flow flow threads
2888 and do the right thing without asserting.
2890 Test: fast/multicol/positioned-outside-of-columns.html
2892 * dom/WebKitNamedFlow.cpp:
2893 (WebCore::inFlowThread):
2894 (WebCore::WebKitNamedFlow::getRegionsByContent):
2895 * rendering/RenderBlock.cpp:
2896 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2897 (WebCore::RenderBlock::collapseAnonymousBoxChild):
2898 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
2899 (WebCore::RenderBlock::computeRegionRangeForBlock):
2900 (WebCore::RenderBlock::layoutBlock):
2901 (WebCore::RenderBlock::computeOverflow):
2902 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2903 (WebCore::RenderBlock::computeLogicalLocationForFloat):
2904 (WebCore::RenderBlock::logicalLeftOffsetForContent):
2905 (WebCore::RenderBlock::logicalRightOffsetForContent):
2906 (WebCore::RenderBlock::hasNextPage):
2907 (WebCore::RenderBlock::applyBeforeBreak):
2908 (WebCore::RenderBlock::applyAfterBreak):
2909 (WebCore::RenderBlock::pageLogicalTopForOffset):
2910 (WebCore::RenderBlock::pageLogicalHeightForOffset):
2911 (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
2912 (WebCore::RenderBlock::adjustForUnsplittableChild):
2913 (WebCore::RenderBlock::adjustLinePositionForPagination):
2914 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2915 (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
2916 (WebCore::RenderBlock::regionAtBlockOffset):
2917 (WebCore::RenderBlock::setStaticInlinePositionForChild):
2918 (WebCore::RenderBlock::logicalWidthChangedInRegions):
2919 (WebCore::RenderBlock::clampToStartAndEndRegions):
2920 * rendering/RenderBlock.h:
2922 * rendering/RenderBlockLineLayout.cpp:
2923 (WebCore::layoutExclusionShapeInsideInfo):
2924 (WebCore::LineLayoutState::LineLayoutState):
2925 (WebCore::LineLayoutState::flowThread):
2926 (WebCore::LineLayoutState::setFlowThread):
2928 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2929 (WebCore::RenderBlock::linkToEndLineIfNeeded):
2930 (WebCore::RenderBlock::layoutInlineChildren):
2931 (WebCore::RenderBlock::determineStartPosition):
2932 (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
2933 * rendering/RenderBox.cpp:
2934 (WebCore::RenderBox::clearRenderBoxRegionInfo):
2935 (WebCore::RenderBox::renderBoxRegionInfo):
2936 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2937 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2938 (WebCore::RenderBox::computePositionedLogicalWidth):
2939 (WebCore::RenderBox::computePositionedLogicalHeight):
2940 * rendering/RenderDeprecatedFlexibleBox.cpp:
2941 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2942 * rendering/RenderFlexibleBox.cpp:
2943 (WebCore::RenderFlexibleBox::layoutBlock):
2944 * rendering/RenderFlowThread.cpp:
2945 (WebCore::RenderFlowThread::objectInFlowRegion):
2946 * rendering/RenderGrid.cpp:
2947 (WebCore::RenderGrid::layoutBlock):
2948 * rendering/RenderInline.cpp:
2949 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
2950 * rendering/RenderLayer.cpp:
2951 (WebCore::accumulateOffsetTowardsAncestor):
2952 * rendering/RenderLayerCompositor.cpp:
2953 (WebCore::RenderLayerCompositor::canBeComposited):
2954 * rendering/RenderMedia.cpp:
2955 (WebCore::RenderMedia::layout):
2956 * rendering/RenderObject.cpp:
2957 (WebCore::RenderObject::locateFlowThreadContainingBlock):
2958 (WebCore::RenderObject::containerForRepaint):
2959 (WebCore::RenderObject::willBeRemovedFromTree):
2960 (WebCore::RenderObject::removeFromRenderFlowThread):
2961 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
2962 * rendering/RenderObject.h:
2964 (WebCore::RenderObject::flowThreadContainingBlock):
2965 * rendering/RenderRegion.cpp:
2966 (WebCore::RenderRegion::setObjectStyleInRegion):
2967 * rendering/RenderView.cpp:
2968 (WebCore::RenderView::addChild):
2969 (WebCore::RenderView::initializeLayoutState):
2970 (WebCore::RenderView::setSelection):
2971 * rendering/RenderView.h:
2972 (WebCore::RenderView::pushLayoutState):
2973 * rendering/RootInlineBox.cpp:
2974 (WebCore::RootInlineBox::containingRegion):
2975 (WebCore::RootInlineBox::setContainingRegion):
2977 2013-02-28 Sam Weinig <sam@webkit.org>
2979 Add SPI for marking a WebView as doing things on behalf of another process
2980 https://bugs.webkit.org/show_bug.cgi?id=111125
2982 Reviewed by Alexey Proskuryakov.
2984 * platform/network/NetworkingContext.h:
2985 (NetworkingContext):
2986 * platform/network/cf/ResourceHandleCFNet.cpp:
2987 (WebCore::ResourceHandle::createCFURLConnection):
2988 * platform/network/mac/ResourceHandleMac.mm:
2989 (WebCore::ResourceHandle::createNSURLConnection):
2990 Set the sourceApplicationAuditData on the URL connection if available.
2992 2013-03-01 Brent Fulgham <bfulgham@webkit.org>
2994 [Windows] Unreviewed VS2010 build fix.
2996 * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
2997 files to the project.
2998 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3000 2013-03-01 Bear Travis <betravis@adobe.com>
3002 [css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
3003 https://bugs.webkit.org/show_bug.cgi?id=108128
3005 Reviewed by David Hyatt.
3007 Ensure that blocks lay out when their parent's shape-inside changes.
3008 ExclusionShapeInsideInfo now stores an additional flag indicating whether
3009 the shape has changed and its block's children require layout. Each block
3010 can look up the flag via LayoutState to determine whether it needs to lay
3013 Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
3015 * rendering/ExclusionShapeInfo.h:
3016 (WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
3017 if the shape has changed.
3018 (ExclusionShapeInfo):
3019 * rendering/ExclusionShapeInsideInfo.h:
3020 (WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
3021 layout is necessary.
3022 (WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
3023 (ExclusionShapeInsideInfo):
3024 (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
3026 * rendering/RenderBlock.cpp:
3027 (WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
3028 cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
3030 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
3031 indicating whether regions or exclusions updates should cause a relayout.
3032 (WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
3034 * rendering/RenderBlock.h:
3036 * rendering/RenderBlockLineLayout.cpp:
3037 (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
3039 (WebCore::LineWidth::LineWidth): Changing to use class method.
3040 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
3041 (WebCore::constructBidiRunsForLine): Ditto.
3042 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
3043 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
3045 2013-03-01 Uday Kiran <udaykiran@motorola.com>
3047 getComputedStyle not implemented for -webkit-column-rule shorthand
3048 https://bugs.webkit.org/show_bug.cgi?id=111203
3050 Reviewed by Alexis Menard.
3052 Implement getComputedStyle for -webkit-column-rule property.
3054 Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
3056 * css/CSSComputedStyleDeclaration.cpp:
3057 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3059 2013-02-28 David Hyatt <hyatt@apple.com>
3061 REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
3062 https://bugs.webkit.org/show_bug.cgi?id=111117
3064 Make sure the allocated vector has a capacity of 1, since that is
3065 far and away the most common case.
3067 Reviewed by Andreas Kling.
3069 * rendering/RenderFlowThread.h:
3071 * rendering/RenderLayer.h:
3073 * rendering/RenderMultiColumnSet.cpp:
3074 (WebCore::RenderMultiColumnSet::collectLayerFragments):
3075 * rendering/RenderMultiColumnSet.h:
3076 * rendering/RenderRegion.h:
3078 (WebCore::RenderRegion::collectLayerFragments):
3080 2013-03-01 Enrica Casucci <enrica@apple.com>
3082 Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
3083 https://bugs.webkit.org/show_bug.cgi?id=111211.
3084 <rdar://problem/8772758>
3086 Reviewed by Ryosuke Niwa.
3088 This is a speculative fix since we don't have a solid repro case.
3089 Adding null check every time we build a SharedBuffer from an NSData
3090 we have obtained manipulating data from the pasteboard.
3092 * platform/mac/PasteboardMac.mm:
3093 (WebCore::writeFileWrapperAsRTFDAttachment):
3094 (WebCore::Pasteboard::writeImage):
3096 2013-03-01 Enrica Casucci <enrica@apple.com>
3098 Crash at WebCore::SharedBuffer::hasPlatformData during paste.
3099 https://bugs.webkit.org/show_bug.cgi?id=111207.
3100 <rdar://problem/13024528>
3102 Reviewed by Ryosuke Niwa.
3104 This is a speculative fix since we don't have a solid repro case.
3105 Adding null check every time we get a SharedBuffer from the pasteboard.
3107 * platform/mac/PasteboardMac.mm:
3108 (WebCore::Pasteboard::plainText):
3109 (WebCore::documentFragmentWithRTF):
3111 2013-03-01 Alexey Proskuryakov <ap@apple.com>
3113 Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
3115 * platform/network/BlobRegistryImpl.cpp:
3117 2013-03-01 peavo@outlook.com <peavo@outlook.com>
3119 [Curl] Session cookies should not be persistent.
3120 https://bugs.webkit.org/show_bug.cgi?id=111060
3122 Reviewed by Brent Fulgham.
3124 Curl saves both persistent cookies, and session cookies to the cookie file.
3125 The session cookies should be deleted before starting a new session.
3127 * platform/network/curl/ResourceHandleManager.cpp:
3128 (WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
3129 (WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.
3130 * platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
3132 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
3134 Web Inspector: Navigator should show tree element for each folder in the source path.
3135 https://bugs.webkit.org/show_bug.cgi?id=108943
3137 Reviewed by Pavel Feldman.
3139 NavigatorView now renders tree element for each folder in uiSourceCode uri.
3140 Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
3141 ScriptsNavigator has horizontal scroll now.
3142 Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
3143 with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').
3145 Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
3147 * English.lproj/localizedStrings.js:
3148 * inspector/front-end/NavigatorView.js:
3149 (WebInspector.NavigatorView):
3150 (WebInspector.NavigatorView.iconClassForType):
3151 (WebInspector.NavigatorView.prototype.addUISourceCode):
3152 (WebInspector.NavigatorView.prototype._getProjectNode):
3153 (WebInspector.NavigatorView.prototype._createProjectNode):
3154 (WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
3155 (WebInspector.NavigatorView.prototype._getFolderNode):
3156 (WebInspector.NavigatorView.prototype._createFolderNode):
3157 (WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
3158 (WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
3159 (WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
3160 (WebInspector.NavigatorView.prototype.revealUISourceCode):
3161 (WebInspector.NavigatorView.prototype.removeUISourceCode):
3162 (WebInspector.NavigatorView.prototype.rename):
3163 (WebInspector.NavigatorView.prototype.reset):
3165 (WebInspector.NavigatorTreeOutline._treeElementsCompare):
3166 (WebInspector.BaseNavigatorTreeElement):
3167 (WebInspector.BaseNavigatorTreeElement.prototype.type):
3168 (WebInspector.NavigatorFolderTreeElement):
3169 (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
3170 (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
3171 (WebInspector.NavigatorSourceTreeElement):
3172 (WebInspector.NavigatorTreeNode):
3173 (WebInspector.NavigatorTreeNode.prototype.treeElement):
3174 (WebInspector.NavigatorTreeNode.prototype.dispose):
3175 (WebInspector.NavigatorTreeNode.prototype.isRoot):
3176 (WebInspector.NavigatorTreeNode.prototype.hasChildren):
3177 (WebInspector.NavigatorTreeNode.prototype.populate):
3178 (WebInspector.NavigatorTreeNode.prototype.wasPopulated):
3179 (WebInspector.NavigatorTreeNode.prototype.didAddChild):
3180 (WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
3181 (WebInspector.NavigatorTreeNode.prototype.isPopulated):
3182 (WebInspector.NavigatorTreeNode.prototype.isEmpty):
3183 (WebInspector.NavigatorTreeNode.prototype.child):
3184 (WebInspector.NavigatorTreeNode.prototype.children):
3185 (WebInspector.NavigatorTreeNode.prototype.appendChild):
3186 (WebInspector.NavigatorTreeNode.prototype.removeChild):
3187 (WebInspector.NavigatorTreeNode.prototype.reset):
3188 (WebInspector.NavigatorRootTreeNode):
3189 (WebInspector.NavigatorRootTreeNode.prototype.isRoot):
3190 (WebInspector.NavigatorRootTreeNode.prototype.treeElement):
3191 (WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
3192 (WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
3193 (WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
3194 (WebInspector.NavigatorUISourceCodeTreeNode):
3195 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
3196 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
3197 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
3198 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
3199 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
3200 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
3201 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
3202 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
3203 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
3204 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
3205 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
3206 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
3207 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
3208 (WebInspector.NavigatorFolderTreeNode):
3209 (WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
3210 (WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
3211 (WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
3212 (WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
3213 (WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
3214 (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
3215 (WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
3216 * inspector/front-end/ScriptsNavigator.js:
3217 * inspector/front-end/SimpleWorkspaceProvider.js:
3218 (WebInspector.SimpleProjectDelegate.prototype.displayName):
3219 * inspector/front-end/navigatorView.css:
3221 (.navigator .base-navigator-tree-element-title):
3222 (.navigator-tabbed-pane .navigator-container):
3224 2013-03-01 Arvid Nilsson <anilsson@rim.com>
3226 [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
3227 https://bugs.webkit.org/show_bug.cgi?id=111072
3229 Reviewed by Rob Buis.
3231 BlackBerry PR 293208
3233 This patch contains contributions from many members of the BlackBerry
3257 Covered by existing tests.
3259 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
3260 (WebCore::CanvasLayerWebKitThread::deleteTextures):
3261 (CanvasLayerCompositingThreadClient):
3262 (WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
3263 (WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
3264 (WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
3265 (WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
3267 (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
3268 (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
3269 (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
3270 (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
3271 (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
3272 (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
3273 (WebCore::CanvasLayerWebKitThread::clearBuffer):
3274 * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
3276 (WebCore::CanvasLayerWebKitThread::create):
3277 (CanvasLayerWebKitThread):
3278 * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
3279 (WebCore::DisplayRefreshMonitor::displayLinkFired):
3280 * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
3281 (WebCore::DrawingBuffer::DrawingBuffer):
3283 (WebCore::DrawingBuffer::publishToPlatformLayer):
3284 (WebCore::DrawingBuffer::platformLayer):
3285 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
3286 (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
3287 (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
3288 (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
3289 (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
3290 (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
3291 (WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):
3292 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
3294 (EGLImageLayerCompositingThreadClient):
3295 (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
3296 * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
3297 (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
3298 (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
3299 (WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
3300 (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
3301 (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
3302 (WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
3303 (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
3304 * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
3306 (EGLImageLayerWebKitThread):
3307 * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
3308 (WebCore::FloatRect::normalized):
3310 * platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
3311 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
3312 (WebCore::GraphicsContext3D::GraphicsContext3D):
3313 (WebCore::GraphicsContext3D::paintToCanvas):
3314 (WebCore::GraphicsContext3D::getImageData):
3316 * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
3317 (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
3318 (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
3319 (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
3321 (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
3322 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
3323 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
3324 (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
3325 (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
3326 * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
3327 (GraphicsLayerBlackBerry):
3328 (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
3329 * platform/graphics/blackberry/ImageBlackBerry.cpp:
3330 (WebCore::ImageFrame::asNewNativeImage):
3332 (WebCore::FrameData::clear):
3333 (WebCore::BitmapImage::BitmapImage):
3334 (WebCore::BitmapImage::checkForSolidColor):
3335 (WebCore::BitmapImage::invalidatePlatformData):
3336 (WebCore::BitmapImage::draw):
3337 (WebCore::Image::drawPattern):
3338 * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
3339 * platform/graphics/blackberry/LayerCompositingThread.cpp:
3340 (WebCore::LayerCompositingThread::drawTextures):
3341 (WebCore::LayerCompositingThread::drawSurface):
3342 (WebCore::LayerCompositingThread::contentsTexture):
3343 (WebCore::LayerCompositingThread::commitPendingTextureUploads):
3345 * platform/graphics/blackberry/LayerCompositingThread.h:
3347 (LayerCompositingThread):
3348 * platform/graphics/blackberry/LayerCompositingThreadClient.h:
3351 (LayerCompositingThreadClient):
3352 (WebCore::LayerCompositingThreadClient::contentsTexture):
3353 (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
3354 * platform/graphics/blackberry/LayerData.h:
3355 (WebCore::LayerData::LayerData):
3356 (WebCore::LayerData::contentsResolutionIndependent):
3358 (WebCore::LayerData::layerProgram):
3359 (WebCore::LayerData::isContainerForFixedPositionLayers):
3360 (WebCore::LayerData::isFixedToTop):
3361 (WebCore::LayerData::isFixedToLeft):
3362 (WebCore::LayerData::frameVisibleRect):
3363 (WebCore::LayerData::frameContentsSize):
3364 (WebCore::LayerData::contentsScale):
3365 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3366 (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
3367 (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
3368 (WebCore::LayerFilterRenderer::ping):
3369 (WebCore::LayerFilterRenderer::pong):
3370 (WebCore::LayerFilterRenderer::pushSnapshot):
3371 (WebCore::LayerFilterRenderer::popSnapshot):
3372 (WebCore::LayerFilterRenderer::applyActions):
3373 * platform/graphics/blackberry/LayerRenderer.cpp:
3375 (WebCore::LayerRenderer::LayerRenderer):
3376 (WebCore::LayerRenderer::~LayerRenderer):
3377 (WebCore::LayerRenderer::setViewport):
3378 (WebCore::LayerRenderer::compositeLayers):
3379 (WebCore::LayerRenderer::compositeBuffer):
3380 (WebCore::LayerRenderer::drawColor):
3381 (WebCore::LayerRenderer::useSurface):
3382 (WebCore::LayerRenderer::drawLayersOnSurfaces):
3384 (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
3385 (WebCore::LayerRenderer::drawDebugBorder):
3386 (WebCore::LayerRenderer::drawHolePunchRect):
3387 (WebCore::LayerRenderer::updateLayersRecursive):
3388 (WebCore::LayerRenderer::compositeLayersRecursive):
3389 (WebCore::LayerRenderer::createProgram):
3390 (WebCore::LayerRenderer::useProgram):
3391 (WebCore::LayerRenderer::useLayerProgram):
3392 * platform/graphics/blackberry/LayerRenderer.h:
3394 * platform/graphics/blackberry/LayerRendererSurface.cpp:
3395 (WebCore::LayerRendererSurface::ensureTexture):
3396 * platform/graphics/blackberry/LayerTile.cpp:
3397 (WebCore::LayerTile::LayerTile):
3398 (WebCore::LayerTile::setContents):
3399 (WebCore::LayerTile::updateContents):
3400 * platform/graphics/blackberry/LayerTile.h:
3402 (WebCore::LayerTile::renderState):
3403 (WebCore::LayerTile::needsRender):
3404 (WebCore::LayerTile::setNeedsRender):
3405 (WebCore::LayerTile::setRenderPending):
3406 (WebCore::LayerTile::setRenderDone):
3407 * platform/graphics/blackberry/LayerTileIndex.h:
3408 * platform/graphics/blackberry/LayerTiler.cpp:
3410 (WebCore::defaultTileSize):
3411 (WebCore::LayerTiler::LayerTiler):
3412 (WebCore::LayerTiler::updateTextureContentsIfNeeded):
3413 (WebCore::LayerTiler::createBuffer):
3414 (WebCore::LayerTiler::willCommit):
3415 (WebCore::LayerTiler::commitPendingTextureUploads):
3416 (WebCore::LayerTiler::layerVisibilityChanged):
3417 (WebCore::LayerTiler::uploadTexturesIfNeeded):
3418 (WebCore::LayerTiler::processTextureJob):
3419 (WebCore::LayerTiler::addTileJob):
3420 (WebCore::LayerTiler::performTileJob):
3421 (WebCore::LayerTiler::drawTile):
3422 (WebCore::LayerTiler::drawTextures):
3423 (WebCore::LayerTiler::pruneTextures):
3424 (WebCore::LayerTiler::updateTileSize):
3425 (WebCore::LayerTiler::setNeedsBacking):
3426 (WebCore::LayerTiler::contentsTexture):
3427 * platform/graphics/blackberry/LayerTiler.h:
3428 (WebCore::LayerTiler::tileSize):
3430 (WebCore::LayerTiler::TextureJob::TextureJob):
3431 (WebCore::LayerTiler::TextureJob::setContents):
3432 (WebCore::LayerTiler::TextureJob::updateContents):
3434 (WebCore::LayerTiler::needsRender):
3435 (WebCore::LayerTiler::removeUpdateContentsJobs):
3436 * platform/graphics/blackberry/LayerWebKitThread.cpp:
3437 (WebCore::LayerWebKitThread::LayerWebKitThread):
3438 (WebCore::LayerWebKitThread::~LayerWebKitThread):
3439 (WebCore::LayerWebKitThread::paintContents):
3440 (WebCore::LayerWebKitThread::commitPendingTextureUploads):
3441 (WebCore::LayerWebKitThread::setContents):
3442 (WebCore::LayerWebKitThread::setNeedsCommit):
3443 (WebCore::LayerWebKitThread::notifyAnimationsStarted):
3444 (WebCore::LayerWebKitThread::commitOnWebKitThread):
3445 (WebCore::LayerWebKitThread::startAnimations):
3446 (WebCore::LayerWebKitThread::updateTextureContents):
3447 (WebCore::LayerWebKitThread::commitOnCompositingThread):