1 2011-09-19 Adam Barth <abarth@webkit.org>
3 [V8] document.all gets confused about its prototype chain
4 https://bugs.webkit.org/show_bug.cgi?id=68393
6 Reviewed by Eric Seidel.
8 GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
9 not a good idea to use its return value. It turns out that all the
10 callers of the API only cared about whether it returns a null handle.
12 Test: http/tests/security/document-all.html
14 * bindings/v8/V8Collection.h:
15 (WebCore::collectionNamedPropertyGetter):
16 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
17 (WebCore::V8DOMStringMap::namedPropertyDeleter):
18 (WebCore::V8DOMStringMap::namedPropertySetter):
19 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
20 (WebCore::V8HTMLAllCollection::namedPropertyGetter):
21 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
22 (WebCore::V8HTMLCollection::namedPropertyGetter):
23 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
24 (WebCore::V8NamedNodeMap::namedPropertyGetter):
25 * bindings/v8/custom/V8StorageCustom.cpp:
26 (WebCore::storageSetter):
28 2011-09-19 Adam Barth <abarth@webkit.org>
30 Named property confusion with __proto__
31 https://bugs.webkit.org/show_bug.cgi?id=68221
33 Reviewed by Eric Seidel.
35 The __proto__ property is super magical because it's not a real named
36 property and it has higher precedence than even interceptors. This
37 confuses this check, which is meant to detech which names will get
38 handled by our interceptor.
40 Test: http/tests/security/window-named-proto.html
42 * bindings/v8/custom/V8DOMWindowCustom.cpp:
43 (WebCore::V8DOMWindow::namedSecurityCheck):
45 2011-09-19 Adam Barth <abarth@webkit.org>
47 Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
48 https://bugs.webkit.org/show_bug.cgi?id=68292
50 Reviewed by Eric Seidel.
52 OpenType Sanitizer is a library for sanitizing type and not a feature.
53 Therefore this macro should say that we USE the library.
55 * platform/graphics/WOFFFileFormat.cpp:
56 * platform/graphics/WOFFFileFormat.h:
57 * platform/graphics/mac/FontCustomPlatformData.cpp:
58 (WebCore::createFontCustomPlatformData):
59 * platform/graphics/opentype/OpenTypeSanitizer.cpp:
60 * platform/graphics/opentype/OpenTypeSanitizer.h:
61 * platform/graphics/skia/FontCustomPlatformData.cpp:
62 (WebCore::createFontCustomPlatformData):
63 (WebCore::FontCustomPlatformData::supportsFormat):
65 2011-09-19 Adam Barth <abarth@webkit.org>
67 Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
68 https://bugs.webkit.org/show_bug.cgi?id=68407
70 Reviewed by Eric Seidel.
72 As discussed on webkit-dev, no one appears to be using this code.
74 * GNUmakefile.list.am:
78 * WebCore.vcproj/WebCore.vcproj:
79 * WebCore.xcodeproj/project.pbxproj:
80 * bindings/js/JSBindingsAllInOne.cpp:
81 * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
83 2011-09-19 Sheriff Bot <webkit.review.bot@gmail.com>
85 Unreviewed, rolling out r95385 and r95457.
86 http://trac.webkit.org/changeset/95385
87 http://trac.webkit.org/changeset/95457
88 https://bugs.webkit.org/show_bug.cgi?id=68395
90 Broke chromium browser_tests (Requested by dslomov on
93 * bindings/v8/V8DOMWindowShell.cpp:
94 (WebCore::V8DOMWindowShell::disposeContextHandles):
95 (WebCore::V8DOMWindowShell::initContextIfNeeded):
96 * bindings/v8/V8IsolatedContext.cpp:
97 (WebCore::V8IsolatedContext::V8IsolatedContext):
98 (WebCore::V8IsolatedContext::destroy):
99 * bindings/v8/V8IsolatedContext.h:
100 * loader/EmptyClients.h:
101 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
102 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
103 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
104 * loader/FrameLoaderClient.h:
106 2011-09-19 John Bauman <jbauman@chromium.org>
108 Fix nonpremultiplied webgl toDataURL to jpeg
109 https://bugs.webkit.org/show_bug.cgi?id=68366
111 The canvas spec says that toDataURL to formats without an alpha must
112 be "composited onto a solid black background using the source-over
115 Reviewed by Kenneth Russell.
117 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
118 (WebCore::RGBAtoRGB):
120 2011-09-19 Chris Marrin <cmarrin@apple.com>
122 Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
123 https://bugs.webkit.org/show_bug.cgi?id=67510
125 Reviewed by Adam Roben.
127 Another fix to take care of one last crash when running pause-crash.html.
128 CACF can't deal with null valueFunctions, so avoid setting it when it doesn't
131 This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
132 from catching the null pointer exception generated by the pause-crash.html test
133 before this bug was fixed. Windows was ignoring the exception, so the testcase
134 would appear to succeed, even though it should have crashed.
136 This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
138 * WebCore.vcproj/WebCore.vcproj:
139 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
140 (WebCore::LayerChangesFlusher::hookCallback):
141 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
142 (PlatformCAAnimation::copy):
143 * platform/win/StructuredExceptionHandlerSupressor.h: Added.
144 (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
145 (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
147 2011-09-19 Ryosuke Niwa <rniwa@webkit.org>
149 Incorrect selection with absolutely positioned div
150 https://bugs.webkit.org/show_bug.cgi?id=39503
152 Reviewed by Kenneth Rohde Christiansen.
154 The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
155 can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
156 whether a given point is inside or below the last child box.
158 Fixed the bug by using the last hit-test candidate instead.
160 Test: editing/selection/block-with-positioned-lastchild.html
162 * rendering/RenderBlock.cpp:
163 (WebCore::RenderBlock::positionForPoint):
165 2011-09-19 Dmitry Titov <dimich@chromium.org>
167 [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
168 https://bugs.webkit.org/show_bug.cgi?id=68267
169 Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
171 Reviewed by Adam Barth.
173 Test: fast/frames/iframe-reparenting-embed-elements.html
176 (WebCore::Document::adoptNode):
177 * html/HTMLFrameElementBase.cpp:
178 (WebCore::hasPluginElements):
179 (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
180 * html/HTMLFrameElementBase.h:
182 2011-09-19 Abhishek Arya <inferno@chromium.org>
184 Issues with merging ruby bases.
185 https://bugs.webkit.org/show_bug.cgi?id=67240
187 Reviewed by James Robinson.
189 1) Change fromBeforeChild to beforeChild to match
190 webkit rendering naming conventions.
191 2) Add assert to verify ruby base is indeed emptied
192 after collecting all children in a single base.
193 3) Fix condition in mergeBlockChildren to bail out only
194 when we have no children and there is no work to merge
197 Test: fast/ruby/ruby-overhang-crash.html
199 * rendering/RenderRubyBase.cpp:
200 (WebCore::RenderRubyBase::moveChildren):
201 (WebCore::RenderRubyBase::moveInlineChildren):
202 (WebCore::RenderRubyBase::moveBlockChildren):
203 (WebCore::RenderRubyBase::mergeBlockChildren):
204 * rendering/RenderRubyBase.h:
205 * rendering/RenderRubyRun.cpp:
206 (WebCore::RenderRubyRun::removeChild):
208 2011-09-16 Abhishek Arya <inferno@chromium.org>
210 Child not placed correctly when beforeChild (table part)
211 has both :before, :after content.
212 https://bugs.webkit.org/show_bug.cgi?id=67656
214 Reviewed by James Robinson.
216 Tests: fast/table/table-cell-before-after-content-around-table-block.html
217 fast/table/table-cell-before-after-content-around-table-row.html
218 fast/table/table-cell-before-after-content-around-table.html
219 fast/table/table-row-before-after-content-around-block.html
220 fast/table/table-row-before-after-content-around-table.html
222 * rendering/RenderBlock.cpp:
223 (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
224 1. Use the new helper functions findAfterContentRenderer,
226 2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
227 * rendering/RenderObject.cpp:
228 (WebCore::RenderObject::addChild):
229 When adding a new child, if beforeChild is a table part(
230 Table/TableSection/TableRow), we need to check if both
231 :before, :after content are shoved in one of the anonymous child.
232 If yes, we need to split the :before, :after content before adding
233 newChild. Easiest approach is to destroy the :before content, then add
234 the newChild and then call updateBeforeAfterContent to recreate the
236 * rendering/RenderObject.h:
237 (WebCore::RenderObject::findBeforeContentRenderer): same as
238 beforePseudoElementRenderer, but ignores text childs since they are
240 (WebCore::RenderObject::findAfterContentRenderer): same.
241 (WebCore::RenderObject::anonymousContainer):
242 (WebCore::objectIsRelayoutBoundary):
243 * rendering/RenderTable.cpp:
244 (WebCore::RenderTable::addChild): use the new helpers and functionally
245 correct functions - findAfterContentRenderer, anonymousContainer. previous
246 implementation was wrong since it would not go inside, if :after content
247 is embedded deeper than one level.
248 * rendering/RenderTableRow.cpp:
249 (WebCore::RenderTableRow::addChild): same.
250 * rendering/RenderTableSection.cpp:
251 (WebCore::RenderTableSection::addChild): same.
253 2011-09-19 Robert Kroeger <rjkroege@chromium.org>
255 [chromium] Gesture recognizer fires taptype only every other touch
256 down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
258 Reviewed by Adam Barth.
260 The addition of doubletap detection to the gesture recognizer missed some of the
261 outgoing edges in the recognizer state machine. This change simplifies the logic
262 and handles all outgoing edges.
264 * platform/chromium/GestureRecognizerChromium.cpp:
265 (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
266 (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
267 (WebCore::GestureRecognizerChromium::updateValues):
268 (WebCore::GestureRecognizerChromium::touchDown):
269 (WebCore::GestureRecognizerChromium::click):
270 * platform/chromium/GestureRecognizerChromium.h:
272 2011-09-19 Tom Sepez <tsepez@chromium.org>
274 Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
275 and the HTMLParser interact more closely with each other. HTMLParser should be
276 setting the end range for the token itself to account for buffering that the
277 HTMLSourceTracker can't know about, but there are a lot of paths that would need
278 updating. First step is to cover this one path.
279 https://bugs.webkit.org/show_bug.cgi?id=68281
281 Reviewed by Adam Barth.
283 Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
285 * html/parser/HTMLSourceTracker.cpp:
286 (WebCore::HTMLSourceTracker::end):
287 * html/parser/HTMLTokenizer.cpp:
288 (WebCore::HTMLTokenizer::nextToken):
290 2011-09-19 Peter Rybin <peter.rybin@gmail.com>
292 TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
293 https://bugs.webkit.org/show_bug.cgi?id=63541
295 Reviewed by Adam Barth.
297 No new tests because this patch is not changing behavior.
299 * bindings/js/JavaScriptCallFrame.cpp:
300 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
301 * bindings/js/JavaScriptCallFrame.h:
302 (WebCore::JavaScriptCallFrame::create):
303 (WebCore::JavaScriptCallFrame::position):
304 (WebCore::JavaScriptCallFrame::update):
305 * bindings/js/ScriptController.cpp:
306 (WebCore::ScriptController::eventHandlerLineNumber):
307 * bindings/js/ScriptDebugServer.cpp:
308 (WebCore::ScriptDebugServer::hasBreakpoint):
309 (WebCore::ScriptDebugServer::dispatchDidParseSource):
310 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
311 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
312 * bindings/js/ScriptDebugServer.h:
313 * bindings/js/ScriptSourceCode.h:
314 (WebCore::ScriptSourceCode::ScriptSourceCode):
315 * bindings/js/StringSourceProvider.h:
316 (WebCore::StringSourceProvider::create):
317 (WebCore::StringSourceProvider::startPosition):
318 (WebCore::StringSourceProvider::StringSourceProvider):
319 * bindings/v8/ScheduledAction.cpp:
320 (WebCore::ScheduledAction::ScheduledAction):
321 * bindings/v8/ScriptController.cpp:
322 (WebCore::ScriptController::eventHandlerPosition):
323 * bindings/v8/ScriptController.h:
324 * bindings/v8/ScriptEventListener.cpp:
325 (WebCore::createAttributeEventListener):
326 * bindings/v8/ScriptSourceCode.h:
327 (WebCore::ScriptSourceCode::ScriptSourceCode):
328 (WebCore::ScriptSourceCode::startPosition):
329 * bindings/v8/V8LazyEventListener.cpp:
330 (WebCore::V8LazyEventListener::V8LazyEventListener):
331 * bindings/v8/V8LazyEventListener.h:
332 (WebCore::V8LazyEventListener::create):
333 * bindings/v8/V8Proxy.cpp:
334 (WebCore::V8Proxy::compileScript):
335 (WebCore::V8Proxy::evaluate):
336 (WebCore::V8Proxy::runScript):
337 * bindings/v8/V8Proxy.h:
338 * bindings/v8/WorkerContextExecutionProxy.cpp:
339 (WebCore::WorkerContextExecutionProxy::evaluate):
340 (WebCore::WorkerContextExecutionProxy::runScript):
341 * bindings/v8/WorkerContextExecutionProxy.h:
342 * bindings/v8/WorkerScriptController.cpp:
343 (WebCore::WorkerScriptController::evaluate):
344 * dom/PendingScript.cpp:
345 (WebCore::PendingScript::releaseElementAndClear):
346 * dom/PendingScript.h:
347 (WebCore::PendingScript::PendingScript):
348 (WebCore::PendingScript::startingPosition):
349 (WebCore::PendingScript::setStartingPosition):
350 * dom/ScriptElement.cpp:
351 (WebCore::ScriptElement::prepareScript):
352 * dom/ScriptElement.h:
353 * dom/ScriptableDocumentParser.h:
354 * dom/ViewportArguments.cpp:
355 (WebCore::parserLineNumber):
356 * html/parser/HTMLDocumentParser.cpp:
357 (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
358 (WebCore::HTMLDocumentParser::pumpTokenizer):
359 (WebCore::HTMLDocumentParser::lineNumber):
360 (WebCore::HTMLDocumentParser::textPosition):
361 * html/parser/HTMLDocumentParser.h:
362 * html/parser/HTMLInputStream.h:
363 * html/parser/HTMLScriptRunner.cpp:
364 (WebCore::HTMLScriptRunner::execute):
365 (WebCore::HTMLScriptRunner::runScript):
366 * html/parser/HTMLScriptRunner.h:
367 * html/parser/HTMLTreeBuilder.cpp:
368 (WebCore::uninitializedPositionValue1):
369 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
370 (WebCore::HTMLTreeBuilder::takeScriptToProcess):
371 (WebCore::HTMLTreeBuilder::processEndTag):
372 (WebCore::HTMLTreeBuilder::processScriptStartTag):
373 * html/parser/HTMLTreeBuilder.h:
374 * inspector/InspectorResourceAgent.cpp:
375 (WebCore::InspectorResourceAgent::buildInitiatorObject):
376 * platform/text/SegmentedString.cpp:
377 (WebCore::SegmentedString::currentLine):
378 (WebCore::SegmentedString::currentColumn):
379 (WebCore::SegmentedString::setCurrentPosition):
380 * platform/text/SegmentedString.h:
381 * svg/SVGDocumentExtensions.cpp:
382 (WebCore::parserLineNumber):
384 (WebCore::XMLErrors::XMLErrors):
385 (WebCore::XMLErrors::handleError):
386 (WebCore::XMLErrors::appendErrorMessage):
388 * xml/parser/MarkupTokenizerBase.h:
389 (WebCore::MarkupTokenizerBase::lineNumber):
390 * xml/parser/NewXMLDocumentParser.cpp:
391 (WebCore::NewXMLDocumentParser::processScript):
392 (WebCore::NewXMLDocumentParser::textPosition):
393 (WebCore::NewXMLDocumentParser::lineNumber):
394 * xml/parser/NewXMLDocumentParser.h:
395 * xml/parser/XMLDocumentParser.cpp:
396 (WebCore::XMLDocumentParser::pushCurrentNode):
397 (WebCore::XMLDocumentParser::handleError):
398 * xml/parser/XMLDocumentParser.h:
399 * xml/parser/XMLDocumentParserLibxml2.cpp:
400 (WebCore::PendingCallbacks::appendErrorCallback):
401 (WebCore::XMLDocumentParser::XMLDocumentParser):
402 (WebCore::XMLDocumentParser::doWrite):
403 (WebCore::XMLDocumentParser::startElementNs):
404 (WebCore::XMLDocumentParser::error):
405 (WebCore::XMLDocumentParser::lineNumber):
406 (WebCore::XMLDocumentParser::columnNumber):
407 (WebCore::XMLDocumentParser::textPosition):
408 * xml/parser/XMLDocumentParserQt.cpp:
409 (WebCore::XMLDocumentParser::XMLDocumentParser):
410 (WebCore::XMLDocumentParser::doWrite):
411 (WebCore::XMLDocumentParser::doEnd):
412 (WebCore::XMLDocumentParser::lineNumber):
413 (WebCore::XMLDocumentParser::columnNumber):
414 (WebCore::XMLDocumentParser::textPosition):
415 (WebCore::XMLDocumentParser::parse):
416 (WebCore::XMLDocumentParser::parseStartElement):
418 2011-09-19 Dan Bernstein <mitz@apple.com>
420 WebCore part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
421 https://bugs.webkit.org/show_bug.cgi?id=68323
423 Reviewed by Sam Weinig.
425 Renamed AccessibilityObjectWrapper to WebAccessibilityObjectWrapper.
426 Renamed CascadeList to WebCascadeList.
427 Renamed CookieStorageObjCAdapter to WebCookieStorageObjCAdapter.
428 Renamed LanguageChangeObserver to WebLanguageChangeObserver.
429 Renamed ScrollAnimationHelperDelegate to WebScrollAnimationHelperDelegate.
430 Renamed ScrollbarPainterControllerDelegate to WebScrollbarPainterControllerDelegate.
431 Renamed ScrollbarPainterDelegate to WebScrollbarPainterDelegate.
432 Renamed ScrollbarPartAnimation to WebScrollbarPartAnimation.
433 Renamed ScrollbarPrefsObserver to WebScrollbarPrefsObserver.
435 * WebCore.gyp/WebCore.gyp: Updated for the renaming of CascadeList to WebCascadeList.
436 * WebCore.xcodeproj/project.pbxproj:
437 * accessibility/AccessibilityObject.h:
438 * accessibility/mac/AXObjectCacheMac.mm:
439 (WebCore::AXObjectCache::attachWrapper):
440 * accessibility/mac/AccessibilityObjectMac.mm:
441 * accessibility/mac/AccessibilityObjectWrapper.h: Removed.
442 * accessibility/mac/AccessibilityObjectWrapper.mm: Removed.
443 * accessibility/mac/WebAccessibilityObjectWrapper.h: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h.
444 * accessibility/mac/WebAccessibilityObjectWrapper.mm: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm.
446 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
447 (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
448 (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
449 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
450 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
451 * platform/mac/Language.mm:
452 (WebCore::platformDefaultLanguage):
453 * platform/mac/ScrollAnimatorMac.h:
454 * platform/mac/ScrollAnimatorMac.mm:
455 (-[WebScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
456 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
457 * platform/mac/ScrollbarThemeMac.mm:
458 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
459 * platform/network/mac/CookieStorageMac.mm:
460 (WebCore::startObservingCookieChanges):
462 2011-09-19 Cary Clark <caryclark@google.com>
464 Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
465 https://bugs.webkit.org/show_bug.cgi?id=68358
467 Reviewed by Dan Bernstein.
471 * platform/graphics/mac/FontMac.mm:
472 * platform/graphics/mac/FontComplexTextMac.cpp:
473 (WebCore::Font::fontDataForCombiningCharacterSequence):
474 This moves the implementation from FontMac.mm to
475 FontComplexTextMac.cpp, so it is visible to the Skia on Mac
478 2011-09-19 Jessie Berlin <jberlin@apple.com>
480 Sites that use history pushState or replaceState are recorded in history in Private Browsing
482 https://bugs.webkit.org/show_bug.cgi?id=68208
484 Reviewed by Brady Eidson.
486 Test: TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.
488 Add the privateBrowsingEnabled check that is used in other places in HistoryController
489 before calling addVisitedLink and FrameLoaderClient::updateGlobalHistory.
491 * loader/HistoryController.cpp:
492 (WebCore::HistoryController::pushState):
493 (WebCore::HistoryController::replaceState):
495 2011-09-19 Leandro Pereira <leandro@profusion.mobi>
497 Unreviewed: ScrollbarThemeMock.cpp is already referenced in the
498 global CMakeLists.txt.
500 * CMakeListsEfl.txt: Remove reference to platform/mock/ScrollbarThemeMock.cpp.
501 * CMakeListsWinCE.txt: Ditto.
503 2011-09-19 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
505 Unreviewed: dos2unix on bindings/js/JSExceptionBase.h
507 Visual Studio is choking on this file when generating packages for
511 Source\WebCore\Bindings\js\JSExceptionBase.h:
512 error C4335: Mac file format detected: please convert the source file
513 to either DOS or UNIX format
516 Since from all .cpp or .h files shared by all ports this is the only
517 one with CRLF line terminations, I'm assuming this was a mistake.
519 * bindings/js/JSExceptionBase.h:
521 2011-09-19 Ilya Tikhonovsky <loislo@chromium.org>
523 Web Inspector: didMarkDOMContentEvent() should send event of MarkDOMContent type.
524 https://bugs.webkit.org/show_bug.cgi?id=67528
526 Reviewed by Pavel Feldman.
528 Tests: inspector/timeline/timeline-dom-content-loaded-event.html
529 inspector/timeline/timeline-load-event.html
531 * inspector/InspectorTimelineAgent.cpp:
532 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
534 2011-09-19 Shawn Singh <shawnsingh@chromium.org>
536 Re-name LayerChromium border functions to reflect that
537 they are only for debug use.
538 https://bugs.webkit.org/show_bug.cgi?id=68212
540 Reviewed by James Robinson.
542 Code cleanup towards unit testing.
544 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
545 (WebCore::GraphicsLayerChromium::clearBackgroundColor):
546 (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
547 (WebCore::GraphicsLayerChromium::setDebugBorder):
548 (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
549 (WebCore::GraphicsLayerChromium::setupContentsLayer):
550 * platform/graphics/chromium/LayerChromium.cpp:
551 (WebCore::LayerChromium::setDebugBorderColor):
552 (WebCore::LayerChromium::setDebugBorderWidth):
553 * platform/graphics/chromium/LayerChromium.h:
555 2011-09-18 Ilya Tikhonovsky <loislo@chromium.org>
557 Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
558 https://bugs.webkit.org/show_bug.cgi?id=67986
560 Reviewed by Pavel Feldman.
562 Test: inspector/timeline/timeline-animation-frame.html
564 * English.lproj/localizedStrings.js:
565 * bindings/v8/V8Proxy.cpp:
566 (WebCore::V8Proxy::callFunction):
567 (WebCore::V8Proxy::callFunctionWithoutFrame):
568 (WebCore::V8Proxy::instrumentedCallFunction):
569 * bindings/v8/V8Proxy.h:
570 * bindings/v8/custom/V8CustomVoidCallback.cpp:
571 (WebCore::invokeCallback):
572 * dom/ScriptedAnimationController.cpp:
573 (WebCore::ScriptedAnimationController::registerCallback):
574 (WebCore::ScriptedAnimationController::cancelCallback):
575 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
576 * inspector/InspectorInstrumentation.cpp:
577 (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
578 (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
579 (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
580 (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
581 * inspector/InspectorInstrumentation.h:
582 (WebCore::InspectorInstrumentation::willCallFunction):
583 (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
584 (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
585 (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
586 (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
587 * inspector/InspectorTimelineAgent.cpp:
588 (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
589 (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
590 (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
591 (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
592 * inspector/InspectorTimelineAgent.h:
593 * inspector/TimelineRecordFactory.cpp:
594 (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
595 * inspector/TimelineRecordFactory.h:
596 * inspector/front-end/TimelineAgent.js:
597 * inspector/front-end/TimelinePanel.js:
598 (WebInspector.TimelinePanel):
599 (WebInspector.TimelinePanel.prototype.get _recordStyles):
600 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
601 (WebInspector.TimelinePanel.prototype._clearPanel):
602 (WebInspector.TimelinePanel.FormattedRecord):
603 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
604 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
606 2011-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
608 [GTK] Fix distcheck build
609 https://bugs.webkit.org/show_bug.cgi?id=68241
611 Reviewed by Martin Robinson.
613 * GNUmakefile.list.am:
615 2011-09-18 Ilya Tikhonovsky <loislo@chromium.org>
617 Web Inspector: chromium-win: "Save timeline data" does nothing.
618 https://bugs.webkit.org/show_bug.cgi?id=68313
620 windows shell API function GetSaveFileName doesn't accept file names with ':' symbol.
622 Reviewed by Pavel Feldman.
624 * inspector/front-end/TimelinePanel.js:
625 (WebInspector.TimelineModel.prototype._saveToFile):
627 2011-09-18 Dan Bernstein <mitz@apple.com>
629 Try to fix the Chromium Mac build after r95391.
631 * WebCore.gyp/WebCore.gyp:
633 2011-09-18 Dan Bernstein <mitz@apple.com>
635 Try to fix the Chromium Mac build after r95391.
637 * WebCore.gyp/WebCore.gyp:
639 2011-09-18 Dan Bernstein <mitz@apple.com>
641 Try to fix the Chromium Mac build after r95391.
643 * WebCore.gypi: Updated for the renaming of ComplexTextController.cpp.
644 * WebCore.xcodeproj/project.pbxproj: Ditto.
645 * platform/graphics/Font.h: Changed #if directives to include the Chromium Mac port.
646 * platform/graphics/SimpleFontData.h: Ditto.
647 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Changed the filename extension of this
648 Objective-C++ file to .mm.
649 * platform/graphics/mac/ComplexTextControllerCoreText.mm: Copied from Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp.
651 2011-09-18 Dan Bernstein <mitz@apple.com>
653 Snow Leopard build fix after r95391.
655 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
656 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
658 2011-09-18 Dan Bernstein <mitz@apple.com>
660 Leopard build fix after r95391.
662 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
663 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
665 2011-09-18 Dan Bernstein <mitz@apple.com>
667 Allow Core Text to choose the fallback font for rendering a combining character sequence
669 Fixes <rdar://problem/7860281> Decomposed text is displayed incorrectly when Verdana is specified
670 https://bugs.webkit.org/show_bug.cgi?id=68287
672 Reviewed by Dave Hyatt.
674 Test: platform/mac/fast/text/combining-character-sequence-fallback.html
676 * WebCore.xcodeproj/project.pbxproj: Compile ComplexTextControllerCoreText.cpp as Objective-C++.
677 I am going to rename this file in a followup patch.
679 * platform/graphics/Font.h: Declared fontDataForCombiningCharacterSequence().
681 * platform/graphics/SimpleFontData.h: Declared canRenderCombiningCharacterSequence() and added
682 a member variable to cache the results of calling this function.
684 * platform/graphics/mac/ComplexTextController.cpp:
685 (WebCore::ComplexTextController::offsetForPosition): Fixed a typo in a comment.
686 (WebCore::advanceByCombiningCharacterSequence): Added this helper function, which iterates over
687 characters until the end of a sequence of combining characters, zero-width joiners and zero-width
688 non-joiners. A single base characater followed by such a (possibly-empty) sequence is known as
689 a combining character sequence. This stretches the definition a little because the base character
690 may be a combining character as well. Returns false if an invalid UTF-16 sequence is encountered,
692 (WebCore::ComplexTextController::collectComplexTextRuns): - Replaced the glyphData and nextGlyphData
693 variables each with a pair of variables, a SimpleFontData* and a boolean indicating whether a
694 character mapped to the missing glyph. This clarifies that this function does not use glyph IDs.
695 - Renamed the local variable newC to uppercaseCharacter.
696 - Changed to use advanceByCombiningCharacterSequence().
697 - Changed to use Font::fontDataForCombiningCharacterSequence() instead of Font::glyphDataForCharacter().
698 If there are combining marks and none of the fonts in the fallback list can render the sequence alone,
699 use the systemFallbackFontData() constant to indicate to collectComplexTextRunsForCharactersCoreText()
700 to allow Core Text to perform its own fallback.
701 - Stopped checking isSmallCaps against nextIsSmallCaps. It was redundant, since the small caps FontData
702 differs from the normal variant.
703 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved the common logic to
704 handle the 0 fontData case from the ATSUI and Core Text continuations of this function into this function.
706 * platform/graphics/mac/ComplexTextController.h:
707 (WebCore::ComplexTextController::systemFallbackFontData): Added. This constant is used to indicate to
708 collectComplexTextRunsForCharactersCoreText() that it should allow Core Text to perform its own font
711 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
712 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): Handle systemFallbackFontData()
713 by using the primary font data.
715 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
716 (-[CascadeList initWithFont:WebCore::character:]): Added.
717 (-[CascadeList count]): Added.
718 (-[CascadeList objectAtIndex:]): Added. Returns an entry from a cascade list of CTFontDescriptorRef
719 objects based on the font’s fallback list for the character. The list is initialized lazily.
720 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Handle systemFallbackFontData()
721 by allowing Core Text to perform font fallback, starting with a cascade list based on the font’s fallback
722 list and possibly continuing with system fallback.
724 * platform/graphics/mac/FontMac.mm:
725 (WebCore::Font::fontDataForCombiningCharacterSequence): Added. If the sequence is only a base character,
726 calls through to glyphDataForCharacter(). Otherwise, iterates over the font’s fallback list for the
727 base character (and the system fallback font for that character), returning the first font that can
728 render the sequence, or 0 if there is none.
730 * platform/graphics/mac/SimpleFontDataMac.mm:
731 (WebCore::provideStringAndAttributes): Added this Core Text callback.
732 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added. Checks if Core Text can render
733 the sequence using only this font. Caches the result.
735 2011-09-17 Mihai Parparita <mihaip@chromium.org>
737 FrameLoaderClient BackForwardList-related methods are unsued
738 https://bugs.webkit.org/show_bug.cgi?id=68293
740 Reviewed by Darin Adler.
742 Remove FrameLoaderClient methods that were added by r51629, since only
743 the old (since-deleted) Android port needed them.
745 * history/BackForwardListImpl.cpp:
746 (WebCore::BackForwardListImpl::addItem):
747 (WebCore::BackForwardListImpl::goBack):
748 (WebCore::BackForwardListImpl::goForward):
749 (WebCore::BackForwardListImpl::goToItem):
750 (WebCore::BackForwardListImpl::setCapacity):
751 * loader/EmptyClients.h:
752 * loader/FrameLoaderClient.h:
754 2011-09-17 David Hyatt <hyatt@apple.com>
756 https://bugs.webkit.org/show_bug.cgi?id=68307
758 Crash in border image cssText. Make sure to null check all the components, since they're all
761 Reviewed by Sam Weinig.
763 Added fast/borders/border-image-slice-omission.html
765 * css/CSSBorderImageValue.cpp:
766 (WebCore::CSSBorderImageValue::cssText):
768 2011-09-17 Aaron Boodman <aa@chromium.org>
770 Rework script context creation/release notifications
771 https://bugs.webkit.org/show_bug.cgi?id=67828
773 Reviewed by Adam Barth.
775 * bindings/v8/V8DOMWindowShell.cpp:
776 (WebCore::V8DOMWindowShell::disposeContextHandles):
777 (WebCore::V8DOMWindowShell::initContextIfNeeded):
778 * bindings/v8/V8IsolatedContext.cpp:
779 (WebCore::V8IsolatedContext::V8IsolatedContext):
780 (WebCore::V8IsolatedContext::destroy):
781 * bindings/v8/V8IsolatedContext.h:
782 * loader/EmptyClients.h:
783 (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
784 (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
785 * loader/FrameLoaderClient.h:
787 2011-09-17 Ilya Tikhonovsky <loislo@chromium.org>
789 Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
790 https://bugs.webkit.org/show_bug.cgi?id=68312
792 Reviewed by Pavel Feldman.
794 * inspector/front-end/TimelinePanel.js:
795 (WebInspector.TimelinePanel.prototype._createFileSelector):
797 2011-09-17 Jeff Miller <jeffm@apple.com>
799 Build fix after r95372.
801 * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
803 2011-09-17 Deepak Sherveghar <bpwv64@motorola.com>
805 Override supportsFocus() for HTMLMediaElement.
806 https://bugs.webkit.org/show_bug.cgi?id=67190
808 Reviewed by Antonio Gomes.
810 Tests: fast/events/media-element-focus-tab.html
811 fast/spatial-navigation/snav-media-elements.html
813 Return true from supportsFocus() if control's attribute is present or a tabindex is specified.
815 * html/HTMLMediaElement.cpp:
816 (WebCore::HTMLMediaElement::supportsFocus):
817 * html/HTMLMediaElement.h:
819 2011-09-16 Adam Barth <abarth@webkit.org>
821 Rename ENABLE(LEVELDB) to USE(LEVELDB)
822 https://bugs.webkit.org/show_bug.cgi?id=68290
824 Reviewed by Darin Adler.
826 LEVELDB is a library that can be used to implemented INDEXED_DATABASE,
827 which means it should be a USE not an ENABLE.
830 * WebCore.gyp/WebCore.gyp:
831 * platform/leveldb/LevelDBComparator.h:
832 * platform/leveldb/LevelDBDatabase.cpp:
833 * platform/leveldb/LevelDBDatabase.h:
834 * platform/leveldb/LevelDBIterator.h:
835 * platform/leveldb/LevelDBSlice.h:
836 * platform/leveldb/LevelDBTransaction.cpp:
837 * platform/leveldb/LevelDBTransaction.h:
838 * platform/leveldb/LevelDBWriteBatch.cpp:
839 * platform/leveldb/LevelDBWriteBatch.h:
840 * storage/IDBFactoryBackendImpl.cpp:
841 (WebCore::IDBFactoryBackendImpl::open):
842 (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
843 * storage/IDBLevelDBBackingStore.cpp:
844 * storage/IDBLevelDBBackingStore.h:
845 * storage/IDBLevelDBCoding.cpp:
846 * storage/IDBLevelDBCoding.h:
848 2011-09-16 Andreas Kling <kling@webkit.org>
850 Reduce EventTarget memory usage by deferring hash map allocation
851 until there are listeners for more than 1 event type.
853 http://webkit.org/b/68105
855 Reviewed by Darin Adler.
857 Introduce an EventListenerMap class which manages a map of event types that have
858 one or more listeners connected.
860 When there is only one event type, it's stored directly on the EventListenerMap
861 internally, and when more are added it moves to a hash map. It only goes back
862 from the hash map if all the listeners are removed at once (i.e clear() is called.)
865 * GNUmakefile.list.am:
868 * WebCore.vcproj/WebCore.vcproj:
869 * WebCore.xcodeproj/project.pbxproj:
875 Export EventListenerMap::contains() for WebKit/mac.
877 * dom/EventListenerMap.cpp: Added.
878 (WebCore::EventListenerMap::EventListenerMap):
879 (WebCore::EventListenerMap::~EventListenerMap):
880 (WebCore::EventListenerMap::isEmpty):
881 (WebCore::EventListenerMap::contains):
882 (WebCore::EventListenerMap::clear):
883 (WebCore::EventListenerMap::eventTypes):
884 (WebCore::addListenerToVector):
885 (WebCore::EventListenerMap::add):
886 (WebCore::removeListenerFromVector):
887 (WebCore::EventListenerMap::remove):
888 (WebCore::EventListenerMap::find):
889 (WebCore::removeFirstListenerCreatedFromMarkup):
890 (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
891 (WebCore::copyListenersNotCreatedFromMarkupToTarget):
892 (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
893 (WebCore::EventListenerIterator::EventListenerIterator):
894 (WebCore::EventListenerIterator::nextListener):
895 * dom/EventListenerMap.h: Added.
897 * dom/EventTarget.cpp:
898 (WebCore::EventTargetData::~EventTargetData):
899 (WebCore::EventTarget::addEventListener):
900 (WebCore::EventTarget::removeEventListener):
901 (WebCore::EventTarget::fireEventListeners):
902 (WebCore::EventTarget::getEventListeners):
903 (WebCore::EventTarget::removeAllEventListeners):
906 (WebCore::EventTarget::visitJSEventListeners):
908 Use EventListenerIterator to visit listeners. (JSC specific.)
910 * inspector/InspectorDOMAgent.cpp:
911 (WebCore::InspectorDOMAgent::getEventListenersForNode):
913 Call EventListenerMap::eventTypes() go get the list of event types
914 currently listened for.
917 (WebCore::Node::removeEventListener):
918 * svg/SVGUseElement.cpp:
919 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
921 Move implementations of SVG-specific hacks into EventListenerMap and
924 2011-09-16 Jeremy Apthorp <jeremya@chromium.org> and James Kozianski <koz@chromium.org>
926 Don't detach elements from the render tree when entering fullscreen mode
927 https://bugs.webkit.org/show_bug.cgi?id=66531
929 This prevents plugin instances from being destroyed and reinstantiated
930 when entering fullscreen mode.
932 Reviewed by James Robinson.
934 Test: plugins/fullscreen-plugins-dont-reload.html
937 (WebCore::Document::webkitWillEnterFullScreenForElement):
938 (WebCore::Document::webkitDidExitFullScreenForElement):
939 * dom/NodeRenderingContext.cpp:
940 (WebCore::NodeRendererFactory::createRendererIfNeeded):
941 * rendering/RenderFullScreen.cpp:
942 (createFullScreenStyle):
943 (RenderFullScreen::wrapRenderer):
944 (RenderFullScreen::unwrapRenderer):
945 * rendering/RenderFullScreen.h:
947 2011-09-16 Jochen Eisinger <jochen@chromium.org>
949 Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter
950 https://bugs.webkit.org/show_bug.cgi?id=68071
952 This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame.
954 Reviewed by Adam Barth.
956 * html/ImageDocument.cpp:
957 (WebCore::ImageDocumentParser::appendBytes):
958 * loader/FrameLoaderClient.h:
959 (WebCore::FrameLoaderClient::allowImage):
960 * loader/cache/CachedResourceLoader.cpp:
961 (WebCore::CachedResourceLoader::requestImage):
963 2011-09-16 Tom Sepez <tsepez@chromium.org>
965 Make XSSAuditor truncate inline snippets at a reasonable length before comparison
966 respecting boundaries of multiply urlencoded sequences.
967 https://bugs.webkit.org/show_bug.cgi?id=68092
969 Reviewed by Adam Barth.
971 Test: http/tests/security/xssAuditor/property-escape-long.html
973 * html/parser/XSSAuditor.cpp:
974 (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
975 (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
976 (WebCore::XSSAuditor::eraseAttributeIfInjected):
977 (WebCore::XSSAuditor::decodedSnippetForAttribute):
978 (WebCore::XSSAuditor::isContainedInRequest):
979 * html/parser/XSSAuditor.h:
981 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
983 Remove m_contentsDirty from LayerChromium because it
984 is redundant with m_dirtyRect.
985 https://bugs.webkit.org/show_bug.cgi?id=68213
987 Reviewed by James Robinson.
989 Code cleanup towards unit testing.
991 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
992 (WebCore::Canvas2DLayerChromium::updateCompositorResources):
993 * platform/graphics/chromium/ContentLayerChromium.cpp:
994 (WebCore::ContentLayerChromium::paintContentsIfDirty):
995 * platform/graphics/chromium/ImageLayerChromium.cpp:
996 (WebCore::ImageLayerChromium::paintContentsIfDirty):
997 * platform/graphics/chromium/LayerChromium.cpp:
998 (WebCore::LayerChromium::LayerChromium):
999 (WebCore::LayerChromium::setNeedsDisplay):
1000 (WebCore::LayerChromium::resetNeedsDisplay):
1001 * platform/graphics/chromium/LayerChromium.h:
1002 * platform/graphics/chromium/VideoLayerChromium.cpp:
1003 (WebCore::VideoLayerChromium::updateCompositorResources):
1004 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1005 (WebCore::WebGLLayerChromium::updateCompositorResources):
1007 2011-09-16 Dmitry Lomov <dslomov@google.com>
1009 https://bugs.webkit.org/show_bug.cgi?id=66714
1010 Add webkitPostMessage to allow for adding transferable support.
1011 This adds webkitPostMessage, currently identical to postMessage, which
1012 would later be a vehicle for adding transferable support for messaging.
1014 Based on patch by Luke Zarko.
1016 Reviewed by David Levin.
1018 * bindings/js/JSDOMWindowCustom.cpp:
1019 (WebCore::JSDOMWindow::webkitPostMessage):
1020 * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1021 (WebCore::JSDedicatedWorkerContext::webkitPostMessage):
1022 * bindings/js/JSMessageEventCustom.cpp:
1023 (WebCore::JSMessageEvent::webkitInitMessageEvent):
1024 * bindings/js/JSMessagePortCustom.cpp:
1025 (WebCore::JSMessagePort::webkitPostMessage):
1026 * bindings/js/JSWorkerCustom.cpp:
1027 (WebCore::JSWorker::postMessage):
1028 (WebCore::JSWorker::webkitPostMessage):
1029 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1030 (WebCore::handlePostMessageCallback):
1031 (WebCore::V8DOMWindow::postMessageCallback):
1032 (WebCore::V8DOMWindow::webkitPostMessageCallback):
1033 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1034 (WebCore::handlePostMessageCallback):
1035 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1036 (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
1037 * bindings/v8/custom/V8MessageEventCustom.cpp:
1038 (WebCore::V8MessageEvent::initMessageEventCallback):
1039 (WebCore::V8MessageEvent::webkitInitMessageEventCallback):
1040 * bindings/v8/custom/V8MessagePortCustom.cpp:
1041 (WebCore::handlePostMessageCallback):
1042 (WebCore::V8MessagePort::postMessageCallback):
1043 (WebCore::V8MessagePort::webkitPostMessageCallback):
1044 * bindings/v8/custom/V8WorkerCustom.cpp:
1045 (WebCore::handlePostMessageCallback):
1046 (WebCore::V8Worker::postMessageCallback):
1047 (WebCore::V8Worker::webkitPostMessageCallback):
1048 * dom/MessageEvent.idl:
1049 * dom/MessagePort.idl:
1050 * page/DOMWindow.idl:
1051 * workers/DedicatedWorkerContext.idl:
1052 * workers/Worker.idl:
1054 2011-09-16 Alexei Svitkine <asvitkine@chromium.org>
1056 Chromium: Fix repaint of rubber-band overhang area under composited path
1057 https://bugs.webkit.org/show_bug.cgi?id=68246
1059 I accidently removed these two lines from the last patch on: https://bugs.webkit.org/show_bug.cgi?id=66969
1061 Reviewed by James Robinson.
1063 Test: platform/chromium-gpu/compositing/rubberbanding/transform-overhang-size-change.html
1065 * platform/ScrollView.cpp:
1066 (WebCore::ScrollView::scrollContents):
1068 2011-09-16 Peter Beverloo <peter@chromium.org>
1070 Depend on harfbuzz for OS=Android as well
1071 https://bugs.webkit.org/show_bug.cgi?id=68239
1073 Like GTK, Android depends on harfbuzz as well, so reflect that in
1074 the project file. Furthermore, fix a compile error in PopupListBox.cpp
1075 by explicitly including ctype.h, as isspace otherwise won't be declared.
1077 Reviewed by Steve Block.
1079 * WebCore.gyp/WebCore.gyp:
1080 * platform/chromium/PopupListBox.cpp:
1082 2011-09-16 Tony Chang <tony@chromium.org>
1084 Rename flex-align values to match the spec
1085 https://bugs.webkit.org/show_bug.cgi?id=67741
1087 Reviewed by Ojan Vafai.
1089 * css/CSSParser.cpp:
1090 (WebCore::CSSParser::parseValue):
1091 * css/CSSPrimitiveValueMappings.h:
1092 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1093 (WebCore::CSSPrimitiveValue::operator EFlexAlign):
1094 * css/CSSValueKeywords.in:
1095 * rendering/style/RenderStyleConstants.h:
1097 2011-09-16 Kentaro Hara <haraken@chromium.org>
1099 Implement an ErrorEvent constructor for JSC
1100 https://bugs.webkit.org/show_bug.cgi?id=68148
1102 Reviewed by Sam Weinig.
1104 The spec for the ErrorEvent constructor is here:
1105 http://dev.w3.org/html5/workers/#errorevent
1107 Test: fast/events/constructors/error-event-constructor.html
1109 * bindings/generic/EventConstructors.h: Added a definition for the ErrorEvent constructor.
1110 * bindings/js/JSEventConstructors.cpp: Added #includes for ErrorEvent.
1111 * dom/ErrorEvent.cpp:
1112 (WebCore::ErrorEventInit::ErrorEventInit):
1113 (WebCore::ErrorEvent::ErrorEvent):
1114 (WebCore::ErrorEvent::initErrorEvent):
1115 (WebCore::ErrorEvent::isErrorEvent):
1116 * dom/ErrorEvent.h: Added a definition for ErrorEventInit.
1117 (WebCore::ErrorEvent::create):
1118 (WebCore::ErrorEvent::message):
1119 (WebCore::ErrorEvent::filename):
1120 (WebCore::ErrorEvent::lineno):
1121 * dom/ErrorEvent.idl: Makes ErrorEvent constructible.
1123 2011-09-16 Kentaro Hara <haraken@google.com>
1125 Overhangs a ruby by no more than half the width of the neighboring text.
1126 https://bugs.webkit.org/show_bug.cgi?id=62684
1128 Reviewed by Dan Bernstein.
1130 Assume two rubies between which a narrow text exists, like
1131 "<ruby>x<rt>xxxxxx</rt></ruby>l<ruby>y<rt>yyyyyy</rt></ruby>".
1132 In order to avoid the two rubies overlapping with each other,
1133 this patch overhangs the ruby by no more than half the ruby font
1134 size and no more than half the width of the neighboring text.
1136 Tests: fast/ruby/overhang-horizontal-no-overlap1.html
1137 fast/ruby/overhang-horizontal-no-overlap2.html
1138 fast/ruby/overhang-vertical-no-overlap1.html
1139 fast/ruby/overhang-vertical-no-overlap2.html
1141 * rendering/RenderRubyRun.cpp:
1142 (WebCore::RenderRubyRun::getOverhang): Calculates the width of ruby overhanging.
1144 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
1146 Unreviewed, rolling out r95304.
1147 http://trac.webkit.org/changeset/95304
1148 https://bugs.webkit.org/show_bug.cgi?id=68299
1150 Broke GTK+ builds. It pulls derived headers into main.c
1151 (Requested by rniwa on #webkit).
1153 * bindings/scripts/CodeGeneratorGObject.pm:
1155 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1156 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1157 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1158 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1159 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1160 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1161 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1162 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1163 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1164 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1165 (webkit_dom_test_obj_conditional_method1):
1166 (webkit_dom_test_obj_conditional_method2):
1167 (webkit_dom_test_obj_conditional_method3):
1168 (webkit_dom_test_obj_get_conditional_attr1):
1169 (webkit_dom_test_obj_set_conditional_attr1):
1170 (webkit_dom_test_obj_get_conditional_attr2):
1171 (webkit_dom_test_obj_set_conditional_attr2):
1172 (webkit_dom_test_obj_get_conditional_attr3):
1173 (webkit_dom_test_obj_set_conditional_attr3):
1174 (webkit_dom_test_obj_set_property):
1175 (webkit_dom_test_obj_get_property):
1176 (webkit_dom_test_obj_class_init):
1177 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1178 * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1179 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1180 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1181 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1183 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
1185 Re-named isRootLayer to isNonCompositedContent because
1186 that is what the flag actually means.
1187 https://bugs.webkit.org/show_bug.cgi?id=68214
1189 Reviewed by James Robinson.
1191 Code cleanup towards unit testing.
1193 * platform/graphics/chromium/LayerChromium.cpp:
1194 (WebCore::LayerChromium::LayerChromium):
1195 (WebCore::LayerChromium::pushPropertiesTo):
1196 * platform/graphics/chromium/LayerChromium.h:
1197 (WebCore::LayerChromium::setIsNonCompositedContent):
1198 (WebCore::LayerChromium::isNonCompositedContent):
1199 * platform/graphics/chromium/NonCompositedContentHost.cpp:
1200 (WebCore::NonCompositedContentHost::NonCompositedContentHost):
1201 * platform/graphics/chromium/TiledLayerChromium.cpp:
1202 (WebCore::TiledLayerChromium::setLayerTreeHost):
1203 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1204 (WebCore::CCLayerImpl::CCLayerImpl):
1205 * platform/graphics/chromium/cc/CCLayerImpl.h:
1206 (WebCore::CCLayerImpl::setIsNonCompositedContent):
1207 (WebCore::CCLayerImpl::isNonCompositedContent):
1208 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1209 (WebCore::CCTiledLayerImpl::draw):
1211 2011-09-16 Simon Fraser <simon.fraser@apple.com>
1213 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
1214 https://bugs.webkit.org/show_bug.cgi?id=68134
1216 Reviewed by Sam Weinig.
1218 Add a new setting to control whether the mock scrollbar theme is used.
1219 This is a global setting, so that it can be set without having to
1220 access a specific Settings object.
1223 (WebCore::Settings::setMockScrollbarsEnabled):
1224 (WebCore::Settings::mockScrollbarsEnabled):
1226 2011-09-16 Ben Wells <benwells@chromium.org>
1228 Large canvas fills should not crash or create unnecessarily large image buffers
1229 https://bugs.webkit.org/show_bug.cgi?id=67988
1231 When using source-in, destination-in, source-out, or destination-atop a temporary
1232 buffer is created. This buffer only needs to be big enough to cover the intersection
1233 of the path and the canvas. If the area of intersection between the fill and the
1234 canvas is empty the canvas is completely cleared and a temporary buffer is not used.
1236 This change also adds some null checks for failures to create contexts or buffers.
1238 Reviewed by Darin Adler.
1240 Test: fast/canvas/canvas-large-fills.html
1242 * html/canvas/CanvasRenderingContext2D.cpp:
1243 (WebCore::CanvasRenderingContext2D::clearCanvas):
1244 (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1246 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
1248 Remove default NULL argument in LayerChromium::create().
1249 https://bugs.webkit.org/show_bug.cgi?id=68211
1251 Reviewed by James Robinson.
1253 Code cleanup related to creating unit testing.
1255 * platform/graphics/chromium/LayerChromium.h:
1257 2011-09-16 Adrienne Walker <enne@google.com>
1259 [chromium] Move quad drawing code from LayerChromium to LayerRendererChromium
1260 https://bugs.webkit.org/show_bug.cgi?id=68272
1262 Reviewed by James Robinson.
1264 All the OpenGL code is in LayerRendererChromium and the CCLayerImpl
1265 tree, so move the static drawTexturedQuad/toGLMatrix functions to
1266 LayerRendererChromium, where they really belong.
1268 Just moving code around. Tested by existing compositor tests.
1270 * platform/graphics/chromium/LayerChromium.cpp:
1271 * platform/graphics/chromium/LayerChromium.h:
1272 * platform/graphics/chromium/LayerRendererChromium.cpp:
1273 (WebCore::LayerRendererChromium::toGLMatrix):
1274 (WebCore::LayerRendererChromium::drawTexturedQuad):
1275 * platform/graphics/chromium/LayerRendererChromium.h:
1276 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1277 (WebCore::CCCanvasLayerImpl::draw):
1278 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1279 (WebCore::CCHeadsUpDisplay::draw):
1280 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1281 (WebCore::CCLayerImpl::drawDebugBorder):
1282 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1283 (WebCore::CCPluginLayerImpl::draw):
1284 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1285 (WebCore::CCRenderSurface::drawSurface):
1286 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1287 (WebCore::CCTiledLayerImpl::drawTiles):
1288 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1289 (WebCore::CCVideoLayerImpl::drawYUV):
1290 (WebCore::CCVideoLayerImpl::drawRGBA):
1292 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
1294 Fixed const correctness on accessors in LayerChromium
1295 https://bugs.webkit.org/show_bug.cgi?id=68210
1297 Reviewed by James Robinson.
1299 Code cleanup related to creating unit testing.
1301 * platform/graphics/chromium/LayerChromium.h:
1302 (WebCore::LayerChromium::preserves3D):
1303 (WebCore::LayerChromium::replicaLayer):
1305 2011-09-14 Ryosuke Niwa <rniwa@webkit.org>
1307 Deleting line break before h1 converts h1 to span
1308 https://bugs.webkit.org/show_bug.cgi?id=45784
1310 Reviewed by Kenneth Rohde Christiansen.
1312 Fixed the bug by treating h1 and other elements that retain structure like Mail blockquote.
1314 We already had a logic to overriding styles of merged paragraphs by Mail blockquote so
1315 just extend this logic for h1-h6, pre, etc...
1317 Tests: editing/deleting/merge-paragraph-from-address.html
1318 editing/deleting/merge-paragraph-from-h6-with-style.html
1319 editing/deleting/merge-paragraph-from-h6.html
1320 editing/deleting/merge-paragraph-from-listing.html
1321 editing/deleting/merge-paragraph-into-h1-with-style.html
1322 editing/deleting/merge-paragraph-into-h1.html
1323 editing/deleting/merge-paragraph-into-pre.html
1325 * editing/ReplaceSelectionCommand.cpp:
1326 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1327 * editing/markup.cpp:
1328 (WebCore::isBlockNodeToRetainAppearance): Extracted from ancestorToRetainStructureAndAppearance.
1329 (WebCore::StyledMarkupAccumulator::serializeNodes):
1330 (WebCore::ancestorToRetainStructureAndAppearance):
1333 2011-09-16 Max Perepelitsyn <pph34r@gmail.com>
1335 Set but not used variables cleanup (gcc 4.6)
1336 https://bugs.webkit.org/show_bug.cgi?id=68157
1338 Reviewed by Darin Adler.
1340 * platform/audio/ReverbConvolverStage.cpp:
1341 (WebCore::ReverbConvolverStage::process):
1342 * rendering/RenderMediaControlsChromium.cpp:
1343 (WebCore::paintMediaButton):
1345 2011-09-16 Geoffrey Garen <ggaren@apple.com>
1347 Removed undetectable style.filter.
1349 Reviewed by Sam Weinig.
1351 This feature was added in http://trac.webkit.org/changeset/15557 to
1352 support housingmaps.com. But housingmaps.com no longer needs this hack,
1353 we don't know of other websites that need it, and we don't know of
1354 any other browsers that have implemented this feature.
1356 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Removed.
1358 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1359 (WebCore::JSCSSStyleDeclaration::nameGetter):
1361 2011-09-16 Adam Barth <abarth@webkit.org>
1363 Update JSC results to account for intrinsics change.
1365 * bindings/scripts/test/JS/JSTestInterface.cpp:
1366 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1367 * bindings/scripts/test/JS/JSTestObj.cpp:
1368 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1370 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
1372 Unreviewed, rolling out r95312.
1373 http://trac.webkit.org/changeset/95312
1374 https://bugs.webkit.org/show_bug.cgi?id=68277
1376 It's innocent, innocent I tell you! (Requested by jamesr_ on
1379 * platform/graphics/chromium/ContentLayerChromium.cpp:
1380 (WebCore::ContentLayerChromium::createTextureUpdater):
1381 * platform/graphics/chromium/LayerRendererChromium.cpp:
1382 (WebCore::LayerRendererChromium::LayerRendererChromium):
1383 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1384 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1385 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1386 (WebCore::CCThreadProxy::context):
1387 (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1388 (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1389 (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1391 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
1393 Unreviewed, rolling out r95309.
1394 http://trac.webkit.org/changeset/95309
1395 https://bugs.webkit.org/show_bug.cgi?id=68271
1397 Broke many chromium gpu tests. (Requested by dave_levin on
1400 * platform/graphics/chromium/ContentLayerChromium.cpp:
1401 (WebCore::ContentLayerChromium::createTextureUpdater):
1402 * platform/graphics/chromium/LayerRendererChromium.cpp:
1403 (WebCore::LayerRendererChromium::LayerRendererChromium):
1404 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1405 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1406 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1407 (WebCore::CCThreadProxy::context):
1408 (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1409 (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1410 (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1412 2011-09-16 Filip Pizlo <fpizlo@apple.com>
1414 DFG JIT should inline Math.abs
1415 https://bugs.webkit.org/show_bug.cgi?id=68227
1417 Reviewed by Oliver Hunt.
1419 Added JavaScriptCore/dfg to include path path. Changed the bindings
1420 scripts to handle the presence of intrinsics.
1423 * bindings/scripts/CodeGeneratorJS.pm:
1424 (GenerateHashTable):
1426 2011-09-16 Iain Merrick <husky@google.com>
1428 [chromium] Fix CCLayerTreeHostTest
1429 https://bugs.webkit.org/show_bug.cgi?id=67418
1431 This is a minimal set of changes to get CCLayerTreeHostTest
1432 compiling, running and passing with USE_THREADED_COMPOSITING
1435 Reviewed by James Robinson.
1437 * platform/graphics/chromium/ContentLayerChromium.cpp:
1438 (WebCore::ContentLayerChromium::createTextureUpdater):
1439 * platform/graphics/chromium/LayerRendererChromium.cpp:
1440 (WebCore::LayerRendererChromium::LayerRendererChromium):
1441 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1442 (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
1443 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1444 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1445 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1446 (WebCore::CCThreadProxy::context):
1447 (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1448 (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1449 (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1451 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
1453 Unreviewed, rolling out r95227.
1454 http://trac.webkit.org/changeset/95227
1455 https://bugs.webkit.org/show_bug.cgi?id=68262
1457 Broke a bunch of SVG tests (Requested by andersca on #webkit).
1459 * platform/ScrollView.cpp:
1460 (WebCore::ScrollView::contentsSize):
1461 (WebCore::ScrollView::wheelEvent):
1462 * platform/ScrollView.h:
1463 * platform/mac/ScrollViewMac.mm:
1464 (WebCore::ScrollView::platformContentsSize):
1465 * platform/wx/ScrollViewWx.cpp:
1466 (WebCore::ScrollView::platformContentsSize):
1468 2011-09-16 James Simonsen <simonjam@chromium.org>
1470 Fix HTML5 parser's adoption agency algorithm to reparent correctly
1471 https://bugs.webkit.org/show_bug.cgi?id=68147
1473 Reviewed by Eric Seidel.
1475 * html/parser/HTMLTreeBuilder.cpp:
1476 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1478 2011-09-16 Adam Barth <abarth@webkit.org>
1480 CodeGeneratorGObject should use C++ style comments for ENABLE guards
1481 https://bugs.webkit.org/show_bug.cgi?id=68256
1483 Reviewed by Darin Adler.
1485 This patch should have not behavioral effect. It just cleans up the
1486 GObject code generator to use C++-style comments for ENABLE guards and
1487 to use the usual comment style for license blocks.
1489 * bindings/scripts/CodeGeneratorGObject.pm:
1490 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1491 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1492 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1493 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1494 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1495 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1496 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1497 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1498 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1499 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1500 (webkit_dom_test_obj_conditional_method1):
1501 (webkit_dom_test_obj_conditional_method2):
1502 (webkit_dom_test_obj_conditional_method3):
1503 (webkit_dom_test_obj_get_conditional_attr1):
1504 (webkit_dom_test_obj_set_conditional_attr1):
1505 (webkit_dom_test_obj_get_conditional_attr2):
1506 (webkit_dom_test_obj_set_conditional_attr2):
1507 (webkit_dom_test_obj_get_conditional_attr3):
1508 (webkit_dom_test_obj_set_conditional_attr3):
1509 (webkit_dom_test_obj_set_property):
1510 (webkit_dom_test_obj_get_property):
1511 (webkit_dom_test_obj_class_init):
1512 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1513 * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1514 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1515 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1516 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1518 2011-09-16 Csaba Osztrogonác <ossy@webkit.org>
1520 [Qt] REGRESSION(r95091) It made many tests flakey
1521 https://bugs.webkit.org/show_bug.cgi?id=68232
1523 Unreviewed rolling out r95091 and followup patches.
1525 * English.lproj/localizedStrings.js:
1526 * bindings/v8/V8Proxy.cpp:
1527 (WebCore::V8Proxy::callFunction):
1528 * bindings/v8/V8Proxy.h:
1529 * bindings/v8/custom/V8CustomVoidCallback.cpp:
1530 (WebCore::invokeCallback):
1531 * dom/ScriptedAnimationController.cpp:
1532 (WebCore::ScriptedAnimationController::registerCallback):
1533 (WebCore::ScriptedAnimationController::cancelCallback):
1534 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1535 * inspector/InspectorInstrumentation.cpp:
1536 * inspector/InspectorInstrumentation.h:
1537 (WebCore::InspectorInstrumentation::willCallFunction):
1538 * inspector/InspectorTimelineAgent.cpp:
1539 * inspector/InspectorTimelineAgent.h:
1540 * inspector/TimelineRecordFactory.cpp:
1541 * inspector/TimelineRecordFactory.h:
1542 * inspector/front-end/TimelineAgent.js:
1543 * inspector/front-end/TimelinePanel.js:
1544 (WebInspector.TimelinePanel):
1545 (WebInspector.TimelinePanel.prototype.get _recordStyles):
1546 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1547 (WebInspector.TimelinePanel.prototype._clearPanel):
1548 (WebInspector.TimelinePanel.FormattedRecord):
1549 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1550 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1552 2011-09-16 Abhishek Arya <inferno@chromium.org>
1554 cachedFont not getting updated for inline SVG text.
1555 https://bugs.webkit.org/show_bug.cgi?id=68060
1557 Reviewed by Nikolas Zimmermann.
1559 The cached scaledFont needs to be updated on every style set call. It
1560 is not similar to m_style which can get derived from parent's style and
1561 hence will get automatically updated on ancestor's style change. This is
1562 required, otherwise we will maintain stale font list in cached scaledFont
1563 when custom fonts are retired on Document::recalcStyle.
1565 Test: svg/text/text-style-recalc-crash.html
1567 * rendering/svg/RenderSVGInlineText.cpp:
1568 (WebCore::RenderSVGInlineText::styleDidChange):
1569 (WebCore::RenderSVGInlineText::setStyle):
1570 * rendering/svg/RenderSVGInlineText.h:
1572 2011-09-16 Antti Koivisto <antti@apple.com>
1574 REGRESSION (r95052): SelectorChecker identifier filter not working
1575 https://bugs.webkit.org/show_bug.cgi?id=68244
1577 Reviewed by Dan Bernstein.
1581 * css/SelectorChecker.cpp:
1582 (WebCore::collectDescendantSelectorIdentifierHashes):
1584 2011-09-16 Csaba Osztrogonác <ossy@webkit.org>
1586 Unreviewed typo fix after r95271.
1588 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1590 2011-09-16 Andrey Kosyakov <caseq@chromium.org>
1592 Web Inspector: [Extensions API] support extensions for remote inspector front-end
1593 https://bugs.webkit.org/show_bug.cgi?id=67840
1595 Reviewed by Pavel Feldman.
1597 - Merge ExtensionCommon.js into ExtensionAPI.js
1598 - refactor building of extension API for better reuse
1599 - expose interface for extension registration
1602 * WebCore.vcproj/WebCore.vcproj:
1603 * inspector/front-end/ExtensionAPI.js:
1604 (defineCommonExtensionSymbols):
1605 (buildExtensionAPIInjectedScript):
1606 * inspector/front-end/ExtensionCommon.js:
1607 * inspector/front-end/ExtensionServer.js:
1608 (WebInspector.ExtensionServer.prototype._addExtensions):
1609 (WebInspector.ExtensionServer.prototype._addExtension):
1610 (WebInspector.ExtensionServer.prototype._buildExtensionAPIScript):
1611 (WebInspector.ExtensionServer.prototype._onWindowMessage):
1612 (WebInspector.ExtensionServer.prototype._registerExtension):
1613 (WebInspector.ExtensionServer.prototype._expandResourcePath):
1614 * inspector/front-end/WebKit.qrc:
1615 * inspector/front-end/inspector.html:
1617 2011-09-16 Ilya Tikhonovsky <loislo@chromium.org>
1619 Web Inspector: change WebInspector.currentPanel getter/setter to functions.
1620 https://bugs.webkit.org/show_bug.cgi?id=68242
1622 This is necessary for the panel switching performance tests.
1624 Reviewed by Pavel Feldman.
1626 * inspector/front-end/Drawer.js:
1627 (WebInspector.Drawer.prototype.show.animationFinished):
1628 (WebInspector.Drawer.prototype.show):
1629 (WebInspector.Drawer.prototype.hide):
1630 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1631 (WebInspector.Drawer.prototype._animateDrawerHeight):
1632 (WebInspector.Drawer.prototype._statusBarDragging):
1633 * inspector/front-end/ElementsPanel.js:
1634 (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1635 * inspector/front-end/ResourcesPanel.js:
1636 (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
1637 * inspector/front-end/ScriptsPanel.js:
1638 * inspector/front-end/SearchController.js:
1639 (WebInspector.SearchController.prototype.updateSearchMatchesCount):
1640 (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
1641 (WebInspector.SearchController.prototype.updateSearchLabel):
1642 (WebInspector.SearchController.prototype.handleShortcut):
1643 (WebInspector.SearchController.prototype._performSearch):
1644 * inspector/front-end/Toolbar.js:
1645 (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1646 (WebInspector.Toolbar.createPanelToolbarItem):
1647 * inspector/front-end/inspector.js:
1648 (WebInspector.currentPanel):
1649 (WebInspector._updateFocusedNode):
1650 (WebInspector.windowResize):
1651 (WebInspector.documentKeyDown):
1652 (WebInspector.documentCanCopy):
1653 (WebInspector.documentCopy):
1654 (WebInspector.showPanel):
1655 (WebInspector.startUserInitiatedDebugging):
1656 (WebInspector.inspect):
1657 (WebInspector._showAnchorLocationInPanel):
1658 (WebInspector._toolbarItemClicked):
1659 (WebInspector.PanelHistory.prototype.goBack):
1660 (WebInspector.PanelHistory.prototype.goForward):
1662 2011-09-15 Pavel Feldman <pfeldman@google.com>
1664 Web Inspector: rename Console.clearConsoleMessages to Console.clearMessages, brush up console domain doc.
1665 https://bugs.webkit.org/show_bug.cgi?id=68165
1667 Reviewed by Yury Semikhatsky.
1669 * inspector/InjectedScriptHost.cpp:
1670 (WebCore::InjectedScriptHost::clearConsoleMessages):
1671 * inspector/Inspector.json:
1672 * inspector/InspectorConsoleAgent.cpp:
1673 (WebCore::InspectorConsoleAgent::clearMessages):
1674 * inspector/InspectorConsoleAgent.h:
1675 * inspector/front-end/ConsoleModel.js:
1676 (WebInspector.ConsoleModel.prototype.requestClearMessages):
1678 2011-09-16 Alejandro G. Castro <alex@igalia.com>
1680 Fix GTK build after r95245.
1682 * GNUmakefile.list.am:
1684 2011-09-16 Leo Yang <leo.yang@torchmobile.com.cn>
1686 [Qt] Crash when dragging google maps.
1687 https://bugs.webkit.org/show_bug.cgi?id=68223
1689 The custom image for a cursor might not be ready when WebKit trying
1690 to use it to construct the cursor in Qt porting. This patch is using
1691 arrow image to substitute the unready custom image.
1693 Reviewed by Adam Barth.
1695 Test: fast/css/crash-on-custom-cursor-when-loading.html
1697 * platform/qt/CursorQt.cpp:
1698 (WebCore::createCustomCursor):
1699 (WebCore::Cursor::ensurePlatformCursor):
1701 2011-09-15 Adam Barth <abarth@webkit.org>
1703 Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
1704 https://bugs.webkit.org/show_bug.cgi?id=68205
1706 Reviewed by Eric Seidel.
1708 As discussed on webkit-dev.
1711 * Configurations/FeatureDefines.xcconfig:
1713 * GNUmakefile.list.am:
1715 * bindings/generic/RuntimeEnabledFeatures.cpp:
1716 * bindings/generic/RuntimeEnabledFeatures.h:
1717 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1718 * bindings/js/JSDOMBinding.cpp:
1719 (WebCore::setDOMException):
1720 * bindings/js/JSExceptionBase.cpp:
1721 (WebCore::toExceptionBase):
1722 * bindings/js/JSInjectedScriptHostCustom.cpp:
1723 (WebCore::JSInjectedScriptHost::databaseId):
1724 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1725 * bindings/js/JSSQLTransactionCustom.cpp:
1726 * bindings/js/JSSQLTransactionSyncCustom.cpp:
1727 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1728 * bindings/scripts/test/CPP/WebDOMTestCallback.h:
1729 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1730 * bindings/scripts/test/JS/JSTestCallback.cpp:
1731 * bindings/scripts/test/JS/JSTestCallback.h:
1732 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1733 * bindings/scripts/test/TestCallback.idl:
1734 * bindings/scripts/test/V8/V8TestCallback.cpp:
1735 * bindings/scripts/test/V8/V8TestCallback.h:
1736 * bindings/v8/V8Proxy.cpp:
1737 (WebCore::V8Proxy::setDOMException):
1738 * bindings/v8/V8Proxy.h:
1739 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1740 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1741 (WebCore::V8InjectedScriptHost::databaseIdCallback):
1742 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1743 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1744 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1747 * dom/ExceptionCode.cpp:
1748 (WebCore::getExceptionCodeDescription):
1749 * dom/ExceptionCode.h:
1750 * dom/ScriptExecutionContext.cpp:
1751 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1752 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1753 * dom/ScriptExecutionContext.h:
1755 * history/PageCache.cpp:
1756 (WebCore::logCanCacheFrameDecision):
1757 (WebCore::PageCache::canCachePageContainingThisFrame):
1758 * inspector/InjectedScriptHost.cpp:
1759 (WebCore::InjectedScriptHost::InjectedScriptHost):
1760 (WebCore::InjectedScriptHost::disconnect):
1761 * inspector/InjectedScriptHost.h:
1762 (WebCore::InjectedScriptHost::init):
1763 * inspector/InspectorController.cpp:
1764 (WebCore::InspectorController::InspectorController):
1765 (WebCore::InspectorController::connectFrontend):
1766 (WebCore::InspectorController::disconnectFrontend):
1767 (WebCore::InspectorController::restoreInspectorStateFromCookie):
1768 * inspector/InspectorController.h:
1769 * inspector/InspectorDatabaseAgent.cpp:
1770 * inspector/InspectorDatabaseInstrumentation.h:
1771 * inspector/InspectorDatabaseResource.cpp:
1772 * inspector/InspectorDatabaseResource.h:
1773 * inspector/InspectorInstrumentation.cpp:
1774 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1775 * inspector/InspectorInstrumentation.h:
1776 * inspector/InstrumentingAgents.h:
1777 (WebCore::InstrumentingAgents::InstrumentingAgents):
1778 * inspector/WorkerInspectorController.cpp:
1779 (WebCore::WorkerInspectorController::WorkerInspectorController):
1780 (WebCore::WorkerInspectorController::connectFrontend):
1781 * loader/EmptyClients.h:
1782 * loader/FrameLoader.cpp:
1783 (WebCore::FrameLoader::stopLoading):
1784 * page/ChromeClient.h:
1785 * page/DOMWindow.cpp:
1787 * page/DOMWindow.idl:
1788 * platform/sql/SQLiteAuthorizer.cpp:
1789 * platform/sql/SQLiteDatabase.cpp:
1790 * platform/sql/SQLiteFileSystem.cpp:
1791 * platform/sql/SQLiteStatement.cpp:
1792 * platform/sql/SQLiteTransaction.cpp:
1793 * storage/AbstractDatabase.cpp:
1794 * storage/AbstractDatabase.h:
1795 * storage/ChangeVersionWrapper.cpp:
1796 * storage/ChangeVersionWrapper.h:
1797 * storage/Database.cpp:
1798 * storage/Database.h:
1799 * storage/Database.idl:
1800 * storage/DatabaseAuthorizer.cpp:
1801 * storage/DatabaseCallback.h:
1802 * storage/DatabaseCallback.idl:
1803 * storage/DatabaseDetails.h:
1804 * storage/DatabaseSync.cpp:
1805 * storage/DatabaseSync.h:
1806 * storage/DatabaseSync.idl:
1807 * storage/DatabaseTask.cpp:
1808 * storage/DatabaseTask.h:
1809 * storage/DatabaseThread.cpp:
1810 * storage/DatabaseThread.h:
1811 * storage/DatabaseTracker.cpp:
1812 * storage/DatabaseTracker.h:
1813 * storage/DatabaseTrackerClient.h:
1814 * storage/OriginQuotaManager.cpp:
1815 * storage/OriginQuotaManager.h:
1816 * storage/OriginUsageRecord.cpp:
1817 * storage/OriginUsageRecord.h:
1818 * storage/SQLCallbackWrapper.h:
1819 * storage/SQLError.h:
1820 * storage/SQLError.idl:
1821 * storage/SQLException.h:
1822 * storage/SQLException.idl:
1823 * storage/SQLResultSet.cpp:
1824 * storage/SQLResultSet.h:
1825 * storage/SQLResultSet.idl:
1826 * storage/SQLResultSetRowList.cpp:
1827 * storage/SQLResultSetRowList.h:
1828 * storage/SQLResultSetRowList.idl:
1829 * storage/SQLStatement.cpp:
1830 * storage/SQLStatement.h:
1831 * storage/SQLStatementCallback.h:
1832 * storage/SQLStatementCallback.idl:
1833 * storage/SQLStatementErrorCallback.h:
1834 * storage/SQLStatementErrorCallback.idl:
1835 * storage/SQLStatementSync.cpp:
1836 * storage/SQLStatementSync.h:
1837 * storage/SQLTransaction.cpp:
1838 * storage/SQLTransaction.h:
1839 * storage/SQLTransaction.idl:
1840 * storage/SQLTransactionCallback.h:
1841 * storage/SQLTransactionCallback.idl:
1842 * storage/SQLTransactionClient.cpp:
1843 * storage/SQLTransactionClient.h:
1844 * storage/SQLTransactionCoordinator.cpp:
1845 * storage/SQLTransactionCoordinator.h:
1846 * storage/SQLTransactionErrorCallback.h:
1847 * storage/SQLTransactionErrorCallback.idl:
1848 * storage/SQLTransactionSync.cpp:
1849 * storage/SQLTransactionSync.h:
1850 * storage/SQLTransactionSync.idl:
1851 * storage/SQLTransactionSyncCallback.h:
1852 * storage/SQLTransactionSyncCallback.idl:
1853 * storage/chromium/DatabaseObserver.h:
1854 * storage/chromium/DatabaseTrackerChromium.cpp:
1855 * storage/chromium/QuotaTracker.cpp:
1856 * storage/chromium/QuotaTracker.h:
1857 * storage/chromium/SQLTransactionClientChromium.cpp:
1858 * workers/WorkerContext.cpp:
1859 * workers/WorkerContext.h:
1860 * workers/WorkerContext.idl:
1861 * workers/WorkerThread.cpp:
1862 (WebCore::WorkerThreadShutdownStartTask::performTask):
1863 (WebCore::WorkerThread::stop):
1865 2011-09-15 Alexandru Chiculita <achicu@adobe.com>
1867 [CSSRegions] Regions should not slice line box rendering
1868 https://bugs.webkit.org/show_bug.cgi?id=66198
1870 Created a new LayoutState constructor for the RenderFlowThread. It will
1871 set m_isPaginated to true and force a pageHeight if 1. The actual pageHeight is
1872 not used, because pageLogicalHeightForOffset will actually redirect the call
1873 to RenderFlowThread.
1875 Removed some of the duplicate code that calculated the page logical offset.
1876 Added new methods like logicalPageOffset, pageLogicalHeightForOffset,
1877 pageRemainingLogicalHeightForOffset.
1879 There are still some issues related to incremental layout and different region widths.
1880 Those issues will be addressed in different patches.
1882 Reviewed by David Hyatt.
1884 Tests: fast/regions/text-region-breaks.html
1885 fast/regions/text-region-split-horizontal-bt.html
1886 fast/regions/text-region-split-vertical-rl.html
1887 fast/regions/text-region-split-vertical.html
1888 fast/regions/text-region-split.html
1890 * rendering/LayoutState.cpp:
1891 (WebCore::LayoutState::LayoutState):
1892 * rendering/LayoutState.h:
1893 (WebCore::LayoutState::LayoutState):
1894 (WebCore::LayoutState::isPaginated):
1895 * rendering/RenderBlock.cpp:
1896 (WebCore::RenderBlock::positionNewFloats):
1897 (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
1898 (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
1899 (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
1900 (WebCore::inNormalFlow):
1901 (WebCore::RenderBlock::applyBeforeBreak):
1902 (WebCore::RenderBlock::applyAfterBreak):
1903 (WebCore::RenderBlock::logicalPageOffset):
1904 (WebCore::RenderBlock::pageLogicalHeightForOffset):
1905 (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
1906 (WebCore::RenderBlock::adjustForUnsplittableChild):
1907 (WebCore::RenderBlock::adjustLinePositionForPagination):
1908 * rendering/RenderBlock.h:
1909 * rendering/RenderFlowThread.cpp:
1910 (WebCore::RenderFlowThread::layout):
1911 (WebCore::RenderFlowThread::regionLogicalHeightForLine):
1912 (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
1913 * rendering/RenderFlowThread.h:
1914 * rendering/RenderView.cpp:
1915 (WebCore::RenderView::pushLayoutState):
1916 * rendering/RenderView.h:
1917 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
1918 (WebCore::LayoutStateMaintainer::push):
1920 2011-09-15 Kentaro Hara <haraken@google.com>
1922 Implement a PopStateEvent constructor for JSC
1923 https://bugs.webkit.org/show_bug.cgi?id=67977
1925 Reviewed by Sam Weinig.
1927 Test: fast/events/constructors/pop-state-event-constructor.html
1929 * bindings/generic/EventConstructors.h: Added a definition for the PopStateEvent constructor.
1930 * bindings/js/JSEventConstructors.cpp: Added #includes for PopStateEvent.
1931 * dom/PopStateEvent.cpp:
1932 (WebCore::PopStateEventInit::PopStateEventInit):
1933 (WebCore::PopStateEvent::PopStateEvent):
1934 (WebCore::PopStateEvent::create):
1935 * dom/PopStateEvent.h: Added a definition for PopStateEventInit.
1936 * dom/PopStateEvent.idl: Makes PopStateEvent constructible.
1938 2011-09-15 Mihai Parparita <mihaip@chromium.org>
1940 Fragment navigations should interrupt a provisional load of a different document
1941 https://bugs.webkit.org/show_bug.cgi?id=64556
1943 Reviewed by Adam Barth.
1945 Tests: http/tests/history/back-with-fragment-change.php
1946 http/tests/navigation/navigation-interrupted-by-fragment.html
1948 * loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
1949 * loader/HistoryController.cpp: Don't commit the wrong provisional item.
1951 2011-09-15 Adrienne Walker <enne@google.com>
1953 [chromium] Add temporary diagnostics for LayerTreeHost::commitTo crash
1954 https://bugs.webkit.org/show_bug.cgi?id=68204
1956 Reviewed by James Robinson.
1958 Add CRASH calls to determine which assumptions are being violated.
1960 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1961 (WebCore::CCLayerTreeHost::commitTo):
1963 2011-09-15 Mark Hahnenberg <mhahnenberg@apple.com>
1965 Unzip initialization lists and constructors in JSCell hierarchy (7/7)
1966 https://bugs.webkit.org/show_bug.cgi?id=68122
1968 Reviewed by Geoffrey Garen.
1972 Completed the seventh and final level of the refactoring to add finishCreation()
1973 methods to all classes within the JSCell hierarchy with non-trivial
1976 This consists of moving the finishCreation() method call into the create methods
1977 of the sixth level of the hierarchy as was done in previous patches.
1979 The special cases for JSAudioConstructor, JSOptionConstructor, and JSImageConstructor
1980 were also lumped in and given finishCreation() methods that are called in their
1981 create methods because we are at the end and want to avoid a trivial patch just
1982 for moving their finishCreation() methods from their constructor to their create method.
1984 * bindings/js/JSAudioConstructor.cpp:
1985 (WebCore::JSAudioConstructor::JSAudioConstructor):
1986 (WebCore::JSAudioConstructor::finishCreation):
1987 * bindings/js/JSAudioConstructor.h:
1988 (WebCore::JSAudioConstructor::create):
1989 * bindings/js/JSDOMBinding.h:
1990 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
1991 * bindings/js/JSDOMWindowBase.cpp:
1992 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1993 * bindings/js/JSImageConstructor.cpp:
1994 (WebCore::JSImageConstructor::JSImageConstructor):
1995 (WebCore::JSImageConstructor::finishCreation):
1996 * bindings/js/JSImageConstructor.h:
1997 (WebCore::JSImageConstructor::create):
1998 * bindings/js/JSOptionConstructor.cpp:
1999 (WebCore::JSOptionConstructor::JSOptionConstructor):
2000 (WebCore::JSOptionConstructor::finishCreation):
2001 * bindings/js/JSOptionConstructor.h:
2002 (WebCore::JSOptionConstructor::create):
2003 * bindings/js/JSWorkerContextBase.cpp:
2004 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2006 The bindings generation script was also changed to move the finishCreation() call into the
2007 create methods for descendants of JSWorkerContextBase and JSDOMWindowBase because those base
2008 classes had it removed from their constructors.
2010 * bindings/scripts/CodeGeneratorJS.pm:
2012 * bridge/c/c_instance.cpp:
2013 (JSC::Bindings::CRuntimeMethod::create):
2014 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
2015 * bridge/jni/jsc/JavaInstanceJSC.cpp:
2016 (JavaRuntimeMethod::create):
2017 (JavaRuntimeMethod::JavaRuntimeMethod):
2018 * bridge/objc/objc_instance.mm:
2019 (ObjCRuntimeMethod::create):
2020 (ObjCRuntimeMethod::ObjCRuntimeMethod):
2021 * bridge/qt/qt_runtime.cpp:
2022 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2023 (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
2024 * bridge/qt/qt_runtime.h:
2025 (JSC::Bindings::QtRuntimeMetaMethod::create):
2026 (JSC::Bindings::QtRuntimeConnectionMethod::create):
2028 2011-09-15 Kentaro Hara <haraken@google.com>
2030 A single line must not be split into two pages.
2031 https://bugs.webkit.org/show_bug.cgi?id=65005
2033 Reviewed by David Hyatt.
2035 When the document width of a page is overflowed, the last line of the page can be
2036 split into the next page. This is the regression caused by r88737. r88737 tried to
2037 fix rounding errors in rendering calculations by expanding and shrinking a page
2038 using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
2039 a document width gets overflowed.
2041 This patch fixes the problem by also using resizePageRectsKeepingRatio() for the case
2042 where the document width gets overflowed.
2044 Test: printing/single-line-must-not-be-split-into-two-pages.html
2046 * WebCore.exp.in: Updated the signature of forceLayoutForPagination().
2048 (WebCore::Frame::setPrinting): Added a new argument |originalPageSize|, which is an original page size before being expanded or shrunk.
2050 * page/FrameView.cpp:
2051 (WebCore::FrameView::forceLayoutForPagination): Uses resizePageRectsKeepingRatio() in the case where the document width gets overflowed.
2053 * page/PrintContext.cpp:
2054 (WebCore::PrintContext::begin): Passes an original page size to setPrinting().
2055 (WebCore::PrintContext::end): Ditto.
2057 2011-09-15 Sheriff Bot <webkit.review.bot@gmail.com>
2059 Unreviewed, rolling out r95243 and r95246.
2060 http://trac.webkit.org/changeset/95243
2061 http://trac.webkit.org/changeset/95246
2062 https://bugs.webkit.org/show_bug.cgi?id=68202
2064 Broke the Windows build (Requested by smfr on #webkit).
2066 * WebCore.vcproj/WebCore.vcproj:
2067 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2068 (WebCore::LayerChangesFlusher::hookCallback):
2069 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2070 (PlatformCAAnimation::copy):
2071 * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
2073 2011-09-15 Simon Fraser <simon.fraser@apple.com>
2075 Attempt to fix Windows build after r95243.
2077 * WebCore.vcproj/WebCore.vcproj:
2079 2011-09-15 Simon Fraser <simon.fraser@apple.com>
2081 Make custom scrollbar theme for use in DRT, to reduce pixel differences between platforms
2082 https://bugs.webkit.org/show_bug.cgi?id=68134
2084 Reviewed by James Robinson.
2086 Add new scrollbar theme, called ScrollbarThemeMock, for use in layout
2087 tests. The mock scrollbar simply draws a light gray box in the track,
2088 with a dark gray box for the thumb.
2090 Add ScrollbarThemeMock files to the build on all platforms. It isn't hooked up yet.
2093 * CMakeListsEfl.txt:
2094 * CMakeListsWinCE.txt:
2095 * GNUmakefile.list.am:
2098 * WebCore.vcproj/WebCore.vcproj:
2099 * WebCore.xcodeproj/project.pbxproj:
2100 * platform/mac/ScrollbarThemeMac.mm:
2101 (WebCore::ScrollbarTheme::nativeTheme):
2102 * platform/mock/ScrollbarThemeMock.cpp: Added.
2103 (WebCore::ScrollbarThemeMock::trackRect):
2104 (WebCore::ScrollbarThemeMock::scrollbarThickness):
2105 (WebCore::ScrollbarThemeMock::paintTrackBackground):
2106 (WebCore::ScrollbarThemeMock::paintThumb):
2107 * platform/mock/ScrollbarThemeMock.h: Added.
2108 (WebCore::ScrollbarThemeMock::hasButtons):
2109 (WebCore::ScrollbarThemeMock::hasThumb):
2110 (WebCore::ScrollbarThemeMock::backButtonRect):
2111 (WebCore::ScrollbarThemeMock::forwardButtonRect):
2113 2011-09-15 Beth Dakin <bdakin@apple.com>
2115 https://bugs.webkit.org/show_bug.cgi?id=67884
2116 Delete button icon does not properly update when the device resolution changes
2119 <rdar://problem/10104632>
2121 Reviewed by Darin Adler.
2123 In DeleteButtonController::deviceScaleFactorChanged(), if the delete button is
2124 currently showing, hide it and re-show it, forcing it to re-create the deletion
2126 * editing/DeleteButtonController.cpp:
2127 (WebCore::DeleteButtonController::deviceScaleFactorChanged):
2128 * editing/DeleteButtonController.h:
2129 * editing/Editor.cpp:
2130 (WebCore::Editor::deviceScaleFactorChanged):
2133 Iterate through all of the frames and propagate the deviceScaleFactorChange()
2136 (WebCore::Page::setDeviceScaleFactor):
2138 2011-09-15 Chris Marrin <cmarrin@apple.com>
2140 Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
2141 https://bugs.webkit.org/show_bug.cgi?id=67510
2143 Reviewed by Adam Roben.
2145 Another fix to take care of one last crash when running pause-crash.html.
2146 CACF can't deal with null valueFunctions, so avoid setting it when it doesn't
2149 This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
2150 from catching the null pointer exception generated by the pause-crash.html test
2151 before this bug was fixed. Windows was ignoring the exception, so the testcase
2152 would appear to succeed, even though it should have crashed.
2154 * WebCore.vcproj/WebCore.vcproj:
2155 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2156 (WebCore::LayerChangesFlusher::hookCallback):
2157 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2158 (PlatformCAAnimation::copy):
2159 * platform\win\StructuredExceptionHandlerSupressor.h: New file to encapsulate the exception handling supression.
2161 2011-09-15 David Hyatt <hyatt@apple.com>
2163 https://bugs.webkit.org/show_bug.cgi?id=27579
2165 Make sure that the border shorthand also resets border-image.
2167 Reviewed by Beth Dakin.
2169 Added fast/borders/border-image-reset-by-border-shorthand.html.
2171 * css/CSSParser.cpp:
2172 (WebCore::CSSParser::parseValue):
2174 2011-09-15 David Hyatt <hyatt@apple.com>
2176 https://bugs.webkit.org/show_bug.cgi?id=50072
2178 Make overflow clipping to border-radius work across layers. This patch makes painting
2179 work but does not attempt to fix hit testing. It also doesn't work when a composited
2180 layer is clipped by a non-composited ancestor.
2182 Add a new ClipRect class (used by ClipRects and RenderLayer) that is basically just tracking
2183 a rect and a border radius taint. At the time we set a clip, if the rectangle is listed
2184 as also being clipped by a radius, then we walk up the layer tree and push those inner border
2185 rounded rect clips for any overflow areas in the containing block chain.
2187 Reviewed by Beth Dakin.
2189 Added new tests in fast/clip.
2191 * rendering/RenderBox.cpp:
2192 (WebCore::RenderBox::pushContentsClip):
2193 * rendering/RenderLayer.cpp:
2194 (WebCore::inContainingBlockChain):
2195 (WebCore::RenderLayer::clipToRect):
2196 (WebCore::RenderLayer::restoreClip):
2197 (WebCore::RenderLayer::paintLayer):
2198 (WebCore::RenderLayer::hitTestLayer):
2199 (WebCore::RenderLayer::calculateClipRects):
2200 (WebCore::RenderLayer::backgroundClipRect):
2201 (WebCore::RenderLayer::calculateRects):
2202 (WebCore::RenderLayer::childrenClipRect):
2203 (WebCore::RenderLayer::selfClipRect):
2204 * rendering/RenderLayer.h:
2205 (WebCore::ClipRect::ClipRect):
2206 (WebCore::ClipRect::rect):
2207 (WebCore::ClipRect::setRect):
2208 (WebCore::ClipRect::hasRadius):
2209 (WebCore::ClipRect::setHasRadius):
2210 (WebCore::ClipRect::operator==):
2211 (WebCore::ClipRect::intersect):
2212 (WebCore::ClipRect::move):
2213 (WebCore::ClipRect::isEmpty):
2214 (WebCore::ClipRect::intersects):
2215 (WebCore::intersection):
2216 (WebCore::ClipRects::overflowClipRect):
2217 (WebCore::ClipRects::setOverflowClipRect):
2218 (WebCore::ClipRects::fixedClipRect):
2219 (WebCore::ClipRects::setFixedClipRect):
2220 (WebCore::ClipRects::posClipRect):
2221 (WebCore::ClipRects::setPosClipRect):
2222 * rendering/RenderLayerBacking.cpp:
2223 (WebCore::RenderLayerBacking::updateCompositedBounds):
2224 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2225 (WebCore::RenderLayerBacking::paintIntoLayer):
2226 * rendering/RenderLayerCompositor.cpp:
2227 (WebCore::RenderLayerCompositor::addToOverlapMap):
2228 (WebCore::RenderLayerCompositor::clippedByAncestor):
2229 * rendering/RenderTreeAsText.cpp:
2230 (WebCore::writeLayers):
2232 2011-09-15 Julien Chaffraix <jchaffraix@webkit.org>
2234 Crash in RenderBox::paintMaskImages due to a mask without an associated image
2235 https://bugs.webkit.org/show_bug.cgi?id=50151
2237 Reviewed by Simon Fraser.
2239 Test: fast/css/empty-webkit-mask-crash.html
2241 The crash stems from the fact that FillLayer::hasImage would walk over the linked list
2242 of FillLayers and return true if one had an image. This means that hasImage() is true
2243 does not mean that image() is non-NULL on all FillLayers.
2245 * rendering/RenderBox.cpp:
2246 (WebCore::RenderBox::paintMaskImages): Simplify the logic by doing the hasImage() check up-front
2247 and properly check image() for each FillLayers. This has the nice benefit of changing the complexity
2248 from O(n^2) to O(n), which was what the code expected anyway.
2250 2011-09-15 Eric Seidel <eric@webkit.org>
2252 Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
2253 https://bugs.webkit.org/show_bug.cgi?id=68182
2255 Reviewed by Adam Barth.
2257 * Configurations/FeatureDefines.xcconfig:
2258 * DerivedSources.make:
2261 * loader/cache/CachedImage.cpp:
2262 (WebCore::CachedImage::createImage):
2264 2011-09-15 Andy Estes <aestes@apple.com>
2266 Having an empty listener to beforeload events changes the behavior of other scripts
2267 https://bugs.webkit.org/show_bug.cgi?id=45586
2269 Reviewed by Darin Adler.
2271 Test: fast/dom/beforeload/cached-image-before-load.html
2273 When loading a cached image after a beforeload handler has been
2274 installed on the document, ImageLoader would dispatch both the
2275 beforeload and load events asynchronously in such a way that caused
2276 load to fire first. Since a side effect of firing the beforeload event
2277 is to wire up the CachedImage to its associated RenderImage object,
2278 this work was not done by the time load fired, and scripts that queried
2279 renderer-dependent attributes of the image in an onload handler would
2280 get bogus values in return.
2282 Fix this by ensuring load fires after beforeload in the cached image case.
2284 * loader/ImageLoader.cpp:
2285 (WebCore::ImageLoader::updateFromElement): Call setClient() after
2286 dispatching beforeload, since setClient() will dispatch the load event
2287 if the image is cached.
2289 2011-09-15 Anders Carlsson <andersca@apple.com>
2291 Remove ScrollView::platformContentsSize
2292 https://bugs.webkit.org/show_bug.cgi?id=68188
2294 Reviewed by Darin Adler.
2296 Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
2297 have to ask the underlying platform scroll view for contents size since it should always just
2298 be equal to m_contentsSize.
2300 * platform/ScrollView.cpp:
2301 (WebCore::ScrollView::contentsSize):
2302 (WebCore::ScrollView::wheelEvent):
2303 * platform/ScrollView.h:
2304 * platform/mac/ScrollViewMac.mm:
2305 * platform/wx/ScrollViewWx.cpp:
2307 2011-09-15 Jon Lee <jonlee@apple.com>
2309 Submitting a form with target=_blank works only once
2310 https://bugs.webkit.org/show_bug.cgi?id=28633
2311 <rdar://problem/7357787>
2313 Reviewed by Andy Estes.
2315 Test: fast/forms/submit-to-blank-multiple-times.html
2317 The call to reset the multiple form submission bool is pushed down from the mouseDown handler to
2318 handleMousePressEvent(), to include WK2 coverage, similar to keyEvent.
2320 * page/EventHandler.cpp:
2321 (WebCore::EventHandler::handleMousePressEvent):
2322 (WebCore::EventHandler::keyEvent): clarified old FIXME comment. Both key events and mouse events
2323 may submit a form multiple times, but the call to reset the handler should probably be in another
2325 * page/mac/EventHandlerMac.mm:
2326 (WebCore::EventHandler::mouseDown):
2328 2011-09-15 Peter Rybin <peter.rybin@gmail.com>
2330 XMLDocumentParserQt.cpp incorrectly converts 0-based number into 1-based number
2331 https://bugs.webkit.org/show_bug.cgi?id=63540
2333 ZeroBasedNumber/OneBasedNumber are used in more places, inconsistency
2334 in xml parser is fixed.
2336 Reviewed by Adam Barth.
2338 * bindings/js/ScriptController.cpp:
2339 (WebCore::ScriptController::eventHandlerLineNumber):
2340 * dom/ScriptableDocumentParser.h:
2341 * dom/StyleElement.cpp:
2342 (WebCore::StyleElement::StyleElement):
2343 * dom/ViewportArguments.cpp:
2344 (WebCore::parserLineNumber):
2345 * html/parser/HTMLDocumentParser.cpp:
2346 (WebCore::HTMLDocumentParser::lineNumber):
2347 * html/parser/HTMLDocumentParser.h:
2348 * inspector/InspectorResourceAgent.cpp:
2349 (WebCore::InspectorResourceAgent::buildInitiatorObject):
2350 * svg/SVGDocumentExtensions.cpp:
2351 (WebCore::parserLineNumber):
2352 * xml/parser/NewXMLDocumentParser.cpp:
2353 (WebCore::NewXMLDocumentParser::lineNumber):
2354 * xml/parser/NewXMLDocumentParser.h:
2355 * xml/parser/XMLDocumentParser.cpp:
2356 (WebCore::XMLDocumentParser::pushCurrentNode):
2357 * xml/parser/XMLDocumentParser.h:
2358 * xml/parser/XMLDocumentParserLibxml2.cpp:
2359 (WebCore::PendingCallbacks::appendErrorCallback):
2360 (WebCore::XMLDocumentParser::doWrite):
2361 (WebCore::XMLDocumentParser::startElementNs):
2362 (WebCore::XMLDocumentParser::error):
2363 (WebCore::XMLDocumentParser::lineNumber):
2364 (WebCore::XMLDocumentParser::columnNumber):
2365 (WebCore::XMLDocumentParser::textPosition):
2366 * xml/parser/XMLDocumentParserQt.cpp:
2367 (WebCore::XMLDocumentParser::doWrite):
2368 (WebCore::XMLDocumentParser::doEnd):
2369 (WebCore::XMLDocumentParser::lineNumber):
2370 (WebCore::XMLDocumentParser::columnNumber):
2371 (WebCore::XMLDocumentParser::textPosition):
2372 (WebCore::XMLDocumentParser::parse):
2373 (WebCore::XMLDocumentParser::parseStartElement):
2375 2011-09-15 Peter Kasting <pkasting@google.com>
2377 Fix WebCore.gypi after r95130.
2379 Unreviewed, build fix.
2383 2011-09-15 Eric Seidel <eric@webkit.org>
2385 Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
2386 https://bugs.webkit.org/show_bug.cgi?id=68022
2388 Reviewed by Ryosuke Niwa.
2390 * Configurations/FeatureDefines.xcconfig:
2391 * DerivedSources.make:
2394 * page/DOMWindow.idl:
2397 2011-09-15 Matthew Delaney <mdelaney@apple.com>
2399 REGRESSION (Safari 5.1-r95043): Incorrect box-shadow offset
2400 https://bugs.webkit.org/show_bug.cgi?id=68041
2402 Reviewed by Dan Bernstein.
2404 Test: fast/box-shadow/no-blur-multiple-offsets.html
2406 * platform/graphics/cg/GraphicsContextCG.cpp:
2407 (WebCore::GraphicsContext::setPlatformShadow): Add hack back in for Lion if
2408 context is not accelerated.
2410 2011-09-15 James Simonsen <simonjam@chromium.org>
2412 Ref protect HTMLObjectElement and HTMLEmbedElement while requesting plugins
2413 https://bugs.webkit.org/show_bug.cgi?id=68014
2415 Reviewed by Adam Barth.
2417 Test: plugins/destroy-during-npp-new.html under valgrind
2418 plugins/destroy-during-npp-new-object-with-fallback-content.html under valgrind
2420 * html/HTMLEmbedElement.cpp:
2421 (WebCore::HTMLEmbedElement::updateWidget):
2422 * html/HTMLObjectElement.cpp:
2423 (WebCore::HTMLObjectElement::updateWidget):
2425 2011-09-15 Sam Weinig <sam@webkit.org>
2427 Experiment with removing ability to call a collection (except document.all)
2428 https://bugs.webkit.org/show_bug.cgi?id=67579
2430 Reviewed by Anders Carlsson.
2432 At the request of the public-script-coord mailing list (specifically Brendan Eich, see
2433 http://lists.w3.org/Archives/Public/public-script-coord/2011JulSep/0360.html), this
2434 patch removes the ability to call a collection (either a NodeList or HTMLCollection,
2435 but not an HTMLAllCollection) as function, a syntax that we adopted to emulate IE.
2436 It is being landed to find out if there are any sites relying on this behavior of WebKit,
2437 or, if it is only used in IE only paths. If we find sites are breaking, it should be rolled
2438 out and we should inform the public-script-coord mailing list.
2440 * bindings/js/JSHTMLAllCollectionCustom.cpp:
2443 * bindings/js/JSHTMLCollectionCustom.cpp:
2444 * bindings/js/JSNodeListCustom.cpp:
2445 Remove custom call code.
2447 * bindings/scripts/CodeGeneratorV8.pm:
2448 Add support for V8CustomCall.
2451 * html/HTMLCollection.idl:
2454 2011-09-15 Andreas Kling <kling@webkit.org>
2456 CanvasRenderingContext2D::State copy ctor should use initializer list.
2457 https://bugs.webkit.org/show_bug.cgi?id=68152
2459 Reviewed by Darin Adler.
2461 * html/canvas/CanvasRenderingContext2D.cpp:
2462 (WebCore::CanvasRenderingContext2D::State::State):
2464 2011-09-15 Andreas Kling <kling@webkit.org>
2466 Don't bother calculating dirty rect for accelerated 2D canvases.
2467 https://bugs.webkit.org/show_bug.cgi?id=68158
2469 Reviewed by Kenneth Rohde Christiansen.
2471 For accelerated CanvasRenderingContext2D, didDraw() simply calls out
2472 to RenderLayer::contentChanged(). Move this to the top of didDraw()
2473 so we don't waste time calculating a precise dirty rect.
2475 * html/canvas/CanvasRenderingContext2D.cpp:
2476 (WebCore::CanvasRenderingContext2D::didDraw):
2478 2011-09-15 Brian Salomon <bsalomon@google.com>
2480 [Skia/Chrome] Cleanup unneeded code now that GrGLInterface is used to set GL ctx per GL call.
2481 https://bugs.webkit.org/show_bug.cgi?id=68096
2483 Reviewed by Stephen White.
2485 This change removes PlatformContextSkia::makeGrContextCurrent now that
2486 GrGLInterface is used to set the context on every Skia GL call.
2488 Tested by every canvas layout test.
2490 * platform/graphics/chromium/FontLinux.cpp:
2491 (WebCore::Font::drawGlyphs):
2492 * platform/graphics/skia/FontSkia.cpp:
2493 (WebCore::Font::drawGlyphs):
2494 * platform/graphics/skia/GraphicsContextSkia.cpp:
2495 (WebCore::GraphicsContext::clearRect):
2496 (WebCore::GraphicsContext::clip):
2497 (WebCore::GraphicsContext::drawConvexPolygon):
2498 (WebCore::GraphicsContext::drawEllipse):
2499 (WebCore::GraphicsContext::drawFocusRing):
2500 (WebCore::GraphicsContext::drawLine):
2501 (WebCore::GraphicsContext::drawLineForTextChecking):
2502 (WebCore::GraphicsContext::drawLineForText):
2503 (WebCore::GraphicsContext::drawRect):
2504 (WebCore::GraphicsContext::fillPath):
2505 (WebCore::GraphicsContext::fillRect):
2506 (WebCore::GraphicsContext::fillRoundedRect):
2507 (WebCore::GraphicsContext::strokeArc):
2508 (WebCore::GraphicsContext::strokePath):
2509 (WebCore::GraphicsContext::strokeRect):
2510 * platform/graphics/skia/ImageBufferSkia.cpp:
2511 (WebCore::ImageBuffer::ImageBuffer):
2512 (WebCore::ImageBuffer::~ImageBuffer):
2513 (WebCore::ImageBuffer::copyImage):
2514 (WebCore::ImageBuffer::draw):
2515 (WebCore::ImageBuffer::drawPattern):
2516 (WebCore::ImageBuffer::getUnmultipliedImageData):
2517 (WebCore::ImageBuffer::getPremultipliedImageData):
2518 (WebCore::ImageBuffer::putUnmultipliedImageData):
2519 (WebCore::ImageBuffer::putPremultipliedImageData):
2520 (WebCore::ImageBuffer::toDataURL):
2521 * platform/graphics/skia/ImageSkia.cpp:
2522 (WebCore::BitmapImage::draw):
2523 (WebCore::BitmapImageSingleFrameSkia::draw):
2524 * platform/graphics/skia/PlatformContextSkia.cpp:
2525 (WebCore::PlatformContextSkia::clipPathAntiAliased):
2526 (WebCore::PlatformContextSkia::setGraphicsContext3D):
2527 * platform/graphics/skia/PlatformContextSkia.h:
2528 * platform/graphics/skia/SkiaFontWin.cpp:
2529 (WebCore::paintSkiaText):
2531 2011-09-15 Peter Beverloo <peter@chromium.org>
2533 [Chromium] Make sure that the ARM NEON files build with -marm
2534 https://bugs.webkit.org/show_bug.cgi?id=68088
2536 Simply adding the -marm cflag for OS=Android compiles results in it
2537 being overridden by an -mthumb cflag later in the project generating
2538 process. Therefore we should explicitly exclude -mthumb.
2540 Reviewed by Tony Gentilcore.
2542 * WebCore.gyp/WebCore.gyp:
2544 2011-09-15 Keishi Hattori <keishi@webkit.org>
2546 [chromium] Build fix: Remove use of GraphicsContext::setIsAcceleratedContext
2548 r95174 introduced GraphicsContext::setIsAcceleratedContext into Skia code and caused chromium builds to fail.
2550 * platform/graphics/skia/ImageBufferSkia.cpp:
2551 (WebCore::ImageBuffer::ImageBuffer):
2553 2011-09-15 Yuta Kitamura <yutak@chromium.org>
2555 ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
2556 https://bugs.webkit.org/show_bug.cgi?id=67908
2558 Reviewed by David Levin.
2560 Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
2562 ThreadableWebSocketChannelClientWrapper is derived from ThreadSafeRefCounted. It may be
2563 destroyed on different threads, which will affect String's refcounting. Therefore, classes
2564 derived from ThreadSafeRefCounted must not have a String member variable.
2566 No change in functionality, thus no new tests. WebSocket worker tests
2567 (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
2569 * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2570 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2571 (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
2572 Create a String from Vector<UChar>. Note that String constructor taking an empty vector returns
2573 a null string, not an empty string. We want an empty string in that case, so I had to add
2574 special-case handling for an empty vector.
2575 (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
2576 Copy the content of the given String into Vector.
2577 * websockets/ThreadableWebSocketChannelClientWrapper.h:
2579 2011-09-14 Matthew Delaney <mdelaney@apple.com>
2581 Use isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
2582 https://bugs.webkit.org/show_bug.cgi?id=68137
2584 Reviewed by Simon Fraser.
2586 No new tests. No change in behavior.
2588 * html/canvas/CanvasRenderingContext2D.cpp:
2589 (WebCore::CanvasRenderingContext2D::isAccelerated): Have all just query the context directly.
2590 (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere): just use isAccelerated directly
2591 * platform/graphics/ImageBuffer.h:
2592 * platform/graphics/cg/ImageBufferCG.cpp:
2593 (WebCore::ImageBuffer::ImageBuffer): Set isAcceleratedContext on the GraphicsContext instead of carrying the
2594 bit around on the ImageBuffer itself.
2595 (WebCore::ImageBuffer::copyNativeImage): Update the check. Same for all below...
2596 (WebCore::ImageBuffer::drawPattern):
2597 (WebCore::ImageBuffer::getUnmultipliedImageData):
2598 (WebCore::ImageBuffer::getPremultipliedImageData):
2599 (WebCore::ImageBuffer::putUnmultipliedImageData):
2600 (WebCore::ImageBuffer::putPremultipliedImageData):
2601 * platform/graphics/skia/ImageBufferSkia.cpp: Set isAcceleratedContext on the GraphicsContext instead of carrying the
2602 bit around on the ImageBuffer itself.
2603 (WebCore::ImageBuffer::ImageBuffer): Remove m_acceleratesRendering flag and getter.
2605 2011-09-14 Jeffrey Pfau <jeffrey@endrift.com>
2607 libxml2 fragment parser loses prefix namespaces
2608 https://bugs.webkit.org/show_bug.cgi?id=66423
2610 This makes the loop over the elements outside of the context actually update the element it's processing.
2612 Reviewed by Eric Seidel.
2614 Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
2616 * xml/parser/XMLDocumentParserLibxml2.cpp:
2617 (WebCore::XMLDocumentParser::XMLDocumentParser):
2619 2011-09-14 Nate Chapin <japhet@chromium.org>
2621 [V8] Null-check the v8::Context in
2622 V8DOMWindowShell:namedItemAdded() before using it.
2623 Also, add some logging to figure out how we're getting
2624 into this bad state.
2625 https://bugs.webkit.org/show_bug.cgi?id=68099
2627 Reviewed by Adam Barth.
2629 No new tests, no known repro.
2631 * bindings/v8/V8DOMWindowShell.cpp:
2632 (WebCore::V8DOMWindowShell::namedItemAdded):
2634 2011-09-14 Patrick Gansterer <paroga@webkit.org>
2636 Replace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditional attribute
2637 https://bugs.webkit.org/show_bug.cgi?id=64960
2639 Reviewed by Ryosuke Niwa.
2641 * xml/XMLHttpRequest.idl:
2643 2011-09-14 Alexei Svitkine <asvitkine@chromium.org>
2645 Chromium: Add a layer for rubber-band overhang painting to the hardware path.
2646 https://bugs.webkit.org/show_bug.cgi?id=66969
2648 Also, add layout tests for rubber-band overhang drawing for compositing path.
2650 Reviewed by James Robinson.
2652 * page/FrameView.cpp:
2653 (WebCore::FrameView::layerForOverhangAreas):
2655 * platform/ScrollView.cpp:
2656 (WebCore::ScrollView::scrollContents):
2657 (WebCore::ScrollView::wheelEvent):
2658 * platform/ScrollView.h:
2659 * platform/ScrollableArea.h:
2660 (WebCore::ScrollableArea::layerForOverhangAreas):
2661 * rendering/RenderLayerCompositor.cpp:
2662 (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2663 (WebCore::RenderLayerCompositor::paintContents):
2664 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2665 (WebCore::RenderLayerCompositor::destroyRootLayer):
2666 * rendering/RenderLayerCompositor.h:
2667 (WebCore::RenderLayerCompositor::layerForOverhangAreas):
2669 2011-09-14 Antoine Labour <piman@chromium.org>
2671 Remove the dependency on GraphicsLayer from CCLayerTreeHost.
2672 Move root layer management into the NonCompositedContentHost.
2673 Have WebViewImpl create a NonCompositedContentHost explicitly.
2674 https://bugs.webkit.org/show_bug.cgi?id=67883
2676 Reviewed by James Robinson.
2678 Covered by compositing/ layout tests.
2680 * platform/graphics/chromium/NonCompositedContentHost.cpp:
2681 (WebCore::NonCompositedContentHost::setRootLayer):
2682 (WebCore::NonCompositedContentHost::setViewport):
2683 (WebCore::NonCompositedContentHost::setVisible):
2684 (WebCore::NonCompositedContentHost::clearRenderSurfacesRecursive):
2685 (WebCore::NonCompositedContentHost::invalidateRect):
2686 * platform/graphics/chromium/NonCompositedContentHost.h:
2687 (WebCore::NonCompositedContentHost::topLevelRootLayer):
2688 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2689 (WebCore::CCLayerTreeHost::create):
2690 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2691 (WebCore::CCLayerTreeHost::initialize):
2692 (WebCore::CCLayerTreeHost::commitTo):
2693 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2694 (WebCore::CCLayerTreeHost::setViewport):
2695 (WebCore::CCLayerTreeHost::setVisible):
2696 (WebCore::CCLayerTreeHost::updateLayers):
2697 (WebCore::CCLayerTreeHost::paintLayerContents):
2698 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2699 (WebCore::CCLayerTreeHost::rootLayer):
2701 2011-09-14 Henrik Grunell <grunell@google.com>
2703 MediaStream API: Change PeerConnection constructor name to webkitPeerConnection
2704 https://bugs.webkit.org/show_bug.cgi?id=67843
2706 Reviewed by Tony Gentilcore.
2708 Tests for the MediaStream API will be provided by the bug 56587, pending enough landed code.
2710 * bindings/generic/RuntimeEnabledFeatures.h:
2711 (WebCore::RuntimeEnabledFeatures::webkitPeerConnectionEnabled):
2712 * page/DOMWindow.idl:
2714 2011-09-14 John Bauman <jbauman@chromium.org>
2716 Make sure to GC decoded images that are only used with WebGL
2717 https://bugs.webkit.org/show_bug.cgi?id=67899
2719 Reviewed by James Robinson.
2721 Tell CachedImage that the WebGL image was drawn so WebGL-only
2722 content will have decoded images collected.
2724 * platform/graphics/GraphicsContext3D.cpp:
2725 (WebCore::GraphicsContext3D::extractImageData):
2727 2011-09-14 Antoine Labour <piman@chromium.org>
2729 Added a pure virtual class CCLayerDelegate which helps to isolate
2730 the chromium compositor from the rest of WebCore, and aids unit
2731 testing by being easily mockable. The compositor layers no longer
2732 directly see instances of GraphicsLayerChromium, instead they use
2734 https://bugs.webkit.org/show_bug.cgi?id=67750
2736 Reviewed by James Robinson.
2738 No new tests: changes already covered by existing compositing layout
2741 * platform/graphics/chromium/CanvasLayerChromium.cpp:
2742 (WebCore::CanvasLayerChromium::CanvasLayerChromium):
2743 * platform/graphics/chromium/CanvasLayerChromium.h:
2744 * platform/graphics/chromium/ContentLayerChromium.cpp:
2745 (WebCore::ContentLayerPainter::create):
2746 (WebCore::ContentLayerPainter::paint):
2747 (WebCore::ContentLayerPainter::ContentLayerPainter):
2748 (WebCore::ContentLayerChromium::create):
2749 (WebCore::ContentLayerChromium::ContentLayerChromium):
2750 (WebCore::ContentLayerChromium::drawsContent):
2751 * platform/graphics/chromium/ContentLayerChromium.h:
2752 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2753 (WebCore::GraphicsLayerChromium::getDrawsContent):
2754 (WebCore::GraphicsLayerChromium::getPreserves3D):
2755 (WebCore::GraphicsLayerChromium::paintingGoesToWindow):
2756 (WebCore::GraphicsLayerChromium::doPaintGraphicsLayerContents):
2757 (WebCore::GraphicsLayerChromium::notifySyncRequired):
2758 * platform/graphics/chromium/GraphicsLayerChromium.h:
2759 * platform/graphics/chromium/ImageLayerChromium.cpp:
2760 (WebCore::ImageLayerChromium::create):
2761 (WebCore::ImageLayerChromium::ImageLayerChromium):
2762 * platform/graphics/chromium/ImageLayerChromium.h:
2763 * platform/graphics/chromium/LayerChromium.cpp:
2764 (WebCore::LayerChromium::create):
2765 (WebCore::LayerChromium::LayerChromium):
2766 * platform/graphics/chromium/LayerChromium.h:
2767 (WebCore::CCLayerDelegate::~CCLayerDelegate):
2768 (WebCore::LayerChromium::preserves3D):
2769 (WebCore::LayerChromium::setOwner):
2770 * platform/graphics/chromium/PluginLayerChromium.cpp:
2771 (WebCore::PluginLayerChromium::create):
2772 (WebCore::PluginLayerChromium::PluginLayerChromium):
2773 * platform/graphics/chromium/PluginLayerChromium.h:
2774 * platform/graphics/chromium/TiledLayerChromium.cpp:
2775 (WebCore::TiledLayerChromium::TiledLayerChromium):
2776 * platform/graphics/chromium/TiledLayerChromium.h:
2777 * platform/graphics/chromium/VideoLayerChromium.cpp:
2778 (WebCore::VideoLayerChromium::create):
2779 (WebCore::VideoLayerChromium::VideoLayerChromium):
2780 (WebCore::VideoLayerChromium::updateCompositorResources):
2781 * platform/graphics/chromium/VideoLayerChromium.h:
2782 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2783 (WebCore::WebGLLayerChromium::create):
2784 (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2785 * platform/graphics/chromium/WebGLLayerChromium.h:
2787 2011-09-14 Anders Carlsson <andersca@apple.com>
2789 Try to fix GTK+ build.
2791 * GNUmakefile.list.am:
2793 2011-09-14 James Robinson <jamesr@chromium.org>
2795 [chromium] LayerRendererChromium shouldn't be RefCounted
2796 https://bugs.webkit.org/show_bug.cgi?id=68121
2798 Reviewed by Kenneth Russell.
2800 LayerRendererChromium is owned exclusively by CCLayerTreeHostImpl, so there's no reason to have it be
2801 refcounted. Making it an OwnPtr<> makes the lifecycle for these objects much cleaner and reduces the chance of
2802 introducing accidental reference cycles. This also removes the LayerRendererChromium pointers from CCLayerImpls
2803 since it only needed at draw time.
2805 Covered by compositing/ tests.
2807 * platform/graphics/chromium/LayerRendererChromium.cpp:
2808 (WebCore::LayerRendererChromium::create):
2809 (WebCore::LayerRendererChromium::drawLayers):
2810 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2811 (WebCore::LayerRendererChromium::useRenderSurface):
2812 (WebCore::LayerRendererChromium::drawLayer):
2813 * platform/graphics/chromium/LayerRendererChromium.h:
2814 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2815 (WebCore::CCCanvasLayerImpl::draw):
2816 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2817 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2818 (WebCore::CCLayerImpl::CCLayerImpl):
2819 (WebCore::CCLayerImpl::draw):
2820 (WebCore::CCLayerImpl::bindContentsTexture):
2821 (WebCore::CCLayerImpl::drawDebugBorder):
2822 * platform/graphics/chromium/cc/CCLayerImpl.h:
2823 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2824 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2825 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2826 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2827 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2828 (WebCore::CCPluginLayerImpl::draw):
2829 * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2830 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2831 (WebCore::CCRenderSurface::cleanupResources):
2832 (WebCore::CCRenderSurface::prepareContentsTexture):
2833 (WebCore::CCRenderSurface::draw):
2834 (WebCore::CCRenderSurface::drawLayer):
2835 (WebCore::CCRenderSurface::drawSurface):
2836 * platform/graphics/chromium/cc/CCRenderSurface.h:
2837 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2838 (WebCore::CCTiledLayerImpl::bindContentsTexture):
2839 (WebCore::CCTiledLayerImpl::draw):
2840 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2841 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2842 (WebCore::CCVideoLayerImpl::draw):
2843 (WebCore::CCVideoLayerImpl::drawYUV):
2844 (WebCore::CCVideoLayerImpl::drawRGBA):
2845 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2847 2011-09-14 Anders Carlsson <andersca@apple.com>
2849 Get rid of WebCoreViewFactory and its WebViewFactory subclass
2850 https://bugs.webkit.org/show_bug.cgi?id=68124
2852 Reviewed by Sam Weinig.
2855 * WebCore.xcodeproj/project.pbxproj:
2856 * editing/mac/FrameSelectionMac.mm:
2857 * page/mac/FrameMac.mm:
2858 * page/mac/WebCoreViewFactory.h: Removed.
2859 * page/mac/WebCoreViewFactory.m: Removed.
2861 2011-09-14 David Hyatt <hyatt@apple.com>
2863 https://bugs.webkit.org/show_bug.cgi?id=52736
2865 Tiles were not being properly centered within border image sides for the "repeat"
2866 keyword. This patch fixes the buggy math behind the pattern tiling to actually get
2867 the initial phases correct.
2869 Reviewed by Sam Weinig.
2871 Added new tests in fast/borders and updated broken existing tests.
2873 * platform/graphics/Image.cpp:
2874 (WebCore::Image::drawTiled):
2876 2011-09-14 Anders Carlsson <andersca@apple.com>
2878 Remove DocTypeStrings.gperf
2879 https://bugs.webkit.org/show_bug.cgi?id=68119
2881 Reviewed by Sam Weinig.
2884 * CodeGenerators.pri:
2885 * DerivedSources.make:
2887 * WebCore.gyp/WebCore.gyp:
2888 * WebCore.vcproj/WebCore.vcproj:
2889 * WebCore.xcodeproj/project.pbxproj:
2890 * html/DocTypeStrings.gperf: Removed.
2891 * make-hash-tools.pl:
2892 * platform/HashTools.h:
2894 2011-09-14 Chris Rogers <crogers@google.com>
2896 Address lifetime issues in OfflineAudioDestinationNode (take 2)
2897 https://bugs.webkit.org/show_bug.cgi?id=68111
2899 Reviewed by Kenneth Russell.
2901 No new tests. This fixes existing layout tests.
2903 * webaudio/OfflineAudioDestinationNode.cpp:
2904 (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
2905 (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
2906 (WebCore::OfflineAudioDestinationNode::startRendering):
2907 (WebCore::OfflineAudioDestinationNode::render):
2909 2011-09-14 David Hyatt <hyatt@apple.com>
2911 https://bugs.webkit.org/show_bug.cgi?id=68103
2913 Centered portions of border images don't render correctly. Make the tile scale factor have to be
2914 explicitly passed in and modify paintNinePieceImage to compute it for all sides. The attempts to
2915 implicitly compute the scale for the pattern based off the source and destination rects just don't
2916 work, since the center image rects don't provide the right information to be able to infer the
2919 Reviewed by Sam Weinig.
2921 Reset all the existing fast/borders pixel results to Lion for these changes.
2923 * platform/graphics/GraphicsContext.cpp:
2924 (WebCore::GraphicsContext::drawTiledImage):
2925 * platform/graphics/GraphicsContext.h:
2926 * platform/graphics/Image.cpp:
2927 (WebCore::Image::drawTiled):
2928 * platform/graphics/Image.h:
2929 * rendering/RenderBoxModelObject.cpp:
2930 (WebCore::RenderBoxModelObject::paintNinePieceImage):
2932 2011-09-14 Anders Carlsson <andersca@apple.com>
2934 Get rid of ResourceHandle::bufferedData()
2935 https://bugs.webkit.org/show_bug.cgi?id=68112
2937 Reviewed by David Hyatt.
2939 ResourceHandle::bufferedData() was only implemented on Mac, and the support in the underlying
2940 NSURLConnection class hasn't been there for several OS releases.
2942 * loader/ResourceLoader.cpp:
2943 (WebCore::ResourceLoader::resourceData):
2944 (WebCore::ResourceLoader::addData):
2945 * platform/network/ResourceHandle.h:
2946 * platform/network/cf/ResourceHandleCFNet.cpp:
2947 * platform/network/curl/ResourceHandleCurl.cpp:
2948 * platform/network/mac/ResourceHandleMac.mm:
2949 * platform/network/qt/ResourceHandleQt.cpp:
2950 * platform/network/soup/ResourceHandleSoup.cpp:
2951 * platform/network/win/ResourceHandleWin.cpp:
2953 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
2955 REGRESSION: r95108 broke Qt Linux tests
2956 https://bugs.webkit.org/show_bug.cgi?id=68104
2958 Reviewed by Csaba Osztrogonác.
2962 Build fix for Qt tests broken in r95108.
2964 * bridge/qt/qt_runtime.cpp:
2965 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2966 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2967 (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
2968 * bridge/qt/qt_runtime.h:
2970 2011-09-14 James Robinson <jamesr@chromium.org>
2972 [skia] fast/canvas/setWidthResetAfterForcedRender is flaky
2973 https://bugs.webkit.org/show_bug.cgi?id=67955
2975 Reviewed by Stephen White.
2977 When destroying an ImageBuffer due to a canvas resize, we weren't clearing the texture ID on the layer,
2978 resulting in future compositor draw calls binding an invalid texture. This results in the test failing and
2979 possibly drawing from a bad texture.
2981 Covered by fast/canvas/setWidthResetAfterForcedRender.html in the GPU configuration.
2983 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2984 (WebCore::Canvas2DLayerChromium::drawsContent)
2985 * platform/graphics/skia/ImageBufferSkia.cpp:
2986 (WebCore::ImageBuffer::~ImageBuffer):
2988 2011-09-14 Eric Seidel <eric@webkit.org>
2990 Remove ENABLE_SVG_USE as <use> is required by HTML5
2991 https://bugs.webkit.org/show_bug.cgi?id=68019
2993 Reviewed by Ryosuke Niwa.
2995 I missed a couple uses of SVG_USE in my previous patch.
2997 * dom/DOMImplementation.cpp:
2998 (WebCore::isSVG10Feature):
2999 (WebCore::isSVG11Feature):
3000 * svg/SVGUseElement.cpp:
3001 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3002 * svg/SVGUseElement.h:
3004 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
3006 Unzip initialization lists and constructors in JSCell hierarchy (6/7)
3007 https://bugs.webkit.org/show_bug.cgi?id=67692
3009 Reviewed by Geoffrey Garen.
3013 Completed the sixth level of the refactoring to add finishCreation()
3014 methods to all classes within the JSCell hierarchy with non-trivial
3017 This primarily consists of pushing the calls to finishCreation() down
3018 into the constructors of the subclasses of the fifth level of the hierarchy
3019 as well as pulling the finishCreation() calls out into the class's corresponding
3020 create() method if it has one. Doing both simultaneously allows us to
3021 maintain the invariant that the finishCreation() method chain is called exactly
3022 once during the creation of an object, since calling it any other number of
3023 times (0, 2, or more) will cause an assertion failure.
3026 * bindings/js/JSDOMBinding.h:
3027 (WebCore::DOMConstructorObject::DOMConstructorObject):
3028 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
3029 (WebCore::DOMConstructorWithDocument::finishCreation):
3030 * bindings/js/JSDOMGlobalObject.cpp:
3031 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3032 * bindings/js/JSDOMGlobalObject.h:
3033 * bindings/js/JSDOMWindowBase.cpp:
3034 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3035 (WebCore::JSDOMWindowBase::finishCreation):
3036 * bindings/js/JSDOMWindowBase.h:
3037 * bindings/js/JSWorkerContextBase.cpp:
3038 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
3039 (WebCore::JSWorkerContextBase::finishCreation):
3040 * bindings/js/JSWorkerContextBase.h:
3041 * bindings/scripts/CodeGeneratorJS.pm:
3043 Added a finishCreation declaration and Moved the finishCreation call into the
3044 create method for all classes except for subclasses of JSWorkerContextBase and
3045 JSDOMWindowBase because those classes are on the next level, and it's easier
3046 to do all of these classes in one fell swoop rather than level by level.
3048 Added the implementation of the finishCreation method for the classes described above.
3049 (GenerateImplementation):
3050 Also added the finishCreation calls to the autogenerated DOM constructor classes.
3051 (GenerateConstructorDeclaration):
3052 (GenerateConstructorDefinition):
3054 * bindings/scripts/test/JS/JSTestInterface.cpp:
3055 (WebCore::JSTestInterfaceConstructor::create):
3056 (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
3057 (WebCore::JSTestInterfaceConstructor::finishCreation):
3058 (WebCore::JSTestInterface::JSTestInterface):
3059 (WebCore::JSTestInterface::finishCreation):
3060 * bindings/scripts/test/JS/JSTestInterface.h:
3061 (WebCore::JSTestInterface::create):
3062 (WebCore::JSTestInterfacePrototype::create):
3063 (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
3064 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3065 (WebCore::JSTestMediaQueryListListenerConstructor::create):
3066 (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
3067 (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
3068 (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3069 (WebCore::JSTestMediaQueryListListener::finishCreation):
3070 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3071 (WebCore::JSTestMediaQueryListListener::create):
3072 (WebCore::JSTestMediaQueryListListenerPrototype::create):
3073 (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
3074 * bindings/scripts/test/JS/JSTestObj.cpp:
3075 (WebCore::JSTestObjConstructor::create):
3076 (WebCore::JSTestObjConstructor::JSTestObjConstructor):
3077 (WebCore::JSTestObjConstructor::finishCreation):
3078 (WebCore::JSTestObj::JSTestObj):
3079 (WebCore::JSTestObj::finishCreation):
3080 * bindings/scripts/test/JS/JSTestObj.h:
3081 (WebCore::JSTestObj::create):
3082 (WebCore::JSTestObjPrototype::create):
3083 (WebCore::JSTestObjPrototype::JSTestObjPrototype):
3084 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3085 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
3086 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
3087 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3088 (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3089 (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
3090 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3091 (WebCore::JSTestSerializedScriptValueInterface::create):
3092 (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
3093 (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
3094 * bridge/c/CRuntimeObject.cpp:
3095 (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3096 * bridge/c/CRuntimeObject.h:
3097 (JSC::Bindings::CRuntimeObject::create):
3098 * bridge/c/c_instance.cpp:
3099 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3100 (JSC::Bindings::CRuntimeMethod::finishCreation):
3101 * bridge/jni/jsc/JavaInstanceJSC.cpp:
3102 (JavaRuntimeMethod::JavaRuntimeMethod):
3103 (JavaRuntimeMethod::finishCreation):
3104 * bridge/jni/jsc/JavaRuntimeObject.cpp:
3105 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3106 * bridge/jni/jsc/JavaRuntimeObject.h:
3107 (JSC::Bindings::JavaRuntimeObject::create):
3108 * bridge/objc/ObjCRuntimeObject.h:
3109 (JSC::Bindings::ObjCRuntimeObject::create):
3110 * bridge/objc/ObjCRuntimeObject.mm:
3111 (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3112 * bridge/objc/objc_instance.mm:
3113 (ObjCRuntimeMethod::ObjCRuntimeMethod):
3114 (ObjCRuntimeMethod::finishCreation):
3115 * bridge/qt/qt_instance.cpp:
3116 (JSC::Bindings::QtRuntimeObject::create):
3117 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3118 * bridge/qt/qt_pixmapruntime.cpp:
3119 (JSC::Bindings::QtPixmapRuntimeObject::create):
3120 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3121 * bridge/qt/qt_runtime.cpp:
3122 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3123 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3124 (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
3125 (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3126 (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
3127 * bridge/qt/qt_runtime.h:
3128 (JSC::Bindings::QtRuntimeMetaMethod::create):
3129 * bridge/runtime_method.cpp:
3130 (JSC::RuntimeMethod::RuntimeMethod):
3131 * bridge/runtime_method.h:
3132 (JSC::RuntimeMethod::create):
3134 2011-09-13 Eric Seidel <eric@webkit.org>
3136 Remove ENABLE_SVG_USE as <use> is required by HTML5
3137 https://bugs.webkit.org/show_bug.cgi?id=68019
3139 Reviewed by Ryosuke Niwa.
3141 * Configurations/FeatureDefines.xcconfig:
3142 * DerivedSources.make:
3146 2011-09-14 Eric Carlson <eric.carlson@apple.com>
3148 MediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
3149 https://bugs.webkit.org/show_bug.cgi?id=68056
3151 MediaPlayerPrivateAVFoundationObjC creates a "periodic time observer" not because it wants
3152 periodic callbacks, but because a time observer also fires whenever a seek completes. This is
3153 no longer necessary because it now uses but AVPlayerItem's
3154 -seekToTime:toleranceBefore:toleranceAfter:completionHandler to seek, so seek completions are
3157 Reviewed by Darin Adler.
3159 No new tests, code removed is tested by existing tests.
3161 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3162 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
3164 2011-09-14 Beth Dakin <bdakin@apple.com>
3166 https://bugs.webkit.org/show_bug.cgi?id=68054
3167 Return an image scale factor as well as an Image* from CachedImage::brokenImage()
3169 Reviewed by Darin Adler.
3171 CachedImage::brokenImage() now returns a pair<Image*, float> where the float
3172 represents the image's scale factor. This is important because currently, the
3173 broken image will either be only 1x or 2x, but a deviceScaleFactor could
3174 theoretically be something different (1.5, 3, etc). So it is not safe to assume
3175 that the image's scale factor is equivalent to the deviceScaleFactor, and
3176 hardcoding 2 for now is lame.
3177 * loader/cache/CachedImage.cpp:
3178 (WebCore::CachedImage::brokenImage):
3179 (WebCore::CachedImage::image):
3180 * loader/cache/CachedImage.h:
3181 * rendering/RenderImage.cpp:
3182 (WebCore::RenderImage::imageSizeForError):
3183 (WebCore::RenderImage::paintReplaced):
3185 2011-09-14 James Robinson <jamesr@chromium.org>
3187 [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
3188 https://bugs.webkit.org/show_bug.cgi?id=67440
3190 Reviewed by Kenneth Russell.
3192 This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
3193 to make sure that textures are deleted even if the page is not visible. This move also removed the need for
3194 LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well. That meant moving the
3195 layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
3197 Covered by existing compositing/ tests and
3198 platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
3200 * platform/graphics/chromium/LayerRendererChromium.cpp:
3201 (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
3202 (WebCore::LayerRendererChromium::drawLayers):
3203 (WebCore::LayerRendererChromium::initializeSharedObjects):
3204 (WebCore::LayerRendererChromium::cleanupSharedObjects):
3205 * platform/graphics/chromium/LayerRendererChromium.h:
3206 (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
3207 * platform/graphics/chromium/TextureManager.cpp:
3208 (WebCore::TextureManager::highLimitBytes):
3209 (WebCore::TextureManager::reclaimLimitBytes):
3210 (WebCore::TextureManager::lowLimitBytes):
3211 * platform/graphics/chromium/TextureManager.h:
3212 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3213 (WebCore::CCLayerTreeHost::initialize):
3214 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
3215 (WebCore::CCLayerTreeHost::deleteContentsTextures):
3216 (WebCore::CCLayerTreeHost::commitTo):
3217 (WebCore::CCLayerTreeHost::setVisible):
3218 (WebCore::CCLayerTreeHost::contentsTextureManager):
3219 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3220 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3221 (WebCore::CCLayerTreeHostImpl::setVisible):
3222 * platform/graphics/chromium/cc/CCProxy.h:
3223 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3224 (WebCore::CCSingleThreadProxy::setNeedsCommit):
3225 (WebCore::CCSingleThreadProxy::stop):
3226 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3227 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3228 (WebCore::CCThreadProxy::setNeedsCommit):
3229 (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
3230 (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
3231 * platform/graphics/chromium/cc/CCThreadProxy.h:
3233 2011-09-14 David Hyatt <hyatt@apple.com>
3235 https://bugs.webkit.org/show_bug.cgi?id=68040
3237 Make sure border image sub-properties can be specified in any order.
3239 Reviewed by Beth Dakin.
3241 New tests in fast/borders.
3243 * css/CSSParser.cpp:
3244 (WebCore::BorderImageParseContext::BorderImageParseContext):
3245 (WebCore::BorderImageParseContext::canAdvance):
3246 (WebCore::BorderImageParseContext::setCanAdvance):
3247 (WebCore::BorderImageParseContext::allowCommit):
3248 (WebCore::BorderImageParseContext::allowImage):
3249 (WebCore::BorderImageParseContext::allowImageSlice):
3250 (WebCore::BorderImageParseContext::allowSlash):
3251 (WebCore::BorderImageParseContext::requireWidth):
3252 (WebCore::BorderImageParseContext::requireOutset):
3253 (WebCore::BorderImageParseContext::commitImage):
3254 (WebCore::BorderImageParseContext::commitImageSlice):
3255 (WebCore::BorderImageParseContext::commitSlash):
3256 (WebCore::BorderImageParseContext::commitBorderWidth):
3257 (WebCore::BorderImageParseContext::commitBorderOutset):
3258 (WebCore::BorderImageParseContext::commitRepeat):
3259 (WebCore::CSSParser::parseBorderImage):
3260 (WebCore::CSSParser::parseBorderImageRepeat):
3261 (WebCore::CSSParser::parseBorderImageSlice):
3262 (WebCore::CSSParser::parseBorderImageQuad):
3263 * css/CSSParserValues.h:
3264 (WebCore::CSSParserValueList::previous):
3266 2011-09-14 Mike Reed <reed@google.com>
3268 query SystemParametersInfo for GDI font smoothing settings
3269 https://bugs.webkit.org/show_bug.cgi?id=68080
3271 Reviewed by Stephen White.
3273 No new tests. fixes antialiasing issues based on User settings
3275 * platform/graphics/skia/SkiaFontWin.cpp:
3276 (WebCore::getDefaultGDITextFlags):
3277 (WebCore::setupPaintForFont):
3279 2011-09-13 David Hyatt <hyatt@apple.com>
3281 https://bugs.webkit.org/show_bug.cgi?id=68050
3283 Regressions in some layout tests from making border/mask/reflection nine-piece-image
3284 parsing match the spec, which allows any of the pieces to be omitted and to also be
3285 specifiable in any order.
3287 When the higher level code suddenly allowed the image slices to be omitted, the fixup
3288 for legacy compatibility for reflections and masks in the parseBorderImageSlice function
3289 no longer happened because that function no longer got called.
3291 The fix is to properly set the defaults to include the "fill" keyword, so the fixup is
3292 applied to the NinePieceImages you create before you ever map anything in from the rules.
3294 This also has the side effect of fixing -webkit-max-box-image-slice to actually dump as
3295 "0 fill" instead of just "0", which is the correct initial value for this property.
3297 Reviewed by Adam Roben.
3299 * css/CSSParser.cpp:
3300 (WebCore::CSSParser::parseBorderImageSlice):
3301 * css/CSSStyleSelector.cpp:
3302 (WebCore::CSSStyleSelector::applyProperty):
3303 * rendering/style/StyleRareNonInheritedData.cpp:
3304 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3305 * rendering/style/StyleReflection.h:
3306 (WebCore::StyleReflection::StyleReflection):
3308 2011-09-13 Pavel Feldman <pfeldman@google.com>
3310 Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
3311 https://bugs.webkit.org/show_bug.cgi?id=67997
3313 We should not instrument frameDestroyed event from within Frame's destructor
3314 since frame's m_page pointer is likely to be 0 by that time and appropriate
3315 instrumenting agent won't be found. As a result, stale frame with its id
3316 end up in the inspector.
3318 This change wipes out frame binding from the inspector upon detach rather
3321 Reviewed by Tony Gentilcore.
3323 * inspector/InspectorInstrumentation.cpp:
3324 (WebCore::InspectorInstrumentation::frameDetachedImpl):
3325 * inspector/InspectorInstrumentation.h:
3326 * inspector/InspectorPageAgent.cpp:
3327 (WebCore::InspectorPageAgent::frameDetached):
3328 * inspector/InspectorPageAgent.h:
3329 * loader/FrameLoader.cpp:
3330 (WebCore::FrameLoader::detachFromParent):
3332 (WebCore::Frame::~Frame):
3333 (WebCore::Frame::detachFromPage):
3336 2011-09-14 Pavel Feldman <pfeldman@google.com>
3338 Not reviewed: rolling out r95089.
3340 * inspector/InspectorInstrumentation.cpp:
3341 (WebCore::InspectorInstrumentation::frameDestroyedImpl):
3342 (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3343 * inspector/InspectorInstrumentation.h:
3344 (WebCore::InspectorInstrumentation::frameWindowDiscarded):
3345 (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3346 (WebCore::InspectorInstrumentation::loadEventFired):
3347 (WebCore::InspectorInstrumentation::didCommitLoad):
3348 (WebCore::InspectorInstrumentation::frameDestroyed):
3349 * inspector/InspectorPageAgent.cpp:
3350 (WebCore::InspectorPageAgent::frameDetached):
3351 (WebCore::InspectorPageAgent::frameDestroyed):
3352 * inspector/InspectorPageAgent.h:
3354 (WebCore::Frame::~Frame):
3356 2011-09-14 Ilya Tikhonovsky <loislo@chromium.org>
3358 Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
3359 https://bugs.webkit.org/show_bug.cgi?id=67986
3361 Reviewed by Pavel Feldman.
3363 Test: inspector/timeline/timeline-animation-frame.html
3365 * English.lproj/localizedStrings.js:
3366 * bindings/v8/V8Proxy.cpp:
3367 (WebCore::V8Proxy::callFunction):
3368 (WebCore::V8Proxy::callFunctionWithoutFrame):
3369 (WebCore::V8Proxy::instrumentedCallFunction):
3370 * bindings/v8/V8Proxy.h:
3371 * bindings/v8/custom/V8CustomVoidCallback.cpp:
3372 (WebCore::invokeCallback):
3373 * dom/ScriptedAnimationController.cpp:
3374 (WebCore::ScriptedAnimationController::registerCallback):
3375 (WebCore::ScriptedAnimationController::cancelCallback):
3376 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
3377 * inspector/InspectorInstrumentation.cpp:
3378 (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
3379 (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
3380 (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
3381 (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
3382 * inspector/InspectorInstrumentation.h:
3383 (WebCore::InspectorInstrumentation::willCallFunction):
3384 (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
3385 (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
3386 (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
3387 (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
3388 * inspector/InspectorTimelineAgent.cpp:
3389 (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
3390 (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
3391 (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
3392 (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
3393 * inspector/InspectorTimelineAgent.h:
3394 * inspector/TimelineRecordFactory.cpp:
3395 (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
3396 * inspector/TimelineRecordFactory.h:
3397 * inspector/front-end/TimelineAgent.js:
3398 * inspector/front-end/TimelinePanel.js:
3399 (WebInspector.TimelinePanel):
3400 (WebInspector.TimelinePanel.prototype.get _recordStyles):
3401 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3402 (WebInspector.TimelinePanel.prototype._clearPanel):
3403 (WebInspector.TimelinePanel.FormattedRecord):
3404 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3405 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3407 2011-09-13 Pavel Feldman <pfeldman@google.com>
3409 Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
3410 https://bugs.webkit.org/show_bug.cgi?id=67997
3412 We should not instrument frameDestroyed event from within Frame's destructor
3413 since frame's m_page pointer is likely to be 0 by that time and appropriate
3414 instrumenting agent won't be found. As a result, stale frame with its id
3415 end up in the inspector.
3417 This change wipes out frame binding from the inspector upon detach rather
3418 than destroy + adds an assertion into the inspector agents lookup with 0 page.
3420 Reviewed by Tony Gentilcore.
3422 * inspector/InspectorInstrumentation.cpp:
3423 (WebCore::InspectorInstrumentation::frameDetachedImpl):
3424 (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3425 * inspector/InspectorInstrumentation.h:
3426 (WebCore::InspectorInstrumentation::frameWindowDiscarded):
3427 (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3428 (WebCore::InspectorInstrumentation::loadEventFired):
3429 (WebCore::InspectorInstrumentation::frameDetached):
3430 (WebCore::InspectorInstrumentation::didCommitLoad):
3431 * inspector/InspectorPageAgent.cpp:
3432 (WebCore::InspectorPageAgent::frameDetached):
3433 * inspector/InspectorPageAgent.h:
3434 * loader/FrameLoader.cpp:
3435 (WebCore::FrameLoader::detachFromParent):
3437 (WebCore::Frame::~Frame):
3438 (WebCore::Frame::detachFromPage):
3439 (WebCore::Frame::transferChildFrameToNewDocument):
3442 2011-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
3444 Unreviewed, rolling out r95080.
3445 http://trac.webkit.org/changeset/95080
3446 https://bugs.webkit.org/show_bug.cgi?id=68070
3448 It caused some 2d.composite.uncovered tests fail (Requested by
3451 * html/canvas/CanvasRenderingContext2D.cpp:
3452 (WebCore::CanvasRenderingContext2D::clearCanvas):
3453 (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
3455 2011-09-13 Pavel Feldman <pfeldman@google.com>
3457 Web Inspector: [v8] building call frame info for location-less internal script function crashes.
3458 https://bugs.webkit.org/show_bug.cgi?id=67991
3460 Reviewed by Yury Semikhatsky.
3462 Test: inspector/debugger/debugger-pause-in-internal.html
3464 * bindings/v8/DebuggerScript.js:
3466 * bindings/v8/ScriptDebugServer.cpp:
3467 (WebCore::ScriptDebugServer::currentCallFrame):
3469 2011-09-14 Ben Wells <benwells@chromium.org>
3471 Large canvas fills should not crash or create unnecessarily large image buffers
3472 https://bugs.webkit.org/show_bug.cgi?id=67988
3474 When using source-in, destination-in, source-out, or destination-atop a temporary
3475 buffer is created. This buffer only needs to be big enough to cover the intersection
3476 of the path and the canvas.
3478 This change also adds some null checks for failures to create contexts or buffers.
3480 Reviewed by Stephen White.
3482 Test: fast/canvas/canvas-large-fills.html
3484 * html/canvas/CanvasRenderingContext2D.cpp:
3485 (WebCore::CanvasRenderingContext2D::clearCanvas):
3486 (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
3488 2011-09-14 Kentaro Hara <haraken@google.com>
3490 Implement a PageTransitionEvent constructor for JSC
3491 https://bugs.webkit.org/show_bug.cgi?id=68048
3493 Reviewed by Sam Weinig.
3495 The spec for the PageTransitionEvent constructor is here:
3496 http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent
3498 Test: fast/events/constructors/page-transition-event-constructor.html
3500 * bindings/generic/EventConstructors.h: Added a definition for the PageTransitionEvent constructor.
3501 * bindings/js/JSEventConstructors.cpp: Added #includes for PageTransitionEvent.
3502 * dom/PageTransitionEvent.cpp:
3503 (WebCore::PageTransitionEventInit::PageTransitionEventInit):
3504 (WebCore::PageTransitionEvent::PageTransitionEvent):
3505 (WebCore::PageTransitionEvent::initPageTransitionEvent):
3506 * dom/PageTransitionEvent.h: Added a definition for PageTransitionEventInit.
3507 (WebCore::PageTransitionEvent::create):
3508 (WebCore::PageTransitionEvent::isPageTransitionEvent):
3509 (WebCore::PageTransitionEvent::persisted):
3510 * dom/PageTransitionEvent.idl: Makes PageTransitionEvent constructible.
3512 2011-09-13 Sheriff Bot <webkit.review.bot@gmail.com>
3514 Unreviewed, rolling out r95058.
3515 http://trac.webkit.org/changeset/95058
3516 https://bugs.webkit.org/show_bug.cgi?id=68058
3518 It made css3/calc/regression-62276.html crash (Requested by
3521 * css/CSSParser.cpp:
3522 (WebCore::BorderImageParseContext::BorderImageParseContext):
3523 (WebCore::BorderImageParseContext::allowBreak):
3524 (WebCore::BorderImageParseContext::allowWidth):
3525 (WebCore::BorderImageParseContext::allowOutset):
3526 (WebCore::BorderImageParseContext::allowRepeat):
3527 (WebCore::BorderImageParseContext::commitImage):
3528 (WebCore::BorderImageParseContext::commitImageSlice):
3529 (WebCore::BorderImageParseContext::commitSlash):
3530 (WebCore::BorderImageParseContext::commitBorderWidth):
3531 (WebCore::BorderImageParseContext::commitBorderOutset):
3532 (WebCore::BorderImageParseContext::commitRepeat):
3533 (WebCore::CSSParser::parseBorderImage):
3534 (WebCore::CSSParser::parseBorderImageRepeat):
3535 (WebCore::CSSParser::parseBorderImageSlice):
3536 (WebCore::CSSParser::parseBorderImageQuad):
3537 * css/CSSParserValues.h:
3539 2011-09-13 Abhishek Arya <inferno@chromium.org>
3541 Crash in RenderScrollbarPart::imageChanged.
3542 https://bugs.webkit.org/show_bug.cgi?id=68009
3544 Reviewed by Simon Fraser.
3546 When a custom scrollbar is removed from its FrameView, its destruction
3547 can be delayed because of RefPtr maintained in EventHandler class
3548 (m_lastScrollbarUnderMouse). Upon removal, we delete all the scrollbar
3549 parts so that they don't link back to scrollbar. However, because of the