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