[CSS Regions] Break after doesn't work correctly with auto-height regions
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-13  Andrei Bucur  <abucur@adobe.com>
2
3         [CSS Regions] Break after doesn't work correctly with auto-height regions
4         https://bugs.webkit.org/show_bug.cgi?id=112241
5
6         Reviewed by David Hyatt.
7
8         The change correctly returns the break position during the normal layout phase for
9         auto-height regions. The problem doesn't exist during the constrained layout phase
10         so it only affects the size of the auto-height regions by incorrectly positioning
11         the content inside the flow.
12
13         Test: fast/regions/autoheight-break-after.html
14
15         * rendering/RenderBlock.cpp:
16         (WebCore::RenderBlock::applyAfterBreak): Include the margin offset in the returned break position.
17
18 2013-03-12  Andrey Kosyakov  <caseq@chromium.org>
19
20         Web Inspector: coalesce repeating timeline records
21         https://bugs.webkit.org/show_bug.cgi?id=112168
22
23         Reviewed by Vsevolod Vlasov.
24
25         - coalesce repeating top-level timeline events;
26         - drive-by: only show categories that actually took time in aggregated stats;
27
28         * English.lproj/localizedStrings.js:
29         * inspector/front-end/TimelineFrameController.js:
30         (WebInspector.TimelineFrameController.prototype._innerAddRecord):
31         * inspector/front-end/TimelinePanel.js:
32         (WebInspector.TimelinePanel.prototype._highlightRect):
33         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
34         * inspector/front-end/TimelinePresentationModel.js:
35         (WebInspector.TimelinePresentationModel.prototype.reset):
36         (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
37         (WebInspector.TimelinePresentationModel.prototype._updateAncestorStats):
38         (WebInspector.TimelinePresentationModel.prototype._findCoalescedParent):
39         (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):
40         (WebInspector.TimelinePresentationModel.Record):
41         (WebInspector.TimelinePresentationModel.adoptRecord):
42         (WebInspector.TimelinePresentationModel.insertRetrospectiveRecord):
43         (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime):
44         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
45         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
46         (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
47
48 2013-03-13  Philip Rogers  <pdr@google.com>
49
50         Fix body background image geometry calculation
51         https://bugs.webkit.org/show_bug.cgi?id=112226
52
53         Reviewed by Stephen Chenney.
54
55         Images that depend on a container size require a call to set the container size before
56         rendering, and a call to look up the correct image during painting.
57
58         The body's renderer is special in that it may not be the renderer that actually paints its
59         background. This patch fixes a bug where the correct RenderObject was used for looking up
60         the image, but not for setting the container size. This fixes SVG background images on body.
61
62         Test: svg/as-background-image/svg-as-background-body.html
63
64         * rendering/RenderBoxModelObject.cpp:
65         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
66         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
67
68             This change introduces clientForBackgroundImage in the background geometry calculation.
69             This is very similar to how the client is looked up in paintFillLayerExtended.
70
71         * rendering/RenderBoxModelObject.h:
72
73             The new signature for calculateBackgroundImageGeometry now mirrors
74             paintFillLayerExtended, containing a parameter for the correct background renderer.
75
76         (RenderBoxModelObject):
77
78 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
79
80         Web Inspector: [CodeMirror] Handle "enter" key in {|} situation
81         https://bugs.webkit.org/show_bug.cgi?id=112153
82
83         Reviewed by Vsevolod Vlasov.
84
85         Add a keymap to handle "Enter" key and override it in case of {|}
86         situation.
87
88         No new tests.
89
90         * inspector/front-end/CodeMirrorTextEditor.js:
91         (WebInspector.CodeMirrorTextEditor):
92         (WebInspector.CodeMirrorTextEditor.BlockIndentController):
93         (WebInspector.CodeMirrorTextEditor.BlockIndentController.prototype.Enter):
94
95 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
96
97         Web Inspector: [CodeMirror] bug with LineWidgets
98         https://bugs.webkit.org/show_bug.cgi?id=111978
99
100         Reviewed by Vsevolod Vlasov.
101
102         Implement CodeMirrorTextEditor.beginUpdates and
103         CodeMirrorTextEditor.endUpdates and surround decoration creation
104         with the beginUpdates/endUpdates calls.
105
106         No new tests.
107
108         * inspector/front-end/CodeMirrorTextEditor.js:
109         (WebInspector.CodeMirrorTextEditor):
110         (WebInspector.CodeMirrorTextEditor.prototype.beginUpdates):
111         (WebInspector.CodeMirrorTextEditor.prototype.endUpdates):
112         * inspector/front-end/SourceFrame.js:
113         (WebInspector.SourceFrame.prototype.addMessageToSource):
114
115 2013-03-13  Pavel Feldman  <pfeldman@chromium.org>
116
117         Web Inspector: get rid of hiddenPanels filter
118         https://bugs.webkit.org/show_bug.cgi?id=112252
119
120         Reviewed by Vsevolod Vlasov.
121
122         * WebCore.order:
123         * inspector/InspectorFrontendClient.h:
124         (InspectorFrontendClient):
125         * inspector/InspectorFrontendHost.cpp:
126         * inspector/InspectorFrontendHost.h:
127         (InspectorFrontendHost):
128         * inspector/InspectorFrontendHost.idl:
129         * inspector/front-end/InspectorFrontendHostStub.js:
130         * inspector/front-end/externs.js:
131         * inspector/front-end/inspector.js:
132         (WebInspector._panelDescriptors):
133         * testing/Internals.cpp:
134
135 2013-03-13  Pavel Feldman  <pfeldman@chromium.org>
136
137         Web Inspector: convert workers inspection into capability
138         https://bugs.webkit.org/show_bug.cgi?id=112251
139
140         Reviewed by Vsevolod Vlasov.
141
142         It should be up to backend
143
144         * inspector/Inspector.json:
145         * inspector/InspectorFrontendClient.h:
146         (InspectorFrontendClient):
147         * inspector/InspectorFrontendClientLocal.h:
148         * inspector/InspectorFrontendHost.cpp:
149         * inspector/InspectorFrontendHost.h:
150         (InspectorFrontendHost):
151         * inspector/InspectorFrontendHost.idl:
152         * inspector/InspectorWorkerAgent.cpp:
153         (WebCore::InspectorWorkerAgent::canInspectWorkers):
154         (WebCore):
155         * inspector/InspectorWorkerAgent.h:
156         (InspectorWorkerAgent):
157         * inspector/front-end/InspectorFrontendHostStub.js:
158         * inspector/front-end/Settings.js:
159         * inspector/front-end/externs.js:
160         * inspector/front-end/inspector.js:
161         (WebInspector.doLoadedDone):
162
163 2013-03-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
164
165         [EFL] Start using evas object directly in Widget class
166         https://bugs.webkit.org/show_bug.cgi?id=111858
167
168         Reviewed by Antonio Gomes.
169
170         Based on a patch by Kenneth Rohde Christiansen.
171
172         EFL Widget class should use evas object pointer directly rather
173         than WidgetPrivate* m_data as platformWidget() is a Mac specific
174         implementation detail that they are moving away from with WebKit2.
175
176         This patch brings: firstly better compliance with other ports,
177         secondly it makes code cleaner.
178
179         Besides, the evasObject is only directly used in the ScrollbarEfl
180         subclass of Widget and not in Widget or ScrollView or any other subclass,
181         thus the evas_object code has now been concentrated in ScrollbarEfl.
182
183         No new tests as there are no behavioral changes.
184
185         * page/efl/EventHandlerEfl.cpp:
186         * platform/Widget.h:
187         (Widget):
188         (WebCore::Widget::evasObject):
189         * platform/efl/ScrollbarEfl.cpp:
190         (ScrollbarEfl::~ScrollbarEfl):
191         (scrollbarEflEdjeMessage):
192         (ScrollbarEfl::show):
193         (ScrollbarEfl::hide):
194         (ScrollbarEfl::setParent):
195         (ScrollbarEfl::updateThumbPositionAndProportion):
196         (ScrollbarEfl::frameRectsChanged):
197         * platform/efl/ScrollbarEfl.h:
198         (ScrollbarEfl):
199         * platform/efl/WidgetEfl.cpp:
200         (WebCore::Widget::Widget):
201         (WebCore::Widget::~Widget):
202         (WebCore::Widget::frameRectsChanged):
203         (WebCore::Widget::show):
204         (WebCore::Widget::hide):
205         (WebCore::Widget::setEvasObject):
206         * plugins/efl/PluginViewEfl.cpp:
207         (WebCore::PluginView::platformGetValue):
208
209 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
210
211         Web Inspector: [CodeMirror] token highlight still has some problems
212         https://bugs.webkit.org/show_bug.cgi?id=112173
213
214         Reviewed by Vsevolod Vlasov.
215
216         Use pseudo elements with borders to draw token highlight.
217
218         No new tests.
219
220         * inspector/front-end/cm/cmdevtools.css:
221         (.cm-token-highlight):
222         (.cm-token-highlight:before):
223         (.cm-line-with-selection .cm-column-with-selection:before):
224
225 2013-03-13  Alberto Garcia  <agarcia@igalia.com>
226
227         [BlackBerry] SimpleFontData: remove duplicate code
228         https://bugs.webkit.org/show_bug.cgi?id=112149
229
230         Reviewed by Carlos Garcia Campos.
231
232         smallCapsFontData() and emphasisMarkFontData() were moved from
233         platform specific files into platform/graphics/SimpleFontData.cpp
234         in r133362, so the BlackBerry port no longer needs its own
235         implementation.
236
237         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
238
239 2013-03-13  Ilya Tikhonovsky  <loislo@chromium.org>
240
241         Web Inspector: throw an exception if the requested lazy loaded script does not exist.
242         https://bugs.webkit.org/show_bug.cgi?id=112237
243
244         Reviewed by Pavel Feldman.
245
246         * inspector/front-end/utilities.js:
247
248 2013-03-13  Mike West  <mkwst@chromium.org>
249
250         Pass the XSSAuditor's report URL to the XSSAuditorDelegate on the main thread.
251         https://bugs.webkit.org/show_bug.cgi?id=112179
252
253         Reviewed by Adam Barth.
254
255         Rather than relying on XSSInfo objects to move the XSSAuditor's report
256         URL into the XSSAuditorDelegate for reporting, we should be able to grab
257         the URL directly from XSSAuditor before it moves off the main thread,
258         and store it on the delegate.
259
260         This will enable us to drop the report URL properties from both
261         XSSAuditor and XSSInfo. Oh, happy day!
262
263         * html/parser/BackgroundHTMLParser.cpp:
264         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
265             We no longer need to check whether XSSInfo objects are thread safe,
266             as we've dropped the only problematic bit.
267         * html/parser/HTMLDocumentParser.cpp:
268         (WebCore::HTMLDocumentParser::pumpTokenizer):
269         (WebCore::HTMLDocumentParser::startBackgroundParser):
270         * html/parser/XSSAuditor.cpp:
271         (WebCore::XSSAuditor::init):
272             When initializing the XSSAuditor, pass in an XSSAuditorDelegate*
273             and assign the report URL directly onto that object.
274         (WebCore::XSSAuditor::filterToken):
275             Drop the report URL parameter from XSSInfo objects we create in the
276             Auditor, as they're now handled directly from the delegate.
277         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
278             Drop the report URL property from XSSAuditor's threadsafeness check,
279             as properties that do not exist are automatically thread-safe.
280         * html/parser/XSSAuditorDelegate.cpp:
281         (WebCore::XSSAuditorDelegate::didBlockScript):
282             Use the delegate's own report URL rather than the XSSInfo objects'.
283         * html/parser/XSSAuditorDelegate.h:
284         (WebCore::XSSInfo::create):
285         (WebCore::XSSInfo::XSSInfo):
286             Drop the report URL property from XSSInfo.
287         (WebCore::XSSAuditorDelegate::setReportURL):
288         (XSSAuditorDelegate):
289             Provide a public API for setting a delegate's report URL.
290
291 2013-03-13  Mike West  <mkwst@chromium.org>
292
293         Unsafe JavaScript attempt errors are ludicrously verbose and annoying
294         https://bugs.webkit.org/show_bug.cgi?id=112042
295
296         Reviewed by Timothy Hatcher.
297
298         This patch attempts to make the most common case of error message less
299         ludicrous by adjusting it to include only an origin as opposed to full
300         URLs for the active and target frames. It now reads: "Blocked a frame
301         with origin 'http://127.0.0.1:8000' from accessing a frame with origin
302         'http://localhost:8000'. Protocols, domains, and ports must match."
303
304         In the interest of keeping the patch size down, I'll follow up on the
305         other cases (sandboxed access, 'document.domain' mismatches, etc) in
306         future patches.
307
308         * page/DOMWindow.cpp:
309         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
310
311 2013-03-13  Takashi Sakamoto  <tasak@google.com>
312
313         Implement :scope for element.querySelector[All]()
314         https://bugs.webkit.org/show_bug.cgi?id=81069
315
316         Reviewed by Dimitri Glazkov.
317
318         Implemented :scope for element.querySelector[All]().
319         Reuse scope in SelectorCheckingContext and added a new value to
320         enum BehaviorAtBoundary.
321         :scope spec is http://dev.w3.org/csswg/selectors4/#scope-pseudo.
322
323         Test: fast/selectors/querySelector-scope.html
324
325         * css/CSSSelector.cpp:
326         (WebCore::CSSSelector::pseudoId):
327         (WebCore::nameToPseudoTypeMap):
328         (WebCore::CSSSelector::extractPseudoType):
329         Added :scope pseudo type.
330         * css/CSSSelector.h:
331         * css/SelectorChecker.cpp:
332         (WebCore::SelectorChecker::match):
333         (WebCore::SelectorChecker::checkOne):
334         Added PseudoScope case and modified "scope" meaning when
335         behaviorAtBoundary is equal to StaysWithinTreeScope.
336         If so, "scope" is just a contextual reference node.
337         * css/SelectorChecker.h:
338         * dom/SelectorQuery.cpp:
339         (WebCore::SelectorDataList::selectorMatches):
340         (WebCore::SelectorDataList::matches):
341         (WebCore::SelectorDataList::execute):
342         Use rootNode as a contextual reference node.
343         * dom/SelectorQuery.h:
344         (SelectorDataList):
345
346 2013-03-13  Alberto Garcia  <agarcia@igalia.com>
347
348         [BlackBerry] FontPlatformData: remove TextOrientation parameter
349         https://bugs.webkit.org/show_bug.cgi?id=112135
350
351         Reviewed by Rob Buis.
352
353         This doesn't exist since r136520.
354
355         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
356         (WebCore::FontCache::createFontPlatformData):
357         * platform/graphics/blackberry/FontCustomPlatformData.h:
358         (FontCustomPlatformData):
359         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
360         (WebCore::FontCustomPlatformData::fontPlatformData):
361         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
362         (WebCore::FontPlatformData::FontPlatformData):
363         (WebCore::FontPlatformData::applyState):
364         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
365         (WebCore::SimpleFontData::createScaledFontData):
366
367 2013-03-12  Antti Koivisto  <antti@apple.com>
368
369         Basic child obscuration test for backgrounds
370         https://bugs.webkit.org/show_bug.cgi?id=111701
371
372         Reviewed by Simon Fraser.
373         
374         Test: fast/repaint/obscured-background-no-repaint.html
375
376         We can easily detect some simple cases where a background image is fully obscured by an opaque child.
377         
378         This avoids unncessary painting and image decoding. It is especially helpful for cases like about.com home
379         page where a fully obscured 'loading' spinner keeps triggering frequent complex repaints (gif animations
380         progress by getting painted and stop if they are not).
381         
382         This could be made way more sophisticated. The checking could also be done per-layout rather per-paint.
383         Even this simple approach gets hit surprisingly often in real world sites.
384
385         * rendering/RenderBox.cpp:
386         (WebCore::RenderBox::backgroundIsObscured):
387         
388             Before painting background test if any single child renderer fully obscures it.
389
390         (WebCore::RenderBox::backgroundIsOpaqueInRect):
391         * rendering/RenderBox.h:
392
393 2013-03-12  Hayato Ito  <hayato@chromium.org>
394
395         [Crash] Touch Events retargeting causes crashes on chrome on android.
396         https://bugs.webkit.org/show_bug.cgi?id=112210
397
398         Reviewed by Dimitri Glazkov.
399
400         Added null-check for TouchEvent's touches(), targetTouches() and changedTouches().
401
402         No new tests - no new functionality.
403
404         * dom/EventRetargeter.cpp:
405         (WebCore::EventRetargeter::adjustForTouchEvent):
406         (WebCore::EventRetargeter::adjustTouchList):
407         * dom/EventRetargeter.h:
408
409 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
410
411         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
412
413         * platform/RunLoopTimer.h: Removed.
414
415 2013-03-12  Huang Dongsung  <luxtella@company100.net>
416
417         Coordinated Graphics: Remove CoordinatedGraphicsLayer::setRootLayer().
418         https://bugs.webkit.org/show_bug.cgi?id=111835
419
420         Reviewed by Luiz Agostini.
421
422         This patch removes CoordinatedGraphicsLayer::setRootLayer() because
423         CoordinatedGraphicsScene already knows which layer is root.
424
425         No new tests, no behavior change.
426
427         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
428         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
429         (CoordinatedGraphicsLayer):
430         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
431         (WebCore::CoordinatedGraphicsScene::setLayerState):
432         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
433         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
434
435 2013-03-12  Jun Jiang  <jun.a.jiang@intel.com>
436
437         Enable GPU-GPU texture copy in texImage2D() for HTMLVideoElement if hardware accelerated video decode is in use
438         https://bugs.webkit.org/show_bug.cgi?id=111126
439
440         Reviewed by Kenneth Russell.
441
442         In texImage2D() for HTMLVideoElement in WebGL, it is possible to do a GPU-GPU texture copy instead of CPU readback
443         and upload when videoFrame is in the form of textures. Each platform port needs to implement the interface
444         copyVideoTextureToPlatformTexture() defined in MediaPlayer.h to make it work.
445  
446         Already covered by current tests.
447
448         * html/HTMLVideoElement.cpp:
449         (WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture):
450         * html/HTMLVideoElement.h:
451         (HTMLVideoElement):
452         * html/canvas/WebGLRenderingContext.cpp:
453         (WebCore::WebGLRenderingContext::videoFrameToImage): Move some security check to upper level.
454         (WebCore::WebGLRenderingContext::texImage2D): Add the fast GPU-GPU textures copy path for HTMLVideoElement and some security check.
455         (WebCore::WebGLRenderingContext::texSubImage2D): Add some security check.
456         * html/canvas/WebGLTexture.cpp:
457         (WebCore::WebGLTexture::isValid): Added to check if the texture is defined at the given level.
458         * html/canvas/WebGLTexture.h:
459         (WebGLTexture):
460         * platform/graphics/MediaPlayer.cpp:
461         (WebCore::MediaPlayer::copyVideoTextureToPlatformTexture): Added to do the GPU-GPU textures copy.
462         * platform/graphics/MediaPlayer.h:
463         (MediaPlayer):
464         * platform/graphics/MediaPlayerPrivate.h:
465         (WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture):
466
467 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
468
469         Unreviewed, rolling out r145280.
470         http://trac.webkit.org/changeset/145280
471         https://bugs.webkit.org/show_bug.cgi?id=112217
472
473         This patch broke chromium WebGL conformance tests (Requested
474         by shawnsingh on #webkit).
475
476         * platform/graphics/gpu/DrawingBuffer.cpp:
477         (WebCore::DrawingBuffer::reset):
478         * platform/graphics/gpu/DrawingBuffer.h:
479         (DrawingBuffer):
480
481 2013-03-12  Dean Jackson  <dino@apple.com>
482
483         Don't send events to plugins that are being snapshotted
484         https://bugs.webkit.org/show_bug.cgi?id=112215
485         <rdar://problem/13386224>
486
487         Reviewed by Tim Horton.
488
489         If a plugin is in the process of being snapshotted, do not forward it
490         any events. This avoids the case where we can accidentally capture some
491         custom mouse pointers, as well as trigger a plugin menu.
492
493         The next step will be to detect if the event should stop the snapshotting
494         (restart the plugin).
495
496         * html/HTMLPlugInElement.cpp:
497         (WebCore::HTMLPlugInElement::defaultEventHandler): Return early if the plugin is snapshotting.
498
499 2013-03-12  Tim Horton  <timothy_horton@apple.com>
500
501         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
502
503         * WebCore.vcproj/WebCore.vcproj:
504         * WebCore.vcxproj/WebCore.vcxproj:
505         * WebCore.vcxproj/WebCore.vcxproj.filters:
506
507 2013-03-12  James Robinson  <jamesr@chromium.org>
508
509         Fix Gamepad::axes and Gamepad::buttons to avoid calling std::copy(..., ..., 0)
510         https://bugs.webkit.org/show_bug.cgi?id=89510
511
512         Reviewed by Kenneth Russell.
513
514         WTF::Vector::begin() returns 0 when the vector has length zero. On windows, the debug implementation of
515         std::copy() is unhappy with 0 as a third parameter even when the first and second parameters are equal.
516
517         Covered by gamepad/gamepad-polling-access.html
518
519         * Modules/gamepad/Gamepad.cpp:
520         (WebCore::Gamepad::axes):
521         (WebCore::Gamepad::buttons):
522
523 2013-03-12  Elliott Sprehn  <esprehn@chromium.org>
524
525         Remove TextIterator.cpp's isAllCollapsibleWhitespace
526         https://bugs.webkit.org/show_bug.cgi?id=112200
527
528         Reviewed by Ryosuke Niwa.
529
530         Remove isAllCollapsibleWhitespace since nothing uses it.
531
532         * editing/TextIterator.cpp: Remove isAllCollapsibleWhitespace.
533
534 2013-03-12  Bear Travis  <betravis@adobe.com>
535
536         [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
537         https://bugs.webkit.org/show_bug.cgi?id=110995
538
539         Reviewed by Julien Chaffraix.
540
541         This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
542         which enables us to move away from the global ExclusionShapeInsideInfo map.
543         Some additional refactoring was done to remove ExclusionShapeInsideInfo's
544         dependency on InlineIterator, which depended on RenderBlock. This work required
545         adding a new LineSegmentIterator struct.
546
547         Refactoring, no new tests.
548
549         * rendering/ExclusionShapeInsideInfo.cpp:
550         (WebCore):
551         (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
552         constructor to the .cpp file, as InlineIterator is now forward declared in
553         the .h file.
554         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
555         the .cpp file, as RenderBlock is now forward declared in the .h file.
556         * rendering/ExclusionShapeInsideInfo.h:
557         (WebCore):
558         (LineSegmentIterator): A simple struct for containing segment positions for
559         layout.
560         (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
561         (LineSegmentRange): Transitioning to store LineSegmentIterator.
562         (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
563         (ExclusionShapeInsideInfo):
564         * rendering/RenderBlock.cpp:
565         (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
566         its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
567         (WebCore):
568         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
569         the RenderBlockRareData struct rather than the global map.
570         * rendering/RenderBlock.h:
571         (WebCore):
572         (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
573         is present if the shape-inside style is set.
574         (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
575         the current block.
576         (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
577         for the current block.
578         (RenderBlockRareData): Add the ExclusionShapeInsideInfo member. Move the struct
579         declaration to be public, so that the OwnPtr reference can properly delete it.
580         * rendering/RenderBlockLineLayout.cpp:
581         (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
582         layout based on the stored LineSegmentIterators.
583
584 2013-03-12  James Robinson  <jamesr@chromium.org>
585
586         Build fix for r145592 - update gyp files to refer to new file locations.
587
588         * WebCore.gypi:
589
590 2013-03-12  Benjamin Poulain  <bpoulain@apple.com>
591
592         Add a single character cache to WidthCache
593         https://bugs.webkit.org/show_bug.cgi?id=112084
594
595         Reviewed by Geoffrey Garen.
596
597         More than half of the values stored in WidthCache are values
598         for a single character.
599
600         Previously, we were creating a new SmallStringKey for each one of
601         them, causing a lot of extra memory operations even for the simple
602         cases.
603
604         This patch adds a second map, m_singleCharMap, to simplify the
605         computation for the common case of a single char TextRun.
606
607         * platform/graphics/WidthCache.h:
608         (WebCore::WidthCache::clear):
609         (WidthCache):
610         (WebCore::WidthCache::addSlowCase):
611
612 2013-03-12  Philip Rogers  <pdr@google.com>
613
614         Replace static_casts for SVG transformable and locatable elements
615         https://bugs.webkit.org/show_bug.cgi?id=111651
616
617         Reviewed by Abhishek Arya.
618
619         toSVGStyledTransformableElement and toSVGStyledLocatableElement are preferred over
620         static_casts because bad casts can be caught on our testing infrastructure. This patch
621         replaces all static_casts for SVGStyledTransformableElement and SVGStyledLocatableElement
622         with toSVGStyledTransformableElement and toSVGStyledLocatableElement, respectively.
623
624         No new tests as this is covered with existing tests.
625
626         * rendering/svg/RenderSVGResourceClipper.cpp:
627         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
628         * rendering/svg/RenderSVGResourceContainer.cpp:
629         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
630         * rendering/svg/RenderSVGShape.cpp:
631         (WebCore::RenderSVGShape::updateShapeFromElement):
632         (WebCore::RenderSVGShape::layout):
633         (WebCore::RenderSVGShape::nonScalingStrokeTransform):
634         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
635         * rendering/svg/RenderSVGTransformableContainer.cpp:
636         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
637         * svg/SVGAnimatedLength.cpp:
638         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
639
640             This was an unnecessary cast and has been removed.
641
642         * svg/SVGElement.cpp:
643         (WebCore::SVGElement::getBoundingBox):
644         * svg/SVGLocatable.cpp:
645         (WebCore::SVGLocatable::getTransformToElement):
646         * svg/SVGStyledLocatableElement.h:
647         (WebCore):
648         (WebCore::toSVGStyledLocatableElement):
649         * svg/SVGStyledTransformableElement.h:
650         (WebCore):
651         (WebCore::toSVGStyledTransformableElement):
652
653             It makes the code cleaner to pass Node* in here, rather than converting the Node*
654             to an SVGElement* before calling this function. The same was not necessary for
655             SVGStyledLocatable.
656
657         * svg/SVGSVGElement.h:
658         (WebCore):
659         (WebCore::toSVGSVGElement):
660
661             This code has been cleaned up. During the review of this patch, a similar cleanup
662             was done in toSVGStyledTransformableElement.
663
664         * svg/SVGUseElement.cpp:
665         (WebCore::SVGUseElement::toClipPath):
666
667 2013-03-12  Abhishek Arya  <inferno@chromium.org>
668
669         Replace static_casts with to* helper functions.
670         https://bugs.webkit.org/show_bug.cgi?id=112164
671
672         Reviewed by Philip Rogers.
673
674         to* helper functions are preferred over static_cast calls since they
675         help to catch bad casts easily on the testing infrastructure.
676
677         * css/ElementRuleCollector.cpp:
678         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
679         * platform/gtk/PasteboardGtk.cpp:
680         (WebCore::getURLForImageNode):
681         (WebCore::Pasteboard::writeImage):
682         * platform/gtk/RenderThemeGtk.cpp:
683         (WebCore::getMediaElementFromRenderObject):
684         * platform/qt/RenderThemeQtMobile.cpp:
685         (WebCore::RenderThemeQtMobile::checkMultiple):
686         * rendering/HitTestResult.cpp:
687         (WebCore::HitTestResult::title):
688         (WebCore::HitTestResult::absoluteImageURL):
689         (WebCore::HitTestResult::absolutePDFURL):
690         * rendering/RenderLayer.cpp:
691         (WebCore::RenderLayer::resize):
692         (WebCore::RenderLayer::hitTest):
693         * rendering/RenderMenuList.cpp:
694         (WebCore::RenderMenuList::valueChanged):
695         * rendering/RenderObject.cpp:
696         (WebCore::RenderObject::addPDFURLRect):
697         * rendering/RenderPart.cpp:
698         (WebCore::RenderPart::requiresAcceleratedCompositing):
699         * rendering/RenderRegion.cpp:
700         (WebCore::RenderRegion::checkRegionStyle):
701         * rendering/RenderTableCell.cpp:
702         (WebCore::RenderTableCell::computePreferredLogicalWidths):
703         * rendering/RenderTheme.cpp:
704         (WebCore::RenderTheme::isEnabled):
705         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
706         (WebCore::RenderTheme::isHovered):
707         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
708         (WebCore::RenderTheme::paintSliderTicks):
709         * rendering/RenderThemeWinCE.cpp:
710         (WebCore::mediaElementParent):
711         * rendering/RenderTreeAsText.cpp:
712         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
713         (WebCore::RenderTreeAsText::writeRenderObject):
714         (WebCore::writeRenderRegionList):
715         * rendering/svg/SVGRenderTreeAsText.cpp:
716         (WebCore::writeSVGResourceContainer):
717
718 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
719
720         Moved RunLoopTimer and SchedulePair to WTF
721         https://bugs.webkit.org/show_bug.cgi?id=112171
722
723         Reviewed by Oliver Hunt.
724
725         This will allow us to use timers in lower level primitives without
726         duplicating all the code.
727
728         * WebCore.exp.in:
729         * WebCore.xcodeproj/project.pbxproj:
730         * loader/DocumentLoader.h:
731         (WTF):
732         (WebCore):
733         (DocumentLoader):
734         * loader/MainResourceLoader.h:
735         * page/Page.h:
736         * platform/AutodrainedPool.h: Removed.
737         * platform/cf/RunLoopTimerCF.cpp: Removed.
738         * platform/cf/SchedulePair.cpp: Removed.
739         * platform/cf/SchedulePair.h: Removed.
740         * platform/mac/AutodrainedPool.mm: Removed.
741         * platform/mac/SchedulePairMac.mm: Removed.
742         * platform/network/NetworkingContext.h:
743         * platform/network/ResourceHandle.h:
744         (WTF):
745         (WebCore):
746         (ResourceHandle):
747         * platform/network/cf/FormDataStreamCFNet.cpp:
748         * platform/network/mac/ResourceHandleMac.mm:
749
750 2013-03-12  Christian Biesinger  <cbiesinger@chromium.org>
751
752         Mac: Incorrect rendering of <audio> controls
753         https://bugs.webkit.org/show_bug.cgi?id=110913
754
755         Reviewed by Tony Chang.
756
757         Covered by existing tests under media/.
758
759         * css/mediaControls.css:
760         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
761         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
762         The timeline container and the timeline need min-width: 0 so that they can shrink if needed.
763         * css/mediaControlsQuickTime.css:
764         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
765         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
766         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
767         The timeline container also needs flex-start to ensure that it never overlaps
768         the play/rewind buttons. The current-time and remaining-time displays need min-width: 0 so that the hack
769         in RenderMediaControls.cpp works correctly - otherwise, RenderFlexibleBox tries to use the preferred width
770         of the time displays, which is wrong when they try to hide themselves.
771
772 2013-03-12  Alexey Proskuryakov  <ap@apple.com>
773
774         Improve logging in ResourceHandleMac.mm
775         https://bugs.webkit.org/show_bug.cgi?id=112185
776
777         Reviewed by Brady Eidson.
778
779         * platform/network/mac/ResourceHandleMac.mm:
780         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Removed an obsolete #if.
781         (WebCore::ResourceHandle::receivedCredential):
782         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
783         (WebCore::ResourceHandle::receivedCancellation):
784         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): Added a FIXME.
785         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
786
787         * platform/network/mac/ResourceResponseMac.mm: Removed an unneeded include.
788
789 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
790
791         Unreviewed, rolling out r145554.
792         http://trac.webkit.org/changeset/145554
793         https://bugs.webkit.org/show_bug.cgi?id=112182
794
795         Breaks several extension browser tests (see bug for details)
796         (Requested by jamesr on #webkit).
797
798         * bindings/scripts/CodeGeneratorV8.pm:
799         (GenerateHeader):
800         (GenerateDomainSafeFunctionGetter):
801         (GenerateImplementation):
802         (CreateCustomSignature):
803         * bindings/scripts/test/V8/V8Float64Array.cpp:
804         (WebCore::ConfigureV8Float64ArrayTemplate):
805         (WebCore::V8Float64Array::GetTemplate):
806         (WebCore::V8Float64Array::HasInstance):
807         * bindings/scripts/test/V8/V8Float64Array.h:
808         (V8Float64Array):
809         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
810         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
811         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
812         (WebCore::V8TestActiveDOMObject::GetTemplate):
813         (WebCore::V8TestActiveDOMObject::HasInstance):
814         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
815         (V8TestActiveDOMObject):
816         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
817         (WebCore::V8TestCustomNamedGetter::GetTemplate):
818         (WebCore::V8TestCustomNamedGetter::HasInstance):
819         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
820         (V8TestCustomNamedGetter):
821         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
822         (WebCore::V8TestEventConstructor::GetTemplate):
823         (WebCore::V8TestEventConstructor::HasInstance):
824         * bindings/scripts/test/V8/V8TestEventConstructor.h:
825         (V8TestEventConstructor):
826         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
827         (WebCore::ConfigureV8TestEventTargetTemplate):
828         (WebCore::V8TestEventTarget::GetTemplate):
829         (WebCore::V8TestEventTarget::HasInstance):
830         * bindings/scripts/test/V8/V8TestEventTarget.h:
831         (V8TestEventTarget):
832         * bindings/scripts/test/V8/V8TestException.cpp:
833         (WebCore::V8TestException::GetTemplate):
834         (WebCore::V8TestException::HasInstance):
835         * bindings/scripts/test/V8/V8TestException.h:
836         (V8TestException):
837         * bindings/scripts/test/V8/V8TestInterface.cpp:
838         (WebCore::ConfigureV8TestInterfaceTemplate):
839         (WebCore::V8TestInterface::GetTemplate):
840         (WebCore::V8TestInterface::HasInstance):
841         * bindings/scripts/test/V8/V8TestInterface.h:
842         (V8TestInterface):
843         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
844         (WebCore::V8TestMediaQueryListListener::GetTemplate):
845         (WebCore::V8TestMediaQueryListListener::HasInstance):
846         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
847         (V8TestMediaQueryListListener):
848         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
849         (WebCore::V8TestNamedConstructor::GetTemplate):
850         (WebCore::V8TestNamedConstructor::HasInstance):
851         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
852         (V8TestNamedConstructor):
853         * bindings/scripts/test/V8/V8TestNode.cpp:
854         (WebCore::V8TestNode::GetTemplate):
855         (WebCore::V8TestNode::HasInstance):
856         * bindings/scripts/test/V8/V8TestNode.h:
857         (V8TestNode):
858         * bindings/scripts/test/V8/V8TestObj.cpp:
859         (WebCore::ConfigureV8TestObjTemplate):
860         (WebCore::V8TestObj::GetTemplate):
861         (WebCore::V8TestObj::HasInstance):
862         * bindings/scripts/test/V8/V8TestObj.h:
863         (V8TestObj):
864         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
865         (WebCore::V8TestOverloadedConstructors::GetTemplate):
866         (WebCore::V8TestOverloadedConstructors::HasInstance):
867         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
868         (V8TestOverloadedConstructors):
869         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
870         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
871         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
872         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
873         (V8TestSerializedScriptValueInterface):
874         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
875         (WebCore::ConfigureV8TestTypedefsTemplate):
876         (WebCore::V8TestTypedefs::GetTemplate):
877         (WebCore::V8TestTypedefs::HasInstance):
878         * bindings/scripts/test/V8/V8TestTypedefs.h:
879         (V8TestTypedefs):
880         * bindings/v8/V8AdaptorFunction.cpp:
881         (WebCore::V8AdaptorFunction::getTemplate):
882         * bindings/v8/V8GCController.cpp:
883         * bindings/v8/V8PerIsolateData.cpp:
884         (WebCore::V8PerIsolateData::reportMemoryUsage):
885         (WebCore::V8PerIsolateData::privateTemplate):
886         (WebCore::V8PerIsolateData::rawTemplate):
887         (WebCore::V8PerIsolateData::hasInstance):
888         * bindings/v8/V8PerIsolateData.h:
889         (WebCore::V8PerIsolateData::rawTemplateMap):
890         (WebCore::V8PerIsolateData::templateMap):
891         (V8PerIsolateData):
892         * bindings/v8/WrapperTypeInfo.h:
893         * bindings/v8/custom/V8LocationCustom.cpp:
894         (WebCore::V8Location::reloadAttrGetterCustom):
895         (WebCore::V8Location::replaceAttrGetterCustom):
896         (WebCore::V8Location::assignAttrGetterCustom):
897         * bindings/v8/custom/V8NodeListCustom.cpp:
898         (WebCore::V8NodeList::opaqueRootForGC):
899
900 2013-03-12  Gavin Peters  <gavinp@chromium.org>
901
902         [chromium] Use lipo(1) rather than file(1) to list library architectures.
903         https://bugs.webkit.org/show_bug.cgi?id=111147
904
905         Parsing file(1) output can be fragile; this patch replaces a use of file(1) to get
906         the architecture list of a library with an invocation of lipo(1), which should be more
907         stable.
908
909         Reviewed by Nico Weber.
910
911         No new tests, since adjust_visibility.sh doesn't have a test.
912
913         * WebCore.gyp/mac/adjust_visibility.sh:
914
915 2013-03-12  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
916
917         Webkit unable to show gifs with applcation extension string shorter than 11 bytes
918         https://bugs.webkit.org/show_bug.cgi?id=110620
919
920         Reviewed by Laszlo Gombos.
921
922         Use actual block size for gifs application extension string even if it is below 11 bytes 
923         to be able to decode this kind of gifs.
924
925         Test: fast/images/gif-short-app-extension-string.html
926
927         * platform/image-decoders/gif/GIFImageReader.cpp:
928         (GIFImageReader::decodeInternal):
929
930 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
931
932         Unreviewed, rolling out r145277.
933         http://trac.webkit.org/changeset/145277
934         https://bugs.webkit.org/show_bug.cgi?id=112170
935
936         chromium-gpu and android testers are seeing failures/crashes
937         relating to this code (Requested by eseidel on #webkit).
938
939         * html/parser/BackgroundHTMLInputStream.cpp:
940         (WebCore::BackgroundHTMLInputStream::rewindTo):
941         * html/parser/BackgroundHTMLInputStream.h:
942         (BackgroundHTMLInputStream):
943         (Checkpoint):
944         * html/parser/BackgroundHTMLParser.cpp:
945         * html/parser/BackgroundHTMLParser.h:
946         (BackgroundHTMLParser):
947         * html/parser/HTMLDocumentParser.cpp:
948         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
949
950 2013-03-12  Simon Fraser  <simon.fraser@apple.com>
951
952         Keep track of the number of GraphicsLayers with tiled backing in RenderLayerCompositor
953         https://bugs.webkit.org/show_bug.cgi?id=112083
954
955         Reviewed by Dean Jackson.
956
957         Have RenderLayerCompositor keep track of how many of its GraphicsLayers use TiledBacking.
958         This is useful for platforms to decide whether it's necessary to force GraphicsLayer flushes
959         to update the visibleRect of those TiledBackings.
960         
961         GraphicsLayers are always created without TiledBacking. There are two
962         ways the count can change:
963         1. A GraphicsLayerCA toggles into or out of tiled mode. It notifies its
964            client via a new tiledBackingUsageChanged() callback on GraphicsLayerClient.
965         2. A tiled GraphicsLayerCA is destroyed. Added a new bottleneck function to
966            RenderLayerBacking::willDestroyLayer() that is called everywhere we destroy layers.
967            
968         The main page TiledBacking is not counted as part of this.
969         
970         Also renamed uses of "tiledLayer" to "tiledBacking" in GraphicsLayer[CA].
971     
972         * platform/graphics/GraphicsLayer.cpp:
973         (WebCore::GraphicsLayer::GraphicsLayer):
974         (WebCore::GraphicsLayer::getDebugBorderInfo):
975         (WebCore::GraphicsLayer::dumpProperties):
976         * platform/graphics/GraphicsLayer.h:
977         (WebCore::GraphicsLayer::usingTiledBacking):
978         * platform/graphics/GraphicsLayerClient.h:
979         (WebCore::GraphicsLayerClient::tiledBackingUsageChanged):
980         * platform/graphics/ca/GraphicsLayerCA.cpp:
981         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
982         (WebCore::GraphicsLayerCA::updateGeometry):
983         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
984         (WebCore::GraphicsLayerCA::updateContentsScale):
985         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
986         * rendering/RenderLayerBacking.cpp:
987         (WebCore::RenderLayerBacking::willDestroyLayer):
988         (WebCore::RenderLayerBacking::tiledBackingUsageChanged):
989         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
990         (WebCore::RenderLayerBacking::updateClippingLayers):
991         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
992         (WebCore::RenderLayerBacking::updateForegroundLayer):
993         (WebCore::RenderLayerBacking::updateBackgroundLayer):
994         (WebCore::RenderLayerBacking::updateMaskLayer):
995         (WebCore::RenderLayerBacking::updateScrollingLayers):
996         (WebCore::RenderLayerBacking::compositingLayerType):
997         * rendering/RenderLayerBacking.h:
998         * rendering/RenderLayerCompositor.cpp:
999         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1000         (WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
1001         * rendering/RenderLayerCompositor.h:
1002         (WebCore::RenderLayerCompositor::haveNonMainLayersWithTiledBacking):
1003
1004 2013-03-12  Abhishek Arya  <inferno@chromium.org>
1005
1006         Replace static_casts with to* functions.
1007         https://bugs.webkit.org/show_bug.cgi?id=112072
1008
1009         Reviewed by Philip Rogers.
1010
1011         to* functions are preferred over static_cast calls since they
1012         help to catch bad casts easily on the testing infrastructure.
1013
1014         * accessibility/AccessibilityMenuList.cpp:
1015         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
1016         * bindings/objc/DOM.mm:
1017         (kitClass):
1018         * bindings/v8/V8LazyEventListener.cpp:
1019         (WebCore::V8LazyEventListener::prepareListenerObject):
1020         * css/SelectorChecker.cpp:
1021         (WebCore::SelectorChecker::checkOne):
1022         * editing/ApplyStyleCommand.cpp:
1023         (WebCore::isLegacyAppleStyleSpan):
1024         (WebCore::isEmptyFontTag):
1025         (WebCore::ApplyStyleCommand::applyBlockStyle):
1026         * editing/FormatBlockCommand.cpp:
1027         (WebCore::isElementForFormatBlock):
1028         * editing/ReplaceSelectionCommand.cpp:
1029         (WebCore::isMailPasteAsQuotationNode):
1030         (WebCore::haveSameTagName):
1031         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1032         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
1033         * history/CachedPage.cpp:
1034         (WebCore::CachedPage::restore):
1035         * html/ColorInputType.cpp:
1036         (WebCore::ColorInputType::suggestions):
1037         * html/HTMLTableRowsCollection.cpp:
1038         (WebCore::isInHead):
1039         (WebCore::isInBody):
1040         (WebCore::isInFoot):
1041         * inspector/DOMPatchSupport.cpp:
1042         (WebCore::DOMPatchSupport::innerPatchNode):
1043         * page/PageSerializer.cpp:
1044         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
1045         * plugins/PluginView.cpp:
1046         (WebCore::PluginView::getValue):
1047         * rendering/RenderEmbeddedObject.cpp:
1048         (WebCore::RenderEmbeddedObject::paintContents):
1049         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
1050         * rendering/RenderLayer.cpp:
1051         (WebCore::RenderLayer::name):
1052         * rendering/RenderMedia.cpp:
1053         (WebCore::RenderMedia::mediaElement):
1054         * rendering/RenderSearchField.cpp:
1055         (WebCore::RenderSearchField::autosaveName):
1056         * rendering/RenderTextControl.cpp:
1057         (WebCore::RenderTextControl::textFormControlElement):
1058         (WebCore::updateUserModifyProperty):
1059         * rendering/mathml/RenderMathMLFenced.cpp:
1060         (WebCore::RenderMathMLFenced::updateFromElement):
1061         * rendering/mathml/RenderMathMLFraction.cpp:
1062         (WebCore::RenderMathMLFraction::updateFromElement):
1063         * xml/parser/XMLDocumentParserLibxml2.cpp:
1064         (WebCore::XMLDocumentParser::XMLDocumentParser):
1065         (WebCore::XMLDocumentParser::endElementNs):
1066
1067 2013-03-12  Zan Dobersek  <zdobersek@igalia.com>
1068
1069         [GTK] Remove HILDON_CPPFLAGS and HILDON_CFLAGS references from GNUmakefiles
1070         https://bugs.webkit.org/show_bug.cgi?id=112163
1071
1072         Reviewed by Martin Robinson.
1073
1074         No new tests - no new functionality, merely a cleanup.
1075
1076         * GNUmakefile.am: The Hildon dependency doesn't exist anymore so there's no need for
1077         references to HILDON_CPPFLAGS and HILDON_CFLAGS.
1078
1079 2013-03-12  Pavel Feldman  <pfeldman@chromium.org>
1080
1081         Not reviewed: removing GtkVersioning from chromium targets.
1082
1083         * WebCore.gypi:
1084
1085 2013-03-12  Marja Hölttä  <marja@chromium.org>
1086
1087         [V8] Store main world and non-main world templates separately.
1088         https://bugs.webkit.org/show_bug.cgi?id=111724
1089
1090         Reviewed by Jochen Eisinger.
1091
1092         This is needed for generating specialized bindings for the main
1093         world (bug 110874).
1094
1095         No new tests (updated existing bindings tests).
1096
1097         * bindings/scripts/CodeGeneratorV8.pm:
1098         (GenerateHeader):
1099         (GenerateDomainSafeFunctionGetter):
1100         (GenerateImplementation):
1101         (CreateCustomSignature):
1102         * bindings/scripts/test/V8/V8Float64Array.cpp:
1103         (WebCore::ConfigureV8Float64ArrayTemplate):
1104         (WebCore::V8Float64Array::GetTemplate):
1105         (WebCore::V8Float64Array::HasInstance):
1106         * bindings/scripts/test/V8/V8Float64Array.h:
1107         (V8Float64Array):
1108         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1109         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1110         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1111         (WebCore::V8TestActiveDOMObject::GetTemplate):
1112         (WebCore::V8TestActiveDOMObject::HasInstance):
1113         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1114         (V8TestActiveDOMObject):
1115         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1116         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1117         (WebCore::V8TestCustomNamedGetter::HasInstance):
1118         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1119         (V8TestCustomNamedGetter):
1120         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1121         (WebCore::V8TestEventConstructor::GetTemplate):
1122         (WebCore::V8TestEventConstructor::HasInstance):
1123         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1124         (V8TestEventConstructor):
1125         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1126         (WebCore::ConfigureV8TestEventTargetTemplate):
1127         (WebCore::V8TestEventTarget::GetTemplate):
1128         (WebCore::V8TestEventTarget::HasInstance):
1129         * bindings/scripts/test/V8/V8TestEventTarget.h:
1130         (V8TestEventTarget):
1131         * bindings/scripts/test/V8/V8TestException.cpp:
1132         (WebCore::V8TestException::GetTemplate):
1133         (WebCore::V8TestException::HasInstance):
1134         * bindings/scripts/test/V8/V8TestException.h:
1135         (V8TestException):
1136         * bindings/scripts/test/V8/V8TestInterface.cpp:
1137         (WebCore::ConfigureV8TestInterfaceTemplate):
1138         (WebCore::V8TestInterface::GetTemplate):
1139         (WebCore::V8TestInterface::HasInstance):
1140         * bindings/scripts/test/V8/V8TestInterface.h:
1141         (V8TestInterface):
1142         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1143         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1144         (WebCore::V8TestMediaQueryListListener::HasInstance):
1145         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1146         (V8TestMediaQueryListListener):
1147         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1148         (WebCore::V8TestNamedConstructor::GetTemplate):
1149         (WebCore::V8TestNamedConstructor::HasInstance):
1150         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1151         (V8TestNamedConstructor):
1152         * bindings/scripts/test/V8/V8TestNode.cpp:
1153         (WebCore::V8TestNode::GetTemplate):
1154         (WebCore::V8TestNode::HasInstance):
1155         * bindings/scripts/test/V8/V8TestNode.h:
1156         (V8TestNode):
1157         * bindings/scripts/test/V8/V8TestObj.cpp:
1158         (WebCore::ConfigureV8TestObjTemplate):
1159         (WebCore::V8TestObj::GetTemplate):
1160         (WebCore::V8TestObj::HasInstance):
1161         * bindings/scripts/test/V8/V8TestObj.h:
1162         (V8TestObj):
1163         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1164         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1165         (WebCore::V8TestOverloadedConstructors::HasInstance):
1166         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1167         (V8TestOverloadedConstructors):
1168         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1169         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1170         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1171         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1172         (V8TestSerializedScriptValueInterface):
1173         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1174         (WebCore::ConfigureV8TestTypedefsTemplate):
1175         (WebCore::V8TestTypedefs::GetTemplate):
1176         (WebCore::V8TestTypedefs::HasInstance):
1177         * bindings/scripts/test/V8/V8TestTypedefs.h:
1178         (V8TestTypedefs):
1179         * bindings/v8/V8AdaptorFunction.cpp:
1180         (WebCore::V8AdaptorFunction::getTemplate):
1181         * bindings/v8/V8GCController.cpp:
1182         * bindings/v8/V8PerIsolateData.cpp:
1183         (WebCore::V8PerIsolateData::reportMemoryUsage):
1184         (WebCore::V8PerIsolateData::privateTemplate):
1185         (WebCore::V8PerIsolateData::rawTemplate):
1186         (WebCore::V8PerIsolateData::hasInstance):
1187         * bindings/v8/V8PerIsolateData.h:
1188         (WebCore::V8PerIsolateData::rawTemplateMap):
1189         (V8PerIsolateData):
1190         (WebCore::V8PerIsolateData::templateMap):
1191         * bindings/v8/WrapperTypeInfo.h:
1192         * bindings/v8/custom/V8LocationCustom.cpp:
1193         (WebCore::V8Location::reloadAttrGetterCustom):
1194         (WebCore::V8Location::replaceAttrGetterCustom):
1195         (WebCore::V8Location::assignAttrGetterCustom):
1196
1197 2013-03-12  Zan Dobersek  <zdobersek@igalia.com>
1198
1199         [GTK] Set up the libPlatformGtk.la library
1200         https://bugs.webkit.org/show_bug.cgi?id=111738
1201
1202         Reviewed by Martin Robinson.
1203
1204         No new tests - no new functionality.
1205
1206         * GNUmakefile.am: Reference platformgtk_cppflags, platformgtk_sources variables along with webcoregtk_cppflags, webcoregtk_sources variables.
1207         * GNUmakefile.list.am: Removing GtkVersioning.c and GtkVersioning.h from the sources list, these files have been moved under Source/Platform.
1208         * bindings/gobject/GNUmakefile.am: Ditto on the platformgtk_* variables.
1209
1210 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1211
1212         [BlackBerry] Image,ImageBuffer: add missing parameters to methods
1213         https://bugs.webkit.org/show_bug.cgi?id=112148
1214
1215         Reviewed by Rob Buis.
1216
1217         BitmapImage::draw(), Image::drawPattern() and ImageBuffer::draw()
1218         have a BlendMode parameter since r137011.
1219
1220         ImageBuffer::copyImage() has a ScaleBehavior parameter since r134100.
1221
1222         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1223         (WebCore::BitmapImage::draw):
1224         (WebCore::Image::drawPattern):
1225         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1226         (WebCore::ImageBuffer::copyImage):
1227         (WebCore::ImageBuffer::draw):
1228
1229 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1230
1231         [BlackBerry] MediaPlayerPrivate: fix call to MediaStreamDescriptor::label()
1232         https://bugs.webkit.org/show_bug.cgi?id=112140
1233
1234         Reviewed by Rob Buis.
1235
1236         MediaStreamDescriptor::id() was renamed to MediaStreamDescriptor::label() in r139352.
1237
1238         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1239         (WebCore::toWebMediaStreamDescriptor):
1240
1241 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1242
1243         Web Inspector: [REGRESSION] StepInto (F11) and StepOut (Shift-F11) shortcuts toggle Inspector window full-screen state
1244         https://bugs.webkit.org/show_bug.cgi?id=112113
1245
1246         Reviewed by Alexander Pavlov.
1247
1248         Updated handlers missed in first patch. Added JSDocs to all handlers.
1249
1250         * inspector/front-end/Panel.js: Fixed JSDocs.
1251         * inspector/front-end/CallStackSidebarPane.js:
1252         Added return values. Added JSDocs.
1253         * inspector/front-end/ScriptsPanel.js: Ditto.
1254         * inspector/front-end/GoToLineDialog.js: Added JSDocs.
1255         * inspector/front-end/TimelinePanel.js: Ditto.
1256
1257 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1258
1259         [BlackBerry] DisplayRefreshMonitor: rename m_timestamp back to m_monotonicAnimationStartTime
1260         https://bugs.webkit.org/show_bug.cgi?id=112139
1261
1262         Reviewed by Rob Buis.
1263
1264         This changed in r131131, but it was accidentally renamed back in r144465.
1265
1266         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
1267         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1268
1269 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1270
1271         [BlackBerry] FontPlatformData: HarfBuzz renaming
1272         https://bugs.webkit.org/show_bug.cgi?id=112142
1273
1274         Reviewed by Rob Buis.
1275
1276         When the old HarfBuzz code was removed in r141291,
1277         HarfBuzzNGFace.h was renamed to HarfBuzzFace.h and m_harfbuzzFace
1278         was renamed to m_harfBuzzFace.
1279
1280         These changes need to be reflected in the BlackBerry port.
1281
1282         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
1283         (WebCore::FontPlatformData::FontPlatformData):
1284         (WebCore::FontPlatformData::platformDataInit):
1285         (WebCore::FontPlatformData::platformDataAssign):
1286         (WebCore::FontPlatformData::harfBuzzFace):
1287
1288 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1289
1290         [BlackBerry] FontCacheBlackBerry: return PassRefPtr<SimpleFontData>
1291         https://bugs.webkit.org/show_bug.cgi?id=112022
1292
1293         Reviewed by Rob Buis.
1294
1295         FontData functions return PassRefPtr since r130160.
1296
1297         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
1298         (WebCore::FontCache::getFontDataForCharacters):
1299         (WebCore::FontCache::getSimilarFontPlatformData):
1300         (WebCore::FontCache::getLastResortFallbackFont):
1301         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
1302         (WebCore::SimpleFontData::createScaledFontData):
1303
1304 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1305
1306         Web Inspector: Fix checkContentUpdated behavior in UISourceCode.
1307         https://bugs.webkit.org/show_bug.cgi?id=112037
1308
1309         Reviewed by Alexander Pavlov.
1310
1311         UISourceCode.checkContentUpdated now saves last updated content that was loaded and rejected
1312         by user on the per-file basis (only the last one was saved currently).
1313
1314         * inspector/front-end/FileSystemProjectDelegate.js:
1315         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
1316         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
1317         (WebInspector.FileSystemProjectDelegate.prototype.canSetFileContent):
1318         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
1319         * inspector/front-end/SimpleWorkspaceProvider.js:
1320         (WebInspector.SimpleProjectDelegate.prototype.canSetFileContent):
1321         * inspector/front-end/UISourceCode.js:
1322         (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
1323         (WebInspector.UISourceCode.prototype.checkContentUpdated):
1324         (WebInspector.UISourceCode.prototype._commitContent):
1325         (WebInspector.UISourceCode.prototype.addRevision):
1326         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1327         * inspector/front-end/Workspace.js:
1328         (WebInspector.ProjectDelegate.prototype.canSetFileContent):
1329         (WebInspector.Project.prototype.canSetFileContent):
1330
1331 2013-03-12  Tomas Popela  <tpopela@redhat.com>
1332
1333         [Gtk] NBSP are not replaced when using X clipboard
1334         https://bugs.webkit.org/show_bug.cgi?id=112118
1335
1336         Reviewed by Martin Robinson.
1337
1338         We're not replacing nbsp with spaces when using X clipboard
1339         (Shift+Insert or middle mouse button).
1340
1341         * platform/gtk/DataObjectGtk.cpp:
1342         (WebCore::DataObjectGtk::text):
1343
1344 2013-03-12  Florin Malita  <fmalita@chromium.org>
1345
1346         SVG Pattern pixelated on inline SVG with CSS transforms
1347         https://bugs.webkit.org/show_bug.cgi?id=111587
1348
1349         Reviewed by Dirk Schulze.
1350
1351         When calculating the resolution for resource image buffers, we need to also consider CSS
1352         transforms. This patch updates calculateTransformationToOutermostSVGCoordinateSystem()
1353         (renamed to calculateTransformationToOutermostCoordinateSystem) to include the affine
1354         component from CSS transforms by walking the parent layer tree.        
1355
1356         Test: svg/custom/resources-css-scaled.html
1357
1358         * rendering/svg/RenderSVGResourceClipper.cpp:
1359         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1360         * rendering/svg/RenderSVGResourceFilter.cpp:
1361         (WebCore::RenderSVGResourceFilter::applyResource):
1362         * rendering/svg/RenderSVGResourceGradient.cpp:
1363         (WebCore::createMaskAndSwapContextForTextGradient):
1364         (WebCore::clipToTextMask):
1365         * rendering/svg/RenderSVGResourceMasker.cpp:
1366         (WebCore::RenderSVGResourceMasker::applyResource):
1367         * rendering/svg/RenderSVGResourcePattern.cpp:
1368         (WebCore::RenderSVGResourcePattern::buildPattern):
1369         * rendering/svg/SVGRenderingContext.cpp:
1370         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
1371         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
1372         * rendering/svg/SVGRenderingContext.h:
1373         (SVGRenderingContext):
1374
1375 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
1376
1377         Web Inspector: add html canvas memory details to the native memory overview
1378         https://bugs.webkit.org/show_bug.cgi?id=112123
1379
1380         Reviewed by Alexander Pavlov.
1381
1382         Show memory occupied vby HTMLCanvasElements under Image category
1383         in the native memory overview.
1384
1385         * inspector/front-end/NativeHeapSnapshot.js:
1386         (WebInspector.NativeHeapSnapshot.prototype.images.getImageName):
1387         (WebInspector.NativeHeapSnapshot.prototype.images.getCanvasName):
1388         (WebInspector.NativeHeapSnapshot.prototype.images):
1389         (WebInspector.NativeHeapSnapshot.prototype._addNodes):
1390
1391 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1392
1393         Web Inspector: ResourceScriptFile diverged state should be correctly reset after debugger reset.
1394         https://bugs.webkit.org/show_bug.cgi?id=112036
1395
1396         Reviewed by Alexander Pavlov.
1397
1398         * inspector/front-end/ResourceScriptMapping.js:
1399         (WebInspector.ResourceScriptFile):
1400         (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
1401         (WebInspector.ResourceScriptFile.prototype._maybeDirtyChanged):
1402
1403 2013-03-12  Marja Hölttä  <marja@chromium.org>
1404
1405         [V8] Move the GetRawTemplate and HasInstance logic from generated bindings to V8PerIsolateData
1406         https://bugs.webkit.org/show_bug.cgi?id=112136
1407
1408         Reviewed by Kentaro Hara.
1409
1410         When templates for main world and non-main worlds will be separated (bug
1411         111724), HasInstance logic will be a bit ugly: We cannot determine the
1412         world type on the fly, because during GC there is no entered context,
1413         and HasInstance is called during GC. So we need to check against
1414         templates from all the worlds. It's cleaner if that logic is in
1415         V8PerIsolateData.
1416
1417         No new tests (Updated existing bindings tests).
1418
1419         * bindings/scripts/CodeGeneratorV8.pm:
1420         (GenerateHeader):
1421         (GenerateDomainSafeFunctionGetter):
1422         (GenerateImplementation):
1423         (CreateCustomSignature):
1424         * bindings/scripts/test/V8/V8Float64Array.cpp:
1425         (WebCore::ConfigureV8Float64ArrayTemplate):
1426         (WebCore::V8Float64Array::GetTemplate):
1427         (WebCore::V8Float64Array::HasInstance):
1428         * bindings/scripts/test/V8/V8Float64Array.h:
1429         (V8Float64Array):
1430         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1431         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1432         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1433         (WebCore::V8TestActiveDOMObject::GetTemplate):
1434         (WebCore::V8TestActiveDOMObject::HasInstance):
1435         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1436         (V8TestActiveDOMObject):
1437         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1438         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1439         (WebCore::V8TestCustomNamedGetter::HasInstance):
1440         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1441         (V8TestCustomNamedGetter):
1442         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1443         (WebCore::V8TestEventConstructor::GetTemplate):
1444         (WebCore::V8TestEventConstructor::HasInstance):
1445         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1446         (V8TestEventConstructor):
1447         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1448         (WebCore::ConfigureV8TestEventTargetTemplate):
1449         (WebCore::V8TestEventTarget::GetTemplate):
1450         (WebCore::V8TestEventTarget::HasInstance):
1451         * bindings/scripts/test/V8/V8TestEventTarget.h:
1452         (V8TestEventTarget):
1453         * bindings/scripts/test/V8/V8TestException.cpp:
1454         (WebCore::V8TestException::GetTemplate):
1455         (WebCore::V8TestException::HasInstance):
1456         * bindings/scripts/test/V8/V8TestException.h:
1457         (V8TestException):
1458         * bindings/scripts/test/V8/V8TestInterface.cpp:
1459         (WebCore::ConfigureV8TestInterfaceTemplate):
1460         (WebCore::V8TestInterface::GetTemplate):
1461         (WebCore::V8TestInterface::HasInstance):
1462         * bindings/scripts/test/V8/V8TestInterface.h:
1463         (V8TestInterface):
1464         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1465         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1466         (WebCore::V8TestMediaQueryListListener::HasInstance):
1467         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1468         (V8TestMediaQueryListListener):
1469         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1470         (WebCore::V8TestNamedConstructor::GetTemplate):
1471         (WebCore::V8TestNamedConstructor::HasInstance):
1472         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1473         (V8TestNamedConstructor):
1474         * bindings/scripts/test/V8/V8TestNode.cpp:
1475         (WebCore::V8TestNode::GetTemplate):
1476         (WebCore::V8TestNode::HasInstance):
1477         * bindings/scripts/test/V8/V8TestNode.h:
1478         (V8TestNode):
1479         * bindings/scripts/test/V8/V8TestObj.cpp:
1480         (WebCore::ConfigureV8TestObjTemplate):
1481         (WebCore::V8TestObj::GetTemplate):
1482         (WebCore::V8TestObj::HasInstance):
1483         * bindings/scripts/test/V8/V8TestObj.h:
1484         (V8TestObj):
1485         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1486         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1487         (WebCore::V8TestOverloadedConstructors::HasInstance):
1488         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1489         (V8TestOverloadedConstructors):
1490         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1491         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1492         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1493         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1494         (V8TestSerializedScriptValueInterface):
1495         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1496         (WebCore::ConfigureV8TestTypedefsTemplate):
1497         (WebCore::V8TestTypedefs::GetTemplate):
1498         (WebCore::V8TestTypedefs::HasInstance):
1499         * bindings/scripts/test/V8/V8TestTypedefs.h:
1500         (V8TestTypedefs):
1501         * bindings/v8/V8PerIsolateData.cpp:
1502         (WebCore::V8PerIsolateData::rawTemplate):
1503         (WebCore):
1504         (WebCore::V8PerIsolateData::hasInstance):
1505         * bindings/v8/V8PerIsolateData.h:
1506         (V8PerIsolateData):
1507         * bindings/v8/custom/V8LocationCustom.cpp:
1508         (WebCore::V8Location::reloadAttrGetterCustom):
1509         (WebCore::V8Location::replaceAttrGetterCustom):
1510         (WebCore::V8Location::assignAttrGetterCustom):
1511
1512 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1513
1514         Web Inspector: Fix JSDocs in TimelinePanel.js
1515         https://bugs.webkit.org/show_bug.cgi?id=112137
1516
1517         Reviewed by Vsevolod Vlasov.
1518
1519         Fix parameter type annotation of _loadFromFile.
1520
1521         * inspector/front-end/TimelinePanel.js: Fixed JSDoc.
1522
1523 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1524
1525         Web Inspector: Add a test for Workspace add/removeMapping methods.
1526         https://bugs.webkit.org/show_bug.cgi?id=112035
1527
1528         Reviewed by Alexander Pavlov.
1529
1530         Test: inspector/debugger/file-system-project-mapping.html
1531
1532         * inspector/front-end/ScriptsPanel.js:
1533         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
1534         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
1535         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
1536         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
1537         * inspector/front-end/Workspace.js:
1538         (WebInspector.Project.prototype._fileAdded):
1539         (WebInspector.Workspace.prototype.addMapping):
1540
1541 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1542
1543         Web Inspector: SourceFrames are leaking on reload.
1544         https://bugs.webkit.org/show_bug.cgi?id=111961
1545
1546         Reviewed by Alexander Pavlov.
1547
1548         Added dispose method on UISourceCodeFrame.
1549         Scripts panel now calls dispose when SourceFrame is removed and JavaScriptSourceFrame
1550         could remove breakpoint manager listeners in it.
1551         TabbedEditorContainer does not call viewForFile other than in appendFileTab methods to 
1552         avoid recreating SourceFrame for uiSourceCode when it was already removed.
1553
1554         Test: inspector/debugger/breakpoint-manager-listeners-count.html
1555
1556         * inspector/front-end/JavaScriptSourceFrame.js:
1557         (WebInspector.JavaScriptSourceFrame.prototype.dispose):
1558         * inspector/front-end/ScriptsPanel.js:
1559         * inspector/front-end/TabbedEditorContainer.js:
1560         (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
1561         (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
1562         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1563         * inspector/front-end/UISourceCodeFrame.js:
1564         (WebInspector.UISourceCodeFrame.prototype.dispose):
1565
1566 2013-03-12  Alexander Pavlov  <apavlov@chromium.org>
1567
1568         Web Inspector: [Elements] Unable to undo "Edit as HTML" changes in the editor
1569         https://bugs.webkit.org/show_bug.cgi?id=112119
1570
1571         Reviewed by Vsevolod Vlasov.
1572
1573         No new tests, a UI change.
1574
1575         * inspector/front-end/ElementsPanel.js:
1576         (WebInspector.ElementsPanel.prototype.handleShortcut): Do not undo/redo DOM/CSS changes if editing DOM text.
1577         * inspector/front-end/ElementsTreeOutline.js:
1578         (WebInspector.ElementsTreeOutline.prototype.editing): Added.
1579
1580 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
1581
1582         Web Inspector: [CodeMirror] there are bugs in TokenHighlight feature
1583         https://bugs.webkit.org/show_bug.cgi?id=112039
1584
1585         Reviewed by Vsevolod Vlasov.
1586
1587         Fix token highlight in codeMirror experiment
1588         - rewrite token highlight overlay mode to highlight words, not
1589         substrings
1590         - add workaround to avoid selection of already selected word
1591
1592         No new tests.
1593
1594         * inspector/front-end/CodeMirrorTextEditor.js:
1595         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
1596         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
1597         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype.nextToken):
1598         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
1599         * inspector/front-end/cm/cmdevtools.css:
1600         (.line-with-selection .cm-column-with-selection):
1601
1602 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1603
1604         Unreviewed, rolling out r145514.
1605         http://trac.webkit.org/changeset/145514
1606         https://bugs.webkit.org/show_bug.cgi?id=112134
1607
1608         breaks Mac build (Requested by falken on #webkit).
1609
1610         * dom/Element.cpp:
1611         * dom/Element.h:
1612         * dom/EventDispatcher.cpp:
1613         (WebCore::EventDispatcher::dispatchSimulatedClick):
1614         * dom/GestureEvent.cpp:
1615         (WebCore::GestureEventDispatchMediator::dispatchEvent):
1616         * dom/MouseEvent.cpp:
1617         (WebCore::MouseEventDispatchMediator::dispatchEvent):
1618         * dom/Node.cpp:
1619         (WebCore):
1620         (WebCore::Node::isInert):
1621         (WebCore::Node::handleLocalEvents):
1622         (WebCore::Node::disabled):
1623         (WebCore::Node::willRespondToMouseMoveEvents):
1624         (WebCore::Node::willRespondToMouseClickEvents):
1625         (WebCore::Node::willRespondToTouchEvents):
1626         * dom/Node.h:
1627         (Node):
1628
1629 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
1630
1631         Web Inspector: [CodeMirror] highlight matching braces
1632         https://bugs.webkit.org/show_bug.cgi?id=112041
1633
1634         Reviewed by Vsevolod Vlasov.
1635
1636         Add "matchbrackets" add-on to CodeMirror text editor add override
1637         default styles for matched and unmatched braces.
1638
1639         No new tests.
1640
1641         * WebCore.gypi:
1642         * WebCore.vcproj/WebCore.vcproj:
1643         * WebCore.vcxproj/WebCore.vcxproj:
1644         * WebCore.vcxproj/WebCore.vcxproj.filters:
1645         * inspector/front-end/CodeMirrorTextEditor.js:
1646         (WebInspector.CodeMirrorTextEditor):
1647         * inspector/front-end/WebKit.qrc:
1648         * inspector/front-end/cm/cmdevtools.css:
1649         (.CodeMirror-matchingbracket):
1650         (.CodeMirror-nonmatchingbracket):
1651         * inspector/front-end/cm/matchbrackets.js: Added.
1652         (.):
1653
1654 2013-03-12  Matt Falkenhagen  <falken@chromium.org>
1655
1656         Refactoring: Pull Node::disabled() and Node::isInert() down to Element.
1657         https://bugs.webkit.org/show_bug.cgi?id=112085
1658
1659         Reviewed by Hajime Morrita.
1660
1661         Node is too low a level for these methods.
1662
1663         No new tests, just refactoring.
1664
1665         * dom/Element.cpp:
1666         (WebCore::Element::disabled):
1667         (WebCore):
1668         (WebCore::Element::isInert):
1669         * dom/Element.h:
1670         (Element):
1671         * dom/EventDispatcher.cpp:
1672         (WebCore::EventDispatcher::dispatchSimulatedClick):
1673         * dom/GestureEvent.cpp:
1674         (WebCore::GestureEventDispatchMediator::dispatchEvent):
1675         * dom/MouseEvent.cpp:
1676         (WebCore::MouseEventDispatchMediator::dispatchEvent):
1677         * dom/Node.cpp:
1678         (WebCore::Node::handleLocalEvents):
1679         (WebCore::Node::willRespondToMouseMoveEvents):
1680         (WebCore::Node::willRespondToMouseClickEvents):
1681         (WebCore::Node::willRespondToTouchEvents):
1682         * dom/Node.h:
1683         (Node):
1684
1685 2013-03-12  Marja Hölttä  <marja@chromium.org>
1686
1687         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
1688         https://bugs.webkit.org/show_bug.cgi?id=111971
1689
1690         Reviewed by Jochen Eisinger.
1691
1692         In the future we'll create and store function templates for main world
1693         and non-main worlds separately (see bug 111724), having function
1694         templates as static variables inside functions will break the
1695         functionality.
1696
1697         No new tests (updated the bindings test expectations).
1698
1699         * bindings/scripts/CodeGeneratorV8.pm:
1700         (GenerateDomainSafeFunctionGetter):
1701         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1702         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1703         * bindings/v8/V8PerIsolateData.cpp:
1704         (WebCore::V8PerIsolateData::V8PerIsolateData):
1705         (WebCore::V8PerIsolateData::privateTemplate):
1706         (WebCore):
1707         * bindings/v8/V8PerIsolateData.h:
1708         (V8PerIsolateData):
1709         * bindings/v8/custom/V8LocationCustom.cpp:
1710         (WebCore::V8Location::reloadAttrGetterCustom):
1711         (WebCore::V8Location::replaceAttrGetterCustom):
1712         (WebCore::V8Location::assignAttrGetterCustom):
1713
1714 2013-03-12  Takashi Sakamoto  <tasak@google.com>
1715
1716         [Refactoring] Implement RuleCollector
1717         https://bugs.webkit.org/show_bug.cgi?id=109916
1718
1719         Reviewed by Antti Koivisto.
1720
1721         Implemented rule collector for an element and collector for a page.
1722         Not all members in class State are required entire while resolving
1723         a style.
1724
1725         No new tests, because just refactoring.
1726
1727         * CMakeLists.txt:
1728         * GNUmakefile.list.am:
1729         * Target.pri:
1730         * WebCore.gypi:
1731         * WebCore.xcodeproj/project.pbxproj:
1732         * css/CSSAllInOne.cpp:
1733         Added ElementRuleCollector and PageRuleCollector.
1734         * css/DocumentRuleSets.cpp:
1735         (WebCore::ShadowDistributedRules::collectMatchRequests):
1736         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
1737         removed from here.
1738         * css/DocumentRuleSets.h:
1739         (WebCore::ShadowDistributedRules::isEmpty):
1740         Added to quickly check whether there exist any ShadowDistributedRules
1741         or not.
1742         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1743         (WebCore):
1744         (WebCore::ElementRuleCollector::matchedResult):
1745         (WebCore::ElementRuleCollector::matchedRuleList):
1746         (WebCore::ElementRuleCollector::addMatchedRule):
1747         (WebCore::ElementRuleCollector::clearMatchedRules):
1748         (WebCore::ElementRuleCollector::ensureRuleList):
1749         (WebCore::ElementRuleCollector::addElementStyleProperties):
1750         (WebCore::ElementRuleCollector::collectMatchingRules):
1751         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1752         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
1753         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1754         (WebCore::ElementRuleCollector::matchHostRules):
1755         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
1756         (WebCore::ElementRuleCollector::matchAuthorRules):
1757         (WebCore::ElementRuleCollector::matchUserRules):
1758         (WebCore::ElementRuleCollector::matchUARules):
1759         (WebCore::ElementRuleCollector::ruleMatches):
1760         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1761         (WebCore::ElementRuleCollector::sortMatchedRules):
1762         (WebCore::ElementRuleCollector::matchAllRules):
1763         Moved these methods from StyleResolver to this class.
1764         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
1765         This method is used for checking whether a given element can share
1766         a cache.
1767         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1768         (WebCore):
1769         (WebCore::ElementRuleCollector::ElementRuleCollector):
1770         Use styleResolver instance to initialize its member variables, i.e.
1771         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
1772         StyleScopedResolver.
1773         (ElementRuleCollector):
1774         (WebCore::ElementRuleCollector::setMode):
1775         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
1776         (WebCore::ElementRuleCollector::setSameOriginOnly):
1777         (WebCore::ElementRuleCollector::setRegionForStyling):
1778         Mode, SameOriginOnly, RegionForStyling are only used while collecting
1779         matched rules.
1780         (WebCore::ElementRuleCollector::setMedium):
1781         Need to know which default stylesheet should be looked up.
1782         (WebCore::ElementRuleCollector::document):
1783         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1784         (WebCore::comparePageRules):
1785         (WebCore::PageRuleCollector::isLeftPage):
1786         (WebCore::PageRuleCollector::isFirstPage):
1787         (WebCore::PageRuleCollector::pageName):
1788         (WebCore::PageRuleCollector::matchAllPageRules):
1789         (WebCore::PageRuleCollector::matchPageRules):
1790         (WebCore::checkPageSelectorComponents):
1791         (WebCore::PageRuleCollector::matchPageRulesForList):
1792         Moved from StyleResolver.
1793         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1794         (WebCore):
1795         (WebCore::PageRuleCollector::PageRuleCollector):
1796         (PageRuleCollector):
1797         (WebCore::PageRuleCollector::matchedResult):
1798         * css/StyleResolver.cpp:
1799         (WebCore):
1800         (WebCore::StyleResolver::State::clear):
1801         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1802         (WebCore::StyleResolver::State::initForStyleResolve):
1803         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1804         (WebCore::StyleResolver::styleForElement):
1805         (WebCore::StyleResolver::styleForKeyframe):
1806         (WebCore::StyleResolver::pseudoStyleForElement):
1807         (WebCore::StyleResolver::styleForPage):
1808         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1809         (WebCore::StyleResolver::applyMatchedProperties):
1810         * css/StyleResolver.h:
1811         (WebCore::MatchRequest::MatchRequest):
1812         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
1813         state.
1814         (MatchRequest):
1815         (WebCore::StyleResolver::selectorFilter):
1816         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
1817         (StyleResolver):
1818         (MatchResult):
1819         (WebCore::StyleResolver::State::State):
1820         To pass ASSERT in StyleResolver::applyProperties, need to keep
1821         m_regionForStyling.
1822         (State):
1823         (WebCore::StyleResolver::State::regionForStyling):
1824         (WebCore::StyleResolver::State::useSVGZoomRules):
1825         (WebCore::StyleResolver::hasSelectorForId):
1826         (WebCore):
1827         (WebCore::checkRegionSelector):
1828         * inspector/InspectorCSSAgent.cpp:
1829         (WebCore::InspectorCSSAgent::willMatchRule):
1830         Removed StyleResolver from its parameter list. Instead, added
1831         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
1832         * inspector/InspectorCSSAgent.h:
1833         (WebCore):
1834         (InspectorCSSAgent):
1835         * inspector/InspectorInstrumentation.cpp:
1836         (WebCore):
1837         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1838         * inspector/InspectorInstrumentation.h:
1839         (WebCore):
1840         (InspectorInstrumentation):
1841         (WebCore::InspectorInstrumentation::willMatchRule):
1842
1843 2013-03-12  Floris Bos  <bos@je-eigen-domein.nl>
1844
1845         [Qt] WebKit fails to compile if EGL headers are not in default INCLUDEPATH
1846         https://bugs.webkit.org/show_bug.cgi?id=111859
1847
1848         Reviewed by Jocelyn Turcotte.
1849
1850         The 3D graphics code wants to include EGL header files.
1851         But on some platforms such as the Raspberry Pi those are not in /usr/include
1852         but in another folder.
1853         Fix adds "egl" to CONFIG when OpenGL ES2 is used, so the right include
1854         paths are added.
1855
1856         * WebCore.pri:
1857
1858 2013-03-12  Mike West  <mkwst@chromium.org>
1859
1860         XSSAuditor should send only one console error when blocking a page.
1861         https://bugs.webkit.org/show_bug.cgi?id=110733
1862
1863         Reviewed by Daniel Bates.
1864
1865         Currently, we send two console errors when XSSAuditor blocks a page:
1866         "Refused to execute a JavaScript script. Source code of script found
1867         within request.\n", and "Entire page will be blocked.".
1868
1869         We should only send one message, tuning it properly for the context, and
1870         including the URL of the page effected by the XSSAuditor's work.
1871
1872         Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.
1873
1874         * html/parser/XSSAuditor.cpp:
1875         * html/parser/XSSAuditor.h:
1876         (WebCore::XSSAuditor::XSSAuditor):
1877             Add two booleans to track the headers used to set the XSSAuditor state.
1878         (WebCore::XSSAuditor::init):
1879         (WebCore::XSSAuditor::filterToken):
1880             Add detail about the header status to the constructed XSSInfo object.
1881         * html/parser/XSSAuditorDelegate.cpp:
1882         (WebCore::buildConsoleError):
1883             Move message construction out into a separate inlined function, as
1884             it's becoming complex.
1885         (WebCore::XSSAuditorDelegate::didBlockScript):
1886             Fold the "Entire page will be blocked" message into the main console
1887             error.
1888         * html/parser/XSSAuditorDelegate.h:
1889         (WebCore::XSSInfo::create):
1890         (WebCore::XSSInfo::XSSInfo):
1891             Add detail about header status to XSSInfo in order to correctly
1892             construct the console error.
1893
1894 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1895
1896         Unreviewed, rolling out r145494.
1897         http://trac.webkit.org/changeset/145494
1898         https://bugs.webkit.org/show_bug.cgi?id=112117
1899
1900         Breaks Chromium Mac (Requested by pfeldman on #webkit).
1901
1902         * bindings/scripts/CodeGeneratorV8.pm:
1903         (GenerateDomainSafeFunctionGetter):
1904         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1905         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1906         * bindings/v8/V8PerIsolateData.cpp:
1907         (WebCore::V8PerIsolateData::V8PerIsolateData):
1908         * bindings/v8/V8PerIsolateData.h:
1909         (V8PerIsolateData):
1910         * bindings/v8/custom/V8LocationCustom.cpp:
1911         (WebCore::V8Location::reloadAttrGetterCustom):
1912         (WebCore::V8Location::replaceAttrGetterCustom):
1913         (WebCore::V8Location::assignAttrGetterCustom):
1914
1915 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
1916
1917         Web Inspector: add memory instrumentation for ImageLoader
1918         https://bugs.webkit.org/show_bug.cgi?id=112115
1919
1920         Reviewed by Alexander Pavlov.
1921
1922         Added memory instrumentation to ImageLoader. CachedImage referenced
1923         by the loader is reported as having retaining reference. This allows
1924         to see in the native memory graph CachedImages that are not reachable
1925         from MemoryCache but referenced by HTMLImageElement.
1926
1927         * loader/ImageLoader.cpp:
1928         (WebCore::ImageLoader::reportMemoryUsage):
1929         (WebCore):
1930         * loader/ImageLoader.h:
1931         (ImageLoader):
1932
1933 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1934
1935         Web Inspector: Broken shortcuts in Snippets SourceFrame
1936         https://bugs.webkit.org/show_bug.cgi?id=112038
1937
1938         Reviewed by Pavel Feldman.
1939
1940         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
1941         (WebInspector.SnippetJavaScriptSourceFrame):
1942         (WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):
1943
1944 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1945
1946         Web Inspector: [Timeline] File selector control becomes visible on "tab" navigation.
1947         https://bugs.webkit.org/show_bug.cgi?id=111710
1948
1949         Reviewed by Pavel Feldman.
1950
1951         Solution: Exclude file selector control from tab-navigation flow.
1952
1953         * inspector/front-end/FileUtils.js: Set tab-index to control.
1954         * inspector/front-end/TimelinePanel.js: Remove duplicating code.
1955         * inspector/front-end/inspector.css:
1956         (.status-bar-item): Make scroll height equal to offset height.
1957
1958 2013-03-12  Marja Hölttä  <marja@chromium.org>
1959
1960         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
1961         https://bugs.webkit.org/show_bug.cgi?id=111971
1962
1963         Reviewed by Kentaro Hara.
1964
1965         In the future we'll create and store function templates for main world
1966         and non-main worlds separately (see bug 111724), having function
1967         templates as static variables inside functions will break the
1968         functionality.
1969
1970         No new tests (updated the bindings test expectations).
1971
1972         * bindings/scripts/CodeGeneratorV8.pm:
1973         (GenerateDomainSafeFunctionGetter):
1974         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1975         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1976         * bindings/v8/V8PerIsolateData.cpp:
1977         (WebCore::V8PerIsolateData::V8PerIsolateData):
1978         (WebCore::V8PerIsolateData::privateTemplate):
1979         (WebCore):
1980         * bindings/v8/V8PerIsolateData.h:
1981         (V8PerIsolateData):
1982         * bindings/v8/custom/V8LocationCustom.cpp:
1983         (WebCore::V8Location::reloadAttrGetterCustom):
1984         (WebCore::V8Location::replaceAttrGetterCustom):
1985         (WebCore::V8Location::assignAttrGetterCustom):
1986
1987 2013-03-12  Tien-Ren Chen  <trchen@chromium.org>
1988
1989         Need to notify ScrollingCoordinator when frame scrollbars are destroyed
1990         https://bugs.webkit.org/show_bug.cgi?id=112104
1991
1992         Reviewed by James Robinson.
1993
1994         Need to notify ScrollingCoordinatorChromium whenever m_layerForHorizontalScrollbar /
1995         m_layerForVerticalScrollbar changes, for correct lifetime management.
1996
1997         No new tests. Difficult to test lifetime management internal to ScrollingCoordinatorChromium.
1998
1999         * rendering/RenderLayerCompositor.cpp:
2000         (WebCore::RenderLayerCompositor::destroyRootLayer):
2001
2002 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2003
2004         We'll get there eventually.
2005
2006         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
2007
2008 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2009
2010         Fumbled adding new files to the vcproj. Fixing.
2011
2012         * WebCore.vcproj/WebCore.vcproj:
2013
2014 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2015
2016         Fix the Windows build by providing implementations of PlatformCAFilters::setFiltersOnLayer(),
2017         PlatformCAFilters::numAnimatedFilterProperties() and PlatformCAFilters::animatedFilterPropertyName(),
2018         adding PlatformCAFiltersWin.cpp to the vcproj.
2019         
2020         * WebCore.vcproj/WebCore.vcproj:
2021         * platform/graphics/ca/PlatformCAFilters.h:
2022         (PlatformCAFilters):
2023         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: Copied from Source/WebCore/platform/graphics/ca/PlatformCAFilters.h.
2024         (PlatformCAFilters::setFiltersOnLayer):
2025         (PlatformCAFilters::numAnimatedFilterProperties):
2026         (PlatformCAFilters::animatedFilterPropertyName):
2027
2028 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
2029
2030         Don't create multiple user gesture indicators when forwarding events to sub frames
2031         https://bugs.webkit.org/show_bug.cgi?id=111923
2032
2033         Reviewed by Adam Barth.
2034
2035         Ports that implement consumable user gestures depend on a single user
2036         gesture indicator being created in response to a single user gesture.
2037
2038         Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html
2039
2040         * dom/UserGestureIndicator.cpp:
2041         (WebCore::isDefinite):
2042         (WebCore::UserGestureIndicator::UserGestureIndicator):
2043         (WebCore::UserGestureIndicator::processingUserGesture):
2044         * dom/UserGestureIndicator.h:
2045         * page/EventHandler.cpp:
2046         (WebCore::EventHandler::handleMousePressEvent):
2047         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2048         (WebCore::EventHandler::handleMouseReleaseEvent):
2049         (WebCore::EventHandler::keyEvent):
2050         (WebCore::EventHandler::handleTouchEvent):
2051
2052 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2053
2054         Fix Windows build.
2055
2056         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2057
2058 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2059
2060         Unreviewed build fix after http://trac.webkit.org/changeset/145472.
2061
2062         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2063         (PlatformCAFilters::colorMatrixValueForFilter):
2064
2065 2013-03-11  Takashi Sakamoto  <tasak@google.com>
2066
2067         [CSS] shadow from radius has wrong render in webkit
2068         https://bugs.webkit.org/show_bug.cgi?id=99928
2069
2070         Reviewed by Simon Fraser.
2071
2072         No rounded cornder should be expanded in the mixed case, i.e. some
2073         corners are rounded, but others are not rounded.
2074         Need to look at each corner independently,
2075         i.e. top-left, top-right, bottom-left and bottom-right, and
2076         to expand corners whose width and height are larger than 0.
2077
2078         Test: fast/box-shadow/box-shadow-with-zero-radius.html
2079
2080         * platform/graphics/RoundedRect.cpp:
2081         (WebCore::RoundedRect::Radii::expand):
2082
2083 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2084
2085         [CA] Animations of CSS filters don't work correctly
2086         https://bugs.webkit.org/show_bug.cgi?id=111905
2087
2088         Reviewed by Dean Jackson.
2089
2090         Fix various issues with transitions of composited filters on Mac,
2091         most of which stemmed from the conversion to use CAFilter.
2092         
2093         Put the Mac CA filter-related code into a new file, PlatformCAFilters,
2094         to group code that creates filter properties into a single place.
2095         
2096         Animations of CIFilters using multiple values never worked correctly,
2097         because we would clobber all but the last property for each filter,
2098         so fix that.
2099         
2100         Changes in the moved filter code:
2101             - Made use of sepiaFullConstants in the CIFilter and CAFilter code.
2102             - For CI, return CIVectors instead of NSArrays of NSNumbers.
2103             - Fudge the inputColor for the CI grayscale filter to better match software filters.
2104             - fix some cases where the behavior was wrong in the isDefault() case.
2105
2106         * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFilters.h, PlatformCAFiltersMac.mm.
2107         * platform/graphics/GraphicsLayer.cpp:
2108         (WebCore::GraphicsLayer::animationNameForTransition): This function was creating a string
2109         containing non-ASCII characters.
2110         * platform/graphics/ca/GraphicsLayerCA.cpp:
2111         (WebCore::animationIdentifier): To handle CIFilter animations, we need to tack another
2112         index onto the animation identifier, since some animations require animating multiple
2113         properties of the same CIFilter. Add "subIndex" for this.
2114         (WebCore::GraphicsLayerCA::moveOrCopyAnimations): Ditto.
2115         (WebCore::GraphicsLayerCA::updateAnimations): Ditto.
2116         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Ditto.
2117         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Ditto.
2118         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Ditto.
2119         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): Ditto.
2120         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Ditto.
2121         * platform/graphics/ca/GraphicsLayerCA.h: Ditto.
2122         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
2123         (LayerPropertyAnimation):
2124         * platform/graphics/ca/PlatformCAAnimation.h:
2125         (PlatformCAAnimation): Functions moved.
2126         * platform/graphics/ca/PlatformCAFilters.h: Added.
2127         (PlatformCAFilters):
2128         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2129         (PlatformCAAnimation::setFromValue):
2130         (PlatformCAAnimation::setToValue):
2131         (PlatformCAAnimation::setValues):
2132         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Added.
2133         (PlatformCAFilters::filterValueForOperation):
2134         (PlatformCAFilters::colorMatrixValueForFilter):
2135         (PlatformCAFilters::numAnimatedFilterProperties):
2136         (PlatformCAFilters::animatedFilterPropertyName):
2137         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2138         (PlatformCALayer::PlatformCALayer):
2139         (PlatformCALayer::addAnimationForKey):
2140         (PlatformCALayer::setFilters):
2141         (PlatformCALayer::filtersCanBeComposited):
2142
2143 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2144
2145         Unreviewed, rolling out r145462.
2146         http://trac.webkit.org/changeset/145462
2147         https://bugs.webkit.org/show_bug.cgi?id=112097
2148
2149         Compilation failure in PluginView.cpp (Requested by jamesr_ on
2150         #webkit).
2151
2152         * accessibility/AccessibilityMenuList.cpp:
2153         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
2154         * bindings/objc/DOM.mm:
2155         (kitClass):
2156         * bindings/v8/V8LazyEventListener.cpp:
2157         (WebCore::V8LazyEventListener::prepareListenerObject):
2158         * css/SelectorChecker.cpp:
2159         (WebCore::SelectorChecker::checkOne):
2160         * editing/ApplyStyleCommand.cpp:
2161         (WebCore::isLegacyAppleStyleSpan):
2162         (WebCore::isEmptyFontTag):
2163         (WebCore::ApplyStyleCommand::applyBlockStyle):
2164         * editing/FormatBlockCommand.cpp:
2165         (WebCore::isElementForFormatBlock):
2166         * editing/ReplaceSelectionCommand.cpp:
2167         (WebCore::isMailPasteAsQuotationNode):
2168         (WebCore::haveSameTagName):
2169         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2170         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2171         * history/CachedPage.cpp:
2172         (WebCore::CachedPage::restore):
2173         * html/ColorInputType.cpp:
2174         (WebCore::ColorInputType::suggestions):
2175         * html/HTMLTableRowsCollection.cpp:
2176         (WebCore::isInHead):
2177         (WebCore::isInBody):
2178         (WebCore::isInFoot):
2179         * inspector/DOMPatchSupport.cpp:
2180         (WebCore::DOMPatchSupport::innerPatchNode):
2181         * page/PageSerializer.cpp:
2182         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2183         * plugins/PluginView.cpp:
2184         (WebCore::PluginView::getValue):
2185         * rendering/RenderEmbeddedObject.cpp:
2186         (WebCore::RenderEmbeddedObject::paintContents):
2187         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2188         * rendering/RenderLayer.cpp:
2189         (WebCore::RenderLayer::name):
2190         * rendering/RenderMedia.cpp:
2191         (WebCore::RenderMedia::mediaElement):
2192         * rendering/RenderSearchField.cpp:
2193         (WebCore::RenderSearchField::autosaveName):
2194         * rendering/RenderTextControl.cpp:
2195         (WebCore::RenderTextControl::textFormControlElement):
2196         (WebCore::updateUserModifyProperty):
2197         * rendering/mathml/RenderMathMLFenced.cpp:
2198         (WebCore::RenderMathMLFenced::updateFromElement):
2199         * rendering/mathml/RenderMathMLFraction.cpp:
2200         (WebCore::RenderMathMLFraction::updateFromElement):
2201         * xml/parser/XMLDocumentParserLibxml2.cpp:
2202         (WebCore::XMLDocumentParser::XMLDocumentParser):
2203         (WebCore::XMLDocumentParser::endElementNs):
2204
2205 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
2206
2207         Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
2208         https://bugs.webkit.org/show_bug.cgi?id=100418
2209
2210         Reviewed by Sam Weinig.
2211
2212         * CMakeLists.txt:
2213         * GNUmakefile.list.am:
2214         * Target.pri:
2215         * WebCore.vcproj/WebCore.vcproj:
2216         * WebCore.xcodeproj/project.pbxproj:
2217         Added SharedWorkerRepository.cpp.
2218
2219         * WebCore.gyp/WebCore.gyp:
2220         * WebCore.gypi:
2221         Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
2222         WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
2223         then excluded, but did the same with the new SharedWorkerRepository.cpp, which
2224         just contains some code moved from that file.
2225
2226         * workers/DefaultSharedWorkerRepository.cpp:
2227         (WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
2228         chromium doesn't compile this file.
2229         (WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
2230         seemingly wrong code.
2231
2232         * workers/SharedWorkerRepository.cpp: Added.
2233         (WebCore::SharedWorkerRepository::isAvailable):
2234         (WebCore::SharedWorkerRepository::connect):
2235         (WebCore::SharedWorkerRepository::documentDetached):
2236         (WebCore::SharedWorkerRepository::hasSharedWorkers):
2237         Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.
2238
2239 2013-03-11  Adam Barth  <abarth@webkit.org>
2240
2241         Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content
2242         https://bugs.webkit.org/show_bug.cgi?id=109764
2243
2244         Reviewed by Eric Seidel.
2245
2246         Previously, we were not reseting the state of the
2247         HTMLTreeBuilderSimulator when we failed speculative parsing. This had a
2248         number of observable consequences, including not parsing CDATA sections
2249         correctly when document.write caused us to enter foreign content.
2250
2251         Test: fast/parser/document-write-svg-cdata.html
2252
2253         * html/parser/BackgroundHTMLParser.cpp:
2254         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2255         (WebCore::BackgroundHTMLParser::resumeFrom):
2256         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2257         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2258         * html/parser/BackgroundHTMLParser.h:
2259         (Checkpoint):
2260         (BackgroundHTMLParser):
2261         * html/parser/HTMLDocumentParser.cpp:
2262         (WebCore::HTMLDocumentParser::validateSpeculations):
2263         (WebCore::HTMLDocumentParser::didFailSpeculation):
2264         * html/parser/HTMLDocumentParser.h:
2265         (ParsedChunk):
2266         * html/parser/HTMLElementStack.h:
2267         (WebCore::HTMLElementStack::ElementRecord::namespaceURI):
2268         * html/parser/HTMLTreeBuilder.h:
2269         (WebCore::HTMLTreeBuilder::options):
2270         (WebCore::HTMLTreeBuilder::openElements):
2271         (HTMLTreeBuilder):
2272         * html/parser/HTMLTreeBuilderSimulator.cpp:
2273         (WebCore::HTMLTreeBuilderSimulator::stateFor):
2274         (WebCore):
2275         * html/parser/HTMLTreeBuilderSimulator.h:
2276         (WebCore):
2277         (WebCore::HTMLTreeBuilderSimulator::state):
2278         (WebCore::HTMLTreeBuilderSimulator::setState):
2279         (HTMLTreeBuilderSimulator):
2280
2281 2013-03-11  Abhishek Arya  <inferno@chromium.org>
2282
2283         Replace static_casts with to* functions.
2284         https://bugs.webkit.org/show_bug.cgi?id=112072
2285
2286         Reviewed by Philip Rogers.
2287
2288         to* functions are preferred over static_cast calls since they
2289         help to catch bad casts easily on the testing infrastructure.
2290
2291         * accessibility/AccessibilityMenuList.cpp:
2292         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
2293         * bindings/objc/DOM.mm:
2294         (kitClass):
2295         * bindings/v8/V8LazyEventListener.cpp:
2296         (WebCore::V8LazyEventListener::prepareListenerObject):
2297         * css/SelectorChecker.cpp:
2298         (WebCore::SelectorChecker::checkOne):
2299         * editing/ApplyStyleCommand.cpp:
2300         (WebCore::isLegacyAppleStyleSpan):
2301         (WebCore::isEmptyFontTag):
2302         (WebCore::ApplyStyleCommand::applyBlockStyle):
2303         * editing/FormatBlockCommand.cpp:
2304         (WebCore::isElementForFormatBlock):
2305         * editing/ReplaceSelectionCommand.cpp:
2306         (WebCore::isMailPasteAsQuotationNode):
2307         (WebCore::haveSameTagName):
2308         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2309         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2310         * history/CachedPage.cpp:
2311         (WebCore::CachedPage::restore):
2312         * html/ColorInputType.cpp:
2313         (WebCore::ColorInputType::suggestions):
2314         * html/HTMLTableRowsCollection.cpp:
2315         (WebCore::isInHead):
2316         (WebCore::isInBody):
2317         (WebCore::isInFoot):
2318         * inspector/DOMPatchSupport.cpp:
2319         (WebCore::DOMPatchSupport::innerPatchNode):
2320         * page/PageSerializer.cpp:
2321         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2322         * plugins/PluginView.cpp:
2323         (WebCore::PluginView::getValue):
2324         * rendering/RenderEmbeddedObject.cpp:
2325         (WebCore::RenderEmbeddedObject::paintContents):
2326         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2327         * rendering/RenderLayer.cpp:
2328         (WebCore::RenderLayer::name):
2329         * rendering/RenderMedia.cpp:
2330         (WebCore::RenderMedia::mediaElement):
2331         * rendering/RenderSearchField.cpp:
2332         (WebCore::RenderSearchField::autosaveName):
2333         * rendering/RenderTextControl.cpp:
2334         (WebCore::RenderTextControl::textFormControlElement):
2335         (WebCore::updateUserModifyProperty):
2336         * rendering/mathml/RenderMathMLFenced.cpp:
2337         (WebCore::RenderMathMLFenced::updateFromElement):
2338         * rendering/mathml/RenderMathMLFraction.cpp:
2339         (WebCore::RenderMathMLFraction::updateFromElement):
2340         * xml/parser/XMLDocumentParserLibxml2.cpp:
2341         (WebCore::XMLDocumentParser::XMLDocumentParser):
2342         (WebCore::XMLDocumentParser::endElementNs):
2343
2344 2013-03-11  Philip Rogers  <pdr@google.com>
2345
2346         Replace static_casts for SVGSVGElement and SVGStopElement
2347         https://bugs.webkit.org/show_bug.cgi?id=111651
2348
2349         Reviewed by Stephen Chenney.
2350
2351         toSVGSVGElement and toSVGStopElement are preferred over static_casts because bad casts
2352         can be caught on our testing infrastructure. This patches replaces all static_casts for
2353         SVGSVGElement and SVGStopElement with toSVGSVGElement and toSVGStopElement, respectively.
2354
2355         Additionaly, this patch renames SVGElement::isSVG to SVGElement::isSVGSVGElement to
2356         remove ambiguity for callers who may confuse this with isSVGElement.
2357
2358         No new tests as this is covered with existing tests.
2359
2360         * rendering/svg/RenderSVGRoot.cpp:
2361         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
2362         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2363         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2364         (WebCore::RenderSVGRoot::layout):
2365         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
2366         (WebCore::RenderSVGRoot::hasRelativeDimensions):
2367         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
2368         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
2369         * rendering/svg/RenderSVGViewportContainer.cpp:
2370         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged):
2371         (WebCore::RenderSVGViewportContainer::calcViewport):
2372         (WebCore::RenderSVGViewportContainer::viewportTransform):
2373         * svg/SVGDocument.cpp:
2374         (WebCore::SVGDocument::rootElement):
2375         (WebCore::SVGDocument::childShouldCreateRenderer):
2376         * svg/SVGElement.cpp:
2377         (WebCore::SVGElement::ownerSVGElement):
2378         * svg/SVGElement.h:
2379         (WebCore::SVGElement::isSVGSVGElement):
2380         * svg/SVGGradientElement.cpp:
2381         (WebCore::SVGGradientElement::buildStops):
2382         * svg/SVGLengthContext.cpp:
2383         (WebCore::SVGLengthContext::determineViewport):
2384         * svg/SVGSVGElement.h:
2385         (WebCore):
2386         (WebCore::toSVGSVGElement):
2387         * svg/SVGStopElement.h:
2388         (WebCore::toSVGStopElement):
2389         (WebCore):
2390
2391 2013-03-11  Tony Chang  <tony@chromium.org>
2392
2393         Small code cleanup in RenderFlexibleBox
2394         https://bugs.webkit.org/show_bug.cgi?id=112076
2395
2396         Reviewed by Ojan Vafai.
2397
2398         No new tests, this is a refactor and existing tests in css3/flexbox should pass.
2399
2400         * rendering/RenderFlexibleBox.cpp:
2401         (WebCore::RenderFlexibleBox::layoutBlock): Remove unused param from repositionLogicalHeightDependentFlexItems.
2402         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Remove unused param from repositionLogicalHeightDependentFlexItems.
2403         The clientLogicalBottom can't have changed in this time (the only thing we've done is align children).
2404         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Just call layout() if we marked the flexitem as needing layout.
2405         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Just call layout() if we marked the flexitem as needing layout.
2406         * rendering/RenderFlexibleBox.h:
2407         (RenderFlexibleBox): Remove unused param from repositionLogicalHeightDependentFlexItems.
2408
2409 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
2410
2411         Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
2412         https://bugs.webkit.org/show_bug.cgi?id=111959
2413
2414         Reviewed by Alexey Proskuryakov.
2415
2416         The rationale is that the UserGestureIndicator will increase the number
2417         of consumable user gestures when it's invoked with what is now
2418         DefinitelyProcessingNewUserGesture.
2419
2420         In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
2421         which will only increase the consumable user gesture count if we are
2422         not already processing a user gesture.
2423
2424         No new tests, no change in functionality.
2425
2426         * accessibility/AccessibilityNodeObject.cpp:
2427         (WebCore::AccessibilityNodeObject::increment):
2428         (WebCore::AccessibilityNodeObject::decrement):
2429         * accessibility/AccessibilityObject.cpp:
2430         (WebCore::AccessibilityObject::press):
2431         * bindings/ScriptControllerBase.cpp:
2432         (WebCore::ScriptController::executeScript):
2433         * bindings/js/ScriptController.cpp:
2434         (WebCore::ScriptController::executeScriptInWorld):
2435         * bindings/v8/NPV8Object.cpp:
2436         (_NPN_EvaluateHelper):
2437         * dom/UserGestureIndicator.cpp:
2438         (WebCore::isDefinite):
2439         (WebCore::UserGestureIndicator::UserGestureIndicator):
2440         (WebCore::UserGestureIndicator::processingUserGesture):
2441         * dom/UserGestureIndicator.h:
2442         * inspector/InspectorFrontendClientLocal.cpp:
2443         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2444         * inspector/InspectorFrontendHost.cpp:
2445         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
2446         * inspector/InspectorPageAgent.cpp:
2447         (WebCore::InspectorPageAgent::navigate):
2448         * loader/NavigationScheduler.cpp:
2449         (WebCore::ScheduledURLNavigation::fire):
2450         (WebCore::ScheduledURLNavigation::didStartTimer):
2451         (WebCore::ScheduledRedirect::fire):
2452         (WebCore::ScheduledRefresh::fire):
2453         (WebCore::ScheduledHistoryNavigation::fire):
2454         (WebCore::ScheduledFormSubmission::fire):
2455         (WebCore::ScheduledFormSubmission::didStartTimer):
2456         * page/EventHandler.cpp:
2457         (WebCore::EventHandler::handleMousePressEvent):
2458         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2459         (WebCore::EventHandler::handleMouseReleaseEvent):
2460         (WebCore::EventHandler::keyEvent):
2461         (WebCore::EventHandler::handleTouchEvent):
2462         * platform/chromium/PopupContainer.cpp:
2463         (WebCore::PopupContainer::handleMouseDownEvent):
2464         (WebCore::PopupContainer::handleMouseMoveEvent):
2465         (WebCore::PopupContainer::handleMouseReleaseEvent):
2466         (WebCore::PopupContainer::handleWheelEvent):
2467         (WebCore::PopupContainer::handleKeyEvent):
2468
2469 2013-03-11  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2470
2471         Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
2472         https://bugs.webkit.org/show_bug.cgi?id=96592
2473
2474         Reviewed by Hajime Morrita.
2475
2476         Fixed logical left of RenderRubyText is not cleared.
2477
2478         This causes trouble when RenderRubyTest is laid out vertically after horizontally.
2479         Horizontal layout set logical top(== y).
2480         Vertical layout don't set logical left(== y).
2481         RenderRubyText::y remain old one.
2482         We clear old RenderRubyText::y at the first part of layout().
2483
2484         Test: fast/writing-mode/ruby-text-logical-left.html
2485
2486         * rendering/RenderRubyRun.cpp:
2487         (WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.
2488
2489 2013-03-11  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2490
2491         [css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
2492         https://bugs.webkit.org/show_bug.cgi?id=102491
2493
2494         Reviewed by Julien Chaffraix.
2495
2496         This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
2497         the specification as we don't support [ left | right ] and this is left for another implementation
2498         as the rendering will need to be added.
2499
2500         Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html
2501
2502         * css/CSSComputedStyleDeclaration.cpp:
2503         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2504         * css/CSSParser.cpp:
2505         (WebCore::CSSParser::parseValue):
2506         (WebCore::CSSParser::parseTextUnderlinePosition):
2507         * css/CSSParser.h:
2508         * css/CSSPrimitiveValueMappings.h:
2509         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2510         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
2511         * css/CSSProperty.cpp:
2512         (WebCore::CSSProperty::isInheritedProperty):
2513         Added parsing-related checks for text-underline-position property.
2514         * css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
2515         * css/CSSValueKeywords.in:
2516         * css/SVGCSSValueKeywords.in:
2517         * css/StyleBuilder.cpp:
2518         (ApplyPropertyTextUnderlinePosition):
2519         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2520         (WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
2521         (WebCore::StyleBuilder::StyleBuilder):
2522         Set property handler for text-underline-position.
2523         * css/StyleResolver.cpp:
2524         (WebCore::StyleResolver::applyProperty):
2525         * rendering/style/RenderStyle.h:
2526         * rendering/style/RenderStyleConstants.h:
2527         * rendering/style/StyleRareInheritedData.cpp:
2528         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2529         (WebCore::StyleRareInheritedData::operator==):
2530         Added support for m_textUnderlinePosition on copy constructor and operator
2531         assignment functions.
2532         * rendering/style/StyleRareInheritedData.h:
2533         (StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.
2534
2535 2013-03-11  Christian Biesinger  <cbiesinger@chromium.org>
2536
2537         Hit testing should use ancestorInThisScope to get the non-shadow ancestor
2538         https://bugs.webkit.org/show_bug.cgi?id=112068
2539
2540         Reviewed by Dimitri Glazkov.
2541
2542         Tests: media/nodesFromRect-shadowContent.html
2543
2544         * rendering/HitTestResult.cpp:
2545         (WebCore::HitTestResult::setToNonShadowAncestor):
2546         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
2547         Use ancestorInThisScope which is not deprecated and which produces
2548         correct results for nested shadow trees (e.g. in case of <video>,
2549         which contains <input> elements for the controls, which themselves
2550         have shadow trees)
2551
2552 2013-03-11  Abhishek Arya  <inferno@chromium.org>
2553
2554         Replace static_cast with to* helper functions.
2555         https://bugs.webkit.org/show_bug.cgi?id=112045
2556
2557         Reviewed by Eric Seidel.
2558
2559         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2560         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
2561         (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
2562         * bindings/v8/custom/V8NamedNodesCollection.cpp:
2563         (WebCore::V8NamedNodesCollection::namedItem):
2564         * bindings/v8/custom/V8NodeCustom.cpp:
2565         (WebCore::wrap):
2566         * editing/BreakBlockquoteCommand.cpp:
2567         (WebCore::BreakBlockquoteCommand::doApply):
2568         * editing/CompositeEditCommand.cpp:
2569         (WebCore::CompositeEditCommand::insertNodeAt):
2570         (WebCore::CompositeEditCommand::pushAnchorElementDown):
2571         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2572         (WebCore::CompositeEditCommand::splitTreeToNode):
2573         * editing/InsertParagraphSeparatorCommand.cpp:
2574         (WebCore::InsertParagraphSeparatorCommand::doApply):
2575         * loader/archive/cf/LegacyWebArchive.cpp:
2576         (WebCore::LegacyWebArchive::create):
2577         * platform/chromium/PasteboardChromium.cpp:
2578         (WebCore::Pasteboard::writeImage):
2579         * platform/mac/HTMLConverter.mm:
2580         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2581         * rendering/RenderLayerBacking.cpp:
2582         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2583         * rendering/RenderLayerCompositor.cpp:
2584         (WebCore::RenderLayerCompositor::frameContentsCompositor):
2585         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2586         * rendering/RenderSnapshottedPlugIn.cpp:
2587         (WebCore::RenderSnapshottedPlugIn::plugInImageElement):
2588         * rendering/mathml/RenderMathMLOperator.cpp:
2589         (WebCore::RenderMathMLOperator::updateFromElement):
2590         * rendering/svg/RenderSVGResourceContainer.cpp:
2591         (WebCore::RenderSVGResourceContainer::idChanged):
2592
2593 2013-03-11  James Robinson  <jamesr@chromium.org>
2594
2595         [chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
2596         https://bugs.webkit.org/show_bug.cgi?id=111791
2597
2598         Reviewed by Adrienne Walker.
2599
2600         Adds a new utility function to convert a TransformationMatrix to an SkMatrix44 and
2601         uses it in AnimationTranslationUtil and GraphicsLayerChromium.
2602
2603         * WebCore.gypi:
2604         * platform/chromium/support/WebTransformationMatrix.cpp:
2605         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
2606         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2607         (WebCore::toWebTransformOperations):
2608         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2609         (WebCore::GraphicsLayerChromium::updateTransform):
2610         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2611         * platform/graphics/chromium/TransformSkMatrix44Conversions.cpp:
2612         (WebCore::TransformSkMatrix44Conversions::convert):
2613         * platform/graphics/chromium/TransformSkMatrix44Conversions.h:
2614         (TransformSkMatrix44Conversions):
2615
2616 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2617
2618         Unreviewed, rolling out r145435.
2619         http://trac.webkit.org/changeset/145435
2620         https://bugs.webkit.org/show_bug.cgi?id=112082
2621
2622         Still does not compile (Requested by jamesr on #webkit).
2623
2624         * Modules/indexeddb/IDBBackingStore.cpp:
2625         (WebCore::IDBBackingStore::getObjectStores):
2626         (WebCore::IDBBackingStore::createObjectStore):
2627         (WebCore::IDBBackingStore::deleteObjectStore):
2628         (WebCore::IDBBackingStore::getRecord):
2629         (WebCore::IDBBackingStore::putRecord):
2630         (WebCore::IDBBackingStore::clearObjectStore):
2631         (WebCore::IDBBackingStore::deleteRecord):
2632         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
2633         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2634         (WebCore::IDBBackingStore::keyExistsInObjectStore):
2635         (WebCore::IDBBackingStore::getIndexes):
2636         (WebCore::IDBBackingStore::createIndex):
2637         (WebCore::IDBBackingStore::deleteIndex):
2638         (WebCore::IDBBackingStore::putIndexDataForRecord):
2639         (WebCore::IDBBackingStore::findKeyInIndex):
2640         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
2641         (WebCore::IDBBackingStore::keyExistsInIndex):
2642         (WebCore::indexCursorOptions):
2643         * Modules/indexeddb/IDBBackingStore.h:
2644         (IDBBackingStore):
2645         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2646         (WebCore::DeleteIndexOperation::create):
2647         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
2648         (DeleteIndexOperation):
2649         (WebCore::IDBDatabaseBackendImpl::openInternal):
2650         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
2651         (WebCore::DeleteIndexOperation::perform):
2652         (WebCore::DeleteRangeOperation::perform):
2653         (WebCore::ClearOperation::perform):
2654         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2655         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
2656         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
2657         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
2658         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
2659         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
2660         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
2661         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
2662         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
2663         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
2664         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
2665         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
2666         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
2667         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
2668         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
2669         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
2670         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
2671         * Modules/indexeddb/IDBLevelDBCoding.h:
2672         (IDBLevelDBCoding):
2673         (KeyPrefix):
2674         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2675         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
2676
2677 2013-03-11  Alec Flett  <alecflett@chromium.org>
2678
2679         IndexedDB: Protect against key prefix overflows
2680         https://bugs.webkit.org/show_bug.cgi?id=111138
2681
2682         Reviewed by Tony Chang.
2683
2684         This reworks the boundary checking for all databaseId,
2685         objectStoreId, and indexId, including negative and
2686         zero-based ids. All entrypoints into IDBLevelDBCoding
2687         are protected with explicit checks and all internal
2688         uses of KeyPrefix are protected with ASSERTs in the
2689         various constructors.
2690
2691         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
2692
2693         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
2694         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
2695
2696 2013-03-11  Philip Rogers  <pdr@google.com>
2697
2698         Replace static_cast<SVGStyledElement> with toSVGStyledElement()
2699         https://bugs.webkit.org/show_bug.cgi?id=111651
2700
2701         Reviewed by Abhishek Arya.
2702
2703         toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
2704         can be caught on our testing infrastructure. This patch replaces all
2705         static_cast<SVGStyledElement> instances with toSVGStyledElement.
2706
2707         Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
2708         remove a confusing overlap with html styled elements. This name differs slighly from the
2709         other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.
2710
2711         No new tests as this is covered with existing tests.
2712
2713         * rendering/svg/RenderSVGModelObject.cpp:
2714         (WebCore::getElementCTM):
2715         * rendering/svg/RenderSVGResourceClipper.cpp:
2716         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2717         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
2718         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
2719         * rendering/svg/RenderSVGResourceMasker.cpp:
2720         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2721         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
2722         * rendering/svg/RenderSVGResourcePattern.cpp:
2723         (WebCore::RenderSVGResourcePattern::createTileImage):
2724         * rendering/svg/SVGRenderSupport.cpp:
2725         (WebCore::SVGRenderSupport::layoutChildren):
2726         * rendering/svg/SVGResources.cpp:
2727         (WebCore::registerPendingResource):
2728         * svg/SVGAnimationElement.cpp:
2729         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
2730         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
2731         (WebCore::SVGAnimationElement::adjustForInheritance):
2732         (WebCore::inheritsFromProperty):
2733         * svg/SVGElement.cpp:
2734         (WebCore::collectInstancesForSVGElement):
2735         (WebCore::SVGElement::isAnimatableAttribute):
2736         * svg/SVGElement.h:
2737         (WebCore::SVGElement::isSVGStyledElement):
2738         * svg/SVGElementInstance.cpp:
2739         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2740         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
2741         * svg/SVGLocatable.cpp:
2742         (WebCore::SVGLocatable::computeCTM):
2743         * svg/SVGStyledElement.cpp:
2744         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
2745         * svg/SVGStyledElement.h:
2746         (WebCore::SVGStyledElement::isSVGStyledElement):
2747         * svg/SVGUseElement.cpp:
2748         (WebCore::SVGUseElement::selfHasRelativeLengths):
2749         * svg/graphics/filters/SVGFEImage.cpp:
2750         (WebCore::FEImage::platformApplySoftware):
2751
2752 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2753
2754         PDFPlugin: Make scrolling between pages in non-continuous modes work
2755         https://bugs.webkit.org/show_bug.cgi?id=111415
2756         <rdar://problem/12555320>
2757
2758         Reviewed by Alexey Proskuryakov.
2759
2760         * WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.
2761
2762 2013-03-11  Mark Lam  <mark.lam@apple.com>
2763
2764         Remove the use of the quotaMap cache in DatabaseTracker.
2765         https://bugs.webkit.org/show_bug.cgi?id=111805.
2766
2767         Reviewed by Geoffrey Garen.
2768
2769         This change is needed because using the quotaMap cache can result in
2770         an inaccurate read (in a multi-process system) on what database files
2771         are actually present on the filesystem. Instead of using the quotaMap
2772         cache, we rely on the tracker database and query it every time we need
2773         the origin/quota information.
2774
2775         No new tests.
2776
2777         * Modules/webdatabase/DatabaseTracker.cpp:
2778         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
2779         (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
2780         (WebCore::DatabaseTracker::origins):
2781         (WebCore::DatabaseTracker::quotaForOriginNoLock):
2782         (WebCore::DatabaseTracker::setQuota):
2783         (WebCore::DatabaseTracker::addDatabase):
2784         (WebCore::DatabaseTracker::deleteOrigin):
2785         * Modules/webdatabase/DatabaseTracker.h:
2786
2787 2013-03-11  Morten Stenshorne  <mstensho@opera.com>
2788
2789         Don't rely on the fact that StaticPosition happens to be defined as 0
2790         https://bugs.webkit.org/show_bug.cgi?id=110123
2791
2792         Also made the expression slightly less convoluted.
2793
2794         Reviewed by Alexey Proskuryakov.
2795
2796         No new tests. This is just code cleanup.
2797
2798         * rendering/RenderObject.cpp:
2799         (WebCore::RenderObject::containingBlock):
2800
2801 2013-03-11  Adam Barth  <abarth@webkit.org>
2802
2803         Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
2804
2805         * html/HTMLPlugInImageElement.cpp:
2806
2807 2013-03-05  Ojan Vafai  <ojan@chromium.org>
2808
2809         Intrinsic width keyword values don't work for tables
2810         https://bugs.webkit.org/show_bug.cgi?id=111515
2811
2812         Reviewed by Julien Chaffraix.
2813
2814         Tests: fast/css-intrinsic-dimensions/css-tables.html
2815                fast/css-intrinsic-dimensions/tables.html
2816
2817         * rendering/RenderBox.cpp:
2818         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
2819         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2820         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2821         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2822         * rendering/RenderBox.h:
2823         Pass in the border and padding as an argument since RenderTable needs
2824         to pass in a different value. Unfortunately, the math doesn't work out right
2825         in the positioned/replaced cases if we just pass 0. We need to pass in the correct
2826         border and padding and then subtract it from the result.
2827
2828         * rendering/RenderTable.cpp:
2829         (WebCore::RenderTable::updateLogicalWidth):
2830         Compute intrinsic widths as well as specified ones. Down the road
2831         we may want to consider having intrinsic width values return true for
2832         isSpecified.
2833
2834         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2835         Compute intrinsic widths as well.
2836
2837         (WebCore::RenderTable::computeIntrinsicLogicalWidths):
2838         Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
2839         gets the right intrinsic values instead of the preferred values.
2840
2841         (WebCore::RenderTable::computePreferredLogicalWidths):
2842         * rendering/RenderTable.h:
2843
2844 2013-03-11  Stephen Chenney  <schenney@chromium.org>
2845
2846         HTMLInputElement can delete an ImageLoader while it's still needed
2847         https://bugs.webkit.org/show_bug.cgi?id=110621
2848
2849         Reviewed by Darin Adler.
2850
2851         ImageLoader objects may fire events for HTMLInputElements that are of
2852         type ImageInputType that own the loader. These events may cause script
2853         to run that changes the type of the input element and hence causes the
2854         ImageLoader to be deleted, while the image loader is still processing
2855         the event dispatch. Bad things ensue.
2856
2857         This change moves ownership of the ImageLoader from the ImageInputType
2858         onto the HTMLImageElement which is already protected from deletion during
2859         event processing.
2860
2861         Test: fast/forms/image/image-error-event-modifies-type-crash.html
2862
2863         * html/HTMLInputElement.cpp:
2864         (WebCore::HTMLInputElement::imageLoader): Method to return the
2865           ImageLoader, creating it if not already created.
2866         * html/HTMLInputElement.h:
2867         (WebCore::HTMLInputElement::hasImageLoader): Return true if the
2868           ImageLoader has been created.
2869         (HTMLInputElement): Define ImageLoader access methods and the OwnPtr
2870           for the HTMLImageLoader.
2871         * html/ImageInputType.cpp:
2872         (WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
2873         (WebCore::ImageInputType::attach): Use the element's ImageLoader.
2874         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
2875         (WebCore::ImageInputType::height): Use the element's ImageLoader.
2876         (WebCore::ImageInputType::width): Use the element's ImageLoader.
2877         * html/ImageInputType.h:
2878         (ImageInputType): Remove the declaration of the ImageLoader.
2879
2880 2013-03-11  Alok Priyadarshi  <alokp@chromium.org>
2881
2882         Revert "Mark GraphicsLayers as opaque when possible"
2883
2884         This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.
2885
2886         REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
2887         https://bugs.webkit.org/show_bug.cgi?id=112043
2888
2889         Unreviewed, rolling out r143626.
2890
2891         * rendering/RenderBox.cpp:
2892         * rendering/RenderBox.h:
2893         (RenderBox):
2894         * rendering/RenderBoxModelObject.h:
2895         (RenderBoxModelObject):
2896         * rendering/RenderLayer.cpp:
2897         * rendering/RenderLayer.h:
2898         (RenderLayer):
2899         * rendering/RenderLayerBacking.cpp:
2900         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2901         * rendering/RenderLayerModelObject.h:
2902         (RenderLayerModelObject):
2903
2904 2013-03-11  Dean Jackson  <dino@apple.com>
2905
2906         Plugins created during user gestures (or soon after) should not be snapshotted
2907         https://bugs.webkit.org/show_bug.cgi?id=111975
2908
2909         Reviewed by Tim Horton.
2910
2911         There are sites which create plugins in response to user actions, such as clicking
2912         on an image that is acting like a poster frame. In those cases we should never snapshot.
2913
2914         There are some other sites which also create plugins in response to user actions,
2915         but don't necessarily create the content themselves. Instead they run some script
2916         that injects an iframe, and the frame loads a plugin. In order to make sure we don't
2917         snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
2918         is created soon after a *handled* user gesture is not snapshotted. To do this we
2919         mark a timestamp in the document when we've called an event listener for a user
2920         gesture. The plugin element then compares its creation time with the most recent
2921         user action time.
2922
2923         * dom/Document.cpp:
2924         (WebCore::Document::Document): Initialise new timestamp.
2925         (WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable
2926             to the current time.
2927         * dom/Document.h:
2928         (WebCore::Document::lastHandledUserGestureTimestamp): Getter.
2929
2930         * dom/EventTarget.cpp:
2931         (WebCore::EventTarget::fireEventListeners): If there were some event listeners and
2932             we were processing a user gesture, then reset the timestamp in the document.
2933
2934         * html/HTMLPlugInImageElement.cpp:
2935         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created
2936             during a user gesture.
2937         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin
2938             if we were created during a user gesture, or if we are close enough in time
2939             to a listener that fired in relation to a user gesture.
2940         * html/HTMLPlugInImageElement.h: New private member flag indicating if we were
2941             in a user gesture when constructed.
2942
2943 2013-03-11  Jeffrey Pfau  <jpfau@apple.com>
2944
2945         List cache partitions as units instead of as their contents
2946         https://bugs.webkit.org/show_bug.cgi?id=111909
2947
2948         Reviewed by Maciej Stachowiak.
2949
2950         Not possible to test with current automated test tools, must be tested manually.
2951
2952         * loader/cache/MemoryCache.cpp:
2953         (WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible
2954
2955 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
2956
2957         Chromium build fix. Forked files strike again.
2958
2959         * platform/network/chromium/ResourceHandle.cpp:
2960         (WebCore::ResourceHandle::firstRequest):
2961
2962 2013-03-11  James Robinson  <jamesr@chromium.org>
2963
2964         Fix typo from r145399. Rubber stamped by Abhishek Arya.
2965
2966         * rendering/svg/RenderSVGViewportContainer.h:
2967         (WebCore::toRenderSVGViewportContainer):
2968
2969 2013-03-11  Hans Muller  <hmuller@adobe.com>
2970
2971         [CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple boundaries
2972         https://bugs.webkit.org/show_bug.cgi?id=111766
2973
2974         Reviewed by Dirk Schulze.
2975
2976         Refactored the ExclusionPolygon class to enable adding support for shape-margin and shape-padding.
2977         Extracted a new FloatPolygon class which is now used by ExclusionPolygon to represent the shape's
2978         boundary. It will be used to add m_paddedPolygon and m_marginPolygon members to ExclusionPolygon
2979         in a subsequent patch.
2980
2981         No new tests. This is strictly a refactoring of the existing code.
2982
2983         * CMakeLists.txt:
2984         * GNUmakefile.list.am:
2985         * WebCore.gypi:
2986         * WebCore.vcproj/WebCore.vcproj:
2987         * WebCore.xcodeproj/project.pbxproj:
2988         * platform/graphics/FloatPolygon.cpp: Factored out of Source/WebCore/rendering/ExclusionPolygon.cpp.
2989         (WebCore::determinant):
2990         (WebCore::areCollinearPoints):
2991         (WebCore::areCoincidentPoints):
2992         (WebCore::isPointOnLineSegment):
2993         (WebCore::nextVertexIndex):
2994         (WebCore::FloatPolygon::FloatPolygon):
2995         (WebCore::FloatPolygon::findNextEdgeVertexIndex):
2996         (WebCore::FloatPolygon::overlappingEdges):
2997         (WebCore::leftSide):
2998         (WebCore::FloatPolygon::contains):
2999         (WebCore::VertexPair::overlapsRect):
3000         (WebCore::VertexPair::intersection):
3001         * platform/graphics/FloatPolygon.h: Factored out of Source/WebCore/rendering/ExclusionPolygon.h.
3002         (FloatPolygon):
3003         (WebCore::FloatPolygon::vertexAt):
3004         (WebCore::FloatPolygon::numberOfVertices):
3005         (WebCore::FloatPolygon::fillRule):
3006         (WebCore::FloatPolygon::edgeAt):
3007         (WebCore::FloatPolygon::numberOfEdges):
3008         (WebCore::FloatPolygon::boundingBox):
3009         (WebCore::FloatPolygon::isEmpty):
3010         (VertexPair):
3011         (WebCore::VertexPair::~VertexPair):
3012         (WebCore::VertexPair::minX):
3013         (WebCore::VertexPair::minY):
3014         (WebCore::VertexPair::maxX):
3015         (WebCore::VertexPair::maxY):
3016         (FloatPolygonEdge):
3017         (WebCore::FloatPolygonEdge::previousEdge):
3018         (WebCore::FloatPolygonEdge::nextEdge):
3019         (WebCore::FloatPolygonEdge::polygon):
3020         (WebCore::FloatPolygonEdge::vertexIndex1):
3021         (WebCore::FloatPolygonEdge::vertexIndex2):
3022         (WebCore::FloatPolygonEdge::edgeIndex):
3023         * rendering/ExclusionPolygon.cpp: Now depends on FloatPolygon.
3024         (EdgeIntersection):
3025         (WebCore::leftSide):
3026         (WebCore::computeXIntersection):
3027         (WebCore::getVertexIntersectionVertices):
3028         (WebCore::computeXIntersections):
3029         (WebCore::computeOverlappingEdgeXProjections):
3030         (WebCore::ExclusionPolygon::getExcludedIntervals):
3031         (WebCore::ExclusionPolygon::getIncludedIntervals):
3032         (WebCore::firstFitRectInPolygon):
3033         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
3034         * rendering/ExclusionPolygon.h: Now depends on FloatPolygon.
3035         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
3036         (ExclusionPolygon):
3037         (WebCore::ExclusionPolygon::ExclusionPolygon):
3038
3039 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
3040
3041         Roll out part of r144671.
3042
3043         ResourceHandle::firstRequest() should not be const(), because it returns a
3044         non-const reference.        
3045
3046         * platform/network/ResourceHandle.cpp:
3047         (WebCore::ResourceHandle::firstRequest):
3048         * platform/network/ResourceHandle.h:
3049
3050 2013-01-30  Jer Noble  <jer.noble@apple.com>
3051
3052         Mac: Cmd-w should close full screen window.
3053         https://bugs.webkit.org/show_bug.cgi?id=108406
3054
3055         Reviewed by Darin Adler.
3056
3057         Pass performClose: requests on to the owning window controller.
3058
3059         * platform/mac/WebCoreFullScreenWindow.mm:
3060         (-[WebCoreFullScreenWindow performClose:]):
3061
3062 2013-03-11  Xiyuan Xia  <xiyuan@chromium.org>
3063
3064         [Chromium] chromium/linux breaks expectation of select popup background due to bad UA css rules
3065         https://bugs.webkit.org/show_bug.cgi?id=111873
3066
3067         Reviewed by Tony Chang.
3068
3069         On linux the default <select> background color is too dark to use as the
3070         popup background color.  Last fixes:
3071         https://bugs.webkit.org/show_bug.cgi?id=54115 and
3072         https://bugs.webkit.org/show_bug.cgi?id=56023
3073         attempt to fix the problem by applying a lighter background using
3074         special <option> selector. This breaks expectations of some websites.
3075
3076         This CL reverts the bad UA css rules above and provides the lighter
3077         background color if <select> and <option> elements are using the default
3078         background.
3079
3080         No new tests, this tests <select> popups and can be verified by ManualTests/select-scroll.html.
3081
3082         * css/themeChromiumLinux.css:
3083         (select):
3084         * platform/PopupMenuStyle.h:
3085         (WebCore::PopupMenuStyle::PopupMenuStyle):
3086         (WebCore::PopupMenuStyle::backgroundColorType):
3087         (PopupMenuStyle):
3088         * platform/chromium/PopupListBox.cpp:
3089         (WebCore::PopupListBox::paintRow):
3090         * rendering/RenderMenuList.cpp:
3091         (WebCore::RenderMenuList::itemStyle):
3092         (WebCore::RenderMenuList::getItemBackgroundColor):
3093         * rendering/RenderMenuList.h:
3094         (RenderMenuList):
3095         * rendering/RenderSearchField.cpp:
3096         (WebCore::RenderSearchField::menuStyle):
3097         * rendering/RenderThemeChromiumDefault.cpp:
3098         (WebCore::RenderThemeChromiumDefault::systemColor):
3099
3100 2013-03-11  James Robinson  <jamesr@chromium.org>
3101
3102         Compile fix. Rubber-stamp by Eric Seidel.
3103
3104         * html/shadow/MediaControlElements.cpp:
3105         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3106
3107 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
3108
3109         Fix build for r145397 (part 2)
3110
3111         Unreviewed.
3112
3113         * html/track/TextTrackCue.cpp:
3114         (WebCore::TextTrackCue::getDisplayTree):
3115
3116 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
3117
3118         Fix build for r145397
3119
3120         Unreviewed.
3121
3122         * html/shadow/MediaControls.cpp:
3123         (WebCore::MediaControls::createTextTrackDisplay):
3124         * html/shadow/MediaControlsChromium.cpp:
3125         (WebCore::MediaControlsChromium::createTextTrackDisplay):
3126         * html/shadow/MediaControlsGtk.cpp:
3127         (WebCore::MediaControlsGtk::createTextTrackDisplay):
3128
3129 2013-03-11  Abhishek Arya  <inferno@chromium.org>
3130
3131         Add ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
3132         https://bugs.webkit.org/show_bug.cgi?id=112060
3133
3134         Reviewed by Eric Seidel.
3135
3136         * Modules/geolocation/Geolocation.cpp:
3137         (WebCore::Geolocation::document):
3138         * accessibility/AccessibilityMenuList.h:
3139         (WebCore::toAccessibilityMenuList):
3140         * accessibility/AccessibilityNodeObject.h:
3141         (WebCore::toAccessibilityNodeObject):
3142         * accessibility/AccessibilityRenderObject.h:
3143         (WebCore::toAccessibilityRenderObject):
3144         * accessibility/AccessibilitySVGRoot.h:
3145         (WebCore::toAccessibilitySVGRoot):
3146         * accessibility/AccessibilitySpinButton.h:
3147         (WebCore::toAccessibilitySpinButton):
3148         (WebCore::toAccessibilitySpinButtonPart):
3149         * accessibility/AccessibilityTable.h:
3150         (WebCore::toAccessibilityTable):
3151         * css/StyleRule.h:
3152         (WebCore::toStyleRuleMedia):
3153         (WebCore::toStyleRuleSupports):
3154         (WebCore::toStyleRuleRegion):
3155         * dom/EventContext.h:
3156         (WebCore::toTouchEventContext):
3157         * fileapi/File.h:
3158         (WebCore::toFile):
3159         * html/HTMLElement.cpp:
3160         (WebCore::HTMLElement::insertAdjacentElement):
3161         (WebCore::contextElementForInsertion):
3162         * html/HTMLMediaElement.h:
3163         (WebCore::toMediaElement):
3164         * html/HTMLMeterElement.h:
3165         (WebCore::toHTMLMeterElement):
3166         * html/HTMLOptionElement.cpp:
3167         (WebCore::toHTMLOptionElement):
3168         * html/HTMLProgressElement.cpp:
3169         (WebCore::HTMLProgressElement::renderProgress):
3170         * html/HTMLProgressElement.h:
3171         (WebCore::toHTMLProgressElement):
3172         * html/HTMLSelectElement.h:
3173         (WebCore::toHTMLSelectElement):
3174         * html/HTMLTableCellElement.cpp:
3175         (WebCore::toHTMLTableCellElement):
3176         * html/HTMLTextFormControlElement.h:
3177         (WebCore::toHTMLTextFormControlElement):
3178         * html/PluginDocument.h:
3179         (WebCore::toPluginDocument):
3180         * html/shadow/DetailsMarkerControl.cpp:
3181         (WebCore::DetailsMarkerControl::summaryElement):
3182         * html/shadow/HTMLContentElement.h:
3183         (WebCore::toHTMLContentElement):
3184         * html/shadow/HTMLShadowElement.h:
3185         (WebCore::toHTMLShadowElement):
3186         * html/shadow/TextFieldDecorationElement.cpp:
3187         (WebCore::TextFieldDecorationElement::hostInput):
3188         * page/DOMWindow.cpp:
3189         (WebCore::DOMWindow::document):
3190         * rendering/InlineTextBox.h:
3191         (WebCore::toInlineTextBox):
3192         * rendering/RenderHTMLCanvas.h:
3193         (WebCore::toRenderHTMLCanvas):
3194         * rendering/RenderScrollbar.h:
3195         (WebCore::toRenderScrollbar):
3196         * rendering/RenderTextFragment.h:
3197         (WebCore::toRenderTextFragment):
3198         * rendering/mathml/RenderMathMLOperator.h:
3199         (WebCore::toRenderMathMLOperator):
3200         * rendering/svg/RenderSVGTextPath.h:
3201         (WebCore::toRenderSVGTextPath):
3202         * rendering/svg/RenderSVGViewportContainer.h:
3203         (WebCore::toRenderSVGViewportContainer):
3204         * svg/graphics/SVGImageChromeClient.h:
3205         (WebCore::toSVGImageChromeClient):
3206
3207 2013-03-11  Adam Barth  <abarth@webkit.org>
3208
3209         Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
3210         https://bugs.webkit.org/show_bug.cgi?id=112057
3211
3212         Reviewed by Eric Seidel.
3213
3214         Simulating the HTML tree builder is a separate concern from parsing on
3215         the background thread. We plan to re-use the tree builder simulator for
3216         the view-source parser, for example. Also, having the simulator as a
3217         separate object will make it easier to fix
3218         https://bugs.webkit.org/show_bug.cgi?id=109764.
3219
3220         * CMakeLists.txt:
3221         * GNUmakefile.list.am:
3222         * Target.pri:
3223         * WebCore.gypi:
3224         * WebCore.vcproj/WebCore.vcproj:
3225         * html/parser/BackgroundHTMLParser.cpp:
3226         (WebCore):
3227         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3228         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3229         * html/parser/BackgroundHTMLParser.h:
3230         (BackgroundHTMLParser):
3231
3232 2013-02-26  Dima Gorbik  <dgorbik@apple.com>
3233
3234         Not all properties apply to the '::cue' pseudo-element
3235         https://bugs.webkit.org/show_bug.cgi?id=110705
3236
3237         Reviewed by Eric Carlson.
3238
3239         Background properties are not inherited and they were not applied to right elements.
3240         Now we apply all ::cue properties to WebVTT cue background box, which -webkit-media-text-track-all-nodes
3241         container was corresponding to. Now it has 'cue' pseudoId instead of '-webkit-media-text-track-all-nodes'.
3242         Property filtering is turned off for user agent rules so that we are still able to apply filtered rules
3243         to this container internally. m_cueContainer is removed because it is no longer needed.
3244         m_allDocumentNodes container was renamed to m_cueBackgroundBox.
3245
3246         Existing tests modified to cover this case.
3247
3248         * css/RuleSet.h:
3249         (WebCore::RuleData::propertyWhitelistType): disable filtering for UA rules.
3250         * css/StyleResolver.cpp:
3251         (WebCore::StyleResolver::sortAndTransferMatchedRules): pass the UA scope to propertyWhitelistType().
3252         * css/mediaControls.css: rename -webkit-media-text-track-all-nodes to 'cue'
3253         (video::cue): 
3254         * html/shadow/MediaControlElements.cpp:
3255         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3256         * html/shadow/MediaControlElements.h:
3257         (MediaControlTextTrackContainerElement):
3258         * html/shadow/MediaControls.cpp:
3259         (WebCore::MediaControls::createTextTrackDisplay):
3260         * html/shadow/MediaControlsChromium.cpp:
3261         (WebCore::MediaControlsChromium::createTextTrackDisplay):
3262         * html/shadow/MediaControlsGtk.cpp:
3263         (WebCore::MediaControlsGtk::createTextTrackDisplay):
3264         * html/track/TextTrackCue.cpp:
3265         (WebCore::TextTrackCue::TextTrackCue):
3266         (WebCore::TextTrackCue::updateDisplayTree):
3267         (WebCore::TextTrackCue::getDisplayTree):
3268         * html/track/TextTrackCue.h:
3269         (WebCore::TextTrackCue::element):
3270         * page/CaptionUserPreferencesMac.mm:
3271         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride):
3272
3273 2013-03-11  Tim Horton  <timothy_horton@apple.com>
3274
3275         ChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
3276         https://bugs.webkit.org/show_bug.cgi?id=111981
3277
3278         Reviewed by Kentaro Hara.
3279
3280         * page/ChromeClient.h: Remove the extraneous #include.
3281
3282 2013-03-11  David Hyatt  <hyatt@apple.com>
3283
3284         Vertical writing doesn't work with form controls.
3285         https://bugs.webkit.org/show_bug.cgi?id=70211
3286
3287         Reviewed by Simon Fraser.
3288
3289         This is just some basic plumbing work to make textfields and
3290         textareas work with vertical writing modes. This patch leaves the
3291         html.css override alone, so authors can't enable vertical
3292         writing yet.
3293         
3294         The changes consist of converting uses of x/y/width/height to
3295         logicalLeft/Top/Width/Height.
3296       
3297         * rendering/RenderBoxModelObject.h:
3298         (WebCore::RenderBoxModelObject::paddingLogicalLeft):
3299         (WebCore::RenderBoxModelObject::paddingLogicalRight):
3300         (RenderBoxModelObject):
3301         (WebCore::RenderBoxModelObject::marginLogicalHeight):
3302         (WebCore::RenderBoxModelObject::marginLogicalWidth):
3303         * rendering/RenderSearchField.cpp:
3304         (WebCore::RenderSearchField::computeControlLogicalHeight):
3305         (WebCore::RenderSearchField::computeLogicalHeightLimit):
3306         (WebCore::RenderSearchField::centerContainerIfNeeded):
3307         * rendering/RenderSearchField.h:
3308         (RenderSearchField):
3309         * rendering/RenderTextControl.cpp:
3310         (WebCore::RenderTextControl::textBlockLogicalHeight):
3311         (WebCore::RenderTextControl::textBlockLogicalWidth):
3312         (WebCore::RenderTextControl::computeLogicalHeight):
3313         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
3314         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3315         * rendering/RenderTextControl.h:
3316         (RenderTextControl):
3317         * rendering/RenderTextControlMultiLine.cpp:
3318         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
3319         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
3320         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
3321         * rendering/RenderTextControlMultiLine.h:
3322         (RenderTextControlMultiLine):
3323         * rendering/RenderTextControlSingleLine.cpp:
3324         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3325         (WebCore::RenderTextControlSingleLine::paint):
3326         (WebCore::RenderTextControlSingleLine::computeLogicalHeightLimit):
3327         (WebCore::RenderTextControlSingleLine::layout):
3328         (WebCore::RenderTextControlSingleLine::styleDidChange):
3329         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
3330         (WebCore::RenderTextControlSingleLine::computeControlLogicalHeight):
3331         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3332         * rendering/RenderTextControlSingleLine.h:
3333         (RenderTextControlSingleLine):
3334         * rendering/style/RenderStyle.h:
3335
3336 2013-03-11  Tim Horton  <timothy_horton@apple.com>
3337
3338         TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
3339         https://bugs.webkit.org/show_bug.cgi?id=111958
3340         <rdar://problem/13356896>
3341
3342         Reviewed by Darin Adler.
3343
3344         Don't limit TiledBacking coverage if the client has opted into using
3345         its exposed rect to allow scrolling above the web view.
3346
3347         * platform/graphics/TiledBacking.h:
3348         * platform/graphics/ca/mac/TileController.h:
3349         * rendering/RenderLayerBacking.cpp:
3350         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
3351
3352 2013-03-11  Rajeev Sarvaria  <rsarvaria@blackberry.com>
3353
3354         GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
3355         https://bugs.webkit.org/show_bug.cgi?id=111450
3356
3357         Reviewed by Rob Buis.
3358
3359         Bufsize argument corrected to size in bytes instead of number of integers or floats.
3360
3361         * html/canvas/WebGLRenderingContext.cpp:
3362         (WebCore):
3363         (WebCore::WebGLRenderingContext::getUniform):
3364
3365 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3366
3367         Unreviewed, rolling out r145375.
3368         http://trac.webkit.org/changeset/145375
3369         https://bugs.webkit.org/show_bug.cgi?id=112050
3370
3371         Does not compile (Requested by jamesr on #webkit).
3372
3373         * Modules/indexeddb/IDBBackingStore.cpp:
3374         (WebCore::IDBBackingStore::getObjectStores):
3375         (WebCore::IDBBackingStore::createObjectStore):
3376         (WebCore::IDBBackingStore::deleteObjectStore):
3377         (WebCore::IDBBackingStore::getRecord):
3378         (WebCore::IDBBackingStore::putRecord):
3379         (WebCore::IDBBackingStore::clearObjectStore):
3380         (WebCore::IDBBackingStore::deleteRecord):
3381         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
3382         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
3383         (WebCore::IDBBackingStore::keyExistsInObjectStore):
3384         (WebCore::IDBBackingStore::getIndexes):
3385         (WebCore::IDBBackingStore::createIndex):
3386         (WebCore::IDBBackingStore::deleteIndex):
3387         (WebCore::IDBBackingStore::putIndexDataForRecord):
3388         (WebCore::IDBBackingStore::findKeyInIndex):
3389         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
3390         (WebCore::IDBBackingStore::keyExistsInIndex):
3391         (WebCore::indexCursorOptions):
3392         * Modules/indexeddb/IDBBackingStore.h:
3393         (IDBBackingStore):
3394         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3395         (WebCore::DeleteIndexOperation::create):
3396         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
3397         (DeleteIndexOperation):
3398         (WebCore::IDBDatabaseBackendImpl::openInternal):
3399         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
3400         (WebCore::DeleteIndexOperation::perform):
3401         (WebCore::DeleteRangeOperation::perform):
3402         (WebCore::ClearOperation::perform):
3403         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3404         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
3405         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
3406         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
3407         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
3408         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
3409         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
3410         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
3411         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
3412         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
3413         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
3414         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
3415         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
3416         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
3417         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
3418         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
3419         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
3420         * Modules/indexeddb/IDBLevelDBCoding.h:
3421         (IDBLevelDBCoding):
3422         (KeyPrefix):
3423         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3424         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
3425
3426 2013-03-11  Adam Klein  <adamk@chromium.org>
3427
3428         MutationCallback should be a WebIDL 'callback', not a [Callback] interface
3429         https://bugs.webkit.org/show_bug.cgi?id=91406
3430
3431         Reviewed by Adam Barth.
3432
3433         Spec: http://dom.spec.whatwg.org/#mutationcallback
3434
3435         Besides no longer calling handleEvent methods on passed-in objects,
3436         throw a TypeError if a non-function is passed to the MutationObserver constructor.
3437         This is per WebIDL: http://www.w3.org/TR/WebIDL/#es-callback-function
3438
3439         Updated MutationObserver constructor tests to exercise TypeError-throwing behavior.
3440
3441         * bindings/js/JSMutationCallback.cpp:
3442         (WebCore::JSMutationCallback::call): Call the callback directly instead of handing off to JSCallbackData; make return value void.
3443         Use jsArray() to convert from WTF::Vector -> JSArray.
3444         * bindings/js/JSMutationCallback.h:
3445         (JSMutationCallback): Rename handleEvent() to call(), make it void.
3446         * bindings/js/JSMutationObserverCustom.cpp:
3447         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Throw if passed a non-function.
3448         * bindings/v8/V8MutationCallback.cpp:
3449         (WebCore::V8MutationCallback::V8MutationCallback): Take a v8::Function instead of a v8::Object.
3450         (WebCore::V8MutationCallback::call): Call the callback directly instead of handing off to invokeCallback(); make return value void.
3451         Use v8Array() to convert form WTF::Vector -> JSArray.
3452         * bindings/v8/V8MutationCallback.h:
3453         (WebCore::V8MutationCallback::create): Take a v8::Function instead of a v8::Object.
3454         (V8MutationCallback): ditto
3455         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3456         (WebCore::V8MutationObserver::constructorCustom): Throw if passed a non-function, cast to a v8::Function when constructing callback.
3457         * dom/MutationCallback.h:
3458         (WebCore): Remove unnecessary typedef.
3459         (MutationCallback): Rename handleEvent() to call(), make it void.
3460         * dom/MutationObserver.cpp:
3461         (WebCore::MutationObserver::deliver): Update MutationCallback method name.
3462
3463 2013-03-11  Julien Chaffraix  <jchaffraix@webkit.org>
3464
3465         [CSS Grid Layout] Handle spanning grid items over specified grid tracks
3466         https://bugs.webkit.org/show_bug.cgi?id=111918
3467
3468         Reviewed by Tony Chang.
3469
3470         This change updates&nbs