[EFL] minor method name fix for the textTrackOffMenuItemText method
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-18  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
2
3         [EFL] minor method name fix for the textTrackOffMenuItemText method
4         https://bugs.webkit.org/show_bug.cgi?id=119978
5
6         the method textTrackOffMenuItemText was renamed in
7         https://bugs.webkit.org/show_bug.cgi?id=113822
8
9         Reviewed by Christophe Dumez.
10
11         * platform/efl/LocalizedStringsEfl.cpp:
12         (WebCore::textTrackOffMenuItemText):
13
14 2013-08-17  Antti Koivisto  <antti@apple.com>
15
16         <https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement
17
18         Reviewed by Andreas Kling.
19
20         * dom/StyleElement.cpp:
21         (WebCore::StyleElement::process):
22         
23             Use TextNodeTraversal::contentsAsString for the sheet text. The overflow check is removed as StringBuilder 
24             (which is used by contentsAsString) does that itself. The behavior in case of overflow changes from empty
25             sheet to CRASH(). Thats what we do elsewhere in similar situations too (scripts for example). Continuing
26             with > 4GB of style sheet text nodes is probably not going to go well anyway.
27
28 2013-08-17  Antti Koivisto  <antti@apple.com>
29
30         <https://webkit.org/b/119960> Remove some optimizations made obsolete by use of StringBuilder
31
32         Reviewed by Andreas Kling.
33
34         * dom/ScriptElement.cpp:
35         (WebCore::ScriptElement::scriptContent):
36         
37             StringBuilder already optimizes for the single string case. If there is only one the original string is returned.
38
39         * dom/Text.cpp:
40         (WebCore::Text::wholeText):
41         
42             No need to traverse twice to compute the capacity. StringBuilder handles this efficiently. 
43             Also in the common case there is only one string and the optimization here is actually hurting by disabling the StringBuilder one.
44
45 2013-08-17  Antti Koivisto  <antti@apple.com>
46
47         <https://webkit.org/b/119959> Add TextNodeTraversal
48
49         Reviewed by Andreas Kling.
50
51         Add TextNodeTraversal for cleaner and more compact traversal of Text nodes.
52         
53         Use it where appropriate.
54
55         * WebCore.xcodeproj/project.pbxproj:
56         * dom/Attr.cpp:
57         (WebCore::Attr::childrenChanged):
58         * dom/NodeTraversal.h:
59         (WebCore::NodeTraversal::next):
60         * dom/ScriptElement.cpp:
61         (WebCore::ScriptElement::scriptContent):
62         * dom/Text.cpp:
63         (WebCore::Text::wholeText):
64         * dom/Text.h:
65         (WebCore::toText):
66         * dom/TextNodeTraversal.cpp: Added.
67         (WebCore::TextNodeTraversal::appendContents):
68         (WebCore::TextNodeTraversal::contentsAsString):
69         
70             Helpers for getting text content of a subtree.
71
72         * dom/TextNodeTraversal.h: Added.
73         (WebCore::TextNodeTraversal::firstTextChildTemplate):
74         (WebCore::TextNodeTraversal::firstChild):
75         (WebCore::TextNodeTraversal::firstTextWithinTemplate):
76         (WebCore::TextNodeTraversal::firstWithin):
77         (WebCore::TextNodeTraversal::traverseNextTextTemplate):
78         (WebCore::TextNodeTraversal::next):
79         (WebCore::TextNodeTraversal::nextSibling):
80         * editing/ApplyStyleCommand.cpp:
81         (WebCore::ApplyStyleCommand::joinChildTextNodes):
82         * html/HTMLTextAreaElement.cpp:
83         (WebCore::HTMLTextAreaElement::defaultValue):
84         (WebCore::HTMLTextAreaElement::setDefaultValue):
85         * html/HTMLTitleElement.cpp:
86         (WebCore::HTMLTitleElement::text):
87         * html/track/TextTrackCue.cpp:
88         (WebCore::TextTrackCue::determineTextDirection):
89         * page/Frame.cpp:
90         (WebCore::Frame::searchForLabelsAboveCell):
91         * xml/XPathUtil.cpp:
92         (WebCore::XPath::stringValue):
93
94 2013-08-17  Andreas Kling  <akling@apple.com>
95
96         <https://webkit.org/b/119957> Page::contextMenuController() should return a reference.
97
98         Reviewed by Antti Koivisto.
99
100         Page::m_contextMenuController is never null.
101
102         * page/Page.h:
103         (WebCore::Page::contextMenuController):
104
105 2013-08-17  Andreas Kling  <akling@apple.com>
106
107         <https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
108
109         Reviewed by Antti Koivisto.
110
111         Page::m_dragCaretController is never null.
112
113         * dom/Document.cpp:
114         (WebCore::Document::nodeChildrenWillBeRemoved):
115         (WebCore::Document::nodeWillBeRemoved):
116         * page/DragController.cpp:
117         (WebCore::DragController::cancelDrag):
118         (WebCore::DragController::dragEnded):
119         (WebCore::DragController::tryDocumentDrag):
120         (WebCore::DragController::dispatchTextInputEventFor):
121         (WebCore::DragController::concludeEditDrag):
122         (WebCore::DragController::placeDragCaret):
123         * page/Page.h:
124         (WebCore::Page::dragCaretController):
125         * rendering/RenderBlock.cpp:
126         (WebCore::RenderBlock::paintCaret):
127
128 2013-08-17  Andreas Kling  <akling@apple.com>
129
130         <https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.
131
132         Reviewed by Antti Koivisto.
133
134         Remove Editor's inheritance from FrameDestructionObserver. Editor is owned by Frame and
135         has no interest in observing frame destruction since its own destruction will soon follow.
136
137         Editor::m_frame is now a reference instead of a pointer. Removed some null checking.
138
139 2013-08-17  Andreas Kling  <akling@apple.com>
140
141         <https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.
142
143         Reviewed by Antti Koivisto.
144
145         This callback was only used by the Chromium port.
146
147         * editing/Editor.h:
148         * editing/Editor.cpp:
149
150             Remove override of FrameDestructionObserver::willDetachPage().
151
152         * page/EditorClient.h:
153
154             Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.
155
156 2013-08-16  Antti Koivisto  <antti@apple.com>
157
158         <https://webkit.org/b/119886> PseudoElement is abusing parent node pointer
159
160         Reviewed by Darin Adler.
161
162         PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
163         the basic tree consistency (a node is a child node of its parent node).
164         
165         This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
166         impact is negligible as there are not that many ::befores and ::afters.
167
168         * dom/ComposedShadowTreeWalker.cpp:
169         (WebCore::ComposedShadowTreeWalker::traverseParent):
170         * dom/EventPathWalker.cpp:
171         (WebCore::EventPathWalker::moveToParent):
172         * dom/EventRetargeter.h:
173         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
174         * dom/Node.cpp:
175         (WebCore::Node::~Node):
176         
177             Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.
178
179         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
180         * dom/PseudoElement.cpp:
181         (WebCore::PseudoElement::PseudoElement):
182         (WebCore::PseudoElement::customStyleForRenderer):
183         * dom/PseudoElement.h:
184         (WebCore::toPseudoElement):
185         
186             Add casting functions.
187
188         * inspector/InspectorLayerTreeAgent.cpp:
189         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
190         * rendering/HitTestResult.cpp:
191         (WebCore::HitTestResult::setInnerNode):
192         (WebCore::HitTestResult::setInnerNonSharedNode):
193
194 2013-08-17  Darin Adler  <darin@apple.com>
195
196         <https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard
197
198         Reviewed by Andreas Kling.
199
200         * dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.
201         All three are just unneeded forwarding to pasteboard.
202         * dom/Clipboard.h: Ditto.
203
204         * page/DragController.cpp:
205         (WebCore::DragController::startDrag): Move the logic in here. Later we might
206         want to straighten this out a bit, perhaps using functions in Editor, but it's
207         not much code so fine to just have it here for now.
208
209 2013-08-17  Darin Adler  <darin@apple.com>
210
211         <https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS
212
213         Reviewed by Andreas Kling.
214
215         * dom/Clipboard.cpp:
216         (WebCore::Clipboard::Clipboard):
217         (WebCore::Clipboard::~Clipboard):
218         * dom/Clipboard.h:
219         Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
220         Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.
221
222 2013-08-17  Darin Adler  <darin@apple.com>
223
224         <https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler
225
226         Reviewed by Andreas Kling.
227
228         Later it would be good to move this all to DragController, but there is no reason to have
229         these functions as member functions of the DOM-exposed Clipboard class.
230
231         * dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,
232         convertDragOperationToDropZoneOperation.
233         * dom/Clipboard.h: Ditto.
234
235         * page/EventHandler.cpp:
236         (WebCore::convertDropZoneOperationToDragOperation): Moved here.
237         (WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
238         (WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
239         canReadTypes check because Clipboard::files already takes care of that.
240         (WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
241         Added a check for the null string because HashSet::contains will not work on a null string.
242         (WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
243         (WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.
244
245 2013-08-17  Darin Adler  <darin@apple.com>
246
247         <https://webkit.org/b/119943> Clean up the Document class a bit
248
249         Reviewed by Antti Koivisto.
250
251         * dom/Document.cpp:
252         (WebCore::Document::~Document): Fixed typo in comment.
253         (WebCore::Document::suggestedMIMEType): Use ASCIILiteral for literals.
254         Also name local variable just loader rather than documentLoader.
255         (WebCore::Document::updateTitle): Call loader rather than going indirectly
256         through frame to get to the loader.
257         (WebCore::Document::setTitleElement): Fixed formatting (add braces).
258         (WebCore::Document::removeTitle): Iterate elements instead of nodes.
259         (WebCore::Document::isPageBoxVisible): Use ensureStyleResolver to call
260         styleForPage to avoid the need for a simple forwarding function. Also
261         eliminated local variable to increase clarity.
262         (WebCore::Document::pageSizeAndMarginsInPixels): Use ensureStyleResolver
263         to call styleForPage to avoid the need for a simple forwarding function.
264         (WebCore::Document::setIsViewSource): Renamed a local variable.
265
266         * dom/Document.h: Removed unneeded childNeedsAndNotInStyleRecalc and
267         styleForPage functions.
268
269         * loader/FrameLoader.cpp: Removed unnneeded setTitle function.
270         * loader/FrameLoader.h: Ditto.
271
272         * page/PrintContext.cpp:
273         (WebCore::PrintContext::pageProperty): Use ensureStyleResolver to call
274         styleForPage to avoid the need for a simple forwarding function.
275
276 2013-08-17  Darin Adler  <darin@apple.com>
277
278         <https://webkit.org/b/119939> Remove some unused clipboard and pasteboard code
279
280         Reviewed by Andreas Kling.
281
282         * PlatformWinCE.cmake: Removed EditorWin.cpp.
283         * WebCore.vcxproj/WebCore.vcxproj: Removed EditorWin.cpp.
284         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed EditorWin.cpp.
285         * WebCore.xcodeproj/project.pbxproj: Removed ClipboardIOS.h and
286         ClipboardIOS.mm, and also let Xcode edit/reorder this file.
287
288         * editing/Editor.cpp:
289         (WebCore::Editor::dispatchCPPEvent): Removed some LEGACY_STYLE_ABSTRACT_CLIPBOARD
290         class code. Will remove the rest later.
291
292         * editing/Editor.h: Removed declaration of newGeneralClipboard.
293
294         * platform/Pasteboard.h: Removed declaration of writeClipboard. Also updated a
295         comment to make it clearer.
296
297         * platform/blackberry/PasteboardBlackBerry.cpp: Removed Pasteboard::writeClipboard.
298         * platform/efl/PasteboardEfl.cpp: Ditto.
299         * platform/ios/PasteboardIOS.mm: Ditto.
300         * platform/win/PasteboardWin.cpp: Ditto.
301
302         * platform/ios/ClipboardIOS.h: Removed. Was an empty file.
303         * platform/ios/ClipboardIOS.mm: Removed. Was an empty file.
304         * platform/win/EditorWin.cpp: Removed. Had only newGeneralClipboard in the file,
305         a function that is never called.
306
307 2013-08-17  Darin Adler  <darin@apple.com>
308
309         <https://webkit.org/b/119940> Rename Clipboard::m_dragLoc to m_dragLocation
310
311         Reviewed by Andreas Kling.
312
313         * dom/Clipboard.h: Removed unused dragLocation member function.
314         Renamed m_dragLoc to m_dragLocation.
315
316         * dom/Clipboard.cpp:
317         (WebCore::Clipboard::setDragImage):
318         * platform/gtk/ClipboardGtk.cpp:
319         (WebCore::Clipboard::createDragImage):
320         * platform/mac/ClipboardMac.mm:
321         (WebCore::Clipboard::createDragImage):
322         * platform/qt/ClipboardQt.cpp:
323         (WebCore::Clipboard::createDragImage):
324         * platform/win/ClipboardWin.cpp:
325         (WebCore::Clipboard::createDragImage):
326         Updated for new name.
327
328 2013-08-17  Darin Adler  <darin@apple.com>
329
330         <https://webkit.org/b/119942> Remove unnecessary uses of Element::ownerDocument
331
332         Reviewed by Andreas Kling.
333
334         The Element::document is a simpler faster alternative to Element::ownerDocument.
335         The only behavior difference between the two is that ownerDocument returns 0 when
336         called on a Document.
337
338         * html/HTMLMediaElement.cpp:
339         (WebCore::HTMLMediaElement::supportsFocus): Call document instead of ownerDocument.
340         (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Removed null checking of
341         document and call to ownerDocument, since ownerDocument will never return non-null
342         if document returns null.
343         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Call document instead
344         of ownerDocument.
345
346         * inspector/DOMEditor.cpp:
347         (WebCore::DOMEditor::SetOuterHTMLAction::perform): Call document instead of ownerDocument.
348
349         * inspector/InspectorCSSAgent.cpp:
350         (WebCore::InspectorCSSAgent::getMatchedStylesForNode): Call document instead of ownerDocument.
351         (WebCore::InspectorCSSAgent::forcePseudoState): Call document instead of ownerDocument.
352         (WebCore::InspectorCSSAgent::resetPseudoStates): Call document instead of ownerDocument.
353
354         * inspector/InspectorDOMAgent.cpp:
355         (WebCore::InspectorDOMAgent::setOuterHTML): Call document instead of expression that
356         does the same thing in a roundabout way.
357         (WebCore::InspectorDOMAgent::focusNode): Call document instead of ownerDocument.
358         (WebCore::InspectorDOMAgent::resolveNode): Call document instead of expression that
359         does the same thing in a roundabout way.
360
361         * page/DragController.cpp:
362         (WebCore::DragController::concludeEditDrag): Call document instead of ownerDocument.
363
364         * svg/SVGElementInstance.cpp:
365         (WebCore::SVGElementInstance::ownerDocument): Call document instead of ownerDocument.
366
367 2013-08-17  Darin Adler  <darin@apple.com>
368
369         <https://webkit.org/b/119941> Make Page::dragController return a reference
370
371         Reviewed by Andreas Kling.
372
373         * page/Page.h:
374         (WebCore::Page::dragController): Return a reference instead of a pointer.
375
376         * page/DragController.cpp:
377         (WebCore::DragController::concludeEditDrag):
378         * page/EventHandler.cpp:
379         (WebCore::EventHandler::eventMayStartDrag):
380         (WebCore::EventHandler::updateDragSourceActionsAllowed):
381         (WebCore::EventHandler::handleDrag):
382         * page/mac/EventHandlerMac.mm:
383         (WebCore::EventHandler::passSubframeEventToSubframe):
384         Updated call sites.
385
386 2013-08-17  Morten Stenshorne  <mstensho@opera.com>
387
388         <https://webkit.org/b/119795> Propagate writing-mode from the first region to the flow thread
389
390         Reviewed by Darin Adler.
391
392         Since the flow thread is a direct child of RenderView, it doesn't inherit
393         proper writing-mode automatically. It should be mentioned that if the thread's
394         contents' writing-mode differs from that of the first region, things are
395         typically going to look useless (although perhaps that's how it should be),
396         but as long as writing-mode is only specified on a common parent of the
397         thread's contents and the regions, things look fine, and also, we're now
398         following what the spec has to say on the matter:
399
400         http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-flow-into-property
401
402             "The first region defines the principal writing mode for the entire flow.
403              The writing mode on subsequent regions is ignored."
404
405         This is a back-port of the fix for Blink bug 257965.
406         Reviewed by esprehn and mihnea there.
407         Blink review URL: https://chromiumcodereview.appspot.com/18374008
408
409         Tests: fast/regions/changing-writing-mode-2.html
410                fast/regions/changing-writing-mode-3.html
411                fast/regions/changing-writing-mode-4.html
412                fast/regions/changing-writing-mode-5.html
413                fast/regions/changing-writing-mode.html
414                fast/regions/invalid-first-region-with-writing-mode-2.html
415                fast/regions/invalid-first-region-with-writing-mode.html
416                fast/regions/subtree-with-horiz-bt.html
417                fast/regions/subtree-with-horiz-tb.html
418                fast/regions/subtree-with-vert-lr.html
419                fast/regions/subtree-with-vert-rl.html
420
421         * rendering/RenderFlowThread.cpp:
422         (WebCore::RenderFlowThread::styleDidChange):
423         * rendering/RenderFlowThread.h:
424         * rendering/RenderNamedFlowThread.cpp:
425         (WebCore::RenderNamedFlowThread::updateWritingMode):
426         (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread):
427         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
428         (WebCore::RenderNamedFlowThread::regionChangedWritingMode):
429         * rendering/RenderNamedFlowThread.h:
430         * rendering/RenderRegion.cpp:
431         (WebCore::RenderRegion::styleDidChange):
432
433 2013-08-16  Andreas Kling  <akling@apple.com>
434
435         <https://webkit.org/b/119903> Make Settings ref-counted (and let Frame keep a ref!)
436
437         Reviewed by Geoff Garen.
438
439         Let Frame hold a RefPtr<Settings> so Frame::settings() isn't forced to go through Page.
440         It now also returns a reference, as it can never be null.
441
442         Removed 8.8 million lines of null-checking as a result.
443
444 2013-08-16  Ryosuke Niwa  <rniwa@webkit.org>
445
446         <https://webkit.org/b/119536> Refactor highestEditableRoot to avoid a redundant call to rendererIsEditable
447
448         Reviewed by Benjamin Poulain.
449
450         Refactor highestEditableRoot to avoid an extra tree walk. We now walk up the ancestor chain up to
451         the first root editable element exactly once.
452
453         * dom/Node.cpp:
454         (WebCore::Node::rendererIsEditable): Change the order of conditions to make the evaluation faster
455         when we don't have to check RenderStyle's value.
456         * editing/htmlediting.cpp:
457         (WebCore::highestEditableRoot):
458
459 2013-08-16  Benjamin Poulain  <benjamin@webkit.org>
460
461         Remove a useless #include of SelectorChecker.h
462
463         Rubber-stamped by Ryosuke Niwa.
464
465         * dom/DocumentStyleSheetCollection.cpp:
466
467 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
468
469         [Windows] Update RenderMediaControls for new API
470         https://bugs.webkit.org/show_bug.cgi?id=119910
471
472         Reviewed by Eric Carlson.
473
474         * rendering/RenderMediaControls.cpp: Update calls to WebKitSystemInterface for
475         the changed API.
476
477 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
478
479         <https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)
480
481         Reviewed by Simon Fraser.
482
483         No new tests required, just a build fix.
484
485         Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
486         keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.
487
488         * css/CSSValueKeywords.in:
489         * css/SVGCSSValueKeywords.in:
490
491 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
492
493         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
494
495         Reviewed by Alexey Proskuryakov.
496
497         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
498         WTF::monotonicallyIncreasingTime() to measure elapsed time.
499         
500         * Modules/filesystem/FileWriter.cpp:
501         (WebCore::FileWriter::didWrite):
502         * dom/Document.cpp:
503         (WebCore::Document::Document):
504         (WebCore::Document::elapsedTime):
505         (WebCore::Document::resetLastHandledUserGestureTimestamp):
506         * dom/Element.cpp:
507         (WebCore::Element::setActive):
508         * fileapi/FileReader.cpp:
509         (WebCore::FileReader::didReceiveData):
510         * html/HTMLMediaElement.cpp:
511         (WebCore::HTMLMediaElement::HTMLMediaElement):
512         (WebCore::HTMLMediaElement::startProgressEventTimer):
513         (WebCore::HTMLMediaElement::progressEventTimerFired):
514         (WebCore::HTMLMediaElement::refreshCachedTime):
515         (WebCore::HTMLMediaElement::invalidateCachedTime):
516         (WebCore::HTMLMediaElement::currentTime):
517         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
518         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
519         * html/HTMLMediaElement.h:
520         * html/HTMLPlugInImageElement.cpp:
521         (WebCore::documentHadRecentUserGesture):
522         * html/MediaController.cpp:
523         (MediaController::scheduleTimeupdateEvent):
524         * html/parser/HTMLDocumentParser.cpp:
525         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
526         * html/parser/HTMLParserScheduler.h:
527         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
528         * inspector/InspectorCSSAgent.cpp:
529         (WebCore::SelectorProfile::SelectorProfile):
530         (WebCore::SelectorProfile::totalMatchingTimeMs):
531         (WebCore::SelectorProfile::startSelector):
532         (WebCore::SelectorProfile::commitSelector):
533         (WebCore::SelectorProfile::commitSelectorTime):
534         * inspector/InspectorProfilerAgent.cpp:
535         (WebCore::InspectorProfilerAgent::willProcessTask):
536         (WebCore::InspectorProfilerAgent::didProcessTask):
537         * inspector/InspectorTimelineAgent.cpp:
538         (WebCore::InspectorTimelineAgent::timestamp):
539         * inspector/TimelineTraceEventProcessor.cpp:
540         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
541         * page/FrameView.cpp:
542         (WebCore::FrameView::adjustedDeferredRepaintDelay):
543         (WebCore::FrameView::paintContents):
544         * platform/ClockGeneric.cpp:
545         (ClockGeneric::now):
546         * platform/ScrollAnimatorNone.cpp:
547         (WebCore::ScrollAnimatorNone::scroll):
548         (WebCore::ScrollAnimatorNone::animationTimerFired):
549         * platform/graphics/cg/ImageBufferCG.cpp:
550         (WebCore::ImageBuffer::ImageBuffer):
551         (WebCore::ImageBuffer::flushContextIfNecessary):
552         (WebCore::ImageBuffer::flushContext):
553         (WebCore::ImageBuffer::copyNativeImage):
554
555 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
556
557         <https://webkit.org/b/119891> [WinCairo] Compile error.
558
559         Reviewed by Brent Fulgham.
560
561         * rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
562         * rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
563
564 2013-08-16  Zan Dobersek  <zdobersek@igalia.com>
565
566         <https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession
567
568         Reviewed by Martin Robinson.
569
570         After r154144, a testing NetworkStorageSession is enforced when running the layout tests
571         through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
572         objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
573         as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
574         NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
575         As a result, all the layout tests are crashing under WKTR.
576
577         * platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.
578         (WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.
579         * platform/network/ResourceHandle.h: Declare the new createTestingSession method.
580         * platform/network/soup/CookieJarSoup.cpp: 
581         (WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
582         provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
583         jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.
584         * platform/network/soup/NetworkStorageSessionSoup.cpp:
585         (WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
586         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.
587         * platform/network/soup/ResourceHandleSoup.cpp:
588         (WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
589         SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.
590
591 2013-08-16  Pratik Solanki  <psolanki@apple.com>
592
593         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
594
595         Reviewed by Andreas Kling.
596
597         m_script is never NULL so we can just return a reference. Also remove some pointless null
598         checks as a result of doing this.
599
600         * Modules/websockets/WebSocket.cpp:
601         (WebCore::WebSocket::connect):
602         * bindings/js/JSDOMWindowBase.cpp:
603         (WebCore::toJS):
604         (WebCore::toJSDOMWindow):
605         * bindings/js/JSDOMWindowShell.cpp:
606         (WebCore::toJS):
607         (WebCore::toJSDOMWindowShell):
608         * bindings/js/JSEventListener.cpp:
609         (WebCore::JSEventListener::handleEvent):
610         * bindings/js/JSLazyEventListener.cpp:
611         (WebCore::JSLazyEventListener::initializeJSFunction):
612         * bindings/js/PageScriptDebugServer.cpp:
613         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
614         * bindings/js/ScheduledAction.cpp:
615         (WebCore::ScheduledAction::execute):
616         * bindings/js/ScriptCachedFrameData.cpp:
617         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
618         (WebCore::ScriptCachedFrameData::restore):
619         * bindings/js/ScriptEventListener.cpp:
620         (WebCore::createAttributeEventListener):
621         (WebCore::eventListenerHandlerScriptState):
622         * bindings/js/ScriptState.cpp:
623         (WebCore::mainWorldScriptState):
624         (WebCore::scriptStateFromNode):
625         (WebCore::scriptStateFromPage):
626         * bindings/objc/DOM.mm:
627         (-[DOMNode JSC::Bindings::]):
628         * bindings/objc/DOMInternal.mm:
629         (-[WebScriptObject _initializeScriptDOMNodeImp]):
630         * dom/Document.cpp:
631         (WebCore::Document::disableEval):
632         (WebCore::Document::ensurePlugInsInjectedScript):
633         * dom/ScriptElement.cpp:
634         (WebCore::ScriptElement::prepareScript):
635         (WebCore::ScriptElement::executeScript):
636         * history/CachedFrame.cpp:
637         (WebCore::CachedFrameBase::restore):
638         * html/HTMLCanvasElement.cpp:
639         (WebCore::HTMLCanvasElement::createRenderer):
640         * html/HTMLElement.cpp:
641         (WebCore::HTMLElement::rendererIsNeeded):
642         * html/HTMLMediaElement.cpp:
643         (WebCore::HTMLMediaElement::controls):
644         * html/HTMLPlugInElement.cpp:
645         (WebCore::HTMLPlugInElement::getInstance):
646         (WebCore::HTMLPlugInElement::getNPObject):
647         * html/HTMLPlugInImageElement.cpp:
648         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
649         * html/parser/HTMLParserOptions.cpp:
650         (WebCore::HTMLParserOptions::HTMLParserOptions):
651         * inspector/InspectorAgent.cpp:
652         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
653         * inspector/InspectorClient.cpp:
654         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
655         * inspector/InspectorFrontendClientLocal.cpp:
656         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
657         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
658         * inspector/InspectorOverlay.cpp:
659         (WebCore::InspectorOverlay::evaluateInOverlay):
660         * inspector/InspectorPageAgent.cpp:
661         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
662         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
663         * inspector/PageRuntimeAgent.cpp:
664         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
665         * loader/DocumentWriter.cpp:
666         (WebCore::DocumentWriter::begin):
667         * loader/FrameLoader.cpp:
668         (WebCore::FrameLoader::urlSelected):
669         (WebCore::FrameLoader::submitForm):
670         (WebCore::FrameLoader::cancelAndClear):
671         (WebCore::FrameLoader::clear):
672         (WebCore::FrameLoader::prepareForCachedPageRestore):
673         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
674         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
675         * loader/SubframeLoader.cpp:
676         (WebCore::SubframeLoader::requestFrame):
677         * loader/cache/CachedResourceLoader.cpp:
678         (WebCore::CachedResourceLoader::canRequest):
679         * page/EventSource.cpp:
680         (WebCore::EventSource::create):
681         * page/Frame.cpp:
682         (WebCore::Frame::willDetachPage):
683         * page/Frame.h:
684         (WebCore::Frame::script):
685         * page/Navigator.cpp:
686         (WebCore::shouldHideFourDot):
687         * page/Page.cpp:
688         (WebCore::Page::setDebugger):
689         * platform/graphics/wince/MediaPlayerProxy.cpp:
690         (WebCore::WebMediaPlayerProxy::pluginInstance):
691         (WebCore::WebMediaPlayerProxy::invokeMethod):
692         * plugins/PluginView.cpp:
693         (WebCore::PluginView::~PluginView):
694         (WebCore::PluginView::performRequest):
695         (WebCore::PluginView::load):
696         (WebCore::PluginView::bindingInstance):
697         (WebCore::PluginView::getValue):
698         * plugins/efl/PluginViewEfl.cpp:
699         (WebCore::PluginView::platformGetValue):
700         * xml/XMLHttpRequest.cpp:
701         (WebCore::XMLHttpRequest::open):
702         * xml/XMLTreeViewer.cpp:
703         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
704
705 2013-08-16  Andreas Kling  <akling@apple.com>
706
707         Attempt to fix the Qt/MountainLion build after r154142.
708
709         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
710         (WebCore::MediaPlayerPrivateQt::commitLoad):
711
712 2013-08-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
713
714         [Qt] Kerning in fast font path breaks letter-spacing
715         https://bugs.webkit.org/show_bug.cgi?id=119838
716
717         Reviewed by Jocelyn Turcotte.
718
719         Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.
720
721         Test: fast/text/letter-spacing-kerned.html
722
723         * platform/graphics/WidthIterator.h:
724         (WebCore::WidthIterator::supportsTypesettingFeatures):
725
726 2013-08-16  Andreas Kling  <akling@apple.com>
727
728         <https://webkit.org/b/119893> FrameView::frame() should return a reference.
729
730         Reviewed by Antti Koivisto.
731
732         FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
733         Leave it alone instead, and update the assertion that depended on this behavior.
734         This enables us to make FrameView::frame() return a Frame&, exposing a ton of
735         unnecessary null checks.
736
737         * history/CachedFrame.cpp:
738         (WebCore::CachedFrame::destroy):
739
740             Remove call to FrameView::clearFrame() that was the only way to get a null
741             FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
742             the FrameView would get destroyed anyway.
743
744         (WebCore::CachedFrame::clear):
745
746             Update an assertion to support the case where the Document's Frame pointer has
747             been cleared out and CachedFrame is still clinging to the FrameView.
748
749         * history/CachedPage.h:
750
751             Made CachedPage::destroy() private as it was only called by ~CachedPage().
752
753         * /:
754
755             Frame* FrameView::frame() => Frame& FrameView::frame()
756
757 2013-08-16  Brady Eidson  <beidson@apple.com>
758
759         (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
760         https://bugs.webkit.org/show_bug.cgi?id=119493
761
762         Reviewed by Alexey Proskuryakov.
763
764         No new tests (Covered by plenty of existing tests).
765
766         * WebCore.exp.in:
767         * WebCore.xcodeproj/project.pbxproj:
768
769         * platform/network/SynchronousLoaderClient.h: Make platformBadResponseError public
770
771         * platform/network/mac/ResourceHandleMac.mm:
772         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Add comments/FIXMEs spelling out how wrong this code is.
773
774 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
775
776         <https://webkit.org/b/119889> [WinCairo] Compile error.
777
778         Reviewed by Brent Fulgham.
779
780         * platform/network/curl/ResourceHandleManager.cpp:
781         (WebCore::certificatePath): Use correct function name.
782
783 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
784
785         [Windows] Unreviewed build correction after r154165.
786
787         * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy html/shadow header files
788         to WebKit include location.
789
790 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
791
792         [Windows] Prevent dangling CACFLayer when switching to/from Tiled backing.
793         https://bugs.webkit.org/show_bug.cgi?id=119818
794
795         Reviewed by Darin Adler.
796
797         Covered by existing: compositing/tiling/empty-to-tiled.html
798
799         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
800         (PlatformCALayer::~PlatformCALayer): Remove deleted layer from its
801         parent layer 
802
803 2013-08-16  Andreas Kling  <akling@apple.com>
804
805         <https://webkit.org/b/119866> Frame::eventHandler() should return a reference.
806
807         Reviewed by Anders Carlsson.
808
809         Frame::m_eventHandler is never null.
810
811 2013-08-16  Commit Queue  <commit-queue@webkit.org>
812
813         Unreviewed, rolling out r153749.
814         http://trac.webkit.org/changeset/153749
815         https://bugs.webkit.org/show_bug.cgi?id=119892
816
817         The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
818
819         * GNUmakefile.am:
820
821 2013-08-16  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
822
823         [GTK] fixing localizedString method name
824         https://bugs.webkit.org/show_bug.cgi?id=119884
825
826         The method name defined in LocalizedStringsGtk.cpp doesn't not match
827         the one used in LocalizedStrings.h
828
829         Reviewed by Gustavo Noronha Silva.
830
831         * platform/gtk/LocalizedStringsGtk.cpp:
832         (WebCore::textTrackOffMenuItemText):
833
834 2013-08-16  Andrei Parvu  <parvu@adobe.com>
835
836         [CSS Masking] Add -webkit-mask-source-type property, with auto, alpha and luminance values
837         https://bugs.webkit.org/show_bug.cgi?id=119614
838
839         Added the -webkit-mask-source-type property, which can have a value of auto, alpha or
840         luminance. The default value is auto. This patch contains only the parsing of the property,
841         not the actual implementation of the types of masks. The parsing of mask-source-type in the
842         -webkit-mask property will be handled in a separate patch.
843
844         Reviewed by Dirk Schulze.
845
846         Test: fast/masking/parsing-mask-source-type.html
847
848         * css/CSSComputedStyleDeclaration.cpp: Added case for CSSPropertyWebkitMaskType.
849         (WebCore::ComputedStyleExtractor::propertyValue):
850         * css/CSSParser.cpp: Parsed the values for CSSPropertyWebkitMaskType.
851         (WebCore::CSSParser::parseValue):
852         (WebCore::CSSParser::parseFillProperty):
853         * css/CSSProperty.cpp:
854         (WebCore::CSSProperty::isInheritedProperty):
855         * css/CSSPropertyNames.in: Added -webkit-mask-type property.
856         * css/CSSToStyleMap.cpp: map the provided mask type to the FillLayer class.
857         (WebCore::CSSToStyleMap::mapFillMaskType):
858         * css/CSSToStyleMap.h:
859         * css/DeprecatedStyleBuilder.cpp:
860         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
861         * css/StyleResolver.cpp:
862         (WebCore::StyleResolver::applyProperty):
863         * rendering/style/FillLayer.cpp: Added the m_maskType property to the FillLayer class.
864         (WebCore::FillLayer::FillLayer):
865         (WebCore::FillLayer::operator=):
866         (WebCore::FillLayer::operator==):
867         * rendering/style/FillLayer.h: Added methods for working with m_maskType.
868         (WebCore::FillLayer::maskType):
869         (WebCore::FillLayer::isMaskTypeSet):
870         (WebCore::FillLayer::setMaskType):
871         (WebCore::FillLayer::clearMaskType):
872         (WebCore::FillLayer::initialMaskType):
873         * rendering/style/RenderStyleConstants.h: Added the EMaskSourceType enum.
874
875 2013-08-16  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
876
877         <https://webkit.org/b/119885> [CMake] Always build our generated versions of ANGLE's glslang.cpp and glslang_tab.cpp
878
879         Reviewed by Gyuyoung Kim.
880
881         Now that r154109 has landed, all Bison versions (at least from 2.3 up
882         to the latest 3.0) should be able to generate versions of glslang* that
883         build correctly.
884
885         Since the idea is to remove the prebuilt files from future imports of
886         ANGLE, always building our own versions is a good idea, and allows us
887         to get rid of some very ugly CMake checks.
888
889         * CMakeLists.txt: Always build glslang.cpp and glslang_tab.cpp from
890         DERIVED_SOURCES_WEBCORE_DIR.
891
892 2013-08-16  Julien Brianceau  <jbrianceau@nds.com>
893
894         <https://webkit.org/b/119880> [Qt] Build fix (broken since r154142).
895
896         Reviewed by Gyuyoung Kim.
897
898         Since r154142, Frame::loader() is a reference (and not a pointer anymore).
899
900         * xml/parser/XMLDocumentParserQt.cpp:
901         (WebCore::XMLDocumentParser::parseStartElement):
902
903 2013-08-16  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
904
905         [WebGL] Vertex attribute binding validation method
906         https://bugs.webkit.org/show_bug.cgi?id=119515
907
908         This patch refactors WebGLRenderingContext code by moving the vertex
909         attribute binding validation to a separate method. It is now
910         possible to use that validation in other parts of the code. The
911         code is more clear now. 
912
913         Reviewed by Christophe Dumez.
914
915         No new tests. Covered by existing tests. No behaviour changed.
916         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/gl-drawelements.html
917         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html
918         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html
919
920         * html/canvas/WebGLRenderingContext.cpp:
921         (WebCore::WebGLRenderingContext::validateVertexAttributes):
922         * html/canvas/WebGLVertexArrayObjectOES.h:
923         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::isBound):
924         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::validateBinding):
925
926 2013-08-15  Antti Koivisto  <antti@apple.com>
927
928         <https://webkit.org/b/119865> Parent pointer and shadow root host pointer should not be shared
929
930         Reviewed by Andreas Kling.
931
932         Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host
933         pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that 
934         want to traverse ancestors normally, without leaving the shadow trees. This is much more popular than
935         traversing through.
936         
937         This patch makes the Node have a pure parent pointer only and adds the host element pointer as a separate
938         member in ShadowRoot. This eliminates the ShadowRoot test branch from Node::parentNode() as the pointer is
939         now always null in the root node.
940         
941         ShadowRoot grows by a pointer. This is not significant as there are few ShadowRoots compared to Nodes.
942
943         * css/StyleResolver.cpp:
944         (WebCore::StyleResolver::pushParentShadowRoot):
945         (WebCore::StyleResolver::popParentShadowRoot):
946         * dom/Attr.cpp:
947         (WebCore::Attr::createTextChild):
948         * dom/ComposedShadowTreeWalker.cpp:
949         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
950         * dom/ContainerNode.cpp:
951         (WebCore::ContainerNode::insertBeforeCommon):
952         (WebCore::ContainerNode::removeBetween):
953         * dom/ContainerNodeAlgorithms.cpp:
954         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
955         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
956         * dom/ContainerNodeAlgorithms.h:
957         (WebCore::appendChildToContainer):
958         (WebCore::Private::addChildNodesToDeletionQueue):
959         * dom/Document.h:
960         (WebCore::Node::Node):
961         * dom/Element.cpp:
962         (WebCore::Element::addShadowRoot):
963         (WebCore::Element::removeShadowRoot):
964         * dom/ElementRareData.h:
965         (WebCore::ElementRareData::releasePseudoElement):
966         * dom/EventPathWalker.cpp:
967         (WebCore::EventPathWalker::moveToParent):
968         * dom/EventRetargeter.cpp:
969         (WebCore::determineDispatchBehavior):
970         * dom/EventRetargeter.h:
971         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
972         * dom/Node.cpp:
973         (WebCore::Node::shadowHost):
974         (WebCore::Node::deprecatedShadowAncestorNode):
975         (WebCore::Node::parentOrShadowHostElement):
976         * dom/Node.h:
977         (WebCore::Node::hasTreeSharedParent):
978         
979             Shadow host elements refs the ShadowRoot. There is no reason to use TreeShared to keep it alive.
980
981         (WebCore::Node::setParentNode):
982         (WebCore::Node::parentNode):
983         (WebCore::Node::parentNodeGuaranteedHostFree):
984         * dom/PseudoElement.cpp:
985         (WebCore::PseudoElement::PseudoElement):
986         * dom/ShadowRoot.cpp:
987         (WebCore::ShadowRoot::ShadowRoot):
988         (WebCore::ShadowRoot::setInnerHTML):
989         (WebCore::ShadowRoot::setApplyAuthorStyles):
990         (WebCore::ShadowRoot::setResetStyleInheritance):
991         * dom/ShadowRoot.h:
992         
993             Rename host() -> hostElement() for clarity.
994
995         (WebCore::Node::parentOrShadowHostNode):
996         * dom/Text.cpp:
997         (WebCore::isSVGShadowText):
998         * dom/TreeScope.cpp:
999         (WebCore::TreeScope::focusedElement):
1000         * html/shadow/ContentDistributor.cpp:
1001         (WebCore::ContentDistributor::ensureDistribution):
1002         * html/shadow/InsertionPoint.cpp:
1003         (WebCore::InsertionPoint::insertedInto):
1004         (WebCore::InsertionPoint::removedFrom):
1005         (WebCore::InsertionPoint::parseAttribute):
1006         * page/DragController.cpp:
1007         (WebCore::asFileInput):
1008         * page/EventHandler.cpp:
1009         (WebCore::EventHandler::handleMousePressEvent):
1010         (WebCore::instanceAssociatedWithShadowTreeElement):
1011         * page/FocusController.cpp:
1012         (WebCore::FocusNavigationScope::owner):
1013         * rendering/RenderBlock.cpp:
1014         (WebCore::RenderBlock::hasLineIfEmpty):
1015         * rendering/RenderLayer.cpp:
1016         (WebCore::rendererForScrollbar):
1017         * svg/SVGElementInstance.h:
1018         (WebCore::SVGElementInstance::setParentNode):
1019             
1020             Renamed so it works with appendChildToContainer template.
1021
1022         * svg/SVGStyledElement.cpp:
1023         (WebCore::SVGStyledElement::title):
1024
1025 2013-08-13  Darin Adler  <darin@apple.com>
1026
1027         [iOS] Get iOS port off legacy clipboard
1028         https://bugs.webkit.org/show_bug.cgi?id=116412
1029
1030         Reviewed by Daniel Bates.
1031
1032         * dom/Clipboard.h: Turn off legacy style clipboard for iOS.
1033         Next patch will be able to remove legacy style entirely!
1034
1035         * editing/Editor.cpp:
1036         (WebCore::Editor::dispatchCPPEvent): Attach the frame to the
1037         pasteboard directly explicitly. This is a layering violation, but
1038         is needed until we change how iOS pasteboard communicates with the
1039         host to use platform strategies instead of the editor client.
1040
1041         * editing/ios/EditorIOS.mm: Removed Editor::newGeneralClipboard and
1042         the include of ClipboardIOS.h.
1043
1044         * platform/Pasteboard.h: Added the setFrame function (iOS-only) and
1045         frame and change count data members.
1046
1047         * platform/ios/ClipboardIOS.h: Emptied out. Later we can remove this.
1048         * platform/ios/ClipboardIOS.mm: Ditto.
1049
1050         * platform/ios/PasteboardIOS.mm:
1051         (WebCore::Pasteboard::Pasteboard): Initialize m_frame to zero.
1052         (WebCore::Pasteboard::createForCopyAndPaste): Added.
1053         (WebCore::Pasteboard::createPrivate): Added.
1054         (WebCore::Pasteboard::writePasteboard): Added. Empty function, like
1055         writeClipboard. Eventually need to remove or implement this.
1056         (WebCore::Pasteboard::setFrame): Added. Sets frame and change count.
1057         (WebCore::Pasteboard::hasData): Moved here from ClipboardIOS.
1058         (WebCore::utiTypeFromCocoaType): Ditto.
1059         (WebCore::cocoaTypeFromHTMLClipboardType): Ditto.
1060         (WebCore::Pasteboard::clear): Ditto.
1061         (WebCore::Pasteboard::readString): Ditto.
1062         (WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
1063         (WebCore::Pasteboard::writeString): Ditto.
1064         (WebCore::Pasteboard::types): Ditto.
1065         (WebCore::Pasteboard::readFilenames): Ditto.
1066
1067         * WebCore.exp.in: Move Clipboard destructor from Mac-only section to
1068         common section shared by Mac and iOS.
1069
1070 2013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
1071
1072         [EFL] Unreviewed build fix after r154142 and r154144.
1073
1074         * platform/efl/ErrorsEfl.cpp: Follow the changes of r154142.
1075         (WebCore::printError):
1076         (WebCore::printerNotFoundError):
1077         (WebCore::invalidPageRangeToPrint):
1078
1079 2013-08-15  Hans Muller  <hmuller@adobe.com>
1080
1081         [CSS Shapes] Add support for shape-outside image values
1082         https://bugs.webkit.org/show_bug.cgi?id=119809
1083
1084         Added minimal support for shape-outside image values. A new method that computes
1085         the excluded intervals for a horizontal line segment was added to the RasterIntervals
1086         class. The stub RasterShape getExcludedIntervals() method has been replaced by
1087         one that uses the new method.
1088
1089         Image shapes are represented by a RasterIntervals object, which just encapsulates a
1090         Region object. The new getExcludedIntervals() method computes the excluded intervals
1091         for a horizontal line segment between y1 and y2. To find the excluded intervals we
1092         vertically expand each of the image shape Region's rectangles that fall within the line
1093         segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
1094         rectangles produces a new Region whose horizontal projection defines the excluded intervals.
1095
1096         Reviewed by Alexandru Chiculita.
1097
1098         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html
1099                fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html
1100
1101         * rendering/shapes/RasterShape.cpp:
1102         (WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
1103         (WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().
1104         * rendering/shapes/RasterShape.h:
1105         * rendering/shapes/ShapeOutsideInfo.cpp:
1106         (WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.
1107
1108 2013-08-15  Simon Fraser  <simon.fraser@apple.com>
1109
1110         <https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu
1111
1112         Reviewed by Tim Horton.
1113         
1114         When starting a show on Hulu, there's a layer that gets marked as
1115         opaque because it has a child RenderLayer whose background fills the
1116         compositing layer. That child RenderLayer was recently position:fixed
1117         but outside the viewport, so its viewportConstrainedNotCompositedReason
1118         was set to a non-zero value.
1119         
1120         However, we failed to clear the viewportConstrainedNotCompositedReason
1121         when the layer became non-fixed. This caused painting the opaque
1122         layer to bail in RenderLayer::paintLayer(), leaving garbage.
1123
1124         Test: compositing/contents-opaque/fixed-to-nonfixed.html
1125
1126         * rendering/RenderLayer.cpp:
1127         (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
1128         * rendering/RenderLayerCompositor.cpp:
1129         (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
1130         ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
1131
1132 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1133
1134         [Windows] Consolidate WebKit Bundle Handling
1135         https://bugs.webkit.org/show_bug.cgi?id=119869
1136
1137         Reviewed by Tim Horton.
1138
1139         * WebCore.vcxproj/WebCore.vcxproj: Add new WebCoreBundleWin files.
1140         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1141         * platform/network/curl/ResourceHandleManager.cpp:
1142         (WebCore::certificatePath): Use correct bundle handling logic.
1143         * platform/win/LocalizedStringsWin.cpp: Move bundle implementation to
1144         new WebCoreBundleWin.cpp file.
1145         * platform/win/WebCoreBundleWin.cpp: Added.
1146         (WebCore::createWebKitBundle):
1147         (WebCore::webKitBundle):
1148         * platform/win/WebCoreBundleWin.h: Added.
1149
1150 2013-08-15  Anders Carlsson  <andersca@apple.com>
1151
1152         <https://webkit.org/b/119859> Frame::loader() should return a reference
1153
1154         Reviewed by Andreas Kling.
1155
1156         * Modules/websockets/WebSocketChannel.cpp:
1157         (WebCore::WebSocketChannel::willOpenSocketStream):
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * accessibility/AccessibilityObject.cpp:
1160         (WebCore::AccessibilityObject::press):
1161         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1162         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
1163         * bindings/ScriptControllerBase.cpp:
1164         (WebCore::ScriptController::canExecuteScripts):
1165         * bindings/js/ScriptController.cpp:
1166         (WebCore::ScriptController::initScript):
1167         * css/CSSFontSelector.cpp:
1168         (WebCore::CSSFontSelector::beginLoadTimerFired):
1169         * dom/DOMImplementation.cpp:
1170         (WebCore::DOMImplementation::createDocument):
1171         * dom/Document.cpp:
1172         (WebCore::Document::Document):
1173         (WebCore::Document::setVisualUpdatesAllowed):
1174         (WebCore::Document::updateTitle):
1175         (WebCore::Document::open):
1176         (WebCore::Document::explicitClose):
1177         (WebCore::Document::implicitClose):
1178         (WebCore::Document::userAgent):
1179         (WebCore::Document::canNavigate):
1180         (WebCore::Document::processHttpEquiv):
1181         (WebCore::Document::referrer):
1182         (WebCore::Document::documentDidResumeFromPageCache):
1183         (WebCore::Document::openSearchDescriptionURL):
1184         (WebCore::Document::finishedParsing):
1185         (WebCore::Document::addIconURL):
1186         (WebCore::Document::initSecurityContext):
1187         (WebCore::Document::updateURLForPushOrReplaceState):
1188         (WebCore::Document::loadEventDelayTimerFired):
1189         (WebCore::Document::loader):
1190         (WebCore::Document::decrementActiveParserCount):
1191         * history/CachedFrame.cpp:
1192         (WebCore::CachedFrameBase::CachedFrameBase):
1193         (WebCore::CachedFrameBase::restore):
1194         (WebCore::CachedFrame::CachedFrame):
1195         (WebCore::CachedFrame::open):
1196         (WebCore::CachedFrame::destroy):
1197         * history/PageCache.cpp:
1198         (WebCore::logCanCacheFrameDecision):
1199         (WebCore::logCanCachePageDecision):
1200         (WebCore::PageCache::canCachePageContainingThisFrame):
1201         (WebCore::PageCache::canCache):
1202         * html/HTMLAnchorElement.cpp:
1203         (WebCore::HTMLAnchorElement::handleClick):
1204         * html/HTMLAppletElement.cpp:
1205         (WebCore::HTMLAppletElement::updateWidget):
1206         * html/HTMLElement.cpp:
1207         (WebCore::HTMLElement::rendererIsNeeded):
1208         * html/HTMLEmbedElement.cpp:
1209         (WebCore::HTMLEmbedElement::updateWidget):
1210         * html/HTMLFormElement.cpp:
1211         (WebCore::HTMLFormElement::prepareForSubmission):
1212         (WebCore::HTMLFormElement::submit):
1213         * html/HTMLFrameElementBase.cpp:
1214         (WebCore::HTMLFrameElementBase::openURL):
1215         * html/HTMLFrameOwnerElement.cpp:
1216         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
1217         * html/HTMLFrameSetElement.cpp:
1218         (WebCore::HTMLFrameSetElement::insertedInto):
1219         (WebCore::HTMLFrameSetElement::removedFrom):
1220         * html/HTMLHtmlElement.cpp:
1221         (WebCore::HTMLHtmlElement::insertedByParser):
1222         * html/HTMLMediaElement.cpp:
1223         (WebCore::HTMLMediaElement::createRenderer):
1224         (WebCore::HTMLMediaElement::attach):
1225         (WebCore::HTMLMediaElement::loadResource):
1226         (WebCore::HTMLMediaElement::getPluginProxyParams):
1227         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
1228         (WebCore::HTMLMediaElement::updateWidget):
1229         (WebCore::HTMLMediaElement::mediaPlayerReferrer):
1230         (WebCore::HTMLMediaElement::mediaPlayerUserAgent):
1231         * html/HTMLObjectElement.cpp:
1232         (WebCore::HTMLObjectElement::parametersForPlugin):
1233         (WebCore::HTMLObjectElement::updateWidget):
1234         * html/HTMLPlugInImageElement.cpp:
1235         (WebCore::HTMLPlugInImageElement::isImageType):
1236         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
1237         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
1238         * html/HTMLVideoElement.cpp:
1239         (WebCore::HTMLVideoElement::setDisplayMode):
1240         * html/ImageDocument.cpp:
1241         (WebCore::ImageDocumentParser::appendBytes):
1242         (WebCore::ImageDocumentParser::finish):
1243         (WebCore::ImageDocument::createDocumentStructure):
1244         * html/MediaDocument.cpp:
1245         (WebCore::MediaDocumentParser::createDocumentStructure):
1246         * html/PluginDocument.cpp:
1247         (WebCore::PluginDocumentParser::createDocumentStructure):
1248         (WebCore::PluginDocumentParser::appendBytes):
1249         (WebCore::PluginDocument::detach):
1250         (WebCore::PluginDocument::cancelManualPluginLoad):
1251         * html/canvas/WebGLRenderingContext.cpp:
1252         (WebCore::WebGLRenderingContext::create):
1253         (WebCore::WebGLRenderingContext::loseContextImpl):
1254         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1255         * html/parser/HTMLConstructionSite.cpp:
1256         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
1257         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1258         * html/parser/HTMLParserOptions.cpp:
1259         (WebCore::HTMLParserOptions::HTMLParserOptions):
1260         * html/parser/XSSAuditor.cpp:
1261         (WebCore::XSSAuditor::init):
1262         * html/parser/XSSAuditorDelegate.cpp:
1263         (WebCore::XSSAuditorDelegate::generateViolationReport):
1264         (WebCore::XSSAuditorDelegate::didBlockScript):
1265         * inspector/InspectorApplicationCacheAgent.cpp:
1266         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
1267         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1268         * inspector/InspectorFrontendClientLocal.cpp:
1269         (WebCore::InspectorFrontendClientLocal::openInNewTab):
1270         * inspector/InspectorFrontendHost.cpp:
1271         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
1272         * inspector/InspectorOverlay.cpp:
1273         (WebCore::InspectorOverlay::overlayPage):
1274         * inspector/InspectorPageAgent.cpp:
1275         (WebCore::InspectorPageAgent::mainResourceContent):
1276         (WebCore::InspectorPageAgent::reload):
1277         (WebCore::InspectorPageAgent::navigate):
1278         (WebCore::allResourcesURLsForFrame):
1279         (WebCore::InspectorPageAgent::searchInResource):
1280         (WebCore::InspectorPageAgent::assertDocumentLoader):
1281         (WebCore::InspectorPageAgent::buildObjectForFrame):
1282         * inspector/InspectorResourceAgent.cpp:
1283         (WebCore::InspectorResourceAgent::didFailLoading):
1284         * loader/CookieJar.cpp:
1285         (WebCore::networkingContext):
1286         * loader/DocumentLoader.cpp:
1287         (WebCore::DocumentLoader::frameLoader):
1288         (WebCore::DocumentLoader::document):
1289         (WebCore::DocumentLoader::stopLoading):
1290         (WebCore::DocumentLoader::removeSubresourceLoader):
1291         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
1292         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
1293         (WebCore::DocumentLoader::continueIconLoadWithDecision):
1294         * loader/DocumentThreadableLoader.cpp:
1295         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1296         (WebCore::DocumentThreadableLoader::didFinishLoading):
1297         (WebCore::DocumentThreadableLoader::didFail):
1298         (WebCore::DocumentThreadableLoader::preflightFailure):
1299         (WebCore::DocumentThreadableLoader::loadRequest):
1300         * loader/DocumentWriter.cpp:
1301         (WebCore::DocumentWriter::replaceDocument):
1302         (WebCore::DocumentWriter::createDocument):
1303         (WebCore::DocumentWriter::begin):
1304         * loader/FrameLoader.cpp:
1305         (WebCore::FrameLoader::~FrameLoader):
1306         (WebCore::FrameLoader::allChildrenAreComplete):
1307         (WebCore::FrameLoader::allAncestorsAreComplete):
1308         (WebCore::FrameLoader::loadURLIntoChildFrame):
1309         (WebCore::FrameLoader::outgoingReferrer):
1310         (WebCore::FrameLoader::setOpener):
1311         (WebCore::FrameLoader::completed):
1312         (WebCore::FrameLoader::started):
1313         (WebCore::FrameLoader::loadFrameRequest):
1314         (WebCore::FrameLoader::loadURL):
1315         (WebCore::FrameLoader::load):
1316         (WebCore::FrameLoader::loadWithDocumentLoader):
1317         (WebCore::FrameLoader::stopAllLoaders):
1318         (WebCore::FrameLoader::closeOldDataSources):
1319         (WebCore::FrameLoader::subframeIsLoading):
1320         (WebCore::FrameLoader::subresourceCachePolicy):
1321         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1322         (WebCore::FrameLoader::detachChildren):
1323         (WebCore::FrameLoader::checkLoadComplete):
1324         (WebCore::FrameLoader::detachFromParent):
1325         (WebCore::FrameLoader::loadPostRequest):
1326         (WebCore::FrameLoader::loadResourceSynchronously):
1327         (WebCore::FrameLoader::shouldClose):
1328         (WebCore::FrameLoader::handleBeforeUnloadEvent):
1329         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1330         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1331         (WebCore::createWindow):
1332         * loader/HistoryController.cpp:
1333         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1334         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1335         (WebCore::HistoryController::saveDocumentState):
1336         (WebCore::HistoryController::saveDocumentAndScrollState):
1337         (WebCore::isAssociatedToRequestedHistoryItem):
1338         (WebCore::HistoryController::restoreDocumentState):
1339         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
1340         (WebCore::HistoryController::goToItem):
1341         (WebCore::HistoryController::updateForBackForwardNavigation):
1342         (WebCore::HistoryController::updateForReload):
1343         (WebCore::HistoryController::updateForStandardLoad):
1344         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1345         (WebCore::HistoryController::updateForClientRedirect):
1346         (WebCore::HistoryController::updateForCommit):
1347         (WebCore::HistoryController::recursiveUpdateForCommit):
1348         (WebCore::HistoryController::updateForSameDocumentNavigation):
1349         (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
1350         (WebCore::HistoryController::initializeItem):
1351         (WebCore::HistoryController::createItemTree):
1352         (WebCore::HistoryController::recursiveSetProvisionalItem):
1353         (WebCore::HistoryController::recursiveGoToItem):
1354         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
1355         (WebCore::HistoryController::updateCurrentItem):
1356         (WebCore::HistoryController::pushState):
1357         (WebCore::HistoryController::replaceState):
1358         * loader/ImageLoader.cpp:
1359         (WebCore::pageIsBeingDismissed):
1360         * loader/MixedContentChecker.cpp:
1361         (WebCore::MixedContentChecker::client):
1362         * loader/NavigationScheduler.cpp:
1363         (WebCore::ScheduledURLNavigation::fire):
1364         (WebCore::ScheduledURLNavigation::didStartTimer):
1365         (WebCore::ScheduledURLNavigation::didStopTimer):
1366         (WebCore::ScheduledRedirect::shouldStartTimer):
1367         (WebCore::ScheduledRedirect::fire):
1368         (WebCore::ScheduledRefresh::fire):
1369         (WebCore::ScheduledHistoryNavigation::fire):
1370         (WebCore::ScheduledFormSubmission::fire):
1371         (WebCore::ScheduledFormSubmission::didStartTimer):
1372         (WebCore::ScheduledFormSubmission::didStopTimer):
1373         (WebCore::NavigationScheduler::mustLockBackForwardList):
1374         (WebCore::NavigationScheduler::scheduleLocationChange):
1375         (WebCore::NavigationScheduler::scheduleFormSubmission):
1376         (WebCore::NavigationScheduler::scheduleRefresh):
1377         (WebCore::NavigationScheduler::schedule):
1378         * loader/PingLoader.cpp:
1379         (WebCore::PingLoader::loadImage):
1380         (WebCore::PingLoader::sendPing):
1381         (WebCore::PingLoader::sendViolationReport):
1382         (WebCore::PingLoader::PingLoader):
1383         * loader/PolicyChecker.cpp:
1384         (WebCore::PolicyChecker::checkNavigationPolicy):
1385         (WebCore::PolicyChecker::checkNewWindowPolicy):
1386         (WebCore::PolicyChecker::checkContentPolicy):
1387         (WebCore::PolicyChecker::cancelCheck):
1388         (WebCore::PolicyChecker::stopCheck):
1389         (WebCore::PolicyChecker::cannotShowMIMEType):
1390         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
1391         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
1392         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
1393         (WebCore::PolicyChecker::handleUnimplementablePolicy):
1394         * loader/ProgressTracker.cpp:
1395         (WebCore::ProgressTracker::progressStarted):
1396         (WebCore::ProgressTracker::progressCompleted):
1397         (WebCore::ProgressTracker::finalProgressComplete):
1398         (WebCore::ProgressTracker::incrementProgress):
1399         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
1400         * loader/ResourceLoadNotifier.cpp:
1401         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1402         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1403         (WebCore::ResourceLoadNotifier::willSendRequest):
1404         (WebCore::ResourceLoadNotifier::didFailToLoad):
1405         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1406         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1407         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1408         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
1409         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1410         (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
1411         * loader/ResourceLoader.cpp:
1412         (WebCore::ResourceLoader::ResourceLoader):
1413         (WebCore::ResourceLoader::start):
1414         (WebCore::ResourceLoader::frameLoader):
1415         (WebCore::ResourceLoader::willSendRequest):
1416         * loader/SubframeLoader.cpp:
1417         (WebCore::SubframeLoader::pluginIsLoadable):
1418         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
1419         (WebCore::SubframeLoader::createJavaAppletWidget):
1420         (WebCore::SubframeLoader::loadOrRedirectSubframe):
1421         (WebCore::SubframeLoader::loadSubframe):
1422         (WebCore::SubframeLoader::allowPlugins):
1423         (WebCore::SubframeLoader::shouldUsePlugin):
1424         (WebCore::SubframeLoader::loadPlugin):
1425         * loader/appcache/ApplicationCacheGroup.cpp:
1426         (WebCore::ApplicationCacheGroup::selectCache):
1427         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1428         (WebCore::ApplicationCacheGroup::update):
1429         (WebCore::ApplicationCacheGroup::createResourceHandle):
1430         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1431         (WebCore::ApplicationCacheGroup::didFinishLoading):
1432         (WebCore::ApplicationCacheGroup::didFail):
1433         (WebCore::ApplicationCacheGroup::addEntry):
1434         (WebCore::CallCacheListenerTask::performTask):
1435         (WebCore::ApplicationCacheGroup::postListenerTask):
1436         * loader/appcache/DOMApplicationCache.cpp:
1437         (WebCore::DOMApplicationCache::applicationCacheHost):
1438         * loader/archive/cf/LegacyWebArchive.cpp:
1439         (WebCore::LegacyWebArchive::create):
1440         (WebCore::LegacyWebArchive::createFromSelection):
1441         * loader/cache/CachedResource.cpp:
1442         (WebCore::CachedResource::addAdditionalRequestHeaders):
1443         (WebCore::CachedResource::load):
1444         * loader/cache/CachedResourceLoader.cpp:
1445         (WebCore::CachedResourceLoader::requestImage):
1446         (WebCore::CachedResourceLoader::checkInsecureContent):
1447         (WebCore::CachedResourceLoader::canRequest):
1448         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
1449         (WebCore::CachedResourceLoader::requestResource):
1450         (WebCore::CachedResourceLoader::clientDefersImage):
1451         (WebCore::CachedResourceLoader::cachePolicy):
1452         (WebCore::CachedResourceLoader::loadDone):
1453         * loader/icon/IconController.cpp:
1454         (WebCore::IconController::commitToDatabase):
1455         (WebCore::IconController::startLoader):
1456         (WebCore::IconController::continueLoadWithDecision):
1457         * loader/icon/IconLoader.cpp:
1458         (WebCore::IconLoader::startLoading):
1459         (WebCore::IconLoader::notifyFinished):
1460         * page/Chrome.cpp:
1461         (WebCore::canRunModalIfDuringPageDismissal):
1462         * page/ContextMenuController.cpp:
1463         (WebCore::openNewWindow):
1464         (WebCore::ContextMenuController::contextMenuItemSelected):
1465         (WebCore::ContextMenuController::populate):
1466         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1467         * page/DOMWindow.cpp:
1468         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
1469         (WebCore::DOMWindow::postMessageTimerFired):
1470         (WebCore::DOMWindow::close):
1471         (WebCore::DOMWindow::print):
1472         (WebCore::DOMWindow::stop):
1473         (WebCore::DOMWindow::setName):
1474         (WebCore::DOMWindow::opener):
1475         (WebCore::DOMWindow::dispatchLoadEvent):
1476         (WebCore::DOMWindow::setLocation):
1477         (WebCore::DOMWindow::createWindow):
1478         (WebCore::DOMWindow::open):
1479         * page/DOMWindowExtension.cpp:
1480         (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
1481         (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
1482         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
1483         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
1484         (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
1485         * page/DragController.cpp:
1486         (WebCore::DragController::performDrag):
1487         * page/EventHandler.cpp:
1488         (WebCore::EventHandler::handleMousePressEvent):
1489         (WebCore::EventHandler::keyEvent):
1490         * page/Frame.cpp:
1491         (WebCore::Frame::~Frame):
1492         (WebCore::Frame::setView):
1493         (WebCore::Frame::injectUserScripts):
1494         (WebCore::Frame::willDetachPage):
1495         * page/Frame.h:
1496         (WebCore::Frame::loader):
1497         * page/FrameView.cpp:
1498         (WebCore::FrameView::mediaType):
1499         (WebCore::FrameView::setFixedVisibleContentRect):
1500         (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
1501         (WebCore::FrameView::performPostLayoutTasks):
1502         (WebCore::FrameView::autoSizeIfEnabled):
1503         (WebCore::FrameView::scrollTo):
1504         (WebCore::FrameView::shouldSuspendScrollAnimations):
1505         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
1506         (WebCore::FrameView::wheelEvent):
1507         (WebCore::FrameView::firePaintRelatedMilestones):
1508         * page/History.cpp:
1509         (WebCore::History::stateInternal):
1510         (WebCore::History::stateObjectAdded):
1511         * page/Location.cpp:
1512         (WebCore::Location::setLocation):
1513         * page/Navigator.cpp:
1514         (WebCore::Navigator::userAgent):
1515         * page/Page.cpp:
1516         (WebCore::Page::goToItem):
1517         (WebCore::Page::refreshPlugins):
1518         (WebCore::Page::setDefersLoading):
1519         (WebCore::Page::setMemoryCacheClientCallsEnabled):
1520         (WebCore::Page::addRelevantRepaintedObject):
1521         * page/Performance.cpp:
1522         (WebCore::Performance::now):
1523         * page/PerformanceNavigation.cpp:
1524         (WebCore::PerformanceNavigation::type):
1525         (WebCore::PerformanceNavigation::redirectCount):
1526         * page/PerformanceResourceTiming.cpp:
1527         (WebCore::monotonicTimeToDocumentMilliseconds):
1528         * page/mac/PageMac.cpp:
1529         (WebCore::Page::addSchedulePair):
1530         (WebCore::Page::removeSchedulePair):
1531         * platform/ios/PasteboardIOS.mm:
1532         (WebCore::documentFragmentWithImageResource):
1533         (WebCore::documentFragmentWithRTF):
1534         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
1535         * platform/mac/HTMLConverter.mm:
1536         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1537         (-[WebHTMLConverter _loadFromDOMRange]):
1538         * platform/mac/PasteboardMac.mm:
1539         (WebCore::documentFragmentWithImageResource):
1540         (WebCore::documentFragmentWithRTF):
1541         (WebCore::fragmentFromWebArchive):
1542         * plugins/DOMMimeType.cpp:
1543         (WebCore::DOMMimeType::enabledPlugin):
1544         * rendering/RenderLayer.cpp:
1545         (WebCore::RenderLayer::scrollTo):
1546         * svg/SVGAElement.cpp:
1547         (WebCore::SVGAElement::defaultEventHandler):
1548         * svg/graphics/SVGImage.cpp:
1549         (WebCore::SVGImage::~SVGImage):
1550         (WebCore::SVGImage::dataChanged):
1551         * testing/Internals.cpp:
1552         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
1553         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
1554         (WebCore::Internals::getReferencedFilePaths):
1555         (WebCore::Internals::forceReload):
1556         * xml/XSLTProcessorLibxslt.cpp:
1557         (WebCore::docLoaderFunc):
1558         * xml/parser/XMLDocumentParserLibxml2.cpp:
1559         (WebCore::openFunc):
1560         (WebCore::XMLDocumentParser::startElementNs):
1561
1562 2013-08-15  Daniel Bates  <dabates@apple.com>
1563
1564         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
1565
1566         Reviewed by David Kilzer.
1567
1568         Use the same UUIDs for EditorIOS.mm and the group ios as in the iOS tree
1569         so as to make it straightforward to merge changes to the WebCore Xcode
1570         project file on WebKit.org with changes to the same file in the iOS tree.
1571
1572         * WebCore.xcodeproj/project.pbxproj:
1573
1574 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1575
1576         [Windows] Unreviewed build fix after r15417.
1577
1578         * DerivedSources.cpp: Remove classes that now live in JSC.
1579         * WebCore.vcxproj/WebCore.vcxproj: Remove classes no longer included in WebCore.
1580         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1581         * bindings/js/WebCoreTypedArrayController.cpp: Add explicit namespace to avoid conflict
1582         with Windows 'Unknown' type.
1583         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
1584         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
1585
1586 2013-08-15  Daniel Bates  <dabates@apple.com>
1587
1588         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
1589
1590         Reviewed by David Kilzer.
1591
1592         * WebCore.xcodeproj/project.pbxproj:
1593         * editing/ios/EditorIOS.mm: Added.
1594         (WebCore::Editor::newGeneralClipboard):
1595         (WebCore::Editor::showFontPanel):
1596         (WebCore::Editor::showStylesPanel):
1597         (WebCore::Editor::showColorPanel):
1598         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
1599         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
1600         (WebCore::styleForSelectionStart):
1601         (WebCore::Editor::fontForSelection):
1602         (WebCore::Editor::fontAttributesForSelectionStart):
1603         (WebCore::Editor::removeUnchangeableStyles):
1604
1605 2013-08-15  Dirk Schulze  <krit@webkit.org>
1606
1607         Implement CSS Image filter() function
1608         https://bugs.webkit.org/show_bug.cgi?id=119845
1609
1610         Reviewed by Dean Jackson.
1611
1612         The Filter Effects specification defines a new CSS Image function called
1613         filter(). This function takes another CSS Image as well as a filter function
1614         list as input and can be used by various CSS properties.
1615
1616         Example:
1617
1618             background-image: -webkit-filter(url(image.png), brightness(0.5))
1619
1620         This patch implements the current definition of filter() based on other
1621         image generation classes like CSSCrossfadeValue.
1622         A new class called CSSFilterImageValue was added together with an
1623         image observer.
1624
1625         The function is implemented prefixed and behind the compiler flag CSS_FILTERS.
1626
1627         Tests: fast/filter-image/filter-image.html
1628                fast/filter-image/parse-filter-image.html
1629
1630         * CMakeLists.txt: Added new files to build systems.
1631         * GNUmakefile.list.am:
1632         * Target.pri:
1633         * WebCore.vcxproj/WebCore.vcxproj:
1634         * WebCore.xcodeproj/project.pbxproj:
1635         * css/CSSAllInOne.cpp:
1636         * css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue
1637             in CSSImageGeneratorValue.cpp.
1638         (WebCore::CSSCrossfadeValue::isPending):
1639         (WebCore::CSSCrossfadeValue::loadSubimages):
1640         * css/CSSFilterImageValue.cpp: Added.
1641         (WebCore::CSSFilterImageValue::~CSSFilterImageValue):
1642         (WebCore::CSSFilterImageValue::customCssText):
1643         (WebCore::CSSFilterImageValue::fixedSize):
1644         (WebCore::CSSFilterImageValue::isPending):
1645         (WebCore::CSSFilterImageValue::knownToBeOpaque):
1646         (WebCore::CSSFilterImageValue::loadSubimages):
1647         (WebCore::CSSFilterImageValue::image):
1648         (WebCore::CSSFilterImageValue::filterImageChanged):
1649         (WebCore::CSSFilterImageValue::createFilterOperations):
1650         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
1651         (WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
1652         (WebCore::CSSFilterImageValue::equals):
1653         * css/CSSFilterImageValue.h: Added.
1654         (WebCore::CSSFilterImageValue::create):
1655         (WebCore::CSSFilterImageValue::isFixedSize):
1656         (WebCore::CSSFilterImageValue::CSSFilterImageValue):
1657         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
1658         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
1659         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):
1660         * css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and
1661             CSSFilterImageValue.
1662         (WebCore::CSSImageGeneratorValue::image):
1663         (WebCore::CSSImageGeneratorValue::isFixedSize):
1664         (WebCore::CSSImageGeneratorValue::fixedSize):
1665         (WebCore::CSSImageGeneratorValue::isPending):
1666         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1667         (WebCore::CSSImageGeneratorValue::loadSubimages):
1668         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1669         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1670         * css/CSSImageGeneratorValue.h:
1671         * css/CSSParser.cpp: Added parsing information for new image function.
1672         (WebCore::CSSParser::parseValue):
1673         (WebCore::CSSParser::isGeneratedImageValue):
1674         (WebCore::CSSParser::parseGeneratedImage):
1675         (WebCore::CSSParser::parseFilterImage):
1676         (WebCore::CSSParser::parseFilter):
1677         * css/CSSParser.h:
1678         * css/CSSValue.cpp:
1679         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
1680         (WebCore::CSSValue::equals):
1681         (WebCore::CSSValue::cssText):
1682         (WebCore::CSSValue::destroy):
1683         * css/CSSValue.h:
1684         (WebCore::CSSValue::isFilterImageValue):
1685         * css/StyleResolver.cpp:
1686         (WebCore::StyleResolver::applyProperty):
1687         (WebCore::StyleResolver::generatedOrPendingFromValue):
1688         (WebCore::StyleResolver::createFilterOperations):
1689         * css/StyleResolver.h: StyleResolver needs to be passed to
1690             CSSFilterImageValue in order to resolve blur() and
1691             drop-shadow() function. Both needs to be resolved together
1692             with all other properties and can't be done earlier or later.
1693         * rendering/FilterEffectRenderer.cpp:
1694         (WebCore::FilterEffectRenderer::build): Pass an argument whether the
1695             intermediate filter results should be clipped or not. The filter
1696             property for instance doesn't clip but scales the intermediate
1697             image sizes.
1698         * rendering/FilterEffectRenderer.h:
1699
1700 2013-08-15  Filip Pizlo  <fpizlo@apple.com>
1701
1702         Unreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127
1703
1704         * bindings/scripts/test/JS/JSTestCallback.cpp:
1705         (WebCore::JSTestCallback::callbackWithArrayParam):
1706         * bindings/scripts/test/JS/JSTestCallback.h:
1707         * bindings/scripts/test/JS/JSTestObj.cpp:
1708         (WebCore::setJSTestObjTypedArrayAttr):
1709         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1710         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
1711         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1712         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1713         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
1714         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1715         * bindings/scripts/test/TestTypedArray.idl: Removed.
1716
1717 2013-08-15  Ryosuke Niwa  <rniwa@webkit.org>
1718
1719         Qt minimum build fix after r154116.
1720
1721         * page/FrameView.cpp:
1722         (WebCore::FrameView::sendResizeEventIfNeeded):
1723
1724 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
1725
1726         Typed arrays should be rewritten
1727         https://bugs.webkit.org/show_bug.cgi?id=119064
1728
1729         Reviewed by Oliver Hunt.
1730
1731         Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
1732         client of them. There is only one layering violation: WebCore installs a
1733         WebCoreTypedArrayController on VM, which makes the
1734         ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
1735         JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
1736         alive but if ArrayBuffer is kept alive from native code then the
1737         JSArrayByffer may die. WebCoreTypedArrayController will keep the
1738         JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
1739         
1740         To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
1741         changed to make most references to wrappers refer to JSObject* rather than
1742         JSDOMWrapper*.
1743         
1744         Array buffer views are now transient; the JS array buffer view wrappers
1745         don't own them or keep them alive. This required a bunch of changes to make
1746         bindings code use RefPtr<ArrayBufferView> to hold onto their views.
1747         
1748         Also there is a bunch of new code to make JSC-provided array buffers and
1749         views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
1750         
1751         Finally, the DataView API is now completely different: the JSDataView
1752         provides the same user-visible JS API but using its own internal magic; the
1753         C++ code that uses DataView now uses a rather different API that is not
1754         aware of usual DOM semantics, since it's in JSC and not WebCore. It's
1755         equally useful for all of WebCore's purposes, but some code had to change
1756         to adapt the new conventions.
1757         
1758         Some tests have been changed or rebased due to changes in behavior, that
1759         bring us into conformance with where the standards are going and allow us to
1760         match Firefox behavior.
1761
1762         Automake work and some additional GTK changes courtesy of
1763         Zan Dobersek <zdobersek@igalia.com>.
1764         
1765         Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
1766
1767         * CMakeLists.txt:
1768         * DerivedSources.make:
1769         * ForwardingHeaders/runtime/DataView.h: Added.
1770         * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
1771         * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
1772         * ForwardingHeaders/runtime/JSDataView.h: Added.
1773         * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
1774         * ForwardingHeaders/runtime/TypedArrayController.h: Added.
1775         * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
1776         * ForwardingHeaders/runtime/TypedArrays.h: Added.
1777         * GNUmakefile.list.am:
1778         * Modules/webaudio/RealtimeAnalyser.h:
1779         * Target.pri:
1780         * UseJSC.cmake:
1781         * WebCore.exp.in:
1782         * WebCore.vcxproj/WebCore.vcxproj:
1783         * WebCore.xcodeproj/project.pbxproj:
1784         * bindings/js/DOMWrapperWorld.h:
1785         * bindings/js/JSArrayBufferCustom.cpp: Removed.
1786         * bindings/js/JSArrayBufferViewHelper.h: Removed.
1787         * bindings/js/JSAudioContextCustom.cpp:
1788         * bindings/js/JSBindingsAllInOne.cpp:
1789         * bindings/js/JSBlobCustom.cpp:
1790         * bindings/js/JSCSSRuleCustom.cpp:
1791         (WebCore::toJS):
1792         * bindings/js/JSCSSValueCustom.cpp:
1793         (WebCore::toJS):
1794         * bindings/js/JSCryptoCustom.cpp:
1795         (WebCore::JSCrypto::getRandomValues):
1796         * bindings/js/JSDOMBinding.h:
1797         (WebCore::wrapperOwner):
1798         (WebCore::wrapperContext):
1799         (WebCore::getInlineCachedWrapper):
1800         (WebCore::setInlineCachedWrapper):
1801         (WebCore::clearInlineCachedWrapper):
1802         (WebCore::getCachedWrapper):
1803         (WebCore::cacheWrapper):
1804         (WebCore::uncacheWrapper):
1805         (WebCore::wrap):
1806         (WebCore::toJS):
1807         (WebCore::toArrayBufferView):
1808         (WebCore::toInt8Array):
1809         (WebCore::toInt16Array):
1810         (WebCore::toInt32Array):
1811         (WebCore::toUint8Array):
1812         (WebCore::toUint8ClampedArray):
1813         (WebCore::toUint16Array):
1814         (WebCore::toUint32Array):
1815         (WebCore::toFloat32Array):
1816         (WebCore::toFloat64Array):
1817         (WebCore::toDataView):
1818         * bindings/js/JSDataViewCustom.cpp: Removed.
1819         * bindings/js/JSDictionary.cpp:
1820         * bindings/js/JSDictionary.h:
1821         * bindings/js/JSDocumentCustom.cpp:
1822         (WebCore::JSDocument::location):
1823         (WebCore::toJS):
1824         * bindings/js/JSEventCustom.cpp:
1825         (WebCore::toJS):
1826         * bindings/js/JSFileReaderCustom.cpp:
1827         * bindings/js/JSHTMLCollectionCustom.cpp:
1828         (WebCore::toJS):
1829         * bindings/js/JSHTMLTemplateElementCustom.cpp:
1830         (WebCore::JSHTMLTemplateElement::content):
1831         * bindings/js/JSImageDataCustom.cpp:
1832         (WebCore::toJS):
1833         * bindings/js/JSInjectedScriptHostCustom.cpp:
1834         * bindings/js/JSMessageEventCustom.cpp:
1835         * bindings/js/JSMessagePortCustom.cpp:
1836         * bindings/js/JSSVGPathSegCustom.cpp:
1837         (WebCore::toJS):
1838         * bindings/js/JSStyleSheetCustom.cpp:
1839         (WebCore::toJS):
1840         * bindings/js/JSTrackCustom.cpp:
1841         (WebCore::toJS):
1842         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1843         * bindings/js/JSXMLHttpRequestCustom.cpp:
1844         (WebCore::JSXMLHttpRequest::send):
1845         * bindings/js/SerializedScriptValue.cpp:
1846         (WebCore::SerializedScriptValue::transferArrayBuffers):
1847         * bindings/js/WebCoreJSClientData.h:
1848         (WebCore::initNormalWorldClientData):
1849         * bindings/js/WebCoreTypedArrayController.cpp: Added.
1850         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
1851         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
1852         (WebCore::WebCoreTypedArrayController::toJS):
1853         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
1854         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
1855         * bindings/js/WebCoreTypedArrayController.h: Added.
1856         (WebCore::WebCoreTypedArrayController::wrapperOwner):
1857         * bindings/scripts/CodeGenerator.pm:
1858         (ForAllParents):
1859         (ParseInterface):
1860         (SkipIncludeHeader):
1861         (IsTypedArrayType):
1862         (IsWrapperType):
1863         * bindings/scripts/CodeGeneratorJS.pm:
1864         (AddIncludesForType):
1865         (GenerateHeader):
1866         (GenerateImplementation):
1867         (GenerateParametersCheck):
1868         (GetNativeType):
1869         (JSValueToNative):
1870         (NativeToJSValue):
1871         (GenerateConstructorDefinition):
1872         (GenerateConstructorHelperMethods):
1873         * fileapi/WebKitBlobBuilder.cpp:
1874         (WebCore::BlobBuilder::append):
1875         * fileapi/WebKitBlobBuilder.h:
1876         * html/canvas/ArrayBuffer.idl: Removed.
1877         * html/canvas/ArrayBufferView.idl: Removed.
1878         * html/canvas/DataView.cpp: Removed.
1879         * html/canvas/DataView.h: Removed.
1880         * html/canvas/DataView.idl: Removed.
1881         * html/canvas/Float32Array.idl: Removed.
1882         * html/canvas/Float64Array.idl: Removed.
1883         * html/canvas/Int16Array.idl: Removed.
1884         * html/canvas/Int32Array.idl: Removed.
1885         * html/canvas/Int8Array.idl: Removed.
1886         * html/canvas/Uint16Array.idl: Removed.
1887         * html/canvas/Uint32Array.idl: Removed.
1888         * html/canvas/Uint8Array.idl: Removed.
1889         * html/canvas/Uint8ClampedArray.idl: Removed.
1890         * html/canvas/WebGLRenderingContext.cpp:
1891         (WebCore::WebGLRenderingContext::readPixels):
1892         (WebCore::WebGLRenderingContext::validateTexFuncData):
1893         * page/Crypto.cpp:
1894         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1895         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
1896         (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
1897         * platform/graphics/filters/FECustomFilter.h:
1898         * platform/graphics/filters/FEGaussianBlur.cpp:
1899         * platform/graphics/filters/FilterEffect.cpp:
1900         * testing/MockCDM.cpp:
1901
1902 2013-08-15  Chris Fleizach  <cfleizach@apple.com>
1903
1904         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
1905
1906         Reviewed by Darin Adler.
1907
1908         Incorporate review feedback from Darin.
1909
1910         * accessibility/AccessibilityScrollView.cpp:
1911         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
1912         (WebCore::AccessibilityScrollView::isFocused):
1913         * accessibility/AccessibilityScrollView.h:
1914
1915 2013-08-15  Andreas Kling  <akling@apple.com>
1916
1917         <https://webkit.org/b/119826> Page::focusController() should return a reference.
1918
1919         Reviewed by Anders Carlsson.
1920
1921         Page::focusController() is never null so make it return a reference.
1922         Some unnecessary checks were removed as a result.
1923
1924 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
1925
1926         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
1927         https://bugs.webkit.org/show_bug.cgi?id=116979
1928
1929         Reviewed by Alexey Proskuryakov.
1930
1931         Make constructors private since only ::create should use them.
1932
1933         * html/shadow/MeterShadowElement.h:
1934         * html/shadow/ProgressShadowElement.h:
1935
1936 2013-08-15  Tim Horton  <timothy_horton@apple.com>
1937
1938         FrameView should have an isMainFrameView()
1939         https://bugs.webkit.org/show_bug.cgi?id=119435
1940
1941         Reviewed by Simon Fraser.
1942
1943         No new tests, just refactoring.
1944
1945         * page/FrameView.cpp:
1946         (WebCore::FrameView::FrameView):
1947         (WebCore::FrameView::isMainFrameView):
1948         (WebCore::FrameView::setFrameRect):
1949         (WebCore::FrameView::createScrollbar):
1950         (WebCore::FrameView::applyOverflowToViewport):
1951         (WebCore::FrameView::setHeaderHeight):
1952         (WebCore::FrameView::setFooterHeight):
1953         (WebCore::FrameView::minimumScrollPosition):
1954         (WebCore::FrameView::maximumScrollPosition):
1955         (WebCore::FrameView::performPostLayoutTasks):
1956         (WebCore::FrameView::sendResizeEventIfNeeded):
1957         (WebCore::FrameView::pagination):
1958         (WebCore::FrameView::visibleContentScaleFactor):
1959         (WebCore::FrameView::setVisibleScrollerThumbRect):
1960         (WebCore::FrameView::scrollbarStyleChanged):
1961         (WebCore::FrameView::paintScrollCorner):
1962         (WebCore::FrameView::paintScrollbar):
1963         (WebCore::FrameView::paintOverhangAreas):
1964         * page/FrameView.h:
1965         Add isMainFrameView and adopt it wherever we were previously checking if
1966         the FrameView's frame was the same as its page's main frame.
1967
1968 2013-08-15  Andy Estes  <aestes@apple.com>
1969
1970         <https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling a load inside webView:resource:didFinishLoadingFromDataSource:
1971
1972         Reviewed by Brady Eidson.
1973
1974         A client implementing webView:resource:didFinishLoadingFromDataSource:
1975         might decide to call stopLoading: for the identifier that just finished
1976         loading. If this happens we re-enter the loader and attempt to cancel a
1977         load that has already finished and been removed from the set of active
1978         loaders. Prevent this by clearing DocumentLoader's
1979         m_identifierForLoadWithoutResourceLoader before calling
1980         dispatchDidFinishLoading().
1981
1982         New API test: WebKit1.StopLoadingFromDidFinishLoading.
1983
1984         * loader/DocumentLoader.cpp:
1985         (WebCore::DocumentLoader::finishedLoading): Set
1986         m_identifierForLoadWithoutResourceLoader to 0 before calling
1987         dispatchDidFinishLoading().
1988
1989 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
1990
1991         [Mac] Remove "legacy" media UI
1992         https://bugs.webkit.org/show_bug.cgi?id=119752
1993
1994         Reviewed by Jer Noble.
1995
1996         * WebCore.exp.in: Remove _wkMediaControllerThemeAvailable.
1997
1998         * platform/mac/WebCoreSystemInterface.h: Update for API change.
1999         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2000
2001         * rendering/RenderThemeMac.h: Don't override hasOwnDisabledStateHandlingFor.
2002         * rendering/RenderThemeMac.mm:
2003         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Remove code to deal with legacy theme.
2004         (WebCore::getUnzoomedRectAndAdjustCurrentContext): Ditto.
2005         (WebCore::RenderThemeMac::paintMediaFullscreenButton): wkDrawMediaUIPart doesn't need to know
2006             the current theme.
2007         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto.
2008         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
2009         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto.
2010         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto.
2011         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto.
2012         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto.
2013         (WebCore::RenderThemeMac::paintMediaRewindButton): Ditto.
2014         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
2015         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
2016         (WebCore::RenderThemeMac::paintMediaCurrentTime): Ditto.
2017         (WebCore::RenderThemeMac::paintMediaTimeRemaining): Ditto.
2018         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): Ditto.
2019         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
2020         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
2021         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): Ditto.
2022         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): Ditto.
2023         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): We only have one theme.
2024         (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Ditto.
2025         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Ditto.
2026
2027 2013-08-15  Antti Koivisto  <antti@apple.com>
2028
2029         <https://webkit.org/b/119834> Remove ElementShadow
2030
2031         Reviewed by Anders Carlsson.
2032
2033         It is 1:1 with ShadowRoot and has virtually no functionality. What little there is can be moved to ShadowRoot or Element.
2034
2035         * CMakeLists.txt:
2036         * GNUmakefile.list.am:
2037         * Target.pri:
2038         * WebCore.exp.in:
2039         * WebCore.xcodeproj/project.pbxproj:
2040         * css/StyleResolver.cpp:
2041         (WebCore::StyleResolver::locateCousinList):
2042         * css/StyleScopeResolver.cpp:
2043         (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
2044         (WebCore::StyleScopeResolver::matchHostRules):
2045         * dom/ComposedShadowTreeWalker.cpp:
2046         (WebCore::nodeCanBeDistributed):
2047         (WebCore::ComposedShadowTreeWalker::traverseChild):
2048         * dom/ContainerNode.cpp:
2049         (WebCore::childAttachedAllowedWhenAttachingChildren):
2050         * dom/ContainerNodeAlgorithms.cpp:
2051         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
2052         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
2053         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
2054         (WebCore::assertConnectedSubrameCountIsConsistent):
2055         * dom/ContainerNodeAlgorithms.h:
2056         (WebCore::ChildFrameDisconnector::collectFrameOwners):
2057         * dom/DOMAllInOne.cpp:
2058         * dom/Document.cpp:
2059         * dom/Element.cpp:
2060         (WebCore::Element::~Element):
2061         (WebCore::Element::attach):
2062         (WebCore::Element::detach):
2063         (WebCore::Element::shadowRoot):
2064         (WebCore::Element::didAffectSelector):
2065         (WebCore::Element::addShadowRoot):
2066         (WebCore::Element::removeShadowRoot):
2067         
2068             Move addShadowRoot and removeShadowRoot here from ElementShadow.
2069
2070         (WebCore::Element::createShadowRoot):
2071         (WebCore::Element::authorShadowRoot):
2072         (WebCore::Element::userAgentShadowRoot):
2073         (WebCore::Element::ensureUserAgentShadowRoot):
2074         (WebCore::Element::childrenChanged):
2075         (WebCore::Element::removeAllEventListeners):
2076         * dom/Element.h:
2077         (WebCore::isShadowHost):
2078         * dom/ElementRareData.h:
2079         (WebCore::ElementRareData::clearShadowRoot):
2080         (WebCore::ElementRareData::shadowRoot):
2081         (WebCore::ElementRareData::setShadowRoot):
2082         (WebCore::ElementRareData::~ElementRareData):
2083         * dom/ElementShadow.cpp: Removed.
2084         * dom/ElementShadow.h: Removed.
2085         * dom/EventDispatcher.cpp:
2086         * dom/EventPathWalker.cpp:
2087         (WebCore::EventPathWalker::moveToParent):
2088         * dom/Node.cpp:
2089         (WebCore::Node::needsShadowTreeWalkerSlow):
2090         * dom/NodeRenderingContext.cpp:
2091         * dom/NodeRenderingContext.h:
2092         * dom/ShadowRoot.cpp:
2093         (WebCore::ShadowRoot::attach):
2094         (WebCore::ShadowRoot::detach):
2095         
2096             Move attached() tests from ElementShadow.
2097
2098         (WebCore::ShadowRoot::childrenChanged):
2099         (WebCore::ShadowRoot::removeAllEventListeners):
2100         
2101             Move here from ElementShadow.
2102
2103         * dom/ShadowRoot.h:
2104         (WebCore::Node::shadowRoot):
2105         * dom/TreeScopeAdopter.cpp:
2106         * html/ColorInputType.cpp:
2107         (WebCore::ColorInputType::createShadowSubtree):
2108         * html/FileInputType.cpp:
2109         (WebCore::FileInputType::createShadowSubtree):
2110         (WebCore::FileInputType::disabledAttributeChanged):
2111         (WebCore::FileInputType::multipleAttributeChanged):
2112         * html/HTMLFormControlElement.cpp:
2113         * html/HTMLImageElement.cpp:
2114         (WebCore::HTMLImageElement::canStartSelection):
2115         * html/HTMLInputElement.cpp:
2116         (WebCore::HTMLInputElement::updateType):
2117         * html/HTMLKeygenElement.cpp:
2118         * html/HTMLMediaElement.cpp:
2119         * html/HTMLTextAreaElement.cpp:
2120         * html/InputType.cpp:
2121         * html/RangeInputType.cpp:
2122         (WebCore::RangeInputType::handleMouseDownEvent):
2123         (WebCore::RangeInputType::createShadowSubtree):
2124         * html/TextFieldInputType.cpp:
2125         (WebCore::TextFieldInputType::createShadowSubtree):
2126         * html/ValidationMessage.cpp:
2127         * html/shadow/ContentDistributor.cpp:
2128         (WebCore::ContentDistributor::distribute):
2129         (WebCore::ContentDistributor::ensureDistribution):
2130         * html/shadow/ContentDistributor.h:
2131         (WebCore::ContentDistributor::isValid):
2132         * html/shadow/InsertionPoint.cpp:
2133         (WebCore::InsertionPoint::childrenChanged):
2134         (WebCore::InsertionPoint::insertedInto):
2135         (WebCore::InsertionPoint::removedFrom):
2136         (WebCore::resolveReprojection):
2137         * html/shadow/InsertionPoint.h:
2138         (WebCore::shadowRootOfParentForDistribution):
2139         * html/shadow/SliderThumbElement.cpp:
2140         * inspector/InspectorDOMAgent.cpp:
2141         (WebCore::InspectorDOMAgent::unbind):
2142         (WebCore::InspectorDOMAgent::buildObjectForNode):
2143         * page/FocusController.cpp:
2144         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
2145         * rendering/RenderFileUploadControl.cpp:
2146         (WebCore::RenderFileUploadControl::uploadButton):
2147         * rendering/RenderTheme.cpp:
2148         * style/StyleResolveTree.cpp:
2149         (WebCore::Style::resolveTree):
2150         * svg/SVGTRefElement.cpp:
2151         (WebCore::SVGTRefElement::updateReferencedText):
2152         (WebCore::SVGTRefElement::detachTarget):
2153         * svg/SVGUseElement.cpp:
2154         (WebCore::SVGUseElement::clearResourceReferences):
2155         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2156         (WebCore::SVGUseElement::buildShadowTree):
2157         * testing/Internals.cpp:
2158         (WebCore::Internals::ensureShadowRoot):
2159         (WebCore::Internals::shadowRoot):
2160
2161 2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2162
2163         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
2164         https://bugs.webkit.org/show_bug.cgi?id=118532
2165
2166         Reviewed by Jocelyn Turcotte.
2167
2168         We don't need to allocate FontPlatformData on the heap
2169         since getCachedFontData makes a deep copy anyway.
2170
2171         * platform/graphics/qt/FontCacheQt.cpp:
2172         (WebCore::FontCache::getLastResortFallbackFont):
2173
2174 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
2175
2176         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
2177         https://bugs.webkit.org/show_bug.cgi?id=116979
2178
2179         Reviewed by Antti Koivisto.
2180
2181         Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.
2182
2183         * html/shadow/ProgressShadowElement.cpp:
2184         (WebCore::ProgressInnerElement::ProgressInnerElement):
2185         (WebCore::ProgressBarElement::ProgressBarElement):
2186         (WebCore::ProgressValueElement::ProgressValueElement):
2187         * html/shadow/ProgressShadowElement.h:
2188         (WebCore::ProgressInnerElement::create):
2189         (WebCore::ProgressBarElement::create):
2190         (WebCore::ProgressValueElement::create):
2191
2192 2013-08-14  Ryuan Choi  <ryuan.choi@samsung.com>
2193
2194         <https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms
2195
2196         Reviewed by Gyuyoung Kim.
2197
2198         Other platforms except EFL port draw a magnifying icon for
2199         -webkit-search-results-button and -webkit-search-results-decoration in search field,
2200         but Efl port draws it for -webkit-search-decoration.
2201
2202         This patch makes Efl port draw icon in first two cases like other ports.
2203
2204         Tests: fast/css/input-search-padding.html
2205            fast/css/text-input-with-webkit-border-radius.html
2206            fast/css/text-overflow-input.html
2207            fast/forms/box-shadow-override.html
2208            fast/forms/control-restrict-line-height.html
2209            fast/forms/input-appearance-height.html
2210            fast/forms/placeholder-position.html
2211            fast/forms/placeholder-pseudo-style.html
2212            fast/forms/search-cancel-button-style-sharing.html
2213            fast/forms/search-display-none-cancel-button.html
2214            fast/forms/search-rtl.html
2215            fast/forms/search-vertical-alignment.html
2216            fast/forms/searchfield-heights.html
2217            fast/repaint/search-field-cancel.html
2218
2219         * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:
2220         Moved results_button alias to search_decoration.edc
2221         * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
2222         * platform/efl/RenderThemeEfl.cpp:
2223         Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
2224         In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
2225         (WebCore::toEdjeGroup): Removed decoration group.
2226         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
2227         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
2228         * platform/efl/RenderThemeEfl.h:
2229
2230 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2231
2232         [CSS] Introduce new structure to pass image orientation values.
2233         https://bugs.webkit.org/show_bug.cgi?id=119418
2234
2235         Reviewed by Beth Dakin.
2236
2237         Add a ImageOrientationDescription struct in order to reduce count of argument for
2238         image orientation.
2239
2240         No new tests, no behavior change.
2241
2242         * html/HTMLCanvasElement.cpp:
2243         (WebCore::HTMLCanvasElement::paint):
2244         * page/DragController.cpp:
2245         (WebCore::DragController::doImageDrag):
2246         * page/Frame.cpp:
2247         (WebCore::Frame::nodeImage):
2248         (WebCore::Frame::dragImageForSelection):
2249         * platform/DragImage.h:
2250         * platform/blackberry/DragImageBlackBerry.cpp:
2251         (WebCore::createDragImageFromImage):
2252         * platform/efl/DragImageEfl.cpp:
2253         (WebCore::createDragImageFromImage):
2254         * platform/graphics/BitmapImage.cpp:
2255         (WebCore::BitmapImage::updateSize):
2256         * platform/graphics/BitmapImage.h:
2257         * platform/graphics/GraphicsContext.cpp:
2258         (WebCore::GraphicsContext::drawImage):
2259         * platform/graphics/GraphicsContext.h:
2260         * platform/graphics/Image.cpp:
2261         (WebCore::Image::draw):
2262         * platform/graphics/Image.h:
2263         * platform/graphics/ImageOrientation.h:
2264         (WebCore::ImageOrientationDescription::ImageOrientationDescription):
2265         (WebCore::ImageOrientationDescription::respectImageOrientation):
2266         (WebCore::ImageOrientationDescription::imageOrientation):
2267         * platform/graphics/ImageSource.cpp:
2268         (WebCore::ImageSource::size):
2269         (WebCore::ImageSource::frameSizeAtIndex):
2270         * platform/graphics/ImageSource.h:
2271         * platform/graphics/blackberry/ImageBlackBerry.cpp:
2272         (WebCore::BitmapImage::draw):
2273         * platform/graphics/cairo/BitmapImageCairo.cpp:
2274         (WebCore::BitmapImage::draw):
2275         * platform/graphics/cairo/ImageBufferCairo.cpp:
2276         (WebCore::ImageBuffer::draw):
2277         * platform/graphics/cg/BitmapImageCG.cpp:
2278         (WebCore::BitmapImage::draw):
2279         * platform/graphics/cg/ImageSourceCG.cpp:
2280         (WebCore::ImageSource::frameSizeAtIndex):
2281         (WebCore::ImageSource::size):
2282         (WebCore::ImageSource::frameBytesAtIndex):
2283         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2284         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2285         * platform/graphics/qt/ImageBufferQt.cpp:
2286         (WebCore::ImageBuffer::draw):
2287         * platform/graphics/wince/ImageBufferWinCE.cpp:
2288         (WebCore::ImageBuffer::draw):
2289         * platform/gtk/ClipboardGtk.cpp:
2290         (WebCore::Clipboard::createDragImage):
2291         * platform/gtk/DragImageGtk.cpp:
2292         (WebCore::createDragImageFromImage):
2293         * platform/mac/DragImageMac.mm:
2294         (WebCore::createDragImageFromImage):
2295         * platform/qt/ClipboardQt.cpp:
2296         (WebCore::Clipboard::createDragImage):
2297         * platform/qt/DragImageQt.cpp:
2298         (WebCore::createDragImageFromImage):
2299         * platform/win/ClipboardWin.cpp:
2300         (WebCore::Clipboard::createDragImage):
2301         * platform/win/DragImageCGWin.cpp:
2302         (WebCore::createDragImageFromImage):
2303         * platform/win/DragImageCairoWin.cpp:
2304         (WebCore::createDragImageFromImage):
2305         * rendering/RenderEmbeddedObject.cpp:
2306         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
2307         * rendering/RenderImage.cpp:
2308         (WebCore::RenderImage::paintReplaced):
2309         (WebCore::RenderImage::paintIntoRect):
2310         * rendering/RenderSnapshottedPlugIn.cpp:
2311         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
2312
2313 2013-08-14  Sam Weinig  <sam@webkit.org>
2314
2315         Update binding test results.  Follow up fix for <https://webkit.org/b/119664>
2316
2317         * bindings/scripts/test/JS/JSTestCallback.cpp:
2318         (WebCore::JSTestCallback::JSTestCallback):
2319         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2320         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2321
2322 2013-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2323
2324         <https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image out of WebView
2325
2326         Reviewed by Dan Bernstein.
2327
2328         This code was just running a block of code asynchronously using a
2329         pthread. Convert this to use a dispatch block, which does provide
2330         an autorelease pool so there are no leaks and ends up much simpler.
2331
2332         * platform/mac/FileSystemMac.mm:
2333         (WebCore::setMetadataURL):
2334
2335 2013-08-14  Tim Horton  <timothy_horton@apple.com>
2336
2337         Un-inline dataLog dumpers for IntSize and IntPoint
2338         https://bugs.webkit.org/show_bug.cgi?id=119697
2339
2340         Reviewed by Sam Weinig.
2341
2342         Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.
2343
2344         * CMakeLists.txt:
2345         * GNUmakefile.list.am:
2346         * Target.pri:
2347         * WebCore.vcxproj/WebCore.vcxproj:
2348         * WebCore.vcxproj/WebCore.vcxproj.filters:
2349         * WebCore.xcodeproj/project.pbxproj:
2350         * platform/graphics/IntPoint.cpp: Added.
2351         (WebCore::IntPoint::dump):
2352         * platform/graphics/IntPoint.h:
2353         * platform/graphics/IntSize.cpp: Added.
2354         (WebCore::IntSize::dump):
2355         * platform/graphics/IntSize.h:
2356
2357 2013-08-14  Chris Fleizach  <cfleizach@apple.com>
2358
2359         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
2360
2361         Reviewed by Tim Horton.
2362
2363         VoiceOver lands on Scroll views by default. It expects that the scroll view will be able to handle the focus calls. 
2364         We should forward scroll view focus requests to the web area to handle, which will trigger a becomeFirstResponder on WKView.
2365
2366         There's not a great way to test this unfortunately, since it requires having focus comes from outside the webview into the webview.
2367
2368         * accessibility/AccessibilityScrollView.cpp:
2369         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
2370         (WebCore::AccessibilityScrollView::isFocused):
2371         (WebCore::AccessibilityScrollView::setFocused):
2372         * accessibility/AccessibilityScrollView.h:
2373
2374 2013-08-14  Hans Muller  <hmuller@adobe.com>
2375
2376         [CSS Exclusions] Minimal support for using an image to define a shape
2377         https://bugs.webkit.org/show_bug.cgi?id=116643
2378
2379         Reviewed by Alexandru Chiculita.
2380
2381         This is a first small step towards supporting CSS shapes defined by an
2382         image URL and a alpha channel threshold. To keep the patch as small as
2383         possible, there are many limitations and remaining work items. For
2384         example images are currently restricted to same-origin, although CORS
2385         should be supported. See https://bugs.webkit.org/show_bug.cgi?id=116348
2386         for the current list.
2387
2388         Test: fast/exclusions/shape-inside/shape-inside-image-001.html
2389         Test: fast/exclusions/shape-inside/shape-inside-image-002.html
2390
2391         * CMakeLists.txt:
2392         * GNUmakefile.list.am:
2393         * Target.pri:
2394         * WebCore.vcxproj/WebCore.vcxproj:
2395         * WebCore.xcodeproj/project.pbxproj:
2396         * rendering/RenderBlock.cpp:
2397         (WebCore::RenderBlock::imageChanged): When the image has finished loading, request a layout.
2398         * rendering/RenderBlock.h:
2399         * rendering/RenderObject.cpp:
2400         (WebCore::RenderObject::setStyle): Add notify clients for shape images.
2401         (WebCore::RenderObject::updateShapeImage):
2402         (WebCore::removeShapeImageClient):
2403         (WebCore::RenderObject::arenaDelete): Remove notify clients for shape images.
2404         * rendering/RenderObject.h:
2405         * rendering/shapes/RasterShape.cpp: Added. A Shape defined by thresholding an image's alpha channel.
2406         (WebCore::RasterShapeIntervals::bounds):
2407         (WebCore::RasterShapeIntervals::addInterval): Add a single run to the shape.
2408         (WebCore::alignedRect):
2409         (WebCore::RasterShapeIntervals::getIntervals): Return the shape's runs that fall within a horizonal box.
2410         (WebCore::RasterShape::marginIntervals): Internal representation of the shape with shape-margin factored in.  Currently only a stub.
2411         (WebCore::RasterShape::paddingIntervals): Internal representation of the shape with shape-padding factored in.  Currently only a stub.
2412         (WebCore::RasterShape::getExcludedIntervals):
2413         (WebCore::RasterShape::getIncludedIntervals):
2414         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
2415         * rendering/shapes/RasterShape.h:
2416         (WebCore::RasterShapeIntervals::RasterShapeIntervals): Internal run length encoded representation of a RasterShape.
2417         (WebCore::RasterShapeIntervals::isEmpty):
2418         (WebCore::RasterShape::RasterShape):
2419         * rendering/shapes/Shape.cpp:
2420         (WebCore::Shape::createShape): Support for creating a Shape based on a RasterShapeIntervals object.
2421         * rendering/shapes/Shape.h:
2422         * rendering/shapes/ShapeInfo.cpp:
2423         (WebCore::::computedShape): Added support for the Image ShapeValue type.
2424         * rendering/shapes/ShapeInsideInfo.cpp:
2425         (WebCore::ShapeInsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
2426         * rendering/shapes/ShapeOutsideInfo.cpp:
2427         (WebCore::ShapeOutsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
2428         * rendering/style/ShapeValue.h:
2429         (WebCore::ShapeValue::isImageValid): True if the shape's image is ready to be be processed.
2430
2431 2013-08-14  Alexandru Chiculita  <achicu@adobe.com>
2432
2433         [CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
2434         https://bugs.webkit.org/show_bug.cgi?id=117365
2435
2436         Reviewed by David Hyatt.
2437
2438         After the RenderFlowThread has a new layout we need to check if any of the children layers
2439         had been moved to a new render region. We are only checking for the first level of layers,
2440         as they are the only ones supported right now. Also, added code to make Regions require a layer
2441         based on the layers that fit in their clipping area.
2442
2443         Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html
2444                fast/regions/layers/dynamic-layer-removed-with-no-layout.html
2445                fast/regions/layers/float-region-promoted-to-layer.html
2446                fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
2447                fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
2448                fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
2449                fast/regions/layers/regions-promoted-to-layers.html
2450
2451         * rendering/FlowThreadController.cpp:
2452         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed. 
2453         * rendering/FlowThreadController.h:
2454         * rendering/RenderBlock.cpp:
2455         (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
2456         needs to be painted by the current block or not.
2457         (WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
2458         container that would need to paint a FloatingObject.
2459         (WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):
2460         * rendering/RenderBlock.h:
2461         * rendering/RenderBox.cpp:
2462         (WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
2463         the FloatingObjects of a float.
2464         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
2465         into its own method.
2466         (WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
2467         of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
2468         but we need to patch it for the floating RenderRegions after the layout is already finished.
2469         (WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
2470         calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.
2471         * rendering/RenderBox.h:
2472         * rendering/RenderFlowThread.cpp:
2473         (WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
2474         (WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
2475         It only cares about the top most point of the element and ignores transforms.
2476         (WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
2477         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
2478         and updates the region. Will return true if there was any change.
2479         * rendering/RenderFlowThread.h:
2480         * rendering/RenderLayer.cpp:
2481         (WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
2482         (WebCore::RenderLayer::dirtyNormalFlowList):
2483         (WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
2484         but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
2485         in front of other layers.
2486         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
2487         * rendering/RenderLayerCompositor.cpp:
2488         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
2489         (WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.
2490         * rendering/RenderLayerCompositor.h:
2491         * rendering/RenderLayer.h:
2492         (WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
2493         so that we can update the list of layers associated with a region. In a following patch we will need to 
2494         rebuild the composited layers.
2495         * rendering/RenderLayerModelObject.cpp:
2496         (WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
2497         after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
2498         only after the content of the flow thread is computed.
2499         * rendering/RenderLayerModelObject.h:
2500         * rendering/RenderRegion.cpp:
2501         (WebCore::RenderRegion::RenderRegion):
2502         (WebCore::RenderRegion::setRequiresLayerForCompositing):
2503         * rendering/RenderRegion.h:
2504         (WebCore::RenderRegion::requiresLayer):
2505         * rendering/RenderTreeAsText.cpp:
2506         (WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.
2507
2508 2013-08-14  Bem Jones-Bey  <bjonesbe@adobe.com>
2509
2510         Finish making FloatingObject a real class with private members
2511         https://bugs.webkit.org/show_bug.cgi?id=119807
2512
2513         This is a port from Blink of
2514         http://src.chromium.org/viewvc/blink?view=revision&revision=155964
2515         Original patch by Eric Seidel.
2516
2517         From his comments on the Blink change:
2518
2519         Previously FloatingObject was in a half-done state where it had
2520         accessors for many members, but also many members were public.
2521
2522         This CL makes all members private and adds the necessary remaining
2523         accessors.
2524
2525         Reviewed by David Hyatt.
2526
2527         No new tests, no behavior change.
2528
2529         * rendering/RenderBlock.cpp:
2530         (WebCore::RenderBlock::deleteLineBoxTree):
2531         (WebCore::RenderBlock::addOverflowFromFloats):
2532         (WebCore::RenderBlock::repaintOverhangingFloats):
2533         (WebCore::RenderBlock::paintFloats):
2534         (WebCore::RenderBlock::selectionGaps):
2535         (WebCore::RenderBlock::insertFloatingObject):
2536         (WebCore::RenderBlock::removeFloatingObject):
2537         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2538         (WebCore::RenderBlock::positionNewFloats):
2539         (WebCore::RenderBlock::clearFloats):
2540         (WebCore::RenderBlock::addOverhangingFloats):
2541         (WebCore::RenderBlock::addIntrudingFloats):
2542         (WebCore::RenderBlock::hitTestFloats):
2543         (WebCore::RenderBlock::adjustForBorderFit):
2544         * rendering/RenderBlock.h:
2545         (WebCore::RenderBlock::FloatingObject::paginationStrut):
2546         (WebCore::RenderBlock::FloatingObject::setPaginationStrut):
2547         (WebCore::RenderBlock::FloatingObject::setRenderer):
2548         (WebCore::RenderBlock::FloatingObject::originatingLine):
2549         (WebCore::RenderBlock::FloatingObject::setOriginatingLine):
2550         (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
2551         (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
2552         (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
2553         * rendering/RenderBlockLineLayout.cpp:
2554         (WebCore::RenderBlock::appendFloatingObjectToLastLine):
2555         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2556         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2557         (WebCore::RenderBlock::determineStartPosition):
2558         (WebCore::RenderBlock::positionNewFloatOnLine):
2559
2560 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
2561
2562         Assertion failure in RenderObject::drawLineForBoxSide
2563         https://bugs.webkit.org/show_bug.cgi?id=108187
2564
2565         Reviewed by David Hyatt.
2566
2567         Don't draw the outline if the rectangle to draw is empty.
2568
2569         Test: fast/css/outline-negative.html
2570
2571         * rendering/RenderInline.cpp:
2572         (WebCore::RenderInline::paintOutlineForLine):
2573
2574 2013-08-13  Chris Fleizach  <cfleizach@apple.com>
2575
2576         AX: Headings not longer have an AXTitle if they have a link as the only child
2577         https://bugs.webkit.org/show_bug.cgi?id=119699
2578
2579         Reviewed by Anders Carlsson.
2580
2581         Normally, focusable content is not incuded when looking at the visible text of an element.
2582         One case where we need an exception is with headings, where there is usually link content inside the heading
2583         that we want to be used as the visible text.
2584
2585         Test: accessibility/heading-title-includes-links.html
2586
2587         * accessibility/AccessibilityNodeObject.cpp:
2588         (WebCore::AccessibilityNodeObject::visibleText):
2589         (WebCore::shouldUseAccessiblityObjectInnerText):
2590         (WebCore::AccessibilityNodeObject::title):
2591         * accessibility/AccessibilityNodeObject.h:
2592         * accessibility/AccessibilityObject.h:
2593         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
2594         (WebCore::AccessibilityObject::textUnderElement):
2595         * accessibility/AccessibilityRenderObject.cpp:
2596         (WebCore::AccessibilityRenderObject::textUnderElement):
2597         * accessibility/AccessibilityRenderObject.h:
2598
2599 2013-08-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2600
2601         Move id attribute to parent Element interface
2602         https://bugs.webkit.org/show_bug.cgi?id=119706
2603
2604         Reviewed by Ryosuke Niwa.
2605
2606         Move id attribute from SVGElement / HTMLElement to their Element parent
2607         interface to match the latest DOM specification and avoid duplication:
2608         http://dom.spec.whatwg.org/#dom-element-id
2609
2610         There is no web-exposed behavior change because we haven't moved
2611         properties from instances to their prototype, as per the Web IDL
2612         specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).
2613
2614         Firefox already exposes the id property of Element's prototype.
2615
2616         This patch also drops the comment about returning the empty string when
2617         no id is present (introduced in http://trac.webkit.org/changeset/4417).
2618         This comment is redundant since the id property is already marked to
2619         "reflect" the id attribute. Returning the empty string when the
2620         attribute is not present is the normal behavior when reflecting:
2621         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect
2622
2623         No new test, no web-exposed behavior change.
2624
2625         * dom/Element.idl:
2626         * html/HTMLElement.idl:
2627         * svg/SVGElement.idl:
2628
2629 2013-08-14  Arpita Bahuguna  <a.bah@samsung.com>
2630
2631         createAttribute/setAttributeNode does not properly normalize case
2632         https://bugs.webkit.org/show_bug.cgi?id=90341
2633
2634         Reviewed by Darin Adler.
2635
2636         setAttributeNode() verifies for existing attributes in a case sensitive
2637         manner. Thus, it would add another attribute if specified in a case
2638         different from the existing one. Instead, like setAttribute(), it too
2639         should modify the existing attribute's value.
2640
2641         Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml
2642                fast/dom/Element/setAttributeNode-case-insensitivity.html
2643
2644         * dom/Element.cpp:
2645         (WebCore::Element::setAttributeNode):
2646         Passing the second param (shouldIgnoreAttributeCase) to
2647         findAttributeIndexByNameForAttributeNode() method. We are now letting
2648         findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
2649         checking.
2650
2651         (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
2652         * dom/Element.h:
2653         Added shouldIgnoreAttributeCase boolean param to the method. It passes
2654         this on to QualifiedName::matchesIgnoringCaseForLocalName() method.
2655
2656         * dom/QualifiedName.h:
2657         (WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
2658         New method added for doing a case-insensitive comparison based on the
2659         shouldIgnoreCase param passed to this method.
2660
2661 2013-08-14  Gabor Abraham  <abrhm@inf.u-szeged.hu>
2662
2663         [CMake] Fix building with bison-3.0.
2664         https://bugs.webkit.org/show_bug.cgi?id=119788
2665
2666         Reviewed by Zoltan Herczeg.
2667
2668         No new tests, just build fix.
2669
2670         * CMakeLists.txt:
2671
2672 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
2673
2674         ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
2675         https://bugs.webkit.org/show_bug.cgi?id=119748
2676
2677         Reviewed by Dirk Schulze.
2678
2679         Avoid animation when attributeType="CSS" is used on an animateTransform.
2680
2681         Tests: svg/animations/animateTransform-translate-attributetype-auto.html
2682                svg/animations/animateTransform-translate-invalid-attributetype.html
2683
2684         * svg/SVGAnimateTransformElement.cpp:
2685         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2686
2687 2013-08-14  Antti Koivisto  <antti@apple.com>
2688
2689         Try to fix Qt build.
2690         
2691         Not reviewed.
2692
2693         * xml/parser/XMLDocumentParserQt.cpp:
2694         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2695         (WebCore::XMLDocumentParser::parseCdata):
2696         (WebCore::XMLDocumentParser::parseComment):
2697
2698 2013-08-13  Antti Koivisto  <antti@apple.com>
2699
2700         Remove Node::attach() and ContainerNode::attach()
2701         https://bugs.webkit.org/show_bug.cgi?id=119698
2702
2703         Reviewed by Andreas Kling.
2704
2705         Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding 
2706         independent render object. Attaching should be made Element level concept.
2707         
2708         This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
2709         (detach(), reattach(), etc) move similarly.
2710         
2711         Next step here is to make attach non-virtual in common case and move it out from the DOM tree.
2712
2713         * dom/ContainerNode.cpp:
2714         (WebCore::attachChild):
2715         (WebCore::detachChild):
2716         
2717             Temporary helpers. Further refactoring should get rid of these.
2718
2719         (WebCore::ContainerNode::takeAllChildrenFrom):
2720         (WebCore::ContainerNode::removeBetween):
2721         (WebCore::updateTreeAfterInsertion):
2722         * dom/ContainerNode.h:
2723         * dom/Document.cpp:
2724         (WebCore::Document::attach):
2725         (WebCore::Document::detach):
2726         
2727             Copy the relevant parts of the code from base class attach/detach here. It is not much.
2728
2729         * dom/Document.h:
2730         * dom/Element.cpp:
2731         (WebCore::Element::~Element):
2732         
2733             Node destructor no longer detaches.
2734
2735         (WebCore::Element::attachChildren):
2736         (WebCore::Element::attach):
2737         
2738             Combine Node::attach(), ContainerNode::attach() and Element::attach().
2739
2740         (WebCore::Element::detachChildren):
2741         (WebCore::Element::detach):
2742         
2743             Combine Node::detach(), ContainerNode::detach() and Element::detach().
2744
2745         (WebCore::Element::reattach):
2746         (WebCore::Element::reattachIfAttached):
2747         (WebCore::Element::lazyReattach):
2748         (WebCore::Element::lazyAttach):
2749         
2750             This stuff moves from ContainerNode/Node.
2751
2752         * dom/Element.h:
2753         (WebCore::Element::AttachContext::AttachContext):
2754         * dom/ElementShadow.cpp:
2755         (WebCore::ElementShadow::removeShadowRoot):
2756         (WebCore::ElementShadow::attach):
2757         (WebCore::ElementShadow::detach):
2758         * dom/ElementShadow.h:
2759         * dom/Node.cpp:
2760         (WebCore::Node::~Node):
2761         
2762             Assert that we are not attached at this point.
2763
2764         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
2765         * dom/Node.h:
2766         (WebCore::Node::setAttached):
2767         (WebCore::Node::setStyleChange):
2768         
2769             Make available.
2770
2771         * dom/NodeRenderingContext.cpp:
2772         (WebCore::NodeRenderingContext::NodeRenderingContext):
2773         * dom/NodeRenderingContext.h:
2774         * dom/ShadowRoot.cpp:
2775         (WebCore::ShadowRoot::attach):
2776         (WebCore::ShadowRoot::detach):
2777         * dom/ShadowRoot.h:
2778         * dom/Text.cpp:
2779         (WebCore::Text::~Text):
2780         
2781             Node destructor no longer detaches. Add destructor.
2782
2783         (WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):
2784         
2785             Factor the code that updates sibling text renderers after attach into a function.
2786
2787         (WebCore::Text::attachText):
2788         (WebCore::Text::detachText):
2789         
2790             Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.
2791
2792         (WebCore::Text::updateTextRenderer):
2793         * dom/Text.h:
2794         * html/HTMLViewSourceDocument.cpp:
2795         (WebCore::HTMLViewSourceDocument::addText):
2796         * html/PluginDocument.cpp:
2797         (WebCore::PluginDocument::detach):
2798         * html/PluginDocument.h:
2799         * html/parser/HTMLConstructionSite.cpp:
2800         (WebCore::executeTask):
2801         * html/shadow/ContentDistributor.cpp:
2802         (WebCore::ContentDistributor::invalidateDistribution):
2803         * html/shadow/InsertionPoint.cpp:
2804         (WebCore::InsertionPoint::attach):
2805         (WebCore::InsertionPoint::detach):
2806         * loader/PlaceholderDocument.cpp:
2807         (WebCore::PlaceholderDocument::attach):
2808         * loader/PlaceholderDocument.h:
2809         * style/StyleResolveTree.cpp:
2810         (WebCore::Style::resolveLocal):
2811         (WebCore::Style::updateTextStyle):
2812         * xml/parser/XMLDocumentParser.cpp:
2813         (WebCore::XMLDocumentParser::exitText):
2814         * xml/parser/XMLDocumentParserLibxml2.cpp:
2815         (WebCore::XMLDocumentParser::processingInstruction):
2816         (WebCore::XMLDocumentParser::cdataBlock):
2817         (WebCore::XMLDocumentParser::comment):
2818         
2819             No need to attach non-rendered nodes.
2820
2821 2013-08-14  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2822
2823         ASSERT(m_frame->view() == this) fails
2824         https://bugs.webkit.org/show_bug.cgi?id=119015
2825
2826         Reviewed by Simon Fraser.
2827
2828         Introduced the method fixedLayoutSizeChanged and made it chack if the view
2829         is attached to the frame before issuing contentsResized.
2830
2831         * page/FrameView.cpp:
2832         (WebCore::FrameView::fixedLayoutSizeChanged):
2833         * page/FrameView.h:
2834         * platform/ScrollView.cpp:
2835         (WebCore::ScrollView::setFixedLayoutSize):
2836         (WebCore::ScrollView::setUseFixedLayout):
2837         (WebCore::ScrollView::fixedLayoutSizeChanged):
2838         * platform/ScrollView.h:
2839
2840 2013-08-13  Sergio Villar Senin  <svillar@igalia.com>
2841
2842         [CSS Grid Layout] Align our grid-line handling with the updated specification
2843         https://bugs.webkit.org/show_bug.cgi?id=113546
2844
2845         Reviewed by Andreas Kling.
2846
2847         From Blink r148091 by <jchaffraix@chromium.org>
2848
2849         This change makes us match the updated specification by making
2850         grid line numbers to always resolve against the
2851         grid-{column|row}-start edge (the previous code would resolve
2852         grid-{column|row}-end grid lines against the grid-{column|row}-end
2853         edge).
2854
2855         To keep feature parity, negative numbers resolve against the
2856         grid-{column|row}-end edge of the 'explicit grid'.
2857
2858         Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html
2859
2860         * rendering/RenderGrid.cpp:
2861         (WebCore::estimatedGridSizeForPosition):
2862         (WebCore::RenderGrid::explicitGridColumnCount): New utility function.
2863         (WebCore::RenderGrid::explicitGridRowCount): Ditto.
2864         (WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
2865         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
2866         (WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
2867         * rendering/RenderGrid.h:
2868         * rendering/style/GridPosition.h:
2869
2870 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2871
2872         Add toSVGTextPathElement(), and use it
2873         https://bugs.webkit.org/show_bug.cgi?id=119783
2874
2875         Reviewed by Ryosuke Niwa.
2876
2877         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
2878         be changed with toSVGTextPathElement().
2879
2880         * rendering/svg/RenderSVGTextPath.cpp:
2881         (WebCore::RenderSVGTextPath::layoutPath):
2882         (WebCore::RenderSVGTextPath::startOffset):
2883         (WebCore::RenderSVGTextPath::exactAlignment):
2884         (WebCore::RenderSVGTextPath::stretchMethod):
2885         * svg/SVGTextPathElement.h:
2886         (WebCore::toSVGTextPathElement):
2887
2888 2013-08-14  Jinwoo Jeong  <jw00.jeong@samsung.com>
2889
2890         FEComponentTransfer could be faster.
2891         https://bugs.webkit.org/show_bug.cgi?id=119671
2892
2893         Reviewed by Christophe Dumez.
2894
2895         Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
2896         This change reduces at least 80% time in the loop of that function.
2897
2898         The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
2899         But the index is managed by for loop condition, the value is generated by transferFunction.
2900         And the value is already defined as unsigned char.
2901         Thus all works in Uint8ClampedArray::set() function is redundant.
2902         Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.
2903
2904         * platform/graphics/filters/FEComponentTransfer.cpp:
2905         (WebCore::FEComponentTransfer::platformApplySoftware):
2906
2907 2013-08-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2908
2909         The length of scheme is at least five characters even when the scheme has 'web+' prefix
2910         https://bugs.webkit.org/show_bug.cgi?id=119779
2911
2912         Reviewed by Ryosuke Niwa.
2913
2914         The content-scheme handler specification requires that it is SecurityError if the length of
2915         scheme isn't five characters at least, including 'web+' prefix. Thus, we need to check the length
2916         of scheme on the 'web+' scheme.
2917
2918         Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers
2919
2920         No new tests, just modify existing tests.
2921
2922         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2923         (WebCore::verifyProtocolHandlerScheme):
2924
2925 2013-08-13  Filip Pizlo  <fpizlo@apple.com>
2926
2927         Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
2928         https://bugs.webkit.org/show_bug.cgi?id=119770
2929
2930         Reviewed by Mark Hahnenberg.
2931
2932         No new tests because no new behavior.
2933
2934         * bindings/js/IDBBindingUtilities.cpp:
2935         (WebCore::createIDBKeyFromValue):
2936         * bindings/js/JSAttrCustom.cpp:
2937         (WebCore::JSAttr::visitChildren):
2938         * bindings/js/JSAudioTrackCustom.cpp:
2939         (WebCore::JSAudioTrack::visitChildren):
2940         * bindings/js/JSAudioTrackListCustom.cpp:
2941         (WebCore::JSAudioTrackList::visitChildren):
2942         * bindings/js/JSBlobCustom.cpp:
2943         (WebCore::JSBlobConstructor::constructJSBlob):
2944         * bindings/js/JSCSSRuleCustom.cpp:
2945         (WebCore::JSCSSRule::visitChildren):
2946         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2947         (WebCore::JSCSSStyleDeclaration::visitChildren):
2948         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
2949         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2950         (WebCore::toHTMLCanvasStyle):
2951         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2952         (WebCore::JSCanvasRenderingContext::visitChildren):
2953         * bindings/js/JSDOMBinding.cpp:
2954         (WebCore::valueToDate):
2955         * bindings/js/JSDOMBinding.h:
2956         (WebCore::DOMConstructorObject::createStructure):
2957         (WebCore::getDOMStructure):
2958         (WebCore::toRefPtrNativeArray):
2959         (WebCore::getStaticValueSlotEntryWithoutCaching):
2960         * bindings/js/JSDOMFormDataCustom.cpp:
2961         (WebCore::toHTMLFormElement):
2962         (WebCore::JSDOMFormData::append):
2963         * bindings/js/JSDOMGlobalObject.cpp:
2964         (WebCore::JSDOMGlobalObject::finishCreation):
2965         (WebCore::JSDOMGlobalObject::scriptExecutionContext):
2966         (WebCore::JSDOMGlobalObject::visitChildren):
2967         * bindings/js/JSDOMGlobalObject.h:
2968         (WebCore::JSDOMGlobalObject::info):
2969         (WebCore::JSDOMGlobalObject::createStructure):
2970         (WebCore::getDOMConstructor):
2971         * bindings/js/JSDOMStringListCustom.cpp:
2972         (WebCore::toDOMStringList):
2973         * bindings/js/JSDOMWindowBase.cpp:
2974         (WebCore::JSDOMWindowBase::finishCreation):
2975         (WebCore::toJSDOMWindow):
2976         * bindings/js/JSDOMWindowBase.h:
2977         (WebCore::JSDOMWindowBase::createStructure):
2978         * bindings/js/JSDOMWindowCustom.cpp:
2979         (WebCore::JSDOMWindow::visitChildren):
2980         (WebCore::JSDOMWindow::getOwnPropertySlot):
2981         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2982         (WebCore::toDOMWindow):
2983         * bindings/js/JSDOMWindowShell.cpp:
2984         (WebCore::JSDOMWindowShell::finishCreation):
2985         * bindings/js/JSDOMWindowShell.h:
2986         (WebCore::JSDOMWindowShell::createStructure):
2987         * bindings/js/JSEventTargetCustom.cpp:
2988         (WebCore::toEventTarget):
2989         * bindings/js/JSHistoryCustom.cpp:
2990         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2991         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2992         * bindings/js/JSImageConstructor.cpp:
2993         (WebCore::JSImageConstructor::finishCreation):
2994         * bindings/js/JSImageConstructor.h:
2995         (WebCore::JSImageConstructor::createStructure):
2996         * bindings/js/JSInjectedScriptHostCustom.cpp:
2997         (WebCore::JSInjectedScriptHost::isHTMLAllCollection):
2998         (WebCore::JSInjectedScriptHost::type):
2999         (WebCore::JSInjectedScriptHost::functionDetails):
3000         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3001         (WebCore::populateContextMenuItems):
3002         * bindings/js/JSLocationCustom.cpp:
3003         (WebCore::JSLocation::getOwnPropertySlotDelegate):
3004         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3005         (WebCore::JSLocation::putDelegate):
3006         * bindings/js/JSMessageChannelCustom.cpp:
3007         (WebCore::JSMessageChannel::visitChildren):
3008         * bindings/js/JSMessagePortCustom.cpp:
3009         (WebCore::JSMessagePort::visitChildren):
3010         * bindings/js/JSNodeCustom.cpp:
3011         (WebCore::JSNode::pushEventHandlerScope):
3012         (WebCore::JSNode::visitChildren):
3013         * bindings/js/JSNodeFilterCustom.cpp:
3014         (WebCore::JSNodeFilter::visitChildren):
3015         (WebCore::toNodeFilter):
3016         * bindings/js/JSNodeIteratorCustom.cpp:
3017         (WebCore::JSNodeIterator::visitChildren):
3018         * bindings/js/JSPluginElementFunctions.h:
3019         (WebCore::pluginElementCustomGetOwnPropertySlot):
3020         (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
3021         * bindings/js/JSSVGElementInstanceCustom.cpp:
3022         (WebCore::JSSVGElementInstance::visitChildren):
3023         * bindings/js/JSSharedWorkerCustom.cpp:
3024         (WebCore::JSSharedWorker::visitChildren):
3025         * bindings/js/JSStyleSheetCustom.cpp:
3026         (WebCore::JSStyleSheet::visitChildren):
3027         * bindings/js/JSTextTrackCueCustom.cpp:
3028         (WebCore::JSTextTrackCue::visitChildren):
3029         * bindings/js/JSTextTrackCustom.cpp:
3030         (WebCore::JSTextTrack::visitChildren):
3031         * bindings/js/JSTextTrackListCustom.cpp:
3032         (WebCore::JSTextTrackList::visitChildren):
3033         * bindings/js/JSTrackCustom.cpp:
3034         (WebCore::toTrack):
3035         * bindings/js/JSTreeWalkerCustom.cpp:
3036         (WebCore::JSTreeWalker::visitChildren):
3037         * bindings/js/JSVideoTrackCustom.cpp:
3038         (WebCore::JSVideoTrack::visitChildren):
3039         * bindings/js/JSVideoTrackListCustom.cpp:
3040         (WebCore::JSVideoTrackList::visitChildren):
3041         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3042         (WebCore::JSWebGLRenderingContext::visitChildren):
3043         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3044         (WebCore::JSWebGLRenderingContext::getProgramParameter):
3045         (WebCore::JSWebGLRenderingContext::getShaderParameter):
3046         (WebCore::JSWebGLRenderingContext::getUniform):
3047         (WebCore::dataFunctionf):
3048         (WebCore::dataFunctioni):
3049         (WebCore::dataFunctionMatrix):
3050         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3051         (WebCore::JSWorkerGlobalScopeBase::finishCreation):
3052         (WebCore::toJSDedicatedWorkerGlobalScope):
3053         (WebCore::toJSSharedWorkerGlobalScope):
3054         * bindings/js/JSWorkerGlobalScopeBase.h:
3055         (WebCore::JSWorkerGlobalScopeBase::createStructure):
3056         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
3057         (WebCore::JSWorkerGlobalScope::visitChildren):
3058         * bindings/js/JSXMLHttpRequestCustom.cpp:
3059         (WebCore::JSXMLHttpRequest::visitChildren):
3060         (WebCore::JSXMLHttpRequest::send):
3061         * bindings/js/JSXPathResultCustom.cpp:
3062         (WebCore::JSXPathResult::visitChildren):
3063         * bindings/js/ScriptDebugServer.cpp:
3064         (WebCore::ScriptDebugServer::dispatchDidPause):
3065         * bindings/js/ScriptState.cpp:
3066         (WebCore::domWindowFromScriptState):
3067         (WebCore::scriptExecutionContextFromScriptState):
3068         * bindings/js/SerializedScriptValue.cpp:
3069         (WebCore::CloneSerializer::isArray):
3070         (WebCore::CloneSerializer::dumpArrayBufferView):
3071         (WebCore::CloneSerializer::dumpIfTerminal):
3072         (WebCore::CloneSerializer::serialize):
3073         (WebCore::CloneDeserializer::CloneDeserializer):
3074         (WebCore::CloneDeserializer::readArrayBufferView):
3075         * bindings/objc/DOM.mm:
3076         (+[DOMNode _nodeFromJSWrapper:]):
3077         * bindings/objc/DOMUtility.mm:
3078         (JSC::createDOMWrapper):
3079         * bindings/objc/WebScriptObject.mm:
3080         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
3081         * bindings/scripts/CodeGeneratorJS.pm:
3082         (GenerateGetOwnPropertySlotBody):
3083         (GenerateGetOwnPropertyDescriptorBody):
3084         (GenerateHeader):
3085         (GenerateParametersCheckExpression):
3086         (GenerateImplementation):
3087         (GenerateParametersCheck):
3088         (GenerateConstructorDeclaration):
3089         (GenerateConstructorHelperMethods):
3090         * bindings/scripts/test/JS/JSFloat64Array.cpp:
3091         (WebCore::JSFloat64ArrayConstructor::finishCreation):
3092         (WebCore::JSFloat64Array::finishCreation):
3093         (WebCore::JSFloat64Array::getOwnPropertySlot):
3094         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
3095         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
3096         (WebCore::JSFloat64Array::put):
3097         (WebCore::JSFloat64Array::putByIndex):
3098         (WebCore::JSFloat64Array::getOwnPropertyNames):
3099         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
3100         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
3101         (WebCore::JSFloat64Array::getByIndex):
3102         (WebCore::toFloat64Array):
3103         * bindings/scripts/test/JS/JSFloat64Array.h:
3104         (WebCore::JSFloat64Array::createStructure):
3105         (WebCore::JSFloat64ArrayPrototype::createStructure):
3106         (WebCore::JSFloat64ArrayConstructor::createStructure):
3107         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3108         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
3109         (WebCore::JSTestActiveDOMObject::finishCreation):
3110         (WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
3111         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
3112         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
3113         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
3114         (WebCore::toTestActiveDOMObject):
3115         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3116         (WebCore::JSTestActiveDOMObject::createStructure):
3117         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
3118         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
3119         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3120         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
3121         (WebCore::JSTestCustomNamedGetter::finishCreation):
3122         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
3123         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
3124         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
3125         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
3126         (WebCore::toTestCustomNamedGetter):
3127         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3128         (WebCore::JSTestCustomNamedGetter::createStructure):
3129         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
3130         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
3131         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3132         (WebCore::JSTestEventConstructorConstructor::finishCreation):
3133         (WebCore::JSTestEventConstructor::finishCreation):
3134         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
3135         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
3136         (WebCore::toTestEventConstructor):
3137         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3138         (WebCore::JSTestEventConstructor::createStructure):
3139         (WebCore::JSTestEventConstructorPrototype::createStructure):
3140         (WebCore::JSTestEventConstructorConstructor::createStructure):
3141         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3142         (WebCore::JSTestEventTargetConstructor::finishCreation):
3143         (WebCore::JSTestEventTarget::finishCreation):
3144         (WebCore::JSTestEventTarget::getOwnPropertySlot):
3145         (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
3146         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
3147         (WebCore::JSTestEventTarget::getOwnPropertyNames):
3148         (WebCore::jsTestEventTargetPrototypeFunctionItem):
3149         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
3150         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
3151         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
3152         (WebCore::JSTestEventTarget::visitChildren):
3153         (WebCore::JSTestEventTarget::indexGetter):
3154         (WebCore::toTestEventTarget):
3155         * bindings/scripts/test/JS/JSTestEventTarget.h:
3156         (WebCore::JSTestEventTarget::createStructure):
3157         (WebCore::JSTestEventTargetPrototype::createStructure):
3158         (WebCore::JSTestEventTargetConstructor::createStructure):
3159         * bindings/scripts/test/JS/JSTestException.cpp:
3160         (WebCore::JSTestExceptionConstructor::finishCreation):
3161         (WebCore::JSTestException::finishCreation):
3162         (WebCore::JSTestException::getOwnPropertySlot):
3163         (WebCore::JSTestException::getOwnPropertyDescriptor):
3164         (WebCore::toTestException):
3165         * bindings/scripts/test/JS/JSTestException.h:
3166         (WebCore::JSTestException::createStructure):
3167         (WebCore::JSTestExceptionPrototype::createStructure):
3168         (WebCore::JSTestExceptionConstructor::createStructure):
3169         * bindings/scripts/test/JS/JSTestInterface.cpp:
3170         (WebCore::JSTestInterfaceConstructor::finishCreation):
3171         (WebCore::JSTestInterface::finishCreation):
3172         (WebCore::JSTestInterface::getOwnPropertySlot):
3173         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
3174         (WebCore::JSTestInterface::put):
3175         (WebCore::JSTestInterface::putByIndex):
3176         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
3177         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
3178         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
3179         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
3180         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
3181         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
3182         (WebCore::toTestInterface):
3183         * bindings/scripts/test/JS/JSTestInterface.h:
3184         (WebCore::JSTestInterface::createStructure):
3185         (WebCore::JSTestInterfacePrototype::createStructure):
3186         (WebCore::JSTestInterfaceConstructor::createStructure):
3187         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3188         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
3189         (WebCore::JSTestMediaQueryListListener::finishCreation):
3190         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
3191         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
3192         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3193         (WebCore::toTestMediaQueryListListener):
3194         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3195         (WebCore::JSTestMediaQueryListListener::createStructure):
3196         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
3197         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
3198         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3199         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
3200         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
3201         (WebCore::JSTestNamedConstructor::finishCreation):
3202         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
3203         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
3204         (WebCore::toTestNamedConstructor):
3205         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3206         (WebCore::JSTestNamedConstructor::createStructure):
3207         (WebCore::JSTestNamedConstructorPrototype::createStructure):
3208         (WebCore::JSTestNamedConstructorConstructor::createStructure):
3209         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
3210         * bindings/scripts/test/JS/JSTestNode.cpp:
3211         (WebCore::JSTestNodeConstructor::finishCreation):
3212         (WebCore::JSTestNode::finishCreation):
3213         (WebCore::JSTestNode::getOwnPropertySlot):
3214         (WebCore::JSTestNode::getOwnPropertyDescriptor):
3215         (WebCore::JSTestNode::visitChildren):
3216         * bindings/scripts/test/JS/JSTestNode.h:
3217         (WebCore::JSTestNode::createStructure):
3218         (WebCore::JSTestNodePrototype::createStructure):
3219         (WebCore::JSTestNodeConstructor::createStructure):
3220         * bindings/scripts/test/JS/JSTestObj.cpp:
3221         (WebCore::JSTestObjConstructor::finishCreation):
3222         (WebCore::JSTestObj::finishCreation):
3223         (WebCore::JSTestObj::getOwnPropertySlot):
3224         (WebCore::JSTestObj::getOwnPropertyDescriptor):
3225         (WebCore::JSTestObj::put):
3226         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3227         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3228         (WebCore::jsTestObjPrototypeFunctionByteMethod):
3229         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
3230         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
3231         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
3232         (WebCore::jsTestObjPrototypeFunctionLongMethod):
3233         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
3234         (WebCore::jsTestObjPrototypeFunctionObjMethod):
3235         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3236         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
3237         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
3238         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
3239         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
3240         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3241         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3242         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3243         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
3244         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
3245         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3246         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3247         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
3248         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
3249         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
3250         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
3251         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
3252         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
3253         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
3254         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
3255         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
3256         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3257         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3258         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3259         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
3260         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
3261         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
3262         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
3263         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
3264         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
3265         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
3266         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
3267         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
3268         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
3269         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3270         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
3271         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3272         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
3273         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
3274         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
3275         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
3276         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
3277         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
3278         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
3279         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3280         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
3281         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
3282         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
3283         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
3284         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3285         (WebCore::jsTestObjPrototypeFunctionConvert1):
3286         (WebCore::jsTestObjPrototypeFunctionConvert2):
3287         (WebCore::jsTestObjPrototypeFunctionConvert4):
3288         (WebCore::jsTestObjPrototypeFunctionConvert5):
3289         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
3290         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
3291         (WebCore::jsTestObjPrototypeFunctionOrange):
3292         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
3293         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
3294         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
3295         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
3296         (WebCore::JSTestObj::visitChildren):
3297         (WebCore::toTestObj):
3298         * bindings/scripts/test/JS/JSTestObj.h:
3299         (WebCore::JSTestObj::createStructure):
3300         (WebCore::JSTestObjPrototype::createStructure):
3301         (WebCore::JSTestObjConstructor::createStructure):
3302         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3303         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
3304         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
3305         (WebCore::JSTestOverloadedConstructors::finishCreation):
3306         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
3307         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
3308         (WebCore::toTestOverloadedConstructors):
3309         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3310         (WebCore::JSTestOverloadedConstructors::createStructure):
3311         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
3312         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
3313         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3314         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3315         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
3316         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3317         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
3318         (WebCore::JSTestSerializedScriptValueInterface::put):
3319         (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
3320         (WebCore::toTestSerializedScriptValueInterface):
3321         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3322         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
3323         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
3324         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
3325         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3326         (WebCore::JSTestTypedefsConstructor::finishCreation):
3327         (WebCore::JSTestTypedefs::finishCreation):
3328         (WebCore::JSTestTypedefs::getOwnPropertySlot):
3329         (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
3330         (WebCore::JSTestTypedefs::put):
3331         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
3332         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
3333         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
3334         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
3335         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
3336         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
3337         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
3338         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
3339         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
3340         (WebCore::toTestTypedefs):
3341         * bindings/scripts/test/JS/JSTestTypedefs.h:
3342         (WebCore::JSTestTypedefs::createStructure):
3343         (WebCore::JSTestTypedefsPrototype::createStructure):
3344         (WebCore::JSTestTypedefsConstructor::createStructure):
3345         * bridge/c/CRuntimeObject.cpp:
3346         (JSC::Bindings::CRuntimeObject::finishCreation):
3347         * bridge/c/CRuntimeObject.h:
3348         (JSC::Bindings::CRuntimeObject::createStructure):
3349         * bridge/c/c_instance.cpp:
3350         (JSC::Bindings::CRuntimeMethod::createStructure):
3351         (JSC::Bindings::CRuntimeMethod::finishCreation):
3352         (JSC::Bindings::CInstance::invokeMethod):
3353         * bridge/c/c_utility.cpp:
3354         (JSC::Bindings::convertValueToNPVariant):
3355         * bridge/objc/ObjCRuntimeObject.h:
3356         (JSC::Bindings::ObjCRuntimeObject::createStructure):
3357         * bridge/objc/objc_instance.mm:
3358         (ObjCRuntimeMethod::finishCreation):
3359         (ObjcInstance::invokeMethod):
3360         * bridge/objc/objc_runtime.h:
3361         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3362         * bridge/objc/objc_runtime.mm:
3363         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
3364         (JSC::Bindings::callObjCFallbackObject):
3365         * bridge/qt/qt_instance.cpp:
3366         (JSC::Bindings::QtRuntimeObject::createStructure):
3367         (JSC::Bindings::QtInstance::getInstance):
3368         * bridge/qt/qt_pixmapruntime.cpp:
3369         (JSC::Bindings::assignToHTMLImageElement):
3370         (JSC::Bindings::QtPixmapRuntime::toQt):
3371         * bridge/qt/qt_runtime.cpp:
3372         (JSC::Bindings::isJSUint8Array):
3373         (JSC::Bindings::isJSArray):
3374         (JSC::Bindings::isJSDate):
3375         (JSC::Bindings::isQtObject):
3376         (JSC::Bindings::unwrapBoxedPrimitive):
3377         (JSC::Bindings::convertQVariantToValue):
3378         * bridge/runtime_array.cpp:
3379         (JSC::RuntimeArray::finishCreation):
3380         * bridge/runtime_array.h:
3381         (JSC::RuntimeArray::createStructure):
3382         * bridge/runtime_method.cpp:
3383         (JSC::RuntimeMethod::finishCreation):
3384         (JSC::callRuntimeMethod):
3385         * bridge/runtime_method.h:
3386         (JSC::RuntimeMethod::createStructure):
3387         * bridge/runtime_object.cpp:
3388         (JSC::Bindings::RuntimeObject::finishCreation):
3389         (JSC::Bindings::callRuntimeObject):
3390         (JSC::Bindings::callRuntimeConstructor):
3391         * bridge/runtime_object.h:
3392         (JSC::Bindings::RuntimeObject::createStructure):
3393
3394 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
3395
3396         REGRESSION(r150187): Safari fails to render allrecipe.com comment popups
3397         https://bugs.webkit.org/show_bug.cgi?id=119780
3398
3399         Reviewed by Benjamin Poulain.
3400
3401         The bug was caused by SelectorDataList::executeFastPathForIdSelector not verifying that
3402         elements found by getAllElementsById are descendents of rootNode when there are multiple
3403         elements of the same id. This resulted in querySelector and querySelectorAll of an element
3404         returning nodes outside of the element.
3405
3406         Fixed the bug by checking this condition when we have multiple elements of the same id.
3407
3408         Test: fast/selectors/querySelector-id-with-multiple-elements-with-same-id.html
3409
3410         * dom/SelectorQuery.cpp:
3411         (WebCore::SelectorDataList::executeFastPathForIdSelector):
3412
3413 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
3414
3415         Fix orphan needsLayout state in RenderTextControlSingleLine
3416         https://bugs.webkit.org/show_bug.cgi?id=119726
3417
3418         Reviewed by Kent Tamura.
3419
3420         Merge https://chromium.googlesource.com/chromium/blink/+/c0aec52ef348b2be0c882f8646fe3cf537831f59
3421
3422  &nbs