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