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