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