1 2012-11-16 Patrick Gansterer <paroga@webkit.org>
3 Build fix for !USE(ACCELERATED_COMPOSITING) after r135029.
5 * rendering/RenderLayer.cpp:
6 (WebCore::RenderLayer::paintOverflowControls):
8 2012-11-16 Benjamin Poulain <bpoulain@apple.com>
10 Improve the performance of rect transform
11 https://bugs.webkit.org/show_bug.cgi?id=101828
13 Reviewed by Simon Fraser.
15 Mapping a rect and a quad by a transform is a common operation because
16 we use it to recompute the repaint rect, overflow rect, etc.
18 The way it was done, is by transforming through mapRect()->mapQuad()->4 times mapPoint().
19 Each of those functions tests isIdentityOrTranslation() which has to read the whole matrix
20 and perform many comparison.
21 Because of that, the simple mapping of a rect was loading and checking the matrix 5 times
24 This patch just cut the intermediary calls.
26 On ARM, putting the operation together also has the advantage of loading the matrix
27 only once in registers and reusing it for every point.
29 * platform/graphics/transforms/TransformationMatrix.cpp:
30 (WebCore::TransformationMatrix::mapPoint):
31 (WebCore::TransformationMatrix::mapRect):
32 * platform/graphics/transforms/TransformationMatrix.h:
34 (WebCore::TransformationMatrix::mapPointImpl): New convenience function to perform the
35 point project without doing isIdentityOrTranslation().
37 2012-11-16 Simon Fraser <simon.fraser@apple.com>
39 Avoid calling the virtual isBlockFlow() in RenderBox::computeRectForRepaint()
40 https://bugs.webkit.org/show_bug.cgi?id=102581
42 Reviewed by Dan Bernstein.
44 isBlockFlow() is a virtual function call, and shows up in profiles of
45 Facebook pages as called from RenderBox::computeRectForRepaint().
47 It's faster to do the hasColumns() bit-check first. Also replace
48 a call to layer() with the hasLayer() bit-check.
50 * rendering/RenderBox.cpp:
51 (WebCore::RenderBox::computeRectForRepaint):
53 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
55 Unreviewed, rolling out r134817.
56 http://trac.webkit.org/changeset/134817
57 https://bugs.webkit.org/show_bug.cgi?id=102576
59 Broke iframes and causing tons of crashes on ClusterFuzz
60 (Requested by inferno-sec on #webkit).
62 * dom/ContainerNode.cpp:
63 (WebCore::willRemoveChildren):
64 * dom/ContainerNodeAlgorithms.cpp:
65 (WebCore::ChildFrameDisconnector::collectDescendant):
66 * dom/ContainerNodeAlgorithms.h:
67 (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
68 (WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
69 (ChildFrameDisconnector):
70 (WebCore::ChildFrameDisconnector::collectDescendant):
71 (WebCore::ChildFrameDisconnector::disconnect):
76 (WebCore::NodeRareData::NodeRareData):
78 * html/HTMLFrameOwnerElement.cpp:
79 (WebCore::HTMLFrameOwnerElement::setContentFrame):
80 (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
82 2012-11-16 Simon Fraser <simon.fraser@apple.com>
84 Fix overlay scrollbar painting in compositing layers
85 https://bugs.webkit.org/show_bug.cgi?id=102442
87 Reviewed by Beth Dakin.
89 There were two issues with overlay scrollbar painting in
92 First, we'd only ever call setContainsDirtyOverlayScrollbars()
93 on the RenderView's layer, even when encountering an overlay scrollbar
94 in some descendant compositing layer. This meant that we'd never
95 run the paintOverlayScrollbars() code for those child compositing
96 layers, so sometimes scrollbars were missing there.
98 Even after fixing that, we would fail to render scrollbars that
99 were not in the composited RenderLayer itself. This happened because
100 we called into RenderLayer::paintOverlayScrollbars(), which called
101 paintLayer() with flags that only said to paint the overlay scrollbars
102 but not any descendants, so this paint path would not walk child
105 Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
106 ScrollView which is no longer used.
108 * platform/ScrollView.cpp:
109 (WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars().
110 (WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.
111 * platform/ScrollView.h:
112 * rendering/RenderLayer.cpp:
113 (WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars()
114 on the compositing ancestor or the root.
115 Remove call to setContainsScrollableAreaWithOverlayScrollbars().
116 (WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay
117 scrollbars, no need to say we have transparency, and no need to use
118 temporary clip rects.
119 (WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars
120 check here was only needed because the compositing entrypoint to painting
121 overlay scrollbars went via paintLayer(), which isn't normally used as
122 a composited painting entry point. Now that we no longer call that, we
123 don't need this special check.
124 * rendering/RenderLayerBacking.cpp:
125 (WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar
126 painting via paintLayerContents(), not paintOverlayScrollbars(), since
127 the latter does not traverse sublayers.
129 2012-11-16 Joshua Bell <jsbell@chromium.org>
131 IndexedDB: Assert hit when getting non-existent object store in version change transaction
132 https://bugs.webkit.org/show_bug.cgi?id=102547
134 Reviewed by Tony Chang.
136 Code did not account for the not-found case in "versionchange" transactions, where all
137 object stores are implicitly in scope.
139 Test: storage/indexeddb/object-lookups-in-versionchange.html
141 * Modules/indexeddb/IDBTransaction.cpp:
142 (WebCore::IDBTransaction::objectStore):
144 2012-11-12 Simon Fraser <simon.fraser@apple.com>
146 Eliminate ancestor tree walk computing outlineBoundsForRepaint() when updating layer positions
147 https://bugs.webkit.org/show_bug.cgi?id=101874
149 Reviewed by Dave Hyatt.
151 RenderLayer::updateLayerPositions() and updateLayerPositionsAfterScroll() spend a
152 lot of time in computeRepaintRects(), which does two ancestor tree walks, once
153 for clippedOverflowRectForRepaint(), and one for outlineBoundsForRepaint().
155 Eliminate the ancestor tree walk in outlineBoundsForRepaint() by maintaining
156 a RenderGeometryMap as we traverse the layer tree, and then using it to map
157 the outline bounds to the repaint container. Replace the hokey cached offsetFromRoot
158 now that the RenderGeometryMap can do a better job.
160 The clipped overflow rect cannot be mapped simply, so cannot yet make use of
163 Modify the RenderGeometryMap to support mapping to some repaintContainer ancestor.
164 Add a RenderObject walk that is necessary to detect flipped writing mode blocks.
166 Pass the RenderGeometryMap as an optional parameter to outlineBoundsForRepaint.
168 * page/FrameView.cpp:
169 (WebCore::FrameView::layout): Make a RenderGeometryMap and pass it down
170 to updateLayerPositions(). For partial layouts, we have to push layers
171 between the root and the enclosing layer of the layout subtree.
172 The geometry map used for repainting does not use SnapOffsetForTransforms,
173 so initialize it explicitly with just the UseTransforms flag.
174 (WebCore::FrameView::repaintFixedElementsAfterScrolling): Make a RenderGeometryMap
175 to pass along to updateLayerPositionsAfterScroll().
176 * rendering/RenderBox.cpp:
177 (WebCore::RenderBox::outlineBoundsForRepaint): Replace the optional cachedOffsetToRepaintContainer
178 parameter with an optional RenderGeometryMap, and it use to map the compute rect to
179 repaintContainer coordinates.
180 * rendering/RenderBox.h:
181 * rendering/RenderGeometryMap.cpp:
182 (WebCore::RenderGeometryMap::RenderGeometryMap): This now has to store the mapping
183 flags to use, so that its behavior can match that of mapLocalToContainer(). The
184 pertinent flag is the confusingly named SnapOffsetForTransforms.
185 (WebCore::RenderGeometryMap::absolutePoint): Call the new mapToContainer() with
187 (WebCore::RenderGeometryMap::absoluteRect): Ditto.
188 (WebCore::RenderGeometryMap::mapToContainer): Map to the supplied container,
189 asserting that we found it. Add point- and rect-based mapping methods
190 akin to the old absoluteRect/absolutePoint.
191 (WebCore::canMapViaLayer): We need to test for isRenderFlowThread() here too.
192 (WebCore::RenderGeometryMap::pushMappingsToAncestor): When mapping via
193 layers, ensure that the RenderView is pushed as the first step.
194 * rendering/RenderGeometryMap.h:
196 * rendering/RenderLayer.cpp:
197 (WebCore::RenderLayer::updateLayerPositionsAfterLayout): New wrapper for updateLayerPositions()
198 that makes the geometry map.
199 (WebCore::RenderLayer::updateLayerPositionsAfterScroll): New wrapper for updateLayerPositionsAfterScroll
200 that makes the geometry map.
201 (WebCore::RenderLayer::updateLayerPositions): Now takes an optional RenderGeometryMap.
202 Remove the old offsetFromRoot code. Push and pop layers to/from the geometry map. Use
203 the geometry map to get the offsetFromRoot as needed by overflow controls. Pass
204 it to computeRepaintRects().
205 (WebCore::RenderLayer::computeRepaintRects): Pass the geometry map to outlineBoundsForRepaint().
206 (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Push and pop to/from the
207 geometry map, and pass it to computeRepaintRects().
208 (WebCore::RenderLayer::removeOnlyThisLayer): Remove the offsetFromRootBeforeMove
209 computation; this could use a geometry map in future if it is shown to be a bottleneck.
210 * rendering/RenderLayer.h:
211 (WebCore::RenderLayer::canUseConvertToLayerCoords): It was thought that the isComposited()
212 was there because the older cached offsetFromRoot logic was sensitive to compositing,
213 but convertToLayerCoords() is not affected by compositing so this check is not needed,
214 and actually harmful.
215 * rendering/RenderLayerCompositor.cpp:
216 (WebCore::RenderLayerCompositor::OverlapMap::OverlapMap): The geometry map
217 used for overlap testing should not use SnapOffsetForTransforms, so initialize
218 it explicitly with just the UseTransforms flag.
219 * rendering/RenderObject.h:
220 (WebCore::RenderObject::outlineBoundsForRepaint):
221 * rendering/svg/RenderSVGModelObject.cpp:
222 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
223 * rendering/svg/RenderSVGModelObject.h:
224 (RenderSVGModelObject):
226 2012-11-16 Alec Flett <alecflett@chromium.org>
228 Add tests for explicit serialization values
229 https://bugs.webkit.org/show_bug.cgi?id=96818
231 Reviewed by Adam Barth.
233 Expose direct access to the serialization/deserialization mechanisms
234 of SerializedScriptValue to DumpRenderTree.
236 * testing/Internals.cpp:
237 (WebCore::Internals::serializeObject):
239 (WebCore::Internals::deserializeBuffer):
240 * testing/Internals.h:
242 * testing/Internals.idl:
244 2012-11-16 Andreas Kling <akling@apple.com>
246 Exploit shared attribute data to avoid parsing identical "style" attributes.
247 <http://webkit.org/b/101163>
249 Reviewed by Antti Koivisto.
251 Track the "inline style dirty" state on ElementAttributeData instead of in a Node flag.
252 This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
253 since the state is no longer per-Element.
255 * css/StyleResolver.cpp:
256 (WebCore::isCacheableInMatchedPropertiesCache):
258 Disable the matched properties cache for styles with non-standard writing-mode.
259 This is necessary because some CSS properties have different meaning depending on context -
260 properties handled by CSSProperty::resolveDirectionAwareProperty().
262 Now that multiple elements may have identical inlineStyle() pointers, this is necessary to
263 avoid mapping StylePropertySets with direction-aware properties to RenderStyles with differing
264 writing-modes in the matched properties cache.
267 * dom/ElementAttributeData.cpp:
268 (WebCore::ElementAttributeData::ElementAttributeData):
269 * dom/ElementAttributeData.h:
270 (WebCore::ElementAttributeData::ElementAttributeData):
271 (ElementAttributeData):
273 (WebCore::Element::updateInvalidAttributes):
275 (WebCore::Element::getAttribute):
276 (WebCore::Element::removeAttribute):
277 * dom/StyledElement.h:
278 (WebCore::StyledElement::invalidateStyleAttribute):
279 * dom/StyledElement.cpp:
280 (WebCore::StyledElement::updateStyleAttribute):
282 Move "style attribute dirty" flag to ElementAttributeData.
284 (WebCore::Element::cloneAttributesFromElement):
286 Remove ugly optimization to avoid reparsing inline style when cloning elements. This now happens
287 automagically since cloning nodes just refs the original attribute data.
289 * dom/StyledElement.cpp:
290 (WebCore::StyledElement::updateStyleAttribute):
291 (WebCore::StyledElement::setInlineStyleFromString):
292 (WebCore::StyledElement::styleAttributeChanged):
293 (WebCore::StyledElement::inlineStyleChanged):
295 Avoid reparsing the inline style if the element's attribute data is immutable and already has
296 a parsed inlineStyle(). Split the set-inline-style-from-string code out of styleAttributeChanged()
297 to make the code more understandable.
299 2012-11-16 Simon Fraser <simon.fraser@apple.com>
301 Don't update layer positions on scrolling if we're in the middle of layout
302 https://bugs.webkit.org/show_bug.cgi?id=102556
304 Reviewed by Dan Bernstein.
306 RenderLayer::scrollTo() can be called in the middle of layout. When
307 that happens we should not waste time updating layer positions,
308 compositing layers, or widget positions, because we'll do those at the
309 end of layout anyway.
311 This prevents us from having inconsistent RenderLayer state, which
312 hinders future optimizations in this area.
314 * rendering/RenderLayer.cpp:
315 (WebCore::RenderLayer::scrollTo):
317 2012-11-16 Tony Chang <tony@chromium.org>
319 Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
320 https://bugs.webkit.org/show_bug.cgi?id=102554
322 Reviewed by Andreas Kling.
324 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
325 we're going to revist this feature once additional vendor support is
328 No new tests, just removing an unused define.
330 * Configurations/FeatureDefines.xcconfig:
331 * GNUmakefile.features.am:
333 2012-11-16 Mark Pilgrim <pilgrim@chromium.org>
335 [Chromium] Remove cookie-related functions from PlatformSupport
336 https://bugs.webkit.org/show_bug.cgi?id=99340
338 Reviewed by Adam Barth.
340 Move cookie-related functions out of PlatformSupport and implement
341 new PlatformCookieJar interface via NetworkContext.
343 * WebCore.gyp/WebCore.gyp:
345 * loader/CookieJar.cpp:
346 * loader/chromium/CookieJarChromium.cpp: Removed.
347 * platform/chromium/PlatformSupport.h:
350 * platform/network/NetworkingContext.h:
353 * platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.
354 (WebCore::setCookiesFromDOM):
355 (WebCore::cookiesForDOM):
356 (WebCore::cookieRequestHeaderFieldValue):
357 (WebCore::cookiesEnabled):
358 (WebCore::getRawCookies):
359 (WebCore::deleteCookie):
360 (WebCore::getHostnamesWithCookies):
361 (WebCore::deleteCookiesForHostname):
362 (WebCore::deleteAllCookies):
364 2012-11-16 Pablo Flouret <pablof@motorola.com>
366 [JSC] Don't sanitize window.onerror information on crossorigin-enabled scripts
367 https://bugs.webkit.org/show_bug.cgi?id=70574
369 Reviewed by Geoffrey Garen.
371 For scripts that use CORS (via the crossorigin attribute in this case),
372 don't sanitize the information passed to the window's onerror handler (i.e.
373 message, url, and line number). Useful for scripts hosted on CDNs.
375 Tests: http/tests/security/script-crossorigin-onerror-information.html
376 http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html
381 * bindings/js/JSDOMBinding.cpp:
382 (WebCore::reportException):
383 * bindings/js/JSDOMBinding.h:
385 * bindings/js/ScriptController.cpp:
386 (WebCore::ScriptController::evaluateInWorld):
387 * bindings/js/ScriptSourceCode.h:
388 (WebCore::ScriptSourceCode::ScriptSourceCode):
389 (WebCore::ScriptSourceCode::cachedScript):
391 * bindings/js/WorkerScriptController.cpp:
392 (WebCore::WorkerScriptController::evaluate):
393 Keep a reference to the cached script in the ScriptSourceCode, so
394 that it can be passed around and be available when reporting the
397 * dom/ScriptExecutionContext.cpp:
398 (WebCore::ScriptExecutionContext::sanitizeScriptError):
399 (WebCore::ScriptExecutionContext::reportException):
400 (WebCore::ScriptExecutionContext::dispatchErrorEvent):
401 * dom/ScriptExecutionContext.h:
403 (ScriptExecutionContext):
404 Check if the script passes the access control checks, and if so,
405 don't sanitize the error information.
407 * html/parser/HTMLPreloadScanner.cpp:
408 (WebCore::PreloadTask::processAttributes):
409 (WebCore::PreloadTask::preload):
411 (WebCore::PreloadTask::crossOriginModeAllowsCookies):
412 When preloading script elements, check for the crossorigin attribute
413 and adjust the request's allowCookies value accordingly. Otherwise
414 when the script is loaded from the cache later on, the cross origin mode
415 (anonymous/use-credentials) will be effectively ignored.
417 2012-11-16 Jon Lee <jonlee@apple.com>
419 Change visual look of placeholder
420 https://bugs.webkit.org/show_bug.cgi?id=102149
421 <rdar://problem/12695566>
423 Reviewed by Darin Adler.
425 Move the button to the lower-right corner. Move the theming into
426 RenderSnapshottedPlugin for now. Eventually we will want to migrate to using the
427 shadow DOM instead, and the metrics of the button are needed for click passthrough.
429 * Resources/startButton.png: Added.
430 * Resources/startButton@2x.png: Added.
431 * Resources/startButtonPressed.png: Added.
432 * Resources/startButtonPressed@2x.png: Added.
433 * WebCore.xcodeproj/project.pbxproj: Add button images.
435 Maintain variables to track whether the mouse is over the button, and the rect
436 for the button. If the user clicks in the rect, we render a pressed button.
437 * rendering/RenderSnapshottedPlugIn.cpp:
438 (WebCore): Add named constant for bottom and right padding of the button.
439 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
440 (WebCore::RenderSnapshottedPlugIn::paintReplaced):
441 (WebCore::startButtonImage): Returns button image.
442 (WebCore::startButtonPressedImage): Returns pressed button image.
443 (WebCore::RenderSnapshottedPlugIn::paintButton): Draw the button image in the
444 lower right hand corner, but only if we are active or hovered.
445 (WebCore::RenderSnapshottedPlugIn::repaintButton): Stubbed to call repaint().
446 (WebCore::RenderSnapshottedPlugIn::handleEvent): Repaint the button if we are
447 hovering over the plugin rect. With a mouse down event, calculate whether the
448 mouse position is within the button rect.
449 (WebCore::RenderSnapshottedPlugIn::layout): Cache the rect representing the button
451 * rendering/RenderSnapshottedPlugIn.h:
453 Remove theming function for now.
454 * rendering/RenderTheme.h:
456 * rendering/RenderThemeMacShared.h:
457 * rendering/RenderThemeMacShared.mm:
459 2012-11-16 Eric Seidel <eric@webkit.org>
461 Deploy ScriptWrappable to more always-wrapped objects
462 https://bugs.webkit.org/show_bug.cgi?id=102539
464 Reviewed by Adam Barth.
466 Add the ScriptWrappable baseclass to:
467 CSSStyleDeclaration (anttik tells me these should only be used from JS, even though some old Editing code used to use them)
468 ClientRect (element.getBoundingClientRects)
469 Event (Not all events end up wrapped, but any which live past dispatch do)
470 NodeList (this covers Static and Dynamic node list types, like document.all)
471 HTMLCollection (separate from NodeList, for things like table.rows)
472 Storage (for window.storage, always wrapped)
473 XMLHttpRequest (always wrapped, created from JS)
475 This should be a small memory savings as the inline pointer is only 4-8 bytes
476 instead of the hashmap entry which would be 8-16. This may also show up
477 on benchmarks which repeatedly access these objects (like window.storage).
479 These were found by adding a couple lines of logging-code to
480 WebCore::createWrapper when we were in the main world, but took the
481 HashMap (instead of inline) storage path. I used sort and uniq -c
482 to find the most-frequently wrapped objects (while surfing
483 a few common sites) and came up with this list. There are still a few
484 more complicated objects (like CSSStyleDeclaration) which may benifit
485 from inline-wrapper-access and will be covered in a later patch.
487 * css/CSSStyleDeclaration.h:
491 * html/HTMLCollection.h:
493 * xml/XMLHttpRequest.h:
495 2012-11-16 Jon Lee <jonlee@apple.com>
497 Simulated events instances do not all have the same underlying event
498 https://bugs.webkit.org/show_bug.cgi?id=102468
499 <rdar://problem/12716331>
501 Reviewed by Alexey Proskuryakov.
503 The PassRefPtr with the underlying event is included as an argument for the mouse
504 down, up, and click events. But the PassRefPtr loses its underlying pointer after
505 the first simulated mouse down event because it gets assigned to that event's
506 private m_underlyingEvent variable. We therefore send NULL to the other events.
508 The fix is for this and related functions to pass the raw pointer.
510 A layout test is not possible to put together because the call sites that use simulated
511 events with an underlying event do not send mouse events, and those that send mouse
512 events have a NULL underlying event.
514 * dom/EventDispatcher.cpp:
515 (WebCore::EventDispatcher::dispatchSimulatedClick): Require passing in the raw pointer.
516 * dom/EventDispatcher.h:
518 (WebCore::Node::dispatchSimulatedClick): Ditto.
521 2012-11-16 Patrick Gansterer <paroga@webkit.org>
523 Build fix for WinCE after r134936.
525 * platform/network/win/CookieJarWin.cpp:
526 (WebCore::cookieRequestHeaderFieldValue):
528 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
530 Unreviewed, rolling out r134986.
531 http://trac.webkit.org/changeset/134986
532 https://bugs.webkit.org/show_bug.cgi?id=102110
534 Triggered ASSERT in fast/frames/seamless/seamless-inherited-
537 * css/StyleResolver.cpp:
538 (WebCore::StyleResolver::StyleResolver):
539 (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
540 (WebCore::collectCSSOMWrappers):
541 * css/StyleResolver.h:
544 (WebCore::Document::setCompatibilityMode):
545 * dom/DocumentStyleSheetCollection.cpp:
546 (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
547 (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
548 (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
550 (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
551 (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
552 (WebCore::DocumentStyleSheetCollection::addUserSheet):
553 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
554 (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
555 * dom/DocumentStyleSheetCollection.h:
556 (DocumentStyleSheetCollection):
557 (WebCore::DocumentStyleSheetCollection::documentUserSheets):
558 * page/PageGroup.cpp:
559 (WebCore::PageGroup::addUserStyleSheetToWorld):
560 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
561 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
562 (WebCore::PageGroup::removeAllUserContent):
563 (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
567 2012-11-16 Michael Pruett <michael@68k.org>
569 IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions
570 https://bugs.webkit.org/show_bug.cgi?id=102430
572 Reviewed by Adam Barth.
574 DOMRequestState is currently propagated to some but not all of
575 the IndexedDB binding utility functions. In order to implement
576 these functions for JSC, this state must be propagated to all
577 of the utility functions.
579 Tests: storage/indexeddb/*
581 * Modules/indexeddb/IDBCursor.cpp:
582 (WebCore::IDBCursor::update):
583 (WebCore::IDBCursor::setValueReady):
584 * Modules/indexeddb/IDBObjectStore.cpp:
585 (WebCore::generateIndexKeysForValue):
586 (WebCore::IDBObjectStore::put):
588 * Modules/indexeddb/IDBRequest.cpp:
589 (WebCore::IDBRequest::onSuccess):
590 (WebCore::IDBRequest::dispatchEvent):
591 * Modules/indexeddb/IDBRequest.h:
592 (WebCore::IDBRequest::requestState):
594 * bindings/v8/IDBBindingUtilities.cpp:
595 (WebCore::createIDBKeyFromScriptValueAndKeyPath):
596 (WebCore::serializeIDBValue):
597 (WebCore::injectIDBKeyIntoScriptValue):
598 * bindings/v8/IDBBindingUtilities.h:
601 2012-11-16 Byungwoo Lee <bw80.lee@samsung.com>
603 Rebaselined run-bindings-tests.
604 https://bugs.webkit.org/show_bug.cgi?id=102523
606 Reviewed by Dimitri Glazkov.
608 Expected results need to be updated after r134931
610 * bindings/scripts/test/JS/JSTestObj.cpp:
611 (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
612 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
613 (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
614 * bindings/scripts/test/V8/V8TestObj.cpp:
615 (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
616 (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
617 (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
619 2012-11-16 Pratik Solanki <psolanki@apple.com>
621 For single element arrays use the pointer into the CFDataRef instead of copying data
622 https://bugs.webkit.org/show_bug.cgi?id=102306
623 <rdar://problem/12267471>
625 Reviewed by Alexey Proskuryakov.
627 We generally copy the data received from CFNetwork into our own buffers. But if the
628 CFArrayRef has exactly one CFDataRef inside it, then we can just hold on to the CFDataRef
629 and access its memory directly and avoid making a copy.
631 This also moves the creation of PurgeableBuffer from CachedResource to SharedBuffer.
632 SharedBuffer::createPurgeableBuffer() will avoid creating PurgeableBuffer when the
633 SharedBuffer is backed by a NSData/CFDataRef and when we want to optimize and directly use
634 the memory in the data array.
636 No new tests because no change in functionality.
638 * loader/ResourceBuffer.cpp:
639 (WebCore::ResourceBuffer::createPurgeableBuffer): Added.
640 * loader/ResourceBuffer.h:
641 * loader/cache/CachedResource.cpp:
642 (WebCore::CachedResource::makePurgeable):
643 * platform/SharedBuffer.cpp:
644 (WebCore::SharedBuffer::createPurgeableBuffer): Added.
645 (WebCore::SharedBuffer::data):
646 * platform/SharedBuffer.h:
647 * platform/cf/SharedBufferCF.cpp:
648 (WebCore::SharedBuffer::platformData): Use reinterpret_cast instead of C-style cast.
649 (WebCore::SharedBuffer::maybeTransferPlatformData): Use reinterpret_cast instead of C-style cast.
650 (WebCore::SharedBuffer::singleDataArrayBuffer): Added.
652 2012-11-16 Antti Koivisto <antti@apple.com>
654 REGRESSION(r129644): User StyleSheet not applying
655 https://bugs.webkit.org/show_bug.cgi?id=102110
657 Reviewed by Andreas Kling.
659 Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
660 such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.
662 The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
663 It also generally cleans up the code around injected and user stylesheets.
665 Tests: userscripts/user-script-and-stylesheet.html
666 userscripts/user-stylesheet-invalidate.html
668 * css/StyleResolver.cpp:
669 (WebCore::StyleResolver::StyleResolver):
670 (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
671 (WebCore::collectCSSOMWrappers):
672 * css/StyleResolver.h:
675 (WebCore::Document::setCompatibilityMode):
676 * dom/DocumentStyleSheetCollection.cpp:
677 (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
678 (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
679 (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
681 (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
682 (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
683 (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
684 (WebCore::DocumentStyleSheetCollection::addUserSheet):
685 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
686 (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
687 * dom/DocumentStyleSheetCollection.h:
688 (WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
689 (DocumentStyleSheetCollection):
690 * page/PageGroup.cpp:
691 (WebCore::PageGroup::addUserStyleSheetToWorld):
692 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
693 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
694 (WebCore::PageGroup::removeAllUserContent):
695 (WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):
699 2012-11-16 Andreas Kling <akling@apple.com>
701 StyleResolver: Only input elements need equal "readonly" attribute for style sharing.
702 <http://webkit.org/b/102536>
704 Reviewed by Antti Koivisto.
706 Move the comparison of the "readonly" attribute into canShareStyleWithControl() since it's only
707 relevant for sharing style between <input> elements.
709 Also skip attribute comparisons for form control elements that share the same ElementAttributeData.
711 * css/StyleResolver.cpp:
712 (WebCore::StyleResolver::canShareStyleWithControl):
713 (WebCore::haveIdenticalStyleAffectingAttributes):
715 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
717 Unreviewed, rolling out r134867.
718 http://trac.webkit.org/changeset/134867
719 https://bugs.webkit.org/show_bug.cgi?id=102544
721 Broke security fuzzier test (heap-buffer-overflow) (Requested
722 by bfulgham on #webkit).
724 * platform/audio/Biquad.cpp:
725 (WebCore::Biquad::process):
727 2012-11-16 Tommy Widenflycht <tommyw@google.com>
729 MediaStream API: Update RTCPeerConnection states to match the latest editors draft
730 https://bugs.webkit.org/show_bug.cgi?id=102382
732 Reviewed by Adam Barth.
734 Updating readyState & iceState, and adding iceGatheringState.
735 Also safeguarding the event timer callback.
737 Patch covered by existing tests.
739 * Modules/mediastream/RTCPeerConnection.cpp:
740 (WebCore::RTCPeerConnection::RTCPeerConnection):
741 (WebCore::RTCPeerConnection::createOffer):
742 (WebCore::RTCPeerConnection::createAnswer):
743 (WebCore::RTCPeerConnection::setLocalDescription):
744 (WebCore::RTCPeerConnection::localDescription):
745 (WebCore::RTCPeerConnection::setRemoteDescription):
746 (WebCore::RTCPeerConnection::remoteDescription):
747 (WebCore::RTCPeerConnection::updateIce):
748 (WebCore::RTCPeerConnection::addIceCandidate):
749 (WebCore::RTCPeerConnection::readyState):
750 (WebCore::RTCPeerConnection::iceGatheringState):
752 (WebCore::RTCPeerConnection::iceState):
753 (WebCore::RTCPeerConnection::addStream):
754 (WebCore::RTCPeerConnection::close):
755 (WebCore::RTCPeerConnection::didChangeIceGatheringState):
756 (WebCore::RTCPeerConnection::stop):
757 (WebCore::RTCPeerConnection::changeReadyState):
758 (WebCore::RTCPeerConnection::scheduledEventTimerFired):
759 * Modules/mediastream/RTCPeerConnection.h:
761 * Modules/mediastream/RTCPeerConnection.idl:
764 * platform/mediastream/RTCPeerConnectionHandlerClient.h:
765 (RTCPeerConnectionHandlerClient):
766 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
767 (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
769 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
770 (RTCPeerConnectionHandlerChromium):
772 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
774 Unreviewed, rolling out r134973.
775 http://trac.webkit.org/changeset/134973
776 https://bugs.webkit.org/show_bug.cgi?id=99340
778 Broke compile on at least Mac and Linux.
780 * WebCore.gyp/WebCore.gyp:
782 * loader/CookieJar.cpp:
783 * loader/chromium/CookieJarChromium.cpp: Renamed from Source/WebKit/chromium/src/FrameNetworkingContextImpl.cpp.
785 (WebCore::setCookies):
787 (WebCore::cookieRequestHeaderFieldValue):
788 (WebCore::cookiesEnabled):
789 (WebCore::getRawCookies):
790 (WebCore::deleteCookie):
791 (WebCore::getHostnamesWithCookies):
792 (WebCore::deleteCookiesForHostname):
793 (WebCore::deleteAllCookies):
794 * platform/chromium/PlatformSupport.h:
797 * platform/network/NetworkingContext.h:
798 * platform/network/chromium/CookieJarChromium.cpp: Removed.
800 2012-11-16 Martin Robinson <mrobinson@igalia.com>
802 [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
803 https://bugs.webkit.org/show_bug.cgi?id=101843
805 Reviewed by Gustavo Noronha Silva.
807 Make GtkAuthenticationDialog more general, so that it can be subclassed in
808 WebKit2. We cannot use the WebCore authentication-related classes directly there.
810 No new tests. This patch does not change behavior.
812 * platform/gtk/GtkAuthenticationDialog.cpp:
813 (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Remove an unused include and reorder
814 some field initializers.
815 (WebCore::GtkAuthenticationDialog::authenticate): Now handle both the okay and cancel case here. This
816 makes it simpler to subclass.
817 (WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback): Handle fetching the username
818 and password here, so that it can be shared with subclasses.
819 * platform/gtk/GtkAuthenticationDialog.h: Make some methods virtual and protected so they can be
822 2012-11-16 Mark Pilgrim <pilgrim@chromium.org>
824 [Chromium] Remove cookie-related functions from PlatformSupport
825 https://bugs.webkit.org/show_bug.cgi?id=99340
827 Reviewed by Adam Barth.
829 Move cookie-related functions out of PlatformSupport and implement
830 new PlatformCookieJar interface via NetworkContext.
832 * WebCore.gyp/WebCore.gyp:
834 * loader/CookieJar.cpp:
835 * loader/chromium/CookieJarChromium.cpp: Removed.
836 * platform/chromium/PlatformSupport.h:
839 * platform/network/NetworkingContext.h:
842 * platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.
843 (WebCore::setCookiesFromDOM):
844 (WebCore::cookiesForDOM):
845 (WebCore::cookieRequestHeaderFieldValue):
846 (WebCore::cookiesEnabled):
847 (WebCore::getRawCookies):
848 (WebCore::deleteCookie):
849 (WebCore::getHostnamesWithCookies):
850 (WebCore::deleteCookiesForHostname):
851 (WebCore::deleteAllCookies):
853 2012-11-16 Byungwoo Lee <bw80.lee@samsung.com>
855 Fix assertion bug of build fix r134961
856 https://bugs.webkit.org/show_bug.cgi?id=102533
858 Reviewed by Martin Robinson.
860 Assertion condition should be '!d->m_currentWebChallenge.isNull()'
862 * platform/network/soup/ResourceHandleSoup.cpp:
863 (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
865 2012-11-16 Tommy Widenflycht <tommyw@google.com>
867 [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
868 https://bugs.webkit.org/show_bug.cgi?id=102386
870 Reviewed by Adam Barth.
872 Existing tests expanded to cover patch.
874 * platform/mediastream/RTCDataChannelDescriptor.cpp:
875 (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
876 (WebCore::RTCDataChannelDescriptor::readyStateChanged):
877 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
878 (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
880 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
882 (RTCPeerConnectionHandlerChromium):
884 2012-11-16 Scott Violet <sky@chromium.org>
886 [chromium] Copy linux theme related files to default
887 https://bugs.webkit.org/show_bug.cgi?id=102403
889 Reviewed by Tony Chang
891 Transitional patch that copies linux WebThemeEngine to default directory.
893 No new tests, refactoring only.
895 * WebCore.gyp/WebCore.gyp: Update compile rules when use_default_render_theme is set.
896 * WebCore.gypi: Adds new files.
897 * platform/chromium/PlatformSupport.h:
898 * platform/chromium/PlatformThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.cpp.
899 * platform/chromium/PlatformThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.h.
900 * platform/chromium/ScrollbarThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp.
901 * platform/chromium/ScrollbarThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h.
902 * rendering/RenderThemeChromiumDefault.cpp: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.cpp.
903 * rendering/RenderThemeChromiumDefault.h: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.h.
905 2012-11-16 Alec Flett <alecflett@chromium.org>
907 IndexedDB: add missing 'explicit' and fix backing store release
908 https://bugs.webkit.org/show_bug.cgi?id=102450
910 Reviewed by Tony Chang.
912 A inconsequential regression was introduced in http://trac.webkit.org/changeset/134129
913 which resulted in objects sticking around a bit longer than
914 expected. This makes sure the LevelDBTransaction is released
915 at the moment of commit/rollback rather than when IDBTransactionBackendImpl
918 No new tests, this is just internal state that will affect
919 some future refactoring.
921 * Modules/indexeddb/IDBBackingStore.h:
924 (WebCore::IDBBackingStore::Transaction::reset):
925 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
926 (WebCore::IDBTransactionBackendImpl::abort):
927 (WebCore::IDBTransactionBackendImpl::commit):
929 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
931 [Chromium] One last tweak to WebCore.gypi to make Win build not sad.
933 * WebCore.gypi: Removed one last mention of accessibility/gtk file.
935 2012-11-16 Robert Flack <flackr@chromium.org>
937 Handle gesture events on scrollbars.
938 https://bugs.webkit.org/show_bug.cgi?id=101516
940 Reviewed by Antonio Gomes.
942 Adds a gesture event handler to scrollbars and sends gestures beginning
943 over a scrollbar to this handler to allow touch scrolling scrollbars.
945 Test: fast/events/touch/gesture/gesture-scrollbar.html
947 * page/EventHandler.cpp:
948 (WebCore::EventHandler::clear):
949 (WebCore::EventHandler::handleGestureEvent):
950 (WebCore::EventHandler::isScrollbarHandlingGestures):
952 * page/EventHandler.h:
954 * platform/Scrollbar.cpp:
955 (WebCore::Scrollbar::Scrollbar):
957 (WebCore::Scrollbar::gestureEvent):
958 (WebCore::Scrollbar::mouseMoved):
959 (WebCore::Scrollbar::mouseUp):
960 (WebCore::Scrollbar::mouseDown):
961 * platform/Scrollbar.h:
964 * platform/ScrollbarTheme.h:
965 (WebCore::ScrollbarTheme::hitTest):
966 * platform/ScrollbarThemeComposite.cpp:
967 (WebCore::ScrollbarThemeComposite::hitTest):
968 * platform/ScrollbarThemeComposite.h:
969 (ScrollbarThemeComposite):
970 * platform/qt/ScrollbarThemeQStyle.cpp:
971 (WebCore::ScrollbarThemeQStyle::hitTest):
972 * platform/qt/ScrollbarThemeQStyle.h:
973 (ScrollbarThemeQStyle):
975 2012-11-16 Xianzhu Wang <wangxianzhu@chromium.org>
977 [Chromium-Android] Stack overflow in MediaControlsChromiumAndroid.cpp
978 https://bugs.webkit.org/show_bug.cgi?id=102444
980 Reviewed by Adam Barth.
982 No new tests. Have been covered by many existing layout tests.
984 * html/shadow/MediaControlsChromiumAndroid.cpp:
985 (WebCore::MediaControls::create): Calls createControls instead of itself.
987 2012-11-16 Andreas Kling <akling@apple.com>
989 StyleResolver: Optimize sharing candidate evaluation for elements with shared attribute data.
990 <http://webkit.org/b/102507>
992 Reviewed by Antti Koivisto.
994 When evaluating two elements as potential style sharing candidate, we have a whole bunch of code
995 comparing the various attributes that would prevent sharing.
997 If the two elements both share the same ElementAttributeData, we can skip all those checks
998 since they are guaranteed to have equal attributes.
1000 Cuts the time spent in canShareStyleWithElement() by 25% on the HTML5 spec at <http://whatwg.org/c>.
1002 * css/StyleResolver.cpp:
1003 (WebCore::haveIdenticalStyleAffectingAttributes):
1004 (WebCore::StyleResolver::canShareStyleWithElement):
1006 2012-11-16 Byungwoo Lee <bw80.lee@samsung.com>
1008 [EFL][GTK] Build fix after r134955
1009 https://bugs.webkit.org/show_bug.cgi?id=102527
1011 Reviewed by Martin Robinson.
1013 Fix the EFL,GTK debug bulid fails after r134955.
1015 * platform/network/soup/ResourceHandleSoup.cpp:
1016 (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
1018 2012-11-15 Alexey Proskuryakov <ap@apple.com>
1020 Private Browsing is a per-page setting that sets a global value
1021 https://bugs.webkit.org/show_bug.cgi?id=67870
1023 Reviewed by Sam Weinig.
1025 Make ResourceHandle{Mac,CFNet} use context to access storage session.
1027 * WebCore.exp.in: We track less session state in WebCore now, so we need fewer
1030 * loader/FrameNetworkingContext.h: Added an OVERRIDE.
1032 * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): WebCore
1033 no longer keeps track of a globally enabled private CFNetwork storage session.
1035 * platform/CookiesStrategy.h: Added defaultCookieStorage(). Some cookie jar methods
1036 don't have a NetworkingContext pointer, and have to use whatever a client expects
1037 them to do. Perhaps we should move those methods away from WebCore eventually.
1039 * platform/network/NetworkingContext.h: Added storageSession().
1041 * platform/network/ResourceHandle.h: Removed sttaic methods for dealing with global
1044 * platform/network/ResourceHandleInternal.h: Added m_storageSession. We need to
1045 remember it post-creation to do things in willSendRequest. Alternatively, we could
1046 keep a reference to NetworkingContext itself.
1048 * platform/network/cf/CookieJarCFNet.cpp:
1049 (WebCore::setCookiesFromDOM): currentCFHTTPCookieStorage now needs a context,
1050 there is no globally current one any more. Also, we don't really expect cookie
1051 stirage to be 0 when not using NSURLConnection.
1052 (WebCore::cookiesForDOM): Ditto.
1053 (WebCore::cookieRequestHeaderFieldValue): Ditto.
1054 (WebCore::cookiesEnabled): Ditto.
1055 (WebCore::getRawCookies): Ditto.
1056 (WebCore::deleteCookie): Ditto.
1057 (WebCore::getHostnamesWithCookies): Ditto.
1058 (WebCore::deleteCookiesForHostname): Ditto.
1059 (WebCore::deleteAllCookies): Ditto.
1060 * platform/network/cf/CookieStorageCFNet.cpp:
1061 (WebCore::currentCFHTTPCookieStorage): Use a context.
1062 (WebCore::defaultCFHTTPCookieStorage): Except for Windows-only override session,
1063 this is implemented in a strategy.
1064 (WebCore::overridenCookieStorage): Exposed the override for WebKit use on Windows.
1066 * platform/network/cf/CookieStorageCFNet.h: Ditto.
1068 * platform/network/cf/ResourceHandleCFNet.cpp:
1069 (WebCore::willSendRequest): Use storage session from the context, not global one.
1070 (WebCore::makeFinalRequest): Merged this into the only remaining caller. This
1071 function didn't really make any sense on its own.
1072 (WebCore::shouldRelaxThirdPartyCookiePolicy): Factored out of createCFURLConnection
1074 (WebCore::ResourceHandle::createCFURLConnection): While merging makeFinalRequest()
1075 in, removed some seemingly nonsensical code that was getting and immediately re-applying
1076 cookie storage accept policy.
1077 (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest.
1078 (WebCore::ResourceHandle::willSendRequest): Apply the stored session, not global one.
1079 (WebCore::ResourceHandle::storageSession): An accessor for static methods that cannot
1081 (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest.
1082 (WebCore::ResourceHandle::willLoadFromCache): Don't call makeFinalRequest here.
1083 It didn't match Mac, and nothing in makeFinalRequest should have affected the result.
1085 * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest):
1086 This function used to apply current storage session to every request for no apparent
1089 * platform/network/mac/CookieJarMac.mm:
1090 (WebCore::cookiesForDOM): Changed to pass context to currentCFHTTPCookieStorage.
1091 (WebCore::cookieRequestHeaderFieldValue): Ditto.
1092 (WebCore::setCookiesFromDOM): Ditto.
1093 (WebCore::cookiesEnabled): Ditto.
1094 (WebCore::getRawCookies): Ditto.
1095 (WebCore::deleteCookie): Ditto.
1096 (WebCore::getHostnamesWithCookies): Ditto.
1097 (WebCore::deleteCookiesForHostname): Ditto.
1098 (WebCore::deleteAllCookies): Ditto.
1099 * platform/network/mac/ResourceHandleMac.mm:
1100 (WebCore::shouldRelaxThirdPartyCookiePolicy): There was no need to special case
1101 null currentCFHTTPCookieStorage, WKSI handles that internally. Added a context
1102 argument, so that the function can access current session.
1103 (WebCore::ResourceHandle::createNSURLConnection): Updated for other code changes.
1104 (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest.
1105 (WebCore::ResourceHandle::willLoadFromCache): Style fix.
1106 (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession()
1107 for use in willSendRequest.
1108 (WebCore::ResourceHandle::willSendRequest): Use stored session, not global one.
1110 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
1112 [Chromium] Land a proper fix for r134939.
1114 * WebCore.gyp/WebCore.gyp: Added exclusion for "atk".
1115 * WebCore.gypi: Put the accessibility/atk directory back into WebCore.gypi.
1117 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
1119 [Chromium] Just yank the whole accessibility/atk dir out of WebCore.gypi.
1121 2012-11-16 Dimitri Glazkov <dglazkov@chromium.org>
1123 [Chromium] Updated WebCore.gypi after r134939.
1125 * WebCore.gypi: Renamed acessibility/gtk to accessibility/atk.
1127 2012-11-16 Martin Robinson <mrobinson@igalia.com>
1129 [GTK] Move CredentialBackingStore usage from GtkAuthenticationDialog to ResourceHandleSoup
1130 https://bugs.webkit.org/show_bug.cgi?id=101840
1132 Reviewed by Gustavo Noronha Silva.
1134 Make ResourceHandleSoup aware of per-session CredentialStorage and persistent CredentialStorage.
1135 Persistent credential storage interaction is moved from GtkAuthenticationDialog, so that it can
1136 be used whether or not GtkAuthenticationDialog is used or not. We try to properly handle redirects
1137 in the manner that the CFNet backend does.
1139 No new tests. There are tests for this behavior, but they cannot be activated until we finish
1140 plumbing this through to the API layer. Once that patch lands, the tests will be turned on.
1142 * platform/gtk/GtkAuthenticationDialog.cpp: No longer store credentials into the persistent
1143 storage manually, instead rely on ResourceHandleSoup. Also, we no longer get proposed credentials
1144 from the persistent storage here as well. They are pre-loaded by the ResourceHanndle.
1145 * platform/gtk/GtkAuthenticationDialog.h: Remove callbacks and members associated with saving
1146 credentials to the persistent credential store.
1147 * platform/network/ResourceHandle.h:
1148 (ResourceHandle): Add a method which is used to continue asynchronously after looking for
1149 proposed credentials in the persistent credential store.
1150 * platform/network/ResourceHandleInternal.h: Add a member which tracks persistent credentials to be added once we know
1151 an authentication succeeded.
1152 * platform/network/gtk/CredentialBackingStore.cpp:
1153 (CredentialForChallengeAsyncReadyCallbackData): Added this data structure used for asynchronous access
1154 of stored credentials.
1155 (WebCore::credentialForChallengeAsyncReadyCallback): Ditto for this callback.
1156 (WebCore::CredentialBackingStore::credentialForChallenge): Make this method asynchronous.
1157 * platform/network/gtk/CredentialBackingStore.h:
1158 (CredentialBackingStore): Update method signatures for for making credentialForChallenge asynchronous.
1159 * platform/network/soup/AuthenticationChallenge.h:
1160 (WebCore::AuthenticationChallenge::setProposedCredential): Added a setter so that ResourceHandleSoup
1161 can set proposed credentials from the persistent credential store.
1162 * platform/network/soup/ResourceHandleSoup.cpp:
1163 (WebCore::gotHeadersCallback): For GTK+ save any pending credential in the persistent credential storage
1164 if the authentication succeeded.
1165 (WebCore::applyAuthenticationToRequest): Added this method which generically embeds stored credentials
1166 in the request URI. This is the method that Soup uses to override any soup-stored session credential.
1167 (WebCore::restartedCallback): Strip credentials for requests that span a security origin. Handle
1168 authenticating requests from the session store.
1169 (WebCore::createSoupRequestAndMessageForHandle): Make the local request reference mutable.
1170 (WebCore::ResourceHandle::start): Remove some code which is now part of applyAuthenticationToRequest.
1171 Call applyAuthenticationToRequest and clear the user and password members like the CFNet backend does.
1172 (WebCore::getCredentialFromPersistentStoreCallback): Added this callback for getting persistently stored credentials.
1173 (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Split out didReceiveAuthenticationChallenge
1174 into this asynchronous bit.
1175 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): For GTK+ continue handling this situation after
1176 first looking in the persistent credential store.
1177 (WebCore::ResourceHandle::receivedCredential): Store session credentials in the session storage, which is
1178 at the moment a redundant version of the Soup session storage and also prepare any persistent credentials
1179 for storage later (see gotHeadersCallback).
1181 2012-11-16 Erik Arvidsson <arv@chromium.org>
1183 Update DOMException name: TypeMismatchError
1184 https://bugs.webkit.org/show_bug.cgi?id=102418
1186 Reviewed by Kentaro Hara.
1188 Patch 17 of 25 to update DOMException name to match the spec and Firefox.
1190 Updated existing tests.
1192 * dom/DOMCoreException.cpp:
1194 * dom/ExceptionCode.h:
1196 2012-11-16 Balazs Kelemen <kbalazs@webkit.org>
1198 Coordinated Graphics: support the "freeze animations" API
1199 https://bugs.webkit.org/show_bug.cgi?id=100703
1201 Reviewed by Noam Rosenthal.
1203 Typo fix after previous patch.
1205 No new tests, it's just a typo that only takes effect in the browser.
1207 * platform/graphics/GraphicsLayerAnimation.cpp:
1208 (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
1211 2012-11-16 Dan Carney <dcarney@google.com>
1213 add 7 bit strings capabilities to the v8 binding layer
1214 https://bugs.webkit.org/show_bug.cgi?id=91850
1216 Reviewed by Adam Barth.
1218 This change enables the v8 binding layer to make use of webkit's
1219 8 bit string capabilities. Using 8 bit strings leads to certain
1220 benchmark performance improvemnts as can be seen in
1221 https://bug-91850-attachments.webkit.org/attachment.cgi?id=163334.
1223 No new tests. Test coverage already extensive.
1225 * bindings/v8/V8PerIsolateData.cpp:
1226 (WebCore::V8PerIsolateData::visitExternalStrings):
1227 * bindings/v8/V8StringResource.cpp:
1232 (WebCore::v8StringToWebCoreString):
1233 * bindings/v8/V8ValueCache.cpp:
1234 (WebCore::makeExternalString):
1235 (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
1237 (WebCore::WebCoreStringResourceBase::visitStrings):
1238 * bindings/v8/V8ValueCache.h:
1239 (WebCoreStringResourceBase):
1240 (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
1241 (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
1242 (WebCore::WebCoreStringResourceBase::atomicString):
1243 (WebCore::WebCoreStringResourceBase::memoryConsumption):
1244 (WebCoreStringResource16):
1245 (WebCore::WebCoreStringResource16::WebCoreStringResource16):
1247 (WebCoreStringResource8):
1248 (WebCore::WebCoreStringResource8::WebCoreStringResource8):
1250 2012-11-16 Erik Arvidsson <arv@chromium.org>
1252 Update DOMException name: InvalidAccessError
1253 https://bugs.webkit.org/show_bug.cgi?id=102400
1255 Reviewed by Kentaro Hara.
1257 Patch 15 of 25 to update DOMException name to match the spec and Firefox.
1259 Updated existing tests.
1261 * dom/DOMCoreException.cpp:
1263 2012-11-16 Alexandru Chiculita <achicu@adobe.com>
1265 [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
1266 https://bugs.webkit.org/show_bug.cgi?id=102414
1268 Reviewed by Noam Rosenthal.
1270 Added WebCore classes needed for the WebKit2 implementation of Texture Mapper to keep a reference to the
1271 platform compiled custom filter. It is just used to maintain the life-time of the objects. WebKit2 injects a
1272 client in TextureMapperPlatformCompiledProgram and receives a callback when the custom filter program is not
1273 used to render any layer on the page.
1275 Note that CustomFilterValidatedProgram are reused across multiple elements of the same page. Also, the instances
1276 are reused across frames, so animations should reuse the same pre-validated program. In this case, the mechanism is
1277 extended and reused in the platform compositor.
1279 No new tests, existing tests for CSS Custom Filters already cover this path.
1283 * GNUmakefile.list.am:
1286 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1288 * platform/graphics/filters/CustomFilterValidatedProgram.h:
1290 (CustomFilterValidatedProgram):
1291 * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Added.
1293 (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): Platform implementation for creating and deleting the reference.
1294 (WebCore::CustomFilterValidatedProgram::platformInit):
1295 (WebCore::CustomFilterValidatedProgram::platformDestroy):
1296 * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Added.
1298 (TextureMapperPlatformCompiledProgramClient):
1299 (WebCore::TextureMapperPlatformCompiledProgramClient::ref):
1300 (WebCore::TextureMapperPlatformCompiledProgramClient::deref):
1301 (TextureMapperPlatformCompiledProgram):
1302 Stores a link to a TextureMapperPlatformCompiledProgramClient. It's main purpose is to call unref on the client when
1303 the shader is not needed anymore. WebKit2 can use that to delete the corresponding shader from the compositor side.
1304 (WebCore::TextureMapperPlatformCompiledProgram::create):
1305 (WebCore::TextureMapperPlatformCompiledProgram::setClient): Used by WebKit2 to inject the platform client.
1306 (WebCore::TextureMapperPlatformCompiledProgram::client):
1307 (WebCore::TextureMapperPlatformCompiledProgram::TextureMapperPlatformCompiledProgram):
1309 2012-11-16 Andreas Kling <akling@apple.com>
1311 Short-circuit Element::hasEquivalentAttributes() if elements share attribute data.
1312 <http://webkit.org/b/102498>
1314 Reviewed by Antti Koivisto.
1316 Add a fast path to hasEquivalentAttributes() that checks if both elements are using
1317 the same ElementAttributeData.
1320 (WebCore::Element::hasEquivalentAttributes):
1322 2012-11-16 Zeno Albisser <zeno@webkit.org>
1324 [Qt] Adding a null pointer check for currentContext to GraphicsContext3DQt.
1325 https://bugs.webkit.org/show_bug.cgi?id=102360
1327 QOpenGLContext::currentContext() will return null, in case there is
1328 no current context. Therefore currentContext must be null-checked
1329 before it can be reused.
1330 Making a context current on a null-surface on the other hand is
1333 Reviewed by Kenneth Rohde Christiansen.
1335 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1336 (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
1338 2012-11-16 Eugene Klyuchnikov <eustas.bug@gmail.com>
1340 Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
1341 https://bugs.webkit.org/show_bug.cgi?id=102488
1343 Reviewed by Vsevolod Vlasov.
1345 Panels are lazily loaded / instantiated.
1346 Panel constructors register keyboard shortcuts.
1348 When user open shortcuts screen all panel should be loaded.
1349 Otherwise some shortcuts will be missing.
1351 * inspector/front-end/ShortcutsScreen.js: Added callback invokation.
1352 * inspector/front-end/inspector.js:
1353 Provided callback that loads all panels.
1355 2012-11-16 Kentaro Hara <haraken@chromium.org>
1357 [V8] Remove IsSubType() from CodeGeneratorV8.pm
1358 https://bugs.webkit.org/show_bug.cgi?id=102348
1360 Reviewed by Adam Barth.
1362 CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.
1364 No tests. No change in behavior.
1366 * bindings/scripts/CodeGenerator.pm:
1368 * bindings/scripts/CodeGeneratorJS.pm:
1369 (GenerateImplementation):
1370 * bindings/scripts/CodeGeneratorV8.pm:
1372 (GetInternalFields):
1373 (GenerateNormalAttrGetter):
1374 (GenerateNormalAttrSetter):
1375 (GenerateFunctionCallback):
1376 (GenerateImplementationIndexer):
1377 (GenerateToV8Converters):
1379 2012-11-16 Mario Sanchez Prada <mario@webkit.org>
1381 [EFL] Share WebKit-Gtk's Accessibility implementation with others WebKit ports.
1382 https://bugs.webkit.org/show_bug.cgi?id=99578
1384 Reviewed by Martin Robinson.
1386 Renamed WebCore/accessibility/gtk to WebCore/accessibility/atk.
1389 * GNUmakefile.list.am:
1390 * accessibility/atk/AXObjectCacheAtk.cpp: Renamed from
1391 Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp.
1392 * accessibility/atk/AccessibilityObjectAtk.cpp: Renamed from
1393 Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp.
1394 * accessibility/atk/WebKitAccessibleHyperlink.cpp: Renamed from
1395 Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp.
1396 * accessibility/atk/WebKitAccessibleHyperlink.h: Renamed from
1397 Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h.
1398 * accessibility/atk/WebKitAccessibleInterfaceAction.cpp: Renamed
1399 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp.
1400 * accessibility/atk/WebKitAccessibleInterfaceAction.h: Renamed
1401 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h.
1402 * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
1403 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp.
1404 * accessibility/atk/WebKitAccessibleInterfaceComponent.h: Renamed
1405 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h.
1406 * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: Renamed
1407 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp.
1408 * accessibility/atk/WebKitAccessibleInterfaceDocument.h: Renamed
1409 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h.
1410 * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
1411 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp.
1412 * accessibility/atk/WebKitAccessibleInterfaceEditableText.h:
1413 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h.
1414 * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
1415 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp.
1416 * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:
1417 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h.
1418 * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
1419 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp.
1420 * accessibility/atk/WebKitAccessibleInterfaceHypertext.h: Renamed
1421 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h.
1422 * accessibility/atk/WebKitAccessibleInterfaceImage.cpp: Renamed
1423 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp.
1424 * accessibility/atk/WebKitAccessibleInterfaceImage.h: Renamed from
1425 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h.
1426 * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
1427 Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp.
1428 * accessibility/atk/WebKitAccessibleInterfaceSelection.h: Renamed
1429 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h.
1430 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp: Renamed
1431 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp.
1432 * accessibility/atk/WebKitAccessibleInterfaceTable.h: Renamed from
1433 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h.
1434 * accessibility/atk/WebKitAccessibleInterfaceText.cpp: Renamed
1435 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp.
1436 * accessibility/atk/WebKitAccessibleInterfaceText.h: Renamed from
1437 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h.
1438 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: Renamed
1439 from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp.
1440 * accessibility/atk/WebKitAccessibleInterfaceValue.h: Renamed from
1441 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h.
1442 * accessibility/atk/WebKitAccessibleUtil.cpp: Renamed from
1443 Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp.
1444 * accessibility/atk/WebKitAccessibleUtil.h: Renamed from
1445 Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h.
1446 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Renamed from
1447 Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp.
1448 * accessibility/atk/WebKitAccessibleWrapperAtk.h: Renamed from
1449 Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h.
1451 2012-11-16 Shinya Kawanaka <shinyak@chromium.org>
1453 Changing pseudoClass (:indeterminate) should cause distribution
1454 https://bugs.webkit.org/show_bug.cgi?id=101903
1456 Reviewed by Dimitri Glazkov.
1458 <progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
1459 invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.
1461 For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
1462 progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.
1464 Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html
1465 fast/dom/shadow/pseudoclass-update-indeterminate-progress.html
1467 * html/HTMLInputElement.cpp:
1468 (WebCore::HTMLInputElement::updateType):
1469 (WebCore::HTMLInputElement::setIndeterminate):
1470 * html/HTMLProgressElement.cpp:
1471 (WebCore::HTMLProgressElement::didElementStateChange):
1473 2012-11-16 Alexis Menard <alexis@webkit.org>
1475 Factorize the creation of primitive values with a pair into a function.
1476 https://bugs.webkit.org/show_bug.cgi?id=102485
1478 Reviewed by Antti Koivisto.
1480 The pattern is already existing in various call sites inside CSSParser
1481 and more will be added in the future (see bug 102104).
1483 No new tests : It's a refactoring only, the tests should cover it.
1485 * css/CSSParser.cpp:
1487 (WebCore::createPrimitiveValuePair):
1488 (WebCore::CSSParser::parseValue):
1489 (WebCore::CSSParser::parseFillSize):
1490 (WebCore::CSSParser::parseBorderImageRepeat):
1491 (WebCore::CSSParser::parseBorderRadius):
1492 (WebCore::CSSParser::parseCounter):
1494 2012-11-16 Mark Pilgrim <pilgrim@chromium.org>
1496 Expand PlatformCookieJar interface to allow for other ports
1497 https://bugs.webkit.org/show_bug.cgi?id=102456
1499 Reviewed by Adam Barth.
1501 Add firstParty and cookieURL arguments to several functions to
1502 prepare for integrating Chromium port into new PlatformCookieJar
1505 * loader/CookieJar.cpp:
1506 (WebCore::cookiesEnabled):
1507 (WebCore::cookieRequestHeaderFieldValue):
1508 (WebCore::getRawCookies):
1509 * platform/network/PlatformCookieJar.h:
1511 * platform/network/cf/CookieJarCFNet.cpp:
1512 (WebCore::cookieRequestHeaderFieldValue):
1513 (WebCore::cookiesEnabled):
1514 (WebCore::getRawCookies):
1515 * platform/network/curl/CookieJarCurl.cpp:
1516 (WebCore::cookieRequestHeaderFieldValue):
1517 (WebCore::cookiesEnabled):
1518 (WebCore::getRawCookies):
1519 * platform/network/mac/CookieJarMac.mm:
1520 (WebCore::cookieRequestHeaderFieldValue):
1521 (WebCore::cookiesEnabled):
1522 (WebCore::getRawCookies):
1523 * platform/network/qt/CookieJarQt.cpp:
1524 (WebCore::cookieRequestHeaderFieldValue):
1525 (WebCore::cookiesEnabled):
1526 (WebCore::getRawCookies):
1527 * platform/network/soup/CookieJarSoup.cpp:
1528 (WebCore::cookieRequestHeaderFieldValue):
1529 (WebCore::cookiesEnabled):
1530 (WebCore::getRawCookies):
1531 * platform/network/win/CookieJarWin.cpp:
1532 (WebCore::cookieRequestHeaderFieldValue):
1533 (WebCore::cookiesEnabled):
1534 (WebCore::getRawCookies):
1536 2012-11-16 Julien Chaffraix <jchaffraix@webkit.org>
1538 RenderGrid should have a function to resolve grid position
1539 https://bugs.webkit.org/show_bug.cgi?id=102441
1541 Reviewed by Ojan Vafai.
1543 The code was doing this conversion implicitly inside RenderGrid::findChildLogicalPosition.
1544 Also note that we also provided a fallback by returning LayoutPoint() (ie the (0, 0) position
1545 on the grid) if we couldn't handle the value. The explicit conversion is needed in order to
1546 support render areas and add a proper grid model to RenderGrid.
1548 No expected change in behavior.
1550 * rendering/RenderGrid.h:
1551 * rendering/RenderGrid.cpp:
1552 (WebCore::RenderGrid::resolveGridPosition):
1553 Added this new function to handle the conversion. We re-use Length but should never see
1554 a lot of the <length> values so I added some ASSERTs to enforce and catch that.
1556 (WebCore::RenderGrid::findChildLogicalPosition):
1557 Simplified the function now that it just use resolveGridPosition.
1559 2012-11-16 Ulan Degenbaev <ulan@chromium.org>
1561 [V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer
1562 https://bugs.webkit.org/show_bug.cgi?id=94463
1564 Reviewed by Kentaro Hara.
1566 Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred.
1568 Test: ManualTests/typed-array-memory.html
1570 * bindings/v8/SerializedScriptValue.cpp:
1572 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
1574 Unreviewed, rolling out r134694.
1575 http://trac.webkit.org/changeset/134694
1576 https://bugs.webkit.org/show_bug.cgi?id=102481
1578 it made API test crash on EFL port (Requested by gyuyoung on
1581 * platform/efl/RenderThemeEfl.cpp:
1582 (WebCore::fillColorsFromEdjeClass):
1583 (WebCore::RenderThemeEfl::setColorFromThemeClass):
1584 (WebCore::RenderThemeEfl::loadTheme):
1585 (WebCore::RenderThemeEfl::RenderThemeEfl):
1586 * platform/efl/RenderThemeEfl.h:
1589 2012-11-16 Mike West <mkwst@chromium.org>
1591 Web Inspector: Move call stack generation out of bindings.
1592 https://bugs.webkit.org/show_bug.cgi?id=101331
1594 Reviewed by Yury Semikhatsky.
1596 Currently, we generate stack traces for console messages at each call
1597 site. Bug 100650 has the end goal of moving all stack trace generation
1598 inside of the Inspector in order to ensure that we never send a console
1599 message without a stack trace if it's possible to generate one. This
1600 also ensures that we never generate unused call stacks.
1602 This patch is the first step in that direction, moving stack trace
1603 generation out of the Console bindings, and into either Console or
1604 InspectorConsoleAgent.
1606 No visible change in behavior should result; this refactoring should
1607 continue to pass all existing inspector tests.
1609 * bindings/js/JSConsoleCustom.cpp:
1610 (WebCore::JSConsole::profile):
1611 (WebCore::JSConsole::profileEnd):
1612 Adjust custom JSC Console bindings to drop call stack generation.
1613 * bindings/scripts/CodeGeneratorJS.pm:
1615 * bindings/scripts/CodeGeneratorV8.pm:
1617 Drop call stack generation from JSC and V8 bindings.
1618 * bindings/scripts/CodeGeneratorGObject.pm:
1619 Skip timeEnd explicitly in these bindings; it used to include
1620 ScriptArguments, which autoskipped it. Now it doesn't, so it needs
1621 to be called out on its own.
1622 * bindings/v8/ScriptCallStackFactory.cpp:
1623 (WebCore::createScriptCallStackForConsole):
1624 (WebCore::createScriptCallStack):
1626 * bindings/v8/ScriptCallStackFactory.h:
1628 Add 'createScriptCallStack(ScriptState*, size_t)' to V8's
1629 ScriptCallStackFactory in order to match JCS' implementation.
1630 It simply delegates to 'createScriptCallStackForConsole', which
1631 now also accepts a 'maxStackSize' parameter.
1632 * bindings/v8/custom/V8ConsoleCustom.cpp:
1633 (WebCore::V8Console::traceCallback):
1634 (WebCore::V8Console::assertCallback):
1635 (WebCore::V8Console::profileCallback):
1636 (WebCore::V8Console::profileEndCallback):
1637 Adjust custom V8 bindings to drop call stack generation.
1638 * inspector/InspectorConsoleAgent.cpp:
1639 (WebCore::InspectorConsoleAgent::addMessageToConsole):
1640 With the eventual goal of getting rid of the call stack parameter
1641 entirely, this patch drops it from one version of
1642 'addMessageToConsole' (replacing it with ScriptState*), and creates
1643 a new version that only accepts a call stack. We should be able to
1644 migrate most (all?) external call sites over to the arguments
1645 version in future patches.
1647 (WebCore::InspectorConsoleAgent::count):
1648 Count takes 'ScriptState*' instead of a call stack, and generates
1649 the stack as needed.
1650 * inspector/InspectorConsoleAgent.h:
1651 (InspectorConsoleAgent):
1652 * inspector/InspectorConsoleInstrumentation.h:
1653 (WebCore::InspectorInstrumentation::addMessageToConsole):
1655 (WebCore::InspectorInstrumentation::consoleCount):
1656 * inspector/InspectorInstrumentation.cpp:
1658 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1659 (WebCore::InspectorInstrumentation::consoleCountImpl):
1660 * inspector/InspectorInstrumentation.h:
1661 (InspectorInstrumentation):
1662 Changes the InspectorInstrumentation pipeline to match the
1663 InspectorConsoleAgent changes.
1665 (WebCore::Console::addMessage):
1666 We now (always) generate one frame of a stack trace in order to
1667 populate line numbers and caller URLs. If we need to print the whole
1668 trace here, we generate a full stack.
1669 (WebCore::Console::debug):
1670 (WebCore::Console::error):
1671 (WebCore::Console::info):
1672 (WebCore::Console::log):
1673 (WebCore::Console::warn):
1674 (WebCore::Console::dir):
1675 (WebCore::Console::dirxml):
1676 (WebCore::Console::clear):
1677 (WebCore::Console::trace):
1678 (WebCore::Console::assertCondition):
1679 (WebCore::Console::count):
1680 (WebCore::Console::markTimeline):
1681 (WebCore::Console::timeEnd):
1682 (WebCore::Console::timeStamp):
1683 (WebCore::Console::group):
1684 (WebCore::Console::groupCollapsed):
1685 (WebCore::Console::profile):
1686 (WebCore::Console::profileEnd):
1687 s/ScriptCallStack/ScriptState*/g. Also, printing the stack trace
1688 has been moved out of 'trace' and into 'addMessage'.
1692 Drop the call stack, add the script state.
1693 * workers/WorkerContext.cpp:
1694 (WebCore::WorkerContext::addMessageToWorkerConsole):
1695 Use the new, explicitly call stacked addMessageToConsole. We'll kill
1696 this in a future patch.
1698 2012-11-16 Marja Hölttä <marja@chromium.org>
1700 Add initiator to CachedResourceRequest.
1701 https://bugs.webkit.org/show_bug.cgi?id=101935
1703 Reviewed by Adam Barth.
1705 Motivation: Chromium needs to know which elements request a
1706 resource (such as an image or a script) (bug 92761). In addition,
1707 for exposing resource timing information (bug 84883) we need to
1708 store the initiator, and this is the first step towards it.
1710 No new tests: No visible change in behavior.
1713 * GNUmakefile.list.am:
1716 * WebCore.vcproj/WebCore.vcproj:
1717 * WebCore.xcodeproj/project.pbxproj:
1718 * css/CSSCursorImageValue.cpp:
1719 (WebCore::CSSCursorImageValue::cachedImage):
1720 * css/CSSFontFaceSrcValue.cpp:
1721 (WebCore::CSSFontFaceSrcValue::cachedFont):
1722 * css/CSSImageSetValue.cpp:
1723 (WebCore::CSSImageSetValue::cachedImageSet):
1724 * css/CSSImageValue.cpp:
1725 (WebCore::CSSImageValue::cachedImage):
1726 * css/CSSImageValue.h:
1729 * css/StyleResolver.cpp:
1730 (WebCore::StyleResolver::loadPendingImage):
1731 * css/StyleRuleImport.cpp:
1732 (WebCore::StyleRuleImport::requestStyleSheet):
1733 * css/WebKitCSSSVGDocumentValue.cpp:
1734 (WebCore::WebKitCSSSVGDocumentValue::load):
1735 * css/WebKitCSSShaderValue.cpp:
1736 (WebCore::WebKitCSSShaderValue::cachedShader):
1737 * dom/ScriptElement.cpp:
1738 (WebCore::ScriptElement::requestScript):
1739 * html/HTMLLinkElement.cpp:
1740 (WebCore::HTMLLinkElement::process):
1741 * html/parser/CSSPreloadScanner.cpp:
1742 (WebCore::CSSPreloadScanner::emitRule):
1743 * html/parser/CSSPreloadScanner.h:
1744 (CSSPreloadScanner):
1745 * html/parser/HTMLPreloadScanner.cpp:
1746 (WebCore::PreloadTask::preload):
1747 * loader/ImageLoader.cpp:
1748 (WebCore::ImageLoader::updateFromElement):
1749 * loader/cache/CachedResourceLoader.cpp:
1750 (WebCore::CachedResourceLoader::requestImage):
1751 (WebCore::CachedResourceLoader::requestResource):
1752 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1754 (WebCore::CachedResourceLoader::preload):
1755 * loader/cache/CachedResourceLoader.h:
1757 (CachedResourceLoader):
1758 * loader/cache/CachedResourceRequest.cpp:
1759 (WebCore::CachedResourceRequest::CachedResourceRequest):
1761 (WebCore::CachedResourceRequest::~CachedResourceRequest):
1762 (WebCore::CachedResourceRequest::setInitiator):
1763 (WebCore::CachedResourceRequest::initiatorName):
1764 (WebCore::CachedResourceRequest::initiatorDocument):
1765 (WebCore::CachedResourceRequest::initiatorElement):
1766 * loader/cache/CachedResourceRequest.h:
1768 (WebCore::CachedResourceRequest::setOptions):
1769 (WebCore::CachedResourceRequest::defer):
1770 (WebCore::CachedResourceRequest::setDefer):
1771 (CachedResourceRequest):
1772 * loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
1774 (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
1775 * loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
1777 (CachedResourceRequestInitiators):
1778 (WebCore::cachedResourceRequestInitiators):
1779 * loader/icon/IconLoader.cpp:
1780 (WebCore::IconLoader::startLoading):
1781 * platform/ThreadGlobalData.cpp:
1782 (WebCore::ThreadGlobalData::ThreadGlobalData):
1783 * platform/ThreadGlobalData.h:
1785 (WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
1787 * svg/SVGFEImageElement.cpp:
1788 (WebCore::SVGFEImageElement::requestImageResource):
1789 * svg/SVGFontFaceUriElement.cpp:
1790 (WebCore::SVGFontFaceUriElement::loadFont):
1791 * svg/SVGUseElement.cpp:
1792 (WebCore::SVGUseElement::svgAttributeChanged):
1794 2012-11-16 Yury Semikhatsky <yurys@chromium.org>
1796 Web Inspector: don't show an Error when evaluating a watch expression results in an exception
1797 https://bugs.webkit.org/show_bug.cgi?id=102470
1799 Reviewed by Vsevolod Vlasov.
1801 Dim watch expression and show "<not available>" as its value in cases when it evaluates
1804 * English.lproj/localizedStrings.js:
1805 * inspector/front-end/WatchExpressionsSidebarPane.js:
1806 (WebInspector.WatchExpressionTreeElement.prototype.update):
1807 * inspector/front-end/inspector.css:
1809 2012-11-16 Vsevolod Vlasov <vsevik@chromium.org>
1811 Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.
1812 https://bugs.webkit.org/show_bug.cgi?id=102476
1814 Unreviewed rolling out.
1816 * English.lproj/localizedStrings.js:
1818 * WebCore.vcproj/WebCore.vcproj:
1819 * inspector/compile-front-end.py:
1820 * inspector/front-end/AdvancedSearchController.js:
1821 * inspector/front-end/CallStackSidebarPane.js:
1822 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1823 * inspector/front-end/ConsoleView.js:
1824 (WebInspector.ConsoleView.prototype._registerShortcuts):
1825 * inspector/front-end/ElementsPanel.js:
1826 (WebInspector.ElementsPanel):
1827 (WebInspector.ElementsPanel.prototype._registerShortcuts):
1828 * inspector/front-end/ElementsPanelDescriptor.js:
1829 * inspector/front-end/GoToLineDialog.js:
1830 (WebInspector.GoToLineDialog.install):
1831 * inspector/front-end/KeyboardShortcut.js:
1832 (WebInspector.KeyboardShortcut._keyName):
1833 * inspector/front-end/Panel.js:
1834 (WebInspector.Panel.prototype.registerShortcut):
1835 (WebInspector.Panel.prototype.unregisterShortcut):
1836 (WebInspector.PanelDescriptor.prototype.panel):
1837 * inspector/front-end/ScriptsPanel.js:
1838 (WebInspector.ScriptsPanel):
1839 (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
1840 (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
1841 * inspector/front-end/ScriptsPanelDescriptor.js:
1842 * inspector/front-end/ShortcutsScreen.js:
1843 (WebInspector.ShortcutsScreen):
1844 (WebInspector.ShortcutsSection):
1845 (WebInspector.ShortcutsSection.prototype._renderKey):
1846 * inspector/front-end/StylesSidebarPane.js:
1847 (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
1848 * inspector/front-end/TimelinePanel.js:
1849 (WebInspector.TimelinePanel.prototype._registerShortcuts):
1850 * inspector/front-end/TimelinePanelDescriptor.js: Removed.
1851 * inspector/front-end/WebKit.qrc:
1852 * inspector/front-end/inspector.html:
1853 * inspector/front-end/inspector.js:
1854 (WebInspector._panelDescriptors):
1855 (WebInspector._registerShortcuts):
1857 2012-11-16 Eugene Klyuchnikov <eustas.bug@gmail.com>
1859 Web Inspector: Memory Timeline Crash
1860 https://bugs.webkit.org/show_bug.cgi?id=102390
1862 Reviewed by Vsevolod Vlasov.
1864 Crash seems to be caused by IPC overflow.
1865 Messages "ParsedScriptSource" are routed to
1866 ResourceScriptMapping.prototype.addScript that process them in time
1867 linear to number of already registered non-anonymous non-inline scripts.
1869 Fixed this with replacing repreated filtering with "on-line" bucketing.
1871 * inspector/front-end/ResourceScriptMapping.js:
1872 (WebInspector.ResourceScriptMapping):
1873 Removed duplicating initialization code.
1874 (WebInspector.ResourceScriptMapping.prototype.addScript):
1875 Added script bucketing by sourceURL/isInline parameters.
1876 (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
1878 (WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
1879 Added outgoing muatable array safeguard.
1880 (WebInspector.ResourceScriptMapping.prototype._reset):
1881 Added type information and added two new maps.
1883 2012-11-16 Helder Correia <helder.correia@nokia.com>
1885 [CoordGfx] Follow coding style on explicit constructors
1886 https://bugs.webkit.org/show_bug.cgi?id=102451
1888 Reviewed by Noam Rosenthal.
1890 Use the explicit keyword on single argument constructors.
1892 No new tests needed.
1894 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1895 (GraphicsLayerTextureMapper):
1896 * platform/graphics/texmap/TextureMapper.h:
1898 * platform/graphics/texmap/TextureMapperBackingStore.h:
1899 (WebCore::TextureMapperTile::TextureMapperTile):
1900 * platform/graphics/texmap/TextureMapperGL.cpp:
1901 (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1902 (WebCore::TextureMapperGLData::TextureMapperGLData):
1903 * platform/graphics/texmap/TextureMapperGL.h:
1905 * platform/graphics/texmap/TextureMapperShaderManager.h:
1906 (TextureMapperShaderManager):
1908 2012-11-16 Kihong Kwon <kihong.kwon@samsung.com>
1910 Add DeviceController base-class to remove duplication of DeviceXXXControler
1911 https://bugs.webkit.org/show_bug.cgi?id=96894
1913 Reviewed by Hajime Morita.
1915 Add DeviceController which is extracted from DeviceOrientationController to remove duplication.
1916 And soon-to-be-added DeviceMotionController and ProximityController.
1918 Covered by existing tests.
1921 * GNUmakefile.list.am:
1924 * WebCore.vcproj/WebCore.vcproj:
1925 * WebCore.xcodeproj/project.pbxproj:
1926 * dom/DeviceOrientationClient.h:
1927 * dom/DeviceOrientationController.cpp:
1928 Remove member functions to move to DeviceController.
1929 - addListener(), removeListener(), removeAllListeners(), isActive()
1930 (WebCore::DeviceOrientationController::DeviceOrientationController):
1931 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1932 (WebCore::DeviceOrientationController::client):
1933 (WebCore::DeviceOrientationController::hasLastData):
1934 (WebCore::DeviceOrientationController::getLastEvent):
1935 (WebCore::DeviceOrientationController::from):
1937 * dom/DeviceOrientationController.h:
1939 (WebCore::DeviceOrientationController::~DeviceOrientationController):
1940 (DeviceOrientationController):
1942 Remove suspendEventsForAllListeners() and resumeEventsForAllListeners() function calls.
1943 These calls can be made by checking activeDOMObjectsAreSuspended() and activeDOMObjectsAreStopped() before dispatchEvent.
1944 (WebCore::Document::suspendActiveDOMObjects):
1945 (WebCore::Document::resumeActiveDOMObjects):
1946 * loader/EmptyClients.h:
1947 (EmptyDeviceClient):
1948 (WebCore::EmptyDeviceClient::startUpdating):
1949 (WebCore::EmptyDeviceClient::stopUpdating):
1951 * page/DOMWindow.cpp:
1952 (WebCore::DOMWindow::addEventListener):
1953 (WebCore::DOMWindow::removeEventListener):
1954 (WebCore::DOMWindow::removeAllEventListeners):
1955 * page/DeviceClient.h: Added.
1958 (WebCore::DeviceClient::~DeviceClient):
1959 * page/DeviceController.cpp: Added.
1960 DeviceController has extracted functions from DeviceOrientationController and DeviceMotionController.
1961 - addDeviceEventListener(), removeDeviceEventlistener(), removeAllDeviceEventListeners(), dispatchDeviceEvent()
1962 All kind of device event controller which has DeviceClient can be inherited from DeviceController.
1964 (WebCore::DeviceController::DeviceController):
1965 (WebCore::DeviceController::addDeviceEventListener):
1966 (WebCore::DeviceController::removeDeviceEventListener):
1967 (WebCore::DeviceController::removeAllDeviceEventListeners):
1968 (WebCore::DeviceController::dispatchDeviceEvent):
1969 (WebCore::DeviceController::fireDeviceEvent):
1970 * page/DeviceController.h: Added.
1973 (WebCore::DeviceController::~DeviceController):
1974 (WebCore::DeviceController::isActive):
1975 (WebCore::DeviceController::client):
1976 (WebCore::DeviceController::hasLastData):
1977 (WebCore::DeviceController::getLastEvent):
1979 2012-11-16 Alexander Pavlov <apavlov@chromium.org>
1981 Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
1982 https://bugs.webkit.org/show_bug.cgi?id=102467
1984 Reviewed by Pavel Feldman.
1986 Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
1987 Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
1988 so that they will get restored only upon page navigation, not upon any agent enablement.
1990 * inspector/InspectorPageAgent.cpp:
1991 (WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
1992 (WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.
1994 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
1996 Unreviewed, rolling out r134908.
1997 http://trac.webkit.org/changeset/134908
1998 https://bugs.webkit.org/show_bug.cgi?id=102473
2000 Broke the Apple Windows Debug build. (Requested by dydx on
2004 * dom/ViewportArguments.cpp:
2005 (WebCore::computeViewportAttributes):
2006 * dom/ViewportArguments.h:
2009 2012-11-16 Peter Rybin <prybin@chromium.org>
2011 Web Inspector: show internal properties in inspector frontend
2012 https://bugs.webkit.org/show_bug.cgi?id=100021
2014 Reviewed by Yury Semikhatsky.
2016 New field 'internalProperties' is parsed and passed via all callbacks to Object Properties section.
2018 Test: inspector/debugger/properties-special.html
2020 * inspector/front-end/ObjectPropertiesSection.js:
2021 (WebInspector.ObjectPropertiesSection.prototype.update.callback):
2022 (WebInspector.ObjectPropertiesSection.prototype.update):
2024 (WebInspector.ObjectPropertyTreeElement.populate):
2025 (.processProperties):
2026 (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
2027 (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
2028 * inspector/front-end/RemoteObject.js:
2029 (WebInspector.RemoteObject.prototype.set else):
2031 2012-11-06 Alexander Pavlov <apavlov@chromium.org>
2033 Web Inspector: metrics, geolocation, orientation overrides do not belong to the settings panel
2034 https://bugs.webkit.org/show_bug.cgi?id=93691
2036 Reviewed by Vsevolod Vlasov.
2038 - The Overrides tab contents have been moved from the Settings dialog into a brand new Overrides drawer view,
2039 both receiving a new, more light-weight design.
2040 - The Cog button now brings up a popup menu with the "Overrides" and "Settings" items.
2043 * WebCore.vcproj/WebCore.vcproj:
2044 * inspector/compile-front-end.py:
2045 * inspector/front-end/ContextMenu.js:
2046 (WebInspector.ContextMenu.prototype.showSoftMenu): Display the ContextMenu as a soft menu.
2047 * inspector/front-end/OverridesView.js: Copied from Source/WebCore/inspector/front-end/SettingsScreen.js.
2048 (WebInspector.OverridesView.appendBlockTo):
2049 (WebInspector.OverridesView):
2050 (WebInspector.OverridesView.showInDrawer):
2051 (WebInspector.OverridesView.prototype.get listener):
2052 (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.get const):
2053 (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textDoubleClicked):
2054 (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textChanged):
2055 (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.set checkboxClicked):
2056 (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement):
2057 (WebInspector.OverridesView.prototype._createInput):
2058 (WebInspector.OverridesView.prototype._onMetricsCheckboxClicked):
2059 (WebInspector.OverridesView.prototype._applyDeviceMetricsUserInput):
2060 (WebInspector.OverridesView.prototype.):
2061 (WebInspector.OverridesView.prototype.set if):
2062 (WebInspector.OverridesView.prototype._createDeviceMetricsElement.swapDimensionsClicked):
2063 (WebInspector.OverridesView.prototype._createDeviceMetricsElement):
2064 (WebInspector.OverridesView.prototype._onGeolocationOverrideCheckboxClicked):
2065 (WebInspector.OverridesView.prototype._applyGeolocationUserInput):
2066 (WebInspector.OverridesView.prototype._setGeolocationPosition):
2067 (WebInspector.OverridesView.prototype._createGeolocationOverrideElement):
2068 (WebInspector.OverridesView.prototype._onDeviceOrientationOverrideCheckboxClicked):
2069 (WebInspector.OverridesView.prototype._applyDeviceOrientationUserInput):
2070 (WebInspector.OverridesView.prototype._setDeviceOrientation):
2071 (WebInspector.OverridesView.prototype._createDeviceOrientationOverrideElement):
2072 * inspector/front-end/ScriptsPanel.js:
2073 (WebInspector.ScriptsPanel): Fix the "DOM Breakpoints" pane move upon the panel creation.
2074 * inspector/front-end/SettingsScreen.js:
2075 (WebInspector.SettingsTab):
2076 (WebInspector.SettingsTab.prototype._appendSection):
2077 (WebInspector.GenericSettingsTab):
2078 (WebInspector.ExperimentsSettingsTab):
2079 (WebInspector.SettingsController): Implement the popup menu upon the button click.
2080 (WebInspector.SettingsController.prototype.showOverrides):
2081 (WebInspector.SettingsController.prototype.showSettings):
2082 (WebInspector.SettingsController.prototype.appendApplicableItems):
2083 (WebInspector.SettingsController.prototype._buttonPressed):
2084 (WebInspector.SettingsController.prototype._onHideSettingsScreen):
2085 (WebInspector.SettingsController.prototype.showSettingsScreen):
2086 * inspector/front-end/ShortcutsScreen.js: Add "Shortcuts" header.
2087 (WebInspector.ShortcutsScreen.prototype.createShortcutsTabView):
2088 * inspector/front-end/SoftContextMenu.js: Enable in all cases, implement the alignToCurrentTarget mode in show().
2089 (WebInspector.SoftContextMenu.prototype.show):
2090 * inspector/front-end/TabbedPane.js: Implement vertical tab layout (skipping the tab width computations).
2091 (WebInspector.TabbedPane.prototype.set verticalTabLayout):
2092 (WebInspector.TabbedPane.prototype._updateWidths):
2093 (WebInspector.TabbedPaneTab.prototype.setWidth):
2094 (WebInspector.TabbedPaneTab.prototype._createTabElement):
2095 * inspector/front-end/WebKit.qrc:
2096 * inspector/front-end/helpScreen.css: Update styles for the new Settings and Overrides look-and-feel.
2097 * inspector/front-end/inspector.css: Drive-by fix small artifacts in the soft menu and drawer view statusbar item label.
2098 (.soft-context-menu-item):
2100 * inspector/front-end/inspector.html:
2102 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
2104 Unreviewed, rolling out r134865.
2105 http://trac.webkit.org/changeset/134865
2106 https://bugs.webkit.org/show_bug.cgi?id=102466
2108 Broke the Apple Windows Debug build. (Requested by dydx on
2112 * bindings/js/SerializedScriptValue.h:
2113 * testing/Internals.cpp:
2114 * testing/Internals.h:
2116 * testing/Internals.idl:
2118 2012-11-16 Takashi Sakamoto <tasak@google.com>
2120 ASSERT_NOT_REACHED() when building a CSSOM wrapper for StyleRuleHost
2121 https://bugs.webkit.org/show_bug.cgi?id=102116
2123 Reviewed by Alexander Pavlov.
2125 Provide a CSSUnknownRule instance as a CSSOM wrapper for StyleRuleHost
2126 rules. Since there is no CSSOM wrapper for @host @-rules and
2127 ASSERT_NOT_REACHED is used when a CSSOM wrapper is requested,
2130 Tests: fast/css/at-host-cssom-crash.html
2131 inspector/styles/styles-include-host-rules-crash.html
2133 * css/StyleRule.cpp:
2134 (WebCore::StyleRuleBase::createCSSOMWrapper):
2135 Return a CSSUnknownRule instance for StyleRuleHost rules instead of
2136 calling ASSERT_NOT_REACHED().
2138 2012-11-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2140 Avoid copying of ViewportArguments in computeViewportAttributes function
2141 https://bugs.webkit.org/show_bug.cgi?id=102354
2143 Reviewed by Kenneth Rohde Christiansen.
2145 Since r134749 we do not need copying of ViewportArguments parameter in
2146 computeViewportAttributes() as it is not modified any more.
2148 Tested by existing tests fast/viewport.
2150 * WebCore.exp.in: Updated exported symbols for MAC.
2151 * dom/ViewportArguments.cpp:
2152 (WebCore::computeViewportAttributes):
2153 * dom/ViewportArguments.h:
2156 2012-11-15 Yury Semikhatsky <yurys@chromium.org>
2158 Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
2159 https://bugs.webkit.org/show_bug.cgi?id=102384
2161 Reviewed by Pavel Feldman.
2163 * inspector/InspectorMemoryAgent.cpp:
2164 (WebCore::MemoryInstrumentationClientImpl::checkCountedObject): return false
2166 * inspector/MemoryInstrumentationImpl.h:
2167 (MemoryInstrumentationClientImpl):
2169 2012-11-15 Jer Noble <jer.noble@apple.com>
2171 Crash at WebCore::PluginData::pluginFileForMimeType const + 38
2172 https://bugs.webkit.org/show_bug.cgi?id=102454
2174 Reviewed by Dan Bernstein.
2176 NULL-check the return value of Page::pluginData().
2178 * loader/SubframeLoader.cpp:
2179 (WebCore::logPluginRequest):
2181 2012-11-15 Kenichi Ishibashi <bashi@chromium.org>
2183 [Chromium] Unreviewed build fix attempt on win
2185 Include OpenTypeVerticalData.h
2187 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2190 2012-11-15 Kentaro Hara <haraken@chromium.org>
2192 Unreviewed, rolling out r134881.
2193 http://trac.webkit.org/changeset/134881
2194 https://bugs.webkit.org/show_bug.cgi?id=102348
2196 http/tests/appcache tests on JSC platforms are broken
2198 * bindings/scripts/CodeGenerator.pm:
2200 * bindings/scripts/CodeGeneratorJS.pm:
2201 (GenerateImplementation):
2202 * bindings/scripts/CodeGeneratorV8.pm:
2204 (GetInternalFields):
2207 (GenerateNormalAttrGetter):
2208 (GenerateNormalAttrSetter):
2209 (GenerateFunctionCallback):
2210 (GenerateImplementationIndexer):
2211 (GenerateToV8Converters):
2213 2012-11-15 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
2215 [TexMap][Cairo][Qt] Refactor BitmapTextureGL::updateContents().
2216 https://bugs.webkit.org/show_bug.cgi?id=102420
2218 Reviewed by Gyuyoung Kim.
2220 Moved out texture upload without swizzle to the separate method and changed
2221 drawRepaintCounter to use no-swizzle method. This also fixes blue background
2222 of repaint counters in Qt Minibrowser.
2223 Added condition for sub-image buffer creation to not create it if full image is
2224 uploaded. This should give noticeable improvement for platforms that do not
2225 support sub-image upload to texture.
2227 Covered by existing tests.
2229 * platform/graphics/texmap/TextureMapperGL.cpp:
2230 (WebCore::TextureMapperGL::drawRepaintCounter):
2231 (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
2233 (WebCore::BitmapTextureGL::updateContents):
2234 * platform/graphics/texmap/TextureMapperGL.h:
2237 2012-11-15 Kent Tamura <tkent@chromium.org>
2239 A Spin button should release mouse event capturing when a modal dialog opens
2240 https://bugs.webkit.org/show_bug.cgi?id=98007
2242 Reviewed by Hajime Morita.
2245 If the mouse left button is pressed on a spin button in
2246 input[type=number] and a 'change' event handler opens a modal dialog
2247 such as alert(), a repeating timer doesn't stop and mouse event
2248 capturing isn't released even though the mouse pointer isn't on the spin
2250 A user will see repeating alert dialogs for a document like <input
2251 type=number value=1 onchange="if (this.value==1) {alert(...);
2252 this.value=1;}"> by clicking the up button.
2255 We should notify modal dialog or popup open to a spin button.
2256 This patch introduce PopupOpeningObserver. Chrome notifies it when
2257 any dialogs / popups is opening. SpinButtonElement implements
2258 PopupOpeningObserver and registers/unregisters itself to/from
2261 No new tests. This is a behavior change, but it's very hard to make an
2262 automated test for timer-related behavior.
2264 * page/PopupOpeningObserver.h: Added.
2265 * GNUmakefile.list.am: Add PopupOpeningObserver.h
2266 * Target.pri: Ditto.
2267 * WebCore.gypi: Ditto.
2268 * WebCore.vcproj/WebCore.vcproj: Ditto.
2269 * WebCore.xcodeproj/project.pbxproj: Ditto.
2272 (WebCore::Chrome::runJavaScriptAlert): Calls notifyPopupOpeningObservers.
2273 (WebCore::Chrome::runJavaScriptConfirm): Ditto.
2274 (WebCore::Chrome::runJavaScriptPrompt): Ditto.
2275 (WebCore::Chrome::createColorChooser): Ditto.
2276 (WebCore::Chrome::openDateTimeChooser):
2277 Added. Calls notifyPopupOpeningObservers before calling
2278 ChromeClient::openDateTimeChooser.
2279 (WebCore::Chrome::runOpenPanel): Calls notifyPopupOpeningObservers.
2280 (WebCore::Chrome::createPopupMenu): Ditto.
2281 (WebCore::Chrome::createSearchPopupMenu): Ditto.
2282 (WebCore::Chrome::registerPopupOpeningObserver): Added.
2283 (WebCore::Chrome::unregisterPopupOpeningObserver): Added.
2284 (WebCore::Chrome::notifyPopupOpeningObservers): Added.
2285 * page/Chrome.h: Added new members and required class/struct declarations.
2287 * html/BaseChooserOnlyDateAndTimeInputType.cpp:
2288 (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
2289 Use Chrome::openDateTimeChooser instead of ChromeClient::openDateTimeChooser.
2290 * html/shadow/PickerIndicatorElement.cpp:
2291 (WebCore::PickerIndicatorElement::openPopup): Ditto.
2293 * html/shadow/SpinButtonElement.h:
2294 (SpinButtonElement): Declare willOpenPopup.
2295 * html/shadow/SpinButtonElement.cpp:
2296 (WebCore::SpinButtonElement::defaultEventHandler):
2297 Change the order of timer start and changing the value so that we
2298 can cancel the timer correctly.
2299 Calls Chrome::registerPopupOpeningObserver on starting mouse capturing.
2300 (WebCore::SpinButtonElement::willOpenPopup):
2301 Release mouse event capturing before opening a modal dialog.
2302 (WebCore::SpinButtonElement::releaseCapture):
2303 Calls Chrome::unregisterPopupOpeningObserver.
2306 2012-11-15 Shinya Kawanaka <shinyak@chromium.org>
2308 Chaging pseudoClass (:enabled) should cause distribution
2309 https://bugs.webkit.org/show_bug.cgi?id=101900
2311 Reviewed by Dimitri Glazkov.
2313 When element's 'enabled' state is changed, we have to invalidate distribution.
2315 According to the spec, :enabled matches anchor/area/link element having href attribute,
2316 and several form control elements which is not disabled. However, currently :enalbed does not match
2317 anchor/area/link yet. See https://bugs.webkit.org/show_bug.cgi?id=102349
2319 Tests: fast/dom/shadow/pseudoclass-update-enabled-anchor.html
2320 fast/dom/shadow/pseudoclass-update-enabled-area.html
2321 fast/dom/shadow/pseudoclass-update-enabled-button.html
2322 fast/dom/shadow/pseudoclass-update-enabled-fieldset.html
2323 fast/dom/shadow/pseudoclass-update-enabled-input.html
2324 fast/dom/shadow/pseudoclass-update-enabled-optgroup.html
2325 fast/dom/shadow/pseudoclass-update-enabled-option.html
2326 fast/dom/shadow/pseudoclass-update-enabled-select.html
2327 fast/dom/shadow/pseudoclass-update-enabled-textarea.html
2329 * html/HTMLAnchorElement.cpp:
2330 (WebCore::HTMLAnchorElement::parseAttribute):
2331 * html/HTMLFormControlElement.cpp:
2332 (WebCore::HTMLFormControlElement::disabledAttributeChanged):
2333 * html/HTMLOptGroupElement.cpp:
2334 (WebCore::HTMLOptGroupElement::parseAttribute):
2335 * html/HTMLOptionElement.cpp:
2336 (WebCore::HTMLOptionElement::parseAttribute):
2338 2012-11-15 Erik Arvidsson <arv@chromium.org>
2340 Update DOMException name: ValidationError
2341 https://bugs.webkit.org/show_bug.cgi?id=102416
2343 Reviewed by Kentaro Hara.
2345 Patch 16 of 25 to update DOMException name to match the spec and Firefox.
2347 VALIDATION_ERR is historical and not used in any spec or our code.
2349 * dom/DOMCoreException.cpp:
2350 * dom/ExceptionCode.h:
2352 2012-11-15 Kentaro Hara <haraken@chromium.org>
2354 [V8] Remove IsSubType() from CodeGeneratorV8.pm
2355 https://bugs.webkit.org/show_bug.cgi?id=102348
2357 Reviewed by Adam Barth.
2359 CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.
2361 No tests. No change in behavior.
2363 * bindings/scripts/CodeGenerator.pm:
2365 * bindings/scripts/CodeGeneratorJS.pm:
2366 (GenerateImplementation):
2367 * bindings/scripts/CodeGeneratorV8.pm:
2369 (GetInternalFields):
2370 (GenerateNormalAttrGetter):
2371 (GenerateNormalAttrSetter):
2372 (GenerateFunctionCallback):
2373 (GenerateImplementationIndexer):
2374 (GenerateToV8Converters):
2376 2012-11-15 Erik Arvidsson <arv@chromium.org>
2378 Update DOMException name: NamespaceError
2379 https://bugs.webkit.org/show_bug.cgi?id=102395
2381 Reviewed by Kentaro Hara.
2383 Patch 14 of 25 to update DOMException name to match the spec and Firefox.
2385 Updated existing tests.
2387 * dom/DOMCoreException.cpp:
2389 2012-11-15 Tien-Ren Chen <trchen@chromium.org>
2391 Add Settings to disable custom scrollbars on main frame
2392 https://bugs.webkit.org/show_bug.cgi?id=102323
2394 Reviewed by Adam Barth.
2396 Custom scrollbars on main frame don't really work well on touch devices.
2397 Add a setting to inhibit their creation.
2399 No new tests. No change in default layout behavior.
2401 * page/FrameView.cpp:
2402 (WebCore::FrameView::createScrollbar):
2405 2012-11-15 Rick Byers <rbyers@chromium.org>
2407 custom CSS cursors ignore hotspot values embedded in CUR files
2408 https://bugs.webkit.org/show_bug.cgi?id=100059
2410 Reviewed by Kenneth Russell.
2412 Add reading the hotspot values to the ICOImageDecoder (for CUR files only),
2413 and plumb it through so that the existing calls to ImageSource::getHotSpot
2414 actually return the hot spot value when there is one.
2416 Tests: fast/events/mouse-cursor.html, fast/events/mouse-cursor-multiframecur.html
2418 * platform/graphics/ImageSource.cpp:
2419 (WebCore::ImageSource::getHotSpot):
2420 * platform/graphics/chromium/DeferredImageDecoder.cpp:
2421 (WebCore::DeferredImageDecoder::hotSpot):
2422 (WebCore::DeferredImageDecoder::hotSpotAtIndex):
2423 * platform/graphics/chromium/DeferredImageDecoder.h:
2424 (DeferredImageDecoder):
2425 * platform/image-decoders/ImageDecoder.h:
2426 (WebCore::ImageDecoder::hotSpot):
2427 (WebCore::ImageDecoder::hotSpotAtIndex):
2429 * platform/image-decoders/ico/ICOImageDecoder.cpp:
2430 (WebCore::ICOImageDecoder::hotSpot):
2431 (WebCore::ICOImageDecoder::hotSpotAtIndex):
2432 (WebCore::ICOImageDecoder::processDirectory):
2433 (WebCore::ICOImageDecoder::readDirectoryEntry):
2434 * platform/image-decoders/ico/ICOImageDecoder.h:
2436 (IconDirectoryEntry):
2438 2012-11-15 Kenichi Ishibashi <bashi@chromium.org>
2440 Make OpenTypeVerticalData be ref-counted
2441 https://bugs.webkit.org/show_bug.cgi?id=101971
2443 Reviewed by Tony Chang.
2445 FontCache::purgeInactiveFontData() uses mark & sweep algorithm to remove unused
2446 OpenTypeVerticalData objects. It marks only OpenTypeVerticalData which can be reached
2447 via SimpleFontData in gFontDataCache. However, OpenTypeVerticalData can be referred by
2448 SimpleFontData which resides in CSSFontFaceSource::m_fontDataTable so the algorithm can
2449 delete active OpenTypeVerticalData. To avoid deleting active OpenTypeVerticalData, make
2452 No new tests. No changes in behavior. Checked manually that the use-after-free was fixed.
2454 * platform/graphics/FontCache.cpp:
2455 (WebCore): Use RefPtr instead of OwnPtr for FontVerticalDataCache.
2456 (WebCore::FontCache::getVerticalData): Return PassRefPtr<OpenTypeVerticalData>.
2457 (WebCore::FontCache::purgeInactiveFontData): Follow the change of OwnPtr -> RefPtr.
2458 * platform/graphics/FontCache.h:
2459 * platform/graphics/SimpleFontData.cpp:
2460 (WebCore::SimpleFontData::SimpleFontData):
2461 * platform/graphics/SimpleFontData.h:
2462 Use RefPtr instead of raw const pointer for OpenTypeVerticalData.
2463 (WebCore::SimpleFontData::verticalData):
2464 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2465 (WebCore::FontPlatformData::verticalData): Return PassRefPtr<OpenTypeVerticalData>.
2466 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2468 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2469 (WebCore::FontPlatformData::verticalData): Ditto.
2470 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
2473 * platform/graphics/opentype/OpenTypeVerticalData.h:
2474 (WebCore::OpenTypeVerticalData::create): Added.
2475 (OpenTypeVerticalData):
2477 2012-11-15 Xingnan Wang <xingnan.wang@intel.com>
2479 Optimize the multiply-add in Biquad.cpp::process
2480 https://bugs.webkit.org/show_bug.cgi?id=75528
2482 Reviewed by Brent Fulgham.
2484 Pipeline the multiply-add with SSE2 intrinsics.
2485 Get ~45% performance improvement for the function.
2487 * platform/audio/Biquad.cpp:
2488 (WebCore::Biquad::process):
2490 2012-11-15 Alec Flett <alecflett@chromium.org>
2492 Add tests for explicit serialization values
2493 https://bugs.webkit.org/show_bug.cgi?id=96818
2495 Reviewed by Adam Barth.
2497 Expose direct access to the serialization/deserialization mechanisms
2498 of SerializedScriptValue to DumpRenderTree.
2500 * testing/Internals.cpp:
2501 (WebCore::Internals::serializeObject):
2503 (WebCore::Internals::deserializeBuffer):
2504 * testing/Internals.h:
2506 * testing/Internals.idl:
2508 2012-11-15 Gustavo Noronha Silva <gns@gnome.org>
2510 [GTK] Split WebCore/platform into a separate library
2511 https://bugs.webkit.org/show_bug.cgi?id=94435
2513 Reviewed by Martin Robinson.
2515 More people have been reporting problems when linking WebCore because
2516 the command line limit is being exceeded. Splitting WebCore a bit more
2519 * GNUmakefile.am: add new libWebCorePlatform convenience library.
2520 * GNUmakefile.list.am: move list of platform/* files to its own variable.
2522 2012-11-15 Luke Macpherson <macpherson@chromium.org>
2524 Remove unused macro HANDLE_INHERIT_AND_INITIAL_WITH_VALUE in StyleResolver.cpp
2525 https://bugs.webkit.org/show_bug.cgi?id=102036
2527 Reviewed by Darin Adler.
2529 Remove HANDLE_INHERIT_AND_INITIAL_WITH_VALUE macro, as it is not used anywhere.
2531 No tests added because code is unused, and compile is enough to verify that conculsively.
2533 * css/StyleResolver.cpp:
2535 2012-11-15 Erik Arvidsson <arv@chromium.org>
2537 Update DOMException name: SyntaxError
2538 https://bugs.webkit.org/show_bug.cgi?id=102279
2540 Reviewed by Kentaro Hara.
2542 Patch 12 of 25 to update DOMException name to match the spec and Firefox.
2544 Updated existing tests.
2546 * dom/DOMCoreException.cpp:
2548 2012-11-15 Takashi Sakamoto <tasak@google.com>
2550 [Win] key event's location does not work on Windows platform.
2551 https://bugs.webkit.org/show_bug.cgi?id=89742
2553 Reviewed by Brent Fulgham.
2555 As WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, and WM_SYSKEYUP doesn't
2556 directly provide a virtual keycode which distinguish between left-hand
2557 and right-hand keys. To obtain a virtual keycode, we have to look at
2558 lparam, i.e. scancode and extended key bit. So if the given virtual
2559 keycode is control, shift, or menu, use MapVirtualKey with scancode and
2560 extended key bit and recreate a virtual keycode which distinguishes
2561 between left-hand and right-hand.
2563 No new tests, because left-hand keys, right-hand keys layout tests
2564 have been already added.
2566 * platform/win/KeyEventWin.cpp:
2567 (WebCore::windowsKeycodeWithLocation):
2568 Use wparam and lparam to recreate a virtual keycode which distinguishes
2569 between left-hand and right-hand if the given wparam (=virtual keycode)
2570 is control, shift, or menu.
2572 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2573 Use the newly added function to obtain windows virtual keycode.
2575 2012-11-15 Joe Mason <jmason@rim.com>
2577 [BlackBerry] Don't assert when notifyAuthReceived is called with a different auth type
2578 https://bugs.webkit.org/show_bug.cgi?id=102436
2580 Reviewed by Rob Buis.
2582 The server type could change if we contact a site taking HTTP auth, through an HTTP proxy
2583 taking auth of its own. First we get a 407 from the proxy, and then when get past the
2584 proxy, we get a 401 from the end site - so notifyAuthReceived gets called again with auth
2585 type Proxy instead of HTTP.
2587 The correct thing to do when that happens is skip the "update the auth type in the
2588 credentials" step, since these are actually new credentials and not just credentials being
2589 reused for a different auth type on the same server.
2593 * platform/network/blackberry/NetworkJob.cpp:
2594 (WebCore::NetworkJob::notifyAuthReceived):
2596 2012-11-15 Stephen Chenney <schenney@chromium.org>
2598 mpath elements do not clear resource lists before destruction
2599 https://bugs.webkit.org/show_bug.cgi?id=101505
2601 Reviewed by Abhishek Arya.
2603 The destructor for SVGMPathElement should clear its resources before
2604 deletion, so as not to leave hanging pointers in resource lists.
2606 Test: svg/animations/mpath-remove-from-dependents-on-delete-crash.html
2608 * svg/SVGMPathElement.cpp:
2609 (WebCore::SVGMPathElement::~SVGMPathElement): Add destructor that calls clearResourceReferences.
2611 * svg/SVGMPathElement.h:
2612 (SVGMPathElement): Add destructor.
2614 2012-11-15 Kentaro Hara <haraken@chromium.org>
2616 Remove CodeGenerator::StripModule
2617 https://bugs.webkit.org/show_bug.cgi?id=102338
2619 Reviewed by Adam Barth.
2621 Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
2622 We can remove CodeGenerator::StripModule.
2623 This might break some internal builds if the internal builds are still
2624 using modules. Ping haraken@ you observe it.
2626 No tests. No change in behavior.
2628 * bindings/scripts/CodeGenerator.pm:
2630 (AttributeNameForGetterAndSetter):
2632 * bindings/scripts/CodeGeneratorCPP.pm:
2635 (GetParentImplClassName):
2639 (AddForwardDeclarationsForType):
2640 (AddIncludesForType):
2641 (GenerateImplementation):
2642 * bindings/scripts/CodeGeneratorGObject.pm:
2643 (GetParentClassName):
2644 (GetParentGObjType):
2646 * bindings/scripts/CodeGeneratorJS.pm:
2647 (GetParentClassName):
2648 (AddIncludesForTypeInImpl):
2649 (AddIncludesForTypeInHeader):
2650 (GenerateParametersCheckExpression):
2651 (GenerateImplementation):
2652 (GenerateParametersCheck):
2653 (GetNativeTypeFromSignature):
2656 * bindings/scripts/CodeGeneratorObjC.pm:
2659 (GetParentImplClassName):
2660 (GetParentAndProtocols):
2661 (GetPropertyAttributes):
2663 (GetObjCTypeGetter):
2664 (AddForwardDeclarationsForType):
2665 (AddIncludesForType):
2666 (GenerateImplementation):
2667 * bindings/scripts/CodeGeneratorV8.pm:
2668 (AddIncludesForType):
2671 (GenerateSingleBatchedAttribute):
2672 (GenerateImplementation):
2673 (BaseInterfaceName):
2674 (GetTypeFromSignature):
2677 2012-11-15 Luke Macpherson <macpherson@chromium.org>
2679 Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
2680 https://bugs.webkit.org/show_bug.cgi?id=101696
2682 Reviewed by Tony Chang.
2684 Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
2685 This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.
2687 No new tests / covered by all existing CSS tests.
2689 * css/StyleResolver.cpp:
2690 (WebCore::StyleResolver::applyProperty):
2692 2012-11-15 Kentaro Hara <haraken@chromium.org>
2694 [V8] Remove redundant $interfaceName from function parameters
2695 https://bugs.webkit.org/show_bug.cgi?id=102334
2697 Reviewed by Adam Barth.
2699 'sub func { my $dataNode = shift; my $interfaceName = shift; }'
2700 is redundant. We can get $interfaceName by $dataNode->name.
2702 No tests. No change in behavior.
2704 * bindings/scripts/CodeGeneratorV8.pm:
2705 (GenerateOpaqueRootForGC):
2707 (GenerateConstructorGetter):
2708 (GenerateNormalAttrGetter):
2709 (GenerateReplaceableAttrSetter):
2710 (GenerateNormalAttrSetter):
2711 (GenerateOverloadedFunctionCallback):
2712 (GenerateFunctionCallback):
2713 (GenerateOverloadedConstructorCallback):
2714 (GenerateSingleConstructorCallback):
2715 (GenerateConstructorCallback):
2716 (GenerateEventConstructorCallback):
2717 (GenerateTypedArrayConstructorCallback):
2718 (GenerateNamedConstructorCallback):
2719 (GenerateBatchedAttributeData):
2720 (GenerateImplementation):
2721 (GenerateToV8Converters):
2722 (GetNativeTypeForConversions):
2724 2012-11-15 Simon Fraser <simon.fraser@apple.com>
2726 Ensure that scrollbar layers show debug borders
2727 https://bugs.webkit.org/show_bug.cgi?id=102429
2729 Reviewed by Anders Carlsson.
2731 After r133517, scrollbar layers no longer showed debug borders, which
2732 was very confusing. Fix this by explicitly calling setShowDebugBorder()
2733 on the scrollbar-related layers owned by RenderLayerCompositor
2734 and RenderLayerBacking.
2736 * rendering/RenderLayerBacking.cpp:
2737 (WebCore::RenderLayerBacking::updateDebugIndicators):
2738 * rendering/RenderLayerCompositor.cpp:
2739 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2740 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2742 2012-11-15 Andreas Kling <akling@apple.com>
2744 ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
2745 <http://webkit.org/b/102423>
2747 Reviewed by Anders Carlsson.
2749 Use Element::getAttributeItem() to find out if the element has a given attribute
2750 instead of fastHasAttribute() since that causes assertions for the "style" attribute.
2752 * html/parser/HTMLConstructionSite.cpp:
2753 (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
2755 2012-11-15 Erik Arvidsson <arv@chromium.org>
2757 Update DOMException name: DOMStringSizeError
2758 https://bugs.webkit.org/show_bug.cgi?id=102089
2760 Reviewed by Ojan Vafai.
2762 Patch 2 of 25 to update DOMException name to match the spec and Firefox.
2764 DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.
2766 * dom/DOMCoreException.cpp:
2767 * dom/ExceptionCode.h:
2769 2012-11-15 Joshua Bell <jsbell@chromium.org>
2771 IndexedDB: Indexing tests are flaky-crashing
2772 https://bugs.webkit.org/show_bug.cgi?id=102283
2774 Reviewed by Tony Chang.
2776 Processing the final task can cause IDBTransactionBackendImpl references to be released
2777 by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
2778 swapping queues) control would fall off the end of the function. The loop termination
2779 check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
2780 the method completes.
2782 Test: storage/indexeddb/transaction-crash-in-tasks.html
2784 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2785 (WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
2786 (WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
2787 (WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.
2789 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
2791 MutationObserver wrapper should not be collected while still observing
2792 https://bugs.webkit.org/show_bug.cgi?id=102328
2794 Reviewed by Adam Barth.
2796 Make MutationObserver an ActiveDOMObject so that the wrapper is not
2797 collected while it is still observing the DOM. This is needed because
2798 the wrapper is passed into the callback and expandos on the wrapper
2799 should be preserved.
2801 Test: fast/mutation/observer-wrapper-dropoff.html
2803 * bindings/js/JSMutationObserverCustom.cpp:
2804 (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
2805 * bindings/v8/custom/V8MutationObserverCustom.cpp:
2806 (WebCore::V8MutationObserver::constructorCallback):
2807 * dom/MutationObserver.cpp:
2808 (WebCore::MutationObserver::create):
2809 (WebCore::MutationObserver::MutationObserver):
2810 (WebCore::MutationObserver::observationStarted):
2811 (WebCore::MutationObserver::observationEnded):
2812 * dom/MutationObserver.h:
2814 * dom/MutationObserver.idl:
2816 2012-11-15 Tony Chang <tony@chromium.org>
2818 Generate Settings from a .in file
2819 https://bugs.webkit.org/show_bug.cgi?id=100393
2821 Reviewed by Adam Barth.
2823 Generate most settings from an .in file to reduce human mistakes and
2824 to make it easier to add/remove new settings.
2826 I only moved settings that are easy to move at this point. There are many more that
2827 have some minor naming inconsistencies that we can also move to Settings.in, but I'll
2828 do that in a follow up patch.
2830 This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.
2832 No new tests, this is a refactor.
2835 * DerivedSources.make: Run make_settings.pl.
2836 * DerivedSources.pri: Run make_settings.pl.
2837 * GNUmakefile.am: Run make_settings.pl.
2838 * GNUmakefile.list.am:
2839 * WebCore.exp.in: Remove functions that are now inline in the header.
2840 * WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
2841 * WebCore.gyp/scripts/action_makenames.py:
2842 (main): Allow make_settings.pl.
2843 * WebCore.order: Remove functions that are now inline in the header.
2844 * html/ValidationMessage.cpp:
2845 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".
2846 * page/Settings.cpp:
2847 (WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.
2849 (Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.
2850 * page/Settings.in: Added.
2851 * page/make_settings.pl: Added.
2852 (defaultItemFactory):
2854 (generateHeader): Use a similar model as make_names.pl.
2855 (printConditionalMacros):
2856 (printGettersAndSetters):
2857 (printMemberVariables):
2858 (printGetterAndSetter):
2859 (printInitializerList):
2862 2012-11-15 Alpha Lam <hclam@chromium.org>
2864 [chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
2865 https://bugs.webkit.org/show_bug.cgi?id=102019
2867 Reviewed by Stephen White.
2869 Goal of this change is to keep ImageDecodingStore clean and only do
2870 image caching. Logic of creating lazily decoded SkBitmaps is moved into
2871 DeferredImageDecoder.
2873 In particular these two methods are moved:
2874 - ImageDecodingStore::createLazyDecodedSkBitmap
2875 - ImageDecodingStore::resizeLazyDecodedSkBitmap
2877 No new tests. There is no new code (really). It is just moved from
2878 ImageDecodingStore to DeferredImageDecoder.
2880 No change in behavior. Code is tested with:
2881 Unit tests: webkit_unit_tests
2882 Layout test: platform/chromium/virtual/deferred
2884 * platform/graphics/chromium/DeferredImageDecoder.cpp:
2885 (WebCore::DeferredImageDecoder::isLazyDecoded):
2887 (WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
2888 (WebCore::DeferredImageDecoder::frameBufferAtIndex):
2889 (WebCore::DeferredImageDecoder::setData):
2890 (WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):
2891 * platform/graphics/chromium/DeferredImageDecoder.h:
2893 (DeferredImageDecoder):
2894 * platform/graphics/chromium/ImageDecodingStore.cpp:
2895 * platform/graphics/chromium/ImageDecodingStore.h:
2896 (ImageDecodingStore):
2897 * platform/graphics/chromium/ImageFrameGenerator.cpp:
2898 (WebCore::ImageFrameGenerator::ImageFrameGenerator):
2899 * platform/graphics/chromium/ImageFrameGenerator.h:
2900 (WebCore::ImageFrameGenerator::create):
2901 (ImageFrameGenerator):
2902 * platform/graphics/skia/NativeImageSkia.cpp:
2903 (WebCore::NativeImageSkia::resizedBitmap):
2905 2012-11-15 Roger Fong <roger_fong@apple.com>
2907 Unreviewed. Build fix for Windows after r134767.
2909 Update vsprops and vcproj files to reflect changes to file locations in r134767.
2911 * WebCore.vcproj/WebCore.vcproj:
2912 * WebCore.vcproj/WebCoreCommon.vsprops:
2914 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
2916 Track subframe count to avoid traversing the tree when there's no subframes
2917 https://bugs.webkit.org/show_bug.cgi?id=101821
2919 Reviewed by Ojan Vafai.
2921 Bug 101619 showed a 9-14% improvement from not walking the children during
2922 removeChild looking for frames when there's known to be no frames. The fix
2923 in that bug only avoids this walk when the whole document has no frames, this
2924 patch extends it to skip traversing subtrees that have no iframes by hooking
2925 the frame assignment to walk up the tree and keep track of the count of frames
2926 in the subtree on contentFrame assignment and then decrement it on disconnect.
2928 No new tests, this is just a perf refactor.
2930 * dom/ContainerNode.cpp:
2931 (WebCore::willRemoveChildren):
2932 * dom/ContainerNodeAlgorithms.cpp:
2933 (WebCore::ChildFrameDisconnector::collectFrameOwners):
2934 * dom/ContainerNodeAlgorithms.h:
2935 (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
2936 (ChildFrameDisconnector):
2937 (WebCore::ChildFrameDisconnector::collectFrameOwners):
2938 Renamed from collectDescendant() to better reflect what it really does.
2939 (WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
2940 Renamed from disconnect() to better reflect what it really does.
2941 (WebCore::ChildFrameDisconnector::disconnect):
2942 New method that does the collection of frame owners on either the root
2943 or only it's descendants.
2945 (WebCore::Node::connectedSubframeCount):
2946 (WebCore::Node::incrementConnectedSubframeCount):
2947 (WebCore::Node::decrementConnectedSubframeCount):
2949 * dom/NodeRareData.h:
2950 (WebCore::NodeRareData::NodeRareData):
2951 (WebCore::NodeRareData::connectedSubframeCount):
2952 (WebCore::NodeRareData::incrementConnectedSubframeCount):
2953 (WebCore::NodeRareData::decrementConnectedSubframeCount):
2954 * html/HTMLFrameOwnerElement.cpp:
2955 (WebCore::HTMLFrameOwnerElement::setContentFrame):
2956 (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
2958 2012-11-15 Alpha Lam <hclam@chromium.org>
2960 [chromium] WebGL texImage2D fails with deferred image decoding
2961 https://bugs.webkit.org/show_bug.cgi?id=102310
2963 Reviewed by Kenneth Russell.
2965 Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
2966 to decode an image. When deferred image decoding is enabled this class
2967 generates an ImageFrame marked as incomplete, which WebGL rejects. This results
2968 in failing of texImage2D.
2970 This change uses ImageDecoder directly instead of ImageSource. This skips
2971 the code path of deferred image decoding. This behavior is correct because
2972 GraphicsContext3D wants to decode the image differently with alpha not
2973 premultiplied and color profile applied optionally.
2975 Added a test to prove this change fixed the bug.
2977 Test: fast/images/webgl-teximage2d.html
2979 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2980 (WebCore::GraphicsContext3D::getImageData):
2982 2012-11-15 Jer Noble <jer.noble@apple.com>
2984 Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.
2986 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2987 (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
2989 2012-11-15 Jer Noble <jer.noble@apple.com>
2991 Unreviewed build fix. Avoid implicit precision and unused parameter warnings.
2993 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2994 (WebCore::WebCoreAVFResourceLoader::responseReceived):
2995 (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
2997 2012-11-15 Adam Barth <abarth@webkit.org>
2999 [V8] We shouldn't call deprecated V8 APIs
3000 https://bugs.webkit.org/show_bug.cgi?id=102407
3002 Reviewed by Eric Seidel.
3004 This patch was written by Sven Panne on the V8 team. He would prefer
3005 that we not call deprecated V8 APIs. This patch updates these call
3006 sites to more modern idioms.
3008 * bindings/scripts/CodeGeneratorV8.pm:
3009 (GenerateConstructorGetter):
3010 (GenerateImplementation):
3011 * bindings/scripts/test/V8/V8TestObj.cpp:
3012 (WebCore::TestObjV8Internal::TestObjConstructorGetter):
3013 * bindings/v8/PageScriptDebugServer.cpp:
3014 (WebCore::PageScriptDebugServer::addListener):
3015 * bindings/v8/ScriptController.cpp:
3016 (WebCore::ScriptController::setContextDebugId):
3017 (WebCore::ScriptController::contextDebugId):
3018 * bindings/v8/ScriptProfiler.cpp:
3019 (WebCore::ScriptProfiler::objectByHeapObjectId):
3020 - This code doesn't seem to do anything anymore.
3021 * bindings/v8/V8DOMConfiguration.h:
3022 (WebCore::V8DOMConfiguration::configureAttribute):
3023 * bindings/v8/V8DOMWindowShell.cpp:
3024 (WebCore::setInjectedScriptContextDebugId):
3025 * bindings/v8/V8DOMWrapper.cpp:
3026 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3027 (WebCore::V8DOMWrapper::isWrapperOfType):
3028 * bindings/v8/V8EventListenerList.h:
3029 (WebCore::V8EventListenerList::doFindWrapper):
3030 (WebCore::V8EventListenerList::findOrCreateWrapper):
3031 * bindings/v8/WorkerContextExecutionProxy.cpp:
3032 (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
3033 * bindings/v8/WrapperTypeInfo.h:
3034 (WebCore::WrapperTypeInfo::unwrap):
3036 2012-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
3038 Unreviewed, rolling out r134800 and r134805.
3039 http://trac.webkit.org/changeset/134800
3040 http://trac.webkit.org/changeset/134805
3041 https://bugs.webkit.org/show_bug.cgi?id=102417
3043 This patch broke chromium port (Requested by jianli on
3046 * Modules/mediastream/RTCPeerConnection.cpp:
3047 (WebCore::RTCPeerConnection::RTCPeerConnection):
3048 (WebCore::RTCPeerConnection::createOffer):
3049 (WebCore::RTCPeerConnection::createAnswer):
3050 (WebCore::RTCPeerConnection::setLocalDescription):
3051 (WebCore::RTCPeerConnection::localDescription):
3052 (WebCore::RTCPeerConnection::setRemoteDescription):
3053 (WebCore::RTCPeerConnection::remoteDescription):
3054 (WebCore::RTCPeerConnection::updateIce):
3055 (WebCore::RTCPeerConnection::addIceCandidate):
3056 (WebCore::RTCPeerConnection::readyState):
3057 (WebCore::RTCPeerConnection::iceState):
3058 (WebCore::RTCPeerConnection::addStream):
3059 (WebCore::RTCPeerConnection::close):
3060 (WebCore::RTCPeerConnection::stop):
3061 (WebCore::RTCPeerConnection::changeReadyState):
3062 (WebCore::RTCPeerConnection::scheduledEventTimerFired):
3063 * Modules/mediastream/RTCPeerConnection.h:
3064 (RTCPeerConnection):
3065 * Modules/mediastream/RTCPeerConnection.idl:
3068 * platform/mediastream/RTCDataChannelDescriptor.cpp:
3069 (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
3070 (WebCore::RTCDataChannelDescriptor::readyStateChanged):
3071 * platform/mediastream/RTCPeerConnectionHandlerClient.h:
3072 (RTCPeerConnectionHandlerClient):
3073 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3074 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3075 (RTCPeerConnectionHandlerChromium):
3077 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
3079 Remove Node::aboutToUnload and be more explicit about what it was for
3080 https://bugs.webkit.org/show_bug.cgi?id=102357
3082 Reviewed by Ryosuke Niwa.
3084 Node::aboutToUnload was confusingly named because it was only called on
3085 the focused node, and it really only existed to support notifying the
3086 embedder that inputs should stop being editable on unload. Instead add
3087 a new method to HTMLInputElement that ends editing and call that
3088 explicitly in the FrameLoader so it's clear what this is about.
3090 No new tests, this is just a refactoring.
3093 * html/HTMLInputElement.cpp:
3094 (WebCore::HTMLInputElement::endEditing):
3095 New method that handles finishing editing.
3096 * html/HTMLInputElement.h:
3098 * html/TextFieldInputType.cpp:
3099 (WebCore::TextFieldInputType::handleBlurEvent):
3100 Use the new method to reduce code duplication.
3101 * loader/FrameLoader.cpp:
3102 (WebCore::FrameLoader::stopLoading):
3103 Be explicit about what this check was for.
3105 2012-11-15 Tommy Widenflycht <tommyw@google.com>
3107 [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
3108 https://bugs.webkit.org/show_bug.cgi?id=102386
3110 Reviewed by Adam Barth.
3112 Existing tests expanded to cover patch.
3114 * platform/mediastream/RTCDataChannelDescriptor.cpp:
3115 (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
3116 (WebCore::RTCDataChannelDescriptor::readyStateChanged):
3117 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3118 (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
3120 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3122 (RTCPeerConnectionHandlerChromium):
3124 2012-11-15 Rick Byers <rbyers@chromium.org>
3126 No tests for changing mouse cursors
3127 https://bugs.webkit.org/show_bug.cgi?id=100550
3129 Reviewed by Brent Fulgham.
3131 Add infrastructure to keep track of the last set mouse cursor,
3132 and then to query it from DumpRenderTree. Also adds ASSERTs to help ensure
3133 we can reliably detect when an uninitialized Cursor object is used (such as
3134 the one that can be returned from OptionalCursor in the NoCursorChange scenario).
3136 Test: fast/events/mouse-cursor.html
3138 * WebCore.exp.in: Add Cursor copy ctor export
3139 * page/EventHandler.cpp:
3140 (WebCore::OptionalCursor::cursor):
3141 (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
3142 * page/EventHandler.h:
3143 (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
3144 * platform/Cursor.h:
3145 (WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
3146 (WebCore::Cursor::type): Assert cursor type is valid.
3147 * testing/Internals.cpp:
3148 (WebCore::cursorTypeToString): Helper to convert cursor type to enum
3150 (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
3151 * testing/Internals.h: Declare getCurrentCursorInfo
3152 * testing/Internals.idl: Declare getCurrentCursorInfo
3154 2012-11-13 Jer Noble <jer.noble@apple.com>
3156 Support loading of blob URLs in AVFoundation.
3157 https://bugs.webkit.org/show_bug.cgi?id=102182
3159 Reviewed by Eric Carlson.
3161 Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.
3163 Test: media/video-src-blob.html
3165 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3166 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3167 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted
3168 media path if the key scheme is skp://.
3169 (WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added. Cancel resource loading if
3170 the media engine requests it.
3171 (WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.
3173 Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.
3174 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3175 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
3176 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
3177 (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
3179 Add a new helper class to manage loading the CachedRawResource and feed the incoming
3180 data to the AVAssetResourceLoader.
3181 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
3182 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.
3183 (WebCore::WebCoreAVFResourceLoader::create): Simple factory.
3184 (WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
3185 (WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
3186 (WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
3187 (WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
3188 (WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the
3189 AVAssetResourceLoadingRequest.
3190 (WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
3191 (WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading
3193 (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest
3194 field of the AVAssetResourceLoadingRequest.
3196 Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
3197 document's cachedResourceLoader.
3198 * html/HTMLMediaElement.cpp:
3199 (WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):
3200 * html/HTMLMediaElement.h:
3201 * platform/graphics/MediaPlayer.cpp:
3202 (WebCore::MediaPlayer::cachedResourceLoader):
3203 * platform/graphics/MediaPlayer.h:
3204 (WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):
3206 Add a convenience method to convert from MIME type -> UTI.
3207 * platform/network/mac/UTIUtilities.h:
3208 * platform/network/mac/UTIUtilities.mm:
3209 (WebCore::UTIFromMIMEType):
3211 Add new files to project.
3212 * WebCore.xcodeproj/project.pbxproj:
3214 2012-11-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
3216 Remove initiallyFitToViewport attribute
3217 https://bugs.webkit.org/show_bug.cgi?id=102392
3219 Reviewed by Noam Rosenthal.
3221 Remove the initiallyFitToViewport which shouldn't have been
3222 added in the first place. We now reset userScalable to auto (-1)
3223 in case it was not explicitly set by the web author.
3225 Same behavior, covered by existing tests.
3227 * dom/ViewportArguments.cpp:
3228 (WebCore::ViewportArguments::resolve):
3229 * dom/ViewportArguments.h:
3230 (ViewportAttributes):
3232 2012-11-15 Tommy Widenflycht <tommyw@google.com>
3234 MediaStream API: Update RTCPeerConnection states to match the latest editors draft
3235 https://bugs.webkit.org/show_bug.cgi?id=102382
3237 Reviewed by Adam Barth.
3239 Updating readyState & iceState, and adding iceGatheringState.
3240 Also safeguarding the event timer callback.
3242 Patch covered by existing tests.
3244 * Modules/mediastream/RTCPeerConnection.cpp:
3245 (WebCore::RTCPeerConnection::RTCPeerConnection):
3246 (WebCore::RTCPeerConnection::createOffer):
3247 (WebCore::RTCPeerConnection::createAnswer):
3248 (WebCore::RTCPeerConnection::setLocalDescription):
3249 (WebCore::RTCPeerConnection::localDescription):
3250 (WebCore::RTCPeerConnection::setRemoteDescription):
3251 (WebCore::RTCPeerConnection::remoteDescription):
3252 (WebCore::RTCPeerConnection::updateIce):
3253 (WebCore::RTCPeerConnection::addIceCandidate):
3254 (WebCore::RTCPeerConnection::readyState):
3255 (WebCore::RTCPeerConnection::iceGatheringState):
3257 (WebCore::RTCPeerConnection::iceState):
3258 (WebCore::RTCPeerConnection::addStream):
3259 (WebCore::RTCPeerConnection::close):
3260 (WebCore::RTCPeerConnection::didChangeIceGatheringState):
3261 (WebCore::RTCPeerConnection::stop):
3262 (WebCore::RTCPeerConnection::changeReadyState):
3263 (WebCore::RTCPeerConnection::scheduledEventTimerFired):
3264 * Modules/mediastream/RTCPeerConnection.h:
3265 (RTCPeerConnection):
3266 * Modules/mediastream/RTCPeerConnection.idl:
3269 * platform/mediastream/RTCPeerConnectionHandlerClient.h:
3270 (RTCPeerConnectionHandlerClient):
3271 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3272 (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
3274 * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3275 (RTCPeerConnectionHandlerChromium):
3277 2012-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
3279 Unreviewed, rolling out r134649 and r134665.
3280 http://trac.webkit.org/changeset/134649
3281 http://trac.webkit.org/changeset/134665
3282 https://bugs.webkit.org/show_bug.cgi?id=102413
3284 Broke a ton of downstream chromium tests (Requested by japhet
3287 * loader/DocumentLoader.cpp:
3288 (WebCore::DocumentLoader::DocumentLoader):
3289 (WebCore::DocumentLoader::~DocumentLoader):
3290 (WebCore::DocumentLoader::finishedLoading):
3291 (WebCore::DocumentLoader::clearMainResourceLoader):
3292 (WebCore::DocumentLoader::isLoadingInAPISense):
3293 (WebCore::DocumentLoader::documentURL):
3294 (WebCore::DocumentLoader::isLoadingMainResource):
3295 (WebCore::DocumentLoader::startLoadingMainResource):
3296 * loader/DocumentLoader.h:
3298 * loader/FrameLoader.cpp:
3299 (WebCore::FrameLoader::FrameLoader):
3300 (WebCore::FrameLoader::init):
3301 * loader/FrameLoaderStateMachine.cpp:
3302 (WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
3303 * loader/FrameLoaderStateMachine.h:
3304 * loader/MainResourceLoader.cpp:
3305 (WebCore::shouldLoadAsEmptyDocument):
3307 (WebCore::MainResourceLoader::continueAfterContentPolicy):
3308 (WebCore::MainResourceLoader::didReceiveResponse):
3309 (WebCore::MainResourceLoader::didFinishLoading):
3310 (WebCore::MainResourceLoader::handleEmptyLoad):
3311 (WebCore::MainResourceLoader::loadNow):
3312 (WebCore::MainResourceLoader::load):
3313 * loader/MainResourceLoader.h:
3314 (MainResourceLoader):
3316 2012-11-15 Kentaro Hara <haraken@chromium.org>
3318 Correct syntax of old-style IDL files
3319 https://bugs.webkit.org/show_bug.cgi?id=102335
3321 Reviewed by Adam Barth.
3323 Recently tasak@ corrected an IDL syntax of almost all IDL files.
3324 We should correct the rest of them.
3326 No tests. No change in behavior.
3328 * html/canvas/OESElementIndexUint.idl:
3329 * page/PerformanceMark.idl:
3330 * page/PerformanceMeasure.idl:
3332 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
3334 Remove isHTMLInputElement since it's unused and toInputElement exists
3335 https://bugs.webkit.org/show_bug.cgi?id=102358
3337 Reviewed by Ojan Vafai.
3339 Remove isHTMLInputElement as no one uses it. Everyone just uses
3340 Node::toInputElement and checks for a 0 return value instead.
3342 toInputElement is also more reliable as there's no requirement that
3343 subclasses of HTMLInputElement have the tag name of inputTag so using
3344 this method in a check could potentially miss future subclasses with
3345 different tag names, though none exist right now.
3347 No new tests, this just deletes dead code.
3349 * html/HTMLInputElement.h:
3351 2012-11-15 Erik Arvidsson <arv@chromium.org>
3353 Update DOMException name: NotSupportedError
3354 https://bugs.webkit.org/show_bug.cgi?id=102139
3356 Reviewed by Ojan Vafai.
3358 Patch 9 of 25 to update DOMException name to match the spec and Firefox.
3360 Updated existing tests.
3362 * dom/DOMCoreException.cpp:
3364 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
3366 Remove isHTMLInputElement since it's unused and toInputElement exists
3367 https://bugs.webkit.org/show_bug.cgi?id=102358
3369 Reviewed by Ojan Vafai.
3371 Remove isHTMLInputElement as no one uses it. Everyone just uses
3372 Node::toInputElement and checks for a 0 return value instead.
3374 toInputElement is also more reliable as there's no requirement that
3375 subclasses of HTMLInputElement have the tag name of inputTag so using
3376 this method in a check could potentially miss future subclasses with
3377 different tag names, though none exist right now.
3379 No new tests, this just deletes dead code.
3381 * html/HTMLInputElement.h:
3383 2012-11-15 Erik Arvidsson <arv@chromium.org>
3385 Update DOMException name: NoModificationAllowedError
3386 https://bugs.webkit.org/show_bug.cgi?id=102134
3388 Reviewed by Ojan Vafai.
3390 Patch 7 of 25 to update DOMException name to match the spec and Firefox.
3392 Updated existing tests.
3394 * dom/DOMCoreException.cpp:
3396 2012-11-15 Miguel Garcia <miguelg@chromium.org>
3398 Remove unnecesary dependencies INPUT_TYPE_COLOR
3399 https://bugs.webkit.org/show_bug.cgi?id=102379
3401 Reviewed by Darin Adler.
3403 Platforms should be able to enable INPUT_TYPE_COLOR without enabling
3404 CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
3405 compile errors in such configuration.
3407 No new tests since this is not adding any extra functionality.
3409 * WebCore.gyp/WebCore.gyp:
3410 * html/ColorInputType.cpp:
3411 (WebCore::ColorInputType::shouldShowSuggestions):
3412 * make-file-arrays.py:
3415 2012-11-15 Eric Carlson <eric.carlson@apple.com>
3417 Update computed line position algorithm
3418 https://bugs.webkit.org/show_bug.cgi?id=93779
3420 Reviewed by Philippe Normand.
3422 Compute the position of a text track relative to rendered tracks. This is needed to position
3423 cues correctly when there is more than one text track.
3425 Test: media/track/track-cue-container-rendering-position.html
3427 * html/track/TextTrack.cpp:
3428 (WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
3429 (WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative
3430 to other rendered tracks.
3431 * html/track/TextTrack.h:
3433 * html/track/TextTrackCue.cpp:
3434 (WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()
3435 instead of trackIndex() so cues are positioned correctly.
3437 * html/track/TextTrackList.cpp:
3438 (TextTrackList::getTrackIndex): Change return type from unsigned to int.
3439 (TextTrackList::getTrackIndexRelativeToRenderedTracks): New.
3440 * html/track/TextTrackList.h:
3442 2012-11-15 Dominik Röttsches <dominik.rottsches@intel.com>
3444 [EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
3445 https://bugs.webkit.org/show_bug.cgi?id=101323
3447 Reviewed by Martin Robinson.
3449 Removing ifdef since we bumped Harfbuzz dependency. This is the
3450 real fix replacing the previous workaround of having a Chromium
3451 specific ifdef here, since Chromium uses a newer HarfBuzz version
3454 No new tests, covered by css3/flexbox/inline-flex-crash.html
3455 which will not crash anymore even with the ifdef removed.
3457 * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3458 (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
3460 2012-11-15 Andreas Kling <kling@webkit.org>
3462 REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
3463 <http://webkit.org/b/102304>
3465 Reviewed by Anders Carlsson.
3467 Test: fast/dom/cloneNode-below-body-attribute-merging.html
3469 * html/parser/HTMLConstructionSite.cpp:
3470 (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3472 Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
3473 we're merging attributes into.
3475 * dom/ElementAttributeData.h:
3476 (ElementAttributeData):
3478 Remove a now-unnecessary friend declaration.
3480 2012-11-15 Elliott Sprehn <esprehn@chromium.org>
3482 Prevent creation of detached frames in ShadowRoot
3483 https://bugs.webkit.org/show_bug.cgi?id=102333
3485 Reviewed by Dimitri Glazkov.
3487 Similar to Bug 94717 you can create a loaded iframe in a detached
3488 subtree using ShadowRoot. To fix this we just need to make
3489 SubframeLoadingDisabler traverse through shadow boundaries.
3491 Test: fast/frames/detached-shadow-frame.html
3493 * html/HTMLFrameOwnerElement.h:
3494 (WebCore::SubframeLoadingDisabler::canLoadFrame):
3496 2012-11-15 Shinya Kawanaka <shinyak@chromium.org>
3498 Changing pseudoClass (:visited) should cause distribution.
3499 https://bugs.webkit.org/show_bug.cgi?id=101700
3501 Reviewed by Dimitri Glazkov.
3503 When href attribute of an anchor or area element is changed, we have to invalidate distribution.
3505 Since we would like to check a few pseudoClasses at once, we make the argument of
3506 SelectRuleFeatureSet::hasSelectorFor int.
3508 Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html
3509 fast/dom/shadow/pseudoclass-update-visited-area.html
3511 * dom/ElementShadow.cpp:
3512 (WebCore::invalidateParentDistributionIfNecessary):
3513 * dom/ElementShadow.h:
3515 * html/HTMLAnchorElement.cpp:
3516 (WebCore::HTMLAnchorElement::parseAttribute):
3517 * html/shadow/SelectRuleFeatureSet.h:
3518 (WebCore::SelectRuleFeatureSet::hasSelectorFor):
3520 2012-11-15 Balazs Kelemen <kbalazs@webkit.org>
3522 Coordinated Graphics: support the "freeze animations" API
3523 https://bugs.webkit.org/show_bug.cgi?id=100703
3525 Reviewed by Noam Rosenthal.
3527 Make animations resumable in Coordinated Graphics.
3528 Pausing was already implemented.
3530 Tested with animations and transitions tests. No tests to be
3531 unskipped because these tests has been working without this API
3532 as well (although this is the preferred way).
3534 * platform/graphics/GraphicsLayerAnimation.cpp:
3535 (WebCore::GraphicsLayerAnimation::apply):
3536 (WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
3537 Do not consider the time while we was suspended as part of
3538 the total running time.
3540 (WebCore::GraphicsLayerAnimation::resume):
3541 (WebCore::GraphicsLayerAnimations::suspend):
3542 (WebCore::GraphicsLayerAnimations::resume):
3543 * platform/graphics/GraphicsLayerAnimation.h:
3544 (GraphicsLayerAnimation):
3545 (GraphicsLayerAnimations):
3547 2012-11-15 Gabor Rapcsanyi <rgabor@webkit.org>
3549 Relocate the ARM NEON SVG filter optimizations
3550 https://bugs.webkit.org/show_bug.cgi?id=102214
3552 Reviewed by Zoltan Herczeg.
3554 Relocate the ARM filter optimizations into platform/graphics/cpu/arm
3555 to keep them together with the others.
3556 From now all graphics optimization for ARM NEON should go here.
3560 * GNUmakefile.list.am:
3562 * WebCore.gyp/WebCore.gyp:
3565 * WebCore.xcodeproj/project.pbxproj:
3566 * platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.
3568 (FEBlendUtilitiesNEON):
3569 (WebCore::FEBlendUtilitiesNEON::div255):
3570 (WebCore::FEBlendUtilitiesNEON::normal):
3571 (WebCore::FEBlendUtilitiesNEON::multiply):
3572 (WebCore::FEBlendUtilitiesNEON::screen):
3573 (WebCore::FEBlendUtilitiesNEON::darken):
3574 (WebCore::FEBlendUtilitiesNEON::lighten):
3575 (WebCore::FEBlend::platformApplyNEON):
3576 * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.
3578 (WebCore::FEComposite::computeArithmeticPixelsNeon):
3579 (WebCore::FEComposite::platformArithmeticNeon):
3580 * platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.
3582 (WebCore::boxBlurNEON):
3583 * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.
3585 (WebCore::feLightingConstantsForNeon):
3586 (WebCore::FELighting::platformApplyNeonWorker):
3587 (WebCore::FELighting::getPowerCoefficients):
3588 * platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.
3590 (FELightingFloatArgumentsForNeon):
3591 (FELightingPaintingDataForNeon):
3592 (WebCore::FELighting::platformApplyNeon):
3593 * platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.
3595 (WebCore::loadRGBA8AsFloat):
3596 (WebCore::storeFloatAsRGBA8):
3598 2012-11-15 Mike West <mkwst@chromium.org>
3600 We should trigger a console warning when we encounter invalid sandbox flags.
3601 https://bugs.webkit.org/show_bug.cgi?id=101956
3603 Reviewed by Adam Barth.
3605 A developer who writes '<iframe sandbox="allowScripts">' probably has
3606 something in mind other than what the browser interprets. In these
3607 situations, we should log a console warning that notes 'allowScripts'
3608 is an invalid sandbox flag ('allow-scripts' is probably what she
3611 This patch does the simplest thing possible: it throws a warning that
3612 lists the invalid flags encountered for sandbox attributes on iframes,
3613 and for sandbox Content Security Policy directives.
3615 Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html
3616 http/tests/security/sandboxed-iframe-invalid.html
3618 * dom/SecurityContext.cpp:
3619 (WebCore::SecurityContext::parseSandboxPolicy):
3620 * dom/SecurityContext.h:
3622 Accept a new out parameter, invalidTokensErrorMessage. If invalid
3623 tokens are encountered, build an error message string, and pass it
3624 back to the caller through this parameter.
3625 * html/HTMLIFrameElement.cpp:
3626 (WebCore::HTMLIFrameElement::parseAttribute):
3627 * page/ContentSecurityPolicy.cpp:
3628 (WebCore::CSPDirectiveList::applySandboxPolicy):
3629 When applying a sandbox policy, pass a string into
3630 SecurityContext::parseSandboxPolicy to grab any errors that might
3631 be encountered, and log a warning in that event.
3632 (WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
3634 * page/ContentSecurityPolicy.h:
3635 Adding a new method to report invalid sandbox flags.
3637 2012-11-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
3639 Rename member vars in ViewportArgument to match css-device-adapt
3640 https://bugs.webkit.org/show_bug.cgi?id=102355
3642 Reviewed by Gyuyoung Kim.
3644 No behavior change, thus no new tests.
3646 * dom/ViewportArguments.cpp:
3647 (WebCore::ViewportArguments::resolve):
3648 (WebCore::setViewportFeature):
3649 * dom/ViewportArguments.h:
3650 (WebCore::ViewportArguments::ViewportArguments):
3651 (ViewportArguments):
3652 (WebCore::ViewportArguments::operator==):
3654 2012-11-15 Andrey Adaikin <aandrey@chromium.org>
3656 Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
3657 https://bugs.webkit.org/show_bug.cgi?id=102366
3659 Reviewed by Vsevolod Vlasov.
3661 * inspector/InjectedScriptCanvasModuleSource.js:
3664 2012-11-15 Mark Rowe <mrowe@apple.com>
3668 Disable deprecation warnings in a few places that need it.
3670 * platform/graphics/ca/mac/TileCache.mm:
3671 (WebCore::TileCache::drawRepaintCounter):
3672 * platform/graphics/mac/FontMac.mm:
3673 (WebCore::showGlyphsWithAdvances):
3674 * platform/graphics/mac/WebLayer.mm:
3675 (drawLayerContents):
3677 2012-11-15 Kent Tamura <tkent@chromium.org>
3679 Support stand-alone month names in calendar picker
3680 https://bugs.webkit.org/show_bug.cgi?id=102196
3682 Reviewed by Kentaro Hara.
3684 We have showed non stand-alone month names in any locales. However
3685 we should show stand-alone month names in some locales such as
3688 This patch introduce PagePopupController::formatMonth. It is
3689 exposed to page-popups, and format year-month pairs in the same
3690 way as input[type=month].
3692 No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.
3694 * Resources/pagepopups/calendarPicker.js:
3695 (Month.prototype.toLocaleString):
3696 Calls pagePopupController.formatMonth except Japanese locale.
3697 (handleArgumentsTimeout):
3698 Remove unnecessary default monthLabels.
3699 * page/PagePopupController.cpp:
3700 (WebCore::PagePopupController::formatMonth): Added.
3701 * page/PagePopupController.h:
3702 (PagePopupController): Declare formatMonth.
3703 * page/PagePopupController.idl: Add formatMonth.
3705 2012-11-15 Eugene Klyuchnikov <eustas.bug@gmail.com>
3707 Web Inspector: Fix new JS compiler warnings.
3708 https://bugs.webkit.org/show_bug.cgi?id=102341
3710 Reviewed by Yury Semikhatsky.
3712 New version of compiler finds new inconsistencies.
3714 * inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
3715 * inspector/front-end/DOMBreakpointsSidebarPane.js:
3716 Declared instance property on WebInspector.
3717 * inspector/front-end/Script.js: Normalized parameter notation.
3719 2012-11-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
3721 Unreviewed build fix.
3723 * dom/ViewportArguments.cpp:
3724 (WebCore::convertToUserSpace): Add static
3726 2012-11-14 Kenneth Rohde Christiansen <kenneth@webkit.org>
3728 Refactor ViewportArguments to only use CSS units
3729 https://bugs.webkit.org/show_bug.cgi?id=102287
3731 Reviewed by Noam Rosenthal.
3733 Refactor the ViewportArgument code to use a member method for
3734 resolving the viewport. This new method only uses arguments in
3737 This is preparation for adding the CSS Device Adaptation support.
3739 Tested by existing tests fast/viewport.
3741 * dom/ViewportArguments.cpp:
3742 (WebCore::clampLengthValue):
3743 (WebCore::clampScaleValue): New utility functions.
3744 (WebCore::ViewportArguments::resolve):
3745 (WebCore::convertToUserSpace): Added until everyone provides arguments
3746 only in CSS units and not device ones.
3747 (WebCore::computeViewportAttributes):
3748 (WebCore::computeMinimumScaleFactorForContentContained):
3750 (WebCore::restrictMinimumScaleFactorToViewportSize):
3751 * dom/ViewportArguments.h:
3752 (ViewportArguments):
3754 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
3756 Changing pseudoClass (:disabled) should cause distribution.
3757 https://bugs.webkit.org/show_bug.cgi?id=101901
3759 Reviewed by Hajime Morita.
3761 We have to invalidate distribution when pseudo-class (:disabled) is changed.
3763 According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
3764 option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
3765 have 'disabled' state, but we need a command element to make it 'disabled' state.
3767 Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html
3768 fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
3769 fast/dom/shadow/pseudoclass-update-disabled-input.html
3770 fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
3771 fast/dom/shadow/pseudoclass-update-disabled-option.html
3772 fast/dom/shadow/pseudoclass-update-disabled-select.html
3773 fast/dom/shadow/pseudoclass-update-disabled-textarea.html
3775 * html/HTMLFormControlElement.cpp:
3776 (WebCore::HTMLFormControlElement::disabledAttributeChanged):
3777 * html/HTMLOptGroupElement.cpp:
3778 (WebCore::HTMLOptGroupElement::parseAttribute):
3779 * html/HTMLOptionElement.cpp:
3780 (WebCore::HTMLOptionElement::parseAttribute):
3782 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
3784 Unreviewed, rolling out r134691, r134703, r134715, r134716,
3786 http://trac.webkit.org/changeset/134691
3787 http://trac.webkit.org/changeset/134703
3788 http://trac.webkit.org/changeset/134715
3789 http://trac.webkit.org/changeset/134716
3790 http://trac.webkit.org/changeset/134733
3791 https://bugs.webkit.org/show_bug.cgi?id=102342
3793 "Broke the Apple Windows Debug and GTK builds." (Requested by
3797 * bindings/js/SerializedScriptValue.h:
3798 * testing/Internals.cpp:
3799 * testing/Internals.h:
3801 * testing/Internals.idl:
3803 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
3805 Not reviewed: fixing inspector tests under Qt.
3807 * inspector/front-end/TestController.js:
3808 * inspector/front-end/utilities.js:
3811 2012-11-14 Kentaro Hara <haraken@chromium.org>
3813 Unreviewed. Rebaselined run-bindings-tests.
3815 * bindings/scripts/test/V8/V8TestNode.h:
3816 (WebCore::toV8Fast):
3818 2012-11-14 Simon Fraser <simon.fraser@apple.com>
3820 Don't use temporary clip rects when hit testing
3821 https://bugs.webkit.org/show_bug.cgi?id=102329
3823 Reviewed by Beth Dakin.
3825 We now cache clip rects separately for painting, hit testing etc. Hit testing
3826 clip rects are always shrunk to exclude scrollbars (so that hit testing on
3827 the scrollbars works), so we no longer every need to use temporary clip rects
3830 Added an assertion that the scrollbar relevancy when we computed the clip rects
3831 is the same as that when using them.
3833 * rendering/RenderLayer.cpp:
3834 (WebCore::RenderLayer::hitTestLayer):
3835 (WebCore::RenderLayer::updateClipRects):
3836 * rendering/RenderLayer.h:
3837 (WebCore::ClipRectsCache::ClipRectsCache):
3840 2012-11-14 Dirk Schulze <krit@webkit.org>
3842 Support animation of basic shape 'polygon'
3843 https://bugs.webkit.org/show_bug.cgi?id=102080
3845 Reviewed by Daniel Bates.
3847 The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
3848 patch http://trac.webkit.org/changeset/134352.
3849 This is a follow-up patch to make 'polygon' animatable as well, as long as the number
3850 of vertices between start and end polygon is the same.
3852 Added polygon animation test to existing test:
3853 fast/exclusions/shape-inside/shape-inside-animation.html
3854 css3/masking/clip-path-animation.html
3856 * page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
3857 * rendering/style/BasicShapes.cpp:
3858 (WebCore::BasicShape::canBlend): Polygons are allowed now.
3859 (WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.
3861 2012-11-14 Kentaro Hara <haraken@chromium.org>
3863 Unreviewed. Fix code generator warnings.
3865 * bindings/scripts/CodeGeneratorV8.pm:
3866 (GenerateFunctionCallback):
3867 (GenerateImplementation):
3869 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
3871 Changing pseudoClass (:checked) should cause distribution.
3872 https://bugs.webkit.org/show_bug.cgi?id=101902
3874 Reviewed by Dimitri Glazkov.
3876 When the 'checked' state is changed, we have to invalidate distribution.
3878 According to the HTML5 spec, :checked should match a checked input[type="checkbox"],
3879 a checked input[type="radio"], a selected option, and commands. However, we don't have a command element yet.
3881 Tests: fast/dom/shadow/pseudoclass-update-checked-input.html
3882 fast/dom/shadow/pseudoclass-update-checked-option.html
3884 * html/HTMLInputElement.cpp:
3885 (WebCore::HTMLInputElement::setChecked):
3886 * html/HTMLOptionElement.cpp:
3887 (WebCore::HTMLOptionElement::setSelectedState):
3889 2012-11-14 Kentaro Hara <haraken@chromium.org>
3891 [V8] Kill $implClassName from CodeGeneratorV8.pm
3892 https://bugs.webkit.org/show_bug.cgi?id=102312
3894 Reviewed by Adam Barth.
3896 $implClassName and $interfaceName are the same.
3897 Sometimes we are passing both $implClassName and $interfaceName to
3898 subroutines. We can kill $implClassName.
3900 No tests. No change in behavior.
3902 * bindings/scripts/CodeGeneratorV8.pm:
3903 (GenerateOpaqueRootForGC):
3905 (GenerateDomainSafeFunctionGetter):
3906 (GenerateDomainSafeFunctionSetter):
3907 (GenerateConstructorGetter):
3908 (GenerateNormalAttrGetter):
3909 (GenerateReplaceableAttrSetter):
3910 (GenerateNormalAttrSetter):
3911 (GenerateEventListenerCallback):
3912 (GenerateOverloadedFunctionCallback):
3913 (GenerateFunctionCallback):
3914 (GenerateParametersCheck):
3915 (GenerateOverloadedConstructorCallback):
3916 (GenerateSingleConstructorCallback):
3917 (GenerateConstructorCallback):
3918 (GenerateEventConstructorCallback):
3919 (GenerateTypedArrayConstructorCallback):
3920 (GenerateNamedConstructorCallback):
3921 (GenerateImplementation):
3922 (GenerateFunctionCallString):
3924 2012-11-14 Adam Barth <abarth@webkit.org>
3926 [V8] We can shave one instruction off toV8Fast
3927 https://bugs.webkit.org/show_bug.cgi?id=102297
3929 Reviewed by Kentaro Hara.
3931 There's no reason to store info.Holder in a local variable. Calling
3932 Holder() is essentially free because it's inlined to an offset read.
3934 I doubt this patch moves the performance needle in any measurable way,
3935 but it makes the code slightly prettier.
3937 * bindings/scripts/CodeGeneratorV8.pm:
3939 * bindings/scripts/test/V8/V8TestNode.h:
3940 (WebCore::toV8Fast):
3942 2012-11-14 Kentaro Hara <haraken@chromium.org>
3944 [V8] Get rid of a redundant branch in JSValueToNative()
3945 https://bugs.webkit.org/show_bug.cgi?id=102311
3947 Reviewed by Adam Barth.
3949 No tests. No change in behavior.
3951 * bindings/scripts/CodeGeneratorV8.pm:
3955 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
3957 Changing pseudoClass (:link) should cause distribution
3958 https://bugs.webkit.org/show_bug.cgi?id=101698
3960 Reviewed by Hajime Morita.
3962 CSSSelector :link matches anchor element with href attribute. When href attribute of an anchor element is changed,
3963 we have to invalidate distribution.
3965 According to the HTML spec, :link matches a link element having href attribute, currently we have not implemented it yet.
3967 Tests: fast/dom/shadow/pseudoclass-update-link-anchor.html
3968 fast/dom/shadow/pseudoclass-update-link-area.html
3970 * html/HTMLAnchorElement.cpp:
3971 (WebCore::HTMLAnchorElement::parseAttribute):
3973 2012-11-14 Kentaro Hara <haraken@chromium.org>
3975 Remove unused functions from CodeGenerator.pm
3976 https://bugs.webkit.org/show_bug.cgi?id=102316
3978 Reviewed by Adam Barth.
3980 No tests. No change in behavior.
3982 * bindings/scripts/CodeGenerator.pm:
3983 (GenerateCompileTimeCheckForEnumsIfNeeded):
3985 2012-11-14 Tiancheng Jiang <tijiang@rim.com>
3987 [BlackBerry] Update BB10 form theme.
3988 https://bugs.webkit.org/show_bug.cgi?id=100760
3990 Reviewed by Rob Buis.
3993 Internally Reviewed by Eli Fidler.
3994 Update checkbox, radio and menulist button style. Adjust border width
3997 * platform/blackberry/RenderThemeBlackBerry.cpp:
3998 (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
3999 * platform/blackberry/RenderThemeBlackBerry.h:
4000 (RenderThemeBlackBerry):
4002 2012-11-14 Erik Arvidsson <arv@chromium.org>
4004 Update DOMException name: InvalidModificationError
4005 https://bugs.webkit.org/show_bug.cgi?id=102281
4007 Reviewed by Kentaro Hara.
4009 Patch 13 of 25 to update DOMException name to match the spec and Firefox.
4011 DOMExcecption INVALID_MODIFICATION_ERR is not used in our code.
4013 * dom/DOMCoreException.cpp:
4015 2012-11-14 Adam Barth <abarth@webkit.org>
4017 document variable in Document::axObjectCache is actually the topDocument
4018 https://bugs.webkit.org/show_bug.cgi?id=101966
4020 Reviewed by Chris Fleizach.
4022 Name change requested by Darin Adler.
4025 (WebCore::Document::axObjectCache):
4027 2012-11-14 Joseph Pecoraro <pecoraro@apple.com>
4029 [CF]: XMLHttpRequest "timeout" events firing as "error" events
4030 https://bugs.webkit.org/show_bug.cgi?id=102271
4032 Reviewed by David Kilzer.
4034 Initialize the tiemout flag if the error results from a timeout
4035 in the USE(CFNETWORK) cases.
4037 No new tests. This is covered by http/tests/xmlhttprequest/timeout
4038 tests on ports that USE(CFNETWORK).
4040 * platform/network/cf/ResourceErrorCF.cpp:
4041 (WebCore::ResourceError::ResourceError):
4042 * platform/network/mac/ResourceErrorMac.mm:
4043 (WebCore::ResourceError::ResourceError):
4045 2012-11-14 Nico Weber <thakis@chromium.org>
4047 [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
4048 https://bugs.webkit.org/show_bug.cgi?id=102282
4050 Reviewed by James Robinson.
4052 Chromium uses skia, an