2bf19a13d183733056b9fb1d4798a8d99a612e6c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-30  Jochen Eisinger  <jochen@chromium.org>
2
3         Match Firefox restrictions to window.blur and window.focus
4         https://bugs.webkit.org/show_bug.cgi?id=86969
5
6         Reviewed by Adam Barth.
7
8         Disallow window.blur altogether, and only allow window.focus to be
9         invoked from the context that created this very window.
10
11         There's a new setting (windowFocusRestricted) that defaults to true. If
12         false, the new restrictions are lifted. This can be used by ports that
13         would prefer to stick with the old behavior.
14
15         For tests, this setting is accessible in window.internals.settings
16
17         To temporarily allow window.focus(), an object of type
18         WindowFocusAllowedIndicator can be created. It is currently used to
19         enable window.focus() during dispatch of the click event for
20         notifications.
21
22         Tests: fast/dom/Window/mozilla-focus-blur.html
23                fast/notifications/notifications-click-event-focus.html
24
25         * CMakeLists.txt:
26         * GNUmakefile.list.am:
27         * Target.pri:
28         * WebCore.gypi:
29         * WebCore.vcproj/WebCore.vcproj:
30         * WebCore.xcodeproj/project.pbxproj:
31         * notifications/Notification.cpp:
32         (WebCore::Notification::dispatchClickEvent):
33         * page/DOMWindow.cpp:
34         (WebCore::DOMWindow::focus):
35         (WebCore::DOMWindow::blur):
36         * page/DOMWindow.h:
37         (DOMWindow):
38         * page/DOMWindow.idl:
39         * page/Settings.cpp:
40         (WebCore::Settings::Settings):
41         * page/Settings.h:
42         (Settings):
43         (WebCore::Settings::setWindowFocusRestricted):
44         (WebCore::Settings::windowFocusRestricted):
45         * page/WindowFocusAllowedIndicator.cpp: Added.
46         (WebCore):
47         (WebCore::WindowFocusAllowedIndicator::windowFocusAllowed):
48         (WebCore::WindowFocusAllowedIndicator::WindowFocusAllowedIndicator):
49         (WebCore::WindowFocusAllowedIndicator::~WindowFocusAllowedIndicator):
50         * page/WindowFocusAllowedIndicator.h: Added.
51         (WebCore):
52         (WindowFocusAllowedIndicator):
53         * testing/InternalSettings.cpp:
54         (WebCore::InternalSettings::InternalSettings):
55         (WebCore::InternalSettings::restoreTo):
56         (WebCore::InternalSettings::setWindowFocusRestricted):
57         (WebCore):
58         * testing/InternalSettings.h:
59         (InternalSettings):
60         * testing/InternalSettings.idl:
61
62 2012-05-30  Mariusz Grzegorczyk  <mariusz.g@samsung.com>, Ryuan Choi  <ryuan.choi@samsung.com>
63
64         [EFL][WK2] Fix WebKit2-EFL build
65         https://bugs.webkit.org/show_bug.cgi?id=83693
66
67         Reviewed by Carlos Garcia Campos.
68
69         * CMakeLists.txt: Add GestureTapHighlighter.cpp.
70
71 2012-05-29  Antti Koivisto  <antti@apple.com>
72
73         Rename Foo::addSubresourceStyleURLs and Node::addSubresourceAttributeURLs
74         https://bugs.webkit.org/show_bug.cgi?id=87739
75
76         Rubber-stamped by Andreas Kling.
77
78         Rename them to collectSubresourceURLs and collectSubresourceURLsFromAttributes to match
79         the naming conventions.
80         
81         Move collectSubresourceURLsFromAttributes from Node to Element as only elements have attributes.
82
83         * css/CSSFontFaceSrcValue.cpp:
84         (WebCore::CSSFontFaceSrcValue::collectSubresourceURLs):
85         * css/CSSFontFaceSrcValue.h:
86         (CSSFontFaceSrcValue):
87         * css/CSSPrimitiveValue.cpp:
88         (WebCore::CSSPrimitiveValue::collectSubresourceURLs):
89         * css/CSSPrimitiveValue.h:
90         (CSSPrimitiveValue):
91         * css/CSSReflectValue.cpp:
92         (WebCore::CSSReflectValue::collectSubresourceURLs):
93         * css/CSSReflectValue.h:
94         (CSSReflectValue):
95         * css/CSSValue.cpp:
96         (WebCore::CSSValue::collectSubresourceURLs):
97         * css/CSSValue.h:
98         (CSSValue):
99         * css/CSSValueList.cpp:
100         (WebCore::CSSValueList::collectSubresourceURLs):
101         * css/CSSValueList.h:
102         (CSSValueList):
103         * css/StylePropertySet.cpp:
104         (WebCore::StylePropertySet::collectSubresourceURLs):
105         * css/StylePropertySet.h:
106         (StylePropertySet):
107         * css/StyleSheetContents.cpp:
108         (WebCore::StyleSheetContents::collectSubresourceURLs):
109         * css/StyleSheetContents.h:
110         (StyleSheetContents):
111         * dom/Element.h:
112         (WebCore::Element::collectSubresourceURLsFromAttributes):
113         (Element):
114         * dom/Node.cpp:
115         (WebCore::Node::getSubresourceURLs):
116         * dom/Node.h:
117         (WebCore):
118         * dom/ProcessingInstruction.cpp:
119         (WebCore::ProcessingInstruction::collectSubresourceURLsFromAttributes):
120         * dom/ProcessingInstruction.h:
121         (ProcessingInstruction):
122         * dom/StyledElement.cpp:
123         (WebCore::StyledElement::collectSubresourceURLsFromAttributes):
124         * dom/StyledElement.h:
125         (StyledElement):
126         * html/HTMLBodyElement.cpp:
127         (WebCore::HTMLBodyElement::collectSubresourceURLsFromAttributes):
128         * html/HTMLBodyElement.h:
129         (HTMLBodyElement):
130         * html/HTMLEmbedElement.cpp:
131         (WebCore::HTMLEmbedElement::collectSubresourceURLsFromAttributes):
132         * html/HTMLEmbedElement.h:
133         (HTMLEmbedElement):
134         * html/HTMLImageElement.cpp:
135         (WebCore::HTMLImageElement::collectSubresourceURLsFromAttributes):
136         * html/HTMLImageElement.h:
137         (HTMLImageElement):
138         * html/HTMLInputElement.cpp:
139         (WebCore::HTMLInputElement::collectSubresourceURLsFromAttributes):
140         * html/HTMLInputElement.h:
141         (HTMLInputElement):
142         * html/HTMLLinkElement.cpp:
143         (WebCore::HTMLLinkElement::collectSubresourceURLsFromAttributes):
144         * html/HTMLLinkElement.h:
145         (HTMLLinkElement):
146         * html/HTMLObjectElement.cpp:
147         (WebCore::HTMLObjectElement::collectSubresourceURLsFromAttributes):
148         * html/HTMLObjectElement.h:
149         (HTMLObjectElement):
150         * html/HTMLParamElement.cpp:
151         (WebCore::HTMLParamElement::collectSubresourceURLsFromAttributes):
152         * html/HTMLParamElement.h:
153         (HTMLParamElement):
154         * html/HTMLScriptElement.cpp:
155         (WebCore::HTMLScriptElement::collectSubresourceURLsFromAttributes):
156         * html/HTMLScriptElement.h:
157         (HTMLScriptElement):
158         * html/HTMLStyleElement.cpp:
159         (WebCore::HTMLStyleElement::collectSubresourceURLsFromAttributes):
160         * html/HTMLStyleElement.h:
161         (HTMLStyleElement):
162         * html/HTMLTableCellElement.cpp:
163         (WebCore::HTMLTableCellElement::collectSubresourceURLsFromAttributes):
164         * html/HTMLTableCellElement.h:
165         (HTMLTableCellElement):
166         * html/HTMLTableElement.cpp:
167         (WebCore::HTMLTableElement::collectSubresourceURLsFromAttributes):
168         * html/HTMLTableElement.h:
169         (HTMLTableElement):
170         * svg/SVGCursorElement.cpp:
171         (WebCore::SVGCursorElement::collectSubresourceURLsFromAttributes):
172         * svg/SVGCursorElement.h:
173         (SVGCursorElement):
174         * svg/SVGFEImageElement.cpp:
175         (WebCore::SVGFEImageElement::collectSubresourceURLsFromAttributes):
176         * svg/SVGFEImageElement.h:
177         (SVGFEImageElement):
178         * svg/SVGImageElement.cpp:
179         (WebCore::SVGImageElement::collectSubresourceURLsFromAttributes):
180         * svg/SVGImageElement.h:
181         (SVGImageElement):
182         * svg/SVGScriptElement.cpp:
183         (WebCore::SVGScriptElement::collectSubresourceURLsFromAttributes):
184         * svg/SVGScriptElement.h:
185         (SVGScriptElement):
186
187 2012-05-30  Eugene Klyuchnikov  <eustas.bug@gmail.com>
188
189         Web Inspector: Fix JS compiler warning
190         https://bugs.webkit.org/show_bug.cgi?id=87836
191
192         Reviewed by Yury Semikhatsky.
193
194         * inspector/front-end/SettingsScreen.js: Fix method annotation.
195
196 2012-05-30  Zoltan Horvath  <zoltan@webkit.org>
197
198         [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
199         https://bugs.webkit.org/show_bug.cgi?id=80400
200
201         This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
202         The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support 
203         the requested image type.
204         The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
205
206         This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages, 
207         because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config 
208         tests for these libraries were introduced in r110045.
209
210         Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark
211         (collection of popular sites, page-loading benchmark) with this patch.
212
213         Reviewed by Simon Hausmann.
214
215         No new tests needed.
216
217         * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
218         * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
219         * platform/MIMETypeRegistry.cpp:
220         (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
221         (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
222         * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
223         * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
224         (WebCore):
225         * platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed.
226         (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
227         (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
228         (WebCore):
229         (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
230         * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
231         (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards
232         for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform.
233         * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
234         (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
235         (ImageFrame):
236         * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
237         ImageDecoderQt.cpp.
238
239 2012-05-23  Kinuko Yasuda  <kinuko@chromium.org>
240
241         REGRESSION: We should allow null modificationTime when snapshot metadata is given
242         https://bugs.webkit.org/show_bug.cgi?id=86811
243
244         Reviewed by Jian Li.
245
246         r117432 has introduced a new File constructor which allows the caller
247         to pass in a snapshot file metadata. In the change we had considered the
248         given metadata is valid if "metadata.length >= 0 AND metadata.lastModifiedDate != 0",
249         but we should drop the latter condition (lastModifiedDate != 0) because
250
251         1. the value 0 is used to indicate the time information is unavailable in File, and
252         2. it is valid per spec (http://dev.w3.org/2006/webapi/FileAPI/#dfn-lastModifiedDate says the UA must return null if the information is not available).
253
254         (Note: the current js/v8 binding returns Date(0) for the time value 0,
255         which is still valid as epoch time but would fail to indicate the
256         unavailability of the information. In this patch I added FIXME in
257         File.idl and filed a separate issue http://webkit.org/b/87709)
258
259         No new tests as this change does not affect regular files/filesystems behavior.
260         (Tests in Chrome OS port should be able to verify this)
261
262         * fileapi/File.cpp:
263         (WebCore::File::lastModifiedDate):
264         (WebCore::File::size):
265         (WebCore::File::captureSnapshot):
266         * fileapi/File.h:
267         (File):
268
269 2012-05-30  MORITA Hajime  <morrita@google.com>
270
271         [Shadow DOM] HTMLContentElement and HTMLShadowElement constructors should be visible.
272         https://bugs.webkit.org/show_bug.cgi?id=87818
273
274         Reviewed by Kentaro Hara.
275
276         Added them as DOMWindow properties
277
278         Tests: fast/dom/shadow/content-element-api.html
279                fast/dom/shadow/shadow-element.html
280
281         * page/DOMWindow.idl:
282
283 2012-05-30  Mike Lawther  <mikelawther@chromium.org>
284
285         CSS3 calc: Implement CSSOM support
286         https://bugs.webkit.org/show_bug.cgi?id=84551
287
288         Reviewed by Ryosuke Niwa.
289
290         Adds a pretty printer for the calc expression tree. 
291
292         Test: css3/calc/cssom.html
293
294         * css/CSSCalculationValue.cpp:
295         (WebCore::CSSCalcValue::customCssText):
296         (WebCore::CSSCalcPrimitiveValue::customCssText):
297         (WebCore::CSSCalcBinaryOperation::customCssText):
298         (CSSCalcBinaryOperation):
299         * css/CSSCalculationValue.h:
300         (CSSCalcExpressionNode):
301
302 2012-05-29  Li Yin  <li.yin@intel.com>
303
304         [FileAPI] The result attribute of FileReader shuold use null to replace empty string
305         https://bugs.webkit.org/show_bug.cgi?id=87578
306
307         Reviewed by Jian Li.
308
309         Spec: http://www.w3.org/TR/FileAPI/#dfn-result
310         If the readyState is EMPTY (no read method has been called) or an error 
311         in reading the File or Blob has occurred (using any read method), then the 
312         result attribute MUST return null.
313
314         Currently, Firefox11, Opera and IE 10 follows the spec, but Webkit based
315         browser doesn't.
316         WebKit should change the returned value empty string into null to keep
317         conformance with the spec.
318
319         Tests: fast/files/read-file-async.html
320                fast/files/workers/worker-read-file-async.html
321
322         * fileapi/FileReader.cpp:
323         (WebCore::FileReader::arrayBufferResult):
324         (WebCore::FileReader::stringResult):
325
326 2012-05-29  Mark Pilgrim  <pilgrim@chromium.org>
327
328         [Chromium] Move fileExists to Platform.h
329         https://bugs.webkit.org/show_bug.cgi?id=87531
330
331         Reviewed by Adam Barth.
332
333         Call fileExists through fileUtilities(), not directly.
334
335         * platform/chromium/FileSystemChromium.cpp:
336         (WebCore::fileExists):
337
338 2012-05-29  Kentaro Hara  <haraken@chromium.org>
339
340         Remove a dummy style sheet from CSSParser::parseFlowThread()
341         https://bugs.webkit.org/show_bug.cgi?id=87715
342
343         Reviewed by Darin Adler.
344
345         r118736 changed CSSGrammar.y so that it works fine with no style sheet.
346         r118736 removed a dummy style sheet from CSSParser::parserSelector().
347         Now we can safely remove a dummy style sheet from parserFlowThread().
348
349         Tests: fast/regions. No change in test results.
350
351         * css/CSSParser.cpp:
352         (WebCore::CSSParser::parseFlowThread):
353
354 2012-05-29  Yoshifumi Inoue  <yosin@chromium.org>
355
356         REGRESSION(r111497): The "option" element doesn't match CSS pseudo class :enabled
357         https://bugs.webkit.org/show_bug.cgi?id=87719
358
359         Reviewed by Kent Tamura.
360
361         This patch added checking of "option" element for CSS pseudo class :enabled as same as
362         :disabled to selector checker. Before r111497, it was done by using isFormControlElement.
363         After that revision, HTMLOptionElement was no longer derived from HTMLFormControlElement.
364
365         Test: fast/form/select/optgroup-rendering.html
366
367         * css/SelectorChecker.cpp:
368         (WebCore::SelectorChecker::checkOneSelector): Checking element is option element as same
369         as PseudoDisabled in PseudoEnabled case.
370
371 2012-05-29  Hayato Ito  <hayato@chromium.org>
372
373         Introduces ComposedShadowTreeParentWalker, extracted from ComposedShadowTreeWalker.
374         https://bugs.webkit.org/show_bug.cgi?id=87004
375
376         Reviewed by Dimitri Glazkov.
377
378         Introduces a ComposedShadowTreeParentWalker, which is only used
379         for traversing a parent node (including shadow roots and insertion
380         points) and get rid of an equivalent function from
381         ComposedShadowTreeWalker.
382
383         Before this patch, there is an inconsistency inside of
384         ComposedShadowTreeWalker. The Walker uses 'Policy' to decide
385         whether it should visit shadow roots or not, but
386         parentIncludingInsertionPointAndShadowRoot() member function
387         ignores the policy.  We can not add an assertion in its
388         constructor due to this inconsistency.  To resolve it, we could
389         add yet another special policy, but that makes the implementation
390         complex and may add some overhead in runtime.  So separate the
391         functionality into another class as ComposedShadowTreeParentWalker.
392
393         No new tests, no new functionality except for assertion.
394
395         * dom/ComposedShadowTreeWalker.cpp:
396         (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
397         (WebCore::ComposedShadowTreeParentWalker::ComposedShadowTreeParentWalker):
398         (WebCore):
399         (WebCore::ComposedShadowTreeParentWalker::parentIncludingInsertionPointAndShadowRoot):
400         (WebCore::ComposedShadowTreeParentWalker::traverseParentIncludingInsertionPointAndShadowRoot):
401         * dom/ComposedShadowTreeWalker.h:
402         (ComposedShadowTreeWalker):
403         (WebCore::ComposedShadowTreeWalker::assertPrecondition):
404         (WebCore):
405         (ComposedShadowTreeParentWalker):
406         (WebCore::ComposedShadowTreeParentWalker::get):
407         * dom/EventDispatcher.cpp:
408         (WebCore::EventRelatedTargetAdjuster::adjust):
409         (WebCore::EventDispatcher::ensureEventAncestors):
410         * page/EventHandler.cpp:
411         (WebCore::EventHandler::updateMouseEventTargetNode):
412
413 2012-05-29  Hayato Ito  <hayato@chromium.org>
414
415         Add assertions to make sure that event's target and relatedTarget are accessible.
416         https://bugs.webkit.org/show_bug.cgi?id=87641
417
418         Reviewed by Dimitri Glazkov.
419
420         No new tests. No new functionality except for assertions.
421
422         * dom/EventContext.cpp:
423         (WebCore::EventContext::EventContext):
424         * dom/EventContext.h:
425         (WebCore):
426         (EventContext):
427         (WebCore::EventContext::setRelatedTarget):
428         (WebCore::EventContext::accessible):
429
430 2012-05-29  Kent Tamura  <tkent@chromium.org>
431
432         Fix inefficient usage of traverseNextNode()
433         https://bugs.webkit.org/show_bug.cgi?id=87804
434
435         Reviewed by Ryosuke Niwa.
436
437         foo->traverseNextNode(foo) is equivalent to foo->firstChild(), and
438         firstChild() is more efficient.
439
440         No new tests because of no behavior change.
441
442         * html/HTMLFieldSetElement.cpp:
443         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
444         Replace traverseNextNode() with firstChild(), and shorten a variable name.
445         * svg/SVGSVGElement.cpp:
446         (WebCore::SVGSVGElement::getElementById):
447         Replace traverseNextNode() with firstChild().
448
449 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
450
451         [BlackBerry] Loading media data with http authentication
452         https://bugs.webkit.org/show_bug.cgi?id=84214
453
454         Reviewed by George Staikos.
455
456         RIM PR: 117618
457         Implemented http authentication feature for media by implementing
458         two interface functions in class MediaPlayerPrivate:
459         onAuthenticationNeeded(): this function is triggered when MMR
460         engine requires http authentication. We search the CredentialStorage
461         to see if we have already stored existing credential information,
462         or challenge user to provide it.
463         OnAuthenticationAccepted(): this function is triggered when MMR
464         engine accepts the credential information, and we need to save
465         it in CredentialStorage for later use.
466
467         Internally reviewed by Max Feil <mfeil@qnx.com>.
468
469         Manual test case: blackberry/video-load-with-authentication.html
470
471         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
472         (WebCore::generateProtectionSpaceFromMMRAuthChallenge):
473         (WebCore):
474         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
475         (WebCore::MediaPlayerPrivate::onAuthenticationAccepted):
476         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
477         (MediaPlayerPrivate):
478
479 2012-05-29  MORITA Hajime  <morrita@google.com>
480
481         [Shadow DOM] Node distribution should be orthogonal from node attachment
482         https://bugs.webkit.org/show_bug.cgi?id=87223
483
484         Reviewed by Dimitri Glazkov.
485
486         This chagne reorganizes Shadow DOM subtree distribution implementation.
487
488         Originally, it was interleaved across attach() of several classes like
489         InsertionPoint and ShadowRoot. Its invalidation was also mixed as a part of
490         the style recalculation and detach()-es.
491
492         This change extracts these bits of code to a set of ContentDistributor methods, which are
493         facaded by two ElementShadow API. Following two API are the primary entry points:
494
495         - ElementShadow::ensureDistribution()
496         - ElementShadow::invalidateDistribution()
497
498         The actual implementations are ContentDistributor::distribute() and
499         ContentDistributor::invalidate() respectively.
500
501         When clients need to traverse composed tree, before attach() for
502         example, they should call ensureDistribution() to make sure that
503         the traversal data structure ("the distribution") is ready.  When
504         there is any DOM mutation which can result a composed tree
505         mutation, then clients should call invalidateDistribution() to
506         mark the distribution being dated.
507
508         Here are such DOM mutations:
509
510         - The children of any ShadowRoots are changed,
511         - The children of any InsertionPoints are changed,
512         - The children of any host elements are changed,
513         - Any insertion point is inserted to or removed from the shadow tree,
514         - @select attribute of <content> is modified and
515         - New ShadowRoot is added to the shadow tree.
516
517         Note that the validity of the distribution is tracked and
518         unnecessary distribution requests are ignored.
519
520         After the invalidation, that shadow subtrees are detached once and
521         request  their  re-attachment  through  the  style  recalculation.
522         Then,  on the  responding  style recalculation  and attach(),  new
523         distribution will be computed.
524
525         No new tests. Covered by existing tests.
526
527         * dom/Element.cpp:
528         (WebCore::Element::~Element):
529         (WebCore::Element::childrenChanged):
530         * dom/ElementShadow.cpp:
531         (WebCore::ElementShadow::~ElementShadow):
532         (WebCore::ElementShadow::addShadowRoot):
533         (WebCore::ElementShadow::removeAllShadowRoots):
534         (WebCore::ElementShadow::attach):
535         (WebCore::ElementShadow::recalcStyle):
536         (WebCore::ElementShadow::ensureDistribution):
537         (WebCore::ElementShadow::invalidateDistribution):
538         * dom/ElementShadow.h:
539         (ElementShadow):
540         * dom/NodeRenderingContext.cpp:
541         (WebCore::NodeRenderingContext::NodeRenderingContext):
542         (WebCore::NodeRendererFactory::createRendererIfNeeded):
543         * dom/NodeRenderingContext.h:
544         (NodeRenderingContext):
545         * dom/ShadowRoot.cpp:
546         (WebCore::ShadowRoot::setApplyAuthorStyles):
547         (WebCore::ShadowRoot::attach):
548         (WebCore::ShadowRoot::childrenChanged):
549         (WebCore):
550         * dom/ShadowRoot.h:
551         (ShadowRoot):
552         * html/HTMLFormControlElement.cpp:
553         * html/ValidationMessage.cpp:
554         (WebCore::ValidationMessage::buildBubbleTree):
555         * html/shadow/ContentDistributor.cpp:
556         (WebCore::ContentDistributor::ContentDistributor):
557         (WebCore::ContentDistributor::~ContentDistributor):
558         (WebCore::ContentDistributor::findInsertionPointFor):
559         (WebCore::ContentDistributor::distribute):
560         (WebCore::ContentDistributor::invalidate):
561         (WebCore::ContentDistributor::finishInivalidation):
562         (WebCore::ContentDistributor::distributeSelectionsTo):
563         (WebCore::ContentDistributor::distributeShadowChildrenTo):
564         (WebCore::ContentDistributor::invalidateDistributionIn):
565         * html/shadow/ContentDistributor.h:
566         (WebCore::ContentDistributor::needsInvalidation):
567         (ContentDistributor):
568         (WebCore::ContentDistributor::needsDistribution):
569         * html/shadow/HTMLContentElement.cpp:
570         (WebCore::HTMLContentElement::parseAttribute):
571         * html/shadow/InsertionPoint.cpp:
572         (WebCore::InsertionPoint::attach):
573         (WebCore::InsertionPoint::detach):
574         (WebCore::InsertionPoint::nextTo):
575         (WebCore::InsertionPoint::previousTo):
576         (WebCore::InsertionPoint::childrenChanged):
577         * html/shadow/InsertionPoint.h:
578         (WebCore::InsertionPoint::setDistribution):
579         (WebCore::InsertionPoint::clearDistribution):
580         (InsertionPoint):
581
582 2012-05-29  Luke Macpherson  <macpherson@chromium.org>
583
584         Implement post-landing feedback for WebKitCSSTransformValue::customCSSText().
585         https://bugs.webkit.org/show_bug.cgi?id=87684
586
587         Reviewed by Darin Adler.
588
589         Darin provided some style suggesting on https://bugs.webkit.org/show_bug.cgi?id=87462 after it landed.
590         This patch incorporates those suggestions, namely using 0 instead of empty string for UnknownTransformOperation
591         and WTF_ARRAY_LENGTH instead of hard coding the array length.
592
593         Covered by existing transform tests.
594
595         * css/WebKitCSSTransformValue.cpp:
596         (WebCore):
597         (WebCore::WebKitCSSTransformValue::customCssText):
598
599 2012-05-29  Eric Seidel  <eric@webkit.org>
600
601         Fix ENABLE_IFRAME_SEAMLESS to actually fully disable <iframe seamless>
602         https://bugs.webkit.org/show_bug.cgi?id=87646
603
604         Reviewed by Adam Barth.
605
606         In the process of moving the seamless feature out of github and into bugs.webkit.org
607         multiple versions of the shouldDisplaySeamlessly function got written
608         (and moved from HTMLIFrameElement to Document), but only one of them was wrapped
609         in ENABLE_IFRAME_SEAMLESS.  HTMLIFrameElement was checking mayDisplaySeamlessly
610         directly (as was my original design), which got around the ENABLE_IFRAME_SEAMLESS check.
611         I've fixed this oversight, and the feature is now off when we tell it to be off.
612
613         This is covered by many existing tests.  I've verified locally that
614         all tests fail when ENABLE_IFRAME_SEAMLESS is disabled instead of
615         only some of them.
616
617         * dom/SecurityContext.h:
618         (SecurityContext):
619         * html/HTMLIFrameElement.cpp:
620         (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
621
622 2012-05-29  Scott Graham  <scottmg@chromium.org>
623
624         Fix warning in preprocessing Source/WebCore/dom/DOMError.idl
625         https://bugs.webkit.org/show_bug.cgi?id=87763
626
627         Reviewed by Adam Barth.
628
629         Add newline at end of file to avoid warning:
630         ../dom/DOMError.idl:35:2: warning: no newline at end of file
631
632         * dom/DOMError.idl:
633
634 2012-05-29  Mark Pilgrim  <pilgrim@chromium.org>
635
636         [Chromium] Move fileExists to Platform.h
637         https://bugs.webkit.org/show_bug.cgi?id=87531
638
639         Reviewed by Adam Barth.
640
641         Part of a refactoring series. See tracking bug 82948.
642
643         * platform/chromium/FileSystemChromium.cpp:
644         (WebCore::fileExists):
645         * platform/chromium/PlatformSupport.h:
646         (PlatformSupport):
647
648 2012-05-29  Kentaro Hara  <haraken@chromium.org>
649
650         [V8] Rename v8Null() to v8NullWithCheck()
651         https://bugs.webkit.org/show_bug.cgi?id=87713
652
653         Reviewed by Adam Barth.
654
655         In IRC, cmarcelo@ pointed out that v8::Null() and v8Null()
656         are confusing. This patch renames v8Null() to v8NullWithCheck().
657
658         No tests. No behavior change.
659
660         * bindings/scripts/CodeGeneratorV8.pm:
661         (GenerateHeader):
662         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
663         (WebCore::toV8):
664         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
665         (WebCore::toV8):
666         * bindings/scripts/test/V8/V8TestEventConstructor.h:
667         (WebCore::toV8):
668         * bindings/scripts/test/V8/V8TestEventTarget.h:
669         (WebCore::toV8):
670         * bindings/scripts/test/V8/V8TestException.h:
671         (WebCore::toV8):
672         * bindings/scripts/test/V8/V8TestInterface.h:
673         (WebCore::toV8):
674         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
675         (WebCore::toV8):
676         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
677         (WebCore::toV8):
678         * bindings/scripts/test/V8/V8TestNode.h:
679         (WebCore::toV8):
680         * bindings/scripts/test/V8/V8TestObj.h:
681         (WebCore::toV8):
682         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
683         (WebCore::toV8):
684         * bindings/v8/V8Binding.h:
685         (WebCore::v8NullWithCheck):
686         (WebCore::v8DateOrNull):
687
688 2012-05-29  Christophe Dumez  <christophe.dumez@intel.com>
689
690         Some Content Security Policy console messages are missing line numbers in JSC
691         https://bugs.webkit.org/show_bug.cgi?id=87558
692
693         Reviewed by Adam Barth.
694
695         Make ScriptController::eventHandlerPosition() behave the same way on
696         JSC than V8. This means that TextPosition::minimumPosition() is
697         returned if parser is null, instead of
698         TextPosition::belowRangePosition(). The line numbers are now correctly
699         printed in the output of Content Security Policy tests.
700
701         Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
702                http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
703
704         * bindings/js/ScriptController.cpp:
705         (WebCore::ScriptController::eventHandlerPosition):
706
707 2012-05-29  Shawn Singh  <shawnsingh@chromium.org>
708
709         [chromium] make WebTransformationMatrix object usable by non-webkit code
710         https://bugs.webkit.org/show_bug.cgi?id=87315
711
712         Reviewed by James Robinson.
713
714         This change is covered by existing tests and by whether it
715         compiles. There should be no changes in behavior.
716
717         * platform/chromium/support/WebTransformationMatrix.cpp:
718         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
719         (WebKit::WebTransformationMatrix::operator=):
720         (WebKit::WebTransformationMatrix::operator==):
721         (WebKit::WebTransformationMatrix::inverse):
722         (WebKit::WebTransformationMatrix::to2dTransform):
723         (WebKit::WebTransformationMatrix::multiply):
724         (WebKit::WebTransformationMatrix::makeIdentity):
725         (WebKit::WebTransformationMatrix::translate):
726         (WebKit::WebTransformationMatrix::translate3d):
727         (WebKit::WebTransformationMatrix::translateRight3d):
728         (WebKit::WebTransformationMatrix::scale):
729         (WebKit::WebTransformationMatrix::scaleNonUniform):
730         (WebKit::WebTransformationMatrix::scale3d):
731         (WebKit::WebTransformationMatrix::rotate):
732         (WebKit::WebTransformationMatrix::rotate3d):
733         (WebKit::WebTransformationMatrix::skewX):
734         (WebKit::WebTransformationMatrix::skewY):
735         (WebKit::WebTransformationMatrix::applyPerspective):
736         (WebKit::WebTransformationMatrix::blend):
737         (WebKit::WebTransformationMatrix::hasPerspective):
738         (WebKit::WebTransformationMatrix::isInvertible):
739         (WebKit::WebTransformationMatrix::isBackFaceVisible):
740         (WebKit::WebTransformationMatrix::isIdentity):
741         (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
742         (WebKit::WebTransformationMatrix::isIntegerTranslation):
743         (WebKit::WebTransformationMatrix::m11):
744         (WebKit::WebTransformationMatrix::setM11):
745         (WebKit::WebTransformationMatrix::m12):
746         (WebKit::WebTransformationMatrix::setM12):
747         (WebKit::WebTransformationMatrix::m13):
748         (WebKit::WebTransformationMatrix::setM13):
749         (WebKit::WebTransformationMatrix::m14):
750         (WebKit::WebTransformationMatrix::setM14):
751         (WebKit::WebTransformationMatrix::m21):
752         (WebKit::WebTransformationMatrix::setM21):
753         (WebKit::WebTransformationMatrix::m22):
754         (WebKit::WebTransformationMatrix::setM22):
755         (WebKit::WebTransformationMatrix::m23):
756         (WebKit::WebTransformationMatrix::setM23):
757         (WebKit::WebTransformationMatrix::m24):
758         (WebKit::WebTransformationMatrix::setM24):
759         (WebKit::WebTransformationMatrix::m31):
760         (WebKit::WebTransformationMatrix::setM31):
761         (WebKit::WebTransformationMatrix::m32):
762         (WebKit::WebTransformationMatrix::setM32):
763         (WebKit::WebTransformationMatrix::m33):
764         (WebKit::WebTransformationMatrix::setM33):
765         (WebKit::WebTransformationMatrix::m34):
766         (WebKit::WebTransformationMatrix::setM34):
767         (WebKit::WebTransformationMatrix::m41):
768         (WebKit::WebTransformationMatrix::setM41):
769         (WebKit::WebTransformationMatrix::m42):
770         (WebKit::WebTransformationMatrix::setM42):
771         (WebKit::WebTransformationMatrix::m43):
772         (WebKit::WebTransformationMatrix::setM43):
773         (WebKit::WebTransformationMatrix::m44):
774         (WebKit::WebTransformationMatrix::setM44):
775         (WebKit::WebTransformationMatrix::a):
776         (WebKit::WebTransformationMatrix::setA):
777         (WebKit::WebTransformationMatrix::b):
778         (WebKit::WebTransformationMatrix::setB):
779         (WebKit::WebTransformationMatrix::c):
780         (WebKit::WebTransformationMatrix::setC):
781         (WebKit::WebTransformationMatrix::d):
782         (WebKit::WebTransformationMatrix::setD):
783         (WebKit::WebTransformationMatrix::e):
784         (WebKit::WebTransformationMatrix::setE):
785         (WebKit::WebTransformationMatrix::f):
786         (WebKit::WebTransformationMatrix::setF):
787         (WebKit::WebTransformationMatrix::toWebCoreTransform):
788         (WebKit::WebTransformationMatrix::mapRect):
789         (WebKit::WebTransformationMatrix::mapPoint):
790         (WebKit::WebTransformationMatrix::mapQuad):
791         (WebKit::WebTransformationMatrix::projectPoint):
792
793 2012-05-29  Alexis Menard  <alexis.menard@openbossa.org>
794
795         [CSS3 Backgrounds and Borders] Implement box-decoration-break parsing.
796         https://bugs.webkit.org/show_bug.cgi?id=87678
797
798         Reviewed by Eric Seidel.
799
800         Implement the parsing part of box-decoration-break. The specification
801         is located at http://www.w3.org/TR/css3-background/#box-decoration-break.
802         So far Opera implements it. This patch only implements the parsing part of
803         the property. A following patch will implement the rendering part. Despite
804         the rendering part missing it improves http://css3test.com by 1%.
805
806         Test: fast/box-decoration-break/box-decoration-break-parsing.html
807
808         * css/CSSComputedStyleDeclaration.cpp:
809         (WebCore):
810         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
811         * css/CSSParser.cpp:
812         (WebCore::isValidKeywordPropertyAndValue):
813         (WebCore::isKeywordPropertyID):
814         * css/CSSPrimitiveValueMappings.h:
815         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
816         (WebCore):
817         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
818         * css/CSSProperty.cpp:
819         (WebCore::CSSProperty::isInheritedProperty):
820         * css/CSSPropertyNames.in:
821         * css/CSSValueKeywords.in:
822         * css/StyleBuilder.cpp:
823         (WebCore::StyleBuilder::StyleBuilder):
824         * rendering/style/RenderStyle.h:
825         * rendering/style/RenderStyleConstants.h:
826         * rendering/style/StyleBoxData.cpp:
827         (WebCore::StyleBoxData::StyleBoxData):
828         (WebCore::StyleBoxData::operator==):
829         * rendering/style/StyleBoxData.h:
830         (WebCore::StyleBoxData::boxDecorationBreak):
831         (StyleBoxData):
832
833 2012-05-29  David Barr  <davidbarr@chromium.org>
834
835         [text-overflow: ellipsis] WebKit should ignore the ellipsis for the purpose of dispatching mouse events
836         https://bugs.webkit.org/show_bug.cgi?id=63781
837
838         Reviewed by Eric Seidel.
839
840         "Ellipsing only affects rendering and must not affect layout nor dispatching of pointer events."
841         http://www.w3.org/TR/2012/WD-css3-ui-20120117/#text-overflow
842
843         Test: fast/css/text-overflow-ellipsis-hit-test.html
844
845         * rendering/EllipsisBox.cpp:
846         (WebCore::EllipsisBox::nodeAtPoint): Always return false.
847
848 2012-05-29  Gavin Peters  <gavinp@chromium.org>
849
850         [Chromium] Remove assertions on state in Prerender.cpp
851         https://bugs.webkit.org/show_bug.cgi?id=87746
852
853         Chrome was crashing in the new Prerender API on Google Web Search; this was because the DOM would stop(), setting the
854         state of the Prerenders in the document to Inactive, but an asyncronous GC would later come come along and trigger the
855         removedFromDocument behaviour on each element, including the <link> element launching the prerender.  This causes an
856         assertion failure.
857
858         I believe the late-deletion of the DOM, and the HTMLElement::removedFromDocument calls are legal, and it was the
859         overzealous assertions in Prerender that were inappropriate.
860
861         Reviewed by Adam Barth.
862
863         No new automated tests, working on a Chromium browser test. Manually test by entering many prerender and non-prerendered
864         queries into Google Web Search.
865
866         * platform/chromium/Prerender.cpp:
867         (WebCore::Prerender::Prerender):
868         (WebCore::Prerender::add):
869         (WebCore::Prerender::cancel):
870         (WebCore::Prerender::abandon):
871         * platform/chromium/Prerender.h:
872         (Prerender):
873
874 2012-05-29  Victor Carbune  <victor@rosedu.org>
875
876         Display cues in the controls area
877         https://bugs.webkit.org/show_bug.cgi?id=87591
878
879         Reviewed by Eric Carlson.
880
881         Changed the behaviour to implicitly hide the volume slidebar
882         if the controls are hidden (due mouse moving out of the video
883         area or controls are toggled through JS).
884
885         This seems to be the simplest fix to this issue, otherwise
886         on toggling the display:none property on the controls the
887         volume slidebar might appear below the video.
888
889         Re-enabled failing tests for this functionality.
890
891         * html/shadow/MediaControlElements.cpp:
892         (WebCore::MediaControlPanelElement::makeTransparent): Re-enabled
893         timer to set the display:none property on the controls.
894         * html/shadow/MediaControlRootElement.cpp:
895         (WebCore::MediaControlRootElement::hide): Added a call to hide
896         the volume slider.
897         (WebCore::MediaControlRootElement::makeTransparent): Same.
898         * html/shadow/MediaControlRootElementChromium.cpp:
899         (WebCore::MediaControlRootElementChromium::hide): Same.
900         (WebCore::MediaControlRootElementChromium::makeTransparent): Same.
901
902 2012-05-29  Adrienne Walker  <enne@google.com>
903
904         Fix transparent iframes with composited contents in WK1 on Mac
905         https://bugs.webkit.org/show_bug.cgi?id=76478
906
907         Reviewed by Simon Fraser.
908
909         Test: compositing/iframes/repaint-after-losing-scrollbars.html
910
911         * page/FrameView.cpp:
912         (WebCore::FrameView::useSlowRepaints):
913
914 2012-05-29  David Hyatt  <hyatt@apple.com>
915
916         https://bugs.webkit.org/show_bug.cgi?id=87787
917         
918         [New Multicolumn] Refactor the region and flow thread code so that it can pick up the correct column widths
919         and heights when determining the logical width and height of the flow thread itself.
920
921         This patch adds new virtual methods to RenderRegion: logicalWidthForFlowThreadContent and logicalHeightForFlowThreadContent.
922         For normal regions, these methods return the contentWidth and contentHeight of the regions themselves. For column sets,
923         however, these methods actually return the column widths and heights.
924         
925         This allows the flow thread to properly lay out according to the column width.
926         
927         Region invalidation is also done properly by using these new methods.
928         
929         In some cases the code is actually simplified, since we can get rid of some isHorizontalWritingMode() switching.
930         
931         With this patch the flow thread now actually lays out and paints at the right width (spilling out of the region set in a single unbroken
932         column).
933
934         Reviewed by Dan Bernstein.
935
936         * rendering/RenderFlowThread.cpp:
937         (WebCore::RenderFlowThread::layout):
938         (WebCore::RenderFlowThread::computeLogicalWidth):
939         (WebCore::RenderFlowThread::computeLogicalHeight):
940         * rendering/RenderMultiColumnBlock.cpp:
941         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
942         * rendering/RenderMultiColumnBlock.h:
943         (WebCore::RenderMultiColumnBlock::isRenderMultiColumnBlock):
944         (RenderMultiColumnBlock):
945         (WebCore::toRenderMultiColumnBlock):
946         (WebCore):
947         * rendering/RenderMultiColumnSet.cpp:
948         (WebCore::RenderMultiColumnSet::computeLogicalWidth):
949         (WebCore):
950         (WebCore::RenderMultiColumnSet::computeLogicalHeight):
951         * rendering/RenderMultiColumnSet.h:
952         (WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
953         (RenderMultiColumnSet):
954         * rendering/RenderObject.h:
955         (WebCore::RenderObject::isRenderMultiColumnBlock):
956         * rendering/RenderRegion.cpp:
957         (WebCore::RenderRegion::logicalWidthForFlowThreadContent):
958         (WebCore):
959         (WebCore::RenderRegion::logicalHeightForFlowThreadContent):
960         (WebCore::RenderRegion::layout):
961         * rendering/RenderRegion.h:
962         (RenderRegion):
963
964 2012-05-29  Alec Flett  <alecflett@chromium.org>
965
966         IndexedDB: Align codes and names for IDB-specific and DOM-specific errors/exceptions
967         https://bugs.webkit.org/show_bug.cgi?id=87276
968
969         Reviewed by Tony Chang.
970
971         No new tests. Existing tests have been updated to use the new
972         exception constant values.
973
974         The IDB spec has evolved to DOM4-style DOMExceptions, which are
975         referred to with MixedCase, string-based style names for
976         exceptions rather than UNDERSCORE_CONSTANT_ERR codes. Change to
977         use MixedCase error/exception names, and tease out the
978         IDB-specific exception/error codes/names from the system-level
979         codes. Make sure that the legacy IDB-masked exception code values
980         match the DOM exception values. Make sure that
981         IDBDatabaseException[exception.name] still works.
982
983         * Modules/indexeddb/IDBDatabase.cpp:
984         (WebCore::IDBDatabase::createObjectStore):
985         (WebCore::IDBDatabase::transaction):
986         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
987         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
988         (WebCore::IDBDatabaseBackendImpl::setVersion):
989         (WebCore::IDBDatabaseBackendImpl::transaction):
990         * Modules/indexeddb/IDBDatabaseException.cpp:
991         (IDBDatabaseExceptionNameDescription):
992         (WebCore):
993         (WebCore::IDBDatabaseException::initializeDescription):
994         * Modules/indexeddb/IDBDatabaseException.h:
995         * Modules/indexeddb/IDBDatabaseException.idl:
996         * Modules/indexeddb/IDBObjectStore.cpp:
997         (WebCore::IDBObjectStore::createIndex):
998         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
999         (WebCore::IDBObjectStoreBackendImpl::index):
1000         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1001         * Modules/indexeddb/IDBRequest.cpp:
1002         (WebCore::IDBRequest::abort):
1003         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1004         (WebCore::IDBTransactionBackendImpl::objectStore):
1005
1006 2012-05-29  David Hyatt  <hyatt@apple.com>
1007
1008         https://bugs.webkit.org/show_bug.cgi?id=87775
1009
1010         [New Multicolumn] Make sure RenderMultiColumnSets have their own copy of the count, width and height of their columns. 
1011
1012         Reviewed by Anders Carlsson.
1013
1014         * rendering/RenderMultiColumnBlock.cpp:
1015         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
1016         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
1017         * rendering/RenderMultiColumnBlock.h:
1018         (WebCore::RenderMultiColumnBlock::columnWidth):
1019         (WebCore::RenderMultiColumnBlock::columnCount):
1020         (RenderMultiColumnBlock):
1021         * rendering/RenderMultiColumnSet.cpp:
1022         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1023         * rendering/RenderMultiColumnSet.h:
1024         (WebCore::RenderMultiColumnSet::columnCount):
1025         (WebCore::RenderMultiColumnSet::columnWidth):
1026         (WebCore::RenderMultiColumnSet::columnHeight):
1027         (RenderMultiColumnSet):
1028         (WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
1029         (WebCore::RenderMultiColumnSet::setColumnHeight):
1030
1031 2012-05-29  Simon Fraser  <simon.fraser@apple.com>
1032
1033         Incomplete repaint on twitter.com when replying to a tweet
1034         https://bugs.webkit.org/show_bug.cgi?id=87553
1035
1036         Reviewed by Dean Jackson.
1037         
1038         Style changes can cause a compositing layer to change between
1039         requiring its own backing store or not, e.g. with the addition
1040         or removal of a transform.
1041         
1042         When that happens, we need to repaint the ancesetor layer that
1043         this layer was, or will be drawing into.
1044         
1045         Factored some code out of layerWillBeRemoved() to be able to
1046         also call it from setRequiresOwnBackingStore().
1047
1048         New manual test, ManualTests/compositing/requires-backing-change.html.
1049         I was not able to get an automated pixel test to work.
1050
1051         * rendering/RenderLayerBacking.cpp:
1052         (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
1053         * rendering/RenderLayerCompositor.cpp:
1054         (WebCore::RenderLayerCompositor::updateCompositingLayers): Remove trailing whitespace.
1055         (WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
1056         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1057         * rendering/RenderLayerCompositor.h:
1058
1059 2012-05-29  David Hyatt  <hyatt@apple.com>
1060
1061         https://bugs.webkit.org/show_bug.cgi?id=87771
1062         
1063         [New Multicolumn] Make sure we have one column set by default and add it to the flow thread's region list.
1064
1065         Reviewed by Anders Carlsson.
1066
1067         * rendering/RenderMultiColumnBlock.cpp:
1068         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
1069         * rendering/RenderRegion.cpp:
1070         (WebCore::RenderRegion::RenderRegion):
1071
1072 2012-05-29  John Sullivan  <sullivan@apple.com>
1073
1074         Update label for blacklisted plug-in
1075         https://bugs.webkit.org/show_bug.cgi?id=87767
1076         rdar://problem/11550048
1077         
1078         Reviewed by Kevin Decker.
1079
1080         * English.lproj/Localizable.strings:
1081         Regenerated.
1082         
1083         * platform/LocalizedStrings.cpp:
1084         (WebCore::insecurePluginVersionText):
1085         Changed this string.
1086
1087 2012-05-29  Julien Chaffraix  <jchaffraix@webkit.org>
1088
1089         REGRESSION(r111742): box-sizing: border-box doesn't work on fixed table layout
1090         https://bugs.webkit.org/show_bug.cgi?id=87536
1091
1092         Reviewed by Tony Chang.
1093
1094         Tests: fast/table/fixed-table-layout/cell-box-sizing-fixed-table-layout.html
1095                fast/table/fixed-table-layout/column-box-sizing-fixed-table-layout.html
1096                fast/table/fixed-table-layout/column-group-box-sizing-fixed-table-layout.html
1097                fast/table/fixed-table-layout/column-in-column-group-box-sizing-fixed-table-layout.html
1098
1099         The change in r111742 completely ignored border-sizing (following the table's code lead unfortunately).
1100         The issue is that we would count the borders and paddings twice for the border-box case which would lead
1101         to the content-box including them too. From a web-author, this behavior is equivalent to ignoring box-sizing.
1102
1103         * rendering/FixedTableLayout.cpp:
1104         (WebCore::FixedTableLayout::calcWidthArray):
1105         Reworked the function to properly use computeBorderBoxLogicalWidth() for correctness. This matches
1106         what RenderBox and the rendering code does generally. Also refactored the code to avoid the need
1107         for local variables and make it more readable.
1108
1109 2012-05-25  Ojan Vafai  <ojan@chromium.org>
1110
1111         Absolute positioned elements in a relative positioned CSS3 Flexbox fail to display properly
1112         https://bugs.webkit.org/show_bug.cgi?id=58453
1113
1114         Reviewed by Tony Chang.
1115
1116         Test: css3/flexbox/align-absolute-child.html
1117
1118         * rendering/RenderFlexibleBox.cpp:
1119         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
1120         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1121         (WebCore::RenderFlexibleBox::adjustAlignmentForChild):
1122         When adjusting positioned items, adjust their static position, not their location.
1123         (WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
1124         (WebCore::RenderFlexibleBox::flipForWrapReverse):
1125         * rendering/RenderFlexibleBox.h:
1126
1127 2012-05-29  Abhishek Arya  <inferno@chromium.org>
1128
1129         Crash due to text fragment destruction when updating first-letter block.
1130         https://bugs.webkit.org/show_bug.cgi?id=87751
1131
1132         Reviewed by Eric Seidel.
1133
1134         Test: fast/text/text-fragment-first-letter-update-crash.html
1135
1136         * rendering/RenderObject.cpp:
1137         (WebCore::RenderObject::setStyle):
1138
1139 2012-05-29  David Hyatt  <hyatt@apple.com>
1140
1141         https://bugs.webkit.org/show_bug.cgi?id=87764
1142         
1143         Add implementation of checkForPaginationLogicalHeightChange to RenderMultiColumnBlock.
1144         
1145         Also stub out ensureColumnSets() and write a comment describing how it's going to work.
1146
1147         Reviewed by Anders Carlsson.
1148
1149         * rendering/RenderMultiColumnBlock.cpp:
1150         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
1151         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1152         (WebCore):
1153         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
1154         * rendering/RenderMultiColumnBlock.h:
1155         (WebCore::RenderMultiColumnBlock::columnHeight):
1156         (WebCore::RenderMultiColumnBlock::setColumnHeight):
1157         (RenderMultiColumnBlock):
1158
1159 2012-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1160
1161         Unreviewed, rolling out r118620.
1162         http://trac.webkit.org/changeset/118620
1163         https://bugs.webkit.org/show_bug.cgi?id=87760
1164
1165         This patch causes regression to read an empty file/blob via
1166         FileReader (Requested by jianli on #webkit).
1167
1168         * fileapi/FileReader.cpp:
1169         (WebCore::FileReader::stringResult):
1170
1171 2012-05-29  Andreas Kling  <kling@webkit.org>
1172
1173         Make StylePropertySet a variable-sized object to reduce memory use.
1174         <http://webkit.org/b/87506>
1175
1176         Reviewed by Antti Koivisto.
1177
1178         Make immutable StylePropertySet objects variable-sized and allocate exactly
1179         the space needed to hold the CSSProperty objects passed at construction.
1180         This lets us avoid the memory overhead of Vector<CSSProperty, 4>.
1181
1182         Renamed StylePropertySet::adopt* to create and createImmutable since they no
1183         longer adopt the incoming vector. More cleanup will follow in this area.
1184
1185         This reduces memory usage across the board - the more CSS declarations,
1186         the bigger the benefit. As an example, we save around ~0.5MB on wsj.com.
1187
1188         * css/CSSComputedStyleDeclaration.cpp:
1189         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1190         * css/CSSParser.cpp:
1191         (WebCore::CSSParser::createStylePropertySet):
1192         * css/StylePropertySet.cpp:
1193         (WebCore::StylePropertySet::createImmutable):
1194         (WebCore::StylePropertySet::StylePropertySet):
1195         (WebCore::StylePropertySet::~StylePropertySet):
1196         (WebCore::StylePropertySet::copyPropertiesFrom):
1197         (WebCore::StylePropertySet::removeProperty):
1198         (WebCore::StylePropertySet::setProperty):
1199         (WebCore::StylePropertySet::parseDeclaration):
1200         (WebCore::StylePropertySet::addParsedProperties):
1201         (WebCore::StylePropertySet::asText):
1202         (WebCore::StylePropertySet::merge):
1203         (WebCore::StylePropertySet::addSubresourceStyleURLs):
1204         (WebCore::StylePropertySet::removePropertiesInSet):
1205         (WebCore::StylePropertySet::findPropertyWithId):
1206         (WebCore::StylePropertySet::removeEquivalentProperties):
1207         (WebCore::StylePropertySet::copyPropertiesInSet):
1208         (WebCore::StylePropertySet::averageSizeInBytes):
1209         (SameSizeAsStylePropertySet):
1210         (WebCore::StylePropertySet::append):
1211         * css/StylePropertySet.h:
1212         (WebCore::StylePropertySet::create):
1213         (StylePropertySet):
1214         (WebCore::StylePropertySet::propertyAt):
1215         (WebCore::StylePropertySet::propertyCount):
1216         (WebCore::StylePropertySet::isEmpty):
1217         (WebCore::StylePropertySet::array):
1218         * dom/StyledElement.cpp:
1219         (WebCore::StyledElement::updateAttributeStyle):
1220
1221 2012-05-29  David Hyatt  <hyatt@apple.com>
1222
1223         https://bugs.webkit.org/show_bug.cgi?id=87759
1224         
1225         Pull the initial page logical height checking for columns into its own separate function. This
1226         will allow the derived RenderMultiColumnBlock class to do its own setup there. It also has the
1227         effect of cleaning up layoutBlock even for the existing code.
1228
1229         Reviewed by Anders Carlsson.
1230
1231         * rendering/RenderBlock.cpp:
1232         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
1233         (WebCore):
1234         (WebCore::RenderBlock::layoutBlock):
1235         * rendering/RenderBlock.h:
1236         (RenderBlock):
1237
1238 2012-05-29  Victor Carbune  <victor@rosedu.org>
1239
1240         Update cue event dispatching for zero and negative duration cues
1241         https://bugs.webkit.org/show_bug.cgi?id=85143
1242
1243         Reviewed by Eric Carlson.
1244
1245         Updated existing test.
1246
1247         * html/HTMLMediaElement.cpp:
1248         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Explicitly
1249         treated event dispatching for zero and negative duration cues.
1250         (WebCore::HTMLMediaElement::textTrackAddCue): Interval tree doesn't
1251         handle invalid cues with intervals - negative cues need to be treated
1252         as zero-length cues as they are always missed cues anyway.
1253         (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
1254
1255 2012-05-29  MORITA Hajime  <morrita@google.com>
1256
1257         ShadowRoot.getElementById() returns removed node.
1258         https://bugs.webkit.org/show_bug.cgi?id=62184
1259
1260         Deregitration of m_elementsById map is done at Element::removedFrom()
1261         But the tree scope of the removed node is already reset from a shadow root
1262         to a document.
1263
1264         This change lookup the old shadow root through its parent node and
1265         deregitrater the node against it.
1266
1267         Reviewed by Dimitri Glazkov.
1268
1269         Test: fast/dom/shadow/get-element-by-id-in-shadow-mutation.html
1270
1271         * dom/Element.cpp:
1272         (WebCore::treeScopeOfParent):
1273         (WebCore):
1274         (WebCore::Element::removedFrom):
1275         * dom/Element.h:
1276         (Element):
1277         (WebCore::Element::updateId):
1278         (WebCore):
1279
1280 2012-05-29  Dana Jansens  <danakj@chromium.org>
1281
1282         [chromium] Unoccluded area in surfaces should always be clipped to the rootScissorRect
1283         https://bugs.webkit.org/show_bug.cgi?id=87677
1284
1285         Reviewed by Adrienne Walker.
1286
1287         When a contributing surface is visited, and we have not visited another
1288         surface, then we know the surface is completely unoccluded. However, the
1289         root scissor rect should still be applied, and anything outside of it
1290         should be considered occluded.
1291
1292         Unit test: WebKitTests::CCOcclusionTrackerTestTopmostSurfaceIsClippedToScissor
1293
1294         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1295         (WebCore::RenderSurfaceChromium::targetRenderSurface):
1296         (WebCore):
1297         * platform/graphics/chromium/RenderSurfaceChromium.h:
1298         (RenderSurfaceChromium):
1299         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1300         (WebCore::::unoccludedContributingSurfaceContentRect):
1301         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1302         (WebCore::CCRenderSurface::targetRenderSurface):
1303         (WebCore):
1304         * platform/graphics/chromium/cc/CCRenderSurface.h:
1305         (CCRenderSurface):
1306
1307 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1308
1309         [BlackBerry] Refactoring http/proxy authentication to use authcallback mechanism introduced with libcurl
1310         https://bugs.webkit.org/show_bug.cgi?id=87706
1311
1312         Reviewed by Antonio Gomes.
1313
1314         Because we use authentication callback mechanism of libcurl,
1315         which will take care of all the authentication communication
1316         between UA and server, so the only thing we need to do is to
1317         provide credential information when authentication callback
1318         is triggered. By using this we don't need to process
1319         intermediate headers for each http authentication scheme.
1320
1321         Implemented interface function notifyAuthReceived() in
1322         NetworkJob to handle the authentication notification from
1323         networking thread.
1324         When the authentication callback is triggered, we should
1325         cancel the current loading request and restart a new one with
1326         credential information attached which comes from
1327         credentialStorage or user input.
1328
1329         Internally reviewed by Joe Mason <jmason@rim.com>.
1330
1331         No new tests since there is no behavior change.
1332
1333         * platform/network/blackberry/NetworkJob.cpp:
1334         (WebCore::NetworkJob::notifyAuthReceived):
1335         (WebCore):
1336         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1337         (WebCore::NetworkJob::sendRequestWithCredentials):
1338         * platform/network/blackberry/NetworkJob.h:
1339         (NetworkJob):
1340
1341 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1342
1343         [BlackBerry] http authentication challenge issue when loading subresource
1344         https://bugs.webkit.org/show_bug.cgi?id=87660
1345
1346         Reviewed by Rob Buis.
1347
1348         We should try to store the credential information as soon as we
1349         receive http status notification which indicates that the
1350         authentication succeeds, instead of storing credentials when the
1351         main resource receives notify done which is too late for loading
1352         subresource.
1353
1354         Internally reviewed by Joe Mason <jmason@rim.com>
1355
1356         No new tests since there is no change in behavior.
1357
1358         * platform/network/blackberry/NetworkJob.cpp:
1359         (WebCore::NetworkJob::handleNotifyStatusReceived):
1360         (WebCore::NetworkJob::handleNotifyClose):
1361
1362 2012-05-29  Alexey Proskuryakov  <ap@apple.com>
1363
1364         [Mac] Move DefaultFonts.plist to C++ code
1365         https://bugs.webkit.org/show_bug.cgi?id=87560
1366         <rdar://problem/11466119>
1367
1368         Reviewed by Dan Bernstein.
1369
1370         * DerivedSources.make:
1371         * Resources/DefaultFonts.plist.in: Removed.
1372         * WebCore.xcodeproj/project.pbxproj:
1373         * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
1374         Instead of having a separate configuration file, just hardcode the settings in C++.
1375
1376 2012-05-29  Alexei Filippov  <alexeif@chromium.org>
1377
1378         Web Inspector: Retainers are missing for all objects
1379         https://bugs.webkit.org/show_bug.cgi?id=87655
1380
1381         Reviewed by Yury Semikhatsky.
1382
1383         * inspector/front-end/HeapSnapshotDataGrids.js:
1384         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
1385
1386 2012-05-29  Philippe Normand  <pnormand@igalia.com>
1387
1388         [GStreamer] Video sink doesn't respect WebKit code style
1389         https://bugs.webkit.org/show_bug.cgi?id=87693
1390
1391         Reviewed by Alexis Menard.
1392
1393         No change in behavior of the sink, this patch only adapts the code
1394         style to WebKit's.
1395
1396         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1397         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1398         (_WebKitVideoSinkPrivate):
1399         (webkitVideoSinkTimeoutCallback):
1400         (webkitVideoSinkRender):
1401         (webkitVideoSinkDispose):
1402         (unlockBufferMutex):
1403         (webkitVideoSinkUnlock):
1404         (webkitVideoSinkUnlockStop):
1405         (webkitVideoSinkStop):
1406         (webkitVideoSinkStart):
1407         (webkitVideoSinkMarshalVoidAndMiniObject):
1408         (webkit_video_sink_class_init):
1409         (webkitVideoSinkNew):
1410         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
1411         (_WebKitVideoSink):
1412         (_WebKitVideoSinkClass):
1413
1414 2012-05-29  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
1415
1416         [Qt] Uninitialized shader compiler when GLES is used
1417         https://bugs.webkit.org/show_bug.cgi?id=87712
1418
1419         The '#if !defined(QT_OPENGL_ES_2)' has been removed before the initialization
1420         of shader compiler to compile shader codes for ES-platforms as well.
1421
1422         Reviewed by Noam Rosenthal.
1423
1424         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1425         (WebCore::GraphicsContext3D::GraphicsContext3D):
1426
1427 2012-05-29  Taiju Tsuiki  <tzik@chromium.org>
1428
1429         Add InspectorFileSystemAgent::FrontendProvider
1430         https://bugs.webkit.org/show_bug.cgi?id=87635
1431
1432         InspectorFileSystemAgent needs weak reference to its frontend to perform
1433         asynchronous operation.
1434
1435         Reviewed by Yury Semikhatsky.
1436
1437         * inspector/InspectorFileSystemAgent.cpp:
1438         (InspectorFileSystemAgent::FrontendProvider):
1439         (WebCore):
1440         (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent):
1441         (WebCore::InspectorFileSystemAgent::enable):
1442         (WebCore::InspectorFileSystemAgent::disable):
1443         (WebCore::InspectorFileSystemAgent::setFrontend):
1444         (WebCore::InspectorFileSystemAgent::clearFrontend):
1445         (WebCore::InspectorFileSystemAgent::restore):
1446         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
1447         * inspector/InspectorFileSystemAgent.h:
1448         (InspectorFileSystemAgent):
1449
1450 2012-05-29  Yoshifumi Inoue  <yosin@chromium.org>
1451
1452         REGRESSION(r109729): The optgroup element's "disabled" attribute has no effect to rendering and selection
1453         https://bugs.webkit.org/show_bug.cgi?id=87614
1454
1455         Reviewed by Kent Tamura.
1456
1457         This patch adds HTMLOptGroupElement::disabled and isEnabledFormControl
1458         methods which was implemented in HTMLFormControlElement at r109729 and
1459         updates CSS pseudo class checker to check "optgroup" element.
1460
1461         Tests: fast/forms/select/optgroup-clicking.html
1462                fast/forms/select/optgroup-disabled.html
1463                fast/forms/select/optgroup-rendering.html
1464
1465         * css/SelectorChecker.cpp:
1466         (WebCore::SelectorChecker::checkOneSelector): On disabled and enabled pseudo class checker. 
1467         We checked tag name "optgroup" in addition isFormControlElement.
1468         * css/StyleResolver.cpp:
1469         (WebCore::StyleResolver::canShareStyleWithElement): Checks optgroup.disabled.
1470         * html/HTMLOptGroupElement.cpp:
1471         (WebCore::HTMLOptGroupElement::disabled): Added.
1472         * html/HTMLOptGroupElement.h:
1473         (HTMLOptGroupElement): Added isEnabledFormControl.
1474
1475 2012-05-29  Alexander Pavlov  <apavlov@chromium.org>
1476
1477         [Chromium] [Regression] SELECT popup misplaced when there is not enough vertical space
1478         https://bugs.webkit.org/show_bug.cgi?id=87735
1479
1480         Reviewed by Kent Tamura.
1481
1482         This change fixes the obsolete WebWidget Y-repositioning code for the insufficient vertical space case, not removed in r113418.
1483
1484         No new tests, as popups are not testable in Chromium.
1485
1486         * platform/chromium/PopupContainer.cpp:
1487         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1488
1489 2012-05-29  Andrei Bucur  <abucur@adobe.com>
1490
1491         [CSS Regions]Rename NamedFlow::overflow to NamedFlow::overset
1492         https://bugs.webkit.org/show_bug.cgi?id=87491
1493
1494         This patch updates the CSSOM property name overflow to overset. There are no changes in functionality.
1495         Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/
1496
1497         Reviewed by Andreas Kling.
1498
1499         Test: fast/regions/webkit-named-flow-overset.html
1500
1501         * dom/WebKitNamedFlow.cpp:
1502         (WebCore::WebKitNamedFlow::overset):
1503         * dom/WebKitNamedFlow.h:
1504         (WebKitNamedFlow):
1505         * dom/WebKitNamedFlow.idl:
1506         * rendering/RenderFlowThread.cpp:
1507         (WebCore::RenderFlowThread::RenderFlowThread):
1508         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
1509         * rendering/RenderFlowThread.h:
1510
1511 2012-05-29  Andreas Kling  <kling@webkit.org>
1512
1513         Give StylePropertySet a proper mutability flag.
1514         <http://webkit.org/b/87675>
1515
1516         Reviewed by Antti Koivisto.
1517
1518         Add a flag to StylePropertySet that determines whether it's mutable or not. Only objects
1519         constructed from the CSS parser (by way of StylePropertySet::adopt()) are made immutable.
1520         This is clean-up and prep work for implementing a more efficient storage scheme for immutable
1521         StylePropertySets (fixed-size array instead of vector) as the vast majority of them are
1522         unlikely to ever mutate during their lifetime.
1523
1524         Sprinkled ASSERT(isMutable()) all over StylePropertySet to catch any attempts to modify
1525         an immutable object.
1526
1527         Also made properties() const on StyleRule and friends, which brought some additional code
1528         churn along with it.
1529
1530         * css/CSSComputedStyleDeclaration.cpp:
1531         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1532         * css/CSSFontFaceRule.cpp:
1533         (WebCore::CSSFontFaceRule::style):
1534         (WebCore::CSSFontFaceRule::reattach):
1535         * css/CSSFontFaceSrcValue.cpp:
1536         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
1537         * css/CSSFontFaceSrcValue.h:
1538         (CSSFontFaceSrcValue):
1539         * css/CSSPageRule.cpp:
1540         (WebCore::CSSPageRule::style):
1541         (WebCore::CSSPageRule::reattach):
1542         * css/CSSPrimitiveValue.cpp:
1543         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
1544         * css/CSSPrimitiveValue.h:
1545         (CSSPrimitiveValue):
1546         * css/CSSReflectValue.cpp:
1547         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
1548         * css/CSSReflectValue.h:
1549         (CSSReflectValue):
1550         * css/CSSStyleRule.cpp:
1551         (WebCore::CSSStyleRule::style):
1552         (WebCore::CSSStyleRule::reattach):
1553         * css/CSSValue.cpp:
1554         (WebCore::CSSValue::addSubresourceStyleURLs):
1555         * css/CSSValue.h:
1556         (CSSValue):
1557         * css/CSSValueList.cpp:
1558         (WebCore::CSSValueList::addSubresourceStyleURLs):
1559         * css/CSSValueList.h:
1560         (CSSValueList):
1561         * css/StylePropertySet.cpp:
1562         (WebCore::StylePropertySet::StylePropertySet):
1563         (WebCore::StylePropertySet::setCSSParserMode):
1564         (WebCore):
1565         (WebCore::StylePropertySet::copyPropertiesFrom):
1566         (WebCore::StylePropertySet::removeShorthandProperty):
1567         (WebCore::StylePropertySet::removeProperty):
1568         (WebCore::StylePropertySet::setProperty):
1569         (WebCore::StylePropertySet::parseDeclaration):
1570         (WebCore::StylePropertySet::addParsedProperties):
1571         (WebCore::StylePropertySet::addParsedProperty):
1572         (WebCore::StylePropertySet::merge):
1573         (WebCore::StylePropertySet::addSubresourceStyleURLs):
1574         (WebCore::StylePropertySet::removePropertiesInSet):
1575         (WebCore::StylePropertySet::findPropertyWithId):
1576         (WebCore::StylePropertySet::removeEquivalentProperties):
1577         (WebCore::StylePropertySet::copyPropertiesInSet):
1578         * css/StylePropertySet.h:
1579         (WebCore::StylePropertySet::adopt):
1580         (WebCore::StylePropertySet::adoptMutable):
1581         (StylePropertySet):
1582         (WebCore::StylePropertySet::isMutable):
1583         * css/StyleResolver.cpp:
1584         (WebCore::StyleResolver::addMatchedProperties):
1585         (WebCore::StyleResolver::collectMatchingRulesForList):
1586         * css/StyleResolver.h:
1587         (StyleResolver):
1588         * css/StyleRule.cpp:
1589         (WebCore::StyleRule::mutableProperties):
1590         (WebCore):
1591         (WebCore::StyleRulePage::mutableProperties):
1592         (WebCore::StyleRuleFontFace::mutableProperties):
1593         * css/StyleRule.h:
1594         (WebCore::StyleRule::properties):
1595         (StyleRule):
1596         (WebCore::StyleRuleFontFace::properties):
1597         (StyleRuleFontFace):
1598         (WebCore::StyleRulePage::properties):
1599         (StyleRulePage):
1600         * dom/ElementAttributeData.cpp:
1601         (WebCore::ElementAttributeData::ensureInlineStyle):
1602         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
1603         * editing/EditingStyle.cpp:
1604         (WebCore::styleFromMatchedRulesForElement):
1605         * svg/SVGFontFaceElement.cpp:
1606         (WebCore::SVGFontFaceElement::parseAttribute):
1607         (WebCore::SVGFontFaceElement::rebuildFontFace):
1608         (WebCore::SVGFontFaceElement::removedFrom):
1609
1610 2012-05-29  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1611
1612         [EFL] Refactoring. Get rid of unnecessary singleCharacterString() function
1613         https://bugs.webkit.org/show_bug.cgi?id=87654
1614
1615         Reviewed by Csaba Osztrogonác.
1616
1617         Evas key events already provide key string, so no practical need for singleCharacterString() 
1618         evaluating the event string from keyname.
1619         Modified code related functionality is already covered with fast/events and fast/forms tests.
1620
1621         * platform/efl/EflKeyboardUtilities.cpp:
1622         * platform/efl/PlatformKeyboardEventEfl.cpp:
1623         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1624
1625 2012-05-29  Ilya Tikhonovsky  <loislo@chromium.org>
1626
1627         Unreviewed: Web Inspector: single line fix after r118742.
1628
1629         * inspector/front-end/HeapSnapshotView.js:
1630         (WebInspector.HeapProfileHeader.prototype.saveToFile):
1631
1632 2012-05-29  Kentaro Hara  <haraken@chromium.org>
1633
1634         Remove m_rootNode and m_selectorChecker from SelectorQuery.h
1635         https://bugs.webkit.org/show_bug.cgi?id=87650
1636
1637         Reviewed by Antti Koivisto.
1638
1639         To avoid parsing CSS selectors every time, I am planning to cache
1640         SelectorQuery objects into a HashMap, which will be defined in
1641         Node::querySelector(). To make the size of SelectorQuery small,
1642         this patch removes m_rootNode and m_selectorChecker from SelectorQuery.h.
1643
1644         Tests: fast/dom/SelectorAPI/*. No change in test results.
1645
1646         * dom/Node.cpp:
1647         (WebCore::Node::querySelector):
1648         (WebCore::Node::querySelectorAll):
1649         * dom/SelectorQuery.cpp:
1650         (WebCore::SelectorQuery::SelectorQuery):
1651         (WebCore):
1652         (WebCore::SelectorQuery::queryAll):
1653         (WebCore::SelectorQuery::queryFirst):
1654         * dom/SelectorQuery.h:
1655         (SelectorQuery):
1656
1657 2012-05-29  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1658
1659         Web Inspector: Tabbed Settings Screen
1660         https://bugs.webkit.org/show_bug.cgi?id=87497
1661
1662         Reviewed by Yury Semikhatsky.
1663
1664         Combine settings screen and shortcuts screen
1665         to a single tabbed settings screen.
1666         This will make shortcuts screen more discoverable.
1667
1668         * inspector/front-end/HelpScreen.js:
1669         (WebInspector.HelpScreen): Make titled tamplate optional.
1670         (WebInspector.HelpScreen.prototype._createCloseButton): Extract method.
1671         * inspector/front-end/SettingsScreen.js:
1672         (WebInspector.SettingsScreen): Split initialization and UI construction.
1673         (WebInspector.SettingsScreen.prototype._createSettingsTabView.appendSection):
1674         (WebInspector.SettingsScreen.prototype._createSettingsTabView):
1675         Extract GUI construction method.
1676         (WebInspector.SettingsScreen.prototype._getOrCreateTabbedPane):
1677         Make GUI construction lazy.
1678         (WebInspector.SettingsScreen.prototype.selectTab):
1679         Add method for external tab swithching.
1680         (WebInspector.SettingsScreen.prototype.wasShown):
1681         Make GUI construction lazy.
1682         (WebInspector.SettingsScreenTabbedPane):
1683         Extend class to access protected member.
1684         (WebInspector.SettingsController.prototype._buttonClicked):
1685         Change "showSettingsScreen" visibility and parameters.
1686         (WebInspector.SettingsController.prototype._onHideSettingsScreen):
1687         Preserve settings screen state.
1688         (WebInspector.SettingsController.prototype.showSettingsScreen):
1689         Change method visibility and parameters.
1690         * inspector/front-end/ShortcutsScreen.js:
1691         (WebInspector.ShortcutsScreen): Remove inheritance from HelpScreen.
1692         (WebInspector.ShortcutsScreen.prototype._createShortcutsTabView):
1693         Refactoring of GUI construction.
1694         (WebInspector.ShortcutsSection.prototype.renderSection):
1695         Ditto.
1696         * inspector/front-end/helpScreen.css:
1697         (.help-window-main ::-webkit-scrollbar): Rebind scrollbar settings.
1698         (.help-window-main ::-webkit-resizer): Ditto.
1699         (.help-window-main ::-webkit-scrollbar-thumb:vertical): Ditto.
1700         (.help-window-main ::-webkit-scrollbar-thumb:vertical:active): Ditto.
1701         (.help-window-main ::-webkit-scrollbar-track:vertical): Ditto.
1702         (body:not(.compact) #settings-screen .tabbed-pane): Fix container height.
1703         (#settings-screen .tabbed-pane-header): Ditto.
1704         (#settings-screen .tabbed-pane-header-tabs): Adjust spacing.
1705         (#settings-screen .tabbed-pane-header-tab): Adjust style.
1706         (#settings-screen .help-close-button): Adjust spacing.
1707         (#settings-screen .tabbed-pane-header-tab.selected):
1708         Erase line below active tab.
1709         (#settings-screen .tabbed-pane-content): Adjust spacing.
1710         (#settings-screen .help-content): Ditto.
1711         * inspector/front-end/inspector.js:
1712         (WebInspector.documentKeyDown): Use Settings screen to show shortcuts.
1713
1714 2012-05-29  Ilya Tikhonovsky  <loislo@chromium.org>
1715
1716         Web Inspector: REGRESSION: load heap snapshot doesn't work.
1717         https://bugs.webkit.org/show_bug.cgi?id=87642
1718
1719         HeapSnapshotReceiver interface was introduced.
1720         It declares the API for HeapSnapshotLoader, HeapSnapshotLoaderProxy and HeapSnapshotSaveToFileReceiver.
1721         The HeapProfileHeader was refactored and tests were added.
1722
1723         Reviewed by Yury Semikhatsky.
1724
1725         * inspector/front-end/HeapSnapshotLoader.js:
1726         (WebInspector.HeapSnapshotLoader):
1727         (WebInspector.HeapSnapshotLoader.prototype.startLoading):
1728         (WebInspector.HeapSnapshotLoader.prototype.dispose):
1729         (WebInspector.HeapSnapshotLoader.prototype._reset):
1730         (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
1731         * inspector/front-end/HeapSnapshotProxy.js:
1732         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
1733         (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
1734         (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
1735         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
1736         * inspector/front-end/HeapSnapshotView.js:
1737         (WebInspector.HeapSnapshotReceiver):
1738         (WebInspector.HeapSnapshotReceiver.prototype.startLoading):
1739         (WebInspector.HeapSnapshotReceiver.prototype.pushJSONChunk):
1740         (WebInspector.HeapSnapshotReceiver.prototype.finishLoading):
1741         (WebInspector.HeapSnapshotReceiver.prototype.dispose):
1742         (WebInspector.HeapProfileHeader):
1743         (WebInspector.HeapProfileHeader.prototype.load):
1744         (WebInspector.HeapProfileHeader.prototype._setupWorker):
1745         (WebInspector.HeapProfileHeader.prototype.dispose):
1746         (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
1747         (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
1748         (WebInspector.HeapProfileHeader.prototype._parsed):
1749         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1750         (WebInspector.HeapProfileHeader.prototype.saveToFile):
1751         (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
1752         (WebInspector.HeapProfileHeader.prototype.loadFromFile):
1753         (WebInspector.HeapProfileHeader.prototype._loadNextChunk):
1754         (WebInspector.HeapProfileHeader.prototype._nextChunkLoaded):
1755         (WebInspector.HeapProfileHeader.prototype._createFileReader):
1756         (WebInspector.HeapSnapshotSaveToFileReceiver):
1757         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.startLoading):
1758         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.pushJSONChunk):
1759         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.finishLoading):
1760         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.dispose):
1761         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._startSavingSnapshot):
1762         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._saveStatusUpdate):
1763         * inspector/front-end/ProfilesPanel.js:
1764         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement.onChange):
1765         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
1766         (WebInspector.ProfilesPanel.prototype._loadFromFile):
1767
1768 2012-05-29  Eric Seidel  <eric@webkit.org>
1769
1770         Add HTMLIFrameElement.seamless property accessor now that seamless is enabled and works
1771         https://bugs.webkit.org/show_bug.cgi?id=87708
1772
1773         Reviewed by Adam Barth.
1774
1775         Lots of tests in fast/frames/seamless cover this property.
1776
1777         * html/HTMLIFrameElement.idl:
1778
1779 2012-05-29  Kentaro Hara  <haraken@chromium.org>
1780
1781         [Performance] Optimize querySelector() and querySelectorAll() by removing
1782         redundant dummy style sheet creations
1783         https://bugs.webkit.org/show_bug.cgi?id=87627
1784
1785         Reviewed by Antti Koivisto.
1786
1787         This patch improves performance of querySelector("#id") by 4.2% ~ 17.7%
1788         in Safari and Chromium.
1789
1790         Performance tests: https://bugs.webkit.org/attachment.cgi?id=144288
1791
1792         The performance test results in my desktop:
1793
1794         [Safari/Mac]
1795         document.querySelector("#headId") :               13.60 ms =>  12.40 ms  +9.68%
1796         document.querySelector("#duplicatedId") :         14.80 ms =>  14.20 ms  +4.23%
1797         document.querySelector("#tailId") :               13.80 ms =>  12.20 ms  +13.11%
1798         document.querySelectorAll("#headId") :            17.80 ms =>  14.60 ms  +21.92%
1799         document.querySelectorAll("#duplicatedId") :     513.80 ms => 471.60 ms  +8.95%
1800         document.querySelectorAll("#tailId") :            19.20 ms =>  16.40 ms  +17.07%
1801         document.querySelector("h1") :                    14.40 ms =>  13.60 ms  +5.88%
1802         document.querySelector("h2") :                    14.80 ms =>  13.80 ms  +7.25%
1803         document.querySelector("h3") :                   312.00 ms => 306.60 ms  +1.76%
1804         document.querySelectorAll("h1") :                322.00 ms => 314.60 ms  +2.35%
1805         document.querySelectorAll("h2") :                481.00 ms => 420.60 ms  +14.36%
1806         document.querySelectorAll("h3") :                326.80 ms => 315.80 ms  +3.48%
1807         document.querySelector(".headClass") :            16.20 ms =>  15.40 ms  +5.19%
1808         document.querySelector(".duplicatedClass") :      17.00 ms =>  15.40 ms  +10.39%
1809         document.querySelector(".tailClass") :           369.60 ms => 362.60 ms  +1.93%
1810         document.querySelectorAll(".headClass") :        388.20 ms => 377.60 ms  +2.81%
1811         document.querySelectorAll(".duplicatedClass") :  605.00 ms => 581.20 ms  +4.09%
1812         document.querySelectorAll(".tailClass") :        401.60 ms => 391.40 ms  +2.61%
1813
1814         [Chromium/Linux]
1815         ocument.querySelector("#headId") :                16.00 ms =>  13.60 ms  +17.65%
1816         document.querySelector("#duplicatedId") :         16.80 ms =>  15.40 ms  +9.09%
1817         document.querySelector("#tailId") :               16.00 ms =>  13.60 ms  +17.65%
1818         document.querySelectorAll("#headId") :            29.00 ms =>  25.00 ms  +16.00%
1819         document.querySelectorAll("#duplicatedId") :     561.40 ms => 505.20 ms  +11.12%
1820         document.querySelectorAll("#tailId") :            34.00 ms =>  26.80 ms  +26.87%
1821         document.querySelector("h1") :                    18.20 ms =>  15.80 ms  +15.19%
1822         document.querySelector("h2") :                    19.00 ms =>  16.60 ms  +14.46%
1823         document.querySelector("h3") :                   280.40 ms => 274.00 ms  +2.34%
1824         document.querySelectorAll("h1") :                300.20 ms => 365.20 ms  -17.80%
1825         document.querySelectorAll("h2") :                487.60 ms => 504.20 ms  -3.29%
1826         document.querySelectorAll("h3") :                349.40 ms => 324.00 ms  +7.84%
1827         document.querySelector(".headClass") :            18.40 ms =>  16.00 ms  +15.00%
1828         document.querySelector(".duplicatedClass") :      19.40 ms =>  16.20 ms  +19.75%
1829         document.querySelector(".tailClass") :           349.60 ms => 345.40 ms  +1.22%
1830         document.querySelectorAll(".headClass") :        382.80 ms => 378.20 ms  +1.22%
1831         document.querySelectorAll(".duplicatedClass") :  550.80 ms => 574.20 ms  -4.08%
1832         document.querySelectorAll(".tailClass") :        381.00 ms => 387.00 ms  -1.55%
1833
1834         I've found that StyleSheetInternal::create() in CSSParser::parseSelector()
1835         is a bottleneck of querySelector() and querySelectorAll().
1836
1837         void CSSParser::parseSelector(const String& string, CSSSelectorList& selectorList)
1838         {
1839             RefPtr<StyleSheetInternal> dummyStyleSheet = StyleSheetInternal::create();
1840             setStyleSheet(dummyStyleSheet.get());
1841             ...;
1842         }
1843
1844         This patch removes a dummy style sheet. Previously the dummy style sheet
1845         was needed to avoid null checks of m_styleSheet in CSSGrammer.y.
1846         This patch fixes CSSGrammer.y so that it works fine with a null m_styleSheet.
1847
1848         Tests: fast/dom/SelectorAPI/*. No change in the test results.
1849
1850         * css/CSSGrammar.y:
1851         * css/CSSParser.cpp:
1852         (WebCore::CSSParser::parseSelector):
1853
1854 2012-05-29  Nikolas Zimmermann  <nzimmermann@rim.com>
1855
1856         SVGViewSpec DOM bindings aka SVGSVGElement.currentView is unimplemented
1857         https://bugs.webkit.org/show_bug.cgi?id=15495
1858
1859         Reviewed by Rob Buis.
1860
1861         Finish SVGViewSpec implementation and expose it to the Web. Numerous smaller bugs are fixed:
1862         - SVGViewSpec and all of its contents should be read-only. Enforce that and test it.
1863           Add a new enum to SVGPropertyInfo so that each SVGAnimatedProperty knows if its content is supposed to be read-write or read-only.
1864         - Make the 'transform' attribute of SVGViewSpec exposable by switching to a SVGTransformListProperty - it can now be accessed from JS.
1865         - Assure that following XXXString methods are in sync with the corresponding SVG DOM interfaces
1866             readonly attribute DOMString viewBoxString;
1867             readonly attribute DOMString preserveAspectRatioString;
1868             readonly attribute DOMString transformString;
1869             readonly attribute DOMString viewTargetString;
1870         - Cleanup code in svg/properties that was intended to handle SVGViewSpec. Turns out lot of the complexity was unncessary, and can be removed.
1871         - Move SVGFitToViewBox to the same pattern SVGZoomAndPan uses since two days, that avoids any virtual function calls for attribute parsing.
1872         - Create/expose ObjectiveC/JS bindings for SVGViewSpec.
1873         - Enable SVGViewSpec constructor.
1874
1875         Tests: svg/custom/linking-a-03-b-all-expected.svg
1876                svg/dom/SVGViewSpec-defaults.html
1877                svg/dom/SVGViewSpec.html
1878                svg/dom/complex-svgView-specification.html
1879                svg/dom/viewspec-parser.html
1880
1881         * CMakeLists.txt:
1882         * DerivedSources.cpp:
1883         * DerivedSources.make:
1884         * DerivedSources.pri:
1885         * GNUmakefile.list.am:
1886         * Target.pri:
1887         * WebCore.gyp/WebCore.gyp:
1888         * WebCore.gypi:
1889         * WebCore.order:
1890         * WebCore.vcproj/WebCore.vcproj:
1891         * WebCore.xcodeproj/project.pbxproj:
1892         * bindings/js/JSSVGLengthCustom.cpp:
1893         (WebCore::JSSVGLength::setValue):
1894         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1895         * bindings/objc/DOMSVG.h:
1896         * bindings/scripts/CodeGeneratorJS.pm:
1897         (GenerateImplementation):
1898         (NativeToJSValue):
1899         * bindings/scripts/CodeGeneratorObjC.pm:
1900         (GenerateImplementation):
1901         * bindings/scripts/CodeGeneratorV8.pm:
1902         (GenerateNormalAttrGetter):
1903         (GenerateNormalAttrSetter):
1904         (GenerateFunctionCallback):
1905         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1906         (WebCore::V8SVGLength::valueAccessorSetter):
1907         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
1908         * page/DOMWindow.idl:
1909         * rendering/svg/RenderSVGResourcePattern.cpp:
1910         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
1911         * svg/SVGFitToViewBox.cpp:
1912         * svg/SVGFitToViewBox.h:
1913         (SVGFitToViewBox):
1914         (WebCore::SVGFitToViewBox::parseAttribute):
1915         * svg/SVGMarkerElement.cpp:
1916         (WebCore::SVGMarkerElement::orientTypePropertyInfo):
1917         (WebCore::SVGMarkerElement::parseAttribute):
1918         (WebCore::SVGMarkerElement::synchronizeOrientType):
1919         (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
1920         * svg/SVGPathElement.cpp:
1921         (WebCore::SVGPathElement::dPropertyInfo):
1922         (WebCore::SVGPathElement::svgAttributeChanged):
1923         (WebCore::SVGPathElement::pathByteStream):
1924         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
1925         (WebCore::SVGPathElement::synchronizeD):
1926         * svg/SVGPathSegWithContext.h:
1927         (WebCore::SVGPathSegWithContext::animatedProperty):
1928         * svg/SVGPatternElement.cpp:
1929         (WebCore::SVGPatternElement::parseAttribute):
1930         * svg/SVGPolyElement.cpp:
1931         (WebCore::SVGPolyElement::pointsPropertyInfo):
1932         (WebCore::SVGPolyElement::parseAttribute):
1933         (WebCore::SVGPolyElement::synchronizePoints):
1934         (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
1935         * svg/SVGRect.h:
1936         * svg/SVGSVGElement.cpp:
1937         (WebCore::SVGSVGElement::~SVGSVGElement):
1938         (WebCore::SVGSVGElement::currentView):
1939         (WebCore::SVGSVGElement::parseAttribute):
1940         (WebCore::SVGSVGElement::currentViewBoxRect):
1941         (WebCore::SVGSVGElement::viewBoxToViewTransform):
1942         (WebCore::SVGSVGElement::setupInitialView):
1943         (WebCore::SVGSVGElement::inheritViewAttributes):
1944         * svg/SVGSVGElement.h:
1945         (SVGSVGElement):
1946         * svg/SVGSVGElement.idl:
1947         * svg/SVGSymbolElement.cpp:
1948         (WebCore::SVGSymbolElement::parseAttribute):
1949         * svg/SVGTests.cpp:
1950         (WebCore::SVGTests::requiredFeaturesPropertyInfo):
1951         (WebCore::SVGTests::requiredExtensionsPropertyInfo):
1952         (WebCore::SVGTests::systemLanguagePropertyInfo):
1953         (WebCore::SVGTests::synchronizeRequiredFeatures):
1954         (WebCore::SVGTests::synchronizeRequiredExtensions):
1955         (WebCore::SVGTests::synchronizeSystemLanguage):
1956         * svg/SVGTextContentElement.cpp:
1957         (WebCore::SVGTextContentElement::textLengthPropertyInfo):
1958         (WebCore::SVGTextContentElement::synchronizeTextLength):
1959         (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
1960         * svg/SVGViewElement.cpp:
1961         (WebCore::SVGViewElement::parseAttribute):
1962         * svg/SVGViewElement.h:
1963         * svg/SVGViewSpec.cpp:
1964         (WebCore::SVGViewSpec::viewBoxPropertyInfo):
1965         (WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
1966         (WebCore::SVGViewSpec::transformPropertyInfo):
1967         (WebCore::SVGViewSpec::SVGViewSpec):
1968         (WebCore::SVGViewSpec::viewBoxIdentifier):
1969         (WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
1970         (WebCore::SVGViewSpec::transformIdentifier):
1971         (WebCore::SVGViewSpec::setZoomAndPan):
1972         (WebCore::SVGViewSpec::setTransformString):
1973         (WebCore::SVGViewSpec::transformString):
1974         (WebCore::SVGViewSpec::viewBoxString):
1975         (WebCore::SVGViewSpec::preserveAspectRatioString):
1976         (WebCore::SVGViewSpec::viewTarget):
1977         (WebCore::SVGViewSpec::transform):
1978         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
1979         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
1980         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
1981         (WebCore::SVGViewSpec::reset):
1982         (WebCore::SVGViewSpec::parseViewSpec):
1983         * svg/SVGViewSpec.h:
1984         (WebCore::SVGViewSpec::~SVGViewSpec):
1985         (SVGViewSpec):
1986         (WebCore::SVGViewSpec::create):
1987         (WebCore::SVGViewSpec::setViewTargetString):
1988         (WebCore::SVGViewSpec::setZoomAndPan):
1989         (WebCore::SVGViewSpec::contextElement):
1990         (WebCore::SVGViewSpec::resetContextElement):
1991         (WebCore::SVGViewSpec::transformBaseValue):
1992         (WebCore::SVGViewSpec::viewBoxAnimated):
1993         (WebCore::SVGViewSpec::viewBox):
1994         (WebCore::SVGViewSpec::viewBoxBaseValue):
1995         (WebCore::SVGViewSpec::setViewBoxBaseValue):
1996         (WebCore::SVGViewSpec::preserveAspectRatioAnimated):
1997         (WebCore::SVGViewSpec::preserveAspectRatio):
1998         (WebCore::SVGViewSpec::preserveAspectRatioBaseValue):
1999         (WebCore::SVGViewSpec::setPreserveAspectRatioBaseValue):
2000         * svg/SVGViewSpec.idl:
2001         * svg/properties/SVGAnimatedProperty.h:
2002         (WebCore::SVGAnimatedProperty::isReadOnly):
2003         (WebCore::SVGAnimatedProperty::setIsReadOnly):
2004         (SVGAnimatedProperty):
2005         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
2006         (WebCore::SVGAnimatedProperty::lookupWrapper):
2007         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2008         * svg/properties/SVGAnimatedPropertyMacros.h:
2009         (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
2010         (SVGSynchronizableAnimatedProperty):
2011         * svg/properties/SVGAnimatedPropertySynchronizer.h: Removed.
2012         * svg/properties/SVGAttributeToPropertyMap.h:
2013         * svg/properties/SVGListProperty.h:
2014         * svg/properties/SVGListPropertyTearOff.h:
2015         (SVGListPropertyTearOff):
2016         (WebCore::SVGListPropertyTearOff::isReadOnly):
2017         * svg/properties/SVGPathSegListPropertyTearOff.h:
2018         (SVGPathSegListPropertyTearOff):
2019         (WebCore::SVGPathSegListPropertyTearOff::isReadOnly):
2020         * svg/properties/SVGProperty.h:
2021         (SVGProperty):
2022         * svg/properties/SVGPropertyInfo.h:
2023         (WebCore::SVGPropertyInfo::SVGPropertyInfo):
2024         (SVGPropertyInfo):
2025         * svg/properties/SVGPropertyTearOff.h:
2026         (WebCore::SVGPropertyTearOff::isReadOnly):
2027         * svg/properties/SVGStaticListPropertyTearOff.h:
2028         (SVGStaticListPropertyTearOff):
2029         (WebCore::SVGStaticListPropertyTearOff::isReadOnly):
2030
2031 2012-05-29  Kent Tamura  <tkent@chromium.org>
2032
2033         REGRESSION (r90971): the cursor is painted “behind” the placeholder text
2034         https://bugs.webkit.org/show_bug.cgi?id=87155
2035
2036         Reviewed by Hajime Morita.
2037
2038         This regression happened only on platforms on which
2039         RenderTheme::shouldShowPlaceholderWhenFocused() returns true.
2040
2041         Because the order of renderers for the editable node and the placeholder
2042         node was:
2043          - A renderer for the editable node
2044          - A renderer for the placeholder node,
2045         The text caret was painted, then the palceholder was painted.
2046
2047         We should not use z-index in the built-in shadow nodes. So the patch
2048         fixes this bug by re-ordering these renderers.
2049
2050         Tests: fast/forms/input-placeholder-paint-order-2.html
2051                fast/forms/input-placeholder-paint-order.html
2052                fast/forms/textarea/textarea-placeholder-paint-order-2.html
2053                fast/forms/textarea/textarea-placeholder-paint-order.html
2054
2055         * html/HTMLTextFormControlElement.cpp:
2056         (WebCore::HTMLTextFormControlElement::fixPlaceholderRenderer):
2057         Added. Reorder the order of renderers so that the placeholder renderer
2058         precedes the inner text renderer.
2059         * html/HTMLTextFormControlElement.h: Add fixPlaceholderRenderer() declaration.
2060
2061         * html/HTMLTextAreaElement.cpp:
2062         (WebCore::HTMLTextAreaElement::attach): Calls fixPlaceholderRenderer().
2063         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2064         ditto. Also, use innerTextElement() to improvde code readability.
2065         * html/HTMLTextAreaElement.h:
2066         (HTMLTextAreaElement): Overrides attach().
2067
2068         * html/TextFieldInputType.cpp:
2069         (WebCore::TextFieldInputType::updatePlaceholderText):
2070         Calls fixPlaceholderRenderer().
2071         (WebCore::TextFieldInputType::attach): ditto.
2072         * html/TextFieldInputType.h:
2073         (TextFieldInputType): Overrides attach().
2074
2075 2012-05-28  Kentaro Hara  <haraken@chromium.org>
2076
2077         [V8] Implement V8Binding::v8Null(isolate) and use it in CodeGeneratorV8.pm
2078         https://bugs.webkit.org/show_bug.cgi?id=87692
2079
2080         Reviewed by Adam Barth.
2081
2082         Since v8::Null(isolate) crashes if we pass a NULL isolate, we are planning
2083         to pass Isolate to v8::Null() in the following steps:
2084
2085         [1] Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check.
2086         If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise,
2087         v8Null(isolate) calls v8::Null(isolate).
2088
2089         [2] In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional
2090         'isolate' parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } )
2091
2092         [3] In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional
2093         'isolate' parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } )
2094
2095         This bug fixes [1] by implementing V8Binding::v8Null(isolate). Also this patch uses
2096         V8Binding::v8Null(isolate) in bindings/v8/*.{h,cpp}.
2097
2098         No tests. No behavior change.
2099
2100         * bindings/scripts/CodeGeneratorV8.pm:
2101         (GenerateHeader):
2102         (NativeToJSValue):
2103         * bindings/scripts/test/V8/V8Float64Array.h:
2104         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2105         (WebCore::toV8):
2106         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2107         (WebCore::toV8):
2108         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2109         (WebCore::toV8):
2110         * bindings/scripts/test/V8/V8TestEventTarget.h:
2111         (WebCore::toV8):
2112         * bindings/scripts/test/V8/V8TestException.h:
2113         (WebCore::toV8):
2114         * bindings/scripts/test/V8/V8TestInterface.h:
2115         (WebCore::toV8):
2116         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2117         (WebCore::toV8):
2118         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2119         (WebCore::toV8):
2120         * bindings/scripts/test/V8/V8TestNode.h:
2121         (WebCore::toV8):
2122         * bindings/scripts/test/V8/V8TestObj.h:
2123         (WebCore::toV8):
2124         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2125         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
2126         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
2127         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2128         (WebCore::toV8):
2129         * bindings/v8/V8Binding.h:
2130         (WebCore::v8Null):
2131         (WebCore):
2132         (WebCore::v8DateOrNull):
2133         * bindings/v8/V8DOMWrapper.cpp:
2134         * bindings/v8/V8DOMWrapper.h:
2135         (WebCore):
2136
2137 2012-05-28  Kent Tamura  <tkent@chromium.org>
2138
2139         Fix a crash in HTMLFormControlElement::disabled().
2140         https://bugs.webkit.org/show_bug.cgi?id=86534
2141
2142         Reviewed by Ryosuke Niwa.
2143
2144         Stop to hold pointers of fildset and legend elements. We can avoid it by
2145         holding ancestor's disabled state.
2146
2147         The ancesotr's disabled state should be invalidated when
2148          - fieldset's disabled value is changed.
2149          - fieldset's children is updated because a legend position might be changed.
2150          - A form control is attached to or detached from a tree.
2151
2152         No new tests. It's almost impossible to make a reliable test.
2153
2154         * html/HTMLFieldSetElement.cpp:
2155         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
2156         Added. Invalidate disabled state of form controls under the specified node.
2157         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
2158         Uses invalidateDisabledStateUnder().
2159         (WebCore::HTMLFieldSetElement::childrenChanged):
2160         Added new override function. We need invalidate disabled state of form
2161         controls under legend elements.
2162
2163         * html/HTMLFieldSetElement.h:
2164         (HTMLFieldSetElement): Add invalidateDisabledStateUnder() and childrenChanged().
2165
2166         * html/HTMLFormControlElement.cpp:
2167         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2168         Remove initialization of the removed data members.
2169         Initialize m_ancestorDisabledState.
2170         (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
2171         Update m_ancestorDisabledState. It should be
2172         AncestorDisabledStateDisabled if the control is under a disabled
2173         fieldset and not under the first legend child of the disabled filedset.
2174         (WebCore::HTMLFormControlElement::ancestorDisabledStateWasChanged):
2175         Invalidate m_ancestorDisabledState.
2176         (WebCore::HTMLFormControlElement::insertedInto): ditto.
2177         (WebCore::HTMLFormControlElement::removedFrom): ditto.
2178         (WebCore::HTMLFormControlElement::disabled):
2179         Calls updateAncestorDisabledState() if needed.
2180         (WebCore::HTMLFormControlElement::recalcWillValidate):
2181         Remove unnecessary check for m_legendAncestor.
2182
2183         * html/HTMLFormControlElement.h:
2184         (HTMLFormControlElement):
2185         - Rename updateFieldSetAndLegendAncestor() to updateAncestorDisabledState(), and make it private.
2186         - Remove m_fieldSetAncestor, m_legendAncestor, and m_fieldSetAncestorValid.
2187         - Add m_ancestorDisabledState.
2188
2189 2012-05-28  Takashi Toyoshima  <toyoshim@chromium.org>
2190
2191         [WebSocket] Receiving reserved close codes, 1005, 1006, and 1015 must appear as code=1006 and wasClean=false
2192         https://bugs.webkit.org/show_bug.cgi?id=87084
2193
2194         Reviewed by Kent Tamura.
2195
2196         Status codes 1005, 1006, and 1015 are forbidden to be sent in actual close frames.
2197         If a client received these frames, the client should handle them as broken.
2198         Close frames containing invalid body size are the same as these forbidden cases.
2199         Update close-code-and-reason tests to verify this patch.
2200
2201         * Modules/websockets/WebSocket.cpp: Handle AbnormalClosure as wasClean == false
2202         (WebCore::WebSocket::didClose):
2203         * Modules/websockets/WebSocketChannel.cpp: Handle close frames' status code carefully
2204         (WebCore::WebSocketChannel::processFrame):
2205         * Modules/websockets/WebSocketChannel.h: Update on newly defined close event codes
2206
2207 2012-05-28  Kentaro Hara  <haraken@chromium.org>
2208
2209         [V8] Avoid passing NULL to an 'isolate' parameter
2210         https://bugs.webkit.org/show_bug.cgi?id=87689
2211
2212         Reviewed by Adam Barth.
2213
2214         v8::Null(isolate) crashes if we pass a NULL isolate.
2215         Thus we are planning to replace v8::Null()s in a following way:
2216
2217         - Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check.
2218         If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise,
2219         v8Null(isolate) calls v8::Null(isolate).
2220
2221         - In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a
2222         non-optional 'isolate' parameter.
2223         (e.g. void foo(..., Isolate* isolate) { v8::Null(); } )
2224
2225         - In V8 bindings, we replace v8::Null() with v8Null(isolate) for an
2226         optional 'isolate' parameter.
2227         (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } )
2228
2229         However, currently we cannot do the replacement mechanically, since some code
2230         pass NULL to a non-optional 'isolate' parameter. In other words, currently
2231         "non-optional" does not guarantee that 'isolate' is not NULL.
2232
2233         This patch removes all the code that passes NULL to a non-optional 'isolate'
2234         parameter. This will enable us to achieve the replacement mechanically.
2235
2236         No tests. No behavior change.
2237
2238         * bindings/scripts/CodeGeneratorV8.pm:
2239         (GenerateCallbackImplementation):
2240         (NativeToJSValue):
2241         * bindings/scripts/test/V8/V8TestCallback.cpp:
2242         (WebCore::V8TestCallback::callbackWithClass1Param):
2243         (WebCore::V8TestCallback::callbackWithClass2Param):
2244         (WebCore::V8TestCallback::callbackWithStringList):
2245         (WebCore::V8TestCallback::callbackRequiresThisToPass):
2246         * bindings/scripts/test/V8/V8TestObj.cpp:
2247         (WebCore::V8TestObj::installPerContextProperties):
2248         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2249         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2250         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2251         (WebCore::V8MutationCallback::handleEvent):
2252
2253 2012-05-28  Kent Tamura  <tkent@chromium.org>
2254
2255         Form controls in <fieldset disabled> should not be validated.
2256         https://bugs.webkit.org/show_bug.cgi?id=87381
2257
2258         Reviewed by Hajime Morita.
2259
2260         We need to use disabeld() instead of m_disabled to calculate
2261         willValidate property. Also, we need to update willValidate if
2262         necessary.
2263
2264         Test: fast/forms/fieldset/validation-in-fieldset.html
2265
2266         * html/HTMLFieldSetElement.cpp:
2267         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
2268          - Do not traverse this.
2269          - Calls ancestorDisabledStateWasChanged() instead of
2270           setNeedsStyleRecalc() because we'd like to do additional tasks.
2271         * html/HTMLFormControlElement.cpp:
2272         (WebCore::HTMLFormControlElement::ancestorDisabledStateWasChanged):
2273         Added. Just calls disabledAttributeChanged().
2274         (WebCore::HTMLFormControlElement::parseAttribute):
2275         Do not call setNeedsWillValidateCheck() whenever an attribute is updated.
2276         It should be called only if disabled or readonly attribute is updated.
2277         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
2278         Add setNeedsWillValidateCheck(). It was moved from parseAttribute().
2279         (WebCore::HTMLFormControlElement::insertedInto):
2280         Invalidate ancestor information.
2281         (WebCore::HTMLFormControlElement::recalcWillValidate):
2282         Use disabled() instead of m_disabled. disabled() takes care of
2283         ancestor's disabled state.
2284         * html/HTMLFormControlElement.h:
2285         (HTMLFormControlElement):
2286
2287 2012-05-28  Rakesh KN  <rakesh.kn@motorola.com>
2288
2289         [Forms] HTMLFieldSetElement.idl doesn't have elements attribute.
2290         https://bugs.webkit.org/show_bug.cgi?id=80110
2291
2292         Reviewed by Kent Tamura.
2293
2294         Implemented elements attribute for HTMLFieldSetElement. This is spec'ed at
2295         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-fieldset-elements
2296
2297         Tests: fast/forms/fieldset/fieldset-elements.html
2298                fast/forms/fieldset/fieldset-form-collection-radionode-list.html
2299
2300         * dom/Node.cpp:
2301         (WebCore::Node::radioNodeList):
2302         Extended ASSERT to assert if not HTMLFieldSetElement or HTMLFormElement.
2303         * html/HTMLFieldSetElement.cpp:
2304         (WebCore::HTMLFieldSetElement::elements):
2305         Elements attribute implementation.
2306         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
2307         Update the formcontrol elements collections if dom tree got modified.
2308         (WebCore::HTMLFieldSetElement::associatedElements):
2309         FormControl elements collection accessor.
2310         (WebCore::HTMLFieldSetElement::length):
2311         Number of elements in the fieldset group.
2312         * html/HTMLFieldSetElement.h:
2313         Added elements collection member and form control collection members.
2314         * html/HTMLFieldSetElement.idl:
2315         Added elements attribute.
2316         * html/HTMLFormCollection.cpp:
2317         (WebCore::HTMLFormCollection::formControlElements):
2318         Added support for HTMLFieldSetElement, based on base element type gets its associated elements.
2319         (WebCore::HTMLFormCollection::numberOfFormControlElements): Ditto
2320         (WebCore::HTMLFormCollection::getNamedFormItem): Process image elements only for form element.
2321         (WebCore::HTMLFormCollection::updateNameCache): Ditto
2322         * html/RadioNodeList.cpp:
2323         (WebCore::RadioNodeList::RadioNodeList):
2324         DynamicSubTree root element is decided based on the type whether base element is form or fieldset element.
2325         Renamed m_formElement to m_baseElement.
2326         (WebCore::RadioNodeList::~RadioNodeList):
2327         Renamed m_formElement to m_baseElement.
2328         (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
2329         Form element specific changes moved under form element check.
2330         * html/RadioNodeList.h:
2331         (WebCore::RadioNodeList::create):
2332         (RadioNodeList):
2333         Renamed m_formElement to m_baseElement.
2334
2335 2012-05-28  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2336
2337         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
2338         https://bugs.webkit.org/show_bug.cgi?id=80135
2339
2340         Reviewed by Rob Buis.
2341
2342         RIM PR: 145660
2343         Fixed a regression introduced by r111810, we should cancel the new
2344         request when user press cancel button in http authentication challenge
2345         dialog, and we should also allow sending empty username and password
2346         with the request.
2347         Also removed redundant codes which checked the existence of the
2348         FrameLoaderClient pointer, as we've already moved authenticationChallenge()
2349         out of class FrameLoaderClient, it is not needed.
2350
2351         Manual test added. Testing http authentication dialog relies on user interaction.
2352
2353         Resubmit the patch reverted by r115104 after the digest infinite loop
2354         issue for BlackBerry porting get identified and fixed.
2355
2356         Internally reviewed by Joe Mason <jmason@rim.com>
2357
2358         * platform/blackberry/PageClientBlackBerry.h:
2359         * platform/network/blackberry/NetworkJob.cpp:
2360         (WebCore::NetworkJob::sendRequestWithCredentials):
2361
2362 2012-05-28  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2363
2364         [BlackBerry] http authentication challenge issue when loading favicon
2365         https://bugs.webkit.org/show_bug.cgi?id=87665
2366
2367         Reviewed by Rob Buis.
2368
2369         Provide the TargetType when generating a favicon loading
2370         request. Loading favicons is triggered after the main resource
2371         has been loaded and parsed, so if we cancel the authentication
2372         challenge when loading main resource, we should also cancel
2373         loading the favicon when it starts to load. If not we will
2374         receive another challenge after we canceled the main resource
2375         loading, which may confuse the user.
2376
2377         Internally reviewed by Joe Mason <jmason@rim.com>
2378
2379         No new tests because of no behavior changes.
2380
2381         * loader/icon/IconLoader.cpp:
2382         (WebCore::IconLoader::startLoading):
2383         * platform/network/blackberry/NetworkJob.cpp:
2384         (WebCore::NetworkJob::sendRequestWithCredentials):
2385
2386 2012-05-28  MORITA Hajime  <morrita@google.com>
2387
2388         Rename FrameLoaderClient::shadowDOMAllowed() to allowShadowDOM()
2389         https://bugs.webkit.org/show_bug.cgi?id=87101
2390
2391         Reviewed by Kentaro Hara.
2392
2393         No new tests. No behavior change.
2394
2395         * bindings/generic/ContextEnabledFeatures.cpp:
2396         (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
2397         * loader/FrameLoaderClient.h:
2398         (WebCore::FrameLoaderClient::allowShadowDOM):
2399
2400 2012-05-28  David Barton  <dbarton@mathscribe.com>
2401
2402         mathml/presentation/mo-stretch.html and mroot-pref-width.html tests fail on Mac
2403         https://bugs.webkit.org/show_bug.cgi?id=86786
2404
2405         Reviewed by Darin Adler.
2406
2407         The fix to https://bugs.webkit.org/show_bug.cgi?id=84167 changed inline-table baselines,
2408         including for <mtable>. We therefore have to correct <mtable>'s vertical-align CSS
2409         property.
2410
2411         Tested by existing tests mo-stretch.html, row-alignment.xhtml, and tables.xhtml.
2412
2413         * css/mathml.css:
2414         (mtable):
2415
2416 2012-05-28  Luke Macpherson  <macpherson@chromium.org>
2417
2418         Make CSSParser::filteredProperties() O(n) instead of O(n^2) and improve readability.
2419         https://bugs.webkit.org/show_bug.cgi?id=87078
2420
2421         Reviewed by Darin Adler.
2422
2423         This patch implements a number of improvements to filteredProperties:
2424         1) Make the code more linearly readable by separating out handling of important and non-important properties.
2425         2) Eliminate one BitArray instance (reduces hot memory so more cache friendly).
2426         3) Remove O(n^2) behavior caused by scanning for and removing previously encountered definitions of each property.
2427         The key algorithmic change is to add properties in decreasing precedence:
2428         a) Iterating once per (important, !important) so that important properties are visited first.
2429         b) Reverse iteration of m_parsedProperties visits the properties in decreasing precedence.
2430
2431         Covered by loads of existing tests - getting CSS property precedence wrong results in too many errors to list.
2432         In particular fast/css contains test cases for important corner cases like duplicated important properties.
2433
2434         * css/CSSParser.cpp:
2435         (WebCore::CSSParser::createStylePropertySet):
2436         * css/CSSProperty.h:
2437         Add vector traits so that CSSProperty can just be memset by vector without calling constructor.
2438
2439 2012-05-28  MORITA Hajime  <morrita@google.com>
2440
2441         Can't edit <input> elements with :first-letter
2442         https://bugs.webkit.org/show_bug.cgi?id=87615
2443
2444         Reviewed by Kent Tamura.
2445
2446         A check using canHaveGeneratedChildren() should cover not only
2447         button and menulist, but also RenderTextControl.
2448         This change pulles canHaveGeneratedChildren() up
2449         from RenderDeprecatedFlexibleBox to RenderObject,
2450         and lets RenderTextControl override it.
2451
2452         Test: fast/forms/input-first-letter-edit.html
2453
2454         * rendering/RenderBlock.cpp:
2455         (WebCore):
2456         (WebCore::RenderBlock::styleDidChange):
2457         (WebCore::RenderBlock::updateFirstLetter):
2458         * rendering/RenderBlock.h: Removed a static function canHaveGeneratedChildren()
2459         (RenderBlock):
2460         * rendering/RenderDeprecatedFlexibleBox.h:
2461         * rendering/RenderObject.cpp:
2462         (WebCore):
2463         (WebCore::RenderObject::canHaveGeneratedChildren): Added.
2464         * rendering/RenderObject.h:
2465         (RenderObject):
2466         * rendering/RenderTextControl.h:
2467
2468 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2469
2470         [BlackBerry] Add support for layers with scale invariant size
2471         https://bugs.webkit.org/show_bug.cgi?id=87601
2472
2473         Reviewed by Rob Buis.
2474
2475         To support layers that have a "floating" appearance, i.e. don't change size
2476         when the web page is drawn at a different scale, we add a new layer property
2477         named "sizeIsScaleInvariant".
2478
2479         The anchor position will still be given in document coordinates for these
2480         "floating" layers, so this is well suited for interface elements like selection
2481         handles whose size is always the same but move with the web page contents.
2482
2483         PR #156812
2484
2485         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2486         (WebCore::LayerCompositingThread::setDrawTransform):
2487         (WebCore::LayerCompositingThread::drawTextures):
2488         (WebCore::LayerCompositingThread::drawMissingTextures):
2489         * platform/graphics/blackberry/LayerCompositingThread.h:
2490         (LayerCompositingThread):
2491         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2492         (LayerCompositingThreadClient):
2493         (WebCore::LayerCompositingThreadClient::drawMissingTextures):
2494         * platform/graphics/blackberry/LayerData.h:
2495         (WebCore::LayerData::LayerData):
2496         (WebCore::LayerData::sizeIsScaleInvariant):
2497         (LayerData):
2498         * platform/graphics/blackberry/LayerRenderer.cpp:
2499         (WebCore::LayerRenderer::LayerRenderer):
2500         (WebCore::LayerRenderer::compositeLayers):
2501         (WebCore::LayerRenderer::updateLayersRecursive):
2502         (WebCore::LayerRenderer::compositeLayersRecursive):
2503         * platform/graphics/blackberry/LayerRenderer.h:
2504         (LayerRenderer):
2505         * platform/graphics/blackberry/LayerTiler.cpp:
2506         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2507         (WebCore::LayerTiler::drawTextures):
2508         (WebCore::LayerTiler::drawMissingTextures):
2509         (WebCore::LayerTiler::drawTexturesInternal):
2510         * platform/graphics/blackberry/LayerTiler.h:
2511         (LayerTiler):
2512         * platform/graphics/blackberry/LayerWebKitThread.h:
2513         (WebCore::LayerWebKitThread::setSizeIsScaleInvariant):
2514         (LayerWebKitThread):
2515
2516 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2517
2518         [BlackBerry] Make it possible to manipulate layers on the compositing thread
2519         https://bugs.webkit.org/show_bug.cgi?id=87602
2520
2521         Reviewed by Rob Buis.
2522
2523         Normally, layers are manipulated on the WebKit thread, and the changes are
2524         synced to the compositing thread during the next accelerated compositing commit
2525         operation.
2526
2527         However, for overlay layers the ability to manipulate layers on the compositing
2528         thread is necessary for adequate user interface responsiveness.
2529
2530         Two mechanisms are added:
2531         1. For a layer with a WebKit-thread counterpart, you can temporarily override
2532         attributes or add animations whose output override attributes.
2533         2. For a layer with no WebKit-thread counterpart, you can now directly set the
2534         compositing thread values for attributes. If you attempt to do this for layers
2535         that do have a WebKit-thread counterpart, the compositing thread values will
2536         be overwritten at the time of the next commit, which makes the override
2537         mechanism more useful there.
2538
2539         PR #156812
2540
2541         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2542         (WebCore::LayerCompositingThread::addSublayer):
2543         (WebCore):
2544         (WebCore::LayerCompositingThread::updateAnimations):
2545         (WebCore::LayerCompositingThread::removeAnimation):
2546         (WebCore::LayerCompositingThread::override):
2547         (WebCore::LayerCompositingThread::clearOverride):
2548         * platform/graphics/blackberry/LayerCompositingThread.h:
2549         (LayerOverride):
2550         (WebCore::LayerOverride::create):
2551         (WebCore::LayerOverride::setPosition):
2552         (WebCore::LayerOverride::setAnchorPoint):
2553         (WebCore::LayerOverride::setBounds):
2554         (WebCore::LayerOverride::setTransform):
2555         (WebCore::LayerOverride::setOpacity):
2556         (WebCore::LayerOverride::addAnimation):
2557         (WebCore::LayerOverride::LayerOverride):
2558         (WebCore):
2559         (LayerCompositingThread):
2560         (WebCore::LayerCompositingThread::setPosition):
2561         (WebCore::LayerCompositingThread::setAnchorPoint):
2562         (WebCore::LayerCompositingThread::setBounds):
2563         (WebCore::LayerCompositingThread::setSizeIsScaleInvariant):
2564         (WebCore::LayerCompositingThread::setTransform):
2565         (WebCore::LayerCompositingThread::setOpacity):
2566         (WebCore::LayerCompositingThread::setNeedsTexture):
2567         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2568         (WebCore::LayerWebKitThread::LayerWebKitThread):
2569         (WebCore::LayerWebKitThread::commitOnCompositingThread):
2570         * platform/graphics/blackberry/LayerWebKitThread.h:
2571         (LayerWebKitThread):
2572         (WebCore::LayerWebKitThread::clearOverride):
2573
2574 2012-05-28  Rob Flack  <flackr@chromium.org>
2575
2576         [chromium] Only increase size of Combo Box Options when displayed on touch screen
2577         https://bugs.webkit.org/show_bug.cgi?id=85921
2578
2579         Reviewed by Adam Barth.
2580
2581         Adds a flag to set whether the current device is a touch screen, independent of whether touch events are supported and use this for the combo box sizing.
2582
2583         No new tests as this is a flag change and covered by existing tests: WebKit/chromium/tests/PopupMenuTest.cpp
2584
2585         * page/Settings.cpp:
2586         (WebCore::Settings::Settings):
2587         * page/Settings.h:
2588         (WebCore::Settings::setDeviceSupportsTouch):
2589         (WebCore::Settings::deviceSupportsTouch):
2590         (Settings):
2591         * platform/chromium/PopupListBox.cpp:
2592         (WebCore::PopupListBox::getRowHeight):
2593         * platform/chromium/PopupListBox.h:
2594         (PopupContainerSettings):
2595         * platform/chromium/PopupMenuChromium.cpp:
2596         (WebCore::PopupMenuChromium::show):
2597
2598 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2599
2600         [BlackBerry] Make custom compositing thread layers more flexible
2601         https://bugs.webkit.org/show_bug.cgi?id=87600
2602
2603         Reviewed by Rob Buis.
2604
2605         Introduce a LayerCompositingThreadClient that's used to fine tune the
2606         behaviour of custom layers. Let the LayerTiler be a
2607         LayerCompositingThreadClient and thus decouple it from
2608         LayerCompositingThread. Adjust method signatures to allow a one-to-many
2609         relationship between Client and Layer.
2610
2611         Remove the old LayerCompositingThread::drawCustom() in favour of this new
2612         Client interface.
2613
2614         PR #156812
2615
2616         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2617         (WebCore::LayerCompositingThread::create):
2618         (WebCore::LayerCompositingThread::LayerCompositingThread):
2619         (WebCore::LayerCompositingThread::~LayerCompositingThread):
2620         (WebCore::LayerCompositingThread::deleteTextures):
2621         (WebCore::LayerCompositingThread::drawTextures):
2622         (WebCore::LayerCompositingThread::hasMissingTextures):
2623         (WebCore::LayerCompositingThread::drawMissingTextures):
2624         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
2625         (WebCore::LayerCompositingThread::bindContentsTexture):
2626         (WebCore::LayerCompositingThread::setVisible):
2627         (WebCore::LayerCompositingThread::scheduleCommit):
2628         * platform/graphics/blackberry/LayerCompositingThread.h:
2629         (WebCore):
2630         (LayerCompositingThread):
2631         * platform/graphics/blackberry/LayerCompositingThreadClient.h: Added.
2632         (WebCore):
2633         (LayerCompositingThreadClient):
2634         (WebCore::LayerCompositingThreadClient::~LayerCompositingThreadClient):
2635         (WebCore::LayerCompositingThreadClient::bindContentsTexture):
2636         (WebCore::LayerCompositingThreadClient::hasMissingTextures):
2637         (WebCore::LayerCompositingThreadClient::drawMissingTextures):
2638         (WebCore::LayerCompositingThreadClient::scheduleCommit):
2639         * platform/graphics/blackberry/LayerRenderer.cpp:
2640         (WebCore::LayerRenderer::drawDebugBorder):
2641         * platform/graphics/blackberry/LayerTiler.cpp:
2642         (WebCore::LayerTiler::LayerTiler):
2643         (WebCore::LayerTiler::layerCompositingThreadDestroyed):
2644         (WebCore::LayerTiler::layerVisibilityChanged):
2645         (WebCore::LayerTiler::uploadTexturesIfNeeded):
2646         (WebCore::LayerTiler::deleteTextures):
2647         (WebCore::LayerTiler::scheduleCommit):
2648         (WebCore):
2649         (WebCore::LayerTiler::bindContentsTexture):
2650         * platform/graphics/blackberry/LayerTiler.h:
2651         (LayerTiler):
2652         (WebCore::LayerTiler::hasMissingTextures):
2653         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2654         (WebCore::LayerWebKitThread::LayerWebKitThread):
2655         * platform/graphics/blackberry/LayerWebKitThread.h:
2656         (LayerWebKitThread):
2657
2658 2012-05-25  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2659
2660         WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled
2661         https://bugs.webkit.org/show_bug.cgi?id=42328
2662
2663         Reviewed by Eric Seidel.
2664
2665         Add setJavaScriptProfilingEnabled() to window.internals.settings. No new tests, but this
2666         change will allow more tests to run in WebKitTestRunner and DRT for ports that weren't
2667         implementing this function before.
2668         This patch also refactors InspectorController::enableProfiler() and
2669         InspectorController::disableProfiler() to InspectorController::setProfilerEnabled(bool).
2670
2671         * WebCore.exp.in:
2672         * inspector/InspectorController.cpp:
2673         (WebCore::InspectorController::profilerEnabled):
2674         (WebCore::InspectorController::setProfilerEnabled):
2675         * inspector/InspectorController.h:
2676         (InspectorController):
2677         * testing/InternalSettings.cpp:
2678         (WebCore::InternalSettings::InternalSettings):
2679         (WebCore::InternalSettings::restoreTo):
2680         (WebCore::InternalSettings::setJavaScriptProfilingEnabled):
2681         (WebCore):
2682         * testing/InternalSettings.h:
2683         (InternalSettings):
2684         * testing/InternalSettings.idl:
2685
2686 2012-05-28  Yong Li  <yoli@rim.com>
2687
2688         Crash on incomplete :not().
2689         https://bugs.webkit.org/show_bug.cgi?id=86673
2690
2691         Reviewed by Antti Koivisto.
2692
2693         Add back null-checks for incomplete :not() class
2694         which were dropped by r81845.
2695
2696         * css/CSSSelector.cpp:
2697         (WebCore::CSSSelector::specificityForOneSelector):
2698         (WebCore::CSSSelector::selectorText):
2699         * css/SelectorChecker.cpp:
2700         (WebCore::SelectorChecker::checkOneSelector):
2701         (WebCore::SelectorChecker::determineLinkMatchType):
2702
2703 2012-05-28  Leo Yang  <leo.yang@torchmobile.com.cn>
2704
2705         FileWriterSync binding should have no static table
2706         https://bugs.webkit.org/show_bug.cgi?id=87645
2707
2708         Reviewed by George Staikos.
2709
2710         FileWriterSync could be used in filesystem FileWriter in worker thread, so we should add ProgressEvent in idl file.
2711
2712         Covered by existing test: fast/filesystem/workers/sync-operations.html.
2713
2714         * Modules/filesystem/FileWriterSync.idl:
2715
2716 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2717
2718         [BlackBerry] Add an overlay layer
2719         https://bugs.webkit.org/show_bug.cgi?id=87567
2720
2721         Reviewed by Antonio Gomes.
2722
2723         The overlay layer allows us to have compositing layers even though the
2724         web page is not currently using accelerated compositing.
2725
2726         These layers can be used to implement tap highlight, inspector overlay
2727         and more.
2728
2729         The WebCore changes support the overlay layer functionality in WebKit
2730         by making it possible to add animations from the compositing thread
2731         without them being instantly overwritten during the next commit.
2732
2733         Also a new custom layer type is added, which allow an overlay layer to
2734         draw itself using raw OpenGL calls. An instance of a custom subclass of
2735         LayerCompositingThread must be provided when creating the
2736         LayerWebKitThread. Then, the custom layer can be used as the content
2737         layer of a GraphicsLayer, or by itself.
2738
2739         Reviewed internally by Filip Spacek.
2740
2741         PR #154335
2742
2743         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2744         (WebCore::LayerCompositingThread::~LayerCompositingThread):
2745         (WebCore::LayerCompositingThread::deleteTextures):
2746         (WebCore::LayerCompositingThread::drawTextures):
2747         (WebCore::LayerCompositingThread::drawMissingTextures):
2748         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
2749         (WebCore::LayerCompositingThread::setVisible):
2750         (WebCore::LayerCompositingThread::scheduleCommit):
2751         * platform/graphics/blackberry/LayerCompositingThread.h:
2752         (WebCore::LayerCompositingThread::addAnimation):
2753         (WebCore::LayerCompositingThread::setRunningAnimations):
2754         (WebCore::LayerCompositingThread::setSuspendedAnimations):
2755         (LayerCompositingThread):
2756         (WebCore::LayerCompositingThread::drawCustom):
2757         * platform/graphics/blackberry/LayerData.h:
2758         (LayerData):
2759         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2760         (WebCore::LayerWebKitThread::LayerWebKitThread):
2761         (WebCore):
2762         (WebCore::LayerWebKitThread::~LayerWebKitThread):
2763         (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
2764         (WebCore::LayerWebKitThread::startAnimations):
2765         (WebCore::LayerWebKitThread::commitOnCompositingThread):
2766         (WebCore::LayerWebKitThread::setNeedsDisplayInRect):
2767         (WebCore::LayerWebKitThread::setNeedsDisplay):
2768         (WebCore::LayerWebKitThread::setIsMask):
2769         (WebCore::LayerWebKitThread::setRunningAnimations):
2770         (WebCore::LayerWebKitThread::setSuspendedAnimations):
2771         * platform/graphics/blackberry/LayerWebKitThread.h:
2772         (LayerWebKitThread):
2773
2774 2012-05-28  Leo Yang  <leo.yang@torchmobile.com.cn>
2775
2776         ProgressEvent JSC binding should have no static table
2777         https://bugs.webkit.org/show_bug.cgi?id=87365
2778
2779         Reviewed by George Staikos.
2780
2781         ProgressEvent could be used in filesystem FileWriter in worker thread, so we should add ProgressEvent in idl file.
2782
2783         Covered by existing test: fast/filesystem/workers/file-writer-events.html.
2784
2785         * dom/ProgressEvent.idl:
2786
2787 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2788
2789         [BlackBerry] Update WebPageCompositor::render() API
2790         https://bugs.webkit.org/show_bug.cgi?id=87565
2791
2792         Reviewed by Rob Buis.
2793
2794         The new API allows the embedder to specify the root transform and many
2795         OpenGL related parameters.
2796
2797         Also refactor the code to allow several sets of layers to be rendered,
2798         and to allow interleaving the rendering of layers with rendering of
2799         buffers and checkerboard.
2800
2801         Reviewed internally by Filip Spacek.
2802
2803         PR #154334
2804
2805         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2806         (WebCore::LayerCompositingThread::drawTextures):
2807         (WebCore::LayerCompositingThread::drawSurface):
2808         * platform/graphics/blackberry/LayerRenderer.cpp:
2809         (WebCore::LayerRenderer::orthoMatrix):
2810         (WebCore::LayerRenderer::LayerRenderer):
2811         (WebCore::LayerRenderer::prepareFrame):
2812         (WebCore):
2813         (WebCore::LayerRenderer::setViewport):
2814         (WebCore::LayerRenderer::compositeLayers):
2815         (WebCore::LayerRenderer::compositeBuffer):
2816         (WebCore::LayerRenderer::drawCheckerboardPattern):
2817         (WebCore::LayerRenderer::drawLayersOnSurfaces):
2818         (WebCore::LayerRenderer::prepareFrameRecursive):
2819         (WebCore::LayerRenderer::updateLayersRecursive):
2820         (WebCore::LayerRenderer::compositeLayersRecursive):
2821         (WebCore::LayerRenderer::updateScissorIfNeeded):
2822         (WebCore::LayerRenderingResults::addHolePunchRect):
2823         * platform/graphics/blackberry/LayerRenderer.h:
2824         (LayerRenderer):
2825
2826 2012-05-28  Antti Koivisto  <antti@apple.com>
2827
2828         REGRESSION(r96517): Attribute selector fails to match dynamically modified style attribute
2829         https://bugs.webkit.org/show_bug.cgi?id=87349
2830
2831         Reviewed by Andreas Kling.
2832         
2833         Selector fast path does not trigger lazy style attribute generation. Since attribute selectors matching
2834         style attribute are rare, disallow them from the fast path rather than making it more branchy.
2835
2836         Test: fast/css/dynamic-style-attribute-query.html
2837
2838         * css/SelectorChecker.cpp:
2839         (WebCore::isFastCheckableMatch):
2840
2841 2012-05-28  Peter Rybin  <peter.rybin@gmail.com>
2842
2843         Web Inspector: Expose function (closure) scopes in remote protocol
2844         https://bugs.webkit.org/show_bug.cgi?id=86861
2845
2846         Reviewed by Yury Semikhatsky.
2847
2848         A data transfer from V8's FunctionMirror via DebuggerScript.js via InjectedScriptHost is built.
2849         Scope field is added to protocol declaration similar to scopes of stack call frame.
2850         Test for function details is extended.
2851         JSC code binging got fixme for implemting the corresponding feature.
2852
2853         * bindings/js/JSInjectedScriptHostCustom.cpp:
2854         (WebCore::JSInjectedScriptHost::functionDetails):
2855         * bindings/v8/DebuggerScript.js:
2856         * bindings/v8/ScriptDebugServer.cpp:
2857         (WebCore::ScriptDebugServer::functionScopes):
2858         (WebCore):
2859         * bindings/v8/ScriptDebugServer.h:
2860         (ScriptDebugServer):
2861         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2862         (WebCore::V8InjectedScriptHost::functionDetailsCallback):
2863         * inspector/InjectedScriptHost.cpp:
2864         (WebCore):
2865         (WebCore::InjectedScriptHost::scriptDebugServer):
2866         * inspector/InjectedScriptHost.h:
2867         (WebCore):
2868         (WebCore::InjectedScriptHost::init):
2869         (InjectedScriptHost):
2870         * inspector/InjectedScriptSource.js:
2871         (.):
2872         * inspector/Inspector.json:
2873         * inspector/InspectorController.cpp:
2874         (WebCore::InspectorController::InspectorController):
2875         * inspector/WorkerInspectorController.cpp:
2876         (WebCore::WorkerInspectorController::WorkerInspectorController):
2877
2878 2012-05-28  Arvid Nilsson  <anilsson@rim.com>
2879
2880         [BlackBerry] Add a constructor to create a Path from an SkPath
2881         https://bugs.webkit.org/show_bug.cgi?id=87566
2882
2883         Reviewed by Antonio Gomes.
2884
2885         Skia allows the creation of more complex paths than WebCore would
2886         allow. This will be used in the BlackBerry port to implement a default
2887         tap highlight appearance.
2888
2889         Reviewed internally by Mike Lattanzio.
2890
2891         PR #154329
2892
2893         * platform/graphics/Path.h:
2894         (Path):
2895         * platform/graphics/skia/PathSkia.cpp:
2896         (WebCore):
2897         (WebCore::Path::Path):
2898
2899 2012-05-28  Alexis Menard  <alexis.menard@openbossa.org>
2900
2901         Unreviewed build fix for Mac on Lion.
2902
2903         * inspector/CodeGeneratorInspector.py:
2904
2905 2012-05-28  Keishi Hattori  <keishi@webkit.org>
2906
2907         Expose value localization function of HTMLInputElement
2908         https://bugs.webkit.org/show_bug.cgi?id=84356
2909
2910         Reviewed by Kent Tamura.
2911
2912         No new tests.
2913
2914         We want to localize the values that are defined in the datalist element.
2915         This adds HTMLInputElement::localizeValue() which will localize a given
2916         value.
2917
2918         * html/BaseDateAndTimeInputType.cpp:
2919         (WebCore::BaseDateAndTimeInputType::localizeValue):
2920         (WebCore):
2921         (WebCore::BaseDateAndTimeInputType::visibleValue):
2922         * html/BaseDateAndTimeInputType.h:
2923         (BaseDateAndTimeInputType):
2924         * html/HTMLInputElement.cpp:
2925         (WebCore::HTMLInputElement::localizeValue):
2926         (WebCore):
2927         * html/HTMLInputElement.h:
2928         (HTMLInputElement):
2929         * html/InputType.cpp:
2930         (WebCore::InputType::localizeValue):
2931         (WebCore):
2932         * html/InputType.h:
2933         (InputType):
2934         * html/NumberInputType.cpp:
2935         (WebCore::NumberInputType::localizeValue):
2936         (WebCore):
2937         (WebCore::NumberInputType::visibleValue):
2938         * html/NumberInputType.h:
2939         (NumberInputType):
2940
2941 2012-05-28  Yury Semikhatsky  <yurys@chromium.org>
2942
2943         Unreviewed. Test fix after r118670: saved timeline data may
2944         not have DOM counters data and MemoryStatistics object should
2945         take this into account.
2946
2947         * inspector/front-end/MemoryStatistics.js:
2948         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
2949
2950 2012-05-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2951
2952         Unreviewed, rolling out r118580.
2953         http://trac.webkit.org/changeset/118580
2954         https://bugs.webkit.org/show_bug.cgi?id=87647
2955
2956         Caused webkit_unit_tests to crash on chromium. (Requested by
2957         bulach on #webkit).
2958
2959         * platform/graphics/chromium/ContentLayerChromium.cpp:
2960         (WebCore::ContentLayerPainter::create):
2961         (WebCore::ContentLayerPainter::paint):
2962         (WebCore::ContentLayerPainter::ContentLayerPainter):
2963         (ContentLayerPainter):
2964         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
2965         * platform/graphics/chromium/TiledLayerChromium.cpp:
2966         (UpdatableTile):
2967         (WebCore::UpdatableTile::UpdatableTile):
2968         (WebCore::TiledLayerChromium::updateTiles):
2969         * platform/graphics/chromium/TiledLayerChromium.h:
2970         (TiledLayerChromium):
2971         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2972         (WebCore::CCSettings::CCSettings):
2973         (CCSettings):
2974
2975 2012-05-28  Peter Beverloo  <peter@chromium.org>
2976
2977         &AElig doesn't get rendered as U+00C6
2978         https://bugs.webkit.org/show_bug.cgi?id=87465
2979
2980         Reviewed by Adam Barth.
2981
2982         The if-statement to check whether the first entry of a certain letter
2983         already exists in the index used .get(). The very first alphabetical
2984         entry is in position "0", which evaluates to false, causing the first
2985         entry to be ignored. Instead, use a "x not in y" check here.
2986
2987         Also update WebCore.gyp to list the create-html-entity-table script as
2988         an input for the action, to make sure the table will be recreated.
2989
2990         Test: html5lib/resources/entities02.dat
2991
2992         * WebCore.gyp/WebCore.gyp:
2993         * html/parser/create-html-entity-table:
2994
2995 2012-05-28  Yury Semikhatsky  <yurys@chromium.org>
2996
2997         Web Inspector: dom counters graphs vanish on switching between timeline views
2998         https://bugs.webkit.org/show_bug.cgi?id=87628
2999
3000         Reviewed by Vsevolod Vlasov.
3001
3002         MemoryStatistics object now listens to the TimelineModel events instead of being
3003         populated by timeline panel. This behavior mathes that of the overview pane.
3004
3005         * inspector/front-end/MemoryStatistics.js:
3006         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
3007         * inspector/front-end/TimelinePanel.js:
3008         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
3009         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3010
3011 2012-05-28  Marcus Bulach  <bulach@chromium.org>
3012
3013         [chromium] Buildfix: remove obsolete file from gypi.
3014         https://bugs.webkit.org/show_bug.cgi?id=87643
3015
3016         Reviewed by no-reviewer.
3017
3018         Following http://trac.webkit.org/changeset/118610.
3019         Removes reference to platform/graphics/gstreamer/ImageGStreamerCG.mm
3020
3021         * WebCore.gypi:
3022
3023 2012-05-28  MORITA Hajime  <morrita@google.com>
3024
3025         HTMLFormControlElement::m_validationMessage shouldn't be cleared on detach()
3026         https://bugs.webkit.org/show_bug.cgi?id=87608
3027
3028         Reviewed by Kent Tamura.
3029
3030         Moved m_validationMessage clearance from detach() to removedFrom() and
3031         remove detach().
3032
3033         No new tests. This change has no visible difference. Upcoming changes rely on this though.
3034
3035         * html/HTMLFormControlElement.cpp:
3036         (WebCore::HTMLFormControlElement::removedFrom):
3037
3038 2012-05-28  Yury Semikhatsky  <yurys@chromium.org>
3039
3040         Web Inspector: "Record CPU profile" button doesn't change its state after finishing profiling
3041         https://bugs.webkit.org/show_bug.cgi?id=87624
3042
3043         Reviewed by Vsevolod Vlasov.
3044
3045         Keep record button state in sync with the current profiling state.
3046
3047         * inspector/front-end/ProfilesPanel.js:
3048         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
3049
3050 2012-05-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3051
3052         Unreviewed, rolling out r118650.
3053         http://trac.webkit.org/changeset/118650
3054         https://bugs.webkit.org/show_bug.cgi?id=87639
3055
3056         Patch caused massive failures throughout the builders
3057         (Requested by zdobersek on #webkit).
3058
3059         * css/MediaQuery.cpp:
3060         (WebCore):
3061         (WebCore::MediaQuery::serialize):
3062         (WebCore::MediaQuery::MediaQuery):
3063         (WebCore::MediaQuery::cssText):
3064         * css/MediaQuery.h:
3065         (WebCore::MediaQuery::expressions):
3066         (WebCore::MediaQuery::mediaType):
3067         (MediaQuery):
3068         (WebCore::MediaQuery::copy):
3069         * css/MediaQueryEvaluator.cpp:
3070         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
3071         (WebCore::MediaQueryEvaluator):
3072         (WebCore::MediaQueryEvaluator::eval):
3073         (WebCore::aspect_ratioMediaFeatureEval):
3074         (WebCore::device_aspect_ratioMediaFeatureEval):
3075         (WebCore::transform_3dMediaFeatureEval):
3076         (WebCore::view_modeMediaFeatureEval):
3077         (WebCore::createFunctionMap):
3078         * css/MediaQueryEvaluator.h:
3079         (WebCore):
3080         (MediaQueryEvaluator):
3081         * css/StyleResolver.cpp:
3082         (WebCore):
3083         (WebCore::StyleResolver::collectMatchingRulesForList):
3084         * css/StyleResolver.h:
3085         (MediaQueryResult):
3086         (WebCore::MediaQueryResult::MediaQueryResult):
3087         (WebCore):
3088         (StyleResolver):
3089
3090 2012-05-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3091
3092         Move allowRoundingHacks to Internals interface
3093         https://bugs.webkit.org/show_bug.cgi?id=87328
3094
3095         Reviewed by Hajime Morita.
3096
3097         Add allowRoundingHacks function, because it is able to work in the
3098         cross-port way by means of the Internals interface.
3099
3100         In addition, a function is added in order to restore default setting values.
3101
3102         No new tests, since we are improving here the infra-structure for testing
3103         a specific method.
3104
3105         * testing/Internals.cpp:
3106         (WebCore::Internals::reset):
3107         (WebCore):
3108         (WebCore::Internals::resetDefaultsToConsistentValues):
3109         (WebCore::Internals::allowRoundingHacks):
3110         * testing/Internals.h:
3111         (Internals):
3112         * testing/Internals.idl:
3113
3114 2012-05-28  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3115
3116         [BlackBerry] http authentication crash the browser when user commit or cancel the http authentication dialog
3117         https://bugs.webkit.org/show_bug.cgi?id=87579
3118
3119         Reviewed by George Staikos.
3120
3121         In function NetworkJob::startNewJobWithRequest, We should cancel the
3122         NetworkJob first before we start a new NetworkJob which reuses the
3123         resource handle of the old one. If we only set the m_handle = 0 of the
3124         old NetworkJob without cancelling itself, it will still receives data
3125         notification from network thread and handles the received data with
3126         the released resource handler, which will cause the crash.
3127
3128         No new tests because no behavior has changed.
3129
3130         * platform/network/blackberry/NetworkJob.cpp:
3131         (WebCore::NetworkJob::startNewJobWithRequest):
3132
3133 2012-05-27  MORITA Hajime  <morrita@google.com>
3134
3135         [Refactoring][ShadowDOM] Some ElementShadow methods can be inlined.
3136         https://bugs.webkit.org/show_bug.cgi?id=87617
3137
3138         Reviewed by Kentaro Hara.
3139
3140         Inlined ElementShadow::attachHost(), ElementShadow::detachHost() and
3141         ElementShadow::reattach()
3142
3143         No new tests. No behavior change.
3144
3145         * dom/Element.cpp:
3146         (WebCore::Element::attach):
3147         (WebCore::Element::detach):
3148         * dom/ElementShadow.cpp:
3149         (WebCore::ElememtnShadow::reattachHostChildrenAndShadow):
3150         * dom/ElementShadow.h:
3151         (ElementShadow):
3152
3153 2012-05-28  Peter Rybin  <peter.rybin@gmail.com>
3154
3155         Web Inspector: CodeGeneratorInspector.py: protect typed API from C++ implicit float to int cast
3156         https://bugs.webkit.org/show_bug.cgi?id=87183
3157
3158         Reviewed by Yury Semikhatsky.
3159
3160         An intermediate C++ class is introduced that uses C++ template technique to control actual type
3161         of its constructor argument.
3162         All input parameters of type "int" now have type ExactlyInt. 
3163         All usage sites are fixed accordingly.
3164
3165         * inspector/CodeGeneratorInspector.py:
3166         (TypeModel.RefPtrBased):
3167         (TypeModel.Enum):
3168         (TypeModel.ValueType):
3169         (TypeModel.ValueType.get_opt_output_type_):
3170         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
3171         (TypeModel.ExactlyInt):
3172         (TypeModel.ExactlyInt.__init__):
3173         (TypeModel.ExactlyInt.get_input_param_type_text):
3174         (TypeModel.ExactlyInt.get_opt_output_type_):
3175         (TypeModel.init_class):
3176         (ExactlyInt):
3177         * inspector/InspectorAgent.cpp:
3178         (WebCore::InspectorAgent::enable):
3179         (WebCore::InspectorAgent::didCreateWorker):
3180         (WebCore::InspectorAgent::didDestroyWorker):
3181         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3182         * inspector/InspectorApplicationCacheAgent.cpp:
3183         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
3184         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3185         * inspector/InspectorDOMAgent.cpp:
3186         (WebCore::InspectorDOMAgent::buildObjectForNode):
3187         * inspector/InspectorMemoryAgent.cpp:
3188         (WebCore::jsHeapInfo):
3189         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
3190         * inspector/PageRuntimeAgent.cpp:
3191         (WebCore::PageRuntimeAgent::notifyContextCreated):
3192
3193 2012-05-28  Kentaro Hara  <haraken@chromium.org>
3194
3195         Unreviewed. Rebaselined run-binding-tests results.
3196
3197         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3198         (WebCore::JSTestActiveDOMObjectOwner::finalize):
3199         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3200         (WebCore::JSTestCustomNamedGetterOwner::finalize):
3201         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3202         (WebCore::JSTestEventConstructorOwner::finalize):
3203         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3204         (WebCore::JSTestEventTargetOwner::finalize):
3205         * bindings/scripts/test/JS/JSTestException.cpp:
3206         (WebCore::JSTestExceptionOwner::finalize):
3207         * bindings/scripts/test/JS/JSTestInterface.cpp:
3208         (WebCore::JSTestInterfaceOwner::finalize):
3209         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3210         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
3211         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3212         (WebCore::JSTestNamedConstructorOwner::finalize):
3213         * bindings/scripts/test/JS/JSTestObj.cpp:
3214         (WebCore::JSTestObjOwner::finalize):
3215         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3216         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
3217         * bindings/scripts/test/V8/V8TestObj.cpp:
3218         (WebCore::V8TestObj::installPerContextProperties):
3219
3220 2012-05-28  Darin Adler  <darin@apple.com>
3221
3222         StyleResolver need not allocate each MediaQueryResult on the heap
3223         https://bugs.webkit.org/show_bug.cgi?id=75223
3224
3225         Reviewed by Daniel Bates.
3226
3227         * css/MediaQuery.cpp: Removed some comments that pointed to CSS documents.
3228         There is no guarantee these links will be valid over time.
3229         (WebCore::MediaQuery::MediaQuery): Rewrote for clarity, conventional WebKit coding
3230         style, and simplicity.
3231         (WebCore::MediaQuery::copy): Moved out of line; not performance critical, and this
3232         allows us to cut down header dependencies.
3233         (WebCore::MediaQuery::cssText): Updated for change to data member name.
3234
3235         * css/MediaQuery.h: Removed unneeded includes. Removed non-helpful argument name
3236         "exprs". Changed expressions function to return a reference instead of
3237         a pointer. Changed mediaType and cssText functions to return a reference. Renamed
3238         m_serializationCache to m_serializedQuery. Moved copy function out of header.
3239
3240         * css/MediaQueryEvaluator.cpp: Renamed EvalFunc to MediaFeatureEvaluationFunction.
3241         Broke a FIXME into three and reworded for clarity.
3242         (WebCore::MediaQueryEvaluator): Updated for name changes.
3243         (WebCore::MediaQueryEvaluator::eval): Rewrote this for clarity and to regularize
3244         the logic a bit.
3245         (WebCore::aspect_ratioMediaFeatureEval): Got rid of a != 0 that is contrary to the
3246         normal WebKit style.
3247         (WebCore::device_aspect_ratioMediaFeatureEval): Ditto.
3248         (WebCore::transform_3dMediaFeatureEval): Fixed mangled #if that was here.
3249         (WebCore::view_modeMediaFeatureEval): Replaced UNUSED_PARAM usage with ASSERT_UNUSED.
3250         (WebCore::createFunctionMap): Changed this so it returns the map so we can use a
3251         cleaner style in the caller.
3252         (WebCore::MediaQueryEvaluator::eval): Updated to take a reference and improved the
3253         comments and coding style a bit.
3254
3255         * css/MediaQueryEvaluator.h: Updated comment style. Removed unused constructor.
3256         Removed unneeded destructor declaration. Renamed m_expResult to m_mediaFeatureResult.
3257
3258         * css/StyleResolver.cpp: Moved the MediaQueryResult class into this file
3259         and made it a structure rather than a class.
3260         (WebCore::StyleResolver::addViewportDependentMediaQueryResult): Updated to take
3261         a reference argument instead of a pointer and for the new vector type.
3262         (WebCore::StyleResolver::affectedByViewportChange): Updated for above changes.
3263
3264         * css/StyleResolver.h: Removed many unneeded includes and forward declarations of
3265         classes, including now-unneeded include of MediaQueryExp.h. Replaced MediaQueryResult
3266         definition with a forward declaration. Changed addViewportDependentMediaQueryResult
3267         to take a reference instead of a pointer. Changed m_viewportDependentMediaQueryResults
3268         to be a vector of values rather than of pointers.
3269
3270 2012-05-27  Shinya Kawanaka  <shinyak@chromium.org>
3271
3272         cut, copy or paste event won't be fired in Shadow DOM.
3273         https://bugs.webkit.org/show_bug.cgi?id=87352
3274
3275         Reviewed by Dimitri Glazkov.
3276
3277         cut, copy or paste event was not fired in Shadow DOM.
3278         Since event re-targeting has been implemented, it should be safe to fire them in Shadow DOM now.
3279
3280         Tests: fast/dom/shadow/cppevent-in-shadow.html
3281                fast/dom/shadow/cppevent-input-in-shadow.html
3282
3283         * editing/Editor.cpp:
3284         (WebCore::Editor::findEventTargetFrom):
3285
3286 2012-05-27  Hayato Ito  <hayato@chromium.org>
3287
3288         Support multiple shadow roots in event dispatching.
3289         https://bugs.webkit.org/show_bug.cgi?id=87470
3290
3291         Reviewed by Dimitri Glazkov.
3292
3293         The current implementation does not set event's target correctly
3294         if an event happens on DOM tree with multiple shadow roots.  So
3295         this patch updates an event re-targeting algorithm so that it
3296         works even if it is applied to multiple shadow roots.
3297
3298         Tests: fast/dom/shadow/shadow-dom-event-dispatching.html
3299
3300         * dom/ComposedShadowTreeWalker.cpp:
3301         (WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot):
3302         * dom/EventDispatcher.cpp:
3303         (WebCore::EventDispatcher::ensureEventAncestors):
3304
3305 2012-05-27  Benjamin Poulain  <benjamin@webkit.org>
3306
3307         Minor code cleaning for the interface of MainResourceLoader
3308         https://bugs.webkit.org/show_bug.cgi?id=87607
3309
3310         Reviewed by Darin Adler.
3311
3312         * loader/MainResourceLoader.cpp:
3313         (WebCore::MainResourceLoader::MainResourceLoader):
3314         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
3315         (WebCore::MainResourceLoader::handleSubstituteDataLoadSoon):
3316         * loader/MainResourceLoader.h:
3317         (MainResourceLoader):
3318         -Add the OVERRIDE keyword for the methods inherited from ResourceLoader.
3319         -Remove the useless declaration of handleDataLoad(ResourceRequest&), this method does not exist.
3320         -Rename handleDataLoadNow() to handleSubstituteDataLoadNow() and make the method private. This should
3321          only be used by handleSubstituteDataLoadSoon() and indirectly through the timer.
3322
3323 2012-05-27  Yoshifumi Inoue  <yosin@chromium.org>
3324
3325         [WTF] Introduce UINT64_C to MathExtras.h
3326         https://bugs.webkit.org/show_bug.cgi?id=87485
3327
3328         Reviewed by Kent Tamura.
3329
3330         This patch introduces UINT64_C for all platforms to avoid using
3331         conditional compilation.
3332
3333         No new tests. This patch doesn't change behavior.
3334
3335         * Modules/websockets/WebSocketFrame.cpp:
3336         (WebCore::WebSocketFrame::parseFrame): Replace conditional compilation with UINT64_C.
3337
3338 2012-05-27  Luke Macpherson  <macpherson@chromium.org>
3339
3340         Use StringBuilder in WebKitCSSTransformValue::customCssText() to allow code reuse with CSS Variables.
3341         https://bugs.webkit.org/show_bug.cgi?id=87462
3342
3343         Reviewed by Dimitri Glazkov.
3344
3345         Factor out strings into a const char* array, and use a StringBuilder instead of String concatenation.
3346         This will allow future code to re-use the array of transform names, and StringBuilder is generally faster.
3347
3348         Covered by existing CSS transform tests.
3349
3350         * css/WebKitCSSTransformValue.cpp:
3351         (WebCore):
3352         (WebCore::WebKitCSSTransformValue::customCssText):
3353
3354 2012-05-27  Arvid Nilsson  <anilsson@rim.com>
3355
3356         [BlackBerry] Update color for tap highlight and selection
3357         https://bugs.webkit.org/show_bug.cgi?id=87606
3358
3359         Reviewed by Antonio Gomes.
3360
3361         PR #154813
3362
3363         * platform/blackberry/RenderThemeBlackBerry.cpp:
3364         (WebCore::RenderThemeBlackBerry::platformTapHighlightColor):
3365         (WebCore::RenderThemeBlackBerry::platformActiveSelectionBackgroundColor):
3366
3367 2012-05-27  Benjamin Poulain  <bpoulain@apple.com>
3368
3369         When pages are loaded from AppCache with DeferredLoading, willSendRequest() is never called
3370         https://bugs.webkit.org/show_bug.cgi?id=87582
3371
3372         Reviewed by Darin Adler.
3373
3374         Previously, there was a shortcut when a deferred MainResourceLoader is resumed: If the data
3375         was coming from AppCache we could jump directly to startDataLoadTimer().
3376
3377         The problem with the shortcut is willSendRequest() is never called in that particular case
3378         (substituteData + deferred-resume). The imbalance between willSendRequest() and didReceiveResponse()
3379         causes problems.
3380
3381         This patch removes the shortcut so that MainResourceLoader::loadNow() is used regardless of
3382         the deferred loading. The method MainResourceLoader::loadNow() handle the substituteData as if the loading
3383         was not deferred.
3384
3385         Test: http/tests/appcache/load-from-appcache-defer-resume-crash.html
3386
3387         * loader/MainResourceLoader.cpp:
3388         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
3389         (WebCore::MainResourceLoader::handleSubstituteDataLoadSoon):
3390         Rename the method to be consistent with the attribute it uses, making the naming more explicit.
3391         (WebCore::MainResourceLoader::loadNow):
3392         (WebCore::MainResourceLoader::setDefersLoading):
3393         * loader/MainResourceLoader.h:
3394         (MainResourceLoader):
3395
3396 2012-05-27  David Kilzer  <ddkilzer@apple.com>
3397
3398         Use xcrun to find gperf path on platforms that use Xcode
3399         <http://webkit.org/b/87587>
3400
3401         Reviewed by Dan Bernstein.
3402
3403         * WebCore.xcodeproj/project.pbxproj:
3404         (Generate Derived Sources): Set GPERF environment variable using
3405         xcrun.
3406         * css/makeprop.pl: Use GPERF environment variable if set, else
3407         "gperf".
3408         * css/makevalues.pl: Ditto.
3409         * make-hash-tools.pl: Ditto.
3410
3411 2012-05-27  Li Yin  <li.yin@intel.com>
3412
3413         [FileAPI] FileReader should fire progress event when blob has been completely read into memory
3414         https://bugs.webkit.org/show_bug.cgi?id=87585
3415
3416         Reviewed by Kentaro Hara.
3417
3418         From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
3419         One progress event will fire when blob has been completely read into memory.
3420         Firefox, Opera and IE follows the spec.
3421         Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
3422         WebKit should add the behavior to make the conformance with the spec.
3423
3424         Tests: fast/files/file-reader-event-listener.html
3425
3426         * fileapi/FileReader.cpp:
3427         (WebCore::FileReader::didFinishLoading):
3428
3429 2012-05-26  Li Yin  <li.yin@intel.com>
3430
3431         [FileAPI] The result attribute of FileReader shuold use null to replace empty string
3432         https://bugs.webkit.org/show_bug.cgi?id=87578
3433
3434         Reviewed by Kentaro Hara.
3435
3436         From Spec: http://www.w3.org/TR/FileAPI/#filedata-attr
3437         Before read method has been called or an error in reading has occurred,
3438         the result attribute should be null, not empty string.
3439
3440         Currently, Firefox, Opera and IE 10 follows the spec, but Webkit based 
3441         browser don't.
3442         WebKit should change the returned value empty string into null to keep 
3443         conformance with the spec.
3444
3445         Tests: fast/files/read-file-async.html
3446                fast/files/blob-slice-test.html
3447                fast/files/read-blob-async.html
3448                fast/files/workers/worker-read-blob-async.html
3449                fast/files/workers/worker-read-file-async.html
3450
3451         * fileapi/FileReader.cpp:
3452         (WebCore::FileReader::stringResult):
3453
3454 2012-05-26  Andy Estes  <aestes@apple.com>
3455
3456         Fix the build when NETSCAPE_PLUGIN_API is disabled by marking a
3457         parameter as unused.
3458
3459         * plugins/PluginData.cpp:
3460         (WebCore::PluginData::initPlugins):
3461
3462 2012-05-26  Nate Chapin  <japhet@chromium.org>
3463
3464         Cancel CachedResource loads when the last client is removed.
3465         https://bugs.webkit.org/show_bug.cgi?id=35377
3466
3467         Reviewed by Darin Adler.
3468
3469         Test: http/tests/cache/cancel-in-progress-load.html
3470
3471         * loader/SubresourceLoader.cpp:
3472         (WebCore::SubresourceLoader::errorLoadingResource):
3473         * loader/cache/CachedCSSStyleSheet.cpp:
3474         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
3475         * loader/cache/CachedFont.cpp:
3476         (WebCore::CachedFont::allClientsRemoved):
3477         * loader/cache/CachedImage.cpp:
3478         (WebCore::CachedImage::allClientsRemoved):
3479         * loader/cache/CachedRawResource.cpp:
3480         (WebCore):
3481         * loader/cache/CachedRawResource.h:
3482         (WebCore::CachedRawResource::shouldIgnoreHTTPStatusCodeErrors):
3483         * loader/cache/CachedResource.cpp:
3484         (WebCore::CachedResource::allClientsRemoved):
3485         (WebCore):
3486         * loader/cache/CachedResource.h:
3487         (CachedResource):
3488         * loader/cache/CachedScript.cpp:
3489         (WebCore::CachedScript::allClientsRemoved):
3490
3491 2012-05-26  Simon Fraser  <simon.fraser@apple.com>
3492
3493         fast/block/inline-children-root-linebox-crash.html asserts after r118567
3494         https://bugs.webkit.org/show_bug.cgi?id=87544
3495
3496         Reviewed by Darin Adler.
3497         
3498         RenderInline::offsetFromContainer() set offsetDependsOnPoint to true based
3499         on the container's flipped writing mode. However, offsetFromContainer() would
3500         then overwrite that, since it only checked for columns.
3501         
3502         Fix by having RenderInline::offsetFromContainer() check for flipping on
3503         the container. This fixes the assertion.
3504         
3505         The new testcase exercises fixes another issue; unlike mapLocalToAbsolute(),
3506         RenderGeometryMap::absoluteRect() didn't pass the rect center point through
3507         the mapping, which resulted in a different result in some flipping cases.
3508
3509         Test: compositing/geometry/flipped-blocks-inline-mapping.html
3510
3511         * rendering/RenderGeometryMap.cpp:
3512         (WebCore::RenderGeometryMap::absoluteRect):
3513         * rendering/RenderInline.cpp:
3514         (WebCore::RenderInline::offsetFromContainer):
3515         (WebCore::RenderInline::pushMappingToContainer):
3516
3517 2012-05-26  Geoffrey Garen  <ggaren@apple.com>
3518
3519         WebKit should be lazy-finalization-safe (esp. the DOM) v2
3520         https://bugs.webkit.org/show_bug.cgi?id=87581
3521
3522         Reviewed by Oliver Hunt.
3523
3524         * bindings/js/JSDOMGlobalObject.cpp:
3525         (WebCore::JSDOMGlobalObject::destroy):
3526         * bindings/js/JSDOMWindowBase.cpp:
3527         (WebCore::JSDOMWindowBase::destroy):
3528         * bindings/js/JSDOMWindowShell.cpp:
3529         (WebCore::JSDOMWindowShell::destroy):
3530         * bindings/js/JSNodeCustom.cpp:
3531         (WebCore::JSNodeOwner::finalize):
3532         * bindings/js/JSWorkerContextBase.cpp:
3533         (WebCore::JSWorkerContextBase::destroy):
3534         * bindings/scripts/CodeGeneratorJS.pm:
3535         (GenerateImplementation):
3536         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3537         (WebCore::JSTestActiveDOMObject::destroy):
3538         (WebCore::JSTestActiveDOMObjectOwner::finalize):
3539         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3540         (WebCore::JSTestCustomNamedGetter::destroy):
3541         (WebCore::JSTestCustomNamedGetterOwner::finalize):
3542         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3543         (WebCore::JSTestEventConstructor::destroy):
3544         (WebCore::JSTestEventConstructorOwner::finalize):
3545         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3546         (WebCore::JSTestEventTarget::destroy):
3547         (WebCore::JSTestEventTargetOwner::finalize):
3548         * bindings/scripts/test/JS/JSTestException.cpp:
3549         (WebCore::JSTestException::destroy):
3550         (WebCore::JSTestExceptionOwner::finalize):
3551         * bindings/scripts/test/JS/JSTestInterface.cpp:
3552         (WebCore::JSTestInterface::destroy):
3553         (WebCore::JSTestInterfaceOwner::finalize):
3554         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3555         (WebCore::JSTestMediaQueryListListener::destroy):
3556         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
3557         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3558         (WebCore::JSTestNamedConstructor::destroy):
3559         (WebCore::JSTestNamedConstructorOwner::finalize):
3560         * bindings/scripts/test/JS/JSTestObj.cpp:
3561         (WebCore::JSTestObj::destroy):
3562         (WebCore::JSTestObjOwner::finalize):
3563         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3564         (WebCore::JSTestSerializedScriptValueInterface::destroy):
3565         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
3566         * bridge/objc/objc_runtime.mm:
3567         (JSC::Bindings::ObjcFallbackObjectImp::destroy):
3568         * bridge/qt/qt_runtime.cpp:
3569         (JSC::Bindings::QtRuntimeMethod::destroy):
3570         * bridge/qt/qt_runtime_qt4.cpp:
3571         (JSC::Bindings::QtRuntimeMethod::destroy):
3572         * bridge/runtime_array.cpp:
3573         (JSC::RuntimeArray::destroy):
3574         * bridge/runtime_method.cpp:
3575         (JSC::RuntimeMethod::destroy):
3576         * bridge/runtime_object.cpp:
3577         (JSC::Bindings::RuntimeObject::destroy):
3578         * bridge/runtime_root.cpp:
3579         (JSC::Bindings::RootObject::finalize): Use static_cast instead of jsCast because
3580         jsCast does Structure-based validation, and our Structure is not guaranteed
3581         to be alive when we get finalized.
3582
3583 2012-05-26  Simon Fraser  <simon.fraser@apple.com>
3584
3585         Clip rects assertion when hovering div with transform
3586         https://bugs.webkit.org/show_bug.cgi?id=87580
3587
3588         Reviewed by Eric Seidel.
3589         
3590         Hit testing used to use temporary clip rects in composited documents,
3591         until r118562. Now that we cache clip rects for hit testing, we need
3592         to clear the cache on descendant layers when a layer gains or loses
3593         a transform.
3594
3595         Test: fast/layers/clip-rects-assertion.html
3596
3597         * rendering/RenderLayer.cpp:
3598         (WebCore::RenderLayer::updateTransform):
3599
3600 2012-05-25  Dan Bernstein  <mitz@apple.com>
3601
3602         <rdar://problem/11439771> WebProcess sends many synchronous messages to the UI process while scrolling beneath ScrollView::contentsToScreen()
3603         https://bugs.webkit.org/show_bug.cgi?id=87571
3604
3605         Reviewed by Anders Carlsson.
3606
3607         fakeMouseEventTimerFired() uses the last known mouse position for the fake mouse event, but
3608         calls contentsToScreen() to compute a corresponding position in screen coordinates. Avoid
3609         this by also recording the last known mouse position in screen coordinates, and using that
3610         value.
3611
3612         * page/EventHandler.cpp:
3613         (WebCore::EventHandler::clear): Added resetting m_currentMouseGlobalPosition.
3614         (WebCore::EventHandler::handleMousePressEvent): Added updating m_currentMouseGlobalPosition
3615         when updating m_currentMousePosition.
3616         (WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto.
3617         (WebCore::EventHandler::handleMouseMoveEvent): Ditto.
3618         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
3619         (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Changed to use m_currentMouseGlobalPosition
3620         in the fake event instead of calling contentsToScreen().
3621         * page/EventHandler.h: Added m_currentMouseGlobalPosition data member.
3622
3623 2012-05-25  Philippe Normand  <pnormand@igalia.com>
3624
3625         [GStreamer] Remove ImageGStreamerCG implementation
3626         https://bugs.webkit.org/show_bug.cgi?id=87559
3627
3628         The ImageGStreamerCG abstraction is being removed until I manage to
3629         port my gst-mac WebKit branch over to the WebKit2 mac port. No
3630         need to update the XCode project because this file is not
3631         referenced there anyway.
3632
3633         Reviewed by Martin Robinson.
3634
3635         * platform/graphics/gstreamer/ImageGStreamer.h:
3636         (ImageGStreamer):
3637         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Removed.
3638
3639 2012-05-26  Rob Buis  <rwlbuis@webkit.org>
3640
3641         Bug 15799: textPath element does not re-render when referenced path changes
3642         https://bugs.webkit.org/show_bug.cgi?id=15799
3643
3644         Reviewed by Nikolas Zimmermann.
3645
3646         Support textPath updating to changes on the referenced path. To make this possible
3647         use the target reference functionality also used by SVGFEImageElement.
3648
3649         Tests: svg/custom/textPath-change-id-expected.svg
3650                svg/custom/textPath-change-id-pattern-expected.svg
3651                svg/custom/textPath-change-id-pattern.svg
3652                svg/custom/textPath-change-id.svg
3653                svg/custom/textPath-change-id2-expected.svg
3654                svg/custom/textPath-change-id2-pattern-expected.svg
3655                svg/custom/textPath-change-id2-pattern.svg
3656                svg/custom/textPath-change-id2.svg
3657                svg/custom/textPath-change-reference-expected.svg
3658                svg/custom/textPath-change-reference-pattern-expected.svg
3659                svg/custom/textPath-change-reference-pattern.svg
3660                svg/custom/textPath-change-reference-using-baseval-expected.svg
3661                svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg
3662                svg/custom/textPath-change-reference-using-baseval-pattern.svg
3663                svg/custom/textPath-change-reference-using-baseval.svg
3664                svg/custom/textPath-change-reference.svg
3665                svg/custom/textPath-change-reference2-expected.svg
3666                svg/custom/textPath-change-reference2-pattern-expected.svg
3667                svg/custom/textPath-change-reference2-pattern.svg
3668                svg/custom/textPath-change-reference2-using-baseval-expected.svg
3669                svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg
3670                svg/custom/textPath-change-reference2-using-baseval-pattern.svg
3671                svg/custom/textPath-change-reference2-using-baseval.svg
3672                svg/custom/textPath-change-reference2.svg
3673                svg/custom/textPath-insert-path-expected.svg
3674                svg/custom/textPath-insert-path-pattern-expected.svg
3675                svg/custom/textPath-insert-path-pattern.svg
3676                svg/custom/textPath-insert-path.svg
3677                svg/custom/textPath-modify-child-expected.svg
3678                svg/custom/textPath-modify-child-pattern-expected.svg
3679                svg/custom/textPath-modify-child-pattern.svg
3680                svg/custom/textPath-modify-child.svg
3681                svg/custom/textPath-path-change-expected.svg
3682                svg/custom/textPath-path-change-pattern-expected.svg
3683                svg/custom/textPath-path-change-pattern.svg
3684                svg/custom/textPath-path-change-using-svg-dom-expected.svg
3685                svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg
3686                svg/custom/textPath-path-change-using-svg-dom-pattern.svg
3687                svg/custom/textPath-path-change-using-svg-dom.svg
3688                svg/custom/textPath-path-change.svg
3689                svg/custom/textPath-path-change2-expected.svg
3690                svg/custom/textPath-path-change2-pattern-expected.svg
3691                svg/custom/textPath-path-change2-pattern.svg
3692                svg/custom/textPath-path-change2.svg
3693                svg/custom/textPath-remove-path-expected.svg
3694                svg/custom/textPath-remove-path-pattern-expected.svg
3695                svg/custom/textPath-remove-path-pattern.svg
3696                svg/custom/textPath-remove-path.svg
3697                svg/custom/textPath-set-id-expected.svg
3698                svg/custom/textPath-set-id.svg
3699                svg/custom/textPath-startoffset-expected.svg
3700                svg/custom/textPath-startoffset-pattern-expected.svg
3701                svg/custom/textPath-startoffset-pattern.svg
3702                svg/custom/textPath-startoffset.svg
3703
3704         * svg/SVGTextPathElement.cpp:
3705         (WebCore::SVGTextPathElement::~SVGTextPathElement):
3706         (WebCore):
3707         (WebCore::SVGTextPathElement::clearResourceReferences):
3708         (WebCore::SVGTextPathElement::svgAttributeChanged):
3709         (WebCore::SVGTextPathElement::buildPendingResource):
3710         (WebCore::SVGTextPathElement::insertedInto):
3711         (WebCore::SVGTextPathElement::removedFrom):
3712         * svg/SVGTextPathElement.h:
3713
3714 2012-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
3715
3716         Avoid updateFromElement() usage in SVG
3717         https://bugs.webkit.org/show_bug.cgi?id=87573
3718
3719         Stop relying on updateFromElement() - instead rely on addChild/removeChild, which
3720         allows us to optimize the resources re-fetching. When a child is added to the tree
3721         we don't need to remove existing resources from the SVGResourcesCache - the renderer
3722         can't be in the cache yet. Similary, remove the entry from the cache earlier: as soon
3723         as the renderer is removed from the tree, instead of waiting for willBeDestroyed().
3724
3725         No new tests, refactoring only.
3726
3727         * rendering/svg/RenderSVGBlock.cpp:
3728         * rendering/svg/RenderSVGBlock.h:
3729         (RenderSVGBlock):
3730         * rendering/svg/RenderSVGContainer.cpp:
3731         (WebCore::RenderSVGContainer::addChild):
3732         (WebCore):
3733         (WebCore::RenderSVGContainer::removeChild):
3734         * rendering/svg/RenderSVGContainer.h:
3735         (RenderSVGContainer):
3736         * rendering/svg/RenderSVGInline.cpp:
3737         (WebCore::RenderSVGInline::addChild):
3738         (WebCore::RenderSVGInline::removeChild):
3739         * rendering/svg/RenderSVGInline.h:
3740         (RenderSVGInline):
3741         * rendering/svg/RenderSVGModelObject.cpp:
3742         * rendering/svg/RenderSVGModelObject.h:
3743         (RenderSVGModelObject):
3744         * rendering/svg/RenderSVGResourceContainer.cpp:
3745         (WebCore::RenderSVGResourceContainer::registerResource):
3746         * rendering/svg/RenderSVGRoot.cpp:
3747         (WebCore::RenderSVGRoot::addChild):
3748         (WebCore):
3749         (WebCore::RenderSVGRoot::removeChild):
3750         * rendering/svg/RenderSVGRoot.h:
3751         (RenderSVGRoot):
3752         * rendering/svg/RenderSVGText.cpp:
3753         (WebCore::RenderSVGText::addChild):
3754         (WebCore::RenderSVGText::removeChild):
3755         * rendering/svg/SVGResourcesCache.cpp:
3756         (WebCore::SVGResourcesCache::clientStyleChanged):
3757         (WebCore::rendererCanHaveResources):
3758         (WebCore):
3759         (WebCore::SVGResourcesCache::clientWasAddedToTree):
3760         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
3761         * rendering/svg/SVGResourcesCache.h:
3762         (SVGResourcesCache):
3763         * svg/SVGStyledElement.cpp:
3764         * svg/SVGStyledElement.h:
3765         (SVGStyledElement):
3766
3767 2012-05-25  Nat Duca  <nduca@chromium.org>
3768
3769         [chromium] Instrument V8 GC with TraceEvent
3770         https://bugs.webkit.org/show_bug.cgi?id=87530
3771
3772         Reviewed by Kentaro Hara.
3773
3774         We sometimes get performance issues where performance stalls can
3775         be attributed to badly timed GC operations, especially ones that
3776         happen just before a frame running. This adds tracing calls around
3777         GC so that we can better understand these kinds of hangs.
3778
3779         * bindings/v8/V8GCController.cpp:
3780         (WebCore::V8GCController::gcPrologue):
3781         (WebCore::V8GCController::gcEpilogue):
3782
3783 2012-05-25  Garrett Casto  <gcasto@chromium.org>
3784
3785         Allow WebTextFieldDecoratorClient to see applied decorations.
3786         https://bugs.webkit.org/show_bug.cgi?id=86557
3787
3788         Reviewed by Kent Tamura.
3789
3790         * html/shadow/TextFieldDecorationElement.cpp:
3791         (WebCore::TextFieldDecorationElement::fromShadowRoot): A function
3792         that will extract a TextFielDecorationElement from a ShadowRoot, if
3793         there is one.
3794         * html/shadow/TextFieldDecorationElement.h:
3795         (WebCore):
3796         (TextFieldDecorator):
3797
3798 2012-05-25  Tony Chang  <tony@chromium.org>
3799
3800         implement new negative flexing algorithm
3801         https://bugs.webkit.org/show_bug.cgi?id=86528
3802
3803         Reviewed by Ojan Vafai.
3804
3805         Rather than just scale by the negative flexibility, we also take the
3806         flex-basis (preferred size) into consideration.  That means items with
3807         a larger preferred size will shrink faster.
3808
3809         Test: css3/flexbox/flex-algorithm.html (new test cases added)
3810
3811         * rendering/RenderFlexibleBox.cpp:
3812         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Handle overflow.
3813         (WebCore::RenderFlexibleBox::layoutFlexItems):
3814         (WebCore::RenderFlexibleBox::computeNextFlexLine): Sum weighted negative flex.
3815         (WebCore::RenderFlexibleBox::freezeViolations):
3816         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Shrink by weighted amount.
3817         Also handle large values by making sure the flex values are finite.
3818         * rendering/RenderFlexibleBox.h:
3819
3820 2012-05-25  Mihai Parparita  <mihaip@chromium.org>
3821
3822         Allow synchronous XHRs to be disabled in documents
3823         https://bugs.webkit.org/show_bug.cgi?id=87540
3824
3825         Reviewed by Eric Seidel.
3826
3827         Test: fast/xmlhttprequest/xmlhttprequest-sync-disabled.html
3828
3829         Synchronous XMLHttpRequests are a problematic API, since they result
3830         in blocked UI threads. Some clients may wish to always disable them;
3831         give them a setting to do so (see also r103629 for other cases where
3832         synchronous XHRs are disabled).
3833
3834         * page/Settings.cpp:
3835         (WebCore):
3836         (WebCore::Settings::Settings):
3837         * page/Settings.h:
3838         (Settings):
3839         (WebCore::Settings::setSyncXHRInDocumentsEnabled):
3840         (WebCore::Settings::syncXHRInDocumentsEnabled):
3841         * testing/InternalSettings.cpp:
3842         (WebCore::InternalSettings::InternalSettings):
3843         (WebCore::InternalSettings::restoreTo):
3844         (WebCore::InternalSettings::setSyncXHRInDocumentsEnabled):
3845         (WebCore):
3846         * testing/InternalSettings.h:
3847         (InternalSettings):
3848         * testing/InternalSettings.idl:
3849         * xml/XMLHttpRequest.cpp:
3850         (WebCore::XMLHttpRequest::open):
3851
3852 2012-05-25  Kinuko Yasuda  <kinuko@chromium.org>
3853
3854         [chromium] Deprecate FileUtilities::getFileSize and getFileModifiedTime in favor of getFileMetadata
3855         https://bugs.webkit.org/show_bug.cgi?id=87492
3856
3857         Reviewed by Adam Barth.
3858
3859         No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass.
3860
3861         * platform/chromium/FileSystemChromium.cpp:
3862         (WebCore::getFileSize):
3863         (WebCore::getFileModificationTime):
3864         (WebCore::getFileMetadata):
3865         * platform/chromium/PlatformSupport.h:
3866         (PlatformSupport):
3867
3868 2012-05-25  Abhishek Arya  <inferno@chromium.org>
3869
3870         Crash in RenderTableSection::paintCell.
3871         https://bugs.webkit.org/show_bug.cgi?id=87445
3872
3873         Reviewed by Eric Seidel and Julien Chaffraix.
3874
3875         Fix the crash by preventing table parts from being set
3876         as layout root. This prevents us from accessing removed
3877         table cells which can happen if RenderTableSection::layout
3878         is called directly without calling RenderTable::layout first
3879         (in case of cell recalc).
3880
3881         Add ASSERTs to RenderTableSection::layout to prevent
3882         layout to happen when we are already pending cell recalc
3883         or our table is pending section recalc. In those cases,
3884         RenderTable::layout should be called first to relayout
3885         the entire table.
3886
3887         Test: tables/table-section-overflow-clip-crash.html
3888
3889         * rendering/RenderObject.cpp:
3890         (WebCore::objectIsRelayoutBoundary):
3891         * rendering/RenderTableSection.cpp:
3892         (WebCore::RenderTableSection::layout):
3893
3894 2012-05-25  Philip Rogers  <pdr@google.com>
3895
3896         Fix for self-closing <use> tags
3897         https://bugs.webkit.org/show_bug.cgi?id=87504
3898
3899         Reviewed by Adam Barth.
3900
3901         This change causes self-closing non-html tags to behave the same
3902         as tags immediately followed by the closing tag.
3903
3904         Test: svg/custom/svg-self-closing-use.html
3905
3906         * html/parser/HTMLConstructionSite.cpp:
3907         (WebCore::HTMLConstructionSite::attachLater):
3908         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3909         (WebCore::HTMLConstructionSite::insertForeignElement):
3910         * html/parser/HTMLConstructionSite.h:
3911         (HTMLConstructionSite):
3912
3913 2012-05-25  Dan Bernstein  <mitz@apple.com>
3914
3915         Make the ICU-based implementation of NonSharedCharacterBreakIterator work in configurations
3916         that do not have COMPARE_AND_SWAP enabled.
3917
3918         Reviewed by Jessie Berlin.
3919
3920         * platform/text/TextBreakIteratorICU.cpp:
3921         (WebCore::compareAndSwapNonSharedCharacterBreakIterator): Added this helper. It uses
3922         weakCompareAndSwap when COMPARE_AND_SWAP is enabled, and uses a mutex to do the atomic
3923         compare and swap otherwise.
3924         (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Changed to use
3925         compareAndSwapNonSharedCharacterBreakIterator().
3926         (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto.
3927
3928 2012-05-25  Tommy Widenflycht  <tommyw@google.com>
3929
3930         MediaStream API: Make sure IceCallback is valid for PeerConnection00
3931         https://bugs.webkit.org/show_bug.cgi?id=87480
3932
3933         Reviewed by Adam Barth.
3934
3935         Existing tests have been extended to cover this change.
3936
3937         * Modules/mediastream/PeerConnection00.cpp:
3938         (WebCore::PeerConnection00::create):
3939         * Modules/mediastream/PeerConnection00.h:
3940         * Modules/mediastream/PeerConnection00.idl:
3941
3942 2012-05-25  Mike West  <mkwst@chromium.org>
3943
3944         Inline script and style blocked by Content Security Policy should provide more detailed console errors.
3945         https://bugs.webkit.org/show_bug.cgi?id=86848
3946
3947         Reviewed by Adam Barth.
3948
3949         This change adds a URL and line number for context to each call to
3950         `ContentSecurityPolicy::allowInline*`, and pipes it through to the
3951         console message generation in `CSPDirectiveList::reportViolation`.
3952
3953         Line numbers are not added for injected scripts (`document.write(...)`,
3954         `document.body.appendChild`, and etc.).
3955
3956         Tests: http/tests/security/contentSecurityPolicy/injected-inline-script-allowed.html
3957                http/tests/security/contentSecurityPolicy/injected-inline-script-blocked.html
3958                http/tests/security/contentSecurityPolicy/injected-inline-style-allowed.html
3959                http/tests/security/contentSecurityPolicy/injected-inline-style-blocked.html
3960
3961         * bindings/ScriptControllerBase.cpp:
3962         (WebCore::ScriptController::executeIfJavaScriptURL):
3963         * bindings/js/JSLazyEventListener.cpp:
3964         (WebCore::JSLazyEventListener::initializeJSFunction):
3965         * bindings/v8/V8LazyEventListener.cpp:
3966         (WebCore::V8LazyEventListener::prepareListenerObject):
3967         * dom/ScriptElement.cpp:
3968         (WebCore::ScriptElement::ScriptElement):
3969         (WebCore::ScriptElement::executeScript):
3970         * dom/ScriptElement.h:
3971         (ScriptElement):
3972         * dom/StyleElement.cpp:
3973         (WebCore::StyleElement::StyleElement):
3974         (WebCore::StyleElement::createSheet):
3975         * dom/StyleElement.h:
3976         (StyleElement):
3977         * dom/StyledElement.cpp:
3978         (WebCore::StyledElement::StyledElement):
3979         (WebCore):
3980         (WebCore::StyledElement::style):
3981         (WebCore::StyledElement::styleAttributeChanged):
3982         * dom/StyledElement.h:
3983         (StyledElement):
3984         * page/ContentSecurityPolicy.cpp:
3985         (CSPDirectiveList):
3986         (WebCore::CSPDirectiveList::reportViolation):
3987         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
3988         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
3989         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
3990         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
3991         (WebCore::CSPDirectiveList::allowInlineScript):
3992         (WebCore::CSPDirectiveList::allowInlineStyle):
3993         (WebCore::CSPDirectiveList::allowEval):
3994         (WebCore):
3995         (WebCore::isAllowedByAllWithCallStack):
3996         (WebCore::isAllowedByAllWithContext):
3997         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
3998         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
3999         (WebCore::ContentSecurityPolicy::allowInlineScript):
4000         (WebCore::ContentSecurityPolicy::allowInlineStyle):
4001         * page/ContentSecurityPolicy.h:
4002         (WTF):
4003
4004 2012-05-25  Tim Horton  <timothy_horton@apple.com>
4005
4006         ENABLE_CSS3_FLEXBOX is insufficient to disable all web-facing bits of the feature
4007         https://bugs.webkit.org/show_bug.cgi?id=87537
4008         <rdar://problem/11524921>
4009
4010         Reviewed by Simon Fraser.
4011
4012         Allow the feature flag to disable more web-facing parts of the CSS3 flexbox
4013         implementation (primarily fallout from hiding it from computed style).
4014
4015         * css/CSSComputedStyleDeclaration.cpp:
4016         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4017         * css/CSSParser.cpp:
4018         (WebCore::isValidKeywordPropertyAndValue):
4019         (WebCore::isKeywordPropertyID):
4020         (WebCore::CSSParser::parseValue):
4021         * css/CSSPrimitiveValueMappings.h:
4022         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4023         * css/CSSProperty.cpp:
4024         (WebCore::CSSProperty::isInheritedProperty):
4025         * css/CSSPropertyNames.in:
4026         * css/CSSValueKeywords.in:
4027         * css/StyleBuilder.cpp:
4028         (WebCore::StyleBuilder::StyleBuilder):
4029         * css/StylePropertySet.cpp:
4030         (WebCore::StylePropertySet::getPropertyValue):
4031         (WebCore::StylePropertySet::asText):
4032         * css/StylePropertyShorthand.cpp:
4033         (WebCore::shorthandForProperty):
4034         * css/StylePropertyShorthand.h:
4035