[Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-25  No'am Rosenthal  <noam@webkit.org>
2
3         [Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html shows a red square where it shouldn't
4         https://bugs.webkit.org/show_bug.cgi?id=110685
5
6         Reviewed by Martin Robinson.
7
8         Removed m_shouldUpdateCurrentTransformFromGraphicsLayer etc., as they don't do
9         what they're supposed to do. No flickers observed.
10
11         LayoutTests/compositing/animation/state-at-end-event-transform-layer.html now works correctly.
12
13         * platform/graphics/texmap/TextureMapperLayer.cpp:
14         (WebCore::TextureMapperLayer::setAnimatedTransform):
15         (WebCore::TextureMapperLayer::setAnimatedOpacity):
16         (WebCore::TextureMapperLayer::setAnimatedFilters):
17         (WebCore::TextureMapperLayer::syncAnimations):
18         * platform/graphics/texmap/TextureMapperLayer.h:
19         (WebCore::TextureMapperLayer::TextureMapperLayer):
20         (TextureMapperLayer):
21
22 2013-02-25  Jer Noble  <jer.noble@apple.com>
23
24         AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
25         https://bugs.webkit.org/show_bug.cgi?id=110725
26
27         Reviewed by Eric Carlson.
28
29         When settings are changed, do not re-query the media engines (which causes their respective
30         frameworks to load). Instead, merely clear any previously loaded media engines so that
31         the media engine list will be re-queried the next time installedMediaEngines() is called.
32
33         (WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
34         * platform/graphics/MediaPlayer.h:
35         * html/HTMLMediaElement.cpp:
36         (WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
37         * html/HTMLMediaElement.h:
38         * page/Settings.cpp:
39         (WebCore::Settings::setAVFoundationEnabled): Call renamed method.
40         (WebCore::Settings::setQTKitEnabled):  Ditto.
41         * platform/graphics/MediaPlayer.cpp:
42         (WebCore::installedMediaEngines): Only clear out previously queried engines.
43
44 2013-02-25  Martin Robinson  <mrobinson@igalia.com>
45
46         Try to fix the Windows gyp build after r143937
47
48         * WebCore.gypi: Update the filename in the source list.
49
50 2013-02-25  Julien Chaffraix  <jchaffraix@webkit.org>
51
52         [CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to supporting spanning
53         https://bugs.webkit.org/show_bug.cgi?id=110651
54
55         Reviewed by Ojan Vafai.
56
57         The current code stores grid-{row|column} as a single GridPosition value. While this works well currently,
58         we want to be able to handle 2 GridPosition as this enables row / column spanning.
59
60         That's what this refactoring achieves: it replaces the internal storage by a GridPositions that contains a 
61         single GridPosition for now. The rest is mechanical updates.
62
63         Refactoring covered by existing tests.
64
65         * css/CSSComputedStyleDeclaration.cpp:
66         (WebCore::valueForGridPositions):
67         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
68         Added the simple wrapper valueForGridPositions and updated the rest of the code.
69
70         * css/StyleResolver.cpp:
71         (WebCore::createGridPositions):
72         (WebCore::StyleResolver::applyProperty):
73         Ditto with createGridPositions.
74
75         * rendering/RenderGrid.cpp:
76         (WebCore::RenderGrid::maximumIndexInDirection):
77         (WebCore::RenderGrid::placeItemsOnGrid):
78         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
79         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
80         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
81         (WebCore::RenderGrid::autoPlacementMajorAxisPositionsForChild):
82         (WebCore::RenderGrid::autoPlacementMinorAxisPositionsForChild):
83         Updated the code after adding the indirection: s/GridPosition/GridPositions/ and
84         use the firstPosition helper.
85
86         * rendering/RenderGrid.h:
87         * rendering/style/GridPosition.h:
88         (WebCore::GridPositions::GridPositions):
89         (WebCore::GridPositions::firstPosition):
90         (WebCore::GridPositions::operator==):
91         Added this class to add the indirection. For now, it only wraps the single GridPosition.
92
93         * rendering/style/RenderStyle.h:
94         * rendering/style/StyleGridItemData.h:
95         Updated to store / take / return a GridPositions.
96
97 2013-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
98
99         Revert r143840 because it caused flaky crashes.
100         https://bugs.webkit.org/show_bug.cgi?id=110766
101
102 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
103
104         Remove an obsolete workaround for relaxing 3rd party cookie policy
105         https://bugs.webkit.org/show_bug.cgi?id=110664
106
107         Reviewed by Benjamin Poulain.
108
109         Removed shouldRelaxThirdPartyCookiePolicy(). This workaround is no longer needed,
110         because CFNetwork performs the same check starting with 10.6.8.
111
112         Also, the workaround was not quite correct and harmful for performance, as it
113         was always changing main document URL to an untrue value, which caused ResourceRequest
114         regeneration.
115
116         * platform/network/ResourceHandle.h:
117         * platform/network/cf/ResourceHandleCFNet.cpp:
118         (WebCore::ResourceHandle::createCFURLConnection):
119         (WebCore::ResourceHandle::start):
120         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
121         * platform/network/mac/ResourceHandleMac.mm:
122         (WebCore::ResourceHandle::createNSURLConnection):
123         (WebCore::ResourceHandle::start):
124         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
125
126 2013-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
127
128         WebInspector: Do not keep track of resources unless they have a valid loader identifier.
129         https://bugs.webkit.org/show_bug.cgi?id=110761
130
131         Reviewed by Pavel Feldman.
132
133         * inspector/NetworkResourcesData.cpp:
134         (WebCore::NetworkResourcesData::responseReceived):
135         (WebCore::NetworkResourcesData::setResourceType):
136         (WebCore::NetworkResourcesData::resourceType):
137         (WebCore::NetworkResourcesData::setResourceContent):
138         (WebCore::NetworkResourcesData::maybeAddResourceData):
139         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
140         (WebCore::NetworkResourcesData::addCachedResource):
141         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
142         (WebCore::NetworkResourcesData::data):
143         (WebCore::NetworkResourcesData::xhrReplayData):
144         (WebCore::NetworkResourcesData::setXHRReplayData):
145         (WebCore::NetworkResourcesData::reuseXHRReplayData):
146         (WebCore::NetworkResourcesData::resourceDataForRequestId):
147         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
148         (WebCore::NetworkResourcesData::ensureFreeSpace):
149         * inspector/NetworkResourcesData.h:
150         (NetworkResourcesData):
151
152 2013-02-25  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
153
154         [EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
155         https://bugs.webkit.org/show_bug.cgi?id=110221
156
157         Reviewed by Martin Robinson.
158
159         Share implementation between efl and gtk.
160         Update build with changes made.
161
162         * GNUmakefile.list.am: Change WebCore/editing/gtk/FrameSelectionGtk.cpp to WebCore/editing/atk/FrameSelectionAtk.cpp to build.
163         * PlatformEfl.cmake: Add WebCore/editing/atk to include directories, add Webcore/editing/atk/FrameSelectionAtk.cpp to build.
164         * editing/FrameSelection.h: Omit notifyAccessibilityForSelectionChange() stub for EFL port.
165         (WebCore):
166         * editing/atk/FrameSelectionAtk.cpp: Renamed from Source/WebCore/editing/gtk/FrameSelectionGtk.cpp.
167         (WebCore):
168         (WebCore::emitTextSelectionChange):
169         (WebCore::maybeEmitTextFocusChange):
170         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
171
172 2013-02-25  Alpha Lam  <hclam@chromium.org>
173
174         GIFImageReader to read from source data directly
175         https://bugs.webkit.org/show_bug.cgi?id=109662
176
177         Reviewed by Stephen White.
178
179         This is the first patch to improve GIF image decoding.
180
181         GIFImageReader has an internal 256 bytes buffer to saving incoming
182         bytes. This mechanism is out-dated because WebKit holds the entire
183         file in memory and it is not necessary to hold data in an intermediate
184         buffer.
185
186         This is also a blocker for later work to parse and decode GIF
187         incrementally.
188
189         This change removed the imtermediate 'hold' buffer and uses an index
190         for data position to keep track of parsing of the GIF file. Buffer for
191         global colormap and local colormap are also removed because they can be
192         referenced from the data stream.
193
194         This change is tested by:
195
196         Layout tests
197         All tests passed under fast/images.
198
199         Unit tests
200         Added GIFImageDecoderTest for Chromium.
201
202         Local testing
203         I tested this implementation against a set of 50k GIF images and
204         there's no crashes and produces bit-exact results as previous code.
205
206         * platform/image-decoders/gif/GIFImageDecoder.cpp:
207         (WebCore::GIFImageDecoder::setData):
208         (WebCore::GIFImageDecoder::frameCount):
209         (WebCore::GIFImageDecoder::haveDecodedRow):
210         (WebCore::GIFImageDecoder::decode):
211         * platform/image-decoders/gif/GIFImageReader.cpp:
212         (GIFImageReader::doLZW):
213         (GIFImageReader::decode):
214         (GIFImageReader::decodeInternal):
215         (GIFImageReader::setRemainingBytes):
216         * platform/image-decoders/gif/GIFImageReader.h:
217         (GIFFrameContext):
218         (GIFFrameContext::GIFFrameContext):
219         (GIFFrameContext::~GIFFrameContext):
220         (GIFImageReader::GIFImageReader):
221         (GIFImageReader::~GIFImageReader):
222         (GIFImageReader::setData):
223         (GIFImageReader):
224         (GIFImageReader::globalColormap):
225         (GIFImageReader::localColormap):
226         (GIFImageReader::localColormapSize):
227         (GIFImageReader::data):
228         (GIFImageReader::colormap):
229
230 2013-02-25  Sergio Villar Senin  <svillar@igalia.com>
231
232         [soup] "Too many redirects" error loading chat in plus.google.com
233         https://bugs.webkit.org/show_bug.cgi?id=64575
234
235         Reviewed by Martin Robinson.
236
237         Set the firstPartyForCookies for the new request on redirects to
238         the URL used for redirection.
239
240         Test: http/tests/cookies/set-cookie-on-redirect.html
241
242         * platform/network/soup/ResourceHandleSoup.cpp:
243         (WebCore::doRedirect):
244
245 2013-02-25  Andreas Kling  <akling@apple.com>
246
247         Reduce amount of code that includes StylePropertySet.h
248         <http://webkit.org/b/101149>
249
250         Reviewed by Antti Koivisto.
251
252         StylePropertySet.h and dependents were getting included by the majority of WebKit
253         through either StyledElement.h or CSSStyleDeclaration.h. This change removes those includes
254         and moves inclusion to .cpp files instead. After this change, it's possible to hack most
255         of WebCore/css/ and rebuild <100 files instead of >1000.
256
257         The only real code change in here is changing CSSStyleDeclaration::cssPropertyMatches()
258         to take a CSSPropertyID/CSSValue* combo instead of a StylePropertySet::Reference.
259
260         * css/CSSComputedStyleDeclaration.cpp:
261         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
262         * css/CSSComputedStyleDeclaration.h:
263         (CSSComputedStyleDeclaration):
264         * css/CSSStyleDeclaration.h:
265         (CSSStyleDeclaration):
266         * css/PropertySetCSSStyleDeclaration.cpp:
267         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
268         * css/PropertySetCSSStyleDeclaration.h:
269         * css/SelectorChecker.h:
270         * css/SelectorCheckerFastPath.cpp:
271         * css/SelectorFilter.cpp:
272         * css/SelectorFilter.h:
273         * css/StylePropertySet.cpp:
274         (WebCore::StylePropertySet::propertyMatches):
275         (WebCore::StylePropertySet::removeEquivalentProperties):
276         * css/StylePropertySet.h:
277         * css/StyleResolver.cpp:
278         (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
279         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
280         * css/StyleResolver.h:
281         (MatchedProperties):
282         * css/StyleRule.cpp:
283         * css/ViewportStyleResolver.cpp:
284         (WebCore::ViewportStyleResolver::~ViewportStyleResolver):
285         * css/ViewportStyleResolver.h:
286         (ViewportStyleResolver):
287         * css/WebKitCSSKeyframeRule.cpp:
288         (WebCore::StyleKeyframe::StyleKeyframe):
289         (WebCore::StyleKeyframe::~StyleKeyframe):
290         * css/WebKitCSSKeyframeRule.h:
291         (StyleKeyframe):
292         * dom/Attr.cpp:
293         * dom/Document.cpp:
294         * dom/Element.cpp:
295         * dom/StyledElement.cpp:
296         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
297         * dom/StyledElement.h:
298         (StyledElement):
299         * editing/FrameSelection.cpp:
300         * editing/RemoveCSSPropertyCommand.cpp:
301         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
302         * editing/RemoveCSSPropertyCommand.h:
303         (RemoveCSSPropertyCommand):
304         * editing/RemoveFormatCommand.cpp:
305         * html/HTMLBodyElement.cpp:
306         * html/HTMLElement.cpp:
307         (WebCore::HTMLElement::addHTMLLengthToStyle):
308         (WebCore::HTMLElement::addHTMLColorToStyle):
309         * html/HTMLElement.h:
310         (HTMLElement):
311         * html/HTMLFontElement.cpp:
312         * html/HTMLHRElement.cpp:
313         * html/HTMLPreElement.cpp:
314         * html/HTMLTableElement.cpp:
315         * html/HTMLTablePartElement.cpp:
316         * html/canvas/CanvasStyle.cpp:
317         * html/shadow/MediaControlElementTypes.cpp:
318         * inspector/InspectorStyleSheet.cpp:
319         * page/PageSerializer.cpp:
320         * rendering/RenderTableCell.cpp:
321         * svg/SVGAnimateElement.cpp:
322         * svg/SVGElementRareData.h:
323         * svg/SVGFontFaceElement.cpp:
324
325 2013-02-25  Alexei Filippov  <alph@chromium.org>
326
327         Web Inspector: Remove CPU profile from a group causes exception
328         https://bugs.webkit.org/show_bug.cgi?id=110466
329
330         Reviewed by Yury Semikhatsky.
331
332         WebInspector.ProfilesPanel._removeProfileHandle did not handle
333         profile removal from a group. The fix takes care of this case.
334
335         Test: inspector/profiler/cpu-profiler-profile-removal.html
336
337         * inspector/front-end/ProfilesPanel.js:
338         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
339         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
340
341 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
342
343         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
344         https://bugs.webkit.org/show_bug.cgi?id=110599
345
346         Reviewed by Yury Semikhatsky.
347
348         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
349         that were given us via MemoryInstrumentation calls.
350         So I extended client api with registerString method that pushes the strings
351         down to the serializer.
352
353         * css/InspectorCSSOMWrappers.h:
354         * inspector/HeapGraphSerializer.cpp:
355         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
356         (WebCore::HeapGraphSerializer::reportNodeImpl):
357         (WebCore::HeapGraphSerializer::reportEdgeImpl):
358         (WebCore::HeapGraphSerializer::registerString):
359         (WebCore::HeapGraphSerializer::registerTypeString):
360         (WebCore::HeapGraphSerializer::addRootNode):
361         * inspector/HeapGraphSerializer.h:
362         (HeapGraphSerializer):
363         * inspector/MemoryInstrumentationImpl.cpp:
364         (WebCore::MemoryInstrumentationClientImpl::registerString):
365         (WebCore):
366         * inspector/MemoryInstrumentationImpl.h:
367         (MemoryInstrumentationClientImpl):
368         * loader/cache/CachedResource.cpp:
369         (WebCore::CachedResource::reportMemoryUsage):
370
371 2013-02-25  Keishi Hattori  <keishi@webkit.org>
372
373         Add a scrollbar class for the new calendar picker
374         https://bugs.webkit.org/show_bug.cgi?id=110589
375
376         Reviewed by Kent Tamura.
377
378         Adding a scrollbar to be used in the new calendar picker (Bug 109439).
379
380         No new tests. Code is not used yet.
381
382         * Resources/pagepopups/calendarPicker.js:
383         (ScrubbyScrollBar):
384         (ScrubbyScrollBar.prototype.height):
385         (ScrubbyScrollBar.prototype.setHeight):
386         (ScrubbyScrollBar.prototype.setThumbHeight): Sets the height of the scroll bar thumb.
387         (ScrubbyScrollBar.prototype._setThumbPositionFromEvent): Sets the thumb position from a mouse event.
388         (ScrubbyScrollBar.prototype.onMouseDown):
389         (ScrubbyScrollBar.prototype.onWindowMouseMove):
390         (ScrubbyScrollBar.prototype.onWindowMouseUp):
391         (ScrubbyScrollBar.prototype.onThumbStyleTopAnimationStep): Animates the thumb back to the center position.
392         (ScrubbyScrollBar.prototype.onScrollTimer): Fires repeatedly while the thumb is being dragged.
393
394 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
395
396         Unreviewed. Fix of closure type annotations.
397
398         * inspector/front-end/UISourceCode.js:
399         * inspector/front-end/utilities.js:
400
401 2013-02-25  Eugene Klyuchnikov  <eustas@chromium.org>
402
403         Web Inspector: [Network] Timeline bars and dividers are positioned in different coordinate systems.
404         https://bugs.webkit.org/show_bug.cgi?id=109943
405
406         Reviewed by Pavel Feldman.
407
408         Look at network log: red bar (on load) is positioned to the right of
409         the last required load.
410         
411         This is incorrect. For exmaple, in case of short event it should be
412         positioned in the center of the bar.
413
414         * inspector/front-end/DataGrid.js:
415         Fix - hidden columns can have non-zero width.
416         * inspector/front-end/NetworkPanel.js: Use correct width for calculator.
417         * inspector/front-end/networkLogView.css: Removed parasite paddinds.
418         Extracted common absolute "paddings".
419
420 2013-02-25  Keishi Hattori  <keishi@webkit.org>
421
422         Add list view for new calendar picker
423         https://bugs.webkit.org/show_bug.cgi?id=110140
424
425         Reviewed by Kent Tamura.
426
427         Adding list view class to be used in the new calendar picker (Bug 109439).
428
429         No new tests. Code is not yet used.
430
431         * Resources/pagepopups/calendarPicker.js:
432         (ListCell): One row inside the list view. We reuse
433         list cells to avoid animation hiccups caused by memory allocation.
434         (ListCell.prototype._recycleBin): Returns array to
435         store thrown away list cells so we can reuse them.
436         (ListCell.prototype.throwAway): Hides the cell and puts it in the recycle bin.
437         (ListCell.prototype.show):
438         (ListCell.prototype.hide): Hide the cell when we don't need the cell any more.
439         (ListCell.prototype.width):
440         (ListCell.prototype.setWidth):
441         (ListCell.prototype.position):
442         (ListCell.prototype.setPosition): Sets the CSS transform to position the cell.
443         (ListCell.prototype.setSelected): Adds selected CSS class.
444         (ListView): Shows a scrolling list.
445         (ListView.prototype.onAnimationFrameWillFinish): Calls updateCells if the cells need to be updated.
446         (ListView.prototype.setNeedsUpdateCells): Mark the cells as need to be updated.
447         (ListView.prototype.cellAtRow): Returns the cell at a given row. If the cell is not visible and doesn't exist, returns undefined.
448         (ListView.prototype.rowAtScrollOffset): The row that is displayed at the given scroll offset.
449         (ListView.prototype.scrollOffsetForRow): The scroll offset for the top of a given row.
450         (ListView.prototype.addCellIfNecessary): Adds the cell for a given row.
451         (ListView.prototype.prepareNewCell): Prepares a new or recycled cell for a given row.
452         (ListView.prototype.throwAwayCell): Throws a way a cell.
453         (ListView.prototype.firstVisibleRow): The first visible row at the top of the view.
454         (ListView.prototype.lastVisibleRow): The last visible row at the bottom of the view.
455         (ListView.prototype.scrollViewDidChangeContentOffset):
456         (ListView.prototype.scrollViewDidChangeHeight):
457         (ListView.prototype.scrollViewDidChangePartition):
458         (ListView.prototype.updateCells): Updates all the cells that are visible.
459         (ListView.prototype.width):
460         (ListView.prototype.setWidth):
461         (ListView.prototype.height):
462         (ListView.prototype.setHeight):
463         (ListView.prototype.onClick): Clicking on a row selects it.
464         (ListView.prototype.select):
465         (ListView.prototype.deselect):
466         (ListView.prototype.scrollToRow): Scrolls to a given row.
467
468 2013-02-25  Alexei Filippov  <alph@chromium.org>
469
470         Web Inspector: move profile type specific code out of ProfilesPanel (refactor)
471         https://bugs.webkit.org/show_bug.cgi?id=110597
472
473         Reviewed by Yury Semikhatsky.
474
475         Move profile type specific functionality out of ProfilesPanel class.
476         This is a first part of WebInspector.ProfilesPanel refactoring.
477
478         No new tests as the functionality isn't changed.
479
480         * English.lproj/localizedStrings.js:
481         * inspector/front-end/CPUProfileView.js:
482         (WebInspector.CPUProfileType):
483         (WebInspector.CPUProfileType.prototype.addProfileHeader):
484         (WebInspector.CPUProfileType.prototype.removeProfile):
485         (WebInspector.CPUProfileType.prototype._requestProfilesFromBackend):
486         (WebInspector.CPUProfileType.prototype.resetProfiles):
487         (WebInspector.CPUProfileType.prototype.addHeapSnapshotChunk):
488         (WebInspector.CPUProfileType.prototype.finishHeapSnapshot):
489         (WebInspector.CPUProfileType.prototype.reportHeapSnapshotProgress):
490         * inspector/front-end/CSSSelectorProfileView.js:
491         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
492         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
493         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
494         * inspector/front-end/CanvasProfileView.js:
495         (WebInspector.CanvasProfileType.prototype.buttonClicked):
496         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
497         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
498         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
499         (WebInspector.CanvasProfileType.prototype._reset):
500         (WebInspector.CanvasProfileType.prototype.removeProfile):
501         (WebInspector.CanvasProfileHeader.prototype.dispose):
502         * inspector/front-end/HeapSnapshotView.js:
503         (WebInspector.HeapSnapshotView.prototype._profiles):
504         (WebInspector.HeapSnapshotProfileType):
505         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
506         (WebInspector.HeapSnapshotProfileType.prototype.addProfileHeader):
507         (WebInspector.HeapSnapshotProfileType.prototype.addHeapSnapshotChunk):
508         (WebInspector.HeapSnapshotProfileType.prototype.finishHeapSnapshot):
509         (WebInspector.HeapSnapshotProfileType.prototype.reportHeapSnapshotProgress):
510         (WebInspector.HeapSnapshotProfileType.prototype.resetProfiles):
511         (WebInspector.HeapSnapshotProfileType.prototype.removeProfile):
512         (WebInspector.HeapSnapshotProfileType.prototype._requestProfilesFromBackend):
513         (WebInspector.HeapProfileHeader.prototype._updateTransferProgress):
514         * inspector/front-end/NativeMemorySnapshotView.js:
515         (WebInspector.NativeSnapshotProfileType):
516         (WebInspector.NativeSnapshotProfileType.prototype.addNativeSnapshotChunk):
517         * inspector/front-end/ProfilesPanel.js:
518         (WebInspector.ProfileType):
519         (WebInspector.ProfileType.prototype.buttonClicked):
520         (WebInspector.ProfileType.prototype.get description):
521         (WebInspector.ProfileType.prototype.getProfiles):
522         (WebInspector.ProfileType.prototype.getProfile):
523         (WebInspector.ProfileType.prototype._makeKey):
524         (WebInspector.ProfileType.prototype.addProfile):
525         (WebInspector.ProfileType.prototype.removeProfile):
526         (WebInspector.ProfileType.prototype.findTemporaryProfile):
527         (WebInspector.ProfileType.prototype._reset):
528         (WebInspector.ProfileType.prototype._requestProfilesFromBackend):
529         (WebInspector.ProfileHeader):
530         (WebInspector.ProfileHeader.prototype.dispose):
531         (WebInspector.ProfilesPanel):
532         (WebInspector.ProfilesPanel.prototype._loadFromFile):
533         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
534         (WebInspector.ProfilesPanel.prototype._populateAllProfiles):
535         (WebInspector.ProfilesPanel.prototype.wasShown):
536         (WebInspector.ProfilesPanel.prototype._profilerWasEnabled):
537         (WebInspector.ProfilesPanel.prototype._reset):
538         (WebInspector.ProfilesPanel.prototype._registerProfileType.onAddProfileHeader):
539         (WebInspector.ProfilesPanel.prototype._registerProfileType.onRemoveProfileHeader):
540         (WebInspector.ProfilesPanel.prototype._registerProfileType.onProgressUpdated):
541         (WebInspector.ProfilesPanel.prototype._registerProfileType):
542         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
543         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
544         (WebInspector.ProfilesPanel.prototype._createTemporaryProfile):
545         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
546         (WebInspector.ProfilesPanel.prototype.getProfile):
547         (WebInspector.ProfilesPanel.prototype.showProfile):
548         (WebInspector.ProfilesPanel.prototype._getAllProfiles):
549         (WebInspector.ProfilesPanel.prototype._searchableViews):
550         (WebInspector.ProfilesPanel.prototype.searchCanceled):
551         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
552         (WebInspector.ProfilesPanel.prototype._reportProfileProgress):
553
554 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
555
556         Unreviewed fix of type annotation for this._liveLocations.
557
558         * inspector/front-end/UISourceCode.js:
559         (WebInspector.UISourceCode):
560
561 2013-02-25  Kent Tamura  <tkent@chromium.org>
562
563         Fix style errors in WebCore/editing/{htmlediting,markup,visible_units}.*
564         https://bugs.webkit.org/show_bug.cgi?id=110721
565
566         Reviewed by Ryosuke Niwa.
567
568         No new tests. This should not make any bahevior changes.
569
570         * editing/htmlediting.cpp:
571         (WebCore::lowestEditableAncestor):
572         (WebCore):
573         (WebCore::isSpecialElement):
574         (WebCore::enclosingListChild):
575         (WebCore::canMergeLists):
576         (WebCore::tabSpanNode):
577         (WebCore::isNodeRendered):
578         (WebCore::caretMaxOffset):
579         * editing/htmlediting.h:
580         (WebCore):
581         * editing/markup.cpp:
582         (WebCore::StyledMarkupAccumulator::appendElement):
583         * editing/markup.h:
584         (WebCore):
585         * editing/visible_units.cpp:
586         (WebCore::previousRootInlineBoxCandidatePosition):
587         (WebCore::nextRootInlineBoxCandidatePosition):
588         (WebCore::wordBreakIteratorForMinOffsetBoundary):
589         (WebCore::previousBoundary):
590         (WebCore::endOfLine):
591         (WebCore::previousLinePosition):
592         (WebCore::nextLinePosition):
593         (WebCore::nextSentencePositionBoundary):
594         (WebCore::startOfParagraph):
595         (WebCore::endOfParagraph):
596
597 2013-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
598
599         Web Inspector: Improve speed of Linkifier.reset operation.
600         https://bugs.webkit.org/show_bug.cgi?id=110696
601
602         Reviewed by Yury Semikhatsky.
603
604         Linkifier calls Location.dispose N times and each dispose method calls Array.remove
605         which scans entire array and does splice. So the complexity of Linkifier.reset
606         is O(N^2). I replaced the arrays with Set and got O(N) complexity.
607
608         Drive by fix: The identifier generator was slightly changed.
609         Now it produces identifiers that couldn't be converted into a number.
610         So the engine will never convert Set/Map object into an array.
611
612         * inspector/front-end/Script.js:
613         (WebInspector.Script):
614         (WebInspector.Script.prototype.updateLocations):
615         (WebInspector.Script.prototype.createLiveLocation):
616         * inspector/front-end/UISourceCode.js:
617         (WebInspector.UISourceCode):
618         (WebInspector.UISourceCode.prototype.addLiveLocation):
619         (WebInspector.UISourceCode.prototype.updateLiveLocations):
620         * inspector/front-end/utilities.js:
621
622 2013-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>
623
624         Unreviewed, rolling out r143797.
625         http://trac.webkit.org/changeset/143797
626         https://bugs.webkit.org/show_bug.cgi?id=110724
627
628         Causes assertion failures in multiple tests. (Requested by
629         vsevik on #webkit).
630
631         * dom/DocumentParser.h:
632         (DocumentParser):
633         * html/parser/HTMLDocumentParser.cpp:
634         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
635         * html/parser/HTMLDocumentParser.h:
636         (HTMLDocumentParser):
637         (WebCore::HTMLDocumentParser::shouldUseThreading):
638         * loader/DocumentWriter.cpp:
639         (WebCore::DocumentWriter::replaceDocument):
640
641 2013-02-24  Hajime Morrita  <morrita@google.com>
642
643         Rollout r143556, it regressed html5-full-render perf.
644         https://bugs.webkit.org/show_bug.cgi?id=110719
645
646         Unreviewed rollout.
647         
648         * css/BasicShapeFunctions.cpp:
649         (WebCore::convertToLength):
650         (WebCore::basicShapeForValue):
651         * css/BasicShapeFunctions.h:
652         (WebCore):
653         * css/CSSGradientValue.cpp:
654         (WebCore::CSSGradientValue::gradientWithStylesResolved):
655         * css/CSSGradientValue.h:
656         (CSSGradientValue):
657         * css/CSSToStyleMap.cpp:
658         (WebCore::CSSToStyleMap::style):
659         (WebCore::CSSToStyleMap::rootElementStyle):
660         (WebCore::CSSToStyleMap::useSVGZoomRules):
661         (WebCore::CSSToStyleMap::styleImage):
662         * css/CSSToStyleMap.h:
663         (WebCore):
664         (WebCore::CSSToStyleMap::CSSToStyleMap):
665         (CSSToStyleMap):
666         * css/SVGCSSStyleSelector.cpp:
667         (WebCore::StyleResolver::applySVGProperty):
668         * css/StyleBuilder.cpp:
669         (WebCore::ApplyPropertyExpanding::applyInheritValue):
670         (WebCore::ApplyPropertyExpanding::applyInitialValue):
671         (WebCore::ApplyPropertyExpanding::applyValue):
672         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
673         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
674         (WebCore::ApplyPropertyDefaultBase::applyValue):
675         (WebCore::ApplyPropertyDefault::applyValue):
676         (WebCore::ApplyPropertyNumber::applyValue):
677         (WebCore::ApplyPropertyStyleImage::applyValue):
678         (WebCore::ApplyPropertyAuto::applyInheritValue):
679         (WebCore::ApplyPropertyAuto::applyInitialValue):
680         (WebCore::ApplyPropertyAuto::applyValue):
681         (WebCore::ApplyPropertyClip::convertToLength):
682         (WebCore::ApplyPropertyClip::applyInheritValue):
683         (WebCore::ApplyPropertyClip::applyInitialValue):
684         (WebCore::ApplyPropertyClip::applyValue):
685         (WebCore::ApplyPropertyColor::applyInheritValue):
686         (WebCore::ApplyPropertyColor::applyInitialValue):
687         (WebCore::ApplyPropertyColor::applyValue):
688         (WebCore::ApplyPropertyColor::applyColorValue):
689         (WebCore::ApplyPropertyDirection::applyValue):
690         (WebCore::ApplyPropertyLength::applyValue):
691         (WebCore::ApplyPropertyString::applyValue):
692         (WebCore::ApplyPropertyBorderRadius::applyValue):
693         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
694         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
695         (WebCore::ApplyPropertyFillLayer::applyValue):
696         (WebCore::ApplyPropertyComputeLength::applyValue):
697         (WebCore::ApplyPropertyFont::applyInheritValue):
698         (WebCore::ApplyPropertyFont::applyInitialValue):
699         (WebCore::ApplyPropertyFont::applyValue):
700         (WebCore::ApplyPropertyFontSize::applyInheritValue):
701         (WebCore::ApplyPropertyFontSize::applyInitialValue):
702         (WebCore::ApplyPropertyFontSize::applyValue):
703         (WebCore::ApplyPropertyFontWeight::applyValue):
704         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
705         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
706         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
707         (WebCore::ApplyPropertyBorderImage::applyValue):
708         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
709         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
710         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
711         (WebCore::ApplyPropertyBorderImageSource::applyValue):
712         (WebCore::ApplyPropertyCounter::emptyFunction):
713         (WebCore::ApplyPropertyCounter::applyInheritValue):
714         (WebCore::ApplyPropertyCounter::applyValue):
715         (WebCore::ApplyPropertyCursor::applyInheritValue):
716         (WebCore::ApplyPropertyCursor::applyInitialValue):
717         (WebCore::ApplyPropertyCursor::applyValue):
718         (WebCore::ApplyPropertyTextAlign::applyValue):
719         (WebCore::ApplyPropertyTextDecoration::applyValue):
720         (WebCore::ApplyPropertyLineHeight::applyValue):
721         (WebCore::ApplyPropertyPageSize::applyInheritValue):
722         (WebCore::ApplyPropertyPageSize::applyInitialValue):
723         (WebCore::ApplyPropertyPageSize::applyValue):
724         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
725         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
726         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
727         (WebCore::ApplyPropertyAnimation::map):
728         (WebCore::ApplyPropertyAnimation::applyInheritValue):
729         (WebCore::ApplyPropertyAnimation::applyInitialValue):
730         (WebCore::ApplyPropertyAnimation::applyValue):
731         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
732         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
733         (WebCore::ApplyPropertyOutlineStyle::applyValue):
734         (WebCore::ApplyPropertyResize::applyValue):
735         (WebCore::ApplyPropertyVerticalAlign::applyValue):
736         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
737         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
738         (WebCore::ApplyPropertyAspectRatio::applyValue):
739         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
740         (WebCore::ApplyPropertyZoom::applyInheritValue):
741         (WebCore::ApplyPropertyZoom::applyInitialValue):
742         (WebCore::ApplyPropertyZoom::applyValue):
743         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
744         (WebCore::ApplyPropertyDisplay::applyInheritValue):
745         (WebCore::ApplyPropertyDisplay::applyInitialValue):
746         (WebCore::ApplyPropertyDisplay::applyValue):
747         (WebCore::ApplyPropertyClipPath::applyValue):
748         (WebCore::ApplyPropertyExclusionShape::applyValue):
749         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
750         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
751         (WebCore::ApplyPropertyImageResolution::applyValue):
752         * css/StyleBuilder.h:
753         (WebCore):
754         (PropertyHandler):
755         (WebCore::PropertyHandler::applyInheritValue):
756         (WebCore::PropertyHandler::applyInitialValue):
757         (WebCore::PropertyHandler::applyValue):
758         * css/StyleResolver.cpp:
759         (WebCore):
760         (WebCore::StyleResolver::StyleResolver):
761         (WebCore::StyleResolver::collectMatchingRules):
762         (WebCore::StyleResolver::collectMatchingRulesForRegion):
763         (WebCore::StyleResolver::sortAndTransferMatchedRules):
764         (WebCore::StyleResolver::matchScopedAuthorRules):
765         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
766         (WebCore::StyleResolver::matchHostRules):
767         (WebCore::StyleResolver::matchAuthorRules):
768         (WebCore::StyleResolver::matchUserRules):
769         (WebCore::StyleResolver::matchUARules):
770         (WebCore::StyleResolver::collectMatchingRulesForList):
771         (WebCore::StyleResolver::sortMatchedRules):
772         (WebCore::StyleResolver::matchAllRules):
773         (WebCore::StyleResolver::initElement):
774         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
775         (WebCore::StyleResolver::canShareStyleWithControl):
776         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
777         (WebCore::StyleResolver::canShareStyleWithElement):
778         (WebCore::StyleResolver::findSiblingForStyleSharing):
779         (WebCore::StyleResolver::locateSharedStyle):
780         (WebCore::StyleResolver::styleForElement):
781         (WebCore::StyleResolver::styleForKeyframe):
782         (WebCore::StyleResolver::keyframeStylesForAnimation):
783         (WebCore::StyleResolver::pseudoStyleForElement):
784         (WebCore::StyleResolver::styleForPage):
785         (WebCore::StyleResolver::defaultStyleForElement):
786         (WebCore::StyleResolver::adjustRenderStyle):
787         (WebCore::StyleResolver::updateFont):
788         (WebCore::StyleResolver::pseudoStyleRulesForElement):
789         (WebCore::StyleResolver::ruleMatches):
790         (WebCore::StyleResolver::checkRegionSelector):
791         (WebCore::StyleResolver::applyProperties):
792         (WebCore::StyleResolver::applyMatchedProperties):
793         (WebCore::StyleResolver::isLeftPage):
794         (WebCore::StyleResolver::applyPropertyToStyle):
795         (WebCore::StyleResolver::applyPropertyToCurrentStyle):
796         (WebCore::StyleResolver::useSVGZoomRules):
797         (WebCore::StyleResolver::resolveVariables):
798         (WebCore::StyleResolver::applyProperty):
799         (WebCore::StyleResolver::styleImage):
800         (WebCore::StyleResolver::cachedOrPendingFromValue):
801         (WebCore::StyleResolver::generatedOrPendingFromValue):
802         (WebCore::StyleResolver::setOrPendingFromValue):
803         (WebCore::StyleResolver::cursorOrPendingFromValue):
804         (WebCore::StyleResolver::checkForTextSizeAdjust):
805         (WebCore::StyleResolver::checkForZoomChange):
806         (WebCore::StyleResolver::checkForGenericFamilyChange):
807         (WebCore::StyleResolver::initializeFontStyle):
808         (WebCore::StyleResolver::setFontSize):
809         (WebCore::StyleResolver::colorFromPrimitiveValue):
810         (WebCore::StyleResolver::loadPendingSVGDocuments):
811         (WebCore::StyleResolver::styleShader):
812         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
813         (WebCore::StyleResolver::loadPendingShaders):
814         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
815         (WebCore::StyleResolver::parseCustomFilterParameter):
816         (WebCore::StyleResolver::parseCustomFilterParameterList):
817         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
818         (WebCore::StyleResolver::createCustomFilterOperation):
819         (WebCore::StyleResolver::createFilterOperations):
820         (WebCore::StyleResolver::loadPendingImage):
821         (WebCore::StyleResolver::loadPendingImages):
822         (WebCore::StyleResolver::loadPendingResources):
823         (WebCore::StyleResolver::reportMemoryUsage):
824         * css/StyleResolver.h:
825         (WebCore::StyleResolver::style):
826         (WebCore::StyleResolver::parentStyle):
827         (WebCore::StyleResolver::rootElementStyle):
828         (WebCore::StyleResolver::element):
829         (WebCore::StyleResolver::hasParentNode):
830         (StyleResolver):
831         (WebCore::StyleResolver::isRightPage):
832         (WebCore::StyleResolver::State::State):
833         (WebCore::StyleResolver::State::document):
834         (State):
835         (WebCore::StyleResolver::applyPropertyToRegularStyle):
836         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
837         (WebCore::StyleResolver::styleMap):
838         (WebCore::StyleResolver::fontDescription):
839         (WebCore::StyleResolver::parentFontDescription):
840         (WebCore::StyleResolver::setFontDescription):
841         (WebCore::StyleResolver::setZoom):
842         (WebCore::StyleResolver::setEffectiveZoom):
843         (WebCore::StyleResolver::setTextSizeAdjust):
844         (WebCore::StyleResolver::setWritingMode):
845         (WebCore::StyleResolver::setTextOrientation):
846         * html/canvas/CanvasRenderingContext2D.cpp:
847         (WebCore::CanvasRenderingContext2D::setFont):
848
849 2013-02-24  Eric Carlson  <eric.carlson@apple.com>
850
851         [Mac] cleanup MediaPlayerPrivateAVFoundation and InbandTextTrackPrivateAVF
852         https://bugs.webkit.org/show_bug.cgi?id=110716
853
854         Reviewed by Alexey Proskuryakov.
855
856         No new tests, no functionality changed.
857
858         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
859         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Take AVFInbandTrackParent*
860             instead of MediaPlayerPrivateAVFoundation*.
861         (WebCore::InbandTextTrackPrivateAVF::processCue): Pass new cues directly to the client.
862         (WebCore::InbandTextTrackPrivateAVF::disconnect): m_player -> m_owner.
863         (WebCore::InbandTextTrackPrivateAVF::setMode):  m_player -> m_owner.
864         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
865
866         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
867         (WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Delete, no longer needed.
868         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
869
870         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Don't include 
871             CachedResourceClient.h, it isn't needed.
872
873 2013-02-24  Kihong Kwon  <kihong.kwon@samsung.com>
874
875         Add an ASSERT to didChangeDeviceProximity
876         https://bugs.webkit.org/show_bug.cgi?id=110317
877
878         Reviewed by Hajime Morrita.
879
880         Add An ASSERT to didChangeDeviceProximity function to check range of value.
881
882         Change exist test cases.
883
884         * Modules/proximity/DeviceProximityController.cpp:
885         (WebCore::DeviceProximityController::didChangeDeviceProximity):
886
887 2013-02-24  Alexey Proskuryakov  <ap@apple.com>
888
889         Clarify meaning of default default encoding localizable string
890         https://bugs.webkit.org/show_bug.cgi?id=110714
891
892         Reviewed by Eric Carlson.
893
894         * English.lproj/Localizable.strings: This string is only used on Windows, and it's
895         very confusing to everyone involved.
896
897 2013-02-24  Mike West  <mkwst@chromium.org>
898
899         CSP 1.1: Experiment with 'reflected-xss' directive.
900         https://bugs.webkit.org/show_bug.cgi?id=104479
901
902         Reviewed by Adam Barth.
903
904         Content Security Policy 1.1 defines a 'reflected-xss' directive that
905         works in much the same way as WebKit's current 'X-XSS-Protection'
906         header[1]. This patch implements the new directive by parsing it
907         inside ContentSecurityPolicy, and exposing that state to XSSAuditor.
908
909         XSSAuditor now grabs the CSP directive's state, and mixes it with the
910         X-XSS-Protection header's state to determine how the page should be
911         handled. Moreover, both headers' states are now expressed in terms of
912         ContentSecurityPolicy::ReflectedXSSDisposition.
913
914         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#reflected-xss--experimental
915
916         Tests: http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html
917                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html
918                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html
919                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html
920                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html
921                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html
922                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html
923                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html
924                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html
925                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html
926                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html
927                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html
928                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html
929                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html
930                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html
931                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html
932                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html
933                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html
934                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html
935                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html
936                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html
937                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html
938                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html
939                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html
940                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html
941                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html
942                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html
943                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html
944                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html
945                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html
946                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html
947
948         * html/parser/XSSAuditor.cpp:
949         (WebCore::combineXSSProtectionHeaderAndCSP):
950             Given both headers' states, return the state which the XSSAuditor
951             should use when parsing a page. Blocking overrides filtering, which
952             overrides disabling.
953         (WebCore):
954         (WebCore::XSSAuditor::init):
955             Process the 'X-XSS-Protection' header before grabbing the CSP
956             header's state. Both are passed into the new
957             combineXSSProtectionHeaderAndCSP method to generate the final
958             state that ought to be used.
959         (WebCore::XSSAuditor::XSSAuditor):
960         (WebCore::XSSAuditor::filterToken):
961         * html/parser/XSSAuditor.h:
962             Switch to ContentSecurityPolicy::ReflectedXSSDisposition internally
963             in XSSAuditor.
964         * page/ContentSecurityPolicy.cpp:
965         (WebCore::CSPDirectiveList::reflectedXSSDisposition):
966             Enum defining the possible state of the 'reflected-xss' CSP directive.
967         (CSPDirectiveList):
968         (WebCore::CSPDirectiveList::CSPDirectiveList):
969         (WebCore::CSPDirectiveList::parseReflectedXSS):
970             Given a 'reflected-xss' directive's value, set the
971             ReflectedXSSDisposition into a new property on the CSPDirectiveList.
972         (WebCore):
973         (WebCore::CSPDirectiveList::addDirective):
974             Accept 'reflected-xss' as a valid directive if we're in
975             experimental mode.
976         (WebCore::ContentSecurityPolicy::reflectedXSSDisposition):
977             Expose the directive's state via the public API.
978         (WebCore::ContentSecurityPolicy::reportInvalidReflectedXSS):
979             Generate console errors when invalid reflected-xss directive values
980             are encounted during parsing.
981         * page/ContentSecurityPolicy.h:
982         * platform/network/HTTPParsers.cpp:
983         (WebCore::parseXSSProtectionHeader):
984         * platform/network/HTTPParsers.h:
985         (WebCore):
986             Start using ContentSecurityPolicy::ReflectedXSSDisposition rather
987             than the XSSProtectionDisposition enum.
988
989 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
990
991         Updating GObject bindings baselines after r143863.
992
993         Unreviewed.
994
995         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
996         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
997         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
998         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
999         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
1000         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1001         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
1002         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1003         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1004         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
1005         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
1006         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1007         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
1008         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1009         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
1010
1011 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
1012
1013         [GTK] Stop generating UserAgentGtk.h
1014         https://bugs.webkit.org/show_bug.cgi?id=110582
1015
1016         Reviewed by Martin Robinson.
1017
1018         No new tests - no new functionality.
1019
1020         * GNUmakefile.list.am: Move the UserAgentGtk.h build target from the derived sources list to
1021         the list of the WebCore platform sources.
1022         * platform/gtk/UserAgentGtk.cpp:
1023         (WebCore::standardUserAgent): Rename WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION to
1024         USER_AGENT_GTK_(MAJOR|MINOR)_VERSION.
1025         * platform/gtk/UserAgentGtk.h: Renamed from Source/WebCore/platform/gtk/UserAgentGtk.h.in.
1026         Same as the input file expect for removed WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION defines that
1027         are now replaced by using the USER_AGENT_GTK_(MAJOR|MINOR)_VERSION defines placed in autotoolsconfig.h.
1028
1029 2013-02-24  Gustavo Noronha Silva  <gns@gnome.org>
1030
1031         [GTK] GTK+ 2 build broken since GTK_API_VERSION_2 moved to autoconfig.h
1032         https://bugs.webkit.org/show_bug.cgi?id=110702
1033
1034         Reviewed by Martin Robinson.
1035
1036         No tests. Build fix, no behaviour change.
1037
1038         * platform/gtk/GtkVersioning.h: include the autotoolsconfig.h header,
1039         which contains the GTK_API_VERSION_2 define now.
1040
1041 2013-02-24  Andreas Kling  <akling@apple.com>
1042
1043         StyledElement: Don't expose a mutable direct interface to the inline style.
1044         <http://webkit.org/b/110711>
1045
1046         Reviewed by Antti Koivisto.
1047
1048         Remove the ability to grab at a mutable StylePropertySet* for a StyledElement's inline style
1049         from the outside world. It's now private and returns MutableStylePropertySet* for future convenience.
1050
1051         Three paths to changing the inline style remain:
1052
1053             - Setting the "style" attribute
1054             - Via CSSOM (element.style)
1055             - setInlineStyleProperty/removeInlineStyleProperty helpers
1056
1057         * dom/StyledElement.cpp:
1058         (WebCore::StyledElement::ensureMutableInlineStyle):
1059         * dom/StyledElement.h:
1060         (StyledElement):
1061         * editing/ApplyStyleCommand.cpp:
1062         (WebCore::copyStyleOrCreateEmpty):
1063         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1064         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1065         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1066         * editing/ReplaceSelectionCommand.cpp:
1067         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1068         * html/canvas/CanvasStyle.cpp:
1069         (WebCore::currentColor):
1070
1071 2013-02-24  Keishi Hattori  <keishi@webkit.org>
1072
1073         Add methods to date types for new calendar picker
1074         https://bugs.webkit.org/show_bug.cgi?id=110454
1075
1076         Reviewed by Kent Tamura.
1077
1078         Adding some methods to date types as part of the calendar picker redesign (Bug 109439).
1079
1080         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-date-types.html
1081
1082         * Resources/pagepopups/calendarPicker.js:
1083         (createUTCDate):
1084         (DateType): Base class for Day, Week and Month.
1085         (Day): Simplified constructor to only accept year, month, date.
1086         (Day.createFromValue): Creates a new Day from a value.
1087         (Day.createFromDate): Throw an error if the given date is invalid.
1088         (Day.createFromDay):
1089         (Day.prototype.equals): Accept non Day objects.
1090         (Day.prototype.previous): Modified to take an offset value.
1091         (Day.prototype.next): Ditto.
1092         (Day.prototype.firstDay): Returns the first day in the range. For Day's case, returns itself.
1093         (Day.prototype.middleDay): Returns the middle day in the range. For Day's case, returns itself.
1094         (Day.prototype.lastDay): Returns the middle day in the range. For Day's case, returns itself.
1095         (Day.prototype.valueOf):
1096         (Day.prototype.weekDay): Returns the week day.
1097         (Week): Simplified constructor to only accept year, month, date.
1098         (Week.createFromValue):
1099         (Week.createFromDate):
1100         (Week.createFromDay):
1101         (Week.weekOneStartDateForYear):
1102         (Week.weekOneStartDayForYear):
1103         (Week._numberOfWeeksSinceDate):
1104         (Week.prototype.equals):
1105         (Week.prototype.previous):
1106         (Week.prototype.next):
1107         (Week.prototype.firstDay): Returns the first day in the week.
1108         (Week.prototype.middleDay): Returns the the day for Thursday.
1109         (Week.prototype.lastDay): Returns the last day in the week.
1110         (Week.prototype.valueOf):
1111         (Month):
1112         (Month.createFromValue):
1113         (Month.createFromDate):
1114         (Month.createFromDay):
1115         (Month.prototype.containsDay):
1116         (Month.prototype.equals):
1117         (Month.prototype.previous):
1118         (Month.prototype.next):
1119         (Month.prototype.firstDay): Returns the first day in the month.
1120         (Month.prototype.middleDay): Returns the middle day in the month.
1121         (Month.prototype.lastDay): Returns the last day in the month.
1122         (Month.prototype.valueOf):
1123         (Month.prototype.toLocaleString): Moved location.
1124         (Month.prototype.toShortLocaleString): Returns the month string in short format.
1125         (CalendarPicker): Use createFromValue.
1126         (YearMonthController.prototype.setMonth): Ditto.
1127         (YearMonthController.prototype.moveRelatively): Ditto.
1128
1129 2013-02-24  Hajime Morrita  <morrita@google.com>
1130
1131         [Custom Elements] Implement bare-bone document.register()
1132         https://bugs.webkit.org/show_bug.cgi?id=100229
1133
1134         Reviewed by Adam Barth.
1135
1136         This change implements a prefixed version of document.register(), with minimal feature support.
1137         - The feature is guarded by ENABLE(CUSTOM_ELEMENTS) and RuntimeEnabledFeatures::customDOMElementsEnabled().
1138         - This bare-bone version only recognizes "name" and "prototype" parameters. It doesn't support default value of "prototype" parameter.
1139         - Currently only V8 is supported. JSC binding needs its own binding implementation.
1140
1141         = Major new classes under dom/:
1142
1143         The dom module gets two new classes:
1144         - CustomElementConstructor: A return value of document.register()
1145           which holds the custom element definition.
1146         - CustomElementRegistry: A collection of CustomElementConstructor objects.
1147           CustomElementRegistry instance is created per Document and is owned by the Document.
1148
1149         CustomElementConstructor knows the definition of each custom
1150         element, which is registered by document.register(). The name and
1151         other options are held by this object. CustomElementRegistry owns a set
1152         of the registered constructors. The registry guarantees invariants
1153         like validity and uniqueness of the element names.
1154
1155         = A change on make_names.pl
1156
1157         This change tweaks make_names.pl (or generated HTMLElementFactory)
1158         to hook the creations of unknown elements. Some of element names
1159         which come to the fallback path can be one of registered custom
1160         element.
1161
1162         = [V8WrapAsFunction] extended attribute:
1163
1164         The document.register() API returns a constructor
1165         function. However, the V8 binding currently doesn't support it. To
1166         make it possible, this change introduces "V8WrapAsFunction"
1167         extended attribute for annotating CustomElementConstructor IDL
1168         interface.
1169
1170         V8WrapAsFunction wraps the annotated interface with a JavaScript
1171         function, which calls the original object as a function, or as a
1172         constructor depends on the context.
1173
1174         With this wrapper function, there are two levels of indirection
1175         between native C++ object and author-visible JS function:
1176
1177         [JS Adaptor Function] <-(hidden property)-> [JS Wrapper Object] -(internal field)-> [C++ Native object]
1178
1179         The code generator generates the binding code which deals with
1180         this indirection.  Also, there is a set of helper functions in
1181         V8AdaptorFunction.h/cpp which takes care of this indirection.
1182         V8DOMWrapper.cpp/h works as a facade for these APIs and is used from
1183         the generated code.
1184
1185         This redundancy comes from limitations of both V8 bindings and V8
1186         embedding API. See bug 108138 for details.
1187
1188         = V8HTMLCustomElement
1189
1190         Unlike built-in HTML elements, any custom element has no
1191         corresponding C++ class. Instead, document.register() should allow
1192         passing a prototype object for the elements being registered.
1193
1194         V8HTMLCustomElement handles this lack of native class.  It behaves
1195         like a native side proxy of non-native HTMLElement subclasses.  It
1196         connects each custom element to an appropriate native element,
1197         which is HTMLElement at this time. This restriction will be
1198         relaxed later. See Bug 110436 for details.
1199
1200         = Custom DOM elements and multiple worlds
1201
1202         In this patch, custom element registration and instantiation is not allowed
1203         in non-main world and document.register() API just fails there.
1204
1205         Reviewed by Adam Barth.
1206
1207         Tests: fast/dom/custom/document-register-basic.html
1208                fast/dom/custom/document-register-reentrant-null-constructor.html
1209                fast/dom/custom/document-register-reentrant-returning-fake.html
1210                fast/dom/custom/document-register-reentrant-throwing-constructor.html
1211
1212         * DerivedSources.make:
1213         * WebCore.gypi:
1214         * bindings/generic/RuntimeEnabledFeatures.cpp:
1215         * bindings/generic/RuntimeEnabledFeatures.h:
1216         (RuntimeEnabledFeatures):
1217         (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
1218         (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
1219         * bindings/scripts/CodeGeneratorV8.pm:
1220         (GenerateHeader):
1221         * bindings/scripts/IDLAttributes.txt:
1222         * bindings/v8/CustomElementHelpers.cpp: Added.
1223         (WebCore::CustomElementHelpers::initializeConstructorWrapper):
1224         (WebCore::hasNoBuiltinsInPrototype):
1225         (WebCore::CustomElementHelpers::isValidPrototypeParameter):
1226         (WebCore::CustomElementHelpers::isFeatureAllowed):
1227         * bindings/v8/CustomElementHelpers.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1228         (CustomElementHelpers):
1229         * bindings/v8/V8AdaptorFunction.cpp: Added.
1230         (WebCore::V8AdaptorFunction::getTemplate):
1231         (WebCore::V8AdaptorFunction::configureTemplate):
1232         (WebCore::V8AdaptorFunction::invocationCallback):
1233         (WebCore::V8AdaptorFunction::wrap):
1234         * bindings/v8/V8AdaptorFunction.h: Added.
1235         (V8AdaptorFunction):
1236         (WebCore::V8AdaptorFunction::unwrap):
1237         (WebCore::V8AdaptorFunction::get):
1238         * bindings/v8/V8DOMConfiguration.cpp:
1239         (WebCore::V8DOMConfiguration::configureTemplate):
1240         * bindings/v8/V8DOMWrapper.cpp:
1241         (WebCore::V8DOMWrapper::toFunction):
1242         (WebCore::V8DOMWrapper::fromFunction):
1243         * bindings/v8/V8DOMWrapper.h:
1244         (V8DOMWrapper):
1245         * bindings/v8/V8HTMLCustomElement.cpp: Added.
1246         (WebCore::V8HTMLCustomElement::createWrapper):
1247         * bindings/v8/V8HTMLCustomElement.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1248         (V8HTMLCustomElement):
1249         (WebCore::V8HTMLCustomElement::toV8):
1250         (WebCore::HTMLCustomElement::toV8):
1251         * bindings/v8/V8HiddenPropertyName.h:
1252         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp: Added.
1253         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
1254         * dom/CustomElementConstructor.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1255         (WebCore::CustomElementConstructor::create):
1256         (WebCore::CustomElementConstructor::CustomElementConstructor):
1257         (WebCore::CustomElementConstructor::~CustomElementConstructor):
1258         (WebCore::CustomElementConstructor::createElement):
1259         * dom/CustomElementConstructor.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1260         (CustomElementConstructor):
1261         (WebCore::CustomElementConstructor::document):
1262         (WebCore::CustomElementConstructor::tagName):
1263         (WebCore::CustomElementConstructor::name):
1264         * dom/CustomElementConstructor.idl: Added.
1265         * dom/CustomElementRegistry.cpp: Added.
1266         (WebCore::CustomElementRegistry::CustomElementRegistry):
1267         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1268         (WebCore::CustomElementRegistry::constructorOf):
1269         (WebCore::CustomElementRegistry::isValidName):
1270         (WebCore::CustomElementRegistry::registerElement):
1271         (WebCore::CustomElementRegistry::find):
1272         (WebCore::CustomElementRegistry::createElement):
1273         (WebCore::CustomElementRegistry::document):
1274         * dom/CustomElementRegistry.h: Added.
1275         (CustomElementRegistry):
1276         * dom/Document.cpp:
1277         (WebCore::Document::removedLastRef):
1278         (WebCore::Document::registerElement):
1279         (WebCore::Document::registry):
1280         * dom/Document.h:
1281         (Document):
1282         * dom/make_names.pl:
1283         (printWrapperFactoryCppFile):
1284         * html/HTMLDocument.idl:
1285
1286 2013-02-24  Eugene Klyuchnikov  <eustas@chromium.org>
1287
1288         Web Inspector: [Timeline] Shrink CPU bars to make it easier to see frame information popup.
1289         https://bugs.webkit.org/show_bug.cgi?id=110561
1290
1291         Reviewed by Pavel Feldman.
1292
1293         Area that causes frame information popup is overly "shaded" by CPU bars.
1294
1295         * inspector/front-end/timelinePanel.css:
1296         (.timeline-cpu-bars .timeline-graph-bar): Reduce height and opacity.
1297
1298 2013-02-24  Andreas Kling  <akling@apple.com>
1299
1300         Reduce include graph of JSDOMBinding.h
1301         <http://webkit.org/b/110709>
1302
1303         Reviewed by Antti Koivisto.
1304
1305         Move WebCore::root(Foo*) to the custom JSFooCustom.h headers.
1306         This reduces the number of headers pulled in by JSDOMBinding.h.
1307
1308         * WebCore.xcodeproj/project.pbxproj:
1309         * bindings/js/JSCSSRuleCustom.cpp:
1310         * bindings/js/JSCSSRuleCustom.h: Added.
1311         (WebCore::root):
1312         * bindings/js/JSCSSRuleListCustom.cpp:
1313         * bindings/js/JSCSSStyleDeclarationCustom.h:
1314         (WebCore::root):
1315         * bindings/js/JSDOMBinding.h:
1316         * bindings/js/JSMediaListCustom.h: Added.
1317         (WebCore::root):
1318         * bindings/js/JSMutationObserverCustom.cpp:
1319         * bindings/js/JSNodeCustom.h:
1320         (WebCore::root):
1321         * bindings/js/JSSVGElementInstanceCustom.cpp:
1322         * bindings/js/JSStyleSheetCustom.h: Added.
1323         (WebCore::root):
1324         * bindings/js/JSTextTrackCustom.h:
1325         * bindings/js/JSTextTrackListCustom.cpp:
1326         * bindings/js/JSXPathResultCustom.cpp:
1327         * bindings/js/SerializedScriptValue.cpp:
1328         * bindings/scripts/CodeGeneratorGObject.pm:
1329         (Generate):
1330         * bindings/scripts/CodeGeneratorJS.pm:
1331         (GenerateImplementation):
1332         * bindings/scripts/CodeGeneratorObjC.pm:
1333         (AddIncludesForType):
1334         * css/CSSRule.idl:
1335         * css/CSSStyleDeclaration.idl:
1336         * css/MediaList.idl:
1337         * css/StyleSheet.idl:
1338         * editing/mac/EditorMac.mm:
1339
1340 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
1341
1342         ResourceRequestBase unnecessarily updates when nothing changes
1343         https://bugs.webkit.org/show_bug.cgi?id=110665
1344
1345         Reviewed by Dan Bernstein.
1346
1347         Don't mark platform data for update if nothing really changed. This avoids ever doing
1348         doUpdatePlatformRequest() in NetworkProcess during normal browsing for me, which is
1349         good for performance.
1350
1351         * platform/network/ResourceRequestBase.cpp:
1352         (WebCore::ResourceRequestBase::removeCredentials):
1353         (WebCore::ResourceRequestBase::setCachePolicy):
1354         (WebCore::ResourceRequestBase::setTimeoutInterval):
1355         (WebCore::ResourceRequestBase::setFirstPartyForCookies):
1356         (WebCore::ResourceRequestBase::setHTTPMethod):
1357         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
1358         (WebCore::ResourceRequestBase::setAllowCookies):
1359         (WebCore::ResourceRequestBase::setPriority):
1360
1361 2013-02-23  Philip Rogers  <pdr@google.com>
1362
1363         Prevent crash in animated transform lists
1364         https://bugs.webkit.org/show_bug.cgi?id=110704
1365
1366         Reviewed by Abhishek Arya.
1367
1368         This change prevents accessing values off the end of toAtEndOfDuration by adding a check
1369         for this case. Similar checks were added in r116458 but the author failed to catch this
1370         case. WK110706 has been filed to handle this case in general.
1371
1372         This change also makes a trivial change that marks effectiveFrom as const.
1373
1374         Test: svg/animations/animateTransform-list-crash.html
1375
1376         * svg/SVGAnimatedTransformList.cpp:
1377         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1378
1379 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1380
1381         SelectorChecker should not know about SelectorCheckerFastPath.
1382         https://bugs.webkit.org/show_bug.cgi?id=110663
1383
1384         Both SelectorChecker and it's speedy cousin unfortunately include each other.
1385         Luckily, the particular way in which SelectorQuery uses SelectorChecker yields
1386         to a fairly simple decoupling. Now only the cousin knows of SelectorChecker.
1387
1388         Reviewed by Antti Koivisto.
1389
1390         No new functionality, covered by existing tests.
1391
1392         * css/SelectorChecker.cpp:
1393         (WebCore::SelectorChecker::matches): Removed.
1394         * css/SelectorChecker.h:
1395         (SelectorChecker): Updated the decls to remove fast-path flag.
1396         * dom/SelectorQuery.cpp:
1397         (WebCore::SelectorDataList::selectorMatches): Added a helper just for SelectorQuery.
1398         (WebCore::SelectorDataList::matches): Changed the callsite to use new helper.
1399         (WebCore::SelectorDataList::execute): Ditto.
1400         * dom/SelectorQuery.h:
1401         (SelectorDataList): Updated decls.
1402
1403 2013-02-23  Eric Carlson  <eric.carlson@apple.com>
1404
1405         [Mac] user preference caption style applied incorrectly
1406         https://bugs.webkit.org/show_bug.cgi?id=110707
1407         <rdar://problem/13281096>
1408
1409         Reviewed by Maciej Stachowiak.
1410
1411         * html/shadow/MediaControlElements.cpp:
1412         (WebCore::MediaControlTextTrackContainerElement::textTrackContainerElementShadowPseudoId): New
1413             static function so the pseudo ID is available.
1414         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Call textTrackContainerElementShadowPseudoId.
1415         * html/shadow/MediaControlElements.h:
1416
1417         * page/CaptionUserPreferencesMac.mm:
1418         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Style the text track container
1419             element for cue color, edge style, and font name.
1420
1421 2013-02-22  Kentaro Hara  <haraken@chromium.org>
1422
1423         [V8] Generate xxxAttrGetterCallback()
1424         https://bugs.webkit.org/show_bug.cgi?id=110676
1425
1426         Reviewed by Adam Barth.
1427
1428         This is one of steps to insert TRACE_EVENT_STATE() macros
1429         into DOM bindings. This patch introduces an indirection
1430         function for xxxAttrGetter(), like this:
1431
1432         // For non-custom getters
1433         Handle<Value> xxxAttrGetterCallback(...) {
1434           return xxxAttrGetter(...);
1435         }
1436
1437         // For custom getters.
1438         Handle<Value> xxxAttrGetterCallback(...) {
1439           return xxxAttrGetterCustom(...);
1440         }
1441
1442         No tests. No change in behavior.
1443
1444         * bindings/scripts/CodeGeneratorV8.pm:
1445         (GenerateDomainSafeFunctionGetter):
1446         (GenerateNormalAttrGetterCallback):
1447         (GenerateNormalAttrGetter):
1448         (GenerateSingleBatchedAttribute):
1449         (GenerateNonStandardFunction):
1450         (GenerateImplementation):
1451         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1452         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterCallback):
1453         (TestActiveDOMObjectV8Internal):
1454         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetterCallback):
1455         (WebCore):
1456         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1457         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1458         (WebCore::TestEventConstructorV8Internal::attr1AttrGetterCallback):
1459         (TestEventConstructorV8Internal):
1460         (WebCore::TestEventConstructorV8Internal::attr2AttrGetterCallback):
1461         (WebCore):
1462         * bindings/scripts/test/V8/V8TestException.cpp:
1463         (WebCore::TestExceptionV8Internal::nameAttrGetterCallback):
1464         (TestExceptionV8Internal):
1465         (WebCore):
1466         * bindings/scripts/test/V8/V8TestInterface.cpp:
1467         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterCallback):
1468         (TestInterfaceV8Internal):
1469         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterCallback):
1470         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterCallback):
1471         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterCallback):
1472         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetterCallback):
1473         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterCallback):
1474         (WebCore):
1475         * bindings/scripts/test/V8/V8TestObj.cpp:
1476         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterCallback):
1477         (TestObjV8Internal):
1478         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterCallback):
1479         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterCallback):
1480         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterCallback):
1481         (WebCore::TestObjV8Internal::staticStringAttrAttrGetterCallback):
1482         (WebCore::TestObjV8Internal::enumAttrAttrGetterCallback):
1483         (WebCore::TestObjV8Internal::shortAttrAttrGetterCallback):
1484         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterCallback):
1485         (WebCore::TestObjV8Internal::longAttrAttrGetterCallback):
1486         (WebCore::TestObjV8Internal::longLongAttrAttrGetterCallback):
1487         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterCallback):
1488         (WebCore::TestObjV8Internal::stringAttrAttrGetterCallback):
1489         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1490         (WebCore::TestObjV8Internal::testObjAttrAttrGetterCallback):
1491         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterCallback):
1492         (WebCore::TestObjV8Internal::createAttrGetterCallback):
1493         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterCallback):
1494         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterCallback):
1495         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterCallback):
1496         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterCallback):
1497         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterCallback):
1498         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterCallback):
1499         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterCallback):
1500         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterCallback):
1501         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterCallback):
1502         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterCallback):
1503         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterCallback):
1504         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
1505         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
1506         (WebCore::TestObjV8Internal::customAttrAttrGetterCallback):
1507         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterCallback):
1508         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterCallback):
1509         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterCallback):
1510         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterCallback):
1511         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterCallback):
1512         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterCallback):
1513         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterCallback):
1514         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterCallback):
1515         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterCallback):
1516         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterCallback):
1517         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterCallback):
1518         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterCallback):
1519         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterCallback):
1520         (WebCore::TestObjV8Internal::anyAttributeAttrGetterCallback):
1521         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterCallback):
1522         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterCallback):
1523         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrGetterCallback):
1524         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrGetterCallback):
1525         (WebCore::TestObjV8Internal::floatArrayAttrGetterCallback):
1526         (WebCore::TestObjV8Internal::doubleArrayAttrGetterCallback):
1527         (WebCore::TestObjV8Internal::contentDocumentAttrGetterCallback):
1528         (WebCore::TestObjV8Internal::mutablePointAttrGetterCallback):
1529         (WebCore::TestObjV8Internal::immutablePointAttrGetterCallback):
1530         (WebCore::TestObjV8Internal::strawberryAttrGetterCallback):
1531         (WebCore::TestObjV8Internal::strictFloatAttrGetterCallback):
1532         (WebCore::TestObjV8Internal::descriptionAttrGetterCallback):
1533         (WebCore::TestObjV8Internal::idAttrGetterCallback):
1534         (WebCore::TestObjV8Internal::hashAttrGetterCallback):
1535         (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterCallback):
1536         (WebCore):
1537         (WebCore::ConfigureV8TestObjTemplate):
1538         (WebCore::V8TestObj::installPerContextProperties):
1539         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1540         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterCallback):
1541         (TestSerializedScriptValueInterfaceV8Internal):
1542         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterCallback):
1543         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterCallback):
1544         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterCallback):
1545         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterCallback):
1546         (WebCore):
1547         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1548         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterCallback):
1549         (TestTypedefsV8Internal):
1550         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterCallback):
1551         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterCallback):
1552         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterCallback):
1553         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
1554         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
1555         (WebCore):
1556
1557 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1558
1559         WebCore fails to link in Chromium official build
1560         https://bugs.webkit.org/show_bug.cgi?id=110701
1561
1562         Reviewed by Abhishek Arya.
1563
1564         This is a follow-up fix for r143853. In WebCore.gyp, we need to
1565         increase the shard of 'webcore_rendering' as well.
1566
1567         No tests. No change in behavior.
1568
1569         * WebCore.gyp/WebCore.gyp:
1570
1571 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1572
1573         Unreviewed, rolling out r143844.
1574         http://trac.webkit.org/changeset/143844
1575         https://bugs.webkit.org/show_bug.cgi?id=110241
1576
1577         It broke Chromium Mac Release Build
1578
1579         * WebCore.gyp/WebCore.gyp:
1580         * WebCore.gyp/WebCoreGTK.gyp: Removed.
1581         * WebCore.gypi:
1582
1583 2013-02-23  Adam Barth  <abarth@webkit.org>
1584
1585         WebCore fails to link in Chromium official build
1586         https://bugs.webkit.org/show_bug.cgi?id=110697
1587
1588         Reviewed by Eric Seidel.
1589
1590         Apparently we need to use more shards to work around linker limitations
1591         on Windows again.
1592
1593         * WebCore.gyp/WebCore.gyp:
1594
1595 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1596
1597         [V8] Rename constructorCallbackCustom() to constructorCustom()
1598         https://bugs.webkit.org/show_bug.cgi?id=110671
1599
1600         Reviewed by Adam Barth.
1601
1602         his is one of steps to insert TRACE_EVENT_STATE() macros
1603         into DOM bindings.
1604         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
1605
1606         In the new world, "Callback" is used to indicate that it
1607         is a function called back by V8. Currently "Callback" is
1608         used for both V8 callbacks, DOM methods and DOM constructors.
1609         This patch fixes the inconsistency.
1610
1611         No tests. No change in behavior.
1612
1613         * bindings/scripts/CodeGeneratorV8.pm:
1614         (GenerateHeader):
1615         (GenerateCustomConstructorCallback):
1616         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1617         (WebCore::V8ArrayBuffer::constructorCustom):
1618         * bindings/v8/custom/V8AudioContextCustom.cpp:
1619         (WebCore::V8AudioContext::constructorCustom):
1620         * bindings/v8/custom/V8BlobCustom.cpp:
1621         (WebCore::V8Blob::constructorCustom):
1622         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1623         (WebCore::V8DOMFormData::constructorCustom):
1624         * bindings/v8/custom/V8DataViewCustom.cpp:
1625         (WebCore::V8DataView::constructorCustom):
1626         * bindings/v8/custom/V8MessageChannelCustom.cpp:
1627         (WebCore::V8MessageChannel::constructorCustom):
1628         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1629         (WebCore::V8MutationObserver::constructorCustom):
1630         * bindings/v8/custom/V8WebKitPointCustom.cpp:
1631         (WebCore::V8WebKitPoint::constructorCustom):
1632         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1633         (WebCore::V8XMLHttpRequest::constructorCustom):
1634
1635 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1636
1637         [V8] Rename xxxCallback() to xxxMethod(), and xxxCallbackCustom() to xxxMethodCustom()
1638         https://bugs.webkit.org/show_bug.cgi?id=110669
1639
1640         Reviewed by Adam Barth.
1641
1642         This is one of steps to insert TRACE_EVENT_STATE()
1643         macros into DOM bindings.
1644         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
1645
1646         In the new world, "Callback" is used to refer that it
1647         is a function called back by V8. Currently "Callback" is
1648         used for both V8 callbacks, DOM methods and DOM constructors.
1649         This patch fixes the inconsistency.
1650
1651         No tests. No change in behavior.
1652
1653         * bindings/scripts/CodeGeneratorV8.pm:
1654         (GenerateHeader):
1655         (GenerateDomainSafeFunctionGetter):
1656         (GenerateOverloadedFunctionCallback):
1657         (GenerateFunctionCallback):
1658         (GenerateNonStandardFunction):
1659         (GenerateImplementation):
1660         * bindings/scripts/test/V8/V8Float64Array.cpp:
1661         (WebCore::Float64ArrayV8Internal::fooMethod):
1662         (WebCore::Float64ArrayV8Internal::setMethod):
1663         (WebCore):
1664         (WebCore::ConfigureV8Float64ArrayTemplate):
1665         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1666         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
1667         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethod):
1668         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1669         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1670         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1671         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethod):
1672         (WebCore):
1673         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1674         (WebCore::TestEventTargetV8Internal::itemMethod):
1675         (WebCore::TestEventTargetV8Internal::addEventListenerMethod):
1676         (WebCore::TestEventTargetV8Internal::removeEventListenerMethod):
1677         (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
1678         (WebCore):
1679         (WebCore::ConfigureV8TestEventTargetTemplate):
1680         * bindings/scripts/test/V8/V8TestInterface.cpp:
1681         (WebCore::TestInterfaceV8Internal::supplementalMethod1Method):
1682         (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
1683         (WebCore::TestInterfaceV8Internal::supplementalMethod3Method):
1684         (WebCore::TestInterfaceV8Internal::supplementalMethod4Method):
1685         (WebCore):
1686         (WebCore::ConfigureV8TestInterfaceTemplate):
1687         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1688         (WebCore::TestMediaQueryListListenerV8Internal::methodMethod):
1689         (WebCore):
1690         * bindings/scripts/test/V8/V8TestObj.cpp:
1691         (WebCore::TestObjV8Internal::voidMethodMethod):
1692         (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
1693         (WebCore::TestObjV8Internal::longMethodMethod):
1694         (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
1695         (WebCore::TestObjV8Internal::objMethodMethod):
1696         (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
1697         (WebCore::TestObjV8Internal::methodWithSequenceArgMethod):
1698         (WebCore::TestObjV8Internal::methodReturningSequenceMethod):
1699         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
1700         (WebCore::TestObjV8Internal::serializedValueMethod):
1701         (WebCore::TestObjV8Internal::optionsObjectMethod):
1702         (WebCore::TestObjV8Internal::methodWithExceptionMethod):
1703         (WebCore::TestObjV8Internal::customMethodMethod):
1704         (WebCore::TestObjV8Internal::customMethodWithArgsMethod):
1705         (WebCore::TestObjV8Internal::addEventListenerMethod):
1706         (WebCore::TestObjV8Internal::removeEventListenerMethod):
1707         (WebCore::TestObjV8Internal::withScriptStateVoidMethod):
1708         (WebCore::TestObjV8Internal::withScriptStateObjMethod):
1709         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethod):
1710         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethod):
1711         (WebCore::TestObjV8Internal::withScriptExecutionContextMethod):
1712         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethod):
1713         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethod):
1714         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethod):
1715         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethod):
1716         (WebCore::TestObjV8Internal::methodWithOptionalArgMethod):
1717         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethod):
1718         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethod):
1719         (WebCore::TestObjV8Internal::methodWithOptionalStringMethod):
1720         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethod):
1721         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethod):
1722         (WebCore::TestObjV8Internal::methodWithCallbackArgMethod):
1723         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethod):
1724         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethod):
1725         (WebCore::TestObjV8Internal::conditionalMethod1Method):
1726         (WebCore::TestObjV8Internal::conditionalMethod2Method):
1727         (WebCore::TestObjV8Internal::conditionalMethod3Method):
1728         (WebCore::TestObjV8Internal::overloadedMethod1Method):
1729         (WebCore::TestObjV8Internal::overloadedMethod2Method):
1730         (WebCore::TestObjV8Internal::overloadedMethod3Method):
1731         (WebCore::TestObjV8Internal::overloadedMethod4Method):
1732         (WebCore::TestObjV8Internal::overloadedMethod5Method):
1733         (WebCore::TestObjV8Internal::overloadedMethod6Method):
1734         (WebCore::TestObjV8Internal::overloadedMethod7Method):
1735         (WebCore::TestObjV8Internal::overloadedMethod8Method):
1736         (WebCore::TestObjV8Internal::overloadedMethod9Method):
1737         (WebCore::TestObjV8Internal::overloadedMethod10Method):
1738         (WebCore::TestObjV8Internal::overloadedMethod11Method):
1739         (WebCore::TestObjV8Internal::overloadedMethodMethod):
1740         (WebCore::TestObjV8Internal::classMethodMethod):
1741         (WebCore::TestObjV8Internal::classMethodWithOptionalMethod):
1742         (WebCore::TestObjV8Internal::classMethod2Method):
1743         (WebCore::TestObjV8Internal::overloadedMethod12Method):
1744         (WebCore::TestObjV8Internal::classMethodWithClampMethod):
1745         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Method):
1746         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Method):
1747         (WebCore::TestObjV8Internal::enabledPerContextMethod1Method):
1748         (WebCore::TestObjV8Internal::enabledPerContextMethod2Method):
1749         (WebCore::TestObjV8Internal::stringArrayFunctionMethod):
1750         (WebCore::TestObjV8Internal::domStringListFunctionMethod):
1751         (WebCore::TestObjV8Internal::getSVGDocumentMethod):
1752         (WebCore::TestObjV8Internal::convert1Method):
1753         (WebCore::TestObjV8Internal::convert2Method):
1754         (WebCore::TestObjV8Internal::convert4Method):
1755         (WebCore::TestObjV8Internal::convert5Method):
1756         (WebCore::TestObjV8Internal::mutablePointFunctionMethod):
1757         (WebCore::TestObjV8Internal::immutablePointFunctionMethod):
1758         (WebCore::TestObjV8Internal::orangeMethod):
1759         (WebCore::TestObjV8Internal::strictFunctionMethod):
1760         (WebCore::TestObjV8Internal::variadicStringMethodMethod):
1761         (WebCore::TestObjV8Internal::variadicDoubleMethodMethod):
1762         (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
1763         (WebCore):
1764         (WebCore::ConfigureV8TestObjTemplate):
1765         (WebCore::V8TestObj::installPerContextPrototypeProperties):
1766         * bindings/scripts/test/V8/V8TestObj.h:
1767         (V8TestObj):
1768         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1769         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethod):
1770         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethod):
1771         (WebCore):
1772         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1773         (WebCore::TestTypedefsV8Internal::funcMethod):
1774         (WebCore::TestTypedefsV8Internal::multiTransferListMethod):
1775         (WebCore::TestTypedefsV8Internal::setShadowMethod):
1776         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethod):
1777         (WebCore::TestTypedefsV8Internal::nullableArrayArgMethod):
1778         (WebCore::TestTypedefsV8Internal::funcWithClampMethod):
1779         (WebCore::TestTypedefsV8Internal::immutablePointFunctionMethod):
1780         (WebCore::TestTypedefsV8Internal::stringArrayFunctionMethod):
1781         (WebCore::TestTypedefsV8Internal::stringArrayFunction2Method):
1782         (WebCore::TestTypedefsV8Internal::methodWithExceptionMethod):
1783         (WebCore):
1784         (WebCore::ConfigureV8TestTypedefsTemplate):
1785         * bindings/v8/custom/V8ClipboardCustom.cpp:
1786         (WebCore::V8Clipboard::clearDataMethodCustom):
1787         (WebCore::V8Clipboard::setDragImageMethodCustom):
1788         * bindings/v8/custom/V8ConsoleCustom.cpp:
1789         (WebCore::V8Console::traceMethodCustom):
1790         (WebCore::V8Console::assertMethodCustom):
1791         (WebCore::V8Console::profileMethodCustom):
1792         (WebCore::V8Console::profileEndMethodCustom):
1793         * bindings/v8/custom/V8CryptoCustom.cpp:
1794         (WebCore::V8Crypto::getRandomValuesMethodCustom):
1795         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1796         (WebCore::V8DOMFormData::appendMethodCustom):
1797         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1798         (WebCore::V8DOMWindow::addEventListenerMethodCustom):
1799         (WebCore::V8DOMWindow::removeEventListenerMethodCustom):
1800         (WebCore::V8DOMWindow::postMessageMethodCustom):
1801         (WebCore::V8DOMWindow::toStringMethodCustom):
1802         (WebCore::V8DOMWindow::releaseEventsMethodCustom):
1803         (WebCore::V8DOMWindow::captureEventsMethodCustom):
1804         (WebCore::V8DOMWindow::showModalDialogMethodCustom):
1805         (WebCore::V8DOMWindow::openMethodCustom):
1806         (WebCore::V8DOMWindow::setTimeoutMethodCustom):
1807         (WebCore::V8DOMWindow::setIntervalMethodCustom):
1808         * bindings/v8/custom/V8DataViewCustom.cpp:
1809         (WebCore::V8DataView::getInt8MethodCustom):
1810         (WebCore::V8DataView::getUint8MethodCustom):
1811         (WebCore::V8DataView::setInt8MethodCustom):
1812         (WebCore::V8DataView::setUint8MethodCustom):
1813         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1814         (WebCore::V8DedicatedWorkerContext::postMessageMethodCustom):
1815         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1816         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventMethodCustom):
1817         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1818         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventMethodCustom):
1819         * bindings/v8/custom/V8DocumentCustom.cpp:
1820         (WebCore::V8Document::evaluateMethodCustom):
1821         (WebCore::V8Document::createTouchListMethodCustom):
1822         * bindings/v8/custom/V8GeolocationCustom.cpp:
1823         (WebCore::V8Geolocation::getCurrentPositionMethodCustom):
1824         (WebCore::V8Geolocation::watchPositionMethodCustom):
1825         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1826         (WebCore::V8HTMLAllCollection::itemMethodCustom):
1827         (WebCore::V8HTMLAllCollection::namedItemMethodCustom):
1828         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1829         (WebCore::V8HTMLCanvasElement::getContextMethodCustom):
1830         (WebCore::V8HTMLCanvasElement::toDataURLMethodCustom):
1831         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1832         (WebCore::V8HTMLDocument::writeMethodCustom):
1833         (WebCore::V8HTMLDocument::writelnMethodCustom):
1834         (WebCore::V8HTMLDocument::openMethodCustom):
1835         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
1836         (WebCore::V8HTMLFormControlsCollection::namedItemMethodCustom):
1837         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1838         (WebCore::v8HTMLImageElementConstructorMethodCustom):
1839         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1840         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1841         (WebCore::V8HTMLInputElement::setSelectionRangeMethodCustom):
1842         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1843         (WebCore::V8HTMLOptionsCollection::namedItemMethodCustom):
1844         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
1845         (WebCore::V8HTMLOptionsCollection::addMethodCustom):
1846         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1847         (WebCore::V8HTMLSelectElement::removeMethodCustom):
1848         * bindings/v8/custom/V8HistoryCustom.cpp:
1849         (WebCore::V8History::pushStateMethodCustom):
1850         (WebCore::V8History::replaceStateMethodCustom):
1851         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1852         (WebCore::V8InjectedScriptHost::inspectedObjectMethodCustom):
1853         (WebCore::V8InjectedScriptHost::internalConstructorNameMethodCustom):
1854         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
1855         (WebCore::V8InjectedScriptHost::typeMethodCustom):
1856         (WebCore::V8InjectedScriptHost::functionDetailsMethodCustom):
1857         (WebCore::V8InjectedScriptHost::getInternalPropertiesMethodCustom):
1858         (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
1859         (WebCore::V8InjectedScriptHost::inspectMethodCustom):
1860         (WebCore::V8InjectedScriptHost::databaseIdMethodCustom):
1861         (WebCore::V8InjectedScriptHost::storageIdMethodCustom):
1862         (WebCore::V8InjectedScriptHost::evaluateMethodCustom):
1863         (WebCore::V8InjectedScriptHost::setFunctionVariableValueMethodCustom):
1864         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1865         (WebCore::V8InspectorFrontendHost::platformMethodCustom):
1866         (WebCore::V8InspectorFrontendHost::portMethodCustom):
1867         (WebCore::V8InspectorFrontendHost::showContextMenuMethodCustom):
1868         (WebCore::V8InspectorFrontendHost::recordActionTakenMethodCustom):
1869         (WebCore::V8InspectorFrontendHost::recordPanelShownMethodCustom):
1870         (WebCore::V8InspectorFrontendHost::recordSettingChangedMethodCustom):
1871         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
1872         (WebCore::V8JavaScriptCallFrame::evaluateMethodCustom):
1873         (WebCore::V8JavaScriptCallFrame::restartMethodCustom):
1874         (WebCore::V8JavaScriptCallFrame::setVariableValueMethodCustom):
1875         (WebCore::V8JavaScriptCallFrame::scopeTypeMethodCustom):
1876         * bindings/v8/custom/V8LocationCustom.cpp:
1877         (WebCore::V8Location::reloadAttrGetterCustom):
1878         (WebCore::V8Location::replaceAttrGetterCustom):
1879         (WebCore::V8Location::assignAttrGetterCustom):
1880         (WebCore::V8Location::reloadMethodCustom):
1881         (WebCore::V8Location::replaceMethodCustom):
1882         (WebCore::V8Location::assignMethodCustom):
1883         (WebCore::V8Location::valueOfMethodCustom):
1884         (WebCore::V8Location::toStringMethodCustom):
1885         * bindings/v8/custom/V8MessageEventCustom.cpp:
1886         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
1887         (WebCore::V8MessageEvent::webkitInitMessageEventMethodCustom):
1888         * bindings/v8/custom/V8MessagePortCustom.cpp:
1889         (WebCore::V8MessagePort::postMessageMethodCustom):
1890         * bindings/v8/custom/V8NodeCustom.cpp:
1891         (WebCore::V8Node::insertBeforeMethodCustom):
1892         (WebCore::V8Node::replaceChildMethodCustom):
1893         (WebCore::V8Node::removeChildMethodCustom):
1894         (WebCore::V8Node::appendChildMethodCustom):
1895         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1896         (WebCore::V8NotificationCenter::requestPermissionMethodCustom):
1897         * bindings/v8/custom/V8NotificationCustom.cpp:
1898         (WebCore::V8Notification::requestPermissionMethodCustom):
1899         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1900         (WebCore::V8SQLResultSetRowList::itemMethodCustom):
1901         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1902         (WebCore::V8SQLTransaction::executeSqlMethodCustom):
1903         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1904         (WebCore::V8SQLTransactionSync::executeSqlMethodCustom):
1905         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1906         (WebCore::V8SVGLength::convertToSpecifiedUnitsMethodCustom):
1907         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1908         (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
1909         (WebCore::V8WebGLRenderingContext::getBufferParameterMethodCustom):
1910         (WebCore::V8WebGLRenderingContext::getExtensionMethodCustom):
1911         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterMethodCustom):
1912         (WebCore::V8WebGLRenderingContext::getParameterMethodCustom):
1913         (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
1914         (WebCore::V8WebGLRenderingContext::getRenderbufferParameterMethodCustom):
1915         (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
1916         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsMethodCustom):
1917         (WebCore::V8WebGLRenderingContext::getTexParameterMethodCustom):
1918         (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
1919         (WebCore::V8WebGLRenderingContext::getVertexAttribMethodCustom):
1920         (WebCore::V8WebGLRenderingContext::uniform1fvMethodCustom):
1921         (WebCore::V8WebGLRenderingContext::uniform1ivMethodCustom):
1922         (WebCore::V8WebGLRenderingContext::uniform2fvMethodCustom):
1923         (WebCore::V8WebGLRenderingContext::uniform2ivMethodCustom):
1924         (WebCore::V8WebGLRenderingContext::uniform3fvMethodCustom):
1925         (WebCore::V8WebGLRenderingContext::uniform3ivMethodCustom):
1926         (WebCore::V8WebGLRenderingContext::uniform4fvMethodCustom):
1927         (WebCore::V8WebGLRenderingContext::uniform4ivMethodCustom):
1928         (WebCore::V8WebGLRenderingContext::uniformMatrix2fvMethodCustom):
1929         (WebCore::V8WebGLRenderingContext::uniformMatrix3fvMethodCustom):
1930         (WebCore::V8WebGLRenderingContext::uniformMatrix4fvMethodCustom):
1931         (WebCore::V8WebGLRenderingContext::vertexAttrib1fvMethodCustom):
1932         (WebCore::V8WebGLRenderingContext::vertexAttrib2fvMethodCustom):
1933         (WebCore::V8WebGLRenderingContext::vertexAttrib3fvMethodCustom):
1934         (WebCore::V8WebGLRenderingContext::vertexAttrib4fvMethodCustom):
1935         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1936         (WebCore::V8WorkerContext::importScriptsMethodCustom):
1937         (WebCore::V8WorkerContext::setTimeoutMethodCustom):
1938         (WebCore::V8WorkerContext::setIntervalMethodCustom):
1939         * bindings/v8/custom/V8WorkerCustom.cpp:
1940         (WebCore::V8Worker::postMessageMethodCustom):
1941         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1942         (WebCore::V8XMLHttpRequest::openMethodCustom):
1943         (WebCore::V8XMLHttpRequest::sendMethodCustom):
1944         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1945         (WebCore::V8XSLTProcessor::setParameterMethodCustom):
1946         (WebCore::V8XSLTProcessor::getParameterMethodCustom):
1947         (WebCore::V8XSLTProcessor::removeParameterMethodCustom):
1948
1949 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1950
1951         Scrollbar style resolution arguments should not passed via statics.
1952         https://bugs.webkit.org/show_bug.cgi?id=110690
1953
1954         Use PseudoStyleRequest to pass scrollbar params for style resolve.
1955
1956         Reviewed by Eric Seidel.
1957
1958         No change in functionality, covered by existing tests.
1959
1960         * css/SelectorChecker.cpp:
1961         (WebCore::SelectorChecker::match): Changed to use context params, rather than statics.
1962         (WebCore::SelectorChecker::checkOne): Changed to pass context to checkScrollbarPseudoClass.
1963         (WebCore::SelectorChecker::checkScrollbarPseudoClass): Changed to use context params, rather than statics.
1964         * css/SelectorChecker.h:
1965         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added scrollbar style args.
1966         (SelectorCheckingContext): Ditto.
1967         * css/StyleResolver.cpp:
1968         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use PseudoStyleRequest.
1969         (WebCore::StyleResolver::State::initForStyleResolve): Ditto.
1970         (WebCore::StyleResolver::pseudoStyleForElement): Ditto.
1971         (WebCore::StyleResolver::ruleMatches): Ditto and added stuffing scrollbar style resolve args into SelectorCheckingContext.
1972         * css/StyleResolver.h:
1973         (PseudoStyleRequest): Added.
1974         (State): Changed to hold and use PseudoStyleRequest instead of just PseudoId
1975         * dom/Element.cpp:
1976         (WebCore::Element::pseudoStyleCacheIsInvalid): Changed to use PseudoStyleRequest.
1977         * page/FrameView.cpp: Ditto.
1978         (WebCore::FrameView::updateScrollCorner): Ditto.
1979         * rendering/RenderLayer.cpp:
1980         (WebCore::RenderLayer::updateScrollCornerStyle): Ditto.
1981         (WebCore::RenderLayer::updateResizerStyle): Ditto.
1982         * rendering/RenderObject.cpp:
1983         (WebCore::RenderObject::selectionBackgroundColor): Ditto.
1984         (WebCore::RenderObject::selectionColor): Ditto.
1985         (WebCore::firstLineStyleForCachedUncachedType): Ditto.
1986         (WebCore::RenderObject::getCachedPseudoStyle): Ditto.
1987         (WebCore::RenderObject::getUncachedPseudoStyle): Ditto.
1988         * rendering/RenderObject.h:
1989         (RenderObject): Ditto.
1990         * rendering/RenderScrollbar.cpp:
1991         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Ditto.
1992         * rendering/RenderScrollbar.h:
1993         (RenderScrollbar): Removed static members that are now obsolete.
1994
1995 2013-02-23  Adam Barth  <abarth@webkit.org>
1996
1997         Threaded HTML parser should pass fast/parser/parser-yield-timing.html
1998         https://bugs.webkit.org/show_bug.cgi?id=110647
1999
2000         Reviewed by Eric Seidel.
2001
2002         Previously, the threaded HTML parser would run for an arbitrary amount
2003         of time without yielding after speculation succeeded. This might be the
2004         cause of the good DOMContentLoaded numbers.
2005
2006         Note: This patch also demonstrates that the ParseHTML_max numbers
2007         aren't correct currently because they're measuring the interior of this
2008         loop instead of all the time spent in the loop. We should move the
2009         instrumentation in a followup patch.
2010
2011          * html/parser/HTMLDocumentParser.cpp:
2012         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
2013         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2014         (WebCore):
2015         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2016         * html/parser/HTMLDocumentParser.h:
2017         (HTMLDocumentParser):
2018         * html/parser/HTMLParserScheduler.cpp:
2019
2020 2013-02-23  Martin Robinson  <mrobinson@igalia.com>
2021
2022         [GTK] Allow sharing the WebCore include list with the Chromium build
2023         https://bugs.webkit.org/show_bug.cgi?id=110241
2024
2025         Reviewed by Dirk Pranke.
2026
2027         * WebCore.gyp/WebCore.gyp: Moved shared include directories to
2028         WebCore.gypi.
2029         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2030         * WebCore.gypi: Added shared include directories.
2031
2032 2013-02-23  Andreas Kling  <akling@apple.com>
2033
2034         StyledElement: Tweak signature of collectStyleForPresentationAttribute().
2035         <http://webkit.org/b/110687>
2036
2037         Reviewed by Antti Koivisto.
2038
2039         Out with the old:
2040             collectStyleForPresentationAttribute(const Attribute&, StylePropertySet*)
2041
2042         In with the new:
2043             collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*)
2044
2045         This is primarily about switching to using MutableStylePropertySet* in preparation for
2046         removing mutating functions from the StylePropertySet base class.
2047
2048 2013-02-23  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2049
2050         [EFL][WebGL] Refactor GLPlatformSurface.
2051         https://bugs.webkit.org/show_bug.cgi?id=110616
2052
2053         Reviewed by Kenneth Rohde Christiansen.
2054
2055         Covered by existing WebGL tests.
2056  
2057         With recent changes, there is a clear separation between 
2058         transport surface and off-screen surface. PlatformSurface 
2059         has the logic to render content to transport surface. 
2060         We currently rely on EXT_framebuffer_blit for this. This 
2061         extension is not exposed on GLES2.0. PlatformSurface was 
2062         supposed to be an abstraction layer without any knowledge 
2063         of the type of surface. This patch addresses the issues 
2064         in PlatformSurface class. We use shaders to draw texture 
2065         content to the surface. Any transport surface related 
2066         code in PlatformSurface is moved to GLTransportSurface class.
2067
2068         * PlatformEfl.cmake:
2069         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2070         (WebCore::GraphicsContext3DPrivate::didResizeCanvas):
2071         * platform/graphics/surfaces/GLTransportSurface.cpp: Added.
2072         (WebCore):
2073         (WebCore::GLTransportSurface::GLTransportSurface):
2074         (WebCore::GLTransportSurface::~GLTransportSurface):
2075         (WebCore::GLTransportSurface::updateContents):
2076         (WebCore::GLTransportSurface::setGeometry):
2077         (WebCore::GLTransportSurface::destroy):
2078         (WebCore::GLTransportSurface::draw):
2079         (WebCore::GLTransportSurface::bindArrayBuffer):
2080         (WebCore::GLTransportSurface::updateTransformationMatrix):
2081         (WebCore::GLTransportSurface::initializeShaderProgram):
2082         * platform/graphics/surfaces/GLTransportSurface.h:
2083         (WebCore):
2084         (GLTransportSurface):
2085         * platform/graphics/surfaces/egl/EGLSurface.cpp:
2086         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2087         (WebCore::EGLWindowTransportSurface::destroy):
2088         (WebCore::EGLWindowTransportSurface::setGeometry):
2089         * platform/graphics/surfaces/egl/EGLSurface.h:
2090         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2091         (WebCore::GLXTransportSurface::GLXTransportSurface):
2092         (WebCore::GLXTransportSurface::setGeometry):
2093         (WebCore::GLXTransportSurface::destroy):
2094         (WebCore::GLXOffScreenSurface::freeResources):
2095         * platform/graphics/surfaces/glx/GLXSurface.h:
2096
2097 2013-02-23  Hajime Morrita  <morrita@google.com>
2098
2099         ShadowRoot needs guardRef() and guardDeref()
2100         https://bugs.webkit.org/show_bug.cgi?id=109777
2101
2102         Reviewed by Dimitri Glazkov.
2103
2104         This change moves m_guardRefCount from Document to TreeScope,
2105         which allows ShadowRoot to be guarded by guardRef() mechanism as
2106         Document. After r137524, Node referes TreeScope instead of
2107         Document. This is natural consequence of the change: It no longer
2108         makes sense to guardRef() Document pointer from Node.
2109
2110         Detail:
2111
2112         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
2113         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
2114           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
2115         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
2116           Note that there are two "guarded" TreeScope references. One is
2117           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
2118           The guarded-ref management is now encapsulated in these two classes.
2119
2120         No new tests. Covered by existing tests.
2121
2122         * WebCore.exp.in:
2123         * dom/Document.cpp:
2124         (WebCore::Document::Document):
2125         (WebCore::Document::~Document):
2126         (WebCore::Document::dispose): Extracted from removedLastRef()
2127         * dom/Document.h:
2128         (WebCore::Node::isTreeScope):
2129         (WebCore::Node::Node):
2130         * dom/DocumentFragment.cpp:
2131         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
2132         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
2133         * dom/Node.cpp:
2134         (WebCore::Node::~Node):
2135         (WebCore::Node::removedLastRef):
2136         * dom/Node.h:
2137         (WebCore::Node::setTreeScope):
2138         * dom/ShadowRoot.cpp:
2139         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
2140         (WebCore::ShadowRoot::dispose): Added.
2141         * dom/ShadowRoot.h:
2142         (ShadowRoot):
2143         * dom/TreeScope.cpp:
2144         (SameSizeAsTreeScope):
2145         (WebCore::TreeScope::TreeScope):
2146         (WebCore::TreeScope::~TreeScope):
2147         (WebCore::TreeScope::dispose): Added.
2148         (WebCore::TreeScope::setParentTreeScope):
2149         (WebCore::TreeScope::deletionHasBegun):
2150         (WebCore::TreeScope::beginDeletion):
2151         (WebCore::TreeScope::refCount): Added.
2152         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
2153         (WebCore::TreeScope::guardRef): Pulled up from Document.
2154         (WebCore::TreeScope::guardDeref): Ditto.
2155         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
2156         (WebCore::TreeScope::deletionHasBegun): Added.
2157         (WebCore::TreeScope::beginDeletion): Added.
2158         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
2159         * dom/TreeScopeAdopter.cpp:
2160         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2161         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2162
2163 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
2164
2165         Don't include ResourceHandle.h in ResourceLoaderOptions.h
2166         https://bugs.webkit.org/show_bug.cgi?id=110662
2167
2168         Reviewed by Tim Horton.
2169
2170         * loader/ResourceLoaderOptions.h: Include ResourceHandleTypes.h instead.
2171
2172 2013-02-23  Jason Anderssen  <janderssen@gmail.com>
2173
2174         Move setAutofilled from TestRunner to WebCore
2175         https://bugs.webkit.org/show_bug.cgi?id=110521
2176
2177         Reviewed by Benjamin Poulain.
2178
2179         * testing/Internals.cpp:
2180         (WebCore):
2181         (WebCore::Internals::setAutofilled):
2182         * testing/Internals.h:
2183         (Internals):
2184         * testing/Internals.idl:
2185
2186 2013-02-22  Andreas Kling  <akling@apple.com>
2187
2188         Attr: Simplify modification callbacks.
2189         <http://webkit.org/b/110598>
2190
2191         Reviewed by Antti Koivisto.
2192
2193         Instead of Attr being a friend of Element and grabbing at various internal storage and callbacks,
2194         let Attr simply call Element::setAttribute() when its value is changed, and do all that business
2195         from Element.
2196
2197         * dom/Element.h:
2198         * dom/Element.cpp:
2199         (WebCore::Element::setAttributeInternal):
2200
2201             Call Attr::recreateTextChildAfterAttributeValueChanged() after modifying an attribute value instead
2202             of doing the modification through the Attr node.
2203
2204         * dom/Attr.h:
2205         * dom/Attr.cpp:
2206         (WebCore::Attr::Attr):
2207         (WebCore::Attr::childrenChanged):
2208
2209             Added an m_inChildrenChanged flag so we can prevent infinite callback recursion in childrenChanged().
2210
2211         (WebCore::Attr::setValue):
2212
2213             Call Element::setAttribute() instead of modifying the attribute storage directly.
2214
2215         (WebCore::Attr::recreateTextChildAfterAttributeValueChanged):
2216
2217             Factored out the "remove all children / create a new text child with attribute value" logic into
2218             a separate function.
2219
2220 2013-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2221
2222         [EFL] Use EINA_LOG instead of fprintf 
2223         https://bugs.webkit.org/show_bug.cgi?id=110313
2224
2225         Reviewed by Laszlo Gombos.
2226
2227         Replace fprintf with EINA_LOG.
2228
2229         * platform/efl/NetworkInfoProviderEfl.cpp:
2230         (WebCore::NetworkInfoProviderEfl::startUpdating):
2231         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
2232         (WebCore::evasObjectFromCairoImageSurface):
2233
2234 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2235
2236         Threaded HTML parser fails resources/plain-text-unsafe.dat
2237         https://bugs.webkit.org/show_bug.cgi?id=110538
2238
2239         Reviewed by Eric Seidel.
2240
2241         With this patch, the background HTML parser passes all tests in plain-text-unsafe.dat.
2242
2243         No new tests because covered by existing tests.
2244
2245         * html/parser/BackgroundHTMLParser.cpp:
2246         (WebCore::tokenExitsSVG):
2247         (WebCore):
2248         (WebCore::tokenExitsMath):
2249         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
2250
2251 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2252
2253         Correct InspectorInstrumentation for background HTML parser
2254         https://bugs.webkit.org/show_bug.cgi?id=110678
2255
2256         Reviewed by Adam Barth.
2257
2258         resumeParsingAfterScriptExecution potentially calls processParsedChunkFromBackgroundParser multiple times
2259         without yielding. So it is not correct to count each of those as a separate ParseHTML event.
2260
2261         This patch moves the instrumentation outside of the loop.
2262
2263         No new tests because no new functionality.
2264
2265         * html/parser/HTMLDocumentParser.cpp:
2266         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2267         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2268         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2269
2270 2013-02-22  Aaron Colwell  <acolwell@chromium.org>
2271
2272         Factor MediaSource methods out of MediaPlayer & MediaPlayerPrivate and into a new MediaSourcePrivate interface.
2273         https://bugs.webkit.org/show_bug.cgi?id=109857
2274
2275         Reviewed by Adam Barth.
2276
2277         This is a simple refactor that moves MediaSource related methods out of MediaPlayer & MediaPlayerPrivate
2278         so that the MediaSource implementation can be updated without further polluting these interfaces.
2279         MediaSourcePrivate is the new WebCore interface that ports must implement to support the MediaSource API.
2280
2281         No new tests. No user visible behavior has changed.
2282
2283         * Modules/mediasource/MediaSource.cpp:
2284         (WebCore::MediaSource::MediaSource):
2285         (WebCore::MediaSource::duration):
2286         (WebCore::MediaSource::setDuration):
2287         (WebCore::MediaSource::addSourceBuffer):
2288         (WebCore::MediaSource::removeSourceBuffer):
2289         (WebCore::MediaSource::setReadyState):
2290         (WebCore::MediaSource::endOfStream):
2291         (WebCore::MediaSource::buffered):
2292         (WebCore::MediaSource::append):
2293         (WebCore::MediaSource::abort):
2294         (WebCore::MediaSource::setTimestampOffset):
2295         (WebCore::MediaSource::setPrivateAndOpen):
2296         (WebCore):
2297         (WebCore::MediaSource::hasPendingActivity):
2298         (WebCore::MediaSource::stop):
2299         * Modules/mediasource/MediaSource.h:
2300         (MediaSource):
2301         * html/HTMLMediaElement.cpp:
2302         (WebCore::HTMLMediaElement::HTMLMediaElement):
2303         (WebCore::HTMLMediaElement::loadResource):
2304         (WebCore::HTMLMediaElement::createMediaPlayer):
2305         (WebCore::HTMLMediaElement::reportMemoryUsage):
2306         * html/HTMLMediaElement.h:
2307         (HTMLMediaElement):
2308         * platform/graphics/MediaPlayer.cpp:
2309         (NullMediaPlayerPrivate):
2310         (WebCore::NullMediaPlayerPrivate::load):
2311         (WebCore::MediaPlayer::load):
2312         (WebCore):
2313         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2314         * platform/graphics/MediaPlayer.h:
2315         (WebCore):
2316         (MediaPlayerClient):
2317         (MediaPlayer):
2318         * platform/graphics/MediaPlayerPrivate.h:
2319         (MediaPlayerPrivateInterface):
2320         * platform/graphics/MediaSourcePrivate.h: Added.
2321         (WebCore):
2322         (MediaSourcePrivate): Contains the MediaSource methods extracted from MediaPlayer.
2323         (WebCore::MediaSourcePrivate::MediaSourcePrivate):
2324         (WebCore::MediaSourcePrivate::~MediaSourcePrivate):
2325
2326 2013-02-22  Beth Dakin  <bdakin@apple.com>
2327
2328         RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
2329         https://bugs.webkit.org/show_bug.cgi?id=110673
2330         -and corresponding-
2331         <rdar://problem/13258596>
2332
2333         Reviewed by Sam Weinig.
2334
2335         FrameLoaderClient::didChangeScrollOffset() doesn't get called for web pages that
2336         have overflow on the body. We can easily address this by calling it at the 
2337         end of RenderLayer::scrollTo().
2338
2339         * rendering/RenderLayer.cpp:
2340         (WebCore::RenderLayer::scrollTo):
2341
2342 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2343
2344         WebKit can erroneously strip font-size CSS property from font element with size attribute
2345         https://bugs.webkit.org/show_bug.cgi?id=110657
2346
2347         Reviewed by Justin Garcia.
2348
2349         The bug was caused by ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline
2350         erroneously removing style attributes even on an element such as font that implicitly adds
2351         editing style.
2352
2353         Fixed the bug by removing these elements or attributes when they conflict with the inline
2354         style of the element. This is always safe because implicit style of an element is always
2355         overridden by that of inline style.
2356
2357         Note that when the font element becomes "empty" (i.e. doesn't have any attributes), then
2358         we also want to delete this font element as it doesn't contribute anything to the style.
2359
2360         Test: editing/pasteboard/insert-u-with-text-decoration-none.html
2361               editing/pasteboard/insert-font-with-size-and-css.html
2362
2363         * editing/ApplyStyleCommand.cpp:
2364         (WebCore::isEmptyFontTag): Added ShouldStyleAttributeBeEmpty as an argument. This will
2365         allow removeRedundantStylesAndKeepStyleSpanInline to ignore style attribute when we know
2366         the attribute can be removed.
2367
2368         * editing/ApplyStyleCommand.h: Expose isEmptyFontTag and ShouldStyleAttributeBeEmpty.
2369
2370         * editing/ReplaceSelectionCommand.cpp:
2371         (WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Added.
2372         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See above.
2373         * editing/ReplaceSelectionCommand.h:
2374         (InsertedNodes): Added a declaration of didReplaceNode.
2375
2376 2013-02-22  Laszlo Gombos  <l.gombos@samsung.com>
2377
2378         Remove unused make variable from DerivedSources.make
2379         https://bugs.webkit.org/show_bug.cgi?id=110306
2380
2381         Reviewed by Alexey Proskuryakov.
2382
2383         r107026 removed the last piece of logic that was guarded with
2384         ENABLE_DASHBOARD_SUPPORT, so now it can be removed from
2385         DerivedSources.make. 
2386
2387         Also combined the way ENABLE_ORIENTATION_EVENTS is set to 0
2388         to make it more readable.
2389
2390         No new tests, no new functionality.
2391
2392         * DerivedSources.make:
2393
2394 2013-02-22  Dimitri Glazkov  <dglazkov@chromium.org>
2395
2396         REGRESSION(r130089): Scrollbar thumb no longer re-rendered on hover
2397         https://bugs.webkit.org/show_bug.cgi?id=109230
2398
2399         In r130089, I accidentally removed the extra check that made scrollbar
2400         parts styles sad. I put it back and made them happy.
2401
2402         Reviewed by Eric Seidel.
2403
2404         Test: fast/css/pseudo-element-selector-scrollbar-hover.html
2405
2406         * css/SelectorChecker.cpp:
2407         (WebCore::SelectorChecker::match): Added the check back.
2408
2409 2013-02-22  Tim Horton  <timothy_horton@apple.com>
2410
2411         [WK2] The root and page overlay layers should be the size of the view, not the content
2412         https://bugs.webkit.org/show_bug.cgi?id=110660
2413         <rdar://problem/13096456>
2414
2415         Reviewed by Simon Fraser.
2416
2417         * WebCore.exp.in:
2418
2419 2013-02-22  Anders Carlsson  <andersca@apple.com>
2420
2421         pluginLoadStrategy should take a WKDictionaryRef for extensibility
2422         https://bugs.webkit.org/show_bug.cgi?id=110656
2423         <rdar://problem/13265303>
2424
2425         Reviewed by Jessie Berlin.
2426
2427         Export a symbol needed by WebKit2.
2428
2429         * WebCore.exp.in:
2430
2431 2013-02-22  Levi Weintraub  <leviw@chromium.org>
2432
2433         Add descriptive names for different addMidpoint use cases
2434         https://bugs.webkit.org/show_bug.cgi?id=110644
2435
2436         Reviewed by Ryosuke Niwa.
2437
2438         Midpoints are used to delineate ranges where we don't add line boxes for contents (collapsed spaces),
2439         and to explicitly split a RenderText into multiple text runs so that text paragraph seperators get
2440         their own line boxes. This patch encapsulates the different cases where midpoints are added to
2441         lineMidpointState into 4 helper functions to make it clearer what's going on in each case.
2442
2443         No new tests. No change in functionality.
2444
2445         * rendering/RenderBlockLineLayout.cpp:
2446         (WebCore::deprecatedAddMidpoint): Original function simply adds a midpoint to the lineMidpointState.
2447         Renaming to deprecated to discourage callers.
2448         (WebCore::startIgnoringSpaces): Adds a midpoint to start collapsing subsequent spaces. Asserts that
2449         we have an even number of midpoints.
2450         (WebCore::stopIgnoringSpaces): Adds the corresponding midpoint from startIgnoringSpaces and asserts
2451         that it's an odd number.
2452         (WebCore::ensureLineBoxInsideIgnoredSpaces): When ignoring spaces and we come across a RenderInline
2453         that needs a line box, this function adds a pair of midpoints which ensures we'll later add a line
2454         box for it.
2455         (WebCore::ensureCharacterGetsLineBox): Adds a pair of midpoints in a text renderer to mark that
2456         the current character needs its own line box. This is used by svg for absolutely positioned
2457         characters, or for text paragraph seperators.
2458
2459 2013-02-22  Justin Schuh  <jschuh@chromium.org>
2460
2461         RenderArena masking has low entropy
2462         https://bugs.webkit.org/show_bug.cgi?id=110394
2463
2464         Reviewed by Oliver Hunt.
2465
2466         No new tests. This is a hardening measure.
2467
2468         * rendering/RenderArena.cpp:
2469         (WebCore::RenderArena::RenderArena):
2470
2471 2013-02-22  Min Qin  <qinmin@chromium.org>
2472
2473         Fix the overlay play button position on android
2474         https://bugs.webkit.org/show_bug.cgi?id=110638
2475
2476         Reviewed by Ojan Vafai.
2477
2478         Because we are using flex box, specifying the height is not necessary.
2479         Setting height to 100% will make the enclosure go outside the control panel.
2480         There are no media layout test expecations for android, will do that in another patch.
2481
2482         * css/mediaControlsChromiumAndroid.css:
2483         (video::-webkit-media-controls-overlay-enclosure):
2484
2485 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2486
2487         Unreviewed build fix. Added missing #if PLATFORM(CHROMIUM).
2488
2489         * dom/Document.cpp:
2490         (WebCore::Document::recalcStyle):
2491         * page/FrameView.cpp:
2492         (WebCore::FrameView::layout):
2493
2494 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2495
2496         Document::styleRecalc() and FrameView::layout() should be traced
2497         https://bugs.webkit.org/show_bug.cgi?id=110646
2498
2499         Reviewed by Ojan Vafai.
2500
2501         Document::styleRecalc() and FrameView::layout() are key factors
2502         for web page rendering performance. We should add TRACE_EVENT()
2503         macros to these functions.
2504
2505         * dom/Document.cpp:
2506         (WebCore::Document::recalcStyle):
2507         * page/FrameView.cpp:
2508         (WebCore::FrameView::layout):
2509
2510 2013-02-22  Eric Seidel  <eric@webkit.org>
2511
2512         Teach the html5lib tests how to test the threaded HTML parser
2513         https://bugs.webkit.org/show_bug.cgi?id=110643
2514
2515         Reviewed by Adam Barth.
2516
2517         This adds a way to force data: url parsing to go through
2518         the threaded parser, to enable us to test the threaded parser
2519         using the html5lib test harness.
2520
2521         * html/parser/HTMLParserOptions.cpp:
2522         (WebCore::HTMLParserOptions::HTMLParserOptions):
2523         * page/Settings.in:
2524
2525 2013-02-21  Ojan Vafai  <ojan@chromium.org>
2526
2527         Increase the max preferred width of tables to 1000000
2528         https://bugs.webkit.org/show_bug.cgi?id=110545
2529
2530         Reviewed by Emil A Eklund.
2531
2532         Test: fast/table/large-shrink-wrapped-width.html
2533
2534         The old limit of 15000 was picked arbitrarily to avoid overflow.
2535         No need to pick such a small number.
2536
2537         * rendering/AutoTableLayout.cpp:
2538         (WebCore::AutoTableLayout::computeInstrinsicLogicalWidths):
2539         As best I can tell, this code is just wrong. Removing this makes the
2540         new test pass and doesn't cause any test failure. While we have many
2541         tests that hit this codepath, this code would only
2542         show a difference in the cases where the available container width is
2543         greater then 15000, and I don't think we have any tests that hit that case
2544         other than this new one.
2545         * rendering/TableLayout.h:
2546
2547 2013-02-22  Adam Barth  <abarth@webkit.org>
2548
2549         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
2550         https://bugs.webkit.org/show_bug.cgi?id=110637
2551
2552         Reviewed by Eric Seidel.
2553
2554         With the main thread parser, we always parse the first chunk of content
2555         returned as the result of evaluating a JavaScript URL synchronously. In
2556         particular, if the first chunk has an inline script, we'll execute it
2557         synchronously.
2558
2559         Previous to this patch, the threaded parser would always parse this
2560         content asynchronously. It's conceivable that there could be some
2561         content relying on the synchronous behavior, so this patch introduces
2562         the notion of "pinning" a parser to the main thread and uses that
2563         concept to force the result of JavaScript URLs to be parsed on the main
2564         thread (which is probably desirable anyway because they're likely to be
2565         quite short).
2566
2567         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
2568         and fast/dom/javascript-url-crash-function.html with the threaded
2569         parser with --enable-threaded-html-parser.
2570
2571         * dom/DocumentParser.h:
2572         (WebCore::DocumentParser::pinToMainThread):
2573         (DocumentParser):
2574         * html/parser/HTMLDocumentParser.cpp:
2575         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2576         (WebCore):
2577         (WebCore::HTMLDocumentParser::pinToMainThread):
2578         * html/parser/HTMLDocumentParser.h:
2579         (HTMLDocumentParser):
2580         (WebCore::HTMLDocumentParser::shouldUseThreading):
2581         * loader/DocumentWriter.cpp:
2582         (WebCore::DocumentWriter::replaceDocument):
2583
2584 2013-02-22  Joe Mason  <jmason@rim.com>
2585
2586         [BlackBerry] Reread cookies when retrying a request with new auth credentials
2587         https://bugs.webkit.org/show_bug.cgi?id=110628
2588
2589         Reviewed by George Staikos.
2590
2591         Internal PR: 298805
2592         Internally Reviewed By: Leo Yang
2593
2594         The "isRedirect" parameter of initializePlatformRequest is only used to decide whether to
2595         reread cookies. Since we must reread cookies when resending a request with new auth
2596         credentials as well, rename this to "rereadCookies".
2597
2598         The only caller which sets this parameter rather than using the default value is
2599         NetworkManager::startJob, which also has other processing on redirect. So add a new
2600         "rereadCookies" parameter to startJob and ensure it is always set to true on a redirect, but
2601         can also be set to true on a non-redirect. And when startJob is called due to new auth
2602         credentials, set it to true.
2603
2604         * platform/network/blackberry/NetworkJob.cpp:
2605         (WebCore::NetworkJob::startNewJobWithRequest): Add rereadCookies parameter, pass it to
2606         startJob.
2607         (WebCore::NetworkJob::handleRedirect): Set new rereadCookies param of startNewJob to true.
2608         (WebCore::NetworkJob::notifyChallengeResult): Set new rereadCookies param of startNewJob to
2609         true.
2610         * platform/network/blackberry/NetworkJob.h:
2611         (NetworkJob): Add rereadCookies parameter to startNewJobWithRequest.
2612         * platform/network/blackberry/NetworkManager.cpp:
2613         (WebCore::NetworkManager::startJob): Add rereadCookies parameter, pass it instead of
2614         redirectCount to initializePlatformRequest.
2615         * platform/network/blackberry/NetworkManager.h:
2616         (NetworkManager): Add rereadCookies parameter to startJob.
2617         * platform/network/blackberry/ResourceRequest.h:
2618         (ResourceRequest): Rename isRedirect parameter to rereadCookies.
2619         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2620         (WebCore::ResourceRequest::initializePlatformRequest): Rename isRedirect to rereadCookies.
2621
2622 2013-02-22  Benjamin Poulain  <bpoulain@apple.com>
2623
2624         Use CFNotificationCenter instead of NSNotificationCenter for SharedTimerIOS
2625         https://bugs.webkit.org/show_bug.cgi?id=110544
2626
2627         Reviewed by Daniel Bates.
2628
2629         Previously, we were instantiating the Obj-C object WebCoreResumeNotifierIOS
2630         with the only purpose of forwarding one notification to a C function.
2631
2632         This patch updates the code to use CFNotificationCenter to dispatch the notification
2633         without the intermediary object.
2634
2635         * platform/ios/SharedTimerIOS.mm:
2636         (WebCore::applicationDidBecomeActive):
2637         (WebCore::setSharedTimerFireInterval):
2638
2639 2013-02-22  Kenneth Russell  <kbr@google.com>
2640
2641         Uint8ClampedArray constructor is wrong in WorkerContext.idl
2642         https://bugs.webkit.org/show_bug.cgi?id=110634
2643
2644         Reviewed by Adam Barth.
2645
2646         Tests: fast/canvas/webgl/typed-arrays-in-workers.html
2647                webgl/conformance/typedarrays/typed-arrays-in-workers.html
2648
2649         * workers/WorkerContext.idl:
2650
2651 2013-02-21  Mark Lam  <mark.lam@apple.com>
2652
2653         Add some checks to DatabaseTracker::getMaxSizeForDatabase() to ensure
2654         that it returns a sane value.
2655         https://bugs.webkit.org/show_bug.cgi?id=110557.
2656
2657         Reviewed by Geoffrey Garen.
2658
2659         No layout test, but there is a quota-test.html attached to bugzilla.
2660         The test is a webpage that can be loaded into multiple tabs to
2661         consuming storage space. Once the test webpages are loaded, you will
2662         need to monitor the database directory and its files to confirm that
2663         growth is bounded. Also try reloading the test in the tabs. At no
2664         time should any database file ever exceed the quota.
2665
2666         * Modules/webdatabase/DatabaseTracker.cpp:
2667         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2668
2669 2013-02-22  James Simonsen  <simonjam@chromium.org>
2670
2671         Preloads should be cleared when JavaScript cancels loading prematurely.
2672         https://bugs.webkit.org/show_bug.cgi?id=110388
2673
2674         Reviewed by Antti Koivisto.
2675
2676         If a page preloads a resource, but JavaScript aborts parsing for any reason (for example, a
2677         redirect or document.write()), the resource is forever marked a preload and won't be reloaded
2678         even if it's explicitly marked no-cache and the page is reloaded.
2679
2680         Test: http/tests/cache/preload-cleared-after-parrsing-canceled-by-js.html
2681
2682         * dom/Document.cpp:
2683         (WebCore::Document::implicitClose):
2684         (WebCore::Document::finishedParsing):
2685
2686 2013-02-22  Antoine Quint  <graouts@apple.com>
2687
2688         Expose a list of all reasons that qualify a RenderLayer to be composited
2689         https://bugs.webkit.org/show_bug.cgi?id=110505
2690
2691         Expose the various reasons that can qualify a RenderLayer to be composited
2692         via a new bitmask returned by the reasonForCompositing() method on
2693         RenderLayerCompositor. This method already existed and was used for logging
2694         purposes, but the previous functionality is now accessed via the
2695         logReasonForCompositing() method.
2696
2697         This will allow the the InspectorLayerTreeAgent to provide this information
2698         to the front-end on a per-layer basis as requested by the front-end.
2699
2700         Reviewed by Simon Fraser.
2701
2702         No new tests.
2703
2704         * rendering/RenderLayerCompositor.cpp:
2705         (WebCore::RenderLayerCompositor::logLayerInfo):
2706         (WebCore::RenderLayerCompositor::reasonsForCompositing):
2707         (WebCore):
2708         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
2709         * rendering/RenderLayerCompositor.h:
2710         (RenderLayerCompositor):
2711
2712 2013-02-22  Beth Dakin  <bdakin@apple.com>
2713
2714         ScrollingStateTree::rootStateNode() should be null-checked since it can be null
2715         https://bugs.webkit.org/show_bug.cgi?id=110631
2716
2717         Reviewed by Simon Fraser.
2718
2719         This is a speculative fix for <rdar://problem/13233090> and 
2720         <rdar://problem/12519348>. It is totally possible for rootStateNode() to be null, 
2721         so we should null-check it.
2722
2723         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2724         (WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread):
2725         (WebCore::ScrollingCoordinatorMac::syncChildPositions):
2726
2727 2013-02-22  Mike Reed  <reed@google.com>
2728
2729         Check for null-device when calling createCompatibleDevice
2730         https://bugs.webkit.org/show_bug.cgi?id=107981
2731
2732         Reviewed by James Robinson.
2733
2734         No new tests. Current tests provided coverage. Site in the wild triggered the failure
2735         (cairo failed to allocate a huge surface).
2736
2737         * platform/graphics/skia/ImageBufferSkia.cpp:
2738         (WebCore::ImageBuffer::ImageBuffer):
2739
2740 2013-02-22  Chris Rogers  <crogers@google.com>
2741
2742         AudioDestination::create() needs extra device identification information for live/local input streams
2743         https://bugs.webkit.org/show_bug.cgi?id=109494
2744
2745         Reviewed by James Robinson.
2746
2747         AudioDestination::create() supports live/local audio input.  But, since there may be multiple
2748         audio input devices available, an identifier for the requested input device needs to be
2749         passed in.  The embedder may then use this information so that the proper audio hardware is
2750         accessed.
2751
2752         * Modules/webaudio/AudioContext.cpp:
2753         (WebCore::AudioContext::createMediaStreamSource):
2754         * Modules/webaudio/AudioDestinationNode.h:
2755         (AudioDestinationNode):
2756         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2757         (WebCore::DefaultAudioDestinationNode::initialize):
2758         (WebCore::DefaultAudioDestinationNode::createDestination):
2759         (WebCore::DefaultAudioDestinationNode::enableInput):
2760         * Modules/webaudio/DefaultAudioDestinationNode.h:
2761         (DefaultAudioDestinationNode):
2762         * Modules/webaudio/OfflineAudioDestinationNode.h:
2763         * platform/audio/AudioDestination.h:
2764         (AudioDestination):
2765         * platform/audio/chromium/AudioDestinationChromium.cpp:
2766         (WebCore::AudioDestination::create):
2767         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
2768         * platform/audio/chromium/AudioDestinationChromium.h:
2769         (AudioDestinationChromium):
2770         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2771         (WebCore::AudioDestination::create):
2772         * platform/audio/mac/AudioDestinationMac.cpp:
2773         (WebCore::AudioDestination::create):
2774         * platform/chromium/support/WebMediaStreamSource.cpp:
2775         (WebKit::WebMediaStreamSource::deviceId):
2776         (WebKit):
2777         (WebKit::WebMediaStreamSource::setDeviceId):
2778         * platform/mediastream/MediaStreamSource.h:
2779         (WebCore::MediaStreamSource::deviceId):
2780         (WebCore::MediaStreamSource::setDeviceId):
2781         (MediaStreamSource):
2782
2783 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2784
2785         Binding tests rebaseline after r143737.
2786
2787         * bindings/scripts/test/V8/V8Float64Array.cpp:
2788         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2789         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2790         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2791         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2792         * bindings/scripts/test/V8/V8TestException.cpp:
2793         * bindings/scripts/test/V8/V8TestInterface.cpp:
2794         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2795         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2796         * bindings/scripts/test/V8/V8TestNode.cpp:
2797         * bindings/scripts/test/V8/V8TestObj.cpp:
2798         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2799         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2800         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2801
2802 2013-02-22  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2803
2804         INPUT_MULTIPLE_FIELDS_UI: Unable to enter "24" to hour field
2805         https://bugs.webkit.org/show_bug.cgi?id=110431
2806
2807         Reviewed by Kent Tamura.
2808
2809         Fixed a bug that hour-field does not accept "24" as a valid input when hour format is 1-24.
2810         To test <input> against different time formats, added "pattern" attribute to DateTimeEditElement.
2811
2812         Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
2813
2814         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2815         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Overwrites layoutParameters.dateTimeFormat by pattern attribute of DateTimeEditElement (if exists).
2816         * html/shadow/DateTimeFieldElements.cpp:
2817         (WebCore::DateTimeHourFieldElement::populateDateTimeFieldsState): Fixed a bug where AM/PM value was passed to setHour().
2818         (WebCore::DateTimeHourFieldElement::setValueAsInteger): Clamps the given value to 0-24 when the range of the field is 1-12 or 1-24. Renamed the parameter as it may not be an hour23 value (0-23).
2819
2820 2013-02-21  Zoltan Horvath  <zoltan@webkit.org>
2821
2822         [CSS Regions] Region boxes should respect -shape-inside CSS property
2823         https://bugs.webkit.org/show_bug.cgi?id=107880
2824
2825         Reviewed by David Hyatt.
2826
2827         The shape-inside CSS property modifies the shape of the inner inline flow content from rectangular content box
2828         to an arbitrary geometry. The detailed documentation is located in the CSS-Exclusions specification:
2829         http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property. This change adds support for the shape-inside property
2830         on CSS Regions.
2831
2832         Test: fast/regions/shape-inside-on-regions.html
2833
2834         * rendering/ExclusionShapeInfo.cpp:
2835         (WebCore):
2836         (WebCore::::logicalTopOffset): Shape dimension should be relative to the current region.
2837         * rendering/ExclusionShapeInfo.h:
2838         (ExclusionShapeInfo):
2839         (WebCore::::logicalTopOffset): Move the implementation to ExclusionShapeInfo.cpp.
2840         * rendering/RenderBlockLineLayout.cpp:
2841         (WebCore::logicalHeightForLine): Move the function prior to layoutExclusionShapeInsideInfo, since we need to use it there.
2842         (WebCore):
2843         (WebCore::layoutExclusionShapeInsideInfo): Add support for cases when shape-inside is a region-block property.
2844         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the exclusion shape information for every line, since the content
2845         could flow through several region containers which can have different shape-inside properties.
2846
2847 2013-02-21  Ojan Vafai  <ojan@chromium.org>
2848
2849         Add computeInstrinsicLogicalWidths functions to TableLayout subclasses
2850         https://bugs.webkit.org/show_bug.cgi?id=110520
2851
2852         Reviewed by Tony Chang.
2853
2854         This is just a refactor in preparation for adding RenderTable::computeIntinsicLogicalWidths.
2855         No change in behavior.
2856
2857         Split the computePreferredLogicalWidths functions into a computeIntinsicLogicalWidths
2858         and a applyPreferredLogicalWidthQuirks. Also, move the addition of bordersPaddingAndSpacing
2859         into RenderTable since both TableLayout subclasses need this.
2860
2861         This has the added readability benefit of better isolating the quirks that each table layout
2862         mode requires.
2863
2864         * rendering/AutoTableLayout.cpp:
2865         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
2866         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
2867         * rendering/AutoTableLayout.h:
2868         (AutoTableLayout):
2869         * rendering/FixedTableLayout.cpp:
2870         (WebCore::FixedTableLayout::computeIntrinsicLogicalWidths):
2871         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
2872         * rendering/FixedTableLayout.h:
2873         (FixedTableLayout):
2874         * rendering/RenderTable.cpp:
2875         (WebCore::RenderTable::computePreferredLogicalWidths):
2876         * rendering/TableLayout.h:
2877         (TableLayout):
2878
2879 2013-02-22  David Hyatt  <hyatt@apple.com>
2880
2881         [New Multicolumn] Correctly track whether or not a layer is paginated.
2882         https://bugs.webkit.org/show_bug.cgi?id=110625.
2883
2884         Taking the first step towards implementing the correct spec-compliant painting
2885         model for the new multi-column layout. Add code to make sure the paginated
2886         bits in RenderLayer get propagated correctly for the new layout.
2887         
2888         The main difference in bit propagation between the old multicolumn layout and
2889         the new multicolumn layout is that the old layout only tracked pagination "roots",
2890         since it has a broken layer painting model. It incorrectly treats a pagination
2891         "root" inside a multi-column block as establishing a stacking context in each
2892         column. This is incorrect.
2893         
2894         The new multicolumn code is going to paint each paginated layer individually,
2895         and this means the bits can't just be about roots. Instead they have to be set
2896         on every layer that may be split across columns, without regard for whether parent
2897         layers are also split or not. This is actually a simpler bit propagation model
2898         than the old code.
2899
2900         Reviewed by Beth Dakin.
2901
2902         * rendering/RenderLayer.cpp:
2903         (WebCore::RenderLayer::updateLayerPositions):
2904         Add code to set the m_isPaginated bit for in-flow RenderFlowThreads. This includes
2905         only RenderMultiColumnFlowThread for now, but eventually it will also include
2906         RenderPageFlowThread.
2907
2908         (WebCore::RenderLayer::useRegionBasedColumns):
2909         Add a helper method to check if region-based columns are turned on, since we're
2910         not attempting to alter the old column pagination model.
2911
2912         (WebCore::RenderLayer::updatePagination):
2913         Added the code to propagate bits under the new model. Whether or not you're paginated
2914         just depends on whether or not your enclosing layer along the containing block chain
2915         is paginated.
2916
2917         (WebCore::RenderLayer::paintList):
2918         (WebCore::RenderLayer::hitTestList):
2919         Add code that avoids the old multi-column pagination model when the new column model
2920         is enabled. For now there is no code in the new model that does anything with the bits,
2921         but we're avoiding calling the old code, since it is broken for the new columns.
2922
2923         * rendering/RenderLayer.h:
2924         (RenderLayer):
2925         Added the useRegionBasedColumns method to check the Setting.
2926
2927         * rendering/RenderMultiColumnFlowThread.h:
2928         * rendering/RenderObject.h:
2929         (WebCore::RenderObject::isInFlowRenderFlowThread):
2930         (RenderObject):
2931         Implement isInFlowRenderFlowThread, a virtual function for asking if a renderer is
2932         an in-flow RenderFlowThread, which means that it is going to need paginated layers
2933         because the flow thread has to split across "pages" that do not establish stacking
2934         contexts.
2935
2936 2013-02-22  Bem Jones-Bey  <bjonesbe@adobe.com>
2937
2938         text-overflow:ellipsis is not applied when the block contains nested blocks
2939         https://bugs.webkit.org/show_bug.cgi?id=101879
2940
2941         Reviewed by Eric Seidel.
2942
2943         Since text-overflow is not an inherited property, the anonymous blocks
2944         don't know they should ellipse. This causes the anonymous blocks
2945         created in the nested block situation to check their parent to find
2946         out if they should ellipse.
2947
2948         Test: fast/css/text-overflow-ellipsis-anonymous-blocks.html
2949
2950         * rendering/RenderBlockLineLayout.cpp:
2951         (WebCore::RenderBlock::layoutInlineChildren):
2952
2953 2013-02-22  Eric Seidel  <eric@webkit.org>
2954
2955         REGRESSION(r143664, r143681): http/tests/security/feed-urls-from-remote.html fails
2956         https://bugs.webkit.org/show_bug.cgi?id=110554
2957
2958         Reviewed by Adam Barth.
2959
2960         Will fix http/tests/security/feed-urls-from-remote.html for Mac WK1.
2961
2962         * loader/DocumentLoader.cpp:
2963         (WebCore::DocumentLoader::isLoading):
2964
2965 2013-02-22  Mark Rowe  <mrowe@apple.com>
2966
2967         Build fix after r143637.
2968
2969         * WebCore.exp.in: Unconditionally export ScriptController::javaScriptContext.
2970         * bindings/js/ScriptController.h: Unconditionally define javaScriptContext for Mac builds.
2971         * bindings/js/ScriptControllerMac.mm:
2972         (WebCore::ScriptController::javaScriptContext): Move the #if inside the function, and return 0 when false.
2973
2974 2013-02-22  Anton Vayvod  <avayvod@chromium.org>
2975
2976         [TextAutosizing] Refactoring to eliminate boolean parameter.
2977         https://bugs.webkit.org/show_bug.cgi?id=110490
2978
2979         Reviewed by Julien Chaffraix.
2980
2981         A follow-up to the recent change that introduced a boolean parameter to
2982         processClusterInternal method of TextAutosizer. Boolean parameters are discouraged by the
2983         WebKit style guide. See http://trac.webkit.org/changeset/142866
2984
2985         Refactoring so no new tests.
2986
2987         * rendering/TextAutosizer.cpp:
2988         (WebCore::TextAutosizer::clusterMultiplier):
2989
2990                 Calculates the font size multiplier for the specified cluster.
2991
2992         (WebCore::TextAutosizer::processClusterInternal):
2993
2994                 Accepts the font size multiplier instead of |shouldBeAutosized|.
2995
2996         (WebCore::TextAutosizer::processCluster):
2997         (WebCore::TextAutosizer::processCompositeCluster):
2998
2999                 Both methods above now calculate the multiplier and then pass it to
3000                 processClusterInternal.
3001
3002         * rendering/TextAutosizer.h:
3003
3004                 Updated method declarations.
3005
3006 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
3007
3008         [BlackBerry] Use KURL::protocolIsInHTTPFamily instead of KURL::protocolInHTTPFamily
3009         https://bugs.webkit.org/show_bug.cgi?id=110581
3010
3011         Reviewed by Rob Buis.
3012
3013         KURL::protocolInHTTPFamily() was removed in r109670.
3014
3015         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3016         (WebCore::ResourceRequest::clearHTTPContentLength):
3017         (WebCore::ResourceRequest::clearHTTPContentType):
3018
3019 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3020
3021         Unreviewed build-fix after r143744.
3022
3023         * dom/Document.cpp:
3024         (WebCore::Document::updateHoverActiveState):
3025
3026 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
3027
3028         Web Inspector: [Canvas] throttle replayTraceLog messages to backend
3029         https://bugs.webkit.org/show_bug.cgi?id=110591
3030
3031         Reviewed by Pavel Feldman.
3032
3033         The replayTraceLog message may be quite expensive. So, while such a request is processed by the
3034         backend, user may well generate a dozen of new ones simply by walking through the DataGrid.
3035         We should actually send to the backend only the last event from the queue.
3036
3037         * inspector/front-end/CanvasProfileView.js:
3038         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
3039         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
3040
3041 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3042
3043         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
3044         https://bugs.webkit.org/show_bug.cgi?id=110609
3045
3046         Reviewed by Antonio Gomes.
3047
3048         Revert r128869. InnerNode may now again be from a child document, 
3049         and should be handled and not asserted against.
3050
3051         * dom/Document.cpp:
3052         (WebCore::Document::updateHoverActiveState):
3053
3054 2013-02-22  Andreas Kling  <akling@apple.com>
3055
3056         Element: Make updateName/updateId/updateLabel private.
3057         <http://webkit.org/b/110603>
3058
3059         Reviewed by Antti Koivisto.
3060
3061         These methods are only called from inside Element so make them private and
3062         move them to the .cpp file.
3063
3064         * dom/Element.cpp:
3065         (WebCore::Element::updateName):
3066         (WebCore::Element::updateId):
3067         * dom/Element.h:
3068
3069 2013-02-21  Zhenyao Mo  <zmo@google.com>
3070
3071         Roll ANGLE to r1833
3072         https://bugs.webkit.org/show_bug.cgi?id=110513
3073
3074         Reviewed by Kenneth Russell.
3075
3076         * CMakeLists.txt:
3077         * GNUmakefile.list.am:
3078
3079 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
3080
3081         [BlackBerry] Rename first/second to key/value in HashMap iterators
3082         https://bugs.webkit.org/show_bug.cgi?id=110577
3083
3084         Reviewed by Rob Buis.
3085
3086         Iterators were renamed to key/value in r130612.
3087
3088         * platform/blackberry/AuthenticationChallengeManager.cpp:
3089         (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
3090         * platform/network/blackberry/NetworkJob.cpp:
3091         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
3092
3093 2013-02-22  Kentaro Hara  <haraken@chromium.org>
3094
3095         [V8] Add comments to checkTypeOrDieTrying()
3096         https://bugs.webkit.org/show_bug.cgi?id=110553
3097
3098         Reviewed by Adam Barth.
3099
3100         It is mysterious how the check is helpful. We need comments.
3101
3102         No tests. Just added comments.
3103
3104         * bindings/scripts/CodeGeneratorV8.pm:
3105         (GenerateImplementation):
3106         * bindings/v8/ScriptWrappable.h:
3107         (ScriptWrappable):
3108
3109 2013-02-22  Jessie Berlin  <jberlin@apple.com>
3110
3111         32-bit build fix after r143706
3112
3113         * fileapi/FileReaderLoader.cpp:
3114         (WebCore::FileReaderLoader::didReceiveData):
3115
3116 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
3117
3118         Web Inspector: [Canvas] do no show a single frame node in data grid
3119         https://bugs.webkit.org/show_bug.cgi?id=110473
3120
3121         Reviewed by Pavel Feldman.
3122
3123         In a single canvas frame capture mode do not show the single "Frame #1" node.
3124         Drive-by: Fix a wrong "this" pointer.
3125
3126         * inspector/front-end/CanvasProfileView.js:
3127         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
3128         (WebInspector.CanvasProfileView.prototype.appendDrawCallGroup):
3129         (WebInspector.CanvasProfileView.prototype._flattenSingleFrameNode):
3130
3131 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3132
3133         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
3134         https://bugs.webkit.org/show_bug.cgi?id=110609
3135
3136         Reviewed by Antonio Gomes.
3137
3138         Point based hit tests should not append but assign HitTestResults.
3139
3140         * rendering/RenderFrameBase.cpp:
3141         (WebCore::RenderFrameBase::nodeAtPoint):
3142
3143 2013-02-22  Andrey Lushnikov  <lushnikov@chromium.org>
3144
3145         Web Inspector: show source location after drawer views
3146         https://bugs.webkit.org/show_bug.cgi?id=110156
3147
3148         Reviewed by Pavel Feldman.
3149
3150         - Add statusBarText method
3151         - Add #drawer-view-anchor, which determines layout position of
3152         drawerView
3153         - Fix layout in #panel-status-bar to avoid floating elements.
3154
3155         No new tests.
3156
3157         * inspector/front-end/Panel.js:
3158         (WebInspector.Panel.prototype.wasShown): Add statusBarItems before
3159         drawer-view-anchor and statusBarText after.
3160         (WebInspector.Panel.prototype.willHide): Remove statusBarText from DOM in the
3161         way it's done for statusBarItems
3162         * inspector/front-end/ScriptsPanel.js:
3163         (WebInspector.ScriptsPanel.prototype.statusBarText): Added.
3164         * inspector/front-end/SourceFrame.js:
3165         (WebInspector.SourceFrame.prototype.statusBarText): Added.
3166         (WebInspector.SourceFrame.prototype.statusBarItems):
3167         * inspector/front-end/TimelinePanel.js:
3168         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3169         * inspector/front-end/View.js:
3170         (WebInspector.View.prototype.statusBarText):
3171         * inspector/front-end/inspector.css:
3172         (#drawer-view-anchor):
3173         (.source-frame-cursor-position):
3174         * inspector/front-end/inspector.html:
3175         * inspector/front-end/inspector.js:
3176         (WebInspector.showViewInDrawer):
3177         * inspector/front-end/timelinePanel.css:
3178         (.timeline-records-stats):
3179         (.timeline-records-stats-container):
3180
3181 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3182
3183         Allow child-frame content in hit-tests.
3184         https://bugs.webkit.org/show_bug.cgi?id=95204
3185
3186         Reviewed by Julien Chaffraix.
3187
3188         Refactors how EventHandler::hitTestResultAtPoint handles child-frame content,
3189         it is now handled by the hit test itself controlled by the AllowChildFrameContent
3190         flag in HitTestRequest.
3191
3192         This means that area-based hit-tests can now return elements from all the child frames
3193         they intersect instead of just the one frame containing the center point. The improved
3194         results from area-based hit-tests will among other things also improve touch adjustment
3195         near frame boundaries.
3196
3197         Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html
3198
3199         * page/EventHandler.cpp:
3200         (WebCore::EventHandler::hitTestResultAtPoint):
3201             Recursion into child-frames have been moved to RenderFrameBase::nodeAtPoint, so
3202             now hitTestResultAtPoint just needs to set AllowChildFrameContent.
3203         * page/TouchAdjustment.cpp:
3204         (WebCore::TouchAdjustment::parentShadowHostOrOwner):
3205             New function to iterate up across frame boundaries.
3206         (WebCore::TouchAdjustment::compileSubtargetList):
3207             We need to iterate up across frame boundaries to avoid iframes competing with their
3208             own content for touch adjustment.
3209         * rendering/HitTestRequest.h:
3210         (WebCore::HitTestRequest::allowsChildFrameContent):
3211         (WebCore::HitTestRequest::isChildFrameHitTest):
3212         * rendering/HitTestResult.cpp:
3213         (WebCore::HitTestResult::HitTestResult):
3214         (WebCore::HitTestResult::operator=):
3215         (WebCore::HitTestResult::append):
3216         (WebCore::HitTestResult::dictationAlternatives):
3217         * rendering/HitTestResult.h:
3218         (WebCore::HitTestResult::pointInMainFrame):
3219         (WebCore::HitTestResult::pointInInnerNodeFrame):
3220         (HitTestResult):
3221             m_hitTestLocation is now in main frame coordinates, which make m_pointInMainFrame
3222             unnecessary, but requires the introduction of m_pointInInnerFrame, to remember
3223             the coordinates of inner-node in its own frame.
3224         * rendering/RenderFrameBase.cpp:
3225         (WebCore::RenderFrameBase::nodeAtPoint):
3226             The recursion into child-frames is now handled here instead of in hitTestResultAtPoint, this
3227             allows us to recurse into multiple frames, instead of just one.
3228         * rendering/RenderFrameBase.h:
3229         (RenderFrameBase):
3230         * rendering/RenderLayer.cpp:
3231         (WebCore::RenderLayer::hitTest):
3232             RenderLayer should not lie about being hit if the request is child-frame request.
3233         * testing/Internals.cpp:
3234         (WebCore::Internals::nodesFromRect):
3235         * testing/Internals.h:
3236         (Internals):
3237         * testing/Internals.idl:
3238             Extended so nodesFromRect with child-frame content can be tested.
3239
3240 2013-02-22  Andreas Kling  <akling@apple.com>
3241
3242         ShareableElementData should use zero-length array for storage.
3243         <http://webkit.org/b/109959>
3244
3245         Reviewed by Anders Carlsson.
3246
3247         Use a zero-length Attribute array instead of always casting from void* to an array.
3248         It was done this way originally because I didn't know we could sidestep the MSVC
3249         build error with some #pragma hackery and a default constructor for Attribute.
3250
3251         * dom/Attribute.cpp:
3252         (WebCore::Attribute::Attribute):
3253         * dom/DocumentSharedObjectPool.cpp:
3254         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
3255         * dom/Element.cpp:
3256         (WebCore::sizeForShareableElementDataWithAttributeCount):
3257         (WebCore::ShareableElementData::ShareableElementData):
3258         (WebCore::ShareableElementData::~ShareableElementData):
3259         (WebCore::UniqueElementData::UniqueElementData):
3260         * dom/Element.h:
3261         (ShareableElementData):
3262         (WebCore::ElementData::attributeItem):
3263
3264 2013-02-22  Andreas Kling  <akling@apple.com>
3265
3266         Remove unused declaration: Element::removeCachedHTMLCollection()
3267
3268         Not reviewed by Antti Koivisto.
3269
3270         * dom/Element.h:
3271         (Element):
3272
3273 2013-02-22  Keishi Hattori  <keishi@webkit.org>
3274
3275         Add scroll view for new calendar picker
3276         https://bugs.webkit.org/show_bug.cgi?id=110137
3277
3278         Reviewed by Kent Tamura.
3279
3280         Adding a scroll view class as part of the new calendar picker (Bug 109439).
3281
3282         No new tests. Code not yet used.
3283
3284         * Resources/pagepopups/calendarPicker.js:
3285         (View):
3286         (View.prototype.offsetRelativeTo): Returns the offset position of this view relative to the given ancestor element.
3287         (View.prototype.attachTo): Attaches view to a node or view.
3288         (View.prototype.bindCallbackMethods): Binds all methods starting with "on" to this.
3289         (ScrollView): A custom scroll view that can contain extremely long content. CSS values have a limit. This can go beyond that.
3290         (ScrollView.prototype.setWidth): Sets the view width.
3291         (ScrollView.prototype.width):
3292         (ScrollView.prototype.setHeight):Sets the view height.
3293         (ScrollView.prototype.height):
3294         (ScrollView.prototype.onScrollAnimatorStep): Callback for scroll animator step.
3295         (ScrollView.prototype.scrollTo): Scrolls to a certain offset.
3296         (ScrollView.prototype.scrollBy): Scrolls by a certain amount.
3297         (ScrollView.prototype.contentOffset): Current content offset.
3298         (ScrollView.prototype.onMouseWheel): Scroll with the mouse wheel.
3299         (ScrollView.prototype.setContentOffset): Sets the content offset.
3300         (ScrollView.prototype.contentPositionForContentOffset): Returns where the content element should be positioned.
3301
3302 2013-02-22  Alexander Pavlov  <apavlov@chromium.org>
3303
3304         Web Inspector: InspectorPageAgent::disable() should not update view metrics regardless of the override state
3305         https://bugs.webkit.org/show_bug.cgi?id=110593
3306
3307         Reviewed by Vsevolod Vlasov.
3308
3309         InspectorPageAgent::disable() now checks if the device metrics are overridden before
3310         telling the client to disable the override.
3311
3312         * inspector/InspectorPageAgent.cpp:
3313         (WebCore::InspectorPageAgent::disable):
3314         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
3315         (WebCore::InspectorPageAgent::deviceMetricsChanged):
3316         * inspector/InspectorPageAgent.h:
3317         (InspectorPageAgent):
3318
3319 2013-02-22  Zan Dobersek  <zdobersek@igalia.com>
3320
3321         Unreviewed, rolling out r143695.
3322         http://trac.webkit.org/changeset/143695
3323         https://bugs.webkit.org/show_bug.cgi?id=110554
3324
3325         Crashes in DocumentLoader::checkLoadComplete on AppleMac WK1, EFL, GTK.
3326
3327         * loader/DocumentLoader.cpp:
3328         (WebCore::DocumentLoader::isLoading):
3329
3330 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
3331
3332         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
3333         https://bugs.webkit.org/show_bug.cgi?id=109824
3334
3335         Reviewed by Andreas Kling.
3336
3337         Avoid ugly ifdefs by using PlatformGraphicsContext.
3338
3339         No new tests, only refactoring.
3340
3341         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3342         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
3343         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3344         (CoordinatedGraphicsScene):
3345
3346 2013-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3347
3348         Unreviewed. Fix make distcheck.
3349
3350         * GNUmakefile.am: Add CodeGeneratorInspectorStrings.py to
3351         EXTRA_DIST.
3352
3353 2013-02-22  Andreas Kling  <akling@apple.com>
3354
3355         GlyphPage: ALWAYS_INLINE all performance-relevant getters.
3356
3357         REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
3358         <http://webkit.org/b/108835>
3359
3360         Reviewed by Antti Koivisto.
3361
3362         Unreviewed desperate hack. Since I can't reproduce the problem and it's only showing
3363         up on two bots, one Linux and one Snow Leopard, I'm thinking it may be GCC related.
3364         Let's see what happens if we tell it to force inline all the GlyphPage getters.
3365
3366         * platform/graphics/GlyphPage.h:
3367         (WebCore::GlyphPage::indexForCharacter):
3368         (WebCore::GlyphPage::glyphDataForCharacter):
3369         (WebCore::GlyphPage::glyphDataForIndex):
3370         (WebCore::GlyphPage::glyphAt):
3371         (WebCore::GlyphPage::fontDataForCharacter):
3372
3373 2013-02-22  Zach Kuznia  <zork@chromium.org>
3374
3375         Update FileReaderLoader to allow specifying a range and reading as a blob.
3376         https://bugs.webkit.org/show_bug.cgi?id=110556
3377
3378         This is part of a series of patches to implement Stream support.  See:
3379         https://bugs.webkit.org/show_bug.cgi?id=110194
3380
3381         Reviewed by Hajime Morrita.
3382
3383         Tests: will be added when js binding is added.
3384
3385         * fileapi/FileReaderLoader.cpp:
3386         * fileapi/FileReaderLoader.h:
3387
3388 2013-02-22  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3389
3390         [WebGL][EFL] Support for creating surface with alpha disabled.
3391         https://bugs.webkit.org/show_bug.cgi?id=110067
3392
3393         Reviewed by Kenneth Rohde Christiansen.
3394
3395         Covered by compositing/webgl/webgl-no-alpha.html
3396
3397         We currently always create a surface supporting alpha channel. 
3398         With this patch we create the surface with alpha only if
3399         required.
3400
3401         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3402         (WebCore::GraphicsContext3DPrivate::initialize):
3403         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3404         (GraphicsContext3DPrivate):
3405         * platform/graphics/opengl/GLPlatformSurface.cpp:
3406         (WebCore::GLPlatformSurface::createOffScreenSurface):
3407         (WebCore::GLPlatformSurface::createTransportSurface):
3408         (WebCore::GLPlatformSurface::GLPlatformSurface):
3409         (WebCore::GLPlatformSurface::attributes):
3410         (WebCore):
3411         * platform/graphics/opengl/GLPlatformSurface.h:
3412         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
3413         (WebCore):
3414         (WebCore::EGLConfigSelector::EGLConfigSelector):
3415         (WebCore::EGLConfigSelector::pBufferContextConfig):
3416         (WebCore::EGLConfigSelector::surfaceContextConfig):
3417         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
3418         (EGLConfigSelector):
3419         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3420         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3421