Unreviewed, rolling out r123560.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-25  Andrew Wilson  <atwilson@chromium.org>
2
3         Unreviewed, rolling out r123560.
4         http://trac.webkit.org/changeset/123560
5         https://bugs.webkit.org/show_bug.cgi?id=90321
6
7         Breaks chromium valgrind tests.
8
9         * html/FTPDirectoryDocument.cpp:
10         (WebCore::FTPDirectoryDocumentParser::append):
11         * html/parser/HTMLEntityParser.cpp:
12         (WebCore::HTMLEntityParser::consumeNamedEntity):
13         * html/parser/HTMLParserIdioms.cpp:
14         (WebCore::stripLeadingAndTrailingHTMLSpaces):
15         * html/parser/HTMLSourceTracker.cpp:
16         (WebCore::HTMLSourceTracker::sourceForToken):
17         * loader/cache/CachedScript.cpp:
18         (WebCore::CachedScript::script):
19         * platform/text/SegmentedString.cpp:
20         (WebCore::SegmentedString::SegmentedString):
21         (WebCore::SegmentedString::operator=):
22         (WebCore::SegmentedString::clear):
23         (WebCore::SegmentedString::append):
24         (WebCore::SegmentedString::prepend):
25         (WebCore::SegmentedString::advanceSubstring):
26         (WebCore::SegmentedString::advance):
27         (WebCore::SegmentedString::advanceSlowCase):
28         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
29         * platform/text/SegmentedString.h:
30         (WebCore::SegmentedSubstring::SegmentedSubstring):
31         (WebCore::SegmentedSubstring::clear):
32         (WebCore::SegmentedSubstring::appendTo):
33         (SegmentedSubstring):
34         (WebCore::SegmentedString::SegmentedString):
35         (WebCore::SegmentedString::push):
36         (WebCore::SegmentedString::isEmpty):
37         (WebCore::SegmentedString::lookAhead):
38         (WebCore::SegmentedString::lookAheadIgnoringCase):
39         (WebCore::SegmentedString::advance):
40         (WebCore::SegmentedString::advanceAndASSERT):
41         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
42         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
43         (SegmentedString):
44         (WebCore::SegmentedString::advancePastNonNewline):
45         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
46         (WebCore::SegmentedString::operator*):
47         (WebCore::SegmentedString::operator->):
48         (WebCore::SegmentedString::current):
49         (WebCore::SegmentedString::equalsLiterally):
50         (WebCore::SegmentedString::equalsIgnoringCase):
51         (WebCore::SegmentedString::lookAheadInline):
52         (WebCore::SegmentedString::lookAheadSlowCase):
53         * xml/parser/CharacterReferenceParserInlineMethods.h:
54         (WebCore::consumeCharacterReference):
55         * xml/parser/MarkupTokenizerBase.h:
56         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
57         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
58         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
59
60 2012-07-25  Konrad Piascik  <kpiascik@rim.com>
61
62         Web Inspector: Geolocation override
63         https://bugs.webkit.org/show_bug.cgi?id=89365
64
65         Reviewed by Pavel Feldman.
66
67         Re-added the m_page member variable for GeolocationController since
68         it's now being used by InspectorInstrumentaiton.
69
70         Added a way to override the GeolocationPosition and GeolocationError
71         using Web Inspector. Curretnly only PositionError can be set.
72
73         This will be hidden behind the experiments flag for now.
74
75         Tests: inspector/geolocation-error.html
76                inspector/geolocation-success.html
77                inspector/geolocation-watchPosition.html
78
79         * English.lproj/localizedStrings.js:
80         * Modules/geolocation/GeolocationController.cpp:
81         (WebCore::GeolocationController::GeolocationController):
82         (WebCore::GeolocationController::positionChanged):
83         * Modules/geolocation/GeolocationController.h:
84         (GeolocationController):
85         * inspector/Inspector.json:
86         * inspector/InspectorInstrumentation.cpp:
87         (WebCore):
88         (WebCore::InspectorInstrumentation::overrideGeolocationPositionImpl):
89         * inspector/InspectorInstrumentation.h:
90         (WebCore):
91         (InspectorInstrumentation):
92         (WebCore::InspectorInstrumentation::overrideGeolocationPosition):
93         * inspector/InspectorPageAgent.cpp:
94         (WebCore::InspectorPageAgent::InspectorPageAgent):
95         (WebCore::InspectorPageAgent::setGeolocationOverride):
96         (WebCore):
97         (WebCore::InspectorPageAgent::clearGeolocationOverride):
98         (WebCore::InspectorPageAgent::canOverrideGeolocation):
99         (WebCore::InspectorPageAgent::overrideGeolocationPosition):
100         * inspector/InspectorPageAgent.h:
101         * inspector/front-end/Settings.js:
102         * inspector/front-end/SettingsScreen.js:
103         (WebInspector.UserAgentSettingsTab):
104         (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
105         (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
106         (WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput):
107         (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if):
108         (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition):
109         (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput):
110         (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
111         * inspector/front-end/UserAgentSupport.js:
112         (WebInspector.UserAgentSupport.GeolocationPosition):
113         (WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting):
114         (WebInspector.UserAgentSupport.GeolocationPosition.parseSetting):
115         (WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput):
116         (WebInspector.UserAgentSupport.GeolocationPosition.clearGeolocationOverride):
117         * inspector/front-end/inspector.js:
118         (WebInspector.doLoadedDone):
119
120 2012-07-25  Shawn Singh  <shawnsingh@chromium.org>
121
122         [chromium] Build fix for clang builds after r123628
123         https://bugs.webkit.org/show_bug.cgi?id=92266
124
125         Reviewed by Adrienne Walker.
126
127         An un-used variable was causing build failures for clang builds
128         after the refactoring in r123628.  It is correct to simply remove
129         this value.
130
131         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
132         (WebCore::calculateDrawTransformsInternal):
133
134 2012-07-25  Hans Wennborg  <hans@chromium.org>
135
136         Speech JavaScript API: extract function from SpeechRecognitionResult::emma()
137         https://bugs.webkit.org/show_bug.cgi?id=92232
138
139         Reviewed by Adam Barth.
140
141         Extract code for creating emma-qualified names to a helper function.
142
143         Just a refactoring; covered by the existing test.
144
145         * Modules/speech/SpeechRecognitionResult.cpp:
146         (WebCore::emmaQualifiedName):
147         (WebCore):
148         (WebCore::SpeechRecognitionResult::emma):
149
150 2012-07-25  Adrienne Walker  <enne@google.com>
151
152         [chromium] Unify compositor quadTransform/drawTransform/originTransform
153         https://bugs.webkit.org/show_bug.cgi?id=91417
154
155         Reviewed by Kenneth Russell.
156
157         drawTransform used to operate on centered layer rects. To unify quad
158         transforms, draw transforms, and origin transforms, make draw
159         transforms operate on content rects with the origin in the top left.
160
161         This essentially eliminates the need for surface origin transforms,
162         which will be eliminated in a future patch.
163
164         Also, remove the unused CCLayerImpl::getDrawRect function.
165
166         No-op refactoring. Tested by existing tests.
167
168         * platform/graphics/chromium/LayerRendererChromium.cpp:
169         (WebCore::LayerRendererChromium::drawRenderPassQuad):
170         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
171         (WebCore::RenderSurfaceChromium::drawableContentRect):
172         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
173         (WebCore::CCDamageTracker::extendDamageForLayer):
174         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
175         (WebCore::CCLayerImpl::createSharedQuadState):
176         * platform/graphics/chromium/cc/CCLayerImpl.h:
177         (CCLayerImpl):
178         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
179         (WebCore::CCLayerSorter::LayerShape::LayerShape):
180         (WebCore::CCLayerSorter::createGraphNodes):
181         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
182         (WebCore::calculateVisibleContentRect):
183         (WebCore::calculateDrawTransformsInternal):
184         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
185         (WebCore::::markOccludedBehindLayer):
186         (WebCore::::occluded):
187         (WebCore::::unoccludedContentRect):
188         * platform/graphics/chromium/cc/CCRenderPass.cpp:
189         (WebCore::CCRenderPass::appendQuadsToFillScreen):
190         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
191         (WebCore::CCRenderSurface::drawableContentRect):
192
193 2012-07-25  Tommy Widenflycht  <tommyw@google.com>
194
195         MediaStream API: Update MediaStreamTrack to match the specification
196         https://bugs.webkit.org/show_bug.cgi?id=90180
197
198         Reviewed by Adam Barth.
199
200         MediaStreamTracks are now required to show the status of the underlying source,
201         and trigger events when that status changes.
202
203         Test: fast/mediastream/MediaStreamTrack.html
204
205         * GNUmakefile.list.am:
206         * Modules/mediastream/MediaStream.cpp:
207         (WebCore::MediaStream::MediaStream):
208         (WebCore::MediaStream::addTrack):
209         * Modules/mediastream/MediaStreamTrack.cpp:
210         (WebCore::MediaStreamTrack::create):
211         (WebCore::MediaStreamTrack::MediaStreamTrack):
212         (WebCore::MediaStreamTrack::~MediaStreamTrack):
213         (WebCore::MediaStreamTrack::setEnabled):
214         (WebCore::MediaStreamTrack::readyState):
215         (WebCore):
216         (WebCore::MediaStreamTrack::sourceChangedState):
217         (WebCore::MediaStreamTrack::stop):
218         (WebCore::MediaStreamTrack::interfaceName):
219         (WebCore::MediaStreamTrack::scriptExecutionContext):
220         (WebCore::MediaStreamTrack::eventTargetData):
221         (WebCore::MediaStreamTrack::ensureEventTargetData):
222         * Modules/mediastream/MediaStreamTrack.h:
223         * Modules/mediastream/MediaStreamTrack.idl:
224         * WebCore.gypi:
225         * dom/EventNames.h:
226         (WebCore):
227         * dom/EventTargetFactory.in:
228         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
229         * platform/chromium/support/WebMediaStreamSource.cpp:
230         (WebKit::WebMediaStreamSource::setReadyState):
231         (WebKit):
232         (WebKit::WebMediaStreamSource::readyState):
233         * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
234         (WebCore):
235         (WebCore::MediaStreamSource::create):
236         (WebCore::MediaStreamSource::MediaStreamSource):
237         (WebCore::MediaStreamSource::setReadyState):
238         (WebCore::MediaStreamSource::addObserver):
239         (WebCore::MediaStreamSource::removeObserver):
240         * platform/mediastream/MediaStreamSource.h:
241         (Observer):
242         (WebCore::MediaStreamSource::Observer::~Observer):
243         (MediaStreamSource):
244         (WebCore::MediaStreamSource::readyState):
245         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
246         (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
247         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
248
249 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
250
251         Incorrect rounding in ceiledLayoutUnit and roundedLayoutUnit.
252         https://bugs.webkit.org/show_bug.cgi?id=91061
253
254         Reviewed by Adam Barth.
255
256         The two functions are currently both returning the flooredLayoutUnit when subpixel
257         layout is enabled. This patch changes them to return the correct fractional rounded
258         value.
259
260         * platform/FractionalLayoutUnit.h:
261         (WebCore::FractionalLayoutUnit::fromFloatCeil):
262         (FractionalLayoutUnit):
263         (WebCore::FractionalLayoutUnit::fromFloatRound):
264         * rendering/LayoutTypes.h:
265         (WebCore::roundedLayoutUnit):
266         (WebCore::ceiledLayoutUnit):
267         * rendering/RenderBlock.cpp:
268         (WebCore::updatePreferredWidth):
269
270 2012-07-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
271
272         Add *explicit* keyword to constructors in WebCore/platform
273         https://bugs.webkit.org/show_bug.cgi?id=92238
274
275         Reviewed by Kentaro Hara.
276
277         As a step to let *explicit* keyword add to constructors which have a parameter,
278         *explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
279         type conversion.
280
281         Some files in platform directory can't use explicit keyword because of build breaks.
282
283         No new tests. Covered by existing tests.
284
285         * platform/AutodrainedPool.h:
286         (AutodrainedPool):
287         * platform/ContentType.h:
288         (ContentType):
289         * platform/ContextMenu.h:
290         (ContextMenu):
291         * platform/ContextMenuItem.h:
292         (ContextMenuItem):
293         * platform/Cursor.h:
294         (WebCore::SharedCursor::SharedCursor):
295         (Cursor):
296         * platform/KURL.h:
297         (WebCore::KURL::KURL):
298         (KURL):
299         * platform/KURLGooglePrivate.h:
300         (KURLGooglePrivate):
301         * platform/PODRedBlackTree.h:
302         (WebCore::PODRedBlackTree::PODRedBlackTree):
303         * platform/Pasteboard.h:
304         (Pasteboard):
305         * platform/PlatformEvent.h:
306         (WebCore::PlatformEvent::PlatformEvent):
307         * platform/PlatformKeyboardEvent.h:
308         (PlatformKeyboardEvent):
309         * platform/PlatformMouseEvent.h:
310         (PlatformMouseEvent):
311         * platform/PlatformPasteboard.h:
312         (PlatformPasteboard):
313         * platform/PlatformTouchEvent.h:
314         (PlatformTouchEvent):
315         * platform/PlatformWheelEvent.h:
316         (PlatformWheelEvent):
317         * platform/RunLoop.h:
318         (TimerBase):
319         * platform/ScrollAnimator.h:
320         (ScrollAnimator):
321         * platform/ScrollAnimatorNone.h:
322         (ScrollAnimatorNone):
323         * platform/SharedBuffer.h:
324         (SharedBuffer):
325         * platform/WheelFlingPlatformGestureCurve.h:
326         (WheelFlingPlatformGestureCurve):
327         * platform/Widget.h:
328         (Widget):
329
330 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
331
332         NodesFromRect and area-based hit-testing can not handle CSS transforms.
333         https://bugs.webkit.org/show_bug.cgi?id=85792
334
335         Reviewed by Eric Seidel.
336
337         To support the combination of CSS transforms and rect based hit testing,
338         we need to test against the transformed rect, instead of the original rect.
339
340         This patch makes HitTestPoint store the exact transformed FloatPoint and 
341         FloatQuad, and modifies the intersection methods so that they will use a 
342         new FloatQuad based intersection when transforms requires it.
343
344         Tests: fast/dom/nodesFromRect/nodesFromRect-rotate.html
345                fast/dom/nodesFromRect/nodesFromRect-scale.html
346
347         * platform/graphics/FloatQuad.cpp:
348         (WebCore::determinant):
349         (WebCore::rightMostCornerToVector):
350         (WebCore::FloatQuad::intersectsRect):
351         (WebCore::FloatQuad::isCounterclockwise):
352         * platform/graphics/FloatQuad.h:
353         (FloatQuad):
354         * rendering/HitTestResult.cpp:
355         (WebCore::HitTestPoint::HitTestPoint):
356         (WebCore::HitTestPoint::operator=):
357         (WebCore::HitTestPoint::move):
358         (WebCore::HitTestPoint::intersectsRect):
359         (WebCore::HitTestPoint::intersects):
360         * rendering/HitTestResult.h:
361         (HitTestPoint):
362         (WebCore::HitTestPoint::isRectilinear):
363         (WebCore::HitTestPoint::transformedPoint):
364         (WebCore::HitTestPoint::transformedRect):
365         * rendering/HitTestingTransformState.cpp:
366         (WebCore::HitTestingTransformState::flattenWithTransform):
367         (WebCore::HitTestingTransformState::mappedArea):
368         (WebCore::HitTestingTransformState::boundsOfMappedArea):
369         * rendering/HitTestingTransformState.h:
370         (WebCore::HitTestingTransformState::create):
371         (WebCore::HitTestingTransformState::HitTestingTransformState):
372         * rendering/RenderFlowThread.cpp:
373         (WebCore::RenderFlowThread::hitTestRegion):
374         * rendering/RenderLayer.cpp:
375         (WebCore::RenderLayer::hitTest):
376         (WebCore::RenderLayer::createLocalTransformState):
377         (WebCore::RenderLayer::hitTestLayer):
378         (WebCore::RenderLayer::hitTestChildLayerColumns):
379         * rendering/RenderLayer.h:
380         * rendering/svg/RenderSVGText.cpp:
381         (WebCore::RenderSVGText::nodeAtFloatPoint):
382
383 2012-07-25  Kwang Yul Seo  <skyul@company100.net>
384
385         Add HTMLStackItem.h to project files
386         https://bugs.webkit.org/show_bug.cgi?id=92221
387
388         Reviewed by Adam Barth.
389
390         Added HTMLStackItem.h introduced in r123399 to project files.
391
392         Project file changes only, no change in behavior thus no new tests.
393
394         * GNUmakefile.list.am:
395         * WebCore.gypi:
396         * WebCore.vcproj/WebCore.vcproj:
397         * WebCore.xcodeproj/project.pbxproj:
398
399 2012-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
400
401         Unreviewed, rolling out r123606.
402         http://trac.webkit.org/changeset/123606
403         https://bugs.webkit.org/show_bug.cgi?id=92247
404
405         broke Windows build of Chromium (Requested by tomhudson on
406         #webkit).
407
408         * Resources/colorSuggestionPicker.css: Removed.
409         * Resources/colorSuggestionPicker.js: Removed.
410         * WebCore.gyp/WebCore.gyp:
411
412 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
413
414         Web Inspector: disabling property should remove "overriden" decoration from overriden UA shorthand.
415         https://bugs.webkit.org/show_bug.cgi?id=92253
416
417         Reviewed by Vsevolod Vlasov.
418
419         Bug fix with a test and more compilation markup.
420
421         Test: inspector/styles/styles-disable-then-enable-overriden-ua.html
422
423         * inspector/front-end/StylesSidebarPane.js:
424         (WebInspector.StylePropertiesSection.prototype.update):
425         (WebInspector.StylePropertyTreeElement):
426         (WebInspector.StylePropertyTreeElement.prototype):
427
428 2012-07-25  Vsevolod Vlasov  <vsevik@chromium.org>
429
430         Web Inspector: Improve ObjectPropertiesSection UI by adding a tooltip for the value.
431         https://bugs.webkit.org/show_bug.cgi?id=92225
432
433         Reviewed by Pavel Feldman.
434
435         Added tooltip with property value description on the property's valueElement.
436
437         * inspector/front-end/ObjectPropertiesSection.js:
438         (WebInspector.ObjectPropertyTreeElement.prototype.update):
439
440 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
441
442         https://bugs.webkit.org/show_bug.cgi?id=91931
443
444         Reviewed by Vsevolod Vlasov.
445
446         - Synthetic shorthand values are now only returned for source-less styles
447         - CSSAgents reports longhands along with the property names in getSupportedCSSProperties
448         - StylesSidebarPane now has two paths: for source-enabled styles and for CSSOM-based ones (UA styles)
449         - CSSStyleModel uses style metainfo as a source of shorthand / longhand relationship now
450
451         Test: inspector/styles/styles-overriden-properties.html
452
453         * inspector/Inspector.json:
454         * inspector/InspectorCSSAgent.cpp:
455         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
456         * inspector/InspectorCSSAgent.h:
457         (InspectorCSSAgent):
458         * inspector/InspectorStyleSheet.cpp:
459         (WebCore::InspectorStyle::styleWithProperties):
460         * inspector/front-end/CSSCompletions.js:
461         (WebInspector.CSSCompletions):
462         (WebInspector.CSSCompletions.requestCSSNameCompletions):
463         (WebInspector.CSSCompletions.prototype._closest):
464         (WebInspector.CSSCompletions.prototype.longhands):
465         (WebInspector.CSSCompletions.prototype.shorthands):
466         * inspector/front-end/CSSStyleModel.js:
467         (WebInspector.CSSStyleDeclaration):
468         (WebInspector.CSSStyleDeclaration.prototype.longhandProperties):
469         (WebInspector.CSSStyleDeclaration.prototype.shorthandValue):
470         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
471         (WebInspector.CSSProperty):
472         (WebInspector.CSSProperty.parsePayload):
473         * inspector/front-end/SourceCSSTokenizer.js:
474         (WebInspector.SourceCSSTokenizer):
475         * inspector/front-end/SourceCSSTokenizer.re2js:
476         * inspector/front-end/StylesSidebarPane.js:
477         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
478         (WebInspector.StylePropertiesSection.prototype.update):
479         (WebInspector.StylePropertiesSection.prototype.onpopulate):
480         (WebInspector.StylePropertyTreeElement.prototype):
481
482 2012-07-25  Keishi Hattori  <keishi@webkit.org>
483
484         Implement ColorSuggestionPicker page popup
485         https://bugs.webkit.org/show_bug.cgi?id=92109
486
487         Reviewed by Kent Tamura.
488
489         Implements ColorSuggestionPicker page popup. This will be used in
490         certain ports as the datalist UI for <input type=color>.
491
492         No new tests because there is no way to open the popup yet.
493
494         * Resources/colorSuggestionPicker.css: Added.
495         (body):
496         (#main):
497         (.color-swatch):
498         (.color-swatch:hover):
499         (.color-swatch-container):
500         (.other-color):
501         * Resources/colorSuggestionPicker.js: Added.
502         (getScrollbarWidth):When there are more than 20 colors we need to
503         increase the window width to accommodate the scroll bar.
504         (createElement):
505         (handleMessage):
506         (initialize):
507         (handleArgumentsTimeout):
508         (validateArguments):
509         (submitValue): Calls setValueAndClosePopup with a numValue of 0.
510         (handleCancel): Calls setValueAndClosePopup with a numValue of -1.
511         (chooseOtherColor): Calls setValueAndClosePopup with a numValue of -2.
512         (ColorPicker):
513         (ColorPicker.prototype._layout): Lays out the color swatches in a 5x4
514         grid.
515         (ColorPicker.prototype._handleSwatchClick):
516         * WebCore.gyp/WebCore.gyp:
517
518 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
519
520         Fix arithmetic composite filter for auto-vectorization
521         https://bugs.webkit.org/show_bug.cgi?id=92123
522
523         Reviewed by Nikolas Zimmermann.
524
525         Since only clamping of the result prevents GCC from auto-vectorizing the inner loop, this patch 
526         adds a faster version of the inner loop to handle cases where clamping is unnecessary, 
527
528         * platform/graphics/filters/FEComposite.cpp:
529         (WebCore::computeArithmeticPixelsUnclamped):
530         (WebCore::arithmeticSoftware):
531
532 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
533
534         Fix blend filter for autovectorizing
535         https://bugs.webkit.org/show_bug.cgi?id=91398
536
537         Reviewed by Nikolas Zimmermann.
538
539         Get rid of wrapper classes, and use functions directly as template argument.
540
541         * platform/graphics/filters/FEBlend.cpp:
542         (WebCore::feBlendNormal):
543         (WebCore::feBlendMultiply):
544         (WebCore::feBlendScreen):
545         (WebCore::feBlendDarken):
546         (WebCore::feBlendLighten):
547         (WebCore::feBlendUnknown):
548         (WebCore::platformApply):
549         (WebCore::FEBlend::platformApplyGeneric):
550
551 2012-07-25  Keishi Hattori  <keishi@webkit.org>
552
553         Add methods to ColorChooserClient so the color chooser can show suggestions
554         https://bugs.webkit.org/show_bug.cgi?id=92114
555
556         Reviewed by Kent Tamura.
557
558         Added methods to ColorChooserClient so the color chooser can ask the
559         client for suggestions and current color.
560
561         No new tests. The methods are not used yet.
562
563         * html/ColorInputType.cpp:
564         (WebCore::ColorInputType::currentColor): Returns what color the color
565         chooser should display.
566         (WebCore):
567         (WebCore::ColorInputType::shouldShowSuggestions): Returns if the UI for
568         suggestions should be shown.
569         (WebCore::ColorInputType::suggestions): Returns a list of colors to be
570         suggested to the user.
571         * html/ColorInputType.h:
572         (ColorInputType):
573         * html/HTMLInputElement.h:
574         (HTMLInputElement): Made dataList() public.
575         * platform/ColorChooserClient.h:
576         (ColorChooserClient):
577
578 2012-07-25  Kentaro Hara  <haraken@chromium.org>
579
580         Replace int with long in test IDL files
581         https://bugs.webkit.org/show_bug.cgi?id=92181
582
583         Reviewed by Adam Barth.
584
585         int is not a valid type in WebIDL. It should be long.
586         We should replace int with long in bindings/scripts/test/*.idl.
587         This is a follow-up patch for r123550.
588
589         Test: bindings/scripts/test/TestObj.idl
590
591         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
592         (WebDOMTestObj::readOnlyLongAttr):
593         (WebDOMTestObj::Attr):
594         (WebDOMTestObj::setAttr):
595         (WebDOMTestObj::voidMethodWithArgs):
596         (WebDOMTestObj::Method):
597         (WebDOMTestObj::MethodWithArgs):
598         (WebDOMTestObj::objMethodWithArgs):
599         * bindings/scripts/test/CPP/WebDOMTestObj.h:
600         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
601         (webkit_dom_test_obj_set_property):
602         (webkit_dom_test_obj_get_property):
603         (webkit_dom_test_obj_class_init):
604         (webkit_dom_test_obj_void_method_with_args):
605         (webkit_dom_test_obj_method):
606         (webkit_dom_test_obj_method_with_args):
607         (webkit_dom_test_obj_obj_method_with_args):
608         (webkit_dom_test_obj_get_read_only_long_attr):
609         (webkit_dom_test_obj_get_attr):
610         (webkit_dom_test_obj_set_attr):
611         (webkit_dom_test_obj_get_strawberry):
612         (webkit_dom_test_obj_set_strawberry):
613         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
614         * bindings/scripts/test/JS/JSTestObj.cpp:
615         (WebCore):
616         (WebCore::jsTestObjReadOnlyLongAttr):
617         (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
618         (WebCore::jsTestObjAttr):
619         (WebCore::setJSTestObjAttr):
620         (WebCore::setJSTestObjStrawberry):
621         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
622         (WebCore::jsTestObjPrototypeFunctionMethod):
623         (WebCore::jsTestObjPrototypeFunctionMethodWithArgs):
624         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
625         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
626         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
627         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
628         * bindings/scripts/test/JS/JSTestObj.h:
629         (WebCore):
630         * bindings/scripts/test/ObjC/DOMTestObj.h:
631         * bindings/scripts/test/ObjC/DOMTestObj.mm:
632         (-[DOMTestObj readOnlyLongAttr]):
633         (-[DOMTestObj Attr]):
634         (-[DOMTestObj setAttr:]):
635         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
636         (-[DOMTestObj Method]):
637         (-[DOMTestObj MethodWithArgs:strArg:objArg:]):
638         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
639         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
640         * bindings/scripts/test/TestObj.idl:
641         * bindings/scripts/test/V8/V8TestObj.cpp:
642         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetter):
643         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetter):
644         (WebCore::TestObjV8Internal::AttrAttrGetter):
645         (WebCore::TestObjV8Internal::AttrAttrSetter):
646         (WebCore::TestObjV8Internal::strawberryAttrSetter):
647         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
648         (WebCore::TestObjV8Internal::MethodCallback):
649         (WebCore::TestObjV8Internal::MethodWithArgsCallback):
650         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
651         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
652         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
653         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
654         (WebCore):
655         (WebCore::ConfigureV8TestObjTemplate):
656
657 2012-07-25  Shinya Kawanaka  <shinyak@chromium.org>
658
659         A validation bubble should not be modifiable.
660         https://bugs.webkit.org/show_bug.cgi?id=92217
661
662         Reviewed by Kent Tamura.
663
664         A user can set -webkit-user-modify: read-write to validation message elements.
665         This might cause a undesired crash like Bug 65738. They should be unmodifiable.
666
667         Test: fast/forms/validation-user-modify.html
668
669         * css/html.css:
670         Added -webkit-user-modify: read-only !important; for these elements so that they won't be
671         changed by a user.
672         (::-webkit-validation-bubble):
673         (::-webkit-validation-bubble-message):
674         (::-webkit-validation-bubble-text-block):
675         (::-webkit-validation-bubble-heading):
676         (::-webkit-validation-bubble-arrow):
677         (::-webkit-validation-bubble-arrow-clipper):
678
679 2012-07-25  Zeno Albisser  <zeno@webkit.org>
680
681         [Qt][WK2] Disable CopyToTexture for GraphicsSurfaceMac.
682         https://bugs.webkit.org/show_bug.cgi?id=92159
683
684         Disable CopyToTexture feature for GraphicsSurface on Mac.
685         While this is actually working, it is currently used for Tiles
686         that are single buffered, and therefore requires a call to glFlush.
687         This call blocks the GPU for about 40ms which would make smooth animations impossible.
688
689         Reviewed by Noam Rosenthal.
690
691         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
692         (WebCore::GraphicsSurface::platformCreate):
693         (WebCore::GraphicsSurface::platformImport):
694
695 2012-07-25  Kenichi Ishibashi  <bashi@chromium.org>
696
697         [Chromium] Fix up includes in HarfBuzzNGFace.h
698         https://bugs.webkit.org/show_bug.cgi?id=92127
699
700         Reviewed by Hajime Morita.
701
702         Move constructors of FontPlatformData from headers to corresponding cpp files
703         so that we can use forward declaration for HarfBuzzNGFace instead of including HarfBuzzNGFace.h.
704         This way we can include hb.h in HarfBuzzNGFace.h.
705
706         No new tests. No changes in behavior.
707
708         * platform/graphics/FontPlatformData.cpp:
709         (WebCore::FontPlatformData::FontPlatformData): Moved from header file.
710         (WebCore):
711         * platform/graphics/FontPlatformData.h:
712         (WebCore):
713         (FontPlatformData): Moved to cpp file.
714         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Include HarfBuzzNGFace.h
715         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
716         (WebCore::FontPlatformData::FontPlatformData): Moved from header file.
717         (WebCore):
718         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
719         (WebCore):
720         (FontPlatformData): Moved to cpp file.
721         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: Include hb.h.
722
723 2012-07-24  Benjamin Poulain  <bpoulain@apple.com> && Joseph Pecoraro  <pecoraro@apple.com>
724
725         QualifiedName's HashSet should be big enough to hold at least all the static names
726         https://bugs.webkit.org/show_bug.cgi?id=91891
727
728         Reviewed by Darin Adler.
729
730         QualifiedName's table has a standard size of 64 buckets. When initializing WebKit,
731         we create 850 static QualifiedName for the standard names (HTMLNames, SVGNames etc).
732
733         The small base size forces us to grow and rehash the table several time on startup.
734
735         This patch solves the issue by defining the initial table size to the minimum size that
736         can hold all the static QualifiedName.
737
738         * dom/QualifiedName.cpp:
739         (QualifiedNameHashTraits):
740         * dom/make_names.pl:
741         (printNamesHeaderFile):
742
743 2012-07-24  Kwang Yul Seo  <skyul@company100.net>
744
745         Remove anonymous namespace and make functions static.
746         https://bugs.webkit.org/show_bug.cgi?id=92214
747
748         Reviewed by Adam Barth.
749
750         Mark functions as static instead of enclosing them in anonymous namespaces.
751         One exception to this rule is when a function is passed as a template argument.
752         In this case, the function must have an external linkage.
753
754         No functional change. Covered by existing tests.
755
756         * html/parser/HTMLConstructionSite.cpp:
757         (WebCore::hasImpliedEndTag):
758         (WebCore::causesFosterParenting):
759         (WebCore::isAllWhitespace):
760         * html/parser/HTMLDocumentParser.cpp:
761         (WebCore):
762         (WebCore::tokenizerStateForContextElement):
763         * html/parser/HTMLElementStack.cpp:
764         (WebCore::isNumberedHeaderElement):
765         (WebCore::isRootNode):
766         (WebCore):
767         * html/parser/HTMLEntityParser.cpp:
768         (WebCore::isAlphaNumeric):
769         * html/parser/HTMLEntitySearch.cpp:
770         (WebCore::halfway):
771         * html/parser/HTMLPreloadScanner.cpp:
772         (WebCore):
773         * html/parser/HTMLTokenizer.cpp:
774         (WebCore::toLowerCase):
775         (WebCore::vectorEqualsString):
776         (WebCore::isEndTagBufferingState):
777         * html/parser/HTMLTreeBuilder.cpp:
778         (WebCore):
779         (WebCore::uninitializedPositionValue1):
780         (WebCore::isAllWhitespace):
781         (WebCore::isAllWhitespaceOrReplacementCharacters):
782         (WebCore::isNumberedHeaderTag):
783         (WebCore::isCaptionColOrColgroupTag):
784         (WebCore::isTableCellContextTag):
785         (WebCore::isTableBodyContextTag):
786         (WebCore::isSpecialNode):
787         (WebCore::isNonAnchorNonNobrFormattingTag):
788         (WebCore::isNonAnchorFormattingTag):
789         (WebCore::isFormattingTag):
790         (WebCore::closestFormAncestor):
791         (WebCore::mapLoweredLocalNameToName):
792         (WebCore::adjustSVGTagNameCase):
793         (WebCore::adjustAttributes):
794         (WebCore::adjustSVGAttributes):
795         (WebCore::adjustMathMLAttributes):
796         (WebCore::addNamesWithPrefix):
797         (WebCore::adjustForeignAttributes):
798
799 2012-07-24  Vsevolod Vlasov  <vsevik@chromium.org>
800
801         Unreviewed r123494 follow-up: fixed inspector undock icon.
802
803         * inspector/front-end/Images/statusbarButtonGlyphs.png:
804
805 2012-07-24  Kwang Yul Seo  <skyul@company100.net>
806
807         Read tag names and attributes from the saved tokens where possible.
808         https://bugs.webkit.org/show_bug.cgi?id=92079
809
810         Reviewed by Adam Barth.
811
812         Read tag names and attributes from the saved tokens, not from the DOM.
813         Also added convenient methods such as hasLocalName, hasTagName, localName,
814         isElementNode and isDocumentFragmentNode to HTMLStackItem class.
815
816         No new tests, covered by existing tests.
817
818         * html/parser/HTMLConstructionSite.cpp:
819         (WebCore::HTMLNames::hasImpliedEndTag):
820         (WebCore::HTMLNames::causesFosterParenting):
821         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
822         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
823         (WebCore::HTMLConstructionSite::shouldFosterParent):
824         * html/parser/HTMLConstructionSite.h:
825         (WebCore::HTMLConstructionSite::currentStackItem):
826         * html/parser/HTMLElementStack.cpp:
827         (WebCore::HTMLNames::isNumberedHeaderElement):
828         (WebCore::HTMLNames::isRootNode):
829         (WebCore::HTMLNames::isScopeMarker):
830         (WebCore::HTMLNames::isListItemScopeMarker):
831         (WebCore::HTMLNames::isTableScopeMarker):
832         (WebCore::HTMLNames::isTableBodyScopeMarker):
833         (WebCore::HTMLNames::isTableRowScopeMarker):
834         (WebCore::HTMLNames::isForeignContentScopeMarker):
835         (WebCore::HTMLNames::isButtonScopeMarker):
836         (WebCore::HTMLNames::isSelectScopeMarker):
837         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
838         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
839         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
840         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
841         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
842         (WebCore::HTMLElementStack::isMathMLTextIntegrationPoint):
843         (WebCore::HTMLElementStack::isHTMLIntegrationPoint):
844         (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
845         (WebCore::HTMLElementStack::pushRootNode):
846         (WebCore::HTMLElementStack::oneBelowTop):
847         (WebCore::HTMLElementStack::topmost):
848         (WebCore):
849         (WebCore::inScopeCommon):
850         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
851         (WebCore::HTMLElementStack::inScope):
852         * html/parser/HTMLElementStack.h:
853         (WebCore::HTMLElementStack::topStackItem):
854         (HTMLElementStack):
855         (WebCore::isInHTMLNamespace):
856         * html/parser/HTMLStackItem.h:
857         (WebCore::HTMLStackItem::isDocumentFragmentNode):
858         (WebCore::HTMLStackItem::isElementNode):
859         (HTMLStackItem):
860         (WebCore::HTMLStackItem::hasLocalName):
861         (WebCore::HTMLStackItem::hasTagName):
862         (WebCore::HTMLStackItem::HTMLStackItem):
863         * html/parser/HTMLTreeBuilder.cpp:
864         (WebCore):
865         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
866         (WebCore::HTMLTreeBuilder::processFakeEndTag):
867         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
868         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
869         (WebCore::HTMLTreeBuilder::processStartTag):
870         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
871         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
872         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
873         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
874         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
875         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
876         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
877         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
878         (WebCore::HTMLTreeBuilder::processEndTag):
879         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
880         (WebCore::HTMLTreeBuilder::processEndOfFile):
881         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
882         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
883         * html/parser/HTMLTreeBuilder.h:
884
885 2012-07-24  Hironori Bono  <hbono@chromium.org>
886
887         Avoid moving child objects multiple times when vertical scrollbar are shown at the left side.
888         https://bugs.webkit.org/show_bug.cgi?id=91756
889
890         Reviewed by Tony Chang.
891
892         My r123067 moves the top-left origin of an RTL element right when its vertical
893         scrollbar is shown at its left side. (That is, r123067 moves all child objects
894         in the RTL element right.) This change also increases RenderBox::clientLeft()
895         at the same time, i.e. it also moves child objects right. Furthermore, my r109512
896         moves positioned objects in an RTL element right at the same time. This makes
897         WebKit move objects in an RTL element up to three times by the scrollbar width.
898         (Moving an absolute object right increases the scrollWidth value and it causes
899         this bug.) This change removes unnecessary code that moves objects right in my
900         r109512 and RenderBox::clientLeft().
901
902         Test: scrollbars/rtl/div-absolute.html
903               fast/block/float/026.html
904               fast/block/float/028.html
905               fast/overflow/unreachable-overflow-rtl-bug.html
906
907         * dom/Element.cpp:
908         (WebCore::Element::clientLeft): Increase clientLeft value by the width of a vertical scrollbar as written in the CSSOM specification.
909         * rendering/RenderBlock.cpp:
910         (WebCore::RenderBlock::addOverflowFromPositionedObjects): Removed unnecessary code.
911         (WebCore::RenderBlock::determineLogicalLeftPositionForChild): Removed unnecessary code.
912         * rendering/RenderBox.h:
913         (WebCore::RenderBox::clientLeft): Removed unnecessary code.
914
915 2012-07-24  Dan Bernstein  <mitz@apple.com>
916
917         RenderBlock::positionForPoint can fail when the block or its children have a vertical writing mode
918         https://bugs.webkit.org/show_bug.cgi?id=92202
919
920         Reviewed by Beth Dakin.
921
922         Test: fast/writing-mode/positionForPoint.html
923
924         * rendering/RenderBlock.cpp:
925         (WebCore::RenderBlock::positionForPoint): Fixed two issues, each of which are covered by
926         one of the sub-tests in the new regression test: (1) changed to compare children’s logical
927         bounds against pointInLogicalContents, i.e. compare childern’s horizontal bounds to the
928         point’s horizontal component; and (2) changed to use logicalTopForChild and
929         logicalHeightForChild, which account for this block’s writing mode, instead of logicalTop
930         and logicalBottom, which are based on the child’s writing mode.
931
932 2012-07-24  MORITA Hajime  <morrita@google.com>
933
934         https://bugs.webkit.org/show_bug.cgi?id=89179
935         Rendering LI having Shadow DOM seems weird
936
937         Reviewed by Dimitri Glazkov.
938
939         This incorrect rendering happend because HTMLLIElement::attach()
940         wasn't aware of composed shadow subtree. This change makes it
941         aware of that using ComposedShadowTreeParentWalker.
942
943         Test: fast/dom/shadow/shadow-and-list-elements.html
944
945         * html/HTMLLIElement.cpp:
946         (WebCore::HTMLLIElement::attach):
947
948 2012-07-24  Alec Flett  <alecflett@chromium.org>
949
950         IndexedDB: fix #include dependencies so IDBRequest isn't an include root
951         https://bugs.webkit.org/show_bug.cgi?id=92167
952
953         Reviewed by Tony Chang.
954
955         Remove implicit dependencies due to using IDBRequest.h, and fix all
956         places that break as a result.
957
958         * Modules/indexeddb/IDBCallbacks.h:
959         (WebCore):
960         * Modules/indexeddb/IDBObjectStore.cpp:
961         * Modules/indexeddb/IDBRequest.h:
962         * inspector/InspectorIndexedDBAgent.cpp:
963
964 2012-07-24  Keishi Hattori  <keishi@webkit.org>
965
966         Move PagePopupClient helper functions so they can be shared
967         https://bugs.webkit.org/show_bug.cgi?id=92096
968
969         Reviewed by Kent Tamura.
970
971         Move PagePopupClient helper functions to a separate file,
972         so they can be shared with new PagePopupClients.
973
974         No new tests. Covered by fast/forms/date/calendar-picker-appearance.html
975
976         * WebCore.gypi: Added PagePopupClient.cpp
977         * html/shadow/CalendarPickerElement.cpp:
978         (WebCore::CalendarPickerElement::writeDocument): Modified to use PagePopupClient.
979         * page/PagePopupClient.cpp: Added.
980         (WebCore):
981         (WebCore::PagePopupClient::addJavaScriptString):
982         (WebCore::PagePopupClient::addProperty):
983         * page/PagePopupClient.h:
984         (WebCore::PagePopupClient::addString):
985
986 2012-07-24  Jer Noble  <jer.noble@apple.com>
987
988         setting playbackRate on a MediaController doesn't change the playbackRate for slaved media
989         https://bugs.webkit.org/show_bug.cgi?id=92035
990
991         Reviewed by Darin Adler.
992
993         Allow updatePlaybackRate() to change the MediaPlayer rate when the media element has a 
994         current media controller.
995
996         Test: media/media-controller-playbackrate.html
997
998         * html/HTMLMediaElement.cpp:
999         (WebCore::HTMLMediaElement::updatePlaybackRate):
1000
1001 2012-07-24  Hayato Ito  <hayato@chromium.org>
1002
1003         Rename FocusScope to FocusNavigationScope.
1004         https://bugs.webkit.org/show_bug.cgi?id=92062
1005
1006         Reviewed by Dimitri Glazkov.
1007
1008         FocusNavagationScope is better name than FocusScope since the
1009         class is only used for controlling focus navigation.
1010
1011         No new tests - no functional changes.
1012
1013         * page/FocusController.cpp:
1014         (WebCore::FocusNavigationScope::FocusNavigationScope):
1015         (WebCore::FocusNavigationScope::rootNode):
1016         (WebCore::FocusNavigationScope::owner):
1017         (WebCore::FocusNavigationScope::focusNavigationScopeOf):
1018         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
1019         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByIFrame):
1020         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
1021         (WebCore::FocusController::advanceFocusInDocumentOrder):
1022         (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
1023         (WebCore::FocusController::findFocusableNodeRecursively):
1024         (WebCore::FocusController::findFocusableNode):
1025         (WebCore::FocusController::nextFocusableNode):
1026         (WebCore::FocusController::previousFocusableNode):
1027         * page/FocusController.h:
1028         (FocusNavigationScope):
1029         (FocusController):
1030
1031 2012-07-24  Michael Saboff  <msaboff@apple.com>
1032
1033         Convert HTML parser to handle 8-bit resources without converting to UChar*
1034         https://bugs.webkit.org/show_bug.cgi?id=90321
1035
1036         Reviewed by Geoffrey Garen.
1037
1038         No new tests, no new functionality therefore covered by existing tests.
1039
1040         Changed the parsing of HTML to handle 8-bit strings without converting the 
1041         whole string to 16-bits.  Primary change was to use the appropriate 
1042         character pointer type (LChar* or UChar*) depending on the source string.
1043         This access is abstracted in SegmentedSubstring by getCurrentChar{8,16} and
1044         incrementAndGetCurrentChar{8,16} methods.  In SegmentedString, the advance()
1045         and advanceAndUpdateLineNumber() methods have been refactored into a
1046         state machine managed pair of function pointers.  The possible functions
1047         have not only the 8 and 16 bitness factored out, they also have the 
1048         "exclude line numbers" logic factored out for advanceAndUpdateLineNumber().
1049         This provides a net speed-up even with the 8/16 bit testing.
1050         Other changes involve using String methods to access and compare with the
1051         source data.
1052
1053         * html/FTPDirectoryDocument.cpp:
1054         (WebCore::FTPDirectoryDocumentParser::append): Changed to use currentChar()
1055         instead of SegmentedString '*' operator.
1056         * html/parser/HTMLEntityParser.cpp: Changed to use currentChar() instead of
1057         SegmentedString '*' operator.
1058         * html/parser/HTMLParserIdioms.cpp:
1059         (WebCore::stripLeadingAndTrailingHTMLSpaces): Added 8-bit fast path.
1060         * html/parser/HTMLSourceTracker.cpp:
1061         (WebCore::HTMLSourceTracker::sourceForToken): Changed to use currentChar() instead of
1062         SegmentedString '*' operator.
1063         * loader/cache/CachedScript.cpp:
1064         (WebCore::CachedScript::script): Updated to use new String::dataSize() method.
1065         * platform/text/SegmentedString.cpp:
1066         (WebCore::SegmentedString::SegmentedString):
1067         (WebCore::SegmentedString::operator=):
1068         (WebCore::SegmentedString::clear):
1069         (WebCore::SegmentedString::append):
1070         (WebCore::SegmentedString::prepend):
1071         (WebCore::SegmentedString::advanceSubstring):
1072         (WebCore::SegmentedString::advance): Changed to be a wrapper that invokes current 
1073         advance function.
1074         (WebCore::SegmentedString::advance8): Fast path advance function for 8 bit data.
1075         (WebCore::SegmentedString::advance16): Fast path advance function for 16 bit data.
1076         (WebCore::SegmentedString::advanceAndUpdateLineNumber8IncludeLineNumbers): Fast
1077         path advanceAndUpdateLineNumber for 8 bit data when we need to update the line number.
1078         (WebCore::SegmentedString::advanceAndUpdateLineNumber16IncludeLineNumbers): Fast
1079         path advanceAndUpdateLineNumber for 16 bit data when we need to update the line number.
1080         (WebCore::SegmentedString::advanceSlowCase): Slow case advance function for both
1081         8 and 16 bit advance.
1082         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase): Slow case
1083         advanceAndUpdateLineNumber function for both 8 and 16 bit data.
1084         (WebCore::SegmentedString::advanceEmpty): Advance function when input has been exhausted.
1085         * platform/text/SegmentedString.h:
1086         (WebCore::SegmentedSubstring::SegmentedSubstring):
1087         (WebCore::SegmentedSubstring::clear):
1088         (SegmentedSubstring):
1089         (WebCore::SegmentedSubstring::is8Bit): New getter.
1090         (WebCore::SegmentedSubstring::appendTo):
1091         (WebCore::SegmentedSubstring::getCurrentChar8): New getter for the 8 bit case.
1092         (WebCore::SegmentedSubstring::getCurrentChar16): New getter for the 16 bit case.
1093         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar8): New wrapper functions
1094         that pre-increments the 8 bit pointer and returns the next character.
1095         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar16): New wrapper functions
1096         that pre-increments the 16 bit pointer and returns the next character.
1097         (WebCore::SegmentedSubstring::currentSubString):
1098         (WebCore::SegmentedSubstring::getCurrentChar):
1099         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar):
1100         (WebCore::SegmentedString::SegmentedString):
1101         (WebCore::SegmentedString::push):
1102         (WebCore::SegmentedString::isEmpty):
1103         (WebCore::SegmentedString::lookAhead):
1104         (WebCore::SegmentedString::lookAheadIgnoringCase):
1105         (WebCore::SegmentedString::advance):
1106         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
1107         (WebCore::SegmentedString::advanceAndASSERT):
1108         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
1109         (WebCore::SegmentedString::advancePastNonNewline):
1110         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
1111         (WebCore::SegmentedString::currentChar):
1112         (WebCore::SegmentedString::setSlowCase): Set advance function pointers to slow case
1113         functions.
1114         (WebCore::SegmentedString::decrementAndCheckLength): Decrement substring length and
1115         change to slow case functions when only one character left.
1116         (WebCore::SegmentedString::setAdvanceFunctionPointers): Select appropriate advance
1117         functions based on current substring.
1118         (WebCore::SegmentedString::lookAheadInline): Changed to use String::startsWith().
1119         (WebCore::SegmentedString::lookAheadSlowCase):
1120         * xml/parser/CharacterReferenceParserInlineMethods.h:
1121         (WebCore::consumeCharacterReference): Changed to use currentChar() instead of
1122         SegmentedString '*' operator.
1123         * xml/parser/MarkupTokenizerBase.h:
1124         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
1125         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek): Changed to use
1126         currentChar() instead of SegmentedString '*' operator.
1127         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
1128
1129 2012-07-24  Kenneth Russell  <kbr@google.com>
1130
1131         [chromium] Hint garbage collector to run if page uses Canvas contexts
1132         https://bugs.webkit.org/show_bug.cgi?id=76225
1133
1134         Reviewed by Kentaro Hara.
1135
1136         Upon creating a canvas context, set a hint in the current isolate
1137         indicating that a full GC should be done upon the next page
1138         navigation.
1139
1140         This improves Chrome's robustness on some WebGL stress tests which
1141         simulate real-world behavior by repeatedly navigating among
1142         several samples. More general measures are being investigated, but
1143         this change makes V8 behave the same as JSC on these stress tests.
1144         JSC doesn't currently use generational garbage collection, so it
1145         has more opportunities to discover unreferenced canvas contexts.
1146
1147         Test: fast/canvas/webgl/context-creation-and-destruction.html
1148
1149         * bindings/v8/V8Binding.cpp:
1150         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1151             Initialize per-isolate low memory hint.
1152         * bindings/v8/V8Binding.h:
1153         (V8BindingPerIsolateData):
1154         (WebCore::V8BindingPerIsolateData::setLowMemoryNotificationHint):
1155             Set a per-isolate hint to signal a low memory condition upon the next page navigation.
1156         (WebCore::V8BindingPerIsolateData::clearLowMemoryNotificationHint):
1157             Clear the previously set hint.
1158         (WebCore::V8BindingPerIsolateData::isLowMemoryNotificationHint):
1159             Get the previously set hint.
1160         * bindings/v8/V8Proxy.cpp:
1161         (WebCore::V8Proxy::hintForGCIfNecessary):
1162             If necessary, send V8 a hint that it should GC.
1163         (WebCore):
1164         (WebCore::V8Proxy::clearForClose):
1165         (WebCore::V8Proxy::clearForNavigation):
1166             Call hintForGCIfNecessary.
1167         * bindings/v8/V8Proxy.h:
1168         (V8Proxy):
1169         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1170         (WebCore::V8HTMLCanvasElement::getContextCallback):
1171             Set a hint that we should GC upon the next page navigation.
1172
1173 2012-07-24  Dave Tu  <dtu@chromium.org>
1174
1175         [chromium] Add time spent painting to GPU benchmarking renderingStats() API.
1176         https://bugs.webkit.org/show_bug.cgi?id=90019
1177
1178         Reviewed by Adrienne Walker.
1179
1180         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
1181         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
1182         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
1183         (BitmapCanvasLayerTextureUpdater):
1184         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1185         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1186         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
1187         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
1188         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1189         (Texture):
1190         (BitmapSkPictureCanvasLayerTextureUpdater):
1191         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
1192         (WebCore::CanvasLayerTextureUpdater::paintContents):
1193         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
1194         (CanvasLayerTextureUpdater):
1195         * platform/graphics/chromium/ContentLayerChromium.cpp:
1196         (WebCore::ContentLayerChromium::update):
1197         * platform/graphics/chromium/ContentLayerChromium.h:
1198         (ContentLayerChromium):
1199         * platform/graphics/chromium/ImageLayerChromium.cpp:
1200         (WebCore::ImageLayerChromium::update):
1201         * platform/graphics/chromium/ImageLayerChromium.h:
1202         (ImageLayerChromium):
1203         * platform/graphics/chromium/LayerChromium.h:
1204         (WebCore):
1205         (WebCore::LayerChromium::update):
1206         * platform/graphics/chromium/LayerTextureUpdater.h:
1207         (WebCore):
1208         (WebCore::LayerTextureUpdater::Texture::prepareRect):
1209         (WebCore::LayerTextureUpdater::prepareToUpdate):
1210         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1211         (WebCore::ScrollbarLayerChromium::updatePart):
1212         (WebCore::ScrollbarLayerChromium::update):
1213         * platform/graphics/chromium/ScrollbarLayerChromium.h:
1214         (ScrollbarLayerChromium):
1215         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
1216         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
1217         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
1218         (SkPictureCanvasLayerTextureUpdater):
1219         * platform/graphics/chromium/TiledLayerChromium.cpp:
1220         (WebCore::TiledLayerChromium::updateTiles):
1221         (WebCore::TiledLayerChromium::updateContentRect):
1222         * platform/graphics/chromium/TiledLayerChromium.h:
1223         (TiledLayerChromium):
1224         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1225         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1226         (WebCore::CCLayerTreeHost::updateAnimations):
1227         (WebCore::CCLayerTreeHost::renderingStats):
1228         (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
1229         (WebCore::CCLayerTreeHost::paintLayerContents):
1230         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1231         (WebCore):
1232         (CCLayerTreeHost):
1233         * platform/graphics/chromium/cc/CCRenderingStats.h:
1234         (CCRenderingStats):
1235         (WebCore::CCRenderingStats::CCRenderingStats):
1236
1237 2012-07-24  Jian Li  <jianli@chromium.org>
1238
1239         [V8] Correct WebIDL type should be used in the testing IDL file 
1240         https://bugs.webkit.org/show_bug.cgi?id=92168
1241
1242         Reviewed by Kentaro Hara.
1243
1244         Updated bindings test.
1245
1246         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1247         (webkit_dom_test_obj_strict_function):
1248         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1249         * bindings/scripts/test/JS/JSTestObj.cpp:
1250         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1251         * bindings/scripts/test/TestObj.idl:
1252         * bindings/scripts/test/V8/V8TestObj.cpp:
1253         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
1254         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
1255         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
1256         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
1257         (WebCore::TestObjV8Internal::strictFunctionCallback):
1258
1259 2012-07-24  Kent Tamura  <tkent@chromium.org>
1260
1261         Unreviewed, rolling out r123191.
1262         http://trac.webkit.org/changeset/123191
1263         https://bugs.webkit.org/show_bug.cgi?id=91804
1264
1265         It might cause another performance regression.
1266         http://code.google.com/p/chromium/issues/detail?id=138410
1267
1268         * html/FormController.cpp:
1269         (FormKeyGenerator):
1270         (WebCore::createKey):
1271         (WebCore::FormKeyGenerator::formKey):
1272         (WebCore::FormKeyGenerator::willDeleteForm):
1273
1274 2012-07-24  Vineet Chaudhary  <rgf748@motorola.com>
1275
1276         [JSBinding] Merging jsUnsignedLongArrayToVector() to toNativeArray() using traits.
1277         https://bugs.webkit.org/show_bug.cgi?id=90381
1278
1279         Reviewed by Kentaro Hara.
1280
1281         We can remove jsUnsignedLongArrayToVector() implementaion
1282         merging it to current and toNativeArray() traits.
1283
1284         Tests: TestObj.idl
1285         There should be no behavoiral changes as just refactoring.
1286
1287         * Modules/vibration/NavigatorVibration.idl: Use sequence<T> as method param than T[]
1288         * bindings/js/JSDOMBinding.cpp: Moved toJSSequence() to header file.
1289         * bindings/js/JSDOMBinding.h:
1290         (WebCore::toJSSequence): Moved toJSSequence() to header file.
1291         (WebCore::jsArray): Renamed Traits to JSValueTraits
1292         (WebCore::toNativeArray): Using traits.
1293         * bindings/js/JSDictionary.cpp:
1294         (WebCore::JSDictionary::convertValue):
1295         * bindings/js/JSMessagePortCustom.cpp:
1296         (WebCore::fillMessagePortArray):
1297         * bindings/scripts/CodeGeneratorJS.pm: Removed unsigned long[] specific binding code.
1298         (AddIncludesForType):
1299         (GenerateParametersCheckExpression):
1300         (JSValueToNative):
1301         (NativeToJSValue):
1302         * bindings/scripts/CodeGeneratorV8.pm:
1303         (GenerateParametersCheckExpression): Added check sequence<T> check for overloaded methods.
1304         * bindings/scripts/test/JS/JSTestObj.cpp: Rebased binding test.
1305         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1306         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1307         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1308         * bindings/scripts/test/JS/JSTestObj.h: Rebased binding test.
1309         * bindings/scripts/test/TestObj.idl: Added test for sequence<T> as method parameter.
1310         * bindings/scripts/test/V8/V8TestObj.cpp: Rebased binding test.
1311         (WebCore::TestObjV8Internal::overloadedMethod10Callback):
1312         (TestObjV8Internal):
1313         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1314
1315 2012-07-24  Kwang Yul Seo  <skyul@company100.net>
1316
1317         Remove an invalid assertion introduced in r123536. Unreviewed.
1318
1319         * xml/parser/MarkupTokenBase.h:
1320         (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
1321
1322 2012-07-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1323
1324         Unreviewed, rolling out r123504.
1325         http://trac.webkit.org/changeset/123504
1326         https://bugs.webkit.org/show_bug.cgi?id=92169
1327
1328         broke a bunch of text-related tests in chromium mac debug
1329         (Requested by zhenyao on #webkit).
1330
1331         * platform/text/cf/StringCF.cpp:
1332         (WTF::String::createCFString):
1333         * platform/text/cf/StringImplCF.cpp:
1334         (WTF::StringImpl::createCFString):
1335
1336 2012-07-24  Kwang Yul Seo  <skyul@company100.net>
1337
1338         Ensure Noah's ark without reading the DOM tree.
1339         https://bugs.webkit.org/show_bug.cgi?id=92065
1340
1341         Reviewed by Adam Barth.
1342
1343         Technically we shouldn't read attributes back from the DOM. If JavaScript changes
1344         the attributes values, we could get a slightly wrong output here.
1345
1346         Read attributes from tokens saved in the active formatting element list.
1347
1348         No new tests, covered by existing tests.
1349
1350         * html/parser/HTMLFormattingElementList.cpp:
1351         (WebCore::attributeCount):
1352         (WebCore::HTMLFormattingElementList::append):
1353         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
1354         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
1355         * html/parser/HTMLFormattingElementList.h:
1356         (HTMLFormattingElementList):
1357         * html/parser/HTMLStackItem.h:
1358         (WebCore::HTMLStackItem::localName):
1359         (HTMLStackItem):
1360
1361 2012-07-23  Kwang Yul Seo  <skyul@company100.net>
1362
1363         Clear the external characters pointer of an AtomicHTMLToken before the raw token is cleared.
1364         https://bugs.webkit.org/show_bug.cgi?id=92056
1365
1366         Reviewed by Adam Barth.
1367
1368         AtomicHTMLToken keeps a pointer to the HTMLToken's buffer instead of copying the
1369         characters for performance. Clear the external characters pointer before the raw token
1370         is cleared to make sure that we won't have a dangling pointer.
1371
1372         No new tests - no functional changes.
1373
1374         * html/parser/HTMLTreeBuilder.cpp:
1375         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1376         * xml/parser/MarkupTokenBase.h:
1377         (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
1378         (AtomicMarkupTokenBase):
1379
1380 2012-07-24  Jian Li  <jianli@chromium.org>
1381
1382         Add per-context setting for html notifications
1383         https://bugs.webkit.org/show_bug.cgi?id=91295
1384
1385         Reviewed by Adam Barth.
1386
1387         Added a new per-context setting to control the enabling of html notifications.
1388         For chromium port, we're going to disable html notifications for web
1389         pages, but still keep it enabled for extensions.
1390
1391         Also enhance V8 code generator to support V8EnabledPerContext attribute
1392         for methods.
1393
1394         Updated the binding tests.
1395
1396         * Modules/notifications/NotificationCenter.cpp:
1397         (WebCore::NotificationCenter::document): Expose document for being used by installPerContextProperties.
1398         (WebCore):
1399         * Modules/notifications/NotificationCenter.h:
1400         (NotificationCenter):
1401         * Modules/notifications/NotificationCenter.idl: Add V8EnabledPerContext attribute.
1402         * bindings/scripts/CodeGeneratorV8.pm: V8EnabledPerContext now supports methods.
1403         (GenerateHeader):
1404         (IsStandardFunction):
1405         (GenerateNonStandardFunction):
1406         (GenerateImplementation):
1407         (GenerateToV8Converters):
1408         (GetContextEnableFunction):
1409         * bindings/scripts/test/TestObj.idl: Add test case for V8EnabledPerContext methods.
1410         * bindings/scripts/test/V8/V8TestObj.cpp: Update test result.
1411         (WebCore::TestObjV8Internal::enabledAtContextMethod1Callback):
1412         (TestObjV8Internal):
1413         (WebCore::TestObjV8Internal::enabledAtContextMethod2Callback):
1414         (WebCore::V8TestObj::installPerContextProperties):
1415         (WebCore::V8TestObj::wrapSlow):
1416         * dom/ContextFeatures.cpp: Add a new per-context feature.
1417         (WebCore::ContextFeatures::htmlNotificationsEnabled):
1418         (WebCore):
1419         * dom/ContextFeatures.h: Add a new per-context feature.
1420
1421 2012-07-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1422
1423         Unreviewed, rolling out r123499.
1424         http://trac.webkit.org/changeset/123499
1425         https://bugs.webkit.org/show_bug.cgi?id=92161
1426
1427         Android fails to compile (Requested by zhenyao on #webkit).
1428
1429         * GNUmakefile.list.am:
1430         * Modules/mediastream/MediaStream.cpp:
1431         (WebCore::MediaStream::MediaStream):
1432         (WebCore::MediaStream::addTrack):
1433         * Modules/mediastream/MediaStreamTrack.cpp:
1434         (WebCore::MediaStreamTrack::create):
1435         (WebCore::MediaStreamTrack::MediaStreamTrack):
1436         (WebCore::MediaStreamTrack::~MediaStreamTrack):
1437         (WebCore::MediaStreamTrack::setEnabled):
1438         * Modules/mediastream/MediaStreamTrack.h:
1439         (MediaStreamTrack):
1440         * Modules/mediastream/MediaStreamTrack.idl:
1441         * WebCore.gypi:
1442         * dom/EventNames.h:
1443         (WebCore):
1444         * dom/EventTargetFactory.in:
1445         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
1446         (WebKit):
1447         (WebKit::WebMediaStreamDescriptor::sources):
1448         * platform/chromium/support/WebMediaStreamSource.cpp:
1449         * platform/mediastream/MediaStreamSource.cpp: Removed.
1450         * platform/mediastream/MediaStreamSource.h:
1451         (WebCore::MediaStreamSource::create):
1452         (WebCore::MediaStreamSource::muted):
1453         (WebCore::MediaStreamSource::setMuted):
1454         (WebCore::MediaStreamSource::MediaStreamSource):
1455         (MediaStreamSource):
1456         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
1457         (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
1458         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
1459
1460 2012-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
1461
1462         Crash in RenderTableSection::layoutRows
1463         https://bugs.webkit.org/show_bug.cgi?id=92145
1464
1465         Reviewed by Abhishek Arya.
1466
1467         The crash came from the insertChildNode logic being confused and choosing the wrong
1468         renderer for insertion. This is because after r123159, table anonymous wrappers can
1469         be created as 'inline-table' and wouldn't pass the isAnonymousBlock() check.
1470
1471         This change also aligns the ancestor iteration with RenderBlock::addChildToAnonymousColumnBlocks.
1472
1473         Test: fast/table/crash-table-section-layoutRows.html
1474
1475         * rendering/RenderObjectChildList.cpp:
1476         (WebCore::RenderObjectChildList::insertChildNode):
1477         Changed the code to always get the right child. There is no justification to not
1478         walking up to the |owner|'s direct child in all cases.
1479
1480 2012-07-24  Tony Chang  <tony@chromium.org>
1481
1482         Make RenderBlock::paintChildren virtual so sub classes can change the paint order
1483         https://bugs.webkit.org/show_bug.cgi?id=92042
1484
1485         Reviewed by Ojan Vafai.
1486
1487         The flexbox spec says that the order property should change the paint order of flex children.
1488         To make that possible, make paintChildren virtual so RenderFlexibleBox can override it.
1489
1490         No new tests, this is just a refactoring.
1491
1492         * rendering/RenderBlock.cpp:
1493         (WebCore::RenderBlock::paintContents): Move some code out of paintChildren into paintContents.
1494         (WebCore::RenderBlock::paintChildren): Make virtual and just have it be a simple for loop.
1495         (WebCore::RenderBlock::paintChild): Move code out of paintChildren so subclasses can reuse.
1496         * rendering/RenderBlock.h:
1497         (RenderBlock): Make paintChildren virtual and protected so sub classes can call paintChild.
1498
1499 2012-07-24  Anna Cavender  <annacc@chromium.org>
1500
1501         Create SourceBuffer and SourceBufferList objects
1502         https://bugs.webkit.org/show_bug.cgi?id=91771
1503
1504         Reviewed by Eric Carlson.
1505
1506         SourceBuffer and SourceBufferList objects are needed in order to
1507         implement the new object-oriented MediaSource API:
1508         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
1509
1510         No new tests - will be able to test after landing BUGWK91775
1511
1512         Adding new files to build files:
1513         * CMakeLists.txt:
1514         * DerivedSources.cpp:
1515         * DerivedSources.make:
1516         * DerivedSources.pri:
1517         * GNUmakefile.am:
1518         * GNUmakefile.list.am:
1519         * Target.pri:
1520         * WebCore.gyp/WebCore.gyp:
1521         * WebCore.gypi:
1522         * WebCore.vcproj/WebCore.vcproj:
1523         * WebCore.vcproj/WebCoreCommon.vsprops:
1524         * WebCore.vcproj/copyForwardingHeaders.cmd:
1525         * WebCore.xcodeproj/project.pbxproj:
1526
1527         New objects:
1528         * Modules/mediasource/SourceBuffer.cpp: Added.
1529         * Modules/mediasource/SourceBuffer.h: Added.
1530         * Modules/mediasource/SourceBuffer.idl: Added.
1531         * Modules/mediasource/SourceBufferList.cpp: Added.
1532         * Modules/mediasource/SourceBufferList.h: Added.
1533         * Modules/mediasource/SourceBufferList.idl: Added.
1534
1535         New events:
1536         * dom/EventNames.h:
1537         (WebCore):
1538         * dom/EventTarget.h:
1539         (WebCore):
1540         * dom/EventTargetFactory.in:
1541
1542         Object constructors:
1543         * page/DOMWindow.idl:
1544
1545 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
1546
1547         Store the full year in GregorianDateTime
1548         https://bugs.webkit.org/show_bug.cgi?id=92067
1549
1550         Reviewed by Geoffrey Garen.
1551
1552         Use the full year instead of the offset from year 1900 
1553         for the year member variable of GregorianDateTime.
1554
1555         * bridge/qt/qt_runtime.cpp:
1556         (JSC::Bindings::convertValueToQVariant):
1557         (JSC::Bindings::convertQVariantToValue):
1558         * bridge/qt/qt_runtime_qt4.cpp:
1559         (JSC::Bindings::convertValueToQVariant):
1560         (JSC::Bindings::convertQVariantToValue):
1561
1562 2012-07-24  Benjamin Poulain  <bpoulain@apple.com>
1563
1564         Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
1565         https://bugs.webkit.org/show_bug.cgi?id=90720
1566
1567         Reviewed by Geoffrey Garen.
1568
1569         In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
1570         a relatively cheap conversion from WTF::String to CFString.
1571
1572         When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
1573         to String::characters().
1574
1575         This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.
1576
1577         This is covered by existing tests.
1578
1579         * platform/text/cf/StringCF.cpp:
1580         (WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
1581         * platform/text/cf/StringImplCF.cpp:
1582         (WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
1583         The allocator creation is now closer to where it is useful.
1584
1585 2012-07-24  Kentaro Hara  <haraken@chromium.org>
1586
1587         [V8] String wrappers should be marked Independent
1588         https://bugs.webkit.org/show_bug.cgi?id=91251
1589
1590         Reviewed by Adam Barth.
1591
1592         Currently V8 String wrappers are not marked Independent.
1593         By marking them Independent, they can be reclaimed by the scavenger GC.
1594         Although I couldn't find a case where this change reduces memory usage,
1595         this change would be important for upcoming changes in string conversion
1596         between V8 and WebKit (https://bugs.webkit.org/show_bug.cgi?id=91850).
1597
1598         'm_lastStringImpl = 0' in StringCache::remove() is important.
1599         Look at the following code:
1600
1601             static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
1602             {
1603                 ...;
1604                 stringCache()->remove(stringImpl);
1605                 wrapper.Dispose();
1606             }
1607
1608             void StringCache::remove(StringImpl* stringImpl)
1609             {
1610                 ...
1611                 if (m_lastStringImpl.get() == stringImpl)
1612                     m_lastStringImpl = 0;
1613             }
1614
1615             v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, v8::Isolate* isolate)
1616             {
1617                 if (m_lastStringImpl.get() == stringImpl) {
1618                     return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String points to a wrapper object that was accessed most recently.
1619                 }
1620                 return v8ExternalStringSlow(stringImpl, isolate);
1621             }
1622
1623         Without 'm_lastStringImpl = 0', already disposed m_lastV8String can be used
1624         in v8ExternalString(). This was a cause of the crashes of r122614.
1625
1626         Tests: At the initial commit of this patch (r122614),
1627                the following tests had been broken due to missing 'm_lastStringImpl = 0'.
1628                fast/workers/worker-location.html
1629                Dromaeo/cssquery-jquery.html
1630                Dromaeo/jslib-event-jquery.html
1631                Dromaeo/jslib-style-jquery.html
1632                Dromaeo/jslib-style-prototype.html
1633
1634         * bindings/v8/V8Binding.cpp:
1635         (WebCore::StringCache::remove):
1636         (WebCore::StringCache::v8ExternalStringSlow):
1637
1638 2012-07-24  Tommy Widenflycht  <tommyw@google.com>
1639
1640         MediaStream API: Update MediaStreamTrack to match the specification
1641         https://bugs.webkit.org/show_bug.cgi?id=90180
1642
1643         Reviewed by Adam Barth.
1644
1645         MediaStreamTracks are now required to show the status of the underlying source,
1646         and trigger events when that status changes.
1647
1648         Test: fast/mediastream/MediaStreamTrack.html
1649
1650         * GNUmakefile.list.am:
1651         * Modules/mediastream/MediaStream.cpp:
1652         (WebCore::MediaStream::MediaStream):
1653         (WebCore::MediaStream::addTrack):
1654         * Modules/mediastream/MediaStreamTrack.cpp:
1655         (WebCore::MediaStreamTrack::create):
1656         (WebCore::MediaStreamTrack::MediaStreamTrack):
1657         (WebCore::MediaStreamTrack::~MediaStreamTrack):
1658         (WebCore::MediaStreamTrack::setEnabled):
1659         (WebCore::MediaStreamTrack::readyState):
1660         (WebCore):
1661         (WebCore::MediaStreamTrack::sourceChangedState):
1662         (WebCore::MediaStreamTrack::stop):
1663         (WebCore::MediaStreamTrack::interfaceName):
1664         (WebCore::MediaStreamTrack::scriptExecutionContext):
1665         (WebCore::MediaStreamTrack::eventTargetData):
1666         (WebCore::MediaStreamTrack::ensureEventTargetData):
1667         * Modules/mediastream/MediaStreamTrack.h:
1668         * Modules/mediastream/MediaStreamTrack.idl:
1669         * WebCore.gypi:
1670         * dom/EventNames.h:
1671         (WebCore):
1672         * dom/EventTargetFactory.in:
1673         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
1674         * platform/chromium/support/WebMediaStreamSource.cpp:
1675         (WebKit::WebMediaStreamSource::setReadyState):
1676         (WebKit):
1677         (WebKit::WebMediaStreamSource::readyState):
1678         * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
1679         (WebCore):
1680         (WebCore::MediaStreamSource::create):
1681         (WebCore::MediaStreamSource::MediaStreamSource):
1682         (WebCore::MediaStreamSource::setReadyState):
1683         (WebCore::MediaStreamSource::addObserver):
1684         (WebCore::MediaStreamSource::removeObserver):
1685         * platform/mediastream/MediaStreamSource.h:
1686         (Observer):
1687         (WebCore::MediaStreamSource::Observer::~Observer):
1688         (MediaStreamSource):
1689         (WebCore::MediaStreamSource::readyState):
1690         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
1691         (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
1692         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
1693
1694 2012-07-24  Scott Graham  <scottmg@chromium.org>
1695
1696         Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
1697         https://bugs.webkit.org/show_bug.cgi?id=91667
1698
1699         Reviewed by Tony Chang.
1700
1701         Using native tools instead of cygwin version improves build time
1702         performance by roughly 50% (on top of previous cl-instead-of-gcc
1703         change).
1704
1705         Also, use - instead of / for cl flags, otherwise preprocessing fails
1706         very slowly (due to retry loop). And, replace \ with / in gperf
1707         command line. Without this, gperf emits the filename literally in
1708         #line directives which causes VS to error with "unescaped \ in
1709         string". Bizarrely, building ColorData.cpp with those \ in place
1710         causes the IDE to exit with no error message, which was the cause of
1711         the previous canary failures.
1712
1713         No new tests.
1714
1715         * WebCore.gyp/WebCore.gyp:
1716         * WebCore.gyp/scripts/rule_bison.py:
1717         * bindings/scripts/preprocessor.pm:
1718         (applyPreprocessor):
1719         * make-hash-tools.pl:
1720
1721 2012-07-24  Daniel Cheng  <dcheng@chromium.org>
1722
1723         Files from drag and file <input> should use getMIMETypeForExtension to determine content type.
1724         https://bugs.webkit.org/show_bug.cgi?id=91702
1725
1726         Reviewed by Jian Li.
1727
1728         Awhile back, we changed File to only use getWellKnownMIMETypeForExtension to prevent web
1729         pages from being able to detect what applications a user has installed indirectly through
1730         the MIME types. However, some sites like YouTube's drag and drop uploader use MIME types
1731         that aren't in WebKit's internal list, so we relax the restriction for Files that originate
1732         from an user action.
1733
1734         * fileapi/File.cpp:
1735         (WebCore::getContentTypeFromFileName):
1736         (WebCore::createBlobDataForFile):
1737         (WebCore::createBlobDataForFileWithName):
1738         (WebCore::createBlobDataForFileWithMetadata):
1739         (WebCore::File::createWithRelativePath):
1740         (WebCore::File::File):
1741         * fileapi/File.h:
1742         (File):
1743         (WebCore::File::create):
1744         (WebCore::File::createWithName):
1745         * html/FileInputType.cpp:
1746         (WebCore::FileInputType::createFileList):
1747         * platform/chromium/ChromiumDataObject.cpp:
1748         (WebCore::ChromiumDataObject::addFilename):
1749         * platform/gtk/ClipboardGtk.cpp:
1750         (WebCore::ClipboardGtk::files):
1751         * platform/mac/ClipboardMac.mm:
1752         (WebCore::ClipboardMac::files):
1753         * platform/qt/ClipboardQt.cpp:
1754         (WebCore::ClipboardQt::files):
1755         * platform/win/ClipboardWin.cpp:
1756         (WebCore::ClipboardWin::files):
1757
1758 2012-07-24  Vsevolod Vlasov  <vsevik@chromium.org>
1759
1760         Web Inspector: Snippets UI polish
1761         https://bugs.webkit.org/show_bug.cgi?id=92142
1762
1763         Reviewed by Pavel Feldman.
1764
1765         Changed snippets context menu items.
1766         Added run snippet status bar button.
1767         Removed unused edit source button.
1768
1769         * English.lproj/localizedStrings.js:
1770         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1771         * inspector/front-end/ScriptSnippetModel.js:
1772         (WebInspector.SnippetJavaScriptSourceFrame):
1773         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
1774         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
1775         * inspector/front-end/ScriptsNavigator.js:
1776         (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
1777         (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
1778         * inspector/front-end/ScriptsPanel.js:
1779         (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
1780         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1781         * inspector/front-end/SourceFrame.js:
1782         (WebInspector.SourceFrame.prototype.statusBarItems):
1783         * inspector/front-end/inspector.css:
1784         * inspector/front-end/scriptsPanel.css:
1785         (.evaluate-snippet-status-bar-item .glyph):
1786         (.evaluate-snippet-status-bar-item.toggled .glyph):
1787
1788 2012-07-24  Nico Weber  <thakis@chromium.org>
1789
1790         [chromium/mac] Remove webcore_resource_files from WebCore.gypi
1791         https://bugs.webkit.org/show_bug.cgi?id=92129
1792
1793         Reviewed by Adam Barth.
1794
1795         It was added in http://trac.webkit.org/changeset/81706/trunk/Source/WebCore/WebCore.gypi .
1796         The changes in that revision were mostly reverted in http://trac.webkit.org/changeset/119921 ,
1797         but this block was forgotten. Since it just confused me for a bit, remove it.
1798
1799         * WebCore.gyp/WebCore.gyp:
1800
1801 2012-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
1802
1803         inline-table wrapper should be generated for display: inline element only
1804         https://bugs.webkit.org/show_bug.cgi?id=92054
1805
1806         Reviewed by Abhishek Arya.
1807
1808         CSS 2.1 only takes into account the display when determining if we should generate
1809         an inline-table. My misreading of the spec would make us generate an inline-table
1810         wrapper for any inline formatting context.
1811
1812         Test: fast/table/inline-block-generates-table-wrapper.html
1813
1814         * rendering/RenderTable.cpp:
1815         (WebCore::RenderTable::createAnonymousWithParentRenderer):
1816         Changed to use display instead of isInline to properly match the spec.
1817
1818 2012-07-24  Alec Flett  <alecflett@chromium.org>
1819
1820         IndexedDB: Temporarily continue generating backend keys for empty key lists
1821         https://bugs.webkit.org/show_bug.cgi?id=92012
1822
1823         Reviewed by Tony Chang.
1824
1825         Temporarily change key behavior to allow chromium in_process_webkit
1826         to call putWithIndexKeys without inadvertently preventing index
1827         key generation. Note this is temporary until frontend key generation
1828         patch lands.
1829
1830         No new tests, this is part of a refactor that doesn't change behavior.
1831
1832         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1833         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1834
1835 2012-07-24  Pavel Feldman  <pfeldman@chromium.org>
1836
1837         Web Inspector: introduce UISourceCodeFrame.
1838         https://bugs.webkit.org/show_bug.cgi?id=92124
1839
1840         Reviewed by Vsevolod Vlasov.
1841
1842         Generic implementation of SourceFrame over UISourceCode added.
1843
1844         * WebCore.gypi:
1845         * WebCore.vcproj/WebCore.vcproj:
1846         * inspector/compile-front-end.py:
1847         * inspector/front-end/ScriptsPanel.js:
1848         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1849         * inspector/front-end/StylesPanel.js:
1850         * inspector/front-end/UISourceCodeFrame.js: Added.
1851         (WebInspector.UISourceCodeFrame):
1852         (WebInspector.UISourceCodeFrame.prototype.canEditSource):
1853         (WebInspector.UISourceCodeFrame.prototype.commitEditing):
1854         (WebInspector.UISourceCodeFrame.prototype.afterTextChanged):
1855         (WebInspector.UISourceCodeFrame.prototype._didEditContent):
1856         (WebInspector.UISourceCodeFrame.prototype._onContentChanged):
1857         (WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):
1858         * inspector/front-end/WebKit.qrc:
1859         * inspector/front-end/inspector.html:
1860
1861 2012-07-24  Dan Bernstein  <mitz@apple.com>
1862
1863         <rdar://problem/11945102> REGRESSION (r109451): Overlay scrollbars always use the default style, regardless of background color
1864         https://bugs.webkit.org/show_bug.cgi?id=92115
1865
1866         Reviewed by Mark Rowe.
1867
1868         * platform/Scrollbar.cpp:
1869         (WebCore::Scrollbar::scrollbarOverlayStyle): Reversed an incorrect null check.
1870
1871 2012-07-24  Andrew Wilson  <atwilson@chromium.org>
1872
1873         Another prospective build fix for Chromium. Unreviewed.
1874
1875         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
1876
1877 2012-07-24  Andrew Wilson  <atwilson@chromium.org>
1878
1879         Unreviewed prospective build fix for Chromium. Changed include of hb.h in HarfBuzzNGFace.h
1880
1881         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
1882
1883 2012-07-24  Dominik Röttsches  <dominik.rottsches@intel.com>
1884
1885         HarfBuzzFaceNG.h forward declarations conflict with newer versions of Harfbuzz
1886         https://bugs.webkit.org/show_bug.cgi?id=92103
1887
1888         Reviewed by Philippe Normand.
1889
1890         As preparation for enabling harfbuzz-ng for EFL, I would like to include the header
1891         here since the forward declarations are conflicting with the harfbuzz version
1892         we will use for EFL.
1893
1894         No new tests, no change in behavior.
1895
1896         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
1897
1898 2012-07-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1899
1900         Fix blend filter for autovectorizing
1901         https://bugs.webkit.org/show_bug.cgi?id=91398
1902
1903         Reviewed by Nikolas Zimmermann.
1904
1905         To support auto-vectorizing, the loop had to be unswitched, and regular arrays used that 
1906         did not do boundary-checks in the inner loop. Finally the integer division by 255
1907         was optimized not use integer division intrinsics.
1908
1909         On a X86-64 architechture using GCC -O3 on the file, this gives a speed-up of 2.9x.
1910
1911         * platform/graphics/filters/FEBlend.cpp:
1912         (WebCore::fastDivideBy255):
1913         (BlendNormal):
1914         (WebCore::BlendNormal::apply):
1915         (BlendMultiply):
1916         (WebCore::BlendMultiply::apply):
1917         (BlendScreen):
1918         (WebCore::BlendScreen::apply):
1919         (BlendDarken):
1920         (WebCore::BlendDarken::apply):
1921         (BlendLighten):
1922         (WebCore::BlendLighten::apply):
1923         (BlendUnknown):
1924         (WebCore::BlendUnknown::apply):
1925         (WebCore::platformApply):
1926         (WebCore::FEBlend::platformApplyGeneric):
1927         (WebCore::FEBlend::platformApplySoftware):
1928         * platform/graphics/filters/FEBlend.h:
1929         (FEBlend):
1930
1931 2012-07-23  Hans Wennborg  <hans@chromium.org>
1932
1933         Speech JavaScript API: Add the SpeechRecognitionResult.emma attribute
1934         https://bugs.webkit.org/show_bug.cgi?id=91743
1935
1936         Reviewed by Adam Barth.
1937
1938         Implement the 'emma' attribute as described in the spec draft at
1939         http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
1940
1941         Test: fast/speech/scripted/emma.html
1942
1943         * Modules/speech/SpeechRecognitionResult.cpp:
1944         (WebCore::SpeechRecognitionResult::~SpeechRecognitionResult):
1945         (WebCore):
1946         (WebCore::SpeechRecognitionResult::emma):
1947         * Modules/speech/SpeechRecognitionResult.h:
1948         (WebCore):
1949         (SpeechRecognitionResult):
1950         * Modules/speech/SpeechRecognitionResult.idl:
1951         * WebCore.gypi:
1952         * bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp:
1953         (WebCore):
1954         (WebCore::V8SpeechRecognitionResult::visitDOMWrapper):
1955           We need to add an implicit reference from the result object to the
1956           emma object to keep the latters DOM tree alive across
1957           garbage-collection.
1958
1959 2012-07-24  Andrei Poenaru  <poenaru@adobe.com>
1960
1961         Web Inspector: Protocol Extension: add getFlowByName command
1962         https://bugs.webkit.org/show_bug.cgi?id=91855
1963
1964         Reviewed by Pavel Feldman.
1965
1966         The "getFlowByName" command should return a NamedFlow for a given document and name.
1967
1968         Test: inspector/styles/protocol-css-regions-commands.html
1969
1970         * inspector/Inspector.json:
1971         * inspector/InspectorCSSAgent.cpp:
1972         (WebCore::InspectorCSSAgent::getFlowByName):
1973         (WebCore):
1974         * inspector/InspectorCSSAgent.h:
1975         (InspectorCSSAgent):
1976         * inspector/front-end/CSSStyleModel.js:
1977         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
1978         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
1979         (WebInspector.NamedFlow):
1980         (WebInspector.NamedFlow.parsePayload):
1981
1982 2012-07-23  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
1983
1984         [Qt] Fix compilation against namespaced Qt
1985
1986         Reviewed by Simon Hausmann.
1987
1988         * platform/graphics/Font.h:
1989         * platform/network/ResourceHandleInternal.h:
1990         * platform/qt/ThirdPartyCookiesQt.h:
1991
1992 2012-07-24  Anthony Scian  <ascian@rim.com>
1993
1994         Web Inspector [JSC]: Enable initiator column in network panel.
1995         https://bugs.webkit.org/show_bug.cgi?id=65533
1996
1997         Reviewed by Vsevolod Vlasov.
1998
1999         With 40118 fixed for webkit, Preferences.displayInitiator should be set to true.
2000         Removed references to it since the optionality is no longer required.
2001
2002         Test: http/tests/inspector/network/network-initiator.html
2003
2004         * inspector/front-end/NetworkPanel.js:
2005         (WebInspector.NetworkLogView.prototype._createTable):
2006         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
2007         (WebInspector.NetworkLogView.prototype.switchToBriefView):
2008         (WebInspector.NetworkDataGridNode.prototype.createCells):
2009         (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
2010         * inspector/front-end/Settings.js:
2011
2012 2012-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2013
2014         Missing *explicit* keyword in dom and page.
2015         https://bugs.webkit.org/show_bug.cgi?id=92074
2016
2017         Reviewed by Kentaro Hara.
2018
2019         Some constructors missed to use *explicit* keyword. They need to be added
2020         *explicit* keyword to contructor which has a parameter in order to avoid
2021         implicit type conversion.
2022
2023         Some files in dom directory can't use explicit keyword because of build breaks.
2024
2025         No new tests. Covered by existing tests.
2026
2027         * dom/BeforeLoadEvent.h:
2028         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
2029         * dom/BeforeTextInsertedEvent.h:
2030         (BeforeTextInsertedEvent):
2031         * dom/ChildListMutationScope.h:
2032         (WebCore::ChildListMutationScope::ChildListMutationScope):
2033         * dom/ChildNodeList.h:
2034         (ChildNodeList):
2035         * dom/ClientRect.h:
2036         (ClientRect):
2037         * dom/ClientRectList.h:
2038         (ClientRectList):
2039         * dom/ComposedShadowTreeWalker.h:
2040         (ComposedShadowTreeParentWalker):
2041         * dom/DOMCoreException.h:
2042         (WebCore::DOMCoreException::DOMCoreException):
2043         * dom/DOMImplementation.h:
2044         (DOMImplementation):
2045         * dom/DatasetDOMStringMap.h:
2046         (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
2047         * dom/DeviceMotionController.h:
2048         (DeviceMotionController):
2049         * dom/DeviceOrientationController.h:
2050         (DeviceOrientationController):
2051         * dom/DocumentParser.h:
2052         (DocumentParser):
2053         * dom/EventException.h:
2054         (WebCore::EventException::EventException):
2055         * dom/EventListener.h:
2056         (WebCore::EventListener::EventListener):
2057         * dom/ExceptionBase.h:
2058         (ExceptionBase):
2059         * dom/GenericEventQueue.h:
2060         (GenericEventQueue):
2061         * dom/KeyboardEvent.h:
2062         (WebCore::KeypressCommand::KeypressCommand):
2063         * dom/MemoryInstrumentation.h:
2064         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
2065         * dom/MessageChannel.h:
2066         (MessageChannel):
2067         * dom/MessagePort.h:
2068         (MessagePort):
2069         * dom/MessagePortChannel.h:
2070         (MessagePortChannel):
2071         * dom/MutationObserver.h:
2072         * dom/NamedNodeMap.h:
2073         (WebCore::NamedNodeMap::NamedNodeMap):
2074         * dom/NodeFilter.h:
2075         (WebCore::NodeFilter::NodeFilter):
2076         * dom/NodeWithIndex.h:
2077         (WebCore::NodeWithIndex::NodeWithIndex):
2078         * dom/Range.h:
2079         * dom/RangeException.h:
2080         (WebCore::RangeException::RangeException):
2081         * dom/RawDataDocumentParser.h:
2082         (WebCore::RawDataDocumentParser::RawDataDocumentParser):
2083         * dom/ScriptRunner.h:
2084         (ScriptRunner):
2085         * dom/SelectorQuery.h:
2086         (SelectorQuery):
2087         * dom/ShadowRoot.h:
2088         (ShadowRoot):
2089         * dom/SpaceSplitString.h:
2090         (SpaceSplitStringData):
2091         * dom/StaticHashSetNodeList.h:
2092         (StaticHashSetNodeList):
2093         * dom/StaticNodeList.h:
2094         (WebCore::StaticNodeList::StaticNodeList):
2095         * dom/TransformSource.h:
2096         (TransformSource):
2097         * dom/TreeScope.h:
2098         (TreeScope):
2099         * dom/WebKitNamedFlowCollection.h:
2100         (WebKitNamedFlowCollection):
2101         * page/EventHandler.h:
2102         (EventHandler):
2103         * page/FocusController.h:
2104         (FocusController):
2105         * page/FrameView.h:
2106         (FrameView):
2107         * page/MemoryInfo.h:
2108         (MemoryInfo):
2109         * page/Page.h:
2110         (Page):
2111         * page/PageGroup.h:
2112         (PageGroup):
2113         * page/PrintContext.h:
2114         (PrintContext):
2115         * page/Settings.h:
2116         (Settings):
2117         * page/SpeechInput.h:
2118         (SpeechInput):
2119         * page/SpeechInputResultList.h:
2120         (SpeechInputResultList):
2121         * page/WebKitAnimation.h:
2122         * page/WindowFeatures.h:
2123         (WindowFeatures):
2124         * page/WorkerNavigator.h:
2125         (WorkerNavigator):
2126
2127 2012-07-24  Kent Tamura  <tkent@chromium.org>
2128
2129         Replace some callsites of shadowAncestorNode() with shadowHost()
2130         https://bugs.webkit.org/show_bug.cgi?id=92060
2131
2132         Reviewed by Hajime Morita.
2133
2134         shadowAncestorNode() is deprecated.
2135
2136         No new tests. This shouldn't change behaviors.
2137
2138         * html/shadow/MediaControlElements.cpp:
2139         (WebCore::toParentMediaElement):
2140         * html/shadow/TextControlInnerElements.h:
2141         (WebCore::SpinButtonElement::isEnabledFormControl):
2142         (WebCore::SpinButtonElement::isReadOnlyFormControl):
2143         * platform/efl/RenderThemeEfl.cpp:
2144         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
2145         (WebCore::RenderThemeEfl::paintMediaMuteButton):
2146         * platform/gtk/RenderThemeGtk.cpp:
2147         (WebCore::getMediaElementFromRenderObject):
2148         (WebCore::centerRectVerticallyInParentInputElement):
2149         * platform/qt/RenderThemeQt.cpp:
2150         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
2151         (WebCore::RenderThemeQt::paintMediaSliderThumb):
2152         Removed an ASSERT() because nullness of o->node() is already asserted.
2153         * rendering/RenderInputSpeech.cpp:
2154         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
2155         * rendering/RenderMediaControlsChromium.cpp:
2156         (WebCore::paintMediaSliderThumb):
2157         Passing shadowHost() to toParentMediaElement(), which accepts 0 and will return 0.
2158         (WebCore::paintMediaVolumeSliderThumb): ditto.
2159         * rendering/RenderThemeChromiumSkia.cpp:
2160         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2161         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2162         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2163         * rendering/RenderThemeMac.mm:
2164         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2165         Remove an ASSERT(input) because input never be null unless o->node() is
2166         null. If o->node() is null, this function crashes.
2167         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2168         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2169         (WebCore::RenderThemeMac::paintMediaMuteButton):
2170         It's ok to ignore "node is a media element" case because this function
2171         works only if node->isMediaControlElement().
2172         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
2173         (WebCore::RenderThemeMac::paintMediaSliderTrack): ditto.
2174         * rendering/RenderThemeSafari.cpp:
2175         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
2176         Remove an ASSERT(input) because input never be null unless o->node() is
2177         null. If o->node() is null, this function crashes.
2178         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): ditto.
2179         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): ditto.
2180         * rendering/RenderThemeWinCE.cpp:
2181         (WebCore::mediaElementParent):
2182
2183 2012-07-24  Peter Beverloo  <peter@chromium.org>
2184
2185         [Chromium] Build fix for Android after r123424
2186         https://bugs.webkit.org/show_bug.cgi?id=92082
2187
2188         Unreviewed build fix.
2189
2190         Mark removed the PlatformSupport.h header from ScrollbarThemeChromiumAndroid.cpp
2191         in r123424, while there still are two references left to another method and a
2192         constant. Re-add the include directive.
2193
2194         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2195
2196 2012-07-24  Kentaro Hara  <haraken@chromium.org>
2197
2198         [JSC] REGRESSION(r122912): CodeGeneratorJS.pm generates wrong code
2199         for static attributes in supplemental IDL files
2200         https://bugs.webkit.org/show_bug.cgi?id=91925
2201
2202         Reviewed by Adam Barth.
2203
2204         r122912 implemented static attributes in CodeGeneratorJS.pm.
2205         However, it generates wrong code for static attributes in supplemental
2206         IDL files. This patch fixes it as shown in JSTestInterface.cpp.
2207         This fix aligns with the fix in CodeGeneratorV8.pm (r123308).
2208
2209         Test: bindings/scripts/test/TestSupplemental.idl
2210
2211         * bindings/scripts/CodeGeneratorJS.pm:
2212         (GenerateImplementation):
2213         * bindings/scripts/test/JS/JSTestInterface.cpp:
2214         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
2215         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
2216         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2217
2218 2012-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2219
2220         Add *explicit* keyword to constructor which has a parameter in bridge, history, loader and plugins.
2221         https://bugs.webkit.org/show_bug.cgi?id=92064
2222
2223         Reviewed by Kentaro Hara.
2224
2225         Some constructors missed to use *explicit* keyword. They need to be added
2226         *explicit* keyword to contructor which has a parameter in order to avoid
2227         implicit type conversion.
2228
2229         No new tests. Covered by existing tests.
2230
2231         * bridge/IdentifierRep.h:
2232         (WebCore::IdentifierRep::IdentifierRep):
2233         * history/BackForwardListImpl.h:
2234         (BackForwardListImpl):
2235         * history/CachedFrame.h:
2236         (CachedFrame):
2237         * history/HistoryItem.h:
2238         (HistoryItem):
2239         * loader/DocumentWriter.h:
2240         (DocumentWriter):
2241         * loader/FrameNetworkingContext.h:
2242         (WebCore::FrameNetworkingContext::FrameNetworkingContext):
2243         * loader/HistoryController.h:
2244         * loader/ImageLoader.h:
2245         (ImageLoader):
2246         * loader/LinkLoader.h:
2247         (LinkLoader):
2248         * loader/MainResourceLoader.h:
2249         (MainResourceLoader):
2250         * loader/NavigationAction.h:
2251         (NavigationAction):
2252         * loader/NavigationScheduler.h:
2253         (NavigationScheduler):
2254         * loader/PolicyChecker.h:
2255         (PolicyChecker):
2256         * loader/SubframeLoader.h:
2257         (SubframeLoader):
2258         * loader/ThreadableLoaderClientWrapper.h:
2259         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2260         * plugins/PluginData.h:
2261         (PluginData):
2262         * plugins/PluginViewBase.h:
2263         (WebCore::PluginViewBase::PluginViewBase):
2264
2265 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
2266
2267         [Qt] Fix conversion from GregorianDateTime to QTime
2268         https://bugs.webkit.org/show_bug.cgi?id=92068
2269
2270         Reviewed by Simon Hausmann.
2271
2272         * bridge/qt/qt_runtime.cpp:
2273         (JSC::Bindings::convertValueToQVariant):
2274         * bridge/qt/qt_runtime_qt4.cpp:
2275         (JSC::Bindings::convertValueToQVariant):
2276
2277 2012-07-24  Arko Saha  <arko@motorola.com>
2278
2279         Microdata: Implement PropertyNodeList interface.
2280         https://bugs.webkit.org/show_bug.cgi?id=80269
2281
2282         Reviewed by Ryosuke Niwa.
2283
2284         Added support for PropertyNodeList interface. Currently HTMLPropertiesCollection.namedItem(name)
2285         returns NodeList object. Made changes so that it will return PropertyNodeList object.
2286
2287         Implemented propertyNodeList.getValues() method. It returns an array of various values. Its
2288         values are obtained from the "itemValue" DOM property of each of the elements represented by
2289         the object, in tree order.
2290
2291         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#propertynodelist
2292
2293         Tests: fast/dom/MicroData/nameditem-returns-propertynodelist.html
2294                fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element.html
2295                fast/dom/MicroData/propertynodelist-getvalues-test.html
2296                fast/dom/MicroData/propertynodelist-test-add-remove-element.html
2297
2298         * CMakeLists.txt:
2299         * DerivedSources.cpp:
2300         * DerivedSources.make:
2301         * DerivedSources.pri:
2302         * GNUmakefile.list.am:
2303         * Target.pri:
2304         * UseJSC.cmake:
2305         * UseV8.cmake:
2306         * WebCore.gypi:
2307         * WebCore.vcproj/WebCore.vcproj:
2308         * WebCore.xcodeproj/project.pbxproj:
2309         * bindings/gobject/GNUmakefile.am:
2310         * bindings/js/JSBindingsAllInOne.cpp:
2311         * bindings/js/JSMicroDataItemValueCustom.cpp: Added.
2312         (WebCore):
2313         (WebCore::toJS): Added toJS() custom method. Returns Node if itemValue is node else returns String.
2314         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp: Added.
2315         (WebCore):
2316         (WebCore::toV8): Added toV8 custom code.
2317         * dom/DynamicNodeList.cpp:
2318         (WebCore::DynamicNodeListCacheBase::rootNode): Return document if owner node has itemref attribute specified.
2319         (WebCore):
2320         (WebCore::DynamicNodeListCacheBase::ownerNodeHasItemRefAttribute): Returns true if owner node has itemref attribute
2321         specified with root type NodeListRootedAtDocumentIfOwnerHasItemrefAttr.
2322         (WebCore::DynamicNodeListCacheBase::invalidateCache):
2323         (WebCore::DynamicNodeList::itemWithName): Update itemrefElements cache if root type is
2324         NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
2325         * dom/DynamicNodeList.h: Added m_hasItemRefElements in DynamicNodeListCacheBase to check if itemRefElmenets cache
2326         is valid.
2327         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
2328         (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
2329         (DynamicNodeListCacheBase):
2330         (WebCore::DynamicNodeListCacheBase::isItemRefElementsCacheValid):
2331         (WebCore::DynamicNodeListCacheBase::setItemRefElementsCacheValid):
2332         (WebCore::DynamicNodeListCacheBase::rootType): Returns cached root type.
2333         (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Invalidate NodeListCache on itemref
2334         attribute change.
2335         * dom/Node.cpp:
2336         (WebCore::Node::propertyNodeList):
2337         * dom/Node.h:
2338         (WebCore):
2339         (Node):
2340         * dom/PropertyNodeList.cpp: Added.
2341         (WebCore):
2342         (WebCore::PropertyNodeList::PropertyNodeList):
2343         (WebCore::PropertyNodeList::~PropertyNodeList):
2344         (WebCore::PropertyNodeList::elementIsPropertyOfRefElement): Checks if the testElement is a property of Microdata
2345         item.
2346         (WebCore::PropertyNodeList::updateRefElements):
2347         (WebCore::PropertyNodeList::nodeMatches):
2348         (WebCore::PropertyNodeList::getValues): Returns PropertyValueArray whose values are obtained from the
2349         itemValue DOM property of each of the elements represented by the object, in tree order.
2350         * dom/PropertyNodeList.h: Added.
2351         (WebCore):
2352         (PropertyNodeList):
2353         (WebCore::PropertyNodeList::create):
2354         * dom/PropertyNodeList.idl: Added.
2355         * html/HTMLCollection.cpp:
2356         (WebCore::DynamicNodeListCacheBase::itemCommon): Update itemrefElements cache if its a NodeListCollectionType with
2357         root type NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
2358         * html/HTMLElement.cpp:
2359         (WebCore::HTMLElement::properties):
2360         (WebCore):
2361         (WebCore::HTMLElement::getItemRefElements): Returns the ItemRefElements list of given element. Added this
2362         method to share the code between HTMLPropertiesCollection and PropertyNodeList to update itemRefElements.
2363         * html/HTMLElement.h:
2364         (HTMLElement):
2365         * html/HTMLPropertiesCollection.cpp:
2366         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
2367         (WebCore::HTMLPropertiesCollection::updateRefElements):
2368         (WebCore::HTMLPropertiesCollection::updateNameCache):
2369         (WebCore::HTMLPropertiesCollection::namedItem): Return PropertyNodeList object instead of NodeList.
2370         (WebCore::HTMLPropertiesCollection::hasNamedItem): Return true if it finds an item with given
2371         name in the properties collection.
2372         * html/HTMLPropertiesCollection.h: Removed m_hasItemRefElements member variable, now DynamicNodeListCacheBase
2373         has isItemRefElementsCacheValid. Also removed m_hasPropertyNameCache, as DynamicNodeListCacheBase already has
2374         hasNameCache() and setHasNameCache().
2375         (WebCore):
2376         (HTMLPropertiesCollection):
2377         (WebCore::HTMLPropertiesCollection::invalidateCache):
2378         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
2379         * html/HTMLPropertiesCollection.idl:
2380         * html/MicroDataItemValue.idl: Added.
2381         * page/DOMWindow.idl:
2382
2383 2012-07-24  Kentaro Hara  <haraken@chromium.org>
2384
2385         [JSC] REGRESSION(r122912): CodeGeneratorJS.pm should not
2386         implicitly assume ScriptExecutionContext for static attributes
2387         https://bugs.webkit.org/show_bug.cgi?id=91924
2388
2389         Reviewed by Adam Barth.
2390
2391         r122912 implemented static attributes in CodeGeneratorJS.pm.
2392         However, the generated code assumes that static attributes
2393         always require ScriptExecutionContext, which is wrong.
2394         If we need a ScriptExecutionContext, we should specify
2395         [CallWith=ScriptExecutionContext].
2396
2397         This patch fixes CodeGeneratorJS.pm so that static attributes
2398         do not assume ScriptExecutionContext. This fix aligns with
2399         the fix in CodeGeneratorV8.pm in r123308.
2400
2401         Test: bindings/scripts/test/TestObj.idl
2402
2403         * bindings/scripts/CodeGeneratorJS.pm:
2404         (GenerateImplementation):
2405         * bindings/scripts/test/JS/JSTestInterface.cpp:
2406         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
2407         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
2408         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2409         * bindings/scripts/test/JS/JSTestObj.cpp:
2410         (WebCore::jsTestObjConstructorStaticReadOnlyIntAttr):
2411         (WebCore::jsTestObjConstructorStaticStringAttr):
2412         (WebCore::setJSTestObjConstructorStaticStringAttr):
2413
2414 2012-07-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2415
2416         Missing *explicit* keyword in editing.
2417         https://bugs.webkit.org/show_bug.cgi?id=92055
2418
2419         Reviewed by Ryosuke Niwa.
2420
2421         Some constructors missed to use *explicit* keyword. They need to be added
2422         *explicit* keyword to contructor which has a parameter in order to avoid
2423         implicit type conversion.
2424
2425         No new tests. Covered by existing tests.
2426
2427         * editing/AlternativeTextController.h:
2428         (WebCore::AlternativeTextController::UNLESS_ENABLED):
2429         * editing/BreakBlockquoteCommand.h:
2430         (BreakBlockquoteCommand):
2431         * editing/DeleteButton.h:
2432         (DeleteButton):
2433         * editing/DeleteButtonController.h:
2434         (DeleteButtonController):
2435         * editing/EditCommand.h:
2436         (EditCommand):
2437         (WebCore::SimpleEditCommand::SimpleEditCommand):
2438         * editing/EditingBehavior.h:
2439         (WebCore::EditingBehavior::EditingBehavior):
2440         * editing/EditingStyle.h:
2441         (EditingStyle):
2442         * editing/Editor.h:
2443         (Editor):
2444         * editing/FrameSelection.h:
2445         (FrameSelection):
2446         * editing/InsertLineBreakCommand.h:
2447         (InsertLineBreakCommand):
2448         * editing/ModifySelectionListLevel.h:
2449         (ModifySelectionListLevelCommand):
2450         (DecreaseSelectionListLevelCommand):
2451         * editing/RemoveFormatCommand.h:
2452         (RemoveFormatCommand):
2453         * editing/RemoveNodeCommand.h:
2454         (RemoveNodeCommand):
2455         * editing/RemoveNodePreservingChildrenCommand.h:
2456         (RemoveNodePreservingChildrenCommand):
2457         * editing/ReplaceNodeWithSpanCommand.h:
2458         (ReplaceNodeWithSpanCommand):
2459         * editing/TextInsertionBaseCommand.h:
2460         (TextInsertionBaseCommand):
2461         * editing/UndoManager.h:
2462         (UndoManager):
2463         * editing/UnlinkCommand.h:
2464         (UnlinkCommand):
2465         * editing/WrapContentsInDummySpanCommand.h:
2466         (WrapContentsInDummySpanCommand):
2467
2468 2012-07-23  Dominic Mazzoni  <dmazzoni@google.com>
2469
2470         AX: Need AccessibilityObjects for nodes without renderers in canvas subtree
2471         https://bugs.webkit.org/show_bug.cgi?id=87899
2472
2473         Reviewed by Chris Fleizach.
2474
2475         Refactors AccessibilityRenderObject so that it inherits from a new class,
2476         AccessibilityNodeObject, that can be constructed from a Node without a
2477         renderer. Modifies AXObjectCache so that it automatically creates an
2478         AccessibilityNodeObject for elements in a canvas subtree but not otherwise.
2479         A new layout test verifies that this correctly exposes an accessibility
2480         tree with appropriate roles for elements in a canvas subtree.
2481
2482         This patch does not try to complete the implementation of
2483         AccessibilityNodeObject. Most AX methods are still unimplemented and need
2484         to be migrated from AccessibilityRenderObject to AccessibilityNodeObject
2485         in a future patch.
2486         
2487         This patch also doesn't change anything outside of WebCore/accessibility, so
2488         the rest of WebCore only calls AXObjectCache when there are changes to a
2489         RenderObject, not to a Node. Accessible notifications on nodes without
2490         renderers need to be implemented in a future patch.
2491
2492         Test: accessibility/canvas-accessibilitynodeobject.html
2493
2494         * CMakeLists.txt:
2495         * GNUmakefile.list.am:
2496         * Target.pri:
2497         * WebCore.gypi:
2498         * accessibility/AXObjectCache.cpp:
2499         (WebCore::AXObjectCache::get):
2500         (WebCore):
2501         (WebCore::createFromNode):
2502         (WebCore::AXObjectCache::getOrCreate):
2503         (WebCore::AXObjectCache::remove):
2504         * accessibility/AXObjectCache.h:
2505         (AXObjectCache):
2506         (WebCore::AXObjectCache::get):
2507         (WebCore::AXObjectCache::getOrCreate):
2508         (WebCore::AXObjectCache::remove):
2509         * accessibility/AccessibilityARIAGrid.cpp:
2510         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
2511         (WebCore):
2512         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
2513         (WebCore::AccessibilityARIAGrid::init):
2514         (WebCore::AccessibilityARIAGrid::create):
2515         * accessibility/AccessibilityARIAGrid.h:
2516         (AccessibilityARIAGrid):
2517         * accessibility/AccessibilityARIAGridCell.cpp:
2518         (WebCore::AccessibilityARIAGridCell::create):
2519         * accessibility/AccessibilityARIAGridRow.cpp:
2520         (WebCore::AccessibilityARIAGridRow::create):
2521         * accessibility/AccessibilityAllInOne.cpp:
2522         * accessibility/AccessibilityList.cpp:
2523         (WebCore::AccessibilityList::create):
2524         * accessibility/AccessibilityListBox.cpp:
2525         (WebCore::AccessibilityListBox::create):
2526         * accessibility/AccessibilityMediaControls.cpp:
2527         (WebCore::AccessibilityMediaControl::create):
2528         (WebCore::AccessibilityMediaControlsContainer::create):
2529         (WebCore::AccessibilityMediaTimeline::create):
2530         (WebCore::AccessibilityMediaTimeDisplay::create):
2531         * accessibility/AccessibilityMenuList.cpp:
2532         (WebCore::AccessibilityMenuList::create):
2533         (WebCore):
2534         * accessibility/AccessibilityMenuList.h:
2535         (AccessibilityMenuList):
2536         * accessibility/AccessibilityNodeObject.cpp: Added.
2537         (WebCore):
2538         (WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
2539         (WebCore::AccessibilityNodeObject::~AccessibilityNodeObject):
2540         (WebCore::AccessibilityNodeObject::init):
2541         (WebCore::AccessibilityNodeObject::create):
2542         (WebCore::AccessibilityNodeObject::detach):
2543         (WebCore::AccessibilityNodeObject::childrenChanged):
2544         (WebCore::AccessibilityNodeObject::updateAccessibilityRole):
2545         (WebCore::AccessibilityNodeObject::firstChild):
2546         (WebCore::AccessibilityNodeObject::lastChild):
2547         (WebCore::AccessibilityNodeObject::previousSibling):
2548         (WebCore::AccessibilityNodeObject::nextSibling):
2549         (WebCore::AccessibilityNodeObject::parentObjectIfExists):
2550         (WebCore::AccessibilityNodeObject::parentObject):
2551         (WebCore::AccessibilityNodeObject::elementRect):
2552         (WebCore::AccessibilityNodeObject::setNode):
2553         (WebCore::AccessibilityNodeObject::document):
2554         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
2555         (WebCore::AccessibilityNodeObject::addChildren):
2556         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
2557         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
2558         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
2559         (WebCore::AccessibilityNodeObject::ariaRoleAttribute):
2560         (WebCore::AccessibilityNodeObject::remapAriaRoleDueToParent):
2561         * accessibility/AccessibilityNodeObject.h: Added.
2562         (WebCore):
2563         (AccessibilityNodeObject):
2564         (WebCore::AccessibilityNodeObject::isAccessibilityNodeObject):
2565         (WebCore::AccessibilityNodeObject::node):
2566         (WebCore::AccessibilityNodeObject::isDetached):
2567         (WebCore::toAccessibilityNodeObject):
2568         * accessibility/AccessibilityObject.h:
2569         (WebCore::AccessibilityObject::isAccessibilityNodeObject):
2570         * accessibility/AccessibilityProgressIndicator.cpp:
2571         (WebCore::AccessibilityProgressIndicator::create):
2572         * accessibility/AccessibilityRenderObject.cpp:
2573         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2574         (WebCore::AccessibilityRenderObject::init):
2575         (WebCore):
2576         (WebCore::AccessibilityRenderObject::create):
2577         (WebCore::AccessibilityRenderObject::detach):
2578         (WebCore::AccessibilityRenderObject::setRenderer):
2579         (WebCore::AccessibilityRenderObject::canHaveChildren):
2580         (WebCore::AccessibilityRenderObject::addCanvasChildren):
2581         (WebCore::AccessibilityRenderObject::addChildren):
2582         * accessibility/AccessibilityRenderObject.h:
2583         (AccessibilityRenderObject):
2584         * accessibility/AccessibilitySlider.cpp:
2585         (WebCore::AccessibilitySlider::create):
2586         * accessibility/AccessibilityTable.cpp:
2587         (WebCore::AccessibilityTable::AccessibilityTable):
2588         (WebCore):
2589         (WebCore::AccessibilityTable::~AccessibilityTable):
2590         (WebCore::AccessibilityTable::init):
2591         (WebCore::AccessibilityTable::create):
2592         * accessibility/AccessibilityTable.h:
2593         (AccessibilityTable):
2594         * accessibility/AccessibilityTableCell.cpp:
2595         (WebCore::AccessibilityTableCell::create):
2596         * accessibility/AccessibilityTableRow.cpp:
2597         (WebCore::AccessibilityTableRow::create):
2598
2599 2012-07-23  David Barr  <davidbarr@chromium.org>
2600
2601         Fix ENABLE_CSS_IMAGE_ORIENTATION compile flag
2602         https://bugs.webkit.org/show_bug.cgi?id=91961
2603
2604         Reviewed by Tony Chang.
2605
2606         https://bugs.webkit.org/show_bug.cgi?id=89055
2607         A rule was missed implementing the ENABLE_CSS_IMAGE_ORIENTATION compile flag.
2608
2609         https://bugs.webkit.org/show_bug.cgi?id=90046
2610         Half of the missing rule was inadvertently added together with ENABLE_CSS_STICKY_POSITION.
2611
2612         No new tests; build configuration fix.
2613
2614         * Configurations/FeatureDefines.xcconfig:
2615
2616 2012-07-23  Douglas Stockwell  <dstockwell@chromium.org>
2617
2618         Null-pointer crash when a derived color like -webkit-activelink is set in a gradient stop
2619         https://bugs.webkit.org/show_bug.cgi?id=89148
2620
2621         Reviewed by Simon Fraser.
2622
2623         CSSGradientValue attempted to resolve colors during paint, this crashed
2624         when a derived color like -webkit-activelink was encountered because the
2625         corresponding element was no longer available in the StyleResolver.
2626         Instead, by adding a field to CSSGradientColorStop we can resolve and
2627         then cache the resolved colors at the correct time. To avoid sharing
2628         cached derived colors between elements we clone the gradient values when
2629         needed.
2630
2631         Test: fast/css/crash-on-gradient-with-derived-color.html
2632
2633         * css/CSSGradientValue.cpp:
2634         (WebCore::CSSGradientValue::gradientWithStylesResolved): Added. Resolve and cache
2635         resolved colors, clone if colors are derived from the element.
2636         (WebCore):
2637         (WebCore::CSSGradientValue::addStops):
2638         (WebCore::CSSGradientValue::isCacheable): Defer to new logic in
2639         StyleResolver.
2640         * css/CSSGradientValue.h:
2641         (CSSGradientColorStop): Added cache of resolved color.
2642         (CSSGradientValue):
2643         (CSSLinearGradientValue):
2644         (CSSRadialGradientValue):
2645         * css/CSSImageGeneratorValue.h:
2646         (WebCore):
2647         * css/CSSValue.h:
2648         (WebCore::CSSValue::isGradientValue):
2649         * css/StyleResolver.cpp:
2650         (WebCore::StyleResolver::collectMatchingRulesForList):
2651         * css/StyleResolver.h:
2652         (StyleResolver):
2653         * rendering/style/StyleGeneratedImage.cpp:
2654         (WebCore::StyleGeneratedImage::image): Revert change from r96449. This
2655         is no longer necessary as the gradient colors are now resolved at a
2656         time when the style is set on StyleResolver.
2657
2658 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
2659
2660         Move GregorianDateTime from JSC to WTF namespace
2661         https://bugs.webkit.org/show_bug.cgi?id=91948
2662
2663         Reviewed by Geoffrey Garen.
2664
2665         Moving GregorianDateTime into the WTF namespace allows us to us to
2666         use it in WebCore too. The new class has the same behaviour as the
2667         old struct. Only the unused timeZone member has been removed.
2668
2669         * bridge/qt/qt_runtime.cpp:
2670         (JSC::Bindings::convertValueToQVariant):
2671         (JSC::Bindings::convertQVariantToValue):
2672         * bridge/qt/qt_runtime_qt4.cpp:
2673         (JSC::Bindings::convertValueToQVariant):
2674         (JSC::Bindings::convertQVariantToValue):
2675
2676 2012-07-23  Mark Pilgrim  <pilgrim@chromium.org>
2677
2678         [Chromium] Move layoutTestMode to WebCore
2679         https://bugs.webkit.org/show_bug.cgi?id=92010
2680
2681         Reviewed by Adam Barth.
2682
2683         Part of a refactoring series. See tracking bug 82948.
2684
2685         * CMakeLists.txt:
2686         * GNUmakefile.list.am:
2687         * Target.pri:
2688         * WebCore.gypi:
2689         * WebCore.vcproj/WebCore.vcproj:
2690         * WebCore.xcodeproj/project.pbxproj:
2691         * bindings/generic/RuntimeEnabledFeatures.h:
2692         (RuntimeEnabledFeatures):
2693         * platform/LayoutTestSupport.cpp: Added.
2694         (WebCore):
2695         (WebCore::isRunningLayoutTest):
2696         (WebCore::setIsRunningLayoutTest):
2697         * platform/LayoutTestSupport.h: Added.
2698         (WebCore):
2699         * platform/chromium/PlatformSupport.h:
2700         (PlatformSupport):
2701         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2702         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
2703         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
2704         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2705         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
2706         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2707         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2708         (WebCore):
2709         (WebCore::LookupAltName):
2710         (WebCore::fontContainsCharacter):
2711         (WebCore::FillLogFont):
2712         (WebCore::FontCache::getFontDataForCharacters):
2713         (WebCore::FontCache::createFontPlatformData):
2714         * platform/graphics/skia/FontCustomPlatformData.cpp:
2715         (WebCore::FontCustomPlatformData::fontPlatformData):
2716         * platform/graphics/skia/FontSkia.cpp:
2717         (WebCore::Font::drawGlyphs):
2718         * rendering/RenderThemeChromiumAndroid.cpp:
2719         (WebCore::RenderThemeChromiumAndroid::systemColor):
2720         (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
2721         * rendering/RenderThemeChromiumMac.mm:
2722         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2723         * rendering/RenderThemeChromiumSkia.cpp:
2724         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2725         * rendering/RenderThemeChromiumWin.cpp:
2726         (WebCore):
2727         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2728         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2729         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2730         (WebCore::RenderThemeChromiumWin::systemColor):
2731         (WebCore::menuListButtonWidth):
2732         (WebCore::RenderThemeChromiumWin::determineClassicState):
2733
2734 2012-07-23  Dave Tu  <dtu@chromium.org>
2735
2736         [chromium] Add droppedFrameCount to renderingStats.
2737         https://bugs.webkit.org/show_bug.cgi?id=91694
2738
2739         Reviewed by Adrienne Walker.
2740
2741         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp:
2742         (WebCore):
2743         (WebCore::CCFrameRateCounter::frameInterval):
2744         (WebCore::CCFrameRateCounter::frameIndex):
2745         (WebCore::CCFrameRateCounter::CCFrameRateCounter):
2746         (WebCore::CCFrameRateCounter::markBeginningOfFrame):
2747         (WebCore::CCFrameRateCounter::isBadFrame):
2748         * platform/graphics/chromium/cc/CCFrameRateCounter.h:
2749         (WebCore::CCFrameRateCounter::droppedFrameCount):
2750         (CCFrameRateCounter):
2751         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2752         (WebCore::CCLayerTreeHost::renderingStats):
2753         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2754         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2755         (WebCore::CCLayerTreeHostImpl::drawLayers):
2756         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2757         (CCLayerTreeHostImpl):
2758         * platform/graphics/chromium/cc/CCRenderingStats.h:
2759         (CCRenderingStats):
2760         (WebCore::CCRenderingStats::CCRenderingStats):
2761         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2762         (WebCore::CCSingleThreadProxy::implSideRenderingStats):
2763         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2764         (WebCore::CCThreadProxy::implSideRenderingStatsOnImplThread):
2765
2766 2012-07-23  Dan Bernstein  <mitz@apple.com>
2767
2768         Fixed the build after r123418.
2769
2770         * WebCore.exp.in: Added DocumentMarkerController::addTextMatchMarker.
2771
2772 2012-07-23  Mike Lawther  <mikelawther@chromium.org>
2773
2774         CSS3 calc: optimise blending expression
2775         https://bugs.webkit.org/show_bug.cgi?id=90037
2776
2777         Reviewed by Tony Chang.
2778
2779         Introduce a new calc expression node - a BlendLength node. Given two Lengths and a progress
2780         this blends them together when evaluated.
2781
2782         An alternative and more general approach of being able to blend two CalcExpressionNodes was
2783         tested, but involves more memory allocations, was measurably slower, and nothing currently
2784         would make use of the generality. 
2785
2786         No functional change. Covered by existing tests.
2787
2788         * platform/CalculationValue.h:
2789         (CalcExpressionBlendLength):
2790         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
2791         (WebCore::CalcExpressionBlendLength::operator==):
2792         (WebCore::CalcExpressionBlendLength::evaluate):
2793         (WebCore):
2794         * platform/Length.cpp:
2795         (WebCore::Length::blendCalculation):
2796
2797 2012-07-23  Nico Weber  <thakis@chromium.org>
2798
2799         [chromium] Show search tickmarks on css-styled scrollbars
2800         https://bugs.webkit.org/show_bug.cgi?id=91949
2801
2802         Reviewed by Adrienne Walker.
2803
2804         This is done by letting RenderScrollbarTheme::paintTickmarks()
2805         delegate to the native ScrollbarTheme. To make this possible,
2806         move paintTickmarks() from ScrollbarThemeComposite to the
2807         superclass ScrollbarTheme.
2808
2809         For testing, add internals.addTextMatchMarker() and add a pixel test.
2810
2811         * platform/ScrollbarTheme.h:
2812         (WebCore::ScrollbarTheme::paintTickmarks):
2813         Moved paintTickmarks() from ScrollbarThemeComposite to here.
2814         * platform/ScrollbarThemeComposite.h:
2815         Remove paintTickmarks().
2816         * platform/chromium/ScrollbarThemeChromium.cpp:
2817         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2818         Switch to drawing tickmarks as vectors, so they can be arbitrarily wide.
2819         * platform/chromium/ScrollbarThemeChromiumMac.h:
2820         (ScrollbarThemeChromiumMac):
2821         Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
2822         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2823         (WebCore::ScrollbarThemeChromiumMac::paint):
2824         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2825         Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
2826         * rendering/RenderScrollbarTheme.cpp:
2827         (WebCore::RenderScrollbarTheme::paintTickmarks):
2828         Delegate to the native ScrollbarTheme for tickmark drawing.
2829         (WebCore):
2830         * rendering/RenderScrollbarTheme.h:
2831         (RenderScrollbarTheme):
2832         Override paintTickmarks().
2833
2834 2012-07-23  Brian Anderson  <brianderson@chromium.org>
2835
2836         [chromium] Use shallow flushes that don't glFlush
2837         https://bugs.webkit.org/show_bug.cgi?id=90325
2838
2839         Reviewed by Kenneth Russell.
2840
2841         Adds plumbing for the shallowFlushCHROMIUM extension and uses
2842         shallow flushes instead of normal flushes when uploading textures.
2843         Shallow flushes allow us to initiate command buffer flushes to
2844         the GPU thread/process without the overhead of a true glFlush.
2845
2846         CCTextureUpdaterTest updated to recognize shallow flushes.
2847
2848         * platform/chromium/support/Extensions3DChromium.cpp:
2849         (WebCore::Extensions3DChromium::shallowFlushCHROMIUM):
2850         (WebCore):
2851         * platform/graphics/chromium/Extensions3DChromium.h:
2852         (Extensions3DChromium):
2853         * platform/graphics/chromium/cc/CCGraphicsContext.h:
2854         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2855         (WebCore::CCResourceProvider::shallowFlushIfSupported):
2856         (WebCore):
2857         (WebCore::CCResourceProvider::CCResourceProvider):
2858         (WebCore::CCResourceProvider::initialize):
2859         * platform/graphics/chromium/cc/CCResourceProvider.h:
2860         (CCResourceProvider):
2861         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
2862         (WebCore::CCTextureUpdater::update):
2863
2864 2012-07-23  Hanyee Kim  <choco@company100.net>
2865
2866         When using TextureMapper, WebKit does not retain final value of opacity in animations, unless it is specified on the last key frame.
2867         https://bugs.webkit.org/show_bug.cgi?id=91322
2868
2869         Reviewed by Noam Rosenthal.
2870
2871         When -webkit-fill-mode is forwards, GraphicsLayerAnimation::apply does not apply
2872         the property values defined in the last executing keyframe after the final iteration of animation.
2873
2874         This patch does not return right after the end of animation, but it keeps applying
2875         the property values defined in the last executing keyframe.
2876         Add normalizedAnimationValueForFillsForwards function that returns a normalized value of the
2877         last executing keyframe.
2878
2879         Link to CSS Animations spec: http://www.w3.org/TR/css3-animations/#animation-fill-mode-property
2880
2881         Test: animations/fill-mode-forwards2.html
2882
2883         * platform/graphics/GraphicsLayerAnimation.cpp:
2884         (WebCore::normalizedAnimationValueForFillsForwards):
2885         (WebCore):
2886         (WebCore::GraphicsLayerAnimation::apply):
2887
2888 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2889
2890         Unreviewed, rolling out r123184, r123195, and r123197.
2891         http://trac.webkit.org/changeset/123184
2892         http://trac.webkit.org/changeset/123195
2893         http://trac.webkit.org/changeset/123197
2894         https://bugs.webkit.org/show_bug.cgi?id=92049
2895
2896         pagecycler regression (Requested by morrita on #webkit).
2897
2898         * WebCore.exp.in:
2899         * dom/Document.cpp:
2900         (WebCore::Document::Document):
2901         (WebCore::Document::~Document):
2902         (WebCore::Document::suggestedMIMEType):
2903         * dom/Document.h:
2904         (WebCore):
2905         (WebCore::Node::isDocumentNode):
2906         (WebCore::Node::Node):
2907         * dom/Node.cpp:
2908         (WebCore::Node::~Node):
2909         (WebCore::Node::setDocument):
2910         (WebCore):
2911         (WebCore::Node::setTreeScope):
2912         (WebCore::Node::treeScope):
2913         (WebCore::Node::isInShadowTree):
2914         (WebCore::Node::reportMemoryUsage):
2915         * dom/Node.h:
2916         (Node):
2917         (WebCore::Node::document):
2918         (WebCore::Node::inDocument):
2919         * dom/NodeRareData.h:
2920         (WebCore::NodeRareData::NodeRareData):
2921         (WebCore::NodeRareData::treeScope):
2922         (WebCore::NodeRareData::setTreeScope):
2923         (NodeRareData):
2924         * dom/ShadowRoot.cpp:
2925         (WebCore::ShadowRoot::ShadowRoot):
2926         * dom/TreeScope.cpp:
2927         (WebCore::TreeScope::TreeScope):
2928         (WebCore::TreeScope::setParentTreeScope):
2929         * dom/TreeScope.h:
2930         (WebCore):
2931         (WebCore::TreeScope::idTargetObserverRegistry):
2932         (TreeScope):
2933         * dom/TreeScopeAdopter.cpp:
2934         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2935         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2936         * editing/MoveSelectionCommand.cpp:
2937         * editing/RemoveNodeCommand.cpp:
2938         * editing/RemoveNodePreservingChildrenCommand.cpp:
2939         * inspector/PageConsoleAgent.cpp:
2940
2941 2012-07-23  Roger Fong  <roger_fong@apple.com>
2942
2943         On Windows, if select element is off screen horizontally, 
2944         menu is either inappropriately resized or positioned offscreen.
2945         https://bugs.webkit.org/show_bug.cgi?id=91913
2946         <rdar://problem/7611229>
2947
2948         Reviewed by Tim Horton.
2949
2950         If the select element is positioned off the edge of the screen to the left, 
2951         the menu is resized. It should not be resized, just shifted to remain on the screen.
2952         If the select element is positioned off the edge of the screen to the right, 
2953         the menu goes off screen instead of being shifted over to appear on screen.
2954         This problem only occurs on Windows.
2955         
2956         Test: ManualTests/win/select-menu-off-screen.html
2957
2958         * platform/win/PopupMenuWin.cpp:
2959         (WebCore::PopupMenuWin::calculatePositionAndSize):
2960         Modified final horizontal position calculation code to position
2961         popup menu on screen if it would otherwise go off.
2962         
2963 2012-07-23  David Dorwin  <ddorwin@chromium.org>
2964
2965         Fixed crash in webkitAddKey() when key parameter is null.
2966         https://bugs.webkit.org/show_bug.cgi?id=85444
2967
2968         Reviewed by Kentaro Hara.
2969
2970         Reference: Step 1 of http://dvcs.w3.org/hg/html-media/raw-file/5f76a0b43836/encrypted-media/encrypted-media.html#dom-addkey
2971
2972         Tests: media/encrypted-media/encrypted-media-syntax.html 
2973
2974         * html/HTMLMediaElement.cpp:
2975         (WebCore::HTMLMediaElement::webkitAddKey):
2976
2977 2012-07-23  Hayato Ito  <hayato@chromium.org>
2978
2979         A FocusScope for a distributed node should not be its TreeScope.
2980         https://bugs.webkit.org/show_bug.cgi?id=91829
2981
2982         Reviewed by Dimitri Glazkov.
2983
2984         Current implementation of FocusScope::focusScopeOf(Node*) returns
2985         the given node's treeScope().  That does not apply if the node is
2986         a distributed node.  We should calculate a FocusScope for a
2987         distributed node by traversing ancestor nodes in Composed Shadow
2988         Tree.
2989
2990         Test: fast/dom/shadow/focus-navigation-with-distributed-nodes.html
2991
2992         * page/FocusController.cpp:
2993         (WebCore::FocusScope::focusScopeOf):
2994
2995 2012-07-23  Douglas Stockwell  <dstockwell@google.com>
2996
2997         Null-pointer crash when parsing border-image
2998         https://bugs.webkit.org/show_bug.cgi?id=91963
2999
3000         Reviewed by Darin Adler.
3001
3002         Test: fast/css/border-image-fill-crash.html
3003
3004         * css/CSSParser.cpp:
3005         (WebCore::CSSParser::parseBorderImageRepeat): Handle the case where
3006         parseBorderImageRepeat is called when the value list is empty.
3007
3008 2012-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
3009
3010         [CSS Exclusions] SVG shape errors should invalidate exclusion shapes
3011         https://bugs.webkit.org/show_bug.cgi?id=91761
3012
3013         Reviewed by Andreas Kling.
3014
3015         CSS exclusion shapes that are specified with negative radiuses or
3016         height/width are now considered invalid and ignored.
3017
3018         Tests added to
3019         LayoutTests/fast/exclusions/parsing-wrap-shape-lengths.html
3020
3021         * css/CSSParser.cpp:
3022         (WebCore::CSSParser::parseExclusionShapeRectangle):
3023         (WebCore::CSSParser::parseExclusionShapeCircle):
3024         (WebCore::CSSParser::parseExclusionShapeEllipse):
3025
3026 2012-07-23  Tien-Ren Chen  <trchen@chromium.org>
3027
3028         [chromium] Implement scrollbar theme for Android
3029         https://bugs.webkit.org/show_bug.cgi?id=91674
3030
3031         Reviewed by Adam Barth.
3032
3033         Previously the scrollbar for Android was implemented as an extra
3034         drawing pass in the compositor. Now we switch to use the standard
3035         ScrollbarTheme mechanism.
3036
3037         No new tests. We use mock scrollbars during layout test to share
3038         pixel results with Linux.
3039
3040         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
3041         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
3042         (WebCore::ScrollbarThemeChromiumAndroid::thumbPosition):
3043         (WebCore::ScrollbarThemeChromiumAndroid::thumbLength):
3044         (WebCore::ScrollbarThemeChromiumAndroid::backButtonRect):
3045         (WebCore::ScrollbarThemeChromiumAndroid::forwardButtonRect):
3046         (WebCore::ScrollbarThemeChromiumAndroid::trackRect):
3047         (WebCore):
3048         (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
3049         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
3050         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
3051         (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
3052         (ScrollbarThemeChromiumAndroid):
3053         (WebCore::ScrollbarThemeChromiumAndroid::hasButtons):
3054         (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
3055
3056 2012-07-23  Kwang Yul Seo  <skyul@company100.net>
3057
3058         Use the original token to create an element in "reconstruct the active formatting elements" and "call the adoption agency"
3059         https://bugs.webkit.org/show_bug.cgi?id=91703
3060
3061         Reviewed by Adam Barth.
3062
3063         The current WebKit HTML5 parser implementation does not hold the original token
3064         in the stack of open elements and the active formatting elements. This is
3065         problematic because the original token is used to create an element in
3066         "reconstruct the active formatting elements" and "call the adoption agency".
3067
3068         As a workaround, WebKit uses the saved element instead of the original token
3069         to create an element. But this causes us to fail examples like this:
3070         <b id="1"><p><script>document.getElementById("1").id = "2"</script></p>TEXT</b>
3071         reconstructTheActiveFormattingElements calls this method to open a second <b>
3072         tag to wrap TEXT, it will have id "2", even though the HTML5 spec implies it
3073         should be "1".
3074
3075         Created a ref-counted container class, HTMLStackItem to hold the original token
3076         and the namespace URI as well as the element. Changed HTMLElementStack and
3077         HTMLFormattingElementList to use HTMLStackItem.
3078         Changed HTMLConstructionSite::reconstructTheActiveFormattingElements and
3079         HTMLTreeBuilder::callTheAdoptionAgency to create an element from the saved token
3080         instead of the saved element.
3081
3082         Updated test expectation for html5lib/runner-expected.txt
3083         because now resources/scripted/adoption01.dat passes.
3084
3085         * html/parser/HTMLConstructionSite.cpp:
3086         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3087         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
3088         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
3089         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
3090         (WebCore::HTMLConstructionSite::insertHTMLElement):
3091         (WebCore::HTMLConstructionSite::insertFormattingElement):
3092         (WebCore::HTMLConstructionSite::insertScriptElement):
3093         (WebCore::HTMLConstructionSite::insertForeignElement):
3094         (WebCore::HTMLConstructionSite::createElementFromSavedToken):
3095         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
3096         * html/parser/HTMLConstructionSite.h:
3097         (HTMLConstructionSite):
3098         (WebCore::HTMLConstructionSite::currentElementRecord):
3099         * html/parser/HTMLElementStack.cpp:
3100         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
3101         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
3102         (WebCore::HTMLElementStack::pushRootNode):
3103         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
3104         (WebCore::HTMLElementStack::pushRootNodeCommon):
3105         (WebCore::HTMLElementStack::pushHTMLHeadElement):
3106         (WebCore::HTMLElementStack::pushHTMLBodyElement):
3107         (WebCore::HTMLElementStack::push):
3108         (WebCore::HTMLElementStack::insertAbove):
3109         (WebCore::HTMLElementStack::pushCommon):
3110         * html/parser/HTMLElementStack.h:
3111         (WebCore::HTMLElementStack::ElementRecord::element):
3112         (WebCore::HTMLElementStack::ElementRecord::node):
3113         (WebCore::HTMLElementStack::ElementRecord::stackItem):
3114         (ElementRecord):
3115         (HTMLElementStack):
3116         * html/parser/HTMLFormattingElementList.cpp:
3117         (WebCore::HTMLFormattingElementList::swapTo):
3118         (WebCore::HTMLFormattingElementList::append):
3119         * html/parser/HTMLFormattingElementList.h:
3120         (WebCore::HTMLFormattingElementList::Entry::Entry):
3121         (WebCore::HTMLFormattingElementList::Entry::isMarker):
3122         (WebCore::HTMLFormattingElementList::Entry::stackItem):
3123         (WebCore::HTMLFormattingElementList::Entry::element):
3124         (WebCore::HTMLFormattingElementList::Entry::replaceElement):
3125         (WebCore::HTMLFormattingElementList::Entry::operator==):
3126         (WebCore::HTMLFormattingElementList::Entry::operator!=):
3127         (Entry):
3128         (HTMLFormattingElementList):
3129         * html/parser/HTMLStackItem.h: Added.
3130         (WebCore):
3131         (HTMLStackItem):
3132         (WebCore::HTMLStackItem::create):
3133         (WebCore::HTMLStackItem::element):
3134         (WebCore::HTMLStackItem::node):
3135         (WebCore::HTMLStackItem::token):
3136         (WebCore::HTMLStackItem::namespaceURI):
3137         (WebCore::HTMLStackItem::HTMLStackItem):
3138         * html/parser/HTMLTreeBuilder.cpp:
3139         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3140         (WebCore::HTMLTreeBuilder::processStartTag):
3141         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3142
3143 2012-07-23  Andreas Kling  <kling@webkit.org>
3144
3145         Report the extra memory used by immutable StylePropertySet objects.
3146         <http://webkit.org/b/92032>
3147
3148         Reviewed by Anders Carlsson.
3149
3150         Add an optional parameter to the MemoryClassInfo constructor for passing in additional base object
3151         size on top of sizeof(T).
3152
3153         Use this in StylePropertySet::reportMemoryUsage() to properly account for the CSSProperty array
3154         tacked onto the end of the object when m_isMutable == false.
3155
3156         * css/StylePropertySet.h:
3157         (WebCore::StylePropertySet::reportMemoryUsage):
3158         * dom/MemoryInstrumentation.h:
3159         (WebCore::MemoryObjectInfo::reportObjectInfo):
3160         (WebCore::MemoryClassInfo::MemoryClassInfo):
3161
3162 2012-07-23  Gregg Tavares  <gman@google.com>
3163
3164         Fix WebGL texSubImage2D for cube maps
3165         https://bugs.webkit.org/show_bug.cgi?id=91927
3166
3167         Reviewed by Kenneth Russell.
3168
3169         Fixes texSubImage2D so any size rectangle can be passed in
3170         for cube maps.
3171
3172         Test: fast/canvas/webgl/tex-sub-image-cube-maps.html
3173
3174         * html/canvas/WebGLRenderingContext.cpp:
3175         (WebCore):
3176         (WebCore::WebGLRenderingContext::copyTexImage2D):
3177         (WebCore::WebGLRenderingContext::texImage2DBase):
3178         (WebCore::WebGLRenderingContext::texSubImage2DBase):
3179         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
3180         * html/canvas/WebGLRenderingContext.h:
3181         (WebGLRenderingContext):
3182
3183 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3184
3185         Unreviewed, rolling out r123387.
3186         http://trac.webkit.org/changeset/123387
3187         https://bugs.webkit.org/show_bug.cgi?id=92036
3188
3189         Broke chromium win build (Requested by tony^work on #webkit).
3190
3191         * WebCore.gyp/WebCore.gyp:
3192         * WebCore.gyp/scripts/rule_bison.py:
3193         * bindings/scripts/preprocessor.pm:
3194         (applyPreprocessor):
3195         * make-hash-tools.pl:
3196
3197 2012-07-23  Kwang Yul Seo  <skyul@company100.net>
3198
3199         Ref-count AtomicHTMLToken
3200         https://bugs.webkit.org/show_bug.cgi?id=91981
3201
3202         Reviewed by Adam Barth.
3203
3204         Ref-count AtomicHTMLToken to avoid copying AtomicHTMLToken in Bug 91703.
3205
3206         No new tests - no functional changes.
3207
3208         * html/parser/HTMLConstructionSite.cpp:
3209         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3210         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3211         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
3212         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
3213         (WebCore::HTMLConstructionSite::insertDoctype):
3214         (WebCore::HTMLConstructionSite::insertComment):
3215         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
3216         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
3217         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
3218         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
3219         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
3220         (WebCore::HTMLConstructionSite::insertHTMLElement):
3221         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3222         (WebCore::HTMLConstructionSite::insertFormattingElement):
3223         (WebCore::HTMLConstructionSite::insertScriptElement):
3224         (WebCore::HTMLConstructionSite::insertForeignElement):
3225         (WebCore::HTMLConstructionSite::createElement):
3226         (WebCore::HTMLConstructionSite::createHTMLElement):
3227         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3228         * html/parser/HTMLConstructionSite.h:
3229         (HTMLConstructionSite):
3230         * html/parser/HTMLToken.h:
3231         (WebCore::AtomicHTMLToken::create):
3232         (AtomicHTMLToken):
3233         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3234         * html/parser/HTMLTreeBuilder.cpp:
3235         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
3236         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
3237         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
3238         (WebCore::HTMLTreeBuilder::processToken):
3239         (WebCore::HTMLTreeBuilder::processDoctypeToken):
3240         (WebCore::HTMLTreeBuilder::processFakeStartTag):
3241         (WebCore::HTMLTreeBuilder::processFakeEndTag):
3242         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
3243         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3244         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3245         (WebCore):
3246         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
3247         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3248         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3249         (WebCore::HTMLTreeBuilder::processStartTag):
3250         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
3251         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
3252         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
3253         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3254         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
3255         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
3256         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3257         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3258         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
3259         (WebCore::HTMLTreeBuilder::processEndTag):
3260         (WebCore::HTMLTreeBuilder::processComment):
3261         (WebCore::HTMLTreeBuilder::processCharacter):
3262         (WebCore::HTMLTreeBuilder::processEndOfFile):
3263         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
3264         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
3265         (WebCore::HTMLTreeBuilder::defaultForInHead):
3266         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
3267         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
3268         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3269         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3270         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3271         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3272         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
3273         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
3274         (WebCore::HTMLTreeBuilder::parseError):
3275         * html/parser/HTMLTreeBuilder.h:
3276         (HTMLTreeBuilder):
3277         * html/parser/TextDocumentParser.cpp:
3278         (WebCore::TextDocumentParser::insertFakePreElement):
3279
3280 2012-07-23  Scott Graham  <scottmg@google.com>
3281
3282         Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
3283         https://bugs.webkit.org/show_bug.cgi?id=91667
3284
3285         Reviewed by Tony Chang.
3286
3287         Using native tools instead of cygwin version improves build time
3288         performance by roughly 50% (on top of previous cl-instead-of-gcc
3289         change).
3290
3291         Also, use - instead of / for cl flags because a layer of project
3292         generator converts them to \ otherwise, which causes the preprocessing
3293         to fail (very slowly because of the cygwin-loop with a sleep 1).
3294
3295         No new tests.
3296
3297         * WebCore.gyp/WebCore.gyp:
3298         * WebCore.gyp/scripts/rule_bison.py:
3299         * bindings/scripts/preprocessor.pm:
3300         (applyPreprocessor):
3301         * make-hash-tools.pl:
3302
3303 2012-06-12  Jer Noble  <jer.noble@apple.com>
3304
3305         MediaController.currentTime should be kept stable during script execution.
3306         https://bugs.webkit.org/show_bug.cgi?id=88555
3307
3308         Reviewed by Eric Carlson.
3309
3310         Test: media/media-controller-time-constant.html
3311
3312         To keep MediaController.currentTime stable, add a new m_position variable and 
3313         a new m_clearPositionTimer timer.  Both must be mutable variables as they will
3314         be updated from within const functions.  Calls to currentTime() will result in
3315         stable values until the next runloop iteration.
3316
3317         * html/MediaController.cpp:
3318         (MediaController::MediaController):
3319         (MediaController::currentTime):
3320         (MediaController::setCurrentTime):
3321         (MediaController::clearPositionTimerFired):
3322         * html/MediaController.h:
3323
3324 2012-07-23  Huang Dongsung  <luxtella@company100.net>
3325
3326         Destroy CSS decoded data more eagerly once they become dead caches.
3327         https://bugs.webkit.org/show_bug.cgi?id=91733
3328
3329         Reviewed by Geoffrey Garen.
3330
3331         Internal review by Kwang Yul Seo.
3332
3333         There are three CachedResources with decoded data: CachedImage, CachedScript
3334         and CachedCSSStyleSheet. In the cases of CachedImage and CachedScript, we
3335         eagerly destroy the decoded data using Timer in CacehdResource::allClientsRemoved().
3336         We must apply the same policy here in CachedCSSStyleSheet because priority
3337         inversion can occur. For example, we can't destroy the decoded data of CachedImages
3338         when they are referenced by CachedCSSStyleSheet as background, mask or border
3339         images.
3340
3341         No new tests - no new testable functionality.
3342
3343         * loader/cache/CachedCSSStyleSheet.cpp:
3344         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
3345         (WebCore::CachedCSSStyleSheet::didAddClient):
3346         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
3347         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
3348         (WebCore):
3349         (WebCore::CachedCSSStyleSheet::decodedDataDeletionTimerFired):
3350         * loader/cache/CachedCSSStyleSheet.h:
3351         (CachedCSSStyleSheet):
3352
3353 2012-07-23  Simon Fraser  <simon.fraser@apple.com>
3354
3355         Part 2 of: Implement sticky positioning
3356         https://bugs.webkit.org/show_bug.cgi?id=90046
3357
3358         Reviewed by Ojan Vafai.
3359
3360         Turn on ENABLE_CSS_STICKY_POSITION. Add support for parsing the new '-webkit-sticky'
3361         value for position, returning it from getComputedStyle(), and storing it in RenderStyle.
3362
3363         Test: fast/css/sticky/parsing-position-sticky.html
3364
3365         * Configurations/FeatureDefines.xcconfig:
3366         * css/CSSComputedStyleDeclaration.cpp:
3367         (WebCore::getPositionOffsetValue):
3368         * css/CSSParser.cpp:
3369         (WebCore::isValidKeywordPropertyAndValue):
3370         * css/CSSPrimitiveValueMappings.h:
3371         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3372         (WebCore::CSSPrimitiveValue::operator EPosition):
3373         * css/CSSValueKeywords.in:
3374         * rendering/style/RenderStyle.h:
3375         * rendering/style/RenderStyleConstants.h:
3376
3377 2012-07-23  Stephen Chenney  <schenney@chromium.org>
3378
3379         Crash when setting empty class name on a new element
3380         https://bugs.webkit.org/show_bug.cgi?id=92024
3381
3382         Reviewed by Andreas Kling.
3383
3384         Add a check for null attributeData() when setting the className to an
3385         empty string on a newly created element. New SVG elements have null
3386         attributeData() on baseVal upon creation.
3387
3388         Test: svg/custom/empty-className-baseVal-crash.html
3389
3390         * dom/StyledElement.cpp:
3391         (WebCore::StyledElement::classAttributeChanged): Add check for null attributeData()
3392
3393 2012-07-23  Shawn Singh  <shawnsingh@chromium.org>
3394
3395         [chromium] Refactor CCLayerTreeHostCommon: clean up clipRect and drawableContentRect design
3396         https://bugs.webkit.org/show_bug.cgi?id=80622
3397
3398         Reviewed by Adrienne Walker.
3399
3400         clipRect(), usesLayerClipping(), and drawableContentRect() have been
3401         very confusing in CCLayerTreeHostCommon for a while. This patch
3402         refactors it so that (1) clipping is only done locally in
3403         calcDrawTransforms, and (2) the layer's drawableContentRect value
3404         is now meaningful value outside of calcDrawTransforms.
3405         Additionally, the layer is now always clipped to the root
3406         surface's contentBounds (which are set to the viewport bounds).
3407         This refactor not only makes calcDrawTransforms far more readable and intuitive, but
3408         this patch enables more upcoming beneficial refactors, including
3409         the pending refactor in https://bugs.webkit.org/show_bug.cgi?id=88953.
3410
3411         Tests are also significantly updated to keep up with this refactoring change.
3412
3413         * platform/graphics/chromium/LayerChromium.cpp:
3414         (WebCore::LayerChromium::LayerChromium):
3415         * platform/graphics/chromium/LayerChromium.h:
3416         (LayerChromium):
3417         Removed m_usesLayerClipping and m_clipRect and associated accessors.
3418
3419         * platform/graphics/chromium/RenderSurfaceChromium.h:
3420         (RenderSurfaceChromium):
3421         Updated comment
3422
3423         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3424         (WebCore::CCLayerImpl::CCLayerImpl):
3425         * platform/graphics/chromium/cc/CCLayerImpl.h:
3426         (CCLayerImpl):
3427         Removed m_usesLayerClipping and m_clipRect and associated accessors.
3428
3429         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3430         (WebCore::CCLayerTreeHost::updateLayers):
3431         removed setClipRect code that no longer applies
3432
3433         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3434         (WebCore::calculateLayerScissorRect):
3435         scissor rect is now a little bit tighter, the intersection between damage and layer's new drawableContentRect.
3436
3437         (WebCore::calculateSurfaceScissorRect):
3438         scissor rect is now a little bit tighter, except when filters are involved.
3439
3440         (WebCore::layerClipsSubtree):
3441         new helper function
3442
3443         (WebCore):
3444         (WebCore::calculateVisibleContentRect):
3445         (WebCore::subtreeShouldRenderToSeparateSurface):
3446         (WebCore::calculateDrawTransformsInternal):
3447            - added drawableContentRectOfSubtree to the function args, it is valid only after recursion returns,
3448            - added clipRectFromAncestor and bool ancestorClipsSubtree to function args, this replaces the layer's clipRect and usesLayerClipping.
3449            - removed the boolean return value, which was redundant with drawableContentRectOfSubtree.
3450            - replaced all the "setDrawableContentRect" logic with more intuitive, clear logic.
3451            - now, layer's drawableContentRect represents the clipped bounds of the layer expressed in the target surface space.
3452
3453         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
3454         (WebCore::pointIsClippedBySurfaceOrClipRect):
3455         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3456         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
3457         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3458         (WebCore::::layerScissorRectInTargetSurface):
3459         Updated this accessor.  It could be removed in the future, but not appropriate for this patch.
3460
3461         * platform/graphics/chromium/cc/CCRenderSurface.h:
3462
3463 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
3464
3465         [CMAKE] Added missing RenderLayerFilterInfo.cpp to build system.
3466
3467         * CMakeLists.txt:
3468
3469 2012-07-23  Ryosuke Niwa  <rniwa@webkit.org>
3470
3471         REGRESSION(r123281): childNodes sometimes returns wrong nodes
3472         https://bugs.webkit.org/show_bug.cgi?id=92014
3473
3474         Reviewed by Anders Carlsson.
3475
3476         The bug was caused by a typo in itemBeforeOrAfter. Namely, it should have been calling firstNode as
3477         firstNode(forward, rootNode(), shouldOnlyIncludeDirectChildren()),
3478         NOT firstNode(forward, rootNode(), previous)
3479         as evident from the argument list of the function.
3480
3481         Test: fast/dom/NodeList/childNodes-reverse-iteration.html
3482
3483         * html/HTMLCollection.cpp:
3484         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter):
3485
3486 2012-07-23  Steve VanDeBogart  <vandebo@chromium.org>
3487
3488         Chrome/Skia: PDF print output does not have clickable links.
3489         https://bugs.webkit.org/show_bug.cgi?id=91171
3490
3491         Reviewed by Stephen White.
3492
3493         Connect GraphicsContext::setURLForRect to Skia's new API for annotations.
3494
3495         Printing is not generally testable.
3496
3497         * platform/graphics/skia/GraphicsContextSkia.cpp:
3498         (WebCore::GraphicsContext::setURLForRect):
3499
3500 2012-07-23  Pierre Rossi  <pierre.rossi@gmail.com>
3501
3502         Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
3503         https://bugs.webkit.org/show_bug.cgi?id=91006
3504
3505         Reviewed by Ryosuke Niwa.
3506
3507         The rationale here is that the client doesn't need to know about the touch
3508         event handler count. needTouchEvents was already used for that purpose.
3509
3510         Test: fast/events/touch/touch-handler-count.html
3511
3512         * dom/Document.cpp:
3513         (WebCore::Document::Document):
3514         (WebCore::Document::didAddTouchEventHandler): Only notify the client if needed.
3515         (WebCore::Document::didRemoveTouchEventHandler): Ditto. Also unset the TOUCH_LISTENER
3516         flag for the document if we reach a count of zero. The rationale being that
3517         hasListenerType() is relied upon in other places in combination with TOUCH_LISTENER for
3518         the same purpose.
3519         * dom/Document.h:
3520         (Document):
3521         (WebCore::Document::touchEventHandlerCount):
3522         * loader/EmptyClients.h:
3523         * page/ChromeClient.h:
3524         (ChromeClient):
3525         * page/Frame.cpp: Removed notifyChromeClientTouchEventHandlerCountChanged.
3526         (WebCore::Frame::setDocument): call needsTouchEvents directly.
3527         * page/Frame.h: Ditto.
3528         (Frame):
3529         * testing/Internals.cpp:
3530         (WebCore::Internals::hasTouchEventListener): expose Document::hasListenerType indirectly
3531         for additional testing.
3532         (WebCore):
3533         * testing/Internals.h:
3534         (Internals):
3535         * testing/Internals.idl:
3536
3537 2012-07-23  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3538
3539         [Qt] RenderThemeQtMobile highlight colors are not being used
3540         https://bugs.webkit.org/show_bug.cgi?id=92004
3541
3542         Reviewed by Noam Rosenthal.
3543
3544         The issue here is that setPaletteFromPageClientIfExists() is being used as a
3545         virtual function, but it isn't, so when platformActiveSelectionBackgroundColor()
3546         runs, it doesn't pick the right palette.
3547
3548         Besides fixing this virtual behavior, the patch changes the structure a bit,
3549         because setPaletteFromPageClientIfExists() was being "overriden" in mobile theme
3550         to set the palette, which isn't exactly what the function name says.
3551
3552         * platform/qt/RenderThemeQt.cpp:
3553         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
3554         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
3555         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
3556         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
3557         (WebCore::RenderThemeQt::platformFocusRingColor):
3558         (WebCore::RenderThemeQt::systemColor):
3559         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
3560         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
3561         Use the virtual colorPalette() to get the palette.
3562
3563         (WebCore::RenderThemeQt::colorPalette):
3564         (WebCore): Removed the code for getting the page client from here since it is
3565         used only by the QStyle variant.
3566
3567         * platform/qt/RenderThemeQt.h:
3568         (RenderThemeQt):
3569         * platform/qt/RenderThemeQtMobile.cpp:
3570         (WebCore::RenderThemeQtMobile::colorPalette):
3571         (WebCore):
3572         * platform/qt/RenderThemeQtMobile.h:
3573         (RenderThemeQtMobile):
3574
3575 2012-07-23  Simon Fraser  <simon.fraser@apple.com>
3576
3577         Part 1 of: Implement sticky positioning
3578         https://bugs.webkit.org/show_bug.cgi?id=90046
3579
3580         Reviewed by Ojan Vafai.
3581
3582         Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
3583         
3584         Sort the ENABLE_CSS lines in the file. Make sure all the flags
3585         are in FEATURE_DEFINES.
3586
3587         * Configurations/FeatureDefines.xcconfig:
3588
3589 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3590
3591         Unreviewed, rolling out r123339.
3592         http://trac.webkit.org/changeset/123339
3593         https://bugs.webkit.org/show_bug.cgi?id=92006
3594
3595         massive media tests failure (Requested by philn on #webkit).
3596
3597         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
3598         (WTF::adoptGRef):
3599         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
3600         (setGstElementClassMetadata):
3601         * platform/graphics/gstreamer/GStreamerVersioning.h:
3602
3603 2012-07-21  Vincent Scheib  <scheib@chromium.org>
3604
3605         webkitFullscreenElement, webkitCurrentFullScreenElement, webkitPointerLockElement block cross origin access.
3606         https://bugs.webkit.org/show_bug.cgi?id=91892
3607
3608         Reviewed by Adam Barth.
3609
3610         PointerLockElement only returned when requested from the document that owns it.
3611
3612         Tests: http/tests/fullscreen/fullscreenelement-different-origin.html
3613                http/tests/fullscreen/fullscreenelement-same-origin.html
3614                http/tests/pointer-lock/pointerlockelement-different-origin.html
3615                http/tests/pointer-lock/pointerlockelement-same-origin.html
3616
3617         * dom/Document.cpp:
3618         (WebCore::Document::webkitPointerLockElement):
3619
3620 2012-07-23  Philippe Normand  <pnormand@igalia.com>
3621
3622         [GTK][jhbuild] Switch to GStreamer 0.11 build
3623         https://bugs.webkit.org/show_bug.cgi?id=91727
3624
3625         Reviewed by Gustavo Noronha Silva.
3626
3627         Add a new function to encapsulate the GStreamer API removal of
3628         GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
3629         macro can now be replaced by calling the g_object_is_floating
3630         function.
3631
3632         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
3633         (WTF::adoptGRef):
3634         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
3635         (gstObjectIsFloating):
3636         * platform/graphics/gstreamer/GStreamerVersioning.h:
3637
3638 2012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
3639
3640         [EFL] media/controls-styling.html is failing
3641         https://bugs.webkit.org/show_bug.cgi?id=91984
3642
3643         Reviewed by Eric Carlson.
3644
3645         Make sure that the CSS properties letter-spacing, word-spacing,
3646         line-height, text-transform, text-indent, text-shadow,
3647         text-decoration and color do not affect the media element controls,
3648         that display text.
3649
3650         No new tests. Already tested by media/controls-styling.html and
3651         media/controls-styling-strict.html
3652
3653         * css/mediaControlsEfl.css:
3654         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3655
3656 2012-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
3657
3658         Unreviewed. Fix make distcheck.
3659
3660         * GNUmakefile.list.am: Add missing header files.
3661
3662 2012-07-23  Kent Tamura  <tkent@chromium.org>
3663
3664         Replace some instances of shadowAncestorNode() with shadowHost()
3665         https://bugs.webkit.org/show_bug.cgi?id=91966
3666
3667         Reviewed by Hajime Morita.
3668
3669         shadowAncestorNode() is deprecated. We should use shadowHost().
3670         No new tests. This doesn't change any behavior.
3671
3672         * css/SelectorChecker.cpp:
3673         (WebCore::SelectorChecker::checkSelector):
3674         * dom/TreeScope.cpp:
3675         (WebCore::listTreeScopes):
3676         * html/HTMLSummaryElement.cpp:
3677         (WebCore::isClickableControl):
3678         * html/shadow/DetailsMarkerControl.cpp:
3679         (WebCore::DetailsMarkerControl::summaryElement):
3680         * html/shadow/MeterShadowElement.cpp:
3681         (WebCore::MeterShadowElement::meterElement):
3682         * html/shadow/ProgressShadowElement.cpp:
3683         (WebCore::ProgressShadowElement::progressElement):
3684         * html/shadow/SliderThumbElement.cpp:
3685         (WebCore::RenderSliderThumb::layout):
3686         (WebCore::RenderSliderContainer::layout):
3687         (WebCore::SliderThumbElement::hostInput):
3688         (WebCore::TrackLimiterElement::shadowPseudoId):
3689         (WebCore::SliderContainerElement::shadowPseudoId):
3690         * html/shadow/TextControlInnerElements.cpp:
3691         (WebCore::TextControlInnerElement::customStyleForRenderer):
3692         (WebCore::TextControlInnerTextElement::defaultEventHandler):
3693         (WebCore::TextControlInnerTextElement::createRenderer):
3694         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
3695         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
3696         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
3697         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
3698         (WebCore::SpinButtonElement::defaultEventHandler):
3699         (WebCore::SpinButtonElement::step):
3700         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
3701         (WebCore::InputFieldSpeechButtonElement::setState):
3702         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
3703         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
3704         * rendering/RenderTextControlSingleLine.cpp:
3705         (WebCore::RenderTextControlInnerBlock::positionForPoint):
3706
3707 2012-07-23  Pavel Feldman  <pfeldman@chromium.org>
3708
3709         [WK2] REGRESSION r122966: Crash when closing tab with Web Inspector open in WebKit::PageOverlay
3710         https://bugs.webkit.org/show_bug.cgi?id=91782
3711
3712         Reviewed by Yury Semikhatsky.
3713
3714         hideHighlight was never called once user hovered over a node.
3715
3716         * inspector/DOMNodeHighlighter.cpp:
3717         (WebCore::InspectorOverlay::update):
3718
3719 2012-07-23  Peter Beverloo  <peter@chromium.org>
3720
3721         [Chromium] Build fix for the Windows builder following r123311
3722         https://bugs.webkit.org/show_bug.cgi?id=91979
3723
3724         Unreviewed build fix.
3725
3726         Changeset r123311 moved the TextCodecWinCE.{cpp,h} files to the Windows
3727         directory. Update Chromium's references to these files to fix the build.
3728
3729         * WebCore.gypi:
3730
3731 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
3732
3733         [WIN] Remove ICU dependencies from UniscribeController
3734         https://bugs.webkit.org/show_bug.cgi?id=91921
3735
3736         Reviewed by Ryosuke Niwa.
3737
3738         Replace ICU specific functions and macros with the corresponding code from WTF::Unicode.
3739         This allows us to use UniscribeController with an other Unicode implementation too.
3740
3741         * platform/graphics/win/UniscribeController.cpp:
3742         (WebCore::UniscribeController::advance):
3743
3744 2012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
3745
3746         [EFL] media/controls-styling-strict.html is failing
3747         https://bugs.webkit.org/show_bug.cgi?id=91960
3748
3749         Reviewed by Kenneth Rohde Christiansen.
3750
3751         Use "display: -webkit-box;" instead of inline-block
3752         for current-time control. This is needed because
3753         inline-block behaves differently in strict mode.
3754
3755         No new test, already tested by media/controls-styling-strict.html
3756
3757         * css/mediaControlsEfl.css:
3758         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3759
3760 2012-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
3761
3762         Unreviewed. Fix GTK+ build with ENABLE_DATALIST_ELEMENT.
3763
3764         Add an implementation for virtual pure methods sliderTickSize()
3765         and sliderTickOffsetFromTrackCenter() when HTML5 datalist element
3766         is enabled.
3767
3768         * platform/gtk/RenderThemeGtk.cpp:
3769         (WebCore):
3770         (WebCore::RenderThemeGtk::sliderTickSize):
3771         (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
3772         * platform/gtk/RenderThemeGtk.h:
3773
3774 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
3775
3776         Replace getCurrentLocalTime() with GetLocalTime() in LocaleWin.cpp
3777         https://bugs.webkit.org/show_bug.cgi?id=91937
3778
3779         Reviewed by Ryosuke Niwa.
3780
3781         The windows function returns the required year directly and
3782         removes one additonal dependecy on getCurrentLocalTime().
3783
3784         * platform/text/LocaleWin.cpp:
3785         (WebCore::LocaleWin::LocaleWin):
3786
3787 2012-07-23  Vsevolod Vlasov  <vsevik@chromium.org>
3788
3789         Web Inspector: Drag and drop should not be started on right mouse click.
3790         https://bugs.webkit.org/show_bug.cgi?id=91728
3791
3792         Reviewed by Pavel Feldman.
3793
3794         Introduced WebInspector.installDragHandle method to control drag and drop support, checking whichg mouse button is pressed.
3795         Simplified WebInspector._elementDragStart, removed "element" parameter.
3796         Simplified tab moving support in TabbedPane, removed "mousemove" handler.
3797         Removed while loop determining which element was dragged in TimelineOverviewPane, each drag support is now installed independently.
3798         Drive-by: fixed TimelineOverviewPane window moving on resources-dividers-label-bar drang-and-drop.
3799         Drive-by: fixed CSSStyleModel compilation.
3800
3801         * inspector/front-end/CSSStyleModel.js:
3802         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
3803         * inspector/front-end/DataGrid.js:
3804         (WebInspector.DataGrid.prototype._positionResizers):
3805         (WebInspector.DataGrid.prototype._startResizerDragging):
3806         (WebInspector.DataGrid.prototype._endResizerDragging):
3807         * inspector/front-end/Drawer.js:
3808         (WebInspector.Drawer):
3809         (WebInspector.Drawer.prototype._animationDuration):
3810         (WebInspector.Drawer.prototype._startStatusBarDragging):
3811         (WebInspector.Drawer.prototype._endStatusBarDragging):
3812         * inspector/front-end/HeapSnapshotView.js:
3813         (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
3814         (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
3815         * inspector/front-end/SidebarOverlay.js:
3816         (WebInspector.SidebarOverlay.prototype.set _startResizerDragging):
3817         (WebInspector.SidebarOverlay.prototype._endResizerDragging):
3818         (WebInspector.SidebarOverlay.prototype._installResizer):
3819         * inspector/front-end/Spectrum.js:
3820         * inspector/front-end/SplitView.js:
3821         (WebInspector.SplitView.prototype._startResizerDragging):
3822         (WebInspector.SplitView.prototype._endResizerDragging):
3823         (WebInspector.SplitView.prototype.installResizer):
3824         * inspector/front-end/TabbedPane.js:
3825         (WebInspector.TabbedPaneTab.prototype._createTabElement):
3826         (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
3827         (WebInspector.TabbedPaneTab.prototype._startTabDragging):
3828         (WebInspector.TabbedPaneTab.prototype._endTabDragging):
3829         * inspector/front-end/TimelineOverviewPane.js:
3830         (WebInspector.TimelineOverviewPane):
3831         (WebInspector.TimelineOverviewWindow):
3832         (WebInspector.TimelineOverviewWindow.prototype._leftResizeElementDragging):
3833         (WebInspector.TimelineOverviewWindow.prototype._rightResizeElementDragging):
3834         (WebInspector.TimelineOverviewWindow.prototype._startWindowSelectorDragging):
3835         (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
3836         (WebInspector.TimelineOverviewWindow.prototype._startWindowDragging):
3837         (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
3838         (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
3839         (WebInspector.TimelineOverviewWindow.prototype._moveWindow):
3840         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
3841         * inspector/front-end/TimelinePanel.js:
3842         (WebInspector.TimelinePanel):
3843         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
3844         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
3845         * inspector/front-end/Toolbar.js:
3846         (WebInspector.Toolbar):
3847         (WebInspector.Toolbar.prototype._toolbarDragStart):
3848         (WebInspector.Toolbar.prototype._toolbarDragEnd):
3849         * inspector/front-end/UIUtils.js:
3850         (WebInspector.installDragHandle):
3851         (WebInspector._elementDragStart):
3852         (WebInspector._elementDragEnd):
3853         * inspector/front-end/timelinePanel.css:
3854         (#timeline-overview-grid .resources-dividers-label-bar):
3855
3856 2012-07-23  Hayato Ito  <hayato@chromium.org>
3857
3858         ComposedShadowTreeWalker should skip an empty insertion points.
3859         https://bugs.webkit.org/show_bug.cgi?id=91826
3860
3861         Reviewed by Hajime Morita.
3862
3863         ComposedShadowTreeWalker wrongly returns 'null' if it encounters
3864         an insertion point into where no nodes are distributed.  We should
3865         skip such an insertion point and continue walking using the next
3866         possible node, which might be a next sibling or a next distributed
3867         node, and resolve the next node recursively.
3868
3869         Test: fast/dom/shadow/composed-shadow-tree-walker.html
3870
3871         * dom/ComposedShadowTreeWalker.cpp:
3872         (WebCore::ComposedShadowTreeWalker::traverseLightChildren):
3873         (WebCore):
3874         (WebCore::ComposedShadowTreeWalker::traverseSiblings):
3875         (WebCore::ComposedShadowTreeWalker::traverseNode):
3876         (WebCore::ComposedShadowTreeWalker::traverseDistributedeNodes):
3877         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
3878         (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
3879         (WebCore::ComposedShadowTreeWalker::traverseBackToYoungerShadowRoot):
3880         * dom/ComposedShadowTreeWalker.h:
3881         (ComposedShadowTreeWalker):
3882
3883 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
3884
3885         Rename TextCodecWinCE to TextCodecWin
3886         https://bugs.webkit.org/show_bug.cgi?id=91947
3887
3888         Reviewed by Ryosuke Niwa.
3889
3890         Since TextCodecWinCE is used by other (non-upstreamed) windows ports too,
3891         TextCodecWin is a better name for the implementation.
3892         Also remove the dependency on WinCE FontCache to make it more usable.
3893
3894         * PlatformWinCE.cmake:
3895         * platform/text/TextEncodingRegistry.cpp:
3896         (WebCore::extendTextCodecMaps):
3897         * platform/text/win/TextCodecWin.cpp: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.cpp.
3898         * platform/text/win/TextCodecWin.h: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.h.
3899
3900 2012-07-22  Kentaro Hara  <haraken@chromium.org>
3901
3902         [V8] CodeGeneratorV8.pm should support static attributes
3903         https://bugs.webkit.org/show_bug.cgi?id=91764
3904
3905         Reviewed by Adam Barth.
3906
3907         CodeGeneratorJS.pm already supports static attributes.
3908         CodeGeneratorV8.pm should also support them.
3909
3910         Tests: bindings/scripts/test/TestObj.idl
3911                bindings/scripts/test/TestSupplemental.idl
3912
3913         * bindings/scripts/CodeGeneratorV8.pm:
3914         (GenerateNormalAttrGetter):
3915         (GenerateNormalAttrSetter):
3916
3917         * bindings/scripts/test/TestObj.idl: Added defined(TESTING_V8).
3918         * bindings/scripts/test/TestSupplemental.idl: Added test cases for static attributes in supplemental IDL files.
3919
3920         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
3921         (WebCore):
3922         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
3923         The generated code is wrong since CodeGeneratorJS.pm does not support static attributes for
3924         supplemental IDL files. I will fix it in a follow-up patch.
3925         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
3926         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
3927         * bindings/scripts/test/JS/JSTestInterface.h:
3928         (WebCore):
3929         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated run-bindings-tests results.
3930         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetter):
3931         (TestInterfaceV8Internal):
3932         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
3933         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
3934         (WebCore):
3935         * bindings/scripts/test/V8/V8TestObj.cpp:
3936         (WebCore::TestObjV8Internal::staticReadOnlyIntAttrAttrGetter):
3937         (TestObjV8Internal):
3938         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
3939         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
3940         (WebCore):
3941
3942 2012-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3943
3944         Missing *explicit* keyword in storage and workers.
3945         https://bugs.webkit.org/show_bug.cgi?id=91934
3946
3947         Reviewed by Kentaro Hara.
3948
3949         Some constructors missed to use *explicit* keyword. They need to be added
3950         *explicit* keyword to contructor which has a parameter in order to avoid
3951         implicit type conversion.
3952
3953         No new tests. Convered by existing tests.
3954
3955         * storage/StorageAreaImpl.h:
3956         (StorageAreaImpl):
3957         * storage/StorageMap.h:
3958         (StorageMap):
3959         * storage/StorageSyncManager.h:
3960         (StorageSyncManager):
3961         * storage/StorageTask.h:
3962         (StorageTask):
3963         * storage/StorageTracker.h:
3964         (StorageTracker):
3965         * workers/SharedWorker.h:
3966         (SharedWorker):
3967         * workers/Worker.h:
3968         (Worker):
3969         * workers/WorkerLocation.h:
3970         (WebCore::WorkerLocation::WorkerLocation):
3971         * workers/WorkerMessagingProxy.h:
3972         (WorkerMessagingProxy):
3973
3974 2012-07-23  Kent Tamura  <tkent@chromium.org>
3975
3976         Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
3977         https://bugs.webkit.org/show_bug.cgi?id=91941
3978
3979         Reviewed by Kentaro Hara.
3980
3981         A flag name for an elmement should be ENABLE_*_ELEMENT.
3982
3983         * Configurations/FeatureDefines.xcconfig:
3984         * DerivedSources.make:
3985         * GNUmakefile.am:
3986         * accessibility/AXObjectCache.cpp:
3987         (WebCore::createFromRenderer):
3988         * accessibility/AccessibilityProgressIndicator.cpp:
3989         * accessibility/AccessibilityProgressIndicator.h:
3990         * css/CSSPrimitiveValueMappings.h:
3991         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3992         * css/SelectorChecker.cpp:
3993         (WebCore::SelectorChecker::checkOneSelector):
3994         * css/StyleResolver.cpp:
3995         (WebCore::StyleResolver::collectMatchingRulesForList):
3996         * css/html.css:
3997         * html/HTMLMeterElement.cpp:
3998         * html/HTMLMeterElement.h:
3999         * html/HTMLMeterElement.idl:
4000         * html/HTMLProgressElement.cpp:
4001         * html/HTMLProgressElement.h:
4002         * html/HTMLProgressElement.idl:
4003         * html/HTMLTagNames.in:
4004         * html/shadow/MeterShadowElement.cpp:
4005         * html/shadow/MeterShadowElement.h: Wrap with #if ENABLE(METER_ELEMENT).
4006         * html/shadow/ProgressShadowElement.cpp:
4007         * html/shadow/ProgressShadowElement.h: Wrap with #if ENABLE(PROGRESS_ELEMENT).
4008         * page/DOMWindow.idl:
4009         * platform/efl/RenderThemeEfl.cpp:
4010         (WebCore::RenderThemeEfl::paintThemePart):
4011         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
4012         (WebCore):
4013         * platform/efl/RenderThemeEfl.h:
4014         (RenderThemeEfl):
4015         * platform/gtk/RenderThemeGtk.cpp:
4016         (WebCore):
4017         * platform/gtk/RenderThemeGtk.h:
4018         (RenderThemeGtk):
4019         * platform/gtk/RenderThemeGtk2.cpp:
4020         (WebCore):
4021         * platform/gtk/RenderThemeGtk3.cpp:
4022         (WebCore):
4023         * platform/qt/RenderThemeQt.cpp:
4024         (WebCore):
4025         * platform/qt/RenderThemeQt.h:
4026         (WebCore):
4027         (RenderThemeQt):
4028         * platform/qt/RenderThemeQtMobile.cpp:
4029         (WebCore):
4030         * platform/qt/RenderThemeQtMobile.h:
4031         (RenderThemeQtMobile):
4032         * rendering/RenderMeter.cpp:
4033         * rendering/RenderMeter.h:
4034         * rendering/RenderObject.h:
4035         (RenderObject):
4036         * rendering/RenderProgress.cpp:
4037         * rendering/RenderProgress.h:
4038         * rendering/RenderTheme.cpp:
4039         (WebCore::RenderTheme::adjustStyle):
4040         (WebCore::RenderTheme::paint):
4041         (WebCore::RenderTheme::paintBorderOnly):
4042         (WebCore::RenderTheme::paintDecorations):
4043         (WebCore):
4044         * rendering/RenderTheme.h:
4045         (WebCore):
4046         (RenderTheme):
4047         * rendering/RenderThemeChromiumLinux.cpp:
4048         (WebCore):
4049         * rendering/RenderThemeChromiumLinux.h:
4050         * rendering/RenderThemeChromiumSkia.cpp:
4051         (WebCore):
4052         * rendering/RenderThemeChromiumSkia.h: