Characters beyond U+10000 should be deleted by one pressing delete key.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
2
3         Characters beyond U+10000 should be deleted by one pressing delete key.
4         https://bugs.webkit.org/show_bug.cgi?id=40351
5
6         Reviewed by Kent Tamura.
7
8         If a character is the trail part of unicode surrogate pair, the lead part of it
9         should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.
10
11         Test: editing/deleting/delete-surrogatepair.html
12
13         * rendering/RenderText.cpp:
14         (WebCore::RenderText::previousOffsetForBackwardDeletion):
15           Added if-macro to support chromium on mac, and added trail part check for unicode character.
16
17 2011-09-11  Kentaro Hara  <haraken@google.com>
18
19         Implement a ProgressEvent constructor for V8
20         https://bugs.webkit.org/show_bug.cgi?id=67800
21
22         Reviewed by Sam Weinig.
23
24         Test: fast/events/constructors/progress-event-constructor.html
25
26         * bindings/js/JSDictionary.cpp:
27         (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().
28         * bindings/v8/OptionsObject.cpp:
29         (WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
30         * bindings/v8/OptionsObject.h:
31         * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
32         * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.
33
34 2011-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
35
36         REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
37         https://bugs.webkit.org/show_bug.cgi?id=67581
38
39         Reviewed by Darin Adler.
40
41         Test: perf/show-hide-table-rows.html
42
43         * dom/NodeRenderingContext.cpp:
44         (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed
45             to createRenderer.
46         (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.
47
48 2011-09-11  Jeremy Moskovich  <jeremy@chromium.org>
49
50         [Chromium] Change OOP Font loading code to use CGFont*() APIs.
51         https://bugs.webkit.org/show_bug.cgi?id=66935
52
53         This change is necessary due a bug in ATSFontDeactivate() on 10.7.
54         See crbug.com/93191 for details.
55
56         Reviewed by Eric Seidel.
57
58         No new tests - covered by existing tests.
59
60         * platform/chromium/PlatformBridge.h:
61         * platform/graphics/chromium/CrossProcessFontLoading.h:
62         * platform/graphics/chromium/CrossProcessFontLoading.mm:
63         (WebCore::MemoryActivatedFont::create):
64         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
65         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
66
67 2011-09-09  Oliver Hunt  <oliver@apple.com>
68
69         Remove support for anonymous storage from jsobjects
70         https://bugs.webkit.org/show_bug.cgi?id=67881
71
72         Reviewed by Sam Weinig.
73
74         Remove all use of anonymous slots, this required modifying
75         bindings generation to add member variables for cached attributes,
76         and override visitChildren with the necessary logic to mark those
77         new members.
78
79         I added bindings generation tests for these values.
80
81         * bindings/js/JSAudioConstructor.h:
82         (WebCore::JSAudioConstructor::createStructure):
83         * bindings/js/JSDOMBinding.h:
84         (WebCore::DOMConstructorObject::createStructure):
85         * bindings/js/JSDOMGlobalObject.h:
86         (WebCore::JSDOMGlobalObject::createStructure):
87         * bindings/js/JSDOMWindowBase.h:
88         (WebCore::JSDOMWindowBase::createStructure):
89         * bindings/js/JSDOMWindowShell.h:
90         (WebCore::JSDOMWindowShell::createStructure):
91         * bindings/js/JSDOMWrapper.h:
92         (WebCore::JSDOMWrapper::createStructure):
93         * bindings/js/JSImageConstructor.h:
94         (WebCore::JSImageConstructor::createStructure):
95         * bindings/js/JSMessageEventCustom.cpp:
96         (WebCore::JSMessageEvent::data):
97         (WebCore::JSMessageEvent::initMessageEvent):
98         * bindings/js/JSOptionConstructor.h:
99         (WebCore::JSOptionConstructor::createStructure):
100         * bindings/js/JSWorkerContextBase.h:
101         (WebCore::JSWorkerContextBase::createStructure):
102         * bindings/scripts/CodeGeneratorJS.pm:
103         (GenerateHeader):
104         (GenerateImplementation):
105         (GenerateConstructorDeclaration):
106         * bindings/scripts/test/JS/JSTestInterface.cpp:
107         (WebCore::JSTestInterfaceConstructor::createStructure):
108         * bindings/scripts/test/JS/JSTestInterface.h:
109         (WebCore::JSTestInterface::createStructure):
110         (WebCore::JSTestInterfacePrototype::createStructure):
111         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
112         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
113         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
114         (WebCore::JSTestMediaQueryListListener::createStructure):
115         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
116         * bindings/scripts/test/JS/JSTestObj.cpp:
117         (WebCore::JSTestObjConstructor::createStructure):
118         (WebCore::jsTestObjCachedAttribute1):
119         (WebCore::jsTestObjCachedAttribute2):
120         (WebCore::JSTestObj::visitChildren):
121         * bindings/scripts/test/JS/JSTestObj.h:
122         (WebCore::JSTestObj::createStructure):
123         (WebCore::JSTestObjPrototype::createStructure):
124         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
125         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
126         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
127         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
128         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
129         * bindings/scripts/test/TestObj.idl:
130         * bindings/scripts/test/V8/V8TestObj.cpp:
131         (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
132         (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
133         * bridge/c/CRuntimeObject.h:
134         (JSC::Bindings::CRuntimeObject::createStructure):
135         * bridge/c/c_instance.cpp:
136         (JSC::Bindings::CRuntimeMethod::createStructure):
137         * bridge/jni/jsc/JavaInstanceJSC.cpp:
138         (JavaRuntimeMethod::createStructure):
139         * bridge/jni/jsc/JavaRuntimeObject.h:
140         (JSC::Bindings::JavaRuntimeObject::createStructure):
141         * bridge/objc/ObjCRuntimeObject.h:
142         (JSC::Bindings::ObjCRuntimeObject::createStructure):
143         * bridge/objc/objc_instance.mm:
144         (ObjCRuntimeMethod::createStructure):
145         * bridge/objc/objc_runtime.h:
146         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
147         * bridge/runtime_array.h:
148         (JSC::RuntimeArray::createStructure):
149         * bridge/runtime_method.h:
150         (JSC::RuntimeMethod::createStructure):
151         * bridge/runtime_object.h:
152         (JSC::Bindings::RuntimeObject::createStructure):
153
154 2011-09-01  Filip Pizlo  <fpizlo@apple.com>
155
156         The executable allocator makes it difficult to free individual
157         chunks of executable memory
158         https://bugs.webkit.org/show_bug.cgi?id=66363
159
160         Reviewed by Oliver Hunt.
161         
162         Introduced a best-fit, balanced-tree based allocator. The allocator
163         required a balanced tree that does not allocate memory and that
164         permits the removal of individual nodes directly (as opposed to by
165         key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
166         Changed all references to executable code to use a reference counted
167         handle.
168
169         No new layout tests because behavior is not changed.  New API unit
170         tests:
171         Tests/WTF/RedBlackTree.cpp
172         Tests/WTF/MetaAllocator.cpp
173
174         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
175
176 2011-09-10  Sam Weinig  <sam@webkit.org>
177
178         Add isInterruptedExecutionException and isTerminatedExecutionException predicates
179         https://bugs.webkit.org/show_bug.cgi?id=67892
180
181         Reviewed by Andy "First Time Reviewer" Estes.
182
183         * bindings/js/JSDOMBinding.cpp:
184         (WebCore::reportException):
185         * bindings/js/JSEventListener.cpp:
186         (WebCore::JSEventListener::handleEvent):
187         * bindings/js/WorkerScriptController.cpp:
188         (WebCore::WorkerScriptController::evaluate):
189         Use the new predicates instead of probing the ClassInfo directly.
190
191 2011-09-10  Kevin Ollivier  <kevino@theolliviers.com>
192
193         [wx] Unreviewed build fix. MSW build fixes.
194
195         * config.h:
196
197 2011-09-09  David Hyatt  <hyatt@apple.com>
198
199         https://bugs.webkit.org/show_bug.cgi?id=67861
200         
201         Implement border-image-outset (and the mask equivalents).
202
203         Reviewed by Beth Dakin.
204
205         Added new tests in fast/borders and fast/reflections.
206
207         * css/CSSBorderImageValue.cpp:
208         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
209         (WebCore::CSSBorderImageValue::cssText):
210         * css/CSSBorderImageValue.h:
211         (WebCore::CSSBorderImageValue::create):
212         Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
213         part of cssText().
214
215         * css/CSSComputedStyleDeclaration.cpp:
216         (WebCore::valueForNinePieceImageQuad):
217         (WebCore::valueForNinePieceImage):
218         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
219         Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
220         the code so that border-image-width and border-image-outset use a common
221         function.
222
223         * css/CSSParser.cpp:
224         (WebCore::CSSParser::parseValue):
225         (WebCore::BorderImageParseContext::BorderImageParseContext):
226         (WebCore::BorderImageParseContext::allowOutset):
227         (WebCore::BorderImageParseContext::commitSlash):
228         (WebCore::BorderImageParseContext::commitBorderWidth):
229         (WebCore::BorderImageParseContext::commitBorderOutset):
230         (WebCore::BorderImageParseContext::commitRepeat):
231         (WebCore::BorderImageParseContext::commitBorderImage):
232         (WebCore::CSSParser::parseBorderImage):
233         Teach the border image parsing code about outsets. This code will soon be
234         replaced by true shorthand parsing code, but for now keep it working and add
235         outset support to it.
236
237         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
238         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
239         (WebCore::CSSParser::parseBorderImageQuad):
240         (WebCore::CSSParser::parseBorderImageWidth):
241         (WebCore::CSSParser::parseBorderImageOutset):
242         * css/CSSParser.h:
243         Refactor the border-image-width code so that it can be shared by border-image-outset, since
244         they are extremely similar.
245
246         * css/CSSPropertyNames.in:
247         Add the new properties.
248
249         * css/CSSStyleSelector.cpp:
250         (WebCore::CSSStyleSelector::applyProperty):
251         (WebCore::CSSStyleSelector::mapNinePieceImage):
252         (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
253         (WebCore::CSSStyleSelector::loadPendingImages):
254         * css/CSSStyleSelector.h:
255         Refactor the code so that width/outset share common mapping functions. Add support for outset.
256
257         * rendering/InlineFlowBox.cpp:
258         (WebCore::InlineFlowBox::addToLine):
259         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
260         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
261         (WebCore::InlineFlowBox::computeOverflow):
262         Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
263         the shadow overflow code as well.
264
265         (WebCore::clipRectForNinePieceImageStrip):
266         (WebCore::InlineFlowBox::paintBoxDecorations):
267         (WebCore::InlineFlowBox::paintMask):
268         * rendering/InlineFlowBox.h:
269         Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
270         include the border and mask outsets. Always include the block direction expansion, and conditionally
271         include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
272         clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
273         work.
274
275         * rendering/RenderBlock.cpp:
276         (WebCore::RenderBlock::computeOverflow):
277         * rendering/RenderBox.cpp:
278         (WebCore::RenderBox::maskClipRect):
279         (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
280         * rendering/RenderBox.h:
281         Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
282         outset overflow. Fix bugs with shadow overflow computation.
283
284         * rendering/RenderBoxModelObject.cpp:
285         (WebCore::RenderBoxModelObject::paintNinePieceImage):
286         Change painting to apply the outsets to inflate the border image drawing area.
287
288         * rendering/RenderEmbeddedObject.cpp:
289         (WebCore::RenderEmbeddedObject::layout):
290         * rendering/RenderIFrame.cpp:
291         (WebCore::RenderIFrame::layout):
292         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
293
294         * rendering/RenderLayer.cpp:
295         (WebCore::RenderLayer::calculateRects):
296         Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
297         layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
298         included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
299
300         * rendering/RenderReplaced.cpp:
301         (WebCore::RenderReplaced::layout):
302         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
303
304         * rendering/style/NinePieceImage.cpp:
305         (WebCore::NinePieceImage::operator==):
306         * rendering/style/NinePieceImage.h:
307         (WebCore::NinePieceImage::NinePieceImage):
308         (WebCore::NinePieceImage::outset):
309         (WebCore::NinePieceImage::setOutset):
310         (WebCore::NinePieceImage::computeOutset):
311         (WebCore::NinePieceImage::copyOutsetFrom):
312         Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
313
314         * rendering/style/RenderStyle.cpp:
315         (WebCore::RenderStyle::getImageOutsets):
316         (WebCore::RenderStyle::getImageHorizontalOutsets):
317         (WebCore::RenderStyle::getImageVerticalOutsets):
318         * rendering/style/RenderStyle.h:
319         (WebCore::InheritedFlags::hasBorderImageOutsets):
320         (WebCore::InheritedFlags::getBorderImageOutsets):
321         (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
322         (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
323         (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
324         (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
325         (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
326         (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
327         Helpers for outset computation used by painting and overflow functions.
328
329 2011-09-10  Dan Bernstein  <mitz@apple.com>
330
331         Actually prevent unnecessary casts to MediaControls*.
332
333         Reviewed by Oliver Hunt.
334
335         * html/shadow/MediaControls.h:
336
337 2011-09-10  Ryosuke Niwa  <rniwa@webkit.org>
338
339         Remove printf added by r94900.
340
341         * rendering/RenderLayer.cpp:
342         (WebCore::RenderLayer::drawPlatformResizerImage):
343
344 2011-09-09  Chris Marrin  <cmarrin@apple.com>
345
346         requestAnimationFrame doesn't throttle on Mac
347         https://bugs.webkit.org/show_bug.cgi?id=67171
348
349         Reviewed by Simon Fraser.
350
351         Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
352         on Mac, rather than runLoopObservers. The Timer is throttled to fire no
353         faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
354         flag and can be used by any implementation, but currently it is only enabled
355         by PLATFORM(MAC).
356
357         * dom/ScriptedAnimationController.cpp:
358         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
359         (WebCore::ScriptedAnimationController::resume):
360         (WebCore::ScriptedAnimationController::registerCallback):
361         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
362         (WebCore::ScriptedAnimationController::scheduleAnimation):
363         (WebCore::ScriptedAnimationController::animationTimerFired):
364         * dom/ScriptedAnimationController.h:
365         * loader/EmptyClients.h:
366         * page/Chrome.cpp:
367         (WebCore::Chrome::scheduleAnimation):
368         * page/ChromeClient.h:
369
370 2011-09-10  Jarred Nicholls  <jarred@sencha.com>
371
372         [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
373         https://bugs.webkit.org/show_bug.cgi?id=34884
374         
375         KURL::path() alone does not handle removing the leading slash from a windows file path.
376         Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
377
378         Reviewed by Andreas Kling.
379
380         * platform/qt/KURLQt.cpp:
381         (WebCore::KURL::fileSystemPath):
382
383 2011-09-10  Ken Buchanan <kenrb@chromium.org>
384
385         Crash due to bad data in SVGDocumentExtensions m_pendingResources
386         https://bugs.webkit.org/show_bug.cgi?id=67488
387
388         Reviewed by Nikolas Zimmermann.
389
390         Resolving a crash condition caused by the deletion of
391         elements while pending resource entries for those elements are still
392         recorded.
393
394         * rendering/svg/RenderSVGResourceContainer.cpp:
395         (WebCore::RenderSVGResourceContainer::registerResource)
396         * svg/SVGDocumentExtensions.h:
397         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
398         * svg/SVGDocumentExtensions.cpp:
399         (WebCore::SVGDocumentExtensions::addPendingResource)
400         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
401         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
402         * svg/SVGStyledElement.h:
403         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
404         * svg/SVGStyledElement.cpp:
405         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
406         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
407         * svg/SVGUseElement.cpp:
408         (WebCore::SVGUseElement::svgAttributeChanged)
409
410 2011-09-10  Adam Barth  <abarth@webkit.org>
411
412         Remove DocumentWriter::deprecatedFrameEncoding()
413         https://bugs.webkit.org/show_bug.cgi?id=67882
414
415         Reviewed by Eric Seidel.
416
417         Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
418         Proskuryakov added ContentDispositionEncodingFallbackArray to work
419         around a web site compatibility issue with a non-ASCII file name
420         becoming garbled when received in the Content-Disposition header.
421
422         Since that time, there has been copious discussion of this topic among
423         browser vendors, in the IETF, and in the broader web community.  For
424         example, here is a Stack Overflow thread about this topic:
425
426         http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
427
428         Eric Lawrence has written a blog post that summarizes IE's perspective
429         on this issue:
430
431         http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
432
433         The current consensus is that browsers should implement RFC 6266,
434         which is a new RFC that updates the definition of the
435         Content-Disposition header.  Chrome and Firefox have both implemented
436         RFC 6266 and have encountered only one issue, which was then fixed by
437         the web site operator.  IE has also implemented RFC 6266, but I don't
438         have detailed information about their compatibility experience.
439
440         This patch add explicit PLATFORM #ifdefs around the quirky
441         implementation previously used in Apple's Mac and Windows ports.  This
442         code is already only used on Apple's ports, so this patch introduces no
443         functional changes.  It does, however, discourage other ports from
444         adopting this quirk.  IMHO, Apple should remove this quirk as soon as
445         compatibility allows and converge behavior with the other major browser
446         vendors.
447
448         See bug for manual test (the bug manifests in Safari download UI).
449
450         * loader/DocumentWriter.cpp:
451         * loader/DocumentWriter.h:
452         * loader/FrameLoader.cpp:
453         (WebCore::FrameLoader::addExtraFieldsToRequest):
454         * platform/network/ResourceRequestBase.cpp:
455         (WebCore::ResourceRequestBase::adopt):
456         (WebCore::ResourceRequestBase::copyData):
457         * platform/network/ResourceRequestBase.h:
458
459 2011-09-09  Beth Dakin  <bdakin@apple.com>
460
461         Attempted Leopard build fix.
462
463         * rendering/RenderImage.cpp:
464         (WebCore::RenderImage::paintReplaced):
465         * rendering/RenderLayer.cpp:
466         (WebCore::RenderLayer::drawPlatformResizerImage):
467
468 2011-09-09  Beth Dakin  <bdakin@apple.com>
469
470         Fix for https://bugs.webkit.org/show_bug.cgi?id=67819
471         Use high resolution platform images when the deviceScaleFactor > 1
472         -and corresponding-
473         <rdar://problem/10003098>
474
475         Reviewed by Darin Adler.
476
477         Add all of the new high resolution images. I also removed some tiffs from the 
478         project and replaced them with png equivalents (that are already checked into 
479         WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
480         pngs for all of the images that load through Image::loadPlatformResource()
481         * WebCore.xcodeproj/project.pbxproj:
482         * platform/graphics/mac/ImageMac.mm:
483         (WebCore::Image::loadPlatformResource):
484
485         Load the @2x resource for deviceScaleFactors >= 2.
486         * editing/DeleteButtonController.cpp:
487         (WebCore::DeleteButtonController::createDeletionUI):
488
489         CachedImage::brokenImage() is no longer a static helper function, but a real 
490         member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
491         and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
492         the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
493         directly to reliably return the deviceScaleFactor-appropriate resource.
494         * loader/cache/CachedImage.cpp:
495         (WebCore::CachedImage::brokenImage):
496         (WebCore::CachedImage::image):
497         * loader/cache/CachedImage.h:
498         * rendering/RenderLayer.cpp:
499         (WebCore::RenderLayer::drawPlatformResizerImage):
500         (WebCore::RenderLayer::paintResizer):
501         * rendering/RenderLayer.h:
502
503         New static function to retrieve the deviceScaleFactor for callers that do not have 
504         direct access to a Page.
505         * page/Page.cpp:
506         (WebCore::Page::deviceScaleFactor):
507         * page/Page.h:
508
509         Call CachedImage::brokenImage() for the broken-image image at an accurate 
510         resolution.
511         * rendering/RenderImage.cpp:
512         (WebCore::RenderImage::imageSizeForError):
513         (WebCore::RenderImage::paintReplaced):
514
515 2011-09-09  Erik Arvidsson  <arv@chromium.org>
516
517         Move Element.contains to Node
518         https://bugs.webkit.org/show_bug.cgi?id=67651
519
520         Reviewed by Darin Adler.
521
522         This moves the contains method from Element to Node as in the DOM4 working draft: 
523         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
524
525         This also special cases Document contains to make it O(1) instead of O(depth).
526
527         Tests: fast/dom/Node/contains-method.html
528                perf/document-contains.html
529
530         * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
531         * dom/Element.idl:
532         * dom/Node.cpp:
533         (WebCore::Node::contains): Added document special case.
534         * dom/Node.idl:
535         * editing/DeleteSelectionCommand.cpp:
536         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
537
538 2011-09-09  Tim Horton  <timothy_horton@apple.com>
539
540         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
541         https://bugs.webkit.org/show_bug.cgi?id=67543
542         <rdar://problem/10070536>
543
544         Reviewed by Darin Adler.
545
546         Generalize (begin|end)TransparencyLayer, which now forward
547         through to (begin|end)PlatformTransparencyLayer, so that
548         isInTransparencyLayer can exist on every platform.
549
550         Make use of isInTransparencyLayer in FontMac to disable
551         "simple" shadow drawing when the text is being rendered
552         into a transparency layer.
553
554         Test: svg/custom/simple-text-double-shadow.svg
555
556         * platform/graphics/GraphicsContext.cpp:
557         (WebCore::GraphicsContext::GraphicsContext):
558         (WebCore::GraphicsContext::~GraphicsContext):
559         (WebCore::GraphicsContext::beginTransparencyLayer):
560         (WebCore::GraphicsContext::endTransparencyLayer):
561         (WebCore::GraphicsContext::isInTransparencyLayer):
562         * platform/graphics/GraphicsContext.h:
563         * platform/graphics/cairo/GraphicsContextCairo.cpp:
564         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
565         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
566         (WebCore::GraphicsContext::supportsTransparencyLayers):
567         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
568         * platform/graphics/cg/GraphicsContextCG.cpp:
569         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
570         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
571         (WebCore::GraphicsContext::supportsTransparencyLayers):
572         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
573         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
574         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
575         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
576         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
577         (WebCore::GraphicsContext::supportsTransparencyLayers):
578         * platform/graphics/mac/FontMac.mm:
579         (WebCore::Font::drawGlyphs):
580         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
581         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
582         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
583         (WebCore::GraphicsContext::supportsTransparencyLayers):
584         * platform/graphics/qt/GraphicsContextQt.cpp:
585         (WebCore::GraphicsContext::isInTransparencyLayer):
586         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
587         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
588         (WebCore::GraphicsContext::supportsTransparencyLayers):
589         * platform/graphics/skia/GraphicsContextSkia.cpp:
590         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
591         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
592         (WebCore::GraphicsContext::supportsTransparencyLayers):
593         * platform/graphics/win/FontCGWin.cpp:
594         (WebCore::drawGDIGlyphs):
595         * platform/graphics/win/GraphicsContextCGWin.cpp:
596         (WebCore::GraphicsContext::releaseWindowsContext):
597         * platform/graphics/win/GraphicsContextCairoWin.cpp:
598         (WebCore::GraphicsContext::releaseWindowsContext):
599         * platform/graphics/win/GraphicsContextWin.cpp:
600         (WebCore::GraphicsContext::getWindowsContext):
601         * platform/graphics/wince/GraphicsContextWinCE.cpp:
602         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
603         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
604         (WebCore::GraphicsContext::supportsTransparencyLayers):
605         * platform/graphics/wx/GraphicsContextWx.cpp:
606         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
607         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
608         (WebCore::GraphicsContext::supportsTransparencyLayers):
609         * platform/win/ScrollbarThemeWin.cpp:
610         * plugins/win/PluginViewWin.cpp:
611         * rendering/RenderThemeWin.cpp:
612
613 2011-09-09  Julien Chaffraix  <jchaffraix@webkit.org>
614
615         [V8] V8WebKitPoint::constructorCallback leaks
616         https://bugs.webkit.org/show_bug.cgi?id=67865
617
618         Reviewed by Adam Barth.
619
620         Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
621
622         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
623         (WebCore::V8WebKitPoint::constructorCallback): Changed the code
624         to use a RefPtr (per our usual style). Also use toV8 that will
625         take care of properly wrapping the object.
626
627 2011-09-09  Chris Rogers  <crogers@google.com>
628
629         HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once
630         https://bugs.webkit.org/show_bug.cgi?id=67866
631
632         Reviewed by David Levin.
633
634         No new tests since this is difficult to test.
635         This is designed to fix existing webaudio layout test failures.
636
637         * platform/audio/HRTFDatabaseLoader.cpp:
638         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
639         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
640         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
641         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
642         * platform/audio/HRTFDatabaseLoader.h:
643
644 2011-09-09  Jessie Berlin  <jberlin@apple.com>
645
646         Cookies are not available after turning off Private Browsing after the last window has been
647         closed.
648         https://bugs.webkit.org/show_bug.cgi?id=67874
649
650         Reviewed by Darin Adler.
651
652         The private browsing storage session is a global setting that is being incorrectly set on a
653         per-page basis (see http://webkit.org/b/67870).
654
655         In this case, the global value was getting out of sync with the per-page setting:
656         1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
657         2. All Pages were then closed, destroying their Settings objects.
658         3. When a new Page was created, a new Settings object was created and its
659            m_privateBrowsingEnabled value was getting set to false.
660         4. The WebPage settings were then applied to the new Settings object, resulting in
661            setPrivateBrowsingEnabled(false) to be called.
662         5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
663            global value for the storage session from being destroyed.
664
665         * page/Settings.cpp:
666         (WebCore::Settings::setPrivateBrowsingEnabled):
667         Move the early return to be after setting the global private browsing values, and add a
668         clearer comment + FIXME.
669
670 2011-09-09  Kentaro Hara  <haraken@google.com>
671
672         Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute
673         https://bugs.webkit.org/show_bug.cgi?id=67458
674
675         Reviewed by Adam Barth.
676
677         Added a 'CallWithNullValue' extended attribute.
678         If a parameter is optional and missing, 'CallWithDefaultValue'
679         handles it as a string "undefined". On the other hand,
680         'CallWithNullValue' handles it as a null string
681         (Note: not a string "null", but a null string).
682
683         Tests: fast/dom/Window/custom-constructors.html
684                transforms/svg-vs-css.xhtml
685                transforms/cssmatrix-2d-interface.xhtml
686                transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
687
688         * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
689         * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
690         * bindings/scripts/CodeGeneratorV8.pm:
691         (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
692         (RequiresCustomSignature):
693         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
694         (WebCore::V8TestInterface::constructorCallback):
695         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
696         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
697         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
698         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
699         (WebCore::TestObjInternal::intMethodWithArgsCallback):
700         (WebCore::TestObjInternal::objMethodWithArgsCallback):
701         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
702         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
703         (WebCore::TestObjInternal::optionsObjectCallback):
704         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
705         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
706         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
707         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
708         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
709         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
710         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
711         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
712         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
713         (WebCore::TestObjInternal::overloadedMethod1Callback):
714         (WebCore::TestObjInternal::overloadedMethod2Callback):
715         (WebCore::TestObjInternal::overloadedMethod3Callback):
716         (WebCore::TestObjInternal::overloadedMethod4Callback):
717         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
718         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
719         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
720         * bindings/v8/V8Binding.h:
721         (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
722         (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
723         * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
724         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
725         * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
726
727 2011-09-09  Geoffrey Garen  <ggaren@apple.com>
728
729         Reviewed by Dan Bernstein.
730
731         Removed ENABLE(SINGLE_THREADED) support, since it is always false
732         https://bugs.webkit.org/show_bug.cgi?id=67862
733
734         Next step toward making the baseline platform assumption that threads exist.
735
736         * WebCore.pri:
737         * features.pri: 
738         * platform/sql/SQLiteDatabase.cpp:
739         (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
740
741 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
742
743         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
744         https://bugs.webkit.org/show_bug.cgi?id=67250
745
746         Reviewed by Simon Fraser.
747
748         No new tests because there's no change in functionality.
749
750         * WebCore.exp.in:
751         * css/CSSStyleSelector.cpp:
752         (WebCore::CSSStyleSelector::styleForDocument):
753         * dom/Element.cpp:
754         (WebCore::Element::getClientRects):
755         (WebCore::Element::getBoundingClientRect):
756         * dom/Range.cpp:
757         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
758         * loader/HistoryController.cpp:
759         (WebCore::HistoryController::restoreScrollPositionAndViewState):
760         * page/Frame.cpp:
761         (WebCore::Frame::Frame):
762         (WebCore::Frame::pageScaleFactor):
763         * page/Frame.h:
764         * page/Page.cpp:
765         (WebCore::Page::Page):
766         (WebCore::Page::setPageScaleFactor):
767         * page/Page.h:
768         (WebCore::Page::pageScaleFactor):
769         * rendering/RenderLayerCompositor.cpp:
770         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
771         (WebCore::RenderLayerCompositor::pageScaleFactor):
772         * rendering/RenderView.cpp:
773         (WebCore::RenderView::paintBoxDecorations):
774
775 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
776
777         AX: Images within anchors causes crash
778         https://bugs.webkit.org/show_bug.cgi?id=44149
779
780         Reviewed by Chris Fleizach.
781
782         Fixes the way parent RenderObject of an AccessibilityRenderObject
783         is computed in the presence of adjacent continuations.
784
785         Test: accessibility/div-within-anchors-causes-crash.html
786
787         * accessibility/AccessibilityRenderObject.cpp:
788         (WebCore::AccessibilityRenderObject::renderParentObject):
789
790 2011-09-09  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
791
792         CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
793         https://bugs.webkit.org/show_bug.cgi?id=66887
794
795         Reviewed by David Hyatt.
796
797         Test: fast/css/adjacent-sibling-selector.html
798
799         This patch addresses the problem of elements not getting their style recomputed
800         when they are affected by direct adjacent sibling rules and one of their sibling in
801         their corresponding rules is modified dynamically.
802
803         * css/CSSStyleSelector.cpp:
804         (WebCore::CSSStyleSelector::canShareStyleWithElement):
805         (WebCore::parentStylePreventsSharing):
806         * css/SelectorChecker.cpp:
807         (WebCore::SelectorChecker::checkSelector):
808         * dom/Element.cpp:
809         (WebCore::Element::recalcStyle):
810         (WebCore::checkForSiblingStyleChanges):
811         * rendering/style/RenderStyle.cpp:
812         (WebCore::RenderStyle::RenderStyle):
813         * rendering/style/RenderStyle.h:
814         (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
815         (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
816
817 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
818
819         Make the EFL port use the correct rendering file.
820         https://bugs.webkit.org/show_bug.cgi?id=66323
821
822         Reviewed by Martin Robinson.
823
824         When compiling with Pango support, the EFL port should use
825         FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
826
827         No new functionality so no new tests.
828
829         * CMakeListsEfl.txt:
830
831 2011-09-09  Chris Rogers  <crogers@google.com>
832
833         AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
834         https://bugs.webkit.org/show_bug.cgi?id=67749
835
836         Reviewed by Kenneth Russell.
837
838         Test: webaudio/audiobuffersource-channels.html
839
840         * WebCore.gypi:
841         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
842         (WebCore::JSAudioBufferSourceNode::setBuffer):
843         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
844         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
845         * webaudio/AudioBufferSourceNode.cpp:
846         (WebCore::AudioBufferSourceNode::setBuffer):
847         * webaudio/AudioBufferSourceNode.h:
848         * webaudio/AudioBufferSourceNode.idl:
849
850 2011-09-09  Dan Bernstein  <mitz@apple.com>
851
852         RenderBlock::addOverhangingFloats() takes superfluous parameters
853         https://bugs.webkit.org/show_bug.cgi?id=67863
854
855         Reviewed by Dave Hyatt.
856
857         No new tests, because behavior is unchanged.
858
859         * rendering/RenderBlock.cpp:
860         (WebCore::RenderBlock::layoutBlock):
861         (WebCore::RenderBlock::layoutBlockChild):
862         (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
863         since they were always the inverse of the logical{Left, Top}() of the child parameter.
864         * rendering/RenderBlock.h:
865
866 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
867
868         Add replacement functions for gdk ones.
869         https://bugs.webkit.org/show_bug.cgi?id=66323
870
871         Reviewed by Martin Robinson.
872
873         This will allow the EFL port to don't depend on gdk anymore.
874
875         No new functionality so no new tests.
876
877         * CMakeListsEfl.txt:
878         * platform/graphics/cairo/CairoUtilities.cpp:
879         (WebCore::appendRegionToCairoContext):
880         * platform/graphics/cairo/CairoUtilities.h:
881         * platform/graphics/pango/FontPango.cpp:
882         (WebCore::drawGlyphsShadow):
883         (WebCore::Font::drawComplexText):
884         * platform/graphics/pango/PangoUtilities.cpp: Added.
885         (WebCore::getLineClipRegionFromLayoutIter):
886         (WebCore::getClipRegionFromPangoLayoutLine):
887         * platform/graphics/pango/PangoUtilities.h: Added.
888
889 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
890
891         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
892         https://bugs.webkit.org/show_bug.cgi?id=67420
893
894         Reviewed by Geoffrey Garen.
895
896         No new tests.
897
898         Completed the fifth level of the refactoring to add finishCreation() 
899         methods to all classes within the JSCell hierarchy with non-trivial 
900         constructor bodies.
901
902         This primarily consists of pushing the calls to finishCreation() down 
903         into the constructors of the subclasses of the second level of the hierarchy 
904         as well as pulling the finishCreation() calls out into the class's corresponding
905         create() method if it has one.  Doing both simultaneously allows us to 
906         maintain the invariant that the finishCreation() method chain is called exactly 
907         once during the creation of an object, since calling it any other number of 
908         times (0, 2, or more) will cause an assertion failure.
909
910         * WebCore.exp.in:
911         * bindings/js/JSDOMBinding.h:
912         (WebCore::DOMConstructorObject::DOMConstructorObject):
913         * bindings/js/JSDOMGlobalObject.cpp:
914         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
915         (WebCore::JSDOMGlobalObject::finishCreation):
916         * bindings/js/JSDOMGlobalObject.h:
917         * bindings/js/JSDOMWindowShell.cpp:
918         * bindings/js/JSDOMWindowShell.h:
919         (WebCore::JSDOMWindowShell::create):
920         * bindings/js/JSDOMWrapper.h:
921         (WebCore::JSDOMWrapper::JSDOMWrapper):
922         * bindings/scripts/CodeGeneratorJS.pm:
923         (GenerateImplementation):
924         * bindings/scripts/test/JS/JSTestInterface.cpp:
925         (WebCore::JSTestInterface::JSTestInterface):
926         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
927         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
928         * bindings/scripts/test/JS/JSTestObj.cpp:
929         (WebCore::JSTestObj::JSTestObj):
930         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
931         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
932         * bridge/c/CRuntimeObject.cpp:
933         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
934         (JSC::Bindings::CRuntimeObject::finishCreation):
935         * bridge/c/CRuntimeObject.h:
936         * bridge/jni/jsc/JavaRuntimeObject.cpp:
937         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
938         (JSC::Bindings::JavaRuntimeObject::finishCreation):
939         * bridge/jni/jsc/JavaRuntimeObject.h:
940         * bridge/objc/ObjCRuntimeObject.h:
941         * bridge/objc/ObjCRuntimeObject.mm:
942         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
943         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
944         * bridge/objc/objc_runtime.h:
945         (JSC::Bindings::ObjcFallbackObjectImp::create):
946         * bridge/objc/objc_runtime.mm:
947         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
948         * bridge/qt/qt_instance.cpp:
949         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
950         * bridge/qt/qt_pixmapruntime.cpp:
951         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
952         * bridge/qt/qt_runtime.cpp:
953         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
954         (JSC::Bindings::QtRuntimeMethod::finishCreation):
955         * bridge/qt/qt_runtime.h:
956         * bridge/runtime_array.cpp:
957         (JSC::RuntimeArray::RuntimeArray):
958         * bridge/runtime_array.h:
959         (JSC::RuntimeArray::create):
960         * bridge/runtime_method.cpp:
961         (JSC::RuntimeMethod::RuntimeMethod):
962         (JSC::RuntimeMethod::finishCreation):
963         * bridge/runtime_method.h:
964         * bridge/runtime_object.cpp:
965         (JSC::Bindings::RuntimeObject::RuntimeObject):
966         * bridge/runtime_object.h:
967         (JSC::Bindings::RuntimeObject::create):
968
969 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
970
971         Rename FontGtk.cpp to FontPango.cpp
972         https://bugs.webkit.org/show_bug.cgi?id=66323
973
974         Reviewed by Martin Robinson.
975
976         This file will be used by the EFL port too, and since it's not GTK
977         specific anymore, rename it to something better.
978
979         No new functionality so no new tests.
980
981         * GNUmakefile.list.am:
982         * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
983
984 2011-09-09  Adam Klein  <adamk@chromium.org>
985
986         Initialize ExceptionCode in Element::removeAttribute
987         https://bugs.webkit.org/show_bug.cgi?id=67820
988
989         Reviewed by Darin Adler.
990
991         Silences valgrind warning reported in http://crbug.com/76490.
992
993         No new tests since this would only very occasionally be flaky,
994         and in the codepath in the valgrind report, the ec is ignored anyway.
995
996         * dom/Element.cpp:
997         (WebCore::Element::removeAttribute): Initialize ec to 0.
998
999 2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1000
1001         [Qt] Remove common.pri
1002         https://bugs.webkit.org/show_bug.cgi?id=67814
1003
1004         Reviewed by Andreas Kling.
1005
1006         No new tests, no change in functionality.
1007
1008         * CodeGenerators.pri:
1009         * WebCore.pri:
1010
1011 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
1012
1013         Assert being hit in AccessibilityRenderObject::addChildren()
1014         https://bugs.webkit.org/show_bug.cgi?id=61805
1015
1016         Reviewed by Chris Fleizach.
1017
1018         Fix nextSibling and previousSibling to handle adjacent continuations
1019         properly, otherwise nodes end up appearing in the accessibility
1020         tree twice (or a debug assertion could be raised).
1021
1022         Test: accessibility/adjacent-continuations-cause-assertion-failure.html
1023
1024         * accessibility/AccessibilityRenderObject.cpp:
1025         (WebCore::AccessibilityRenderObject::previousSibling):
1026         (WebCore::AccessibilityRenderObject::nextSibling):
1027
1028 2011-09-08  Kentaro Hara  <haraken@google.com>
1029
1030         Implement a WebKitAnimationEvent constructor.
1031         https://bugs.webkit.org/show_bug.cgi?id=67825
1032
1033         Reviewed by Sam Weinig.
1034
1035         There is no spec for the WebKitAnimationEvent constructor
1036         since it is WebKit-specific. However, based on the current
1037         IDL of initWebKitAnimationEvent(), the constructor IDL
1038         should be as follows.
1039
1040         [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
1041         interface WebKitAnimationEvent : Event {
1042             ...;
1043         }
1044
1045         dictionary WebKitAnimationEventInit : EventInit {
1046             DOMString animationName;
1047             double elapsedTime;
1048         }
1049
1050         Test: fast/events/constructors/webkit-animation-event-constructor.html
1051
1052         * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
1053         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
1054         * dom/WebKitAnimationEvent.cpp:
1055         (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
1056         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
1057         * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
1058         (WebCore::WebKitAnimationEvent::create):
1059         * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
1060
1061 2011-09-08  Abhishek Arya  <inferno@chromium.org>
1062
1063         :before content rendering issues with list markers and run-ins.
1064         https://bugs.webkit.org/show_bug.cgi?id=67735
1065
1066         1) Remove the isAnonymous checks for run-in detection since the
1067         run-in can belong to a node.
1068         2) When the parent has block children, then the list marker will
1069         be enclosed in an anonymous block. In that case, for going to the
1070         next list marker, we need to traverse one level up. We don't need
1071         this check when searching for generated run-in (loop 2), since we
1072         know parent will have inline children, so the list marker wont be
1073         enclosed in an anonymous block.
1074
1075         Reviewed by Dave Hyatt.
1076
1077         Tests: fast/lists/list-marker-before-content-table.html
1078                fast/runin/runin-generated-before-content.html
1079
1080         * rendering/RenderObjectChildList.cpp:
1081         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
1082
1083 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
1084
1085         Web Inspector: introduce JavaScriptSourceFrame class.
1086         https://bugs.webkit.org/show_bug.cgi?id=67838
1087
1088         SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
1089
1090         Reviewed by Pavel Feldman.
1091
1092         * WebCore.gypi:
1093         * WebCore.vcproj/WebCore.vcproj:
1094         * inspector/front-end/JavaScriptSourceFrame.js: Added.
1095         (WebInspector.JavaScriptSourceFrame):
1096         (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
1097         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
1098         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
1099         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
1100         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
1101         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
1102         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
1103         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
1104         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
1105         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
1106         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
1107         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
1108         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
1109         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
1110         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
1111         * inspector/front-end/ScriptsPanel.js:
1112         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1113         * inspector/front-end/WebKit.qrc:
1114         * inspector/front-end/inspector.html:
1115
1116 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1117
1118         Unreviewed, rolling out r94845.
1119         http://trac.webkit.org/changeset/94845
1120         https://bugs.webkit.org/show_bug.cgi?id=67839
1121
1122         This patch kicked Qt-SL bots, but we don't need this
1123         modification. (Requested by ossy_ on #webkit).
1124
1125         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1126         * platform/mac/WebVideoFullscreenController.mm:
1127         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1128
1129 2011-09-09  Csaba Osztrogon√°c  <ossy@webkit.org>
1130
1131         [Qt][Mac]REGRESSION(r94774): Build is broken
1132         https://bugs.webkit.org/show_bug.cgi?id=67799
1133
1134         It seems these files didn't rebuilt because of a
1135         dependency bug. Touch them to trigger a rebuild.
1136
1137         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1138         * platform/mac/WebVideoFullscreenController.mm:
1139         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1140
1141 2011-09-09  Alexander Pavlov  <apavlov@chromium.org>
1142
1143         Unreviewed, Chromium valgrind build fix.
1144
1145         Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
1146         https://bugs.webkit.org/show_bug.cgi?id=67837
1147
1148         * inspector/InspectorStyleSheet.cpp:
1149         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1150
1151 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1152
1153         Unreviewed, rolling out r94536.
1154         http://trac.webkit.org/changeset/94536
1155         https://bugs.webkit.org/show_bug.cgi?id=67836
1156
1157         breaks absoluteLocation() of RelatedMouseEvent (Requested by
1158         jknotten on #webkit).
1159
1160         * dom/MouseRelatedEvent.cpp:
1161         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1162
1163 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
1164
1165         Web Inspector: live edit both for JS and CSS is not discoverable.
1166         https://bugs.webkit.org/show_bug.cgi?id=65962
1167
1168         Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
1169         Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
1170
1171         Reviewed by Yury Semikhatsky.
1172
1173         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1174         * inspector/front-end/ResourceView.js:
1175         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
1176         * inspector/front-end/ScriptsPanel.js:
1177         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1178         (WebInspector.ScriptsPanel.prototype.set visibleView):
1179         * inspector/front-end/SourceFrame.js:
1180         (WebInspector.SourceFrame):
1181         (WebInspector.SourceFrame.prototype.get statusBarItems):
1182         (WebInspector.SourceFrame.prototype._initializeTextViewer):
1183         (WebInspector.SourceFrame.prototype._editButtonClicked):
1184         (WebInspector.SourceFrame.prototype.canEditSource):
1185         (WebInspector.SourceFrame.prototype.startEditing):
1186         (WebInspector.SourceFrame.prototype.commitEditing):
1187         (WebInspector.SourceFrame.prototype._setReadOnly):
1188         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
1189         * inspector/front-end/TextViewer.js:
1190         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1191         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
1192         * inspector/front-end/inspector.css:
1193         (button.edit-source-status-bar-item .glyph):
1194         (button.edit-source-status-bar-item.toggled-on .glyph):
1195
1196 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
1197
1198         Crashes in WebCore::AppendNodeCommand::create().
1199         https://bugs.webkit.org/show_bug.cgi?id=67767
1200
1201         Reviewed by Darin Adler.
1202
1203         In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
1204         The current code assumes lastNode is an Element node. This patch checks it.
1205
1206         Test: editing/execCommand/ident-crashes-topnode-is-text.html
1207
1208         * editing/CompositeEditCommand.cpp:
1209         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
1210
1211 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
1212
1213         Crashes in WebCore::ApplyStyleCommand.doApply()
1214         https://bugs.webkit.org/show_bug.cgi?id=67765
1215
1216         Reviewed by Ryosuke Niwa.
1217
1218         WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
1219
1220         Test: editing/style/remove-format-without-enclosing-block.html
1221
1222         * editing/ApplyStyleCommand.cpp:
1223         (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
1224
1225 2011-09-09  James Simonsen  <simonjam@chromium.org>
1226
1227         [Chromium] Fix leak of Skia stream with custom CSS fonts
1228         https://bugs.webkit.org/show_bug.cgi?id=67815
1229
1230         Reviewed by Adam Barth.
1231
1232         Test: fast/css/font-face-opentype.html under valgrind
1233
1234         * platform/graphics/mac/FontCustomPlatformData.cpp:
1235         (WebCore::createFontCustomPlatformData):
1236         * platform/graphics/skia/FontCustomPlatformData.cpp:
1237         (WebCore::createFontCustomPlatformData):
1238
1239 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1240
1241         Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
1242         https://bugs.webkit.org/show_bug.cgi?id=67742
1243
1244         Reviewed by Darin Adler.
1245
1246         Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
1247         InputType::valueChanged into InputType::setValue. Also introduced
1248         InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
1249
1250         * html/BaseButtonInputType.cpp:
1251         (WebCore::BaseButtonInputType::setValue):
1252         * html/BaseButtonInputType.h:
1253         * html/BaseCheckableInputType.cpp:
1254         (WebCore::BaseCheckableInputType::setValue):
1255         * html/BaseCheckableInputType.h:
1256         * html/ColorInputType.cpp:
1257         * html/ColorInputType.h:
1258         * html/FileInputType.cpp:
1259         (WebCore::FileInputType::setValue):
1260         * html/FileInputType.h:
1261         * html/HTMLInputElement.cpp:
1262         (WebCore::HTMLInputElement::setValue):
1263         * html/HTMLInputElement.h:
1264         (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
1265         * html/HiddenInputType.cpp:
1266         (WebCore::HiddenInputType::setValue):
1267         * html/HiddenInputType.h:
1268         * html/InputType.cpp:
1269         (WebCore::InputType::setValue):
1270         (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
1271         * html/InputType.h:
1272         * html/RangeInputType.cpp:
1273         (WebCore::RangeInputType::setValue):
1274         * html/RangeInputType.h:
1275         * html/TextFieldInputType.cpp:
1276         (WebCore::TextFieldInputType::setValue):
1277         (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
1278         * html/TextFieldInputType.h:
1279
1280 2011-09-08  Annie Sullivan  <sullivan@chromium.org>
1281
1282         Crashes in WebCore::InsertNodeBeforeCommand constructor.
1283         https://bugs.webkit.org/show_bug.cgi?id=67763
1284
1285         Reviewed by Ryosuke Niwa.
1286
1287         Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
1288         positions which are before or after a given node cannot return that node as the editable root.
1289
1290         Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
1291
1292         * editing/htmlediting.cpp:
1293         (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
1294
1295 2011-09-08  James Weatherall  <wez@chromium.org>
1296
1297         Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document.  This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down.
1298         https://bugs.webkit.org/show_bug.cgi?id=66181
1299
1300         Reviewed by Anders Carlsson.
1301
1302         No new tests - no functional change.
1303
1304         * html/HTMLPlugInElement.cpp:
1305         (WebCore::HTMLPlugInElement::removedFromDocument):
1306         * html/HTMLPlugInElement.h:
1307
1308 2011-09-08  Daniel Bates  <dbates@webkit.org>
1309
1310         XSS filter bypass via non-standard URL encoding
1311         https://bugs.webkit.org/show_bug.cgi?id=66588
1312
1313         Reviewed by Adam Barth.
1314
1315         Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
1316                http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
1317                http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
1318                http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
1319                http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
1320                http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
1321                http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
1322                http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
1323
1324         Implement support for decoding non-standard 16-bit Unicode escape sequences of
1325         the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
1326
1327         See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
1328
1329         * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
1330         * WebCore.gypi: Ditto.
1331         * WebCore.pro: Ditto.
1332         * WebCore.vcproj/WebCore.vcproj: Ditto.
1333         * WebCore.xcodeproj/project.pbxproj: Ditto.
1334         * html/parser/XSSAuditor.cpp:
1335         (WebCore::decode16BitUnicodeEscapeSequences): Added.
1336         (WebCore::decodeStandardURLEscapeSequences): Added.
1337         (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
1338         (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
1339         is the empty string. This can happen when opening a new browser window or calling
1340         window.open("").
1341         * platform/KURL.cpp:
1342         (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
1343         This function just calls decodeEscapeSequences<URLEscapeSequence>().
1344         * platform/text/DecodeEscapeSequences.h: Added.
1345         (WebCore::Unicode16BitEscapeSequence::findInString):
1346         (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
1347         (WebCore::Unicode16BitEscapeSequence::decodeRun):
1348         (WebCore::URLEscapeSequence::findInString):
1349         (WebCore::URLEscapeSequence::matchStringPrefix):
1350         (WebCore::URLEscapeSequence::decodeRun):
1351         (WebCore::decodeEscapeSequences):
1352
1353 2011-09-08  Adam Barth  <abarth@webkit.org>
1354
1355         DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
1356         https://bugs.webkit.org/show_bug.cgi?id=67812
1357
1358         Reviewed by Eric Seidel.
1359
1360         The one caller of this function does this work already.
1361
1362         * loader/DocumentWriter.cpp:
1363         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1364
1365 2011-09-08  Adam Klein  <adamk@chromium.org>
1366
1367         Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
1368         https://bugs.webkit.org/show_bug.cgi?id=67810
1369
1370         Reviewed by Tony Chang.
1371
1372         Reported as a valgrind failure in http://crbug.com/84777.
1373
1374         No possible change in behavior, so no tests. The unitialized read
1375         could never have an impact:
1376
1377            if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
1378
1379         Since m_sortedTextBoxes.size() will be zero here if
1380         m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
1381         so no possible value of m_sortedTextBoxesPosition could be < 0.
1382
1383         * editing/TextIterator.cpp:
1384         (WebCore::TextIterator::TextIterator):
1385
1386 2011-09-08  Tony Chang  <tony@chromium.org>
1387
1388         Cleanup of switch statements with default cases
1389         https://bugs.webkit.org/show_bug.cgi?id=67808
1390
1391         Reviewed by Adam Barth.
1392
1393         No new tests, just a small refactoring.
1394
1395         * page/WebKitAnimation.cpp:
1396         (WebCore::WebKitAnimation::fillMode):
1397         * platform/audio/Distance.cpp:
1398         (WebCore::DistanceEffect::gain):
1399
1400 2011-09-08  Eric Seidel  <eric@webkit.org>
1401
1402         [BiDi] Add support for the BDI element
1403         https://bugs.webkit.org/show_bug.cgi?id=50913
1404
1405         Reviewed by Ryosuke Niwa.
1406
1407         This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
1408
1409         Test: css3/bdi-element.html
1410
1411         * css/html.css:
1412         (bdi):
1413
1414 2011-09-08  David Levin  <levin@chromium.org>
1415
1416         [chromium] KURL::copy doesn't produce something usable on another thread.
1417         https://bugs.webkit.org/show_bug.cgi?id=67809
1418
1419         Reviewed by Adam Barth.
1420
1421         No new functionality exposed so no new test. This was caught by testing code: the thread
1422         sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
1423
1424         * platform/KURLGoogle.cpp:
1425         (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
1426         not be used on another thread.
1427
1428 2011-09-08  Alexey Proskuryakov  <ap@apple.com>
1429
1430         REGRESSION (r66874): Missing RefPtr in ScriptController
1431         https://bugs.webkit.org/show_bug.cgi?id=67748
1432
1433         Reviewed by Adam Barth.
1434
1435         * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
1436
1437 2011-09-08  Adam Barth  <abarth@webkit.org>
1438
1439         Second attempt to fix Chromium build.
1440
1441         * dom/Document.h:
1442
1443 2011-09-08  Oliver Hunt  <oliver@apple.com>
1444
1445         Use bump allocator for initial property storage
1446         https://bugs.webkit.org/show_bug.cgi?id=67494
1447
1448         Reviewed by Geoffrey Garen.
1449
1450         Add a forwarding header.
1451
1452         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
1453
1454 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1455
1456         Unreviewed, rolling out r94809.
1457         http://trac.webkit.org/changeset/94809
1458         https://bugs.webkit.org/show_bug.cgi?id=67718
1459
1460         commit _still_ premature, despite CQ eagerness
1461
1462         * html/HTMLAttributeNames.in:
1463         * html/HTMLStyleElement.cpp:
1464         * html/HTMLStyleElement.h:
1465         * html/HTMLStyleElement.idl:
1466
1467 2011-09-08  Sam Weinig  <sam@webkit.org>
1468
1469         Remove the Completion object from JSC, I have never liked it
1470         https://bugs.webkit.org/show_bug.cgi?id=67755
1471
1472         Reviewed by Gavin Barraclough.
1473
1474         * bindings/js/JSDOMBinding.cpp:
1475         (WebCore::reportException):
1476         * bindings/js/JSEventListener.cpp:
1477         (WebCore::JSEventListener::handleEvent):
1478         * bindings/js/JSInjectedScriptManager.cpp:
1479         (WebCore::InjectedScriptManager::createInjectedScript):
1480         * bindings/js/JSMainThreadExecState.h:
1481         (WebCore::JSMainThreadExecState::evaluate):
1482         * bindings/js/ScriptController.cpp:
1483         (WebCore::ScriptController::evaluateInWorld):
1484         * bindings/js/WorkerScriptController.cpp:
1485         (WebCore::WorkerScriptController::evaluate):
1486         * bindings/objc/WebScriptObject.mm:
1487         (-[WebScriptObject evaluateWebScript:]):
1488         * bridge/NP_jsobject.cpp:
1489         (_NPN_Evaluate):
1490         * bridge/jni/jni_jsobject.mm:
1491         (JavaJSObject::eval):
1492
1493 2011-09-08  Adam Barth  <abarth@webkit.org>
1494
1495         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
1496         https://bugs.webkit.org/show_bug.cgi?id=67807
1497
1498         Reviewed by Eric Seidel.
1499
1500         This function is super nutty.  We don't want any more folks to call it
1501         thinking that it does something sane.
1502
1503         * loader/DocumentWriter.cpp:
1504         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1505         * loader/DocumentWriter.h:
1506
1507 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1508
1509         <style scoped>: Add 'scoped' attribute
1510         https://bugs.webkit.org/show_bug.cgi?id=67718
1511
1512         Add 'scoped' attribute to IDL and attribute list,
1513         implement and test setting/resetting of the attribute.
1514
1515         Reviewed by Dimitri Glazkov.
1516
1517         Test: fast/css/style-scoped/basic-attribute.html
1518
1519         * html/HTMLAttributeNames.in:
1520         * html/HTMLStyleElement.cpp:
1521         (WebCore::HTMLStyleElement::scoped):
1522         (WebCore::HTMLStyleElement::setScoped):
1523         (WebCore::HTMLStyleElement::scopingElement):
1524         * html/HTMLStyleElement.h:
1525         * html/HTMLStyleElement.idl:
1526
1527 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1528
1529         Unreviewed, rolling out r94781.
1530         http://trac.webkit.org/changeset/94781
1531         https://bugs.webkit.org/show_bug.cgi?id=67806
1532
1533         Broke Objective-C binding on Mac (Requested by rniwa on
1534         #webkit).
1535
1536         * dom/Element.idl:
1537         * dom/Node.cpp:
1538         (WebCore::Node::contains):
1539         * dom/Node.idl:
1540         * editing/DeleteSelectionCommand.cpp:
1541         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1542
1543 2011-09-08  Eric Seidel  <eric@webkit.org>
1544
1545         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
1546         https://bugs.webkit.org/show_bug.cgi?id=67803
1547
1548         Reviewed by Adam Barth.
1549
1550         Smells like dead code.
1551
1552         * loader/DocumentWriter.cpp:
1553         * loader/DocumentWriter.h:
1554
1555 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
1556
1557         Crashes in WebCore::ReplaceSelectionCommand::doApply
1558         https://bugs.webkit.org/show_bug.cgi?id=67762
1559
1560         Reviewed by Ryosuke Niwa.
1561
1562         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
1563
1564         Tests: editing/inserting/insert-without-enclosing-block.html
1565
1566         * editing/ReplaceSelectionCommand.cpp:
1567         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
1568
1569 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1570
1571         Unreviewed, rolling out r94784.
1572         http://trac.webkit.org/changeset/94784
1573         https://bugs.webkit.org/show_bug.cgi?id=67796
1574
1575         Commit was premature (Requested by rolandsteiner on #webkit).
1576
1577         * html/HTMLAttributeNames.in:
1578         * html/HTMLStyleElement.cpp:
1579         * html/HTMLStyleElement.h:
1580         * html/HTMLStyleElement.idl:
1581
1582 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
1583
1584         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
1585         https://bugs.webkit.org/show_bug.cgi?id=66472
1586
1587         This patch contains plumbing from Internals to WebViewImpl that can be removed
1588         at a later time when the zoom animator code is complete.
1589
1590         Reviewed by James Robinson.
1591
1592         Test: platform/chromium/compositing/zoom-animator-scale-test.html
1593
1594         * page/Settings.cpp:
1595         (WebCore::Settings::Settings):
1596         * page/Settings.h:
1597         (WebCore::Settings::setZoomAnimatorScale):
1598         (WebCore::Settings::zoomAnimatorScale):
1599         * platform/graphics/chromium/LayerRendererChromium.cpp:
1600         (WebCore::LayerRendererChromium::LayerRendererChromium):
1601         (WebCore::LayerRendererChromium::drawLayersInternal):
1602         * platform/graphics/chromium/LayerRendererChromium.h:
1603         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
1604         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1605         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1606         (WebCore::CCLayerTreeHost::commitTo):
1607         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
1608         (WebCore::CCLayerTreeHost::updateLayers):
1609         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1610         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1611         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
1612         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1613         * testing/Internals.cpp:
1614         (WebCore::Internals::setZoomAnimatorScale):
1615         * testing/Internals.h:
1616         * testing/Internals.idl:
1617
1618 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
1619
1620         HTMLMediaElement is missing initialTime attribute
1621         https://bugs.webkit.org/show_bug.cgi?id=67791
1622
1623         Reviewed by Darin Adler.
1624
1625         Test: media/media-initialTime.html
1626
1627         * html/HTMLMediaElement.cpp:
1628         (WebCore::HTMLMediaElement::initialTime):
1629         * html/HTMLMediaElement.h:
1630         * html/HTMLMediaElement.idl:
1631         * platform/graphics/MediaPlayer.cpp:
1632         (WebCore::MediaPlayer::initialTime):
1633         * platform/graphics/MediaPlayer.h:
1634         * platform/graphics/MediaPlayerPrivate.h:
1635         (WebCore::MediaPlayerPrivateInterface::initialTime):
1636
1637 2011-09-03  Robert Hogan  <robert@webkit.org>
1638
1639         Elements with position:absolute don't move to correct position after images load
1640         https://bugs.webkit.org/show_bug.cgi?id=54611
1641
1642         Reviewed by Simon Fraser.
1643
1644         Test: fast/block/positioning/absolute-layout-after-image-load.html
1645
1646         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
1647         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
1648         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
1649         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
1650
1651         Note: Although the issue is encountered only on first load without a fragment identifier, it 
1652         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
1653         because scrolling to the fragment always happens before the image has loaded, rendering the page 
1654         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
1655         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
1656         re-rendered.
1657
1658         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
1659               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
1660               in bug 67759.
1661
1662         * rendering/RenderBlock.cpp:
1663         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
1664                                                          deciding whether to mark children for layout
1665
1666 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1667
1668         <style scoped>: Add 'scoped' attribute
1669         https://bugs.webkit.org/show_bug.cgi?id=67718
1670
1671         Add 'scoped' attribute to IDL and attribute list,
1672         implement and test setting/resetting of the attribute.
1673
1674         Reviewed by Dimitri Glazkov.
1675
1676         Test: fast/css/style-scoped/basic-attribute.html
1677
1678         * html/HTMLAttributeNames.in:
1679         * html/HTMLStyleElement.cpp:
1680         (WebCore::HTMLStyleElement::scoped):
1681         (WebCore::HTMLStyleElement::setScoped):
1682         (WebCore::HTMLStyleElement::scopingElement):
1683         * html/HTMLStyleElement.h:
1684         * html/HTMLStyleElement.idl:
1685
1686 2011-09-08  Erik Arvidsson  <arv@chromium.org>
1687
1688         Move Element.contains to Node
1689         https://bugs.webkit.org/show_bug.cgi?id=67651
1690
1691         Reviewed by Darin Adler.
1692
1693         This moves the contains method from Element to Node as in the DOM4 working draft: 
1694         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
1695
1696         This also special cases Document contains to make it O(1) instead of O(depth).
1697
1698         Tests: fast/dom/Node/contains-method.html
1699                perf/document-contains.html
1700
1701         * dom/Element.idl:
1702         * dom/Node.cpp:
1703         (WebCore::Node::contains): Added document special case.
1704         * dom/Node.idl:
1705         * editing/DeleteSelectionCommand.cpp:
1706         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
1707
1708 2011-09-08  Chris Rogers  <crogers@google.com>
1709
1710         Check AudioContext createChannelMerger() for thread safety
1711         https://bugs.webkit.org/show_bug.cgi?id=67247
1712
1713         Reviewed by Kenneth Russell.
1714
1715         Test: webaudio/audiochannelmerger-stereo.html
1716
1717         * webaudio/AudioChannelMerger.cpp:
1718         (WebCore::AudioChannelMerger::process):
1719         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
1720         * webaudio/AudioChannelMerger.h:
1721
1722 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
1723
1724         Refactor hyphen measurement
1725         https://bugs.webkit.org/show_bug.cgi?id=67728
1726
1727         Reviewed by Darin Adler.
1728
1729         No new tests, purely refactoring.
1730
1731         * rendering/RenderBlockLineLayout.cpp:
1732         (WebCore::measureHyphenWidth): Added.
1733         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
1734         (WebCore::tryHyphenating): Ditto.
1735         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
1736
1737 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
1738
1739         Remove LayoutStateDisabler instances from RenderLayer
1740         https://bugs.webkit.org/show_bug.cgi?id=66896
1741
1742         Reviewed by Simon Fraser.
1743
1744         As part of r93614, scrollTo does not call updateLayerPositions anymore.
1745         This means that we don't need to disable LayoutState from the scrolling code
1746         in RenderLayer.
1747
1748         This change is covered by the existing tests.
1749
1750         * rendering/RenderLayer.cpp:
1751         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
1752         that was not accurate anymore. Also explained what is wrong with
1753         LayoutState vs RenderLayer now. Note that the ASSERT is still
1754         valid and will not trigger as the remaining calls to updateLayerPositions
1755         are done *outside* layout() where LayoutState is not set (thus disabled).
1756
1757         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
1758         2 LayoutStateDisabler surrounding scrollToOffset.
1759
1760 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
1761
1762         Factor out the code to get the first non-null RenderTableSection in RenderTable
1763         https://bugs.webkit.org/show_bug.cgi?id=66972
1764
1765         Reviewed by Darin Adler.
1766
1767         Refactoring only, covered by existing tests.
1768
1769         * accessibility/AccessibilityTable.cpp:
1770         (WebCore::AccessibilityTable::addChildren):
1771         (WebCore::AccessibilityTable::cellForColumnAndRow):
1772         * accessibility/AccessibilityTableCell.cpp:
1773         (WebCore::AccessibilityTableCell::rowIndexRange):
1774         Updated those for the signature change in sectionBelow. Also added
1775         a FIXME where topSection should be used instead of iterating
1776         over the section (and likely missing some corner cases).
1777
1778         * rendering/FixedTableLayout.cpp:
1779         (WebCore::FixedTableLayout::calcWidthArray):
1780         * rendering/RenderTable.cpp:
1781         (WebCore::RenderTable::calcBorderStart):
1782         (WebCore::RenderTable::calcBorderEnd):
1783         (WebCore::RenderTable::outerBorderBefore):
1784         (WebCore::RenderTable::sectionAbove):
1785         (WebCore::RenderTable::sectionBelow):
1786         (WebCore::RenderTable::firstLineBoxBaseline):
1787         Updated all those functions to use the newly added functions. Also changed
1788         the variable names to match the functions.
1789
1790         (WebCore::RenderTable::layout):
1791         (WebCore::RenderTable::topNonEmptySection): Newly added function
1792         that returns the top non null section of the table that has at least a
1793         row.
1794
1795         (WebCore::RenderTable::cellAbove):
1796         (WebCore::RenderTable::cellBelow):
1797         Update the signature of those 2 functions to take an enum as it makes the
1798         rest of the code more readable.
1799
1800         * rendering/RenderTable.h:
1801         (WebCore::RenderTable::topSection): Newly added function to return
1802         the top non null section in the table.
1803
1804 2011-04-19  Eric Seidel  <eric@webkit.org>
1805
1806         Reviewed by Ryosuke Niwa.
1807
1808         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
1809         https://bugs.webkit.org/show_bug.cgi?id=50912
1810
1811         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
1812         Parsing support was added in a previous patch, this wires up the RenderStyle values
1813         to code changes in the BidiResolver.
1814
1815         The effect of this patch is that it makes it possible to "isolate" runs of text
1816         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
1817         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
1818         do not have intrinsic directionality and are affected by whatever characters come before/after.
1819         If you have usernames which include RTL text, if you inject those usernames in your page
1820         you might end up with nearby characters moving!
1821         (like 'RTL USERNAME - my awesome site' as a title, could end up as
1822         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
1823         This patch makes it possible to wrap sections of text in isolated spans, so that
1824         they correctly order all their RTL/LTR contents, but also correctly participate in the
1825         larger RTL/LTR ordering without affecting nearby characters.
1826
1827         Because much of this code is old and rarely touched, I've included extra background
1828         information in hopes of expanding my set of potential reviewers:
1829
1830         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
1831         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
1832
1833         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
1834         (which in our case comes from the rendering tree) and a specified width.
1835         First:  Text is measured and wrapped into lines.
1836         Second: The UBA is run over the lines of text.
1837         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
1838
1839         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
1840         and then adds another step after running the UBA, where we run the UBA recursively on any
1841         previously identified "isolated" content.
1842
1843         The result of the UBA is an ordered list of "runs" of text with the RTL runs
1844         correctly RTL and the LTR runs LTR.
1845
1846         The UBA does three things:
1847         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
1848         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
1849         3.  Re-orders those runs.
1850
1851         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
1852
1853         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
1854         walks along its InlineIterators, looking at each character and running the
1855         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
1856         a block, using a (poorly named) bidiNext function which returns the next inline object.
1857         Each inline object (or text character there-in) has a corresponding meaning in the UBA
1858         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
1859         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
1860         characters it encounters, based on surrounding characters.
1861
1862         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
1863         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
1864         notifying InlineBidiResolver that it is entering or exiting an "isolated"
1865         span, at which point it will either start or stop ignoring the stream of characters
1866         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
1867         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
1868         as it normally would, it instead creates one "fake" run for the entire
1869         isolated span.  These fake runs participate in the normal UBA run ordering process,
1870         but after the main UBA, a second pass is made where we examine
1871         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
1872         run we previously inserted, with the resulting list of runs from that inner UBA run.
1873         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
1874         Thus all the characters end up grouped in a single run, but their directionality (as a group)
1875         is correctly affected by any surrounding strong characters.
1876
1877         If you understood that last paragraph, than the rest of the change is just plumbing.
1878
1879         I added a huge number of FIXMEs to this code, because this code has a variety of
1880         design choices (or lack there of) which make some of this very difficult.
1881
1882         For example the bidiNext iterator function has two sets of mutually exclusive
1883         parameters and can be used optionally with or without an observer.  Prior to this
1884         change there was only ever one object which cared about observing a walk over inlines
1885         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
1886         to support a new Observer type.  The correct fix would be to rip bidiNext into
1887         multiple functions and rip need for observation out of InlineBidiResolver.
1888         Unfortunately I've tried both in separate bugs and failed.  This code is very very
1889         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
1890
1891         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
1892         it's a good compromise between fixing all of the design gotcha's of our bidi
1893         system and doing the minimum amount to add this killer CSS feature.
1894
1895         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
1896
1897         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
1898
1899         * platform/text/BidiResolver.h:
1900         (WebCore::BidiCharacterRun::setNext):
1901          - Needed by the new replaceRunWithRuns function.
1902         (WebCore::BidiResolver::BidiResolver):
1903         (WebCore::BidiResolver::~BidiResolver):
1904         (WebCore::BidiResolver::enterIsolate):
1905         (WebCore::BidiResolver::exitIsolate):
1906         (WebCore::BidiResolver::inIsolate):
1907         (WebCore::BidiResolver::isolatedRuns):
1908          - Used to track isolated spans of text as they're encoutered.
1909            They're stuffed away here to be processed recursively
1910            after the main UBA has done its thang.
1911         (WebCore::::appendRun):
1912         (WebCore::::embed):
1913         (WebCore::::commitExplicitEmbedding):
1914         (WebCore::::createBidiRunsForLine):
1915         * platform/text/BidiRunList.h:
1916         (WebCore::::replaceRunWithRuns):
1917          - This effectively takes all the runs from one runlist and adds them to
1918            this one, replacing the fake run we inserted during a previous pass of the UBA.
1919          - This RunList now owns the runs, so we call clear() on the other RunList
1920            so that we don't end up double-freeing the runs.
1921         (WebCore::::clear):
1922          - This allows us to "take" runs from another run list and then clear it.
1923         * rendering/BidiRun.h:
1924         (WebCore::BidiRun::object):
1925         * rendering/InlineIterator.h:
1926         (WebCore::InlineIterator::object):
1927         (WebCore::InlineIterator::offset):
1928         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
1929         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
1930         (WebCore::addPlaceholderRunForIsolatedInline):
1931         (WebCore::isIsolatedInline):
1932         (WebCore::InlineBidiResolver::appendRun):
1933         * rendering/RenderBlockLineLayout.cpp:
1934         (WebCore::statusWithDirection):
1935         (WebCore::constructBidiRuns):
1936          - This is the heavy-lifting of this change.  This function
1937            runs the UBA recursively on all the previously identified isolated spans.
1938          - If we encounter more isolated spans in our run, we just add them to the
1939            main list an keep going.  Because the runs are linked lists and we have
1940            direct pointers to our placeholder objects, we don't care what order
1941            we process the placeholders in, so long as when we're done, they're all processed.
1942         (WebCore::RenderBlock::layoutInlineChildren):
1943
1944 2011-09-08  Kentaro Hara  <haraken@google.com>
1945
1946         Implement a ProgressEvent constructor for JSC
1947         https://bugs.webkit.org/show_bug.cgi?id=67537
1948
1949         Reviewed by Sam Weinig.
1950
1951         The spec for the ProgressEvent constructor is here:
1952         http://www.w3.org/TR/progress-events/#interface-progressevent
1953
1954         Test: fast/events/constructors/progress-event-constructor.html
1955
1956         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
1957         * bindings/js/JSDictionary.cpp:
1958         (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
1959         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
1960         * dom/ProgressEvent.cpp:
1961         (WebCore::ProgressEventInit::ProgressEventInit):
1962         (WebCore::ProgressEvent::ProgressEvent):
1963         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
1964         (WebCore::ProgressEvent::create):
1965         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
1966
1967 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
1968
1969         Make bindings tests quiet after r94701.
1970
1971         * bindings/scripts/test/JS/JSTestInterface.cpp:
1972         * bindings/scripts/test/JS/JSTestInterface.h:
1973         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1974         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1975         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1976         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
1977         * bindings/scripts/test/JS/JSTestObj.cpp:
1978         * bindings/scripts/test/JS/JSTestObj.h:
1979         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1980         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1981         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1982         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
1983
1984 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
1985
1986         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
1987         https://bugs.webkit.org/show_bug.cgi?id=67717
1988
1989         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
1990
1991         Reviewed by Yury Semikhatsky.
1992
1993         * inspector/front-end/DebuggerPresentationModel.js:
1994         (WebInspector.DebuggerPresentationModel):
1995         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
1996         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1997         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
1998         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1999         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
2000         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2001         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2002         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
2003         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2004         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2005         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2006         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2007         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
2008         (WebInspector.PresentationCallFrame.prototype.sourceLine):
2009         * inspector/front-end/SourceFile.js:
2010
2011 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
2012
2013         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
2014         https://bugs.webkit.org/show_bug.cgi?id=67647
2015
2016         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
2017         2) Add RawSourceCode unit tests.
2018         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
2019
2020         Reviewed by Yury Semikhatsky.
2021
2022         Test: inspector/debugger/raw-source-code.html
2023
2024         * inspector/front-end/DebuggerPresentationModel.js:
2025         (WebInspector.DebuggerPresentationModel):
2026         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2027         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2028         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2029         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2030         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2031         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2032         * inspector/front-end/ScriptsPanel.js:
2033         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2034         * inspector/front-end/SourceFile.js:
2035         (WebInspector.RawSourceCode):
2036         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2037         (WebInspector.RawSourceCode.prototype.setFormatted):
2038         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2039         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2040
2041 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2042
2043         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
2044         https://bugs.webkit.org/show_bug.cgi?id=67711
2045
2046         Reviewed by Yury Semikhatsky.
2047
2048         * inspector/front-end/ConsoleView.js:
2049         (WebInspector.ConsoleView.prototype._consoleCleared):
2050         (WebInspector.ConsoleView.prototype._registerShortcuts):
2051         (WebInspector.ConsoleView.prototype._promptKeyDown):
2052
2053 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
2054
2055         [Qt] Build fails with strict compiler
2056         https://bugs.webkit.org/show_bug.cgi?id=67778
2057
2058         Reviewed by Csaba Osztrogon√°c.
2059
2060         No new tests needed.
2061
2062         * platform/graphics/TiledBackingStore.cpp:
2063         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
2064         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
2065
2066 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2067
2068         Unreviewed, rolling out r94695.
2069         http://trac.webkit.org/changeset/94695
2070         https://bugs.webkit.org/show_bug.cgi?id=67776
2071
2072         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
2073         Zoltan on #webkit).
2074
2075         * rendering/RenderBlock.cpp:
2076         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
2077         (WebCore::RenderBlock::layoutPositionedObjects):
2078
2079 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2080
2081         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
2082
2083         * inspector/front-end/ApplicationCacheItemsView.js:
2084         * inspector/front-end/AuditResultView.js:
2085         * inspector/front-end/BinarySearch.js:
2086         * inspector/front-end/CSSStyleModel.js:
2087         * inspector/front-end/ConsoleMessage.js:
2088         * inspector/front-end/ConsoleModel.js:
2089         * inspector/front-end/ConsoleView.js:
2090         * inspector/front-end/CookieItemsView.js:
2091         * inspector/front-end/CookieParser.js:
2092         * inspector/front-end/DOMAgent.js:
2093         * inspector/front-end/DOMStorage.js:
2094         * inspector/front-end/DOMStorageItemsView.js:
2095         * inspector/front-end/DataGrid.js:
2096         * inspector/front-end/Database.js:
2097         * inspector/front-end/DatabaseQueryView.js:
2098         * inspector/front-end/DetailedHeapshotGridNodes.js:
2099         * inspector/front-end/DetailedHeapshotView.js:
2100         * inspector/front-end/ElementsTreeOutline.js:
2101         * inspector/front-end/EmptyView.js:
2102         * inspector/front-end/EventListenersSidebarPane.js:
2103         * inspector/front-end/ExtensionCommon.js:
2104         * inspector/front-end/GoToLineDialog.js:
2105         * inspector/front-end/HeapSnapshot.js:
2106         * inspector/front-end/HeapSnapshotProxy.js:
2107         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
2108         * inspector/front-end/ImageView.js:
2109         * inspector/front-end/InjectedFakeWorker.js:
2110         * inspector/front-end/InspectorFrontendHostStub.js:
2111         * inspector/front-end/MetricsSidebarPane.js:
2112         * inspector/front-end/NetworkManager.js:
2113         * inspector/front-end/NetworkPanel.js:
2114         * inspector/front-end/ObjectPropertiesSection.js:
2115         * inspector/front-end/PartialQuickSort.js:
2116         * inspector/front-end/ProfileView.js:
2117         * inspector/front-end/ProfilesPanel.js:
2118         * inspector/front-end/RemoteObject.js:
2119         * inspector/front-end/Resource.js:
2120         * inspector/front-end/ResourceCategory.js:
2121         * inspector/front-end/ResourceHTMLView.js:
2122         * inspector/front-end/ResourceHeadersView.js:
2123         * inspector/front-end/ResourceJSONView.js:
2124         * inspector/front-end/ResourceTimingView.js:
2125         * inspector/front-end/ResourceTreeModel.js:
2126         * inspector/front-end/ResourceView.js:
2127         * inspector/front-end/ResourcesPanel.js:
2128         * inspector/front-end/SearchController.js:
2129         * inspector/front-end/SettingsScreen.js:
2130         * inspector/front-end/ShortcutsScreen.js:
2131         * inspector/front-end/SourceCSSTokenizer.js:
2132         * inspector/front-end/SourceHTMLTokenizer.js:
2133         * inspector/front-end/SourceJavaScriptTokenizer.js:
2134         * inspector/front-end/StatusBarButton.js:
2135         * inspector/front-end/TextEditorModel.js:
2136         * inspector/front-end/TimelineGrid.js:
2137         * inspector/front-end/View.js:
2138         * inspector/front-end/heapProfiler.css:
2139         * inspector/front-end/inspector.css:
2140         * inspector/front-end/inspector.js:
2141         * inspector/front-end/inspectorSyntaxHighlight.css:
2142         * inspector/front-end/networkPanel.css:
2143         * inspector/front-end/treeoutline.js:
2144         * inspector/front-end/utilities.js:
2145
2146 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
2147
2148         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
2149         https://bugs.webkit.org/show_bug.cgi?id=67715
2150
2151         Reviewed by Yury Semikhatsky.
2152
2153         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
2154
2155         * inspector/front-end/TextViewer.js:
2156         (WebInspector.TextViewer.forwardWheelEvent):
2157         (WebInspector.TextViewer):
2158
2159 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2160
2161         Unreviewed, rolling out r94674 and r94689.
2162         http://trac.webkit.org/changeset/94674
2163         http://trac.webkit.org/changeset/94689
2164         https://bugs.webkit.org/show_bug.cgi?id=67754
2165
2166         Broke inspector/debugger/script-formatter.html (Requested by
2167         rniwa on #webkit).
2168
2169         * inspector/front-end/DebuggerPresentationModel.js:
2170         (WebInspector.DebuggerPresentationModel):
2171         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
2172         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
2173         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2174         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2175         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2176         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2177         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2178         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2179         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2180         * inspector/front-end/ScriptsPanel.js:
2181         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2182         * inspector/front-end/SourceFile.js:
2183         (WebInspector.RawSourceCode):
2184         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2185         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
2186         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2187         (WebInspector.RawSourceCode.prototype.requestContent):
2188         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2189
2190 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
2191
2192         offsetFromRoot optimization is disabled after r93837
2193         https://bugs.webkit.org/show_bug.cgi?id=67677
2194
2195         Reviewed by Simon Fraser.
2196
2197         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
2198         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
2199         have a good test harness to cover such slowdown.
2200
2201         * rendering/RenderLayer.cpp:
2202         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
2203         the optimization altogether.
2204
2205         (WebCore::RenderLayer::computeRepaintRects):
2206         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2207         * rendering/RenderLayer.h:
2208         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
2209
2210 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2211
2212         Windows build fix after r94737.
2213
2214         * rendering/RenderBlock.cpp:
2215         (WebCore::RenderBlock::adjustRectForColumns):
2216
2217 2011-09-07  Dan Bernstein  <mitz@apple.com>
2218
2219         Removed hyphenation function implementations for an usupported build configuration.
2220
2221         Reviewed by Sam Weinig.
2222
2223         * platform/text/cf/HyphenationCF.cpp:
2224
2225 2011-09-07  David Hyatt  <hyatt@apple.com>
2226
2227         https://bugs.webkit.org/show_bug.cgi?id=67739
2228
2229         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
2230         function by removing the loop and just computing the start and end column for a repaint rect
2231         and uniting everything in between.
2232
2233         Reviewed by Dan Bernstein.
2234
2235         * rendering/RenderBlock.cpp:
2236         (WebCore::RenderBlock::adjustRectForColumns):
2237
2238 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2239
2240         Unreviewed, rolling out r94714 and r94723.
2241         http://trac.webkit.org/changeset/94714
2242         http://trac.webkit.org/changeset/94723
2243         https://bugs.webkit.org/show_bug.cgi?id=67746
2244
2245         breaks gtk-linux tests with assertion failure (Requested by
2246         thorton on #webkit).
2247
2248         * platform/graphics/GraphicsContext.cpp:
2249         (WebCore::GraphicsContext::GraphicsContext):
2250         (WebCore::GraphicsContext::~GraphicsContext):
2251         * platform/graphics/GraphicsContext.h:
2252         (WebCore::GraphicsContext::inTransparencyLayer):
2253         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2254         (WebCore::GraphicsContext::beginTransparencyLayer):
2255         (WebCore::GraphicsContext::endTransparencyLayer):
2256         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2257         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2258         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2259         * platform/graphics/cg/GraphicsContextCG.cpp:
2260         (WebCore::GraphicsContext::beginTransparencyLayer):
2261         (WebCore::GraphicsContext::endTransparencyLayer):
2262         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2263         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2264         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2265         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2266         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2267         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2268         (WebCore::GraphicsContext::beginTransparencyLayer):
2269         (WebCore::GraphicsContext::endTransparencyLayer):
2270         * platform/graphics/mac/FontMac.mm:
2271         (WebCore::Font::drawGlyphs):
2272         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2273         (WebCore::GraphicsContext::beginTransparencyLayer):
2274         (WebCore::GraphicsContext::endTransparencyLayer):
2275         * platform/graphics/qt/GraphicsContextQt.cpp:
2276         (WebCore::GraphicsContext::inTransparencyLayer):
2277         (WebCore::GraphicsContext::beginTransparencyLayer):
2278         (WebCore::GraphicsContext::endTransparencyLayer):
2279         * platform/graphics/skia/GraphicsContextSkia.cpp:
2280         (WebCore::GraphicsContext::beginTransparencyLayer):
2281         (WebCore::GraphicsContext::endTransparencyLayer):
2282         * platform/graphics/win/FontCGWin.cpp:
2283         (WebCore::drawGDIGlyphs):
2284         * platform/graphics/win/GraphicsContextCGWin.cpp:
2285         (WebCore::GraphicsContext::releaseWindowsContext):
2286         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2287         (WebCore::GraphicsContext::releaseWindowsContext):
2288         * platform/graphics/win/GraphicsContextWin.cpp:
2289         (WebCore::GraphicsContext::inTransparencyLayer):
2290         (WebCore::GraphicsContext::getWindowsContext):
2291         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2292         (WebCore::GraphicsContext::beginTransparencyLayer):
2293         (WebCore::GraphicsContext::endTransparencyLayer):
2294         * platform/graphics/wx/GraphicsContextWx.cpp:
2295         (WebCore::GraphicsContext::beginTransparencyLayer):
2296         (WebCore::GraphicsContext::endTransparencyLayer):
2297         * platform/win/ScrollbarThemeWin.cpp:
2298         (WebCore::ScrollbarThemeWin::paintTrackPiece):
2299         (WebCore::ScrollbarThemeWin::paintButton):
2300         (WebCore::ScrollbarThemeWin::paintThumb):
2301         * plugins/win/PluginViewWin.cpp:
2302         (WebCore::PluginView::paint):
2303         * rendering/RenderThemeWin.cpp:
2304         (WebCore::drawControl):
2305
2306 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
2307
2308         Changes to aria-hidden don't change VO navigation
2309         https://bugs.webkit.org/show_bug.cgi?id=67722
2310
2311         Reviewed by Darin Adler.
2312
2313         When altering aria-hidden, WebCore needs to update the children caches of 
2314         affected elements. However, for elements that were children, but ignored, their
2315         caches did not get updated, and stale information would be propagated.
2316
2317         The fix is to always clearChildren() when a parent is asking for children. This 
2318         ensures information is always up to date when the parent itself is asking for new data.
2319
2320         Test: accessibility/aria-hidden-updates-alldescendants.html
2321
2322         * accessibility/AccessibilityObject.h:
2323         * accessibility/AccessibilityRenderObject.cpp:
2324         (WebCore::AccessibilityRenderObject::ariaIsHidden):
2325         (WebCore::AccessibilityRenderObject::childrenChanged):
2326         (WebCore::AccessibilityRenderObject::addChildren):
2327
2328 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2329
2330         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
2331         https://bugs.webkit.org/show_bug.cgi?id=67543
2332         <rdar://problem/10070536>
2333
2334         Reviewed by Simon Fraser.
2335
2336         Generalize (begin|end)TransparencyLayer, which now forward
2337         through to (begin|end)PlatformTransparencyLayer, so that
2338         isInTransparencyLayer can exist on every platform.
2339
2340         Make use of isInTransparencyLayer in FontMac to disable
2341         "simple" shadow drawing when the text is being rendered
2342         into a transparency layer.
2343
2344         Test: svg/custom/simple-text-double-shadow.svg
2345
2346         * platform/graphics/GraphicsContext.cpp:
2347         (WebCore::GraphicsContext::GraphicsContext):
2348         (WebCore::GraphicsContext::~GraphicsContext):
2349         (WebCore::GraphicsContext::beginTransparencyLayer):
2350         (WebCore::GraphicsContext::endTransparencyLayer):
2351         (WebCore::GraphicsContext::isInTransparencyLayer):
2352         * platform/graphics/GraphicsContext.h:
2353         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2354         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2355         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2356         (WebCore::GraphicsContext::supportsTransparencyLayers):
2357         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2358         * platform/graphics/cg/GraphicsContextCG.cpp:
2359         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2360         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2361         (WebCore::GraphicsContext::supportsTransparencyLayers):
2362         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2363         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2364         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2365         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2366         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2367         (WebCore::GraphicsContext::supportsTransparencyLayers):
2368         * platform/graphics/mac/FontMac.mm:
2369         (WebCore::Font::drawGlyphs):
2370         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2371         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2372         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2373         (WebCore::GraphicsContext::supportsTransparencyLayers):
2374         * platform/graphics/qt/GraphicsContextQt.cpp:
2375         (WebCore::GraphicsContext::isInTransparencyLayer):
2376         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2377         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2378         (WebCore::GraphicsContext::supportsTransparencyLayers):
2379         * platform/graphics/skia/GraphicsContextSkia.cpp:
2380         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2381         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2382         (WebCore::GraphicsContext::supportsTransparencyLayers):
2383         * platform/graphics/win/FontCGWin.cpp:
2384         (WebCore::drawGDIGlyphs):
2385         * platform/graphics/win/GraphicsContextCGWin.cpp:
2386         (WebCore::GraphicsContext::releaseWindowsContext):
2387         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2388         (WebCore::GraphicsContext::releaseWindowsContext):
2389         * platform/graphics/win/GraphicsContextWin.cpp:
2390         (WebCore::GraphicsContext::getWindowsContext):
2391         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2392         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2393         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2394         (WebCore::GraphicsContext::supportsTransparencyLayers):
2395         * platform/graphics/wx/GraphicsContextWx.cpp:
2396         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2397         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2398         (WebCore::GraphicsContext::supportsTransparencyLayers):
2399         * platform/win/ScrollbarThemeWin.cpp:
2400         * plugins/win/PluginViewWin.cpp:
2401         * rendering/RenderThemeWin.cpp:
2402
2403 2011-09-07  Dan Bernstein  <mitz@apple.com>
2404
2405         <rdar://problem/8881922> Support the hyphenate-limit-lines property
2406         https://bugs.webkit.org/show_bug.cgi?id=67730
2407
2408         Reviewed by Dave Hyatt.
2409
2410         Tests: fast/css/parsing-hyphenate-limit-lines.html
2411                fast/text/hyphenate-limit-lines.html
2412
2413         * css/CSSComputedStyleDeclaration.cpp:
2414         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
2415         * css/CSSParser.cpp:
2416         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
2417         "no-limit".
2418         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
2419         * css/CSSStyleSelector.cpp:
2420         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
2421         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
2422         * rendering/RenderBlock.h:
2423         * rendering/RenderBlockLineLayout.cpp:
2424         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
2425         before the start line and pass it to layoutRunsAndFloatsInRange().
2426         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
2427         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
2428         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
2429         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
2430         has been reached.
2431         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
2432         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
2433         the value of hyphenate-limit-lines.
2434         * rendering/RootInlineBox.cpp:
2435         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
2436         * rendering/RootInlineBox.h:
2437         * rendering/style/RenderStyle.h:
2438         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
2439         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
2440         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
2441         corresponding to "no-limit".
2442         * rendering/style/StyleRareInheritedData.cpp:
2443         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
2444         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
2445         * rendering/style/StyleRareInheritedData.h:
2446
2447 2011-09-02  Ojan Vafai  <ojan@chromium.org>
2448
2449         split overrideSize into overrideHeight and overrideWidth
2450         https://bugs.webkit.org/show_bug.cgi?id=67550
2451
2452         Reviewed by Sam Weinig.
2453
2454         All uses of overrideSize only set one of the width or the height.
2455         This change removes a bool from RenderObject and removes some
2456         flexbox specific logic from RenderBox.
2457
2458         The only downside is that we have two global maps where we used
2459         to have one.
2460
2461         No functional changes so existing tests are sufficient.
2462
2463         * rendering/RenderBox.cpp:
2464         (WebCore::RenderBox::hasOverrideHeight):
2465         (WebCore::RenderBox::hasOverrideWidth):
2466         (WebCore::RenderBox::setOverrideHeight):
2467         (WebCore::RenderBox::setOverrideWidth):
2468         (WebCore::RenderBox::clearOverrideSize):
2469         (WebCore::RenderBox::overrideWidth):
2470         (WebCore::RenderBox::overrideHeight):
2471         (WebCore::RenderBox::computeLogicalWidth):
2472         (WebCore::RenderBox::computeLogicalHeight):
2473         (WebCore::RenderBox::computePercentageLogicalHeight):
2474         * rendering/RenderBox.h:
2475         * rendering/RenderDeprecatedFlexibleBox.cpp:
2476         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2477         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2478         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2479         * rendering/RenderFlexibleBox.cpp:
2480         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
2481         * rendering/RenderObject.cpp:
2482         (WebCore::RenderObject::RenderObject):
2483         * rendering/RenderObject.h:
2484         * rendering/RenderTableCell.cpp:
2485         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
2486         * rendering/RenderTableCell.h:
2487         * rendering/RenderTableSection.cpp:
2488         (WebCore::RenderTableSection::calcRowLogicalHeight):
2489         (WebCore::RenderTableSection::layoutRows):
2490
2491 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
2492
2493         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
2494         https://bugs.webkit.org/show_bug.cgi?id=67511
2495
2496         Reviewed by Dimitri Glazkov.
2497
2498         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
2499                platform/chromium-mac/rubberbanding/overhang-n.html
2500                platform/chromium-mac/rubberbanding/overhang-ne.html
2501                platform/chromium-mac/rubberbanding/overhang-nw.html
2502                platform/chromium-mac/rubberbanding/overhang-s.html
2503                platform/chromium-mac/rubberbanding/overhang-se.html
2504                platform/chromium-mac/rubberbanding/overhang-sw.html
2505                platform/chromium-mac/rubberbanding/overhang-w.html
2506
2507         * WebCore.exp.in:
2508         * platform/ScrollableArea.h:
2509         * testing/Internals.cpp:
2510         (WebCore::Internals::setScrollViewPosition):
2511         * testing/Internals.h:
2512         * testing/Internals.idl:
2513
2514 2011-09-07  David Reveman  <reveman@chromium.org>
2515
2516         [Chromium] Render surface anti-aliasing.
2517         https://bugs.webkit.org/show_bug.cgi?id=66437
2518
2519         Reviewed by James Robinson.
2520
2521         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
2522         edge computations to be shared between tiled layers and render
2523         surfaces. Move isCCW utility function to FloatQuad class and
2524         add to2dTransform method to TransformationMatrix class. Add
2525         necessary anti-aliasing shaders for render surfaces and use them
2526         to avoid aliased edges.
2527
2528         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
2529
2530         * WebCore.gypi:
2531         * platform/graphics/FloatQuad.cpp:
2532         (WebCore::FloatQuad::isCounterclockwise):
2533         * platform/graphics/FloatQuad.h:
2534         * platform/graphics/chromium/LayerChromium.cpp:
2535         (WebCore::LayerChromium::drawTexturedQuad):
2536         * platform/graphics/chromium/LayerChromium.h:
2537         * platform/graphics/chromium/LayerRendererChromium.cpp:
2538         (WebCore::LayerRendererChromium::LayerRendererChromium):
2539         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
2540         (WebCore::LayerRendererChromium::renderSurfaceProgram):
2541         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
2542         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
2543         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
2544         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
2545         (WebCore::LayerRendererChromium::canvasLayerProgram):
2546         (WebCore::LayerRendererChromium::pluginLayerProgram):
2547         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
2548         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
2549         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2550         * platform/graphics/chromium/LayerRendererChromium.h:
2551         (WebCore::LayerRendererChromium::sharedGeometryQuad):
2552         * platform/graphics/chromium/ShaderChromium.cpp:
2553         (WebCore::VertexShaderQuad::VertexShaderQuad):
2554         (WebCore::VertexShaderQuad::init):
2555         (WebCore::VertexShaderQuad::getShaderString):
2556         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
2557         (WebCore::FragmentShaderRGBATexAlphaAA::init):
2558         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
2559         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
2560         (WebCore::FragmentTexClampAlphaAABinding::init):
2561         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
2562         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
2563         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
2564         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
2565         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
2566         * platform/graphics/chromium/ShaderChromium.h:
2567         (WebCore::VertexShaderQuad::matrixLocation):
2568         (WebCore::VertexShaderQuad::pointLocation):
2569         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
2570         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
2571         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
2572         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
2573         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
2574         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
2575         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
2576         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2577         (WebCore::CCCanvasLayerImpl::draw):
2578         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2579         (WebCore::CCHeadsUpDisplay::draw):
2580         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
2581         (WebCore::CCLayerQuad::Edge::Edge):
2582         (WebCore::CCLayerQuad::CCLayerQuad):
2583         (WebCore::CCLayerQuad::floatQuad):
2584         (WebCore::CCLayerQuad::toFloatArray):
2585         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
2586         (WebCore::CCLayerQuad::Edge::Edge):
2587         (WebCore::CCLayerQuad::Edge::x):
2588         (WebCore::CCLayerQuad::Edge::y):
2589         (WebCore::CCLayerQuad::Edge::z):
2590         (WebCore::CCLayerQuad::Edge::setX):
2591         (WebCore::CCLayerQuad::Edge::setY):
2592         (WebCore::CCLayerQuad::Edge::setZ):
2593         (WebCore::CCLayerQuad::Edge::set):
2594         (WebCore::CCLayerQuad::Edge::moveX):
2595         (WebCore::CCLayerQuad::Edge::moveY):
2596         (WebCore::CCLayerQuad::Edge::moveZ):
2597         (WebCore::CCLayerQuad::Edge::move):
2598         (WebCore::CCLayerQuad::Edge::scaleX):
2599         (WebCore::CCLayerQuad::Edge::scaleY):
2600         (WebCore::CCLayerQuad::Edge::scaleZ):
2601         (WebCore::CCLayerQuad::Edge::scale):
2602         (WebCore::CCLayerQuad::Edge::intersect):
2603         (WebCore::CCLayerQuad::CCLayerQuad):
2604         (WebCore::CCLayerQuad::left):
2605         (WebCore::CCLayerQuad::top):
2606         (WebCore::CCLayerQuad::right):
2607         (WebCore::CCLayerQuad::bottom):
2608         (WebCore::CCLayerQuad::inflateX):
2609         (WebCore::CCLayerQuad::inflateY):
2610         (WebCore::CCLayerQuad::inflate):
2611         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
2612         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2613         (WebCore::CCPluginLayerImpl::draw):
2614         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2615         (WebCore::CCRenderSurface::draw):
2616         (WebCore::CCRenderSurface::drawLayer):
2617         (WebCore::CCRenderSurface::drawSurface):
2618         * platform/graphics/chromium/cc/CCRenderSurface.h:
2619         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2620         (WebCore::CCTiledLayerImpl::draw):
2621         (WebCore::CCTiledLayerImpl::drawTiles):
2622         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2623         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2624         (WebCore::CCVideoLayerImpl::drawYUV):
2625         (WebCore::CCVideoLayerImpl::drawRGBA):
2626         * platform/graphics/transforms/TransformationMatrix.cpp:
2627         (WebCore::TransformationMatrix::to2dTransform):
2628         * platform/graphics/transforms/TransformationMatrix.h:
2629
2630 2011-09-06  Oliver Hunt  <oliver@apple.com>
2631
2632         Remove JSObjectWithGlobalObject
2633         https://bugs.webkit.org/show_bug.cgi?id=67689
2634
2635         Reviewed by Geoff Garen.
2636
2637         Remove use of anonymous storage and JSObjectWithGlobalObject for
2638         accessing a JSObject's global object now that they're available
2639         on the object's structure.
2640
2641         * bindings/js/JSDOMWindowShell.cpp:
2642         (WebCore::JSDOMWindowShell::setWindow):
2643         * bindings/js/JSDOMWrapper.h:
2644         (WebCore::JSDOMWrapper::globalObject):
2645         (WebCore::JSDOMWrapper::JSDOMWrapper):
2646         * bindings/js/WorkerScriptController.cpp:
2647         (WebCore::WorkerScriptController::initScript):
2648         * bindings/scripts/CodeGeneratorJS.pm:
2649         (GenerateHeader):
2650         (GenerateImplementation):
2651         * bridge/objc/objc_runtime.h:
2652         * bridge/objc/objc_runtime.mm:
2653         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2654         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
2655         * bridge/runtime_object.cpp:
2656         (JSC::Bindings::RuntimeObject::RuntimeObject):
2657         (JSC::Bindings::RuntimeObject::finishCreation):
2658         * bridge/runtime_object.h:
2659
2660 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2661
2662         Mac build fix after r94694.
2663
2664         * WebCore.xcodeproj/project.pbxproj:
2665
2666 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2667
2668         FELighting is using width instead of height to determine skip for parallel(n>2) case
2669         https://bugs.webkit.org/show_bug.cgi?id=67719
2670         <rdar://problem/10086178>
2671
2672         Reviewed by Dirk Schulze.
2673
2674         No new tests, because the bug only exhibits under conditions which are currently
2675         impossible by default (using more than 2 cores) on some platforms.
2676
2677         * platform/graphics/filters/FELighting.cpp:
2678         (WebCore::FELighting::platformApplyGeneric):
2679
2680 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
2681
2682         Eliminate motion jitter in animated, blurred SVG image
2683         https://bugs.webkit.org/show_bug.cgi?id=67503
2684
2685         Fixes filter shear-free transform applied to SVG images.
2686
2687         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
2688         which is based on the object bounding box (which doesn't move). For a rotation
2689         around the centre of the box, this should really just be the identity matrix,
2690         since the BB should neither change size nor location. So really, we're just interested
2691         in the scale change of the BB here, and not in moving it.
2692
2693         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
2694         for vertical and horizontal slices, so the test verifies these.
2695
2696         Reviewed by Dirk Schulze.
2697
2698         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
2699
2700         * rendering/svg/RenderSVGResourceFilter.cpp:
2701         (WebCore::RenderSVGResourceFilter::applyResource):
2702
2703 2011-09-03  Robert Hogan  <robert@webkit.org>
2704
2705         Elements with position:absolute don't move to correct position after images load
2706         https://bugs.webkit.org/show_bug.cgi?id=54611
2707
2708         Reviewed by Simon Fraser.
2709
2710         Test: fast/block/positioning/absolute-layout-after-image-load.html
2711               fast/block/positioning/positioned-float-layout-after-image-load.html
2712
2713         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
2714         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
2715         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
2716         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
2717         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
2718         takes care of it this at least ensures no regression in future.
2719
2720         Note: Although the issue is encountered only on first load without a fragment identifier, it 
2721         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
2722         because scrolling to the fragment always happens before the image has loaded, rendering the page 
2723         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
2724         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
2725         re-rendered.
2726
2727         * rendering/RenderBlock.cpp:
2728         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
2729                                                          deciding whether to mark children for layout
2730         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
2731
2732 2011-09-07  Anna Cavender  <annacc@chromium.org>
2733
2734         Moving platform/track to html/track to avoid layering violation.
2735         https://bugs.webkit.org/show_bug.cgi?id=67680
2736
2737         Reviewed by Adam Barth.
2738
2739         No new tests. No new functionality.
2740
2741         * CMakeLists.txt:
2742         * GNUmakefile.am:
2743         * GNUmakefile.list.am:
2744         * WebCore.gyp/WebCore.gyp:
2745         * WebCore.gypi:
2746         * WebCore.pri:
2747         * WebCore.pro:
2748         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
2749         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
2750         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
2751         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
2752         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
2753         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
2754         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
2755         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
2756
2757 2011-09-07  David Hyatt  <hyatt@apple.com>
2758
2759         https://bugs.webkit.org/show_bug.cgi?id=67286
2760
2761         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
2762
2763         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
2764         leading to just be the block height.
2765
2766         Reviewed by Dan Bernstein.
2767
2768         * rendering/RenderBlockLineLayout.cpp:
2769         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2770
2771 2011-09-06  Abhishek Arya  <inferno@chromium.org>
2772
2773         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
2774         https://bugs.webkit.org/show_bug.cgi?id=67669
2775
2776         Reviewed by James Robinson.
2777
2778         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
2779         call. We need a null check in updateScrollbarParts, so that we do not crash.
2780
2781         No tests since issue seen in crash reports only and I donot know a way to
2782         reproduce.
2783
2784         * rendering/RenderScrollbar.cpp:
2785         (WebCore::RenderScrollbar::updateScrollbarParts):
2786
2787 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2788
2789         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
2790         https://bugs.webkit.org/show_bug.cgi?id=67606
2791
2792         Reviewed by Noam Rosenthal.
2793
2794         TiledBackingStore previously used different values for horizontal and vertial multiplication
2795         to calculate the cover area.
2796         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
2797         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
2798         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
2799         of the viewport.
2800
2801         * platform/graphics/TiledBackingStore.cpp:
2802         (WebCore::TiledBackingStore::TiledBackingStore):
2803         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
2804         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
2805         (WebCore::TiledBackingStore::createTiles):
2806         (WebCore::TiledBackingStore::calculateKeepRect):
2807         (WebCore::TiledBackingStore::calculateCoverRect):
2808         * platform/graphics/TiledBackingStore.h:
2809         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
2810
2811 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2812
2813         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
2814         https://bugs.webkit.org/show_bug.cgi?id=67416
2815
2816         Reviewed by Kenneth Rohde Christiansen.
2817
2818         Original code by Antti Koivisto.
2819         With the current code, when the page is layouted during load, edge tiles will
2820         get removed instead of continuing to show their front buffer while the tile
2821         is being rendered for the new size.
2822
2823         * platform/graphics/Tile.h:
2824         * platform/graphics/TiledBackingStore.cpp:
2825         (WebCore::TiledBackingStore::createTiles):
2826         (WebCore::TiledBackingStore::resizeEdgeTiles):
2827         * platform/graphics/TiledBackingStore.h:
2828         * platform/graphics/qt/TileQt.cpp:
2829         (WebCore::TileQt::resize):
2830         * platform/graphics/qt/TileQt.h:
2831
2832 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2833
2834         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
2835         https://bugs.webkit.org/show_bug.cgi?id=67242
2836         <rdar://problem/10069770>
2837
2838         Reviewed by Dirk Schulze.
2839
2840         No new tests, minor performance improvement.
2841
2842         * platform/graphics/transforms/AffineTransform.cpp:
2843         (WebCore::AffineTransform::blend):
2844         (WebCore::AffineTransform::decompose):
2845         (WebCore::AffineTransform::recompose):
2846         * platform/graphics/transforms/AffineTransform.h:
2847         * rendering/svg/SVGImageBufferTools.cpp:
2848         (WebCore::SVGImageBufferTools::clear2DRotation):
2849
2850 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
2851
2852         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
2853         https://bugs.webkit.org/show_bug.cgi?id=67647
2854
2855         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
2856         2) Add RawSourceCode unit tests.
2857         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
2858
2859         Reviewed by Yury Semikhatsky.
2860
2861         Test: inspector/debugger/raw-source-code.html
2862
2863         * inspector/front-end/DebuggerPresentationModel.js:
2864         (WebInspector.DebuggerPresentationModel):
2865         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2866         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2867         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2868         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2869         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2870         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2871         * inspector/front-end/ScriptsPanel.js:
2872         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2873         * inspector/front-end/SourceFile.js:
2874         (WebInspector.RawSourceCode):
2875         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2876         (WebInspector.RawSourceCode.prototype.setFormatted):
2877         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2878         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2879
2880 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
2881
2882         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
2883         https://bugs.webkit.org/show_bug.cgi?id=67127
2884
2885         Reviewed by Yury Semikhatsky.
2886
2887         * inspector/front-end/Section.js:
2888         (WebInspector.Section.prototype.get firstSibling):
2889         (WebInspector.Section.prototype.get lastSibling):
2890         * inspector/front-end/StylesSidebarPane.js:
2891         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
2892         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
2893         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
2894         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
2895         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2896         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2897         (WebInspector.StylePropertyTreeElement.prototype):
2898         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
2899
2900 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
2901
2902         Web Inspector: [Extensions API] expose console API
2903         https://bugs.webkit.org/show_bug.cgi?id=67506
2904
2905         Reviewed by Pavel Feldman.
2906
2907         Test: inspector/extensions/extensions-console.html
2908
2909         * inspector/front-end/ConsoleMessage.js:
2910         (WebInspector.ConsoleMessage.prototype.get text):
2911         (WebInspector.ConsoleMessage.prototype.get parameters):
2912         * inspector/front-end/ExtensionAPI.js:
2913         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
2914         (WebInspector.injectedExtensionAPI):
2915         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
2916         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
2917         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
2918         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
2919         (WebInspector.injectedExtensionAPI.Network):
2920         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
2921         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
2922         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
2923         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
2924         (WebInspector.injectedExtensionAPI.InspectedWindow):
2925         * inspector/front-end/ExtensionCommon.js:
2926         (WebInspector.commonExtensionSymbols):
2927         * inspector/front-end/ExtensionServer.js:
2928         (WebInspector.ExtensionServer):
2929         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
2930         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
2931         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2932         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
2933         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
2934         (WebInspector.ExtensionServer.prototype._dispatchCallback):
2935         (WebInspector.ExtensionServer.prototype.initExtensions):
2936
2937 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
2938
2939         Web Inspector: disable popover when a mouse button is pressed
2940         https://bugs.webkit.org/show_bug.cgi?id=67610
2941
2942         Reviewed by Pavel Feldman.
2943
2944         - disable popover when a mouse button is pressed
2945         - disable popover in a SourceFrame when the source is being edited
2946
2947         * inspector/front-end/Popover.js:
2948         (WebInspector.PopoverHelper):
2949         (WebInspector.PopoverHelper.prototype._mouseUp):
2950         (WebInspector.PopoverHelper.prototype._mouseDown):
2951         (WebInspector.PopoverHelper.prototype._handleMouseAction):
2952         * inspector/front-end/SourceFrame.js:
2953         (WebInspector.SourceFrame.prototype._onHidePopover):
2954         (WebInspector.SourceFrame.prototype.doubleClick):
2955
2956 2011-09-07  Antti Koivisto  <antti@apple.com>
2957
2958         https://bugs.webkit.org/show_bug.cgi?id=67634
2959         De-virtualize styleForRenderer()
2960
2961         Reviewed by Sam Weinig.
2962         
2963         This has performance and code clarity benefits.
2964
2965         - move styleForRenderer from Node to Element
2966         - get rid of the now unnecessary NodeRenderingContext parameter
2967         - de-virtualize, add virtual customStyleForRenderer()
2968
2969         * dom/Element.cpp:
2970         (WebCore::Element::customStyleForRenderer):
2971         (WebCore::Element::styleForRenderer):
2972         (WebCore::Element::recalcStyle):
2973         * dom/Element.h:
2974         * dom/Node.cpp:
2975         * dom/Node.h:
2976         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
2977         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
2978         (WebCore::Node::hasCustomStyleForRenderer):
2979         (WebCore::Node::setHasCustomStyleForRenderer):
2980         
2981             Move styleForRenderer, add customStyleForRenderer, add a bit.
2982         
2983         * dom/NodeRenderingContext.cpp:
2984         (WebCore::NodeRendererFactory::createRendererAndStyle): 
2985         
2986             Handle non-element case separately since styleForRenderer was moved from Node to Element.
2987
2988         * html/HTMLNoScriptElement.cpp:
2989         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
2990         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
2991         * html/HTMLNoScriptElement.h:
2992         
2993             Move a strange XHTMLMP special case to where it belongs.
2994
2995         * html/HTMLOptGroupElement.cpp:
2996         (WebCore::HTMLOptGroupElement::attach):
2997         * html/HTMLOptionElement.cpp:
2998         (WebCore::HTMLOptionElement::attach):
2999         * html/HTMLTitleElement.cpp:
3000         (WebCore::HTMLTitleElement::textWithDirection):
3001         * html/shadow/TextControlInnerElements.cpp:
3002         (WebCore::TextControlInnerElement::TextControlInnerElement):
3003         (WebCore::TextControlInnerElement::customStyleForRenderer):
3004         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
3005         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
3006         * html/shadow/TextControlInnerElements.h:
3007         * rendering/svg/SVGShadowTreeElements.cpp:
3008         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
3009         * rendering/svg/SVGShadowTreeElements.h:
3010         * svg/SVGElement.cpp:
3011         (WebCore::SVGElement::SVGElement):
3012         (WebCore::SVGElement::customStyleForRenderer):
3013         * svg/SVGElement.h:
3014         
3015             Adopt customStyleForRenderer().
3016
3017 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
3018
3019         Change event is not fired for input[type=number] when the user reverts a change made by script
3020         https://bugs.webkit.org/show_bug.cgi?id=67697
3021
3022         Reviewed by Kent Tamura.
3023
3024         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
3025         for text fields other than type=text.
3026
3027         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
3028         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
3029         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
3030         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
3031
3032         Test: fast/forms/number-input-changeevent.html
3033
3034         * html/BaseDateAndTimeInputType.cpp:
3035         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
3036         * html/BaseDateAndTimeInputType.h:
3037         * html/HTMLInputElement.cpp:
3038         (WebCore::HTMLInputElement::applyStep):
3039         (WebCore::HTMLInputElement::stepUp):
3040         (WebCore::HTMLInputElement::stepDown):
3041         (WebCore::HTMLInputElement::setValue):
3042         (WebCore::HTMLInputElement::setValueAsNumber):
3043         (WebCore::HTMLInputElement::stepUpFromRenderer):
3044         * html/HTMLInputElement.h:
3045         * html/InputType.cpp:
3046         (WebCore::InputType::setValueAsNumber):
3047         * html/InputType.h:
3048         * html/NumberInputType.cpp:
3049         (WebCore::NumberInputType::setValueAsNumber):
3050         * html/NumberInputType.h:
3051         * html/RangeInputType.cpp:
3052         (WebCore::RangeInputType::setValueAsNumber):
3053         (WebCore::RangeInputType::handleKeydownEvent):
3054         * html/RangeInputType.h:
3055
3056 2011-09-07  Antti Koivisto  <antti@apple.com>
3057
3058         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
3059
3060         Not reviewed.
3061
3062         * css/CSSStyleSelector.cpp:
3063         * css/SelectorChecker.cpp:
3064         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3065
3066 2011-09-07  Antti Koivisto  <antti@apple.com>
3067
3068         Move SelectorChecker out from CSSStyleSelector scope
3069         https://bugs.webkit.org/show_bug.cgi?id=67648
3070
3071         Reviewed by Sam Weinig.
3072
3073         - Move SelectorChecker to SelectorChecker.h/cpp
3074         - Make private functions private
3075         - Make members private, add accessors
3076         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
3077
3078         * CMakeLists.txt:
3079         * GNUmakefile.list.am:
3080         * WebCore.gypi:
3081         * WebCore.pro:
3082         * WebCore.vcproj/WebCore.vcproj:
3083         * WebCore.xcodeproj/project.pbxproj:
3084         * css/CSSStyleSelector.cpp:
3085         (WebCore::CSSStyleSelector::CSSStyleSelector):
3086         (WebCore::CSSStyleSelector::matchRules):
3087         (WebCore::CSSStyleSelector::matchRulesForList):
3088         (WebCore::CSSStyleSelector::sortMatchedRules):
3089         (WebCore::CSSStyleSelector::initForStyleResolve):
3090         (WebCore::CSSStyleSelector::matchUARules):
3091         (WebCore::CSSStyleSelector::styleForElement):
3092         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3093         (WebCore::CSSStyleSelector::styleForPage):
3094         (WebCore::CSSStyleSelector::adjustRenderStyle):
3095         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
3096         (WebCore::CSSStyleSelector::checkSelector):
3097         (WebCore::RuleData::RuleData):
3098         (WebCore::CSSStyleSelector::applyProperty):
3099         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3100         (WebCore::CSSStyleSelector::setFontSize):
3101         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3102         * css/CSSStyleSelector.h:
3103         (WebCore::CSSStyleSelector::style):
3104         (WebCore::CSSStyleSelector::parentStyle):
3105         (WebCore::CSSStyleSelector::rootElementStyle):
3106         (WebCore::CSSStyleSelector::element):
3107         (WebCore::CSSStyleSelector::fontDescription):
3108         (WebCore::CSSStyleSelector::parentFontDescription):
3109         (WebCore::CSSStyleSelector::setFontDescription):
3110         (WebCore::CSSStyleSelector::setZoom):
3111         (WebCore::CSSStyleSelector::setEffectiveZoom):
3112         (WebCore::CSSStyleSelector::setTextSizeAdjust):
3113         (WebCore::CSSStyleSelector::setStyle):
3114         (WebCore::CSSStyleSelector::fontSelector):
3115         (WebCore::CSSStyleSelector::allVisitedStateChanged):
3116         (WebCore::CSSStyleSelector::visitedStateChanged):
3117         (WebCore::CSSStyleSelector::usesSiblingRules):
3118         (WebCore::CSSStyleSelector::usesFirstLineRules):
3119         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
3120         (WebCore::CSSStyleSelector::usesLinkRules):
3121         (WebCore::CSSStyleSelector::addMatchedRule):
3122         (WebCore::CSSStyleSelector::isRightPage):
3123         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
3124         (WebCore::CSSStyleSelector::styleNotYetAvailable):
3125         * css/SelectorChecker.cpp: Added.
3126         (WebCore::SelectorChecker::SelectorChecker):
3127         (WebCore::linkAttribute):
3128         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3129         (WebCore::SelectorChecker::checkSelector):
3130         (WebCore::SelectorChecker::fastCheckSelector):
3131         (WebCore::SelectorChecker::isFastCheckableSelector):
3132         (WebCore::addLocalNameToSet):
3133         (WebCore::createHtmlCaseInsensitiveAttributesSet):
3134         (WebCore::htmlAttributeHasCaseInsensitiveValue):
3135         (WebCore::attributeQualifiedNameMatches):
3136         (WebCore::attributeValueMatches):
3137         (WebCore::anyAttributeMatches):
3138         (WebCore::SelectorChecker::checkOneSelector):
3139         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
3140         (WebCore::SelectorChecker::allVisitedStateChanged):
3141         (WebCore::SelectorChecker::visitedStateChanged):
3142         * css/SelectorChecker.h: Added.
3143         (WebCore::SelectorChecker::document):
3144         (WebCore::SelectorChecker::strictParsing):
3145         (WebCore::SelectorChecker::isCollectingRulesOnly):
3146         (WebCore::SelectorChecker::setCollectingRulesOnly):
3147         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
3148         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
3149         (WebCore::SelectorChecker::pseudoStyle):
3150         (WebCore::SelectorChecker::setPseudoStyle):
3151         (WebCore::SelectorChecker::hasUnknownPseudoElements):
3152         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
3153         (WebCore::SelectorChecker::determineLinkState):
3154         * dom/Element.cpp:
3155         (WebCore::Element::webkitMatchesSelector):
3156         * dom/SelectorQuery.cpp:
3157         (WebCore::SelectorQuery::SelectorQuery):
3158         * dom/SelectorQuery.h:
3159
3160 2011-09-07  Dmitry Lomov  <dslomov@google.com>
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=67413 
3163         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
3164         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
3165
3166         Reviewed by Yury Semikhatsky.
3167
3168         * workers/WorkerContext.cpp:
3169         (WebCore::WorkerContext::clearInspector):
3170         * workers/WorkerContext.h:
3171         * workers/WorkerThread.cpp:
3172         (WebCore::WorkerThreadShutdownFinishTask::performTask):
3173
3174 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3175
3176         Unreviewed, rolling out r94627 and r94632.
3177         http://trac.webkit.org/changeset/94627
3178         http://trac.webkit.org/changeset/94632
3179         https://bugs.webkit.org/show_bug.cgi?id=67698
3180
3181         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
3182
3183         * WebCore.exp.in:
3184         * bindings/js/JSDOMBinding.h:
3185         (WebCore::DOMConstructorObject::DOMConstructorObject):
3186         * bindings/js/JSDOMGlobalObject.cpp:
3187         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3188         * bindings/js/JSDOMGlobalObject.h:
3189         * bindings/js/JSDOMWindowShell.cpp:
3190         (WebCore::JSDOMWindowShell::create):
3191         * bindings/js/JSDOMWindowShell.h:
3192         * bindings/js/JSDOMWrapper.h:
3193         (WebCore::JSDOMWrapper::JSDOMWrapper):
3194         * bindings/scripts/CodeGeneratorJS.pm:
3195         (GenerateImplementation):
3196         * bindings/scripts/test/JS/JSTestInterface.cpp:
3197         (WebCore::JSTestInterface::JSTestInterface):
3198         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3199         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3200         * bindings/scripts/test/JS/JSTestObj.cpp:
3201         (WebCore::JSTestObj::JSTestObj):
3202         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3203         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3204         * bridge/c/CRuntimeObject.cpp:
3205         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3206         * bridge/c/CRuntimeObject.h:
3207         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3208         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3209         * bridge/jni/jsc/JavaRuntimeObject.h:
3210         * bridge/objc/ObjCRuntimeObject.h:
3211         * bridge/objc/ObjCRuntimeObject.mm:
3212         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3213         * bridge/objc/objc_runtime.h:
3214         (JSC::Bindings::ObjcFallbackObjectImp::create):
3215         * bridge/objc/objc_runtime.mm:
3216         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3217         * bridge/qt/qt_instance.cpp:
3218         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3219         * bridge/qt/qt_pixmapruntime.cpp:
3220         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3221         * bridge/qt/qt_runtime.cpp:
3222         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3223         * bridge/qt/qt_runtime.h:
3224         * bridge/runtime_array.cpp:
3225         (JSC::RuntimeArray::RuntimeArray):
3226         * bridge/runtime_array.h:
3227         (JSC::RuntimeArray::create):
3228         * bridge/runtime_method.cpp:
3229         (JSC::RuntimeMethod::RuntimeMethod):
3230         * bridge/runtime_method.h:
3231         * bridge/runtime_object.cpp:
3232         (JSC::Bindings::RuntimeObject::RuntimeObject):
3233         * bridge/runtime_object.h:
3234         (JSC::Bindings::RuntimeObject::create):
3235
3236 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
3237
3238         fast/workers/worker-script-error.html fails on Chromium after r94061
3239         https://bugs.webkit.org/show_bug.cgi?id=67206
3240
3241         Default action should be prevented if window.onerror returned true and stay
3242         not prevented otherwise.
3243
3244         Reviewed by Dmitry Titov.
3245
3246         Tests: fast/events/window-onerror14.html
3247                fast/events/window-onerror15.html
3248                fast/events/window-onerror16.html
3249
3250         * bindings/v8/V8AbstractEventListener.cpp:
3251         (WebCore::V8AbstractEventListener::invokeEventHandler):
3252         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
3253         event listeners to decide when to prevent default action based on the handler
3254         return value.
3255         * bindings/v8/V8AbstractEventListener.h:
3256         * bindings/v8/V8WindowErrorHandler.cpp:
3257         (WebCore::V8WindowErrorHandler::callListenerFunction):
3258         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
3259         * bindings/v8/V8WindowErrorHandler.h:
3260         * bindings/v8/V8WorkerContextErrorHandler.cpp:
3261         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
3262         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
3263         * bindings/v8/V8WorkerContextErrorHandler.h:
3264
3265 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
3266
3267         Replace usages of Vector<UChar> with existing StringBuilder
3268         https://bugs.webkit.org/show_bug.cgi?id=67079
3269
3270         Reviewed by Gavin Barraclough.
3271
3272         No new tests. All existing unit tests and layout tests should run
3273         as before.
3274
3275         * css/CSSOMUtils.cpp:
3276         (WebCore::appendCharacter):
3277         (WebCore::serializeCharacter):
3278         (WebCore::serializeCharacterAsCodePoint):
3279         (WebCore::serializeIdentifier):
3280         (WebCore::serializeString):
3281         * css/CSSOMUtils.h:
3282         * css/CSSPrimitiveValue.cpp:
3283         (WebCore::CSSPrimitiveValue::cssText):
3284         * css/CSSStyleSelector.cpp:
3285         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
3286         * css/CSSWrapShapes.cpp:
3287         (WebCore::CSSWrapShapeRect::cssText):
3288         (WebCore::CSSWrapShapeCircle::cssText):
3289         (WebCore::CSSWrapShapeEllipse::cssText):
3290         (WebCore::CSSWrapShapePolygon::cssText):
3291         * editing/HTMLInterchange.cpp:
3292         (WebCore::convertHTMLTextToInterchangeFormat):
3293         * editing/MarkupAccumulator.cpp:
3294         (WebCore::appendCharactersReplacingEntities):
3295         (WebCore::MarkupAccumulator::serializeNodes):
3296         (WebCore::MarkupAccumulator::appendStartTag):
3297         (WebCore::MarkupAccumulator::appendEndTag):
3298         (WebCore::MarkupAccumulator::concatenateMarkup):
3299         (WebCore::MarkupAccumulator::appendAttributeValue):
3300         (WebCore::MarkupAccumulator::appendCustomAttributes):
3301         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
3302         (WebCore::MarkupAccumulator::appendNodeValue):
3303         (WebCore::MarkupAccumulator::appendNamespace):
3304         (WebCore::MarkupAccumulator::appendText):
3305         (WebCore::MarkupAccumulator::appendComment):
3306         (WebCore::MarkupAccumulator::appendDocumentType):
3307         (WebCore::MarkupAccumulator::appendProcessingInstruction):
3308         (WebCore::MarkupAccumulator::appendElement):
3309         (WebCore::MarkupAccumulator::appendOpenTag):
3310         (WebCore::MarkupAccumulator::appendCloseTag):
3311         (WebCore::MarkupAccumulator::appendAttribute):
3312         (WebCore::MarkupAccumulator::appendCDATASection):
3313         (WebCore::MarkupAccumulator::appendStartMarkup):
3314         (WebCore::MarkupAccumulator::appendEndMarkup):
3315         * editing/MarkupAccumulator.h:
3316         * editing/markup.cpp:
3317         (WebCore::StyledMarkupAccumulator::appendElement):
3318         (WebCore::StyledMarkupAccumulator::wrapWithNode):
3319         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
3320         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
3321         (WebCore::StyledMarkupAccumulator::takeResults):
3322         (WebCore::StyledMarkupAccumulator::appendText):
3323         (WebCore::urlToMarkup):
3324         * html/DOMTokenList.cpp:
3325         (WebCore::DOMTokenList::removeToken):
3326         * html/HTMLFontElement.cpp:
3327         (WebCore::parseFontSize):
3328         * html/HTMLTextFormControlElement.cpp:
3329         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
3330         * html/parser/CSSPreloadScanner.cpp:
3331         (WebCore::CSSPreloadScanner::emitRule):
3332         * html/parser/CSSPreloadScanner.h:
3333         * html/parser/HTMLEntityParser.cpp:
3334         (WebCore::consumeHTMLEntity):
3335         * html/parser/HTMLEntityParser.h:
3336         * html/parser/HTMLParserIdioms.cpp:
3337         (WebCore::parseHTMLInteger):
3338         (WebCore::parseHTMLNonNegativeInteger):
3339         * html/parser/HTMLTokenizer.cpp:
3340         (WebCore::HTMLTokenizer::processEntity):
3341         (WebCore::HTMLTokenizer::nextToken):
3342         * html/parser/HTMLTreeBuilder.cpp:
3343         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
3344         (WebCore::HTMLTreeBuilder::defaultForInTableText):
3345         * html/parser/HTMLTreeBuilder.h:
3346         * inspector/InspectorValues.cpp:
3347         (WebCore::InspectorValue::toJSONString):
3348         (WebCore::InspectorValue::writeJSON):
3349         (WebCore::InspectorBasicValue::writeJSON):
3350         (WebCore::InspectorString::writeJSON):
3351         (WebCore::InspectorObject::writeJSON):
3352         (WebCore::InspectorArray::writeJSON):
3353         * inspector/InspectorValues.h:
3354         * loader/CrossOriginAccessControl.cpp:
3355         (WebCore::createAccessControlPreflightRequest):
3356         * loader/appcache/ApplicationCacheStorage.cpp:
3357         (WebCore::ApplicationCacheStorage::store):
3358         * page/Chrome.cpp:
3359         (WebCore::Chrome::setToolTip):
3360         * page/PageSerializer.cpp:
3361         (WebCore::SerializerMarkupAccumulator::appendText):
3362         (WebCore::SerializerMarkupAccumulator::appendElement):
3363         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
3364         * page/SecurityOrigin.cpp:
3365         (WebCore::SecurityOrigin::toString):
3366         * platform/KURL.cpp:
3367         (WebCore::KURL::deprecatedString):
3368         (WebCore::decodeURLEscapeSequences):
3369         * platform/LinkHash.cpp:
3370         (WebCore::squeezeOutNullCharacters):
3371         (WebCore::cleanSlashDotDotSlashes):
3372         (WebCore::mergeDoubleSlashes):
3373         (WebCore::cleanSlashDotSlashes):
3374         (WebCore::cleanPath):
3375         (WebCore::visitedURLInline):
3376         (WebCore::visitedURL):
3377         (WebCore::visitedLinkHash):
3378         * platform/LinkHash.h:
3379         * platform/gtk/DataObjectGtk.cpp:
3380         (WebCore::DataObjectGtk::setURL):
3381         * platform/network/HTTPParsers.cpp:
3382         (WebCore::extractMIMETypeFromMediaType):
3383         * platform/text/TextCodecICU.cpp:
3384         (WebCore::TextCodecICU::decode):
3385         * platform/text/TextStream.cpp:
3386         (WebCore::TextStream::operator<<):
3387         (WebCore::TextStream::release):
3388         * platform/text/TextStream.h:
3389         * plugins/PluginStream.cpp:
3390         (WebCore::PluginStream::startStream):
3391         * rendering/InlineTextBox.cpp:
3392         (WebCore::adjustCharactersAndLengthForHyphen):
3393         * rendering/InlineTextBox.h:
3394         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
3395         * rendering/RenderListItem.cpp:
3396         (WebCore::RenderListItem::markerTextWithSuffix):
3397         * rendering/RenderListMarker.cpp:
3398         (WebCore::toSymbolic):
3399         (WebCore::RenderListMarker::paint):
3400         (WebCore::RenderListMarker::suffix):
3401         * rendering/RenderTreeAsText.cpp:
3402         (WebCore::quoteAndEscapeNonPrintables):
3403         * rendering/mathml/RenderMathMLFenced.cpp:
3404         (WebCore::RenderMathMLFenced::updateFromElement):
3405         * storage/IDBLevelDBCoding.cpp:
3406         (WebCore::IDBLevelDBCoding::decodeString):
3407         * xml/XMLHttpRequest.cpp:
3408         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3409         * xml/XPathFunctions.cpp:
3410         (WebCore::XPath::FunId::evaluate):
3411         (WebCore::XPath::FunConcat::evaluate):
3412         * xml/XPathUtil.cpp:
3413         (WebCore::XPath::stringValue):
3414         * xml/XSLTProcessorLibxslt.cpp:
3415         (WebCore::writeToStringBuilder):
3416         (WebCore::saveResultToString):
3417         * xml/parser/CharacterReferenceParserInlineMethods.h:
3418         (WebCore::unconsumeCharacters):
3419         (WebCore::consumeCharacterReference):
3420         * xml/parser/XMLCharacterReferenceParser.cpp:
3421         (WebCore::consumeXMLCharacterReference):
3422         * xml/parser/XMLCharacterReferenceParser.h:
3423         * xml/parser/XMLTokenizer.cpp:
3424         (WebCore::XMLTokenizer::nextToken):
3425
3426 2011-09-05  Kent Tamura  <tkent@chromium.org>
3427
3428         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
3429         https://bugs.webkit.org/show_bug.cgi?id=67567
3430
3431         Reviewed by Dimitri Glazkov.
3432
3433         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
3434         - Clear m_icon in FileInputType::setValue().
3435
3436         Tests: fast/forms/file/file-reset-in-change-expected.html
3437                fast/forms/file/file-reset-in-change.html
3438
3439         * html/BaseButtonInputType.cpp:
3440         (WebCore::BaseButtonInputType::setValue):
3441         Implemenation for the "default" mode.
3442         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
3443         * html/BaseButtonInputType.h:
3444         * html/BaseCheckableInputType.cpp:
3445         (WebCore::BaseCheckableInputType::setValue):
3446         Implemenation for the "default/on" mode.
3447         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
3448         * html/BaseCheckableInputType.h:
3449         * html/FileInputType.cpp:
3450         (WebCore::FileInputType::setValue):
3451         Implemenation for the "filename" mode, and clearing m_icon.
3452         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
3453         * html/FileInputType.h:
3454         * html/HTMLInputElement.cpp:
3455         (WebCore::HTMLInputElement::setValue):
3456         Move some code to InputType::setValue().
3457         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
3458         * html/HTMLInputElement.h:
3459         * html/HiddenInputType.cpp:
3460         (WebCore::HiddenInputType::setValue):
3461         Implementation for the "default" mode.
3462         * html/HiddenInputType.h:
3463         * html/InputType.cpp:
3464         (WebCore::InputType::setValue):
3465         Implementation for the "value" mode.
3466         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
3467         * html/InputType.h:
3468         * html/TextFieldInputType.cpp:
3469         (WebCore::TextFieldInputType::setValue):
3470         In addition to the "value" mode processing, updates placeholder visibililty.
3471         * html/TextFieldInputType.h:
3472
3473 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3474
3475         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
3476         https://bugs.webkit.org/show_bug.cgi?id=67681
3477
3478         Reviewed by Kent Tamura.
3479
3480         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
3481         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
3482
3483         Test: fast/forms/suggested-value-after-setvalue.html
3484
3485         * html/HTMLInputElement.cpp:
3486         (WebCore::HTMLInputElement::setValue):
3487
3488 2011-09-06  Adam Barth  <abarth@webkit.org>
3489
3490         Attempt to fix GTK build.
3491
3492         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3493         (WebKit::createHTMLElementWrapper):
3494
3495 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3496
3497         fast/forms/suggested-value-crash.html crashes on Windows
3498         https://bugs.webkit.org/show_bug.cgi?id=67688
3499
3500         Reviewed by Adam Barth.
3501
3502         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
3503         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
3504         and string comparison.
3505
3506         * testing/Internals.cpp:
3507         (WebCore::Internals::wasLastChangeUserEdit):
3508         (WebCore::Internals::suggestedValue):
3509         (WebCore::Internals::setSuggestedValue):
3510
3511 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
3512
3513         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
3514         https://bugs.webkit.org/show_bug.cgi?id=67420
3515
3516         Reviewed by Geoffrey Garen.
3517
3518         No new tests.
3519
3520         Completed the fifth level of the refactoring to add finishCreation() 
3521         methods to all classes within the JSCell hierarchy with non-trivial 
3522         constructor bodies.
3523
3524         This primarily consists of pushing the calls to finishCreation() down 
3525         into the constructors of the subclasses of the second level of the hierarchy 
3526         as well as pulling the finishCreation() calls out into the class's corresponding
3527         create() method if it has one.  Doing both simultaneously allows us to 
3528         maintain the invariant that the finishCreation() method chain is called exactly 
3529         once during the creation of an object, since calling it any other number of 
3530         times (0, 2, or more) will cause an assertion failure.
3531
3532         * WebCore.exp.in:
3533         * bindings/js/JSDOMBinding.h:
3534         (WebCore::DOMConstructorObject::DOMConstructorObject):
3535         * bindings/js/JSDOMGlobalObject.cpp:
3536         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3537         (WebCore::JSDOMGlobalObject::finishCreation):
3538         * bindings/js/JSDOMGlobalObject.h:
3539         * bindings/js/JSDOMWindowShell.cpp:
3540         * bindings/js/JSDOMWindowShell.h:
3541         (WebCore::JSDOMWindowShell::create):
3542         * bindings/js/JSDOMWrapper.h:
3543         (WebCore::JSDOMWrapper::JSDOMWrapper):
3544         * bindings/scripts/CodeGeneratorJS.pm:
3545         (GenerateImplementation):
3546         * bindings/scripts/test/JS/JSTestInterface.cpp:
3547         (WebCore::JSTestInterface::JSTestInterface):
3548         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3549         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3550         * bindings/scripts/test/JS/JSTestObj.cpp:
3551         (WebCore::JSTestObj::JSTestObj):
3552         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3553         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3554         * bridge/c/CRuntimeObject.cpp:
3555         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3556         (JSC::Bindings::CRuntimeObject::finishCreation):
3557         * bridge/c/CRuntimeObject.h:
3558         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3559         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3560         (JSC::Bindings::JavaRuntimeObject::finishCreation):
3561         * bridge/jni/jsc/JavaRuntimeObject.h:
3562         * bridge/objc/ObjCRuntimeObject.h:
3563         * bridge/objc/ObjCRuntimeObject.mm:
3564         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3565         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
3566         * bridge/objc/objc_runtime.h:
3567         (JSC::Bindings::ObjcFallbackObjectImp::create):
3568         * bridge/objc/objc_runtime.mm:
3569         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3570         * bridge/qt/qt_instance.cpp:
3571         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3572         * bridge/qt/qt_pixmapruntime.cpp:
3573         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3574         * bridge/qt/qt_runtime.cpp:
3575         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3576         (JSC::Bindings::QtRuntimeMethod::finishCreation):
3577         * bridge/qt/qt_runtime.h:
3578         * bridge/runtime_array.cpp:
3579         (JSC::RuntimeArray::RuntimeArray):
3580         * bridge/runtime_array.h:
3581         (JSC::RuntimeArray::create):
3582         * bridge/runtime_method.cpp:
3583         (JSC::RuntimeMethod::RuntimeMethod):
3584         (JSC::RuntimeMethod::finishCreation):
3585         * bridge/runtime_method.h:
3586         * bridge/runtime_object.cpp:
3587         (JSC::Bindings::RuntimeObject::RuntimeObject):
3588         * bridge/runtime_object.h:
3589         (JSC::Bindings::RuntimeObject::create):
3590
3591 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
3592
3593         Implement list style properties in CSSStyleApplyProperty.
3594         https://bugs.webkit.org/show_bug.cgi?id=67103
3595
3596         Reviewed by Eric Seidel.
3597
3598         No new tests / no behavioral changes.
3599
3600         * css/CSSStyleApplyProperty.cpp:
3601         Add class to wrap call to CSSStyleSelector::styleImage().
3602         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
3603         (WebCore::ApplyPropertyStyleImage::applyValue):
3604         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3605         Initialize handlers for list style properties.
3606         * css/CSSStyleSelector.cpp:
3607         (WebCore::CSSStyleSelector::applyProperty):
3608         Remove existing property implementations.
3609
3610 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
3611
3612         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
3613         https://bugs.webkit.org/show_bug.cgi?id=67673
3614
3615         Reviewed by Ariya Hidayat.
3616
3617         Move away from QPointer to QWeakPointer, it is faster.
3618
3619         No new tests, the existing ones should cover.
3620
3621         * bridge/qt/qt_instance.cpp:
3622         (JSC::Bindings::QtInstance::~QtInstance):
3623         (JSC::Bindings::QtInstance::getClass):
3624         (JSC::Bindings::QtField::name):
3625         (JSC::Bindings::QtField::valueFromInstance):
3626         * bridge/qt/qt_instance.h:
3627         (JSC::Bindings::QtInstance::getObject):
3628         * bridge/qt/qt_runtime.h:
3629         * platform/qt/SharedTimerQt.cpp:
3630         (WebCore::SharedTimerQt::inst):
3631
3632 2011-09-06  Oliver Hunt  <oliver@apple.com>
3633
3634         Update expected results of bindings tests.
3635
3636         * bindings/scripts/test/JS/JSTestInterface.cpp:
3637         (WebCore::JSTestInterfaceConstructor::createStructure):
3638         (WebCore::JSTestInterface::createPrototype):
3639         * bindings/scripts/test/JS/JSTestInterface.h:
3640         (WebCore::JSTestInterface::createStructure):
3641         (WebCore::JSTestInterfacePrototype::createStructure):
3642         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3643         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
3644         (WebCore::JSTestMediaQueryListListener::createPrototype):
3645         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3646         (WebCore::JSTestMediaQueryListListener::createStructure):
3647         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
3648         * bindings/scripts/test/JS/JSTestObj.cpp:
3649         (WebCore::JSTestObjConstructor::createStructure):
3650         (WebCore::JSTestObj::createPrototype):
3651         * bindings/scripts/test/JS/JSTestObj.h:
3652         (WebCore::JSTestObj::createStructure):
3653         (WebCore::JSTestObjPrototype::createStructure):
3654         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3655         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
3656         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
3657         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3658         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
3659         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
3660
3661 2011-09-06  Eric Seidel  <eric@webkit.org>
3662
3663         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
3664         https://bugs.webkit.org/show_bug.cgi?id=67678
3665
3666         Reviewed by Darin Adler.
3667
3668         This is why we can't have nice things.
3669
3670         There was some confusion in the original DOM HTML 1 spec about
3671         the existence of HTMlBlockquoteElement which was clarified by
3672         a later errata, removing HTMLBlockquoteElement:
3673         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
3674         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
3675
3676         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
3677         is clearer, but thats not how the web works.  Removed it and updated test results.
3678
3679         * CMakeLists.txt:
3680         * CodeGenerators.pri:
3681         * DerivedSources.cpp:
3682         * DerivedSources.make:
3683         * GNUmakefile.list.am:
3684         * WebCore.gypi:
3685         * WebCore.pro:
3686         * WebCore.vcproj/WebCore.vcproj:
3687         * WebCore.xcodeproj/project.pbxproj:
3688         * bindings/gobject/GNUmakefile.am:
3689         * editing/IndentOutdentCommand.cpp:
3690         * html/HTMLBlockquoteElement.cpp: Removed.
3691         * html/HTMLBlockquoteElement.h: Removed.
3692         * html/HTMLBlockquoteElement.idl: Removed.
3693         * html/HTMLElementsAllInOne.cpp:
3694         * html/HTMLQuoteElement.cpp:
3695         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3696         (WebCore::HTMLQuoteElement::insertedIntoDocument):
3697         * html/HTMLTagNames.in:
3698         * page/DOMWindow.idl:
3699
3700 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3701
3702         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
3703         https://bugs.webkit.org/show_bug.cgi?id=67569
3704
3705         Reviewed by Antonio Gomes.
3706
3707         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
3708         Also renamed the shared function from confirmComposition to setComposition.
3709
3710         * WebCore.exp.in:
3711         * editing/Editor.cpp:
3712         (WebCore::Editor::confirmComposition):
3713         (WebCore::Editor::cancelComposition):
3714         (WebCore::Editor::setComposition):
3715         * editing/Editor.h:
3716
3717 2011-09-06  Sam Weinig  <sam@webkit.org>
3718
3719         WebVTTTokenizer files in the wrong place in the Xcode project.
3720
3721         * WebCore.xcodeproj/project.pbxproj:
3722         Move WebVTTTokenizer files so they are in the right place in the project.
3723
3724 2011-09-06  Chris Rogers  <crogers@google.com>
3725
3726         MediaElementAudioSourceNode destruction triggers ASSERTS
3727         https://bugs.webkit.org/show_bug.cgi?id=67665
3728
3729         Reviewed by Nate Chapin.
3730
3731         Test: webaudio/mediaelementaudiosourcenode-gc.html
3732
3733         * html/HTMLMediaElement.cpp:
3734         (WebCore::HTMLMediaElement::setAudioSourceNode):
3735         * webaudio/AudioContext.cpp:
3736         (WebCore::AudioContext::uninitializeDispatch):
3737         (WebCore::AudioContext::stop):
3738         * webaudio/AudioContext.h:
3739
3740 2011-09-05  Oliver Hunt  <oliver@apple.com>
3741
3742         An object's structure should reference the global object responsible for its creation
3743         https://bugs.webkit.org/show_bug.cgi?id=67624
3744
3745         Reviewed by Gavin Barraclough.
3746
3747         Update calls to Structure::create() to pass the globalObject in,
3748         and update the CodeGenerator to generate appropriate createStructure
3749         methods.
3750
3751         * bindings/js/JSAudioConstructor.h:
3752         (WebCore::JSAudioConstructor::createStructure):
3753         * bindings/js/JSDOMBinding.h:
3754         (WebCore::DOMConstructorObject::createStructure):
3755         (WebCore::getDOMStructure):
3756         * bindings/js/JSDOMGlobalObject.h:
3757         (WebCore::JSDOMGlobalObject::createStructure):
3758         (WebCore::getDOMConstructor):
3759         * bindings/js/JSDOMWindowBase.h:
3760         (WebCore::JSDOMWindowBase::createStructure):
3761         * bindings/js/JSDOMWindowShell.cpp:
3762         (WebCore::JSDOMWindowShell::setWindow):
3763         * bindings/js/JSDOMWindowShell.h:
3764         (WebCore::JSDOMWindowShell::createStructure):
3765         * bindings/js/JSDOMWrapper.h:
3766         (WebCore::JSDOMWrapper::createStructure):
3767         * bindings/js/JSImageConstructor.h:
3768         (WebCore::JSImageConstructor::createStructure):
3769         * bindings/js/JSImageDataCustom.cpp:
3770         (WebCore::toJS):
3771         * bindings/js/JSOptionConstructor.h:
3772         (WebCore::JSOptionConstructor::createStructure):
3773         * bindings/js/JSWorkerContextBase.h:
3774         (WebCore::JSWorkerContextBase::createStructure):
3775         * bindings/js/WorkerScriptController.cpp:
3776         (WebCore::WorkerScriptController::initScript):
3777         * bindings/scripts/CodeGeneratorJS.pm:
3778         (GenerateHeader):
3779         (GenerateImplementation):
3780         (GenerateConstructorDeclaration):
3781         * bridge/c/CRuntimeObject.h:
3782         (JSC::Bindings::CRuntimeObject::createStructure):
3783         * bridge/c/c_instance.cpp:
3784         (JSC::Bindings::CRuntimeMethod::createStructure):
3785         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3786         (JavaRuntimeMethod::createStructure):
3787         * bridge/jni/jsc/JavaRuntimeObject.h:
3788         (JSC::Bindings::JavaRuntimeObject::createStructure):
3789         * bridge/objc/ObjCRuntimeObject.h:
3790         (JSC::Bindings::ObjCRuntimeObject::createStructure):
3791         * bridge/objc/objc_instance.mm:
3792         (ObjCRuntimeMethod::createStructure):
3793         * bridge/objc/objc_runtime.h:
3794         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3795         * bridge/runtime_array.h:
3796         (JSC::RuntimeArray::createStructure):
3797         * bridge/runtime_method.h:
3798         (JSC::RuntimeMethod::createStructure):
3799         * bridge/runtime_object.h:
3800         (JSC::Bindings::RuntimeObject::createStructure):
3801
3802 2011-09-06  Anders Carlsson  <andersca@apple.com>
3803
3804         Move NPAPI headers in bridge to plugins
3805         https://bugs.webkit.org/show_bug.cgi?id=67661
3806
3807         Reviewed by Darin Adler.
3808
3809         * WebCore.gypi:
3810         * WebCore.pro:
3811         * WebCore.vcproj/WebCore.vcproj:
3812         * WebCore.xcodeproj/project.pbxproj:
3813         Update build systems.
3814
3815         * bridge/npapi.h: Removed.
3816         * bridge/npruntime.h: Removed.
3817         * bridge/nptypes.h: Removed.
3818         * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
3819         * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
3820         * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
3821
3822 2011-09-06  David Hyatt  <hyatt@apple.com>
3823
3824         https://bugs.webkit.org/show_bug.cgi?id=67672
3825         
3826         Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
3827         auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
3828         is specified.
3829
3830         Reviewed by Beth Dakin.
3831
3832         Covered well by existing tests.
3833
3834         * css/CSSComputedStyleDeclaration.cpp:
3835         (WebCore::fillSizeToCSSValue):
3836         * css/CSSParser.cpp:
3837         (WebCore::CSSParser::parseFillSize):
3838         * css/CSSStyleSelector.cpp:
3839         (WebCore::CSSStyleSelector::mapFillSize):
3840
3841 2011-09-06  David Hyatt  <hyatt@apple.com>
3842
3843         https://bugs.webkit.org/show_bug.cgi?id=67657
3844         
3845         Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
3846         I'll do that in the next patch.
3847
3848         Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
3849         width values. It simply makes cuts into the border image drawing area (which for now is just the border
3850         box, but that will change once border-image-outset is implemented).
3851         
3852         This means we need additional storage for the slices, since they are now separate from the border widths.
3853         
3854         For backwards compatibility, -webkit-border-image will continue to set the border widths when
3855         border-image-width is specified in the -webkit-border-image shorthand.
3856
3857         Reviewed by Beth Dakin.
3858
3859         Added new tests in fast/borders.
3860
3861         * css/CSSBorderImageSliceValue.cpp:
3862         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
3863         (WebCore::CSSBorderImageSliceValue::cssText):
3864         * css/CSSBorderImageSliceValue.h:
3865         (WebCore::CSSBorderImageSliceValue::create):
3866         (WebCore::CSSBorderImageSliceValue::slices):
3867         Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
3868         for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
3869         subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
3870
3871         * css/CSSBorderImageValue.cpp:
3872         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3873         (WebCore::CSSBorderImageValue::cssText):
3874         * css/CSSBorderImageValue.h:
3875         (WebCore::CSSBorderImageValue::create):
3876         Make CSSBorderImageValue take the border slices during construction now.
3877     
3878         * css/CSSComputedStyleDeclaration.cpp:
3879         (WebCore::valueForNinePieceImageSlice):
3880         (WebCore::valueForNinePieceImageWidth):
3881         (WebCore::valueForNinePieceImageRepeat):
3882         (WebCore::valueForNinePieceImage):
3883         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3884         Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
3885         to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
3886
3887         * css/CSSParser.cpp:
3888         (WebCore::CSSParser::parseValue):
3889         (WebCore::CSSParser::parseReflect):
3890         (WebCore::BorderImageParseContext::BorderImageParseContext):
3891         (WebCore::BorderImageParseContext::commitImageSlice):
3892         (WebCore::BorderImageParseContext::commitBorderWidth):
3893         (WebCore::BorderImageParseContext::commitBorderImage):
3894         (WebCore::CSSParser::parseBorderImage):
3895         (WebCore::isBorderImageRepeatKeyword):
3896         (WebCore::CSSParser::parseBorderImageRepeat):
3897         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
3898         (WebCore::CSSParser::parseBorderImageSlice):
3899         (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
3900         (WebCore::BorderImageWidthParseContext::allowNumber):
3901         (WebCore::BorderImageWidthParseContext::allowFinalCommit):
3902         (WebCore::BorderImageWidthParseContext::top):
3903         (WebCore::BorderImageWidthParseContext::commitNumber):
3904         (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
3905         (WebCore::BorderImageWidthParseContext::setTop):
3906         (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
3907         (WebCore::CSSParser::parseBorderImageWidth):
3908         * css/CSSParser.h:
3909         Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
3910
3911         * css/CSSPrimitiveValue.cpp:
3912         (WebCore::isValidCSSUnitTypeForDoubleConversion):
3913         (WebCore::CSSPrimitiveValue::init):
3914         (WebCore::CSSPrimitiveValue::cleanup):
3915         (WebCore::CSSPrimitiveValue::getQuadValue):
3916         (WebCore::CSSPrimitiveValue::cssText):
3917         * css/CSSPrimitiveValue.h:
3918         (WebCore::CSSPrimitiveValue::getQuadValue):
3919         Add the new Quad value to CSSPrimitiveValue.
3920     
3921         * css/CSSPropertyNames.in:
3922         Add the new properties for border-image-width and -webkit-mask-box-image-width.
3923
3924         * css/CSSStyleSelector.cpp:
3925         (WebCore::CSSStyleSelector::applyProperty):
3926         (WebCore::CSSStyleSelector::mapNinePieceImage):
3927         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
3928         (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
3929         (WebCore::CSSStyleSelector::loadPendingImages):
3930         * css/CSSStyleSelector.h:
3931         Add the code to map the image width into border slices.
3932     
3933         * css/Rect.h:
3934         (WebCore::RectBase::top):
3935         (WebCore::RectBase::right):
3936         (WebCore::RectBase::bottom):
3937         (WebCore::RectBase::left):
3938         (WebCore::RectBase::setTop):
3939         (WebCore::RectBase::setRight):
3940         (WebCore::RectBase::setBottom):
3941         (WebCore::RectBase::setLeft):
3942         (WebCore::RectBase::RectBase):
3943         (WebCore::RectBase::~RectBase):
3944         (WebCore::Rect::create):
3945         (WebCore::Rect::Rect):
3946         (WebCore::Quad::create):
3947         (WebCore::Quad::Quad):
3948         Adding the new Quad value.
3949
3950         * rendering/RenderBoxModelObject.cpp:
3951         (WebCore::computeBorderImageSide):
3952         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3953         Modify painting to treat the border slices as separate from the border widths.
3954         
3955         * rendering/style/NinePieceImage.cpp:
3956         (WebCore::NinePieceImage::operator==):
3957         * rendering/style/NinePieceImage.h:
3958         (WebCore::NinePieceImage::NinePieceImage):
3959         (WebCore::NinePieceImage::imageSlices):
3960         (WebCore::NinePieceImage::setImageSlices):
3961         (WebCore::NinePieceImage::borderSlices):
3962         (WebCore::NinePieceImage::setBorderSlices):
3963         (WebCore::NinePieceImage::copyImageSlicesFrom):
3964         (WebCore::NinePieceImage::copyBorderSlicesFrom):
3965         * rendering/style/StyleRareNonInheritedData.cpp:
3966         Add the border slices.
3967         
3968         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3969         * rendering/style/StyleReflection.h:
3970         (WebCore::StyleReflection::StyleReflection):
3971         Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
3972         old behavior.
3973
3974 2011-09-06  Noel Gordon  <noel.gordon@gmail.com>
3975
3976         [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
3977         https://bugs.webkit.org/show_bug.cgi?id=67589
3978
3979         Reviewed by Kenneth Russell.
3980
3981         Change the row converter function signatures to be the same.  Call them via a function
3982         pointer during the encoding loop.  Minor webkit style cleanup, remove unused include.
3983
3984         No new tests.  Covered by existing canvas 2d and 3d tests.
3985         canvas/philip/tests/toDataURL.jpeg.alpha.html
3986         fast/canvas/webgl/premultiplyalpha-test.html
3987
3988         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
3989         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
3990         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
3991         (WebCore::encodePixels):  Move constants out of the encoding loop: use a function pointer
3992         to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
3993         and use pixelRowStride constant.
3994         (WebCore::JPEGImageEncoder::encode):
3995
3996 2011-09-06  Aaron Colwell  <acolwell@chromium.org>
3997
3998         Allow MediaSource API to be enabled at runtime.
3999         https://bugs.webkit.org/show_bug.cgi?id=67306
4000
4001         Reviewed by Eric Carlson.
4002
4003         * bindings/generic/RuntimeEnabledFeatures.cpp:
4004         * bindings/generic/RuntimeEnabledFeatures.h: